Как сказать, является ли шрифт моноспоса, используя GTK и Pango?
Вопрос
у меня есть 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()
на обнаруженном объекте. Не уверены, что делать, если семейный объект с этим именем не найден.