Я хочу что-то, что работает на моем компьютере, которое каким-то образом опрашивает X и сообщает мне точно шрифт, а не предположение.
Большой ресурс для идентификации шрифтов находится здесь:
Я не думаю, что есть общее решение. После визуализации текста нет никаких причин, по которым какой-либо компонент системы мог бы хранить информацию о том, каким шрифтом он был отрисован. Так что вам придется как-то смотреть, когда программа отображает текст. В любом случае, как получить информацию, зависит от движка рендеринга.
Большинство программ визуализируются через библиотеку fontconfig. Если вы запустите программу, использующую fontconfig, с переменной окружения FC_DEBUG
, для которой установлено подходящее значение, она покажет некоторую информацию о загружаемых шрифтах, но не то, какой шрифт используется для визуализации того или иного текста. Тем не менее, попробуйте запустить FC_DEBUG=2053 myprogram
. См. /usr/share/doc/fontconfig/fontconfig-user.txt.gz
значение $FC_DEBUG
.
Традиционные программы Unix отображают текст с использованием растровых шрифтов, управляемых X-сервером. Затем вы могли видеть, какой шрифт использовался для визуализации того или иного текста, следя за диалогом протокола X и наблюдая за OpenFont
, ImageText
и несколькими другими сообщениями. У меня нет готовых инструментов для использования.
Если вас интересует только конкретное приложение, возможно, существует лучший способ, специфичный для этого приложения.