1. 05 Nov, 2007 1 commit
  2. 04 Nov, 2007 1 commit
  3. 18 Oct, 2007 1 commit
  4. 05 Sep, 2006 1 commit
    • Keith Packard's avatar
      Eliminate .so PLT entries for local symbols. (thanks to Arjan van de Ven) · 23816bf9
      Keith Packard authored
      Using a simple shell script that processes the public headers, two header
      files are constructed that map public symbols to hidden internal aliases
      avoiding the assocated PLT entry for referring to a public symbol.
      A few mistakes in the FcPrivate/FcPublic annotations were also discovered
      through this process
  5. 30 Aug, 2006 1 commit
    • Keith Packard's avatar
      Rework cache files to use offsets for all data structures. · 7ce19673
      Keith Packard authored
      Replace all of the bank/id pairs with simple offsets, recode several
      data structures to always use offsets inside the library to avoid
      conditional paths. Exposed data structures use pointers to hold offsets,
      setting the low bit to distinguish between offset and pointer.
      Use offset-based data structures for lang charset encodings; eliminates
      separate data structure format for that file.
      Much testing will be needed; offsets are likely not detected everywhere in
      the library yet.
  6. 11 Apr, 2006 2 commits
    • Patrick Lam's avatar
      Missing bits from previous patches. · 2de24638
      Patrick Lam authored
      Remove extra semi-colon.
      Fix memory leak in error case (Coverity defects #776, #985).
      Fix memory leaks (Coverity defects #779, #781) and memory use after free
          (Coverity defect #780).
      reviewed by: plam
    • Patrick Lam's avatar
      Properly convert static charsets to dynamic charsets. · 04f7d3e7
      Patrick Lam authored
      Fix memory leak in error case (Coverity defects #1820, #1821, #1822).
      Fix memory leak (Coverity defect #1819).
      prevent crash when invalid include line is parsed (Coverity defect #763).
      Fix potential null pointer access (Coverity defect #1804).
      Remove dead code (Coverity defect #1194).
      Prevent potential null pointer access (Coverity defect #767), ensure error
          value is read (Coverity defect #1195).
      reviewed by: plam
  7. 07 Apr, 2006 1 commit
  8. 06 Apr, 2006 1 commit
  9. 03 Mar, 2006 1 commit
  10. 25 Nov, 2005 1 commit
  11. 16 Nov, 2005 1 commit
  12. 04 Nov, 2005 1 commit
  13. 14 Oct, 2005 1 commit
  14. 24 Aug, 2005 1 commit
    • Patrick Lam's avatar
      Overhaul the serialization system to create one mmapable file per directory · 4262e0b3
      Patrick Lam authored
          and distribute bytes for each directory from a single malloc for that
          directory. Store pointers as differences between the data pointed to
          and the pointer's address (s_off = s - v). Don't serialize data
          structures that never actually get serialized. Separate strings used
          for keys from strings used for values (in FcPatternElt and FcValue,
          respectively). Bump FC_CACHE_VERSION to 2.
  15. 25 Jul, 2005 1 commit
    • Patrick Lam's avatar
      #ifdef out old cache stuff, replace with first version of new mmapping · 212c9f43
      Patrick Lam authored
          cache. Add *Read and *Write procedures which mmap in and write out the
          fontconfig data structures to disk. Currently, create cache in /tmp,
          with different sections for each architecture (as returned by uname's
          .machine field. Run the fc-cache binary to create a new cache file;
          fontconfig then uses this cache file on subsequent runs, saving lots of
          memory. Also fixes a few bugs and leaks.
  16. 28 Jun, 2005 1 commit
    • Patrick Lam's avatar
      Add functionality to allow fontconfig data structure serialization. · cd2ec1a9
      Patrick Lam authored
      This patch allows the fundamental fontconfig data structures to be
          serialized. I've converted everything from FcPattern down to be able to
          use *Ptr objects, which can be either static or dynamic (using a union
          which either contains a pointer or an index) and replaced storage of
          pointers in the heap with the appropriate *Ptr object. I then changed
          all writes of pointers to the heap with a *CreateDynamic call, which
          creates a dynamic Ptr object pointing to the same object as before.
          This way, the fundamental fontconfig semantics should be unchanged; I
          did not have to change external signatures this way, although I did
          change some internal signatures. When given a *Ptr object, just run *U
          to get back to a normal pointer; it gives the right answer regardless
          of whether we're using static or dynamic storage.
      I've also implemented a Fc*Serialize call. Calling FcFontSetSerialize
          converts the dynamic FcFontSets contained in the config object to
          static FcFontSets and also converts its dependencies (e.g. everything
          you'd need to write to disk) to static objects. Note that you have to
          call Fc*PrepareSerialize first; this call will count the number of
          objects that actually needs to be allocated, so that we can avoid
          realloc. The Fc*Serialize calls then check the static pointers for
          nullness, and allocate the buffers if necessary. I've tested the
          execution of fc-list and fc-match after Fc*Serialize and they appear to
          work the same way.
  17. 07 Dec, 2004 1 commit
  18. 20 Jul, 2003 1 commit
    • Keith Packard's avatar
      Implement new semantics for Contains and LISTING: · 74a623e0
      Keith Packard authored
      LISTING requires that the font Contain all of the pattern values, where
          Contain is redefined for strings to mean precise matching (so that
          Courier 10 Pitch doesn't list Courier fonts)
      "Contains" for lang means both langs have the same language and either the
          same country or one is missing the country
  19. 09 Jun, 2003 1 commit
  20. 17 Apr, 2003 1 commit
  21. 22 Mar, 2003 1 commit
  22. 05 Mar, 2003 1 commit
  23. 14 Dec, 2002 1 commit
  24. 26 Aug, 2002 1 commit
  25. 22 Aug, 2002 2 commits
  26. 12 Jul, 2002 1 commit
  27. 08 Jul, 2002 1 commit
  28. 07 Jul, 2002 2 commits