1. 05 Nov, 2007 1 commit
  2. 04 Nov, 2007 4 commits
  3. 03 Nov, 2007 2 commits
  4. 26 Oct, 2007 2 commits
  5. 25 Oct, 2007 10 commits
  6. 18 Oct, 2007 9 commits
    • Keith Packard's avatar
      Eliminate relocations from FcCodePageRange structure (bug 10982). · 1bd0b5ba
      Keith Packard authored
      FcCodePageRange was using char pointers; replace them with char arrays.
    • Keith Packard's avatar
      Eliminate relocations for glyph name table. · 96925b99
      Keith Packard authored
      Glyph names (now used only for dingbats) were using many relocations,
      causing startup latency plus per-process memory usage. Replace pointers with
      table indices, shrinking table size and elimninating relocations.
    • Keith Packard's avatar
      Must not insert cache into hash table before completely validating. · bc5e8adb
      Keith Packard authored
      The cache was inserted into the hash table before the timestamps in the
      cache were verified; if that verification failed, an extra pointer to the
      now freed cache would be left in the hash table. FcFini would fail an
      assertion as a result.
    • Keith Packard's avatar
      Place language name in constant array instead of pointer. · e85789a9
      Keith Packard authored
      Constant char array of 8 bytes is the same size as a pointer plus a short
      string, so this actually saves memory and eliminates a pile of relocations.
    • Mike FABIAN's avatar
      Avoid crashes if config files contain junk. · 07e646cc
      Mike FABIAN authored
      If ~/.fonts.conf contains:
        <edit mode="assign_replace" name="spacing">
      fontconfig crashes:
          mfabian@magellan:~$ fc-match sans
              Fontconfig error: "~/.fonts.conf", line 46: "mono": not a valid
      	    セグメンテーション違反です (core dumped)
      Of course the above is nonsense, “mono” is no valid integer indeed.
      But I think nevertheless fontconfig should not crash in that case.
      The problem was caused by partially truncated expression trees caused by
      parse errors -- typechecking these walked the tree without verifying the
      integrity of the structure. Of course, the whole tree will be discarded
      shortly after being loaded as it contained an error.
    • Keith Packard's avatar
      Don't use X_OK bit when checking for writable directories (bug 12438) · 23848903
      Keith Packard authored
      Some mingw versions have broken X_OK checking; instead of trying to work
      around this in a system-depedent manner, simply don't bother checking for
      X_OK along with W_OK as such cases are expected to be mistakes, and not
      sensible access control.
    • Keith Packard's avatar
      Make FC_FULLNAME include all fullname entries, elide nothing. [bug 12827] · f7da903d
      Keith Packard authored
      The old policy of eliding fullname entries which matched FC_FAMILY or
      FC_FAMILY + FC_STYLE meant that applications could not know what the
      font foundry set as the fullname of the font. Hiding information is not
    • Keith Packard's avatar
    • Keith Packard's avatar
      Store font directory mtime in cache file. · db6f19f1
      Keith Packard authored
      Instead of relying on mtime ordering between a directory and its associated
      cache file, write the directory mtime into the cache file itself. This makes
      cache file checks more reliable across file systems.
      This change is made in a way that old programs can use new cache files, but
      new programs will need new cache files.
  7. 05 Aug, 2007 1 commit
  8. 12 Mar, 2007 2 commits
  9. 02 Dec, 2006 7 commits
    • Keith Packard's avatar
      Segfault scanning non-font files. Disallow scan edit of user vars. (#8767) · 0f963b0d
      Keith Packard authored
      Missing NULL font check before attempting to edit scanned pattern.
      Also, <match target="scan"> rules are now checked to ensure all
      edited variables are in the predefined set; otherwise, the resulting
      cache files will not be stable.
    • Kean Johnson's avatar
      Don't use varargs CPP macros in fccache.c. (bug 8733) · c9c68750
      Kean Johnson authored
      src/fccache.c uses a trick to try and use a function name that is also a
      macro name. It does this using the varargs args() macro. Replace that
      with separate macros for each number of formals.
    • Keith Packard's avatar
      Add FcFreeTypeQueryFace external API. Bug #7311. · 72ffe653
      Keith Packard authored
      Expose ability to build an FcPattern directly from an FT_Face
    • Keith Packard's avatar
      Fix grep pattern in makealias to work on non-Gnu grep (bug 8368). · 5e234d9e
      Keith Packard authored
      grep -l -w '^foo' doesn't work on Solaris. Replace with
      grep -l '^foo\>' instead which does. Also, grep -l will
      report the filename more than once (!), so add | head -1
      to pick just the first one.
    • Keith Packard's avatar
      Avoid writing uninitialized structure pad bytes to cache files. · 2b77216e
      Keith Packard authored
      The union inside the FcValue structure contains pad bytes. Instead of
      copying the whole structure to the cache block, copy only the initialized
      fields to avoid writing whichever bytes serve as padding within the
    • Keith Packard's avatar
      Warn (and recover) from config file without <cachedir> elements. · 64d7e303
      Keith Packard authored
      When updating from older fontconfig versions, if the config file
      is not replaced, it will not contain <cachedir> elements. Lacking these,
      fontconfig has no place to store cached font information and cannot operate
      Add code to check and see if the loaded configuration has no cache
      directories, and if so, warn the user and add both the default system cache
      directory and the normal per-user cache directory.
    • Keith Packard's avatar
      Use explicit platform/nameid order when scanning ttf files. · 253ec760
      Keith Packard authored
      Instead of accepting whatever order names appear in the font file,
      use an explicit ordering for both platform and nameid.
      Platforms are high precedence than nameids.
      The platform order is:
      	microsoft, apple unicode, macintosh, (other)
      The family nameid order is:
      	preferred family, font family
      The fullname nameid order is:
      	mac full name, full name
      The style nameid order is
      	preferred subfamily, font subfamily
      This will change the names visible to users in various application UIs, but
      should not change how existing font names are matched as all names remain
      present in the resulting database. The hope is that family names will, in
      general, be less ambiguous. Testing here shows that commercial fonts
      have longer names now while DejaVu has a shorter family name, and moves more
      of the font description to the style name.
  10. 13 Nov, 2006 1 commit
  11. 18 Sep, 2006 1 commit