don't try to make variable fonts when source only has one master
#420 opened on Apr 21, 2018
Repository metrics
- Stars
- (884 stars)
- PR merge metrics
- (No merged PRs in 30d)
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')