From 0602c605af04ea73af700b223ec4ac1dfd5a36f1 Mon Sep 17 00:00:00 2001 From: Behdad Esfahbod Date: Thu, 25 Oct 2007 21:35:45 -0700 Subject: [PATCH] Make fc-match --sort call FcFontRenderPrepare. This makes the --sort and regular output the same for each font. --- fc-match/fc-match.c | 20 ++++++++++++++++++-- 1 file 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);