I’ve just landed basic font features
support in the development version of Inkscape. What are font features
and why should you be excited? (And maybe why should you not be too excited.)
Font features support allows one to enable (or disable) the OpenType tables within a given font, allowing you to select alternative glyphs for rendering text.
The new CSS Fonts Module Level 3
adds a variety of CSS properties for defining which OpenType tables to enable/disable (as well as having nice examples of each property’s use — this is one of the more readable W3C specifications). Inkscape trunk supports the ‘font-variants-liguatures’, ‘font-variant-caps’, ‘font-variant-numeric’, ‘font-variant-position’, and ‘font-feature-settings’ properties. The properties can be set under the Variants
tab in the Text and Font
The Variants tab in the Text and Font dialog.
Why you shouldn’t be too excited
Being able to enable various font features within a font is quite exciting but there are quite a few caveats at the moment:
- One must use a trunk build of Inkscape linked with the latest unstable version of Pango (1.37.1 or greater).
- Font feature support in fonts is usually minimal and often buggy. It’s hard to know what OpenType tables are available in which fonts.
- Browser support is sparse. Firefox has rather good support. Chrome support seems limited to ligatures. UPDATE: As of Chrome 52, Chrome supports font features.
- Correct display of alternative glyphs requires that the same font as used in content creation is used for rendering. On the Web the best way to do this is to use WOFF but Inkscape has no support for using User fonts (this is a future goal of Inkscape but will require considerable work).
I would like to thank: Behdad Esfahbod
, maintainer of Pango
for adding the code to Pango to make accessing the OpenType tables possible. Thanks as well to Matthias Clasen and Akira Togoh who are the source of the patch to Pango. Thanks also to all the people that supported the Inkscape Hackfest
in Toronto where I was able to meet and discuss Pango issues with Behdad in person and also where the idea of adding font feature support to Inkscape germinated.