summaryrefslogtreecommitdiff
path: root/src/fcmatch.c
diff options
context:
space:
mode:
authorBehdad Esfahbod <behdad@behdad.org>2008-12-31 19:35:27 -0500
committerBehdad Esfahbod <behdad@behdad.org>2009-02-13 16:54:05 -0800
commitc7641f2872329197250db6ffe194df3d33ff42b3 (patch)
tree2c75fc5cfeca37a0c414755bbaaaeb0bd96c5ab2 /src/fcmatch.c
parent1b43ccc805f26a78934267d92275cd19b5648e91 (diff)
downloadfontconfig-c7641f2872329197250db6ffe194df3d33ff42b3.tar.gz
[fcmatch] Use larger multipliers to enforce order
Previously the matcher multiplied comparison results by 100 and added index value to it. With long lists of families (lots of aliases), reaching 100 is not that hard. That could result in a non-match early in the list to be preferred over a match late in the list. Changing the multiplier from 100 to 1000 should fix that. To keep things relatively in order, the lang multiplier is changed from 1000 to 10000.
Diffstat (limited to 'src/fcmatch.c')
-rw-r--r--src/fcmatch.c4
1 files changed, 2 insertions, 2 deletions
diff --git a/src/fcmatch.c b/src/fcmatch.c
index ac63fbe..4d20a61 100644
--- a/src/fcmatch.c
+++ b/src/fcmatch.c
@@ -328,7 +328,7 @@ FcCompareValueList (FcObject object,
*result = FcResultTypeMismatch;
return FcFalse;
}
- v = v * 100 + j;
+ v = v * 1000 + j;
if (v < best)
{
if (bestValue)
@@ -768,7 +768,7 @@ FcFontSetSort (FcConfig *config,
}
}
if (!satisfies)
- nodeps[f]->score[MATCH_LANG_INDEX] = 1000.0;
+ nodeps[f]->score[MATCH_LANG_INDEX] = 10000.0;
}
/*