]> git.wh0rd.org - fontconfig.git/blobdiff - src/fcname.c
Fontconfig options for freetype sub-pixel filter configuration
[fontconfig.git] / src / fcname.c
index 6f74bb14f6beea23fbbbd3a4ecd35123ef98a3d7..7a5371b54a2a06bcfefba663022ce698ae8c692e 100644 (file)
@@ -74,7 +74,8 @@ static const FcObjectType _FcBaseObjectTypes[] = {
     { FC_FONTFORMAT,   FcTypeString },
     { FC_EMBOLDEN,     FcTypeBool },
     { FC_EMBEDDED_BITMAP,   FcTypeBool },
-    { FC_DECORATIVE,   FcTypeBool }, /* 40 */
+    { FC_DECORATIVE,   FcTypeBool },
+    { FC_LCD_FILTER,   FcTypeInteger }, /* 41 */
 };
 
 #define NUM_OBJECT_TYPES    (sizeof _FcBaseObjectTypes / sizeof _FcBaseObjectTypes[0])
@@ -435,6 +436,10 @@ static const FcConstant _FcBaseConstants[] = {
     { (FcChar8 *) "embolden",      "embolden",     FcTrue },
     { (FcChar8 *) "embeddedbitmap", "embeddedbitmap",  FcTrue },
     { (FcChar8 *) "decorative",            "decorative",   FcTrue },
+    { (FcChar8 *) "lcdnone",       "lcdfilter",    FC_LCD_NONE },
+    { (FcChar8 *) "lcddefault",            "lcdfilter",    FC_LCD_DEFAULT },
+    { (FcChar8 *) "lcdlight",      "lcdfilter",    FC_LCD_LIGHT },
+    { (FcChar8 *) "lcdlegacy",     "lcdfilter",    FC_LCD_LEGACY },
 };
 
 #define NUM_FC_CONSTANTS   (sizeof _FcBaseConstants/sizeof _FcBaseConstants[0])
@@ -567,6 +572,8 @@ FcNameConvert (FcType type, FcChar8 *string, FcMatrix *m)
        break;
     case FcTypeString:
        v.u.s = FcStrStaticName(string);
+       if (!v.u.s)
+           v.type = FcTypeVoid;
        break;
     case FcTypeBool:
        if (!FcNameBool (string, &v.u.b))
@@ -581,9 +588,13 @@ FcNameConvert (FcType type, FcChar8 *string, FcMatrix *m)
        break;
     case FcTypeCharSet:
        v.u.c = FcNameParseCharSet (string);
+       if (!v.u.c)
+           v.type = FcTypeVoid;
        break;
     case FcTypeLangSet:
        v.u.l = FcNameParseLangSet (string);
+       if (!v.u.l)
+           v.type = FcTypeVoid;
        break;
     default:
        break;
@@ -873,3 +884,6 @@ bail0:
     FcStrBufDestroy (&buf);
     return 0;
 }
+#define __fcname__
+#include "fcaliastail.h"
+#undef __fcname__