Broken rlig in Arabic variable font

Hi Georg,

I am exporting an Arabic variable font from 3.1.2. (3151). The rlig is broken compared to the statics (see image).

Please don’t refer me to 3.2 since I tried with the file and a) things are moving, b) it can’t handle the anchors on export for some reason.

Let me know if you need the files to test.

That might be a problem with the 3.1.2 version. I’m most likely not changing that. So we need to try to fix your problems in 3.2.

Can you explain your problems in a bit more detail or point me to the forum post that mention them?

Rlig is broken in 3.1.2. There’s not much to explain there. The picture I sent speaks for itself.

In 3.2. on top of the component shifts when opening the file I get the following error on export:

This is how the lam_alefhamza-ar looks like:

There was no issue on export in 3.1.2.

Can you send me that .glyphs file?

Yes. Sending.

@GeorgSeifert any news on this?

@GeorgSeifert just to let you know that after some digging I found out that in the same version, in the statics, even though rlig is written in the arab script list, it is not written in URD and MLY (lang tags we used in the file) so rlig is broken for them as well in the statics. That shouldn’t happen.

I checked static fonts exported from G3.2 and the issue with the broken URD and MLY rlig persists.

Additionally I cannot export a VF from G3.2 with the file I sent you no matter what. I get the following error:
Broken internal cross-table feature reference in -[FEAFeatureSubstitution(Backend) dump:state:] (FEAFeatureSubstitution.m:211)
Found in: (null).

As for the variable font from 3.1.2, what breaks rlig is related to the FeatureVariations. When the feature variations kick in rlig stops working (see images)

can you try prison 3.2. We did some work in featureVariations.

I installed the latest update and tried. I am getting the following error:

“Anchor “<anchor 133 -33>” for ligature glyph “lam_alefHamzaabove-ar” overrides previous rule
Found in: feature ‘mark’, line 24.
Anchor “<anchor 437 660>” for ligature g…” (I guess there are more than just one glyph)

@GeorgSeifert I ttxd the font and had a look around and I think the problem is that you are making use of RLIG in the FeatureVariations (instead of rvrn?) and that’s what causing the break. I manually added an rvrn feature in the ttx file and pointed the FeatureVariations to it and now the file works perfectly fine.

You can add the custom parameter “Feature for Feature Variations” and set it to rvrn.

@SCarewe default is supposed to be rvrn.

Regardless, I did try it and it exports Rlig without breaking, BUT MLY and URD are still broken (rlig is not included in the languages features).

@GeorgSeifert if rvrn is broken as Eric suggest in the Switching shapes article, and rlig is the suggested place for the feature variations, is there a way to keep it in rlig and have the working arabic required ligatures there too?

Please never speak of rvrn again. It is not meant for general purpose feature variation (I still don’t understand what is was meant for). Feature variations can, and should be attached to any feature. You could add it to a feature that is related to the one where those glyphs are activated (e.g. in smcp for .sc glyphs). But that is not practical in most situations. So the easiest ist to use a feature that is wildly supported and always active. That leaves “rlig” and “rclt”.
There seems to be a problem with manual and automatic “rlig” features. Can you use a “Feature for Feature Variations” parameter with “rclt”. We are looking into this.

1 Like

I used rclt. Do have a look at the file I sent you and the error message I get on G3.2, as well as the broken rlig in MLY and URD (and potentially other languages if they were included).

“Broken internal cross-table feature reference in -[FEAFeatureSubstitution(Backend) dump:state:] (FEAFeatureSubstitution.m:211)
Found in: (null).”


Yes, I got the same error. That is what we need to look into.
But if you use “rclt”, it should work fine (note that it is not “rvrn”).