import sys, os
def ufoGlyphOrderSetter(existingOrder, newOrder):
    outOrder=[]
    for glyphName in newOrder:
        if glyphName not in existingOrder:
            outOrder.append(glyphName)
    return outOrder

arguments=sys.argv
fontList=arguments[2:]

print "Merging fonts..."
print os.getcwd()
new_ufo = Font()
new_ufo = Font()
new_ufo._get_lib()
new_ufo._lib["public.glyphOrder"]=[]
new_ufo._ufoFormatVersion=2

for font in fontList:
    source= Font(font)
    if source.kerning._dataOnDisk is not None:
        pair_list=source.kerning.keys()
        for pair in pair_list:
            new_ufo.kerning[pair]=source.kerning[pair]
    glyph_name_list=ufoGlyphOrderSetter(new_ufo.keys(), source.keys())
    for glyph_name in glyph_name_list:
        new_ufo._lib["public.glyphOrder"].append(glyph_name)
        glyph = source[glyph_name]
        print glyph_name,
        new_ufo._glyphSet._insertGlyph(glyph)
Beispiel #2
0
def ufoGlyphOrderSetter(existingOrder, newOrder):
    outOrder = []
    for glyphName in newOrder:
        if glyphName not in existingOrder:
            outOrder.append(glyphName)
    return outOrder


arguments = sys.argv
fontList = arguments[2:]

print "Merging fonts..."
print os.getcwd()
new_ufo = Font()
new_ufo = Font(fontList[0])
new_ufo._get_lib()
new_ufo._lib["public.glyphOrder"] = []

for font in fontList[1:]:
    source = Font(font)
    if source.kerning._dataOnDisk is not None:
        pair_list = source.kerning.keys()
        for pair in pair_list:
            new_ufo.kerning[pair] = source.kerning[pair]
    glyph_name_list = ufoGlyphOrderSetter(new_ufo.keys(), source.keys())
    for glyph_name in glyph_name_list:
        new_ufo._lib["public.glyphOrder"].append(glyph_name)
        glyph = source[glyph_name]
        print glyph_name,
        new_ufo._glyphSet._insertGlyph(glyph)