Linking Base to Ligature and Distributing Anchors

Hello everyone
When creating a Ligature consisting of a Ligature + Base, how do you distribute Anchors correctly?

For example, I have “lam_alef-arab.isol” which consists of “lam-arab.medi” + “alef-arab.fina”

And I want to create a new glyph from “lam-arab.init” + “lam_alef-arab.isol” to produce “lam_lam_alef-arab.isol”

This ligature actually consists of three characters: “lam-arab.init” + “lam-arab.medi” + “alef-arab.fina”. In OpenType, I configured it as a ligature + base: “lam-arab.init” + “lam_alef-arab.fina”

When creating anchors, FontCreator treats it as a two-character ligature

and the program refuses to add a third anchor.

If you ask, “Why don’t I use ‘lam-arab.init+lam-arab.medi+alef-arab.fina’?”
Or contextual alternatives?
Because my file contains 554 ligatures,

and I don’t want the liga to conflict with the rlig.
I created a simple example above, but I have many more ligatures.
I need to create them this way to avoid conflicts.

If you want to override the value, ensure OT Class is set to Ligature, then increase the value from 2 to 3.

I’ve tried this before, but it doesn’t work correctly.

I wish I had used calt and contextual from the beginning. It took me many months to design the glyphs. I hope to find a solution that doesn’t involve redesigning.

Can you provide a minimal font project that we can test?

Note that the diacritics in OpenType look good.
However, in the preview, the third character appears to be diacritically placed above the second.
Thank you, my friend.

Majalla2.fcp (76.6 KB)

بَلَاَ
عَلَاَ
لَلَاَ

It seems to work just fine in a webbrowser, so I suspect it is a bug in our shaping engine. So nothing to worry about.

We will look into it and see if we can locate the cause of the problem.

We have just released an update that solves the issue:
https://www.high-logic.com/tmp/fontcreator/FontCreatorSetup15.0.0.3045.exe

Do give it a try and let me know if it works as expected.

The font works fine when exporting, both in programs and in web previews.

However, I think it caused another error in the preview.
Look at this screenshot of the preview in FontCreator.
The same word, lamalef-arab.isol, is repeated 4 times and doesn’t display correctly.

It also causes errors with other characters like lam_lam_heh-arab.1

1 Like

Here is another release. Let me know if it solves both issues.

https://www.high-logic.com/tmp/fontcreator/FontCreatorSetup15.0.0.3046.exe

Sorry for the delayed response; I wanted to test it thoroughly.

The preview is working perfectly now.
Thank you, my friend.

1 Like

Thank you again. I’m truly embarrassed; I feel like I’ve troubled you a bit.
I’m giving my feedback out of love for the wonderful and excellent FontCreator program.
A note for future updates: When linking Base to Ligature,
it would be better if the program recognized it uniquely.
The program displays the number 2, and the input is 3.
When exporting, the font works correctly.

When selecting “automatic” during export, the font doesn’t work correctly.
The program forces a value of 2 instead of 3.

I think it would be better if the program recognized it uniquely and displayed the value as 3².
Best regards.

We will see if we can improve it.

But why would you set it to Automatic on export?

I’m just suggesting this to make the program better. FontCreator’s greatest strength is its ease of use and clarity for beginners.

In some professional fonts, you have a large number of ligatures.
See the attached file. I use it as a template for new fonts.
It contains most of the ligatures used in Arabic.
It will better illustrate the need to link a base to a ligature to avoid conflicts.
For example, a word made up of ‘abc’ and you have two glyphs, ‘ab’ and ‘bc’.
The program will use the first one and ignore the second.
It becomes easier when using a new glyph like ‘ab+c’ or ‘a+bc’.
Copying and pasting is often used for similar glyphs,
and errors occur when searching for compatibility, conflicts, and linking, etc.
Choosing Automatic saves a lot of time.

Majalla4.fcp (653.7 KB)

When you insert a glyphs, you can do this:

abc=ab+c
abc.alt=a+bc

Yes, using ContextualAlternates is much better programmatically;
you don’t need Liga at all. However, it’s more technically difficult when creating the design map;
designing the font takes much longer.

Are we talking about the same thing?

I’m talking about OpenType design.
Perhaps we’ve strayed a bit from the topic due to my limited English.
In short, I’m not looking for a solution; I’ve simply offered a suggestion to improve the program.
When creating ligatures in Arabic, you need glyphs of two or more characters.

It’s possible to forgo ligatures and use ChainingContext.
You only need the base, and the binding can be controlled from OpenType.

Using ligatures is easier in terms of font design.
Using ChainingContext requires more expertise and time.
Sorry for the long post. Best regards, my friend.

Okay, thank you for your clarification.