Custom lamalef (Arabic) ligature anchors

Hi. I’m working on an Arabic font which needs different positioning anchors for dots and marks. These are all working as expected except on the lamalef ligatures.

My dots are anchored to “dotabv” and “dotblw” and I have all necessary extras included as all non-ligatures work fine; on the ligatures I’m using dotabv_2 and dotblw_2 (I’ve also tried including dotabv_1 dotblw_1 even though they aren’t used, same results). All marks get placed on the base body of the lamalefs instead of on the dot components, and no marks are positioned on the “dots” when typing.

Do custom anchors work on ligatures? Perhaps an issue of these standard lamalefs being predefined to use top/bottom? I was hoping to avoid getting into the GlyphData xml file but will if I have to -.- Thanks for any help!

As an aside, the rendering of alef+madda (0622 straight from the keyboard, not typing plain alef then adding the mark) and fatha is showing in reverse in Glyphs’ text preview screen. Looks correct when exported and installed, though. Using version 3.3.1/3343, also tested latest beta and still the same. BTW Here only the two hamza ligatures have the dot anchor applied, the rest are the usual top/bottom.

Glyphs text window preview:

Font goggles preview:

Could you send me the .glyphs file?

Sent by DM, thanks!

I think the problem is that the wala has a “_dotabv” and a “top” anchor. Those two not matching confuses the automatic anchor decomposition on the ligatures. So I think you need to have all the anchors in the “lam_alefWasla-ar”, too.
Or you can decompose the “alefWasla-ar” into “alef-ar+wasla-ar” like this in the ccmp feature:

lookup ccmp_arab_2 {
	lookupflag 0;
	sub alefWasla-ar by alef-ar wasla-ar;
} ccmp_arab_2;

that way you don’t need “lam_alefWasla-ar” at all.

1 Like

All four of the marks used in the alefs have _dotabv and _top (and equivalent for below), but only the non-underscored top/bottom for use in mkmk. Do I also need a non-underscore anchor the dotabv/dotblw even though they are never used in mkmk?

Manually adding a top_2 to all of the composite lamalefs does seem to do the trick, so I think I’ll opt for that versus decomposing (which I may down the line anyway but for now sticking with the precomposed).

EDIT: Thank you for the help!

I ended up needing to make separate glyphs to use for these four dots and moved the _dot anchors over to them. When I switched the components to the new dot in the lamalef letters, nothing shows up in the little anchor icon selection menu so I’m unable to reassign – though they appear to assigned to the dot2 anchors. Everything seems to export and shape correctly (I kept the additional top2 anchor in the ligatures) so this seems to be a display only issue.

1 Like

can you send me your file again that I can check it?

Sent by DM, thanks!