X-Git-Url: https://git.wh0rd.org/?a=blobdiff_plain;f=src%2Ffcint.h;h=be520e78624cf522e34731a321d69a52fad65f9b;hb=7d35c11b3304659d8be43913c9b125f2b5b38516;hp=a05421955fd065da4fb93113893e92d2579865e5;hpb=9e612141df7e693ef98071f102cecb5d777ceecb;p=fontconfig.git diff --git a/src/fcint.h b/src/fcint.h index a054219..be520e7 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 * @@ -42,12 +42,13 @@ #include #include #include +#include #include #include #include #include #include -#include +#include "fcdeprecate.h" #ifndef FC_CONFIG_PATH #define FC_CONFIG_PATH "fonts.conf" @@ -111,8 +112,10 @@ #define FC_BANK_LANGS 0xfcfcfcfc /* slim_internal.h */ -#if (__GNUC__ > 3 || (__GNUC__ == 3 && __GNUC_MINOR__ >= 3)) && defined(__ELF__) +#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 */ @@ -310,6 +313,7 @@ typedef struct _FcStrBuf { FcBool failed; int len; int size; + FcChar8 buf_static[16 * sizeof (void *)]; } FcStrBuf; struct _FcCache { @@ -320,8 +324,11 @@ struct _FcCache { intptr_t dirs; /* offset to subdirs */ int dirs_count; /* number of subdir strings */ intptr_t set; /* offset to font set */ + 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) @@ -404,7 +411,7 @@ typedef struct _FcCaseFold { #define FC_CACHE_MAGIC_MMAP 0xFC02FC04 #define FC_CACHE_MAGIC_ALLOC 0xFC02FC05 -#define FC_CACHE_CONTENT_VERSION 1 +#define FC_CACHE_CONTENT_VERSION 2 struct _FcAtomic { FcChar8 *file; /* original file name */ @@ -477,6 +484,8 @@ struct _FcConfig { */ time_t rescanTime; /* last time information was scanned */ int rescanInterval; /* interval between scans */ + + int ref; /* reference count */ }; extern FcPrivate FcConfig *_fcConfig; @@ -499,7 +508,7 @@ FcPrivate FcCache * FcDirCacheScan (const FcChar8 *dir, FcConfig *config); FcPrivate FcCache * -FcDirCacheBuild (FcFontSet *set, const FcChar8 *dir, FcStrSet *dirs); +FcDirCacheBuild (FcFontSet *set, const FcChar8 *dir, struct stat *dir_stat, FcStrSet *dirs); FcPrivate FcBool FcDirCacheWrite (FcCache *cache, FcConfig *config); @@ -513,6 +522,16 @@ 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 + /* fccfg.c */ FcPrivate FcBool @@ -577,7 +596,8 @@ FcPrivate FcFileTime FcConfigModifiedTime (FcConfig *config); FcPrivate FcBool -FcConfigAddCache (FcConfig *config, FcCache *cache); +FcConfigAddCache (FcConfig *config, FcCache *cache, + FcSetName set, FcStrSet *dirSet); /* fcserialize.c */ FcPrivate intptr_t @@ -626,6 +646,16 @@ 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); @@ -695,22 +725,6 @@ FcDirScanConfig (FcFontSet *set, FcPrivate int FcFontDebug (void); -/* fcfreetype.c */ -FcPrivate FcBool -FcFreeTypeIsExclusiveLang (const FcChar8 *lang); - -FcPrivate FcBool -FcFreeTypeHasLang (FcPattern *pattern, const FcChar8 *lang); - -FcPrivate FcChar32 -FcFreeTypeUcs4ToPrivate (FcChar32 ucs4, const FcCharMap *map); - -FcPrivate FcChar32 -FcFreeTypePrivateToUcs4 (FcChar32 private, const FcCharMap *map); - -FcPrivate const FcCharMap * -FcFreeTypeGetPrivateMap (FT_Encoding encoding); - /* fcfs.c */ FcPrivate FcBool @@ -787,9 +801,6 @@ FcFreeTypeLangSet (const FcCharSet *charset, FcPrivate FcLangResult FcLangCompare (const FcChar8 *s1, const FcChar8 *s2); -FcPrivate const FcCharSet * -FcCharSetForLang (const FcChar8 *lang); - FcPrivate FcLangSet * FcLangSetPromote (const FcChar8 *lang); @@ -857,6 +868,8 @@ FcListPatternMatchAny (const FcPattern *p, #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 FcPrivate FcBool FcNameBool (const FcChar8 *v, FcBool *result); @@ -870,6 +883,9 @@ FcObjectFromName (const char * name); FcPrivate const char * FcObjectName (FcObject object); +FcPrivate FcObjectSet * +FcObjectGetSet (void); + FcPrivate FcBool FcObjectInit (void); @@ -1020,6 +1036,9 @@ 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 FcBool FcStrUsesHome (const FcChar8 *s);