]> git.wh0rd.org - fontconfig.git/blobdiff - src/fcint.h
Append version number to cache file names
[fontconfig.git] / src / fcint.h
index 98228e81d2d2c771661758ef277c85e2bd3640bd..cd43b767fa77bcc7c9c1a7d20f2fc5277b9d4ddb 100644 (file)
@@ -1,5 +1,5 @@
 /*
- * $XFree86: xc/lib/fontconfig/src/fcint.h,v 1.21 2002/07/31 01:36:37 keithp Exp $
+ * $XFree86: xc/lib/fontconfig/src/fcint.h,v 1.24 2002/08/22 07:36:44 keithp Exp $
  *
  * Copyright © 2000 Keith Packard, member of The XFree86 Project, Inc.
  *
@@ -65,7 +65,7 @@ typedef struct _FcSymbolic {
 #define FC_DBG_MEMORY  512
 
 #define FC_MEM_CHARSET     0
-#define FC_MEM_CHARNODE            1
+#define FC_MEM_CHARLEAF            1
 #define FC_MEM_FONTSET     2
 #define FC_MEM_FONTPTR     3
 #define FC_MEM_OBJECTSET    4
@@ -77,10 +77,12 @@ typedef struct _FcSymbolic {
 #define FC_MEM_SUBSTATE            10
 #define FC_MEM_STRING      11
 #define FC_MEM_LISTBUCK            12
-#define FC_MEM_NUM         13
-#define FC_MEM_STRSET      14
-#define FC_MEM_STRLIST     15
-#define FC_MEM_CONFIG      16
+#define FC_MEM_STRSET      13
+#define FC_MEM_STRLIST     14
+#define FC_MEM_CONFIG      15
+#define FC_MEM_LANGSET     16
+
+#define FC_MEM_NUM         17
 
 typedef enum _FcValueBinding {
     FcValueBindingWeak, FcValueBindingStrong
@@ -97,6 +99,7 @@ typedef struct _FcPatternElt {
     FcValueList            *values;
 } FcPatternElt;
 
+
 struct _FcPattern {
     int                    num;
     int                    size;
@@ -111,7 +114,7 @@ typedef enum _FcOp {
     FcOpAssign, FcOpAssignReplace, 
     FcOpPrependFirst, FcOpPrepend, FcOpAppend, FcOpAppendLast,
     FcOpQuest,
-    FcOpOr, FcOpAnd, FcOpEqual, FcOpNotEqual, FcOpContains,
+    FcOpOr, FcOpAnd, FcOpEqual, FcOpNotEqual, FcOpContains, FcOpNotContains,
     FcOpLess, FcOpLessEqual, FcOpMore, FcOpMoreEqual,
     FcOpPlus, FcOpMinus, FcOpTimes, FcOpDivide,
     FcOpNot, FcOpComma, FcOpInvalid
@@ -138,8 +141,11 @@ typedef enum _FcQual {
     FcQualAny, FcQualAll, FcQualFirst, FcQualNotFirst
 } FcQual;
 
+#define FcMatchDefault ((FcMatchKind) -1)
+
 typedef struct _FcTest {
     struct _FcTest     *next;
+    FcMatchKind                kind;
     FcQual             qual;
     const char         *field;
     FcOp               op;
@@ -164,13 +170,10 @@ typedef struct _FcCharLeaf {
     FcChar32   map[256/32];
 } FcCharLeaf;
 
-typedef enum _FcLangResult {
-    FcLangEqual, FcLangDifferentCountry, FcLangDifferentLang
-} FcLangResult;
+#define FC_REF_CONSTANT            -1
 
 struct _FcCharSet {
     int                    ref;        /* reference count */
-    FcBool         constant;   /* in hash table constant */
     int                    num;        /* size of leaves and numbers arrays */
     FcCharLeaf     **leaves;
     FcChar16       *numbers;
@@ -197,7 +200,7 @@ typedef struct _FcStrBuf {
 } FcStrBuf;
 
 /*
- * The per-user ~/.fonts.cache file is loaded into
+ * The per-user ~/.fonts.cache-<version> file is loaded into
  * this data structure.  Each directory gets a substructure
  * which is validated by comparing the directory timestamp with
  * that saved in the cache.  When valid, the entire directory cache
@@ -429,22 +432,22 @@ FcFreeTypeGetPrivateMap (FT_Encoding encoding);
     
 /* fcdbg.c */
 void
-FcValueListPrint (FcValueList *l);
+FcValueListPrint (const FcValueList *l);
 
 void
 FcOpPrint (FcOp op);
 
 void
-FcTestPrint (FcTest *test);
+FcTestPrint (const FcTest *test);
 
 void
-FcExprPrint (FcExpr *expr);
+FcExprPrint (const FcExpr *expr);
 
 void
-FcEditPrint (FcEdit *edit);
+FcEditPrint (const FcEdit *edit);
 
 void
-FcSubstPrint (FcSubst *subst);
+FcSubstPrint (const FcSubst *subst);
 
 int
 FcDebug (void);
@@ -477,7 +480,11 @@ char *
 FcConfigSaveField (const char *field);
 
 FcTest *
-FcTestCreate (FcQual qual, const FcChar8 *field, FcOp compare, FcExpr *expr);
+FcTestCreate (FcMatchKind   kind,
+             FcQual        qual,
+             const FcChar8 *field,
+             FcOp          compare,
+             FcExpr        *expr);
 
 void
 FcTestDestroy (FcTest *test);
@@ -530,9 +537,8 @@ void
 FcMemFree (int kind, int size);
 
 /* fclang.c */
-FcBool
-FcFreeTypeSetLang (FcPattern       *pattern, 
-                  FcCharSet        *charset, 
+FcLangSet *
+FcFreeTypeLangSet (const FcCharSet  *charset, 
                   const FcChar8    *exclusiveLang);
 
 FcLangResult
@@ -541,6 +547,15 @@ FcLangCompare (const FcChar8 *s1, const FcChar8 *s2);
 const FcCharSet *
 FcCharSetForLang (const FcChar8 *lang);
 
+FcLangSet *
+FcLangSetPromote (const FcChar8 *lang);
+
+FcLangSet *
+FcNameParseLangSet (const FcChar8 *string);
+
+FcBool
+FcNameUnparseLangSet (FcStrBuf *buf, const FcLangSet *ls);
+
 /* fclist.c */
 
 /* fcmatch.c */
@@ -567,6 +582,9 @@ FcPatternAddWithBinding  (FcPattern     *p,
                          FcValueBinding    binding,
                          FcBool            append);
 
+FcPattern *
+FcPatternFreeze (FcPattern *p);
+
 /* fcrender.c */
 
 /* fcmatrix.c */