[Fontconfig] fontconfig: Branch 'master'

Akira TAGOH tagoh at kemper.freedesktop.org
Mon Apr 1 02:16:42 PDT 2013


 src/fcmatch.c |   23 +++++++----------------
 1 file changed, 7 insertions(+), 16 deletions(-)

New commits:
commit 8fd0ed60a62cb7f36b2ade1bd16a66671eaf79da
Author: Akira TAGOH <akira at tagoh.org>
Date:   Mon Apr 1 18:16:28 2013 +0900

    Bug 62980 - matching native fonts with even :lang=en
    
    Fix the matcher modified by 4eab908c8679a797ac7016b77a93ee41bb11b0fc
    to deal with both strong and weak of FC_LANG as the same location in the score

diff --git a/src/fcmatch.c b/src/fcmatch.c
index 68f39ae..2d7b798 100644
--- a/src/fcmatch.c
+++ b/src/fcmatch.c
@@ -227,9 +227,10 @@ typedef enum _FcMatcherPriorityDummy {
 #undef FC_OBJECT
 
 #undef PRI1
-#define PRI1(n)			\
-    PRI_ ## n ## _STRONG,	\
-    PRI_ ## n ## _WEAK
+#define PRI1(n)					\
+    PRI_ ## n,					\
+    PRI_ ## n ## _STRONG = PRI_ ## n,		\
+    PRI_ ## n ## _WEAK = PRI_ ## n
 
 typedef enum _FcMatcherPriority {
     PRI1(HASH),
@@ -237,9 +238,8 @@ typedef enum _FcMatcherPriority {
     PRI1(FOUNDRY),
     PRI1(CHARSET),
     PRI_FAMILY_STRONG,
-    PRI_LANG_STRONG,
     PRI_POSTSCRIPT_NAME_STRONG,
-    PRI_LANG_WEAK,
+    PRI1(LANG),
     PRI_FAMILY_WEAK,
     PRI_POSTSCRIPT_NAME_WEAK,
     PRI1(SPACING),
@@ -910,8 +910,7 @@ FcFontSetSort (FcConfig	    *config FC_UNUSED,
 	 * If this node matches any language, go check
 	 * which ones and satisfy those entries
 	 */
-	if (nodeps[f]->score[PRI_LANG_STRONG] < 2000 ||
-	    nodeps[f]->score[PRI_LANG_WEAK] < 2000)
+	if (nodeps[f]->score[PRI_LANG] < 2000)
 	{
 	    for (i = 0; i < nPatternLang; i++)
 	    {
@@ -935,13 +934,6 @@ FcFontSetSort (FcConfig	    *config FC_UNUSED,
 			}
 			patternLangSat[i] = FcTrue;
 			satisfies = FcTrue;
-			/* adjust score to ensure it's not more than 10000.0
-			 * which would means the lang didn't satisfy the requirements
-			 */
-			if (nodeps[f]->score[PRI_LANG_STRONG] > 10000.0)
-			    nodeps[f]->score[PRI_LANG_STRONG] = 10000.0;
-			if (nodeps[f]->score[PRI_LANG_WEAK] > 10000.0)
-			    nodeps[f]->score[PRI_LANG_WEAK] = 10000.0;
 			break;
 		    }
 		}
@@ -949,8 +941,7 @@ FcFontSetSort (FcConfig	    *config FC_UNUSED,
 	}
 	if (!satisfies)
 	{
-	    nodeps[f]->score[PRI_LANG_STRONG] = 10000.0;
-	    nodeps[f]->score[PRI_LANG_WEAK] = 10000.0;
+	    nodeps[f]->score[PRI_LANG] = 10000.0;
 	}
     }
 


More information about the Fontconfig mailing list