Outils pour utilisateurs

Outils du site


issue191:inkscape

It’s hard to believe that I’m now onto my third article about the changes and additions that Inkscape 1.2 brought to the Fill & Stroke dialog, yet there’s still plenty to write about. I love that: this dialog is one of the most frequently used parts of Inkscape for almost any workflow, so the fact that the developers have chosen to put some serious effort into improving it should bring benefits to every user. Previously, I looked at the new color pickers and the return of a gradient editor. Now it’s time to turn my attention to the changes in the Stroke Style tab. Let’s begin by comparing the old version, 1.1 (below left) to the new version, 1.2 (below right). I sense you may be a little disappointed with that grand reveal. On the surface little has changed. The Markers buttons now show a thin line when no marker is selected, and the order of the Join buttons has changed to better match that of the Cap buttons, but otherwise things are about the same, right? In truth, there have been two significant additions to this tab, but they both hide behind pop-up menu buttons. The first is the Dashes pop-up, which now shows as a two-column list, making it easier to see all the dash options at once, especially on smaller screens.

Il est difficile de croire que j'en suis à mon troisième article sur les changements et les ajouts qu'Inkscape 1.2 a apportés à la boîte de dialogue Fond et contour, et pourtant il y a encore beaucoup à écrire. J'adore cela : cette boîte de dialogue est l'une des parties d'Inkscape les plus fréquemment utilisées par presque tous les flux de travail et le fait que les développeurs aient choisi de faire de sérieux efforts pour l'améliorer devrait être bénéfique pour tous les utilisateurs. Précédemment, j'ai examiné les nouveaux sélecteurs de couleurs et le retour de l'éditeur de dégradés. Il est maintenant temps de porter mon attention sur les changements sous l'onglet Style de contour. Commençons par comparer l'ancienne version 1.1 (ci-dessous à gauche) à la nouvelle version 1.2 (ci-dessous à droite).

J'ai l'impression que vous êtes un peu déçu par cette grande révélation. En apparence, peu de choses ont changé. Les boutons Marqueurs affichent désormais une fine ligne lorsqu'aucun marqueur n'est sélectionné et l'ordre des boutons Raccord a été modifié pour mieux correspondre à celui des boutons Terminaison, mais pour le reste, les choses sont à peu près les mêmes, n'est-ce pas ?

En réalité, deux ajouts importants ont été apportés à cet onglet, mais ils se cachent tous deux derrière des boutons de menu contextuel. Le premier est le menu contextuel des tirets, qui s'affiche désormais sous la forme d'une liste à deux colonnes, ce qui permet de voir plus facilement toutes les options de tirets en même temps, en particulier sur les petits écrans.

While I like the idea of a two-dimensional display for the dashes, I’m not sure the current arrangement works terribly well. The ‘order’ of the entries runs along the rows first, rather than the columns. This makes it difficult to see the relationship between groups of patterns that were previously vertically adjacent to each other. Using a column-first order would have been a better choice, I think. Better still would be to take the new design a step further with a three-column layout: one for dots, one for dashes, and one for mixed patterns. The Custom option, which used to live at the bottom of the list, has been promoted to the top – and with good reason. In earlier versions of Inkscape, this was a misleading option to say the least. It was more of an output than an input; an indicator, rather than a control. If you were to load an SVG file with a custom dash pattern, then Inkscape would switch to this option in the UI. But manually selecting it for your own Inkscape-drawn lines did nothing, and certainly didn’t allow you to create a custom dash pattern (other than via a trip to the XML editor). That has now changed, and selecting this option expands the fields in the dialog a little, adding a ‘Pattern’ field.

Bien que j'aime l'idée d'un affichage bidimensionnel pour les tirets, je ne suis pas sûr que la disposition actuelle fonctionne très bien. L'« ordre » des entrées est d'abord celui des lignes, plutôt que celui des colonnes. Il est donc difficile de voir la relation entre des groupes de motifs qui étaient auparavant verticalement adjacents les uns aux autres. Je pense qu'il aurait été préférable d'utiliser l'ordre des colonnes en premier. Mieux encore, le nouveau design pourrait être poussé plus loin avec une disposition en trois colonnes : une pour les points, une pour les tirets et une pour les motifs mixtes.

L'option Custom (personnalisé), qui se trouvait en bas de la liste, a été promue au sommet et ce pour une bonne raison. Dans les versions précédentes d'Inkscape, cette option était pour le moins trompeuse. Il s'agissait plus d'une sortie que d'une entrée, d'un indicateur plutôt que d'un contrôle. Si vous deviez charger un fichier SVG avec un motif de tirets personnalisé, Inkscape basculait vers cette option dans l'interface utilisateur. Mais la sélectionner manuellement pour vos propres lignes dessinées dans Inkscape ne faisait rien et ne vous permettait certainement pas de créer un motif de tirets personnalisé (autrement qu'en allant dans l'éditeur XML). Cela a maintenant changé et la sélection de cette option élargit un peu les champs de la boîte de dialogue, en ajoutant un champ « Motif ».

The content of this field needs a little explanation, if you’re not intimately familiar with the way dash patterns are defined in SVG. It takes a series of space separated numbers. The first number is the length of the first dash (or dot – which is really just a small dash in this case). The second number is the length of the space that follows it. The third is the length of the second dash, and the fourth is the space that follows that. And so it continues, with odd entries defining the lengths of the dashes, and even entries defining the length of the spaces. Fortunately there is a shortcut built into the spec to make your life a little easier. There’s no need to list enough entries to cover the entire length of your path: the pattern is automatically repeated for you. Entering ‘1 2 3 4’ is exactly the same as entering ‘1 2 3 4 1 2 3 4 1 2 3 4…’. But this also has a significant effect if you enter a series with an odd number of entries: this automatic repeating means that it’s the same as entering a series with an even number, in which the second half is a duplicate of the first. So ‘1 2 3’ becomes ‘1 2 3 1 2 3…’. The significance of this is that any odd entry in the first half (denoting a dash) turns into an even entry in the second half (denoting a space), and vice-versa.

Le contenu de ce champ nécessite une petite explication si vous n'êtes pas intimement familier avec la manière dont les motifs de tirets sont définis dans le SVG. Il s'agit d'une série de nombres séparés par des espaces. Le premier nombre est la longueur du premier tiret (ou point - qui n'est en fait qu'un petit tiret dans ce cas). Le deuxième nombre est la longueur de l'espace qui le suit. Le troisième est la longueur du deuxième tiret, et le quatrième est l'espace qui le suit. Et ainsi de suite, les entrées impaires définissant la longueur des tirets et les entrées paires la longueur des espaces.

Heureusement, il existe un raccourci intégré dans la spécification pour vous faciliter la vie. Il n'est pas nécessaire d'énumérer suffisamment d'entrées pour couvrir toute la longueur de votre chemin : le modèle est répété automatiquement pour vous. Saisir « 1 2 3 4 » revient exactement à saisir « 1 2 3 4 1 2 3 4 1 2 3 4… ». Mais cela a aussi un effet important si vous entrez dans une série avec un nombre impair d'entrées : cette répétition automatique signifie que c'est la même chose que d'entrer dans une série avec un nombre pair, dans laquelle la deuxième moitié est une duplication de la première. Ainsi, « 1 2 3 » devient « 1 2 3 1 2 3… ». Cela signifie que toute entrée impaire dans la première moitié (représentant un tiret) devient une entrée paire dans la seconde moitié (représentant un espace), et vice-versa.

From this you might have worked out that the simplest dash pattern is just a single number. ‘5’, for example, would actually be equivalent to writing ‘5 5 5 5 5…’ - i.e. a series of equally sized dashes and spaces, each 5 units in length. Ah yes, the units. You may have noticed that all my examples have been simple numbers with no units. The SVG spec states that the numbers are all in ‘user units’, which should relate to the viewBox used in the SVG. Unless you’ve been messing around with that in the Document Properties dialog, Inkscape will generally set the viewBox dimensions to be the same as the document size. So if your document is defined in mm (e.g. an A4 page), then each ‘user unit’ will be 1mm. At least that’s the theory. But, in practice, it doesn’t seem to work like that, so you’re probably best just using a bit of trial and error to get the parts of the pattern to be the lengths you want.

Vous avez peut-être compris que le motif de tirets le plus simple n'est qu'un seul chiffre. « 5 », par exemple, équivaudrait en fait à écrire « 5 5 5 5 5… » - c'est-à-dire une série de tirets et d'espaces de taille égale, chacun d'une longueur de 5 unités.

Ah oui, les unités. Vous avez peut-être remarqué que tous mes exemples étaient des nombres simples, sans unités. La spécification SVG indique que les nombres sont tous exprimés en « unités utilisateur », ce qui devrait correspondre à la boïte de visualisation utilisée dans le SVG. À moins que vous n'ayez joué avec cela dans la boîte de dialogue Propriétés du document, Inkscape définit généralement les dimensions de la boîte de visualisation comme étant les mêmes que celles du document. Ainsi, si votre document est défini en mm (par exemple, une page A4), chaque « unité utilisateur » sera de 1 mm. C'est du moins la théorie. Mais, en pratique, cela ne semble pas fonctionner de cette manière et il est donc préférable de procéder par tâtonnements pour obtenir les longueurs souhaitées pour les parties du motif.

The SVG spec also supports percentages in the dash pattern, but Inkscape does not appear to do so. Percentages are actually less useful than you might expect for this purpose. It would make sense for percentages to be based on the length of the path segment. That would allow you to enter a single value of ‘20%’ in order to get three equal length dashes (with two matching spaces between them), which exactly fills the length of the path. But for reasons that I can’t fathom, the SVG spec uses the size of the viewport (i.e. the window) as the basis for calculating percentages, making them practically useless, in my opinion. There’s a workaround for that limitation, in SVG terms. You can add a ‘pathLength’ attribute to a <path> element which tells the renderer to override the actual path length when performing some calculations – such as defining the dash pattern. By setting pathLength to 100, any values entered in the dash pattern should therefore work as percentages. Here’s an example SVG file which draws a 90 unit long path, but uses pathLength to tell the browser to treat it as 100 units, so that the dash pattern value (in the ‘stroke-dasharray’ attribute) is effectively treated as 20% of the path length.

La spécification SVG prend également en charge les pourcentages dans le motif du tiret, mais Inkscape ne semble pas le faire. Les pourcentages sont en fait moins utiles qu'on ne pourrait le penser pour cet usage. Il serait logique que les pourcentages soient basés sur la longueur du segment de chemin. Cela vous permettrait d'entrer une valeur unique de « 20 % » afin d'obtenir trois tirets de même longueur (avec deux espaces correspondants entre eux), ce qui remplirait exactement la longueur du chemin. Mais, pour des raisons qui m'échappent, la spécification SVG utilise la taille du viewport (c'est-à-dire de la fenêtre) comme base de calcul des pourcentages, ce qui les rend pratiquement inutiles, à mon avis.

Il existe une solution pour contourner cette limitation, en termes de SVG. Vous pouvez ajouter un attribut « pathLength » à un élément <path> qui indique au moteur de rendu de ne pas tenir compte de la longueur réelle du chemin lorsqu'il effectue certains calculs, comme la définition du motif du tiret. En fixant pathLength à 100, toutes les valeurs saisies dans le motif du tiret devraient donc être exprimées en pourcentages. Voici un exemple de fichier SVG qui dessine un chemin d'une longueur de 90 unités, mais qui utilise pathLength pour indiquer au navigateur de le traiter comme 100 unités, de sorte que la valeur du motif de tirets (dans l'attribut « stroke-dasharray ») est effectivement traitée comme 20 % de la longueur du chemin.

The top line is the output when this path is rendered in Firefox. You can see that there are three equally sized dashes, with two equally sized spaces between them, as expected. The bottom line is the same file rendered in Inkscape. The pathLength attribute is ignored, so the pattern does not fit exactly into a 90 unit path, resulting in longer dashes and spaces, with the last dash being cut-off. It’s a real shame that this attribute isn’t honoured in Inkscape, as it’s the only way to create dash patterns that always fit the path exactly. For now you’re stuck with some trial and error in the dash pattern field, and you’ll have to resign yourself to repeating the process any time the path length changes. You may have noticed that the dash pattern always starts with a value for the first dash, with the first space coming after it. What if you want your pattern to start with a space, followed by a dash? There’s no way to specify that in the pattern itself, but the spinbox to the right of the Dashes pop-up button lets you apply an offset to the rendering of any dash pattern, whether it’s one of the built-in options or a series of your own devising. This can be used to nudge your pattern forwards or backwards to make it start with a space rather than a dash (or, indeed, with a half-dash or quarter-space, or any other adjustment you care to make).

La ligne du haut est le résultat de l'affichage de ce chemin dans Firefox. Vous pouvez voir qu'il y a trois tirets de taille égale, avec deux espaces de taille égale entre eux, comme prévu. La ligne du bas est le même fichier rendu dans Inkscape. L'attribut pathLength étant ignoré, le motif ne s'inscrit pas exactement dans un chemin de 90 unités, ce qui se traduit par des tirets et des espaces plus longs, le dernier tiret étant coupé. Il est vraiment dommage que cet attribut ne soit pas respecté dans Inkscape, car c'est le seul moyen de créer des motifs de tirets qui s'inscrivent toujours exactement dans le chemin. Pour l'instant, vous devez procéder par tâtonnements dans le champ du motif de tiret et vous résigner à répéter le processus chaque fois que la longueur du chemin change.

Vous avez peut-être remarqué que le motif de tirets commence toujours par une valeur pour le premier tiret, suivi du premier espace. Que se passe-t-il si vous souhaitez que votre motif commence par un espace, suivi d'un tiret ? Il n'y a aucun moyen de le spécifier dans le motif lui-même, mais le menu déroulant situé à droite du bouton contextuel Tirets vous permet d'appliquer un décalage au rendu de n'importe quel motif de tiret, qu'il s'agisse d'une des options intégrées ou d'une série que vous avez vous-même conçue. Vous pouvez ainsi avancer ou reculer votre motif pour qu'il commence par un espace plutôt que par un tiret (ou même par un demi-tiret ou un quart d'espace, ou tout autre ajustement de votre choix).

Moving on from dashes, the pop-ups for the start, mid and end markers have also seen a major overhaul in version 1.2, turning markers into a hugely more versatile tool than they previously were. Unfortunately, if you’re on a small screen, you might find a bit of a problem with the new UI. My personal preference for dialogs is to have them floating in separate windows, rather than docked to the main window. This goes doubly for a small screen, as it gives me the ability to move them out of the way easily or, courtesy of my window manager, to ‘shade’ them (i.e. collapse them to just the title bar) when I’m not actively using them. But if you try to open one of these pop-ups when the Fill & Stroke dialog has been reduced to its smallest practical size, you will find that many of the controls are cut off. The only workarounds for this that I’ve found are to either make the dialog larger, or to dock it at the side of the Inkscape window. In either case, clicking one of the marker fields will open the full pop-up.

Après les tirets, les fenêtres contextuelles des marqueurs de début, de milieu et de fin ont également fait l'objet d'une refonte majeure dans la version 1.2, faisant des marqueurs un outil beaucoup plus polyvalent qu'auparavant. Malheureusement, si vous utilisez un petit écran, la nouvelle interface utilisateur risque de vous poser quelques problèmes. Je préfère que les boîtes de dialogue flottent dans des fenêtres séparées, plutôt que d'être ancrées à la fenêtre principale. Cela vaut doublement pour un petit écran, car cela me permet de les déplacer facilement ou, grâce à mon gestionnaire de fenêtres, de les « ombrer » (c'est-à-dire de les réduire à la barre de titre) lorsque je ne les utilise pas activement. Mais si vous essayez d'ouvrir l'une de ces fenêtres contextuelles lorsque la boîte de dialogue Fond et contour a été réduite à sa plus petite taille pratique, vous constaterez que de nombreuses commandes sont coupées.

Les seules solutions que j'ai trouvées sont, soit d'agrandir la boîte de dialogue, soit de l'ancrer sur le côté de la fenêtre d'Inkscape. Dans les deux cas, il suffit de cliquer sur l'un des champs du marqueur pour ouvrir la fenêtre pop-up complète.

Until you select a marker type, the bottom half of the dialog will be disabled. The first icon, at the top-left of the pop-up, is always just a thin gray line. This is the ‘no-marker’ option, and is the thing to click if you wish to remove the current marker selection. Following that, on the top line, is an entry for each marker definition that is currently used in the document. This makes it much easier to re-use the same marker for the start and end of the line, or to maintain consistency throughout a document. Do note, however, that using this option will ‘link’ all the uses of that marker to a single reference in the SVG; if you subsequently edit one of the markers (see below), all the linked versions will also change. For that reason it’s often best to choose your marker from the lower part of the palette, not from this ‘currently used’ section, if you think there’s any chance you might want to edit any of the markers later. This section will wrap onto multiple lines, if necessary, and is also where you’ll find any custom markers you’ve created using the Object > Objects to Marker menu entry. Below a horizontal separator that, oddly, doesn’t stretch to the full width of the pop-up, you’ll find the complete set of markers that are built into Inkscape. Unfortunately, I haven’t been able to find a practical way to edit this collection. If you need to use the same custom markers regularly, the best approach seems to be to create your own default SVG file or template which contains them.

Tant que vous n'avez pas sélectionné un type de marqueur, la partie inférieure de la boîte de dialogue est désactivée. La première icône, en haut à gauche de la fenêtre pop-up, est toujours une fine ligne grise. Il s'agit de l'option « pas de marqueur », sur laquelle vous devez cliquer si vous souhaitez supprimer la sélection de marqueurs en cours. Ensuite, sur la ligne supérieure se trouve une entrée pour chaque définition de marqueur actuellement utilisée dans le document. Il est ainsi beaucoup plus facile de réutiliser le même marqueur pour le début et la fin de la ligne, ou de maintenir une certaine cohérence dans l'ensemble du document. Notez cependant que l'utilisation de cette option « liera » toutes les utilisations de ce marqueur à une seule référence dans le SVG ; si vous modifiez par la suite l'un des marqueurs (voir ci-dessous), toutes les versions liées seront également modifiées. C'est pourquoi il est souvent préférable de choisir votre marqueur dans la partie inférieure de la palette, et non dans la section « actuellement utilisé », si vous pensez qu'il est possible que vous souhaitiez modifier l'un des marqueurs ultérieurement. Cette section s'étend sur plusieurs lignes, si nécessaire, et c'est également là que vous trouverez tous les marqueurs personnalisés que vous avez créés à l'aide de l'entrée de menu Objet > Objets vers marqueurs.

Sous un séparateur horizontal qui, curieusement, ne s'étend pas sur toute la largeur de la fenêtre pop-up, vous trouverez l'ensemble des marqueurs intégrés à Inkscape. Malheureusement, je n'ai pas trouvé de moyen pratique d'éditer cette collection. Si vous avez besoin d'utiliser régulièrement les mêmes marqueurs personnalisés, la meilleure approche semble être de créer votre propre fichier SVG par défaut ou un modèle qui les contient.

There are some interesting things to note about the marker icons in this section. The first is that each is presented with an associated gray line. This represents the stroke of the path on which the marker will be applied, and carries a couple of useful bits of information: the relative size of the marker compared with the line (e.g. those on the last row are the same width as the stroke thickness, so appear more like line caps than markers), and the position of the marker relative to the line (e.g. the pencil is offset to one side of the path). It’s also worth noting that the position of each icon on the gray line, and the direction the marker faces, will be different depending on whether you’re selecting a start, end, or mid marker. For example, with mid markers, the gray line passes right through them, whereas for the others, the icon shows the marker placed at the appropriate end of the line. This is a subtle bit of UI design, but it helps to make more sense of how the final marker will appear in your document. Once you’ve selected a marker, the bottom section becomes enabled to allow you to edit it to some extent. The options are mostly self-explanatory, and the preview pane on the left gives you a good idea of what the end result will look like as you play around with the spinboxes. The ‘Orientation’ buttons in the middle are worth some extra explanation, though.

Il convient de noter quelques points intéressants concernant les icônes des marqueurs dans cette section. Tout d'abord, chaque marqueur est accompagné d'une ligne grise. Celle-ci représente le trait du chemin sur laquelle le marqueur sera appliqué et contient quelques informations utiles : la taille relative du marqueur par rapport à la ligne (par exemple, ceux de la dernière ligne ont la même largeur que l'épaisseur du trait et ressemblent donc plus à des capuchons de ligne qu'à des marqueurs) et la position du marqueur par rapport à la ligne (par exemple, le crayon est décalé d'un côté du chemin).

Il convient également de noter que la position de chaque icône sur la ligne grise et la direction du marqueur sont différentes selon que vous sélectionnez un marqueur de début, de fin ou de milieu. Par exemple, pour les marqueurs intermédiaires, la ligne grise les traverse de part en part, alors que pour les autres, l'icône montre le marqueur placé à l'extrémité appropriée de la ligne. Il s'agit d'une conception subtile de l'interface utilisateur, mais elle permet de mieux comprendre comment le marqueur final apparaîtra dans votre document.

Une fois que vous avez sélectionné un marqueur, la section inférieure s'active pour vous permettre de le modifier dans une certaine mesure. Les options sont pour la plupart explicites et le volet de prévisualisation à gauche vous donne une bonne idée du résultat final lorsque vous jouez avec les listes déroulantes. Les boutons « Orientation » du milieu méritent cependant quelques explications supplémentaires.

These all deal with which direction the marker will face in. For some shapes, such as circles, these will make little or no difference. But for something like an arrow head, these buttons are essential to ensure that your markers point in the right direction. The second button is the simplest to explain: this makes the marker point in the direction of the path, from start to end. With this enabled, using an arrow head as a start marker will show it as pointing in the direction of the path’s end, which is probably not what you want in this case. For mid and end markers, however, this is usually likely to be the best choice. The first button behaves similarly, but flips the direction by 180° for start markers. If you find your start maker is pointing the wrong way, switch between the first and second buttons as necessary. Initially you might think that the last button is the right one to use in this case, but it’s probably not. That button flips the actual path definition, not the way it’s used in one specific instance – which means it also flips the direction of any other uses of that marker within the document (i.e. if you selected the same entry using the ‘current document’ line of markers at the top of the pop-up).

Ces éléments déterminent la direction dans laquelle le marqueur sera orienté. Pour certaines formes, telles que les cercles, ces boutons ne feront que peu ou pas de différence. Mais pour quelque chose comme une tête de flèche, ces boutons sont essentiels pour s'assurer que vos marqueurs indiquent la bonne direction.

Le deuxième bouton est le plus simple à expliquer : il permet au marqueur de pointer dans la direction du chemin, du début à la fin. Si cette option est activée, l'utilisation d'une tête de flèche comme marqueur de départ indiquera qu'elle pointe dans la direction de la fin du chemin, ce qui n'est probablement pas ce que vous souhaitez dans ce cas. En revanche, pour les marqueurs de milieu et de fin, il s'agit généralement du meilleur choix.

Le premier bouton a un comportement similaire, mais il inverse la direction de 180° pour les marqueurs de départ. Si vous constatez que votre marqueur de départ pointe dans la mauvaise direction, alternez entre le premier et le deuxième bouton si nécessaire. Au départ, vous pourriez penser que le dernier bouton est celui qu'il faut utiliser dans ce cas, mais ça ne l'est probablement pas. Ce bouton inverse la définition réelle du chemin et non la manière dont il est utilisé dans un cas spécifique - ce qui signifie qu'il inverse également la direction de toute autre utilisation de ce marqueur dans le document (c'est-à-dire si vous avez sélectionné la même entrée à l'aide de la ligne de marqueurs du « document actuel » en haut de la fenêtre contextuelle).

The third button simply allows you to specify a fixed angle for the marker. Note that this is an absolute angle, not relative to the path direction. For example, if you set this to -90° to make mid-marker arrows point upwards, they’ll point directly upwards for every node, regardless of the twists and turns of your path. If you actually need a marker to run at an angle that is relative to the path direction, rather than the page, you’ll need to create your own marker that is suitably oriented, use Object > Objects to Marker, choose it in the pop-up, and make sure to use the first or second button in this section. In the bottom-left of the pop-up is an ‘Edit on canvas’ button. Click this and the on-canvas version of the marker will gain some basic editing handles. If you have multiple mid markers, these handles will appear on the first one. Using any of the three square handles you can resize the marker (hold Ctrl to scale proportionately); the circle is used to rotate it; the diamond in the middle can be used to move it, adjusting the offset from the path. This will usually be a more intuitive way to adjust the size, position and rotation of the markers. Note that adjusting the rotation will automatically switch the ‘Orientation’ option to the third button, so steer clear of that circular handle if you need your marker to follow the direction of the path.

Le troisième bouton vous permet simplement de spécifier un angle fixe pour le marqueur. Notez qu'il s'agit d'un angle absolu, et non d'un angle relatif à la direction du chemin. Par exemple, si vous réglez cet angle à -90° pour que les flèches des marqueurs médians pointent vers le haut, elles pointeront directement vers le haut pour chaque nœud, quels que soient les détours de votre chemin. Si vous avez besoin d'un marqueur dont l'angle est relatif à la direction du chemin, plutôt qu'à la page, vous devrez créer votre propre marqueur orienté de manière appropriée, en utilisant Objet > Objets vers marqueur, en le choisissant dans la fenêtre contextuelle et en vous assurant d'utiliser le premier ou le deuxième bouton de cette section.

Dans le coin inférieur gauche de la fenêtre contextuelle se trouve un bouton « Modifier sur la zone de travail ». Cliquez sur ce bouton et la version du marqueur sur le canevas sera dotée de quelques poignées d'édition de base. Si vous avez plusieurs marqueurs intermédiaires, ces poignées apparaîtront sur le premier. En utilisant l'une des trois poignées carrées, vous pouvez redimensionner le marqueur (maintenez la touche Ctrl enfoncée pour une mise à l'échelle proportionnelle) ; le cercle est utilisé pour le faire pivoter ; le diamant au milieu peut être utilisé pour le déplacer, en ajustant le décalage par rapport à la trajectoire.

Cette méthode est généralement plus intuitive pour ajuster la taille, la position et la rotation des marqueurs. Notez que le réglage de la rotation fera automatiquement basculer l'option « Orientation » sur le troisième bouton, donc évitez cette poignée circulaire si vous voulez que votre marqueur suive la direction du chemin.

Finally, a note on color. SVG2 defines two keywords, ‘context-stroke’ and ‘context-fill’, as a shorthand for the stroke and fill color of the current object, respectively. Many of the markers make use of these to determine what color(s) should be used to render them. As a general rule, arrows and terminators tend to follow the stroke color (which is usually what you want), while the markers which appear with a white fill in the pop-up also use the fill color (which may not be what you want at all). If you wish to use different colors for your markers, you’ll need to dig around in the XML editor, find the marker definition, then drill down to the path itself (or some other part of the design, as needed) and modify the style attribute. It’s not for the faint-hearted, so make sure you save a backup of your file before you start messing around with the XML editor like this. A particularly fine example of the context-stroke keyword at work is in the marker that looks like a pencil. This combines the keyword with some translucent panels in order to create a pencil whose body matches the stroke color of your path, but which still has some shadows and highlights based on that same color.

Enfin, une remarque sur la couleur. SVG2 définit deux mots-clés, « context-stroke » et « context-fill », qui représentent respectivement les couleurs du trait et du remplissage de l'objet courant. De nombreux marqueurs utilisent ces mots-clés pour déterminer quelle(s) couleur(s) doit(vent) être utilisée(s) pour leur rendu. En règle générale, les flèches et les terminaisons ont tendance à suivre la couleur du trait (ce qui est généralement ce que vous voulez), tandis que les marqueurs qui apparaissent avec un remplissage blanc dans la fenêtre contextuelle utilisent également la couleur de remplissage (ce qui n'est peut-être pas du tout ce que vous voulez). Si vous souhaitez utiliser des couleurs différentes pour vos marqueurs, vous devrez fouiller dans l'éditeur XML, trouver la définition du marqueur, puis descendre jusqu'au chemin lui-même (ou une autre partie du dessin, si nécessaire) et modifier l'attribut de style. Ce n'est pas une tâche facile, alors assurez-vous d'enregistrer une sauvegarde de votre fichier avant de commencer à jouer avec l'éditeur XML de cette manière.

Le marqueur qui ressemble à un crayon est un exemple particulièrement intéressant de l'utilisation du mot-clé context-stroke. Il combine le mot-clé avec des panneaux translucides afin de créer un crayon dont le corps correspond à la couleur du trait de votre chemin, mais qui possède des ombres et des lumières basées sur cette même couleur.

At the opposite end of the spectrum is the marker that looks like a location pin from a mapping site. This is hard-coded to always be red. If you want it to match your stroke color (or fill color), find it in the <defs> section of the XML editor, drill down to the path that’s inside the <marker> element, and change the ‘style’ attribute so that the ‘fill’ property is ‘context-stroke’ (or ‘context-fill’) instead of ‘#ff0000’. As an example, here is an image in which I’ve set the start marker to a fill color of ‘context-stroke’, left the mid marker as the default red, and set the end marker to a hard-coded value of ‘#009900’. These new features in the Fill & Stroke dialog initially seem like small changes, but I’m sure you can see that they open up a lot of the possibilities that SVG offers, but which were previously hard to use within Inkscape. It’s a shame that changing the colors of markers requires a trip to the XML editor, and the technical knowledge that comes with that, but most users probably won’t need that level of control anyway.

À l'autre extrémité du spectre se trouve le marqueur qui ressemble à une épingle de localisation d'un site de cartographie. Il est codé en dur pour être toujours rouge. Si vous voulez qu'il corresponde à votre couleur de contour (ou de remplissage), trouvez-le dans la section <defs> de l'éditeur XML, descendez jusqu'au chemin qui se trouve à l'intérieur de l'élément <marker> et modifiez l'attribut « style » de sorte que la propriété « fill » soit « context-stroke » (ou « context-fill ») au lieu de « #ff0000 ». À titre d'exemple, voici une image dans laquelle j'ai attribué au marqueur de début la couleur de remplissage « context-stroke », j'ai laissé le marqueur intermédiaire dans la couleur rouge par défaut et j'ai attribué au marqueur de fin une valeur codée en dur de « #009900 ».

Ces nouvelles fonctionnalités dans la boîte de dialogue Fond et contour semblent initialement des petits changements, mais je suis sûr que vous pouvez voir qu'elles ouvrent beaucoup de possibilités que SVG offre, mais qui étaient auparavant difficiles à utiliser dans Inkscape. Il est dommage que la modification des couleurs des marqueurs nécessite un voyage dans l'éditeur XML et les connaissances techniques qui en découlent, mais la plupart des utilisateurs n'auront probablement pas besoin de ce niveau de contrôle de toute façon.

issue191/inkscape.txt · Dernière modification : 2023/04/03 15:35 de andre_domenech