Duplicate Reference to Lookup

I have a font from an outside source (Noto) that has the OpenType Code (from the OTD Code editor):

feature GlyphCompositionDecomposition2 ccmp {
  lookup Ligature1;
  lookup ChainingContext1;
  lookup ChainingContext1;
  lookup ChainingContext1;
  lookup Ligature2;
  lookup Ligature2;
  lookup Ligature2;
  lookup MultipleSubstitution1;
  lookup MultipleSubstitution1;
  lookup MultipleSubstitution1;
}

Syntax check produces:

[Error] (300:10): Syntax error: Duplicate reference to lookup "ChainingContext1"

Might there be a reason for the multiple lookups? This setup has existed for years in various version of the font …

Any suggestions / thoughts / ideas appreciated!

The behavior has changed between 13.0.0.2643 and 13.0.0.2645 … FC now skips these situations rather than halting …

Well … lots of behavior seems to have changed in 13.0.0.2645.

I’m not sure what is going on, but when I open the Code Editor window, I now get hundreds of line of NULL pos directives in some lookups. For example:

  pos dieresis mark NULL;

These get flagged as:

Warning: No anchor defined for glyph "dieresis"

This was not the behavior of 13.0.0.2643, so I’m wondering if something is amiss with this release? The dieresis glyph does have an anchor …

Caveat: I don’t have a firm understanding of how this all hangs together, so I have not be able to diagnose this further …

That font seems to have incorrect OpenType layout features, but they are not fatal. We have loosened our parser, so it accepts some more feature code, like the one in your example. In such case it is up to the font designer to decide if the code needs to be improved.

If you think there are other issues, do let us know.

Thank you. I see now how this works and that things proceed after an OTLFD warning. I’ve posted an issue on Github/Noto about these lookups.

So I did panic a bit … sorry 'bout that - should have been able to figure this out …

No worries.

This is very common, so don’t worry about these. We are considering to remove that specific warning, as it doesn’t seem helpful.