Как узнать название шрифта, используемого для отображения определенного текста на экране?

Я хочу что-то, что работает на моем компьютере, которое каким-то образом опрашивает X и сообщает мне точно шрифт, а не предположение.

5
задан 22 September 2010 в 00:31

2 ответа

Большой ресурс для идентификации шрифтов находится здесь:

http://new.myfonts.com/WhatTheFont/

0
ответ дан 22 September 2010 в 00:31

Я не думаю, что есть общее решение. После визуализации текста нет никаких причин, по которым какой-либо компонент системы мог бы хранить информацию о том, каким шрифтом он был отрисован. Так что вам придется как-то смотреть, когда программа отображает текст. В любом случае, как получить информацию, зависит от движка рендеринга.

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

Традиционные программы Unix отображают текст с использованием растровых шрифтов, управляемых X-сервером. Затем вы могли видеть, какой шрифт использовался для визуализации того или иного текста, следя за диалогом протокола X и наблюдая за OpenFont, ImageText и несколькими другими сообщениями. У меня нет готовых инструментов для использования.

Если вас интересует только конкретное приложение, возможно, существует лучший способ, специфичный для этого приложения.

0
ответ дан 22 September 2010 в 00:31

Другие вопросы по тегам:

Похожие вопросы: