  ************************************************************
  * 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
        --help-all
        --help-gapplication
        --help-gtk

    -V, --version
        --debug-info
        --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]*
        --export-extension=EXTENSION-ID

    -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-png-color-mode=COLORMODE
        --export-png-use-dithering=BOOLEAN
        --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

    -g, --with-gui
        --display=DISPLAY
        --app-id-tag=TAG
        --batch-process
        --shell


=head1 DESCRIPTION

B<Inkscape> is a Free and open source vector graphics editor. It offers a rich
set of features and is widely used for both artistic and technical
illustrations such as cartoons, clip art, logos, typography, diagramming and
flowcharting.
It uses vector graphics to allow for sharp printouts and renderings at
unlimited resolution and is not bound to a fixed number of pixels like raster
graphics. Inkscape uses the standardized B<SVG> file format as its main format,
which is supported by many other applications including web browsers.

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<--help-all>

Shows all help options.

=item B<--help-gapplication>

Shows the GApplication options.

=item B<--help-gtk>

Shows the GTK+ options.

=item B<-V>, B<--version>

Shows the Inkscape version and build date.

=item B<--debug-info>

Prints technical information including Inkscape version, dependency versions and operating system.
This Information is useful when debugging issues with Inkscape and should be included whenever
filing a bug report.

=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 
and every file type for which an export extension exists. 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<--export-extension>=I<EXTENSION-ID>

Allows to specify an output extension that will be used for exporting, which
is especially relevant if there is more than one export option for a 
given file type. If set, the file extension in --export-filename and 
--export-type may be omitted. Additionally, if set, only one file type 
may be given in --export-type.

=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 of the document, specified in px 
(1/96 in). 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 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-png-color-mode>=I<COLORMODE>

Sets the color mode (bit depth and color type) for exported bitmaps (Gray_1/Gray_2/Gray_4/Gray_8/Gray_16/RGB_8/RGB_16/GrayAlpha_8/GrayAlpha_16/RGBA_8/RGBA_16)

=item B<--export-png-use-dithering>=I<false|true>

Forces dithering or disables it (the Inkscape build must support dithering for this).

=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 Properties 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 Properties 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<-g>, B<--with-gui>

Try to use the GUI (on Unix, use the X server even if $DISPLAY is not
set).

=item B<--display>=I<DISPLAY>

Sets the X display to use for the Inkscape window.

=item B<--app-id-tag>=I<TAG>

Creates a unique instance of Inkscape with the application ID 'org.inkscape.Inkscape.TAG'. This is useful to separate the Inkscape instances when running different Inkscape versions or using different preferences files concurrently.

=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/ - extensions.

B<$HOME>/.config/inkscape/fonts/ - fonts.

B<$HOME>/.config/inkscape/icons/ - icon sets.

B<$HOME>/.config/inkscape/keys/ - keyboard maps.

B<$HOME>/.config/inkscape/paint/ - patterns and hatches.

B<$HOME>/.config/inkscape/palettes/ - palettes.

B<$HOME>/.config/inkscape/symbols/ - symbol files.

B<$HOME>/.config/inkscape/templates/ - new file templates.

B<$HOME>/.config/inkscape/ui/ - user interface files.

=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 --actions="duplicate;object-rotate-90-cw" --export-overwrite 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" --export-overwrite 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; export-do" 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-2022 by Authors.

B<Inkscape> is free software; you can redistribute it and/or modify it
under the terms of the GPL version 2 or later.


=for comment
$Date$
