/*
- * $XFree86: xc/lib/fontconfig/src/fcint.h,v 1.8 2002/05/21 17:06:22 keithp Exp $
+ * $XFree86: xc/lib/fontconfig/src/fcint.h,v 1.13 2002/06/03 08:31:15 keithp Exp $
*
* Copyright © 2000 Keith Packard, member of The XFree86 Project, Inc.
*
#include <time.h>
#include <fontconfig/fontconfig.h>
#include <fontconfig/fcprivate.h>
+#include <fontconfig/fcfreetype.h>
#ifdef HAVE_CONFIG_H
#include <config.h>
#endif
-typedef struct _FcMatcher {
- char *object;
- double (*compare) (char *object, FcValue value1, FcValue value2);
- int priority;
-} FcMatcher;
-
typedef struct _FcSymbolic {
const char *name;
int value;
#define FC_DBG_CACHEV 32
#define FC_DBG_PARSE 64
#define FC_DBG_SCAN 128
+#define FC_DBG_SCANV 256
#define FC_DBG_MEMORY 512
#define FC_MEM_CHARSET 0
#define FC_MEM_STRLIST 15
#define FC_MEM_CONFIG 16
+typedef enum _FcValueBinding {
+ FcValueBindingWeak, FcValueBindingStrong
+} FcValueBinding;
+
typedef struct _FcValueList {
struct _FcValueList *next;
+ FcValueBinding binding;
FcValue value;
} FcValueList;
typedef struct _FcPatternElt {
const char *object;
- FcValueList *values;
+ FcValueList *values;
} FcPatternElt;
struct _FcPattern {
int num;
int size;
- FcPatternElt *elts;
+ int ref;
+ FcPatternElt *elts;
};
typedef enum _FcOp {
} FcExpr;
typedef enum _FcQual {
- FcQualAny, FcQualAll
+ FcQualAny, FcQualAll, FcQualFirst, FcQualNotFirst
} FcQual;
typedef struct _FcTest {
FcEdit *edit;
} FcSubst;
-typedef struct _FcCharLeaf FcCharLeaf;
-typedef struct _FcCharBranch FcCharBranch;
-typedef union _FcCharNode FcCharNode;
-
-struct _FcCharLeaf {
+typedef struct _FcCharLeaf {
FcChar32 map[256/32];
-};
-
-union _FcCharNode {
- FcCharBranch *branch;
- FcCharLeaf *leaf;
-};
-
-struct _FcCharBranch {
- FcCharNode nodes[256];
- FcChar8 next[256];
-};
+} FcCharLeaf;
struct _FcCharSet {
- int levels;
int ref; /* reference count */
- FcBool constant; /* shared constant */
- FcCharNode node;
+ FcBool constant; /* in hash table constant */
+ int num; /* size of leaves and numbers arrays */
+ FcCharLeaf **leaves;
+ FcChar16 *numbers;
};
struct _FcStrSet {
const FcValue v);
/* fccharset.c */
+FcCharSet *
+FcCharSetFreeze (FcCharSet *cs);
+
FcBool
FcNameUnparseCharSet (FcStrBuf *buf, const FcCharSet *c);
FcValueListDestroy (FcValueList *l);
FcPatternElt *
-FcPatternFind (FcPattern *p, const char *object, FcBool insert);
+FcPatternFindElt (const FcPattern *p, const char *object);
+
+FcPatternElt *
+FcPatternInsertElt (FcPattern *p, const char *object);
/* fcrender.c */