Encontrei uma biblioteca python, fonttools ( pypi ), que pode ser usada para fazer isso com um pouco de script python.
Aqui está um script simples que lista todas as fontes que especificaram o glifo:
#!/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)
O primeiro argumento é o ponto de código (decimal ou hexa com 0x) e o restante são os arquivos de fonte para procurar.
Eu não me incomodei em tentar fazê-lo funcionar para .ttc
arquivos (requer algum parâmetro extra em algum lugar).
Nota: Tentei pela primeira vez a ferramenta otfinfo, mas só obtive caracteres de plano multilíngue básico (<= U + FFFF). O script python encontra caracteres de plano estendidos OK.
-u
opção não aparece--help
, mas ainda parece existir. Entretanto (pelo menos na versão Debian 2.105), parece listar apenas o plano básico (até U + FFFF). A-g
opção conhece os planos estendidos, mas isso não funciona para todas as fontes.