J'ai trouvé une bibliothèque python, fonttools ( pypi ) qui peut être utilisée pour le faire avec un peu de script python.
Voici un script simple qui répertorie toutes les polices qui ont spécifié le glyphe:
#!/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)
Le premier argument est le point de code (décimal ou hexa avec 0x) et le reste est les fichiers de police à rechercher.
Je n'ai pas pris la peine d'essayer de le faire fonctionner pour les .ttc
fichiers (cela nécessite un paramètre supplémentaire quelque part).
Remarque: J'ai d'abord essayé l'outil otfinfo, mais je n'ai obtenu que des caractères plan multilingues de base (<= U + FFFF). Le script python trouve les caractères de plan étendus OK.
-u
option n'apparaît pas dans--help
, mais semble toujours exister. Cependant (au moins dans la version Debian 2.105), il semble ne lister que le plan de base (jusqu'à U + FFFF). L'-g
option connaît les plans étendus, mais cela ne fonctionne pas pour toutes les polices.