1. 03 Apr, 2019 5 commits
    • Akira TAGOH's avatar
      Update doc for salt · 4ff52ffb
      Akira TAGOH authored
      4ff52ffb
    • Akira TAGOH's avatar
      Add reset-dirs element · def1d000
      Akira TAGOH authored
      This element removes all of fonts directories where added by
      dir elements. it is useful to override fonts dirs from system
      to their own dirs only.
      def1d000
    • Akira TAGOH's avatar
      a563a180
    • Akira TAGOH's avatar
      04f75fce
    • 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. 15 Mar, 2019 1 commit
  3. 19 Feb, 2019 1 commit
    • Ben Wagner's avatar
      Better document sysroot. · 40e27f5d
      Ben Wagner authored
      All non trivial users of FontConfig must use FcConfigGetSysRoot to
      resolve file properties in patterns. In order to support sysroot the
      filename in the file property must be relative to the sysroot, but the
      value of the file property in a pattern is directly exposed, making it
      impossible for FontConfig to resolve the filename itself transparently.
      40e27f5d
  4. 15 Nov, 2018 1 commit
  5. 04 Oct, 2018 1 commit
  6. 03 Sep, 2018 1 commit
  7. 11 Jun, 2018 1 commit
  8. 16 May, 2018 1 commit
    • Chris Lamb's avatar
      Ensure cache checksums are deterministic · f098adac
      Chris Lamb authored
      Whilst working on the Reproducible Builds[0] effort, we noticed that
      fontconfig generates unreproducible cache files.
      
      This is due to fc-cache uses the modification timestamps of each
      directory in the "checksum" and "checksum_nano" members of the _FcCache
      struct. This is so that it can identify which cache files are valid
      and/or require regeneration.
      
      This patch changes the behaviour of the checksum calculations to prefer
      the value of the SOURCE_DATE_EPOCH[1] environment variable over the
      directory's own mtime. This variable can then be exported by build
      systems to ensure reproducible output.
      
      If SOURCE_DATE_EPOCH is not set or is newer than the mtime of the
      directory, the existing behaviour is unchanged.
      
      This work was sponsored by Tails[2].
      
       [0] https://reproducible-builds.org/
       [1] https://reproducible-builds.org/specs/source-date-epoch/
       [2] https://tails.boum.org/
      f098adac
  9. 11 May, 2018 1 commit
  10. 05 May, 2018 1 commit
  11. 19 Apr, 2018 1 commit
  12. 03 Jan, 2018 1 commit
  13. 18 Dec, 2017 1 commit
  14. 20 Nov, 2017 2 commits
  15. 07 Nov, 2017 2 commits
    • 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
    • Akira TAGOH's avatar
      doc: trivial update · 0c149259
      Akira TAGOH authored
      0c149259
  16. 20 Sep, 2017 1 commit
  17. 12 Sep, 2017 1 commit
  18. 09 Sep, 2017 1 commit
  19. 07 Jul, 2017 2 commits
  20. 27 Jun, 2017 1 commit
  21. 31 May, 2017 1 commit
  22. 24 Mar, 2017 1 commit
  23. 15 Aug, 2016 1 commit
  24. 27 Jun, 2015 1 commit
    • Behdad Esfahbod's avatar
      Revert changes made to FcConfigAppFontAddDir() recently · 46ec6a52
      Behdad Esfahbod authored
      In 32ac7c75 the behavior of
      FcConfigAppFontAddFile/Dir() were changed to return false
      if not fonts were found.  While this is welldefined and useful
      for AddFile(), it's quite problematic for AddDir().  For example,
      if the directory is empty, is that a failure or success?  Worse,
      the false value from AddDir() was being propagated all the way
      to FcInit() returning false now.  This only happened upon memory
      allocation failure before, and some clients assert that FcInit()
      is successful.
      
      With this change, AddDir() is reverted back to what it was.
      AddFont() change (which was actually in fcdir.c) from the original
      commit is left in.
      46ec6a52
  25. 08 Jun, 2015 1 commit
    • Akira TAGOH's avatar
      Add one more debugging option to see transformation on font-matching · 10a57edd
      Akira TAGOH authored
      just setting FC_MATCH=3 shows a lot of information and hard to keep on track for informamtion
      which is really necessary to see. to use this more effectively, added FC_DBG_MATCH_FILTER to
      see for what one really want to see. it takes a comma-separated-list of object names.
      If you want to see family name only, try like this:
      
      FC_DBG_MATCH_FILTER=family FC_DEBUG=4096 fc-match
      
      debugging output will be filtered out and see family only in the result.
      10a57edd
  26. 18 May, 2015 1 commit
    • Behdad Esfahbod's avatar
      Add su[pport for symbol fonts · bcfe167e
      Behdad Esfahbod authored
      Adds FC_SYMBOL.
      
      This affects fonts having a cmap with platform 3 encoding 0.
      We now map their glyphs from the PUA area to the Latin1 area.
      
      See thread "Webdings and other MS symbol fonts don't display"
      on the mailing list.
      
      Test before/after with:
      $ pango-view --markup --text='<span fallback="false">&#xd7;&#xf0d7;</span>' --font=Wingdings
      bcfe167e
  27. 12 May, 2015 1 commit
  28. 22 Apr, 2015 1 commit
  29. 20 Apr, 2015 1 commit
  30. 19 Jan, 2015 1 commit
  31. 06 Jan, 2015 1 commit
  32. 25 Dec, 2014 1 commit
    • Akira TAGOH's avatar
      Fix a typo · 4420b27c
      Akira TAGOH authored
      missing a terminator caused a document generation fail.
      4420b27c
  33. 15 Dec, 2014 1 commit
    • Nick Alcock's avatar
      Generate documentation for FcWeight* functions. · af586441
      Nick Alcock authored
      The SGML for these functions exists, and they are named as manpages,
      but because they are not mentioned in fontconfig-devel.sgml, no
      documentation is ever generated, and installation under --enable-docs
      fails.
      
      (The documentation I have written in fontconfig-devel.sgml is boilerplate
      so I can get the manpages generated. It's probably wrong.)
      af586441