This month, I’ll begin with a small correction, courtesy of @dwhall on the Inkscape forum (https://inkscape.org/forums/). Previously I described the new ability to set the origin point for Selector tool transformations – i.e. the point that remains fixed when you change the width or height via the numeric fields in the tool control bar. I said that it was a shame that there’s no way to choose the center-center point as the reference. It turns out there is, but not while the Selector tool is in its default move/resize mode. Instead, you have to click on the object a second time to switch to the scale/rotate handles. Once in that mode, a single click on the handle that marks the center of rotation will display the blue color and barely visible lines that indicate it’s being used as the reference point. This also means that the reference point can be moved to an arbitrary position by dragging the handle (Shift-Click on it to return it to the center of the bounding box), but suffers from a long-standing omission in this regard in that there’s no way to set the position by typing values in, except via the not-so-user-friendly XML editor. In addition, none of the other rotate/skew handles can be clicked to set the reference point, so if you want to switch it to one of the corners, for example, you’ll need to cycle back round to the move/resize mode.
Ce mois-ci, je commencerai par une petite correction, avec l'aimable autorisation de @dwhall sur le forum d'Inkscape (https://inkscape.org/forums/). J'ai décrit précédemment la nouvelle possibilité de définir le point d'origine pour les transformations de l'outil Sélecteur - c'est-à-dire le point qui reste fixe lorsque vous changez la largeur ou la hauteur via les champs numériques de la barre de contrôle de l'outil. J'ai dit qu'il était dommage qu'il n'y ait pas de moyen de choisir le point central comme référence. Il s'avère qu'il y en a un, mais pas lorsque l'outil Sélecteur est dans son mode de déplacement/redimensionnement par défaut. Il faut cliquer une seconde fois sur l'objet pour passer aux poignées d'échelle et de rotation. Une fois dans ce mode, un simple clic sur la poignée qui marque le centre de rotation affichera la couleur bleue et les lignes à peine visibles qui indiquent qu'elle est utilisée comme point de référence.
Cela signifie également que le point de référence peut être déplacé vers une position arbitraire en faisant glisser la poignée (Maj-Clic sur celle-ci pour la ramener au centre de la boîte de délimitation), mais souffre d'une omission de longue date à cet égard : il n'y a aucun moyen de définir la position en saisissant des valeurs, sauf via l'éditeur XML, qui n'est pas si convivial que cela. En outre, aucune des autres poignées de rotation ou d'inclinaison ne peut être cliquée pour définir le point de référence, de sorte que si vous souhaitez le déplacer vers l'un des coins, par exemple, vous devrez repasser par le mode déplacement/redimensionnement.
I sincerely hope that the Inkscape developers make these three small additions in a future release to unify this new functionality across the different modes of the Selector tool: • Add a visible center handle to the move/resize mode, similar to the center of rotation • Add fields for explicitly entering the reference coordinates to the tool control bar • Allow all the scale/rotate handles to be selected as reference points Document Resources Dialog This dialog is a new addition to version 1.3, and provides a single place to view the various ‘assets’ that are used in your document. An asset, in this case, is one of the following types of element: • Fonts • Styles • Colors • Swatches • Gradients • Filters • Patterns • Symbols • Markers • Images • External references (i.e. links to URLs) • Metadata
J'espère sincèrement que les développeurs d'Inkscape feront ces trois petits ajouts dans une prochaine version afin d'unifier cette nouvelle fonctionnalité à travers les différents modes de l'outil Sélecteur : ••Ajouter une poignée centrale visible au mode déplacement/redimensionnement, similaire au centre de rotation. ••Ajouter des champs permettant de saisir explicitement les coordonnées de référence dans la barre de contrôle de l'outil. ••Permettre à toutes les poignées d'échelle/de rotation d'être sélectionnées comme points de référence.
Boîte de dialogue Ressources du document
Cette boîte de dialogue est une nouveauté de la version 1.3. Elle permet de visualiser en un seul endroit les différents « actifs » utilisés dans votre document. Dans ce cas, une ressource est l'un des types d'éléments suivants : ••Polices ••Styles ••Couleurs ••Nuances ••Dégradés ••Filtres ••Motifs ••Symboles ••Marqueurs ••Images ••Références externes (les liens vers des URL) ••Métadonnées
There’s an absolute trove of information in this dialog, as can be seen from the default ‘Overview’ pane that appears when it’s first opened via File > Document Resources. To the left of the dialog you can see a list of the various categories of information available, beginning with the Overview pane that is currently selected. Categories appear in this list only if they have content to display, so you won’t be faced with a useless ‘Symbols’ category if your document doesn’t contain any symbols, for example. To the right of this list is the main content of the dialog, which often displays information in a tabular form, as can be seen with the Overview. Unfortunately, the cells of these tables are not only read-only, but also don’t allow their contents to be copied to the clipboard. There’s also no option to export them to a file for further processing or analysis. A command-line mechanism for opening a drawing in a headless Inkscape instance and exporting a JSON file from this dialog would open up a lot of possibilities for indexing or exploring any large corpus of SVG files.
Cette boîte de dialogue contient une mine d'informations, comme le montre le volet « Aperçu » par défaut qui apparaît lorsqu'on l'ouvre pour la première fois via Fichier > Ressources du document.
À gauche de la boîte de dialogue, vous pouvez voir une liste des différentes catégories d'informations disponibles, en commençant par le volet « Aperçu » qui est actuellement sélectionné. Les catégories n'apparaissent dans cette liste que si elles ont un contenu à afficher, de sorte que vous ne serez pas confronté à une catégorie « Symboles » inutile si votre document ne contient aucun symbole, par exemple.
À droite de cette liste se trouve le contenu principal de la boîte de dialogue, qui affiche souvent des informations sous forme de tableaux, comme dans le cas de l'aperçu. Malheureusement, les cellules de ces tableaux ne sont pas seulement en lecture seule, mais elles ne permettent pas non plus de copier leur contenu dans le presse-papiers. Il n'y a pas non plus d'option pour les exporter dans un fichier en vue d'un traitement ou d'une analyse ultérieurs. Un mécanisme de ligne de commande permettant d'ouvrir un dessin dans une instance d'Inkscape sans en-tête et d'exporter un fichier JSON à partir de ce dialogue ouvrirait de nombreuses possibilités d'indexation ou d'exploration d'un large corpus de fichiers SVG.
Looking at the overview pane, you can see some immediately useful information about the document path, the licence and the total number of elements. A lot of the other information, however, just duplicates the list of categories on the left. There’s no interactivity in the overview table, either: clicking or double-clicking on one of those entries is in vain, as it doesn’t take you to the relevant category pane, and certainly doesn’t open the appropriate dialog on the screen. For example, it would be great on noticing that I’ve failed to add a licence, to be able to double-click on the second row as a shortcut to open the Document Properties dialog with the relevant tab selected, but this dialog doesn’t currently provide that sort of capability. Above the main pane is a toolbar whose contents change depending on the selected pane. In all cases the button and search box on the right remain present. The button – which has an icon that looks like a vacuum cleaner, in my theme – will remove any definitions that are present in the file, but not used in the actual drawing. As an example, this can happen when you create gradients on objects then change them to a different fill, or delete the objects entirely. If that sounds familiar, it’s because there is already a File > Clean Up Document menu item which performs the same task. In fact, if you have the ‘Show icons in menus’ option enabled in the Theming pane of the Preferences dialog, you’ll probably already recognise the icon in this button.
En regardant le panneau d'aperçu, vous pouvez voir quelques informations immédiatement utiles sur le chemin du document, la licence et le nombre total d'éléments. Cependant, la plupart des autres informations ne font que reprendre la liste des catégories sur la gauche. Il n'y a pas non plus d'interactivité dans le tableau d'ensemble : cliquer ou double-cliquer sur l'une de ces entrées est vain, car cela ne permet pas d'accéder au volet de la catégorie concernée, et encore moins d'ouvrir la boîte de dialogue appropriée à l'écran. Par exemple, si je m'aperçois que j'ai omis d'ajouter une licence, il serait formidable de pouvoir double-cliquer sur la deuxième ligne comme raccourci pour ouvrir la boîte de dialogue Propriétés du document avec l'onglet correspondant sélectionné, mais cette boîte de dialogue n'offre pas cette possibilité pour le moment.
Au-dessus du volet principal se trouve une barre d'outils dont le contenu change en fonction du volet sélectionné. Dans tous les cas, le bouton et la boîte de recherche situés à droite restent présents. Le bouton - dont l'icône ressemble à un aspirateur dans mon thème - supprime toutes les définitions présentes dans le fichier, mais qui ne sont pas utilisées dans le dessin proprement dit. Par exemple, cela peut se produire lorsque vous créez des dégradés sur des objets, puis que vous les remplacez par un remplissage différent, ou que vous supprimez complètement les objets. Si cela vous semble familier, c'est parce qu'il existe déjà un élément de menu Fichier > Nettoyer le document qui effectue la même tâche. En fait, si vous avez activé l'option « Afficher les icônes dans les menus » dans le volet « Thèmeg » de la boîte de dialogue Préférences, vous aurez probablement déjà reconnu l'icône de ce bouton.
The search box in the toolbar is actually more of a filter, in that it just restricts the entries in the current pane to those that match the search string. It doesn’t search across all the panes in the dialog. This is a simple case-insensitive substring search that doesn’t support any wildcards, which somewhat limits its usefulness (e.g. no searching for ‘??ff??’ in the Colors pane to find all the colors with 100% green). I won’t go through every pane in this dialog, as many show just tabular information. But I will take a look at some that do offer some additional functionality, starting with the aforementioned Colors pane. This pane shows a grid of color swatches, each with its hexadecimal RGB value beneath it. Remember, no matter what color picker you use, Inkscape stores values internally as RGB, so don’t go expecting to see your HSL values in here. Also note that these are 6-digit hex values, so any transparency in your colors is omitted. This is a pity, because the difference between a fully opaque and a nearly transparent color is stark, so this view might grossly misrepresent the colors that are actually visible in your image.
Le champ de recherche de la barre d'outils est en fait plutôt un filtre, en ce sens qu'il limite les entrées du volet actuel à celles qui correspondent à la chaîne de recherche. La recherche ne porte pas sur tous les volets de la boîte de dialogue. Il s'agit d'une simple recherche de sous-chaîne insensible à la casse qui ne prend pas en charge les caractères génériques, ce qui limite quelque peu son utilité (par exemple, il n'est pas possible de rechercher « ??ff??? » dans le volet Couleurs pour trouver toutes les couleurs dont le vert est à 100 %).
Je ne vais pas passer en revue tous les volets de cette boîte de dialogue, car nombre d'entre eux n'affichent que des informations tabulaires. Mais je vais en examiner certains qui offrent des fonctionnalités supplémentaires, en commençant par le volet Couleurs mentionné plus haut.
Ce volet affiche une grille d'échantillons de couleurs, chacun étant accompagné de sa valeur hexadécimale RVB. N'oubliez pas que, quel que soit le sélecteur de couleurs que vous utilisez, Inkscape stocke les valeurs en interne sous forme de RVB, donc ne vous attendez pas à voir vos valeurs HSL ici. Notez également qu'il s'agit de valeurs hexagonales à 6 chiffres, donc toute transparence dans vos couleurs est omise. C'est dommage, car la différence entre une couleur totalement opaque et une couleur presque transparente est frappante, et cette vue peut donc représenter de manière très erronée les couleurs qui sont réellement visibles dans votre image.
You can’t edit the hex values from here; you can’t double-click to open a color picker to change any of the colors interactively; you can’t even drag a swatch to the canvas to set the fill or stroke on your selected object. This is purely a report of the colors used in your image, in ascending hex order, not a tool for working with them. There is, however, one small bit of additional functionality in this pane, offered by the button in the toolbar. Clicking that will export a palette of the colors in *.gpl format – the palette format used by The Gimp and some other tools, as well as by Inkscape itself. But before you get too excited about this function, note that it will always export the entire list of colors. There’s no way to select a subset of the swatches in the pane to produce a more limited palette. The Fonts pane is a useful little tool, showing a list of the fonts used in your document, but doing so with two entries per font: the first shows the font name rendered at a fairly large size using the font itself, while the second shows it as plain text.
Vous ne pouvez pas modifier les valeurs hexagonales à partir d'ici ; vous ne pouvez pas double-cliquer pour ouvrir un sélecteur de couleurs afin de modifier l'une des couleurs de manière interactive ; vous ne pouvez même pas faire glisser un échantillon sur le canevas pour définir le remplissage ou le trait de l'objet sélectionné. Il s'agit uniquement d'un rapport sur les couleurs utilisées dans votre image, par ordre hexagonal croissant, et non d'un outil permettant de les manipuler.
Il existe cependant une petite fonctionnalité supplémentaire dans ce volet, offerte par le bouton de la barre d'outils. En cliquant sur ce bouton, vous exportez une palette de couleurs au format *.gpl - le format de palette utilisé par The Gimp et d'autres outils, ainsi que par Inkscape lui-même. Mais avant de vous enthousiasmer pour cette fonction, notez qu'elle exporte toujours la liste complète des couleurs. Il n'y a aucun moyen de sélectionner un sous-ensemble d'échantillons dans le panneau pour produire une palette plus limitée.
Le volet Polices est un petit outil utile, qui affiche une liste des polices utilisées dans votre document, mais avec deux entrées par police : la première montre le nom de la police rendu à une taille assez grande en utilisant la police elle-même, tandis que la seconde l'affiche sous forme de texte brut.
This is great for getting an overview of the fonts you’re using, and the preview makes it easier to identify whether each font is a serif, sans-serif, display font, and so on. Showing the font name as plain text also helps when dealing with dingbat fonts, or extremely fancy or cursive fonts where the fully rendered version might be hard to read. Unfortunately color fonts don’t appear in color (e.g. Gilbert Color in the screenshot). Even if there are technical reasons why they can’t be rendered in color in here, it would be nice to at least have some flag or indicator to show that they’re color fonts. In fact, a little more metadata about the fonts would be nice to have in here generally. The Gradients, Markers, Patterns, Swatches and Symbols panes all share some common toolbar buttons, as seen here in the Markers pane.
Cette fonction est très utile pour obtenir une vue d'ensemble des polices que vous utilisez, et l'aperçu permet d'identifier plus facilement si chaque police est une police sérif, sans sérif, une police d'affichage, etc. L'affichage du nom de la police en texte brut est également utile lorsqu'il s'agit de polices dingbat ou de polices extrêmement fantaisistes ou cursives, dont la version entièrement rendue pourrait être difficile à lire.
Malheureusement, les polices de couleur n'apparaissent pas en couleur (par exemple Gilbert Color dans la capture d'écran). Même s'il y a des raisons techniques pour lesquelles elles ne peuvent pas être rendues en couleur ici, il serait bon d'avoir au moins un indicateur pour montrer qu'il s'agit de polices en couleur. En fait, il serait bon d'avoir un peu plus de métadonnées sur les polices.
Les volets Dégradés, Marqueurs, Motifs, Nuanciers et Symboles partagent tous des boutons de barre d'outils communs, comme on peut le voir ici dans le volet Marqueurs.
Unfortunately there only seems to be a symbolic icon for the first button – at least in my 1.3.2 AppImage downloaded directly from the Inkscape website. All other themes show some sort of ‘missing image’ icon. For reference, the symbolic icon for this is a pencil. The buttons are enabled only when an item in the pane is selected. Clicking the first will let you edit the label of the item; double-clicking on the item label directly also achieves the same result. I’ll make my usual clarification that the label is purely an informative thing that Inkscape offers. It’s not part of the SVG spec (it’s stored as an attribute in the Inkscape namespace), and changing this won’t alter the ID, which makes it less useful for JavaScript developers. But if you want some of your assets to have user-friendly labels – perhaps to make them easier to reuse – you can rename them in bulk (albeit one at a time) in this dialog.
Malheureusement, il ne semble y avoir qu'une icône symbolique pour le premier bouton - du moins dans mon AppImage 1.3.2 téléchargée directement depuis le site Web d'Inkscape. Tous les autres thèmes affichent une sorte d'icône d'image manquante. Pour référence, l'icône symbolique est un crayon.
Les boutons ne sont activés que lorsqu'un élément du volet est sélectionné. En cliquant sur le premier, vous pouvez modifier le libellé de l'élément ; en double-cliquant directement sur le libellé de l'élément, vous obtenez le même résultat. Je précise, comme d'habitude, que l'étiquette est un élément purement informatif offert par Inkscape. Elle ne fait pas partie de la spécification SVG (elle est stockée en tant qu'attribut dans l'espace de noms Inkscape), et la modifier ne changera pas l'ID, ce qui la rend moins utile pour les développeurs de JavaScript. Mais si vous voulez que certaines de vos ressources aient des étiquettes conviviales - peut-être pour les rendre plus faciles à réutiliser - vous pouvez les renommer en vrac (bien qu'une à la fois) dans cette boîte de dialogue.
The tooltip for the second button in the toolbar claims that it will “Select this on canvas (if applicable) or in the XML dialog (e.g. a pattern in the ‘defs’ section)”. In my experience, this should probably be reworded to be the other way round: it will actually select the item in the XML dialog, if it’s already open, and very occasionally also select an element on the canvas. The reason for this is that most of the items in these panes refer to internal definitions that don’t have a direct on-canvas object associated with them. Selecting the definition in the XML editor makes sense in that case – though it’s not something that’s likely to be terribly useful for most people. Only if the item is actually represented directly on-canvas will the corresponding object be selected. This will not be the case for any of the panes I listed above though it may be for images, which I’ll discuss further below. The last button on the toolbar deletes the selected item from the file. This will not always have the effect you expect. Deleting a Swatch, for example, will remove the fill or stroke color from any objects that use it – no surprise there. But deleting a Symbol won’t remove it from your canvas; instead the symbol is converted to a group of normal objects, the same as if you’d selected it on the canvas and used Edit > Clone > Unlink Clone.
L'infobulle du deuxième bouton de la barre d'outils indique qu'il va « Sélectionner ceci sur le canevas (si possible) ou dans la boîte de dialogue XML (par exemple, un motif dans les 'defs') ». D'après mon expérience, cela devrait probablement être reformulé dans l'autre sens : il sélectionnera en fait l'élément dans la boîte de dialogue XML, si elle est déjà ouverte, et très occasionnellement aussi un élément sur le canevas. La raison en est que la plupart des éléments de ces panneaux font référence à des définitions internes qui n'ont pas, sur le canevas, d'objet direct qui leur soit associé. Sélectionner la définition dans l'éditeur XML a du sens dans ce cas - bien que ce ne soit pas quelque chose de très utile pour la plupart des gens. L'objet correspondant ne sera sélectionné que si l'élément est représenté directement dans le canevas. Ce n'est le cas pour aucun des volets que j'ai énumérés ci-dessus, mais cela peut être le cas pour les images, dont je parlerai plus loin.
Le dernier bouton de la barre d'outils supprime l'élément sélectionné du fichier. Cette opération n'a pas toujours l'effet escompté. La suppression d'un échantillon, par exemple, supprimera la couleur de remplissage ou de trait de tous les objets qui l'utilisent, ce qui n'est pas surprenant. Mais la suppression d'un symbole ne l'enlève pas du canevas. A la place, le symbole est converti en un groupe d'objets normaux, comme si vous l'aviez sélectionné dans le canevas et que vous aviez utilisé Édition > Cloner > Délier le clone.
There’s one more pane that features all three of these toolbar buttons, plus one additional entry: the Images pane. The extra button here lets you directly export the selected image to disk. This is the same functionality that is present in the Image Properties dialog on the right-click context menu for images, but it’s useful to have it in the Document Resources dialog too, particularly if you have to extract multiple images from a single document. The remaining panes – for Metadata and Styles – just show data in a tabular form, with no additional tools or features. Again, this is rather frustrating. The lack of even a means to copy the text to the clipboard seems odd, and trying to show long CSS definitions in a single row in a table isn’t terribly usable. At least the search field can be used to narrow down the list of styles, if you’re looking for something specific. But the lack of wildcards makes even this tricky. Perhaps the developers should reuse the pop-up editor for styles that is present in the XML editor, which at least breaks the long string down into its constituent parts.
Il existe un autre volet qui comporte les trois boutons de la barre d'outils, ainsi qu'une entrée supplémentaire : le volet Images.
Le bouton supplémentaire vous permet d'exporter directement l'image sélectionnée sur le disque. Il s'agit de la même fonctionnalité que celle présente dans la boîte de dialogue Propriétés de l'image dans le menu contextuel du clic droit pour les images, mais il est utile de l'avoir également dans la boîte de dialogue Ressources du document, en particulier si vous devez extraire plusieurs images d'un seul document.
Les autres volets - pour les métadonnées et les styles - se contentent d'afficher les données sous forme de tableau, sans aucun outil ou fonctionnalité supplémentaire. Là encore, c'est assez frustrant. L'absence d'un moyen de copier le texte dans le presse-papiers semble étrange, et essayer d'afficher de longues définitions CSS sur une seule ligne dans un tableau n'est pas terriblement utilisable. Au moins, le champ de recherche peut être utilisé pour réduire la liste des styles, si vous recherchez quelque chose de spécifique. Mais l'absence de caractères génériques rend cette opération délicate. Les développeurs devraient peut-être réutiliser l'éditeur contextuel de styles présent dans l'éditeur XML, qui décompose au moins la longue chaîne en ses éléments constitutifs.
It may seem as though I’ve done little but complain in this article, but the truth is that I really like the idea of a Document Resources dialog. I just wish that the implementation went a little further, with a few more convenience features that would make this more of a go-to dialog for working with resources in bulk. As it stands, it’s mostly a reporting tool that doesn’t actually produce reports, rather than something I think I’ll be using regularly. But this is the first appearance of this dialog in Inkscape, and I can only hope that the developers will iterate on it over time, adding more functionality. It also seems like it might be a useful target for new Inkscape developers, as there’s scope for some simple and isolated additions (such as the ability to copy text from the tables) which would probably make a good choice for someone’s first contribution to the project. Although this is the only brand-new dialog in version 1.3, several others have seen changes and improvements which I’ll look at next month.
Il peut sembler que je n'ai fait que me plaindre dans cet article, mais la vérité est que j'aime vraiment l'idée d'une boîte de dialogue pour les ressources documentaires. J'aimerais juste que l'implémentation aille un peu plus loin, avec quelques fonctionnalités supplémentaires qui feraient de cette boîte de dialogue un outil de choix pour travailler avec des ressources en vrac. En l'état, il s'agit surtout d'un outil de reporting qui ne produit pas vraiment de rapports, plutôt que de quelque chose que je pense utiliser régulièrement.
Mais c'est la première apparition de ce dialogue dans Inkscape, et je ne peux qu'espérer que les développeurs l'amélioreront au fil du temps, en ajoutant plus de fonctionnalités. Il semble également que ce soit une cible utile pour les nouveaux développeurs d'Inkscape, car il y a de la place pour quelques ajouts simples et isolés (comme la possibilité de copier du texte à partir des tableaux), ce qui serait probablement un bon choix pour la première contribution de quelqu'un au projet.
Bien qu'il s'agisse du seul dialogue entièrement nouveau dans la version 1.3, plusieurs autres ont fait l'objet de changements et d'améliorations que j'examinerai le mois prochain.