Esempio n. 1
0
static void _FcValuePrintFile(FILE *f, const FcValue v) {
    switch (v.type) {
    case FcTypeUnknown:
        fprintf(f, "<unknown>");
        break;
    case FcTypeVoid:
        fprintf(f, "<void>");
        break;
    case FcTypeInteger:
        fprintf(f, "%d(i)", v.u.i);
        break;
    case FcTypeDouble:
        fprintf(f, "%g(f)", v.u.d);
        break;
    case FcTypeString:
        fprintf(f, "\"%s\"", v.u.s);
        break;
    case FcTypeBool:
        fprintf(f, "%s", v.u.b ? "True" : "False");
        break;
    case FcTypeMatrix:
        fprintf(f, "[%g %g; %g %g]", v.u.m->xx, v.u.m->xy, v.u.m->yx,
                v.u.m->yy);
        break;
    case FcTypeCharSet: /* XXX */
        if (f == stdout) FcCharSetPrint(v.u.c);
        break;
    case FcTypeLangSet:
        FcLangSetPrint(v.u.l);
        break;
    case FcTypeFTFace:
        fprintf(f, "face");
        break;
    }
}
Esempio n. 2
0
void
FcValuePrint (const FcValue v)
{
    switch (v.type) {
    case FcTypeVoid:
	printf (" <void>");
	break;
    case FcTypeInteger:
	printf (" %d(i)", v.u.i);
	break;
    case FcTypeDouble:
	printf (" %g(f)", v.u.d);
	break;
    case FcTypeString:
	printf (" \"%s\"", v.u.s);
	break;
    case FcTypeBool:
	printf (" %s", v.u.b ? "FcTrue" : "FcFalse");
	break;
    case FcTypeMatrix:
	printf (" (%f %f; %f %f)", v.u.m->xx, v.u.m->xy, v.u.m->yx, v.u.m->yy);
	break;
    case FcTypeCharSet:	/* XXX */
	printf (" set");
	break;
    case FcTypeLangSet:
	printf (" ");
	FcLangSetPrint (v.u.l);
	break;
    case FcTypeFTFace:
	printf (" face");
	break;
    }
}
Esempio n. 3
0
void FcExprPrint(const FcExpr *expr) {
    if (!expr)
        printf("none");
    else
        switch (FC_OP_GET_OP(expr->op)) {
        case FcOpInteger:
            printf("%d", expr->u.ival);
            break;
        case FcOpDouble:
            printf("%g", expr->u.dval);
            break;
        case FcOpString:
            printf("\"%s\"", expr->u.sval);
            break;
        case FcOpMatrix:
            printf("[");
            FcExprPrint(expr->u.mexpr->xx);
            printf(" ");
            FcExprPrint(expr->u.mexpr->xy);
            printf("; ");
            FcExprPrint(expr->u.mexpr->yx);
            printf(" ");
            FcExprPrint(expr->u.mexpr->yy);
            printf("]");
            break;
        case FcOpRange:
            break;
        case FcOpBool:
            printf("%s", expr->u.bval ? "true" : "false");
            break;
        case FcOpCharSet:
            printf("charset\n");
            break;
        case FcOpLangSet:
            printf("langset:");
            FcLangSetPrint(expr->u.lval);
            printf("\n");
            break;
        case FcOpNil:
            printf("nil\n");
            break;
        case FcOpField:
            printf("%s ", FcObjectName(expr->u.name.object));
            switch ((int)expr->u.name.kind) {
            case FcMatchPattern:
                printf("(pattern) ");
                break;
            case FcMatchFont:
                printf("(font) ");
                break;
            }
            break;
        case FcOpConst:
            printf("%s", expr->u.constant);
            break;
        case FcOpQuest:
            FcExprPrint(expr->u.tree.left);
            printf(" quest ");
            FcExprPrint(expr->u.tree.right->u.tree.left);
            printf(" colon ");
            FcExprPrint(expr->u.tree.right->u.tree.right);
            break;
        case FcOpAssign:
        case FcOpAssignReplace:
        case FcOpPrependFirst:
        case FcOpPrepend:
        case FcOpAppend:
        case FcOpAppendLast:
        case FcOpOr:
        case FcOpAnd:
        case FcOpEqual:
        case FcOpNotEqual:
        case FcOpLess:
        case FcOpLessEqual:
        case FcOpMore:
        case FcOpMoreEqual:
        case FcOpContains:
        case FcOpListing:
        case FcOpNotContains:
        case FcOpPlus:
        case FcOpMinus:
        case FcOpTimes:
        case FcOpDivide:
        case FcOpComma:
            FcExprPrint(expr->u.tree.left);
            printf(" ");
            switch (FC_OP_GET_OP(expr->op)) {
            case FcOpAssign:
                printf("Assign");
                break;
            case FcOpAssignReplace:
                printf("AssignReplace");
                break;
            case FcOpPrependFirst:
                printf("PrependFirst");
                break;
            case FcOpPrepend:
                printf("Prepend");
                break;
            case FcOpAppend:
                printf("Append");
                break;
            case FcOpAppendLast:
                printf("AppendLast");
                break;
            case FcOpOr:
                printf("Or");
                break;
            case FcOpAnd:
                printf("And");
                break;
            case FcOpEqual:
                printf("Equal");
                FcOpFlagsPrint(expr->op);
                break;
            case FcOpNotEqual:
                printf("NotEqual");
                FcOpFlagsPrint(expr->op);
                break;
            case FcOpLess:
                printf("Less");
                break;
            case FcOpLessEqual:
                printf("LessEqual");
                break;
            case FcOpMore:
                printf("More");
                break;
            case FcOpMoreEqual:
                printf("MoreEqual");
                break;
            case FcOpContains:
                printf("Contains");
                break;
            case FcOpListing:
                printf("Listing");
                FcOpFlagsPrint(expr->op);
                break;
            case FcOpNotContains:
                printf("NotContains");
                break;
            case FcOpPlus:
                printf("Plus");
                break;
            case FcOpMinus:
                printf("Minus");
                break;
            case FcOpTimes:
                printf("Times");
                break;
            case FcOpDivide:
                printf("Divide");
                break;
            case FcOpComma:
                printf("Comma");
                break;
            default:
                break;
            }
            printf(" ");
            FcExprPrint(expr->u.tree.right);
            break;
        case FcOpNot:
            printf("Not ");
            FcExprPrint(expr->u.tree.left);
            break;
        case FcOpFloor:
            printf("Floor ");
            FcExprPrint(expr->u.tree.left);
            break;
        case FcOpCeil:
            printf("Ceil ");
            FcExprPrint(expr->u.tree.left);
            break;
        case FcOpRound:
            printf("Round ");
            FcExprPrint(expr->u.tree.left);
            break;
        case FcOpTrunc:
            printf("Trunc ");
            FcExprPrint(expr->u.tree.left);
            break;
        case FcOpInvalid:
            printf("Invalid");
            break;
        }
}