def track_characters(self, font, s):
if isinstance(font, str):<EOL><INDENT>fname = font<EOL><DEDENT>else:<EOL><INDENT>fname = font.fname<EOL><DEDENT>realpath, stat_key = get_realpath_and_stat(fname)<EOL>used_characters = self.used_characters.setdefault(<EOL>stat_key, (realpath, set()))<EOL>used_characters[<NUM_LIT:1>].update([ord(x) for x in s])<EOL>
Keeps track of which characters are required from
        each font.