Fontbakery warn: Check glyphs in mark glyph class are non-spacing

Hello, I’m afraid I can’t figure out what is going on. I get the following warn in fontbakery:

<FontBakeryCheck:com.google.fonts/check/gdef_spacing_marks>
Glyphs in the GDEF mark glyph class should be non-spacing.
Spacing glyphs in the GDEF mark glyph class may have incorrect anchor positioning that was only intended for building composite glyphs during design.

The following spacing glyphs may be in the GDEF mark glyph class by mistake:
acute (U+00B4)
breve (U+02D8)
caron (U+02C7)
circumflex (U+02C6)
dieresis (U+00A8)
dotaccent (U+02D9)
grave (U+0060)
hungarumlaut (U+02DD)
macron (U+00AF)
ring (U+02DA)
tilde (U+02DC)
uni02BB (U+02BB)

[code: spacing-mark-glyphs]

This only appears in recent exports (at least 3201), I re-ran fontbakery on older exports (from last month) and the check passes.

Of course, the <FontBakeryCheck:com.google.fonts/check/gdef_non_mark_chars> check gives a warn as well.

Thanks for any insight.

We indeed changed the calculation of the GDEF classes recently.

Can you send me your .glyphs file that I can check this?

This happens with any glyphs file, simply exporting from 3201 is the problem (maybe 3200 as well, not sure).

It is fine with my files.

I could reproduce it in 3.2 (3202). Sent you a file.

Sorry to bump this already, but were the files at least helpful? This is a rather pressing issue :sweat_smile:

You can quickly fix the export with fonttools.

I know, but that’s a hassle to do every time :grin:

It didn’t export them for me anymore in 3.2 (3202).

Update, no, could still reproduce it. Moment…

Update 2:

As a workaround, I added Post Production > Fix GDEF class definition of Legacy Marks (OTVAR) to the mekkablue scripts. Run the script after you exported OTVARs from the frontmost file.

That’s very kind, thanks a lot! Appreciate it.

Didn’t check it yet, but I assume the script works just as well for static fonts, the issue is in all exports.

I think this is a serious bug, as the legacy marks are rendered as zero-width glyphs e.g. in FontGoggles, macOS, …

Bildschirmfoto 2023-06-28 um 15.37.23

1 Like

For now it takes the most recent OTVAR export.

Update: it will now process all .ttf, .otf, .woff, .woff2 in both static and variable export folders.

1 Like

Many thanks! I added the commaturnedmod to the legacy mark list, you have a pull request with a one-line commit :wink:

Hello, was this improvement added to the latest release? I’m still getting:

Mark characters should be in the GDEF mark glyph class.
mark glyph class: uni0335 (U+0335) [code: mark-chars]

Yes, this has been fixed. Are you on the latest cutting edge version (3219 or something)?

Are you working on a monospace font?

Hi, Ah! Think I’m on cutting edge: 3.2 (3219). Should I reinstall to roll back?

Odd. Exports work fine for me with 3219. Are you working on a monospace font?

No, here’s a snap. Looks pretty normal

Nothing to do with anchors? I notice mine doesn’t have one set.
It’s set in @CombiningTopAccents because if I stop it from exporting, glyphs throws an error:
Unknown glyph “shortstrokecomb” found in: feature ‘ccmp’, line 3.

I added an anchor. Seems to have cleared the error. Thanks!