Feature request: OpenType features support

Bug #1386778 reported by nicolas
66
This bug affects 13 people
Affects Status Importance Assigned to Milestone
Inkscape
Fix Released
Wishlist
Tavmjong Bah

Bug Description

Typefaces distributed as OpenType fonts often have a number of extra features that Inkscape does not seem to support at this day: ligatures, alternates, stylistic sets, true small caps, etc. For more info and examples, see http://ilovetypography.com/OpenType/opentype-features.html and http://typofonderie.com/font-support/opentype-features/

The support for this and a companion UI are currently missing in Inkscape.

Bug #627240 is already opened for alternates.

Concerning the UI for setting OpenType features, there’s currently some discussion about this –and the poor existing UIs in other applications– following two articles on I Love Typography: http://ilovetypography.com/2014/10/22/better-ui-for-better-typography-adobe-petition/ (Adobe specific) and http://ilovetypography.com/2014/10/25/why-a-better-opentype-user-interface-matters/ by Yves Peters.

One of the answer to this has been a proposed interface by Kris Sowersby, described there: https://klim.co.nz/blog/towards-an-ideal-opentype-user-interface/ It’s application-agnostic, and it may serve as a good reference when building the feature into Inkscape.

Tags: fonts text
su_v (suv-lp)
Changed in inkscape:
importance: Undecided → Wishlist
status: New → Confirmed
Revision history for this message
Gatonegro (gatonegro) wrote :

If Inkscape implemented a good GUI --something apparently other design and layout tools are lacking-- and paid some more attention to text handling and layout, this could be a huge «selling point» when trying to attract users.

As a graphic designer, for example, I have learned to live with Inkscape's limitations, but I never cease missing having better typographic support.

Revision history for this message
Chad Miller (cmiller) wrote :

Okay, so first step is articulating what the SVG looks like when opentype features are used. Do we define our own namespace for this, or co-opt Ughdobe's?

Revision history for this message
xenocrates (bjarne-t) wrote :

As far as I know, the SVG format already supports opentype features.

Revision history for this message
Tavmjong Bah (tavmjong-free) wrote :

SVG 1.1 does not support OpenType features. SVG 2 which references CSS 3 Fonts will support OpenType features. Inkscape relies on Pango for text rendering. Pango currently does not support turning on/off OpenType features but I've been told that there will be a patch landing in the next few weeks that adds this support.

Revision history for this message
Philippe Cochy (packager-pecita) wrote :

I do not understand this bug. I use with Inkscape an otf font using ccmp, calt & liga and it works fine: features are active.

Note that the GUI proposed by Kris Sowersby have no sense because it proposes to make optional features that are required. A GUI to make active optional opentype features like sups, subs, smcp, etc. should have sense.

Revision history for this message
su_v (suv-lp) wrote :

"Font Features Land in Inkscape Trunk" (June 23, 2015)
http://tavmjong.free.fr/blog/?p=1442

Some of the related commits:
14115, 14148, 14152, 14155, 14162, 14163, 14206, 14207, 14208, 14215

Note: requires pango >= 1.37.1 (at build and run time).

Changed in inkscape:
assignee: nobody → Tavmjong Bah (tavmjong-free)
milestone: none → 0.92
status: Confirmed → In Progress
jazzynico (jazzynico)
Changed in inkscape:
milestone: 0.92 → 0.93
Revision history for this message
Tristan Bennett (tpb-1) wrote :

Tip for using Stylistic Alternate glyphs Open Type fonts

I may be missing something but i hope this helps some.

A font that i knew had "Stylistic Alternate" glyphs (as i could use them in PS) couldn't be seen in Inkscape. I randomly saw that this font glyph set had a "tag" for these alternates. The Tag was "salt". As an example see https://www.fonts.com/font/mans-greback/krinkes/regular

After typing the tag name "salt" into the input box under Text and Font Editor > Variants Tab > Feature Settings i was able to apply the glyph set.

If i've completely missed the right way of doing this please let me know. Drove me nuts.

T

Revision history for this message
Tristan Bennett (tpb-1) wrote :

Evidently these features/tags follows the Syntax for OpenType features in CSS.

Revision history for this message
Kevin Brubeck Unhammer (unhammer) wrote :

How does one find the stylistic alternate feature tags though? I could also get a change with the "salt" feature, but what other feature tags does each font have?

Revision history for this message
Kevin Brubeck Unhammer (unhammer) wrote :

OK, so one way is dragging the font onto http://www.impallari.com/testing/index.php and clicking "OpenType Features" and seeing what "font-feature-settings" pop up – these are usable under Features in Inkscape (I was able to get what I wanted with features "salt", "fina", "init").

Basically Inkscape is just missing a few of the buttons that that web page has :-)

(They're also listed at https://en.wikipedia.org/wiki/List_of_typographic_features)

Revision history for this message
Tavmjong Bah (tavmjong-free) wrote :

I tried dragging fonts on to http://www.impallari.com/testing/index.php and clicked on "OpenType Features". I saw a listing of features but it was the same regardless of what font I tried. Clicking on various buttons changed the displayed sample text but there was no way to a priori know what features are available.

We rely on PanGo and HarfBuzz for font support. They are great for displaying text but have almost no functionality for reporting what features a particular font supports. Inkscape already does show some information on the "Variants" tab of the "Text and Font" dialog. Ligature, position, capitals, and numeric options are grayed out when the font does not support the corresponding tables. We might be able to extract out which 'ssxx' fields are available.

Revision history for this message
Tavmjong Bah (tavmjong-free) wrote :

I just checked into trunk code that will list all OpenType tables not already covered by the ligature, position, capitals, and numeric options. Expand the "Feature Settings" section of the "Variants" tab of the "Text and Font" dialog to see.

Revision history for this message
Tavmjong Bah (tavmjong-free) wrote :

And for your additional pleasure, I just checked into trunk code that shows what alternative glyphs are available from the OpenType tables: 'salt', 'ss01', 'ss02', ...

Expand the "Feature Settings" section of the "Variants" tab of the "Text and Font" dialog to see them.

I realize the GUI is less than ideal, but at least you can now see the available glyphs.

Revision history for this message
Qantas94Heavy (qantas94heavy) wrote :

This is pretty much implemented. For future requests, please take a look at https://inkscape.org/inbox.

Closed by: https://gitlab.com/Qantas94Heavy

Changed in inkscape:
status: In Progress → Fix Released
To post a comment you must log in.
This report contains Public information  
Everyone can see this information.

Other bug subscribers

Remote bug watches

Bug watches keep track of this bug in other bug trackers.