Beispiel #1
0
static FcBool
FcNameUnparseValue (FcStrBuf	*buf,
		    FcValue	v,
		    FcChar8	*escape)
{
    FcChar8	temp[1024];
    
    switch (v.type) {
    case FcTypeVoid:
	return FcTrue;
    case FcTypeInteger:
	sprintf ((char *) temp, "%d", v.u.i);
	return FcNameUnparseString (buf, temp, 0);
    case FcTypeDouble:
	sprintf ((char *) temp, "%g", v.u.d);
	return FcNameUnparseString (buf, temp, 0);
    case FcTypeString:
	return FcNameUnparseString (buf, v.u.s, escape);
    case FcTypeBool:
	return FcNameUnparseString (buf, v.u.b ? (FcChar8 *) "True" : (FcChar8 *) "False", 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);
	return FcNameUnparseString (buf, temp, 0);
    case FcTypeCharSet:
	return FcNameUnparseCharSet (buf, v.u.c);
    case FcTypeLangSet:
	return FcNameUnparseLangSet (buf, v.u.l);
    case FcTypeFTFace:
	return FcTrue;
    }
    return FcFalse;
}
Beispiel #2
0
void FcLangSetPrint(const FcLangSet *ls) {
    FcStrBuf buf;
    FcChar8 init_buf[1024];

    FcStrBufInit(&buf, init_buf, sizeof(init_buf));
    if (FcNameUnparseLangSet(&buf, ls) && FcStrBufChar(&buf, '\0'))
        printf("%s", buf.buf);
    else
        printf("langset (alloc error)");
    FcStrBufDestroy(&buf);
}
Beispiel #3
0
FcBool
FcNameUnparseValue (FcStrBuf	*buf,
		    FcValue	*v0,
		    FcChar8	*escape)
{
    FcChar8	temp[1024];
    FcValue v = FcValueCanonicalize(v0);
    FcRange r;

    switch (v.type) {
    case FcTypeUnknown:
    case FcTypeVoid:
	return FcTrue;
    case FcTypeInteger:
	sprintf ((char *) temp, "%d", v.u.i);
	return FcNameUnparseString (buf, temp, 0);
    case FcTypeDouble:
	sprintf ((char *) temp, "%g", v.u.d);
	return FcNameUnparseString (buf, temp, 0);
    case FcTypeString:
	return FcNameUnparseString (buf, v.u.s, escape);
    case FcTypeBool:
	return FcNameUnparseString (buf, v.u.b ? (FcChar8 *) "True" : (FcChar8 *) "False", 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);
	return FcNameUnparseString (buf, temp, 0);
    case FcTypeCharSet:
	return FcNameUnparseCharSet (buf, v.u.c);
    case FcTypeLangSet:
	return FcNameUnparseLangSet (buf, v.u.l);
    case FcTypeFTFace:
	return FcTrue;
    case FcTypeRange:
	r = FcRangeCanonicalize (v.u.r);
	if (!FcDoubleIsZero (r.u.d.begin) || !FcDoubleIsZero (r.u.d.end))
	{
	    if (FcDoubleCmpEQ (r.u.d.begin, r.u.d.end))
		sprintf ((char *) temp, "%g", r.u.d.begin);
	    else
		sprintf ((char *) temp, "(%g %g)", r.u.d.begin, r.u.d.end);
	    return FcNameUnparseString (buf, temp, 0);
	}
	else
	    return FcTrue;
    }
    return FcFalse;
}