Skip to content

float axis locations trigger "Base master not found" while compiling GPOS mark #1105

@anthrotype

Description

@anthrotype

after merging #1101, I saw two new fontmake-only errors (Base master not found) in the fontc_crater dashboard related to MartianMono.glyphs source:

Reproducer:

python3 resources/scripts/ttx_diff.py 'https://github.com/evilmartians/mono?a96373b286#sources/MartianMono.glyphs'

It seems related to updating the crater to glyphsLib from 6.11.4 to 6.11.5, which leaves un-truncated float values in the Axis Locations custom parameters (see below diff for the designspace produced by glypshLib 6.11.4 vs 6.11.5).

Upon compiling this, ufo2ft markFeatureWriter produces features.fea code that makes fonttools varLib trip up with the "Base master not found" error while building the GPOS table...

--- fontmake-gl-6-11-4/MartianMono.designspace	2025-08-18 09:24:22
+++ fontmake-gl-6-11-5/MartianMono.designspace	2025-08-18 09:24:11
@@ -11,11 +11,11 @@
       <map input="700" output="162"/>
       <map input="800" output="180"/>
     </axis>
-    <axis tag="wdth" name="Width" minimum="75" maximum="112" default="112">
+    <axis tag="wdth" name="Width" minimum="75" maximum="112.5" default="112.5">
       <map input="75" output="3"/>
-      <map input="87" output="4"/>
+      <map input="87.5" output="4"/>
       <map input="100" output="5"/>
-      <map input="112" output="6"/>
+      <map input="112.5" output="6"/>
     </axis>
   </axes>
   <rules>

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