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
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
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.
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.