Пример #1
0
    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)
Пример #2
0
    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)