Code

Don't crash when the original of an SPUse can't be found. This sort of fixes LP 18573...
[inkscape.git] / inkscape.pod
index a0f5f45a66786c7aae26d64ed0de4bff12e551d7..5d9c3d3f383210c6af82f8e071a1d0d37d20d883 100644 (file)
@@ -9,12 +9,11 @@ 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     
@@ -32,8 +31,11 @@ options:
 
     -P, --export-ps=FILENAME
     -E, --export-eps=FILENAME
+    -A, --export-pdf=FILENAME
+
     -T, --export-text-to-path
     -B, --export-bbox-page 
+    -F, --export-embed-fonts
 
     -l, --export-plain-svg=FILENAME             
 
@@ -42,9 +44,14 @@ options:
     -Y, --query-y
     -W, --query-width
     -H, --query-height
+    -S, --query-all
 
     -x, --extension-directory
 
+        --verb-list
+        --verb=VERB-ID
+        --select=OBJECT-ID
+
     -p, --print=PRINTER
 
     -g, --with-gui                    
@@ -164,12 +171,35 @@ show in export even if they overlay the exported object. Without --export-id, th
 
 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'.
@@ -179,10 +209,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).
@@ -214,19 +240,27 @@ 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.
+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.
 
 =item B<-E> I<FILENAME>, B<--export-eps>=I<FILENAME>
 
-Export document(s) to Encapsulated PostScript format.
+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.
+
+=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).
 
 =item B<-T>, B<--export-text-to-path>
 
-Convert text objects to paths on export, where applicable (currently works with EPS only).
+Convert text objects to paths on export, where applicable (currently works for PS, EPS, and PDF export).
 
 =item B<-B>, B<--export-bbox-page>
 
-Export files with the bounding box set to the page size, where applicable (currently works with EPS only).
+Export files with the bounding box set to the page size, where applicable (currently works for PS and EPS export).
+
+=item B<-F>, B<--export-embed-fonts>
+
+Embed fonts used in the document into exported PS/EPS file. Note: only Type 1 fonts can be embedded, not TrueType.
 
 =item B<-I>, B<--query-id>
 
@@ -249,6 +283,11 @@ Query the width of of the drawing or, if specified, of the object with --query-i
 
 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). 
 
+=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<--vacuum-defs>
 
 Remove all unused items from the <lt>defs<gt> section of the SVG file.  If this
@@ -321,7 +360,7 @@ setting is identified with an id.  Properties include I<bitmap>
 =item B<group id="options">
 
 The options group allows persisting various user selected options
-including I<nudgeddistance>, I<rotationstep>, I<cursortolerance>, and
+including I<nudgedistance>, I<rotationstep>, I<cursortolerance>, and
 I<dragtolerance>. 
 
 =back
@@ -330,16 +369,20 @@ I<dragtolerance>.
 
 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.
 
-Print an SVG file:
+Open an SVG file in the GUI:
+
+    inkscape filename.svg
+
+Print an SVG file from the command line:
 
     inkscape filename.svg -p '| lpr'
 
@@ -378,6 +421,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
 
@@ -404,22 +451,26 @@ icon, whether it comes from I<fill_none.svg> or I<icons.svg>.)
 
 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/extensions/ - Directory with user's extension effects.
+
+B<$HOME>/.inkscape/icons/ - Directory with user's icons.
+
+B<$HOME>/.inkscape/keys/ - Directory with user's keyboard maps.
+
+B<$HOME>/.inkscape/templates/ - Directory with user's new file templates.
 
-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/
 
@@ -446,15 +497,15 @@ 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), 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.
@@ -462,12 +513,11 @@ Inkscape includes a GUI front-end to the Potrace bitmap tracing engine
 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
 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
 
@@ -507,11 +557,33 @@ 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 stablization
+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-2007 by Authors.  
 
 B<Inkscape> is free software; you can redistribute it and/or modify it
 under the terms of the GPL.