使用pango-Cairo列出系统中的有效字体,代码来源于gtk-app-devel-list
fonts list using pango
#include <glib.h>
#include <pango/pangocairo.h>
static void list_fonts ()
{
int i;
PangoFontFamily ** families;
int n_families;
PangoFontMap * fontmap;
fontmap = pango_cairo_font_map_get_default();
pango_font_map_list_families (fontmap, & families, & n_families);
printf ("There are %d families
", n_families);
for (i = 0; i < n_families; i++) {
PangoFontFamily * family = families[i];
const char * family_name;
family_name = pango_font_family_get_name (family);
printf ("Family %d: %s
", i, family_name);
}
g_free (families);
}
int main (int argc, char ** argv)
{
list_fonts ();
return 0;
}
makefile
pango-list-typefaces: pango-list-typefaces.c cc -o $@ -Wall -g pango-list-typefaces.c `pkg-config --cflags --libs pango` `pkg-config --cflags --libs cairo` `pkg-config --cflags --libs pangocairo` `pkg-config --cflags --libs glib-2.0`