import fontforge import argparse import sys import os parser = argparse.ArgumentParser() parser.add_argument('charmap') parser.add_argument('svgdir') parser.add_argument('--fullname') parser.add_argument('--output-sfd') parser.add_argument('--output-woff') parser.add_argument('--output-ttf') args = parser.parse_args() print(args) font = fontforge.font() font.ascent = 1024 - 128 font.descent = 128 font.fullname = args.fullname f = open(args.charmap) for line in f: codepoint, msxcode = line.strip().split() codepoint = int(codepoint) msxcode = int(msxcode) glyph = font.createChar(codepoint) svgfile = "{:03d}.svg".format(msxcode) glyph.importOutlines(os.path.join(args.svgdir, svgfile)) glyph.simplify() glyph.autoHint() font.save(args.output_sfd) font.generate(args.output_woff)