#!/usr/bin/python

import fontforge
import tempfile
import os
import re


font = fontforge.font()
font.fontname = "Apple410"
base = "alpha"
matcher = re.compile(r"{}_([0-9a-f][0-9a-f]).svg".format(base))

for path in os.listdir('.'):
    m = matcher.match(path)
    if m:
        idx = int(m.group(1),16)
        print "{} : {}".format(idx,path)
        # fontforge can't handle % colors, so we need to hack those out. Luckily, these are the only %
        # characters in the files, so...
        tf = tempfile.NamedTemporaryFile(suffix='.svg')
        inf = open(path)
        for c in inf.read():
            if c != '%':
                tf.write(c)
        tf.flush()
        font.createChar(idx)
        font[idx].importOutlines(tf.name)
        tf.close()
        inf.close()

print "glyph count {}".format(len(font))
#print font.createChar(0x41)
#font[0x41].importOutlines("alpha_41.svg")

font.save("Apple410-new.sfd")

