Sharp s problem

I followed the Sharp s tutorial but it doesn’t work for me. When I switch to ALL CAPS in InDesign, the sharp s stays lowercase. Any suggestions?
I have the following features:
sub @Uppercase germandbls’ @Uppercase by germandbls.calt;
sub @Uppercase @Uppercase germandbls’ by germandbls.calt;
pos @Uppercase <5 0 10 0>;
And Uppercase class that contains Germandbls. (Should germandbls.calt be there, too?)

Are contextual alternates active? And is ß surrounded by uppercase letters?

The cpsp feature does not substitute any glyphs, only increase the spacing.

Oh, and germandbls.calt should not be in the Uppercase class. Sorry, overlooked the question.

Also, I wonder how you switch to all caps in InDesign, because InDesign turns sharp s into double S in all caps mode.

Thanks mekkablue.
My bad, all is ok. Contextual alternates were not active.
I switch to ALL CAPS from the Character panel (triangle menu, cmd+shift+K). Sometimes it changes to SS, sometimes to uppercase sharp s. I haven’t quite figured out when the one and when the other.

Also, should I delete the first line from:
sub germandbls by germandbls.calt;
sub @Uppercase germandbls’ @Uppercase by germandbls.calt;
sub @Uppercase @Uppercase germandbls’ by germandbls.calt;

It was set automatically.

The first line should be deleted, yes.


Hi @mekkablue, I have a similar problem:
sub @Uppercase germandbls’ @Uppercase by germandbls.calt;
sub @Uppercase @Uppercase germandbls’ by germandbls.calt;

Glyphs didn’t generate automatically the others so I created them myself:
cpsp (Is that right: it can be empty, but it has to be generated?)
And the Uppercase class with Germandbls in it.

Contextual alternates are active in indesign but it still doesn’t work … (is there a similar thing in Glyphsapp, that has to be activated?)

Its the first time I try the Opentype-Features …
Thank you for an answer! :smile:

No. You don’t have to generate cpsp.

Since 2.0, the Uppercase class is only generated automatically if needed, e.g. if you do add a cpsp. Or you can add Uppercase manually and click on the Generate Feature Automatically option. And if you do, Germandbls will be added to the Uppercase class automatically (but not germandbls.calt).

Ok, that’s good info, thank you.

Then so far:
I have the calt feature with both lines “sub …” and the Uppercase-class with “Gernmanbls” and the germandbls.calt glyph that uses the Germandbls as described in the tutorial.
And in InDesign the contextual alternates are active.

… but it still doesn’t work:
Not in InDesign by typing uppercase letters, not with the all caps-function, nor in the Glyphsapp in the Edit View (should it work there too?).

I also double checked if I have a typo somewhere, but I couldn’t find one, so far …

Any other Idea, what it could be?

Contextual alternates need to be turned on in InDesign. They are on by default, but many people accidentally disabled them.

Like I said above: it is activated.
(checked the “OpenType/Contextual alternates” in the Menu … is there another way?)

Can you send me the .glyphs file in a DM?

I also followed the blog post instructions but Glyphs (2.3) is giving me the following error:

Error: “glyph class not defined (text was “@Uppercase”)” in Feature calt in line: 1

I believe @Uppercase is defined automatically but can’t see cpsp in the FEATURES list


You have to have a class called @Uppercase if you are going to use it.

  1. Create new class from the plus menu in the bottom left
  2. Rename it to Uppercase
  3. Activate Generate Feature Automatically option

Earlier versions of Glyphs used to always create that class. Glyphs 2 only creates it when necessary. I’ll see if I can improve the text of the tutorial to avoid such misunderstandings.

1 Like

Thank you @mekkablue

Rainer, I believe your tutorial works in InDesign (I use version 2017.0) only if you use the »Adobe World-Ready Paragraph / Single-line Composer« (in German »Globaler Adobe …-setzer«). Unfortunately the standard setting is the »Adobe Paragraph / Single-line Composer« (not ready for the world…). Most users don’t even know the difference.
In this »Standard mode« InDesign uses its own substitutions for ß when you hit the »All Caps« or »Small Caps« buttons: It creates a special SS ligature, which even reacts on tracking (which is nice). But any efforts to do custom substitutions or use a Capital sharp s through OT features will be ignored.
This definetely needs to be discussed with Adobe. Cause it’s a real stupid hack by them.

Actually, the OpenType feature really is a hack. That is a different discussion altogether what needs to be done by the layout engine and what should be done by the font.

And I just tested again in InD CC 2018. It does work with the old-style Paragraph Composer, too. You just need to make sure Contextual Alternates are on. (They are on by default.)

hmmm, strange. Just updated on Indesign 2018 but still the same (wrong) behavior. Have to check the whole thing again…