Code

Filters. Custom predefined filters update and new ABC filters.
[inkscape.git] / inkscape.pod
index 5b23dfd9b29bed95ee9109ee3fd9df74156e7538..8a41508119a84d664dddcc609d6e8ffc8dee025d 100644 (file)
@@ -9,16 +9,15 @@ C<inkscape [options] [filename ...]>
 
 options:
 
-    -?, --help         
+    -?, --help        
         --usage       
     -V, --version
 
     -f, --file=FILENAME               
-    -s, --slideshow                   
 
     -e, --export-png=FILENAME         
     -a, --export-area=x0:y0:x1:y1     
-    -C, --export-area-canvas
+    -C, --export-area-page
     -D, --export-area-drawing
         --export-area-snap
     -i, --export-id=ID     
@@ -33,22 +32,29 @@ options:
     -P, --export-ps=FILENAME
     -E, --export-eps=FILENAME
     -A, --export-pdf=FILENAME
+        --export-latex
 
     -T, --export-text-to-path
-    -B, --export-bbox-page 
-    -F, --export-embed-fonts
+        --export-ignore-filters
 
     -l, --export-plain-svg=FILENAME             
 
+    -p, --print=PRINTER
+
     -I, --query-id=ID     
     -X, --query-x
     -Y, --query-y
     -W, --query-width
     -H, --query-height
+    -S, --query-all
 
     -x, --extension-directory
 
-    -p, --print=PRINTER
+        --verb-list
+        --verb=VERB-ID
+        --select=OBJECT-ID
+
+        --shell
 
     -g, --with-gui                    
     -z, --without-gui                 
@@ -61,10 +67,11 @@ options:
 
 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<Visio>, etc. Inkscape features include versatile
+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, SVG-to-PNG export, grouping, layers, live clones, and more.  The interface is
+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.
@@ -97,25 +104,30 @@ Show Inkscape version and build date.
 =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 canvas.  The point (0,0)
+in Inkscape SVG).  The default is to export the entire document page.  The point (0,0)
 is the lower-left corner.
 
-=item B<-C>, B<--export-area-canvas>
+=item B<-C>, B<--export-area-page>
 
-In PNG export, exported area is the entire canvas (page). Usually this is the default, so you
-don't need to specify this unless you are using --export-id to export a specific object.
+In PNG, PDF, PS, and EPS export, exported area is the page. This is the default
+for PNG, PDF, and PS, so you don't need to specify this unless you are using --export-id 
+to export a specific object. In EPS, however, this is not the default; moreover, for EPS, 
+the specification of the format does not allow its bounding box to extend beyond its content. 
+This means that when --export-area-page is used with EPS export, the page bounding box 
+will be trimmed inwards to the bounding box of the content if it is smaller.
 
 =item B<-D>, B<--export-area-drawing>
 
-In PNG export, exported area is the entire drawing (not canvas), i.e. the bounding box
-of all objects of the document. With this option, the exported image will
-display just the visible objects of the document without margins or cropping. Can be
-used in combination wtih --export-use-hints.
+In 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 --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 --export-use-hints.
 
 =item B<--export-area-snap>
 
-Snap the export area outwards to the nearest integer SVG user unit (px) values. If you are using the 
-default export resolution of 90dpi and your graphics are pixel-snapped to minimize antialiasing, this switch 
+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 90 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 --export-id or --export-area-drawing) which is itself not pixel-aligned.
 
@@ -128,8 +140,10 @@ then the page color set in Inkscape in the Document Options dialog will be used
 
 =item B<-d> I<DPI>, B<--export-dpi>=I<DPI>
 
-The resolution used for bitmap export.
-The default is 90, which corresponds to 1 SVG user unit 
+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 --export-ignore-filters to suppress
+rasterization). The default is 90 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 --export-use-hints.
 
@@ -154,25 +168,50 @@ This value overrides the --export-dpi setting (or the DPI hint if used with --ex
 
 =item B<-i> I<ID>, B<--export-id>=I<ID>
 
-The id attribute value of the object that you want to export from the document.  By
+For PNG, PS, EPS, and PDF export, the id attribute value of the object 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
---export-area, --export-area-canvas, or --export-area-drawing.
+--export-area (PNG only) or --export-area-page.
 
 =item B<-j>, B<--export-id-only>
 
-Only export the object whose id is given in --export-id. All other objects are hidden and won't 
-show in export even if they overlay the exported object. Without --export-id, this option is ignored.
+Only export to PNG the object whose id is given in --export-id. All other objects are hidden and won't 
+show in export even if they overlay the exported object. 
+Without --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>=I<FILENAME>
 
 Export document(s) to plain SVG format, without sodipodi: or inkscape: namespaces and without RDF metadata.
 
-=item B<-l>, B<--extension-directory>
+=item B<-x>, B<--extension-directory>
 
 Lists the current extension directory that Inkscape is configured to use and
 then exits.  This is used for external extension to use the same configuration
 as the original Inkscape installation.
 
+=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 --verb
+command line option.
+
+=item B<--verb>=I<VERB-ID>, B<--select>=I<OBJECT-ID>
+
+These two options work together to provide some basic scripting for
+Inkscape from the command line.  They both can occur as many times as
+needed on the command line and are executed in order on every document that
+is specified.
+
+The --verb command will execute a specific verb as if it
+was 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 --verb-list
+command line option.
+
+The --select command will cause objects that have the ID
+specified to be selected.  This allows various verbs to act upon them.  To
+remove all the selections use --verb=EditDeselect.  The object IDs
+available are dependent on the document specified to load.
+
 =item B<-p> I<PRINTER>, B<--print>=I<PRINTER>
 
 Print document(s) to the specified printer using `lpr -P PRINTER'.
@@ -182,10 +221,6 @@ Remember to do appropriate quoting for your shell, e.g.
 
 inkscape --print='| ps2pdf - mydoc.pdf' mydoc.svg
 
-=item B<-s>, B<--slideshow>
-
-Show given files one by one, switching to the next one by any key or mouse event.
-
 =item B<-t>, B<--export-use-hints>
 
 Use export filename and DPI hints stored in the exported object (only with --export-id).
@@ -217,27 +252,42 @@ then the value of 255 (full opacity) will be used.
 
 =item B<-P> I<FILENAME>, B<--export-ps>=I<FILENAME>
 
-Export document(s) to PostScript format. Note that PostScript does not support transparency, so any transparency in the original SVG will be lost. This option can be used together with --export-bbox-page and --export-text-to-path.
+Export document(s) to PostScript format. 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 --export-area-drawing. You can 
+specify --export-id to export a single object (all other are hidden); in that case 
+export area is that object's bounding box, but can be set to page by --export-area-page.
 
 =item B<-E> I<FILENAME>, B<--export-eps>=I<FILENAME>
 
-Export document(s) to Encapsulated PostScript format. Note that PostScript does not support transparency, so any transparency in the original SVG will be lost. This option can be used together with --export-bbox-page and --export-text-to-path.
+Export document(s) to Encapsulated PostScript format. 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 drawing; you can set it to page, however see --export-area-page for applicable limitation. You can specify --export-id to export a single object (all other are hidden).
 
 =item B<-A> I<FILENAME>, B<--export-pdf>=I<FILENAME>
 
-Export document(s) to PDF 1.4 format. This format preserves the transparency in the original SVG (though not all PDF viewers can display it yet). This option can be used together with --export-text-to-path (currently this is required, because exporting text as text is not yet supported).
+Export document(s) to PDF format. This format preserves the 
+transparency in the original SVG. Used fonts are subset and embedded. 
+The default export area is page; you can set it to drawing by --export-area-drawing. You can 
+specify --export-id to export a single object (all other are hidden); in that case 
+export area is that object's bounding box, but can be set to page by --export-area-page.
 
-=item B<-T>, B<--export-text-to-path>
+=item B<--export-latex>
 
-Convert text objects to paths on export, where applicable (currently works for PS, EPS, and PDF export).
+(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-pdf) 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<-B>, B<--export-bbox-page>
+=item B<-T>, B<--export-text-to-path>
 
-Export files with the bounding box set to the page size, where applicable (currently works for PS and EPS export).
+Convert text objects to paths on export, where applicable (for PS, EPS, and PDF export).
 
-=item B<-F>, B<--export-embed-fonts>
+=item B<--export-ignore-filters>
 
-Embed fonts used in the document into exported PS/EPS file. Note: only Type 1 fonts can be embedded, not TrueType.
+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 --export-dpi (default 90 dpi), preserving the appearance.
 
 =item B<-I>, B<--query-id>
 
@@ -246,19 +296,35 @@ return the dimensions of the drawing (i.e. all document objects), not the page o
 
 =item B<-X>, B<--query-x>
 
-Query the X coordinate of of the drawing or, if specified, of the object with --query-id. The returned value is in px (SVG user units). 
+Query the X coordinate of the drawing or, if specified, of the object with --query-id. The returned value is in px (SVG user units). 
 
 =item B<-Y>, B<--query-y>
 
-Query the Y coordinate of of the drawing or, if specified, of the object with --query-id. The returned value is in px (SVG user units). 
+Query the Y coordinate of the drawing or, if specified, of the object with --query-id. The returned value is in px (SVG user units). 
 
 =item B<-W>, B<--query-width>
 
-Query the width of of the drawing or, if specified, of the object with --query-id. The returned value is in px (SVG user units). 
+Query the width of the drawing or, if specified, of the object with --query-id. The returned value is in px (SVG user units). 
 
 =item B<-H>, B<--query-height>
 
-Query the height of of the drawing or, if specified, of the object with --query-id. The returned value is in px (SVG user units). 
+Query the height of the drawing or, if specified, of the object with --query-id. The returned value is in px (SVG user units). 
+
+=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<--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). Each command in shell mode must be a
+complete valid Inkscape command line but without the Inkscape program name, for example
+"file.svg --export-pdf=file.pdf".
 
 =item B<--vacuum-defs>
 
@@ -273,9 +339,8 @@ This is assumed for -p, -e, -l, and --vacuum-defs options.
 
 =item B<--g-fatal-warnings>
 
-Part of the standard GTK option that are recognized.  This forces any GTK
-warnings to cause Inkscape to abort.  This option is listed because it gets
-used for debugging.
+This standard GTK option forces any warnings, usually harmless, to cause Inkscape to
+abort (useful for debugging).
 
 =item B<--usage>
 
@@ -285,72 +350,36 @@ Display a brief usage message.
 
 =head1 CONFIGURATION
 
-The preferences.xml configuration file located in ~/.inkscape/ is used
-to customize the application settings for the user.  
-
-=over 8
-
-=item B<interface> 
-
-The B<interface> element(s) of the config file is used to set parameters
-related to the GUI interface, such as the open/closed status of various
-GUI elements, etc. 
-
-=item B<group id="documents">
-
-The documents group is used for containing the recent files list.  Each
-document is listed with its uri (path) and name indicated.
-
-=item B<group id="template">
-
-The template group is used for storing parameters related to blank
-documents. 
-
-=item B<group id="tools">
-
-The tools group is used for storing the user style preferences for
-different event contexts (i.e., shapes, freehand or calligraphic stroke
-properties, etc.).
-
-=item B<group id="palette">
-
-The palette group allows setting of dash styles.  This allows you to
-define the stroke lengths for different kinds of dashes.
+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:
 
-=item B<group id="dialogs">
+B<$HOME>/.config/inkscape/extensions/ - extension effects.
 
-The dialogs group allows persisting the position and width of each of
-the dialogs in the application, so that they'll start up in the last
-place the user had them at the next time the app is run.
+B<$HOME>/.config/inkscape/icons/ - icons.
 
-=item B<group id="printing">
+B<$HOME>/.config/inkscape/keys/ - keyboard maps.
 
-The printing group is for storing different printer settings.  Each
-setting is identified with an id.  Properties include I<bitmap>
-(true/false), I<resolution>, and I<destination>.
-
-=item B<group id="options">
-
-The options group allows persisting various user selected options
-including I<nudgeddistance>, I<rotationstep>, I<cursortolerance>, and
-I<dragtolerance>. 
-
-=back
+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 are printed to STDERR or
+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 sometimes useful to look at this output for clues.
+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 commandline as well.
+it can be used for doing SVG processing on the command line as well.
+
+Open an SVG file in the GUI:
 
-Print an SVG file:
+    inkscape filename.svg
+
+Print an SVG file from the command line:
 
     inkscape filename.svg -p '| lpr'
 
@@ -371,13 +400,13 @@ the resolution that were used for that object last time when it was exported fro
 
     inkscape filename.svg --export-id=text1555 --export-use-hints
 
-Same, but use the default 90dpi resolution, specify the filename, 
+Same, but use the default 90 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 antialiasing):
+(to preserve pixel-alignment of objects and thus minimize aliasing):
 
-    inkscape filename.svg --export-id=text1555 --export-png=text.png --export-snap-area
+    inkscape filename.svg --export-id=text1555 --export-png=text.png --export-area-snap
 
-Convert an Inkscape SVG document to plain SVG:  
+Convert an Inkscape SVG document to plain SVG:
 
     inkscape filename1.svg --export-plain-svg=filename2.svg
 
@@ -389,6 +418,10 @@ Query the width of the object with id="text1555":
 
     inkscape filename.svg --query-width --query-id text1555
 
+Duplicate the object with id="path1555", rotate the duplicate 90 degrees, save SVG, and quit:
+
+    inkscape filename.svg --select=path1555 --verb=EditDuplicate --verb=ObjectRotate90 --verb=FileSave --verb=FileClose
+
 
 =head1 ENVIRONMENT
 
@@ -401,7 +434,7 @@ files.  The directory must exist.
 
 To load different icons sets instead of the default
 B<$PREFIX>/share/inkscape/icons/icons.svg file, the directory
-B<$HOME>/.inkscape/icons/ is used.  Icons are loaded by name
+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.
@@ -411,26 +444,19 @@ 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 FILES
-
-B<$HOME>/.inkscape/preferences.xml - The user's preference settings. 
-
-B<$HOME>/.inkscape/extensions.xml - The filter programs to be used in
-the application.
 
-B<$HOME>/.inkscape/icons/{*,icons}.svg - Icons to overload for themes.
 
 =head1 OTHER INFO
 
 The canonical place to find B<Inkscape> info is at
-http://www.inkscape.org/.  The website includes links to other relevant
-documentation, tutorials, user manual, examples, mailing list archives,
-the latest released version of the program, and more. 
+http://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
 
-gimp(1), autotrace, potrace, frontline, ill2svg, rsvg(1), xfig(1), sodipodi,
-karbon14, dia(1X), batik.
+potrace, cairo, rsvg(1), batik, ghostscript, pstoedit.
 
 SVG compliance test suite:  http://www.w3.org/Graphics/SVG/Test/
 
@@ -457,28 +483,27 @@ L<http://www.w3.org/TR/DOM-Level-2-Core/>
 
 To learn Inkscape's GUI operation, read the tutorials in Help > Tutorials.
 
-Inkscape can import (File > Import) most bitmap formats (PNG, BMP, JPG, XPM, GIF etc.),
-plain text (requires Perl), and AI format (Adobe Illustrator documents, versions up to 7 only;
-requires Perl). 
+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) as well as AI, PS, EPS, PDF (requires
-Ghostscript), DXF and several other formats via File > Save as.
+Inkscape exports 32-bit PNG images (File > Export) 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 and angle of
-the Calligraphic tool.
+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
 (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 Effects menu. A script can have a GUI dialog for setting various
+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, mostly for path
-manipulation.
+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 from the GUI to see an SVG chart.
+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
 
@@ -488,7 +513,7 @@ your version (file `NEWS').
 
 =head1 AUTHORS
 
-This codebase owes its existance to a large number of contributors
+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:
@@ -504,7 +529,7 @@ 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.  
+stroking and filling, line cap style, line join style, text, etc.
 Raph's Gill page is at http://www.levien.com/svg/.  Work on Gill appears
 to have slowed or ceased in 2000.
 
@@ -518,14 +543,36 @@ 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.  
+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 COPYRIGHT AND LICENSE
 
-B<Copyright (C)> 1999-2005 by Authors.  
+B<Copyright (C)> 1999-2010 by Authors.
 
 B<Inkscape> is free software; you can redistribute it and/or modify it
-under the terms of the GPL.  
+under the terms of the GPL.
 
 
 =for comment