Beispiel #1
0
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()
NewUFO = NewFont()
font_source = OpenFont(fontList[0])
for glyphName in ufoGlyphOrderSetter([], font_source.keys()):
    glyph = font_source[glyphName]
    NewUFO.insertGlyph(glyph)
    print glyphName,
    NewUFO[glyphName].unicode = font_source[glyphName].unicode
NewUFO.lib=font_source.lib
NewUFO.info=font_source.info

for font in fontList[1:]:
    source= OpenFont(font)
    for glyph_name in ufoGlyphOrderSetter(NewUFO.keys(), source.keys()):
        glyph = source[glyph_name]
        print glyph_name,
        NewUFO.insertGlyph(glyph)
        NewUFO[glyphName].unicode = font_source[glyphName].unicode
    # newLib=[i for i in source.lib['public.glyphOrder'] if i not in NewUFO.lib['public.glyphOrder']]+NewUFO.lib['public.glyphOrder']
Beispiel #2
0
typeSetter.settings['showKerning'] = showKerning
typeSetter.settings['showGlyphBox'] = showGlyphBox
typeSetter.settings['showFrame'] = showFrame
typeSetter.settings['pageStamp'] = footer

start = time()

if useString:
    for string, wrapWords in text2print:
        typeSetter.set(string, wrapWords)
        
elif not useString:
    
    if mix:
        glyphSet = []
        fontKeys = thisFont.keys()
        for gl1 in glyphLists:
            for gl2 in glyphLists:
                if len(gl1) > 0 and len(gl2) > 0:
                    for gn1 in gl1:
                        if gn1 in fontKeys:
                            for gn2 in gl2:
                                if gn2 in fontKeys:
                                    glyphSet.append(gn1)
                                    glyphSet.append(gn2)
                            glyphSet.append('\n')
        typeSetter.set(glyphSet)
    elif not mix:        
        for glyphSet in glyphLists:
            typeSetter.set(glyphSet)
Beispiel #3
0
typeSetter.settings['showKerning'] = showKerning
typeSetter.settings['showGlyphBox'] = showGlyphBox
typeSetter.settings['showFrame'] = showFrame
typeSetter.settings['pageStamp'] = footer

start = time()

if useString:
    for string, wrapWords in text2print:
        typeSetter.set(string, wrapWords)

elif not useString:

    if mix:
        glyphSet = []
        fontKeys = thisFont.keys()
        for gl1 in glyphLists:
            for gl2 in glyphLists:
                if len(gl1) > 0 and len(gl2) > 0:
                    for gn1 in gl1:
                        if gn1 in fontKeys:
                            for gn2 in gl2:
                                if gn2 in fontKeys:
                                    glyphSet.append(gn1)
                                    glyphSet.append(gn2)
                            glyphSet.append('\n')
        typeSetter.set(glyphSet)
    elif not mix:
        for glyphSet in glyphLists:
            typeSetter.set(glyphSet)