#include #include #include #include int main() { FcBool success = FcInit (); if ( !success ) { return false; } FcConfig *config = FcInitLoadConfigAndFonts (); if(!config) { return false; } FcChar8 *s, *file; FcPattern *p = FcPatternCreate(); FcObjectSet *os = FcObjectSetBuild (FC_FAMILY,NULL); FcFontSet *fs = FcFontList(config, p, os); printf("Total fonts: %d\n", fs->nfont); for (int i=0; fs && i < fs->nfont; i++) { FcPattern *font = fs->fonts[i]; s = FcNameUnparse(font); printf("Font: %s\n", s); free(s); if (FcPatternGetString(font, FC_FILE, 0, &file) == FcResultMatch) { printf("Filename: %s\n", file); } } }