googlefonts / googlefonts/fontmake
don't try to make variable fonts when source only has one master
- Dominant language
- Python
- Stars
- 888
- Forks
- 97
- Avg merge
- 4d 52m
- Merged PRs (30d)
- 1
Description
File "/Users/marekj/release/noto-source/env/lib/python2.7/site-packages/fontTools/varLib/merger.py", line 809, in merge
assert self.Format == 1
AssertionError: ('Anchor', '.EntryAnchor', 'EntryExitRecord', '[19]', 'list', '.EntryExitRecord', 'CursivePos', '[0]', 'Lookup', '[18]', 'list', '.Lookup', 'LookupList', '.LookupList', 'GPOS', '.table', 'table_G_P_O_S_')
while compiling https://github.com/googlei18n/noto-source/blob/master/src/NotoSansNewa/NotoSansNewa.plist
is it source or code or my setup issue?
============= src/NotoSansOldPermic/NotoSansOldPermic.plist ==============
INFO:fontmake.font_project:Building master UFOs and designspace from Glyphs source
INFO:glyphsLib.parser:Parsing .glyphs file
INFO:glyphsLib:Loading to UFOs
INFO:glyphsLib.util:Writing master_ufo/NotoSansOldPermic-Regular.ufo
INFO:fontmake.font_project:Building OTFs
INFO:fontmake.font_project:Decomposing glyphs for NotoSansOldPermic-Regular
INFO:fontmake.font_project:Removing overlaps for NotoSansOldPermic-Regular
INFO:fontmake.font_project:Saving OTF for NotoSansOldPermic-Regular
INFO:fontmake.font_project:Building TTFs
INFO:fontmake.font_project:Decomposing glyphs for NotoSansOldPermic-Regular
INFO:fontmake.font_project:Removing overlaps for NotoSansOldPermic-Regular
INFO:fontmake.font_project:Converting curves for NotoSansOldPermic-Regular
INFO:cu2qu.ufo:New spline lengths: 1: 22, 2: 225, 3: 26, 4: 3, 5: 1
INFO:fontmake.font_project:Saving TTF for NotoSansOldPermic-Regular
INFO:fontmake.font_project:Building master UFOs and designspace from Glyphs source
INFO:glyphsLib.parser:Parsing .glyphs file
INFO:glyphsLib:Loading to UFOs
INFO:glyphsLib.util:Writing master_ufo/NotoSansOldPermic-Regular.ufo
INFO:fontmake.font_project:Interpolating master UFOs from designspace
INFO:mutatorMath:Reading master_ufo/NotoSansOldPermic-Regular.designspace
INFO:mutatorMath: Generating instance NotoSansOldPermic-Regular.ufo
INFO:fontmake.font_project:Building OTFs
INFO:fontmake.font_project:Decomposing glyphs for NotoSansOldPermic-Regular
INFO:fontmake.font_project:Removing overlaps for NotoSansOldPermic-Regular
INFO:fontmake.font_project:Saving OTF for NotoSansOldPermic-Regular
INFO:fontTools.varLib:Axes:
OrderedDict([('weight', {'map': {400.0: 90.0}, 'name': 'weight', 'default': 400.0, 'tag': 'wght', 'maximum': 400.0, 'minimum': 400.0, 'labelname': {'en': 'Weight'}}), ('width', {'map': {100.0: 100.0}, 'name': 'width', 'default': 100.0, 'tag': 'wdth', 'maximum': 100.0, 'minimum': 100.0, 'labelname': {'en': 'Width'}}), ('custom', {'map': {0.0: 0.0}, 'name': 'custom', 'default': 0.0, 'tag': 'XXXX', 'maximum': 0.0, 'minimum': 0.0, 'labelname': {'en': 'Custom'}})])
INFO:fontTools.varLib:Internal master locations:
[{'custom': 0.0, 'weight': 90.0, 'width': 100.0}]
INFO:fontTools.varLib:Internal axis supports:
{'custom': [0.0, 0.0, 0.0],
'weight': [90.0, 90.0, 90.0],
'width': [100.0, 100.0, 100.0]}
INFO:fontTools.varLib:Normalized master locations:
[{'custom': 0.0, 'weight': 0.0, 'width': 0.0}]
INFO:fontTools.varLib:Index of base master: 0
INFO:fontTools.varLib.interpolate_layout:Building interpolated font
INFO:fontTools.varLib.interpolate_layout:Loading master fonts
INFO:fontTools.varLib.interpolate_layout:Location: {'custom': 0.0, 'weight': 90.0, 'width': 100.0}
INFO:fontTools.varLib.interpolate_layout:Internal location: {'custom': 0.0, 'weight': 90.0, 'width': 100.0}
INFO:fontTools.varLib.interpolate_layout:Normalized location: {'custom': 0.0, 'weight': 0.0, 'width': 0.0}
INFO:fontTools.varLib.interpolate_layout:Building interpolated tables
INFO:fontmake.font_project:Building TTFs
INFO:fontmake.font_project:Decomposing glyphs for NotoSansOldPermic-Regular
INFO:fontmake.font_project:Removing overlaps for NotoSansOldPermic-Regular
INFO:fontmake.font_project:Converting curves for NotoSansOldPermic-Regular
INFO:cu2qu.ufo:New spline lengths: 1: 22, 2: 225, 3: 26, 4: 3, 5: 1
INFO:fontmake.font_project:Saving TTF for NotoSansOldPermic-Regular
INFO:fontTools.varLib:Axes:
OrderedDict([('weight', {'map': {400.0: 90.0}, 'name': 'weight', 'default': 400.0, 'tag': 'wght', 'maximum': 400.0, 'minimum': 400.0, 'labelname': {'en': 'Weight'}}), ('width', {'map': {100.0: 100.0}, 'name': 'width', 'default': 100.0, 'tag': 'wdth', 'maximum': 100.0, 'minimum': 100.0, 'labelname': {'en': 'Width'}}), ('custom', {'map': {0.0: 0.0}, 'name': 'custom', 'default': 0.0, 'tag': 'XXXX', 'maximum': 0.0, 'minimum': 0.0, 'labelname': {'en': 'Custom'}})])
INFO:fontTools.varLib:Internal master locations:
[{'custom': 0.0, 'weight': 90.0, 'width': 100.0}]
INFO:fontTools.varLib:Internal axis supports:
{'custom': [0.0, 0.0, 0.0],
'weight': [90.0, 90.0, 90.0],
'width': [100.0, 100.0, 100.0]}
INFO:fontTools.varLib:Normalized master locations:
[{'custom': 0.0, 'weight': 0.0, 'width': 0.0}]
INFO:fontTools.varLib:Index of base master: 0
INFO:fontTools.varLib.interpolate_layout:Building interpolated font
INFO:fontTools.varLib.interpolate_layout:Loading master fonts
INFO:fontTools.varLib.interpolate_layout:Location: {'custom': 0.0, 'weight': 90.0, 'width': 100.0}
INFO:fontTools.varLib.interpolate_layout:Internal location: {'custom': 0.0, 'weight': 90.0, 'width': 100.0}
INFO:fontTools.varLib.interpolate_layout:Normalized location: {'custom': 0.0, 'weight': 0.0, 'width': 0.0}
INFO:fontmake.font_project:Building master UFOs and designspace from Glyphs source
INFO:glyphsLib.parser:Parsing .glyphs file
INFO:glyphsLib:Loading to UFOs
INFO:glyphsLib.util:Writing master_ufo/NotoSansNewa-Regular.ufo
INFO:fontmake.font_project:Building OTFs
INFO:fontmake.font_project:Decomposing glyphs for NotoSansNewa-Regular
INFO:fontmake.font_project:Removing overlaps for NotoSansNewa-Regular
INFO:fontmake.font_project:Saving OTF for NotoSansNewa-Regular
INFO:fontmake.font_project:Building TTFs
INFO:fontmake.font_project:Decomposing glyphs for NotoSansNewa-Regular
INFO:fontmake.font_project:Removing overlaps for NotoSansNewa-Regular
INFO:fontmake.font_project:Converting curves for NotoSansNewa-Regular
INFO:cu2qu.ufo:New spline lengths: 1: 711, 2: 3607, 3: 845, 4: 167, 5: 30, 6: 76
INFO:fontmake.font_project:Saving TTF for NotoSansNewa-Regular
INFO:fontmake.font_project:Building master UFOs and designspace from Glyphs source
INFO:glyphsLib.parser:Parsing .glyphs file
INFO:glyphsLib:Loading to UFOs
INFO:glyphsLib.util:Writing master_ufo/NotoSansNewa-Regular.ufo
INFO:fontmake.font_project:Interpolating master UFOs from designspace
INFO:mutatorMath:Reading master_ufo/NotoSansNewa-Regular.designspace
INFO:mutatorMath: Generating instance NotoSansNewa-Regular.ufo
INFO:fontmake.font_project:Building OTFs
INFO:fontmake.font_project:Decomposing glyphs for NotoSansNewa-Regular
INFO:fontmake.font_project:Removing overlaps for NotoSansNewa-Regular
INFO:fontmake.font_project:Saving OTF for NotoSansNewa-Regular
INFO:fontTools.varLib:Axes:
OrderedDict([('weight', {'map': {400.0: 100.0}, 'name': 'weight', 'default': 400.0, 'tag': 'wght', 'maximum': 400.0, 'minimum': 400.0, 'labelname': {'en': 'Weight'}})
, ('width', {'map': {100.0: 100.0}, 'name': 'width', 'default': 100.0, 'tag': 'wdth', 'maximum': 100.0, 'minimum': 100.0, 'labelname': {'en': 'Width'}}), ('custom', {
'map': {0.0: 0.0}, 'name': 'custom', 'default': 0.0, 'tag': 'XXXX', 'maximum': 0.0, 'minimum': 0.0, 'labelname': {'en': 'Custom'}})])
INFO:fontTools.varLib:Internal master locations:
[{'custom': 0.0, 'weight': 100.0, 'width': 100.0}]
INFO:fontTools.varLib:Internal axis supports:
{'custom': [0.0, 0.0, 0.0],
'weight': [100.0, 100.0, 100.0],
'width': [100.0, 100.0, 100.0]}
INFO:fontTools.varLib:Normalized master locations:
[{'custom': 0.0, 'weight': 0.0, 'width': 0.0}]
INFO:fontTools.varLib:Index of base master: 0
INFO:fontTools.varLib.interpolate_layout:Building interpolated font
INFO:fontTools.varLib.interpolate_layout:Loading master fonts
INFO:fontTools.varLib.interpolate_layout:Location: {'custom': 0.0, 'weight': 100.0, 'width': 100.0}
INFO:fontTools.varLib.interpolate_layout:Internal location: {'custom': 0.0, 'weight': 100.0, 'width': 100.0}
INFO:fontTools.varLib.interpolate_layout:Normalized location: {'custom': 0.0, 'weight': 0.0, 'width': 0.0}
INFO:fontTools.varLib.interpolate_layout:Building interpolated tables
INFO:fontmake.font_project:Building TTFs
INFO:fontmake.font_project:Decomposing glyphs for NotoSansNewa-Regular
INFO:fontmake.font_project:Removing overlaps for NotoSansNewa-Regular
INFO:fontmake.font_project:Converting curves for NotoSansNewa-Regular
INFO:cu2qu.ufo:New spline lengths: 1: 711, 2: 3607, 3: 845, 4: 167, 5: 30, 6: 76
INFO:fontmake.font_project:Saving TTF for NotoSansNewa-Regular
INFO:fontTools.varLib:Axes:
OrderedDict([('weight', {'map': {400.0: 100.0}, 'name': 'weight', 'default': 400.0, 'tag': 'wght', 'maximum': 400.0, 'minimum': 400.0, 'labelname': {'en': 'Weight'}}), ('width', {'map': {100.0: 100.0}, 'name': 'width', 'default': 100.0, 'tag': 'wdth', 'maximum': 100.0, 'minimum': 100.0, 'labelname': {'en': 'Width'}}), ('custom', {'map': {0.0: 0.0}, 'name': 'custom', 'default': 0.0, 'tag': 'XXXX', 'maximum': 0.0, 'minimum': 0.0, 'labelname': {'en': 'Custom'}})])
INFO:fontTools.varLib:Internal master locations:
[{'custom': 0.0, 'weight': 100.0, 'width': 100.0}]
INFO:fontTools.varLib:Internal axis supports:
{'custom': [0.0, 0.0, 0.0],
'weight': [100.0, 100.0, 100.0],
'width': [100.0, 100.0, 100.0]}
INFO:fontTools.varLib:Normalized master locations:
[{'custom': 0.0, 'weight': 0.0, 'width': 0.0}]
INFO:fontTools.varLib:Index of base master: 0
INFO:fontTools.varLib.interpolate_layout:Building interpolated font
INFO:fontTools.varLib.interpolate_layout:Loading master fonts
INFO:fontTools.varLib.interpolate_layout:Location: {'custom': 0.0, 'weight': 100.0, 'width': 100.0}
INFO:fontTools.varLib.interpolate_layout:Internal location: {'custom': 0.0, 'weight': 100.0, 'width': 100.0}
INFO:fontTools.varLib.interpolate_layout:Normalized location: {'custom': 0.0, 'weight': 0.0, 'width': 0.0}
INFO:fontTools.varLib.interpolate_layout:Building interpolated tables
INFO:fontmake.font_project:Building master UFOs and designspace from Glyphs source
INFO:glyphsLib.parser:Parsing .glyphs file
INFO:glyphsLib:Loading to UFOs
INFO:glyphsLib.util:Writing master_ufo/NotoSansNewa-Regular.ufo
INFO:fontmake.font_project:Building interpolation-compatible TTFs
INFO:fontmake.font_project:Converting curves compatibly
INFO:cu2qu.ufo:New spline lengths: 1: 274, 2: 3318, 3: 1107, 4: 218, 5: 42, 6: 77, 7: 1
INFO:fontmake.font_project:Saving TTF for NotoSansNewa-Regular
INFO:fontmake.font_project:Building variable font variable_ttf/NotoSansNewa-Regular-VF.ttf
INFO:fontTools.varLib:Axes:
OrderedDict([('weight', {'map': {400.0: 100.0}, 'name': 'weight', 'default': 400.0, 'tag': 'wght', 'maximum': 400.0, 'minimum': 400.0, 'labelname': {'en': 'Weight'}}), ('width', {'map': {100.0: 100.0}, 'name': 'width', 'default': 100.0, 'tag': 'wdth', 'maximum': 100.0, 'minimum': 100.0, 'labelname': {'en': 'Width'}}), ('custom', {'map': {0.0: 0.0}, 'name': 'custom', 'default': 0.0, 'tag': 'XXXX', 'maximum': 0.0, 'minimum': 0.0, 'labelname': {'en': 'Custom'}})])
INFO:fontTools.varLib:Internal master locations:
[{'custom': 0.0, 'weight': 100.0, 'width': 100.0}]
INFO:fontTools.varLib:Internal axis supports:
{'custom': [0.0, 0.0, 0.0],
'weight': [100.0, 100.0, 100.0],
'width': [100.0, 100.0, 100.0]}
INFO:fontTools.varLib:Normalized master locations:
[{'custom': 0.0, 'weight': 0.0, 'width': 0.0}]
INFO:fontTools.varLib:Index of base master: 0
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:Generating HVAR
INFO:fontTools.varLib:Merging OpenType Layout tables
Traceback (most recent call last):
File "/Users/marekj/release/noto-source/env/bin/fontmake", line 11, in
load_entry_point('fontmake==1.4.0', 'console_scripts', 'fontmake')()
File "/Users/marekj/release/noto-source/env/lib/python2.7/site-packages/fontmake/__main__.py", line 186, in main
project.run_from_glyphs(glyphs_path, **args)
File "/Users/marekj/release/noto-source/env/lib/python2.7/site-packages/fontmake/font_project.py", line 369, in run_from_glyphs
designspace_path, instance_data=instance_data, **kwargs)
File "/Users/marekj/release/noto-source/env/lib/python2.7/site-packages/fontmake/font_project.py", line 437, in run_from_designspace
interpolate_layout_from=interpolate_layout_from, **kwargs)
File "/Users/marekj/release/noto-source/env/lib/python2.7/site-packages/fontmake/font_project.py", line 496, in run_from_ufos
self.build_variable_font(designspace_path)
File "/Users/marekj/release/noto-source/env/lib/python2.7/site-packages/fontmake/font_project.py", line 220, in build_variable_font
font, _, _ = varLib.build(designspace_path, finder)
File "/Users/marekj/release/noto-source/env/lib/python2.7/site-packages/fontTools/varLib/__init__.py", line 720, in build
_merge_OTL(vf, model, master_fonts, axisTags)
File "/Users/marekj/release/noto-source/env/lib/python2.7/site-packages/fontTools/varLib/__init__.py", line 513, in _merge_OTL
merger.mergeTables(font, master_fonts, ['GPOS'])
File "/Users/marekj/release/noto-source/env/lib/python2.7/site-packages/fontTools/varLib/merger.py", line 107, in mergeTables
self.mergeThings(font[tag], [m[tag] for m in master_ttfs])
File "/Users/marekj/release/noto-source/env/lib/python2.7/site-packages/fontTools/varLib/merger.py", line 94, in mergeThings
self.mergeObjects(out, lst)
File "/Users/marekj/release/noto-source/env/lib/python2.7/site-packages/fontTools/varLib/merger.py", line 71, in mergeObjects
mergerFunc(self, value, values)
File "/Users/marekj/release/noto-source/env/lib/python2.7/site-packages/fontTools/varLib/merger.py", line 94, in mergeThings
self.mergeObjects(out, lst)
File "/Users/marekj/release/noto-source/env/lib/python2.7/site-packages/fontTools/varLib/merger.py", line 71, in mergeObjects
mergerFunc(self, value, values)
File "/Users/marekj/release/noto-source/env/lib/python2.7/site-packages/fontTools/varLib/merger.py", line 94, in mergeThings
self.mergeObjects(out, lst)
File "/Users/marekj/release/noto-source/env/lib/python2.7/site-packages/fontTools/varLib/merger.py", line 71, in mergeObjects
mergerFunc(self, value, values)
File "/Users/marekj/release/noto-source/env/lib/python2.7/site-packages/fontTools/varLib/merger.py", line 96, in mergeThings
self.mergeLists(out, lst)
File "/Users/marekj/release/noto-source/env/lib/python2.7/site-packages/fontTools/varLib/merger.py", line 81, in mergeLists
self.mergeThings(value, values)
File "/Users/marekj/release/noto-source/env/lib/python2.7/site-packages/fontTools/varLib/merger.py", line 92, in mergeThings
mergerFunc(self, out, lst)
File "/Users/marekj/release/noto-source/env/lib/python2.7/site-packages/fontTools/varLib/merger.py", line 622, in merge
merger.mergeLists(self.SubTable, subtables)
File "/Users/marekj/release/noto-source/env/lib/python2.7/site-packages/fontTools/varLib/merger.py", line 81, in mergeLists
self.mergeThings(value, values)
File "/Users/marekj/release/noto-source/env/lib/python2.7/site-packages/fontTools/varLib/merger.py", line 94, in mergeThings
self.mergeObjects(out, lst)
File "/Users/marekj/release/noto-source/env/lib/python2.7/site-packages/fontTools/varLib/merger.py", line 71, in mergeObjects
mergerFunc(self, value, values)
File "/Users/marekj/release/noto-source/env/lib/python2.7/site-packages/fontTools/varLib/merger.py", line 96, in mergeThings
self.mergeLists(out, lst)
File "/Users/marekj/release/noto-source/env/lib/python2.7/site-packages/fontTools/varLib/merger.py", line 81, in mergeLists
self.mergeThings(value, values)
File "/Users/marekj/release/noto-source/env/lib/python2.7/site-packages/fontTools/varLib/merger.py", line 94, in mergeThings
self.mergeObjects(out, lst)
File "/Users/marekj/release/noto-source/env/lib/python2.7/site-packages/fontTools/varLib/merger.py", line 71, in mergeObjects
mergerFunc(self, value, values)
File "/Users/marekj/release/noto-source/env/lib/python2.7/site-packages/fontTools/varLib/merger.py", line 92, in mergeThings
mergerFunc(self, out, lst)
File "/Users/marekj/release/noto-source/env/lib/python2.7/site-packages/fontTools/varLib/merger.py", line 809, in merge
assert self.Format == 1
AssertionError: ('Anchor', '.EntryAnchor', 'EntryExitRecord', '[19]', 'list', '.EntryExitRecord', 'CursivePos', '[0]', 'Lookup', '[18]', 'list', '.Lookup', 'LookupList', '.LookupList', 'GPOS', '.table', 'table_G_P_O_S_')
Contributor guide
Assessment
This issue has not been assessed yet.