1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16
import gc class GlyphCache: def __init__(self): self._glyphs = {} def get_glyph(self, code_point): if code_point in self._glyphs: return self._glyphs[code_point] s = set() s.add(code_point) self._glyphs[code_point] = None self.load_glyphs(s) gc.collect() return self._glyphs[code_point]