Ich habe eine Python-Bibliothek gefunden, fonttools ( pypi ), die verwendet werden kann, um es mit ein bisschen Python-Scripting zu tun.
Hier ist ein einfaches Skript, das alle Schriftarten auflistet, für die Glyphen angegeben wurden:
#!/usr/bin/env python3
from fontTools.ttLib import TTFont
import sys
char = int(sys.argv[1], base=0)
print("Looking for U+%X (%c)" % (char, chr(char)))
for arg in sys.argv[2:]:
try:
font = TTFont(arg)
for cmap in font['cmap'].tables:
if cmap.isUnicode():
if char in cmap.cmap:
print("Found in", arg)
break
except Exception as e:
print("Failed to read", arg)
print(e)
Das erste Argument ist Codepoint (Dezimal oder Hexa mit 0x) und der Rest sind Schriftdateien, in die gesucht werden muss.
Ich habe nicht versucht, es für .ttc
Dateien zum Laufen zu bringen (irgendwo sind zusätzliche Parameter erforderlich).
Hinweis: Ich habe zuerst das Tool otfinfo ausprobiert, aber nur grundlegende mehrsprachige Ebenenzeichen (<= U + FFFF) erhalten. Das Python-Skript findet erweiterte Ebenenzeichen in Ordnung.
-u
Option erscheint nicht in--help
, scheint aber immer noch zu existieren. Allerdings (zumindest in Debian 2.105 Build) scheint es nur die Basisebene aufzulisten (bis zu U + FFFF). Die-g
Option kennt die erweiterten Ebenen, funktioniert jedoch nicht für alle Schriftarten.