]> git.wh0rd.org - fontconfig.git/blobdiff - src/fcfreetype.c
Match 'ultra' on word boundaries to detect ultra bold fonts. (bug 2511)
[fontconfig.git] / src / fcfreetype.c
index 3265a3879b7f9235e9421024e4580f0fa2c9c2ed..572e7f2a05925dee6624156c29886a165275652d 100644 (file)
@@ -959,8 +959,18 @@ FcStringContainsConst (const FcChar8           *string,
     int        i;
 
     for (i = 0; i < nc; i++)
-       if (FcStrContainsIgnoreBlanksAndCase (string, c[i].name))
-           return c[i].value;
+    {
+       if (c[i].name[0] == '<')
+       {
+           if (FcStrContainsWord (string, c[i].name + 1))
+               return c[i].value;
+       }
+       else
+       {
+           if (FcStrContainsIgnoreBlanksAndCase (string, c[i].name))
+               return c[i].value;
+       }
+    }
     return -1;
 }
 
@@ -985,6 +995,7 @@ static const FcStringConst  weightConsts[] = {
     { (FC8) "ultrablack",      FC_WEIGHT_ULTRABLACK },
     { (FC8) "superblack",      FC_WEIGHT_EXTRABLACK },
     { (FC8) "extrablack",      FC_WEIGHT_EXTRABLACK },
+    { (FC8) "<ultra",          FC_WEIGHT_ULTRABOLD }, /* only if a word */
     { (FC8) "black",           FC_WEIGHT_BLACK },
     { (FC8) "heavy",           FC_WEIGHT_HEAVY },
 };