1*e1fe3e4aSElliott Hughesimport sys 2*e1fe3e4aSElliott Hughesfrom fontTools.ttx import makeOutputFileName 3*e1fe3e4aSElliott Hughesfrom fontTools.ttLib import TTFont 4*e1fe3e4aSElliott Hughes 5*e1fe3e4aSElliott Hughes 6*e1fe3e4aSElliott Hughesdef main(args=None): 7*e1fe3e4aSElliott Hughes if args is None: 8*e1fe3e4aSElliott Hughes args = sys.argv[1:] 9*e1fe3e4aSElliott Hughes 10*e1fe3e4aSElliott Hughes if len(args) < 1: 11*e1fe3e4aSElliott Hughes print( 12*e1fe3e4aSElliott Hughes "usage: dump_woff_metadata.py " "INPUT.woff [OUTPUT.xml]", file=sys.stderr 13*e1fe3e4aSElliott Hughes ) 14*e1fe3e4aSElliott Hughes return 1 15*e1fe3e4aSElliott Hughes 16*e1fe3e4aSElliott Hughes infile = args[0] 17*e1fe3e4aSElliott Hughes if len(args) > 1: 18*e1fe3e4aSElliott Hughes outfile = args[1] 19*e1fe3e4aSElliott Hughes else: 20*e1fe3e4aSElliott Hughes outfile = makeOutputFileName(infile, None, ".xml") 21*e1fe3e4aSElliott Hughes 22*e1fe3e4aSElliott Hughes font = TTFont(infile) 23*e1fe3e4aSElliott Hughes 24*e1fe3e4aSElliott Hughes if not font.flavorData or not font.flavorData.metaData: 25*e1fe3e4aSElliott Hughes print("No WOFF metadata") 26*e1fe3e4aSElliott Hughes return 1 27*e1fe3e4aSElliott Hughes 28*e1fe3e4aSElliott Hughes with open(outfile, "wb") as f: 29*e1fe3e4aSElliott Hughes f.write(font.flavorData.metaData) 30*e1fe3e4aSElliott Hughes 31*e1fe3e4aSElliott Hughes 32*e1fe3e4aSElliott Hughesif __name__ == "__main__": 33*e1fe3e4aSElliott Hughes sys.exit(main()) 34