author | Ted Gould <ted@gould.cx> | |
Sun, 29 Nov 2009 20:01:26 +0000 (14:01 -0600) | ||
committer | Ted Gould <ted@gould.cx> | |
Sun, 29 Nov 2009 20:01:26 +0000 (14:01 -0600) |
1 | 2 | |||
---|---|---|---|---|
CMakeLists.txt | patch | | diff1 | | diff2 | | blob | history |
NEWS | patch | | diff1 | | diff2 | | blob | history |
build-lx.xml | patch | | diff1 | | diff2 | | blob | history |
build.xml | patch | | diff1 | | diff2 | | blob | history |
configure.ac | patch | | diff1 | | diff2 | | blob | history |
packaging/win32/inkscape.nsi | patch | | diff1 | | diff2 | | blob | history |
diff --cc CMakeLists.txt
index 1b8053a02a69f32d3de9f522616b5c1fe82b7341,9e2cdab29266188813450716c404334b793eece8..c92c1e25ddfdba66dde7bb15f3d0623688cca2a7
--- 1/CMakeLists.txt
--- 2/CMakeLists.txt
+++ b/CMakeLists.txt
PROJECT(inkscape)
- SET(INKSCAPE_VERSION 0.46+devel)
-SET(INKSCAPE_VERSION 0.47)
++SET(INKSCAPE_VERSION 0.47+devel)
SET(PROJECT_NAME inkscape)
CMAKE_MINIMUM_REQUIRED(VERSION 2.4.6)
SET(CMAKE_INCLUDE_CURRENT_DIR TRUE)
diff --cc NEWS
index e919c7486853c88c9c31a818cb97c62b8a712a14,59c7140564d69817798b0dfd648461855616aa24..043d2c10ffd78f8b7fb147e179676353d08987e8
+++ b/NEWS
- Inkscape 0.47 pre-release. More here later.
-Inkscape 0.47
-
-Inkscape 0.47 brings a host of important improvements all across the program:
-
- • Timed autosave: no more lost work
-
- • Spiro splines: an exciting new way to work with paths, fully supported in
- Pen, Pencil, and Node tools
-
- • Auto smooth nodes: a new type of node that keeps the path as smooth as
- possible as you move it or its neighbors
-
- • New modes in Tweak tool: pushing and jittering whole objects, scaling/
- rotating objects, deleting and duplicating using the "soft brush"
-
- • Reworked, much more usable snapping system and a Snapping toolbar
-
- • New path effects, including sketch, hatching, envelope deformation; effects
- can be stacked and assigned to groups
-
- • A huge collection of preset filters in the new Filters menu
-
- • New cairo-based PS and EPS export: improved quality, more features
- supported, fallback rasterization for filters and transparency
-
- • Spell checker for text objects in a document
-
- • Many new extensions: restacking, calendar, printing marks, cartesian and
- polar grids, interpolating attributes
-
- • Optimized SVG code options, now with their own Preferences page
-
- • Many other improvements, usability tweaks, memleak stops, and misc bugfixes
-
-Refactoring effort
-
-The focus of the 0.47 release was to clean up legacy code and push forward the
-migration to clean object-oriented C++. The goal of this effort was to increase
-reliability and maintainability of Inkscape. In the long run, it will mean
-fewer bugs and more new features, because it will be easier to develop and find
-bugs in Inkscape.
-
-Migration to lib2geom
-
-Many parts of the code have been changed to use the 2geom library for
-geometrical calculations instead of the old libnr and livarot libraries.
-
-Preferences
-
-Instead of global functions directly manipulating an XML document, the
-preferences API is now exposed through the Inkscape::Preferences singleton. It
-abstracts away the way the preferences are stored in memory. In the future it
-may allow for different user settings storage backends (like GConf or the
-upcoming dconf on GNOME desktops or .plist files on OS X). Previously, Inkscape
-directly manipulated an internal XML document.
-
-The Preferences directory has been moved on Linux (and Mac OS X) from ~
-/.inkscape to ~/.config/inkscape to better conform to Linux desktop standards.
-
-Tools
-
-Node tool
-
- • In previous versions of Inkscape, no visual feedback was given back to the
- user when hovering over paths when using the Node tool. In this update,
- hovering over a path with the Node tool now results in a highlighted path
- outline being displayed. Note: the duration and color of the new path
- outline feature can be configured in the Tools > Node section of the
- Inkscape Preferences dialog.
-
- • The Node tool can now edit clipping paths and masks of objects on canvas,
- without releasing them. If the selected object has a clipping path and
- mask, the corresponding buttons on the controls bar of the tool will be
- enabled; pressing these buttons will display the editable paths or handles
- of the clippath or mask. A clipping path is stroked green, a mask is
- stroked blue (the same colors as those used for them in Outline mode).
-
- • Snapping has been improved (more details in Snapping below).
-
- • When dragging a node handle with Ctrl pressed, it now snaps not only to the
- 15 degree increments starting from 0 and to the original handle direction,
- but also to the direction of the opposite handle (if it exists) or of the
- opposite line segment (if it is a straight line).
-
- • The behavior of the buttons/shortcuts that make a node smooth or cusp has
- been improved:
- □ If a node is already a cusp (diamond shaped), pressing Shift+C again on
- it will retract both its handles. As this works for any number of
- selected nodes, you can always retract all handles in all nodes by
- selecting all nodes and pressing Shift+C twice.
- □ If a non-smooth node is next to a straight line segment, pressing
- Shift+S once makes it half-smooth: it now has one handle aligned with
- that line segment. Another press of Shift+S will expand the second
- handle as well turning it into a full smooth node. If a node is between
- two curve segments, Shift+S will expand both handles as before.
-
- • Auto smooth nodes: this is a new node type, similar to the one Xara Xtreme
- has. An auto node is a smooth node which automatically adjusts (rotates and
- stretches) its handles when this node or its neighbors are moved. This
- adjustment (same as what you get when you convert node type to Smooth, but
- continuous) keeps the curve at this node as smooth as possible. It feels a
- bit like Spiro paths (see below); although not as smooth as a Spiro, auto
- nodes may often be preferable as they work without applying any path
- effect. Whenever you manually adjust the handles of an auto node or drag
- the adjacent curve, the node loses its auto state and becomes simply
- smooth; for this reason, it is recommended to edit smooth nodes with the
- node handles hidden via a toggle button on the Node tool controls bar. Auto
- nodes are represented by little circles, as opposed to smooth/symmetric
- nodes (squares) and cusp nodes (diamonds). To convert selected node(s) to
- auto, press Shift+A or use the corresponding node type button on the
- controls bar.
-
-Tweak tool
-
-Several new modes are added to the Tweak tool for transforming, duplicating,
-and deleting selected objects using the same "soft brush" metaphor that the
-path editing and coloring modes use. Using these new modes, it is easy to
-"sculpt" scatterings of small objects, such as clone tilings, into complex and
-naturalistic textures.
-
- • Push mode moves those selected objects that are under the brush in the
- direction in which you move the brush. This is similar to the Push path
- mode, except that the Move mode affects entire objects and not parts of the
- paths under the brush.
-
- • Attract/Repel Objects mode moves those selected objects that are under the
- brush towards the cursor (default) or away from cursor (with Shift
- pressed). This is similar to the Attract/repel path mode, except that the
- Move in/out mode affects entire objects and not parts of the paths under
- cursor.
-
- • Jitter mode moves those selected objects that are under the brush in random
- directions and by random amounts, but the overall amount of movement
- depends on Force, pen pressure (if you're using a tablet pen), on the
- closeness of the object to the center of brush, and on how long you apply
- the brush.
-
- • Scale mode scales those selected objects that are under the brush down (by
- default) or up (with Shift pressed). The speed of scaling depends on Force,
- pen pressure (if you're using a tablet pen), on the closeness of the object
- to the center of brush, and on how long you apply the brush.
-
- • Rotate mode rotates those selected objects that are under the brush
- clockwise (by default) or counterclockwise (with Shift pressed). The speed
- of rotation depends on Force, pen pressure (if you're using a tablet pen),
- on the closeness of the object to the center of brush, and on how long you
- apply the brush.
-
- • Duplicate/delete mode randomly duplicates those selected objects that are
- under the brush (by default) or deletes them (with Shift pressed). The
- chance of an object to be duplicated and deleted depends on Force, pen
- pressure (if you're using a tablet pen), on the closeness of the object to
- the center of brush, and on how long you apply the brush. Like with the
- regular Duplicate command, duplicating with Tweak tool places the copies
- right over the originals, and you may need to use the Jitter mode to ruffle
- them apart. The duplicates created by the tool are automatically added to
- selection if the originals objects were in selection (e.g. if you're
- tweaking a group of objects, they are duplicated within that group and are
- not by themselves selected).
-
- • Blur mode blurs the selected objects under the brush more (by default) or
- less (with Shift pressed). The amount of blur added or removed depends on
- Force, pen pressure (if you're using a tablet pen), on the closeness of the
- object to the center of brush, and on how long you apply the brush.
-
-Also, the existing path editing modes of the tool have been rearranged: now
-Shrink and Grow are one mode (shrinks by default, grows with Shift), and
-Attract and Repel are one mode (attracts by default, repels with Shift). Here
-is a complete list of modes and shortcuts of the Tweak tool:
-
-Shift+m, Shift+0 move mode
-Shift+i, Shift+1 attract/repel objects mode
-Shift+z, Shift+2 jitter mode
-Shift+<, Shift+>, Shift+3 scale mode
-Shift+[, Shift+], Shift+4 rotate mode
-Shift+d, Shift+5 duplicate/delete mode
-Shift+p, Shift+6 push path mode
-Shift+s, Shift+7 shrink/grow path mode
-Shift+a, Shift+8 attract/repel path mode
-Shift+r, Shift+9 roughen mode
-Shift+c paint mode
-Shift+j color jitter mode
-Shift+b blur mode
-
-In Paint mode, painting with Shift inverts the color you're applying (e.g. when
-painting with yellow, Shift will switch the applied color to blue).
-
-Calligraphy tool
-
- • The tool's settings can now be set from a preset (see the drop-down list in
- the controls bar). Several presets are provided that imitate various
- drawing implements and styles.
-
- • When drawing with Alt pressed, Inkscape subtracts the new path you are
- creating from the selected path. With Shift, it unions the new path with
- the selected path. This allows you to quickly patch or erase defects in a
- stroke you have drawn, without leaving the tool.
-
- • The behavior of the tool when tracking a guide (drawing with Ctrl) has been
- improved:
-
- □ The initial "jerk" when you start drawing is suppressed.
-
- □ The undesired flipping of the stroke to the other side of the guide
- path, when drawing along closed paths, is fixed.
-
- □ If you lose connection with your guide path, the tool tries to continue
- moving in the same direction as if by inertia, so as to minimize the
- tearoff jerk.
-
-Paint Bucket tool
-
- • Paint Bucket is now more tightly integrated with potrace. As a result,
- memory and CPU usage on each fill operation have been reduced
- significantly.
-
-Eraser Tool
-
-A new tool, Eraser, has been added to the main toolbox. Its shortcut is Shift+E
-. It has two main modes, selectable by toggle buttons on its controls bar:
-
- • Delete Objects mode: any shape touched by dragging is deleted completely.
- This is analogous to "touch selection" in Selector followed by Del.
- • Cut mode: dragging subtracts, using a boolean Subtract operation, parts of
- paths it touches. On the controls bar, you can adjust the Width of the
- trace left by the tool. If nothing is selected, it acts on all objects in
- the current layer, whether selected or not; if there's a selection, its
- action is limited to selection. This mode is similar to Alt+drag in
- Calligraphic tool.
-
-Pen and Pencil
-
-New modes
-
-Apart from the regular Bezier mode, these drawing tools now provide several new
-modes:
-
- • Spiro mode: This mode automatically applies the new Spiro Splines path
- effect (see the section on new effects) to any newly drawn path. As
- mentioned below, it is not yet possible to preview a spiro before it is
- finished. This mode is available in both Pen and Pencil tools.
-
- • Polyline mode (Pen only): This mode makes it easy to draw many straight
- line segments by disallowing any curves, even when you accidentally drag
- with the mouse instead of clicking.
-
- • Paraxial mode (Pen only): create straight line segments that are parallel
- to one of the coordinate axes. This works similar to the Polyline mode with
- Ctrl. Normally, each next line segment is drawn perpendicular to the
- previous one, but the direction of the line segment being drawn can be
- toggled by pressing Shift. If you click on the start anchor, the path gets
- closed with an L-shaped segment (its direction of which can also be flipped
- with Shift).
-
-Stroke shapes
-
-As a first step towards this blueprint, it is now possible to automatically
-apply predefined vector shapes to path strokes in Pen and Pencil tools. The
-choice of shapes in the drop-down list on the controls bar includes:
-
- • Triangle in and Triangle out: tapering out in both directions
-
- • Ellipse: smooth elliptic shape stretching along path
-
- • From clipboard: any path you had previously selected and copied to
- clipboard
-
-To adjust the width of the stroke, open the Path Effect Editor, choose "Pattern
-along path" effect, and edit its Width parameter. It is measured in units of
-the original size of the applied shape; the triangles and ellipse are all 10px
-in size, and the clipboard size can be any size. The default value of Width is
-1.00, which means the triangle/elliptic strokes will be 10px wide and the
-from-clipboard stroke will be as wide as the copied object was tall.
-
-Pencil smoothing
-
-In Pencil tool, the controls bar now provides the Smoothing parameter,
-changeable in the range from 1 to 100, which controls how much smoothing is
-applied to the freehand lines you draw. Small Smoothing values produce rough
-lines with many nodes; large values give smooth lines with few nodes.
-Previously, this control was only available in Inkscape Preferences.
-
-Pencil sketch mode
-
-The sketch mode is still experimental. In essence, it enables the artist to
-draw many strokes, which Inkscape then averages into a single path. It tries to
-mimic sketching with a real pencil and paper, taking the 'visual average' of
-many strokes and condensing it into one stroke.
-
-Pick the pencil tool, press Alt, and sketch away; release Alt to finalize the
-result. After each stroke (a stroke starts when the mouse button is pressed
-down, and ends when it is released), the resulting path will be an average of
-the old result and the newly drawn stroke. In Inkscape's Pencil tool
-preferences, one can choose to either average between all drawn strokes (so
-that all stroke have the same weight), or just the new stroke and the old
-result (so that later strokes have greater weight).
-
-Currently, going back and forth between A and B in one stroke does not give the
-expected result; it will result in a long path going back and forth, instead of
-the visually expected path going from A to B just once. We are working on this
-(difficult!) issue. For best results, draw strokes only from A to B (and not
-from B to A).
-
-Text tool
-
- • When editing multiline or flowed text, the PgUp and PgDn keys now work to
- move the cursor by one screen (i.e. by as many lines as fit into the screen
- at current zoom).
-
- • The usability of the font family drop-down list in the Text tool controls
- bar has been improved: it no longer steals focus, all keyboard shortcuts
- work as designed (Alt+X to access the family control, Alt+down to open the
- drop-down list with font previews, arrows to move in the list, Enter to set
- chosen font) and the completion feature works (start typing a family name
- and a pop-up list with possible completions appears).
-
- A remaining problem that may be fixed in a future version is that the first
- opening of the drop-down list of family names may be slow (several seconds)
- if you have many fonts installed (the delay is Inkscape generating the
- previews for all fonts). Subsequent openings of the list are much faster.
-
-Connector tool
-
- • Connectors are now drawn to the edges of shapes, rather than to the
- bounding box of shapes.
- • The routing buffer around shapes is now altered in the correct direction
- when the user changes this via the spacing control fon the connector
- toolbar.
- • A bug has been fixed where the spinboxes on the connector toolbar did not
- properly respond to single clicks of their up and down arrows.
-
-Path effects
-
-Path Effects stacking
-
-More than one Path Effect can be assigned to an object. A new UI was created to
-control the stack in the Path Effects Editor (Shift+Ctrl+7): the Effect list
-shows the stack of effects for the selected object; below, buttons allow you to
-move a selected effect in the stack up or down or remove it from stack.
-
-The stack works from top to bottom, i.e. the topmost listed effect is applied
-first, the second one works on the result of the first, and so on until the
-bottom effect which produces the final visible result. A new effect that you
-choose in the "Apply new effect" list and created by the Add button gets added
-to the end of the current stack.
-
-Path Effects for groups
-
-Path effects can now be assigned to a group. In most cases, the effect is
-applied recursively to the member paths, but for Bend Path and Envelope
-Deformation the result that the distortion applies to the group as a whole.
-
- • You can, as usual, enter the group by double-clicking on it, and edit the
- paths there watching the transformed result update live.
-
- • Path effects can be assigned to groups of groups, applying recursively to
- all grouped paths.
-
- • The Convert Object to Path command (Ctrl+Shift+C), when applied to a group
- with effects applied, removes these effects from group and converts all its
- member paths to effect-less paths looking exactly as before.
-
-Misc new features
-
- • The Paste Path Effect command in Path menu can now assign the path effect
- of the clipboard's path to any number of paths, going recursively into
- groups if necessary.
-
- • A new command, Remove Path Effect in Path menu, removes any path effects
- from all selected objects, going recursively into groups if necessary.
-
- • Path effects can now be assigned to the sides of a 3D box (use Ctrl+click
- to select individual sides) without breaking its 3D functionality.
-
- • The Pen and Pencil tools now correctly work with paths with effects: you
- can continue such a path or add a new subpath to it by drawing with Shift,
- while preserving the effects applied to it.
-
- • Path parameters of effects can now link to existing shapes or texts. For
- example, now it is possible to use a text as the pattern for the Pattern
- Along Path effect, or shape a path with the Envelope Deformation where one
- of the envelope sides is text! Since the effect links to the text, not
- copies it, the result will update live if you edit the text.
-
- • Lib2geom now has an implementation for EllipticalArc. For Inkscape, this
- means that it is now possible to directly copy-paste ellipse shapes to path
- parameters (e.g. 'pattern' in Pattern along Path), without the need to
- convert the ellipse to path first.
-
-
-New effects
-
- • Sketch: Simulates hand-drawn lines. A set of parameters lets you tune the
- effect. They are all summarized in this picture.
-
- [300px-SketchExemple]
-
- • Hatches: Fills the shape with rough, randomized hatches, simulating a quick
- hand drawing. It is configurable through numeric parameters as well as
- on-screen handles visible in Node tool.
-
- [300px-Hatches-lpe].
-
- • von Koch: This effect creates fractal pictures. A collection of
- transformations (rotations, rescalings, etc...) is recursively applied to
- the input path. The transforms are derived from a "reference" path (a line
- segment) and a "generating" path (basically a collection of segments): the
- transforms are those needed to move the reference segment onto each segment
- of the generating path (components in the generating path having more than
- one segment might be used to define shearing/mirroring transforms). A
- famous example is the von Koch's snowflake.
-
- [300px-VonKochExample]
-
- Warning: the complexity of the output path grows exponentially fast with
- the number of generations. As a guardrail, an editable complexity bound is
- provided, above which the effect is disabled.
-
- • Knot: Creates a knot from a flat self-intersecting curve: at each crossing,
- one strand is interrupted to make it look like it's going under the other.
- The "sign" of each crossing (first strand interrupted, second interrupted,
- or no interruptions) can be set independently by clicking the on-screen
- handle which can be dragged from one crossing to the other.
-
- [300px-KnotExample]
-
- Warning: as far as possible, the lpe tries to keep the modifications of
- crossing signs unchanged under small deformations. For large or topology
- changing deformations however, some or all crossings might jump back to
- their default orientation.
-
- • Spiro splines are a novel way of defining curvilinear paths developed by
- Raph Levien. It takes some getting used to, but for certain tasks (such as
- lettershape design) Spiros have a clear advantage over Bezier curves.
- Recently, Spiro support was added to the FontForge font editor; now it is
- available in Inkscape too, which means you can use all the convenient
- Inkscape path tools (moving and transforming groups of nodes, node
- sculpting, etc.) on Spiro paths.
-
- A Spiro path is defined by a sequence of points, but unlike a regular path
- with Bezier curves, all Spiro points lie on the path and there are no
- off-path handles. The curvature of the path is defined entirely by the
- positions of the points and their types. The path behaves very similar to a
- springy rod which is forced to pass through the given points and which uses
- the minimum possible curvature to satisfy the requirement. As such, it
- feels quite natural and the resulting path is very smooth - not just
- superficially smooth (i.e. having no cusps), but smooth at a deeper level,
- which you can achieve with Beziers only after a lot of laborious tweaking.
-
- To create a Spiro path, select any path and assign the "Spiro spline" path
- effect to it. There are no parameters. Each node of your path becomes a
- point of a Spiro path, depending on the type of node:
-
- □ Smooth nodes (those with two collinear Bezier handles; use Shift+S to
- make a node smooth) become smooth curve points of the Spiro path. Note
- that the length or direction of the Bezier handles of the source path
- is ignored; the only thing that matters is their collinearity.
-
- □ Cusp nodes of the source path become corner points of the Spiro path,
- like free hinges on the springy rod. Between two corner points, the
- path is always a straight line. To make a node cusp, retract its Bezier
- handles by Ctrl+click, or press Shift+C and move one of the handles so
- they are no longer collinear.
-
- □ Half-smooth nodes - those with one Bezier handle collinear with a
- straight line segment on the other hand - become "left" or "right"
- points on the Spiro path which behave exactly the same: they sit
- between a straight line and a curve and enforce that these two segments
- join smoothly without a cusp. To create such a node, make sure one of
- the segments is a line (select its ends and press Shift+L), then
- Ctrl+drag the remaining handle to make it snap to the direction of the
- straight line segment on the other side, or press Shift+S to lock it to
- that direction.
-
- Note that what matters is the actual collinearity of a node's handles,
- regardless of the node type that the node has in the Node tool; for
- example, if a node designated as cusp (diamond-shaped) has collinear
- handles, it will become a smooth curve point of the Spiro path.
-
- Some configurations of points do not converge and produce wild loops and
- spirals instead of a smooth curve. According to Raph, "The spline solver in
- this release is _not_ numerically robust. When you start drawing random
- points, you'll quickly run into divergence. However, "sensible" plates
- based on real fonts usually converge." Avoid too sharp changes in direction
- between points to prevent divergence. Hopefully, the robustness of the
- algorithm will be improved in future releases.
-
- For now, to edit Spiro paths viewing the result in real time, you have to
- use the Node tool; it is recommended to turn off the red highlight of the
- source path. The Pen tool does not yet allow you to preview a Spiro as you
- draw, although you can paste the Spiro effect on the path and see the
- result as soon as the path is finalized.
-
- You can always use the Node tool to continue a Spiro path by duplicating
- and dragging away its end nodes. Also, when you have a Spiro path selected,
- you can add a new subpath to it with Pen or Pencil if you start drawing
- with Shift.
-
- • Construct Grid: Draws a grid using the first three nodes of a path. The
- center node defines the origin. The other two nodes define the direction
- and length of the two adjacent sides of the first cell. If a path has more
- than three nodes, the other nodes are ignored. One can select the number of
- cells in the two orthogonal directions.
-
- • Envelope Deformation: Allows you to deform an object (or a group of object)
- by deforming its sides. Modifications are done by deforming the four path
- parameters: Top, Bottom, Left and Right; for each, you can edit it with
- Node tool, copy, paste, or link to an existing path in the document.
-
- • Ruler: Draws ruler marks along the path; you can set distance between the
- marks, their length for major and minor marks, the major/minor ratio, and
- other parameters.
-
- • Interpolate Subpaths: Creates a given number of interpolated paths between
- the (first) two subpaths of a path (the subpaths after the second subpath
- are ignored). The interpolations are spread along an editable trajectory
- path.
-
- [InterpolateSubpathsExample]
-
-
-Notable effect bugfixes and changes
-
-We try to refrain from changing the behavior of existing path effects, because
-it will change appearance in old files when opened in a new version of Inkscape
-(but not in any other SVG viewer or editor). However, when an effect is really
-broken, we have to fix it:
-
- • Pattern Along Path:
- □ The pattern used to be stretched across discontinuities (separate
- subpaths). This has been fixed; now it treats a discontinuous path as a
- group of continuous paths and applies the effect separately to each.
- □ Successive copies of the pattern can now be fused into continuous paths
- (using the new "fuse nearby ends" feature) so that "filling" the result
- works as expected.
-
- • Bend Path:
- □ Closed input paths would sometimes result in unclosed output paths.
- This has been fixed.
-
-Import/Export
-
-PostScript and EPS import
-
-Inkscape's PS and EPS import now uses Ghostscript instead of pstoedit. If you
-need to open files of these types, install Ghostscript and make sure the
-directory with the ps2pdf utility from Ghostscript installation is in your
-PATH. On importing a file, you will see a preferences dialog, similar to PDF
-import; for multipage PS files, this dialog allows you to select which page to
-open.
-
-PDF import
-
- • A new checkbox on the PDF import dialog, Replace PDF fonts with
- closest-named installed fonts (on by default) attempts to replace all font
- names in the imported PDF with the most similar names of those fonts
- installed on your system. For example, if the PDF uses the font
- "TimesNewRomanPSMT" and you have "Times New Roman" installed, that font
- will be used, which will likely give you a more correct appearance than the
- unknown font "TimesNewRomanPSMT" that will be displayed as the default sans
- serif font. This is a temporary fix necessary because Inkscape cannot yet
- extract the fonts from the PDF files it imports nor can it embed them into
- SVG; when it gets these capabilities, such font name conversion will become
- unnecessary because all fonts will be preserved.
-
- • Importing PDF files now works from the command line. For example,
-
-inkscape file.pdf --export-plain-svg=file.svg
-
- will take the first page of the PDF and use the default import options, and
- save the result to SVG. If you try to import PDF without an --export
- command, it will show the import options dialog as before and open the file
- in the UI.
-
-PDF, PostScript, and EPS export
-
-The new Cairo-based PS and EPS exporter provides much better support for
-various vector features, including clipping paths, patterns, and non-ASCII
-characters. Those features that are not supported by the targeted format become
-embedded bitmaps that preserve the appearance. In particular:
-
- • transparency is always rasterized in PS or EPS but not PDF, as PDF supports
- vector transparency;
-
- • filters, such as blur, are by default rasterized in all three formats (PS,
- EPS, PDF). This can be turned off by unchecking the "Rasterize filter
- effects" option in the UI or adding the --export-ignore-filters option via
- the command line. In this case, filtered objects are rendered as vectors
- without filters and without rasterization.
-
- • The resolution for rasterizing the filters can be set in the UI in the
- "Resolution for rasterization (dpi)" parameter or on the command line by
- --export-dpi parameter (same as used for exporting SVG documents to
- bitmaps). The default is 90 dpi. The rendering quality of filters for
- rasterization, as well as for bitmap export, is always the best possible
- regardless of what you have set in the Filters tab of Preferences (which
- only affects on-screen rendering). For example,
-
-inkscape --export-pdf=out.pdf --export-dpi=300 file.svg
-
- will export file.svg to out.pdf, rasterizing any filtered objects in it at
- 300 dpi. (If there are no filtered objects, the --export-dpi has no
- effect.)
-
-All of PS, EPS, and PDF export formats uniformly support the export area
-options (page or drawing) and the new export-id option:
-
- • You can now export a single object from a complex document (for example, a
- single layer) if you specify the ID of that object in the "Limit export to
- the object with ID" field in the GUI or via the --export-id=ID option on
- the command line. The export will show only that object (all others will
- not be exported). The BoundingBox (page size) of the exported PS/EPS/PDF
- file will correspond to the bounding box of that object. You can override
- this with "Export area is page" (GUI) or --export-area-page (command line)
- option which forces the output to have the size of the SVG document's page
- (this may not be possible with EPS, see below).
-
- • The "Export area is page" (GUI) or --export-area-page (command line) option
- forces the output to have the size of the SVG document's page. This is the
- default for PS and PDF but not for EPS.
-
- □ Note, the specification of the EPS format does not allow a bounding box
- to extend beyond the content. This is enforced by the Cairo graphics
- library which means that when --export-area-page is used with EPS
- export, the page bounding box will be trimmed inwards (but never
- expanded outwards) to the bounding box of the content if it is smaller.
- If you want a file which has a %BoundingBox different from the bounding
- box of its content, you can use PS or PDF export formats instead of
- EPS, or add a white background rectangle with the required size to
- source document before exporting to EPS.
-
- □ The --export-bbox-page command line parameter has been removed; use
- --export-area-page instead.
-
- □ The --export-area-page option was renamed from --export-area-canvas for
- consistency with the use of the terms page and canvas in the GUI.
-
- • The "Export area is drawing" (GUI) or --export-area-drawing (command line)
- option forces the output to have the size of the exported objects' bounding
- box, regardless of page size. If no --export-id is specified, this means
- the bounding box of the entire drawing; with --export-id, this means the
- bounding box of the exported object only. This is the default for EPS. Note
- that checking "Export area is page" or using --export-area-page overrides
- this setting for PS and PDF output.
-
- • The --export-embed-fonts option is removed. Inkscape now always embeds and
- subsets all fonts used in the document when exporting PS, EPS, or PDF.
-
-UniConvertor-based import and export
-
-Inkscape can now use UniConvertor to import files of the following types:
-
- • Corel DRAW versions 7 to X4 document files (CDR)
- • Corel DRAW versions 7 to X4 Template files (CDT)
- • Corel DRAW Presentation Exchange files (CMX)
- • Corel DRAW Compressed Exchange files (CCX)
- • sK1 files (SK1)
- • Computer Graphics Metafiles (CGM)
- • Windows Metafiles (WMF)
- • HPGL (AutoCAD) Plot files (PLT) (requires UniConvertor 1.1.4)
-
-Inkscape can now use UniConvertor to export files of the following types:
-
- • Windows Metafiles (WMF)
- • sK1 files (SK1)
- • HPGL (AutoCAD) Plot files (PLT) (requires UniConvertor 1.1.4)
-
-Text objects are not supported as of UniConvertor 1.1.4.
-
-On Windows, UniConvertor is included with Inkscape distribution and does not
-require separate installation.
-
-HPGL export
-
-In addition to the HPGL export via UniConvertor listed above, Inkscape can now
-export to HPGL (Hewlett-Packard Graphics Language) via an internal routine that
-is geared towards various cutters/plotters.
-
-JavaFX export
-
-Inkscape can export drawings to JavaFX format (.fx file extension).
-
-DXF import and export
-
- • DXF export for desktop cutting plotters is much faster than in previous
- versions. A new option was added to provide support for RoboMaster desktop
- cutting software. Also, polylines and polysplines are now supported.
-
- • DXF import is new. It supports a number of the simpler DXF shapes: line,
- Bezier spline, ellipse, circular arc, text.
-
-PNG export
-
- • PNG export has been updated to include metadata if present in the source
- SVG. This includes the Author, Copyright, Creation Time, Description, and
- Title fields. PNG metadata can be viewed using the ImageMagick identify
- command.
-
- • Export filenames that are relative (e.g. ../file.png or simply file.png)
- are now resolved relative to the document's location. This applies to the
- filenames you type in the Export dialog as well as those stored in export
- hints in the document itself (and used by the "Batch export" checkbutton as
- well as in command line export with --export-use-hints). However, export
- filenames specified directly on the command line are not resolved, which in
- effect means they work, as before, from the current working directory from
- which you run the export command.
-
-OCAL (Open Clip Art Library) Export
-
- • Export to Openclipart.org has been disabled for 0.47 as it had become
- non-functional and needs to be re-written.
-
-Autosave
-
-The new autosave feature allow for automatic timed backups as work goes on.
-Saved versions are put in a designated directory and do not overwrite the
-original SVG file nor each other.
-
-In Inkscape Preferences (Ctrl+Shift+P), Save tab, you can enable this feature
-and specify various options:
-
- • the time interval between backups, in minutes;
-
- • the directory where you want the backups to be stored;
-
- • and the maximum number of saved backups (if this number is exceeded, old
- backups will start to be deleted).
-
-Extensions
-
- • The former Effects menu is renamed to Extensions. This is less confusing
- and better reflects the content of the menu: a collection of extensions,
- written mostly in Python, which perform various tasks with or without
- selection.
-
-New and improved extensions
-
- • The new Arrange > Restack extension restacks (changes the z-order of)
- selected objects, with options including: left to right, top to bottom (or
- vice versa), radial outward or inward, or at an arbitrary angle. You can
- also specify what point of an object is used to calculate its position for
- restacking.
-
- • The new Generate from Path > Extrude extension is similar to the old
- Extrude effect, which has been renamed Motion. The new effect requires two
- paths and draws connection lines or polygons between their nodes. If you
- want more dense extrusion, add more nodes to the paths. All the extrusion
- polygons are separate (grouped) objects, so they can be easily painted by
- the Tweak tool to get nicely shaded ribbons, 3D letters, and the like.
-
- • The new Generate from Path > Scatter extension spreads copies of pattern
- along arbitrary "skeleton" paths. The pattern must be the topmost object in
- the selection. Groups of paths, shapes, clones are allowed.
-
- • The improved Modify Path > Add Nodes extension now allows segments to be
- divided into a given number of subsegments.
-
- • The new Modify Path > Convert to Dashes extension takes the dash pattern of
- the stroke and explicitly cuts the curve to duplicate this pattern. This
- can be used to allow desktop cutting plotters, which don't understand
- dashed stroke style, to cut dashed paths. You can also achieve interesting
- effects with smoothly varying dash length if you edit the resulting path
- with Node Sculpting technique (Alt+drag with Node tool).
-
- • The new Render > Add printing marks extension adds printing marks and color
- bars required by print bureaus. You can either manually define margins by
- which cut marks are created.
-
- • The new Render > 3D Polyhedron extension draws 2D projections of 3D
- polyhedrons and other 3D shapes. You can choose one of a number of
- predefined shapes (cube, octahedron, truncated dodecahedron and others) or
- load a shape definition from an OBJ file. The shape can be rotated around
- any of the three axes by arbitrary amount; you can also define various
- style options such as color of the faces and stroke width, and enable
- shading with adjustable light source position.
-
- • The new Render > Alphabet Soup extension is a vector rework of Matt
- Chrisholm's script. Alphabet Soup randomly mashes glyph elements together
- to make exotic-looking text.
-
- • The new Render > Cartesian Grid extension plots Cartesian (square) grids
- that do not fill the page, but offer three levels of division, logarithmic
- scales (with clutter-reduction and arbitrary base) and customizable line
- width. All like elements (e.g. x-axis subminor divisions) are put into
- subgroups together. A proper border is also drawn, with an independent line
- width.
-
- • The new Render > Polar Grid extension plots a polar coordinate grid, with
- options for arbitrary-base logarithmic subdivisions, clutter-reduction
- around the origin, circumferential labels and custom line widths.
-
- • The new Render > Draw from Triangle extension takes a triangle drawn as a
- path (only the first three nodes of a path are counted) and allows to draw
- many triangle-related geometrical objects such as circumcircles, excentral
- triangles, etc. It also lets you specify custom trilinear coordinates and
- triangle centre functions, as well as compute basic triangle properties
- such as area and semiperimeter.
-
- • The new Render > Guides Creator extension quickly creates horizontal and
- vertical guides for subdividing the canvas. You can choose the divisions
- from None, 1/2, 1/3 ... to 1/10.
-
- • The new Render > Calendar extension draws a calendar for a given year with
- localizable month/weekday names, colors, and many other options.
-
- • The new Render > Foldable Box extension creates foldouts for paper boxes.
-
- • The new Text > Convert to Braille extension recodes English (or just Latin
- letters) text to Braille code. It is not intended to create a real Braille
- text for visually impaired people, just an accurate graphical
- representation of Braille text to be used in illustrations.
-
- • The new Modify Path > Interpolate Attribute in a Group extension takes a
- group of objects and assigns to its members interpolated values of an
- attribute of your choice, such as width, height, opacity, etc.
-
- • The new Web > JavaScript extensions allow you to set various interactive
- JavaScript attributes, such as onclick or onfocus, on SVG elements.
- Inkscape does not support them on rendering but you might need them for
- other SVG viewers such as Firefox.
-
-Extension API changes
-
- • While the "Live preview" checkbox is useful for most effects, for some it
- just does not make sense. Now, you can add the attribute needs-live-preview
- ="false" in the effect element in the .inx file of the effect to suppress
- this checkbox for your effect.
-
- • Parameters passed to extensions (via the <param> element) now can have a
- boolean attribute, gui-hidden, to indicate that the parameter should not be
- represented in the GUI. If all parameters are marked as hidden, no GUI is
- presented for such extension.
-
- • All .inx files are now properly formatted XML files with their own
- namespace of: http://www.inkscape.org/namespace/inkscape/extension and a
- Relax NG schema to define it. More information can be found on the
- Extensions page.
-
-Filters
-
-The Filter Editor (former Filter Effects) and Remove Filters commands are moved
-from the Object menu to the new Filters top-level menu, which also contains a
-collection of preset filters.
-
-Preset filters
-
-The Filter Editor is powerful, but can be quite cumbersome. You can now apply
-complex preset filters to selected objects with a single command by choosing it
-from the new Filters top-level menu. Submenus categorize the filters by
-function or appearance. To view a sampler of all preset filters, open
-filters.svg document from Inkscape's examples (share/examples in the Inkscape
-tree).
-
-Most filters apply immediately after selecting the command; some present a
-dialog where you can adjust some of the parameters before applying the filter
-(such filters have "..." at the end of the command in the menu).
-
-By default, if the selected object already has some filter applied, the chosen
-filter will be merged with the existing filter for combined effect. However you
-can also overlay several filters to an object while keeping them separated:
-simply press Ctrl+G after applying any filter and then apply another one; the
-filters will then display separately in the Filters Editor.
-
-You can easily add your own filters to these menus. Simply place any SVG file
-with the filters to the filters subdirectory of your config directory (~
-/.config/Inkscape/ on Linux) and the filters will be picked up from it when you
-start Inkscape. By default, they will be placed in the Personal submenu under
-Effects > Filters. If you want to control this, add the following attributes to
-the filter element:
-
-inkscape:label is the command label
-inkscape:menu is the submenu to place the command into
-inkscape:menu-tooltip is the tooltip (displayed in the statusbar
- as you select the command)
-
-No Filters rendering mode
-
-In order to facilitate editing documents that use lots of SVG filter effects,
-filter effects can now be disabled for a particular document window by
-selecting View > Display mode > No Filters from the menu. This provides an
-intermediate step between Normal and Outline view modes.
-
-The Toggle View command in the Display Mode submenu (Ctrl+keypad 5) toggles
-between all 3 modes in a loop: Normal, No filters, Outline.
-
-Filter quality setting
-
-In addition to the Blur Quality setting, Inkscape now has a general Filter
-Effects Quality setting on the Filters tab of Inkscape Preferences. It affects
-all filters and gives you an opportunity to seek optimum balance between speed
-and accuracy when rendering filters.
-
- • Best quality is the quality used when exporting.
- • Better quality uses fast methods for transforming images, which
- occasionally shows up as jagged edges. Full rendering resolution is used.
- • Anything below that also uses low resolution rendering for filters.
-
-For exporting images, the best quality is used regardless of this setting.
-
-SVG support
-
-Optimized CSS properties
-
- • As a file size optimization, Inkscape does not write into SVG some of the
- stroke properties if the object has stroke:none and some of the fill
- properties when it has fill:none. The only situation where this might
- affect you is if you remove stroke from an object and then turn it back on
- - the object will get the default stroke instead of the same it had before.
-
- Also, in manually-edited SVG where a parent group has no stroke but sets
- some stroke properties to be inherited by its descendants, you will need to
- set stroke property to other than none on the group, and suppress
- inheritance with stroke:none on those children that don't need it.
-
- Specifically, if stroke:none, the following properties do not get written
- to SVG:
-
-stroke-width
-stroke-linecap
-stroke-linejoin
-stroke-miterlimit
-stroke-opacity
-stroke-dasharray
-stroke-dashoffset
-
- Note that this does not include marker properties, which means you can
- still have markers on a path without visible stroke.
-
- If fill:none, the following properties do not get written to SVG:
-
-fill-opacity
-fill-rule
-
- • The opacity property is not written if it has the default value of 1 (this
- property is not inherited, so the change should have no side effects).
-
- • The marker-start, marker-mid, and marker-end properties are not written if
- the marker property is already present with the same value.
-
-Optimized path data
-
-In this version, the size of the path data written in the d= attribute of path
-elements is reduced by about 10%. Inkscape generates the shortest possible path
-strings by avoiding repeated operators and using relative coordinates (when it
-helps).
-
-This is controlled by the options on the SVG output page of Inkscape
-Preferences dialog. Also, you can change the following attributes in group id=
-"svgoutput" in your preferences.xml file:
-
- • allowrelativecoordinates (default 1) to switch relative coordinates on (1)
- or off (0)
- • forcerepeatcommands (default 0) to force repeating operators (1) or allow
- use of the more compact representation without repeated operators (0)
-
-
-Horizontal and vertical path segments
-
-If an SVG contains paths with shorthands for horizontal and vertical path
-segments ('H' or 'V'), then Inkscape will try to maintain those shorthands if
-possible, so the saved file will also contain them.
-
-<script> tag preserved
-
-While Inkscape does not yet support SVG scripting via the <script> element,
-this element is now preserved after editing the file in Inkscape.
-
-Initial SVG Fonts support
-
-As a SoC 2008 project, JucaBlues implemented initial parsing and rendering of
-SVG Fonts. You can design fonts within Inkscape, but using them to render text
-on the canvas is not yet supported. We are waiting for libpango to implement
-proper support of the user-fonts feature.
-
-Currently, the main benefit of this feature is to improve the font design
-workflow when working with FontForge: You can save SVG files with fonts
-embedded and import them into Fontforge, and you only need one file per font
-instead of one file per glyph.
-
-An SVG font is a mapping of chunks of SVG drawing to characters. When a certain
-character is used in a string, its respective glyph is rendered. If no glyph is
-declared for a certain character, then there is a default "missing glyph" that
-is rendered. You can set the drawing that defines this missing glyph; this is
-done by clicking on the Missing Glyph: From Selection... button at the top of
-the dialog.
-
-Here's an example of a font design workflow:
-
- 1. Open the SVG Font dialog by _Text > SVG Fonts_.
- 2. Click New under the font list. Select the new font in list; you can rename
- it by clicking on its name and typing a new name. You will see a set of
- black squares in the text preview area. This is the preview text being
- rendered. It only uses the default missing glyph (which is initially
- defined as a black square) because no specific glyphs were defined yet.
- 3. Draw something that you want to use for the missing glyph
- 4. Click Missing Glyph: From selection...
- 5. Draw a glyph for the "a" character (character matching is case sensitive)
- 6. On the Glyphs tab, click Add glyph
- 7. Type "a" in the Matching String column (at the moment, handling of the
- glyph-name attribute is not implemented)
- 8. With the row selected, click Get curves from selection...
- 9. Now, you will see the "a" glyph in the preview rendering if the preview
- text contains it. You can edit the preview text as needed to view different
- characters.
-
-Repeat steps 5 through 9 for every glyph you wish to add to your font, then
-save the SVG file and open it in FontForge for further editing.
-
-SVG Test Suite Compliance
-
-As a result of last year's GSoC, there is now a rendering test framework along
-with a number of tests (found in the SVN repository here). These tests can be
-run reasonably easily on any system (you don't need to be able to compile
-Inkscape) and include a large part of the W3C SVG Test Suite. See this page or
-this page for up-to-date rendering results. Also see TestingInkscape for
-information on running and creating rendering tests.
-
-
-Editing Aids
-
-Grids
-
- • The dotted rectangular grid now shows small crosses at the intersection
- points of emphasis lines.
-
-Guides
-
- • Guides can now be rotated using the mouse. Each guide has an anchor
- (visible as a little circle) around which it can rotate.
-
- □ Drag a guide anywhere to move it.
- □ Shift+drag to rotate a guide about its anchor (additionally press Ctrl
- to constrain the rotation angle to multiples of 15 degrees).
- □ Ctrl+drag to move the anchor along the guide.
- □ Press Del while hovering the mouse over the guide to delete it.
-
- • There is now an option in the Preferences dialog (Tools page) to treat
- groups as single objects during conversion to guides (as opposed to
- converting each object inside the group separately).
-
-Snapping
-
-Inkscape's snapping code has undergone major changes to make it more reliable
-and easier to use. Snapping to objects now invokes routines from the 2geom
-library, which is actively maintained and less error-prone than the old livarot
-library.
-
-There is a new snapping toolbar to control the snapping options and modes. Use
-_View > Show/Hide > Snap_ controls bar to show or hide this toolbar. The
-toolbar contains toggle buttons for various snapping modes (snap nodes, snap to
-paths, etc.) as well as a master snapping toggle that disables and reenables
-all activated modes.
-
-Also, to control some of the snapping features, a Snapping tab has been created
-in the Inkscape Preferences dialog. The new features found on this tab are:
-
- • Snap indicator: When snapping has occurred, an indicator is displayed at
- that specific position. For now that indicator is just a cross that
- disappears after a second. In the future the shape of the indicator will be
- related to the type of target that has been snapped to.
- • Snap delay: Inkscape now optionally waits some time after the mouse pointer
- has stopped moving before it tries to snap. This makes Inkscape much more
- responsive on complex documents and allows moving objects in a straight
- line over a grid, amongst others.
- • Inkscape can be forced to only try snapping the (source) node that is
- closest to the mouse pointer, à la Corel DRAW. When this mode is enabled, a
- snap indicator will shortly be shown at that node. This will give you
- maximum control of the snapping which is useful for complex drawings with
- many nodes.
- • When multiple snap solutions are found, Inkscape can either prefer the
- closest transformation (when the weight slider is set to 0; this is the old
- mode), or prefer the moved object's node that was initially the closest to
- the pointer (when the slider is set to 1). The way Inkscape calculates the
- preferred snap has been improved too, which should lead to more predictable
- snapping.
-
-Other improvements are:
-
- • The Node tool now snaps to any unselected node (both cusp and smooth)
- within the path that's being edited, and nodes of other paths. It also
- snaps to the path itself, but only to the stationary segments in between
- two unselected nodes, not to the segment being currently reshaped. It is
- now also possible to snap while moving nodes along a vertical or horizontal
- constraint.
- • In the Document Properties dialog, the checkbox for "always snap" has been
- replaced by a pair of radiobuttons; this should eliminate most of the
- confusion surrounding this option.
- • Holding the Shift key now also disables snapping while dragging node
- handles and while creating single dots.
- • During constrained drawing (using Ctrl), Inkscape will now only snap to the
- points on the constrained line.
- • In the Selector tool, snapping while skewing or moving with a constraint
- (with Ctrl) has been improved.
- • Also in the Selector tool, while moving, Inkscape will now snap the
- bounding box of each selected item individually instead of the selection as
- a whole
-
-Inkscape can consider the following objects for snapping, depending on the
-toggles in the Snapping toolbar:
-
- • Clipping paths and masks
- • Midpoints of line segments
- • Midpoints of bounding box edges
- • Page border
- • Intersections of any kind of paths
- • Smooth nodes
- • Cusp nodes
- • Each of the handle points (when creating new shapes)
- • Radius handles of rectangles
- • Single dots
-
-Other features
-
-Spell checker
-
-There's now a built-in spell checker. Press Ctrl+Alt+K or choose Text > Check
-spelling to check all visible text objects in your document (they need not be
-selected) in turn, going top-to-bottom and left-to-right. Once a misspelled
-word is found, a red frame around it is displayed, and the object with the
-misspelling is selected; if you are in Text tool, it also places the text
-cursor at the beginning of the misspelled word.
-
-In the dialog, you can choose one of the listed suggestions and Accept it (this
-button is disabled unless you choose something in the list); Ignore the word
-for the rest of this session; or Add the word to the local dictionary.
-
-Also, since the dialog does not lock Inkscape's window, you can simply edit the
-word with Text tool. Once you edit it to something acceptable to the speller,
-it will automatically turn off the red frame and continue checking the
-document.
-
-On Linux, you need to install Aspell and its dictionaries for the languages you
-want to check. On Windows, for now, only the English dictionary is included
-with Inkscape builds.
-
-Desktop integration improvements
-
- • Clipboard is system-wide: you can now copy/paste objects between different
- Inkscape instances as well as between Inkscape and other applications
- (which must be able to handle SVG on the clipboard to use this).
-
- • Open Recent menu now integrates with Windows recent documents management as
- well as freedesktop.org recent document lists (used by Gnome, KDE and
- Xfce). The list can be cleared from the Preferences dialog (the Interface
- tab).
-
- • Themable Icons: all icons used in Inkscape are now themable using the
- standard freedesktop.org theming mechanism. The list of names used is
- available here.
-
-Shell mode
-
-If you run inkscape with --shell, it will enter a shell mode. In this mode, you
-type in commands at the prompt and Inkscape executes them, without you having
-to run a new copy of Inkscape for each command. This feature is mostly useful
-for scripting and server uses: it adds no new capabilities but allows you to
-improve the speed and memory requirements of any script that repeatedly calls
-Inkscape to perform command line tasks (such as export or conversions). Each
-command in shell mode must be a complete valid Inkscape command line but
-without the Inkscape program name, for example:
-
-$ inkscape --shell
-Inkscape 0.47 interactive shell mode. Type 'quit' to quit.
->file.svg --export-pdf=file.pdf
->otherfile.svg --export-png=bitmap.png
-Background RRGGBBAA: ffffff00
-Area 0:0:744.094:1052.36 exported to 744 x 1052 pixels (90 dpi)
-Bitmap saved as: bitmap.png
->quit
-
-Gesture-based stroke width adjustment
-
-Similar to editing the fill or stroke colors by dragging away from the color
-swatch in the status bar (added in 0.46), this version allows you to drag away
-from the stroke width value displayed there to change the stroke width of
-selection. Dragging above the 45-degree line from the swatch increases the
-width (up to four times the original width), dragging below it decreases the
-width (down to zero). With this feature, quick yet precise stroke width
-adjustments are possible without opening any dialogs or menus.
-
-Tool switching by input device
-
-Tablets and other input devices that report separate hardware (e.g. pen tip and
-eraser on the two ends of the pen) are now recognized and current tool can be
-set to change (to Calligraphic Pen or Eraser) in response to the physical tool
-being used.
-
-Layers
-
- • The Layers dialog now can hide or show all layers other than the current:
- click on the layer name with right mouse button to get the pop-up menu. The
- Solo feature allows you to quickly switch between working layers and check
- their content in isolation.
-
- • A new command, Duplicate Layer, has been added to the Layers menu to
- duplicate an existing layer with all of its objects (even hidden or locked)
- and any sub-layers.
-
- • The Add Layer dialog can be opened with Ctrl+Shift+N (N for new).
-
- • Layer names can now be non-unique within the document.
-
- • Several layer handling inconsistencies have been fixed.
-
-Editing bitmaps in an external editor
-
-Linked (but not embedded) bitmaps can be edited in an external application.
-Right-click an image and choose Edit externally...
-
-An image will reload when its linked file changes on disk. Both the external
-editor application to use and the reload behavior are configurable on the
-Bitmaps page of the Inkscape Preferences dialog.
-
-Command for relinking clones
-
-A new command, Relink Clone to Copied in Edit > Clone, allows you to relink any
-clone to a different original object without changing its other properties.
-Just copy (Ctrl+C) the object you want to be the new original, select any
-number of clones, and choose the Relink command. Now all selected clones are
-linked to the copied object.
-
-Note that this may cause the clone to move if the new original and the old
-original objects are in different positions.
-
-Automatic relinking of clones on Duplicate
-
-If you turn on the When duplicating original+clones: Relink duplicated clones
-option on the Clones tab of Inkscape Preferences (default is off), duplicating
-a selection containing both a clone and its original (possibly in groups) will
-relink the duplicated clone to the duplicated original instead of the old
-original.
-
-Pattern editing
-
-When editing pattern fills:
-
- • The pattern origin and scale handles now snap.
- • The pattern scaling can now be different in X and Y direction. Press Ctrl
- to have a fixed 1:1 ratio scaling (old behavior).
- • The handles are now positioned at the corners of the unit cell, instead of
- only a quarter of that cell as before. So, now a rectangle filled with
- pattern will have all of the pattern handles in the corners, making it
- harder to manipulate them. However, the handles can be dragged outside the
- rectangle by moving the pattern's origin handle.
-
-Transform dialog: spacing out option
-
-Previously, the Apply to each object separately checkbox had no effect for the
-Move tab of the Transform dialog (Ctrl+Shift+M). Now, if several objects are
-selected, this checkbox is on, and "Relative move" is on, each object is
-shifted relative to the closest selected object on the left (for X) or below
-(for Y).
-
-For example, if you have a horizontal row of objects and you move them
-relatively by x = 5 px with "Apply to each object separately" on, the leftmost
-object will shift by 5px, the next one to the right by 10px, and so on; the
-rightmost selected object is displaced by 5*n px where n is the number of
-selected objects. As a result, the distance in each pair of adjacent objects
-will increase by 5px and the whole row will be spaced out, much like a
-letterspacing adjustment spaces out a text string. Moving these objects by X=
--5px will, conversely, squeeze them tighter together: the leftmost will move by
--5px, the next one by -10px, and so on. For Y, the effect is the same except
-that the move starts from the object closest to the bottom (i.e. with smallest
-Y coordinate).
-
-When determining the order of shifting objects, for X, the left edges of their
-bounding boxes are sorted horizontally, and for Y, the bottoms of their
-bounding boxes are sorted vertically. The order of selecting the objects or
-their z-order do not matter.
-
-Converting text to path produces a group
-
-Converting a text or flowed text to path (Ctrl+Shift+C) now produces a group of
-paths, one path for each glyph of text, instead of a single monolithic path as
-before. Apart from easier manipulation, an additional advantage is that if your
-text contained styled spans (i.e. fragments with different color, opacity, or
-other properties), these styles will be preserved by the corresponding glyph
-paths after the conversion. You can still easily get a single path out of such
-a group by selecting it and doing Combine (Ctrl+K).
-
-Combine works on groups
-
-The Combine command now works transparently on groups, i.e. combines paths
-inside selected groups at any level of grouping.
-
-Exclusion works on multiple paths
-
-The Exclusion boolean operation can now operate on an arbitrary number of
-paths.
-
-No more Whiteboard
-
-The configure flag for Whiteboard has been removed since the feature was
-non-functional. This menu item will no longer exist in the releases until it is
-properly fixed to avoid any confusion.
-
-Save As directory
-
-On the Save tab in Inkscape Preferences, an option was added to change the
-behavior to our old behavior. When this option is on, the "Save as..." dialog
-will always open in the directory where the currently open document is. When
-it's off, it will open in the directory where you last saved a file using that
-dialog..
-
-Packaging Improvements
-
-Packaging for OSX and Windows has been worked on heavily and greatly improved
-during this release cycle. Inkscape also now has a Portable version available
-for Windows.
-
-User interface
-
-Inkscape Preferences dialog
-
- • This dialog has been rearranged for more logical grouping of options. New
- pages have been added: Bitmaps (options for the new update-on-file-change
- and external editor features), UI (options for toolbar icon sizes), SVG
- Output (options for SVG formatting, introduced in 0.46 and now editable
- from the dialog as well), and Save (save directory and autosave options).
-
-Bitmap Copy resolution
-
- • A new option on the Bitmaps tab, Resolution for Create Bitmap Copy, allows
- you to set the resolution of the bitmap created by the corresponding
- command (by default bound to Alt+B). The default value of 90 dpi forces the
- resulting bitmap to align with the default 1px-spaced grid on the canvas.
-
-Zoom correction factor
-
- • The Interface tab has an adjustable ruler for Zoom correction factor. Move
- the slider until the ruler's on-screen size matches its true size. This is
- used as a reference point for the 100% (original size) zoom command.
-
-Interface language choice
-
- • The application's interface language can be set from the preferences
- dialog, Interface tab. You'll have to restart Inkscape for this choice to
- take effect.
-
-Toolbars
-
- • On the Interface tab, the toolbar icon sizes for the three main toolbars
- are now separately configurable and to a few different sizes. This allows
- for a more compact user interface.
- • The vertical toolbox has been converted to a standard GtkToolbar, which
- fixed the problem of it pushing the main window taller. Tools that don't
- fit automatically go into a popup menu.
- • When torn off, toolbars now keep the size they last had in the main window.
- They can be resized by docking, resizing the main window, and then
- undocking again.
- • Some controls (such as the Width in Calligraphic/Tweak/Eraser tools,
- Tremor, Wiggle, and Mass in Calligraphic, Threshold in Paintbucket,
- Tolerance in Pencil) are converted from numeric editable fields into
- draggable sliders, with labels and values (usually in the range 0..100)
- displayed on top. As these values don't usually require high precision,
- this makes adjusting them much easier and faster.
-
-Clone/original visualization
-
-When you press Shift+D to find and select the original of the selected clone,
-Inkscape draws a dashed blue line between the centers of the bounding boxes of
-the clone and the original. This line disappears after one second.
-
-File dialogs
-
- • The Windows builds of Inkscape now have Windows-native file dialogs to keep
- consistency with other Windows applications.
- • Two new entries in the File type list, All Bitmaps and All Vectors, allow
- you to limit the listing to bitmap or vector formats only.
-
-Document Properties dialog
-
- • New Color Management tab. In this new tab, you can declare multiple ICC
- color profiles for the current document.
- • New Script tab. ?
-
-Object Properties dialog
-
- • New Title and Description fields. The Title attribute is intended to be
- used as tooltip. [sas]
- • New Interactivity section to add JavaScript calls.
-
-Miscellaneous
-
- • The confusing icons on buttons in the controls bar of the Dropper tool
- (pick/assign opacity) are replaced by text labels.
- • Hovering over a swatch now shows the name of the swatch in the status bar.
- This makes it easier for tablet users to identify a swatch by name, as
- holding a stylus still enough for the tooltip to show up may be difficult.
- • In the Align and Distribute dialog, there is an option to treat all
- selected objects as a group when aligning. This spares the trouble of
- manually grouping them, aligning, and ungrouping afterwards.
-
-Notable bug fixes
-
- • Several memory leaks are stopped, reducing the memory consumption during
- long editing sessions considerably. Closing the last window with a document
- now frees memory used by that document immediately.
-
- • Copy/paste between Inkscape and other programs, as well as between
- different Inkscape instances, finally works as expected.
-
- • No more ID clashes on import and paste: previously, importing or pasting
- SVG objects might sometimes distort their colors, because the imported
- objects referred to gradients with the same IDs as those that already exist
- in the document but look different. Now, IDs of all gradients in the pasted
- document are checked for clashes with those in the host document, and if
- necessary changed with all their users updated correspondingly, so such
- unexpected color changes will never happen.
-
- • The visual bounding box (which is the default bounding box type used by
- Inkscape) of an object with a filter applied now includes the expanded area
- of the filter. For single blur filter (such as the blur you apply with a
- slider in the Fill and Stroke dialog), this expands the bounding box by
- 2.4*radius; although theoretically, blur is infinite, this is the distance
- at which the opacity of the object drops below the perceptibility threshold
- of our renderer. For all other filters, the area is expanded by the
- relative amounts you specify on the "Filter general settings" tab of the
- Filter Editor dialog.
-
- Only visual bounding box is affected; if you use geometric bounding box,
- you will notice no change in most cases. However, the Export Bitmap dialog
- always uses the visual bounding box for selection of the export area; this
- means that you can now export a blurred object to bitmap without any
- clipping of the blur.
-
- • Bounding box calculation does not include the invisible objects, bug #
- 252547.
-
- • Various fixes to PS and PDF rendering of objects involving masks, patterns,
- and/or bitmaps: bug #208217, bug #217212 and others.
-
- • File dialogs (Open, Save, Save as) now remember the last visited directory.
-
- • The --vacuum-defs command line parameter erroneously deleted markers which
- are in use.
-
- • No more garbage lines in Outline mode.
-
- • No more artifacts left by the circle cursor in Tweak tool.
-
- • The Bend Path and Pattern along Path path effects now work correctly with
- closed paths.
-
- • Several viewBox related bugs fixed:
-
- □ Documents with viewBox are now editable without transformation defects.
- In particular this affected documents created with e.g. pstoedit. bug #
- 168370
- □ Resizing the page adjusts viewBox bug #167682.
- □ preserveAspectRatio parsing code was fixed bug #166885.
-
- • Several fixes allow Inkscape to correctly render and edit SVG files that
- use currentColor in objects' style (this includes files created by
- gnuplot).
-
- • Inkscape is now able to handle paths with only 'movetos', i.e. "M 0,0 M 1,1
- M 2,2". These kind of paths can be used to only show markers on a path
- without the rest of the path visible.
-
- • Open paths (as opposed to closed) are now correctly drawn when start and
- end points are equal (SVG test suite paths-data-10-t.svg).
-
- • The shorthand 'marker' property is now correctly interpreted (SVG test
- suite painting-marker-03-f.svg).
-
- • Coordinates and lengths specified in percentages are now correctly
- interpreted (SVG test suite coords-units-02-b.svg).
-
- • Horizontally scrolling the canvas with a tilt wheel (present on several
- Logitech mice such as the LX5) in the Bezier tool will no longer finish the
- path being drawn.
-
-
-Known issues
-
- • First time opening of the drop-down list with font families in Text tool
- may be slow, especially if you have many fonts installed. Subsequent
- accesses of this list are fast.
-
-
-For information on prior releases, please see:
- http://wiki.inkscape.org/wiki/index.php/Inkscape
++Inkscape 0.48 pre-release. More here later.
diff --cc build-lx.xml
index 5f33638eb10ea2f4b2f65c63fb32ec76b6e52a3e,81261a7a0744fbdd0353e10e75168f0bf589d665..8841fe3a9aa1c23a453d9712042909e1749bd234
--- 1/build-lx.xml
--- 2/build-lx.xml
+++ b/build-lx.xml
</description>
<!-- set global properties for this build -->
- <property name="version" value="0.46+devel"/>
- <property name="version" value="0.47"/>
++ <property name="version" value="0.47+devel"/>
<property name="src" location="src"/>
<property name="lib" location="lib"/>
<property name="build" location="build"/>
diff --cc build.xml
index 16443dfc2000f9a678bafdd391ed5628631cafd0,06f8b58abfd849249853cb401a705fd56cd8287a..c32e22b1743d0b8fa280fc56f5d89dd6da585084
+++ b/build.xml
</description>
<!-- set global properties for this build -->
- <property name="version" value="0.46+devel"/>
- <property name="version" value="0.47"/>
++ <property name="version" value="0.47+devel"/>
<property name="src" location="src"/>
<property name="lib" location="lib"/>
<property name="build" location="build"/>
diff --cc configure.ac
index fbfa2e5df6e0a3aa898443042112daeea23f1805,c5a7fc444013047053214a0f8b33512f7ddb1b93..e34da61c5b0be609c20fddaef542ad56ca0e3d23
--- 1/configure.ac
--- 2/configure.ac
+++ b/configure.ac
# `dpkg --compare-versions'. (ii) We don't always know what the next
# version is going to be called until about the time we release it
# (whereas we always know what the previous version was called).
- AC_INIT(inkscape, 0.46+devel)
-AC_INIT(inkscape, 0.47)
++AC_INIT(inkscape, 0.47+devel)
AC_CANONICAL_HOST
AC_CONFIG_SRCDIR([src/main.cpp])
diff --cc packaging/win32/inkscape.nsi
index 9b840f550fea3c92328e312985b73b72a9aa0b16,6150a00f2f596c7708a282f2c8f11e8f2f56b462..651ba3cb2ac33da07e00e4dff66f5f694b24a311
; DEFINES
; #######################################
!define PRODUCT_NAME "Inkscape"
- !define PRODUCT_VERSION "0.46+devel"
- !define PRODUCT_REVISION 1
-!define PRODUCT_VERSION "0.47"
++!define PRODUCT_VERSION "0.47+devel"
+ !define PRODUCT_REVISION 3
+ !define PRODUCT_VERSION_4 "0.47.0.3"
!define PRODUCT_DIR_REGKEY "Software\Microsoft\Windows\CurrentVersion\App Paths\inkscape.exe"
!define PRODUCT_UNINST_KEY "Software\Microsoft\Windows\CurrentVersion\Uninstall\${PRODUCT_NAME}"
;!define DUMMYINSTALL ; Define this to make it build quickly, not including any of the files or code in the sections, for quick testing of features of the installer and development thereof.