FrFAQ

From Inkscape Wiki
Revision as of 12:20, 9 February 2007 by Matiphas (Talk | contribs) (Qu'est ce que Inkscape ?)

Jump to: navigation, search

FAQ in English

Traduction en cours.

Contents

Général

Qu'est ce qu'Inkscape ?

Inkscape est un logiciel de dessin vectoriel libre similaire à Adobe Illustrator, Corel Draw, Freehand ou Xara X. La principale originalité d'Inkscape est l'utilisation du Scalable Vector Graphics (SVG) comme format natif. Le SVG est un standard du W3C dérivé du XML.

Qu'est ce que le dessin vectoriel ?

Contrairement aux logiciels d'imagerie matricielle (bitmap) tels que Adobe Photoshop ou The Gimp, Inkscape représente ses images dans un format vectoriel. Les images vectorielles décrivent les formes et objets observables sur l'image indépendamment de la résolution. Un moteur graphique dit de "rastérisation" utilise cette description pour représenter l'image sous forme de pixels à n'importe quelle résolution ou niveau de zoom, afin de l'afficher ou de l'imprimer.

C'est toute la différence avec les formats matriciels qui sont liés à une résolution spécifique et qui stockent l'image sous forme d'une grille de pixels.

Le dessin vectoriel est plus un complément qu'une alternative aux images matricielles. Chacun a ses propres objectifs et s'utilise dans différents contextes. Les images matricielles sont généralement meilleures pour les photographies et certains dessins artistiques, tandis que les images vectorielles sont mieux adaptées à la création assistée par ordinateur, aux logos, aux images avec du texte, aux illustrations techniques, etc.

A noter que Inkscape peut aussi importer et afficher des images matricielles. Elles seront alors de simples objets du dessin vectoriel, manipulables comme tous les autres (déplacement, transformation, découpe, etc.)

Qu'est ce que 'Scalable Vector Graphics' ?

Scalable Vector Graphics (SVG) est un format XML ouvert pour les images vectorielles et standardisé par le W3C. Son utilisation s'étend rapidement. La plupart des logiciels de dessin vectoriels de nos jours peuvent importer et exporter au format SVG, et certains navigateurs modernes (tels que Firefox et Opera) peuvent l'afficher directement, c'est-à-dire sans aucun plug-in supplémentaire. (Pour Internet Explorer, il existe un plug-in d'Adobe appelé SVG Viewer. Pour plus d'informations, se référer à la section #Inkscape et SVG ci-dessous.

Inkscape peut-il être utilisé par des utilisateurs avertis ?

Bien sûr ! Bien qu'Inkscape n'offre pas toutes les possibilités des principaux logiciels de dessins vectoriels, les dernières versions offrent tous les outils d'édition vectorielle basiques. De nombreux utilisateurs rapportent avoir utilisé Inkscape avec succès dans des projets divers (Illustrations web, diagrammes techniques, icônes, art, logos, cartes). Par exemple, des milliers d'images de wikipédia sont crées avec Inkscape, de même que la majorité du contenu de OpenClipart ; de nombreux exemples d'art Inkscape sont consultables ici et ici. Nous essayons de toujours avoir un code utile pour les utilisateurs réels, car nous pensons que des liens étroits entre les développeurs et les utilisateurs donnent de meilleurs résultats. Vous pouvez commencer à utiliser Inkscape parallèlement à vos autres outils dès maintenant !

Sur quelles plateformes Inkscape peut-il être utilisé ?

Nous fournissons des distributions binaires pour Linux, Windows 2000/2003/XP (avec installateur inclus), et OSX (paquet dmg). Nous savons que Inkscape est utilisé avec succès sur FreeBSD et d'autres systèmes Unix. Windows 98/ME n'est plus supporté, mais le sera peut-être dans le futur.

Comment Inkscape a-t-il démarré ?

Inkscape est un descendant de Sodipodi. La séparation s'est effectuée fin 2003, par la volonté de quatre développeurs de Sodipodi : Bryce Harrington, MenTaLguY, Nathan Hurst, et Ted Gould. Le but du projet était de créer un logiciel de dessin avec support complet de SVG, développé en C++ avec une nouvelle interface graphique plus simple d'utilisation (implémentant Gnome HIG) et un cycle de développement ouvert, orienté communauté. En l'espace de quelque mois le projet a publié plusieurs versions, affichant une série de nouvelles fonctionnalités importantes et des améliorations du code source. Il devint rapidement un projet Open Source remarquable.

Que signifie Inkscape ?

Le nom est formé à partir de mots anglais 'ink' et 'scape'. Ink (encre) est une substance généralement utilisée pour dessiner, et est utilisée lorsque le croquis est prêt à être appliqué sur le papier de façon permanente. Le mot évoque donc le fait qu'Inkscape peut être utilisé comme outil de production. Scape (vue) est une vue regroupant un grand nombre d'objets, comme dans landscape (paysage), et fait donc référence à l'approche orientée objet de l'imagerie vectorielle.

Puis-je créer des pages web avec Inkscape ?

Pas pour le moment, bien que de nombreux utilisateurs utilisent Inkscape pour travailler la mise en page ou créer les illustrations (bannières, logos, icônes, etc.).

Grâce au support SVG récemment ajouté dans certains navigateurs Internet (tels que Firefox ou Opera), l'utilisation de SVG directement sur le web devient une possibilité réelle. Par exemple, avec Firefox 1.5 ou plus, vous pouvez ouvrir un document SVG créé avec Inkscape directement dans le navigateur, et il sera affiché correctement. En théorie, SVG et XHTML peuvent être utilisé ensemble dans un même page, c'est donc une possibilité à explorer pour les utilisateurs ou développeurs intéressés.

Puis-je créer des animations avec Inkscape ?

Non, Inkscape ne supporte pas encore les animations SVG, seulement les images 2D et statiques. Cependant, vous pouvez exporter les images depuis Inkscape pour les utiliser dans Flash ou des animations GIF. Et depuis Février 2006, Blender peut importer des documents SVG et utiliser l'extrusion pour en faire des objets 3D.

Y aura-t-il un Inkscape 1.00 un jour ? A quoi ressemblera-t-il ?

En partant du principe que le développement continue régulièrement, nous atteindrons inévitablement la version 1.00, mais aucune date particulière n'a encore été mentionnée.

Avant de pouvoir atteindre le Nirvana avec une version 1.00, nous aurons besoin d'efforts importants pour réduire les points faibles, améliorer la stabilité et adoucir quelques détails épineux. Cela nécessitera du temps, et il y aura sûrement des changements importants dans les versions avant que cela n'arrive.

Contribuer à Inkscape

Comment puis-je aider ?

Récupérez simplement le code et commencez à coder sur ce qui vous intéresse. Envoyez un patch quand vous êtes content de votre travail et prêt à partager vos efforts avec la communauté. Nous avons aussi besoin de rédacteurs et de traducteurs pour internatinaliser le manuel utilisateur et l'interface (Il8N).

Nous prenons les contributions très au sérieux et suivons le principe du "patcher d'abord, discuter ensuite". Il est donc tout à fait probable que vos efforts apparaîtront rapidement dans le code source. Il y a bien entendu des règles et standards à respecter, mais nous essayons de faire en sorte qu'ils coulent de source. En bref, lancez-vous !

Est-il possible d'aider sans programmer ?

Certainement ! Bien qu'il y ait à n'en pas douter beaucoup de code à écrire, il y a aussi beaucoup d'autres tâches nécessaires à la réalisation du projet :

Chasse aux bugs et tests

Identifier et caractériser les bugs peut aider ENORMEMENT en réduisant le temps de développement passé à corriger les bugs.

  • Trouvez et reportez les bugs - C'est un besoin critique pour s'assurer de la qualité du code.
  • Vérifiez les rapports de bugs - Quelques fois les rapports de bugs ne contiennent pas assez d'informations ou sont difficiles à reproduire. Essayez de voir si vous constatez aussi le bug et ajoutez des détails à sa description.
  • Tests de performance - Créez des fichiers SVG poussant Inkscape à ses limites, et envoyez les au système de gestion des bugs de Inkscape en tant que cas de test, avec vos mesures de performances.
  • Tests de compatibilité - Comparez le rendu de fichiers SVG de Inkscape avec celui d'autres logiciels tels que Batik ou Cairo, et reportez les différences observées (aux deux projets concernés).
  • Prioritisation des bugs - Les bugs ayant une priorité égale à 5 sont des nouveaux bugs. Relisez les et assignez leur une priorité basse/moyenne/haute en fonction de leur gravité. Voir Updating Tracker Items pour plus de détails.

Ton prochain tu aideras

En plus d'un logiciel de dessin de bonne qualité, une communauté soudée autour de celui-ci nous paraî extrêmement important. Vous pouvez nous aider à l'obtenir directement en aidant les autres utilisateurs. Par dessus tout, gardez à l'esprit que nous voulons maintenir la communauté d'Inkscape sympathique et polie, montrez donc le bon exemple à travers vos interactions avec les autrez membres du groupe.

  • Rédigez des tutoriaux - Si un procédé n'est pas encore documenté dans un tutoriel, décrivez comment y parvenir.
  • Participez sur inkscape-user@ - Répondez aux questions posées par les autres utilisateurs sur la mailing-list. Vous pouvez aussi partagez vos trucs et astuces, et montrer de nouvelles façons d'utiliser Inkscape pour obtenir des trucs cools.
  • Créez des cliparts - Vous pouvez les envoyer au projet openclipart.org.
  • Donnez des cours d'Inkscape - Apprenez autour de vous comment utiliser Inkscape. Vous pouvez aussi donner des présentation lors d'événements locaux, de réunions de votre GUL, etc. sur Inkscape (et les autres logiciels d'art Open Source).

Développement (sans programmation)

  • Traductions - La création de traductions pour l'interface est documentée en ligne sur la page TranslationInformation du wiki. C'est grâce à des traducteurs que vous lisez cette page :)
  • Concevez des icônes et thèmes SVG - Créez de nouvelles icônes pour des thèmes existants ou créez un nouveau thème.
  • Créez de nouveaux styles de boîtes de dialogues - Dessinez vos idées sur une maquette pour améliorer ou ajouter de nouvelles boîtes de dialogues. C'est pratique pour les développeurs de l'interface lorsqu'ils doivent décider ce qu'il y a de mieux à faire.
  • Améliorez les paquets - Déterminez comment améliorer l'installation d'un paquet sur votre système d'exploitation ou votre distribution Linux. Lisez la page CreatingDists du wiki.
  • Ajoutez des extensions - Pour l'écriture/lecture de fichiers, des fonctionnalités spéciales, etc., Inkscape peut être lié à un programme externe. Créez de nouveaux fichiers .inx pour attacher de nouvelles extensions. Vous pouvez aussi vous essayer à améliorer les extensions si vous êtes familiers avec les scripts Perl, Python, etc.
  • Documentez le code - Le code source nécessite à certains endroits d'être commenté, parfois même de façon rudimentaire. Documenter les fonctions aidera certainement les prochains programmeurs.
  • Créez des modèles - Jetez un coup d'oeil au répertoire share/templates d'Inkscape.
  • Editez le wiki - Le wiki est un endroit merveilleux pour accumuler des informations sur le développement, mais il a constamment besoin d'être mis à jour, amélioré, et traduit.
  • Plannifiez le développement - Relisez et aider à mettre à jour la feuille de route sur le wiki. Typiquement, discutez avec les développeurs à propos de ce sur quoi ils travaillent, ce qu'ils prévoient de faire, ou ce qu'ils viennent de terminer. Mettez ensuite à jour la feuille de route en conséquence.

Faites passer le mot - Le marketing et l'évangélisme d'Inkscape

Augmenter le nombre d'utilisateur est important. Un réseau étendu d'utilisateurs intéressés amènera de nouveaux contributeurs potentiels grâce aux compliments (espérons-le) des utilisateurs et au bouche-à-oreille, qui est pour nous important. Tous nos utilisateurs représentent les ambassadeurs d'Inkscape et notre entourage jugera Inkscape à la façon dont nous nous comportons. Il est important que nous soyons tous amicaux et sympathiques, que nous fassions de Inkscape un projet appréciable. Toute autre forme d'évangélisme suivra naturellement.

Cependant, nous préférons plutôt la qualité à la quantité, faites donc attention à ne pas faire de la vente forcée. Nous voulons collaborer avec les autres applications, plutôt que de les dénigrer. De tels commentaires sont par ailleurs contre-productifs.

Nous avons aussi besoin de gérer l'attente qu'ont les utilisteurs de notre projet. Nous voulons des utilisateurs agréablement surpris par ce dont est capable Inkscape, et non déçus par le fait qu'il ne fasse pas exactement tout ce que font d'autres programmes. Inkscape devrait être vu comme un outil fournissant aux artistes d'autres moyens de créativité complétant leurs autres outils et compétences.

  • Rédigez des articles - Faites publier des articles dans divers blogs et journaux en ligne (ou même imprimés). N'oubliez pas d'inclure un lien vers Inkscape !
  • Prenez des captures d'écran - En particulier pour les nouvelles fonctionnalités.
  • Créez des exemples - Les exemples sont utiles pour présenter les différentes façons dont Inkscape peut être utiliser. Prenez des captures d'écrans, commentez-les, et proposez aux administrateurs du site (via la mailing-list inkscape-devel@) de les ajouter.
  • Améliorez le site web - De l'aide pour le site est TOUJOURS appréciée. La connaissance du HTML est requise, un savoir en PHP est utile. Récupérez le code du site depuis le dépot Subversion, et faites part de vos patches, ou demandez un accès à svn pour travailler en temps réel.
  • Donnez des présentations - Organisez des présentations d'Inkscape lors d'expositions, conférences ou autres événements importants. Assurez-vous de l'annoncer sur une mailing-list d'Inkscape afin qu'on puisse l'afficher sur le site.
  • Recrutez d'autres développeurs - Trouvez des personnes intéressées par la programmation, et encouragez-les à rejointre l'équipe des développeurs d'Inkscape.

Où puis-je trouver une bannière Inkscape ?

En voici une :

http://www.inkscape.org/images/inkscape_80x15.png

N'hésitez pas à proposer vos propres banières ou boutons pour la promotion d'Inkscape. Les meilleures se verront attribuer un lien ici.

How can I avoid causing a flamewar on the mailing list?

Inkscape prides itself on maintaining a friendly community, however we're all passionate and have different ideas, so sometimes discussions can get heated. However, when folks start taking firm positions on things it is easy for arguments to get out of hand and become unproductive, possibly even driving valuable contributors away from the project. So we place a high priority on striving to keep mailing list discussions civil.

Here are some tips for effectively communicating in the Inkscape community

1) Make your argument first and foremost without comparison. Really great features can stand on their own and are obviously great from the use cases users give. Most often comparisons won't strengthen your case. In fact they can often weaken your case because there is a built up resistance to this bandwagon sort of reasoning. Many people use Inkscape to escape from the software you want to compare it with. :-)

2) Don't assume that developers, users and industry professionals are mutually exclusive groups. Itch driven development means quite the opposite. Developers are users developing the software for their own uses. Some developers are industry professionals using Inkscape for their livelihood daily. This also means that arguments that start with generalizations about user wants and expectations have to struggle against the fact that the users are developing the software the way they want it.

3) Don't assume that resistance to your idea indicates rampant disregard for non-developer-users needs and wants. Many of the developers spend large amounts of time conversing with users in person, on IRC and on the mailing list. We know when issues are important because we can hear the consensus. As anecdotal evidence most of the features I have coded have been in direct response to the needs and requests of users who came with polite and persistent concerns.

Indeed, since Inkscape developers typically judge by user consensus, an effective way to prove a point is to show a pattern of demand for the change from a range of users, or to demonstrate how your change will satisfy a large number of user requests. (This isn't to say that what the unwashed masses ask for is always correct, but there are generally strong correlations.)

4) Street cred is earned, not demanded. :-) This is just a hard fact about community life. The project needs contributors to live and thrive, and everyone loves seeing new blood getting involved, and will bend over backwards to help. The more you involve yourself; the more you give of your own blood, sweat and tears, the more the community will respond to you. The great part is that simple contributions really do matter.

Remember Inkscape's slogan, "Patch first, discuss later." This is not just an aphorism; oftentimes the principles in an argument won't really understand all the factors until they can see the thing in practice, even if just a mockup or prototype. Presenting your ideas as a patch also bypasses the concern that others are going to have to put in the labor to implement the ideas.

5) Always remember we all share common goals. If nothing else, we all want to see Inkscape made better. When a discussion feels like it's starting to get hot, it's time for the arguers to seek areas of agreement, and focus on those.

Using Inkscape

Comment faire pivoter des objets ?

Inkscape suit la convention utilisée par CorelDraw, Xara et d'autres logiciels : au lieu d'utiliser un "outil de rotation" séparé, sélectionnez un objet en cliquant desssus avec le Sélecteur (la flèche), et cliquez dessus une fois de plus. Les poignées autour de l'objet deviennent alors des poignées de rotation - faites les glisser pour pivoter. Vous pouvez aussi utiliser la boîte de dialogue de transformation pour une rotation précise et les touches [ et ] pour faire pivoter la sélection depuis le clavier.

Comment changer la couleur des textes ?

Le texte est un objet comme les autres dans Inkscape. Vous pouvez changer la couleur de son remplissage et de ses contours avec n'importe quelle couleur, comme vous le feriez pour tout autre objet. La palette, la boîte remplissage et contour, le collage du style - tout ceci s'applique au texte exactement comme, par exemple, aux rectangles. De plus, si avec l'outil Texte vous sélectionner du texte avec Shift+flèches ou avec la souris, toute modification de la couleur s'appliquera seulement au texte sélectionné.

Comment insérer des symboles mathématiques ou spéciaux dans le dessin ?

Lorsque vous éditez du texte sur le canevas, faites Ctrl+U, et tapez le code Unicode du symbole dont vous avez besoin. Un aperçu du symbole est affiché dans la barre de statut. Une fois terminé, validez avec la touche Entrée. Une liste des codes Unicode est disponible sur unicode.org. Par exemple, le code du signe intégrale est 222b. Vous devez avoir une police installée sur votre système qui possède ce caractère, sinon un rectangle s'affichera à la place.

Quand vous éditez du texte dans l'onglet Texte de la boîte de dialogue Texte et police, vous pouvez utilisez toutes les méthodes de saisie GTK offertes par votre distribution GTK. Consultez la documentation de GTK pour plus de détails.

Pour sauvegarder votre travail au format eps, nous vous recommendons de choisir l'option "convertir les textes en chemins" lors de l'export pour conserver le symbole.

Comment dessiner des courbes sinusoïdales dans Inkscape ?

Dans la version 0.43 de Inkscape es incluse une extension nommée Function Plotter (auparavant appelée Wavy). Elle peut être utilisée pour créer des courbes sinusoïdales ou tout autre tracé de fonction. D'autres logiciels, tels que Xfig, KiG, ou KSEG peuvent aussi être utilisés pour créer des courbes plus complexes et les exporter au format SVG afin d'être utilisées dans Inkscape.

How to measure distances and angles?

Inkscape does not yet have a dedicated Measure tool. However, the Pen tool can be used in its stead. Switch to Pen (Shift+F6), click at one end of the segment you want to measure, and move the mouse (without clicking) to its other end. In the statusbar, you will see the distance and angle measurement. Then press Esc to cancel.

The angle is measured by default from 3 o'clock origin counterclockwise (the mathematical convention), but in Preferences you can switch this to using compass-like measurement (from 12 o'clock, clockwise).

Starting from 0.44 we also have the Measure Path extension that will measure the length of an arbitrary path.

Does Inkscape support palettes? Where can I "store" and save colours for further use?

Starting from 0.42, palettes are supported using the same file format as the GNU Image Manipulation Program (GIMP Colour Palettes, .gpl). The name used in Inkscape for the feature is "swatches". When selecting this terminology, we surveyed a number of different programs and found that both "palettes" and "swatches" were commonly found. Since the term palettes had been already been used in Inkscape to describe a particular type of dialog windows, the term "swatches" was adopted to describe this feature.

How do I get extensions working?

The extensions mechanism allows you to use external programs and scripts written in any language to augment Inkscape's capabilities. The tricky part is satisfying all of the dependencies of the external programs. For help satisfying dependencies of individual extensions check GettingExtensionsWorking. If you are specifically interested in Effects go straight to GettingEffectsWorking; if you're on Windows, consult GettingEffectsWorking/Windows, and for MacOSX, see the instructions at CompilingMacOsX#Enabling python effects.

How can I print the tutorials? When printed from Inkscape they don't fit, and I don't like reading on screen.

All tutorials in all languages are available online in HTML at this page and can be easily printed from your browser.

Can I use different settings for the new documents created by Inkscape?

Yes. When you do File > New (Ctrl+N) or start a new Inkscape session, Inkscape loads the default template document which stores page format, grid and guide parameters, snapping and export settings, etc. It can even contain any pre-created objects. You can save any document as the default template by writing it to ~/.inkscape/templates/default.svg on Linux and [inkscape dir]/share/templates/default.svg on Windows. If you save it under any other name than default.svg in the same folder, it will appear in the File > New submenu but will not load automatically unless chosen.

Is there a way to apply a gradient to a stroke so that it bends with the stroke?

A stroke can be painted with a gradient, but that gradient will not bend with the stroke. It will remain linear or elliptic. If you meant something like this, then SVG can emulate such effects using SVG Filters which Inkscape does not yet support.

There are, however, a couple of workarounds. One is described here. The other is to use the Blend extension to create a blend between two curved paths painted with different colors or opacity levels; with enough intermediate steps, such a blend will look almost like an arbitrarily curved gradient.

I'm trying to make a colored tiling of clones, but the tiles refuse to change color.

The original object from which you're cloning must have its fill or stroke unset (not removed, but unset!) for this to work. Use the "?" button in the Fill&stroke dialog to unset fill, or use the "Unset" command in the right-click menu of the selected style indicator in the statusbar. If the original is a group, only some of the objects in the group may have unset fill, and only these objects will change colors in the tiling.

I'm trying to apply a gradient opacity mask to an object, but the entire object disappears.

Note that per SVG rules, black color is opaque in a mask (i.e. it obscures the object under it); white color is transparent (the object shows through). What's more, the "no color" fill or full transparency is equivalent to "transparent black", i.e. (rather counterintuitively) also becomes opaque in a mask. So, if you want to make your object gradually masked out, create the masking gradient either from white to transparent, or from white to black. The detailed rules of SVG masks are defined in [1].

The PNGs exported by Inkscape have jagged edges/no antialiasing/funny background.

This is a problem with whatever you use to view these PNG files, not with Inkscape. For example, Internet Explorer prior to version 7 cannot show PNG files with transparency properly. Use e.g. Firefox to view your PNGs. If you absolutely must support IE 6, you can't have transparent background in PNG; change it to opaque in Document Preferences and export the PNG file again.

If you want to open the exported PNG bitmaps in MS-Word, you will also have to change the alpha-opacity (in document-properties dialog) to full, and then export -- the result will be much better.

I have two adjacent objects with their edges abutting precisely, but at some zoom levels, a seam is still visible.

That's a known problem of our renderer (as well as many other renderers, for example Xara's). Antialiased display sometimes results in not-fully-opaque pixels along the boundary of two objects even if there's absolutely no gap between them. There are several ways to avoid this problem. If your boundary is horizontal or vertical, you can suppress antialiasing by pixel-snapping (see next question). Often, you can just union the two shapes so they become one and the seam disappears. If this is not possible, just add a small overlap to the abutting shapes. If this isn't possible either (for example, due to transparency of these objects), sometimes blurring can help: in Inkscape 0.45+, you can group the two objects and slightly blur the group to make the seam disappear.

How to suppress antialiasing?

With the current renderer, it is not possible to completely get rid of antialiasing. However, it is possible to partially suppress it on export. Usually, antialiasing is unwelcome in horizontal and vertical lines which become "blurred". To work around this, make sure your horizontal/vertical edges are snapped on the pixel grid, and all strokes are a whole number of pixels wide. Then, export bitmap at the default 90dpi so that 1 px unit corresponds to 1 bitmap pixel. In the resulting bitmap, snapped color boundaries will be perfectly crisp.

Can Inkscape be used from the command line?

Yes, Inkscape has a powerful command line interface and can be used in scripts for a variety of tasks, such as exporting and format conversions. For details, refer to the manual page (online, or via the Help > Command line options command, or by man inkscape on Unix).

I'm on Windows, and command line parameters don't seem to work!

Actually, things like exporting or converting to plain SVG do work, they just do not output anything to the console. This is because Inkscape on Windows is a GUI application and is not allowed to have any console output. This means that query options (such as --query-x) will not work at all. But this can be fixed if you recompile Inkscape as a console application. See this page for general Windows compilation instructions; edit the file Makefile.mingw.common in the source tree's root directory and replace

-lgc -mwindows -lws2_32 -lintl

with

-lgc -mconsole -lws2_32 -lintl -lgdi32 -lcomdlg32

then recompile. This will give you an inkscape.exe which works exactly as it does on Linux with regard to command line parameters and console output. If you regularly use Inkscape's command line interface on Windows, please send a message to the inkscape-devel list and we may consider providing such a console executable in our official Inkscape Windows builds.

How to make Alt+click and Alt+drag work on Linux?

Alt+click and Alt+drag are very useful Inkscape shortcuts ("select under" and "move selected" in Selector, "node sculpting" in Node tool). However, on Linux Alt+click and Alt+drag are often reserved by the window manager for manipulating the windows. You need to disable this function in your window manager so it becomes usable in Inkscape.

KDE

For example, in KDE this is done in Control Center > Desktop > Window Behavior > Window Actions.

XFCE4

Please read xfwm4.html

GNOME

Go to System > Preferences > Windows. You are presented with three options to move windows around: "Alt", "Ctrl" or "Super" (Windows logo key). Choose "Super".

I'm having problems with non-Latin filenames on Linux - help!

If your locale charset is not UTF-8, then you need to have this environment variable set:

$  G_BROKEN_FILENAMES=1
$  export G_BROKEN_FILENAMES

This is necessary for Glib filename conversion from the locale charset to UTF-8 (used in SVG) and back to work. Read more details.

How to make Alt+click and Alt+drag work on Mac OS X?

If you find yourself unable to use Inkscape functions that require the ALT key (such as Node Sculpting) you will need to turn off the "Emulate three button mouse" under the Input Preferences for X11.

I am working on a machine with operating system xxx which has default language yyy set, but I want to work with Inkscape menus in language zzz (most likely English), how can I set this?

Linux
Fist type locale -a in the console
to find out, which locale settings are supported on your system and how they were written.
export LANGUAGE="C" in the commandline switches to the default language (English).
export LANGUAGE="de_DE.utf-8" changes the language to german. This command works only temporary. After a system restart the original locale is active. The
used locale has to be installed with inkscape on your computer (else, Inkscape falls back to the default language).
MacOSX
The official Mac OS X way is to provide .lproj files which enables applications to pick up the
preferred language
from the System Preferences dialog; however, this is probably some considerable
way into the future. It might be possible to set up a scheme involving langauge :: packs, otherwise the linux methods may work.
Windows
Easy way
Create a batch file in your inkscape installation directory. Call it inkscape.bat.
Add the lines (replace with your LANG setting)
@set LANG=de_DE
@start inkscape.exe
Save and double-click to use it.
Using System Settings: Either delete the yyy language files, or change the language by setting the LANGUAGE environment variable.
A. Deleting the yyy language files
Beware, this change the behaviour for all inkscape users on this machine
1. Locate the installation directory.
2. Enter the Inkscape\locale directory
3. Locate the directory with the two letter locale you don't want to use.
4. Rename (or remove) this directory to something like disable_de or x_es
5. Restart inkscape and the default English (en) locale will be used.
B. Setting the LANGUAGE environment variable
Probably this only works when you have administrator (or poweruser?) rights on your pc.
1. Go to the control panel, doubleclick on "System".
2. Select the "Advanced" tab, and press the "Environment variables" button.
3. You can either add the 'LANGUAGE' variable to the current user or to all users (system variables). Press the 'New' button and enter 'LANGUAGE' as the variable name, and 'C' as value if you want to select the default language (English) or e.g. 'de' if you want to set the language to german.

I installed a new font on my Windows system, but Inkscape does not see it.

This was a bug in versions of Inkscape up to 0.43, caused by using an obsolete font cache. This cache is stored in the file called .fonts.cache-1. This file may be in your Windows folder, or in your Temp folder, or in "My documents" folder, or in the folder listed in the $HOME environment variable. Use file search by name to locate this file. Then simply delete this file and restart Inkscape; now it will see the new fonts.

I've installed Inkscape on OS X 10.4.x, but when I run it nothing happens. The interface doesn't appear.

Under OS X 10.4.x, even on very fast machines, Inkscape versions prior to 0.44 could take a long time to start the very first time they were run. This was due to a fontconfig cache workaround that wasn't properly implemented by the launcher code. The problem has been fixed in 0.44 (though not in the prereleases 0-3).

On Linux, Inkscape crashes with "invalid pointer" message

If your Inkscape crashes on start with the error message that looks like

*** glibc detected *** free(): invalid pointer: 0x086143b0 ***

this is caused by GCC versions incompatibility which affects C++ applications. Your Inkscape is compiled by a different version of GCC than the C++ libraries it uses. Recompile either Inkscape itself or its C++ libraries (libstdc++, libsigc++, libglibmm and libgtkmm) with the single GCC version and the problem will go away.

Inkscape et SVG

Are Inkscape's SVG documents valid SVG?

Yes. Inkscape does not yet support all features of SVG, but all files it generates are valid SVG (with the partial and temporary exception of flowed text, see below). All standard-conformant SVG renderers show them the same as in Inkscape. If they do not, it's a bug. If this bug is in Inkscape, we will fix it (especially if you help us by reporting it!).

What about flowed text?

When flowed text support was added to Inkscape, it was conformant to the then-current unfinished draft of SVG 1.2 specification (and was always described as an experimental feature). Unfortunately, in further SVG 1.2 drafts, the W3C decided to change the way this feature is specified. Currently SVG 1.2 is still not finished, and as a result, very few SVG renderers currently implement either the old or the new syntax of SVG 1.2 flowed text. So, technically, Inkscape SVG files that use flowed text are not valid SVG 1.1, and usually cause problems (errors or just black boxes with no text).

However, due to the utility of this much-requested feature, we decided to leave it available to users. When the final SVG 1.2 specification is published, we will change our flowed text implementation to be fully conformant to it, and will provide a way to migrate the older flowed text objects to the new format.

Until that is done, however, you should not use flowed text in documents that you intend to use outside of Inkscape. Flowed text is created by clicking and dragging in the Text tool, while simple click creates plain SVG 1.1 text; so, if you don't really need the flowing aspect, just use click to position text cursor instead of dragging to create a frame. If however you really need flowed text, you will have to convert it to regular (non-flowed) text by the "Convert to text" command in the Text menu. This command fully preserves the appearance and formatting of your flowed text but makes it non-flowed and SVG 1.1-compliant.

What, then, is "Inkscape SVG" as opposed to "Plain SVG" when saving a document?

Inkscape SVG files use the Inkscape namespace to store some extra information used by the program. Other SVG programs will not understand these extensions, but this is OK because the extensions only affect how the document is edited, not how it looks. Extensions must not cause any rendering problems in SVG-compliant renderers. However, some non-compliant renderers may have trouble with the presence of the extensions, or you may want to save some space by dropping the Inkscape information (if you're not planning to edit the file in Inkscape again). This is what the "Plain SVG" option is provided for.

What SVG features does Inkscape implement?

The main parts of SVG that Inkscape does not support yet are filters (except Gaussian blur which is supported starting from 0.45), animation, and SVG fonts. The rest mostly works, though of course there are bugs that we're always fixing. For a comparison of Inkscape and other open source SVG tools on the W3C SVG test suite, look here.

I have hand-created SVG. Will everything be messed up, if I load and save it with Inkscape?

Inkscape strives to avoid changing the SVG just because it does not recognize some of the SVG elements, however it *does* make changes:

  • All objects will get unique "id" attributes. If already existing and unique, they will be preserved, otherwise one will be derived from node name.
  • Some sodipodi: and inkscape: namespaced metadata will be added to the beginning of document.
  • If you edit a gradient, that gradient will be broken up into 2 linked gradients - one defining color vector, another one position.
  • Changing any style property forces reconstructing of the whole 'style' attribute, which means CSS (not XML) comments will be lost and formatting of CSS may change.
  • The formatting style of the SVG file will be changed to follow the style hardcoded into Inkscape.

There is ongoing work to allow Inkscape to better preserve hand-created SVG markup but it is a very difficult task requiring a lot of infrastructure work and will happen very gradually - but help is always appreciated.

Inkscape and renderer X show my SVGs differently. What to do?

That depends on X. We accept Batik and Adobe SVG plugin as authoritative SVG renderers because they are backed by some of the the authors of the SVG standard and really care about compliance. This may not be true for other renderers. So if you are having a problem with some renderer, please try the same file with either Batik or Adobe, or better yet, with both (they are free and cross-platform). If you still see a discrepancy with Inkscape rendering, we want to look into it. Please submit a bug; don't forget to attach a sample of the problem file to the bug report, and ideally include screenshots too.

Inkscape and other programs

Why the split from Sodipodi?

Inkscape started as a code fork of Sodipodi. The main reasons were differences in objectives and in development approach. Inkscape's objective is to be a fully compliant SVG editor, whereas for Sodipodi SVG is more a means-to-an-end of being a vector illustration tool. Inkscape's development approach emphasizes open developer access to the codebase, as well as using and contributing back to 3rd party libraries and standards such as HIG, CSS, etc. in preference to custom solutions. Reusing existing shared solutions helps developer to focus on the core work of Inkscape.

For background, it may also be worth reviewing Lauris' Sodipodi direction post from Oct 2003, and his thoughts on SVG, licensing, and the value of splitting the project into two independent branches.

What's the difference between Inkscape and Dia?

Dia is for technical diagrams like database charts, class diagrams, etc., whereas Inkscape is for vector drawing such as logos, posters, scalable icons, etc.

SVG is a useful format for creating diagrams, though, so we hope as Inkscape grows as a fully-featured SVG editor, it will also be useful for making attractive diagrams too. Several of us hope Inkscape will become a useful technical drawing tool and work on features with that goal in mind. However, Dia provides a number of useful capabilities such as support for UML, autogeneration of diagrams, etc. that are well beyond the scope of a general SVG editor. Ideally both Inkscape and Dia can share various bits of code infrastructure and third party libraries.

Is this intended to replace Flash?

While SVG is often identified as a "Flash replacement", SVG has a huge range of other uses outside that of vector animation. Replacing Flash is not one of Inkscape's primary intents. If SVG can replace Flash, and Inkscape can help, that's great, but there's a lot more to SVG than web animation that is worth exploring. (See also SMIL)

Is Inkscape a replacement for The GIMP or Photoshop?

In most cases, no. They're used for two very different things. Inkscape is used for creating vector drawings, such as laying out a poster or creating a fancy logo, whereas bitmap editors are for working on raster images, such as touching up a photograph. In many projects, you would need to use both Inkscape and a bitmap editor (such as GIMP), for example, to add bitmap effects to an image exported from Inkscape.

However, currently bitmap editors are often used for common tasks they are not well equipped for, such as creating web page layouts, logos, or technical line art. In most cases, this is because users are not aware of the power (or even the existence) of the modern vector editors. Inkscape wants to amend this situation, and to raise a vector editor to the status of an essential desktop tool for everyone, rather than an exotic specialized tool that only professionals use.

Will Inkscape be part of the Gnome-Office?

Inkscape will need to mature a bit further before this can be considered. Specifically, better support for embedding (Bonobo) is needed, and the Gnome-Print subsystem needs to be tested more thoroughly (help very much appreciated here). If you can compile a recent version of Inkscape and help us with testing it would be very useful.

What formats can Inkscape import/export?

Inkscape natively supports opening only SVG and SVGZ (gzipped SVG) formats.

Inkscape can natively save as SVG, SVGZ, Postscript/EPS/EPSi, Adobe Illustrator (*.ai), LaTeX (*.tex), and POVRay (*.pov).

With the help of extensions, Inkscape can open/save as PDF, EPS, AI, Dia, Sketch and some others.

Inkscape can natively import most raster formats (JPG, PNG, GIF, etc.) as bitmap images, but it can only export PNG bitmaps.

See FileTypes for discussion about file formats that people would like to see supported, and third-party tools that can be used to convert files to or from SVG.

What can I do with *.cdr (Corel Draw Vector drawing file) files in Inkscape? I have got my images in *.cdr files and I would like to continue in *.SVG.

  1. Open CDR file Corel Draw. Save it as CGM file. It will save only vector graphics. It will not save bitmap graphics.
  2. Open CGM file in OpenOffice Impress. Copy to Open Office Draw and insert original JPG or another bitmap graphics. Save file as ODG And you can continue in Open Office Draw program.)
  3. Select all (CTRL+A)
  4. Export as SVG.
  5. Open SVG file in Inkscape and correct mistakes if they appear.

I exported an SVG file from Adobe Illustrator, edited it in Inkscape, and imported back to AI, but there my changes are lost!

That's because Adobe cheats. It creates a valid SVG, but apart from the SVG code it also writes to the file, in encoded binary form, the entire AI-format source file of the image. Inkscape, of course, edits the SVG part of the image and leaves the encoded binary untouched. But when you import the SVG file back to AI, it completely disregards the SVG code with its edits and reads directly from the encoded AI binary. Therefore, any SVG changes are lost. To work around it, in Inkscape open the XML Editor and remove the non-SVG elements (everything not with the svg: prefix in its name).


Development topics

What are Inkscape's development goals?

Inkscape wants to be a complete SVG-compliant vector graphics editor. Apart from standards compliance, our primary goals are stability, performance, state of the art vector graphics features, and an efficient and innovative user interface.

What language and toolkit is Inkscape built upon?

The codebase Inkscape inherited from Sodipodi was C/Gtk based. There is an ongoing effort to convert the codebase to C++/Gtkmm. The ultimate goal is to simplify the code and make it more maintainable. We invite you to join us. Just don't mention Qt. :)

What is your position on code sharing with other projects?

Yes, sharing of code libraries with other projects is highly desirable, provided the right conditions exist. A good candidate for a library will be mature, widely distributed, well documented, and actively maintained. It should not introduce massive dependency problems for end-users and should be stable, powerful, and lightweight. It should strive to do one thing, and do it well. Libraries that don't meet all the criteria will be considered on a case-by-case basis.

How to create an Inkscape extension?

You don't need to know much, if anything, about Inkscape internals to create a useful extension. Aaron Spike, the author of most Python extensions that come with Inkscape, wrote a helpful web page (including a series of tutorials) on creating extensions in Python (Perl and Ruby are also supported).

What's a good way to get familiar with the code?

You can start with the Doxygen documentation. There you can find not only the usual Doxygen stuff but also different categorized views into the inkscape source.

In the Documentation section of the Inkscape website you can find some high-level diagrams and links to other documentation that's been produced such as the man page. Historically, this codebase has not been kept well documented so expect to find many areas where the only recourse is to work through the code itself. However, we place importance on working to change this, and to flesh out the documentation further as we go.

Some developers have found that testing patches is a good way to quickly get exposure to the code, as you see how other developers have approached making changes to the codebase. Other developers like to pick an interesting feature request (or perhaps a feature wish of their own) and focus on figuring out how to implement it. Occasionally we also have large scale grunt-work type changes that need to be applied to the codebase, and these can be easy ways to provide significant contributions with very little experience.

Getting beyond initial exposure, to the next stage of understanding of the codebase, is challenging due to the lack of documentation, however with some determination it can be done. Some developers find that fixing a crash bug by tracing execution through the various subsystems, brings good insights into program flow. Sometimes it is educational to start from an interesting dialog box and tracing function calls in the code. Or perhaps to start with the SVG file loader and follow the flow into and through the parser. Other developers have found that writing inline comments into the code files to be highly useful in gaining understanding of a particular area, with the fringe benefit of making that bit of code easy for future developers to pick up, too.

Once you feel far enough up the learning curve, implementing features will firm up your experience and understanding of the codebase. Be certain to also write test cases and documentation, as this will be of great help to future developers and thus ensure the longevity of the codebase.

What is the size and composition of the codebase?

The latest statistics are available at this page. The code is somewhat modular, but less so than we would like. If you're interested in some specific part of the codebase, feel free to ask developers.

What rendering engine do you use?

Currently we use our own renderer called livarot. We plan to migrate to Cairo when it is mature enough.

What is the development platform?

Most developers work on Linux. However it is also possible to compile Inkscape on Windows; this page provides detailed instructions for this as well as for cross-compiling Windows binaries on Linux.

What is the Linux command to download the code through Subversion?

Generic directions are under the Subversion link on the inkscape sourceforge page. Note, however, that the command given on the sourceforge page will check out all modules of the Inkscape project and all branches of those modules.

  • To only check out the latest copy of the main branch (also called "trunk") of the Inkscape program, do:
    svn checkout https://svn.sourceforge.net/svnroot/inkscape/inkscape/trunk/
  • To only check out the trunk of another Inkscape module, do:
    svn checkout https://svn.sourceforge.net/svnroot/inkscape/MODULE_NAME/trunk/
    where MODULE_NAME is the name of the module you want to check out. Other modules you can check out include: experimental, our development "scratchpad" for working up prototypes; inkscape_web, which holds our website files; and inkscape_project, which holds config files and other project-level things. You can use our Subversion viewer to get the names of available modules.
  • To only check out a branch of some Inkscape module, do:
    svn checkout https://svn.sourceforge.net/svnroot/inkscape/MODULE_NAME/branches/BRANCH_NAME/ 
    where MODULE_NAME is the name of the module you want to check out, and BRANCH_NAME is the name of the branch that you are interested in. You can use our Subversion viewer to get the names of available modules and branches.

These commands will download the requested module into a directory named either trunk or BRANCH_NAME, depending on whether you chose to check out the trunk or a branch.

  • If you'd like to later test out a different branch of any of Inkscape's modules, you can do that by running

svn switch https://svn.sourceforge.net/svnroot/inkscape/MODULE_NAME/branches/BRANCH_NAME

in your working copy, where MODULE_NAME is the name of the module you are working in, and BRANCH_NAME is the name of the branch that you want to switch to.
  • You can do something similar for tagged branches:

svn switch https://svn.sourceforge.net/svnroot/inkscape/MODULE_NAME/tags/BRANCH_NAME

Note that Subversion supports the ability to move individual subdirectories of a working copy of a module to different branches of that module, so if you want to switch an entire working copy to a different branch, run svn switch in the root directory of the working copy.

How are feature requests selected for implementing?

Many developers become involved because they wish to "scratch an itch", so of course if they wish to work on a particular feature, then by definition that one will receive implementational attention. This is the primary mechanism by which features get implemented.

Inkscape also strives to take user requests for features seriously, especially if they're easy to do or mesh with what one of the existing developers already wants to do, or if the user has helped the project in other ways.

If you have a feature that you'd really like to see implemented, but others aren't working on, the right thing to do is delve into the code and develop it yourself. We put great importance on keeping the development process open and straightforward with exactly this in mind.

I'd prefer the interface to look like ...

Understandably, many users are accustomed to other programs (such as Illustrator, the GIMP, etc.) and would prefer Inkscape to follow them in design. Inkscape developers are constantly examining other projects and on the look for better interface ideas. A large motivation is to make the application follow the GNOME Human Interface Guidelines, which has a number of rules in how the interface is made. The Inkscape developers also seek advice and ideas from other GUI app designers, such as the GIMP crew, AbiWord, and Gnumeric; they've been at it longer and we view them as an excellent source of battle tested experience.

But please understand that the Inkscape interface will, at the end of the day, be the "Inkscape interface". We will strive to find our own balance of compatibility with common drawing programs, wishes of our userbase, good workflow, creativity of our developers, and compliance with UI guidelines. It's unlikely that this balance will meet every user's wish, or achieve 100% compliance with the various platform specific Interface Guidelines, or include every developer's idea, and if it did it probably wouldn't be as good.  ;-)

Usually when we discuss interface look and feel, we arrive at the conclusion that, really, it should be configurable so that each user can flip a few switches and get an app that is most cozy to them. However, flexibility should not be used as an excuse not to make tough decisions when they are called for.

Legal

What License is Inkscape released under?

GNU GENERAL PUBLIC LICENSE Version 2, June 1991 [2]. In short, this means you are free to use and distribute Inkscape for any purpose, commercial or non-commercial, without any restrictions. You are also free to modify the program as you wish, but with the only restriction that if you distribute the modified version, you must provide access to the source code of the distributed version.