12345678910111213141516171819202122232425262728293031 |
- import os
- import fontforge
- # svg2ttf library does not support fill-rule="evenodd" so after converting icons to outlineStroke we fix path directions to work with "nonzero"
- # more: https://github.com/tabler/tabler-icons/issues/13 - thanks for awesome suggestions in the issue
- print ("Running fontforge to fix svg outline directions!")
- def files(path):
- for file in os.listdir(path):
- if os.path.isfile(os.path.join(path, file)):
- yield file
- # refer to https://fontforge.org/docs/scripting/python/fontforge.html for documentation
- # inspiration from https://github.com/FontCustom/fontcustom/blob/master/lib/fontcustom/scripts/generate.py
- font = fontforge.font()
- for file in files("./icons-outlined"):
- print (f"Correcting outline for {file}")
- glyph = font.createChar(123, file)
- glyph.importOutlines("./icons-outlined/" + file)
- glyph.round()
- glyph.simplify()
- glyph.simplify()
- glyph.correctDirection()
- glyph.export("./icons-outlined/" + file)
- glyph.clear()
- print ("Finished fixing svg outline directions!")
|