Difference between revisions of "Notes Alliberament"
Line 107: | Line 107: | ||
Per a cada eina per crear objectes (formes, Bolígraf/Llapis, Cal·ligràfic, Text), la barra de control (al damunt) inclou ara un <b>indicador d'estil</b> a la dreta. Aquest indicador mostra quin estil tindrà l'objecte nou. L'indicador mostra correctament qualsevol estil que l'eina pot utilitzar - el "darrer" estil o l'estil fix d'aquella eina. Per exemple, fent clic a un paleta (fins i tot sense seleccionar res) canvia el "darrer" color posat i, si està configurada per utilitzar l'últim conjunt de color, el seu indicador s'actualitza, donant-li una idea del seu "pinzell" abans que comenci a dibuixar. | Per a cada eina per crear objectes (formes, Bolígraf/Llapis, Cal·ligràfic, Text), la barra de control (al damunt) inclou ara un <b>indicador d'estil</b> a la dreta. Aquest indicador mostra quin estil tindrà l'objecte nou. L'indicador mostra correctament qualsevol estil que l'eina pot utilitzar - el "darrer" estil o l'estil fix d'aquella eina. Per exemple, fent clic a un paleta (fins i tot sense seleccionar res) canvia el "darrer" color posat i, si està configurada per utilitzar l'últim conjunt de color, el seu indicador s'actualitza, donant-li una idea del seu "pinzell" abans que comenci a dibuixar. | ||
== | == Barra de Control per a l'eina de text == | ||
* | * Aquesta versió afegix els principis d'una barra de control per a l'eina de text (prèviament buida). Ara pot seleccionar la <b>font</b>, <b>grandària</b>, aplicar estils de <b>negreta</b> i <i>cursiva</i>, canviar <b>alineació</b> i <b>orientació</b> del text, sense haver d'obrir el diàleg de Text i Font. | ||
* All controls are <b>instant-apply</b> and work on the entire text object (if nothing selected) or text selection. They can also apply to multiple text objects (though you would need to switch to Selector to select multiple text objects, then switch back to Text tool for its controls). | * All controls are <b>instant-apply</b> and work on the entire text object (if nothing selected) or text selection. They can also apply to multiple text objects (though you would need to switch to Selector to select multiple text objects, then switch back to Text tool for its controls). |
Revision as of 14:58, 17 June 2006
Inkscape 0.44: resum
L'Inkscape 0.44 és més gran i millor que mai! Alguns dels aspectes destacats són:
- Diàleg de capes
- Mode contorn, amb millores del rendiment
- Exportació nadiva en PDF amb transparència
- Clipping and masking support
- Dreceres de teclat configurables, incloent emulació de Xara
- Paleta de color adjuntada en la finestra d'edició de la paleta de colors
- Indicador interactiu de l'estil de la selecció a la barra d'estat
- Un innovador "esculptor de nodes" i altres millores a l'eina de nodes
- Ara les extensions estan habilitades per defecte i funcionen tant a Linux com a Windows
- Millor suport d'SVG: element <switch>, perfils de color ICC per a les imatges
- Centres de rotació persistents, ordre per enganxar la mida
- S'ha redissenyat el diàleg de preferències, noves icones, menús reordenats, moltes millores cosmètiques
- Centenars de correccions d'errors i petites millores
- Encara que no està relacionat directament amb l'Inkscape, val la pena notar que des de la darrera versió, ara Firefox 1.5 suporta per defecte el format SVG. Això significa que podeu veure qualsevol document SVG en la vostra finestra del Firefox sense convertir entre formats o instal·lant connectors addicionals.
Rendiment
Mode contorn
S'ha implementat el mode de visualització de contorn ("cablejat"). Useu Visualització > Mode de visualització > Contorn per activar-lo. En aquest mode:
- tots els camins i formes es dibuixen com a contorns invertits (negre sobre fons clar i viceversa) de mida constant (1 píxeld de pantalla, independentment de l'ampliació), i sense emplenat,
- el text és pinta amb emplenat invers, sense contorn,
- els mapes de bits es mostren tal qual,
- s'ignora l'opacitat i els desgradats.
En general, el mode contorn no és dràsticament més ràpid que el mode regular (normalment entre un 10% i un 50%), i en alguns casos especials pot ser fins i tot més lent. Tanmateix, el valor del mode de contorn rau no només en la seva velocitat; també és una bona manera de fer-se una idea de l'estructura i els objectes d'un document, i és convenient per a editar nodes amb precisió i per trobar objectes "perduts".
Velocitat
A més del mode contorn, que fa més senzill treballar amb dibuixos complexos, aquesta versió de l'Inkscape també proporciona millores significants en la velocitat en moltes àrees.
- Gràcies a les optimitzacions en el representador, el redibuix a la pantalla de l'Inkscape és almenys un 10% més ràpid, i en alguns casos (com en camins puntejats en ampliacions altes) fins a tres vegades superior.
- Optimitzacions en l'eina de nodes fan que es guanyi en velocitat notablement en editar nodes. Per tant, alternar entre l'eina de nodes (amb un camí seleccionat), i seleccionar nodes en l'eina és ara almenys deu vegades més ràpid que abans. Altres operaciones, incloent arrossegament de corbes i de nodes i operacions per moure/escalar/girar en múltiples nodes seleccionats és molt més ràpid també. Això és especialment important quan es treballa amb camins complexos; amb aquestes optimitzacions, els camins que contenen milers de nodes, encara que segueixen sent lents, són més usables que abans.
- Una optimització en el mètode d'assignació d'atributs fa que les operacions com ara moure múltiples objectes mitjançant tecles de fletxa sigui almenys un 30% més ràpid comparat amb 0.43. Això és especialment notable quan esteu movent clons seleccionats conjuntament amb el seu original (p.e. mosaic de clon): en aquest cas Inkscape treballa de dos a tres cops més ràpid.
- Les icones de la interfície ara es dibuixen en segon pla (des de la font SVG a
share/icons/icons.svg
) quan l'Inkscape no fa res, en comptes d'esperar que es dibuixin totes les icones en un menú la primera vegada que el mostreu. Això elimina el molest retard en obrir menús el primer cop.
- Anteriorment, en ampliar per veure una pertita porció d'un camí (especialment en camins grans i complexos) havia un retard notable i un increment de la memòria massa gran. S'ha optimitzat el representador per a dibuixar només la part visible del camí, i com a resultat la velocitat de representació és gairebé la mateixa a qualsevol nivell d'ampliació, millorant entre 10 i 40 vegades la velocitat en comparació amb la versió anterior (com més gran l'ampliació més gran el guany).
- L'ordre Cami > Trenca en parts és ara dotzenes de vegades (fins a 100x) vegades més ràpid per a camins complexos amb milers de subcamins.
Interface
Layers dialog
- Ctrl+Shift+L [joncruz, mental]
Selected style indicator
A new control in the left end of the statusbar lets you quickly view and change the fill and stroke of the selected objects. When you have a text selection in Text tool or a gradient handle selected in the Gradient tool, this indicator displays and changes the style of the text fragment or gradient stop, instead of the entire object (it's the same behavior as the Fill&Stroke dialog.)
- The two indicators, labelled F: (top) and S: (bottom), display fill and stroke of the selected object(s) correspondingly. (For gradient handles, they always display the same style.)
- Each fill/stroke indicator can display either a color+opacity swatch (the opacity shown here is the fill opacity or stroke opacity, not the master opacity) or a text label specifying N/A (nothing selected), None (no fill/stroke), Unset (unset fill/stroke), L Gradient, R Gradient, Pattern (corresponding fill/stroke types), or Different (selected objects have different fill/stroke types).
- Additionally, each indicator may be accompanied by one of two flags, m ("multiple", meaning there are two or more objects all with the same fill/stroke) or a ("averaged", meaning there are two or more objects with different flat colors in fill/stroke, and the indicator shows the average of these colors).
- Left-click on an indicator opens or activates the Fill&Stroke dialog with the corresponding tab (Fill or Stroke) active.
- Right-click on an indicator opens a popup menu with the following items:
- Edit fill/stroke...: Opens or activates the Fill&Stroke dialog with the corresponding tab selected. (Same as left-click.)
- Last set color: Applies to the selected objects the fill/stroke color that was last applied to anythig.
- Last selected color: Applies to the selected objects the fill/stroke color that was last displayed in this indicator. (Allows you to easily copy fill/stroke color between objects: select source, select destination, apply "last selected color".)
- Invert: Sets the fill or stroke to the inverse of the current color (does not affect opacity).
- White, Black: Sets the fill or stroke to the corresponding color (fully opaque).
- Copy color, Paste color: Copies or pastes the fill or stroke color (when it's color) to/from the system clipboard, as text in the
#rrggbb
hex format. - Swap fill and stroke: Exchanges fill and stroke (both their types and colors, if any).
- Make fill/stroke opaque: Removes fill or stroke transparency (not master transparency!).
- Unset fill/stroke: Unsets fill or stroke from selected objects.
- Remove fill/stroke: Removes fill or stroke from the selected objects.
- Middle-click on a fill/stroke indicator removes fill/stroke from selected objects; if it is already removed (i.e. if the indicator displays "None"), it does the same as the "Last set color" command from the popup menu.
- Drag and Drop of colors onto a fil/stroke indicator sets the fill and stroke of the selected object(s) correspondingly.
- The Stroke indicator also displays the stroke width of selection (averaged if there are multiple objects selected with different stroke widths), located to the right of the stroke color/transparency swatch. Left-clicking on it opens the Fill&Stroke dialog with the Stroke Style tab selected. Right-clicking on it opens a popup menu which allows you to choose the units for displaying the stroke width, as well as choose one of the presets to assign to selection.
- To the right of the fill/stroke indicators, the Opacity numeric field (labelled "O:") shows and allows you to change the master opacity of the selected object (or the averaged opacity of several selected objects). Right-clicking the numeric field opens a popup menu with preset opacity levels. Middle-clicking on the "O:" label cycles the opacity through the values of 0 (transparent), 0.5, and 1 (opaque).
The zoom field and the cursor coordinates indicator have been rearranged for compactness and moved to the right end of the statusbar. There's also a window resize handle added at the very end of the statusbar.
Eina d'indicador d'estil
Per a cada eina per crear objectes (formes, Bolígraf/Llapis, Cal·ligràfic, Text), la barra de control (al damunt) inclou ara un indicador d'estil a la dreta. Aquest indicador mostra quin estil tindrà l'objecte nou. L'indicador mostra correctament qualsevol estil que l'eina pot utilitzar - el "darrer" estil o l'estil fix d'aquella eina. Per exemple, fent clic a un paleta (fins i tot sense seleccionar res) canvia el "darrer" color posat i, si està configurada per utilitzar l'últim conjunt de color, el seu indicador s'actualitza, donant-li una idea del seu "pinzell" abans que comenci a dibuixar.
Barra de Control per a l'eina de text
- Aquesta versió afegix els principis d'una barra de control per a l'eina de text (prèviament buida). Ara pot seleccionar la font, grandària, aplicar estils de negreta i cursiva, canviar alineació i orientació del text, sense haver d'obrir el diàleg de Text i Font.
- All controls are instant-apply and work on the entire text object (if nothing selected) or text selection. They can also apply to multiple text objects (though you would need to switch to Selector to select multiple text objects, then switch back to Text tool for its controls).
- The font-family drop-down contains names and previews of all fonts; unlike other programs, we didn't apply each font to its name, but added a separate preview string displayed with gray color after each font's name. This design ensures readability of font family names and provides maximum useful information in a limited space.
- We will be adding more controls (including spacing and kerning) to this bar for the next versions.
Docked color palette
- Previously, color swatches could only be used from a floating palette (Ctrl+Shift+W). Now the color swatches palette is embedded in the main UI, at the bottom of the window between the canvas and the statusbar. It is enabled by default; use View > Show/Hide > Palette to enable or disable it. The docked palette has the same functionality as the floating one; use a button in the top right corner to access the swatches menu.
- The Wrap option (off by default) in the swatches menu converts the palette from a single row into a frame 2 or 3 rows high, for better access to colors in large palettes.
- Drag and Drop of colors has been enabled.
- Dragging colors from a palette shows a live swatch of the color being dragged under cursor.
- Drag and Drop of colors onto the selected style indicator in the statusbar sets the fill or stroke of the selected object(s).
- Colors can be dropped directly on to objects on canvas to set their fill, or shift+dropped to set their stroke. This affects only the object you drop the color on, regardless of whether that object is selected or not.
- Colors can be dragged to and from other applications.
- The new Inkscape default color palette was added. It contains a range of grays, standard HTML named colors, and a full range of colors sorted by their HSL values (475 colors overall). It is generated by a Python script which is available from Inkscape SVN in share/palettes.
- Several specialized color palettes, useful in color-coordinated projects, were created or borrowed from GIMP: Grays, Reds, Greens, Blues, Gold, Royal, Khaki, Hilite, and Topographic.
- All standard sizes of the swatches (Tiny, Small, Medium, Large, Huge) are made smaller overall.
Inkscape Preferences dialog
Not only was the Inkscape Preferences dialog completely rewritten and redesigned, it is now also fully GNOME-HIG compliant. Numerous bugs were taken care of with the rewrite. As a new feature, the Simplify threshold can now be set with more precision.
Document Properties / Metadata dialogs
- The Document Preferences dialog is now named Document Properties, and it was split in two: metadata were extracted into the Document Metadata dialog; metadata widgets are now also spread over two pages.
- A button was added to fit the canvas to the current selection or, if there's no selection, to the entire drawing. The button resizes the canvas and, if necessary, moves the drawing into place. It is now very easy to size the canvas to an illustration after it is ready.
- New controls: the new object snapping features required their own property widgets, and you can set the snapping sensitivity with a slider, or let it snap regardless of distance (grid only).
- Rearrangements within Document Properties: everything snapping-related was collected on one page; Grid and Guide widgets are on their own, the same page. For better HIG compliance, all widgets were categorized; especially the widgets on the Page page were completely rearranged in the General/Format/Border categories.
- Bug fixes: grayed out license URI had too low contrast, so it's no longer grayed out; the proprietary license didn't clean the license URI; spinbuttons had no tooltips, and minor grid quirks were removed; data was not updated when a new file replaced another in the same window.
- HIG compliance: much work went into that, and now only a few details are missing from full Gnome-HIG compliance.
- Updated Creative Commons Licenses: Updated CC licenses to the latest 2.5 versions by default in the license tab of the metadata dialog.
Menus
- Zoom commands in the View menu are moved to a submenu; the Zoom In and Zoom Out commands are added to that submenu.
- Clone commands are moved into a submenu in Edit menu and given more descriptive names and tips.
- Pattern commands (Objects to Pattern and Pattern to Objects) are moved into a submenu in Object menu, under the new Clip and Mask submenus.
- The contents of the Effects menu are categorized into submenus, and several effects are renamed to use more intuitive names.
Statusbar
- In Selector, for multiple selected objects, the statusbar now reports their types. For example, if 5 groups are selected, it displays
- 5 objects of type Group in layer LayerName.
- instead of just "5 objects selected" as before. If there are up to 3 types in the selection, they will be listed, for example:
- 5 objects of types Group, Path, Rectangle in layer LayerName.
- The order of the list will correspond to the order in which the objects were added to selection. If there are 4 or more types in selection, only the number of types is reported, for example:
- 5 objects of 4 types in layer LayerName.
- In Selector, objects selected in groups are now identified as such, and the group ID is given, for example:
- Rectangle in group g212 (layer content)
- If selected objects have different parents within one layer (for example, if one is selected in a group and another outside it), the number of parents is reported:
- 2 objects of types Rectangle, Path in 2 parents (layer content)
- If objects are in different layers, only the number of layers is reported since this also implies different parents:
- 2 objects of types Rectangle, Path in 2 layers
- In Node tool, if your node selection includes nodes from different subpaths, statusbar reports the number of subpaths with selection and the total number of subpaths, for example:
- 2 of 195 nodes selected in 2 of 36 subpaths.
- The contents of the statusbar message are now duplicated as a tooltip that is shown when you hover the mouse over the statusbar. [TODO: need to strip markup from the tooltips.]
- The statusbar text is now no longer just cut off if there is insufficient room, but an ellipsis (...) is inserted at the end to show there's more (only with Gtk 2.6 and newer).
Theme
- Inkscape has a new default icon set titled "Crispy" provided by Andre Sousa. The new icons are intended to add a more professional and cohesive look to our application, as well as to make the functions the icons represent more self-evident.
Clipping and masking
Inkscape now provides some UI for using clipping paths and masks.
- Any object can be non-destructively intersected with a path (called a clipping path) so that only the intersected portion of the object is visible.
- To apply clipping, select the objects to be clipped and the clipping path object, make sure the clipping path is above the other objects in z-order, and do Object > Clip > Set.
- You can transform, edit, or style the clipped objects as usual. The clipping remains applied and transforms together with each clipped object.
- To remove the clipping, do Object > Clip > Release. The clipping path is returned to the drawing as a regular object; it is inserted on top of the unclipped object in z-order.
- Any object can be non-destructively masked by another object (called mask) so that: the mask's black or transparent areas become fully transparent in the masked object; mask's opaque white areas become fully opaque; and all intermediate colors translate into intermediate levels of opacity in the masked object. This allows you to apply, for example, arbitrary transparency gradients to objects.
- To apply a mask, select the objects to be masked and the mask object, make sure the mask is above the other objects in z-order, and do Object > Mask > Set.
- You can transform, edit, or style the masked objects as usual. The mask remains applied and transforms together with each masked object.
- To remove the masking, do Object > Mask > Release. The mask is returned to the drawing as a regular object; it is inserted on top of the unmasked object in z-order.
- Objects with clippath show their bounding box intersected with the bounding box of the clippath, instead of the original unclipped bbox as before. (However, this does not apply to objects without clippath of their own which are clipped by being inside a clipped group.)
- Clipped or masked objects display "clipped" or "masked", correspondingly, in their statusbar descriptions.
- Although Inkscape had render-only support for clipping paths and masks for quite some time, in this release we fixed a number of bugs which may affect the display of your documents using clippaths or masks.
- Clippaths and masks with objectBoundingBox units are now shown correctly upon loading of the document.
- Clippaths without fill didn't work, this is now fixed.
- Objects with clippaths or masks are correctly copied/pasted between documents.
SVG conformance
Color profile support
Inkscape now includes base ICC profile functionality. If compiled with LittleCMS support (if you run configure
with --enable-lcms
switch), Inkscape passes the ICC color profile test by W3C. The <color-profile> element has been implemented along with the "color-profile" attribute for <image> elements.
<switch> support
Rendering support for SVG 1.1's Conditional Processing Module has been implemented, including switch element, requiredFeatures, requiredExtensions, systemLanguage attributes. Inkscape passes the Conditional processing tests ([1] and [2]) by W3C.
SVG output
- In Inkscape's SVG documents, colors are now expressed by name (‘white’) or three-digit form (‘#f3c’) when possible.
- The numeric values in
transform
attributes are written without insignificant trailing zeros, and anything less than that 1e-8 by absolute value (usually caused by rounding errors) is written as 0 to reduce clutter.
Transformations
Transform dialog
Fixes and improvements in the Transform dialog (Ctrl+Shift+M):
- The Apply to each object separately checkbox is added, allowing you to scale/rotate/skew each selected object by the same amount, around that object's center. When off (by default), the selection is transformed as a whole. The status of this checkbox is remembered across sessions. (It has no effect on Move and Matrix tabs).
- The Clear button resets the values on the current tab to defaults.
- The Scale tab now allows you to specify horizontal or vertical size increments in percentage or absolute units. Also, there's a Scale proportionally checkbox which ensures that scaling preserves the width/height ratio. (If you are scaling several objects proportionally with "Apply to each object separately", you can only use the % unit to specify the scaling; otherwise each object's scale increments will have the width/height ratio of the entire selection, not of that specific object.)
- The Skew tab can now specify the skew as an absolute displacement (e.g. for horizontal skewing of a rectangle, that means the shift of the top rectangle side relative to the bottom), as percentage displacement (e.g. a 1% horizontal skew of a rectangle means shifting the top side by 1% of the rectangle height), or as an angle (e.g. horizontal skew by 15 degrees results in the sides of a rectangle being rotated to that angle, while the top and bottom remain horizontal).
- The Matrix tab (previously called "Transform") can either edit the current
transform=
matrix of an object, or post-multiply thetransform=
with the matrix you specify, depending on the Edit current matrix checkbox. (As it is now redundant, the transformation matrix in the Object Properties dialog is removed.)
- The dialog now correctly watches selection changes in the active document window and updates its values accordingly.
- The layout of the dialog is simplified, tooltips and mnemonics added for better usability.
- Many bugs are fixed, especially in value conversions between units.
Persistent rotation centers
- The position of the center (axis) of rotation and skewing used by Selector is now remembered for all objects and restored when you select those objects again (even after saving and reopening the document). When you move or scale an object, its rotation center is moved or scaled too, so its position relative to the object always remains the same unless you move it explicitly.
- When you have several objects selected, they use the rotation center of the first selected object. If the first object does not have center set (i.e. if it's in a default central position), then several objects will rotate around the geometric center of their common bounding box (as before).
- Shift+click on the rotation center resets it back to the center of the object's box.
- Consequently, dragging the rotation center is now an undoable action; you can press Ctrl+Z to undo the drag.
- Keyboard rotation by [, ] keys with various modifiers, as well as the Rotate tab in the Transform dialog, work around the selected object's rotation center (for multi-object selection, the rotation center of the first selected object).
- Rotation centers are preserved when duplicating, cloning (including clone tiler), grouping/ungrouping, and converting to path.
[TODO: - make it work smartly for groups: if a group has center not set, return the center of the first object inside group with the center set
- a separate tab in the Transform dialog, with 9 buttons in the square grid (for setting it to object's corners, sides, and center) as well as x/y fields for setting center to any position
- make center snap to grid/guides/objects and to other centers
- make objects snap with their center to grid/guides/objects]
Pasting size
A number of commands are added to easily scale selected objects to match the size of the object(s) previously copied to the clipboard. They are all in the Paste Size submenu in Edit menu:
- Paste Size scales the whole selection to match the overall size of the clipboard object(s).
- Paste Width/Paste Height scale the whole selection horizontally/vertically so that it matches the width/height of the clipboard object(s). These commands honor the scale ratio lock on the Selector controls bar (between W and H fields), so that when that lock is pressed, the other dimension of the selected object is scaled in the same proportion; otherwise the other dimension is unchanged.
- Paste Size Separately, Paste Width Separately and Paste Height Separately work similarly to the above described commands, except that they scale each selected object separately to make it match the size/width/height of the clipboard object(s).
Tools
Node tool
Node sculpting
An entirely new way of manipulating paths in Node tool is added in this version: Node sculpting. Normally, when you have several nodes selected and you drag one of them, all selected nodes move by the same amount. Now, if you Alt-drag one of the selected nodes, only that node is fully displaced; other selected nodes are moved less than the full amount, so that those farthest from the drag point remain stationary. This is similar to "proportional editing" or "soft selection" in 3D editors such as Blender.
So, for example, if you select several nodes on a straight line and Alt+drag the middle selected node, the path will bend into a smooth bell-like curve. Nodes' handles are also adjusted correspondingly to keep the overall shape smooth and natural. (If you don't have enough nodes on a path fragment that you want to reshape in this way, just select the end nodes of that fragment and press Ins a few times to populate it with nodes.)
Moreover, node sculpting is sensitive to pressure of your tablet pen. If you press slightly, your curve will have a narrow sharp tip (i.e. the nearest neighbors of your dragged node will move only a bit); if you press hard, the curve's tip will be wide and blunt (i.e. the nearest neighbors will move almost as much as the dragged node). (Hint: to stop dragging without losing your shape, first release Alt and then lift the tip of the pen.)
There are many possible applications of the sculpting technique. To take a simple example, selecting all nodes of an ellipse-like shape and Alt+dragging one of them will smoothly and naturally stretch and skew the entire shape in any direction. Doing the same to a complex path, such as star or spiral, will twist and punch it without destroying its intricate structure - this is the way to get squashed or self-intersecting stars, eccentric spirals and other shapes not easily doable before. Selecting only part of all nodes allows you to smoothly reshape parts of the figure without disturbing the rest.
When applied to text converted to path, node sculpting is a fun and easy way to twist, bend and distort it, achieving effects similar to "perspective envelope" or "curvilinear envelope" in other programs - but in a more powerful and flexible way. For example, by selecting all or part of the text's nodes and Alt-dragging, you can not only make a wavy banner out of a paragraph of text, but also apply a "magnifying lens"-like effect to any word in the middle.
Especially useful node sculpting is for complex natural paths, such as calligraphic strokes or bitmap traces, where you often want to do large-scale pushes and bends without destroying the small-scale features. Things like making a calligraphic stroke narrower in one place and wider in another, or changing the proportions, extending the ear or flattening the nose of a head - all this is now much faster and more natural to do using sculpting. It is also a new way to create new paths, too - starting from en ellipse with added nodes, it takes just a few Alt+drags to tweak it into a silhouette of a head, or a map of Australia, or an Inkscape logo!
Some examples are shown on the screenshot: [[3]].
"Show handles" toggle
The Controls bar for the Nodes tool now includes a toggle button which controls whether Bezier handles are shown on selected nodes (on by default). Selecting and dragging nodes on node-dense paths in zoom-out (e.g. for node sculpting) may be extremely difficult without hiding the handles, as it's hard to pick a node and not a handle when handles are shown.
New deletion behavior
- In Node tool, deleting node(s) by Del/Backspace keys or by Ctrl+Alt+clicking a node now tries to preserve, as much as possible, the current shape of the path. This means that the nodes adjacent to those being deleted have their handles adjusted to approximate the form that the path had before deletion. For example, if you Ctrl+Alt+click a path twice, once to add a new node and then to delete it, the path will not change at all (or change very slightly). The old deletion behavior without adjusting handles is still available via Ctrl+Del or Ctrl+Backspace.
Preserving positions of nodes and handles
- When you switch the type of the selected node to Smooth or Symmetric by pressing Shift+S/Shift+Y, you can now preserve the position of one of the two handles by hovering your mouse over it, so that only the other handle is rotated/scaled to match.
- Similarly, when you join endnodes by pressing Shift+J, you can preserve the position of one of the two nodes by hovering your mouse over it, so that only the other node is moved.
Miscellaneous
- The ! key inverts node selection in the current subpath(s) (i.e. subpaths with at least one selected node); Alt+! inverts in the entire path. (This is similar to how these keys work in Selector, with current subpath(s) instead of the current layer.)
- The keyboard shortcut for "Make selected segments curves" in Node tool is changed from Shift+K to Shift+U for better mnemonics.
Calligraphic pen
- Even when using a graphics tablet with pressure sensitivity, the Calligraphy pen's strokes often look too smooth and artificial. To enable a more natural look, the new Tremor parameter is added to the Calligraphy tool in this version. Adjustable in the Controls bar from 0.0 to 1.0, it will affect your strokes producing anything from slight unevenness to wild blotches and splotches. This significantly expands the creative range of the tool.
- In all previous versions, pen width depended on zoom in such a way that the strokes appeared the same visible width at any zoom, but were in fact narrower at zoom-in and wider at zoom-out. This behavior makes sense if you want to keep the same "feel" of the pen regardless of zoom; for example, if you zoomed in to make a small fix to your drawing, it's natural that your pen becomes physically smaller but feels the same to you. So, this behavior is kept as the default, but now we also added an alternative mode where your pen width is constant in absolute units regardless of zoom. To switch to this mode, use the checkbox on the tool's Preferences page (you can open it by double-clicking the tool button).
- The Width field in the tool's controls bar now changes from 1 to 100, which corresponds to the range from 0.01 to 1.0 in the previous version. If the "width in absolute units" mode is turned on, the value in this fields gives the width of the stroke in px units. In the default mode, the value of 100 gives 100px wide strokes only at 100% zoom, and strokes are correspondingly narrower or wider at other zoom levels.
- A new preferences option for the Calligraphic tool, Keep selected, controls whether the newly created object remains selected after you finish drawing it. If you turn it off (by default it's on) and set the tool to using Last Set color, you can easily choose a new color by clicking on the palette without having to worry if this will change the color of the stroke you just created. (Watch the tool style indicator at the right end of the Controls bar for the style of the next stroke you will draw.)
- Esc deselects selected objects in Calligraphic, as in most other tools.
- The stroke you're drawing is now shown, while you're drawing it, with the correct color and opacity that it will eventually have, instead of always black as before.
- On a new Inkscape installation, this tool now uses the last set style by default instead of the fixed black as before (this is changeable in the Inkscape Preferences for the tool).
Pen tool
- While drawing a path, you can now move the last node you created by the same keys as in Node tool - that is, arrows, with Shift (for 10x displacement) or Alt (screen pixel displacement) modifiers.
- Also, you can switch the not-yet-finalized (red) segment of the path being drawn from curve to line (Shift+L) or back to curve (Shift+U), again the same shortcuts as in the Node tool.
- By popular demand, if a new path is being drawn but not yet finished, Ctrl+Z cancels that unfinished path (i.e. does the same as Esc), instead of undoing the previous action.
- In Pen tool, Del works the same as Backspace to delete the last created point on the unfinished path.
Connectors and automatic layout
- There have been numerous bugfixes and several improvements to the behaviour of connectors and the connector tool:
- Connectors moved as part of a selection will now stay attached to other objects in the selection, rather than becoming detached from them.
- By default, the Connector tool will not attach connectors to text objects. There is a new checkbox in the connector preferences to control this setting.
- The margins around avoided shapes (used for autorouting connectors) can now be adjusted via the "Spacing" control on the controls bar.
- Automatic Diagram Layout - A new button is available in the alignment and distribution dialogue that performs automatic layout of diagrams involving a network of shapes and connectors. Layout is accomplished using force-directed graph layout based on the Kamada-Kawai algorithm. This algorithm treats edges as if they are springs such that the distance between nodes will be proportional to the path length---number of connectors---between them. Disconnected components (where not every shape is connected) will be arranged around the circumference of a circle.
- There is a new Remove Overlaps button to move the selected objects enough that they don't overlap each other. A minimum spacing between the boundaries of objects can be specifiedTogether with the automatic layout tool, described above, this should be a significant addition to Inkscape's usability for diagramming. [Consider expanding this, comparing with existing Unclump and Distribute edge-to-edge buttons. - pjrm]
Selective tracing with SIOX
[ishmal]
Snapping
- [object snap - carl]
- [highlight - mtou]
- [only to visible gridlines - mtou]
- Guidelines are made easier to pick: now you don't need to position mouse exactly over a guideline to activate it, instead there's a small position tolerance (1 screen pixel on each side of the guideline).
Sublayers
Previously, it was only possible to make a group a temporary sublayer by entering that group. Now Inkscape supports creating and using true persistent sublayers within a layer.
- The Add layer dialog allows you to place the new layer above, below, or inside the current layer.
- In Preferences (Selecting tab), options are added allowing the "Select All" command and Tab key selection to work either in the current layer only or in the current layer and its sublayers.
Extensions
- The Effects menu is now always on, it's no longer an "experimental feature". The preference setting to enable the menu has been removed.
- Python extensions (which includes almost all currently available extensions) work on Windows out of the box, using a copy of Python shipping with Inkscape. The only minor inconvenience is that when an effect is launched, you get an empty console window that stays on while the effect is doing its work. (Don't close that window, it will disappear by itself when the effect is finished.)
- A new Python effect, Render > LaTeX formula, allows you to type in any LaTeX formula and get a vector object with the TeX rendition of this formula inserted into your document. You need to have latex, dvips, and pstoedit installed and in PATH for this to work.
- A new Python effect, Flatten Path, flattens paths in the current selection, approximating each path with a polyline whose segments meet the specified criteria for flatness.
- A new Python effect, Measure Path, attaches a text label to each path in the selection giving the length of that path (in px units).
- The Radius Randomize effect has a new parameter which enables normal distribution of random displacements instead of uniform as before, which gives a more natural feel to the randomized path.
- The Render > L-system (formerly "Fractal (Lindenmayer)") effect is improved in this version. Now you can specify different angle values for turning left and right, which makes it possible to smoothly bend some L-systems sideways. Also, you can separately randomize the step length and the angles by a given percent for more natural look (this works especially well with plant-like branching shapes). This effect can be used to create Penrose tiling, Sierpinsky triangle, Dragon curve and other famous mathematical artefacts, as well as various meanders, friezes, patterns, and trees. Some examples can be seen on this screenshot as well as in the new example file
share/examples/l-systems.svg
.
- The Interpolate Path, Random Tree, and L-system effects are fixed to place their result on the current layer instead of document root and in the center of the (last-saved) document view instead of 0,0 as before.
- INX files now have the ability to hold more information. This includes tooltips and descriptions of the extensions. These are all also translatable.
- Thanks to keyboard configurability, it is now possible to assign keyboard shortcuts to those effects you use most often, so you can activate them without going into the menu.
Formats
- Inkscape's PDF export is now native (i.e. does not require any external applications) and supports transparency, including gradients with transparency. This replaced the old export extension that required Ghostscript and worked via Postscript, losing any transparency. The new PDF export is still immature; in particular it does not handle text, so you should check "Convert text to path" on the export options dialog. Other things not yet supported include: gradients on stroke; eccentric elliptic gradients; patterns, masks, and clipping paths; embedded images.
- You can now Save as Compressed Inkscape SVG with media.This save option collects the svg file and all linked images into a zip archive for distribution. Although you cannot open the resulting archive directly with inkscape, the media is linked such that after unzipping you can open the SVG file immediately.
- An output format for desktop cutting plotters, such as the Wishblade and Craftrobo, was added. This format is a very minimalist DXF file with appropriate scaling and translation applied. This output format should not be expected to operate as a generalized DXF output.
- [xfig]
- [odg - ishmal]
- The new XCF output extension exports all top-level elements (i.e. layers and objects directly under root) as PNGs and assembles them into an XCF for procesing in the Gimp. Requires Python, PyXML and Gimp. Gimp 2.2.x or above must be in the path and be named
gimp
. A version of Inkscape 0.44 or above must be accessible from the path. Does not function in Windows.
Configurable keyboard
Inkscape's keyboard shortcuts are now configurable!
At this time, not all Inkscape actions can have their shortcuts customized. However, the majority of actions, including everything you see in the menus, are already configurable, and we're working on making more actions configurable.
On startup, Inkscape reads its keyboard shortcuts from share/keys/default.xml
. That file is a copy of inkscape.xml
in the same directory, which also contains keyboard emulation profiles for other vector editors:
xara.xml
: Xara X/Xara Xtreme/Xara LX keys
You can copy any of these over default.xml to use that profile. In all profiles, those keys which are not used by the corresponding program still have their Inkscape bindings. If you can contribute a profile for some vector editor that we don't yet have, we will appreciate that. The files have a simple XML-based format described in inkscape.xml
.
You can also customize some of your keybindings without overwriting the main default.xml
. If your profile directory (~/.inkscape
on Linux) contains a keys
subdirectory with a default.xml
file, the keybindings from that file will overlay (i.e. add to, and override in case of a conflict) the default bindings. The format of your own default.xml
is the same as that of the main default.xml
.
Miscellaneous shortcuts
- Now you can use Shift+middle button drag, in any tool, to zoom into an area. This works the same as simple drag in Zoom tool, but is faster because it does not require switching away from your current tool. Together with middle button drag (panning), middle button click (zoom in) and Shift+middle button click (zoom out), this completes the set of canvas navigation shortcuts available in any tool or context.
- In Gradient tool, Shift+R reverses the gradient definition (i.e. mirrors the stop positions) without moving the gradient handles. For example, an elliptic gradient with blue center and red periphery becomes red in the center and blue in the periphery. This works on the gradient(s) of the currently selected gradient handle or, if no handle is selected, on all selected objects' gradients. (Compare with the Node tool where Shift+R reverses the direction of the selected path.) This is especially convenient for elliptic gradients which, unlike linear, you cannot simply rotate by 180 degrees for the same result.
- In Selector, Ctrl+Enter enters the selected group (making it a temporary layer). Ctrl+Backspace leaves the current layer and goes one layer up in the hierarchy (but not to root).
Miscellaneous improvements
- Document templates (listed in File > New) are now first searched in the
templates
subdirectory of the user's profile directory (on Linux it's~/.inkscape/templates
), then in the system-wide Inkscape templates directory. This allows you to add your own templates on top of the list of standard templates, as well as override the default template with your own one (thedefault.svg
in the profile directory has priority over the system-wide one).
- Converting stroke to path now correctly processes dashed strokes. For paths with markers, this command now creates a group containing the stroke converted to path and all its markers as independent objects (i.e. they are not markers anymore, but instead you can easily transform them or paint them any color, as a workaround for the "markers don't take the color of the stroke" bug).
- When toggling one of the "transform with object" buttons (for stroke width, rounded rectangle corners, gradients, or patterns), a message is displayed in the statusbar explaining what has changed in the program's behavior. Hopefully this will reduce the number of complaints from users who had accidentally toggled one of these and were surprised by the result.
- Whole thousands above 2000 in the rulers are now displayed as 2k, 3k, 4k etc.
- In the Document Preferences dialog, the new object style for each tool is now shown as a style swatch (displaying fill/stroke colors and opacity, stroke width, and master opacity), similar in design to the selected style indicator in the statusbar.
- In the Grid Arrange dialog, row/column spacing can now be negative.
- The installation default is now to scale the rounded rectangle corners with the rectangles themselves (the previous default mode, still available as an option, was to keep rounding radii unchanged when scaling rectangles).
- Added a new
--export-area-canvas
command line parameter that causes the exported PNG to contain the full canvas. This option as well as--export-area-drawing
and--export-area
can now be used along with--export-id
and--export-id-only
for greater flexibility.
- The
--query-*
command line parameters now return the true SVG bounding box of the object instead of the Inkscape coordinate system bbox (with inverted Y axis). The new behavior makes more sense for scripting use of Inkscape.
- The dpi value in the Export dialog has had its range extended; now possible values are from 0.01 to 100000.
- Individual <tspan>s within text objects (including line tspans) can now be selected via the XML editor to view their bounding boxes (though per SVG, you cannot transform them). Also, you can use the
--query-*
command line parameters to find out the bounding boxes of tspans from a script. (Individual strings within or between tspans are still not selectable, and they cannot have an ID for querying anyway.)
- The placeholder image which is shown when a bitmap file was no longer accessible reads now "Linked image not found" instead of the confusing "Broken image".
- Cloning multiple selected objects now works as expected (i.e. each selected object is cloned separately, similar to the Duplicate command). Previously you could only clone a single selected object.
- The separate "license" and "contributors" dialogs have been merged into tabs on the About dialog. The about dialog now correctly sizes itself to fit the size of the splash SVG (while remaining resizable), and the rendering area is now cropped to the correct aspect ratio when the dialog is resized. The dialog also now displays the build information in the upper right corner.
- [new cursors - scislac]
- In the Transform dialog / Rotate tab, the icon was flipped horizontally to be in line with the direction of positive rotation; the change was applied to the default (now crispy) and legacy icon sets.
- The scale ratio lock button on the Selector controls bar shows a closed lock when pressed and open lock otherwise (same as the layer lock in the statusbar).
- The Browse button on Export dialog now opens the new file chooser, same as those used by Open and Save.
- A new RazorWire path marker was added. By applying it as a mid-marker you can get a good approximation of a razor wire.
Miscellaneous bugfixes
- Reading a document with an incorrect namespace URI not only did not cause Inkscape to complain, but could also "pollute" Inkscape's internal namespace table, resulting in an "infection" of subsequently saved documents by the incorrect namespace. This is now fixed, but as a result, documents with incorrect namespace URIs will no longer load. You will have to edit them in a text editor to fix the namespaces.
- With newer versions of GTK, dragging with graphics tablet pen did not work in some tools and contexts (in particular, in Node and Rectangle tools). This is fixed.
- Scaling of objects with stroke in Selector used to cause undesired shifts of the scaled object, as well as scaling it in the dimension which was intended to remain untouched (e.g. slight change in width when you scale only height). All these problems are now fixed, both for interactive scaling by mouse and for numeric scaling via the Controls bar, and for both values of the "Scale stroke with objects" option. Among other things, this means that stroked objects no longer lose snapping on scale, and that the "Default scale origin" option in the Selector tool preferences finally works as designed. Caveat: There may still be problems if you scale a selection that contains objects with different stroke widths.
- Scaling of stroke now works for objects that didn't specify stroke-width; before, they always ended up with the default 1px stroke.
- The bounding box for text and flowed text objects did not include stroke width. This has been fixed.
- Stroke miterlimit on text objects was misinterpreted in absolute units instead of multiplies of stroke width (resulting in miter joins rendered as bevel).
- The unfinished path in Pen tool is now cancelled, not finalized, when you switch away from the Pen tool. Apart from being more intuitively correct, this also fixes a crash when you quit Inkscape with the unfinished path in Pen tool.
- Fonts on Win32 now use the native font mapper, meaning that Inkscape's font list is the same as other Windows programs, and the (potentially) very long delay experienced when using fonts for the first time in each session is gone.
- Setting dash pattern was broken for transformed objects, and copy/paste of style with dash pattern did not apply correctly to objects with transforms.
- An error caused a complete extra screen redraw after each zoom operation. That is, after you press "+" in a complex drawing, Inkscape redraws, but for some time after that it remains still unresponsive because it does that second redraw (invisibly for you, i.e. nothing changes on the screen). This is fixed.
- Gradient rendering was off by one pixel, which often resulted in visibly wrong gradient rendering for small objects or in zoom-out.
- The SVG path parser could not handle fractional numbers with the initial dot.
- Several pattern rendering bugs are fixed, discovered by working with SVG files exported from Adobe Illustrator.
- Inkscape on Mac OS X will now notice fonts in your ~/Library/Fonts directory, in addition to the other standard places.
- Inkscape couldn't be compiled with libxml versions <= 2.6.9, and we now bumped the requirements from 2.6.0 up to libxml >= 2.6.11, which is the earliest you can get officially, anyway.
- Inkscape no longer crashes when presented with a defective inx file for extensions.
- More document memory is now freed when documents are closed.
- EPS output now correctly includes an %%EOF footer.
- There was a regression in 0.43 that caused several minor, though annoying bugs; knots and handles remained highlighted after the mouse was released, and the rubberband selection rectangle stayed visible if the selection was ended over a node while in the node tool. This regression has been fixed.
- The connector routing code would previously sometimes confuse objects between multiple documents resulting in strange routing behaviour. This has been fixed.
- There existed a bug in 0.43's Inkboard code that allowed a malicious outsider to very easily disrupt an Inkboard session. This has been fixed.
- There existed a bug in 0.43's Inkboard code that would cause deadlocks in the case that two users attempted to invite each other at the same time (see bug #1352522 for further details). This should be fixed, although the fix has not been widely tested.
- There existed a bug in 0.43's Inkboard code that would cause session invitations to not appear on the invitee's screen. This was the result of a mistake in handling GDK modifier flags, and has been fixed.
Translations
- INX files (containing the UI of the external effects) now allow the user visible strings to be translated. This means that effect dialogs, file type selections, and extension names can all be translated by translators.
Internal
- The Document Properties Dialog code was completely gtkmmified, which lead to dramatic reduction of code size due to usage of widget objects. The used widget objects should be reusable by other dialogs, too, and the code is much more readable.
- Work on optimizing includes in all cpp files started, using the purgeincludes tool specifically written for that purpose, and ended with 40% of include lines removed!
Known problems
Problems with libgc-6.7
- Inkscape will hang or even crash when linked with this (newest) version of the Boehm garbage collection library. Make sure you use libgc-6.5 or 6.6 until this is sorted out.
Namespaces may need fixing
- Previous versions of inkscape sometimes silently saved documents with wrong namespace URIs. This has been fixed, but such corrupted documents will no longer load successfully. Such documents may require their namespace declarations to be fixed by hand.
Beware of defective themes on Linux
- Inkscape and other Gtk programs can crash on any Linux, when the gtk2-engines-smooth / libsmooth package is installed. We have filed a bug against libsmooth which is now in gtk-engine and part of gnome. Removing the package resolves the problem, however, but it would be nice if you as affected user would inform the gtk-engines maintainers of the problem. See especially http://bugzilla.gnome.org/show_bug.cgi?id=312115 (thanks to Thomas Wood)
- A similar crash happens if the KDE Baghira theme or the package gtk_qt_engine are installed. If you experience Inkscape crashes on KDE, please try to install a different theme from Baghira, or uninstall the gtk_qt_engine package from your system. Both problems also affect older versions of Inkscape.
- If you were using certain CVS/SVN builds from autumn of 2005, you may have the file
menus.xml
hanging around in your profile directory (e.g.~/.inkscape
on Linux). In that case you will see many errors about verbs that cannot be found, and some commands in menus will be disabled. Make sure to deletemenus.xml
to fix this.
Previous releases
- ReleaseNotes043 (http://wiki.inkscape.org/wiki/index.php/ReleaseNotes043)
- ReleaseNotes042 (http://wiki.inkscape.org/wiki/index.php/ReleaseNotes042)
- ReleaseNotes041 (http://wiki.inkscape.org/wiki/index.php/ReleaseNotes041)
- ReleaseNotes040 (http://wiki.inkscape.org/wiki/index.php/ReleaseNotes040)
- ReleaseNotes039 (http://wiki.inkscape.org/wiki/index.php/ReleaseNotes039)
- ReleaseNotes038 (http://wiki.inkscape.org/wiki/index.php/ReleaseNotes038)
- ReleaseNotes037 (http://wiki.inkscape.org/wiki/index.php/ReleaseNotes037)
- ReleaseNotes036 (http://wiki.inkscape.org/wiki/index.php/ReleaseNotes036)
- ReleaseNotes035 (http://wiki.inkscape.org/wiki/index.php/ReleaseNotes035)