Fontconfig 2.4.0 has been released, bits are available at: http://fontconfig.org/release md5sums: f87eb0e6596510bbf87e57b33a657ec5 fontconfig-2.4.0.tar.gz 5650ef00930eb7af211b3df96cf25861 ChangeLog-2.4.0 sha1 sums: 132b0567740a04d89cd1eef0dd66b43ca32538c0 fontconfig-2.4.0.tar.gz 060184e5cc051397ef17d75a49e420e09c7657d6 ChangeLog-2.4.0 There aren''t any substantive code changes since 2.3.97, but the configuration files have been completely reorganized, thanks to James Cloos. Special notes to packagers: 1) new cache file format and location. Old fonts.cache-1 files are now useless and can be removed. For those distributions running unstable 2.4 prereleases (2.3.9x), the cache-2 files are also now invalid and should be removed. Cache files are now installed in /var/cache/fontconfig or ~/.fontconfig. 2) config file restructuring. the conf.d directory needs to be cleaned of previously installed configuration files. Custom configuration files will need new numbers. Changes since 2.3.97: David Turner: Replace character discovery loop with simpler, faster version. James Cloos: Move files from conf.d to conf.avail Standardize conf.avail number prefixing convention Support all five possibilities for sub-pixel Move user and local conf file loading into conf.avail files Number the remaining conf.avail files Update Makefile.am to match conf.avail changes Replace load of conf.d in fonts.conf.in Make room for chunks from fonts.conf in conf.avail Re-order old conf.d files Move some section from fonts.conf into conf.avail files Update Makefile.am files Make conf.avail and conf.d work Keith Packard: Create fc_cachedir at install time. Bug 8157. Reference patterns in FcCacheCopySet. Replace gnu-specific sed command with simple grep. Attempt to fix makealias usage for build on Mac OS X. Accept locale environment variables that do not contain territory. Merge branch ''jhcloos'' Insert newly created caches into reference data structure. Add XML headers to new conf files. Move link make commands to conf.avail dir Rename conf.avail to conf.d Fix conf.d directory sorting. Include cachedir in fonts.dtd. Don''t display tests for DESTDIR on make install. Split much of the configuration into separate files. Renumber files Update to version 2.4.0 -- keith.packard@intel.com -------------- next part -------------- A non-text attachment was scrubbed... Name: not available Type: application/pgp-signature Size: 189 bytes Desc: This is a digitally signed message part Url : http://lists.freedesktop.org/archives/fontconfig/attachments/20060909/4809de92/attachment.pgp
On Sat, Sep 09, 2006 at 10:46:14PM -0700, Keith Packard wrote:> 1) new cache file format and location. Old fonts.cache-1 files are now > useless and can be removed. For those distributions running unstable 2.4 > prereleases (2.3.9x), the cache-2 files are also now invalid and should > be removed. Cache files are now installed in /var/cache/fontconfig or > ~/.fontconfig.Ugh. So, fontconfig no longer looks for cache files in the font directories it searches? This means that if someone deploys fontconfig on an NFS server, every client must have /var/cache/fontconfig or similar. Not fun. -- albert chin (china@thewrittenword.com)
On Tue, 2006-09-12 at 20:25 -0500, Albert Chin wrote:> Ugh. So, fontconfig no longer looks for cache files in the font > directories it searches? This means that if someone deploys fontconfig > on an NFS server, every client must have /var/cache/fontconfig or > similar. Not fun.Yes. Better than requiring that the remote directories be writable by every client. You''re spending disk space, but saving huge amounts of memory as all applications share the same cache. Of course, if you like, you can point the font configuration at a remote directory containing cache files; that''s easy to set up. -- keith.packard@intel.com -------------- next part -------------- A non-text attachment was scrubbed... Name: not available Type: application/pgp-signature Size: 189 bytes Desc: This is a digitally signed message part Url : http://lists.freedesktop.org/archives/fontconfig/attachments/20060912/d72e1052/attachment.pgp
On Tue, Sep 12, 2006 at 07:08:32PM -0700, Keith Packard wrote:> On Tue, 2006-09-12 at 20:25 -0500, Albert Chin wrote: > > > Ugh. So, fontconfig no longer looks for cache files in the font > > directories it searches? This means that if someone deploys fontconfig > > on an NFS server, every client must have /var/cache/fontconfig or > > similar. Not fun. > > Yes. Better than requiring that the remote directories be writable by > every client. You''re spending disk space, but saving huge amounts of > memory as all applications share the same cache.The quickest way to deploy a font is over NFS. Add the directory to fonts.conf (unless using a global font directory), fc-cache the NFS directory, and you''re done. Now, it seems you have to add the directory to fonts.conf and then update the cache on every client. Why not just have a global cache _and_ use the fonts.cache files in font directories? This would seem to solve both cases. Then, those who choose to pollute their file system with cache files are the only ones doing so.> Of course, if you like, you can point the font configuration at a remote > directory containing cache files; that''s easy to set up.If no global /var/cache/fontconfig exists, will fontconfig internally cache the font directories? Suboptimal but I just want to make sure fontconfig will still work if no global cache exists. -- albert chin (china@thewrittenword.com)
>>>>> "Albert" == Albert Chin <fontconfig@mlists.thewrittenword.com> writes:Albert> If no global /var/cache/fontconfig exists, will fontconfig Albert> internally cache the font directories? Suboptimal but I just Albert> want to make sure fontconfig will still work if no global Albert> cache exists. fonts.conf.in now has: <cachedir>@FC_CACHEDIR@</cachedir> <cachedir>~/.fontconfig</cachedir> and the lib uses the first <cachedir/> that it can write to for saving new cache files. So if the global dir does not exist, ~/.fontconfig will be used. I beleive that, if you add additional ones after ~/.fontconfig, cache files in them will get used until and unless the lib writes out a new cache file for the given font dir to ~/.fontconfig (or @FC_CACHEDIR@ if the process has write perms there). So, an ideal case -- if every box mounts the nfs export at the same mountpoint -- is to mount an nfs tree that contains at least these three directory trees (in addition to anything non-font-related, of course): the fonts themselves a configuration dir a cache dir and have each box create a symlink in /etc/fonts/conf.d -- be sure the symlink''s name starts with digits -- pointing to a file in the config dir on the nfs mount. That file can specify <dir/> entries for directories on the mount and <cachedir/> entries for matching cache files. The just create the cache files for each platform. That said, I find that the caching is fast enough that it isn''t a big deal for each user to have a significantly-populated cache dir in their $HOME. My ~/.fontconfig currently has cache files for just the fonts in my ~/.fonts dir. That cache dir uses 0.70% as much disk space as the fonts dir does. (1928k vs 275324k for 728 font files.) I also suspect mmap(2) performace is significantly better on most current kernels when the files are on a local device rather than on an nfs mount. Not using nfs-mounted cache files may be a significant performance win. Especially if the export is available campus-wide. -JimC -- James Cloos <cloos@jhcloos.com> OpenPGP: 0xED7DAEA6