+2006-01-08 Patrick Lam <plam@mit.edu>
+ * src/fccache.c (FcDirCacheConsume):
+
+ Properly skip past dir caches that contain zero fonts (as occurs
+ in global caches.) Reported by Mike Fabian.
+
+2006-01-06 Patrick Lam <plam@mit.edu>
+ * src/fcdbg.c (FcPatternPrint):
+
+ Print out full pathname in fc-match -v as well. Reported by
+ Frederic Crozat.
+
+2006-01-06 Mike Fabian <mfabian@suse.de>
+ reviewed by: plam
+
+ * src/fcname.c (FcNameParse):
+
+ Fix bug where fc-match crashes when given __DUMMY__ property to
+ match on.
+
+ (I added the __DUMMY__ string to enable callers of
+ FcObjectToPtrLookup to distinguish an error return from a
+ successful return. -PL)
+
+2006-01-05 Patrick Lam <plam@mit.edu>
+ * AUTHORS:
+
+ Add self to AUTHORS list.
+
+ * fc-cat/fc-cat.c (FcCacheGlobalFileReadAndPrint,
+ FcCacheFileRead, FcCachePrintSet, main):
+ * src/fccache.c (FcGlobalCacheLoad, FcGlobalCacheUpdate,
+ FcGlobalCacheSave, FcCacheNextOffset,
+ FcDirCacheHasCurrentArch, FcDirCacheRead,
+ FcDirCacheConsume, FcDirCacheWrite):
+ * src/fcint.h:
+ * src/fcpat.c (comment):
+
+ Minor change to global cache file format to fix fc-cat bug
+ reported by Frederic Crozat, and buglet with not globally caching
+ directories with zero fonts cached.
+
+2006-01-02 Lubos Lunak <l.lunak@suse.cz>
+ reviewed by: plam
+
+ * src/fccfg.c (FcConfigEvaluate):
+
+ Fix double-free which occurs because FcValueCanonicalize doesn't
+ create an extra copy of the returned value, it only canonicalizes
+ it.
+
+2006-01-02 Patrick Lam <plam@mit.edu>
+ * doc/fontconfig-user.sgml:
+
+ Fix version of .cache file (currently 1 -> currently 2). Reported
+ by Jim Osborn.
+
+2005-12-21 Jinghua Luo <sunmoon1997@gmail.com>
+ reviewed by: plam
+
+ * src/fcpat.c (FcPatternAddFullFname, FcPatternFindFullFname):
+
+ Shut up GCC warnings on amd.
+
+2005-12-20 Patrick Lam <plam@mit.edu>
+ * ChangeLog:
+ * README:
+ * configure.in:
+ * fontconfig/fontconfig.h:
+
+ Bump version to 2.3.93.
+
+2005-12-20 Patrick Lam <plam@mit.edu>
+ * src/fccharset.c (FcLangCharSetPopulate):
+ * src/fcint.h (FcCacheBankToIndex):
+
+ Avoid check on _fcBankId nullness and fix case where it used to
+ crash.
+
+2005-12-20 Patrick Lam <plam@mit.edu>
+ * src/fcxml.c (FcConfigParseAndLoad):
+
+ Use open instead of fopen (requested by Phil Race for Sun).
+
+2005-12-20 Patrick Lam <plam@mit.edu>
+ * src/fccache.c (FcDirCacheWrite);
+ * fc-cache/Makefile.am:
+
+ Fix GCC4 warning and Makefile brokenness for /var/cache/fontconfig
+ dir.
+
+2005-12-20 Patrick Lam <plam@mit.edu>
+ * src/fcfreetype.c (FcFreeTypeQuery):
+
+ Restore code to skip over PCF fonts that have no encoded
+ characters.
+ (We guess that a font is PCF by presence of the PIXEL_SIZE
+ BDF property.)
+
+2005-12-12 Patrick Lam <plam@mit.edu>
+ * src/fccache.c (FcDirCacheOpen, FcDirCacheWrite):
+
+ Read and write the original location as a fallback for the
+ hashed cache file locations. This is mostly for users to be
+ able to have per-directory cache files.
+
+2005-12-12 Patrick Lam <plam@mit.edu>
+ * fc-cache/fc-cache.c (scanDirs):
+ * fc-cache/Makefile.am:
+ * src/fccache.c (FcDirCacheHashName):
+
+ Improve error message when fc-cache can't write the cache. Add
+ missing slash. Reported by Behdad. Incorporate Behdad's patch to
+ create /var/cache/fontconfig when appropriate.
+
+2005-12-12 Behdad Esfahbod <behdad@cs.toronto.edu>
+ reviewed by: plam
+
+ * src/fcxml.c (FcConfigGetAttribute):
+
+ Fix crash reported by Frederic Crozat when using libxml2.
+
+2005-12-09 Patrick Lam <plam@mit.edu>
+ * INSTALL:
+ * configure.in:
+ * fc-cache/Makefile.am:
+ * fc-cat/Makefile.am:
+ * src/Makefile.am:
+ * fc-cat/fc-cat.c (FcCacheGlobalFileReadAndPrint, FcCacheFileRead):
+ * fontconfig/fontconfig.h (FC_CACHE_SUFFIX):
+ * src/fccache.c (FcCacheSkipString, FcGlobalCacheLoad,
+ FcGlobalCacheSave, FcCacheNextOffset, FcDirCacheValid,
+ FcDirCacheHasCurrentArch, FcDirCacheHashName,
+ FcDirCacheOpen, FcDirCacheRead, FcDirCacheWrite):
+
+ Migrate cache files from fonts directories to
+ /var/cache/fontconfig. This helps make fontconfig FHS-compliant,
+ but requires that all caches get rebuilt.
+
+ Also, autogen.sh now needs the additional parameter
+ --localstatedir=/var.
+
+2005-12-07 Patrick Lam <plam@mit.edu>
+ * src/fcpat.c (FcPatternAddString):
+
+ Because we've changed FcPatternAddString to use FcStrStaticName
+ and not FcValueSave, explicitly handle the case of a null string.
+
+2005-12-06 Patrick Lam <plam@mit.edu>
+ * fc-cat/fc-cat.c (FcCachePrintSet, FcCacheGlobalFileReadAndPrint):
+
+ Fix warnings.
+
+2005-12-05 Patrick Lam <plam@mit.edu>
+ * src/fcname.c (FcNameGetObjectType):
+
+ Don't assign types to user object names.
+
+2005-12-05 Patrick Lam <plam@mit.edu>
+ * src/fcpat.c (FcValueDestroy, FcValueListDestroy, FcStrHashed):
+
+ Don't free strings that have been returned from FcStrStaticName.
+
+2005-12-01 Patrick Lam <plam@mit.edu>
+ * fc-cat/fc-cat.c (FcCacheGlobalFileReadAndPrint, main):
+
+ Add codepath for reading global cache files as well.
+
+2005-12-01 Behdad Esfahbod <behdad@cs.toronto.edu>
+ reviewed by: plam
+
+ * conf.d/10-fonts.persian.conf:
+ * conf.d/Makefile.am:
+
+ Add config file for Persian fonts from Sharif FarsiWeb, Inc.
+
+2005-11-30 Behdad Esfahbod <behdad@cs.toronto.edu>
+ reviewed by: plam
+
+ * src/fcxml.c (FcConfigParseAndLoad):
+
+ Only add a config file to the set of config files once.
+
+2005-11-29 Patrick Lam <plam@mit.edu>
+ * src/fcint.h (FcCacheBankToIndex);
+
+ Fix segfault by guarding array dereference.
+
+2005-11-29 Dirk Mueller <dmueller@suse.de>
+ reviewed by: plam
+
+ * fc-lang/fc-lang.c:
+ * src/fccache.c (FcDirCacheConsume, FcCacheHaveBank,
+ FcCacheBankToIndex, FcCacheBankToIndexMTF,
+ FcCacheAddBankDir):
+ * src/fcint.h:
+
+ Refactor FcCacheBankToIndex into an inlineable part
+ (in fcint.h) which checks the front of the list and a
+ non-inlineable part which finds and moves the appropriate element
+ to the front of the list.
+
+2005-11-29 Patrick Lam <plam@mit.edu>
+ * src/fccfg.c (FcConfigBuildFonts):
+ * src/fccache.c (FcCacheReadDirs):
+
+ Make the perf guys hate me a bit less: hoist the directory-name
+ FcConfigAcceptFont check for cached fonts up to directory cache
+ read time, rather than running it for each font.
+
+2005-11-29 Patrick Lam <plam@mit.edu>
+ * src/fccfg.c (FcConfigBuildFonts):
+ * src/fcint.h:
+ * src/fcpat.c (FcPatternFindFullFname):
+
+ Don't make FcPatternFindFullFname available to fccfg, it's not
+ really safe. Instead go through FcPatternGetString (sorry,
+ perf guys.) Also, use globs for dirs as well.
+
+2005-11-28 Patrick Lam <plam@mit.edu>
+ * src/fccfg.c (FcConfigBuildFonts):
+
+ Fix segfault.
+
+2005-11-28 Patrick Lam <plam@mit.edu>
+ * src/fcint.h:
+ * src/fcpat.c (FcPatternFindFullFname):
+ * src/fccfg.c (FcConfigBuildFonts):
+
+ Fix problem dating back at least to 2.3.2 where globs weren't
+ being applied to patterns loaded from a cache.
+
+2005-11-28 Patrick Lam <plam@mit.edu>
+ * doc/fontconfig-user.sgml:
+
+ Fix some obvious spelling mistakes.
+
+2005-11-28 Dirk Mueller <dmueller@suse.com>
+ Stephan Kulow <coolo@suse.de>
+ reviewed by: plam
+
+ * src/fcmatch.c (FcFontSetMatch):
+
+ Don't kill all fonts during match (oops!)
+
+
+2005-11-25 Dirk Mueller <dmueller@suse.com>
+ Stephan Kulow <coolo@suse.de>
+ Michael Matz <matz@suse.de>
+ reviewed by: plam
+
+ * src/fcmatch.c (FcObjectPtrToMatcher, FcCompareValueList,
+ FcFontSetMatch):
+
+ Rewrite FcFontSetMatch to a path-finding based algorithm, i.e.
+ inline FcCompare into FcFontSetMatch and reorder the
+ loops, adding a boolean array which blocks patterns from future
+ consideration if they're known to not be best on some past
+ criterion.
+
+2005-11-26 Dirk Mueller <dmueller@suse.com>
+ reviewed by: plam
+
+ * src/fcmatch.c (FcCompareValueList):
+
+ Fix incorrect merge.
+
+2005-11-25 Patrick Lam <plam@mit.edu>
+ * src/fcmatch.c (FcMatchObjectPtrsInit, FcCompareValueList):
+
+ Don't do random matching when bad objects are passed into
+ FcCompareValueList.
+
+2005-11-25 Patrick Lam <plam@mit.edu>
+ * src/fcint.h:
+ * src/fcpat.c (FcPatternEnsureBank, FcPatternDistributeBytes,
+ FcPatternSerialize, FcPatternUnserialize,
+ FcValueListEnsureBank, FcValueListDistributeBytes,
+ FcValueListUnserialize):
+
+ Rename fcpatterns, fcpatternelts, fcvaluelists to _fcPatterns,
+ _fcPatternElts, _fcValueLists for consistency.
+
+2005-11-25 Dirk Mueller <dmueller@suse.com>
+ reviewed by: plam
+
+ * src/fcmatch.c:
+
+ Pass the FcObjectPtr to FcCompareValueList, not the char * (perf).
+
+2005-11-25 Patrick Lam <plam@mit.edu>
+ * src/fcint.h:
+ * src/fccache.c (FcDirCacheConsume):
+ * src/fccharset.c (FcCharSetUnserialize):
+ * src/fcfs.c (FcFontSetUnserialize):
+ * src/fclang.c (FcLangSetUnserialize):
+ * src/fcname.c (FcObjectUnserialize):
+ * src/fcpat.c (FcStrUnserialize, FcValueListUnserialize,
+ FcPatternUnserialize):
+
+ Pass around FcCache *s to the Unserialize functions for extra
+ consistency (and less overhead, for what that's worth).
+
+2005-11-24 Dirk Mueller <dmueller@suse.com>
+ reviewed by: plam
+
+ * src/fcint.h:
+ * src/fcmatch.c (FcCompare*, FcFontSetSort):
+ * src/fcname.c (FcNameUnparseValue):
+
+ Inline the *PtrU functions to gain perf.
+ Remove unneeded params for the FcCompare* functions.
+
+2005-11-24 Dirk Mueller <dmueller@suse.com>
+ reviewed by: plam
+
+ * src/fcint.h, fontconfig/fontconfig.h:
+
+ Move FC_BANK_DYNAMIC, FC_BANK_FIRST to internal header.
+
+ * src/fcpat.c, src/fcint.h, src/fcname.c:
+
+ Check for type validity during FcPatternAddWithBinding, don't
+ verify type in FcFontMatch, don't call FcCanonicalize here
+ (which always does a deep copy).
+
+2005-11-24 Dirk Mueller <dmueller@suse.com>
+ reviewed by: plam
+
+ * src/fcmatch.c (FcCompareNumber, FcCompareString, FcCompareFamily):
+ * src/fcpat.c (FcPatternAddWithBinding):
+
+ Make FcCompareString and FcCompareFamily less expensive.
+ Only add a value for FC_FAMILY if the proposed value is a string.
+
+2005-11-24 Dirk Mueller <dmueller@suse.com>
+ reviewed by: plam
+
+ * src/fcdbg.c (FcDebug, FcDebugInit, FcPatternPrint):
+ * src/fcinit.c (FcInitLoadConfig, FcInitLoadConfigAndFonts):
+ * src/fcint.h (FcDebug):
+
+ Inline FcDebug invocations and only initialize once, in FcInit*.
+ Improve debug msg in FcPatternPrint.
+
+2005-11-23 Frederic Crozat <fcrozat@mandriva.com>:
+ reviewed by: plam
+
+ * fontconfig/fontconfig.h:
+ * fc-cat/fc-cat.c:
+
+ Minor code warning cleanups.
+
+2005-11-23 Frederic Crozat <fcrozat@mandriva.com>:
+ reviewed by: plam
+
+ * fc-match/fc-match.c (main):
+
+ Make getopt_long accept -s parameter to fc-match as well.
+
+2005-11-21 Dirk Mueller <dmueller@suse.com>
+ reviewed by: plam
+
+ * src/fcmatch.c (FcCompareValueList):
+
+ Manually perform inlining & partial redundancy elimination to
+ reduce calls to FcValueListPtrU.
+
+2005-11-21 Dirk Mueller <dmueller@suse.com>
+ reviewed by: plam
+
+ * src/fcstr.c (FcStrFree, FcStrCaseWalkerInit, FcStrCaseWalkerLong,
+ FcStrCaseWalkerNext, FcStrCaseWalkerNextIgnoreBlanks):
+
+ Only invoke strlen() when really necessary.
+
+2005-11-19 Matthias Clasen <mclasen@redhat.com>
+ reviewed by: plam
+
+ * src/Makefile.am:
+ * src/fcfreetype.c (FcGetPixelSize, FcFreeTypeQuery, GetScriptTags,
+ FcFontCapabilities):
+ * src/ftglue.c:
+ * src/ftglue.h:
+
+ Get rid of the use of freetype internal headers in fcfreetype.c,
+ since those headers will go away with freetype 2.2. Replace with
+ public domain ftglue code from pango. Note that the patch removes
+ some extra error checking in FT_Get_BDF_Property() and comments
+ out the skipping of empty pcf fonts.
+
+2005-11-19 Jinghua Luo <sunmoon1997@gmail.com>
+ reviewed by: plam
+
+ * fc-lang/fc-lang.c (main):
+
+ Further fix of patch from 2005-11-04: miscounted numbers count
+ (numbers_count); didn't strip duplicate numbers (langBankNumbers);
+ and leafidx_offset and numbers_offset in fcLangCharSets are wrong.
+
+ Removed leafidx_count and numbers_count since they are the same
+ and replaced them with offset_count.
+
+2005-11-18 Frederic Crozat <fcrozat@mandriva.com>
+ reviewed by: plam
+
+ * fc-cat/fc-cat.c (main):
+
+ Don't crash when fc-cat invoked with no arguments.
+
+2005-11-18 Frederic Crozat <fcrozat@mandriva.com>
+ reviewed by: plam
+
+ * src/fcxml.c (FcConfigSaveAttr, FcConfigParseAndLoad):
+
+ Fix invalid read access caused by premature free and
+ GCC4 warnings in libxml2 codepath.
+
+2005-11-17 Jinghua Luo <sunmoon1997@gmail.com>
+ reviewed by: plam
+
+ * src/fccfg.c (FcConfigValues):
+
+ List iteration not needed in FcConfigValues, since it's building
+ up the list itself; we can just strip FcVoid elements during
+ construction.
+
+2005-11-17 Patrick Lam <plam@mit.edu>
+ * src/fccfg.c (FcConfigValues):
+
+ Fix crash on invalid constants in config files (forgot to update
+ a pointer upon list iteration.)
+
+2005-11-17 Frederic Crozat <fcrozat@mandriva.com>
+ reviewed by: plam
+
+ * src/fcxml.c (FcTypecheckExpr):
+
+ Complain about invalid constants in config files.
+
+2005-11-17 Andreas Schwab <schwab@suse.de>
+ reviewed by: plam
+
+ * src/fccache.c (FcGlobalCacheSave):
+
+ Don't add current_arch_start more than once.
+
+2005-11-16 Patrick Lam <plam@mit.edu>
+ * src/fccharset.c (FcCharSetDistributeBytes, FcCharSetUnserialize):
+ * src/fcfs.c (FcFontSetUnserialize):
+ * src/fcname.c (FcObjectDistributeBytes, FcObjectUnserialize):
+ * src/fcpat.c (FcStrUnserialize):
+
+ Fix ordering of ALIGN with respect to saving block_ptr; add
+ another ALIGN to fcfs.c.
+
+2005-11-16 Patrick Lam <plam@mit.edu>
+ * src/fccache.c (FcDirCacheProduce)
+
+ Fix case where alignment bytes bumped up metadata->count
+ causing unwarranted failures to write cache files.
+ (Reported by Stephan Kulow).
+
+2005-11-16 Patrick Lam <plam@mit.edu>
+ * src/fccache.c (FcDirCacheProduce):
+ * src/fccharset.c (FcCharSetDistributeBytes):
+ * src/fcfs.c (FcFontSetDistributeBytes):
+ * src/fcint.h:
+ * src/fclang.c (FcLangSetDistributeBytes):
+ * src/fcname.c (FcObjectDistributeBytes):
+ * src/fcpat.c (FcPatternNeededBytes, FcValueListNeededBytes,
+ FcStrNeededBytes):
+
+ Add *NeededBytesAlign(), which overestimates the padding which is
+ later added by the new ALIGN macro. Fix alignment problems on
+ ia64 and s390 by bumping up block_ptr appropriately. (Earlier
+ version by Andreas Schwab).
+
+2005-11-16 Stephan Kulow <coolo@kde.org>
+ reviewed by: plam
+
+ * src/fccache.c:
+
+ Use sysconf to determine proper PAGESIZE value; this
+ appears to be POSIX-compliant. (reported by Andreas Schwab)
+
+2005-11-04 Patrick Lam <plam@mit.edu>
+ * fc-lang/fc-lang.c:
+ * src/fccharset.c:
+ * src/fcint.h:
+ * src/fclang.c:
+
+ Fix bug 2878 (excessive relocations at startup for charsets,
+ reported by Ross Burton): fc-lang/fc-lang now creates the
+ static form of the langset, not the dynamic form, so that
+ the charsets should now be in .rodata.
+
+2005-11-04 Patrick Lam <plam@mit.edu>
+ * src/fcdir.c (FcDirScanConfig):
+
+ Add test for validity of directory caches that
+ somehow got lost (reported by make distcheck).
+
+2005-11-04 Patrick Lam <plam@mit.edu>
+ * ChangeLog:
+ * README:
+ * configure.in:
+ * fontconfig/fontconfig.h:
+
+ Bump version to 2.3.92.
+
+2005-11-02 Patrick Lam <plam@mit.edu>
+ * src/fcpat.c (FcPatternDuplicate):
+
+ Fix argument ordering problem in call to FcPatternTransferFullFname.
+
+2005-11-02 Patrick Lam <plam@mit.edu>
+ * src/fcfreetype.c (FcFreetypeQuery):
+ * src/fcpat.c (FcPatternDestroy, FcPatternDuplicate,
+ FcPatternTransferFullFname):
+
+ Fix warnings and embarrassing double-free error.
+
+2005-11-02 Zhe Su <zsu@novell.com>
+ reviewed by: plam
+
+ * fonts.conf.in:
+
+ Change the rule for artificial emboldening in fonts.conf.in. This
+ enables the support for artificial emboldening included in cairo.
+
+2005-11-02 Patrick Lam <plam@mit.edu>
+ * src/fcpat.c (FcPatternDestroy, FcPatternTransferFullName):
+
+ Don't zero out full names for FC_REF_CONSTANT fonts;
+ also, duplicate full names when transferring, and free
+ full names when freeing the associated font.
+ Reported by Jinghua Luo.
+
+2005-11-02 Patrick Lam <plam@mit.edu>
+ * fc-cache/fc-cache.c (scanDirs):
+ * src/fcpat.c (FcValueListSerialize):
+
+ Revert the previous patch and commit the correct patch:
+ I forgot a canonicalization in FcValueListSerialize, so
+ that it would choke on already-serialized input files. Duh!
+
2005-11-02 Patrick Lam <plam@mit.edu>
* fc-cache/fc-cache.c (scanDirs):