1. 03 Apr, 2019 2 commits
    • Akira TAGOH's avatar
      Update testcase · 916cf6ca
      Akira TAGOH authored
      916cf6ca
    • Keith Packard's avatar
      Replace UUID file mechanism with per-directory 'map' attribute [v2] · c4324f54
      Keith Packard authored
      The UUID files would be placed in each font directory to provide the
      unique cache name, independent of path, for that directory. The UUID
      files are undesireable for a couple of reasons:
      
       1) They must be placed in the font directories to be useful. This
          requires modifying the font directories themselves, introducing
          potential visible timestamp changes when running multiple
          applications, and makes the cache processing inconsistent between
          applications with permission to write to the font directories and
          applications without such permission.
      
       2) The UUID contents were generated randomly, which makes the font
          cache not reproducible across multiple runs.
      
      One proposed fix for 2) is to make the UUID dependent on the font
      directory path, but once we do that, we can simply use the font
      directory path itself as the key as the original MD5-based font cache
      naming mechanism did.
      
      The goal of the UUID file mechanism was to fix startup time of
      flatpaks; as the font path names inside the flatpak did not match the
      font path names in the base system, the font cache would need to be
      reconstructed the first time the flatpak was launched.
      
      The new mechanism for doing this is to allow each '<dir>' element in
      the configuration include a 'map' attribute. When looking for a cache
      file for a particular directory, if the directory name starts with the
      contents of the <dir> element, that portion of the name will be
      replaced with the value of the 'map' attribute.
      
      Outside of the flatpak, nothing need change -- fontconfig will build
      cache files using real directory names.
      
      Inside the flatpak, the custom fonts.conf file will now include
      mappings such as this:
      
      	<dir map="/usr/share/fonts">/run/host/fonts</dir>
      
      When scanning the directory /run/host/fonts/ttf, fontconfig will
      use the name /usr/share/fonts/ttf as the source for building the cache
      file name.
      
      The existing FC_FILE replacement code used for the UUID-based
      implementation continues to correctly adapt font path names seen by
      applications.
      
      v2:
      	Leave FcDirCacheCreateUUID stub around to avoid removing
      	public API function.
      
      	Document 'map' attribute of <dir> element in
      	fontconfig-user.sgml
      Suggested-by: Akira TAGOH's avatarAkira TAGOH <akira@tagoh.org>
      Signed-off-by: Keith Packard's avatarKeith Packard <keithp@keithp.com>
      c4324f54
  2. 28 Aug, 2006 1 commit
    • Keith Packard's avatar
      During test run, remove cache directory to avoid stale cache usage. · 7a03bbdc
      Keith Packard authored
      As file timestamps have only one second granularity, an old cache
      file could easily be used when a test took less than 1 second to run.
      Just remove the cache directory and its contents before each test is run.
      Also, remove mention of the old cache file from the test config file.
      7a03bbdc
  3. 04 Aug, 2006 1 commit
  4. 01 Mar, 2003 1 commit