Как определить, является ли шрифт моноширинным с использованием GTK и Pango?
У меня есть PangoFontDescription
и я хочу знать, описывает ли он моноширинный шрифт.
Я видел функцию pango_font_family_is_monospace()
в документации Pango API, но после нескольких часов недоумения мне все еще не ясно, каковы отношения между PangoFontFamily
, PangoFontMap
, PangoFont
, PangoFontset
, PangoContext
, а также PangoFontDescription
и нужно ли мне это или все из них, чтобы достичь того, чего я хочу. До сих пор, PangoFontDescription
это единственная часть Pango, которую мне нужно было использовать, поскольку GTK удается абстрагироваться от всего остального.
Может ли кто-нибудь, кто сделал это раньше, помочь мне?
1 ответ
Ты можешь использовать pango_font_description_get_family()
и после этого звонка pango_font_family_is_monospace()
на результат.
РЕДАКТИРОВАТЬ:
поскольку pango_font_description_get_family()
возвращает только имя, которое вы можете сделать это: вызов pango_context_list_families()
и найдите семейный объект с таким именем. После этого позвоните pango_font_family_is_monospace()
на найденный объект. Не уверен, что делать, если не найдено семейного объекта с таким именем.