Ejemplo n.º 1
0
def put_font_all_glyphs(master, glyph=None, preload=False, force_update=False):
    gliflist = extract_gliflist_from_ufo(master, glyph=glyph,
                                         extract_first=preload)
    fontpath = op.join(master.get_ufo_path(), 'glyphs')

    glyphs = []
    for ch1 in gliflist:
        glyphName, ext = buildfname(ch1)
        if not glyphName or glyphName.startswith('.') or ext not in ["glif"]:
            continue

        if force_update:
            glyph_obj = Glyph.get(name=glyphName, master_id=master.id)
            if glyph_obj:
                GlyphPointParam.filter(glyph_id=glyph_obj.id).delete()
                GlyphPoint.filter(glyph_id=glyph_obj.id).delete()
                Glyph.delete(glyph_obj)

        glif = etree.parse(op.join(fontpath, ch1))
        newglyph_obj = create_glyph(glif, master)
        if newglyph_obj:
            glyphs.append(newglyph_obj.name)

    try:
        return glyphs[0]
    except IndexError:
        return
Ejemplo n.º 2
0
def put_font_all_glyphs(master, glyph=None, preload=False, force_update=False):
    gliflist = extract_gliflist_from_ufo(master,
                                         glyph=glyph,
                                         extract_first=preload)
    fontpath = op.join(master.get_ufo_path(), 'glyphs')

    glyphs = []
    for ch1 in gliflist:
        glyphName, ext = buildfname(ch1)
        if not glyphName or glyphName.startswith('.') or ext not in ["glif"]:
            continue

        if force_update:
            glyph_obj = Glyph.get(name=glyphName, master_id=master.id)
            if glyph_obj:
                GlyphPointParam.filter(glyph_id=glyph_obj.id).delete()
                GlyphPoint.filter(glyph_id=glyph_obj.id).delete()
                Glyph.delete(glyph_obj)

        glif = etree.parse(op.join(fontpath, ch1))
        newglyph_obj = create_glyph(glif, master)
        if newglyph_obj:
            glyphs.append(newglyph_obj.name)

    try:
        return glyphs[0]
    except IndexError:
        return
Ejemplo n.º 3
0
    def write_glyph_list(self, master, glyphname=None, interpolated=False):
        fontdirectory = master.get_fonts_directory()

        ifile = open(op.join(fontdirectory, "glyphlist.mf"), "w")

        glyphsdir = "metaglyphs" if interpolated else "glyphs"

        dirnamep1 = op.join(fontdirectory, glyphsdir)

        charlist1 = [f for f in os.listdir(dirnamep1)]
        if glyphname:
            charlist1 = filter(lambda f: f == '%s.mf' % glyphname, charlist1)

        for ch1 in charlist1:
            fnb, ext = buildfname(ch1)
            if ext in ["mf"]:
                ifile.write("input %s/%s\n" % (glyphsdir, ch1))
        ifile.close()
Ejemplo n.º 4
0
    def write_glyph_list(self, master, glyphname=None, interpolated=False):
        fontdirectory = master.get_fonts_directory()

        ifile = open(op.join(fontdirectory, "glyphlist.mf"), "w")

        glyphsdir = "metaglyphs" if interpolated else "glyphs"

        dirnamep1 = op.join(fontdirectory, glyphsdir)

        charlist1 = [f for f in os.listdir(dirnamep1)]
        if glyphname:
            charlist1 = filter(lambda f: f == '%s.mf' % glyphname, charlist1)

        for ch1 in charlist1:
            fnb, ext = buildfname(ch1)
            if ext in ["mf"]:
                ifile.write("input %s/%s\n" % (glyphsdir, ch1))
        ifile.close()