__main__.py 1.7 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172
  1. import logging
  2. log = logging.getLogger("fontTools.varLib.avar")
  3. def main(args=None):
  4. from fontTools.ttLib import TTFont
  5. from fontTools.misc.cliTools import makeOutputFileName
  6. from fontTools import configLogger
  7. import argparse
  8. import sys
  9. print(
  10. "WARNING: This script is deprecated. Use `fonttools varLib.avar.build` "
  11. "or `fonttools varLib.avar.unbuild` instead.\n",
  12. file=sys.stderr,
  13. )
  14. if args is None:
  15. args = sys.argv[1:]
  16. parser = argparse.ArgumentParser(
  17. "fonttools varLib.avar",
  18. description="Add `avar` table from designspace file to variable font.",
  19. )
  20. parser.add_argument("font", metavar="varfont.ttf", help="Variable-font file.")
  21. parser.add_argument(
  22. "designspace",
  23. metavar="family.designspace",
  24. help="Designspace file.",
  25. nargs="?",
  26. default=None,
  27. )
  28. parser.add_argument(
  29. "-o",
  30. "--output-file",
  31. type=str,
  32. help="Output font file name.",
  33. )
  34. parser.add_argument(
  35. "-v", "--verbose", action="store_true", help="Run more verbosely."
  36. )
  37. options = parser.parse_args(args)
  38. configLogger(level=("INFO" if options.verbose else "WARNING"))
  39. font = TTFont(options.font)
  40. if options.designspace is None:
  41. from .unbuild import unbuild
  42. unbuild(font)
  43. return 0
  44. from .build import build
  45. build(font, options.designspace)
  46. if options.output_file is None:
  47. outfile = makeOutputFileName(options.font, overWrite=True, suffix=".avar")
  48. else:
  49. outfile = options.output_file
  50. if outfile:
  51. log.info("Saving %s", outfile)
  52. font.save(outfile)
  53. if __name__ == "__main__":
  54. import sys
  55. sys.exit(main())