def find_area_diffs(self, stats=None):

        self.build_names()

        glyph_sets =[f.getGlyphSet() for f in self.fonts]
        glyph_set_a, glyph_set_b = glyph_sets
        pen_a, pen_b = [GlyphAreaPen(glyph_set) for glyph_set in glyph_sets]

        mismatched = {}
        for name in self.names:
            glyph_set_a[name].draw(pen_a)
            area_a = pen_a.unload()
            glyph_set_b[name].draw(pen_b)
            area_b = pen_b.unload()
            if area_a != area_b:
                mismatched[name] = (area_a, area_b)

        report = self.report
        report.append('%d differences in glyph areas' % len(mismatched))
        mismatched = self._sorted_by(
            mismatched.items(),
            self._calc_ratio if self.ratio_diffs else self._calc_diff)
        for diff, name, (area1, area2) in mismatched[:self.out_lines]:
            report.append('%s: %s vs %s' % (name, area1, area2))
            if stats is not None:
                stats.append((diff, name, area1, area2))
        report.append('')
generated source for method cancelMktData
dataset/ETHPy150Open googlei18n/nototools/nototools/shape_diff.py/ShapeDiffFinder.find_area_diffs--crossover with--dataset/ETHPy150Open CarterBain/Medici/ib/ext/EClientSocket.py/EClientSocket.cancelMktData