X-Git-Url: https://git.wh0rd.org/?a=blobdiff_plain;f=src%2Ffccfg.c;h=681278114360f37c2a8ba54a9218c9e0528a68e7;hb=3c862aad9f49be4b098cb679a67449c85b58f1f5;hp=ad9f7d2060b5c1a3c81e24c2c34203161a64443b;hpb=d975cdda782bb88c8bb6706889a554b2afb9f939;p=fontconfig.git diff --git a/src/fccfg.c b/src/fccfg.c index ad9f7d2..6812781 100644 --- a/src/fccfg.c +++ b/src/fccfg.c @@ -897,6 +897,11 @@ FcConfigEvaluate (FcPattern *p, FcExpr *e) v.u.c = e->u.cval; v = FcValueSave (v); break; + case FcOpLangSet: + v.type = FcTypeLangSet; + v.u.l = e->u.lval; + v = FcValueSave (v); + break; case FcOpBool: v.type = FcTypeBool; v.u.b = e->u.bval; @@ -1055,6 +1060,25 @@ FcConfigEvaluate (FcPattern *p, FcExpr *e) break; } break; + case FcTypeLangSet: + switch (e->op) { + case FcOpPlus: + v.type = FcTypeLangSet; + v.u.l = FcLangSetUnion (vl.u.l, vr.u.l); + if (!v.u.l) + v.type = FcTypeVoid; + break; + case FcOpMinus: + v.type = FcTypeLangSet; + v.u.l = FcLangSetSubtract (vl.u.l, vr.u.l); + if (!v.u.l) + v.type = FcTypeVoid; + break; + default: + v.type = FcTypeVoid; + break; + } + break; default: v.type = FcTypeVoid; break;