"""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()