Mark-to-ligature codes are not generated for Khmer when using numbered anchors

I have read about mark-to-ligature in Glyphs and numbered anchors should be used in the ligatures (when marks can have different positions depending on the input order, I guess I said it right). It was not that I didn’t want to use the numbered anchors, but they didn’t work. So I’ve been using unnumbered anchors in all ligature glyphs in Khmer, which still work fine though.

Until recently, I needed to reposition below-base marks (coeng forms) when they are written after a ligature is formed (and it needs bottom_1 and bottom_2), but it doesn’t work. I checked the feature codes and found that the mark-to-ligature codes are never generated for Khmer when numbered anchors are used.

So here are what I found when using numbered anchors:

  • mark-to-ligature codes are not generated
  • ligature glyphs (*_aaSign and *_auSign) are not defined as Ligature in GDEF. This happens when all components are decomposed and keep only numbered anchors.

I attached a testing file for you.

  • ka_aaSign-khmer has numbered anchors and decomposed
  • ko_aaSign-khmer has inherited anchors from the components

Test-MarkToLigature-Khmer.glyphs (6.5 KB)

Do you know if mark-to-liga goes into mark or abvm/blwm?

Only abvm and blwm are documented for the Khmer shaping engine:

mark is supported in some but not all implementations.

1 Like

After I posted, I figured that out. The confusing part is that mark doesn’t work for most indic and southeast Asian scripts. But mkmk does. I’ll have a look if I can fix that.

Thank you, @Norbert.

@GeorgSeifert In this meantime, with unnumbered anchors, Glyphs can get Khmer to work well without any problem. But it would be helpful to have the mark-to-ligature. Thank you.

It’s odd that adding numbered anchors removes the ligatures from the GDEF table.

Does it mean that Glyphs can build all the other features for Khmer automatically?