| #! /usr/bin/env python |
| |
| """\ |
| usage: %s [-h] [-v] [-i TrueType-input-file] XML-file [TrueType-output-file] |
| -i TrueType-input-file: specify a TT file to be merged with the XML file |
| -v verbose: messages will be written to stdout about what is being done |
| -b Don't recalc glyph boundig boxes: use the values in the XML file as-is. |
| -h help: print this message |
| """ |
| import sys, os, getopt |
| from fontTools import ttLib |
| |
| options, args = getopt.getopt(sys.argv[1:], "hvi:b") |
| |
| verbose = 0 |
| ttInFile = None |
| recalcBBoxes = 1 |
| for option, value in options: |
| if option == "-i": |
| ttInFile = value |
| elif option == "-v": |
| verbose = 1 |
| elif option == "-h": |
| print __doc__ % sys.argv[0] |
| sys.exit(0) |
| elif option == "-b": |
| recalcBBoxes = 0 |
| |
| if len(args) == 1: |
| xmlPath = args[0] |
| name, ext = os.path.splitext(xmlPath) |
| ttPath = name + '.ttf' |
| elif len(args) == 2: |
| xmlPath, ttPath = args |
| else: |
| print __doc__ % sys.argv[0] |
| sys.exit(2) |
| |
| tt = ttLib.TTFont(ttInFile, verbose=verbose) |
| tt.importXML(xmlPath) |
| tt.save(ttPath, recalcBBoxes=recalcBBoxes) |