Combining stylistic sets and contextual alternates

Hi there – long time listener, first time caller.

Before anybody points it out, I have indeed read the following thread:

All that I could discern after having read the thread above is that .calt cannot come after .ss01, which I have found when testing the font I am working on.

In the font in question, I have a default character style of humanist grotesque forms, and a stylistic set for neogrotesque forms (so, for example, angled vs right angle terminals). So, I have two uppercase and two lowercase german double s’, however I’m looking to incorporate an .ss01 uppercase german double s into a .calt script to transform the lowercase to the uppercase in an all uppercase context.

I hope this all makes sense. Can post images to clarify.
What might be the solution for this?

Thank you,

There is a tutorial for this. Search for ‘German’ on the tutorials page.

Hi @mekkablue – thank you for your reply.

Of course, I have checked this tutorial, my font currently features the following script:
sub @Uppercase germandbls' @Uppercase by germandbls.calt; sub @Uppercase @Uppercase germandbls' by germandbls.calt;

However, I am looking to do the same again, for my Germandbls.ss01
As shown in the image attached below, when combining .ss01 and .calt, my Germandbls is replaced by my lowercase germandbls.ss01, instead of something to the effect of ‘germandbls.ss01.calt’

The calt code only replaces germandbls (not germandbls.ss01) with germandbls.calt. You will either have to adapt it to also include the ss01 variant or reorder the features so calt kicks in before ss01.

Do you have a germandbls.ss01.calt in the font? It is not reflected in the code. How do you expect it to appear if you do not tell it to?

I should probably have mentioned, I included two lines of code, as below:

sub @Uppercase germandbls.ss01’ @Uppercase by germandbls.ss01.calt;
sub @Uppercase @Uppercase germandbls.ss01' by germandbls.ss01.calt;

this returns the following error:

Error: "invalid token (text was "?")" in Feature calt in line: 3

I have a feeling that this is covered in the thread I originally linked, however I cannot seem to think of a way to circumvent this issue without changing the naming conventions for the stylistic set (so as to avoid the clash between .ss01 and .calt). I’m also wondering if I need to define a different class for the @Uppercase to specify that Stylistic Set 1 has been turned on.

The tick mark after ss01 in the first line is not a straight dumb quote ' but a curly single quote . Did you write this in a different app and paste it in Glyphs? Or perhaps update to the latest 2.4.2 beta, which should treat smart quotes as dumb quotes.

No. Just make sure all uppercase letters (including all ssXX uppercase letters) are in it. If you let it autogenerate, it should be fine.

This is by far the most embarrassed I’ve been online haha. Thank you for your help, @mekkablue , that was indeed the issue. I was generating the rest of the script simply by copying and pasting the first two lines, however it treated everything between the 's as a quote.

All solved, working just fine now!

1 Like