1. 03 Apr, 2019 1 commit
    • 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. 23 Mar, 2019 1 commit
  3. 30 Aug, 2018 2 commits
  4. 28 Aug, 2018 1 commit
  5. 13 May, 2018 1 commit
  6. 11 May, 2018 1 commit
  7. 10 Mar, 2018 1 commit
  8. 08 Mar, 2018 1 commit
  9. 06 Mar, 2018 2 commits
  10. 15 Feb, 2018 1 commit
  11. 14 Jan, 2018 1 commit
  12. 09 Jan, 2018 1 commit
  13. 08 Jan, 2018 1 commit
  14. 06 Jan, 2018 1 commit
  15. 05 Jan, 2018 1 commit
  16. 04 Jan, 2018 1 commit
  17. 02 Jan, 2018 1 commit
  18. 18 Dec, 2017 1 commit
  19. 14 Dec, 2017 2 commits
  20. 20 Nov, 2017 2 commits
  21. 16 Nov, 2017 1 commit
  22. 07 Nov, 2017 1 commit
    • Akira TAGOH's avatar
      Add the ruleset description support · 9a0fcb94
      Akira TAGOH authored
      Trying to address what these configuration files really do.
      This change allows to see the short description that mention
      the purpose of the content in the config file and obtain
      them through API.
      
      This change also encourage one who want to make some UI for
      the user-specific configuration management. it is the main
      purpose of this change for me though.
      
      Aside from that, I've also made programs translatable. so
      we see more dependencies on the build time for gettext,
      and itstool to generate PO from xml.
      9a0fcb94
  23. 17 Oct, 2017 2 commits
  24. 28 Sep, 2017 1 commit
  25. 12 Sep, 2017 2 commits
  26. 09 Sep, 2017 2 commits
  27. 05 Jul, 2017 2 commits
  28. 01 Jun, 2017 1 commit
  29. 31 May, 2017 4 commits