Как сказать, является ли шрифт моноспоса, используя GTK и Pango?

StackOverflow https://stackoverflow.com/questions/2708151

Вопрос

у меня есть PangoFontDescription И я хочу знать, описывает ли он моноспатический шрифт.

Я видел функцию pango_font_family_is_monospace() в документации Pango API, но после нескольких часов головоломки до сих пор не понятна, что отношения между PangoFontFamily, PangoFontMap, PangoFont, PangoFontset, PangoContext, а также PangoFontDescription И нужен ли мне любые или все это, чтобы достичь того, что я хочу. Слишком далеко, PangoFontDescription Единственная часть Pango, которую я должен был использовать, так как GTK удается абстрактным все остальным.

Может кто-нибудь, кто сделал это, прежде чем помочь мне?

Это было полезно?

Решение

Вы можете использовать pango_font_description_get_family() и после этого звонка pango_font_family_is_monospace() на результате.

РЕДАКТИРОВАТЬ:

С pango_font_description_get_family() Возвращает только имя, которое вы можете сделать: звонок pango_context_list_families() и искать семейный объект, который имеет это имя. После этого позвоните pango_font_family_is_monospace() на обнаруженном объекте. Не уверены, что делать, если семейный объект с этим именем не найден.

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top