*result = FcFalse;
return FcTrue;
}
+ if (c0 == 'd' || c0 == 'x' || c0 == '2')
+ {
+ *result = FcDontCare;
+ return FcTrue;
+ }
if (c0 == 'o')
{
c1 = v[1];
*result = FcFalse;
return FcTrue;
}
+ if (c1 == 'r')
+ {
+ *result = FcDontCare;
+ return FcTrue;
+ }
}
return FcFalse;
}
v.type = FcTypeVoid;
break;
case FcTypeRange:
- if (sscanf ((char *) string, "[%lg %lg)", &b, &e) != 2)
+ if (sscanf ((char *) string, "[%lg %lg]", &b, &e) != 2)
{
v.u.d = strtod ((char *) string, &p);
if (p != NULL && p[0] != 0)
case FcTypeString:
return FcNameUnparseString (buf, v.u.s, escape);
case FcTypeBool:
- return FcNameUnparseString (buf, v.u.b ? (FcChar8 *) "True" : (FcChar8 *) "False", 0);
+ return FcNameUnparseString (buf,
+ v.u.b == FcTrue ? (FcChar8 *) "True" :
+ v.u.b == FcFalse ? (FcChar8 *) "False" :
+ (FcChar8 *) "DontCare", 0);
case FcTypeMatrix:
sprintf ((char *) temp, "%g %g %g %g",
v.u.m->xx, v.u.m->xy, v.u.m->yx, v.u.m->yy);
case FcTypeFTFace:
return FcTrue;
case FcTypeRange:
- sprintf ((char *) temp, "[%g %g)", v.u.r->begin, v.u.r->end);
+ sprintf ((char *) temp, "[%g %g]", v.u.r->begin, v.u.r->end);
return FcNameUnparseString (buf, temp, 0);
}
return FcFalse;