Spaces:
Runtime error
Runtime error
| from argparse import RawTextHelpFormatter | |
| from fontTools.otlLib.optimize.gpos import COMPRESSION_LEVEL, compact | |
| from fontTools.ttLib import TTFont | |
| def main(args=None): | |
| """Optimize the layout tables of an existing font""" | |
| from argparse import ArgumentParser | |
| from fontTools import configLogger | |
| parser = ArgumentParser( | |
| prog="otlLib.optimize", | |
| description=main.__doc__, | |
| formatter_class=RawTextHelpFormatter, | |
| ) | |
| parser.add_argument("font") | |
| parser.add_argument( | |
| "-o", metavar="OUTPUTFILE", dest="outfile", default=None, help="output file" | |
| ) | |
| parser.add_argument( | |
| "--gpos-compression-level", | |
| help=COMPRESSION_LEVEL.help, | |
| default=COMPRESSION_LEVEL.default, | |
| choices=list(range(10)), | |
| type=int, | |
| ) | |
| logging_group = parser.add_mutually_exclusive_group(required=False) | |
| logging_group.add_argument( | |
| "-v", "--verbose", action="store_true", help="Run more verbosely." | |
| ) | |
| logging_group.add_argument( | |
| "-q", "--quiet", action="store_true", help="Turn verbosity off." | |
| ) | |
| options = parser.parse_args(args) | |
| configLogger( | |
| level=("DEBUG" if options.verbose else "ERROR" if options.quiet else "INFO") | |
| ) | |
| font = TTFont(options.font) | |
| compact(font, options.gpos_compression_level) | |
| font.save(options.outfile or options.font) | |
| if __name__ == "__main__": | |
| import sys | |
| if len(sys.argv) > 1: | |
| sys.exit(main()) | |
| import doctest | |
| sys.exit(doctest.testmod().failed) | |