26 lines
659 B
Python
26 lines
659 B
Python
import sys
|
|
import defcon
|
|
|
|
|
|
# See https://github.com/rsms/inter/issues/508
|
|
# TODO: Remove when https://github.com/googlefonts/glyphsLib/issues/821 is fixed
|
|
def fix_fractional_advance_width(ufo):
|
|
for g in ufo:
|
|
w = int(round(g.width))
|
|
if str(g.width) != str(w):
|
|
# set twice to work around bug or weird behavior in defcon.
|
|
# If we don't do this, then fractional widths with .0 fraction are
|
|
# not updated to integer values.
|
|
g.width = w + 1
|
|
g.width = w
|
|
|
|
|
|
def main(argv):
|
|
ufo_file = argv[1]
|
|
ufo = defcon.Font(ufo_file)
|
|
fix_fractional_advance_width(ufo)
|
|
ufo.save(ufo_file)
|
|
|
|
|
|
if __name__ == '__main__':
|
|
main(sys.argv)
|