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) | |