/*
- * $XFree86: xc/lib/fontconfig/fontconfig/fontconfig.h,v 1.3 2002/02/19 07:50:43 keithp Exp $
+ * $XFree86: xc/lib/fontconfig/fontconfig/fontconfig.h,v 1.12 2002/05/29 08:21:33 keithp Exp $
*
* Copyright © 2001 Keith Packard, member of The XFree86 Project, Inc.
*
*/
#define FC_MAJOR 1
#define FC_MINOR 0
-#define FC_REVISION 0
+#define FC_REVISION 1
#define FC_VERSION ((FC_MAJOR * 10000) + (FC_MINOR * 100) + (FC_REVISION))
FcSetApplication = 1
} FcSetName;
+typedef struct _FcAtomic FcAtomic;
+
#if defined(__cplusplus) || defined(c_plusplus) /* for C++ V2.0 */
#define _FCFUNCPROTOBEGIN extern "C" { /* do not leave open across includes */
#define _FCFUNCPROTOEND }
typedef struct _FcBlanks FcBlanks;
+typedef struct _FcStrList FcStrList;
+
+typedef struct _FcStrSet FcStrSet;
+
_FCFUNCPROTOBEGIN
/* fcblanks.c */
FcConfig *
FcConfigGetCurrent (void);
+FcBool
+FcConfigUptoDate (FcConfig *config);
+
FcBool
FcConfigBuildFonts (FcConfig *config);
-FcChar8 **
-FcConfigGetDirs (FcConfig *config);
+FcStrList *
+FcConfigGetFontDirs (FcConfig *config);
+
+FcStrList *
+FcConfigGetConfigDirs (FcConfig *config);
-FcChar8 **
+FcStrList *
FcConfigGetConfigFiles (FcConfig *config);
FcChar8 *
FcBlanks *
FcConfigGetBlanks (FcConfig *config);
+int
+FcConfigGetRescanInverval (FcConfig *config);
+
+FcBool
+FcConfigSetRescanInverval (FcConfig *config, int rescanInterval);
+
FcFontSet *
FcConfigGetFonts (FcConfig *config,
FcSetName set);
FcChar32
FcCharSetSubtractCount (const FcCharSet *a, const FcCharSet *b);
+FcBool
+FcCharSetIsSubset (const FcCharSet *a, const FcCharSet *b);
+
+#define FC_CHARSET_MAP_SIZE (256/32)
+#define FC_CHARSET_DONE ((FcChar32) -1)
+
+FcChar32
+FcCharSetFirstPage (const FcCharSet *a,
+ FcChar32 map[FC_CHARSET_MAP_SIZE],
+ FcChar32 *next);
+
FcChar32
-FcCharSetCoverage (const FcCharSet *a, FcChar32 page, FcChar32 *result);
+FcCharSetNextPage (const FcCharSet *a,
+ FcChar32 map[FC_CHARSET_MAP_SIZE],
+ FcChar32 *next);
+
/* fcdbg.c */
+void
+FcValuePrint (FcValue v);
+
void
FcPatternPrint (FcPattern *p);
+void
+FcFontSetPrint (FcFontSet *s);
+
/* fcdefault.c */
void
FcDefaultSubstitute (FcPattern *pattern);
/* fcdir.c */
FcBool
FcFileScan (FcFontSet *set,
+ FcStrSet *dirs,
FcFileCache *cache,
FcBlanks *blanks,
const FcChar8 *file,
FcBool
FcDirScan (FcFontSet *set,
+ FcStrSet *dirs,
FcFileCache *cache,
FcBlanks *blanks,
const FcChar8 *dir,
FcBool force);
FcBool
-FcDirSave (FcFontSet *set, const FcChar8 *dir);
+FcDirSave (FcFontSet *set, FcStrSet *dirs, const FcChar8 *dir);
+
+FcBool
+FcDirCacheValid (const FcChar8 *dir);
/* fcfreetype.c */
FcPattern *
FcFontSetAdd (FcFontSet *s, FcPattern *font);
/* fcinit.c */
+FcConfig *
+FcInitLoadConfig (void);
+
+FcConfig *
+FcInitLoadConfigAndFonts (void);
+
FcBool
-FcInitFonts (void);
+FcInit (void);
+
+int
+FcGetVersion (void);
FcBool
-FcInitConfig (void);
+FcInitReinitialize (void);
FcBool
-FcInit (void);
+FcInitBringUptoDate (void);
/* fclist.c */
FcObjectSet *
FcPattern *p,
FcObjectSet *os);
+/* fcatomic.c */
+
+FcAtomic *
+FcAtomicCreate (const FcChar8 *file);
+
+FcBool
+FcAtomicLock (FcAtomic *atomic);
+
+FcChar8 *
+FcAtomicNewFile (FcAtomic *atomic);
+
+FcChar8 *
+FcAtomicOrigFile (FcAtomic *atomic);
+
+FcBool
+FcAtomicReplaceOrig (FcAtomic *atomic);
+
+void
+FcAtomicDeleteNew (FcAtomic *atomic);
+
+void
+FcAtomicUnlock (FcAtomic *atomic);
+
+void
+FcAtomicDestroy (FcAtomic *atomic);
+
/* fcmatch.c */
FcPattern *
FcFontSetMatch (FcConfig *config,
FcPattern *p,
FcResult *result);
+FcPattern *
+FcFontRenderPrepare (FcConfig *config,
+ FcPattern *pat,
+ FcPattern *font);
+
+FcFontSet *
+FcFontSetSort (FcConfig *config,
+ FcFontSet **sets,
+ int nsets,
+ FcPattern *p,
+ FcBool trim,
+ FcCharSet **csp,
+ FcResult *result);
+
+FcFontSet *
+FcFontSort (FcConfig *config,
+ FcPattern *p,
+ FcBool trim,
+ FcCharSet **csp,
+ FcResult *result);
+
+void
+FcFontSetSortDestroy (FcFontSet *fs);
+
/* fcmatrix.c */
FcMatrix *
FcMatrixCopy (const FcMatrix *mat);
void
FcValueDestroy (FcValue v);
+FcBool
+FcValueEqual (FcValue va, FcValue vb);
+
FcValue
FcValueSave (FcValue v);
void
FcPatternDestroy (FcPattern *p);
+FcBool
+FcPatternEqual (FcPattern *pa, FcPattern *pb);
+
FcBool
FcPatternAdd (FcPattern *p, const char *object, FcValue value, FcBool append);
FcChar8 *
FcStrCopy (const FcChar8 *s);
+FcChar8 *
+FcStrCopyFilename (const FcChar8 *s);
+
#define FcToLower(c) (('A' <= (c) && (c) <= 'Z') ? (c) - 'A' + 'a' : (c))
int
FcStrCmpIgnoreCase (const FcChar8 *s1, const FcChar8 *s2);
+int
+FcStrCmp (const FcChar8 *s1, const FcChar8 *s2);
+
int
FcUtf8ToUcs4 (FcChar8 *src_orig,
FcChar32 *dst,
int *nchar,
int *wchar);
+FcChar8 *
+FcStrDirname (const FcChar8 *file);
+
+FcChar8 *
+FcStrBasename (const FcChar8 *file);
+
+FcStrSet *
+FcStrSetCreate (void);
+
+FcBool
+FcStrSetMember (FcStrSet *set, const FcChar8 *s);
+
+FcBool
+FcStrSetAdd (FcStrSet *set, const FcChar8 *s);
+
+FcBool
+FcStrSetAddFilename (FcStrSet *set, const FcChar8 *s);
+
+FcBool
+FcStrSetDel (FcStrSet *set, const FcChar8 *s);
+
+void
+FcStrSetDestroy (FcStrSet *set);
+
+FcStrList *
+FcStrListCreate (FcStrSet *set);
+
+FcChar8 *
+FcStrListNext (FcStrList *list);
+
+void
+FcStrListDone (FcStrList *list);
+
/* fcxml.c */
FcBool
FcConfigParseAndLoad (FcConfig *config, const FcChar8 *file, FcBool complain);