def execute_interpolated_single(self, glyph): if not glyph: raise Exception('no glyph defined `execute_interpolated_single`') masters = self.project.get_ordered_masters() idmasters = map(lambda x: x.id, masters) primary_master = masters[0] _glyphs = Glyph.filter(name=glyph.name) _glyphs = _glyphs.filter(Glyph.master_id.in_(idmasters)) self.interpolated_metafont_generate(masters, *_glyphs, interpolated=True) self.write_glyph_list(primary_master, glyph.name, interpolated=True) return self._execute(primary_master, interpolated=True)
def execute_interpolated_bulk(self): """ Run metapost for all glyphs with mf files containing points from all project masters. """ masters = self.project.get_ordered_masters() idmasters = map(lambda x: x.id, masters) primary_master = masters[0] for glyph in primary_master.get_glyphs(): _glyphs = Glyph.filter(name=glyph.name) _glyphs = _glyphs.filter(Glyph.master_id.in_(idmasters)) self.interpolated_metafont_generate(masters, *_glyphs, interpolated=True) self.write_glyph_list(primary_master, interpolated=True) return self._execute(primary_master, interpolated=True)