"""Prints info about emoji fonts."""

from fontTools import ttLib
from pathlib import Path
import sys


NAME_ID_VERSION = 5


def name(font, name_id):
    return ",".join(n.toUnicode() for n in font["name"].names if n.isUnicode() and n.nameID == name_id)


def main():
    font_files = sorted(p for p in (Path(__file__).parent / "fonts").iterdir() if p.suffix == ".ttf")
    max_name_len = max(len(p.name) for p in font_files)

    for font_file in font_files:
        font = ttLib.TTFont(font_file)

        font_type = []
        if "CBDT" in font:
            font_type.append("CBDT")
        if "COLR" in font:
            font_type.append("COLR")
        if "meta" in font and "Emji" in font["meta"].data:
            font_type.append("EmojiCompat")
        font_type.append(f"fontRevision:{font['head'].fontRevision:.3f}")
        font_type.append(name(font, NAME_ID_VERSION))
        font_type = ", ".join(font_type)

        print(f"{font_file.name:{max_name_len + 1}} {font_type}")


if __name__ == '__main__':
  main()