Coding alternatives: Is it possible to make a lowercase.init follow a uppercase letter?

Heyo!

I am drawing a script font at the moment.
How can I make the initial forms of the lowercase letters follow the uppercase letters?

Now its just the usual letters that follow after the uppercase letters.

Thanks for any tipps!
Christina

1 Like

That is possible. Add a feature called ‘calt’ and a class called ‘Uppercase’. Set the class to automatic. In the feature, add code like this:
sub @Uppercase a’ by a.init;

Or, if you follow the class setup from the Positional Alternates tutorial, you would do it like this:

sub @Uppercase @Medial' by @Initial;

… and you could insert it in the initial lookup before the ignore statement as follows:

lookup INITIAL {
   sub @Uppercase @Medial' by @Initial;
   ignore sub @AllLetters @Medial';
   sub @Medial' by @Initial;
} INITIAL;

When I sub @Uppercase a’ by a.init;

…it just subs the a. When I then try to continue with sub @Uppercase b’ by b.init;
I get this error: Fehler: »invalid token (text was “?”)« im Feature calt in Zeile: 2

The other way does not work either:
When I sub @Uppercase @Medial’ by @Initial;

…it says: Fehler: »glyph class not defined (text was “@Medial”)« im Feature calt in Zeile: 1

Do I have to name all “normal” letters to .medi then?

many thanks!

I got some to work now. But only half of them. I coded it all the same way. :frowning:

Can you send me the .glyphs file please to support (at) (this website without www). I will have a look.

Please read the tutorial carefully. It explains how you create the @Medial and other classes.

OK, I have a slightly more complicated situation. I also wanted to have some capital letters followed by an initial form of lowercase, and I also have a lowercase s in its isolated form. I used mekkablue’s awesome script “Build positional calt feature” and inserted this sub @UCnotConnected @initDef' by @initSub; in the initial lookup before the ignore statement (I put all capital letters that do not connect to the lc in the @UCnotConnected class).
Then I realized I need an isolated form of the s to follow V in a word like Vs. The following code (in IsolForms lookup before ignore statement) was my solution added on mekkablue’s code:

lookup IsolForms {
	sub @UCnotConnected @isolDef' @NonLetter by @isolSub;
	ignore sub @isolDef' @AnyLetter, @AnyLetter @isolDef';
	sub @isolDef' by @isolSub;
} IsolForms;

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

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

I made a class @NonLetter and put all glyphs other than UC and lc in it. As far as I can tell everything works. But I would really appreciate if someone with actual coding experience could check this code and spot potential problems. :grin:

1 Like