Я знайшов бібліотеку python, fonttools ( pypi ), яку можна використати для цього за допомогою трохи сценаріїв python.
Ось простий скрипт, у якому перераховані всі шрифти, які вказали гліф:
#!/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)
Перший аргумент - це кодова точка (десяткова або шестигранна з 0x), а решта - файли шрифтів, які слід шукати.
Я не турбувався, намагаючись змусити його працювати з .ttc
файлами (для нього потрібен десь додатковий параметр).
Примітка. Спочатку я спробував інструмент otfinfo, але отримав лише основні багатомовні символи площини (<= U + FFFF). Сценарій python знаходить добре розширені символи площини.