Outils pour utilisateurs

Outils du site


issue160:inkscape

Amazingly, this is the centenary article in this series! That’s not bad given that my original plan was for maybe half a dozen short pieces as a brief introduction to Inkscape. I doubt there are many people who have read all of the articles, but even if you just dropped into one or two as reference material for a specific feature, I hope you’ve found them useful. This month, I’ll be continuing to look at Inkscape v1.0. Although there are a lot of exciting new things to cover – and I promise to get to them in the coming months – for now I’m going to return my focus to some of the problems that have found their way into the new release. It’s not that I want to be a pessimist, I’d just prefer to get the issues out of the way as quickly as I can.

C'est incroyable ! C'est le centième article de cette série ! Ce n'est pas mal étant donné que mes prévisions initiales étaient une demi-douzaine de courts articles pour une brève introduction à Inkscape. Je doute qu'il y ait beaucoup de monde qui aient lus tous les articles, mais, même si vous êtes tombé sur un ou deux comme matière de référence pour une fonctionnalité spécifique, j'espère que vous les trouvez utiles.

Ce mois-ci, je continuerai à regarder Inkscape 1.0. Bien qu'il y ait plein de nouvelles choses passionnantes à présenter - et je promets de me pencher dessus dans les prochains mois - pour le moment, je me recentre sur certains des problèmes qui se sont glissés dans la nouvelle publication. Ce n'est pas que je veuille être pessimiste, c'est juste que je préfère me débarrasser des problèmes le plus vite possible.

The regressions that most users are likely to stumble across are largely related to path operations on text objects. Manipulating text to produce a graphical effect is a common task for Inkscape users, when creating a logo or just trying to make the text on an image look more interesting. There’s little you can do with a pure text object, apart from the usual rotate, scale and skew. Filters can produce some amazing results – whilst still keeping the text editable – but are difficult to work with, and are best used to provide texture or shadows rather than for fundamentally changing the letter shapes. At some point in your graphical adventures, you’re bound to find yourself converting text to a path in order to manipulate it further.

Les régressions sur lesquelles la plupart des utilisateurs ont des chances de tomber sont largement liées aux opérations de chemins sur les objets textes. La manipulation des textes pour produire un effet graphique est une tâche courante pour les utilisateurs d'Inkscape, quand ils créent un logo ou qu'ils essaient simplement de rendre la légende d'une image plus intéressante. Vous pouvez faire peu de choses sur un pur objet texte, à part les usuelles rotation, mise à l'échelle ou déformation. Les filtres peuvent produire des résultats intéressants - tout en gardant le texte modifiable - mais il est difficile de travailler avec eux et ils sont mieux à même de fournir des textures ou des ombres plutôt que de changer fondamentalement la forme des lettres. À un certain moment dans vos aventures graphiques, vous serez confronté à la conversion du texte en chemin de façon à le manipuler.

Converting Text to a Path Logos and styled text form the basis of a huge number of Inkscape tutorials, almost all of which require the user to convert their text to a path at some point, via the Path > Object to Path menu option. Depending on the age of the tutorial, and the version of Inkscape it targets, this can lead to very different outcomes. For most elements in Inkscape the result of Object to Path has always remained the same. A rectangle becomes a path. An ellipse becomes a path. Spirals and polygons become paths. It may sound obvious, but in most cases the Object to Path feature turns your object into a path. With older versions of Inkscape (prior to 0.48) the same was true of text objects: the entire text would be converted into a single complex path. Most tutorials deal with applying an effect or style to the entire text, so creating a single path is just what is wanted. But sometimes you need to be able to work with the individual letters. Splitting the complex path into separate letters is a fiddly task that requires some experience to do easily. So, with 0.48, the developers changed the Object to Path behaviour when applied to text elements: to this day it creates a group of paths, one for each letter.

Conversion d'un texte en chemin

Logos et texte stylisé forme la base d'une énorme quantité de tutoriels sur Inkscape, lesquels nécessitent presque tous que l'utilisateur convertisse son texte en chemin à un certain moment, via l'option de menu Chemin > Objet en chemin. Suivant l'âge du tutoriel, et la version d'Inkscape à laquelle il est destiné, ceci peut conduire à des résultats très différents.

Pour la plupart des éléments dans Inkscape, le résultat d'Objet en chemin est toujours resté le même. Un rectangle devient un chemin. Une ellipse devient un chemin. Les spirales et les polygones deviennent des chemins. Ça peut paraître évident, mais dans la plupart des cas, la fonctionnalité Objet en chemin transforme votre objet en chemin. Dans les versions anciennes d'Inkscape (avant la 0.48), ça s'appliquait aussi au objets texte : le texte entier était converti dans un seul chemin complexe. La plupart des tutoriels se préoccupent d'appliquer un effet ou un style au texte entier ; ainsi, la création d'un unique chemin est exactement ce qui est voulu. Mais, parfois, vous voulez pouvoir travailler indépendamment sur chaque lettre. La séparation du chemin complexe en lettres séparées est une tâche minutieuse qui nécessite quelque expérience pour le faire aisément. Aussi, avec la 0.48, les développeurs ont changé le comportement de Objet en chemin lors de son application à des éléments texte : jusqu'à ce jour, cela crée un groupe de chemins, un par lettre.

This change in behaviour immediately made a lot of tutorials slightly obsolete, and led to a persistent trickle of new users to Inkscape support sites posting requests along the lines of “I’m following this tutorial on YouTube and I get as far as converting my text to a path, then the next step doesn’t work…”. In case you were in any doubt about the longevity of content on the internet, the trickle of users following tutorials written for 0.46 and earlier continues to this day. The ‘obvious’ solution to this change is to ungroup the converted text, then join the paths together using Path > Union or Path > Combine. But whether by accident or design, the developers did leave a shortcut in place that allowed for a one-step conversion of text to a single complex path. Rather than use Object to Path, selecting the text object and going straight to Path > Union would have the desired effect. This quickly became the common response to new users following older tutorials, and also became a prominent method in newer tutorials. It’s worth noting that Path > Combine, when applied to a text object, also created a single path but it still puts it inside a group, which is arguably a little useless. Nevertheless, for 0.48 and 0.92 there are four ways to convert text to one or more paths.

Cette modification de comportement a immédiatement rendu un peu obsolètes un bon nombre de tutoriels et a conduit quelques nouveaux utilisateurs persistants à poster des requêtes sur les sites de support du genre « je suis ce tutoriel sur YouTube et je vais jusqu'à la conversion de mon texte en chemin, et l'étape suivante ne fonctionne pas… » Au cas où vous auriez le moindre doute sur la longévité du contenu sur Internet, le peu d'utilisateurs suivant les tutoriels écrits pour la 0.46 ou avant continue à ce jour.

La solution « évidente » à cette modification est de dégrouper le texte converti, puis de reunir les chemins en utilisant Chemin > Union ou Chemin > Combiner. Mais, soit par accident, soit exprès, les développeurs ont laisser en l'état un raccourci pour la conversion en une étape d'un texte en un seul chemin complexe. Plutôt que d'utiliser Objet vers chemin, la sélection du texte et l'emploi direct de Chemin > Union avait l'effet désiré. C'est devenu la réponse classique aux nouveaux utilisateurs qui suivent les tutoriels anciens et aussi une méthode principale dans les tutoriels plus récents. Il est à noter que Chemin > Combiner, quand c'est appliqué à un objet texte, crée aussi un chemin unique, mais il le mets encore dans un groupe, ce qui semblerait sans intérêt. Néanmoins, pour les 0.48 et 0.92, il y a quatre façons de convertir un texte en un ou plusieurs chemins.

Unfortunately, Inkscape 1.0 removes the Path > Union shortcut. To make matters worse, the status bar shows an “error” stating that “one of the objects is not a path, cannot perform boolean operation”, even though it does convert the text to paths, albeit in the same way as the Object to Path option. So now there’s a resurgent flow of new users to support sites who are finding that tutorials for 0.48 or 0.92 are also incorrect with the new version. But as there’s no longer a one-step solution to this task, the answer is usually to use the three-step approach.

Malheureusement, dans Inkscape 1.0, le raccourci de Chemin > Union a été retiré. Pour empirer les choses, la barre d'état montre une « erreur » affirmant que « un des objets de la sélection n'est pas un chemin, impossible de réaliser l'opération boooléenne », même si le texte est converti en chemins, de la même façon qu'avec l'option Objet en chemin.

Aussi, il y a, maintenant, une recrudescence de nouveaux utilisateurs sur les sites de support qui trouvent que les tutoriels pour les 0.48 et 0.92 sont aussi incorrects pour la nouvelle version. Mais comme il n'y a plus de solution en une étape à cette demande, la réponse est généralement d'utiliser l'approche en trois étapes.

Inset and Outset Related problems appear when using Path > Inset and Path > Outset. In both these cases, Inkscape 0.92 and earlier handled text objects as a special case: the text would automatically be converted to a single path for you before the effect was applied. But with 1.0, the results are not only not what you might expect, but the UI is downright misleading! With your text object selected, choosing one of these options might be expected to make it thinner (Inset) or thicker (Outset). Earlier versions did this, via the implicit conversion to a path, so although there were some users who were surprised that their text was no longer editable as a text object, for most the experience was in line with expectations. Try the same with 1.0, however, and the status bar says “No paths to inset/outset in the selection”. What it doesn’t immediately make clear, however, is that rather than failing benignly, leaving your text object untouched, it has also converted your text to a group of paths! So not only does it fail to do what you originally wanted, but it’s changed the nature of your object in the process.

Éroder et Dilater

Des problèmes liés apparaissent en utilisant Chemin > Éroder et Chemin > Dilater. Dans ces deux cas, Inkscape 0.92 et précédents manipulaient les objets texte comme un cas spécial : le texte était automatiquement converti en chemin unique avant que l'effet soit appliqué. Mais dans la 1.0, les résultats ne sont non seulement pas ceux attendus, mais l'interface utilisateur est carrément trompeuse !

Votre objet texte étant sélectionné, suivant le choix d'une de ces options, on pourrait s'attendre à ce qu'il le rende plus fin (Éroder) ou plus gros (Dilater). Les versions précédentes faisaient comme ça, via la conversion implicite en chemin, de sorte que, même si un bon nombre d'utilisateurs étaient surpris que leur texte ne soit plus modifiable comme un objet texte, pour la plupart le résultat était conforme aux attentes. Cependant, essayez de faire de même avec la 1.0, et la barre d'état vous dira « Aucun chemin à éroder/dilater dans la sélection ». Cependant, ce qu'il ne rend pas clair immédiatement, c'est que, plutôt que d'échouer sans dégats, en laissant l'objet texte intact, il convertit quand même votre texte en un groupe de chemins ! Ainsi, non seulement il n'arrive pas à réaliser ce que vous vouliez faire au départ, mais il a changé la nature de l'objet pendant le traitement.

Initially it might seem that the quick solution is to apply the inset or outset effect twice: the first converts the text to a group of paths, and the second then applies the desired effect to those paths. But alas, the first operation leaves the group itself selected, not the paths, and applying inset/outset to a group doesn’t work, even if that group consists of nothing but paths. Instead, the best solution is to perform the three-step conversion above to convert the text to a single path, and only then apply the inset/outset operation.

Au début, il pourrait sembler que la solution rapide est d'appliquer deux fois l'effet d'érosion ou de dilatation : la première convertit le texte en un groupe de chemins et la seconde applique ensuite l'effet désiré à ces chemins. Mais, hélas, la première sélection laisse le groupe lui-même sélectionné, pas les chemins, et l'application d'éroder/dilater à un groupe ne fonctionne pas, même si le groupe n'est constitué que de chemins. À la place, la meilleure solution est de réaliser la conversion en trois étapes ci-dessus pour convertir le texte en un seul chemin et, seulement ensuite, appliquer l'opération d'érosion/dilatation.

Dynamic Offset The Path > Dynamic offset operation seems to be particularly misleading when applied to text in version 1.0. In older releases, the behaviour was similar to inset/outset: there would be an implicit conversion to a single path before the real operation was applied. In this case, the operation results in a small diamond-shaped handle that can be dragged to dynamically adjust the inset or outset amount. Not so in 1.0. Initially, there’s no visible change, except that the selection box has lost its handles, and the pointer looks different. That’s actually because Inkscape has switched you to the Node tool. The usually helpful status bar is now positively misleading. “Drag to select objects to edit”, it begins. So you try dragging across the whole text: no change. You drag over a few of the letters: now the selection box disappears completely.

Décalage dynamique

L'opération Chemin > Décalage dynamique semble particulièrement trompeuse quand elle est appliquée à un texte dans la version 1.0. Dans les versions précédentes, le comportement était semblable à éroder/dilater : il y avait une conversion implicite en un unique chemin avant que la vraie opération fut appliquée. Dans ce cas, le résultat de l'opération est une petit poignée en forme de losange qui peut être tirée pour ajuster dynamiquement la quantité d'érosion ou de dilatation.

Pas dans la 1.0. Au début, il n'y a pas de changement visible, sauf que le cadre de sélection a perdu ses poignées et que le pointeur parait différent. C'est en fait parce que Inkscape vous a passé dans l'outil Nœuds. La barre d'état, habituellement utile, est absolument trompeuse. « Cliquer-glisser pour sélectionner les objets à éditer » pour commencer. Aussi, vous essayez de cliquer/déplacer par-dessus le texte : pas de changement. Vous essayez de cliquer/déplacer sur quelques lettres : maintenant, la boîte de sélection a complètement disparu.

“… click to edit this object”, it continues. So you click on a letter, and are presented with the node handles for the path making up that one letter. Because, yet again, when you first clicked the Dynamic Offset menu entry, your text object was converted into a group of paths, one per letter. You can click on other letters, and in each case the previous one is de-selected, and the clicked one shows its nodes. Shift-clicking selects multiple letters. You can drag the nodes, add them, delete them, and generally work with the Node tool as usual. But there’s no handle presented for dynamically adjusting the inset/outset which was, after all, what you were trying to do in the first place. As with inset/outset, the dynamic offset effect doesn’t work when applied to a group of paths. Unlike those operations, however, it also won’t work when applied to a selection of several paths – instead dropping you into the Node tool, even on earlier Inkscape releases. This means that there are no shortcuts: you simply can’t avoid converting your text to a single path if you want to use the dynamic offset feature on it. It’s back to performing the three-step conversion process first.

« .. Cliquer pour modifier cet objet » est ensuite indiqué. Vous cliquez donc sur une lettre, avec un nœud, et des poignées pour modifier le chemin de cette unique lettre sont proposées. Parce que, une fois encore, quand vous avez cliqué sur l'entrée de menu Décalage dynamique, votre texte d'abord a été converti en un groupe de chemins, un par lettre. Vous pouvez cliquer sur les autres lettres, et dans chaque cas, la précédente est déselectionnée, celle sur laquelle vous avez cliqué affiche ses nœuds. Avec Maj, vous pouvez sélectionner plusieurs lettres. Vous pouvez tirer les nœuds, en ajouter, les effacer et, de manière générale, travailler comme d'habitude avec l'outil Nœuds. Mais il n'y a aucune poignée proposée pour un ajustement dynamique d'érosion/dilatation, ce qui, après tout, était ce que vous vouliez faire au départ.

Comme avec l'érosion/dilatation, le décalage dynamique ne fonctionne pas quand il est appliqué à un groupe de chemins. Cependant, à l'inverse de ces opérations, il ne fonctionnera pas non plus quand il est appliqué à une sélection de plusieurs chemins - à la place, il vous fait passer dans l'outil Nœuds, même dans les versions précédentes d'Inkscape. Ça signifie qu'il n'y a aucun raccourci : vous ne pouvez tout simplement pas éviter de convertir votre texte en un chemin unique si vous voulez utiliser le décalage dynamique dessus. C'est le retour à l'exécution de la conversion en trois étapes d'abord.

Linked Offset The last command in this group, Path > Linked Offset, also fails to work with text in 1.0, but this time the workaround is quite different – it’s more complex, but does at least provide some useful functionality in the process. Let’s have a quick refresher on linked offsets in 0.92, and why I think they’re usually a better option than inset/outset or dynamic offsets when working with text. If you look at the SVG output for each of these commands, you’ll start to understand the differences between them. Inset and outset simply create a new path element that replaces your original object entirely. There’s no trace of it left in the file. They’re useful when you just want to make another path element a bit fatter or thinner, and don’t need to retain the original path in any way. Viewed in this way, you can understand why text (or any other shape) has to be converted to a path for these operations to work.

Décalage lié

La dernière commande du groupe, Chemin > Décalage lié, ne fonctionne pas non plus avec le texte dans la 1.0, mais cette fois, la solution de contournement est assez différente - elle est plus complexe, mais fournit au moins une fonctionnalité utile au cours du traitement. Rafraîchissons-nous rapidement la mémoire à propos des décalages liés dans la 0.92, et pourquoi je pense qu'ils sont habituellement une meilleure option que l'érosion/dilatation ou les décalages dynamiques quand on travaille sur du texte.

Si vous regardez les sorties SVG de chacune de ces commandes, vous commencerez à comprendre leurs différences. L'érosion et la dilatation créent simplement un nouvel élément chemin qui remplace complètement votre objet initial. Rien ne reste de lui dans le fichier. Ceux-là sont utiles quand vous voulez juste rendre un autre élément chemin plus gras ou plus fin, et que vous n'avez plus du tout besoin de conserver le chemin d'origine. Vu de cette façon, vous pouvez comprendre pourquoi le texte (ou tout autre forme) doit être converti en un chemin pour que ces opérations fonctionnent.

Dynamic offset is a little different. Yet again a path is created, completely replacing the original object. Like all SVG paths, it contains a “d” attribute which holds the details of the path shape, so that other programs can display it correctly. But this path has some additional Inkscape-specific attributes that are not usually present on a path. The first is “sodipodi:type” with a value of “inkscape:offset”, indicating to Inkscape that this path should be treated differently to normal paths. The second special attribute is “inkscape:original” which holds a copy of the original path that was used to create this offset path. Although the original path has been removed from the drawing, it lives on in this attribute, the content of which can even be copy-pasted into another path object to reconstruct the original shape. The third attribute, “inkscape:radius”, holds the size of the offset – i.e. how far you have moved the handle from its original position.

Le décalage dynamique est un peu différent. Une fois encore, un chemin est créé, remplaçant complètement l'objet d'origine. Comme tous les chemins dans SVG, il possède un attribut « d » qui contient tous les détails de la forme du chemin, de sorte que d'autres programmes peuvent l'afficher correctement. Mais ce chemin a des attributs spécifiques à Inkscape qui ne sont pas présents habituellement dans un chemin. Le premier est « sodipodi:type » avec la valeur « inkscape:offset », indiquant à Inkscape que ce chemin doit être traité différemment des chemins normaux.

Le second attribut spécial est « inkscape:original » qui contient une copie du chemin d'origine qui avait été utilisé pour créer ce chemin décalé. Bien que le chemin original ait été retiré du dessin, il vit encore sous cet attribut, dont le contenu peut même être copié/collé dans un autre objet chemin pour reconstruire la forme initiale. Le troisième attribut, « inkscape:radius », contient la taille du décalage - c-à-d, de combien vous avez déplacé la poignée depuis sa position d'origine.

When a path has these attributes set, Inkscape no longer uses the “d” attribute to draw the path. Instead it calculates the new shape based on the original path and the radius (offset) value. Change either of these and you’ll see that Inkscape updates the “d” attribute automatically, but this is just so that the shape appears correctly in other software. A linked offset also creates a path, but leaves the original object untouched. This path is similar to the dynamic offset case, but adds one more special attribute into the mix, in the form of “inkscape:href”. This holds a reference to the original, untouched object.

Quand un chemin reçoit ces attributs, Inkscape n'utilise plus l'attribut « d » pour dessiner le chemin. À la place, il calcule la nouvelle forme basée sur le chemin d'origine et la valeur du rayon (décalage). Modifiez l'un d'eux et vous verrez qu'Inkscape met à jour automatiquement l'attribut « d », mais c'est juste pour que la forme apparaisse correctement dans les autres logiciels.

Un décalage lié crée ausi un chemin, mais laisse l'objet d'origine intact. Ce chemin est similaire au cas du décalage dynamique, mais ajoute un attribut spécial de plus, sous la forme de « inkscape:href ». Celui-ci contient une référence à l'objet d'origine intact.

The new path still contains a “d” attribute, for other software to use. But it also still contains an “inkscape:original” attribute, again holding a path shape. This time, however, the path data here is created by implicitly converting the source object (the one pointed to by inkscape:href) into a path. If you change the source object, Inkscape updates the “inkscape:original” value which, in turn, results in an update to the “d” value. What does that mean in practice? It means that your original object retains its original type. Stars are still stars, and can be edited with the appropriate tool. Spirals and rectangles, again, are left untouched and can still be edited with their own tools. And yes, text is also left as text, meaning that you can change the font, style and even the content, with the linked offset updating automatically. This alone makes it the best option for offsetting text. You can hide the original or place it off the page if you want, but when you later discover a typo, or need to edit the words, you can make those changes to the original text and know that your offset version will stay in sync.

Le nouveau chemin contient encore un attribut « d », pour utilisation dans d'autres logiciels. Mais il contient aussi un attribut « inkscape:original », là aussi pour contenir la forme d'un chemin. Cette fois-ci, cependant, les données du chemin sont ici créées en convertissant implicitement l'objet source (celui qui est pointé dans inkscape:href) en chemin. Si vous modifiez l'objet source, Inkscape met à jour la valeur de « inkscape:original » ce qui, en retour, entraine une mise à jour de la valeur « d ».

Qu'est-ce que ça signifie pratiquement ? Ça veut dire que le'objet d'origine garde son type d'origine. Les étoiles sont toujours des étoiles et peuvent être modifiées avec l'outil approprié. Les spirales et les rectangles, eux aussi, sont conservés et peuvent être modifiés avec leurs outils propres. Et oui, le texte reste aussi un texte, ce qui veut dire que vous pouvez modifier la police, le style et même le contenu, et que le décalage lié est automatiquement mis à jour. À lui tout seul, ce dernier point fait du décalage lié votre meilleure option pour décaler un texte. Vous pouvez cacher l'original ou le placer en dehors de la page si vous voulez, mais quand vous découvrez plus tard une coquille ou que vous avez besoin de modifier les mots, vous pouvez faire ces modifications sur le texte initial en sachant que votre version décalée est toujours synchronisée.

But not in Inkscape version 1.0. Yet again in this version trying to use the command just converts the text to a group of paths and switches you to the node tool. You can use the three-step conversion to create a path before you select the menu entry – but that completely defeats the point of using a linked offset rather than a dynamic offset. Luckily the underlying rendering engine isn’t broken. If you present it with a linked offset created in an older version of Inkscape it displays correctly, and the original object still retains its original type and editability. Fortunately, we can reproduce this behaviour entirely in 1.0, but it does involve some use of the XML editor. These are the steps you’ll need to follow: • Select your text object and open the Object Properties dialog via the context menu, or the Ctrl-Shift-O shortcut. • Copy the ID from the dialog to the clipboard. Close the dialog. • Create a temporary object. Just about any sort will do, but I usually use a rectangle or ellipse. Making it a distinct color will help to keep track of things later.

Mais pas dans la version 1.0

Une fois encore dans cette version, un essai d'utilisation de la commande ne fait que convertir le texte en un groupe de chemins et vous basculer dans l'outil Nœuds. Vous pouvez utiliser la conversion en trois étapes pour créer un chemin avant de sélectionner l'entrée du menu - mais ça enlève tout intérêt à l'utilisation du décalage lié par rapport au décalage dynamique.

Par chance, le moteur de rendu sous-jacent n'est pas cassé. Si vous lui présentez un décalage lié créé dans une version précédente d'Inkscape, il l'affiche correctement et l'objet d'origine garde son type initial et son éditabilité. Heureusement, nous pouvons reproduire entièrement ce comportement dans la 1.0, mais avec l'utilisation de l'éditeur XML. Voici les étapes que vous devrez suivre : ••Sélectionnez votre objet texte et ouvrez le dialogue des Propriétés de l'objet par le menu contextuel ou avec le raccourci Ctrl-Maj-O. ••Copiez l'ID du dialogue dans le presse-papier. Fermez le dialogue. ••Créez un objet temporaire. N'importe quelle sorte fera l'affaire, mais j'utilise habituellement un rectangle ou une ellipse. Une couleur distincte aidera pour suivre les choses par la suite.

• Apply the Path > Linked Offset function to the temporary object. • With the linked offset selected, open the Edit > XML Editor dialog. • The linked offset should already be selected in the editor. You should see the extra attributes I described previously. • Change the inkscape:href attribute: delete most of the content, but leave the “#” in place, then paste the ID from the clipboard immediately after it. • Press Enter to make the change. You should see your text apparently change to the color of the temporary object. What you’re actually seeing is the linked offset positioned on top of your original text. • The Inkscape UI is a little confused at this point, as the temporary object will still be showing the linked offset handle. Switch to the Selection tool to get things back under control. • Delete the temporary object. • Double-click on the linked offset text, or select it and switch to the Node tool and you should see the usual offset handle. Adjust this to change your offset amount.

••Appliquez la fonction Chemin > Décalage lié à l'objet temporaire. ••L'objet lié étant sélectionné, ouvrez le dialogue Édition > Éditeur XML. ••L'objet lié devrait déjà être sélectionné dans l'éditeur. Vous devriez voir les attributs supplémentaires que j'ai décrits précédemment. ••Modifiez l'attribut inkscape:href : effacez presque tout, mais gardez le « # » en place, puis collez l'ID du presse-papier immédiatement derrière lui. ••Appuyez sur Entrée pour réaliser la modification. Vous devriez voir que votre texte a pris apparemment la couleur de l'objet temporaire. Ce que vous voyez, en fait, c'est que le décalage lié est positionné au-dessus de votre texte d'origine. ••L'interface utilisateur d'Inkscape est un peu confuse à cet endroit, car l'objet temporaire montrera encore la poignée de décalage lié. Un passage par l'outil de sélection ramènera les choses à la normale. ••Effacez l'objet temporaire. ••Double-cliquez sur le texte du décalage lié, ou sélectionnez-le, et passez sur l'outil Nœuds, et vous devriez voir la poignée de décalage habituelle. Ajustez-la pour modifier la valeur de votre décalage.

It seems like a lot of steps, but all we really did was create a linked offset to another object, then adjusted the link to point to our text object instead. Most importantly, our text remains untouched, so can still be edited using the normal text tools, with the linked offset updating automatically. One final thing to note is that the steps above also work for other shapes. If you want your rectangles to remain as rectangles, or your stars to still be editable with the star tool, you’ll need to follow those steps to avoid Inkscape 1.0 automatically converting your source objects into paths.

Ça parait être un bon paquet d'étapes, mais tout ce que nous avons fait en réalité, c'était de créer un décalage lié sur un autre objet, puis d'ajuster le lien pour qu'il pointe plutôt sur notre objet texte. Le plus important est que notre texte reste intact ; aussi, nous pouvons encore le modifier en utilisant les outils habituels des textes, avec le décalage lié qui se met à jour automatiquement.

Notons, pour finir, que les étapes ci-dessus fonctionnent aussi pour les autres formes. Si vous voulez que vos rectangles restent des rectangles, ou que vos étoiles soient encore modifiables avec l'outil Étoiles, vous devez suivre ces étapes pour éviter qu'Inkscape 1.0 convertissent automatiquement vos objets d'origine en chemins.

Reversing Sub-paths I mentioned this issue back in part 95, when Inkscape 1.0 was still in Beta. Unfortunately the final release still suffers from the same problem. With older versions, if you have a complex path (i.e. one with sub-paths), you could select a single node in the sub-path, then use Path > Reverse to reverse just that sub-path. This can be invaluable when working with the nonzero fill-rule, as described in part 95. In Inkscape v1.0 the Path > Reverse option reverses every sub-path, regardless of what was selected. There is only one way to work around this issue, and it’s something of a pain on more complex designs. You have to use Path > Break Apart, then reverse the sub-path in question, then select all the constituent paths before using Path > Combine to put them back together into a single complex path.

Inverser des sous-chemins

J'ai mentionné ce problème dans la partie 95, quand Inkscape 1.0 était encore en bêta. Malheureusement, la publication finale souffre du même défaut.

Avec les versions précédentes, si vous aviez un chemin complexe (c-à-d, avec des sous-chemins), vous pouviez sélectionner un seul nœud dans un sous-chemin, puis utiliser Chemin > Inverser pour inverser ce seul sous-chemin. C'était inestimable parfois, en travaillant avec la règle de remplissage « non-zéro », comme décrite dans la partie 95. Dans Inkscape v1.0, l'option Chemin > Inverser inverse tous les sous-chemins, sélectionnés ou pas.

Il n'y a qu'une façon de contourner ce problème, et c'est franchement pénible sur des dessins plus complexes. Vous devez utiliser Chemin > Séparer, puis inverser le sous-chemin en question, et ensuite sélectionner tous les chemins constituants avant d'utiliser Chemin > Combiner pour les rassembler à nouveau dans un seul chemin complexe.

Final Thoughts I hadn’t really planned to celebrate 100 articles with a text-heavy trawl through bugs and a deep dive into offsets, but these are the sort of problems that will affect lots of users, so warranted spending some time on. It just goes to show that new isn’t always better, and makes a strong case for sticking with 0.92 for the time being, especially if you’re a new user following some online tutorials. All these problems have been reported, and I have added extra comments or information on the bug reports where necessary. Hopefully the next release will address some of these issues – many of which look as though they have a common underlying cause. Next month I’ll move back onto some of the good stuff in Inkscape 1.0, hopefully without bumping into any more serious bugs along the way.

Dernières réflexions

Je n'avais pas particulièrement prévu de fêter ces 100 articles avec un parcours au texte chargé à travers les problèmes et une plongée profonde dans les décalages, mais c'est le genre de problèmes qui affecte bon nombre d'utilisateurs, ce qui vaut la peine d'y passer un peu de temps. Ça montre simplement que les nouveautés ne sont pas toujours meilleures et ça donne une bonne raison de rester dans la 0.92 pour le moment, surtout si vous êtes un nouvel utilsiateur qui suit des tutoriels en ligne.

Tous ces problèmes ont été remontés et j'ai ajouté des commentaires ou des informations supplémentaires sur les rapports de bogues, quand nécessaire. J'espère que la prochaine publication résoudra ces problèmes - beaucoup d'entre eux semblent avoir une cause commune sous-jacente.

Le mois prochain, je reviendrai sur les bons aspects d'Inkscape 1.0 ; j'espère que ce sera sans rencontrer d'autres défauts sérieux en le faisant.

issue160/inkscape.txt · Dernière modification : 2020/09/11 14:46 de auntiee