Code

moving trunk for module inkscape
[inkscape.git] / inkscape.pod
2 =head1 NAME
4 Inkscape - an SVG (Scalable Vector Graphics) editing program.
6 =head1 SYNOPSIS
8 C<inkscape [options] [filename ...]>
10 options:
12     -?, --help          
13         --usage       
14     -V, --version
16     -f, --file=FILENAME               
17     -s, --slideshow                   
19     -e, --export-png=FILENAME         
20     -a, --export-area=x0:y0:x1:y1     
21     -D, --export-area-drawing
22         --export-area-snap
23     -i, --export-id=ID     
24     -j, --export-id-only     
25     -t, --export-use-hints
26     -b, --export-background=COLOR     
27     -y, --export-background-opacity=VALUE     
28     -d, --export-dpi=DPI              
29     -w, --export-width=WIDTH          
30     -h, --export-height=HEIGHT        
32     -P, --export-ps=FILENAME
33     -E, --export-eps=FILENAME
34     -T, --export-text-to-path
35     -B, --export-bbox-page 
37     -l, --export-plain-svg=FILENAME             
39     -I, --query-id=ID     
40     -X, --query-x
41     -Y, --query-y
42     -W, --query-width
43     -H, --query-height
45     -x, --extension-directory
47     -p, --print=PRINTER
49     -g, --with-gui                    
50     -z, --without-gui                 
52         --vacuum-defs
54         --g-fatal-warnings
56 =head1 DESCRIPTION
58 B<Inkscape> is a GUI editor for B<Scalable Vector Graphics (SVG)> format
59 drawing files, with capabilities similar to B<Adobe Illustrator>,
60 B<CorelDraw>, B<Visio>, etc. Inkscape features include versatile
61 shapes, bezier paths, freehand drawing, multi-line text, text on path,
62 alpha blending, arbitrary affine transforms, gradient and pattern fills, node
63 editing, SVG-to-PNG export, grouping, layers, live clones, and more.  The interface is
64 designed to be comfortable and efficient for skilled users, while
65 remaining conformant to B<GNOME> standards so that users familiar with
66 other GNOME applications can learn its interface rapidly.
68 B<SVG> is a W3C standard XML format for 2D vector drawing. It allows
69 defining objects in the drawing using points, paths, and primitive
70 shapes.  Colors, fonts, stroke width, and so forth are specified as
71 `style' attributes to these objects.  The intent is that since SVG is a
72 standard, and since its files are text/xml, it will be
73 possible to use SVG files in a sizeable number of programs and for a
74 wide range of uses.
76 B<Inkscape> uses SVG as its native document format, and has the goal of
77 becoming the most fully compliant drawing program for SVG files
78 available in the Open Source community.
81 =head1 OPTIONS
83 =over 8
85 =item B<-?>, B<--help>
87 Show help message
89 =item B<-V>, B<--version>
91 Show Inkscape version and build date.
93 =item B<-a> I<x0:y0:x1:y1>, B<--export-area>=I<x0:y0:x1:y1>
95 In PNG export, set the exported area in SVG user units (anonymous length units normally used
96 in Inkscape SVG).  The default is to export the entire document canvas.  The point (0,0)
97 is the lower-left corner.
99 =item B<-D>, B<--export-area-drawing>
101 In PNG export, exported area is the entire drawing (not canvas), i.e. the bounding box
102 of all objects of the document. With this option, the exported image will
103 display just the visible objects of the document without margins or cropping. Can be
104 used in combination wtih --export-use-hints.
106 =item B<--export-area-snap>
108 Snap the export area outwards to the nearest integer SVG user unit (px) values. If you are using the 
109 default export resolution of 90dpi and your graphics are pixel-snapped to minimize antialiasing, this switch 
110 allows you to preserve this alignment even if you are exporting some object's bounding 
111 box (with --export-id or --export-area-drawing) which is itself not pixel-aligned.
113 =item B<-b> I<COLOR>, B<--export-background>=I<COLOR>
115 Background color of exported PNG.
116 This may be any SVG supported color string, for example "#ff007f" or "rgb(255, 0, 128)".
117 If not set,
118 then the page color set in Inkscape in the Document Options dialog will be used (stored in the pagecolor= attribute of sodipodi:namedview).
120 =item B<-d> I<DPI>, B<--export-dpi>=I<DPI>
122 The resolution used for bitmap export.
123 The default is 90, which corresponds to 1 SVG user unit 
124 (px, also called "user unit") exporting to 1 bitmap pixel.
125 This value overrides the DPI hint if used with --export-use-hints.
127 =item B<-e> I<FILENAME>, B<--export-png>=I<FILENAME>
129 Specify the filename for PNG export.
130 If it already exists, the file will be overwritten without asking.
132 =item B<-f> I<FILENAME>, B<--file>=I<FILENAME>
134 Open specified document(s).
135 Option string may be omitted, i.e. you can list the filenames without -f.
137 =item B<-g>, B<--with-gui>
139 Try to use the GUI (on Unix, use the X server even if $DISPLAY is not set).
141 =item B<-h> I<HEIGHT>, B<--export-height>=I<HEIGHT>
143 The height of generated bitmap in pixels.
144 This value overrides the --export-dpi setting (or the DPI hint if used with --export-use-hints). 
146 =item B<-i> I<ID>, B<--export-id>=I<ID>
148 The id attribute value of the object that you want to export from the document.
149 Exported is the bounding box of the object, so with this option, --export-area is ignored. 
151 =item B<-j>, B<--export-id-only>
153 Only export the object whose id is given in --export-id. All other objects are hidden and won't 
154 show in export even if they overlay the exported object. Without --export-id, this option is ignored.
156 =item B<-l>, B<--export-plain-svg>=I<FILENAME>
158 Export document(s) to plain SVG format, without sodipodi: or inkscape: namespaces and without RDF metadata.
160 =item B<-l>, B<--extension-directory>
162 Lists the current extension directory that Inkscape is configured to use and
163 then exits.  This is used for external extension to use the same configuration
164 as the original Inkscape installation.
166 =item B<-p> I<PRINTER>, B<--print>=I<PRINTER>
168 Print document(s) to the specified printer using `lpr -P PRINTER'.
169 Alternatively, use `| COMMAND' to specify a different command to pipe to,
170 or use `> FILENAME' to write the PostScript output to a file instead of printing.
171 Remember to do appropriate quoting for your shell, e.g.
173 inkscape --print='| ps2pdf - mydoc.pdf' mydoc.svg
175 =item B<-s>, B<--slideshow>
177 Show given files one by one, switching to the next one by any key or mouse event.
179 =item B<-t>, B<--export-use-hints>
181 Use export filename and DPI hints stored in the exported object (only with --export-id).
182 These hints are set automatically when you export selection from within Inkscape.
183 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,
184 then later you will be able to reexport that shape to the same file with the same resolution simply with 
186 inkscape -i path231 -t document.svg
188 If you use --export-dpi, --export-width, or --export-height with this option,
189 then the DPI hint will be ignored and the value from the command line will be used.
190 If you use --export-png with this option,
191 then the filename hint will be ignored and the filename from the command line will be used. 
193 =item B<-w> I<WIDTH>, B<--export-width>=I<WIDTH>
195 The width of generated bitmap in pixels.
196 This value overrides the --export-dpi setting (or the DPI hint if used with --export-use-hints). 
198 =item B<-y> I<VALUE>, B<--export-background-opacity>=I<VALUE>
200 Opacity of the background of exported PNG.
201 This may be a value either between 0.0 and 1.0 (0.0 meaning full transparency, 1.0 full opacity)
202 or greater than 1 up to 255 (255 meaning full opacity).
203 If not set and the -b option is not used,
204 then the page opacity set in Inkscape in the Document Options dialog will be used (stored in the inkscape:pageopacity= attribute of sodipodi:namedview).
205 If not set but the -b option is used,
206 then the value of 255 (full opacity) will be used. 
208 =item B<-P> I<FILENAME>, B<--export-ps>=I<FILENAME>
210 Export document(s) to PostScript format.
212 =item B<-E> I<FILENAME>, B<--export-eps>=I<FILENAME>
214 Export document(s) to Encapsulated PostScript format.
216 =item B<-T>, B<--export-text-to-path>
218 Convert text objects to paths on export, where applicable (currently works with EPS only).
220 =item B<-B>, B<--export-bbox-page>
222 Export files with the bounding box set to the page size, where applicable (currently works with EPS only).
224 =item B<-I>, B<--query-id>
226 Set the ID of the object whose dimensions are queried. If not set, query options will 
227 return the dimensions of the drawing (i.e. all document objects), not the page or viewbox
229 =item B<-X>, B<--query-x>
231 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). 
233 =item B<-Y>, B<--query-y>
235 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). 
237 =item B<-W>, B<--query-width>
239 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). 
241 =item B<-H>, B<--query-height>
243 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). 
245 =item B<--vacuum-defs>
247 Remove all unused items from the <lt>defs<gt> section of the SVG file.  If this
248 option is invoked in conjunction with --export-plain-svg, only the exported file
249 will be affected.  If it is used alone, the specified file will be modified in place.
251 =item B<-z>, B<--without-gui>
253 Do not open the GUI (on Unix, do not use X server); only process the files from console.
254 This is assumed for -p, -e, -l, and --vacuum-defs options. 
256 =item B<--g-fatal-warnings>
258 Part of the standard GTK option that are recognized.  This forces any GTK
259 warnings to cause Inkscape to abort.  This option is listed because it gets
260 used for debugging.
262 =item B<--usage>
264 Display a brief usage message.
266 =back
268 =head1 CONFIGURATION
270 The preferences.xml configuration file located in ~/.inkscape/ is used
271 to customize the application settings for the user.  
273 =over 8
275 =item B<interface> 
277 The B<interface> element(s) of the config file is used to set parameters
278 related to the GUI interface, such as the open/closed status of various
279 GUI elements, etc. 
281 =item B<group id="documents">
283 The documents group is used for containing the recent files list.  Each
284 document is listed with its uri (path) and name indicated.
286 =item B<group id="template">
288 The template group is used for storing parameters related to blank
289 documents. 
291 =item B<group id="tools">
293 The tools group is used for storing the user style preferences for
294 different event contexts (i.e., shapes, freehand or calligraphic stroke
295 properties, etc.).
297 =item B<group id="palette">
299 The palette group allows setting of dash styles.  This allows you to
300 define the stroke lengths for different kinds of dashes.
302 =item B<group id="dialogs">
304 The dialogs group allows persisting the position and width of each of
305 the dialogs in the application, so that they'll start up in the last
306 place the user had them at the next time the app is run.
308 =item B<group id="printing">
310 The printing group is for storing different printer settings.  Each
311 setting is identified with an id.  Properties include I<bitmap>
312 (true/false), I<resolution>, and I<destination>.
314 =item B<group id="options">
316 The options group allows persisting various user selected options
317 including I<nudgeddistance>, I<rotationstep>, I<cursortolerance>, and
318 I<dragtolerance>. 
320 =back
322 =head1 DIAGNOSTICS
324 The program returns zero on success or non-zero on failure.
326 A variety of error messages and warnings are printed to STDERR or
327 STDOUT.  If the program behaves erratically with a particular SVG file
328 or crashes, it is sometimes useful to look at this output for clues.
330 =head1 EXAMPLES
332 While obviously B<Inkscape> is primarily intended as a GUI application,
333 it can be used for doing SVG processing on the commandline as well.
335 Print an SVG file:
337     inkscape filename.svg -p '| lpr'
339 Export an SVG file into PNG with the default resolution of 90dpi (one SVG user unit translates to one bitmap pixel):
341     inkscape filename.svg --export-png=filename.png
343 Same, but force the PNG file to be 600x400 pixels:
345     inkscape filename.svg --export-png=filename.png -w600 -h400
347 Same, but export the drawing (bounding box of all objects), not the page:
349     inkscape filename.svg --export-png=filename.png --export-area-drawing
351 Export to PNG the object with id="text1555", using the output filename and 
352 the resolution that were used for that object last time when it was exported from the GUI:
354     inkscape filename.svg --export-id=text1555 --export-use-hints
356 Same, but use the default 90dpi resolution, specify the filename, 
357 and snap the exported area outwards to the nearest whole SVG user unit values 
358 (to preserve pixel-alignment of objects and thus minimize antialiasing):
360     inkscape filename.svg --export-id=text1555 --export-png=text.png --export-snap-area
362 Convert an Inkscape SVG document to plain SVG:  
364     inkscape filename1.svg --export-plain-svg=filename2.svg
366 Convert an SVG document to EPS, converting all texts to paths:
368     inkscape filename.svg --export-eps=filename.eps --export-text-to-path
370 Query the width of the object with id="text1555":
372     inkscape filename.svg --query-width --query-id text1555
375 =head1 ENVIRONMENT
377 B<DISPLAY> to get the default host and display number.
379 B<TMPDIR> to set the default path of the directory to use for temporary
380 files.  The directory must exist.
382 =head1 THEMES
384 To load different icons sets instead of the default
385 B<$PREFIX>/share/inkscape/icons/icons.svg file, the directory
386 B<$HOME>/.inkscape/icons/ is used.  Icons are loaded by name
387 (e.g. I<fill_none.svg>), or if not found, then from I<icons.svg>.  If the
388 icon is not loaded from either of those locations, it falls back to the
389 default system location.
391 The needed icons are loaded from SVG files by searching for the SVG id with
392 the matching icon name.  (For example, to load the "fill_none" icon from
393 a file, the bounding box seen for SVG id "fill_none" is rendered as the
394 icon, whether it comes from I<fill_none.svg> or I<icons.svg>.)
396 =head1 FILES
398 B<$HOME>/.inkscape/preferences.xml - The user's preference settings. 
400 B<$HOME>/.inkscape/extensions.xml - The filter programs to be used in
401 the application.
403 B<$HOME>/.inkscape/icons/{*,icons}.svg - Icons to overload for themes.
405 =head1 OTHER INFO
407 The canonical place to find B<Inkscape> info is at
408 http://www.inkscape.org/.  The website includes links to other relevant
409 documentation, tutorials, user manual, examples, mailing list archives,
410 the latest released version of the program, and more. 
412 =head1 SEE ALSO
414 gimp(1), autotrace, potrace, frontline, ill2svg, rsvg(1), xfig(1), sodipodi,
415 karbon14, dia(1X), batik.
417 SVG compliance test suite:  http://www.w3.org/Graphics/SVG/Test/
419 SVG validator:  http://jiggles.w3.org/svgvalidator/
421 I<Scalable Vector Graphics (SVG) 1.1 Specification>
422 I<W3C Recommendation 14 January 2003>
423 L<http://www.w3.org/TR/SVG11/>
425 I<Scalable Vector Graphics (SVG) 1.2 Specification>
426 I<W3C Working Draft 13 November 2003>
427 L<http://www.w3.org/TR/SVG12/>
429 I<SVG 1.1/1.2/2.0 Requirements>
430 I<W3C Working Draft 22 April 2002>
431 L<http://www.w3.org/TR/SVG2Reqs/>
433 I<Document Object Model (DOM): Level 2 Core>
434 I<Arnaud Le Hors et al editors, W3C>
435 L<http://www.w3.org/TR/DOM-Level-2-Core/>
438 =head1 GUI NOTES
440 To learn Inkscape's GUI operation, read the tutorials in Help > Tutorials.
442 Inkscape can import (File > Import) most bitmap formats (PNG, BMP, JPG, XPM, GIF etc.),
443 plain text (requires Perl), and AI format (Adobe Illustrator documents, versions up to 7 only;
444 requires Perl). 
446 Inkscape exports 32-bit PNG images (File > Export) as well as AI, PS, EPS, PDF (requires
447 Ghostscript), DXF and several other formats via File > Save as.
449 Inkscape can use the pressure and tilt of a graphic tablet pen for width and angle of
450 the Calligraphic tool.
452 Inkscape includes a GUI front-end to the Potrace bitmap tracing engine
453 (http://potrace.sf.net) which is embedded into Inkscape.
455 Inkscape can use external scripts (stdin-to-stdout filters) that are represented by
456 commands in the Effects menu. A script can have a GUI dialog for setting various
457 parameters and can get the IDs of the selected objects on which to act via the command
458 line. Inkscape comes with an assortment of effects written in Python, mostly for path
459 manipulation.
461 =head1 KEYBINDINGS
463 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.
465 =head1 BUGS
467 Many bugs are known; please refer to the website (inkscape.org) for reviewing the reported ones and to
468 report newly found issues.  See also the Known Issues section in the Release Notes for
469 your version (file `NEWS').
471 =head1 AUTHORS
473 This codebase owes its existance to a large number of contributors
474 throughout its various incarnations.  The following list is certainly
475 incomplete, but serves to recognize the many shoulders on which this
476 application sits:
478 [% INCLUDE "AUTHORS" %]
480 This man page was put together by Bryce Harrington
481 E<lt>brycehar@bryceharrington.comE<gt>.
483 =head1 HISTORY
485 The codebase that would become Inkscape began life in 1999 as the
486 program Gill, the GNOME Illustrator application, created by Raph
487 Levien.  The stated objective for Gill was to eventually support all of
488 SVG.  Raph implemented the PostScript bezier imaging model, including
489 stroking and filling, line cap style, line join style, text, etc.  
490 Raph's Gill page is at http://www.levien.com/svg/.  Work on Gill appears
491 to have slowed or ceased in 2000.
493 The next incarnation of the codebase was to become the highly popular
494 program Sodipodi, led by Lauris Kaplinski.  The codebase was turned
495 into a powerful illustration program over the course of several
496 year's work, adding several new features, multi-lingual support, porting
497 to Windows and other operating systems, and eliminating dependencies.
499 Inkscape was formed in 2003 by four active Sodipodi developers, Bryce
500 Harrington, MenTaLguY, Nathan Hurst, and Ted Gould, wanting to take a
501 different direction with the codebase in terms of focus on
502 SVG compliance, interface look-and-feel, and a desire to open
503 development opportunities to more participants.  
505 =head1 COPYRIGHT AND LICENSE
507 B<Copyright (C)> 1999-2005 by Authors.  
509 B<Inkscape> is free software; you can redistribute it and/or modify it
510 under the terms of the GPL.  
513 =for comment
514 $Date$