]> git.wh0rd.org - fontconfig.git/commitdiff
[fcmatch] When matching, reserve score 0 for when elements don't exist
authorBehdad Esfahbod <behdad@behdad.org>
Thu, 1 Jan 2009 00:44:32 +0000 (19:44 -0500)
committerBehdad Esfahbod <behdad@behdad.org>
Sat, 14 Feb 2009 00:54:05 +0000 (16:54 -0800)
Previously an index j was added to element score to prefer matches earlier
in the value list to the later ones.  This index started from 0, meaning
that the score zero could be generated for the first element.  By starting
j from one, scores for when the element exists in both pattern and font
can never be zero.  The score zero is reserved for when the element is
NOT available in both font and pattern.  We will use this property later.

This shouldn't change matching much.  The only difference I can think of
is that if a font family exists both as a bitmap font and a scalable
version, and when requesting it at the size of the bitmap version,
previously the font returned was nondeterministic.  Now the scalable
version will always be preferred.

src/fcmatch.c

index 4d20a61fc9b7f09d702f4bb8641b69dee8ff9386..49dd0ddae78771f6daf7be4c223adee9698671ad 100644 (file)
@@ -317,7 +317,7 @@ FcCompareValueList (FcObject         object,
     best = 1e99;
     bestStrong = 1e99;
     bestWeak = 1e99;
-    j = 0;
+    j = 1;
     for (v1 = v1orig; v1; v1 = FcValueListNext(v1))
     {
        for (v2 = v2orig; v2; v2 = FcValueListNext(v2))