Outils pour utilisateurs

Outils du site


issue205:inkscape

Ceci est une ancienne révision du document !


Anyone who has used Inkscape’s text tool extensively is sure to have come across the issue of too many fonts being listed, making it hard to find the one you’re looking for. This may be because you’re an ardent collector of all manner of weird and wonderful typefaces, or it might just be because operating systems tend to ship with quite a range by default. This is definitely the case with some Linux distributions, which may come with a variety of fonts to cater for users who need something beyond simple Latin text. For example, here’s a fragment of the font list that Inkscape displays on my British English Ubuntu box, on which I’ve never knowingly installed non-Latin fonts.

See all those ‘Kacst’ prefixed entries? A bit of online searching reveals that KACST stands for “King Abdulaziz City for Science and Technology”, and this is a family of Arabic typefaces – something that the font preview in Inkscape doesn’t indicate. Given that my ability to write Arabic is totally non-existent, I don’t really have any need for these fonts, but they’re also not intrusive enough to my day-to-day work that I’ve ever put any effort in to remove them. And so they just sit there, never used, yet taking up space in the font drop-down, forcing me to scroll further to get to all the later fonts in the list.

Professionals in the design industry may be familiar with font organisers that work at the OS level, either included as a native part of the operating system or via a third-party tool. These allow you to create collections of fonts which can be enabled or disabled on the fly. This might allow you to create a base collection of general workaday fonts as a single group. You could then have another collection with some customer-specific fonts in it, and enable both the base and the customer-specific one at the same time. This makes it more convenient to work on a specific customer’s projects, as you’re presented with only the relevant fonts within your design software. It also makes it much easier to deal with commercial fonts that might be licensed to one single customer and which shouldn’t be used on other projects.

Inkscape 1.3 adds a similar capability built directly into the application, rather than operating at the OS level. By default, you’ll still be presented with the complete list of all fonts on your machine, but the tool control bar for the Font tool now features a couple of new buttons at the far left which help you to work with font collections.

Clicking the leftmost button will open a pop-up which lists your current font collections, plus a button for opening the collections editor. At the top of this list will always be a pair of pseudo-collections that contain only those fonts currently being used in the document (‘Document Fonts’), or those that you’ve recently used across any documents (‘Recently Used Fonts’). For a lot of casual users, these alone might be sufficient to make font selection a more sane operation.

For those who want to go a bit further in their font management, clicking the button to open the collections editor is your route to creating as many different collections of fonts as you wish, as we’ll see shortly. While we’re looking at this pop-up, however, it’s worth noting two key things about font collections:

• A single font may appear in as many (or as few) collections as you wish. It’s fine to have your favourite handwriting font in both your ‘Cursive’ and ‘Favourites’ collections, while leaving never-used fonts out of all your custom collections entirely.

• You may select more than one collection at a time in this pop-up. The list of available fonts will then contain an alphabetically sorted combination of the fonts across all the selected collections, though duplicates are removed so that each font will appear in the final list only once.

Looking at this in practice, you’ve already seen how my unfiltered list of fonts contains many that I’ll never use. If I’m working on one of my ‘Elvie’ comics (which appear in Linux Pro Magazine), then I want to limit the fonts to those that are used for the strip. This is especially important to get right, because Elvie is released entirely under a CC-BY-SA licence – including the source files – so I use only freely licensed fonts that I can also distribute alongside the artwork itself. In the pop-up, therefore, I can select just that one collection and my list of fonts becomes a whole lot more manageable, and my licensing concerns become a lot simpler.

Returning to the longer list that shows the complete list of fonts can be achieved in one of three ways:

• Open the pop-up again, and un-check all the collections

• Click on the second button on the toolbar, which does the same thing with a single click

• Click the similarly styled ‘Reset filters’ button in the ‘Text and Font’ dialog

Rather than returning to the complete list, you’re also free to open the pop-up and toggle any of the collections on or off at any time. It’s important to note that turning collections off here affects only the visibility of the fonts in the font selection drop-down and in the ‘Text and Font’ dialog. It doesn’t alter your drawing in any way, so don’t worry that de-selecting a collection will disable or hide any existing text in your document.

The ‘Text and Font’ dialog (under the ‘Text’ menu, or press Ctrl-Shift-T by default) has also gained a reset button, as mentioned above, as well as a ‘Collections’ button which opens the same pop-up for enabling and disabling collections. There’s even a count of how many fonts are being displayed compared with the total you have available. I’m not sure how useful that statistic is in practice, but at least it acts as an indicator that you have one or more collections enabled, rather than leaving you thinking you’ve lost some fonts.

That’s enough about turning collections on and off: the question now is how you go about creating them in the first place? The pop-up features a button at the bottom labelled ‘Open Collections Editor’, which does indeed open a dialog to manage the collections. Unfortunately this is where the feature begins to lose its polish somewhat.

This dialog definitely does its job, but it feels like it escaped the attention of the UX team who have been doing such great work with recent Inkscape releases. Even the search box and reset button feel a bit cramped up in the corner. They’re pretty tight to the edge in the ‘Text and Font’ dialog, but this part of the application reduces some already tight spacing even further.

It’s easy enough to get past minor layout issues like that, but it’s when you start to interact with this dialog that it becomes especially clunky. Initially the Font Collections list will just show the pseudo-collections for recently-used and document fonts. Clicking the ‘+’ button at the bottom lets you create your own custom collection. You’ll be presented with a blank row in the list, with an input field to give it a name. You can actually just press Enter and you’ll be left with a confusing entry that has no name, and to which you can’t add any fonts. If you change your mind and press the Esc key to cancel the operation, you similarly end up with a blank entry. So don’t do that: make sure to give your collection a name as you create it, to avoid confusion later.

Your newly created collection will appear in the list, but without the small disclosure triangle next to it. Let’s add some fonts to it, by first selecting the collection and… then what? My immediate assumption was that I would be able to click on fonts in the list at the left to toggle them on and off: selected fonts would be in the collection, while unselected fonts wouldn’t. But it doesn’t work like that. My next attempt was to click on each of the fonts I wanted in the collection in turn – but that just selects them one at a time, and doesn’t add them to the collection at all. Perhaps double clicking on a font name would work? Nope. Select and press Enter? Also nope.

Instead you have to drag-and-drop the fonts from the left-hand list into the collection using the mouse. One-by-one. There’s no multi-selection allowed in the list, even if you want to drag a whole block of fonts, such as those from the same family. Drag-and-drop is an awful approach for something like this: it’s too easy to slip with the mouse and drop your font into the wrong collection. By all means allow it as an option, but it’s not a great design for a dialog in which you might be dragging dozens – maybe even hundreds – of items, one-by-one, to a relatively small target.

You can improve your odds once the first font has been added by opening the collection using the newly-appeared disclosure triangle on the left. Now the drop target is double the size, and grows larger still as more fonts are added. As you drag fonts over the collection, rows and the spaces between them get highlighted as a drop target indicator. But ignore the fact that this indicator changes in a way that suggests you can order the entries in the collection, because you can’t. It doesn’t matter where in the list you drop a font, they will appear in alphabetical order.

This alphabetical ordering extends to the font selection drop-down in the tool control bar, and to the list in the ‘Text and Font’ dialog. This means that, although font collections allow you to work with shorter, curated lists of fonts, you still have no way to ensure that your preferred fonts always appear at the top of the list, especially once you begin to enable multiple collections. To be fair, such a feature would raise other UX questions which don’t have clear-cut answers. But if the developers aren’t prepared to tackle those questions, the editor shouldn’t work in a way that suggests the ability to order the items, even though it doesn’t actually allow it.

My next complaint with this dialog is that the fonts that have been added to a collection appear in a greyed-out color, as though they’ve been disabled in some way. I understand that this is probably to distinguish them from the collection title, but the indentation level is largely sufficient for that without giving the impression that the fonts are somehow not available or not working. Once added to a collection, the entry in the list also lacks any preview of the font (like the one that’s present in the left-hand panel). This makes it harder to review collections when you return to them some time later – especially if you have a lot of similarly named fonts, as can easily happen with some families of related designs (such as those ‘Kacst’ fonts from earlier).

Removing a font from a collection is as simple as clicking the button at the right of the row, or the delete button at the bottom when a row is selected – but not by pressing the Delete button on the keyboard, that would make far too much sense. The font is removed from the collection immediately, with no confirmation. While that makes it more immediate when initially setting up your collections, it also opens up the possibility of a mis-click removing the wrong font. Perhaps an option to ‘lock’ a collection against edits might be a useful addition for a future release.

Deleting an entire collection is a little more sensible: the button is the same, but this time the deletion occurs immediately if the collection is empty, but with a prompt if it’s not. At least that prevents a simple mis-click when removing a font from deleting an entire collection.

Finally, you’re free to edit the collection name whenever you wish, even after it’s been created and populated. There’s a dedicated ‘pencil’ button at the bottom of the list for this, but just clicking twice on a collection name in the list does the same job. As does pressing Enter when the collection is selected.

The fact that they’re so easily editable means that you can use this as a way to ‘archive’ collections that you’re not using at the moment, given that there’s no way to disable a collection. Prefix them with a ‘Z’, for example, to push them to the bottom of the list. Or perhaps you could use this to promote more important collections to the top (prefixed with an ‘A’ or a punctuation character). This possibility relies on the fact that collections are also displayed in alphabetical order – but, unlike fonts, you have control over the names you use. Just be aware that this sorting is based on alphabetical order and doesn’t really have a concept of number systems: in this case ‘20’ comes between ‘1’ and ‘2’, so if you want to use numbered prefixes to sort your collections into order, make sure to add a zero to the start of the single digit entries (if you expect to go beyond ten).

In general I really like the addition of font collections to Inkscape. It’s just a shame that the UI for managing them is a little clunky and too easy to make mistakes with. Hopefully this is something that will improve in time. Even just being able to double-click fonts rather than drag-and-drop them would be a huge usability improvement, though I’ll also hold out hope for being able to disable and lock collections. Who knows, perhaps we will be able to sort fonts one day – or at least flag some of them as favourites to have them consistently appear at the top of the list.

issue205/inkscape.1717230291.txt.gz · Dernière modification : 2024/06/01 10:24 de auntiee