Come dire se un font è a spaziatura fissa usando GTK e Pango?
Domanda
Ho un PangoFontDescription
e voglio sapere se descrive un font a spaziatura fissa.
Ho visto la funzione pango_font_family_is_monospace()
nella documentazione Pango API, ma dopo diverse ore di sconcertante non è ancora chiaro per me quello che i rapporti sono tra PangoFontFamily
, PangoFontMap
, PangoFont
, PangoFontset
, PangoContext
e PangoFontDescription
e se ho bisogno di uno o tutti questi per ottenere ciò che voglio. Finora, PangoFontDescription
è l'unica parte di Pango che ho bisogno di usare, come GTK riesce ad astrarre tutto il resto via.
Can chi ha fatto questo prima di darmi una mano?
Soluzione
È possibile utilizzare pango_font_description_get_family()
e dopo la chiamata pango_font_family_is_monospace()
sul risultato.
EDIT:
Dal momento che i rendimenti pango_font_description_get_family()
solo un nome che si può fare questo: chiamata pango_context_list_families()
e la ricerca di un oggetto di famiglia che ha quel nome. Dopo di che, chiamata pango_font_family_is_monospace()
sulla trovato oggetto. Non sai cosa fare se non si trova alcun oggetto familiare con quel nome, però.