summaryrefslogtreecommitdiff
path: root/fc-match
diff options
context:
space:
mode:
Diffstat (limited to 'fc-match')
-rw-r--r--fc-match/fc-match.c20
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);