def metricfix(fonts): from bakery_cli.ttfont import Font ymin = 0 ymax = 0 for f in fonts: metrics = Font(f) font_ymin, font_ymax = metrics.get_bounding() ymin = min(font_ymin, ymin) ymax = max(font_ymax, ymax) for f in fonts: metrics = Font(f) metrics.ascents.set(ymax) metrics.descents.set(ymin) metrics.linegaps.set(0) metrics.save(f + '.fix')
def apply(self, override_origin=False): from bakery_cli.ttfont import Font ymin = 0 ymax = 0 for f in self.fonts: metrics = Font(f) font_ymin, font_ymax = metrics.get_bounding() ymin = min(font_ymin, ymin) ymax = max(font_ymax, ymax) for f in self.fonts: fixer = VmetFixer(self.testcase, f) fixer.apply(ymin, ymax, override_origin=override_origin) command = "$ {0} {1}".format(Vmet.SCRIPTPATH, ' '.join(self.fonts)) logger.debug(command) import StringIO for l in StringIO.StringIO(metricview(self.fonts)): logger.debug(l)
metrics.linegaps.set(options.linegaps) metrics.ascents.hhea = options.ascents_hhea metrics.ascents.os2typo = options.ascents_typo metrics.ascents.os2win = options.ascents_win metrics.descents.hhea = options.descents_hhea metrics.descents.os2typo = options.descents_typo metrics.descents.os2win = options.descents_win metrics.linegaps.hhea = options.linegaps_hhea metrics.linegaps.os2typo = options.linegaps_typo metrics.save(f + '.fix') elif options.autofix: from bakery_cli.ttfont import Font ymin = 0 ymax = 0 for f in fonts: metrics = Font(f) font_ymin, font_ymax = metrics.get_bounding() ymin = min(font_ymin, ymin) ymax = max(font_ymax, ymax) for f in fonts: fixer = VmetFixer(None, f) fixer.apply(ymin, ymax) else: print(vmet.metricview(fonts))