From 8ad260d33d660d5aa952510ce9c5c1575d8f363a Mon Sep 17 00:00:00 2001 From: Behdad Esfahbod Date: Thu, 18 Aug 2022 07:43:28 -0600 Subject: [PATCH] [svgPathPen] Make it show in fonttools --help --- Lib/fontTools/pens/svgPathPen.py | 22 ++++++++++++++++------ 1 file changed, 16 insertions(+), 6 deletions(-) diff --git a/Lib/fontTools/pens/svgPathPen.py b/Lib/fontTools/pens/svgPathPen.py index fd473849c..adc88beb5 100644 --- a/Lib/fontTools/pens/svgPathPen.py +++ b/Lib/fontTools/pens/svgPathPen.py @@ -193,11 +193,12 @@ class SVGPathPen(BasePen): return "".join(self._commands) -if __name__ == "__main__": - import sys - if len(sys.argv) == 1: - import doctest - sys.exit(doctest.testmod().failed) +def main(args=None): + """Generate per-character SVG from font and text""" + + if args is None: + import sys + args = sys.argv[1:] from fontTools.ttLib import TTFont import argparse @@ -214,7 +215,7 @@ if __name__ == "__main__": "the name of a variation axis, followed by '=' and a number. E.g.: " "wght=700 wdth=80. The default is the location of the base master.") - options = parser.parse_args(sys.argv[1:]) + options = parser.parse_args(args) font = TTFont(options.font) text = options.text @@ -250,3 +251,12 @@ if __name__ == "__main__": print('' % (width, ascent-descent)) print(s, end='') print('') + + +if __name__ == "__main__": + import sys + if len(sys.argv) == 1: + import doctest + sys.exit(doctest.testmod().failed) + + sys.exit(main())