Text and Font Panel
Hi,
There are a number of issues with the Text and Font (Ctrl+Shift+T) panel, including:
* Loading. Loading all system fonts can, in some cases, significantly reduce application launch time. * Memory. Loading fonts eats through memory. * Performance. It can be sluggish to scroll through hundreds of fonts. * Panel width. Long font names can cause the Text and Font panel (when docked) to take up half of the drawing area.
The issues include:
* https://bugs.launchpad.net/inkscape/+bug/1400273 * https://bugs.launchpad.net/inkscape/+bug/1612985 (https://launchpadlibrarian.net/278803244/wide-font-panel.png) * https://bugs.launchpad.net/inkscape/+bug/488247 * https://bugs.launchpad.net/inkscape/+bug/418726 * https://bugs.launchpad.net/inkscape/+bug/430328 * https://bugs.launchpad.net/inkscape/+bug/322113
I'd like to propose some cosmetic changes to the Text and Font pane that could, perhaps, resolve all of these issues.
See attached (http://i.imgur.com/Jx9Suy2.png).
1. Remove the word "font" (the tab menu gives context). 2. Add horizontal scrollbars to account for long names. 3. Add a Preview list box that shows the fonts in the view port for the Family list box. This means that fonts don't have to be loaded until the Family list box view port displays them. Rather than load the fonts at startup, load them at runtime as needed. It's probably reasonable to apply a micro delay (say 50ms) so that scrolling through the Family list box is smooth and fonts are only loaded/rendered when the user stops scrolling for 50ms. Remove the preview from the Family list box. 4. Allow the user to provide custom preview text. Preview list box should present this text. Put a reasonable limit (e.g., 30 characters) on this. Perhaps this could be a select drop-down with various phrases that show all the letters (e.g., "Grumpy wizards...", "...lazy dog", "Cwm fjord...", "0123456789", plus a short history past user-defined phrases). 5. Allow the user to toggle the Preview list box. This could have a significant performance increase for people who don't need to preview all the fonts all the time. It could also save lots of memory. Additionally, it would free up screen real estate as the panel width would decrease by the Preview list box width. 6. Allow user to change font size and units. The size is shown as a drop-down in the mock-up, but the user should also be able to type in a specific size (e.g., 9.5) as per existing functionality. 7. Maybe allow the user to disable the scroll lock between the Family and Preview list box areas so that they can vary independently. Activating the lock automatically updates the Preview list box to reflect the Family list box view port. 8. Provide beefier handles to resize the pane. Resizing it should increase the height of the Family/Style/Preview list boxes, pushing the options (justification, size, space, etc.) down. Clicking on three tiny dots can be a daunting task for people with shaky hands... 9. Never disable the Set as Default / Apply buttons. If pressing the buttons won't do anything, then fail silently. Otherwise, always let the user click them and try to perform the appropriate action. Currently there's a bug where, in some cases, if the user changes the font size (but not the font), the Apply button remains disabled. Removing the code for disabling these buttons should simplify the source code and possibly force the developer to address the font size changing bug.
Thoughts?
participants (1)
-
Thangalin