diff options
Diffstat (limited to 'man/inkscape.pod.in')
-rw-r--r-- | man/inkscape.pod.in | 739 |
1 files changed, 739 insertions, 0 deletions
diff --git a/man/inkscape.pod.in b/man/inkscape.pod.in new file mode 100644 index 0000000..08aa0ef --- /dev/null +++ b/man/inkscape.pod.in @@ -0,0 +1,739 @@ + ************************************************************ + * NOTE: Please do not edit this file directly. * + * * + * Changes should be applied to the source file at * + * https://gitlab.com/inkscape/inkscape-docs/documentation/ * + ************************************************************ + +=encoding UTF-8 + +=head1 NAME + +Inkscape - an SVG (Scalable Vector Graphics) editing program. + +=head1 SYNOPSIS + +C<inkscape [options] [filename_1 filename_2 ...]> + +options: + + -?, --help + -V, --version + --system-data-directory + --user-data-directory + + -p, --pipe + --pdf-page=PAGE + --pdf-poppler + --convert-dpi-method=METHOD + --no-convert-text-baseline-spacing + + -o, --export-filename=FILENAME + --export-overwrite + --export-type=TYPE[,TYPE]* + + -C, --export-area-page + -D, --export-area-drawing + -a, --export-area=x0:y0:x1:y1 + --export-area-snap + -d, --export-dpi=DPI + -w, --export-width=WIDTH + -h, --export-height=HEIGHT + --export-margin=MARGIN + + -i, --export-id=OBJECT-ID[;OBJECT-ID]* + -j, --export-id-only + -l, --export-plain-svg + --export-ps-level=LEVEL + --export-pdf-version=VERSION + -T, --export-text-to-path + --export-latex + --export-ignore-filters + -t, --export-use-hints + -b, --export-background=COLOR + -y, --export-background-opacity=VALUE + + -I, --query-id=OBJECT-ID[,OBJECT-ID]* + -S, --query-all + -X, --query-x + -Y, --query-y + -W, --query-width + -H, --query-height + + --vacuum-defs + --select=OBJECT-ID[,OBJECT-ID]* + --actions=ACTION(:ARG)[;ACTION(:ARG)]* + --action-list + --verb=VERB[;VERB]* + --verb-list + + -g, --with-gui + --batch-process + --shell + + +=head1 DESCRIPTION + +B<Inkscape> is a GUI editor for B<Scalable Vector Graphics (SVG)> format +drawing files, with capabilities similar to B<Adobe Illustrator>, +B<CorelDraw>, B<Xara Xtreme>, etc. Inkscape features include versatile +shapes, bezier paths, freehand drawing, multi-line text, text on path, +alpha blending, arbitrary affine transforms, gradient and pattern fills, +node editing, many export and import formats including PNG and PDF, +grouping, layers, live clones, and a lot more. The interface is +designed to be comfortable and efficient for skilled users, while +remaining conformant to B<GNOME> standards so that users familiar with +other GNOME applications can learn its interface rapidly. + +B<SVG> is a W3C standard XML format for 2D vector drawing. It allows +defining objects in the drawing using points, paths, and primitive +shapes. Colors, fonts, stroke width, and so forth are specified as +`style' attributes to these objects. The intent is that since SVG is a +standard, and since its files are text/xml, it will be possible to use +SVG files in a sizeable number of programs and for a wide range of uses. + +B<Inkscape> uses SVG as its native document format, and has the goal of +becoming the most fully compliant drawing program for SVG files +available in the Open Source community. + + +=head1 OPTIONS + +=over 8 + +=item B<-?>, B<--help> + +Shows a help message. + +=item B<-V>, B<--version> + +Shows the Inkscape version and build date. + +=item B<--system-data-directory> + +Prints the system data directory where data files that ship with Inkscape are stored. This includes +files which Inkscape requires to run (like unit definitions, built-in key maps, files describing UI +layout, icon themes, etc.), core extensions, stock resources (filters, fonts, markers, color +palettes, symbols, templates) and documentation (SVG example files, tutorials). + +The location in which Inkscape expects the system data directory can be overridden with the +L<INKSCAPE_DATADIR> environment variable. + +=item B<--user-data-directory> + +Prints the user profile directory where user-specific data files and preferences are stored. +Custom extensions and resources (filters, fonts, markers, color palettes, symbols, templates) +should be installed into their respective subdirectories in this directory. In addition placing a +file with a name identical to one in the system data directory here allows to override most presets +from the system data directory (e.g. default templates, UI files, etc.). + +The default location of the profile directory can be overridden with the L<INKSCAPE_PROFILE_DIR> +environment variable. + +=item B<-p>, B<--pipe> + +Reads input file from standard input (stdin). + +=item B<--pdf-page>=I<PAGE> + +Imports the given page of a pdf file. Numbering starts with 1. + +=item B<--pdf-poppler> + +By default Inkscape imports PDF files via an internal (poppler-derived) library. +Text is stored as text. Meshes are converted to tiles. +Use L<--pdf-poppler> to import via an external (poppler with cairo backend) library +instead. Text consists of groups containing cloned glyphs where each glyph is a path. +Images are stored internally. Meshes cause entire document to be rendered as a raster image. + +=item B<--convert-dpi-method>=I<METHOD> + +Choose method used to rescale legacy (pre-0.92) files which render +slightly smaller due to the switch from 90 DPI to 96 DPI when interpreting +lengths expressed in units of pixels. Possible values are "none" (no +change, document will render at 94% of its original size), "scale-viewbox" +(document will be rescaled globally, individual lengths will stay +untouched) and "scale-document" (each length will be re-scaled +individually). + +=item B<--no-convert-text-baseline-spacing> + +Do not automatically fix text baselines in legacy (pre-0.92) files on +opening. Inkscape 0.92 adopts the CSS standard definition for the +'line-height' property, which differs from past versions. By default, +the line height values in files created prior to Inkscape 0.92 will be +adjusted on loading to preserve the intended text layout. This command +line option will skip that adjustment. + +=item B<-o>, B<--export-filename>=I<FILENAME> + +Sets the name of the output file. The default is to re-use the name of the input file. +If L<--export-type> is also used, the file extension will be adjusted (or added) as appropriate. +Otherwise the file type to export will be inferred from the extension of the specified filename. + +Usage of the special filename "-" makes Inkscape write the image data to standard output (stdout). + +=item B<--export-overwrite> + +Overwrites input file. + +=item B<--export-type>=I<TYPE[,TYPE]*> + +Specify the file type to export. Possible values: svg, png, ps, eps, pdf, +emf, wmf, xaml. It is possible to export more than one file type at a time. + +Note that PostScript does not support transparency, so any transparent +objects in the original SVG will be automatically rasterized. Used fonts +are subset and embedded. The default export area is page; you can set it +to drawing by L<--export-area-drawing>. + +Note that PDF format preserves the transparency in the original SVG. + +=item B<-C>, B<--export-area-page> + +In SVG, PNG, PDF, PS exported area is the page. This is the +default for SVG, PNG, PDF, and PS, so you don't need to specify this unless +you are using L<--export-id> to export a specific object. For EPS this option +is currently not supported. + +=item B<-D>, B<--export-area-drawing> + +In SVG, PNG, PDF, PS, and EPS export, exported area is the drawing (not +page), i.e. the bounding box of all objects of the document (or of the +exported object if L<--export-id> is used). With this option, the exported +image will display all the visible objects of the document without +margins or cropping. This is the default export area for EPS. For PNG, +it can be used in combination with L<--export-use-hints>. + +=item B<-a> I<x0:y0:x1:y1>, B<--export-area>=I<x0:y0:x1:y1> + +In PNG export, set the exported area in SVG user units (anonymous length +units normally used in Inkscape SVG). The default is to export the +entire document page. The point (0,0) is the lower-left corner. + +=item B<--export-area-snap> + +For PNG export, snap the export area outwards to the nearest integer SVG +user unit (px) values. If you are using the default export resolution of +96 dpi and your graphics are pixel-snapped to minimize antialiasing, +this switch allows you to preserve this alignment even if you are +exporting some object's bounding box (with L<--export-id> +or L<--export-area-drawing>) which is itself not pixel-aligned. + +=item B<-d> I<DPI>, B<--export-dpi>=I<DPI> + +The resolution used for PNG export. It is also used for fallback +rasterization of filtered objects when exporting to PS, EPS, or PDF +(unless you specify L<--export-ignore-filters> to suppress +rasterization). The default is 96 dpi, which corresponds to 1 SVG user +unit (px, also called "user unit") exporting to 1 bitmap pixel. This +value overrides the DPI hint if used with L<--export-use-hints>. + +=item B<-w> I<WIDTH>, B<--export-width>=I<WIDTH> + +The width of generated bitmap in pixels. This value overrides +the L<--export-dpi> setting (or the DPI hint if used +with L<--export-use-hints>). + +=item B<-h> I<HEIGHT>, B<--export-height>=I<HEIGHT> + +The height of generated bitmap in pixels. This value overrides the +L<--export-dpi> setting (or the DPI hint if used with L<--export-use-hints>). + +=item B<--export-margin>=I<MARGIN> + +Adds a margin around the exported area. The size of the margin is +specified in units of page size (for SVG) or millimeters (for PS/PDF). +The option currently has no effect for other export formats. + +=item B<-i> I<ID>, B<--export-id>=I<OBJECT-ID[;OBJECT-ID]*> + +For PNG, PS, EPS, PDF and plain SVG export, the id attribute value of +the object(s) that you want to export from the document; all other objects +are not exported. By default the exported area is the bounding box of +the object; you can override this using L<--export-area> (PNG only) +or L<--export-area-page>. + +If you specify many values with a semicolon separated list of objects, +each one will be exported separately. In this case the exported files will +be named this way: [input_filename]_[ID].[export_type] + +=item B<-j>, B<--export-id-only> + +For PNG and plain SVG, only export the object whose id is given in +L<--export-id>. All other objects are hidden and won't show in export +even if they overlay the exported object. Without L<--export-id>, this +option is ignored. For PDF export, this is the default, so this option +has no effect. + +=item B<-l>, B<--export-plain-svg> + +Export document(s) to plain SVG format, without sodipodi: or inkscape: +namespaces and without RDF metadata. Use the L<--export-filename> option +to specify the filename. + +=item B<--export-ps-level>=I<LEVEL> + +Set language version for PS and EPS export. PostScript level 2 or 3 is supported. Default is 3. + +=item B<--export-pdf-version>=I<VERSION> + +Select the PDF version of the exported PDF file. This option basically +exposes the PDF version selector found in the PDF-export dialog of the +GUI. You must provide one of the versions from that combo-box, +e.g. "1.4". The default pdf export version is "1.4". + +=item B<-T>, B<--export-text-to-path> + +Convert text objects to paths on export, where applicable (for PS, EPS, +PDF and SVG export). + +=item B<--export-latex> + +(for PS, EPS, and PDF export) Used for creating images for LaTeX +documents, where the image's text is typeset by LaTeX. When exporting +to PDF/PS/EPS format, this option splits the output into a PDF/PS/EPS +file (e.g. as specified by --export-type) and a LaTeX file. Text will not +be output in the PDF/PS/EPS file, but instead will appear in the LaTeX +file. This LaTeX file includes the PDF/PS/EPS. Inputting +(\input{image.tex}) the LaTeX file in your LaTeX document will show the +image and all text will be typeset by LaTeX. See the resulting LaTeX +file for more information. Also see GNUPlot's `epslatex' output +terminal. + +=item B<--export-ignore-filters> + +Export filtered objects (e.g. those with blur) as vectors, ignoring the +filters (for PS, EPS, and PDF export). By default, all filtered objects +are rasterized at L<--export-dpi> (default 96 dpi), preserving the +appearance. + +=item B<-t>, B<--export-use-hints> + +While exporting to PNG, use export filename and DPI hints stored in the exported object (only +with L<--export-id>). These hints are set automatically when you export +selection from within Inkscape. So, for example, if you export a shape +with id="path231" as /home/me/shape.png at 300 dpi from document.svg +using Inkscape GUI, and save the document, then later you will be able +to reexport that shape to the same file with the same resolution simply +with + + inkscape -i path231 -t document.svg + +If you use L<--export-dpi>, L<--export-width>, or L<--export-height> +with this option, then the DPI hint will be ignored and the value from +the command line will be used. If you use L<--export-filename> with this +option, then the filename hint will be ignored and the filename from the +command line will be used. + +=item B<-b> I<COLOR>, B<--export-background>=I<COLOR> + +Background color of exported PNG. This may be any SVG supported color +string, for example "#ff007f" or "rgb(255, 0, 128)". If not set, then +the page color set in Inkscape in the Document Options dialog will be +used (stored in the pagecolor= attribute of sodipodi:namedview). + + +=item B<-y> I<VALUE>, B<--export-background-opacity>=I<VALUE> + +Opacity of the background of exported PNG. This may be a value either +between 0.0 and 1.0 (0.0 meaning full transparency, 1.0 full opacity) or +greater than 1 up to 255 (255 meaning full opacity). If not set and +the -b option is not used, then the page opacity set in Inkscape in the +Document Options dialog will be used (stored in the +inkscape:pageopacity= attribute of sodipodi:namedview). If not set but +the -b option is used, then the value of 255 (full opacity) will be +used. + +=item B<-I>, B<--query-id>=I<OBJECT-ID[,OBJECT-ID]*> + +Set the ID(s) of the object(s) whose dimensions are queried in a +comma-separated list. If not set, query options will return the +dimensions of the drawing (i.e. all document objects), not the page or +viewbox. + +If you specify many values with a comma separated list of objects, any +geometry query (e.g. L<--query-x>) will return a comma separated list +of values corresponding to the list of objects in I<--query-id>. + +=item B<-S>, B<--query-all> + +Prints a comma delimited listing of all objects in the SVG document with +IDs defined, along with their x, y, width, and height values. + +=item B<-X>, B<--query-x> + +Query the X coordinate of the drawing or, if specified, of the object +with L<--query-id>. The returned value is in px (SVG user units). + +=item B<-Y>, B<--query-y> + +Query the Y coordinate of the drawing or, if specified, of the object +with L<--query-id>. The returned value is in px (SVG user units). + +=item B<-W>, B<--query-width> + +Query the width of the drawing or, if specified, of the object with +L<--query-id>. The returned value is in px (SVG user units). + +=item B<-H>, B<--query-height> + +Query the height of the drawing or, if specified, of the object +with L<--query-id>. The returned value is in px (SVG user units). + +=item B<--vacuum-defs> + +Remove all unused items from the C<E<lt>defsE<gt>> section of the SVG file. +If this option is invoked in conjunction with L<--export-plain-svg>, +only the exported file will be affected. If it is used alone, the +specified file will be modified in place. + +=item B<--select>=I<OBJECT-ID[,OBJECT-ID]*> + +The L<--select> command will cause objects that have the ID specified to be +selected. You can select many objects width a comma separated list. This +allows various verbs to act upon them. To remove all the selections use +C<--verb=EditDeselect>. The object IDs available are dependent on the +document specified to load. + +=item B<--actions>=I<ACTION(:ARG)[;ACTION(:ARG)]*> + +Actions are a new method to call functions with an optional single parameter. +To get a list of the action IDs available, use the L<--action-list> command line option. +Eventually all verbs will be replaced by actions. Temporarily, any verb can be +used as an action (without a parameter). Note, most verbs require a GUI (even +if they don't use it). To close the GUI automatically at the end of processing, +use L<--batch-process>. In addition all export options have matching actions +(remove the '--' in front of the option and replace '=' with ':'). + +If only actions are used L<--batch-process> must be used. + +Export can be forced at any point with the export-do action. This allows one to do +multiple exports on a single file. + +=item B<--action-list> + +Prints a list of all available actions. + +=item B<--verb>=I<VERB[;VERB]*> + +The L<--verb> command will execute a specific verb or list of verbs as if they were called from +a menu or button. Dialogs will appear if that is part of the verb. To +get a list of the verb IDs available, use the L<--verb-list> command line +option. + +Note that the L<--verb> command requires a GUI. + +Together with L<--select> provides some basic scripting for +Inkscape from the command line. They both can receive many arguments as +needed on the command line and are executed in order on every document. + +=item B<--verb-list> + +Lists all the verbs that are available in Inkscape by ID. This ID can +be used in defining keymaps or menus. It can also be used with +the L<--verb> command line option. + +=item B<-g>, B<--with-gui> + +Try to use the GUI (on Unix, use the X server even if $DISPLAY is not +set). + +=item B<--batch-process> + +Close GUI after executing all actions or verbs. + +=item B<--shell> + +With this parameter, Inkscape will enter an interactive command line +shell mode. In this mode, you type in commands at the prompt and +Inkscape executes them, without you having to run a new copy of Inkscape +for each command. This feature is mostly useful for scripting and server +uses: it adds no new capabilities but allows you to improve the speed +and memory requirements of any script that repeatedly calls Inkscape to +perform command line tasks (such as export or conversions). + +In shell mode Inkscape expects a sequence of actions (or verbs) as input. +They will be processed line by line, that means typically when pressing enter. +It is possible (but not necessary) to put all actions on a single line. + +The following example opens a file and exports it into two different formats, +then opens another file and exports a single object: + + file-open:file1.svg; export-type:pdf; export-do; export-type:png; export-do + file-open:file2.svg; export-id:rect2; export-id-only; export-filename:rect_only.svg; export-do + +=back + +=head1 CONFIGURATION + +The main configuration file is located in +~/.config/inkscape/preferences.xml; it stores a variety of customization +settings that you can change in Inkscape (mostly in the Inkscape +Preferences dialog). Also in the subdirectories there, you can place +your own: + +B<$HOME>/.config/inkscape/extensions/ - extension effects. + +B<$HOME>/.config/inkscape/icons/ - icons. + +B<$HOME>/.config/inkscape/keys/ - keyboard maps. + +B<$HOME>/.config/inkscape/templates/ - new file templates. + +=head1 DIAGNOSTICS + +The program returns zero on success or non-zero on failure. + +A variety of error messages and warnings may be printed to STDERR or +STDOUT. If the program behaves erratically with a particular SVG file +or crashes, it is useful to look at this output for clues. + +=head1 EXAMPLES + +While obviously B<Inkscape> is primarily intended as a GUI application, +it can be used for doing SVG processing on the command line as well. + +Open an SVG file in the GUI: + + inkscape filename.svg + +Export an SVG file into PNG with the default resolution of 96 dpi (one +SVG user unit translates to one bitmap pixel): + + inkscape --export-filename=filename.png filename.svg + +Same, but force the PNG file to be 600x400 pixels: + + inkscape --export-filename=filename.png -w 600 -h 400 filename.svg + +Same, but export the drawing (bounding box of all objects), not the +page: + + inkscape --export-filename=filename.png --export-area-drawing filename.svg + +Export two different files into four distinct file formats each: + + inkscape --export-type=png,ps,eps,pdf filename1.svg filename2.svg + +Export to PNG the object with id="text1555", using the output filename +and the resolution that were used for that object last time when it was +exported from the GUI: + + inkscape --export-id=text1555 --export-use-hints filename.svg + +Same, but use the default 96 dpi resolution, specify the filename, and +snap the exported area outwards to the nearest whole SVG user unit +values (to preserve pixel-alignment of objects and thus minimize +aliasing): + + inkscape --export-id=text1555 --export-filename=text.png --export-area-snap filename.svg + +Convert an Inkscape SVG document to plain SVG: + + inkscape --export-plain-svg --export-filename=filename2.svg filename1.svg + +Convert an SVG document to EPS, converting all texts to paths: + + inkscape --export-filename=filename.eps --export-text-to-path filename.svg + +Query the width of the object with id="text1555": + + inkscape --query-width --query-id=text1555 filename.svg + +Duplicate the objects with id="path1555" and id="rect835", rotate the duplicates 90 +degrees, save SVG, and quit: + + inkscape --select=path1555,rect835 --verb="EditDuplicate;ObjectRotate90;FileSave;FileQuit" filename.svg + +Select all objects with ellipse tag, rotate them 30 degrees, save the file, and quit. + + inkscape --actions="select-by-element:ellipse;transform-rotate:30;FileSave;FileClose" --batch-process filename.svg + +Export the object with the ID MyTriangle with a semi transparent purple background +to the file triangle_purple.png and with a red background to the file triangle_red.png. + + 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 + +Read an SVG from standard input (stdin) and export it to PDF format: + + cat filename.svg | inkscape --pipe --export-filename=filename.pdf + +Export an SVG to PNG format and write it to standard output (stdout), then convert it to JPG format with ImageMagick's convert program: + + inkscape --export-type=png --export-filename=- filename.svg | convert - filename.jpg + +Same as above, but also reading from a pipe (--export-filename can be omitted in this case) + + cat filename.svg | inkscape --pipe --export-type=png | convert - filename.jpg + +=head1 ENVIRONMENT VARIABLES + +=over 8 + +=item B<INKSCAPE_PROFILE_DIR> + +Set a custom location for the user profile directory. + +=item B<INKSCAPE_DATADIR> + +Set a custom location for the Inkscape data directory (e.g. B<$PREFIX>/share +if Inkscape's shared files are in B<$PREFIX>/share/inkscape). + +=item B<INKSCAPE_LOCALEDIR> + +Set a custom location for the translation catalog. + +=back + +For more details see also +L<http://wiki.inkscape.org/wiki/index.php/Environment_variables> + +=head1 THEMES + +To load different icons sets instead of the default +B<$PREFIX>/share/inkscape/icons/icons.svg file, the directory +B<$HOME>/.config/inkscape/icons/ is used. Icons are loaded by name +(e.g. I<fill_none.svg>), or if not found, then from I<icons.svg>. If +the icon is not loaded from either of those locations, it falls back to +the default system location. + +The needed icons are loaded from SVG files by searching for the SVG id +with the matching icon name. (For example, to load the "fill_none" icon +from a file, the bounding box seen for SVG id "fill_none" is rendered as +the icon, whether it comes from I<fill_none.svg> or I<icons.svg>.) + +=head1 OTHER INFO + +The canonical place to find B<Inkscape> info is at +L<https://www.inkscape.org/>. The website has news, documentation, +tutorials, examples, mailing list archives, the latest released version +of the program, bugs and feature requests databases, forums, and more. + +=head1 SEE ALSO + +L<potrace>, L<cairo>, L<rsvg>, L<batik>, L<ghostscript>, L<pstoedit>. + +SVG compliance test suite: +L<https://www.w3.org/Graphics/SVG/WG/wiki/Test_Suite_Overview> + +SVG validator: +L<https://validator.w3.org/> + +I<Scalable Vector Graphics (SVG) 1.1 Specification> +I<W3C Recommendation 16 August 2011> +L<https://www.w3.org/TR/SVG11/> + +I<Scalable Vector Graphics (SVG) 1.2 Specification> +I<W3C Working Draft 13 April 2005> +L<https://www.w3.org/TR/SVG12/> + +I<Scalable Vector Graphics (SVG) 2 Specification> +I<W3C Candidate Recommendation 15 September 2016> +L<https://www.w3.org/TR/SVG2/> + +I<Document Object Model (DOM): Level 2 Core> +I<W3C Recommendation 13 November 2000> +L<https://www.w3.org/TR/DOM-Level-2-Core/> + + +=head1 GUI NOTES + +To learn Inkscape's GUI operation, read the manual in Help > Inkscape +manual, and the tutorials in Help > Tutorials. + +Apart from SVG, Inkscape can import (File > Import) most bitmap formats +(PNG, BMP, JPG, XPM, GIF, etc.), plain text (requires Perl), PS and EPS +(requires Ghostscript), PDF and AI format (AI version 9.0 or newer). + +Inkscape exports 32-bit PNG images (File > Export PNG Image) as well as +AI, PS, EPS, PDF, DXF, and several other formats via File > Save as. + +Inkscape can use the pressure and tilt of a graphic tablet pen for +width, angle, and force of action of several tools, including the +Calligraphic pen. + +Inkscape includes a GUI front-end to the Potrace bitmap tracing engine +(L<http://potrace.sf.net>) which is embedded into Inkscape. + +Inkscape can use external scripts (stdin-to-stdout filters) that are +represented by commands in the Extensions menu. A script can have a GUI +dialog for setting various parameters and can get the IDs of the +selected objects on which to act via the command line. Inkscape comes +with an assortment of effects written in Python. + +=head1 KEYBINDINGS + +To get a complete list of keyboard and mouse shortcuts, view +doc/keys.html, or use the Keys and Mouse command in Help menu. + +=head1 BUGS + +Many bugs are known; please refer to the website +(L<https://www.inkscape.org/>) for reviewing the reported ones and to +report newly found issues. See also the Known Issues section in the +Release Notes for your version (file `NEWS'). + +=head1 HISTORY + +The codebase that would become Inkscape began life in 1999 as the +program Gill, the GNOME Illustrator application, created by Raph Levien. +The stated objective for Gill was to eventually support all of SVG. +Raph implemented the PostScript bezier imaging model, including stroking +and filling, line cap style, line join style, text, etc. Raph's Gill +page is at L<http://www.levien.com/svg/>. Work on Gill appears to have +slowed or ceased in 2000. + +The next incarnation of the codebase was to become the highly popular +program Sodipodi, led by Lauris Kaplinski. The codebase was turned into +a powerful illustration program over the course of several year's work, +adding several new features, multi-lingual support, porting to Windows +and other operating systems, and eliminating dependencies. + +Inkscape was formed in 2003 by four active Sodipodi developers, Bryce +Harrington, MenTaLguY, Nathan Hurst, and Ted Gould, wanting to take a +different direction with the codebase in terms of focus on SVG +compliance, interface look-and-feel, and a desire to open development +opportunities to more participants. The project progressed rapidly, +gaining a number of very active contributors and features. + +Much work in the early days of the project focused on code stabilization +and internationalization. The original renderer inherited from Sodipodi +was laced with a number of mathematical corner cases which led to +unexpected crashes when the program was pushed beyond routine uses; this +renderer was replaced with Livarot which, while not perfect either, was +significantly less error prone. The project also adopted a practice of +committing code frequently, and encouraging users to run developmental +snapshots of the program; this helped identify new bugs swiftly, and +ensure it was easy for users to verify the fixes. As a result, Inkscape +releases have generally earned a reputation for being robust and +reliable. + +Similarly, efforts were taken to internationalize and localize the +interface, which has helped the program gain contributors worldwide. + +Inkscape has had a beneficial impact on the visual attractiveness of +Open Source in general, by providing a tool for creating and sharing +icons, splash screens, website art, and so on. In a way, despite being +"just an drawing program", Inkscape has played an important role in +making Open Source more visually stimulating to larger audiences. + +=head1 AUTHORS + +This codebase owes its existence to a large number of contributors +throughout its various incarnations. The following list is certainly +incomplete, but serves to recognize the many shoulders on which this +application sits: + +${INKSCAPE_AUTHORS} + +=head1 COPYRIGHT AND LICENSE + +B<Copyright (C)> 1999-2020 by Authors. + +B<Inkscape> is free software; you can redistribute it and/or modify it +under the terms of the GPL version 3 or later. + + +=for comment +$Date$ |