aboutsummaryrefslogtreecommitdiff
path: root/Lib/fontTools/otlLib/optimize/__init__.py
diff options
context:
space:
mode:
Diffstat (limited to 'Lib/fontTools/otlLib/optimize/__init__.py')
-rw-r--r--Lib/fontTools/otlLib/optimize/__init__.py68
1 files changed, 0 insertions, 68 deletions
diff --git a/Lib/fontTools/otlLib/optimize/__init__.py b/Lib/fontTools/otlLib/optimize/__init__.py
deleted file mode 100644
index 5c007e89..00000000
--- a/Lib/fontTools/otlLib/optimize/__init__.py
+++ /dev/null
@@ -1,68 +0,0 @@
-from argparse import RawTextHelpFormatter
-from textwrap import dedent
-
-from fontTools.ttLib import TTFont
-from fontTools.otlLib.optimize.gpos import compact, GPOS_COMPACT_MODE_DEFAULT
-
-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-compact-mode",
- help=dedent(
- f"""\
- GPOS Lookup type 2 (PairPos) compaction mode:
- 0 = do not attempt to compact PairPos lookups;
- 1 to 8 = create at most 1 to 8 new subtables for each existing
- subtable, provided that it would yield a 50%% file size saving;
- 9 = create as many new subtables as needed to yield a file size saving.
- Default: {GPOS_COMPACT_MODE_DEFAULT}.
-
- This compaction aims to save file size, by splitting large class
- kerning subtables (Format 2) that contain many zero values into
- smaller and denser subtables. It's a trade-off between the overhead
- of several subtables versus the sparseness of one big subtable.
-
- See the pull request: https://github.com/fonttools/fonttools/pull/2326
- """
- ),
- default=int(GPOS_COMPACT_MODE_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)
- # TODO: switch everything to have type(mode) = int when using the Config class
- compact(font, str(options.gpos_compact_mode))
- 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)
-