Code

From trunk
[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               
18     -e, --export-png=FILENAME         
19     -a, --export-area=x0:y0:x1:y1     
20     -C, --export-area-canvas
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     -A, --export-pdf=FILENAME
36     -T, --export-text-to-path
38     -l, --export-plain-svg=FILENAME             
40     -p, --print=PRINTER
42     -I, --query-id=ID     
43     -X, --query-x
44     -Y, --query-y
45     -W, --query-width
46     -H, --query-height
47     -S, --query-all
49     -x, --extension-directory
51         --verb-list
52         --verb=VERB-ID
53         --select=OBJECT-ID
55         --shell
57     -g, --with-gui                    
58     -z, --without-gui                 
60         --vacuum-defs
62         --g-fatal-warnings
64 =head1 DESCRIPTION
66 B<Inkscape> is a GUI editor for B<Scalable Vector Graphics (SVG)> format
67 drawing files, with capabilities similar to B<Adobe Illustrator>,
68 B<CorelDraw>, B<Xara Xtreme>, etc. Inkscape features include versatile
69 shapes, bezier paths, freehand drawing, multi-line text, text on path,
70 alpha blending, arbitrary affine transforms, gradient and pattern fills, node
71 editing, many export and import formats including PNG and PDF, grouping, 
72 layers, live clones, and a lot more.  The interface is
73 designed to be comfortable and efficient for skilled users, while
74 remaining conformant to B<GNOME> standards so that users familiar with
75 other GNOME applications can learn its interface rapidly.
77 B<SVG> is a W3C standard XML format for 2D vector drawing. It allows
78 defining objects in the drawing using points, paths, and primitive
79 shapes.  Colors, fonts, stroke width, and so forth are specified as
80 `style' attributes to these objects.  The intent is that since SVG is a
81 standard, and since its files are text/xml, it will be
82 possible to use SVG files in a sizeable number of programs and for a
83 wide range of uses.
85 B<Inkscape> uses SVG as its native document format, and has the goal of
86 becoming the most fully compliant drawing program for SVG files
87 available in the Open Source community.
90 =head1 OPTIONS
92 =over 8
94 =item B<-?>, B<--help>
96 Show help message
98 =item B<-V>, B<--version>
100 Show Inkscape version and build date.
102 =item B<-a> I<x0:y0:x1:y1>, B<--export-area>=I<x0:y0:x1:y1>
104 In PNG export, set the exported area in SVG user units (anonymous length units normally used
105 in Inkscape SVG).  The default is to export the entire document canvas.  The point (0,0)
106 is the lower-left corner.
108 =item B<-C>, B<--export-area-canvas>
110 In PNG, PDF, PS, and EPS export, exported area is the canvas (page). This is the default
111 for PNG, PDF, and PS, so you don't need to specify this unless you are using --export-id 
112 to export a specific object. In EPS, however, this is not the default; moreover, for EPS, 
113 the specification of the format does not allow its bounding box to extend beyond its content. 
114 This means that when --export-area-canvas is used with EPS export, the canvas bounding box 
115 will be trimmed inwards to the bounding box of the content if it is smaller.
117 =item B<-D>, B<--export-area-drawing>
119 In PNG, PDF, PS, and EPS export, exported area is the drawing (not canvas), i.e. the bounding box
120 of all objects of the document (or of the exported object if --export-id is used). 
121 With this option, the exported image will
122 display all the visible objects of the document without margins or cropping. This is the default
123 export area for EPS. For PNG, it can be used in combination wtih --export-use-hints.
125 =item B<--export-area-snap>
127 For PNG export, snap the export area outwards to the nearest integer SVG user unit (px) values. If you are using the 
128 default export resolution of 90dpi and your graphics are pixel-snapped to minimize antialiasing, this switch 
129 allows you to preserve this alignment even if you are exporting some object's bounding 
130 box (with --export-id or --export-area-drawing) which is itself not pixel-aligned.
132 =item B<-b> I<COLOR>, B<--export-background>=I<COLOR>
134 Background color of exported PNG.
135 This may be any SVG supported color string, for example "#ff007f" or "rgb(255, 0, 128)".
136 If not set,
137 then the page color set in Inkscape in the Document Options dialog will be used (stored in the pagecolor= attribute of sodipodi:namedview).
139 =item B<-d> I<DPI>, B<--export-dpi>=I<DPI>
141 The resolution used for PNG export.
142 The default is 90, which corresponds to 1 SVG user unit 
143 (px, also called "user unit") exporting to 1 bitmap pixel.
144 This value overrides the DPI hint if used with --export-use-hints.
146 =item B<-e> I<FILENAME>, B<--export-png>=I<FILENAME>
148 Specify the filename for PNG export.
149 If it already exists, the file will be overwritten without asking.
151 =item B<-f> I<FILENAME>, B<--file>=I<FILENAME>
153 Open specified document(s).
154 Option string may be omitted, i.e. you can list the filenames without -f.
156 =item B<-g>, B<--with-gui>
158 Try to use the GUI (on Unix, use the X server even if $DISPLAY is not set).
160 =item B<-h> I<HEIGHT>, B<--export-height>=I<HEIGHT>
162 The height of generated bitmap in pixels.
163 This value overrides the --export-dpi setting (or the DPI hint if used with --export-use-hints). 
165 =item B<-i> I<ID>, B<--export-id>=I<ID>
167 For PNG, PS, EPS, and PDF export, the id attribute value of the object that you want 
168 to export from the document; all other objects are not exported.  By
169 default the exported area is the bounding box of the object; you can override this using
170 --export-area (PNG only) or --export-area-canvas.
172 =item B<-j>, B<--export-id-only>
174 Only export to PNG the object whose id is given in --export-id. All other objects are hidden and won't 
175 show in export even if they overlay the exported object. 
176 Without --export-id, this option is ignored. For PDF export, this is the default, so this option has no effect.
178 =item B<-l>, B<--export-plain-svg>=I<FILENAME>
180 Export document(s) to plain SVG format, without sodipodi: or inkscape: namespaces and without RDF metadata.
182 =item B<-x>, B<--extension-directory>
184 Lists the current extension directory that Inkscape is configured to use and
185 then exits.  This is used for external extension to use the same configuration
186 as the original Inkscape installation.
188 =item B<--verb-list>
190 Lists all the verbs that are available in Inkscape by ID.  This ID can be
191 used in defining keymaps or menus.  It can also be used with the --verb
192 command line option.
194 =item B<--verb>=I<VERB-ID>, B<--select>=I<OBJECT-ID>
196 These two options work together to provide some basic scripting for
197 Inkscape from the command line.  They both can occur as many times as
198 needed on the command line and are executed in order on every document that
199 is specified.
201 The --verb command will execute a specific verb as if it
202 was called from a menu or button.  Dialogs will appear if that is part
203 of the verb.  To get a list of the verb IDs available, use the --verb-list
204 command line option.
206 The --select command will cause objects that have the ID
207 specified to be selected.  This allows various verbs to act upon them.  To
208 remove all the selections use --verb=EditDeselect.  The object IDs
209 available are dependent on the document specified to load.
211 =item B<-p> I<PRINTER>, B<--print>=I<PRINTER>
213 Print document(s) to the specified printer using `lpr -P PRINTER'.
214 Alternatively, use `| COMMAND' to specify a different command to pipe to,
215 or use `> FILENAME' to write the PostScript output to a file instead of printing.
216 Remember to do appropriate quoting for your shell, e.g.
218 inkscape --print='| ps2pdf - mydoc.pdf' mydoc.svg
220 =item B<-t>, B<--export-use-hints>
222 Use export filename and DPI hints stored in the exported object (only with --export-id).
223 These hints are set automatically when you export selection from within Inkscape.
224 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,
225 then later you will be able to reexport that shape to the same file with the same resolution simply with 
227 inkscape -i path231 -t document.svg
229 If you use --export-dpi, --export-width, or --export-height with this option,
230 then the DPI hint will be ignored and the value from the command line will be used.
231 If you use --export-png with this option,
232 then the filename hint will be ignored and the filename from the command line will be used. 
234 =item B<-w> I<WIDTH>, B<--export-width>=I<WIDTH>
236 The width of generated bitmap in pixels.
237 This value overrides the --export-dpi setting (or the DPI hint if used with --export-use-hints). 
239 =item B<-y> I<VALUE>, B<--export-background-opacity>=I<VALUE>
241 Opacity of the background of exported PNG.
242 This may be a value either between 0.0 and 1.0 (0.0 meaning full transparency, 1.0 full opacity)
243 or greater than 1 up to 255 (255 meaning full opacity).
244 If not set and the -b option is not used,
245 then the page opacity set in Inkscape in the Document Options dialog will be used (stored in the inkscape:pageopacity= attribute of sodipodi:namedview).
246 If not set but the -b option is used,
247 then the value of 255 (full opacity) will be used. 
249 =item B<-P> I<FILENAME>, B<--export-ps>=I<FILENAME>
251 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 canvas; you can set it to drawing by --export-area-drawing. You can 
252 specify --export-id to export a single object (all other are hidden); in that case 
253 export area is that object's bounding box, but can be set to canvas by --export-area-canvas.
255 =item B<-E> I<FILENAME>, B<--export-eps>=I<FILENAME>
257 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 canvas, however see --export-area-canvas for applicable limitation. You can specify --export-id to export a single object (all other are hidden).
259 =item B<-A> I<FILENAME>, B<--export-pdf>=I<FILENAME>
261 Export document(s) to PDF format. This format preserves the 
262 transparency in the original SVG. Used fonts are subset and embedded. 
263 The default export area is canvas; you can set it to drawing by --export-area-drawing. You can 
264 specify --export-id to export a single object (all other are hidden); in that case 
265 export area is that object's bounding box, but can be set to canvas by --export-area-canvas.
267 =item B<-T>, B<--export-text-to-path>
269 Convert text objects to paths on export, where applicable (currently works for PS, EPS, and PDF export).
271 =item B<-I>, B<--query-id>
273 Set the ID of the object whose dimensions are queried. If not set, query options will 
274 return the dimensions of the drawing (i.e. all document objects), not the page or viewbox
276 =item B<-X>, B<--query-x>
278 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). 
280 =item B<-Y>, B<--query-y>
282 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). 
284 =item B<-W>, B<--query-width>
286 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). 
288 =item B<-H>, B<--query-height>
290 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). 
292 =item B<-S>, B<--query-all>
294 Prints a comma delimited listing of all objects in the SVG document with
295 IDs defined, along with their x, y, width, and height values.
297 =item B<--shell>
299 With this parameter, Inkscape will enter an interactive command line shell mode. In this
300 mode, you type in commands at the prompt and Inkscape executes them, without you having
301 to run a new copy of Inkscape for each command. This feature is mostly useful for
302 scripting and server uses: it adds no new capabilities but allows you to improve the
303 speed and memory requirements of any script that repeatedly calls Inkscape to perform
304 command line tasks (such as export or conversions). Each command in shell mode must be a
305 complete valid Inkscape command line but without the Inkscape program name, for example
306 "file.svg --export-pdf=file.pdf".
308 =item B<--vacuum-defs>
310 Remove all unused items from the <lt>defs<gt> section of the SVG file.  If this
311 option is invoked in conjunction with --export-plain-svg, only the exported file
312 will be affected.  If it is used alone, the specified file will be modified in place.
314 =item B<-z>, B<--without-gui>
316 Do not open the GUI (on Unix, do not use X server); only process the files from console.
317 This is assumed for -p, -e, -l, and --vacuum-defs options. 
319 =item B<--g-fatal-warnings>
321 This standard GTK option forces any warnings, usually harmless, to cause Inkscape to
322 abort (useful for debugging).
324 =item B<--usage>
326 Display a brief usage message.
328 =back
330 =head1 CONFIGURATION
332 The main configuration file is located in ~/.config/Inkscape/preferences.xml; it stores
333 a variety of customization settings that you can change in Inkscape (mostly in the
334 Inkscape Preferences dialog).  Also in the subdirectories there, you can place your own:
336 B<$HOME>/.config/Inkscape/extensions/ - extension effects.
338 B<$HOME>/.config/Inkscape/icons/ - icons.
340 B<$HOME>/.config/Inkscape/keys/ - keyboard maps.
342 B<$HOME>/.config/Inkscape/templates/ - new file templates.
344 =head1 DIAGNOSTICS
346 The program returns zero on success or non-zero on failure.
348 A variety of error messages and warnings may be printed to STDERR or
349 STDOUT.  If the program behaves erratically with a particular SVG file
350 or crashes, it is useful to look at this output for clues.
352 =head1 EXAMPLES
354 While obviously B<Inkscape> is primarily intended as a GUI application,
355 it can be used for doing SVG processing on the commandline as well.
357 Open an SVG file in the GUI:
359     inkscape filename.svg
361 Print an SVG file from the command line:
363     inkscape filename.svg -p '| lpr'
365 Export an SVG file into PNG with the default resolution of 90dpi (one SVG user unit translates to one bitmap pixel):
367     inkscape filename.svg --export-png=filename.png
369 Same, but force the PNG file to be 600x400 pixels:
371     inkscape filename.svg --export-png=filename.png -w600 -h400
373 Same, but export the drawing (bounding box of all objects), not the page:
375     inkscape filename.svg --export-png=filename.png --export-area-drawing
377 Export to PNG the object with id="text1555", using the output filename and 
378 the resolution that were used for that object last time when it was exported from the GUI:
380     inkscape filename.svg --export-id=text1555 --export-use-hints
382 Same, but use the default 90dpi resolution, specify the filename, 
383 and snap the exported area outwards to the nearest whole SVG user unit values 
384 (to preserve pixel-alignment of objects and thus minimize antialiasing):
386     inkscape filename.svg --export-id=text1555 --export-png=text.png --export-snap-area
388 Convert an Inkscape SVG document to plain SVG:  
390     inkscape filename1.svg --export-plain-svg=filename2.svg
392 Convert an SVG document to EPS, converting all texts to paths:
394     inkscape filename.svg --export-eps=filename.eps --export-text-to-path
396 Query the width of the object with id="text1555":
398     inkscape filename.svg --query-width --query-id text1555
400 Duplicate the object with id="path1555", rotate the duplicate 90 degrees, save SVG, and quit:
402     inkscape filename.svg --select=path1555 --verb=EditDuplicate --verb=ObjectRotate90 --verb=FileSave --verb=FileClose
405 =head1 ENVIRONMENT
407 B<DISPLAY> to get the default host and display number.
409 B<TMPDIR> to set the default path of the directory to use for temporary
410 files.  The directory must exist.
412 =head1 THEMES
414 To load different icons sets instead of the default
415 B<$PREFIX>/share/inkscape/icons/icons.svg file, the directory
416 B<$HOME>/.inkscape/icons/ is used.  Icons are loaded by name
417 (e.g. I<fill_none.svg>), or if not found, then from I<icons.svg>.  If the
418 icon is not loaded from either of those locations, it falls back to the
419 default system location.
421 The needed icons are loaded from SVG files by searching for the SVG id with
422 the matching icon name.  (For example, to load the "fill_none" icon from
423 a file, the bounding box seen for SVG id "fill_none" is rendered as the
424 icon, whether it comes from I<fill_none.svg> or I<icons.svg>.)
428 =head1 OTHER INFO
430 The canonical place to find B<Inkscape> info is at
431 http://www.inkscape.org/.  The website has news, documentation,
432 tutorials, examples, mailing list archives, the latest released
433 version of the program, bugs and feature requests databases, forums,
434 and more.
436 =head1 SEE ALSO
438 potrace, cairo, rsvg(1), batik, ghostscript, pstoedit.
440 SVG compliance test suite:  http://www.w3.org/Graphics/SVG/Test/
442 SVG validator:  http://jiggles.w3.org/svgvalidator/
444 I<Scalable Vector Graphics (SVG) 1.1 Specification>
445 I<W3C Recommendation 14 January 2003>
446 L<http://www.w3.org/TR/SVG11/>
448 I<Scalable Vector Graphics (SVG) 1.2 Specification>
449 I<W3C Working Draft 13 November 2003>
450 L<http://www.w3.org/TR/SVG12/>
452 I<SVG 1.1/1.2/2.0 Requirements>
453 I<W3C Working Draft 22 April 2002>
454 L<http://www.w3.org/TR/SVG2Reqs/>
456 I<Document Object Model (DOM): Level 2 Core>
457 I<Arnaud Le Hors et al editors, W3C>
458 L<http://www.w3.org/TR/DOM-Level-2-Core/>
461 =head1 GUI NOTES
463 To learn Inkscape's GUI operation, read the tutorials in Help > Tutorials.
465 Apart from SVG, Inkscape can import (File > Import) most bitmap formats 
466 (PNG, BMP, JPG, XPM, GIF, etc.), plain text (requires Perl), PS and EPS (requires Ghostscript), PDF 
467 and AI format (AI version 9.0 or newer). 
469 Inkscape exports 32-bit PNG images (File > Export) as well as AI, PS, EPS, PDF, DXF, 
470 and several other formats via File > Save as.
472 Inkscape can use the pressure and tilt of a graphic tablet pen for width, angle,
473 and force of action of several tools, including the Calligraphic pen.
475 Inkscape includes a GUI front-end to the Potrace bitmap tracing engine
476 (http://potrace.sf.net) which is embedded into Inkscape.
478 Inkscape can use external scripts (stdin-to-stdout filters) that are represented by
479 commands in the Effects menu. A script can have a GUI dialog for setting various
480 parameters and can get the IDs of the selected objects on which to act via the command
481 line. Inkscape comes with an assortment of effects written in Python.
483 =head1 KEYBINDINGS
485 To get a complete list of keyboard and mouse shortcuts, view doc/keys.html, or use the Keys and Mouse command in Help menu.
487 =head1 BUGS
489 Many bugs are known; please refer to the website (inkscape.org) for reviewing the reported ones and to
490 report newly found issues.  See also the Known Issues section in the Release Notes for
491 your version (file `NEWS').
493 =head1 AUTHORS
495 This codebase owes its existance to a large number of contributors
496 throughout its various incarnations.  The following list is certainly
497 incomplete, but serves to recognize the many shoulders on which this
498 application sits:
500 [% INCLUDE "AUTHORS" %]
502 This man page was put together by Bryce Harrington
503 E<lt>brycehar@bryceharrington.comE<gt>.
505 =head1 HISTORY
507 The codebase that would become Inkscape began life in 1999 as the
508 program Gill, the GNOME Illustrator application, created by Raph
509 Levien.  The stated objective for Gill was to eventually support all of
510 SVG.  Raph implemented the PostScript bezier imaging model, including
511 stroking and filling, line cap style, line join style, text, etc.  
512 Raph's Gill page is at http://www.levien.com/svg/.  Work on Gill appears
513 to have slowed or ceased in 2000.
515 The next incarnation of the codebase was to become the highly popular
516 program Sodipodi, led by Lauris Kaplinski.  The codebase was turned
517 into a powerful illustration program over the course of several
518 year's work, adding several new features, multi-lingual support, porting
519 to Windows and other operating systems, and eliminating dependencies.
521 Inkscape was formed in 2003 by four active Sodipodi developers, Bryce
522 Harrington, MenTaLguY, Nathan Hurst, and Ted Gould, wanting to take a
523 different direction with the codebase in terms of focus on
524 SVG compliance, interface look-and-feel, and a desire to open
525 development opportunities to more participants.  The project progressed
526 rapidly, gaining a number of very active contributors and features.
528 Much work in the early days of the project focused on code stablization
529 and internationalization.  The original renderer inherited from Sodipodi
530 was laced with a number of mathematical corner cases which led to
531 unexpected crashes when the program was pushed beyond routine uses; this
532 renderer was replaced with Livarot which, while not perfect either, was
533 significantly less error prone.  The project also adopted a practice of
534 committing code frequently, and encouraging users to run developmental
535 snapshots of the program; this helped identify new bugs swiftly, and
536 ensure it was easy for users to verify the fixes.  As a result, Inkscape
537 releases have generally earned a reputation for being robust and
538 reliable.
540 Similarly, efforts were taken to internationalize and localize the
541 interface, which has helped the program gain contributors worldwide.
543 Inkscape has had a beneficial impact on the visual attractiveness of
544 Open Source in general, by providing a tool for creating and sharing
545 icons, splash screens, website art, and so on.  In a way, despite being
546 "just an drawing program", Inkscape has played an important role in
547 making Open Source more visually stimulating to larger audiences.
549 =head1 COPYRIGHT AND LICENSE
551 B<Copyright (C)> 1999-2008 by Authors.  
553 B<Inkscape> is free software; you can redistribute it and/or modify it
554 under the terms of the GPL.  
557 =for comment
558 $Date$