class GlyphIterator(object): def __init__(self): self._cjk = CharacterLookup('T', 'Unicode') self.characterIterator = self._cjk.getDomainCharacterIterator() self.curChar = None self.glyphQueue = [] def __iter__(self): return self def next(self): while not self.glyphQueue: self.curChar = self.characterIterator.next() try: glyphs = self._cjk.getCharacterGlyphs(self.curChar) self.glyphQueue.extend(glyphs) except exception.NoInformationError: pass return '%s/%d' % (self.curChar, self.glyphQueue.pop())