* documentation for any purpose is hereby granted without fee, provided that
* the above copyright notice appear in all copies and that both that
* copyright notice and this permission notice appear in supporting
- * documentation, and that the name of Keith Packard not be used in
+ * documentation, and that the name of the author(s) not be used in
* advertising or publicity pertaining to distribution of the software without
- * specific, written prior permission. Keith Packard makes no
+ * specific, written prior permission. The authors make no
* 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
#include <sys/types.h>
#include <sys/stat.h>
-#include <unistd.h>
#include <stdarg.h>
#if defined(__GNUC__) && (__GNUC__ >= 4)
*/
#define FC_MAJOR 2
-#define FC_MINOR 6
+#define FC_MINOR 8
#define FC_REVISION 0
#define FC_VERSION ((FC_MAJOR * 10000) + (FC_MINOR * 100) + (FC_REVISION))
* it means multiple copies of the font information.
*/
-#define FC_CACHE_VERSION "2"
+#define FC_CACHE_VERSION "3"
#define FcTrue 1
#define FcFalse 0
/* fccache.c */
+FcPublic int
+FcStat (FcConfig *config, const FcChar8 *file, struct stat *statb);
+
FcPublic const FcChar8 *
FcCacheDir(const FcCache *c);
FcPublic FcChar8 *
FcConfigFilename (const FcChar8 *url);
+
+FcPublic FcChar8 *
+FcConfigFilename2 (FcConfig *config, const FcChar8 *url);
FcPublic FcConfig *
FcConfigCreate (void);
FcPattern *p,
FcMatchKind kind);
+FcPublic void
+FcConfigSetRoot (FcConfig *config,
+ const FcChar8 *path);
+
+FcPublic const FcChar8 *
+FcConfigGetRoot (FcConfig *config);
+
+FcPublic FcChar8 *
+FcConfigGetRootPlus (FcConfig *config,
+ const FcChar8 *path);
+
/* fccharset.c */
FcPublic FcCharSet*
FcCharSetCreate (void);
FcPublic FcBool
FcCharSetAddChar (FcCharSet *fcs, FcChar32 ucs4);
+FcPublic FcBool
+FcCharSetDelChar (FcCharSet *fcs, FcChar32 ucs4);
+
FcPublic FcCharSet*
FcCharSetCopy (FcCharSet *src);
FcPublic FcBool
FcFileIsDir (const FcChar8 *file);
+FcPublic FcBool
+FcFileIsDir2 (FcConfig *config, const FcChar8 *file);
+
FcPublic FcBool
FcFileScan (FcFontSet *set,
FcStrSet *dirs,
FcPublic FcCache *
FcDirCacheLoadFile (const FcChar8 *cache_file, struct stat *file_stat);
+FcPublic FcCache *
+FcDirCacheLoadFile2 (const FcChar8 *cache_file, FcConfig *config, struct stat *file_stat);
+
FcPublic void
FcDirCacheUnload (FcCache *cache);
FcPublic FcPattern *
FcFreeTypeQuery (const FcChar8 *file, int id, FcBlanks *blanks, int *count);
+FcPublic FcPattern *
+FcFreeTypeQuery2 (FcConfig *config, const FcChar8 *file, int id, FcBlanks *blanks, int *count);
+
/* fcfs.c */
FcPublic FcFontSet *
FcPublic FcBool
FcLangSetAdd (FcLangSet *ls, const FcChar8 *lang);
+FcPublic FcBool
+FcLangSetDel (FcLangSet *ls, const FcChar8 *lang);
+
FcPublic FcLangResult
FcLangSetHasLang (const FcLangSet *ls, const FcChar8 *lang);
FcPublic FcStrSet *
FcLangSetGetLangs (const FcLangSet *ls);
+FcPublic FcLangSet *
+FcLangSetUnion (const FcLangSet *a, const FcLangSet *b);
+
+FcPublic FcLangSet *
+FcLangSetSubtract (const FcLangSet *a, const FcLangSet *b);
+
/* fclist.c */
FcPublic FcObjectSet *
FcObjectSetCreate (void);
FcPublic FcBool
FcAtomicLock (FcAtomic *atomic);
+FcPublic FcBool
+FcAtomicLock2 (FcConfig *config, FcAtomic *atomic);
+
FcPublic FcChar8 *
FcAtomicNewFile (FcAtomic *atomic);
FcNameUnregisterConstants (const FcConstant *consts, int nconsts);
FcPublic const FcConstant *
-FcNameGetConstant (FcChar8 *string);
+FcNameGetConstant (const FcChar8 *string);
FcPublic FcBool
-FcNameConstant (FcChar8 *string, int *result);
+FcNameConstant (const FcChar8 *string, int *result);
FcPublic FcPattern *
FcNameParse (const FcChar8 *name);
FcPublic FcChar8 *
FcStrPlus (const FcChar8 *s1, const FcChar8 *s2);
+
+FcPublic FcChar8 *
+FcStrPathPlus (const FcChar8 *s1, ...);
FcPublic void
FcStrFree (FcChar8 *s);