[Fontconfig] Re: Structure of cache files
Matthias Clasen
mclasen at redhat.com
Tue Oct 4 13:05:30 EST 2005
On Mon, 2005-10-03 at 22:17 -0400, Patrick Lam wrote:
> 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.
Sounds like it should work well enough (since fonts are not installed
with high frequency...)
Matthias
More information about the Fontconfig
mailing list