issue160:inkscape
Différences
Ci-dessous, les différences entre deux révisions de la page.
Les deux révisions précédentesRévision précédenteProchaine révision | Révision précédente | ||
issue160:inkscape [2020/09/07 09:22] – d52fr | issue160:inkscape [2020/09/11 14:46] (Version actuelle) – auntiee | ||
---|---|---|---|
Ligne 3: | Ligne 3: | ||
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.** | 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 | + | 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 |
- | Ce mois-ci, je continuerai à regarder Inkscape 1.0. Bien qu'il y ait plein de nouvelles choses passionnantes à présenter - et je promets | + | Ce mois-ci, je continuerai à regarder Inkscape 1.0. Bien qu'il y ait plein de nouvelles choses passionnantes à présenter - et je promets |
**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.** | **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 | + | 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 |
**Converting Text to a Path | **Converting Text to a Path | ||
Ligne 16: | Ligne 16: | ||
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.** | 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' | ||
+ | |||
+ | Pour la plupart des éléments dans Inkscape, le résultat d' | ||
**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. | **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, | 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, | ||
+ | |||
+ | 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 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' | ||
**Unfortunately, | **Unfortunately, | ||
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.** | 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, | ||
+ | |||
+ | 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' | ||
**Inset and Outset | **Inset and Outset | ||
Ligne 30: | Ligne 44: | ||
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/ | 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/ | ||
+ | |||
+ | É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' | ||
+ | |||
+ | Votre objet texte étant sélectionné, | ||
**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/ | **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/ | ||
+ | |||
+ | Au début, il pourrait sembler que la solution rapide est d' | ||
**Dynamic Offset | **Dynamic Offset | ||
Ligne 38: | Ligne 60: | ||
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.** | 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' | ||
+ | |||
+ | 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' | ||
**“… 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, | **“… 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, | ||
As with inset/ | As with inset/ | ||
+ | |||
+ | « .. 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' | ||
+ | |||
+ | Comme avec l' | ||
**Linked Offset | **Linked Offset | ||
Ligne 48: | Ligne 80: | ||
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.** | 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' | ||
+ | |||
+ | Si vous regardez les sorties SVG de chacune de ces commandes, vous commencerez à comprendre leurs différences. L' | ||
**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: | **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: | ||
The second special attribute is “inkscape: | The second special attribute is “inkscape: | ||
+ | |||
+ | Le décalage dynamique est un peu différent. Une fois encore, un chemin est créé, remplaçant complètement l' | ||
+ | |||
+ | Le second attribut spécial est « inkscape: | ||
**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, | **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, | ||
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: | 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: | ||
+ | |||
+ | Quand un chemin reçoit ces attributs, Inkscape n' | ||
+ | |||
+ | Un décalage lié crée ausi un chemin, mais laisse l' | ||
**The new path still contains a “d” attribute, for other software to use. But it also still contains an “inkscape: | **The new path still contains a “d” attribute, for other software to use. But it also still contains an “inkscape: | ||
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.** | 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' | ||
+ | |||
+ | Qu' | ||
**But not in Inkscape version 1.0. | **But not in Inkscape version 1.0. | ||
Ligne 69: | Ligne 119: | ||
• Copy the ID from the dialog to the clipboard. Close the dialog. | • 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.** | • 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' | ||
+ | |||
+ | 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' | ||
+ | ••Sélectionnez votre objet texte et ouvrez le dialogue des Propriétés de l' | ||
+ | ••Copiez l'ID du dialogue dans le presse-papier. Fermez le dialogue. | ||
+ | ••Créez un objet temporaire. N' | ||
+ | |||
+ | |||
**• Apply the Path > Linked Offset function to the temporary object. | **• Apply the Path > Linked Offset function to the temporary object. | ||
• With the linked offset selected, open the Edit > XML Editor dialog. | • With the linked offset selected, open the Edit > XML Editor dialog. | ||
Ligne 77: | Ligne 138: | ||
• Delete the temporary object. | • 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.** | • 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' | ||
+ | ••L' | ||
+ | ••L' | ||
+ | ••Modifiez l' | ||
+ | ••Appuyez sur Entrée pour réaliser la modification. Vous devriez voir que votre texte a pris apparemment la couleur de l' | ||
+ | ••L' | ||
+ | ••Effacez l' | ||
+ | ••Double-cliquez sur le texte du décalage lié, ou sélectionnez-le, | ||
**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, | **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, | ||
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.** | 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' | ||
+ | |||
+ | 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' | ||
**Reversing Sub-paths | **Reversing Sub-paths | ||
Ligne 89: | Ligne 163: | ||
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.** | 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, | ||
+ | |||
+ | Avec les versions précédentes, | ||
+ | |||
+ | 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' | ||
**Final Thoughts | **Final Thoughts | ||
Ligne 97: | Ligne 179: | ||
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.** | 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' | ||
+ | |||
+ | 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' | ||
+ | |||
+ | Le mois prochain, je reviendrai sur les bons aspects d' | ||
issue160/inkscape.1599463345.txt.gz · Dernière modification : 2020/09/07 09:22 de d52fr