Inkscape

Inkscape is a  editor application. Its stated goal is to become a powerful graphic tool while being fully compliant with the, and  standards.

Inkscape is primarily developed for, but it is and runs on ,  (under ), and other  operating systems. , Inkscape is under active development, with new features being added regularly. Inkscape's implementation of SVG and CSS standards is incomplete; most notably, it does not support s (with some exceptions, see below),, and SVG fonts. However, complete support for all three is on the roadmap.

Inkscape has multi-lingual support particularly for, something currently lacking in most commercial vector graphics applications.

History
Inkscape began in as a  of the  project. Sodipodi, developed since, was itself based on , the work of.

The interface of (Inkscape's predecessor) was partly based on those of  and. The current Inkscape interface has been partially influenced by that of.

The fork was led by a team of four former Sodipodi developers (, Bryce Harrington,, and MenTaLguY) who identified differences over project objectives, openness to third-party contributions, and technical disagreements as their reasons for forking. Inkscape, they claimed, would seek to focus development on implementing the complete SVG standard, whereas Sodipodi development had emphasized creating a general-purpose vector graphics editor, possibly at the expense of SVG.

Since the fork, Inkscape has, among other things, changed from using the to ; changed to the  toolkit C++ bindings ; redesigned the  and added a number of new features. Its implementation of the SVG standard has shown gradual improvement, but is still incomplete.

Rather than top-down governance, its developers claim to encourage an culture where authority stems from an individual developer's abilities and active involvement in the project. As a result, the project places special emphasis on giving full access to its source code repository to all active developers, and on participation in the larger (often in the form of inter-project initiatives and spinoff projects like the ). While the project founders are still well-represented in the decision-making process, many newcomers have also come to play prominent roles. Among them is "bulia byak", architect of the radical user interface changes that have given Inkscape its present appearance.

After announced plans to open source their own drawing application, they expressed interest in working closely with Inkscape to find ways the two projects can share code, coordinate efforts, and make open source graphics superior to anything available in the proprietary world.

Inkscape is currently a project.

Object creation

 * Drawing:
 * Pencil tool (freehand drawing with stroked paths)
 * Pen tool (creating paths with s and straight lines)
 * Calligraphy tool (freehand drawing with calligraphic strokes, pressure/angle support)
 * Shape tools:
 * Rectangles (optionally with rounded corners)
 * Ellipses (optionally circles, arcs, segments)
 * Stars/polygons (optionally rounded or randomized)
 * Spirals
 * Text tool (regular, multiline or flowed text)
 * Linked images, either imported or rasterized from selected objects (a separate utility for embedding linked images comes with the program)
 * Clones ("live" linked copies of objects). Other programs refer to similar functionality as "symbols".

Object manipulation

 * s (moving, scaling, rotating, skewing), both interactively and by specifying numeric values
 * Grouping objects, with a way to "select in group" without ungrouping, or "enter the group" making it a temporary layer
 * Layers, with a way to lock and/or hide individual layers, rearrange them, etc; layers can form a hierarchical tree
 * Copying and pasting objects
 * Alignment and distribution commands, including grid arrange, randomization, unclumping
 * A tool to create patterns of clones, using plus arbitrary scales, shifts, rotates, and color changes, optionally randomized
 * Grid and guide snapping
 * Grid and guide snapping

Styling objects

 * Color selector (,, , color wheel), color palette, picker ("dropper") tool
 * Fill opacity, stroke opacity, master opacity, gradient stop opacity
 * s: linear and elliptic, may have multiple stops; can be edited on canvas with draggable and mergeable handles
 * Pattern fills made from any objects
 * 7 filter effects
 * feGaussianBlur -
 * feImage - used for using an external raster image
 * feBlend - used for object blending other than via alpha (development version only)
 * feComposite - used for altering one object, via another (development version only)
 * feConvolveMatrix - (development version only)
 * feOffset - used to offset the output relative to the input (development version only)
 * The development version also supports the rendering of some other filters (but does not support editing them through the UI) (e.g. Diffuse lighting)
 * Masks and clipping paths
 * Dashed strokes, with predefined dash patterns
 * Path markers (e.g. arrowheads)
 * Ability to copy/paste style between objects

The developmental version at least partially supports all filters, except feFlood and feTile.

Operations on paths

 * Node editing: moving nodes and handles, node alignment and distribution, scaling and rotating node groups, "node sculpting" (proportional editing of multiple nodes)
 * Converting to path (for text objects or shapes), including converting stroke to path
 * (union, intersection, difference, exclusion, division)
 * Path simplification, with variable threshold
 * Path insetting and outsetting, including dynamic and linked offset objects
 * s (non-destructive clipping)
 * Bitmap tracing (both color and b/w)
 * Pattern along path: a general pattern object (such as a text or a path) can be bended, repeated and/or stretched on a reference path

Text support

 * Multi-line text (SVG 1.0/1.1 &lt;text&gt;)
 * Flowed text in frame(s) (, formerly proposed for SVG 1.2)
 * Full on-canvas editability, including styled text spans
 * Uses any s installed on the system
 * Can use any scripts and languages supported by the library including  (e.g. Hebrew, Arabic, Thai, Tibetan etc.)
 * ,, linespacing adjustments
 * Text on path (both text and path remain editable)

Rendering

 * 256x (25600%) maximum zoom
 * Fully anti-aliased display
 * Alpha transparency support for display and PNG export
 * Outline (wireframe) mode
 * Complete "as you drag" rendering of objects during interactive transformations

Miscellaneous

 * Connector tool for diagrams
 * automatic routing of connectors to avoid intersections with objects
 * automatic functionality to automatically arrange networks of objects and connectors
 * over a network
 * Live watching and editing the document tree in the XML editor
 * export
 * and export (with limitations, e.g. pattern fills are not exported as of version 0.45)
 * Command line options for export, conversions, and analysis of SVG files
 * metadata (authorship, date, license, etc.)
 * support
 * User interface is translated in more than 40 languages

Interface and usability
One of the priorities of the Inkscape project is interface consistency and. This includes efforts to follow the, universal keyboard accessibility, and convenient on-canvas editing. Inkscape has achieved significant progress in usability since the project started.

The number of floating dialog boxes has been reduced, with their functions available using keyboard shortcuts or in the docked toolbars in the editing window. The tool controls bar at the top of the window always displays the controls relevant to the current tool.

All transformations (not only moving but also scaling and rotating) have keyboard shortcuts with consistent modifiers (e.g. Alt transforms by 1 screen pixel at the current zoom, Shift multiplies the transformation by 10, etc.); these keys work on nodes in Node tool as well as on objects in Selector. The most common operations (such as transformations, zooming, z-order) have convenient one-key shortcuts.

Inkscape provides floating tooltips and status bar hints for all buttons, controls, commands, keys, and on-canvas handles. It comes with a complete keyboard and mouse reference (in HTML and SVG) and several interactive tutorials in SVG.

The interface of (Inkscape's predecessor) was partly based on those of  and. The current Inkscape interface has been partially influenced by that of.

Versions

 * Version 0.45.1 (March 23, 2007) was a bugfix release.
 * Version 0.45 (February 5, 2007) has support for, pattern along path and many other minor modifications to existing features.
 * Version 0.44.1 was a bugfix release.
 * Version 0.44 (June 24, 2006) added a Layers dialog, support for clipping and masking, improved PDF export with transparency, and performance improvements.
 * Version 0.43 (November 19, 2005) added Connector tool, collaborative editing, tablet pressure/angle sensitivity, and Node tool enhancements.
 * Version 0.42 (July 26, 2005) added flowed text support, styling text spans, enhanced effects support, and the new gradient tool.
 * Version 0.41 (February 10, 2005) added the clone tiler tool and color tracing, plus many bugfixes.
 * Version 0.40 added support for layers, bitmap tracing, and text on path.
 * Version 0.39 was the first release to use the Pango library, bringing better support for more languages, as well as support for markers, clones, and pattern fills.
 * Version 0.38 was a release, but it also featured text kerning and letterspacing, multistage gradients, and many usability enhancements.
 * Version 0.37 saw the addition of boolean path operations and path inset/outset.
 * Version 0.36 was the first release with the reorganized UI using a menu bar and docked context-sensitive toolbars in the document window.
 * Version 0.35 was released on, and was the first release of Inkscape, very similar to Sodipodi version 0.32.