[Fontconfig] fontconfig: Branch 'master' - 2 commits

Behdad Esfahbod behdad at kemper.freedesktop.org
Wed Jul 22 16:27:16 PDT 2009


 src/fclang.c  |   29 +++++++++++------------------
 src/fcmatch.c |   33 ++-------------------------------
 2 files changed, 13 insertions(+), 49 deletions(-)

New commits:
commit 5c6d1ff23bda4386984a1d6e4c024958f8f5547c
Author: Behdad Esfahbod <behdad at behdad.org>
Date:   Wed Jul 22 19:25:24 2009 -0400

    Fix FcNameUnparseLangSet()
    
    Was broken since ffd6668b469508177c4baf7745ae42aee5b00322

diff --git a/src/fclang.c b/src/fclang.c
index fe4674c..9d1858d 100644
--- a/src/fclang.c
+++ b/src/fclang.c
@@ -551,27 +551,20 @@ bail0:
 FcBool
 FcNameUnparseLangSet (FcStrBuf *buf, const FcLangSet *ls)
 {
-    int		i, bit;
-    FcChar32	bits;
+    int		i;
     FcBool	first = FcTrue;
 
-    for (i = 0; i < NUM_LANG_SET_MAP; i++)
-    {
-	if ((bits = ls->map[i]))
-	{
-	    for (bit = 0; bit <= 31; bit++)
-		if (bits & (1 << bit))
-		{
-		    int id = (i << 5) | bit;
-		    if (!first)
-			if (!FcStrBufChar (buf, '|'))
-			    return FcFalse;
-		    if (!FcStrBufString (buf, fcLangCharSets[id].lang))
+    for (i = 0; i < NUM_LANG_CHAR_SET; i++)
+	if (FcLangSetBitGet (ls, i))
+	    {
+		if (!first)
+		    if (!FcStrBufChar (buf, '|'))
 			return FcFalse;
-		    first = FcFalse;
-		}
-	}
-    }
+		if (!FcStrBufString (buf, fcLangCharSets[i].lang))
+		    return FcFalse;
+		first = FcFalse;
+	    }
+
     if (ls->extra)
     {
 	FcStrList   *list = FcStrListCreate (ls->extra);
commit d9741a7f1a73f718ab20b0582fff8aebeba01077
Author: Behdad Esfahbod <behdad at behdad.org>
Date:   Wed Jul 22 19:01:06 2009 -0400

    Remove unused macros

diff --git a/src/fcmatch.c b/src/fcmatch.c
index 0abd42a..0d84704 100644
--- a/src/fcmatch.c
+++ b/src/fcmatch.c
@@ -187,69 +187,40 @@ typedef struct _FcMatcher {
 static const FcMatcher _FcMatchers [] = {
     { FC_FOUNDRY_OBJECT,	FcCompareString,	0, 0 },
 #define MATCH_FOUNDRY	    0
-#define MATCH_FOUNDRY_INDEX 0
-    
     { FC_CHARSET_OBJECT,	FcCompareCharSet,	1, 1 },
 #define MATCH_CHARSET	    1
-#define MATCH_CHARSET_INDEX 1
-    
     { FC_FAMILY_OBJECT,    	FcCompareFamily,	2, 4 },
 #define MATCH_FAMILY	    2
-#define MATCH_FAMILY_STRONG_INDEX   2
-#define MATCH_FAMILY_WEAK_INDEX	    4
-    
     { FC_LANG_OBJECT,		FcCompareLang,	3, 3 },
 #define MATCH_LANG	    3
 #define MATCH_LANG_INDEX    3
-    
     { FC_SPACING_OBJECT,	FcCompareNumber,	5, 5 },
 #define MATCH_SPACING	    4
-#define MATCH_SPACING_INDEX 5
-    
     { FC_PIXEL_SIZE_OBJECT,	FcCompareSize,	6, 6 },
 #define MATCH_PIXEL_SIZE    5
-#define MATCH_PIXEL_SIZE_INDEX	6
-    
     { FC_STYLE_OBJECT,		FcCompareString,	7, 7 },
 #define MATCH_STYLE	    6
-#define MATCH_STYLE_INDEX   7
-    
     { FC_SLANT_OBJECT,		FcCompareNumber,	8, 8 },
 #define MATCH_SLANT	    7
-#define MATCH_SLANT_INDEX   8
-    
     { FC_WEIGHT_OBJECT,		FcCompareNumber,	9, 9 },
 #define MATCH_WEIGHT	    8
-#define MATCH_WEIGHT_INDEX  9
-    
     { FC_WIDTH_OBJECT,		FcCompareNumber,	10, 10 },
 #define MATCH_WIDTH	    9
-#define MATCH_WIDTH_INDEX   10
-    
     { FC_DECORATIVE_OBJECT,	FcCompareBool,		11, 11 },
 #define MATCH_DECORATIVE	10
-#define MATCH_DECORATIVE_INDEX	11
-
     { FC_ANTIALIAS_OBJECT,	FcCompareBool,		12, 12 },
 #define MATCH_ANTIALIAS		    11
-#define MATCH_ANTIALIAS_INDEX	    12
-    
     { FC_RASTERIZER_OBJECT,	FcCompareString,	13, 13 },
 #define MATCH_RASTERIZER	    12
-#define MATCH_RASTERIZER_INDEX	    13
-
     { FC_OUTLINE_OBJECT,	FcCompareBool,		14, 14 },
 #define MATCH_OUTLINE		    13
-#define MATCH_OUTLINE_INDEX	    14
-
     { FC_FONTVERSION_OBJECT,	FcCompareNumber,	15, 15 },
 #define MATCH_FONTVERSION	    14
-#define MATCH_FONTVERSION_INDEX	    15
 };
 
 #define NUM_MATCH_VALUES    16
 
-static FcMatcher*
+static const FcMatcher*
 FcObjectToMatcher (FcObject object)
 {
     int 	i;
@@ -305,7 +276,7 @@ FcCompareValueList (FcObject	 object,
     FcValueListPtr  v1, v2;
     double    	    v, best, bestStrong, bestWeak;
     int		    j;
-    FcMatcher       *match = FcObjectToMatcher(object);
+    const FcMatcher *match = FcObjectToMatcher(object);
 
     if (!match)
     {


More information about the Fontconfig mailing list