Cyrillic locl substitution

Hello,

I’m just writing about a cyrillic locl feature I’m having an issue with.

I have a separate Bulgarian and Serbian locl features, but for some reason when I try activate one of them on Adobe, Chrome and others both locl features are visible (and vice-versa). I’ve looked at others code, and I’m really unsure what’s incorrect, or perhaps I’m missing something extremely obvious.

Here’s the code below. Apologies if I’m missing something extremely obvious, I’ve been pulling my hair out trying to resolve this.

lookup locl0 {
script cyrl;
language BGR ;
sub uni0414 by uni0414.bgr;
sub uni041B by uni041B.bgr;
sub uni0424 by uni0424.bgr;
sub uni0409 by uni0409.bgr;
sub uni0432 by uni0432.bgr;
sub uni0433 by uni0433.bgr;
sub uni0434 by uni0434.bgr;
sub uni0436 by uni0436.bgr;
sub uni0437 by uni0437.bgr;
sub uni0438 by uni0438.bgr;
sub uni0439 by uni0439.bgr;
sub uni045D by uni045D.bgr;
sub uni043A by uni043A.bgr;
sub uni043B by uni043B.bgr;
sub uni043D by uni043D.bgr;
sub uni043F by uni043F.bgr;
sub uni0442 by uni0442.bgr;
sub uni0446 by uni0446.bgr;
sub uni0447 by uni0447.bgr;
sub uni0448 by uni0448.bgr;
sub uni0449 by uni0449.bgr;
sub uni044C by uni044C.bgr;
sub uni044A by uni044A.bgr;
sub uni0459 by uni0459.bgr;
sub uni044E by uni044E.bgr;
language SRB ;
sub uni0431 by uni0431.srb;
sub uni0433 by uni0433.srb;
sub uni0453 by uni0453.srb;
} locl0;

Thanks a million.

You have to put the substitutions i. Two separate lookups.

Update:

When I open up the generated .otf in Glyphsapp for some bizarre reason the code locl feature becomes merged and doubled. I started on this typeface using Robofont, and switched my process over to Glyphs. Could this be the issue?

lookup locl0 {
script cyrl;
language BGR ;
sub uni0409 by uni0409.bgr;
sub uni0414 by uni0414.bgr;
sub uni041B by uni041B.bgr;
sub uni0424 by uni0424.bgr;
sub uni0432 by uni0432.bgr;
sub uni0433 by uni0433.bgr;
sub uni0434 by uni0434.bgr;
sub uni0436 by uni0436.bgr;
sub uni0437 by uni0437.bgr;
sub uni0438 by uni0438.bgr;
sub uni0439 by uni0439.bgr;
sub uni045D by uni045D.bgr;
sub uni043A by uni043A.bgr;
sub uni043B by uni043B.bgr;
sub uni043D by uni043D.bgr;
sub uni043F by uni043F.bgr;
sub uni0442 by uni0442.bgr;
sub uni0446 by uni0446.bgr;
sub uni0447 by uni0447.bgr;
sub uni0448 by uni0448.bgr;
sub uni0449 by uni0449.bgr;
sub uni044A by uni044A.bgr;
sub uni044C by uni044C.bgr;
sub uni044E by uni044E.bgr;
sub uni0459 by uni0459.bgr;
sub uni0431 by uni0431.srb;
sub uni0433 by uni0433.srb;
sub uni0453 by uni0453.srb;
language SRB ;
sub uni0409 by uni0409.bgr;
sub uni0414 by uni0414.bgr;
sub uni041B by uni041B.bgr;
sub uni0424 by uni0424.bgr;
sub uni0432 by uni0432.bgr;
sub uni0433 by uni0433.bgr;
sub uni0434 by uni0434.bgr;
sub uni0436 by uni0436.bgr;
sub uni0437 by uni0437.bgr;
sub uni0438 by uni0438.bgr;
sub uni0439 by uni0439.bgr;
sub uni045D by uni045D.bgr;
sub uni043A by uni043A.bgr;
sub uni043B by uni043B.bgr;
sub uni043D by uni043D.bgr;
sub uni043F by uni043F.bgr;
sub uni0442 by uni0442.bgr;
sub uni0446 by uni0446.bgr;
sub uni0447 by uni0447.bgr;
sub uni0448 by uni0448.bgr;
sub uni0449 by uni0449.bgr;
sub uni044A by uni044A.bgr;
sub uni044C by uni044C.bgr;
sub uni044E by uni044E.bgr;
sub uni0459 by uni0459.bgr;
sub uni0431 by uni0431.srb;
sub uni0433 by uni0433.srb;
sub uni0453 by uni0453.srb;
} locl0;

Sorted!

Thanks a million Georg :slight_smile:

Now when I generate the font and reopen it looks like everybody else’s code — phew!

Be aware that opening a font and decompiling features is not a good way to debug. There will always translation looses.