def trace_path(self, out_glyph): from mojo.roboFont import RGlyph tmp = RGlyph() p = tmp.getPen() first = True for path in self.path: if first: first = False else: p.closePath() out_glyph.appendGlyph(tmp) tmp.clear() p.moveTo(self.round_pt(path[0][0])) for segment in path[1:]: if len(segment) == 1: p.lineTo(self.round_pt(segment[0])) elif len(segment) == 3: p.curveTo( self.round_pt(segment[0]), self.round_pt(segment[1]), self.round_pt(segment[2]), ) else: print("Unknown segment type:", segment) p.closePath() # tmp.correctDirection() out_glyph.appendGlyph(tmp) # out_glyph.removeOverlap() # out_glyph.removeOverlap() out_glyph.update()