MakeOTF error - empty block

Hello !
I’m trying to export a font from Glyphs app and I get the following error:

MakeOTF error
Erreur: empty block" dans la fonction kern dans la ligne: 62

When I check up the generateFont.command file, it says the following thing:

syntax error at “}” missing { feature script language subtable lookupflag enumerate except ignore substitute reverse position parameters feat_names sizemenuname markClass GCLASS “;” } [features.fea 468]
makeotfGlyphs [FATAL]

My functions are automatically generated.

I’ve updated them several times before exporting; then I’ve disabled them one by one before exporting to see if it changed anything, but nothing does. Old versions of the font export just fine. I’ve checked-up glyph names, spacing and kerning groups for weird characters but there isn’t any.
Do you know how can I fix this issue?
Thanks in advance.

  • Which version of Glyphs exactly? Try the latest beta please. Go to Glyphs > Preferences > Updates, activate both checkboxes and press the Update button.
  • Do you have no kerning at all in your font? Or a second script in your font (e.g. Greek besides Latin) and no kerning for that yet? Try adding a little kerning. One kern pair will do. It most likely is a kern lookup that stayed empty.

What is in line 468 in the features.fea file next to the generateFont.command?

@mekkablue : The font has a lot of kerning pairs already. I’m using Glyphs latest version, but I can download the last beta…

@GeorgSeifert
Line 467: lookup kern_tifinagh {
Line 468: } kern_tifinagh;

@GeorgSeifert The whole section says:

feature kern {
	lookup kern_DFLT {
	lookupflag IgnoreMarks;
		pos asterisk asterisk 85;
	subtable;
		pos one @MMK_R_dot -25;
	subtable;
	} kern_DFLT;
	lookup kern_latn {
	lookupflag IgnoreMarks;
		pos @MMK_L_A @MMK_R_O -25;
		pos @MMK_L_A @MMK_R_T -110;
		pos @MMK_L_A @MMK_R_U -30;
		pos @MMK_L_A @MMK_R_V -100;
		pos @MMK_L_A @MMK_R_Y -120;
		pos @MMK_L_A four -45;
		pos @MMK_L_B @MMK_R_T -30;
		pos @MMK_L_E @MMK_R_S -25;
		pos @MMK_L_F @MMK_R_A -115;
		pos @MMK_L_F @MMK_R_O -70;
		pos @MMK_L_F @MMK_R_U -75;
		pos @MMK_L_K @MMK_R_U -40;
		pos @MMK_L_L @MMK_R_O -40;
		pos @MMK_L_L @MMK_R_U -50;
		pos @MMK_L_L @MMK_R_V -100;
		pos @MMK_L_M @MMK_R_V -50;
		pos @MMK_L_O @MMK_R_A -40;
		pos @MMK_L_O @MMK_R_T -70;
		pos @MMK_L_O @MMK_R_V -60;
		pos @MMK_L_O @MMK_R_X -65;
		pos @MMK_L_O @MMK_R_Y -80;
		pos @MMK_L_O @MMK_R_dot -60;
		pos @MMK_L_O one -50;
		pos @MMK_L_P @MMK_R_A -60;
		pos @MMK_L_R @MMK_R_A -30;
		pos @MMK_L_R @MMK_R_T -25;
		pos @MMK_L_R @MMK_R_Y -40;
		pos @MMK_L_R @MMK_R_dot -20;
		pos @MMK_L_S @MMK_R_A -35;
		pos @MMK_L_S @MMK_R_T -45;
		pos @MMK_L_T @MMK_R_A -110;
		pos @MMK_L_T @MMK_R_O -70;
		pos @MMK_L_T @MMK_R_U -80;
		pos @MMK_L_U @MMK_R_V -35;
		pos @MMK_L_V @MMK_R_A -100;
		pos @MMK_L_V @MMK_R_O -60;
		pos @MMK_L_Y @MMK_R_A -120;
		pos @MMK_L_Y @MMK_R_O -80;
		pos @MMK_L_Y space -60;
		pos @MMK_L_Z @MMK_R_A -25;
		pos @MMK_L_Z @MMK_R_O -30;
	subtable;
		pos @MMK_L_r @MMK_R_A -60;
	subtable;
		pos ampersand @MMK_R_T -100;
	subtable;
		pos asterisk @MMK_R_T 25;
	subtable;
		pos space @MMK_R_Y -60;
	subtable;
	} kern_latn;
	lookup kern_tifinagh {
	} kern_tifinagh;
	lookupflag 0;
	script latn;
	lookup kern_latn;
	lookupflag 0;
} kern;

It looks like there’s a { missing somewhere in the latin kerning table, maybe that’s the error. If that’s the case, how can I fix it? Thanks in advance.

Somehow the export thinks there is kerning for Tifinag but then if can’t export any. The easiest fix is to add at least one kerning pair for tifinag.
Can you send me that .glyphs file?

@GeorgSeifert yes, to support (at) glyphsapp.com ?
Note: there is actually kerning for tifinagh in the typeface, it’s a multi-script typeface.

Yes, to that address.