Eu não acho que haja uma solução geral. Depois que o texto foi renderizado, não há motivo para que qualquer componente do sistema tenha mantido as informações de qual fonte foi renderizada. Então você terá que assistir de alguma forma quando o programa renderizar o texto. Em qualquer caso, como obter as informações depende do mecanismo de renderização.
A maioria dos programas é renderizada pela biblioteca fontconfig. Se você iniciar um programa que usa fontconfig com a variável de ambiente FC_DEBUG
configurada como um valor adequado, ele mostrará algumas informações sobre as fontes que estão sendo carregadas, mas não qual fonte está sendo usada para renderizar qual texto. Ainda assim, tente executar FC_DEBUG=2053 myprogram
. Veja /usr/share/doc/fontconfig/fontconfig-user.txt.gz
para o significado de $FC_DEBUG
.
Programas unix tradicionais renderizam texto usando fontes de bitmap gerenciadas pelo servidor X. Então você pode ver qual fonte foi usada para renderizar o texto, espionando a conversação do protocolo X e observando OpenFont
, ImageText
e algumas outras mensagens. Eu não tenho ferramentas prontas para usar para sugerir.
Se você estiver interessado apenas em um aplicativo específico, pode haver uma maneira melhor específica para esse aplicativo.