File: __main__.py

package info (click to toggle)
python-glyphsets 1.0.0-3
  • links: PTS, VCS
  • area: main
  • in suites: forky, sid, trixie
  • size: 3,396 kB
  • sloc: python: 973; xml: 432; sh: 11; makefile: 3
file content (45 lines) | stat: -rw-r--r-- 1,457 bytes parent folder | download
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
import argparse
from glyphsets import build_glyphsapp_filter_list, compare_glyphsets, analyze_font
from fontTools.ttLib import TTFont


def main():
    parser = argparse.ArgumentParser()

    subparsers = parser.add_subparsers(dest="command", required=True)

    # Filter List
    filter_lists_parser = subparsers.add_parser("filter-list", help="Ouput Glyphs.app filter from given glyphset(s).")
    filter_lists_parser.add_argument("glyphsets", nargs="+")
    filter_lists_parser.add_argument("--prod-names", action="store_true", default=False)
    filter_lists_parser.add_argument("-o", "--out", required=True, help="output path")

    # Compare
    compare_parser = subparsers.add_parser(
        "compare",
        help="Compare two or more glyhsets to each other; with later glyphsets being compared to the former.",
    )
    compare_parser.add_argument("glyphsets", nargs="+")

    # Analyze
    analyze_parser = subparsers.add_parser(
        "coverage",
        help="Analyze glyphsets covered by a font binary.",
    )
    analyze_parser.add_argument("font", help="Font binary to analyze")

    # PROCESS
    args = parser.parse_args()

    if args.command == "filter-list":
        build_glyphsapp_filter_list(args.glyphsets, args.out, args.prod_names)

    if args.command == "compare":
        compare_glyphsets(args.glyphsets)

    if args.command == "coverage":
        analyze_font(TTFont(args.font))


if __name__ == "__main__":
    main()