summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--fontconfig/fontconfig.h18
-rw-r--r--src/fcdir.c6
-rw-r--r--src/fcint.h2
-rw-r--r--src/fontconfig.man5
4 files changed, 22 insertions, 9 deletions
diff --git a/fontconfig/fontconfig.h b/fontconfig/fontconfig.h
index 73b949e..2813562 100644
--- a/fontconfig/fontconfig.h
+++ b/fontconfig/fontconfig.h
@@ -1,5 +1,5 @@
/*
- * $XFree86: xc/lib/fontconfig/fontconfig/fontconfig.h,v 1.26 2002/08/19 19:32:04 keithp Exp $
+ * $XFree86: xc/lib/fontconfig/fontconfig/fontconfig.h,v 1.28 2002/08/24 20:08:53 keithp Exp $
*
* Copyright 2001 Keith Packard, member of The XFree86 Project, Inc.
*
@@ -41,6 +41,18 @@ typedef int FcBool;
#define FC_VERSION ((FC_MAJOR * 10000) + (FC_MINOR * 100) + (FC_REVISION))
+/*
+ * Current font cache file format version
+ * This is appended to the cache files so that multiple
+ * versions of the library will peacefully coexist
+ *
+ * Change this value whenever the disk format for the cache file
+ * changes in any non-compatible way. Try to avoid such changes as
+ * it means multiple copies of the font information.
+ */
+
+#define FC_CACHE_VERSION "1"
+
#define FcTrue 1
#define FcFalse 0
@@ -72,8 +84,8 @@ typedef int FcBool;
#define FC_CHARSET "charset" /* CharSet */
#define FC_LANG "lang" /* String OS/2 CodePageRange */
-#define FC_DIR_CACHE_FILE "fonts.cache"
-#define FC_USER_CACHE_FILE ".fonts.cache"
+#define FC_DIR_CACHE_FILE "fonts.cache-"FC_CACHE_VERSION
+#define FC_USER_CACHE_FILE ".fonts.cache-"FC_CACHE_VERSION
/* Adjust outline rasterizer */
#define FC_CHAR_WIDTH "charwidth" /* Int */
diff --git a/src/fcdir.c b/src/fcdir.c
index 8843da0..6c49591 100644
--- a/src/fcdir.c
+++ b/src/fcdir.c
@@ -1,5 +1,5 @@
/*
- * $XFree86: xc/lib/fontconfig/src/fcdir.c,v 1.5 2002/05/21 17:06:22 keithp Exp $
+ * $XFree86: xc/lib/fontconfig/src/fcdir.c,v 1.7 2002/07/28 10:50:59 keithp Exp $
*
* Copyright 2000 Keith Packard, member of The XFree86 Project, Inc.
*
@@ -169,13 +169,13 @@ FcDirScan (FcFontSet *set,
if (!force)
{
/*
- * Check fonts.cache file
+ * Check fonts.cache-<version> file
*/
if (FcDirCacheReadDir (set, dirs, dir))
return FcTrue;
/*
- * Check ~/.fonts.cache file
+ * Check ~/.fonts.cache-<version> file
*/
if (cache && FcGlobalCacheScanDir (set, dirs, cache, dir))
return FcTrue;
diff --git a/src/fcint.h b/src/fcint.h
index a5e3f11..cd43b76 100644
--- a/src/fcint.h
+++ b/src/fcint.h
@@ -200,7 +200,7 @@ typedef struct _FcStrBuf {
} FcStrBuf;
/*
- * The per-user ~/.fonts.cache file is loaded into
+ * The per-user ~/.fonts.cache-<version> file is loaded into
* this data structure. Each directory gets a substructure
* which is validated by comparing the directory timestamp with
* that saved in the cache. When valid, the entire directory cache
diff --git a/src/fontconfig.man b/src/fontconfig.man
index cac9aba..4d9a6e4 100644
--- a/src/fontconfig.man
+++ b/src/fontconfig.man
@@ -1195,7 +1195,8 @@ information. If it starts with '~', it refers to a file in the users
home directory. This file is used to hold information about fonts that
isn't present in the per-directory cache files. It is automatically
maintained by the fontconfig library. The default for this file
-is ``~/.fonts.cache''.
+is ``~/.fonts.cache-<version>'', where <version> is the font configuration
+file version number (currently 1).
.SS <include ignore_missing="no">
This element contains the name of an additional configuration file. When
@@ -1451,7 +1452,7 @@ is a DTD that describes the format of the configuration files.
is the conventional location for per-user font configuration, although the
actual location is specified in the global fonts.conf file.
-.B ~/.fonts.cache
+.B ~/.fonts.cache-*
is the conventional repository of font information that isn't found in the
per-directory caches. This file is automatically maintained by fontconfig.