#include <stdlib.h>
#include <stdio.h>
+#include <stdint.h>
#include <string.h>
#include <ctype.h>
#include <errno.h>
#define FC_MEM_NUM 30
+#define FC_BANK_LANGS 0xfcfcfcfc
+
typedef enum _FcValueBinding {
FcValueBindingWeak, FcValueBindingStrong, FcValueBindingSame
} FcValueBinding;
int pattern_count; /* number of FcPatterns */
int patternelt_count; /* number of FcPatternElts */
int valuelist_count; /* number of FcValueLists */
- int str_count; /* number of FcStrs */
- int langset_count;
- int charset_count;
- int charset_numbers_count;
+ int str_count; /* size of strings appearing as FcValues */
+ int langset_count; /* number of FcLangSets */
+ int charset_count; /* number of FcCharSets */
+ int charset_numbers_count;
int charset_leaf_count;
int charset_leaf_idx_count;
} FcCache;
extern FcConfig *_fcConfig;
+typedef struct _FcFileTime {
+ time_t time;
+ FcBool set;
+} FcFileTime;
+
typedef struct _FcCharMap FcCharMap;
+#define ALIGN(v,type) ((__typeof__(v))(((uintptr_t)(v) + __alignof__(type) - 1) & ~(__alignof__(type) - 1)))
+
/* fcblanks.c */
/* fccache.c */
void
FcGlobalCacheLoad (FcGlobalCache *cache,
FcStrSet *staleDirs,
- const FcChar8 *cache_file);
+ const FcChar8 *cache_file,
+ FcConfig *config);
FcBool
FcGlobalCacheUpdate (FcGlobalCache *cache,
FcBool
FcDirCacheWrite (FcFontSet *set, FcStrSet * dirs, const FcChar8 *dir);
+FcBool
+FcDirCacheRead (FcFontSet * set, FcStrSet * dirs, const FcChar8 *dir);
+
int
FcCacheBankToIndex (int bank);
+
+const char *
+FcCacheFindBankDir (int bank);
/* fccfg.c */
FcConfigAcceptFont (FcConfig *config,
const FcPattern *font);
+FcFileTime
+FcConfigModifiedTime (FcConfig *config);
+
/* fccharset.c */
+void
+FcLangCharSetPopulate (void);
+
FcCharSet *
FcCharSetFreeze (FcCharSet *cs);
int
FcCharSetNeededBytes (const FcCharSet *c);
+int
+FcCharSetNeededBytesAlign (void);
+
void *
FcCharSetDistributeBytes (FcCache * metadata,
void * block_ptr);
void
FcSubstPrint (const FcSubst *subst);
-int
-FcDebug (void);
+extern int FcDebugVal;
+
+static __inline__ int
+FcDebug (void) { return FcDebugVal; }
+
+void
+FcInitDebug (void);
+
+/* fcdefault.c */
+FcChar8 *
+FcGetDefaultLang (void);
/* fcdir.c */
int
FcFontSetNeededBytes (FcFontSet *s);
+int
+FcFontSetNeededBytesAlign (void);
+
void *
FcFontSetDistributeBytes (FcCache * metadata, void * block_ptr);
int
FcLangSetNeededBytes (const FcLangSet *l);
+int
+FcLangSetNeededBytesAlign (void);
+
void *
FcLangSetDistributeBytes (FcCache * metadata,
void * block_ptr);
int
FcObjectNeededBytes (void);
+int
+FcObjectNeededBytesAlign (void);
+
void *
FcObjectUnserialize (FcCache metadata, void *block_ptr);
FcBool
FcPatternAppend (FcPattern *p, FcPattern *s);
+void
+FcPatternAddFullFname (const FcPattern *p, const char *fname);
+
+void
+FcPatternTransferFullFname (const FcPattern *new, const FcPattern *orig);
+
const FcChar8 *
FcStrStaticName (const FcChar8 *name);
int
FcPatternNeededBytes (FcPattern *p);
+int
+FcPatternNeededBytesAlign (void);
+
void *
FcPatternDistributeBytes (FcCache * metadata, void * block_ptr);