#ifndef _FCINT_H_
#define _FCINT_H_
#ifdef HAVE_CONFIG_H
#include <config.h>
#endif
#include "fcstdint.h"
#include <stdlib.h>
#include <stdio.h>
#include <string.h>
#include <ctype.h>
#include <assert.h>
#include <errno.h>
#include <limits.h>
#include <float.h>
#include <math.h>
#ifdef HAVE_UNISTD_H
#include <unistd.h>
#endif
#include <stddef.h>
#include <sys/types.h>
#include <sys/stat.h>
#include <time.h>
#include <fontconfig/fontconfig.h>
#include <fontconfig/fcprivate.h>
#include "fcdeprecate.h"
#include "fcmutex.h"
#include "fcatomic.h"
#ifndef FC_CONFIG_PATH
#define FC_CONFIG_PATH …
#endif
#ifdef _WIN32
#define FC_LIKELY …
#define FC_UNLIKELY …
#else
#define FC_LIKELY(expr) …
#define FC_UNLIKELY(expr) …
#endif
#ifdef _WIN32
# include "fcwindows.h"
typedef UINT (WINAPI *pfnGetSystemWindowsDirectory)(LPSTR, UINT);
typedef HRESULT (WINAPI *pfnSHGetFolderPathA)(HWND, int, HANDLE, DWORD, LPSTR);
extern pfnGetSystemWindowsDirectory pGetSystemWindowsDirectory;
extern pfnSHGetFolderPathA pSHGetFolderPathA;
#define FC_SEARCH_PATH_SEPARATOR …
#define FC_DIR_SEPARATOR …
#define FC_DIR_SEPARATOR_S …
#else
#define FC_SEARCH_PATH_SEPARATOR …
#define FC_DIR_SEPARATOR …
#define FC_DIR_SEPARATOR_S …
#endif
#ifdef PATH_MAX
#define FC_PATH_MAX …
#else
#define FC_PATH_MAX …
#endif
#if __GNUC__ >= 4
#define FC_UNUSED …
#else
#define FC_UNUSED
#endif
#ifndef FC_UINT64_FORMAT
#define FC_UINT64_FORMAT …
#endif
#define FC_DBG_MATCH …
#define FC_DBG_MATCHV …
#define FC_DBG_EDIT …
#define FC_DBG_FONTSET …
#define FC_DBG_CACHE …
#define FC_DBG_CACHEV …
#define FC_DBG_PARSE …
#define FC_DBG_SCAN …
#define FC_DBG_SCANV …
#define FC_DBG_CONFIG …
#define FC_DBG_LANGSET …
#define FC_DBG_MATCH2 …
#define _FC_ASSERT_STATIC1(_line, _cond) …
#define _FC_ASSERT_STATIC0(_line, _cond) …
#define FC_ASSERT_STATIC(_cond) …
#define FC_MIN(a,b) …
#define FC_MAX(a,b) …
#if (__GNUC__ > 3 || (__GNUC__ == 3 && __GNUC_MINOR__ >= 3)) && defined(__ELF__) && !defined(__sun)
#define FcPrivate …
#define HAVE_GNUC_ATTRIBUTE …
#include "fcalias.h"
#elif defined(__SUNPRO_C) && (__SUNPRO_C >= 0x550)
#define FcPrivate …
#else
#define FcPrivate
#endif
#ifdef ENABLE_NLS
#include <libintl.h>
#define _ …
#else
#define dgettext(d, s) …
#define _(x) …
#endif
#define N_(x) …
FC_ASSERT_STATIC(…) …;
#define FcStrdup(s) …
#define FcFree(s) …
#define FcIsEncodedOffset(p) …
#define FcOffsetEncode(o,t) …
#define FcOffsetDecode(p) …
#define FcPtrToOffset(b,p) …
#define FcOffsetToPtr(b,o,t) …
#define FcEncodedOffsetToPtr(b,p,t) …
#define FcPtrToEncodedOffset(b,p,t) …
#define FcOffsetMember(s,m,t) …
#define FcEncodedOffsetMember(s,m,t) …
#define FcPointerMember(s,m,t) …
#define FcValueString(v) …
#define FcValueCharSet(v) …
#define FcValueLangSet(v) …
#define FcValueRange(v) …
FcValueListPtr;
FcValueList;
#define FcValueListNext(vl) …
FcObject;
#define FC_EXT_OBJ_INDEX …
#define FC_OBJ_ID(_n_) …
FcPatternEltPtr;
FcPatternElt;
#define FcPatternEltValues(pe) …
struct _FcPattern { … };
#define FcPatternElts(p) …
#define FcFontSetFonts(fs) …
#define FcFontSetFont(fs,i) …
FcOp;
FcOpFlags;
#define FC_OP_GET_OP(_x_) …
#define FC_OP_GET_FLAGS(_x_) …
#define FC_OP(_x_,_f_) …
FcExprMatrix;
FcExprName;
struct _FcRange { … };
FcExpr;
FcExprPage;
struct _FcExprPage { … };
FcQual;
#define FcMatchDefault …
FcTest;
FcEdit;
FcDestroyFunc;
FcPtrList;
FcPtrListIter;
FcRuleType;
FcRule;
FcRuleSet;
FcCharLeaf;
struct _FcCharSet { … };
#define FcCharSetLeaves(c) …
#define FcCharSetLeaf(c,i) …
#define FcCharSetNumbers(c) …
#define FCSS_DEFAULT …
#define FCSS_ALLOW_DUPLICATES …
#define FCSS_GROW_BY_64 …
#define FcStrSetHasControlBit(s,c) …
#define FcStrSetHasControlBits(s,c) …
struct _FcStrSet { … };
struct _FcStrList { … };
FcStrBuf;
FcHashTable;
FcHashFunc;
FcCompareFunc;
FcCopyFunc;
struct _FcCache { … };
#undef FcCacheDir
#undef FcCacheSubdir
#define FcCacheDir(c) …
#define FcCacheDirs(c) …
#define FcCacheSet(c) …
#define FcCacheSubdir(c,i) …
FcAlign;
FcSerializeBucket;
FcCharSetFreezer;
FcSerialize;
FcGlyphName;
#define FC_CASE_FOLD_RANGE …
#define FC_CASE_FOLD_EVEN_ODD …
#define FC_CASE_FOLD_FULL …
FcCaseFold;
#define FC_MAX_FILE_LEN …
#define FC_CACHE_MAGIC_MMAP …
#define FC_CACHE_MAGIC_ALLOC …
struct _FcAtomic { … };
struct _FcConfig { … };
FcFileTime;
FcCharMap;
FcStatFS;
struct _FcStatFS { … };
FcValuePromotionBuffer;
struct _FcValuePromotionBuffer { … };
FcPrivate FcCache *
FcDirCacheScan (const FcChar8 *dir, FcConfig *config);
FcPrivate FcCache *
FcDirCacheBuild (FcFontSet *set, const FcChar8 *dir, struct stat *dir_stat, FcStrSet *dirs);
FcPrivate FcCache *
FcDirCacheRebuild (FcCache *cache, struct stat *dir_stat, FcStrSet *dirs);
FcPrivate FcBool
FcDirCacheWrite (FcCache *cache, FcConfig *config);
FcPrivate FcBool
FcDirCacheCreateTagFile (const FcChar8 *cache_dir);
FcPrivate void
FcCacheObjectReference (void *object);
FcPrivate void
FcCacheObjectDereference (void *object);
FcPrivate void *
FcCacheAllocate (FcCache *cache, size_t len);
FcPrivate void
FcCacheFini (void);
FcPrivate void
FcDirCacheReference (FcCache *cache, int nref);
FcPrivate int
FcDirCacheLock (const FcChar8 *dir,
FcConfig *config);
FcPrivate void
FcDirCacheUnlock (int fd);
FcPrivate FcBool
FcConfigInit (void);
FcPrivate void
FcConfigFini (void);
FcPrivate FcChar8 *
FcConfigXdgCacheHome (void);
FcPrivate FcChar8 *
FcConfigXdgConfigHome (void);
FcPrivate FcChar8 *
FcConfigXdgDataHome (void);
FcPrivate FcStrSet *
FcConfigXdgDataDirs (void);
FcPrivate FcExpr *
FcConfigAllocExpr (FcConfig *config);
FcPrivate FcBool
FcConfigAddConfigDir (FcConfig *config,
const FcChar8 *d);
FcPrivate FcBool
FcConfigAddFontDir (FcConfig *config,
const FcChar8 *d,
const FcChar8 *m,
const FcChar8 *salt);
FcPrivate FcBool
FcConfigResetFontDirs (FcConfig *config);
FcPrivate FcChar8 *
FcConfigMapFontPath(FcConfig *config,
const FcChar8 *path);
FcPrivate const FcChar8 *
FcConfigMapSalt (FcConfig *config,
const FcChar8 *path);
FcPrivate FcBool
FcConfigAddCacheDir (FcConfig *config,
const FcChar8 *d);
FcPrivate FcBool
FcConfigAddConfigFile (FcConfig *config,
const FcChar8 *f);
FcPrivate FcBool
FcConfigAddBlank (FcConfig *config,
FcChar32 blank);
FcBool
FcConfigAddRule (FcConfig *config,
FcRule *rule,
FcMatchKind kind);
FcPrivate void
FcConfigSetFonts (FcConfig *config,
FcFontSet *fonts,
FcSetName set);
FcPrivate FcBool
FcConfigCompareValue (const FcValue *m,
unsigned int op_,
const FcValue *v);
FcPrivate FcBool
FcConfigGlobAdd (FcConfig *config,
const FcChar8 *glob,
FcBool accept);
FcPrivate FcBool
FcConfigAcceptFilename (FcConfig *config,
const FcChar8 *filename);
FcPrivate FcBool
FcConfigPatternsAdd (FcConfig *config,
FcPattern *pattern,
FcBool accept);
FcPrivate FcBool
FcConfigAcceptFont (FcConfig *config,
const FcPattern *font);
FcPrivate FcFileTime
FcConfigModifiedTime (FcConfig *config);
FcPrivate FcBool
FcConfigAddCache (FcConfig *config, FcCache *cache,
FcSetName set, FcStrSet *dirSet, FcChar8 *forDir);
FcPrivate FcRuleSet *
FcRuleSetCreate (const FcChar8 *name);
FcPrivate void
FcRuleSetDestroy (FcRuleSet *rs);
FcPrivate void
FcRuleSetReference (FcRuleSet *rs);
FcPrivate void
FcRuleSetEnable (FcRuleSet *rs,
FcBool flag);
FcPrivate void
FcRuleSetAddDescription (FcRuleSet *rs,
const FcChar8 *domain,
const FcChar8 *description);
FcPrivate int
FcRuleSetAdd (FcRuleSet *rs,
FcRule *rule,
FcMatchKind kind);
FcPrivate intptr_t
FcAlignSize (intptr_t size);
FcPrivate FcSerialize *
FcSerializeCreate (void);
FcPrivate void
FcSerializeDestroy (FcSerialize *serialize);
FcPrivate FcBool
FcSerializeAlloc (FcSerialize *serialize, const void *object, int size);
FcPrivate intptr_t
FcSerializeReserve (FcSerialize *serialize, int size);
FcPrivate intptr_t
FcSerializeOffset (FcSerialize *serialize, const void *object);
FcPrivate void *
FcSerializePtr (FcSerialize *serialize, const void *object);
FcPrivate FcBool
FcLangSetSerializeAlloc (FcSerialize *serialize, const FcLangSet *l);
FcPrivate FcLangSet *
FcLangSetSerialize(FcSerialize *serialize, const FcLangSet *l);
FcPrivate FcCharSet *
FcCharSetPromote (FcValuePromotionBuffer *vbuf);
FcPrivate void
FcLangCharSetPopulate (void);
FcPrivate FcCharSetFreezer *
FcCharSetFreezerCreate (void);
FcPrivate const FcCharSet *
FcCharSetFreeze (FcCharSetFreezer *freezer, const FcCharSet *fcs);
FcPrivate void
FcCharSetFreezerDestroy (FcCharSetFreezer *freezer);
FcPrivate FcBool
FcNameUnparseCharSet (FcStrBuf *buf, const FcCharSet *c);
FcPrivate FcCharSet *
FcNameParseCharSet (FcChar8 *string);
FcPrivate FcBool
FcNameUnparseValue (FcStrBuf *buf,
FcValue *v0,
FcChar8 *escape);
FcPrivate FcBool
FcNameUnparseValueList (FcStrBuf *buf,
FcValueListPtr v,
FcChar8 *escape);
FcPrivate FcCharLeaf *
FcCharSetFindLeafCreate (FcCharSet *fcs, FcChar32 ucs4);
FcPrivate FcBool
FcCharSetSerializeAlloc(FcSerialize *serialize, const FcCharSet *cs);
FcPrivate FcCharSet *
FcCharSetSerialize(FcSerialize *serialize, const FcCharSet *cs);
FcPrivate FcChar16 *
FcCharSetGetNumbers(const FcCharSet *c);
FcPrivate int
FcOpen(const char *pathname, int flags, ...);
FcPrivate int
FcMakeTempfile (char *template);
FcPrivate int32_t
FcRandom (void);
FcPrivate FcBool
FcMakeDirectory (const FcChar8 *dir);
FcPrivate ssize_t
FcReadLink (const FcChar8 *pathname,
FcChar8 *buf,
size_t bufsiz);
FcPrivate void
FcValuePrintFile (FILE *f, const FcValue v);
FcPrivate void
FcValuePrintWithPosition (const FcValue v, FcBool show_pos_mark);
FcPrivate void
FcValueListPrintWithPosition (FcValueListPtr l, const FcValueListPtr pos);
FcPrivate void
FcValueListPrint (FcValueListPtr l);
FcPrivate void
FcLangSetPrint (const FcLangSet *ls);
FcPrivate void
FcOpPrint (FcOp op);
FcPrivate void
FcTestPrint (const FcTest *test);
FcPrivate void
FcExprPrint (const FcExpr *expr);
FcPrivate void
FcEditPrint (const FcEdit *edit);
FcPrivate void
FcRulePrint (const FcRule *rule);
FcPrivate void
FcCharSetPrint (const FcCharSet *c);
FcPrivate void
FcPatternPrint2 (FcPattern *p1, FcPattern *p2, const FcObjectSet *os);
extern FcPrivate int FcDebugVal;
#define FcDebug() …
FcPrivate void
FcInitDebug (void);
FcPrivate FcChar8 *
FcGetDefaultLang (void);
FcPrivate FcChar8 *
FcGetPrgname (void);
FcPrivate FcChar8 *
FcGetDesktopName (void);
FcPrivate void
FcDefaultFini (void);
FcPrivate FcBool
FcFileIsLink (const FcChar8 *file);
FcPrivate FcBool
FcFileIsFile (const FcChar8 *file);
FcPrivate FcBool
FcFileScanConfig (FcFontSet *set,
FcStrSet *dirs,
const FcChar8 *file,
FcConfig *config);
FcPrivate FcBool
FcDirScanConfig (FcFontSet *set,
FcStrSet *dirs,
const FcChar8 *dir,
FcBool force,
FcConfig *config);
FcPrivate int
FcFontDebug (void);
FcPrivate FcBool
FcFontSetSerializeAlloc (FcSerialize *serialize, const FcFontSet *s);
FcPrivate FcFontSet *
FcFontSetSerialize (FcSerialize *serialize, const FcFontSet * s);
FcPrivate FcFontSet *
FcFontSetDeserialize (const FcFontSet *set);
FcPrivate FcPtrList *
FcPtrListCreate (FcDestroyFunc func);
FcPrivate void
FcPtrListDestroy (FcPtrList *list);
FcPrivate void
FcPtrListIterInit (const FcPtrList *list,
FcPtrListIter *iter);
FcPrivate void
FcPtrListIterInitAtLast (FcPtrList *list,
FcPtrListIter *iter);
FcPrivate FcBool
FcPtrListIterNext (const FcPtrList *list,
FcPtrListIter *iter);
FcPrivate FcBool
FcPtrListIterIsValid (const FcPtrList *list,
const FcPtrListIter *iter);
FcPrivate void *
FcPtrListIterGetValue (const FcPtrList *list,
const FcPtrListIter *iter);
FcPrivate FcBool
FcPtrListIterAdd (FcPtrList *list,
FcPtrListIter *iter,
void *data);
FcPrivate FcBool
FcPtrListIterRemove (FcPtrList *list,
FcPtrListIter *iter);
FcPrivate FcConfig *
FcInitLoadOwnConfig (FcConfig *config);
FcPrivate FcConfig *
FcInitLoadOwnConfigAndFonts (FcConfig *config);
FcPrivate void
FcConfigPathFini (void);
FcPrivate void
FcTestDestroy (FcTest *test);
FcPrivate void
FcEditDestroy (FcEdit *e);
void
FcRuleDestroy (FcRule *rule);
FcPrivate FcLangSet *
FcFreeTypeLangSet (const FcCharSet *charset,
const FcChar8 *exclusiveLang);
FcPrivate FcLangResult
FcLangCompare (const FcChar8 *s1, const FcChar8 *s2);
FcPrivate FcLangSet *
FcLangSetPromote (const FcChar8 *lang, FcValuePromotionBuffer *buf);
FcPrivate FcLangSet *
FcNameParseLangSet (const FcChar8 *string);
FcPrivate FcBool
FcNameUnparseLangSet (FcStrBuf *buf, const FcLangSet *ls);
FcPrivate FcChar8 *
FcNameUnparseEscaped (FcPattern *pat, FcBool escape);
FcPrivate FcBool
FcConfigParseOnly (FcConfig *config,
const FcChar8 *name,
FcBool complain);
FcPrivate FcChar8 *
FcConfigRealFilename (FcConfig *config,
const FcChar8 *url);
FcPrivate FcBool
FcListPatternMatchAny (const FcPattern *p,
const FcPattern *font);
enum { … };
FcPrivate FcBool
FcNameConstantWithObjectCheck (const FcChar8 *string, const char *object, int *result);
FcPrivate FcBool
FcNameBool (const FcChar8 *v, FcBool *result);
FcPrivate FcBool
FcObjectValidType (FcObject object, FcType type);
FcPrivate FcObject
FcObjectFromName (const char * name);
FcPrivate const char *
FcObjectName (FcObject object);
FcPrivate FcObjectSet *
FcObjectGetSet (void);
#define FcObjectCompare(a, b) …
FcPrivate FcValue
FcValueCanonicalize (const FcValue *v);
FcPrivate FcValueListPtr
FcValueListCreate (void);
FcPrivate void
FcValueListDestroy (FcValueListPtr l);
FcPrivate FcValueListPtr
FcValueListPrepend (FcValueListPtr vallist,
FcValue value,
FcValueBinding binding);
FcPrivate FcValueListPtr
FcValueListAppend (FcValueListPtr vallist,
FcValue value,
FcValueBinding binding);
FcPrivate FcValueListPtr
FcValueListDuplicate(FcValueListPtr orig);
FcPrivate FcPatternElt *
FcPatternObjectFindElt (const FcPattern *p, FcObject object);
FcPrivate FcPatternElt *
FcPatternObjectInsertElt (FcPattern *p, FcObject object);
FcPrivate FcBool
FcPatternObjectListAdd (FcPattern *p,
FcObject object,
FcValueListPtr list,
FcBool append);
FcPrivate FcBool
FcPatternObjectAddWithBinding (FcPattern *p,
FcObject object,
FcValue value,
FcValueBinding binding,
FcBool append);
FcPrivate FcBool
FcPatternObjectAdd (FcPattern *p, FcObject object, FcValue value, FcBool append);
FcPrivate FcBool
FcPatternObjectAddWeak (FcPattern *p, FcObject object, FcValue value, FcBool append);
FcPrivate FcResult
FcPatternObjectGetWithBinding (const FcPattern *p, FcObject object, int id, FcValue *v, FcValueBinding *b);
FcPrivate FcResult
FcPatternObjectGet (const FcPattern *p, FcObject object, int id, FcValue *v);
FcPrivate FcBool
FcPatternObjectDel (FcPattern *p, FcObject object);
FcPrivate FcBool
FcPatternObjectRemove (FcPattern *p, FcObject object, int id);
FcPrivate FcBool
FcPatternObjectAddInteger (FcPattern *p, FcObject object, int i);
FcPrivate FcBool
FcPatternObjectAddDouble (FcPattern *p, FcObject object, double d);
FcPrivate FcBool
FcPatternObjectAddString (FcPattern *p, FcObject object, const FcChar8 *s);
FcPrivate FcBool
FcPatternObjectAddMatrix (FcPattern *p, FcObject object, const FcMatrix *s);
FcPrivate FcBool
FcPatternObjectAddCharSet (FcPattern *p, FcObject object, const FcCharSet *c);
FcPrivate FcBool
FcPatternObjectAddBool (FcPattern *p, FcObject object, FcBool b);
FcPrivate FcBool
FcPatternObjectAddLangSet (FcPattern *p, FcObject object, const FcLangSet *ls);
FcPrivate FcBool
FcPatternObjectAddRange (FcPattern *p, FcObject object, const FcRange *r);
FcPrivate FcResult
FcPatternObjectGetInteger (const FcPattern *p, FcObject object, int n, int *i);
FcPrivate FcResult
FcPatternObjectGetDouble (const FcPattern *p, FcObject object, int n, double *d);
FcPrivate FcResult
FcPatternObjectGetString (const FcPattern *p, FcObject object, int n, FcChar8 ** s);
FcPrivate FcResult
FcPatternObjectGetMatrix (const FcPattern *p, FcObject object, int n, FcMatrix **s);
FcPrivate FcResult
FcPatternObjectGetCharSet (const FcPattern *p, FcObject object, int n, FcCharSet **c);
FcPrivate FcResult
FcPatternObjectGetBool (const FcPattern *p, FcObject object, int n, FcBool *b);
FcPrivate FcResult
FcPatternObjectGetLangSet (const FcPattern *p, FcObject object, int n, FcLangSet **ls);
FcPrivate FcResult
FcPatternObjectGetRange (const FcPattern *p, FcObject object, int id, FcRange **r);
FcPrivate FcBool
FcPatternAppend (FcPattern *p, FcPattern *s);
FcPrivate int
FcPatternPosition (const FcPattern *p, const char *object);
FcPrivate FcBool
FcPatternFindObjectIter (const FcPattern *pat, FcPatternIter *iter, FcObject object);
FcPrivate FcObject
FcPatternIterGetObjectId (const FcPattern *pat, FcPatternIter *iter);
FcPrivate FcValueListPtr
FcPatternIterGetValues (const FcPattern *pat, FcPatternIter *iter);
FcPrivate FcPattern *
FcPatternCacheRewriteFile (const FcPattern *pat, FcCache *cache, const FcChar8 *relocated_font_file);
FcPrivate FcChar32
FcStringHash (const FcChar8 *s);
FcPrivate FcBool
FcPatternSerializeAlloc (FcSerialize *serialize, const FcPattern *pat);
FcPrivate FcPattern *
FcPatternSerialize (FcSerialize *serialize, const FcPattern *pat);
FcPrivate FcBool
FcValueListSerializeAlloc (FcSerialize *serialize, const FcValueList *pat);
FcPrivate FcValueList *
FcValueListSerialize (FcSerialize *serialize, const FcValueList *pat);
extern FcPrivate const FcMatrix FcIdentityMatrix;
FcPrivate void
FcMatrixFree (FcMatrix *mat);
FcPrivate FcRange *
FcRangePromote (double v, FcValuePromotionBuffer *vbuf);
FcPrivate FcBool
FcRangeIsInRange (const FcRange *a, const FcRange *b);
FcPrivate FcBool
FcRangeCompare (FcOp op, const FcRange *a, const FcRange *b);
FcPrivate FcChar32
FcRangeHash (const FcRange *r);
FcPrivate FcBool
FcRangeSerializeAlloc (FcSerialize *serialize, const FcRange *r);
FcPrivate FcRange *
FcRangeSerialize (FcSerialize *serialize, const FcRange *r);
FcPrivate int
FcStat (const FcChar8 *file, struct stat *statb);
FcPrivate int
FcStatChecksum (const FcChar8 *file, struct stat *statb);
FcPrivate FcBool
FcIsFsMmapSafe (int fd);
FcPrivate FcBool
FcIsFsMtimeBroken (const FcChar8 *dir);
FcPrivate FcStrSet *
FcStrSetCreateEx (unsigned int control);
FcPrivate FcBool
FcStrSetInsert (FcStrSet *set, const FcChar8 *s, int pos);
FcPrivate FcBool
FcStrSetAddLangs (FcStrSet *strs, const char *languages);
FcPrivate void
FcStrSetSort (FcStrSet * set);
FcPrivate FcBool
FcStrSetMemberAB (FcStrSet *set, const FcChar8 *a, FcChar8 *b, FcChar8 **ret);
FcPrivate FcBool
FcStrSetAddTriple (FcStrSet *set, const FcChar8 *a, const FcChar8 *b, const FcChar8 *c);
FcPrivate const FcChar8 *
FcStrTripleSecond (FcChar8 *s);
FcPrivate const FcChar8 *
FcStrTripleThird (FcChar8 *str);
FcPrivate FcBool
FcStrSetAddFilenamePairWithSalt (FcStrSet *strs, const FcChar8 *d, const FcChar8 *m, const FcChar8 *salt);
FcPrivate FcBool
FcStrSetDeleteAll (FcStrSet *set);
FcPrivate void
FcStrBufInit (FcStrBuf *buf, FcChar8 *init, int size);
FcPrivate void
FcStrBufDestroy (FcStrBuf *buf);
FcPrivate FcChar8 *
FcStrBufDone (FcStrBuf *buf);
FcPrivate FcChar8 *
FcStrBufDoneStatic (FcStrBuf *buf);
FcPrivate FcBool
FcStrBufChar (FcStrBuf *buf, FcChar8 c);
FcPrivate FcBool
FcStrBufString (FcStrBuf *buf, const FcChar8 *s);
FcPrivate FcBool
FcStrBufData (FcStrBuf *buf, const FcChar8 *s, int len);
FcPrivate int
FcStrCmpIgnoreBlanksAndCase (const FcChar8 *s1, const FcChar8 *s2);
FcPrivate int
FcStrCmpIgnoreCaseAndDelims (const FcChar8 *s1, const FcChar8 *s2, const FcChar8 *delims);
FcPrivate const FcChar8 *
FcStrContainsIgnoreBlanksAndCase (const FcChar8 *s1, const FcChar8 *s2);
FcPrivate const FcChar8 *
FcStrContainsIgnoreCase (const FcChar8 *s1, const FcChar8 *s2);
FcPrivate const FcChar8 *
FcStrContainsWord (const FcChar8 *s1, const FcChar8 *s2);
FcPrivate int
FcStrMatchIgnoreCaseAndDelims (const FcChar8 *s1, const FcChar8 *s2, const FcChar8 *delims);
FcPrivate FcBool
FcStrGlobMatch (const FcChar8 *glob,
const FcChar8 *string);
FcPrivate FcBool
FcStrUsesHome (const FcChar8 *s);
FcPrivate FcBool
FcStrIsAbsoluteFilename (const FcChar8 *s);
FcPrivate FcChar8 *
FcStrLastSlash (const FcChar8 *path);
FcPrivate FcChar32
FcStrHashIgnoreCase (const FcChar8 *s);
FcPrivate FcChar32
FcStrHashIgnoreBlanksAndCase (const FcChar8 *s);
FcPrivate FcChar8 *
FcStrRealPath (const FcChar8 *path);
FcPrivate FcChar8 *
FcStrCanonFilename (const FcChar8 *s);
FcPrivate FcBool
FcStrSerializeAlloc (FcSerialize *serialize, const FcChar8 *str);
FcPrivate FcChar8 *
FcStrSerialize (FcSerialize *serialize, const FcChar8 *str);
FcPrivate void
FcObjectFini (void);
FcPrivate FcObject
FcObjectLookupIdByName (const char *str);
FcPrivate FcObject
FcObjectLookupBuiltinIdByName (const char *str);
FcPrivate const char *
FcObjectLookupOtherNameById (FcObject id);
FcPrivate const FcObjectType *
FcObjectLookupOtherTypeById (FcObject id);
FcPrivate const FcObjectType *
FcObjectLookupOtherTypeByName (const char *str);
FcPrivate FcBool
FcHashStrCopy (const void *src,
void **dest);
FcPrivate FcBool
FcHashUuidCopy (const void *src,
void **dest);
FcPrivate void
FcHashUuidFree (void *data);
FcPrivate FcHashTable *
FcHashTableCreate (FcHashFunc hash_func,
FcCompareFunc compare_func,
FcCopyFunc key_copy_func,
FcCopyFunc value_copy_func,
FcDestroyFunc key_destroy_func,
FcDestroyFunc value_destroy_func);
FcPrivate void
FcHashTableDestroy (FcHashTable *table);
FcPrivate FcBool
FcHashTableFind (FcHashTable *table,
const void *key,
void **value);
FcPrivate FcBool
FcHashTableAdd (FcHashTable *table,
void *key,
void *value);
FcPrivate FcBool
FcHashTableReplace (FcHashTable *table,
void *key,
void *value);
FcPrivate FcBool
FcHashTableRemove (FcHashTable *table,
void *key);
#endif