]> git.wh0rd.org - fontconfig.git/blobdiff - src/fcint.h
Bug 44826 - <alias> must contain only a single <family>
[fontconfig.git] / src / fcint.h
index 2bc7878c1ab652dd35ce10679dd063b73479791c..83a7a435be4984b27e3de80cc5599e602cca966f 100644 (file)
 
 #define FC_MEM_NUM         30
 
+#define _FC_ASSERT_STATIC1(_line, _cond) typedef int _static_assert_on_line_##_line##_failed[(_cond)?1:-1]
+#define _FC_ASSERT_STATIC0(_line, _cond) _FC_ASSERT_STATIC1 (_line, (_cond))
+#define FC_ASSERT_STATIC(_cond) _FC_ASSERT_STATIC0 (__LINE__, (_cond))
+
 #define FC_MIN(a,b) ((a) < (b) ? (a) : (b))
 #define FC_MAX(a,b) ((a) > (b) ? (a) : (b))
 #define FC_ABS(a)   ((a) < 0 ? -(a) : (a))
@@ -216,7 +220,7 @@ struct _FcPattern {
                                 fs->fonts[i])
                                                
 typedef enum _FcOp {
-    FcOpInteger, FcOpDouble, FcOpString, FcOpMatrix, FcOpBool, FcOpCharSet,
+    FcOpInteger, FcOpDouble, FcOpString, FcOpMatrix, FcOpRange, FcOpBool, FcOpCharSet, FcOpLangSet,
     FcOpNil,
     FcOpField, FcOpConst,
     FcOpAssign, FcOpAssignReplace,
@@ -235,12 +239,13 @@ typedef struct _FcExpr {
     union {
        int         ival;
        double      dval;
-       FcChar8     *sval;
+       const FcChar8       *sval;
        FcMatrix    *mval;
        FcBool      bval;
        FcCharSet   *cval;
+       FcLangSet   *lval;
        FcObject    object;
-       FcChar8     *constant;
+       const FcChar8       *constant;
        struct {
            struct _FcExpr *left, *right;
        } tree;
@@ -507,6 +512,13 @@ typedef struct _FcFileTime {
 
 typedef struct _FcCharMap FcCharMap;
 
+typedef struct _FcRange            FcRange;
+
+struct _FcRange {
+    FcChar32 begin;
+    FcChar32 end;
+};
+
 /* fcblanks.c */
 
 /* fccache.c */
@@ -532,12 +544,8 @@ FcCacheFini (void);
 FcPrivate void
 FcDirCacheReference (FcCache *cache, int nref);
 
-#ifdef _WIN32
 FcPrivate int
 FcStat (const char *file, struct stat *statb);
-#else
-#define FcStat stat
-#endif
 
 /* fccfg.c */