xref: /aosp_15_r20/frameworks/base/tools/fonts/update_font_metadata.py (revision d57664e9bc4670b3ecf6748a746a57c557b6bc9e)
1#!/usr/bin/env python
2
3import argparse
4
5from fontTools import ttLib
6
7
8def update_font_revision(font, revisionSpec):
9    if revisionSpec.startswith('+'):
10      font['head'].fontRevision += float(revisionSpec[1:])
11    else:
12      font['head'].fontRevision = float(revisionSpec)
13
14
15def main():
16    args_parser = argparse.ArgumentParser(description='Update font file metadata')
17    args_parser.add_argument('--input', help='Input otf/ttf font file.')
18    args_parser.add_argument('--output', help='Output file for updated font file.')
19    args_parser.add_argument('--revision', help='Updated font revision. Use + to update revision based on the current revision')
20    args = args_parser.parse_args()
21
22    font = ttLib.TTFont(args.input, recalcTimestamp=False)
23    update_font_revision(font, args.revision)
24    font.save(args.output)
25
26if __name__ == "__main__":
27    main()
28