]> git.wh0rd.org - fontconfig.git/blobdiff - ChangeLog
Pass around FcCache *s to the Unserialize functions for extra consistency
[fontconfig.git] / ChangeLog
index 244547be617257cccebf109bc97da649404c9b84..751e9f9fa3a8c6cf7b0624ba395f09b66c805db7 100644 (file)
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,409 @@
+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):
+
+       Forcibly rescan a directory before writing a fresh local
+       cache file for that directory, fixing the losing-fonts
+       problem reported by Mike Fabian and also apparently the 
+       font cache file corruption.
+
+2005-11-02  Patrick Lam  <plam@mit.edu>
+       * src/fccache.c (FcGlobalCacheLoad):
+
+       Fix thinko: actually, the whole global cache is stale 
+       if the global cache is older than the (newest) config file.
+
+2005-11-02  Patrick Lam  <plam@mit.edu>
+       * src/fccache.c (FcGlobalCacheLoad):
+       * src/fccfg.c (FcConfigModifiedTime, FcConfigBuildFonts):
+       * src/fcint.h:
+
+       Declare the global cache of a directory's contents to be stale if
+       the directory is newer than the (newest) configuration file.
+
+2005-10-31  Patrick Lam  <plam@mit.edu>
+       * src/fcint.h:
+       * src/fclist.c (FcListAppend):
+       * src/fcmatch.c (FcFontRenderPrepare):
+       * src/fcpat.c (FcPatternTransferFullFname, FcPatternDuplicate,
+                      FcPatternFreeze, FcPatternBaseFreeze):
+
+       Copy the full pathname whenever duplicating an FcPattern; otherwise,
+       applications continue breaking.
+
+2005-10-31  Patrick Lam  <plam@mit.edu>
+       * fc-cat/fc-cat.c (FcCacheFileRead, main):
+       * src/fcfreetype.c (FcFreeTypeQuery):
+
+       Fix small memory error (tried to free argv); use basename and
+       dirname correctly (they can modify their arguments).
+
+2005-10-31  Patrick Lam  <plam@mit.edu>
+       * fc-cat/fc-cat.c:
+       * src/fccache.c:
+       * src/fcfreetype.c:
+       * src/fcint.h:
+       * src/fclist.c:
+       * src/fcpat.c:
+
+       Reinstate basename patch, but keep a hash table linking FcPatterns
+       to their fully-qualified font names for clients' benefit.  Clients
+       only pay for the font names once they request the FC_FILE property
+       from an FcPattern, but the font name is malloc'd at that point (i.e.
+       not mmapped: that's impossible, since it may vary between machines.)
+       Clients do have to pay for a copy of the path name per cache file.
+
+       Note that FcPatternGetString now does some rewriting if you ask
+       for an FC_FILE, appending the pathname as appropriate.
+       
+2005-10-31  Patrick Lam  <plam@mit.edu>
+       * src/fcfreetype.c (FcFreeTypeQuery):
+
+       Revert basename patch, which breaks fontconfig clients on my system.
+
+2005-10-25  Jinghua Luo  <sunmoon1997@gmail.com>
+       reviewed by: plam
+
+       * fontconfig/fonts.conf.in:
+       * fontconfig/fontconfig.h:
+       * src/fcdefault.c:
+       * src/fcname.c:
+
+       Add FC_EMBEDDED_BITMAP object type to tell Xft/Cairo whether
+       to load embedded bitmaps or not.
+
+2005-10-25  Patrick Lam  <plam@mit.edu>
+       * src/fcfreetype.c (FcFreeTypeQuery):
+
+       Only add basename to patterns' FC_FILE element, not any part of
+       the dirname.
+
+2005-10-22  Patrick Lam  <plam@mit.edu>
+       * src/fcfreetype.c:
+
+       Add some more consts, fixing more GCC4 warnings.
+
+2005-10-22  Zhe Su  <zsu@novell.com>
+       reviewed by: plam
+
+       Support localized font family and style names.
+       This has been reported to break old apps like xfd, but modern
+       (gtk+/qt/mozilla) apps work fine.
+
+2005-10-21  Patrick Lam  <plam@mit.edu>
+       * src/fccache.c (FcGlobalCacheLoad):
+
+       Destroy the global cache file if it's terminally broken.  (reported by
+       Mike Fabian)
+
+2005-10-21  Patrick Lam  <plam@mit.edu>
+       * fc-list/fc-list.c (main):
+       * src/fcname.c (FcNameUnparse, FcNameUnparseEscaped):
+       * fontconfig/fontconfig.h:
+
+       Prevent fc-list from escaping strings when printing them (reported by
+       Matthias Clasen).
+
+2005-10-20  Marcus Meissner  <meissner@suse.de>
+       reviewed by: plam
+
+       * fontconfig/fontconfig.h:
+
+       Add valist sentinel markup for FcObjectSetBuild and FcPatternBuild.
+       
+2005-10-14  Ross Burton  <ross@burtonini.com>
+       reviewed by: plam
+
+       * fc-glyphname/fc-glyphname.c:
+       * src/fclang.c:
+
+       Add consts to variables so as to move arrays into .rodata.
+
+2005-10-14  Mike Fabian  <mfabian@suse.de>
+        reviewed by: plam
+
+        * src/fccache.c (FcDirCacheUnlink):
+
+        Check existence of directory cache file before attempting to unlink.
+
+2005-10-13  Patrick Lam  <plam@mit.edu>
+       * src/fccache.c (FcDirCacheUnlink):
+
+       Fix flipped return value on unlink.  (Reported by Mike Fabian)
+
+2005-10-12  Patrick Lam  <plam@mit.edu>
+
+        * src/fccache.c:
+        * src/fcdir.c (FcDirScanConfig):
+        * src/fcint.h:
+
+        When fc-cache is run without --force, use directory cache files
+        to speed up fc-cache run time.  (Reported by Mike Fabian)
+
+2005-10-06  Patrick Lam  <plam@mit.edu>
+
+        * src/fcname.c (FcObjectToPtr):
+        * src/fcpat.c (FcStrStaticName):
+
+        Add padding to make valgrind and glibc not hate each other
+        when calling strlen().
+
 2005-10-05  Simos Xenitellis  <simos74@gmx.net>
        reviewed by: plam & keithp