1INKSCAPE(1) Inkscape Commands Manual INKSCAPE(1)
2
3
4
6 Inkscape - an SVG (Scalable Vector Graphics) editing program.
7
9 "inkscape [options] [filename_1 filename_2 ...]"
10
11 options:
12
13 -?, --help
14 -V, --version
15 --system-data-directory
16 --user-data-directory
17
18 -p, --pipe
19 --pdf-page=PAGE
20 --pdf-poppler
21 --convert-dpi-method=METHOD
22 --no-convert-text-baseline-spacing
23
24 -o, --export-filename=FILENAME
25 --export-overwrite
26 --export-type=TYPE[,TYPE]*
27
28 -C, --export-area-page
29 -D, --export-area-drawing
30 -a, --export-area=x0:y0:x1:y1
31 --export-area-snap
32 -d, --export-dpi=DPI
33 -w, --export-width=WIDTH
34 -h, --export-height=HEIGHT
35 --export-margin=MARGIN
36
37 -i, --export-id=OBJECT-ID[;OBJECT-ID]*
38 -j, --export-id-only
39 -l, --export-plain-svg
40 --export-ps-level=LEVEL
41 --export-pdf-version=VERSION
42 -T, --export-text-to-path
43 --export-latex
44 --export-ignore-filters
45 -t, --export-use-hints
46 -b, --export-background=COLOR
47 -y, --export-background-opacity=VALUE
48
49 -I, --query-id=OBJECT-ID[,OBJECT-ID]*
50 -S, --query-all
51 -X, --query-x
52 -Y, --query-y
53 -W, --query-width
54 -H, --query-height
55
56 --vacuum-defs
57 --select=OBJECT-ID[,OBJECT-ID]*
58 --actions=ACTION(:ARG)[;ACTION(:ARG)]*
59 --action-list
60 --verb=VERB[;VERB]*
61 --verb-list
62
63 -g, --with-gui
64 --batch-process
65 --shell
66
68 Inkscape is a GUI editor for Scalable Vector Graphics (SVG) format
69 drawing files, with capabilities similar to Adobe Illustrator,
70 CorelDraw, Xara Xtreme, etc. Inkscape features include versatile
71 shapes, bezier paths, freehand drawing, multi-line text, text on path,
72 alpha blending, arbitrary affine transforms, gradient and pattern
73 fills, node editing, many export and import formats including PNG and
74 PDF, grouping, layers, live clones, and a lot more. The interface is
75 designed to be comfortable and efficient for skilled users, while
76 remaining conformant to GNOME standards so that users familiar with
77 other GNOME applications can learn its interface rapidly.
78
79 SVG is a W3C standard XML format for 2D vector drawing. It allows
80 defining objects in the drawing using points, paths, and primitive
81 shapes. Colors, fonts, stroke width, and so forth are specified as
82 `style' attributes to these objects. The intent is that since SVG is a
83 standard, and since its files are text/xml, it will be possible to use
84 SVG files in a sizeable number of programs and for a wide range of
85 uses.
86
87 Inkscape uses SVG as its native document format, and has the goal of
88 becoming the most fully compliant drawing program for SVG files
89 available in the Open Source community.
90
92 -?, --help
93 Shows a help message.
94
95 -V, --version
96 Shows the Inkscape version and build date.
97
98 --system-data-directory
99 Prints the system data directory where data files that ship
100 with Inkscape are stored. This includes files which Inkscape
101 requires to run (like unit definitions, built-in key maps,
102 files describing UI layout, icon themes, etc.), core
103 extensions, stock resources (filters, fonts, markers, color
104 palettes, symbols, templates) and documentation (SVG example
105 files, tutorials).
106
107 The location in which Inkscape expects the system data
108 directory can be overridden with the INKSCAPE_DATADIR
109 environment variable.
110
111 --user-data-directory
112 Prints the user profile directory where user-specific data
113 files and preferences are stored. Custom extensions and
114 resources (filters, fonts, markers, color palettes, symbols,
115 templates) should be installed into their respective
116 subdirectories in this directory. In addition placing a file
117 with a name identical to one in the system data directory here
118 allows to override most presets from the system data directory
119 (e.g. default templates, UI files, etc.).
120
121 The default location of the profile directory can be overridden
122 with the INKSCAPE_PROFILE_DIR environment variable.
123
124 -p, --pipe
125 Reads input file from standard input (stdin).
126
127 --pdf-page=PAGE
128 Imports the given page of a pdf file. Numbering starts with 1.
129
130 --pdf-poppler
131 By default Inkscape imports PDF files via an internal (poppler-
132 derived) library. Text is stored as text. Meshes are converted
133 to tiles. Use --pdf-poppler to import via an external (poppler
134 with cairo backend) library instead. Text consists of groups
135 containing cloned glyphs where each glyph is a path. Images
136 are stored internally. Meshes cause entire document to be
137 rendered as a raster image.
138
139 --convert-dpi-method=METHOD
140 Choose method used to rescale legacy (pre-0.92) files which
141 render slightly smaller due to the switch from 90 DPI to 96 DPI
142 when interpreting lengths expressed in units of pixels.
143 Possible values are "none" (no change, document will render at
144 94% of its original size), "scale-viewbox" (document will be
145 rescaled globally, individual lengths will stay untouched) and
146 "scale-document" (each length will be re-scaled individually).
147
148 --no-convert-text-baseline-spacing
149 Do not automatically fix text baselines in legacy (pre-0.92)
150 files on opening. Inkscape 0.92 adopts the CSS standard
151 definition for the 'line-height' property, which differs from
152 past versions. By default, the line height values in files
153 created prior to Inkscape 0.92 will be adjusted on loading to
154 preserve the intended text layout. This command line option
155 will skip that adjustment.
156
157 -o, --export-filename=FILENAME
158 Sets the name of the output file. The default is to re-use the
159 name of the input file. If --export-type is also used, the
160 file extension will be adjusted (or added) as appropriate.
161 Otherwise the file type to export will be inferred from the
162 extension of the specified filename.
163
164 Usage of the special filename "-" makes Inkscape write the
165 image data to standard output (stdout).
166
167 --export-overwrite
168 Overwrites input file.
169
170 --export-type=TYPE[,TYPE]*
171 Specify the file type to export. Possible values: svg, png, ps,
172 eps, pdf, emf, wmf, xaml. It is possible to export more than
173 one file type at a time.
174
175 Note that PostScript does not support transparency, so any
176 transparent objects in the original SVG will be automatically
177 rasterized. Used fonts are subset and embedded. The default
178 export area is page; you can set it to drawing by
179 --export-area-drawing.
180
181 Note that PDF format preserves the transparency in the original
182 SVG.
183
184 -C, --export-area-page
185 In SVG, PNG, PDF, PS exported area is the page. This is the
186 default for SVG, PNG, PDF, and PS, so you don't need to specify
187 this unless you are using --export-id to export a specific
188 object. For EPS this option is currently not supported.
189
190 -D, --export-area-drawing
191 In SVG, PNG, PDF, PS, and EPS export, exported area is the
192 drawing (not page), i.e. the bounding box of all objects of the
193 document (or of the exported object if --export-id is used).
194 With this option, the exported image will display all the
195 visible objects of the document without margins or cropping.
196 This is the default export area for EPS. For PNG, it can be
197 used in combination with --export-use-hints.
198
199 -a x0:y0:x1:y1, --export-area=x0:y0:x1:y1
200 In PNG export, set the exported area in SVG user units
201 (anonymous length units normally used in Inkscape SVG). The
202 default is to export the entire document page. The point (0,0)
203 is the lower-left corner.
204
205 --export-area-snap
206 For PNG export, snap the export area outwards to the nearest
207 integer SVG user unit (px) values. If you are using the default
208 export resolution of 96 dpi and your graphics are pixel-snapped
209 to minimize antialiasing, this switch allows you to preserve
210 this alignment even if you are exporting some object's bounding
211 box (with --export-id or --export-area-drawing) which is itself
212 not pixel-aligned.
213
214 -d DPI, --export-dpi=DPI
215 The resolution used for PNG export. It is also used for
216 fallback rasterization of filtered objects when exporting to
217 PS, EPS, or PDF (unless you specify --export-ignore-filters to
218 suppress rasterization). The default is 96 dpi, which
219 corresponds to 1 SVG user unit (px, also called "user unit")
220 exporting to 1 bitmap pixel. This value overrides the DPI hint
221 if used with --export-use-hints.
222
223 -w WIDTH, --export-width=WIDTH
224 The width of generated bitmap in pixels. This value overrides
225 the --export-dpi setting (or the DPI hint if used with
226 --export-use-hints).
227
228 -h HEIGHT, --export-height=HEIGHT
229 The height of generated bitmap in pixels. This value overrides
230 the --export-dpi setting (or the DPI hint if used with
231 --export-use-hints).
232
233 --export-margin=MARGIN
234 Adds a margin around the exported area. The size of the margin
235 is specified in units of page size (for SVG) or millimeters
236 (for PS/PDF). The option currently has no effect for other
237 export formats.
238
239 -i ID, --export-id=OBJECT-ID[;OBJECT-ID]*
240 For PNG, PS, EPS, PDF and plain SVG export, the id attribute
241 value of the object(s) that you want to export from the
242 document; all other objects are not exported. By default the
243 exported area is the bounding box of the object; you can
244 override this using --export-area (PNG only) or
245 --export-area-page.
246
247 If you specify many values with a semicolon separated list of
248 objects, each one will be exported separately. In this case the
249 exported files will be named this way:
250 [input_filename]_[ID].[export_type]
251
252 -j, --export-id-only
253 For PNG and plain SVG, only export the object whose id is given
254 in --export-id. All other objects are hidden and won't show in
255 export even if they overlay the exported object. Without
256 --export-id, this option is ignored. For PDF export, this is
257 the default, so this option has no effect.
258
259 -l, --export-plain-svg
260 Export document(s) to plain SVG format, without sodipodi: or
261 inkscape: namespaces and without RDF metadata. Use the
262 --export-filename option to specify the filename.
263
264 --export-ps-level=LEVEL
265 Set language version for PS and EPS export. PostScript level 2
266 or 3 is supported. Default is 3.
267
268 --export-pdf-version=VERSION
269 Select the PDF version of the exported PDF file. This option
270 basically exposes the PDF version selector found in the PDF-
271 export dialog of the GUI. You must provide one of the versions
272 from that combo-box, e.g. "1.4". The default pdf export version
273 is "1.4".
274
275 -T, --export-text-to-path
276 Convert text objects to paths on export, where applicable (for
277 PS, EPS, PDF and SVG export).
278
279 --export-latex
280 (for PS, EPS, and PDF export) Used for creating images for
281 LaTeX documents, where the image's text is typeset by LaTeX.
282 When exporting to PDF/PS/EPS format, this option splits the
283 output into a PDF/PS/EPS file (e.g. as specified by
284 --export-type) and a LaTeX file. Text will not be output in the
285 PDF/PS/EPS file, but instead will appear in the LaTeX file.
286 This LaTeX file includes the PDF/PS/EPS. Inputting
287 (\input{image.tex}) the LaTeX file in your LaTeX document will
288 show the image and all text will be typeset by LaTeX. See the
289 resulting LaTeX file for more information. Also see GNUPlot's
290 `epslatex' output terminal.
291
292 --export-ignore-filters
293 Export filtered objects (e.g. those with blur) as vectors,
294 ignoring the filters (for PS, EPS, and PDF export). By
295 default, all filtered objects are rasterized at --export-dpi
296 (default 96 dpi), preserving the appearance.
297
298 -t, --export-use-hints
299 While exporting to PNG, use export filename and DPI hints
300 stored in the exported object (only with --export-id). These
301 hints are set automatically when you export selection from
302 within Inkscape. So, for example, if you export a shape with
303 id="path231" as /home/me/shape.png at 300 dpi from document.svg
304 using Inkscape GUI, and save the document, then later you will
305 be able to reexport that shape to the same file with the same
306 resolution simply with
307
308 inkscape -i path231 -t document.svg
309
310 If you use --export-dpi, --export-width, or --export-height
311 with this option, then the DPI hint will be ignored and the
312 value from the command line will be used. If you use
313 --export-filename with this option, then the filename hint will
314 be ignored and the filename from the command line will be used.
315
316 -b COLOR, --export-background=COLOR
317 Background color of exported PNG. This may be any SVG
318 supported color string, for example "#ff007f" or "rgb(255, 0,
319 128)". If not set, then the page color set in Inkscape in the
320 Document Options dialog will be used (stored in the pagecolor=
321 attribute of sodipodi:namedview).
322
323 -y VALUE, --export-background-opacity=VALUE
324 Opacity of the background of exported PNG. This may be a value
325 either between 0.0 and 1.0 (0.0 meaning full transparency, 1.0
326 full opacity) or greater than 1 up to 255 (255 meaning full
327 opacity). If not set and the -b option is not used, then the
328 page opacity set in Inkscape in the Document Options dialog
329 will be used (stored in the inkscape:pageopacity= attribute of
330 sodipodi:namedview). If not set but the -b option is used,
331 then the value of 255 (full opacity) will be used.
332
333 -I, --query-id=OBJECT-ID[,OBJECT-ID]*
334 Set the ID(s) of the object(s) whose dimensions are queried in
335 a comma-separated list. If not set, query options will return
336 the dimensions of the drawing (i.e. all document objects), not
337 the page or viewbox.
338
339 If you specify many values with a comma separated list of
340 objects, any geometry query (e.g. --query-x) will return a
341 comma separated list of values corresponding to the list of
342 objects in --query-id.
343
344 -S, --query-all
345 Prints a comma delimited listing of all objects in the SVG
346 document with IDs defined, along with their x, y, width, and
347 height values.
348
349 -X, --query-x
350 Query the X coordinate of the drawing or, if specified, of the
351 object with --query-id. The returned value is in px (SVG user
352 units).
353
354 -Y, --query-y
355 Query the Y coordinate of the drawing or, if specified, of the
356 object with --query-id. The returned value is in px (SVG user
357 units).
358
359 -W, --query-width
360 Query the width of the drawing or, if specified, of the object
361 with --query-id. The returned value is in px (SVG user units).
362
363 -H, --query-height
364 Query the height of the drawing or, if specified, of the object
365 with --query-id. The returned value is in px (SVG user units).
366
367 --vacuum-defs
368 Remove all unused items from the "<defs>" section of the SVG
369 file. If this option is invoked in conjunction with
370 --export-plain-svg, only the exported file will be affected.
371 If it is used alone, the specified file will be modified in
372 place.
373
374 --select=OBJECT-ID[,OBJECT-ID]*
375 The --select command will cause objects that have the ID
376 specified to be selected. You can select many objects width a
377 comma separated list. This allows various verbs to act upon
378 them. To remove all the selections use "--verb=EditDeselect".
379 The object IDs available are dependent on the document
380 specified to load.
381
382 --actions=ACTION(:ARG)[;ACTION(:ARG)]*
383 Actions are a new method to call functions with an optional
384 single parameter. To get a list of the action IDs available,
385 use the --action-list command line option. Eventually all
386 verbs will be replaced by actions. Temporarily, any verb can
387 be used as an action (without a parameter). Note, most verbs
388 require a GUI (even if they don't use it). To close the GUI
389 automatically at the end of processing, use --batch-process.
390 In addition all export options have matching actions (remove
391 the '--' in front of the option and replace '=' with ':').
392
393 If only actions are used --batch-process must be used.
394
395 Export can be forced at any point with the export-do action.
396 This allows one to do multiple exports on a single file.
397
398 --action-list
399 Prints a list of all available actions.
400
401 --verb=VERB[;VERB]*
402 The --verb command will execute a specific verb or list of
403 verbs as if they were called from a menu or button. Dialogs
404 will appear if that is part of the verb. To get a list of the
405 verb IDs available, use the --verb-list command line option.
406
407 Note that the --verb command requires a GUI.
408
409 Together with --select provides some basic scripting for
410 Inkscape from the command line. They both can receive many
411 arguments as needed on the command line and are executed in
412 order on every document.
413
414 --verb-list
415 Lists all the verbs that are available in Inkscape by ID. This
416 ID can be used in defining keymaps or menus. It can also be
417 used with the --verb command line option.
418
419 -g, --with-gui
420 Try to use the GUI (on Unix, use the X server even if $DISPLAY
421 is not set).
422
423 --batch-process
424 Close GUI after executing all actions or verbs.
425
426 --shell With this parameter, Inkscape will enter an interactive command
427 line shell mode. In this mode, you type in commands at the
428 prompt and Inkscape executes them, without you having to run a
429 new copy of Inkscape for each command. This feature is mostly
430 useful for scripting and server uses: it adds no new
431 capabilities but allows you to improve the speed and memory
432 requirements of any script that repeatedly calls Inkscape to
433 perform command line tasks (such as export or conversions).
434
435 In shell mode Inkscape expects a sequence of actions (or verbs)
436 as input. They will be processed line by line, that means
437 typically when pressing enter. It is possible (but not
438 necessary) to put all actions on a single line.
439
440 The following example opens a file and exports it into two
441 different formats, then opens another file and exports a single
442 object:
443
444 file-open:file1.svg; export-type:pdf; export-do; export-type:png; export-do
445 file-open:file2.svg; export-id:rect2; export-id-only; export-filename:rect_only.svg; export-do
446
448 The main configuration file is located in
449 ~/.config/inkscape/preferences.xml; it stores a variety of
450 customization settings that you can change in Inkscape (mostly in the
451 Inkscape Preferences dialog). Also in the subdirectories there, you
452 can place your own:
453
454 $HOME/.config/inkscape/extensions/ - extension effects.
455
456 $HOME/.config/inkscape/icons/ - icons.
457
458 $HOME/.config/inkscape/keys/ - keyboard maps.
459
460 $HOME/.config/inkscape/templates/ - new file templates.
461
463 The program returns zero on success or non-zero on failure.
464
465 A variety of error messages and warnings may be printed to STDERR or
466 STDOUT. If the program behaves erratically with a particular SVG file
467 or crashes, it is useful to look at this output for clues.
468
470 While obviously Inkscape is primarily intended as a GUI application, it
471 can be used for doing SVG processing on the command line as well.
472
473 Open an SVG file in the GUI:
474
475 inkscape filename.svg
476
477 Export an SVG file into PNG with the default resolution of 96 dpi (one
478 SVG user unit translates to one bitmap pixel):
479
480 inkscape --export-filename=filename.png filename.svg
481
482 Same, but force the PNG file to be 600x400 pixels:
483
484 inkscape --export-filename=filename.png -w 600 -h 400 filename.svg
485
486 Same, but export the drawing (bounding box of all objects), not the
487 page:
488
489 inkscape --export-filename=filename.png --export-area-drawing filename.svg
490
491 Export two different files into four distinct file formats each:
492
493 inkscape --export-type=png,ps,eps,pdf filename1.svg filename2.svg
494
495 Export to PNG the object with id="text1555", using the output filename
496 and the resolution that were used for that object last time when it was
497 exported from the GUI:
498
499 inkscape --export-id=text1555 --export-use-hints filename.svg
500
501 Same, but use the default 96 dpi resolution, specify the filename, and
502 snap the exported area outwards to the nearest whole SVG user unit
503 values (to preserve pixel-alignment of objects and thus minimize
504 aliasing):
505
506 inkscape --export-id=text1555 --export-filename=text.png --export-area-snap filename.svg
507
508 Convert an Inkscape SVG document to plain SVG:
509
510 inkscape --export-plain-svg --export-filename=filename2.svg filename1.svg
511
512 Convert an SVG document to EPS, converting all texts to paths:
513
514 inkscape --export-filename=filename.eps --export-text-to-path filename.svg
515
516 Query the width of the object with id="text1555":
517
518 inkscape --query-width --query-id=text1555 filename.svg
519
520 Duplicate the objects with id="path1555" and id="rect835", rotate the
521 duplicates 90 degrees, save SVG, and quit:
522
523 inkscape --select=path1555,rect835 --verb="EditDuplicate;ObjectRotate90;FileSave;FileQuit" filename.svg
524
525 Select all objects with ellipse tag, rotate them 30 degrees, save the
526 file, and quit.
527
528 inkscape --actions="select-via-element:ellipse;transform-rotate:30;FileSave;FileClose" --batch-process filename.svg
529
530 Export the object with the ID MyTriangle with a semi transparent purple
531 background to the file triangle_purple.png and with a red background to
532 the file triangle_red.png.
533
534 inkscape --actions="export-id:MyTriangle; export-id-only; export-background:purple; export-background-opacity:0.5;export-filename:triangle_purple.png; export-do; export-background:red; export-background-opacity:1; export-filename:triangle_red.png" filename.svg
535
536 Read an SVG from standard input (stdin) and export it to PDF format:
537
538 cat filename.svg | inkscape --pipe --export-filename=filename.pdf
539
540 Export an SVG to PNG format and write it to standard output (stdout),
541 then convert it to JPG format with ImageMagick's convert program:
542
543 inkscape --export-type=png --export-filename=- filename.svg | convert - filename.jpg
544
545 Same as above, but also reading from a pipe (--export-filename can be
546 omitted in this case)
547
548 cat filename.svg | inkscape --pipe --export-type=png | convert - filename.jpg
549
551 INKSCAPE_PROFILE_DIR
552 Set a custom location for the user profile directory.
553
554 INKSCAPE_DATADIR
555 Set a custom location for the Inkscape data directory (e.g.
556 $PREFIX/share if Inkscape's shared files are in
557 $PREFIX/share/inkscape).
558
559 INKSCAPE_LOCALEDIR
560 Set a custom location for the translation catalog.
561
562 For more details see also
563 <http://wiki.inkscape.org/wiki/index.php/Environment_variables>
564
566 To load different icons sets instead of the default
567 $PREFIX/share/inkscape/icons/icons.svg file, the directory
568 $HOME/.config/inkscape/icons/ is used. Icons are loaded by name (e.g.
569 fill_none.svg), or if not found, then from icons.svg. If the icon is
570 not loaded from either of those locations, it falls back to the default
571 system location.
572
573 The needed icons are loaded from SVG files by searching for the SVG id
574 with the matching icon name. (For example, to load the "fill_none"
575 icon from a file, the bounding box seen for SVG id "fill_none" is
576 rendered as the icon, whether it comes from fill_none.svg or
577 icons.svg.)
578
580 The canonical place to find Inkscape info is at
581 <https://www.inkscape.org/>. The website has news, documentation,
582 tutorials, examples, mailing list archives, the latest released version
583 of the program, bugs and feature requests databases, forums, and more.
584
586 potrace, cairo, rsvg, batik, ghostscript, pstoedit.
587
588 SVG compliance test suite:
589 <https://www.w3.org/Graphics/SVG/WG/wiki/Test_Suite_Overview>
590
591 SVG validator: <https://validator.w3.org/>
592
593 Scalable Vector Graphics (SVG) 1.1 Specification W3C Recommendation 16
594 August 2011 <https://www.w3.org/TR/SVG11/>
595
596 Scalable Vector Graphics (SVG) 1.2 Specification W3C Working Draft 13
597 April 2005 <https://www.w3.org/TR/SVG12/>
598
599 Scalable Vector Graphics (SVG) 2 Specification W3C Candidate
600 Recommendation 15 September 2016 <https://www.w3.org/TR/SVG2/>
601
602 Document Object Model (DOM): Level 2 Core W3C Recommendation 13
603 November 2000 <https://www.w3.org/TR/DOM-Level-2-Core/>
604
606 To learn Inkscape's GUI operation, read the manual in Help > Inkscape
607 manual, and the tutorials in Help > Tutorials.
608
609 Apart from SVG, Inkscape can import (File > Import) most bitmap formats
610 (PNG, BMP, JPG, XPM, GIF, etc.), plain text (requires Perl), PS and EPS
611 (requires Ghostscript), PDF and AI format (AI version 9.0 or newer).
612
613 Inkscape exports 32-bit PNG images (File > Export PNG Image) as well as
614 AI, PS, EPS, PDF, DXF, and several other formats via File > Save as.
615
616 Inkscape can use the pressure and tilt of a graphic tablet pen for
617 width, angle, and force of action of several tools, including the
618 Calligraphic pen.
619
620 Inkscape includes a GUI front-end to the Potrace bitmap tracing engine
621 (<http://potrace.sf.net>) which is embedded into Inkscape.
622
623 Inkscape can use external scripts (stdin-to-stdout filters) that are
624 represented by commands in the Extensions menu. A script can have a GUI
625 dialog for setting various parameters and can get the IDs of the
626 selected objects on which to act via the command line. Inkscape comes
627 with an assortment of effects written in Python.
628
630 To get a complete list of keyboard and mouse shortcuts, view
631 doc/keys.html, or use the Keys and Mouse command in Help menu.
632
634 Many bugs are known; please refer to the website
635 (<https://www.inkscape.org/>) for reviewing the reported ones and to
636 report newly found issues. See also the Known Issues section in the
637 Release Notes for your version (file `NEWS').
638
640 The codebase that would become Inkscape began life in 1999 as the
641 program Gill, the GNOME Illustrator application, created by Raph
642 Levien. The stated objective for Gill was to eventually support all of
643 SVG. Raph implemented the PostScript bezier imaging model, including
644 stroking and filling, line cap style, line join style, text, etc.
645 Raph's Gill page is at <http://www.levien.com/svg/>. Work on Gill
646 appears to have slowed or ceased in 2000.
647
648 The next incarnation of the codebase was to become the highly popular
649 program Sodipodi, led by Lauris Kaplinski. The codebase was turned
650 into a powerful illustration program over the course of several year's
651 work, adding several new features, multi-lingual support, porting to
652 Windows and other operating systems, and eliminating dependencies.
653
654 Inkscape was formed in 2003 by four active Sodipodi developers, Bryce
655 Harrington, MenTaLguY, Nathan Hurst, and Ted Gould, wanting to take a
656 different direction with the codebase in terms of focus on SVG
657 compliance, interface look-and-feel, and a desire to open development
658 opportunities to more participants. The project progressed rapidly,
659 gaining a number of very active contributors and features.
660
661 Much work in the early days of the project focused on code
662 stabilization and internationalization. The original renderer
663 inherited from Sodipodi was laced with a number of mathematical corner
664 cases which led to unexpected crashes when the program was pushed
665 beyond routine uses; this renderer was replaced with Livarot which,
666 while not perfect either, was significantly less error prone. The
667 project also adopted a practice of committing code frequently, and
668 encouraging users to run developmental snapshots of the program; this
669 helped identify new bugs swiftly, and ensure it was easy for users to
670 verify the fixes. As a result, Inkscape releases have generally earned
671 a reputation for being robust and reliable.
672
673 Similarly, efforts were taken to internationalize and localize the
674 interface, which has helped the program gain contributors worldwide.
675
676 Inkscape has had a beneficial impact on the visual attractiveness of
677 Open Source in general, by providing a tool for creating and sharing
678 icons, splash screens, website art, and so on. In a way, despite being
679 "just an drawing program", Inkscape has played an important role in
680 making Open Source more visually stimulating to larger audiences.
681
683 This codebase owes its existence to a large number of contributors
684 throughout its various incarnations. The following list is certainly
685 incomplete, but serves to recognize the many shoulders on which this
686 application sits:
687
688 Maximilian Albert, Joshua A. Andler, Tavmjong Bah, Pierre Barbry-Blot,
689 Jean-François Barraud, Campbell Barton, Bill Baxter, John Beard, John
690 Bintz, Arpad Biro, Nicholas Bishop, Joshua L. Blocher, Hanno Böck,
691 Tomasz Boczkowski, Adrian Boguszewski, Henrik Bohre, Boldewyn, Daniel
692 Borgmann, Bastien Bouclet, Hans Breuer, Gustav Broberg, Christopher
693 Brown, Marcus Brubaker, Luca Bruno, Brynn, Nicu Buculei, Bulia Byak,
694 Pierre Caclin, Ian Caldwell, Gail Carmichael, Ed Catmur, Chema Celorio,
695 Jabiertxo Arraiza Cenoz, Johan Ceuppens, Zbigniew Chyla, Alexander
696 Clausen, John Cliff, Kees Cook, Ben Cromwell, Jon Cruz, Aurélie De-
697 Cooman, Kris De Gussem, Milosz Derezynski, Daniel Díaz, Bruno Dilly,
698 Larry Doolittle, Nicolas Dufour, Tim Dwyer, Maxim V. Dziumanenko, Johan
699 Engelen, Miklos Erdelyi, Ulf Erikson, Noé Falzon, Frank Felfe, Andrew
700 Fitzsimon, Edward Flick, Marcin Floryan, Fred, Ben Fowler, Cedric Gemy,
701 Steren Giannini, Olivier Gondouin, Ted Gould, Toine de Greef, Michael
702 Grosberg, Bryce Harrington, Dale Harvey, Aurélio Adnauer Heckert, Carl
703 Hetherington, Jos Hirth, Hannes Hochreiner, Thomas Holder, Joel
704 Holdsworth, Christoffer Holmstedt, Alan Horkan, Karl Ove Hufthammer,
705 Richard Hughes, Nathan Hurst, inductiveload, Thomas Ingham, Jean-
706 Olivier Irisson, Bob Jamison, Ted Janeczko, Marc Jeanmougin, jEsuSdA,
707 Lauris Kaplinski, Lynn Kerby, Niko Kiirala, James Kilfiger, Nikita
708 Kitaev, Jason Kivlighn, Adrian Knoth, Krzysztof Kosiński, Petr Kovar,
709 Benoît Lavorata, Alex Leone, Julien Leray, Raph Levien, Diederik van
710 Lierop, Nicklas Lindgren, Vitaly Lipatov, Ivan Louette, Fernando
711 Lucchesi Bastos Jurema, Pierre-Antoine Marc, Aurel-Aimé Marmion, Colin
712 Marquardt, Craig Marshall, Ivan Masár, Dmitry G. Mastrukov, David
713 Mathog, Matiphas, Patrick McDermott, Michael Meeks, Federico Mena,
714 MenTaLguY, Aubanel Monnier, Vincent Montagne, Tim Mooney, Derek P.
715 Moore, Chris Morgan, Peter Moulder, Jörg Müller, Yukihiro Nakai, Victor
716 Navez, Christian Neumair, Nick, Andreas Nilsson, Mitsuru Oka, Vinícius
717 dos Santos Oliveira, Martin Owens, Alvin Penner, Matthew Petroff, Jon
718 Phillips, Zdenko Podobny, Alexandre Prokoudine, Jean-René Reinhard,
719 Alexey Remizov, Frederic Rodrigo, Hugo Rodrigues, Juarez Rudsatz,
720 Xavier Conde Rueda, Felipe Corrêa da Silva Sanches, Christian Schaller,
721 Marco Scholten, Tom von Schwerdtner, Markus Schwienbacher, Danilo
722 Šegan, Abhishek Sharma, Tim Sheridan, Shivaken, Michael Sloan, John
723 Smith, Sandra Snan, Boštjan Špetič, Aaron Spike, Kaushik Sridharan,
724 Ralf Stephan, Dariusz Stojek, Patrick Storz, Martin Sucha, ~suv, Pat
725 Suwalski, Adib Taraben, Hugh Tebby, Jonas Termeau, David Turner, Andre
726 Twupack, Aleksandar Urošević, Alex Valavanis, Joakim Verona, Lucas
727 Vieites, Daniel Wagenaar, Liam P. White, Sebastian Wüst, Michael
728 Wybrow, Gellule Xg, Daniel Yacob, David Yip, Masatake Yamato, Moritz
729 Eberl, Sebastian Faubel
730
732 Copyright (C) 1999-2020 by Authors.
733
734 Inkscape is free software; you can redistribute it and/or modify it
735 under the terms of the GPL version 3 or later.
736
737
738
7391.0 2020-05-07 INKSCAPE(1)