Inkscape

From Wikipedia, the free encyclopedia
Jump to navigation Jump to search
Inkscape
Inkscape Logo.svg
Inkscape 1.0 on Fedora 32
Inkscape 1.0 on Fedora 32
Initial releaseNovember 2, 2003; 16 years ago (2003-11-02)
Stable release1.0.1[1] (September 6, 2020; 48 days ago (2020-09-06)) [±]
Repository Edit this at Wikidata
Written inC++ with gtkmm, Python (extensions)
Operating systemFreeBSD
Linux
macOS
Windows
PlatformIA-32 and x64
Size81.6 MB
Available in90 languages[2]
TypeVector graphics editor
LicenseGPLv3+[3]
Websiteinkscape.org

Inkscape is a free and open-source vector graphics editor used to create vector images, primarily in Scalable Vector Graphics (SVG) format. Other formats can be imported and exported.[4]

Inkscape can render primitive vector shapes (e.g. rectangles, ellipses, polygons, arcs, spirals, stars and 3D boxes) and text. These objects may be filled with solid colors, patterns, radial or linear color gradients and their borders may be stroked, both with adjustable transparency. Embedding and optional tracing of raster graphics is also supported, enabling the editor to create vector graphics from photos and other raster sources. Created shapes can be further manipulated with transformations, such as moving, rotating, scaling and skewing.

History[edit]

Inkscape began in 2003 as a code fork of the Sodipodi project.[5] Sodipodi, developed since 1999, was itself based on Raph Levien's Gill (GNOME Illustration Application).[6] One of the main priorities of the Inkscape project was interface consistency and usability by following the GNOME human interface guidelines.[5]

Inkscape FAQ interprets the word Inkscape as a compound of ink and -scape.[7][8]

Four former Sodipodi developers (Ted Gould, Bryce Harrington, Nathan Hurst, and MenTaLguY) led the fork, citing differences over project objectives, openness to third-party contributions, and technical disagreements. They said that Inkscape would focus development on implementing the complete SVG standard, whereas Sodipodi development emphasized developing a general-purpose vector graphics editor, possibly at the expense of SVG.[9]

Following the fork, Inkscape's developers changed the programming language from C to C++; adopted the GTK (formerly GIMP Toolkit) toolkit C++ bindings (gtkmm); redesigned its user interface, and added a number of new features.[10] Inkscape's implementation of the SVG standard, although incomplete, has shown gradual improvement.[11]

Since 2005, Inkscape has participated in the Google Summer of Code program.[12]

Up until the end of November 2007, Inkscape's source code repository was hosted by SourceForge. Thereafter it moved to Launchpad.[13] In June 2017, it moved to GitLab.[14]

Features[edit]

Object creation[edit]

Inkscape 0.48.2, showing a rectangle (selected with the select tool), an ellipse, a star and two text objects

Inkscape workflow is based around vector objects. Tools allow manipulating primitive vector shapes: simple ones like rectangles, ellipses and arcs, as well as more complex objects like 3D boxes with adjustable perspectives, stars, polygons and spirals. Rendering feature that can create objects like barcodes, calendars, grids, gears and roulette curves (using the spirograph tool). These objects may be filled with solid colors, patterns, radial or linear color gradients and their borders may be stroked, both with adjustable transparency. All of those can be further edited by transformations—such as moving, rotating, scaling and skewing—or by editing paths.

Other tools allow creating Bézier curves, freehand drawing of lines (pencil), or calligraphic (brush-like) strokes which support a graphics tablet.[15]

Inkscape is able to write and edit text with tools available for changing font, spacing, kerning, rotation, flowing along the path or into a shape. Text can be converted to paths for further editing. The program also has a layers (as well as an objects) feature that allows the user to organize objects in a preferred stacking order in the canvas. Objects can be made visible/invisible and locked/unlocked through these features.

Symbol libraries enable Inkscape to use existing symbols like logic-gate symbols or DOT pictograms. Additional libraries can be included by user.[16]

Inkscape supports image tracing, the process of extracting vector graphics from raster sources.

Clones are child objects of an original parent object. Different transformations can be applied to them, such as: size, position, rotation, blur, opacity, color and symmetry. Clones are updated live whenever the parent object changes.

Object manipulation[edit]

Every object in the drawing can be subjected to arbitrary affine transformations: moving, rotating, scaling, skewing and a configurable matrix[clarification needed]. Transformation parameters can be specified numerically. Transformations can snap to angles, grids, guidelines and nodes of other objects, or be aligned in specified direction, spaced equally, scattered at random.

Objects can be grouped together. Groups of objects behave similarly to objects. Objects in a group can be edited without having to ungroup them first.

The Z-order determines the order in which objects are drawn on the canvas. Objects with a high Z-order are drawn on top of objects lower in the Z-order. Order of objects can be managed either using layers, or by manually moving the object up and down in the Z-order. Layers can be locked or hidden, preventing modifying and accidental selection.

The Create Tiled Clones tool allows symmetrical or grid-like drawings using various plane symmetries.

Appearance of objects can be further changed by using masks and clipping paths, which can be created from arbitrary objects, including groups.

The style attributes are 'attached' to the source object, so after cutting/copying an object onto the clipboard, the style's attributes can be pasted to another object.

Operations on paths[edit]

Inkscape has a comprehensive tool set to edit paths (as they are the basic element of a vector file):

  • Edit Path by Node tool: allows for the editing of single or multiple paths and or their associated node(s). There are four types of path nodes; Cusp (corner), Smooth, Symmetric and Auto-Smooth. Editing is available for the positioning of nodes and their associated handles (angle and length) for Linear and Bézier paths or Spiro curves. A path segment can also be adjusted by dragging (left click + hold). When multiple nodes are selected, they can be moved, scaled and rotated using keyboard shortcut or mouse controls.[17] Additional nodes can be inserted into paths at arbitrary or even placements, and an effect can be used to insert nodes at predefined intervals. When nodes are deleted, the handles on remaining ones are adjusted to preserve the original shape as closely as possible.
  • Tweak tool (sculpting/painting): provides whole object(s) or node editing regions (parts) of an object. It can push, repel/attract, randomize positioning, shrink/enlarge, rotate, copy/delete selected whole objects. With parts of a path you can push, shrink/enlarge, repel/attract, roughen edges, blur and color. Nodes are dynamically created and deleted when needed while using this tool, so it can also be used on simple paths without pre-processing.
  • Path-Offsets; Outset, Inset, Linked or Dynamic: can create a Linked or Dynamic (unlinked) Inset and or an Outset of an existing path which can then be fine tuned using the given Shape or Node tool. Creating a Linked Offset of a path will update whenever the original is modified. Making symmetrical (i.e., picture frame) graphics easier to edit.
  • Path-Conversion; Object to Path: conversions of Objects; Shapes (square, circle, etc.) or Text into paths.
  • Path-Conversion; Stroke to Path: conversions of the Stroke of a shape to a path.
  • Path-Simplify: a given path's node count will reduce while preserving the shape.
  • Path-Operations (boolean operations): use of multiple objects to Union, Difference, Intersection, Exclusion, Division and Cut Path.

Inkscape includes a feature called Live Path Effects (LPE), which can apply various modifiers to a path. Envelope Deformation is available via the Path Effects and provides a perspective effect. There are more than a dozen of these live path effects. LPE can be stacked onto a single object and have interactive live on canvas and menu-based editing of the effects.

File formats[edit]

Inkscape's primary format is SVG 1.1, meaning that it can create and edit with the abilities and within the constraints of this format. Any other format must either be imported (converted to SVG) or exported (converted from SVG). The SVG format is using the Cascading Style Sheets (CSS) standard internally. Inkscape's implementation of SVG and CSS standards is incomplete. Most notably, it does not support animation natively.[18] Inkscape has multilingual support, particularly for complex scripts. Formats that used the UniConvertor library are not supported in the upcoming 1.0 release. A workaround is to have a parallel installation of version 0.92.x.[19]

Inkscape file format support
Format Name Import Export
Adobe Illustrator Artwork (AI) native
CorelDRAW (CDR) native
Microsoft Visio Drawing (VSD) native
Portable Document Format (PDF) native native
compressed SVG (SVGZ) native
JPEG native
PNG native
GIF native
BMP native
Computer Graphics Metafile (CGM) with UniConvertor
Encapsulated Postscript (EPS) with Ghostscript native
PostScript (PS) with Ghostscript native
SK1 with UniConvertor
sketch with extension
Xfig (FIG) with extension
Flash XML Graphics (FXG) native
Hewlett-Packard Graphics Language (HPGL) native
HTML5 canvas element native
LaTeX (TeX) native
Synfig (SIF) native
Extensible Application Markup Language (XAML) native

Other features[edit]

  • XML Editor for direct manipulation of the SVG XML structure
  • Editing of Resource Description Framework (RDF), a World Wide Web Consortium (W3C) metadata information model
  • Command-line interface, exposes format conversion functions and full-featured GUI scripting
  • More than sixty interface languages
  • Extensible to new file formats, effects and other features
  • Mathematical diagramming, with various uses of LaTeX[20]
  • Experimental support for scripting
  • lib2Geom is now also external usable. 2Geom is a computational geometry library, originally developed for Inkscape. While developed for Inkscape it is a library that can be used from any application. It provides support for basic geometric algebra, paths, distortions, boolean operations, plotting implicit functions, non-uniform rational B-spline (NURBS) and more. 2Geom is free software released under LGPL 2.1 or MPL 1.1.[21][22]

Platform support[edit]

The latest version of Inkscape is available for Linux, Windows, and macOS platforms.[23] Inkscape is packaged by all major Linux distributions (including Debian, Ubuntu, Fedora, OpenSUSE) with GTK+ 2.20+.[citation needed]

As of 2017, Wacom tablet support for GTK 3 is in a reviving project.[24][needs update]

Release history[edit]

Version Release date Notable Features
Old version, no longer maintained: 0.35 November 11, 2003 Initial release of Inkscape based on Sodipodi 0.32, new keyboard shortcuts[25]
Old version, no longer maintained: 0.36 December 11, 2003 GUI redesign and improved usability[26]
Old version, no longer maintained: 0.37 February 16, 2004[27] Boolean path operations and path inset/outset, major code refactoring[28]
Old version, no longer maintained: 0.38 April 12, 2004[29] Text kerning and letter spacing, multi-stage gradients[30]
Old version, no longer maintained: 0.39 July 20, 2004[31] Markers, clones, and pattern fills[32]
Old version, no longer maintained: 0.40 November 30, 2004[33] Multi-layer support, bitmap tracing (only greyscale), and text on path[34]
Old version, no longer maintained: 0.41 February 10, 2005 Clone tiler tool and color bitmap tracing[35]
Old version, no longer maintained: 0.42 July 26, 2005 Flowing text support, styling text spans, enhanced effects support, and the new gradient tool[36]
Old version, no longer maintained: 0.43 November 19, 2005 Connector tool, collaborative editing, tablet pressure/angle sensitivity[37]
Old version, no longer maintained: 0.44 June 24, 2006 Layers panel, support for clipping and masking, PDF export with transparency[38]
Old version, no longer maintained: 0.45 February 5, 2007 Gaussian blur, pattern along path, new Undo History panel, improved bitmap tracing using simple interactive object extraction, color effects[39]
Old version, no longer maintained: 0.46 March 24, 2008 Docking user interface, Paint Bucket, Tweak and 3D Box tools, Live Path Effects, support for most SVG filters, the ability to open PDF files, import from the Open Clip Art Library, and OpenType/PostScript and Type1 font support[40]
Old version, no longer maintained: 0.47 November 24, 2009 Eraser tool (can slice paths), timed autosave, spiro splines interface for paths, auto-smooth nodes for paths, spellchecker for the text tool, new path effects like "sketch" and "hatches", new Python extensions like "alphabet soup" and "convert to Braille", basic support for SVG fonts[41]
Old version, no longer maintained: 0.48
0.48.5
August 23, 2010;
July 2014
Multipath node editing, improved text tool: subscript, superscript, numerical and preset inputs for text kerning, tracking and more text enhancements, new Airbrush (Spray) tool, LaTeX export with PDF / PS / EPS, JessyInk extension for creating presentations viewable in SVG-enabled web browsers[42][43][44][45][46][47]
Old version, no longer maintained: 0.91 January 30, 2015[48] Switched from libnr to Cairo rendering library, which brought a significant rendering speed improvement.[49]Refactoring; Measure tool, new import/export formats, grayscale mode, alignment modes, Symbol library and support for Visio stencils, Guides can have labels, variable width strokes (PowerStroke).[50][51]
Old version, no longer maintained: 0.92 January 4, 2017[52] Infrastructure Focus; Mesh gradients are now supported, several new path effects, default resolution changed from 90 dpi to 96 dpi to match the CSS standard.[53]
Old version, no longer maintained: 0.92.1 February 7, 2017 Several bug fixes[54]
Old version, no longer maintained: 0.92.2 August 7, 2017 Several bug fixes and batch converter 90 to 96 dpi[55][56]
Old version, no longer maintained: 0.92.3 March 11, 2018 Snap package ready for Linux, Windows 32-bit and 64-bit and Windows 10 App ready, macOS release not ready yet, several bug fixes[57][58]
Old version, no longer maintained: 0.92.4 January 17, 2019 Increased stability, bug fixes[59][60]
Older version, yet still maintained: 0.92.5 April 9, 2020 Increased stability, bug fixes, extensions compatible to Python 2 and 3[61][62]
Old version, no longer maintained: 1.0alpha January 17, 2019 Maintenance and optimization focus, see new roadmap with version 0.92 to 1.2,[63] GTK+ 3 Transition, Python 2 to 3[64][65][66][67][68][69]
Old version, no longer maintained: 1.0beta1 2019-09-08 Test case and documentation focus, MacOS Version Certified, Improved HiDpi and more[70]
Old version, no longer maintained: 1.0beta2 2019-12-03 Bug fixes, MacOS 10.10-10.15 Catalina Supported[71]
Old version, no longer maintained: 1.0rc1 2020-04-09 Bug fixes
Current stable version: 1.0 2020-05-04[72] Stabilization focus
Legend:
Old version
Older version, still maintained
Latest version
Latest preview version
Future release

Gallery[edit]

See also[edit]

References[edit]

  1. ^ "Inkscape version 1.0.1 patches crashes & bugs". The Inkscape Project. 2020-09-06. Retrieved 2020-09-07.
  2. ^ "List of language files at time of release of version 0.92.3 - gitlab.com repository". Inkscape. 2018-03-08. Retrieved 2018-03-28.
  3. ^ "COPYING in Inkscape source". Retrieved 15 October 2018.
  4. ^ "Inkscape Features". Inkscape.org. Retrieved 13 January 2020.
  5. ^ a b "FAQ | Inkscape". inkscape.org. Retrieved 2020-05-05. How did Inkscape start? […] Inkscape was started as a fork of Sodipodi, in late 2003, by four Sodipodi developers: Bryce Harrington, MenTaLguY, Nathan Hurst, and Ted Gould. Our mission was creating a fully compliant Scalable Vector Graphics (SVG) drawing tool written in C++ with a new, more user friendly (GNOME Human Interface Guidelines (HIG) compliant) interface and an open, community-oriented development process.
  6. ^ "Linux.com Interviews Lauris Kaplinski". Linux.com. 2001-09-24. Retrieved 2015-12-09.
  7. ^ "FAQ". Inkscape Project. Retrieved 2016-02-10. What does 'Inkscape' mean? [...] The name is made up of the two English words 'ink' and 'scape'. Ink is a common substance for drawings, and is used when the sketched work is ready to be permanently committed to paper, and thus evokes the idea that Inkscape is ready for production work. A scape is a view of a large number of objects, such as a landscape or ocean-scape, and thus alludes to the object-oriented nature of vector imagery.
  8. ^ Compare -scape
  9. ^ "Announcing new project (sodipodi mailing list)". 2003-11-06. Retrieved 2015-12-09.
  10. ^ "Inkscape Sodipodi Comparison". Retrieved 2015-12-09.
  11. ^ "Frequently asked questions - Inkscape Wiki". Wiki.inkscape.org. 2012-07-29. Retrieved 2012-11-09.
  12. ^ "Google's Summer of Code". Inkscape wiki. Archived from the original on 2007-07-04.
  13. ^ "Inkscape moving to Launchpad".
  14. ^ "Inkscape moves to GitLab".
  15. ^ "Inkscape tutorial: Calligraphy". inkscape.org. Retrieved 2019-12-26.
  16. ^ "SymbolsDialog - Inkscape Wiki". wiki.inkscape.org. Retrieved 3 July 2016.
  17. ^ "Inkscape Keyboard Layout". openclipart.org. creative commons. Retrieved 3 May 2016.
  18. ^ "Animation". Inkscape. Retrieved 18 June 2017.
  19. ^ https://wiki.inkscape.org/wiki/index.php/Release_notes/1.0#Dropped_Extensions
  20. ^ "Extension repository". Inkscape Wiki. Retrieved 2009-10-22.
  21. ^ https://github.com/inkscape/lib2geom
  22. ^ https://inkscape.org/news/2018/11/11/graphics-math-library-2geoms-first-release-availab/
  23. ^ "All Platforms for Inkscape 1.0". inkscape.org. Retrieved 2020-05-06.
  24. ^ "Linux Tablet Driver Project Revived | Inkscape".
  25. ^ Harrington, Bryce (2003-11-11). "[Inkscape] Inkscape Release 0.35". inkscape-announce (Mailing list). Retrieved 2020-01-05.
  26. ^ Gould, Ted (2003-12-11). "[Inkscape] Inkscape 0.36 - "See, even a 5 year old can use it."". inkscape-announce (Mailing list). Retrieved 2020-01-09.
  27. ^ Harrington, Bryce (2004-02-16). "[Inkscape] Announcing Inkscape 0.37 Release". inkscape-announce (Mailing list). Retrieved 2020-01-09.
  28. ^ "Download Inkscape 0.37 | Inkscape".
  29. ^ Harrington, Bryce (2004-04-12). "[Inkscape] Announcing Inkscape 0.38 Release". inkscape-announce (Mailing list). Retrieved 2020-01-09.
  30. ^ "Download Inkscape 0.38.1 | Inkscape".
  31. ^ Gould, Ted (2004-07-20). "[Inkscape] Inkscape 0.39". inkscape-announce (Mailing list). Retrieved 2020-01-09.
  32. ^ "Download Inkscape 0.39 | Inkscape".
  33. ^ Harrington, Bryce (2004-11-30). "[Inkscape] Announcing Inkscape 0.40 Release". inkscape-announce (Mailing list). Retrieved 2020-01-09.
  34. ^ "Download Inkscape 0.40 | Inkscape".
  35. ^ "Download Inkscape 0.41 | Inkscape".
  36. ^ "Download Inkscape 0.42 | Inkscape".
  37. ^ "Download Inkscape 0.43 | Inkscape".
  38. ^ "Download Inkscape 0.44.1 | Inkscape".
  39. ^ "Download Inkscape 0.45.1 | Inkscape".
  40. ^ "Download Inkscape 0.46 | Inkscape".
  41. ^ "Download Inkscape 0.47 | Inkscape".
  42. ^ "Download Inkscape 0.48 | Inkscape".
  43. ^ "Download Inkscape 0.48.1 | Inkscape".
  44. ^ "Download Inkscape 0.48.2 | Inkscape".
  45. ^ "Download Inkscape 0.48.3.1 | Inkscape".
  46. ^ "Download Inkscape 0.48.4 | Inkscape".
  47. ^ "Download Inkscape 0.48.5 | Inkscape".
  48. ^ "Inkscape Version 0.91 is Released!". inkscape.org.
  49. ^ "Release notes/0.91". Inkscape Wiki. Retrieved 2015-08-15.
  50. ^ "Release notes for 0.91". wiki.inkscape.org.
  51. ^ "Download Inkscape 0.91 | Inkscape".
  52. ^ "Inkscape Version 0.92 is Released!". inkscape.org.
  53. ^ "Release notes for 0.92". wiki.inkscape.org.
  54. ^ "Download Inkscape 0.92.1 | Inkscape".
  55. ^ "Inkscape 0.92.2 Delivers Greater Stability and Easier Contributions | Inkscape".
  56. ^ "Download Inkscape 0.92.2 | Inkscape".
  57. ^ Developers, Inkscape Website. "Announcing the 0.92.3 Release of Inkscape - Inkscape". inkscape.org. Retrieved 15 October 2018.
  58. ^ "Download Inkscape 0.92.3 | Inkscape".
  59. ^ "Inkscape launches versions 0.92.4 and 1.0 alpha!". The Inkscape Project. 2019-01-17. Retrieved 2019-01-18.
  60. ^ "Download Inkscape 0.92.4 | Inkscape".
  61. ^ https://inkscape.org/release/inkscape-0.92.x/?latest=1
  62. ^ https://wiki.inkscape.org/wiki/index.php/Release_notes/0.92.5
  63. ^ "Roadmap - Inkscape Wiki".
  64. ^ "Notice of removal of GTK+ 2 support - Inkscape Wiki".
  65. ^ "GTK+ 3 migration - Inkscape Wiki".
  66. ^ "GTK+ 3 issues - Inkscape Wiki"., no uniconverter support with less Import filters
  67. ^ https://inkscape.org/release/inkscape-1.0/?latest=1
  68. ^ https://inkscape.org/release/inkscape-1.0alpha0/
  69. ^ http://wiki.inkscape.org/wiki/index.php/Release_notes/1.0
  70. ^ https://inkscape.org/news/2019/09/08/inkscape-10-beta1-available-testing/
  71. ^ https://inkscape.org/release/inkscape-1.0beta2/
  72. ^ "Introducing Inkscape 1.0". inkscape.org. Retrieved 2020-05-04.

Further reading[edit]

External links[edit]