diff options
Diffstat (limited to 'fix-outline.py')
| -rw-r--r-- | fix-outline.py | 31 | 
1 files changed, 31 insertions, 0 deletions
| diff --git a/fix-outline.py b/fix-outline.py new file mode 100644 index 00000000..2a3c6ac8 --- /dev/null +++ b/fix-outline.py @@ -0,0 +1,31 @@ +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!") | 
