xref: /aosp_15_r20/external/fonttools/Snippets/dump_woff_metadata.py (revision e1fe3e4ad2793916b15cccdc4a7da52a7e1dd0e9)
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