maple-font
maple-font copied to clipboard
Add Google Fonts support
Fix #272
Now the glyphs font can be successfully generated by
fontmake -g .\source\MapleMono[wght].glyphs --keep-overlap -o variable
Part of log:
INFO:ufo2ft:Building variable TTF fonts: MapleMono-VF
INFO:fontTools.varLib:Axes:
[{'axisLabels': [],
'axisOrdering': None,
'default': 400,
'hidden': False,
'labelNames': {'en': 'Weight'},
'map': [(100, 100),
(200, 210),
(300, 320),
(400, 400),
(500, 490),
(600, 570),
(700, 680),
(800, 800)],
'maximum': 800,
'minimum': 100,
'name': 'Weight',
'tag': 'wght'}]
INFO:fontTools.varLib:Internal master locations:
[{'Weight': 100}, {'Weight': 400}, {'Weight': 800}]
INFO:fontTools.varLib:Internal axis supports:
{'Weight': [100, 400, 800]}
INFO:fontTools.varLib:Normalized master locations:
[{'Weight': -1.0}, {'Weight': 0.0}, {'Weight': 1.0}]
INFO:fontTools.varLib:Index of base master: 1
INFO:fontTools.varLib:Building variable font
INFO:fontTools.varLib:Loading master fonts
INFO:fontTools.varLib:Generating fvar
INFO:fontTools.varLib:Building variations tables
INFO:fontTools.varLib:Generating avar
INFO:fontTools.varLib:Generating MVAR
INFO:fontTools.varLib:Generating HVAR
INFO:fontTools.varLib:Merging OpenType Layout tables
INFO:fontTools.varLib:Generating gvar
INFO:fontTools.varLib:Merging TT hinting
INFO:ufo2ft.postProcessor:Renaming glyphs to final production names
INFO:fontmake.font_project:Saving variable_ttf\MapleMono-VF.ttf
But run with gftools builder .\source\config.yaml fails, part of logs:
E:\_env\python_3.11.7\python.exe -m gftools.builder.jobrunner cmd /c fontmake --output-path C:\Users\0x723b\AppData\Local\Temp\tmpbpnfimam -o ttf -u instance_ufos\MapleMono-Regular.ufo.json --filter ... --filter FlattenComponentsFilter --filter DecomposeTransformedComponentsFilter
Command failed:
cmd /c fontmake --output-path C:\Users\subf\AppData\Local\Temp\tmpbpnfimam -o ttf -u instance_ufos\MapleMono-Regular.ufo.json --filter ... --filter FlattenComponentsFilter --filter DecomposeTransformedComponentsFilter
fontmake: Error: In 'instance_ufos\\MapleMono-Regular.ufo.json': Reading UFO source failed: While structuring Font (1 sub-exception)
Current state: fail to save .glyphs file using glyphsLib
File "D:\font\maple-font\test.py", line 24, in update_glyph_names
font.save(output_file_path)
File "E:\_env\python_3.11.7\Lib\site-packages\glyphsLib\classes.py", line 4544, in save
w.write(self)
File "E:\_env\python_3.11.7\Lib\site-packages\glyphsLib\writer.py", line 52, in write
self.writeDict(rootObject)
File "E:\_env\python_3.11.7\Lib\site-packages\glyphsLib\writer.py", line 58, in writeDict
dictValue._serialize_to_plist(self)
File "E:\_env\python_3.11.7\Lib\site-packages\glyphsLib\classes.py", line 4411, in _serialize_to_plist
writer.writeObjectKeyValue(self, "glyphs")
File "E:\_env\python_3.11.7\Lib\site-packages\glyphsLib\writer.py", line 120, in writeObjectKeyValue
self.writeValue(value, key)
File "E:\_env\python_3.11.7\Lib\site-packages\glyphsLib\writer.py", line 144, in writeValue
self.writeArray(value)
File "E:\_env\python_3.11.7\Lib\site-packages\glyphsLib\writer.py", line 86, in writeArray
self.writeValue(value)
File "E:\_env\python_3.11.7\Lib\site-packages\glyphsLib\writer.py", line 146, in writeValue
self.writeDict(value)
File "E:\_env\python_3.11.7\Lib\site-packages\glyphsLib\writer.py", line 58, in writeDict
dictValue._serialize_to_plist(self)
File "E:\_env\python_3.11.7\Lib\site-packages\glyphsLib\classes.py", line 4117, in _serialize_to_plist
writer.writeObjectKeyValue(self, "layers", "if_true")
File "E:\_env\python_3.11.7\Lib\site-packages\glyphsLib\writer.py", line 120, in writeObjectKeyValue
self.writeValue(value, key)
File "E:\_env\python_3.11.7\Lib\site-packages\glyphsLib\writer.py", line 144, in writeValue
self.writeArray(value)
File "E:\_env\python_3.11.7\Lib\site-packages\glyphsLib\writer.py", line 86, in writeArray
self.writeValue(value)
File "E:\_env\python_3.11.7\Lib\site-packages\glyphsLib\writer.py", line 146, in writeValue
self.writeDict(value)
File "E:\_env\python_3.11.7\Lib\site-packages\glyphsLib\writer.py", line 58, in writeDict
dictValue._serialize_to_plist(self)
File "E:\_env\python_3.11.7\Lib\site-packages\glyphsLib\classes.py", line 3641, in _serialize_to_plist
writer.writeKeyValue("shapes", self._shapes)
File "E:\_env\python_3.11.7\Lib\site-packages\glyphsLib\writer.py", line 106, in writeKeyValue
self.writeValue(value, key)
File "E:\_env\python_3.11.7\Lib\site-packages\glyphsLib\writer.py", line 144, in writeValue
self.writeArray(value)
File "E:\_env\python_3.11.7\Lib\site-packages\glyphsLib\writer.py", line 86, in writeArray
self.writeValue(value)
File "E:\_env\python_3.11.7\Lib\site-packages\glyphsLib\writer.py", line 146, in writeValue
self.writeDict(value)
File "E:\_env\python_3.11.7\Lib\site-packages\glyphsLib\writer.py", line 58, in writeDict
dictValue._serialize_to_plist(self)
File "E:\_env\python_3.11.7\Lib\site-packages\glyphsLib\classes.py", line 2570, in _serialize_to_plist
writer.writeObjectKeyValue(self, "rotation", keyName="angle", default=0)
File "E:\_env\python_3.11.7\Lib\site-packages\glyphsLib\writer.py", line 110, in writeObjectKeyValue
value = getattr(d, key)
^^^^^^^^^^^^^^^
File "E:\_env\python_3.11.7\Lib\site-packages\glyphsLib\classes.py", line 2661, in rotation
self._sX, self._sY, self._R = transformStructToScaleAndRotation(
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "E:\_env\python_3.11.7\Lib\site-packages\glyphsLib\classes.py", line 288, in transformStructToScaleAndRotation
_R = _R * _sX / _sY
~~~~~~~~~^~~~~
ZeroDivisionError: float division by zero
But run with
gftools builder .\source\config.yamlfails, part of logs:E:\_env\python_3.11.7\python.exe -m gftools.builder.jobrunner cmd /c fontmake --output-path C:\Users\0x723b\AppData\Local\Temp\tmpbpnfimam -o ttf -u instance_ufos\MapleMono-Regular.ufo.json --filter ... --filter FlattenComponentsFilter --filter DecomposeTransformedComponentsFilter Command failed: cmd /c fontmake --output-path C:\Users\subf\AppData\Local\Temp\tmpbpnfimam -o ttf -u instance_ufos\MapleMono-Regular.ufo.json --filter ... --filter FlattenComponentsFilter --filter DecomposeTransformedComponentsFilter fontmake: Error: In 'instance_ufos\\MapleMono-Regular.ufo.json': Reading UFO source failed: While structuring Font (1 sub-exception)
Still same error...
I plan to resolve these errors in another PR