src/fclang.c | 29 +++++++++++------------------ src/fcmatch.c | 33 ++------------------------------- 2 files changed, 13 insertions(+), 49 deletions(-) New commits: commit 5c6d1ff23bda4386984a1d6e4c024958f8f5547c Author: Behdad Esfahbod <behdad@xxxxxxxxxx> 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@xxxxxxxxxx> 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) { _______________________________________________ Fontconfig mailing list Fontconfig@xxxxxxxxxxxxxxxxxxxxx http://lists.freedesktop.org/mailman/listinfo/fontconfig