[feaLib] add __main__.py so one can call fonttools feaLib
This is the same as Snippets/apply-feature-file.py Fixes #569
This commit is contained in:
parent
a0e74f7e69
commit
48c12bda63
42
Lib/fontTools/feaLib/__main__.py
Normal file
42
Lib/fontTools/feaLib/__main__.py
Normal file
@ -0,0 +1,42 @@
|
||||
from __future__ import print_function, division, absolute_import
|
||||
from fontTools.misc.py23 import *
|
||||
from fontTools.ttLib import TTFont
|
||||
from fontTools.feaLib.builder import addOpenTypeFeatures
|
||||
from fontTools import configLogger
|
||||
from fontTools.misc.cliTools import makeOutputFileName
|
||||
import sys
|
||||
import argparse
|
||||
import logging
|
||||
|
||||
|
||||
log = logging.getLogger("fontTools.feaLib")
|
||||
|
||||
|
||||
def main(args=None):
|
||||
parser = argparse.ArgumentParser(
|
||||
description="Use fontTools to compile OpenType feature files (*.fea).")
|
||||
parser.add_argument(
|
||||
"input_fea", metavar="FEATURES", help="Path to the feature file")
|
||||
parser.add_argument(
|
||||
"input_font", metavar="INPUT_FONT", help="Path to the input font")
|
||||
parser.add_argument(
|
||||
"-o", "--output", dest="output_font", metavar="OUTPUT_FONT",
|
||||
help="Path to the output font.")
|
||||
parser.add_argument(
|
||||
"-v", "--verbose", help="increase the logger verbosity. Multiple -v "
|
||||
"options are allowed.", action="count", default=0)
|
||||
options = parser.parse_args(args)
|
||||
|
||||
levels = ["WARNING", "INFO", "DEBUG"]
|
||||
configLogger(level=levels[min(len(levels) - 1, options.verbose)])
|
||||
|
||||
output_font = options.output_font or makeOutputFileName(options.input_font)
|
||||
log.info("Compiling features to '%s'" % (output_font))
|
||||
|
||||
font = TTFont(options.input_font)
|
||||
addOpenTypeFeatures(font, options.input_fea)
|
||||
font.save(output_font)
|
||||
|
||||
|
||||
if __name__ == '__main__':
|
||||
sys.exit(main())
|
Loading…
x
Reference in New Issue
Block a user