Problem of OpenType Isolated Forms embedded in Stylistic Sets

Dear fast and organized community!

I currently work on a font which uses the features of .init and .fina in an stylistic set!
Therefore i have groups which consists of allLetters / init / fina.

Now to come to the point: I would like to add isolated forms and already tried everything what is explained here:

Can anyone help me out with some advice how to fix the problem that it won’t use the .isol forms if the letter stands on it’s own? For now i just have the middle form and the initial form in the beginning.

Or is it maybe a matter of the unusual embedding in an stylistic set? That worked with init and fina very well so far!

Thanks in advance and please ask in case you need more information!


From what you write, I am not exactly sure what you are trying to do. The code samples in your screenshots do not show any isolated lookup. I am not sure what you are trying to do on the left side.

The code in the tutorial also works as a stylistic set. Keep your lookups clean (don’t mix lookup types), and make sure the order is right.

Hi @mekkablue!

Thanks for your comment and help!
I did a sketch to visualize what i try to do. I hope it makes it more clear to you, so you can probably help out with the code:

my currently groups consist of as you can see in the code screenshot:
filled = all letters in the font
initialsOn = B.init …
initialsOff = A B …

Do I probably need also the same for the isolation part, like
isolOn = A.isol B.isol
isolOff = A B (Here i thought i can target the group of initialsOn, because i want them to be off – right?)

Thanks for taking time and please ask if something is still not clear to you!

You can add an additional context in the substitution lines. Note the extra @AnyLetter:

lookup InitForms {
	ignore sub @AnyLetter @initDef';
	sub @initDef' @AnyLetter by @initSub;
} InitForms;

lookup FinaForms {
	ignore sub @finaDef' @AnyLetter;
	sub @AnyLetter @finaDef' by @finaSub;
} FinaForms;

The class names are from the feature building script in my repository, described in the tutorial.