googlefonts / googlefonts/fontmake
Sparse / Partial Masters and Anchors
- Dominant language
- Python
- Stars
- 888
- Forks
- 97
- Avg merge
- 4d 52m
- Merged PRs (30d)
- 1
Description
I'm having some issues with this VF project with UFOs where I have some sparse UFO masters, I get the following error:
```
INFO:fontTools.varLib:Merging OpenType Layout tables
Traceback (most recent call last):
File "/usr/local/bin/fontmake", line 11, in
sys.exit(main())
File "/usr/local/lib/python2.7/site-packages/fontmake/__main__.py", line 407, in main
project.run_from_designspace(designspace_path, **args)
File "/usr/local/lib/python2.7/site-packages/fontmake/font_project.py", line 914, in run_from_designspace
**kwargs
File "/usr/local/lib/python2.7/site-packages/fontmake/font_project.py", line 969, in _run_from_designspace_interpolatable
designspace, output_path=output_path, output_dir=output_dir, **kwargs
File "/usr/local/lib/python2.7/site-packages/fontmake/font_project.py", line 411, in build_variable_font
inplace=True,
File "/usr/local/lib/python2.7/site-packages/ufo2ft/__init__.py", line 577, in compileVariableTTF
ttfDesignSpace, exclude=excludeVariationTables, optimize=optimizeGvar
File "/usr/local/lib/python2.7/site-packages/fontTools/varLib/__init__.py", line 916, in build
_merge_OTL(vf, model, master_fonts, axisTags)
File "/usr/local/lib/python2.7/site-packages/fontTools/varLib/__init__.py", line 688, in _merge_OTL
merger.mergeTables(font, master_fonts, ['GSUB', 'GDEF', 'GPOS'])
File "/usr/local/lib/python2.7/site-packages/fontTools/varLib/merger.py", line 111, in mergeTables
for m in master_ttfs])
File "/usr/local/lib/python2.7/site-packages/fontTools/varLib/merger.py", line 1003, in mergeThings
super(VariationMerger, self).mergeThings(out, lst)
File "/usr/local/lib/python2.7/site-packages/fontTools/varLib/merger.py", line 97, in mergeThings
self.mergeObjects(out, lst)
File "/usr/local/lib/python2.7/site-packages/fontTools/varLib/merger.py", line 76, in mergeObjects
mergerFunc(self, value, values)
File "/usr/local/lib/python2.7/site-packages/fontTools/varLib/merger.py", line 1003, in mergeThings
super(VariationMerger, self).mergeThings(out, lst)
File "/usr/local/lib/python2.7/site-packages/fontTools/varLib/merger.py", line 97, in mergeThings
self.mergeObjects(out, lst)
File "/usr/local/lib/python2.7/site-packages/fontTools/varLib/merger.py", line 76, in mergeObjects
mergerFunc(self, value, values)
File "/usr/local/lib/python2.7/site-packages/fontTools/varLib/merger.py", line 1003, in mergeThings
super(VariationMerger, self).mergeThings(out, lst)
File "/usr/local/lib/python2.7/site-packages/fontTools/varLib/merger.py", line 97, in mergeThings
self.mergeObjects(out, lst)
File "/usr/local/lib/python2.7/site-packages/fontTools/varLib/merger.py", line 76, in mergeObjects
mergerFunc(self, value, values)
File "/usr/local/lib/python2.7/site-packages/fontTools/varLib/merger.py", line 1003, in mergeThings
super(VariationMerger, self).mergeThings(out, lst)
File "/usr/local/lib/python2.7/site-packages/fontTools/varLib/merger.py", line 99, in mergeThings
self.mergeLists(out, lst)
File "/usr/local/lib/python2.7/site-packages/fontTools/varLib/merger.py", line 82, in mergeLists
assert allEqualTo(out, lst, len), (len(out), [len(v) for v in lst])
AssertionError: ((3, [3, 3, 3, 3, 1, 1, 2, 2]), 'list', '.Coverage', 'MarkGlyphSetsDef', '.MarkGlyphSetsDef', 'GDEF', '.table', 'table_G_D_E_F_')
```
I understand issue is to do with the anchors, and the issue doesn't present when I don't have the sparse masters.
Is there something I need to do especially with the anchors when I have sparse masters – do the sparse masters all need to have the same glyphs or something. I've seen that the order needs to be consistent across masters but I'm not sure what to do with a sparse master
I know the glyphs in the sparse masters are interpolable as the they build fine with Glyphs App.
Contributor guide
Assessment
This issue has not been assessed yet.