[Fontconfig] Re: Structure of cache files

Patrick Lam plam at MIT.EDU
Tue Oct 4 12:17:22 EST 2005

Matthias Clasen wrote:
> Actually, thinking about FcDirCacheValid some more, I don't see how the
> single per-file timestamp can work at all with multi-platform cache
> files. Imagine that a new font gets installed in a directory with a
> multi-platform cache. If you then run fc-cache on i386, it'll update
> only the i386 section of the cache, but update the timestamp, marking
> the whole cache file as uptodate, so a later run on x86_64 will not
> update the x86_64 segment. I think the only solution to this is to put 
> per-segment timestamps into the file, and use them to determine
> cache-outdatedness on a per-platform basis. Or simply use one cache file
> per platform...

Oops, you're right.  How about this: when we find that the cache is
invalidated on any platform, we remove all stale sections from other
platforms.  That ought to be sufficient to avoid staleness (safety).  Of
course, an update to a file which is not stale preserves existing
sections (liveness).  With this solution, in order to fully update cache
files, you'll have to run fc-cache on all relevant platforms once, which
is the best we can do (without cross-platform cache creation) anyway.


More information about the Fontconfig mailing list