5 #include <fontconfig/fontconfig.h>
8 #include "fontConfig.h"
17 error("Unable to init fontconfig library");
24 font_config_t
*fontconfig_find(char **arg
)
35 for (i
= 0; arg
[i
] != NULL
; i
++) {
37 pat
= FcNameParse((FcChar8
*) arg
[i
]);
41 os
= FcObjectSetCreate();
44 FcObjectSetAdd(os
, arg
[i
]);
48 os
= FcObjectSetBuild(FC_FAMILY
, FC_STYLE
, (char *) 0);
51 fs
= FcFontList(0, pat
, os
);
52 FcObjectSetDestroy(os
);
55 FcPatternDestroy(pat
);
61 ret
= malloc((fs
->nfont
+ 1) * sizeof(font_config_t
));
63 for (j
= 0; j
< fs
->nfont
; j
++) {
67 font
= FcNameUnparse(fs
->fonts
[j
]);
69 if (FcPatternGetString(fs
->fonts
[j
], FC_FILE
, 0, &file
) == FcResultMatch
) {
70 ret
[j
].path
= strdup((char *) file
);
73 ret
[j
].flag
= strdup((char *) font
);
77 ret
[fs
->nfont
].path
= NULL
;
78 ret
[fs
->nfont
].flag
= NULL
;
86 void fontconfig_del_list(font_config_t
*list
)
90 for (i
= 0; list
[i
].path
!= NULL
; i
++) {