Inkscape and LibreOffice both have some openType font feature support. It's a major part of OpenType, and it's big in graphic design. Examples include * alternate glyphs, that might be accessed with a "gyph palette" * enabling small caps, different styles of numerals * control over ligatures (fi, ffi, ct, st) and historical forms (these vary by language, but tall-s is an example, e.g. used in Fraktur as well as older Roman types, and moderately widely supported by fonts today) * swash forms, very popular in graphic design - e.g. a long calligraphic tail on a Q or R
LibreOffice has a font name scheme that looks a bit like URI/URL parameters, and it'd be good if those names also worked in Inksape, Krita, GIMP etc., which suggests maybe fontconfig support and an XDG spec. The GIMP text tool should support a glyphs palette, in which users can pick characters & alternate characters. This could also be an external service shared with other programs butright now i'mthinking there'd be a glyph doc. GIMP could also support setting/unsetting font features over ranges (span) of text, just as it supports bold & italics today. The hard part here is the user interface. I'm right now thinking it'd be like other things in gimp - * create new "Font" based on existing one * a dialogue (dock) to edit opentype font features, e.g. kerning on/off, and to give the "font" a name * then you'd be able to use this "font" in the existing text tools. Users should also be able to find fonts with specific opentype features, and specific language support. We could use the existing tagging mechanism for this, and add some default tags. I've tried this and suspect there may be some performance issues, but they are resolvable. The gtk4-demo program emphasizes internationalization rather than graphic design in the way it shows font features; libreoffice has a moderately compact widget for enabling/disabling font features. But, as with Inkscape, it's hidden under a button to make it "advanced". I think this is because it's hard to see how to make a generic UI for it. There's some 30 or so (i forget) different font features. But they are not all equal. For example, turning kerning on or off is one of them. This is much more basic than controlling historical ligatures & a UI could treat them separately. We also have a split text UI today, with on-canvas editing and also tool options editing e.g. for choosing a default font. And a text editing box. An alternate design would be to present font feature settings as properties of the text (like bold and underline) rather than of the font, so you'd select a span of text and click "discretionary ligatures n, please" or "small caps here" A compromise might be if the drop-down list of fonts on-canvase for the text tool kept the most recently used few fonts copied at the top of the list, so if you'd defined your own variants you could switch to them easily. What do you think? (i can't promise i'll ever actually get to much of this but if we have a discussion maybe it can happen bit by bit) Liam / slave ankh / demiboy / whatever -- Liam Quin, https://www.delightfulcomputing.com/ Available for XML/Document/Information Architecture/XSLT/ XSL/XQuery/Web/Text Processing/A11Y training, work & consulting. Barefoot Web-slave, antique illustrations: http://www.fromoldbooks.org _______________________________________________ gimp-gui-list mailing list gimp-gui-list@gnome.org https://mail.gnome.org/mailman/listinfo/gimp-gui-list