diff options
Diffstat (limited to 'fc-match')
-rw-r--r-- | fc-match/fc-match.c | 20 |
1 files changed, 18 insertions, 2 deletions
diff --git a/fc-match/fc-match.c b/fc-match/fc-match.c index 5f36f00..bf9817b 100644 --- a/fc-match/fc-match.c +++ b/fc-match/fc-match.c @@ -141,12 +141,28 @@ main (int argc, char **argv) FcConfigSubstitute (0, pat, FcMatchPattern); FcDefaultSubstitute (pat); + fs = FcFontSetCreate (); + if (sort) - fs = FcFontSort (0, pat, FcTrue, 0, &result); + { + FcFontSet *font_patterns; + int j; + font_patterns = FcFontSort (0, pat, FcTrue, 0, &result); + + for (j = 0; j < font_patterns->nfont; j++) + { + FcPattern *font_pattern; + + font_pattern = FcFontRenderPrepare (NULL, pat, font_patterns->fonts[j]); + if (font_pattern) + FcFontSetAdd (fs, font_pattern); + } + + FcFontSetSortDestroy (font_patterns); + } else { FcPattern *match; - fs = FcFontSetCreate (); match = FcFontMatch (0, pat, &result); if (match) FcFontSetAdd (fs, match); |