Skip to content

Somewhat vague error message when a corner component blocks variable font build Generating fonts from Designspace failed: 'origin' #1160

@arrowtype

Description

@arrowtype

I’ve just experienced some confusion in a build, and I wanted to document it in case others come across this.

What happened

I was trying to build from a relatively simple Glyphs document to a variable font.

Here’s the log:

▶ fontmake -o variable -g Familyname/sources/glyphs/Familyname.glyphs
INFO:fontmake.font_project:Building master UFOs and designspace from Glyphs source
INFO:glyphsLib.parser:Parsing .glyphs file
INFO:glyphsLib.builder:Running 'align_alternate_layers' transformation
INFO:glyphsLib.builder:Running 'propagate_all_anchors' transformation
WARNING:glyphsLib.builder.builders.UFOBuilder:Non-existent glyph class public.kern1.dcaron found in kerning rules.
WARNING:glyphsLib.builder.builders.UFOBuilder:Non-existent glyph class public.kern2.punctuation found in kerning rules.
WARNING:glyphsLib.builder.builders.UFOBuilder:Non-existent glyph class public.kern1.dcaron found in kerning rules.
WARNING:glyphsLib.builder.builders.UFOBuilder:Non-existent glyph class public.kern2.punctuation found in kerning rules.
WARNING:glyphsLib.builder.builders.UFOBuilder:Non-existent glyph class public.kern1.dcaron found in kerning rules.
WARNING:glyphsLib.builder.builders.UFOBuilder:Non-existent glyph class public.kern2.punctuation found in kerning rules.
INFO:fontmake.font_project:Loading 3 DesignSpace source UFOs
INFO:fontmake.font_project:Building variable fonts variable_ttf/Familyname-VF.ttf
INFO:ufo2ft:Features are compatible across masters; building later
INFO:ufo2ft:Pre-processing glyphs
INFO:ufo2ft.filters:Running interpolatable SkipExportGlyphsIFilter
INFO:ufo2ft.filters:Running CornerComponentsFilter on Familyname-Extralight
fontmake: Error: In 'Familyname/sources/glyphs/Familyname.glyphs' -> 'master_ufo/Familyname.designspace': Generating fonts from Designspace failed: 'origin'

After checking all the font info a few times, I eventually realized it was failing on the CornerComponentsFilter step. So, I made a Glyphs filter to find glyphs where "Has Corners" is true.

Image

This showed me that one glyph had a corner component, even though this was seemingly empty. Once I removed that in all layers, the fontmake build worked without issue.

Conclusion

Potentially, FontMake could give a more obvious error message here, like Generating fonts from Designspace failed: a corner component cannot be resolved in glyph /z. I’m not sure how feasible this is, though.

I’m also okay if this issue is closed, and just wanted it here for future searches by others or by myself. :)

Thanks!

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions