Glyphs crashes because of `pos` rule

I have this line in liga features:

pos hyphen_greater.liga <750 0 750 0 (wdth:3) 600 0 600 0>;

And, if there’s this line (or rather the (wdth:3) part) and I hit the “Compile” button, Glyphs crashes immediately.

The width axis range in my font is 3—6. Glyphs version is 3.0.5 (3131).

Can you send me that file?

Sent in DM.

Fixed it. Thanks

1 Like

Should it be fixed in 3.1 (3132)? (It continue to crash in 3.1.)

No. Just fixed it this morning.

1 Like

Wow! With the latest update, the rule works just perfectly!

Even for the variable version: Dropbox - martian-mono-variable-ligature@2x.mov - Simplify your life

Thank you, @GeorgSeifert!

Update.

Ligatures work perfectly in a variable font, but something is wrong with static styles. On wdth:3 (and accordingly on 4 and 5) pos rule works incorrectly.

@GeorgSeifert, may it be on Glyphs’ side? @FlorianPircher fyi.

Can you send the .glyphs file?

Sent.

The (wdth:3) variable value records are not meant for static instances. You need a “Replace Feature” parameter for this. And I would recommend to use classes for the pos rules.
something like:

@threeChars = [hyphen_hyphen_greater.liga, period_period_period.liga, colon_colon_colon.liga …];
@twoChars = [hyphen_hyphen.liga, hyphen_greater.liga, period_period.liga …];
pos @threeChars <1500 0 1500 0 (wdth:3) 1200 0 1200 0>;
pos @twoChars <750 0 750 0 (wdth:3) 600 0 600 0>;

Set the liga feature in to “Automatic”. And add a “Add Feature” custom parameter to each instance (the variable font settings, too). And put the two pos line in each. The classes can go in the classes section of the Feature settings. If you add “twoChar” and “threeChar” tags to the ligatures, you can automat the classes:

I’m missing something. Please, check if I set things correctly.

The liga feature is set to “Generate automatically”.

I have two classes with $[tags contains ...], just like you said.

In instances (for Cn Th just yet) I added “Add Feature” custom parameter which contains the next for liga:

pos @threeChars <1200 0 1200 0>;
pos @twoChars <600 0 600 0>;

The variable font setting has “Add Feature” as well:

pos @threeChars <1500 0 1500 0 (wdth:3) 1200 0 1200 0>;
pos @twoChars <750 0 750 0 (wdth:3) 600 0 600 0>;

And none of this works: neither for variable nor for static.

P. S. Sent the source in DM.

I searched through the forum and found that there was such a bug with Add Feature custom parameter, but it should be fixed, according to this forum topic: Can #ifndef VARIABLE have conditions

The file you send me had a problem with the #ifdef line. It should be written without a space between the # and the ifdef.

the “Add Feature” parameter is fixed in the next update.

1 Like

Thank you, fixed.

It makes sense to fix the same on this screenshot from Switching shapes tutorial.

Hi @GeorgSeifert,

Is there any news?

I’ve tested Add Feature in Glyphs 3.1.1 (3139), and it doesn’t seem fixed.

You mean the “Add Feature” update? That will be in 3.2

Yes, the Add Feature update.

Is it possible to approximately estimate the version 3.2 release date?

I’m waiting for this feature cause it’ll enable me to add coding ligatures to my monospaced font.

@GeorgSeifert I see 3.2 is here (congratulations and thank you for your work). Was “Add Feature” updated in this version?

Yes. The parameter should work now.

1 Like