googlefonts / googlefonts/fontmake
'str' object has no attribute 'append'
- Dominant language
- Python
- Stars
- 888
- Forks
- 97
- Avg merge
- 4d 52m
- Merged PRs (30d)
- 1
Description
I am trying to compile a variable font from DesignSpace + UFO files, and getting the following output.
(env) E:\76\googlefonts\KumbhSans\1.0.0.3\sources>fontmake -o variable -m KumbhSans_Var_35.designspace --verbose DEBUG --validate-ufo
DEBUG:fontmake.font_project:ufoLib UFO validation is enabled
INFO:fontmake.font_project:Building variable font variable_ttf\KumbhSans_Var_35-VF.ttf
INFO:ufo2ft:Pre-processing glyphs
INFO:cu2qu.ufo:New spline lengths: 1: 242, 2: 1036, 3: 725, 4: 167, 5: 1
INFO:ufo2ft.filters.base:Running DecomposeComponentsFilter on KumbhSans-Black
INFO:ufo2ft.filters.base:Running DecomposeComponentsFilter on KumbhSans-BlackDisplay
INFO:ufo2ft.filters.base:Running DecomposeComponentsFilter on KumbhSans-Display
INFO:ufo2ft.filters.base:Running DecomposeComponentsFilter on KumbhSans-Regular
INFO:ufo2ft.filters.base:Running DecomposeComponentsFilter on KumbhSans-Thin
INFO:ufo2ft.filters.base:Running DecomposeComponentsFilter on KumbhSans-ThinDisplay
INFO:ufo2ft:Building OpenType tables for KumbhSans-Black
DEBUG:ufo2ft.featureWriters.kernFeatureWriter.KernFeatureWriter:No dist-enabled scripts defined in languagesystem statements; dist feature will not be generated
DEBUG:ufo2ft.featureWriters.gdefFeatureWriter.GdefFeatureWriter:No features to be generated; skipped
INFO:ufo2ft:Building OpenType tables for KumbhSans-BlackDisplay
DEBUG:ufo2ft.featureWriters.kernFeatureWriter.KernFeatureWriter:No dist-enabled scripts defined in languagesystem statements; dist feature will not be generated
DEBUG:ufo2ft.featureWriters.gdefFeatureWriter.GdefFeatureWriter:No features to be generated; skipped
INFO:ufo2ft:Building OpenType tables for KumbhSans-Display
DEBUG:ufo2ft.featureWriters.kernFeatureWriter.KernFeatureWriter:No dist-enabled scripts defined in languagesystem statements; dist feature will not be generated
DEBUG:ufo2ft.featureWriters.gdefFeatureWriter.GdefFeatureWriter:No features to be generated; skipped
INFO:ufo2ft:Building OpenType tables for KumbhSans-Regular
DEBUG:ufo2ft.featureWriters.kernFeatureWriter.KernFeatureWriter:No dist-enabled scripts defined in languagesystem statements; dist feature will not be generated
DEBUG:ufo2ft.featureWriters.gdefFeatureWriter.GdefFeatureWriter:No features to be generated; skipped
INFO:ufo2ft:Building OpenType tables for KumbhSans-Thin
DEBUG:ufo2ft.featureWriters.kernFeatureWriter.KernFeatureWriter:No dist-enabled scripts defined in languagesystem statements; dist feature will not be generated
DEBUG:ufo2ft.featureWriters.gdefFeatureWriter.GdefFeatureWriter:No features to be generated; skipped
INFO:ufo2ft:Building OpenType tables for KumbhSans-ThinDisplay
DEBUG:ufo2ft.featureWriters.kernFeatureWriter.KernFeatureWriter:No dist-enabled scripts defined in languagesystem statements; dist feature will not be generated
DEBUG:ufo2ft.featureWriters.gdefFeatureWriter.GdefFeatureWriter:No features to be generated; skipped
INFO:ufo2ft:Building variable TTF font
INFO:fontTools.varLib:Axes:
[{'default': 400.0,
'hidden': False,
'labelNames': {'en': 'Weight'},
'map': [(100.0, 100.0), (400.0, 400.0), (900.0, 900.0)],
'maximum': 900.0,
'minimum': 100.0,
'name': 'weight',
'tag': 'wght'},
{'default': 8.0,
'hidden': False,
'labelNames': {'en': 'Optical Size'},
'map': [],
'maximum': 72.0,
'minimum': 8.0,
'name': 'optical size',
'tag': 'opsz'}]
INFO:fontTools.varLib:Internal master locations:
[{'optical size': 8.0, 'weight': 900.0},
{'optical size': 72.0, 'weight': 900.0},
{'optical size': 72.0, 'weight': 400.0},
{'optical size': 8.0, 'weight': 400.0},
{'optical size': 8.0, 'weight': 100.0},
{'optical size': 72.0, 'weight': 100.0}]
INFO:fontTools.varLib:Internal axis supports:
{'optical size': [8.0, 8.0, 72.0], 'weight': [100.0, 400.0, 900.0]}
INFO:fontTools.varLib:Normalized master locations:
[{'optical size': 0.0, 'weight': 1.0},
{'optical size': 1.0, 'weight': 1.0},
{'optical size': 1.0, 'weight': 0.0},
{'optical size': 0.0, 'weight': 0.0},
{'optical size': 0.0, 'weight': -1.0},
{'optical size': 1.0, 'weight': -1.0}]
INFO:fontTools.varLib:Index of base master: 3
INFO:fontTools.varLib:Building variable font
INFO:fontTools.varLib:Loading master fonts
INFO:fontTools.varLib:Generating fvar
INFO:fontTools.varLib:Generating avar
INFO:fontTools.varLib:No need for avar
INFO:fontTools.varLib:Building variations tables
INFO:fontTools.varLib:Generating MVAR
INFO:fontTools.varLib: hdsc: OS/2.sTypoDescender [-520, -520, -533, -533, -540, -540]
INFO:fontTools.varLib: hcld: OS/2.usWinDescent [918, 918, 918, 918, 918, 938]
INFO:fontTools.varLib:Generating HVAR
INFO:fontTools.varLib:Merging OpenType Layout tables
ERROR:root:In 'KumbhSans_Var_35.designspace': Generating fonts from Designspace failed: 'str' object has no attribute 'append'
Traceback (most recent call last):
File "e:\76\googlefonts\env\lib\site-packages\fontTools\varLib\merger.py", line 93, in mergeObjects
mergerFunc(self, value, values)
File "e:\76\googlefonts\env\lib\site-packages\fontTools\varLib\merger.py", line 159, in merge
raise ShouldBeConstant(self, expected=allValues[0], got=lst, stack="."+k)
fontTools.varLib.errors.ShouldBeConstant:During handling of the above exception, another exception occurred:
Traceback (most recent call last):
File "e:\76\googlefonts\env\lib\site-packages\fontmake\font_project.py", line 960, in run_from_designspace
self._run_from_designspace_interpolatable(
File "e:\76\googlefonts\env\lib\site-packages\fontmake\font_project.py", line 1040, in _run_from_designspace_interpolatable
self.build_variable_font(
File "e:\76\googlefonts\env\lib\site-packages\fontmake\font_project.py", line 331, in build_variable_font
font = ufo2ft.compileVariableTTF(
File "e:\76\googlefonts\env\lib\site-packages\ufo2ft\__init__.py", line 648, in compileVariableTTF
varfont = varLib.build(
File "e:\76\googlefonts\env\lib\site-packages\fontTools\varLib\__init__.py", line 926, in build
_merge_OTL(vf, model, master_fonts, axisTags)
File "e:\76\googlefonts\env\lib\site-packages\fontTools\varLib\__init__.py", line 619, in _merge_OTL
merger.mergeTables(font, master_fonts, ['GSUB', 'GDEF', 'GPOS'])
File "e:\76\googlefonts\env\lib\site-packages\fontTools\varLib\merger.py", line 130, in mergeTables
self.mergeThings(font[tag], [m[tag] if tag in m else None
File "e:\76\googlefonts\env\lib\site-packages\fontTools\varLib\merger.py", line 1023, in mergeThings
super(VariationMerger, self).mergeThings(out, lst)
File "e:\76\googlefonts\env\lib\site-packages\fontTools\varLib\merger.py", line 118, in mergeThings
self.mergeObjects(out, lst)
File "e:\76\googlefonts\env\lib\site-packages\fontTools\varLib\merger.py", line 93, in mergeObjects
mergerFunc(self, value, values)
File "e:\76\googlefonts\env\lib\site-packages\fontTools\varLib\merger.py", line 1023, in mergeThings
super(VariationMerger, self).mergeThings(out, lst)
File "e:\76\googlefonts\env\lib\site-packages\fontTools\varLib\merger.py", line 118, in mergeThings
self.mergeObjects(out, lst)
File "e:\76\googlefonts\env\lib\site-packages\fontTools\varLib\merger.py", line 95, in mergeObjects
e.stack.append('.'+key)
AttributeError: 'str' object has no attribute 'append'The above exception was the direct cause of the following exception:
Traceback (most recent call last):
File "e:\76\googlefonts\env\lib\site-packages\fontmake\__main__.py", line 501, in main
project.run_from_designspace(designspace_path, **args)
File "e:\76\googlefonts\env\lib\site-packages\fontmake\font_project.py", line 974, in run_from_designspace
raise FontmakeError(
fontmake.errors.FontmakeError: In 'KumbhSans_Var_35.designspace': Generating fonts from Designspace failed: 'str' object has no attribute 'append'
All glyphs are checked for equal number of nodes and compatibility.
Each glyph works fine in variations when checked in Fontlab.
While exporting the DesignSpace + UFO from Fontlab, I have tried with different settings like enabling/disabling mark/mkmk code. Toggling "remove overlaps, nodes at extreme, countour direction, cleanup, etc.".
Thanks in advance for any help or suggestion.
Contributor guide
Assessment
This issue has not been assessed yet.