[Fontconfig] fontconfig: Branch 'master'

Keith Packard keithp at kemper.freedesktop.org
Thu Oct 25 21:35:46 PDT 2007


 fc-match/fc-match.c |   20 ++++++++++++++++++--
 1 file changed, 18 insertions(+), 2 deletions(-)

New commits:
commit 0602c605af04ea73af700b223ec4ac1dfd5a36f1
Author: Behdad Esfahbod <behdad at behdad.org>
Date:   Thu Oct 25 21:35:45 2007 -0700

    Make fc-match --sort call FcFontRenderPrepare.
    
    This makes the --sort and regular output the same for each font.

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);


More information about the Fontconfig mailing list