Hello all. It is well-known that Inkscape uses Pango for text rendering. What I have found is that it doesn't yet support language tags for locale-specific rendering of glyphs.

The context for this is a font I'm now developing that has separate glyphs for the Marshallese language. It has five problematic letters – L, M, N, O with cedilla and N with macron; in particular M-cedilla, O-cedilla and N-macron aren't even in Unicode yet and while the other two characters are in, they usually display commas for Latvian, which is considered unacceptable for Marshallese. My font has the proper glyphs.

SVG is a kind of XML and so the xml:lang attribute can be used to set the language of a certain piece of text. For example, if you wanted to say that some text is Polish you would put xml:lang="pl" as an attribute of the text (not tspan) object that contains the Polish text. These are ISO 639 two-letter codes that are used here, so for Marshallese the letters mh would be used.

To ensure that the proper glyphs are displayed for the language in question, OpenType has the localised forms feature, which substitutes one glyph for another if the text is in a particular language. For my case, my font substitutes the replacements used by the online Marshallese–English dictionary (see here for the replacements) with the typographically correct glyphs.

So far, so good. But then I concocted an SVG demo with two sets of the replacement characters, one of which had xml:lang="mh" so it would display correctly in Marshallese. It worked fine in my browser, but the language tag was ignored when I opened it in Inkscape (see the attachment).

I am not in a hurry over this, but I would appreciate it if someone could add support for the as-yet-unsupported OpenType features to Inkscape. Pango itself is perfectly capable of handling these features, so I'm suspecting it won't be hard.

Parcly Taxel, Princess of Science