X-Git-Url: https://git.wh0rd.org/?a=blobdiff_plain;f=src%2Ffcint.h;h=81cde21d5e80bf1d9dded764b0a8c50f29d6c055;hb=6b1fc678ca59df3f3f1ffac0e509cf485c9df0c0;hp=c62a5bb370fddf7694e0e3a92d1ed0bce223b255;hpb=09f9f6f62ac94f7b1a6df649a00c64f78ab132f5;p=fontconfig.git diff --git a/src/fcint.h b/src/fcint.h index c62a5bb..81cde21 100644 --- a/src/fcint.h +++ b/src/fcint.h @@ -1,5 +1,5 @@ /* - * $RCSId: xc/lib/fontconfig/src/fcint.h,v 1.27 2002/08/31 22:17:32 keithp Exp $ + * fontconfig/src/fcint.h * * Copyright © 2000 Keith Packard * @@ -13,9 +13,9 @@ * representations about the suitability of this software for any purpose. It * is provided "as is" without express or implied warranty. * - * KEITH PACKARD DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE, + * THE AUTHOR(S) DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE, * INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS, IN NO - * EVENT SHALL KEITH PACKARD BE LIABLE FOR ANY SPECIAL, INDIRECT OR + * EVENT SHALL THE AUTHOR(S) BE LIABLE FOR ANY SPECIAL, INDIRECT OR * CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, * DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER * TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR @@ -42,21 +42,18 @@ #include #include #include +#include #include #include #include #include #include -#include +#include "fcdeprecate.h" #ifndef FC_CONFIG_PATH #define FC_CONFIG_PATH "fonts.conf" #endif -#define FC_FONT_FILE_INVALID ((FcChar8 *) ".") -#define FC_FONT_FILE_DIR ((FcChar8 *) ".dir") -#define FC_GLOBAL_MAGIC_COOKIE "GLOBAL" - #ifdef _WIN32 #define FC_SEARCH_PATH_SEPARATOR ';' #else @@ -75,6 +72,7 @@ #define FC_DBG_MEMORY 512 #define FC_DBG_CONFIG 1024 #define FC_DBG_LANGSET 2048 +#define FC_DBG_OBJTYPES 4096 #define FC_MEM_CHARSET 0 #define FC_MEM_CHARLEAF 1 @@ -113,6 +111,21 @@ #define FC_BANK_FIRST 1 #define FC_BANK_LANGS 0xfcfcfcfc +#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)) + +/* slim_internal.h */ +#if (__GNUC__ > 3 || (__GNUC__ == 3 && __GNUC_MINOR__ >= 3)) && defined(__ELF__) && !defined(__sun) +#define FcPrivate __attribute__((__visibility__("hidden"))) +#define HAVE_GNUC_ATTRIBUTE 1 +#include "fcalias.h" +#elif defined(__SUNPRO_C) && (__SUNPRO_C >= 0x550) +#define FcPrivate __hidden +#else /* not gcc >= 3.3 and not Sun Studio >= 8 */ +#define FcPrivate +#endif + typedef enum _FcValueBinding { FcValueBindingWeak, FcValueBindingStrong, FcValueBindingSame } FcValueBinding; @@ -201,7 +214,7 @@ struct _FcPattern { #define FcFontSetFonts(fs) FcPointerMember(fs,fonts,FcPattern *) #define FcFontSetFont(fs,i) (FcIsEncodedOffset((fs)->fonts) ? \ - FcEncodedOffsetToPtr(FcFontSetFonts(fs), \ + FcEncodedOffsetToPtr(fs, \ FcFontSetFonts(fs)[i], \ FcPattern) : \ fs->fonts[i]) @@ -238,6 +251,15 @@ typedef struct _FcExpr { } u; } FcExpr; +typedef struct _FcExprPage FcExprPage; + +struct _FcExprPage { + FcExprPage *next_page; + FcExpr *next; + FcExpr exprs[(1024 - 2/* two pointers */ - 2/* malloc overhead */) * sizeof (void *) / sizeof (FcExpr)]; + FcExpr end[0]; +}; + typedef enum _FcQual { FcQualAny, FcQualAll, FcQualFirst, FcQualNotFirst } FcQual; @@ -304,20 +326,28 @@ typedef struct _FcStrBuf { FcBool failed; int len; int size; + FcChar8 buf_static[16 * sizeof (void *)]; } FcStrBuf; -typedef struct _FcCache { - int magic; /* FC_CACHE_MAGIC */ - off_t size; /* size of file */ +struct _FcCache { + int magic; /* FC_CACHE_MAGIC_MMAP or FC_CACHE_ALLOC */ + int version; /* FC_CACHE_CONTENT_VERSION */ + intptr_t size; /* size of file */ intptr_t dir; /* offset to dir name */ intptr_t dirs; /* offset to subdirs */ int dirs_count; /* number of subdir strings */ intptr_t set; /* offset to font set */ -} FcCache; + int mtime; /* low bits of directory mtime */ +}; +#undef FcCacheDir +#undef FcCacheSubdir #define FcCacheDir(c) FcOffsetMember(c,dir,FcChar8) #define FcCacheDirs(c) FcOffsetMember(c,dirs,intptr_t) #define FcCacheSet(c) FcOffsetMember(c,set,FcFontSet) +#define FcCacheSubdir(c,i) FcOffsetToPtr (FcCacheDirs(c),\ + FcCacheDirs(c)[i], \ + FcChar8) /* * Used while constructing a directory cache object @@ -325,14 +355,25 @@ typedef struct _FcCache { #define FC_SERIALIZE_HASH_SIZE 8191 +typedef union _FcAlign { + double d; + int i; + intptr_t ip; + FcBool b; + void *p; +} FcAlign; + typedef struct _FcSerializeBucket { struct _FcSerializeBucket *next; const void *object; intptr_t offset; } FcSerializeBucket; +typedef struct _FcCharSetFreezer FcCharSetFreezer; + typedef struct _FcSerialize { intptr_t size; + FcCharSetFreezer *cs_freezer; void *linear; FcSerializeBucket *buckets[FC_SERIALIZE_HASH_SIZE]; } FcSerialize; @@ -389,8 +430,9 @@ typedef struct _FcCaseFold { #define fc_alignof(type) offsetof (struct { char c; type member; }, member) -#define FC_CACHE_MAGIC 0xFC02FC04 -#define FC_CACHE_MAGIC_COPY 0xFC02FC05 +#define FC_CACHE_MAGIC_MMAP 0xFC02FC04 +#define FC_CACHE_MAGIC_ALLOC 0xFC02FC05 +#define FC_CACHE_CONTENT_VERSION 2 struct _FcAtomic { FcChar8 *file; /* original file name */ @@ -412,7 +454,6 @@ struct _FcConfig { * and those directives may occur in any order */ FcStrSet *configDirs; /* directories to scan for fonts */ - FcChar8 *cache; /* name of per-user cache file */ /* * Set of allowed blank chars -- used to * trim fonts of bogus glyphs @@ -440,6 +481,7 @@ struct _FcConfig { */ FcSubst *substPattern; /* substitutions for patterns */ FcSubst *substFont; /* substitutions for fonts */ + FcSubst *substScan; /* substitutions for scanned fonts */ int maxObjects; /* maximum number of tests in all substs */ /* * List of patterns used to control font file selection @@ -463,9 +505,13 @@ struct _FcConfig { */ time_t rescanTime; /* last time information was scanned */ int rescanInterval; /* interval between scans */ + + int ref; /* reference count */ + + FcExprPage *expr_pool; /* pool of FcExpr's */ }; -extern FcConfig *_fcConfig; +extern FcPrivate FcConfig *_fcConfig; typedef struct _FcFileTime { time_t time; @@ -481,319 +527,279 @@ typedef struct _FcCharMap FcCharMap; /* fccache.c */ -FcFontSet * -FcCacheRead (FcConfig *config); +FcPrivate FcCache * +FcDirCacheScan (const FcChar8 *dir, FcConfig *config); -FcBool -FcDirCacheWrite (FcFontSet *set, FcStrSet * dirs, const FcChar8 *dir, FcConfig *config); +FcPrivate FcCache * +FcDirCacheBuild (FcFontSet *set, const FcChar8 *dir, struct stat *dir_stat, FcStrSet *dirs); -FcBool -FcDirCacheConsume (FILE *file, FcFontSet *set, FcStrSet *dirs, - const FcChar8 *dir, char *dirname); +FcPrivate FcBool +FcDirCacheWrite (FcCache *cache, FcConfig *config); -FcCache * -FcDirCacheMap (int fd, off_t size); +FcPrivate void +FcCacheObjectReference (void *object); -void -FcDirCacheUnmap (FcCache *cache); +FcPrivate void +FcCacheObjectDereference (void *object); + +FcPrivate void +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 -FcBool -FcDirCacheRead (FcFontSet * set, FcStrSet * dirs, const FcChar8 *dir, FcConfig *config); - /* fccfg.c */ -FcBool +FcPrivate FcExpr * +FcConfigAllocExpr (FcConfig *config); + +FcPrivate FcBool FcConfigAddConfigDir (FcConfig *config, const FcChar8 *d); -FcBool +FcPrivate FcBool FcConfigAddFontDir (FcConfig *config, const FcChar8 *d); -FcBool +FcPrivate FcBool FcConfigAddDir (FcConfig *config, const FcChar8 *d); -FcBool +FcPrivate FcBool FcConfigAddCacheDir (FcConfig *config, const FcChar8 *d); -FcStrList * -FcConfigGetCacheDirs (FcConfig *config); - -FcBool +FcPrivate FcBool FcConfigAddConfigFile (FcConfig *config, const FcChar8 *f); -FcBool -FcConfigSetCache (FcConfig *config, - const FcChar8 *c); - -FcBool +FcPrivate FcBool FcConfigAddBlank (FcConfig *config, FcChar32 blank); -FcBool +FcPrivate FcBool FcConfigAddEdit (FcConfig *config, FcTest *test, FcEdit *edit, FcMatchKind kind); -void +FcPrivate void FcConfigSetFonts (FcConfig *config, FcFontSet *fonts, FcSetName set); -FcBool +FcPrivate FcBool FcConfigCompareValue (const FcValue *m, FcOp op, const FcValue *v); -FcBool +FcPrivate FcBool FcConfigGlobAdd (FcConfig *config, const FcChar8 *glob, FcBool accept); -FcBool +FcPrivate FcBool FcConfigAcceptFilename (FcConfig *config, const FcChar8 *filename); -FcBool +FcPrivate FcBool FcConfigPatternsAdd (FcConfig *config, FcPattern *pattern, FcBool accept); -FcBool +FcPrivate FcBool FcConfigAcceptFont (FcConfig *config, const FcPattern *font); -FcFileTime +FcPrivate FcFileTime FcConfigModifiedTime (FcConfig *config); -intptr_t +FcPrivate FcBool +FcConfigAddCache (FcConfig *config, FcCache *cache, + FcSetName set, FcStrSet *dirSet); + +/* fcserialize.c */ +FcPrivate intptr_t FcAlignSize (intptr_t size); -FcSerialize * +FcPrivate FcSerialize * FcSerializeCreate (void); -void +FcPrivate void FcSerializeDestroy (FcSerialize *serialize); -FcBool +FcPrivate FcBool FcSerializeAlloc (FcSerialize *serialize, const void *object, int size); -intptr_t +FcPrivate intptr_t FcSerializeReserve (FcSerialize *serialize, int size); -intptr_t +FcPrivate intptr_t FcSerializeOffset (FcSerialize *serialize, const void *object); -void * +FcPrivate void * FcSerializePtr (FcSerialize *serialize, const void *object); -FcBool +FcPrivate FcBool FcLangSetSerializeAlloc (FcSerialize *serialize, const FcLangSet *l); -FcLangSet * +FcPrivate FcLangSet * FcLangSetSerialize(FcSerialize *serialize, const FcLangSet *l); /* fccharset.c */ -void +FcPrivate void FcLangCharSetPopulate (void); -FcCharSet * -FcCharSetFreeze (FcCharSet *cs); +FcPrivate FcCharSetFreezer * +FcCharSetFreezerCreate (void); + +FcPrivate const FcCharSet * +FcCharSetFreeze (FcCharSetFreezer *freezer, const FcCharSet *fcs); -void -FcCharSetThawAll (void); +FcPrivate void +FcCharSetFreezerDestroy (FcCharSetFreezer *freezer); -FcBool +FcPrivate FcBool FcNameUnparseCharSet (FcStrBuf *buf, const FcCharSet *c); -FcCharSet * +FcPrivate FcCharSet * FcNameParseCharSet (FcChar8 *string); -FcCharLeaf * +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); -FcBool +FcPrivate FcBool FcCharSetSerializeAlloc(FcSerialize *serialize, const FcCharSet *cs); -FcCharSet * +FcPrivate FcCharSet * FcCharSetSerialize(FcSerialize *serialize, const FcCharSet *cs); -FcChar16 * +FcPrivate FcChar16 * FcCharSetGetNumbers(const FcCharSet *c); /* fcdbg.c */ -void +FcPrivate void FcValueListPrint (const FcValueListPtr l); -void +FcPrivate void FcLangSetPrint (const FcLangSet *ls); -void +FcPrivate void FcOpPrint (FcOp op); -void +FcPrivate void FcTestPrint (const FcTest *test); -void +FcPrivate void FcExprPrint (const FcExpr *expr); -void +FcPrivate void FcEditPrint (const FcEdit *edit); -void +FcPrivate void FcSubstPrint (const FcSubst *subst); -void +FcPrivate void FcCharSetPrint (const FcCharSet *c); -extern int FcDebugVal; +extern FcPrivate int FcDebugVal; -static inline int -FcDebug (void) { return FcDebugVal; } +#define FcDebug() (FcDebugVal) -void +FcPrivate void FcInitDebug (void); /* fcdefault.c */ -FcChar8 * +FcPrivate FcChar8 * FcGetDefaultLang (void); /* fcdir.c */ -FcBool -FcFileIsDir (const FcChar8 *file); - -FcBool +FcPrivate FcBool FcFileScanConfig (FcFontSet *set, FcStrSet *dirs, FcBlanks *blanks, const FcChar8 *file, - FcBool force, FcConfig *config); -FcBool +FcPrivate FcBool FcDirScanConfig (FcFontSet *set, FcStrSet *dirs, FcBlanks *blanks, - const FcChar8 *dir, + const FcChar8 *dir, FcBool force, FcConfig *config); /* fcfont.c */ -int +FcPrivate int FcFontDebug (void); - -/* fcfreetype.c */ -FcBool -FcFreeTypeIsExclusiveLang (const FcChar8 *lang); - -FcBool -FcFreeTypeHasLang (FcPattern *pattern, const FcChar8 *lang); - -FcChar32 -FcFreeTypeUcs4ToPrivate (FcChar32 ucs4, const FcCharMap *map); - -FcChar32 -FcFreeTypePrivateToUcs4 (FcChar32 private, const FcCharMap *map); -const FcCharMap * -FcFreeTypeGetPrivateMap (FT_Encoding encoding); - /* fcfs.c */ -FcBool +FcPrivate FcBool FcFontSetSerializeAlloc (FcSerialize *serialize, const FcFontSet *s); -FcFontSet * +FcPrivate FcFontSet * FcFontSetSerialize (FcSerialize *serialize, const FcFontSet * s); - -/* fcgram.y */ -int -FcConfigparse (void); -int -FcConfigwrap (void); - -void -FcConfigerror (char *fmt, ...); - -char * -FcConfigSaveField (const char *field); - -void +/* fcxml.c */ +FcPrivate void FcTestDestroy (FcTest *test); -FcExpr * -FcExprCreateInteger (int i); - -FcExpr * -FcExprCreateDouble (double d); - -FcExpr * -FcExprCreateString (const FcChar8 *s); - -FcExpr * -FcExprCreateMatrix (const FcMatrix *m); - -FcExpr * -FcExprCreateBool (FcBool b); - -FcExpr * -FcExprCreateNil (void); - -FcExpr * -FcExprCreateField (const char *field); - -FcExpr * -FcExprCreateConst (const FcChar8 *constant); - -FcExpr * -FcExprCreateOp (FcExpr *left, FcOp op, FcExpr *right); - -void -FcExprDestroy (FcExpr *e); - -void +FcPrivate void FcEditDestroy (FcEdit *e); /* fcinit.c */ -void +FcPrivate void FcMemReport (void); -void +FcPrivate void FcMemAlloc (int kind, int size); -void +FcPrivate void FcMemFree (int kind, int size); /* fclang.c */ -FcLangSet * +FcPrivate FcLangSet * FcFreeTypeLangSet (const FcCharSet *charset, const FcChar8 *exclusiveLang); -FcLangResult +FcPrivate FcLangResult FcLangCompare (const FcChar8 *s1, const FcChar8 *s2); -const FcCharSet * -FcCharSetForLang (const FcChar8 *lang); - -FcLangSet * +FcPrivate FcLangSet * FcLangSetPromote (const FcChar8 *lang); -FcLangSet * +FcPrivate FcLangSet * FcNameParseLangSet (const FcChar8 *string); -FcBool +FcPrivate FcBool FcNameUnparseLangSet (FcStrBuf *buf, const FcLangSet *ls); +FcPrivate FcChar8 * +FcNameUnparseEscaped (FcPattern *pat, FcBool escape); + /* fclist.c */ -FcBool +FcPrivate FcBool FcListPatternMatchAny (const FcPattern *p, const FcPattern *font); @@ -845,191 +851,197 @@ FcListPatternMatchAny (const FcPattern *p, #define FC_FONTFORMAT_OBJECT 37 #define FC_EMBOLDEN_OBJECT 38 #define FC_EMBEDDED_BITMAP_OBJECT 39 +#define FC_DECORATIVE_OBJECT 40 +#define FC_LCD_FILTER_OBJECT 41 +#define FC_MAX_BASE_OBJECT FC_LCD_FILTER_OBJECT -FcBool +FcPrivate FcBool FcNameBool (const FcChar8 *v, FcBool *result); -FcBool +FcPrivate FcBool FcObjectValidType (FcObject object, FcType type); -FcObject +FcPrivate FcObject FcObjectFromName (const char * name); -const char * +FcPrivate const char * FcObjectName (FcObject object); -FcBool +FcPrivate FcObjectSet * +FcObjectGetSet (void); + +FcPrivate FcBool FcObjectInit (void); -void +FcPrivate void FcObjectFini (void); #define FcObjectCompare(a, b) ((int) a - (int) b) /* fcpat.c */ -FcValue +FcPrivate FcValue FcValueCanonicalize (const FcValue *v); -void +FcPrivate void FcValueListDestroy (FcValueListPtr l); -FcPatternElt * +FcPrivate FcPatternElt * FcPatternObjectFindElt (const FcPattern *p, FcObject object); -FcPatternElt * +FcPrivate FcPatternElt * FcPatternObjectInsertElt (FcPattern *p, FcObject object); -FcBool +FcPrivate FcBool FcPatternObjectAddWithBinding (FcPattern *p, FcObject object, FcValue value, FcValueBinding binding, FcBool append); -FcBool +FcPrivate FcBool FcPatternObjectAdd (FcPattern *p, FcObject object, FcValue value, FcBool append); -FcBool +FcPrivate FcBool FcPatternObjectAddWeak (FcPattern *p, FcObject object, FcValue value, FcBool append); -FcResult +FcPrivate FcResult FcPatternObjectGet (const FcPattern *p, FcObject object, int id, FcValue *v); -FcBool +FcPrivate FcBool FcPatternObjectDel (FcPattern *p, FcObject object); -FcBool +FcPrivate FcBool FcPatternObjectRemove (FcPattern *p, FcObject object, int id); -FcBool +FcPrivate FcBool FcPatternObjectAddInteger (FcPattern *p, FcObject object, int i); -FcBool +FcPrivate FcBool FcPatternObjectAddDouble (FcPattern *p, FcObject object, double d); -FcBool +FcPrivate FcBool FcPatternObjectAddString (FcPattern *p, FcObject object, const FcChar8 *s); -FcBool +FcPrivate FcBool FcPatternObjectAddMatrix (FcPattern *p, FcObject object, const FcMatrix *s); -FcBool +FcPrivate FcBool FcPatternObjectAddCharSet (FcPattern *p, FcObject object, const FcCharSet *c); -FcBool +FcPrivate FcBool FcPatternObjectAddBool (FcPattern *p, FcObject object, FcBool b); -FcBool +FcPrivate FcBool FcPatternObjectAddLangSet (FcPattern *p, FcObject object, const FcLangSet *ls); -FcResult +FcPrivate FcResult FcPatternObjectGetInteger (const FcPattern *p, FcObject object, int n, int *i); -FcResult +FcPrivate FcResult FcPatternObjectGetDouble (const FcPattern *p, FcObject object, int n, double *d); -FcResult +FcPrivate FcResult FcPatternObjectGetString (const FcPattern *p, FcObject object, int n, FcChar8 ** s); -FcResult +FcPrivate FcResult FcPatternObjectGetMatrix (const FcPattern *p, FcObject object, int n, FcMatrix **s); -FcResult +FcPrivate FcResult FcPatternObjectGetCharSet (const FcPattern *p, FcObject object, int n, FcCharSet **c); -FcResult +FcPrivate FcResult FcPatternObjectGetBool (const FcPattern *p, FcObject object, int n, FcBool *b); -FcResult +FcPrivate FcResult FcPatternObjectGetLangSet (const FcPattern *p, FcObject object, int n, FcLangSet **ls); -void +FcPrivate void FcPatternFini (void); -FcBool +FcPrivate FcBool FcPatternAppend (FcPattern *p, FcPattern *s); -const FcChar8 * +FcPrivate const FcChar8 * FcStrStaticName (const FcChar8 *name); -FcChar32 +FcPrivate FcChar32 FcStringHash (const FcChar8 *s); -FcBool +FcPrivate FcBool FcPatternSerializeAlloc (FcSerialize *serialize, const FcPattern *pat); -FcPattern * +FcPrivate FcPattern * FcPatternSerialize (FcSerialize *serialize, const FcPattern *pat); -FcBool +FcPrivate FcBool FcValueListSerializeAlloc (FcSerialize *serialize, const FcValueList *pat); -FcValueList * +FcPrivate FcValueList * FcValueListSerialize (FcSerialize *serialize, const FcValueList *pat); /* fcrender.c */ /* fcmatrix.c */ -extern const FcMatrix FcIdentityMatrix; +extern FcPrivate const FcMatrix FcIdentityMatrix; -void +FcPrivate void FcMatrixFree (FcMatrix *mat); /* fcstr.c */ -void +FcPrivate void FcStrSetSort (FcStrSet * set); -FcChar8 * -FcStrPlus (const FcChar8 *s1, const FcChar8 *s2); - -void -FcStrFree (FcChar8 *s); - -void +FcPrivate void FcStrBufInit (FcStrBuf *buf, FcChar8 *init, int size); -void +FcPrivate void FcStrBufDestroy (FcStrBuf *buf); -FcChar8 * +FcPrivate FcChar8 * FcStrBufDone (FcStrBuf *buf); -FcBool +FcPrivate FcChar8 * +FcStrBufDoneStatic (FcStrBuf *buf); + +FcPrivate FcBool FcStrBufChar (FcStrBuf *buf, FcChar8 c); -FcBool +FcPrivate FcBool FcStrBufString (FcStrBuf *buf, const FcChar8 *s); -FcBool +FcPrivate FcBool FcStrBufData (FcStrBuf *buf, const FcChar8 *s, int len); -int +FcPrivate int FcStrCmpIgnoreBlanksAndCase (const FcChar8 *s1, const FcChar8 *s2); -const FcChar8 * +FcPrivate const FcChar8 * FcStrContainsIgnoreBlanksAndCase (const FcChar8 *s1, const FcChar8 *s2); -const FcChar8 * +FcPrivate const FcChar8 * FcStrContainsIgnoreCase (const FcChar8 *s1, const FcChar8 *s2); -FcBool +FcPrivate const FcChar8 * +FcStrContainsWord (const FcChar8 *s1, const FcChar8 *s2); + +FcPrivate FcBool FcStrUsesHome (const FcChar8 *s); -FcChar8 * +FcPrivate FcChar8 * FcStrLastSlash (const FcChar8 *path); -FcChar32 +FcPrivate FcChar32 FcStrHashIgnoreCase (const FcChar8 *s); -FcChar8 * +FcPrivate FcChar8 * FcStrCanonFilename (const FcChar8 *s); -FcBool +FcPrivate FcBool FcStrSerializeAlloc (FcSerialize *serialize, const FcChar8 *str); -FcChar8 * +FcPrivate FcChar8 * FcStrSerialize (FcSerialize *serialize, const FcChar8 *str); #endif /* _FC_INT_H_ */