IVS (Ideographic Variation Sequence) support for lyrics?

Hi Dorico team,

I want to use some fonts that use IVS (Ideographic Variation Sequence ) to display alternative Chinese characters reprensenting different pronoucation in lyrics. So far I could not make it work. Is possible to have Dorico support IVS in lyrics in the future? That would be greatly helpful!


I am by no means an expect on this topic, but I’ve read a little bit about IVS and how it’s implemented in OpenType fonts. If you copy and paste some characters that make an IVS produced in another application into Dorico, do the characters appear as expected?

Hi Daniel,

Thank you for paying attention on this! I am not an expert here as well, just know how to use some IVS fonts in Word.

No, the same text/characters I input and copy/paste from Word (Supporting IVS) to Dorico lyrics seem filtered or not recognized. Thus only showing the default variation. Below is an example how they are displayed in Word.

I guess the issue is that the OpenType support in Qt doesn’t handle the necessary CMAP table features. This isn’t something that we can practically implement ourselves, as Dorico’s text handling is built on top of what is provided by Qt.

Got it. If there will be some possibilities in the future, no matter from Qt or other solutions that would be great. This is mostly only a need in Chinese/Japanese language though. Thank you Daniel.

And I guess that the text inputted in Dorico lyrics, seem will be parsed/filtered and some symbols will be treated in specific ways, for example like underscore/dash, to be properly displayed as hyphenation, elision, etc… Could this be part of the possible reason why these IVS font cannot be correctly displayed?

As I understand the hierarchy of the software:

  • Qt is an environment in which Dorico is written, which compiles to multiple platforms from the same codebase
  • OpenType support in Qt is via FreeType, which apparently does not support OpenType extensions required for this typographical feature (among others)

I searched “Qt OpenType support” and found this page on Stack Overflow.

Thanks for sharing that link. I remember Daniel saying in the past that OpenType was a limitation of the coding framework, but this link seems even more blunt: the answer is just plain “no.” That’s a real bummer, but at least I know how to work around it.

We don’t currently use Qt’s FreeType backend, instead using the native macOS and Windows backends. This doesn’t preclude support for OpenType features, and indeed the Qt developers have recently added some basic support for OpenType features that will allow us to add support for things like stylistic alternates in future, though we’re not yet using the version of Qt that has this support. However, I don’t know what it would take for Qt to tackle the necessary features that would support IVS. So far as I can tell, that’s not supported even in the most recent version that includes some support for OpenType features.

Thanks very much for the additional info!