X-Git-Url: https://git.wh0rd.org/?a=blobdiff_plain;f=ChangeLog;h=5e4b1f43e08c178c482e5e0ca581cadd747860d4;hb=fb6e30ab3ef74021978d260fb7f2c40a0b5a0b06;hp=c02da827edb6cd7d99f93fcafb35ef7556642923;hpb=1c5b6345b9023dee7962468fccb678b5f2e56ce3;p=fontconfig.git diff --git a/ChangeLog b/ChangeLog index c02da82..5e4b1f4 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,1545 @@ +2006-08-04 Keith Packard (keithp@keithp.com) + reviewed by: plam + + * configure.in: + * fonts.conf.in: + * fonts.dtd: + * fc-cache/fc-cache.c (scanDirs): + * fontconfig/fontconfig.h: + * src/Makefile.am: + * src/fcint.h: + * src/fccache.c (FcDirCacheValid, FcDirHasCurrentArch, + FcDirCacheUnlink, FcDirCacheBasename, + FcCacheReadDirs, FcDirCacheOpen, FcDirCacheRead, + FcMakeDirectory, FcDirCacheWrite): + * src/fccfg.c (FcConfigCreate, FcConfigDestroy, FcConfigAddCacheDir, + FcConfigGetCacheDirs): + * src/fcdir.c (FcDirScanConfig, FcDirSave): + * src/fcinit.c (FcInitFallbackConfig): + * src/fcxml.c (fcElementMap, FcEndElement): + * test/fonts.conf.in, test/run-test.sh: + + Make cache directories configurable. Simplify and correct + some code which deals with per-directory caches. + +2006-07-19 Jon Burgess (jburgess@uklinux.net) + reviewed by: plam + + * src/fccache.c (FcGlobalCacheDestroy): + + Fix file-descriptor leak in FcGlobalCacheDestroy. + +2006-05-31 Yong Li (rigel863@gmail.com) + reviewed by: plam, Bedhad Esfahbod + + * src/ftglue.c (_hb_ftglue_face_goto_table): + + TrueType Collection table offsets are absolute, not relative. + +2006-04-27 Paolo Borelli (pborelli@katamail.com) + reviewed by: plam + + * src/fcstr.c (FcStrCopy): + + Make FcStrCopy slightly more efficient. + +2006-04-27 Patrick Lam + Keith Packard + * src/fcstr.c (FcStrBufChar): + + Reduce transient memory usage during config file parsing + by allocating smaller buffers (64 seems to be a magic number). + +2006-04-27 Keith Packard + + * src/fcinit.c: (FcMemReport): + * src/fcint.h: + * src/fcpat.c: (FcPatternFini): + * src/fcxml.c: (FcParsePatelt): + Eliminate pattern freezing + +2006-04-27 Keith Packard + reviewed by: Patrick Lam + + * src/fccache.c: (FcDirCacheUnlink), (FcDirCacheHashName), + (FcDirCacheOpen), (FcDirCacheWrite): + * src/fcfreetype.c: (FcFreeTypeQuery): + * src/fcint.h: + * src/fclist.c: (FcListAppend): + * src/fcmatch.c: (FcFontRenderPrepare): + * src/fcpat.c: (FcPatternDestroy), (FcPatternBaseFreeze), + (FcPatternFreeze), (FcPatternGet), (FcPatternDuplicate), + (FcStrUnserialize): + Make path names in cache files absolute (NB, cache format change) + Stop permitting cache files to be stored in font dirs. + Bump cache magic. + Don't include /fonts.cache-2 in cache hash construction. + +2006-04-25 Patrick Lam + * ChangeLog: + * README: + * configure.in: + * fontconfig/fontconfig.h: + + Bump version to 2.3.95. + +2006-04-25 Behdad Esfahbod + reviewed by: plam + + * configure.in: + * src/Makefile.am: + * src/fcfreetype.c: + + Fix the issues with GNU libiconv vs. libc iconv (which especially + appear on Solarii). Approach suggested by Tim Mooney. + +2006-04-24 Dominic Lachowicz + reviewed by: plam + + * src/Makefile.am: + + Include $(top_srcdir), $(top_srcdir)/src before anything else. + + * fc-cache/fc-cache.c, fc-cat/fc-cat.c, fc-match/fc-match.c: + * src/fccache.c, src/fccfg.c, src/fccharset.c, src/fcdbg.c: + * src/fcfreetype.c, src/fcfs.c, src/fcinit.c, src/fclist.c: + * src/fcmatch.c, src/fcmatrix.c, src/fcname.c, src/fcpat.c: + * src/fcstr.c, src/fcxml.c: + + Shuffle order of includes for building out of srcdir on win32. + +2006-04-20 Patrick Lam + * src/fcmatch.c (FcSortWalk): + + Prevent terrible perf regression by getting the if-condition + right (reported by Wouter Bolsterlee). + +2006-04-19 Patrick Lam + Dominic Lachowicz + + * src/fccache.c (FcDirCacheConsume): + + Implement mmap-like code for Windows using MapViewOfFile. + +2006-04-19 Patrick Lam + * src/fccache.c (FcDirCacheConsume, FcCacheNextOffset): + + Bail gracefully if the cache file does not contain enough data. + +2006-04-14 Patrick Lam + * fonts.conf.in: + + Give the 'Standard Symbols L' match a strong (vs. weak) binding. + +2006-04-14 Patrick Lam + * src/fcname.c (FcObjectToPtrLookup): + + Fix Gecko-exposed segfault from my last hack to + FcObjectToPtrLookup. Simplify code and get things straight. + +2006-04-14 Patrick Lam + * fonts.conf.in: + + Actually, just add URW fonts as aliases for all of the PostScript + fonts. (reported by Miguel Rodriguez). + +2006-04-13 Patrick Lam + * fonts.conf.in: + + Add an alias 'Standard Symbols L' for 'Symbol'. + +2006-04-12 Frederic Crozat + reviewed by: plam + + * src/fcpat.c: (FcPatternFreeze): + Fix memory leak (Coverity defect #2089). + + * src/fcfreetype.c: (GetScriptTags): + Ignore script if subtable is missing (Coverity defect #2088). + +2006-04-12 Patrick Lam + * src/fccfg.c (FcConfigSubstituteWithPat): + + Fix possible null pointer dereference (Coverity defect #784) + and memory leak (Coverity defects #785, #786). + +2006-04-12 Patrick Lam + * src/fcmatch.c (FcSortWalk, FcFontSetSort): + + Don't copy FcCharSet if we're going to throw it away anyway. + (Reported by Kenichi Handa). + +2006-04-11 Ming Zhao + reviewed by: plam + + * src/fcname.c (FcObjectToPtrLookup): + + Fix bad behaviour on realloc resulting in crash. + +2006-04-11 Patrick Lam + * src/fccache.c (FcGlobalCacheReadDir): + + Don't crash if config is null (Coverity defect #984). + +2006-04-11 Frederic Crozat + reviewed by: plam + + * src/fccharset.c (FcCharSetPutLeaf): + * src/fclang.c (FcNameUnparseLangSet): + + Missing bits from previous patches. + + * src/fccharset.c (FcCharSetSubtractCount): + Remove extra semi-colon. + + * src/fccfg.c (FcConfigBuildFonts): + Fix memory leak in error case (Coverity defects #776, #985). + + * src/fcxml.c (FcPopBinary, FcParsePatelt, FcParsePattern): + Fix memory leaks (Coverity defects #779, #781) + and memory use after free (Coverity defect #780). + +2006-04-11 Patrick Lam + * src/fccharset.c (FcCharSetPutLeaf): + + Properly convert static charsets to dynamic charsets. + +2006-04-11 Frederic Crozat + reviewed by: plam + + * src/fcpat.c: (FcValueListEntCreate, FcPatternBaseFreeze, + FcPatternFreeze): + Fix memory leak in error case (Coverity defects #1820, #1821, #1822). + + * src/fclang.c: (FcNameUnparseLangSet): + Fix memory leak (Coverity defect #1819). + + * fc-lang/fc-lang.c: (scan): + prevent crash when invalid include line is parsed (Coverity defect + #763). + + * fc-cat/fc-cat.c: (FcCacheFileRead): + Fix potential null pointer access (Coverity defect #1804). + + * src/fcname.c: (FcObjectUnserialize): + Remove dead code (Coverity defect #1194). + + * src/fcfreetype.c: (GetScriptTags): + Prevent potential null pointer access (Coverity defect #767), + ensure error value is read (Coverity defect #1195). + +2006-04-11 Behdad Esfahbod + reviewed by: plam + + * doc/Makefile.am: + + Survive missing docbook2pdf. + +2006-04-10 Patrick Lam + * fc-case/fc-case.c: + * fc-glyphname/fc-glyphname.c: + * fc-lang/fc-lang.c: + + Include more stub definitions to make HP-UX's C compiler happy. + +2006-04-10 Patrick Lam + * src/fcname.c (FcObjectUnserialize): + + Swap typo in order of ALIGN and dereferencing, fixing bug 6529. + +2006-04-10 Frederic Crozat + reviewed by: plam + + * src/fccfg.c: (FcConfigEvaluate): + Fix string memory leak (Coverity defect #1823). + + * src/fccache.c: (FcDirCacheUnlink): + Fix memory leak with hash collision (Coverity defect #1824). + +2006-04-10 Frederic Crozat + reviewed by: plam + + * src/fccache.c: (FcGlobalCacheSave): + Don't leak header in non-error case (Coverity defect #1825). + +2006-04-10 Frederic Crozat + reviewed by: plam + + * src/fcdir.c (FcDirScanConfig) + Don't leak in error cases (Coverity defects #777, #1826) + +2006-04-10 Frederic Crozat + reviewed by: plam + + * src/fccache.c: (FcDirCacheWrite): + Fix double free (spotted by Coverity, CID #1965). + + * fc-match/fc-match.c: (main): + Check if pattern is not null before using it (Coverity defect #1883). + + * src/fccache.c: (FcDirCacheWrite): + Fix memory leak with hash collision (Coverity defect #1829). + + * src/fccfg.c: (FcConfigBuildFonts): + Fix memory leak when bail cases (Coverity defect #1828). + + * src/fccache.c: (FcGlobalCacheLoad): + Don't leak directory name (Coverity defect #1827). + +2006-04-07 Dominic Lachowicz + reviewed by: plam + * fc-cache/Makefile.am: + * fc-cat/Makefile.am: + * fc-list/Makefile.am: + * fc-match/Makefile.am: + + LD_ADD missing dependencies for binaries. Reported by + Edson Alves Pereira. + +2006-04-07 Patrick Lam + * src/fcint.h: + * fc-lang/fc-lang.c (main): + + SGI compilation fixes (reported by Christoph Bauer): + 1) reorder union definition of _FcChar; + 2) omit .stats =. + +2006-04-07 Dominic Lachowicz + reviewed by: plam + * configure.in: + * src/fccharset.c (FcCharSetNeededBytes): + * src/fcfs.c (FcFontSetNeededBytes): + * src/fcint.h: + * src/fclang.c (FcLangSetNeededBytesAlign): + * src/fcname.c (FcObjectNeededBytesAlign): + * src/fcpat.c (FcPatternNeededBytesAlign, + FcValueListNeededBytesAlign, FcStrNeededBytesAlign): + + Portability fixes for HP-UX (reported by Christoph Bauer). + Replace '__inline__' by AC_C_INLINE and 'inline'. + Replace '__alignof__' by 'fc_alignof'. + +2006-04-07 Dominic Lachowicz + reviewed by: plam + * src/fcint.h: + + Move up #include of config.h. + Fail if neither inttypes.h nor stdint.h is available. + Fixes bug 6171. + +2006-04-07 Dominic Lachowicz + Patrick Lam + * configure.in: + * fc-cache/fc-cache.c: + * fc-cat/fc-cat.c: + * src/fccache.c (FcGlobalCacheSave, FcCacheNextOffset, + FcDirCacheConsume, FcDirCacheProduce, + FcDirCacheWrite, FcCacheMachineSignature): + * src/fcfreetype.c (FcFreeTypeQuery): + * src/fontconfig.def.in: + + Make fontconfig compile under MinGW: + 1) remove unneeded #includes; + 2) make use of mmap and sysconf conditional; + 3) replace rand_r by srand/rand if needed; + 4) use chsize instead of ftruncate; and + 5) update libtool exports file + +2006-04-07 Patrick Lam + * src/fcdir.c (FcDirScanConfig): + + Eliminate warning. + +2006-04-06 Patrick Lam + * fc-match/.cvsignore: + * fc-match/Makefile.am: + * fc-match/fc-match.sgml: + + Update documentation for fc-match (SGML-ize it). + (reported by Ilya Konstantinov) + +2006-04-06 Diego Pettenò + reviewed by: plam + * src/fcdefault.c: + * src/fcpat.c: + * src/fcxml.c: + + Reduce amount of dirty rss by const'ing some data structures. + +2006-04-06 Patrick Lam + * fc-cache/Makefile.am: + + Don't fail if we can't create or remove + $(pkgcachedir) i.e. /var/cache/fontconfig. + (reported by Quanah Gibson-Mount). + +2006-04-06 Kjartan Maraas + reviewed by: plam + * fc-case/fc-case.c: + * fc-glyphname/fc-glyphname.c: + * fc-lang/fc-lang.c (main): + * fc-match/fc-match.c: + * src/fccache.c (FcGlobalCacheSave, FcCacheSkipToArch, + FcDirCacheWrite): + * src/fcfreetype.c (FcFreeTypeQuery): + * src/fclang.c (FcFreeTypeLangSet): + * src/fcxml.c: + + Fix intel compiler warnings: make many variables static, + eliminate duplicate names, reduce variable scopes, unsigned/signed + printf formatting. + +2006-03-24 Mike Fabian + reviewed by: plam + * src/fccache.c (FcGlobalCacheLoad, FcCacheSkipToArch): + + Fix multiarch support (don't destroy multiarch files!) + +2006-03-24 Patrick Lam + * configure.in: + + Require pkg-config. (Thanks Behdad; + better solution wanted for libxml2 detection!) + +2006-03-22 Patrick Lam + * src/fcatomic.c: + + On Windows, unlink before rename. Reported by Tim Evans. + +2006-03-15 Patrick Lam + * fc-lang/ab.orth: + * fc-lang/ibo.orth: + + Fix typos in orth files. Reported by Denis Jacquerye. + +2006-03-08 Patrick Lam + * Makefile.am: + * config/config.guess: + * config/config.sub: + + Fix Makefile.am for removal of debian/ directory. + +2006-03-08 Patrick Lam + * .cvsignore + + Ignore debian/ directory for CVS. + +2006-03-08 Patrick Lam + * debian/* + + Now remove debian/ directory. + +2006-03-08 Patrick Lam + * debian/po/* + + Remove debian/ directory from sources. See Debian's subversion + server at svn://svn.debian.org/pkg-freedesktop/trunk/fontconfig + instead. + +2006-03-08 Denis Jacquerye + reviewed by: plam + + * fc-lang/ln.orth: + * fc-lang/iso639-1, fc-lang/iso639-2: + + Add orthography for Lingala. + +2006-03-08 Carl Worth + reviewed by: keithp + + * conf.d/Makefile.am: + * conf.d/10LohitGujarati.conf: + + Add a configuration file that disables hinting for the Lohit + Gujarati font (since the hinting distort some glyphs quite badly). + +2006-03-08 Egmont Koblinger + reviewed by: plam + + * src/fcdir.c (FcDirScanConfig): + + Sort directory entries while scanning them from disk; + prevents Heisenbugs due to file ordering in a directory. + +2006-03-07 Behdad Esfahbod + reviewed by: plam + + * src/fcfreetype.c (GetScriptTags): + * src/ftglue.c, src/ftglue.h: + + Remove stuff we don't use, make get_{char,short,long} functions + of ftglue macros to be inlined. + + * src/fcint.h: + * src/fcname.c (FcObjectSerialize): + + Code cleanups (excess prototype, old-style function definition). + +2006-03-05 Patrick Lam + * src/fcpat.c (FcPatternGetString): + + Because we hacked FcPatternGet, we don't really need to expand the + filename again in FcPatternGetString. + +2006-03-05 Patrick Lam + * src/fcpat.c (FcPatternGetString, FcPatternGet): + + Ok, so some people (wine!) use FcPatternGet to fetch FC_FILE. + Make that work. Reported by Bernhard Rosenkraenzer. + +2006-03-03 Patrick Lam + * src/fcint.h: + + Include inttypes.h instead of stdint.h if appropriate. + +2006-03-03 Patrick Lam + * fc-cat/fc-cat.c (FcFileIsDir): + * fc-glyphname/fc-flyphname.c: + + More stub definitions and remove FcFileIsDir from fc-cat. + +2006-03-03 Patrick Lam + * fc-case/fc-case.c: + + Fix compilation on AIX with stub definitions (bug 6097). + +2006-03-03 Patrick Lam + * src/fccache.c (FcCacheSkipToArch, FcDirCacheProduce): + * src/fcfreetype.c (GetScriptTags): + * src/fcfs.c (FcFontSetDistributeBytes): + * src/fcpat.c (FcValueListEntCreate, FcValueListNeededBytes): + + Get rid of C++-style comments. + +2006-03-03 Patrick Lam + * debian/changelog + + Enable creation of 2.3.94 Debian packages. + +2006-03-02 Egmont Koblinger + reviewed by: plam + + * src/fclang.c (FcCharSetForLang): + + Fix suspicious return expression which causes junk + to be returned. + +2006-02-24 Patrick Lam + * ChangeLog: + * README: + * configure.in: + * fontconfig/fontconfig.h: + + Bump version to 2.3.94. + +2006-02-24 Patrick Lam + * Makefile.am: + + Fix placement of @s. + +2006-02-24 Patrick Lam + * conf.d/10-fonts-persian.conf: + + Remove unconditional emboldening (per Behdad's instructions). + + * Makefile.am: + + Add @s to hide some echos. + +2006-02-24 Mike Fabian + Takashi Iwai + reviewed by: plam + + * src/fcfreetype.c (GetScriptTags): + + Fix double-free on error case. + +2006-02-21 Patrick Lam + * fc-lang/fc-lang.c (scan): + + Strip \r and whitespace from input; fixes bug 3454. + +2006-02-21 Patrick Lam + * fc-lang/fc-lang.c (main): + + Allocate large arrays statically in fc-lang to fix crashes under + MinGW/MSYS. + +2006-02-21 Diego Petten + * src/fcfreetype.c (FcFreeTypeCharIndex): + + Pass the buck; make fontconfig not crash on pango badness. + +2006-02-21 Patrick Lam + * conf.d/10-fonts-persian.conf: + + Use embeddedbitmap rather than rh_prefer_bitmap. + +2006-02-21 Paul Cornett + reviewed by: plam + + * src/fccache.c (FcDirCacheWrite): + * src/fcdir.c (FcFileScanConfig): + * src/fcfreetype.c (FcStringInPatternElement): + * src/fcxml.c (FcParseFamilies): + * src/ftglue.c (ftglue_face_goto_table): + + Eliminate redundancies. + +2006-02-21 Kjartan Maraas + reviewed by: plam + + * fc-list/fc-list.c (main): + * src/fcfreetype.c (FcFreeTypeCharSetAndSpacing): + * src/fcstr.c (FcStrStr): + * src/fcxml.c (FcConfigSaveAttr): + + Eliminate unused vars reported by Intel's compiler. + +2006-02-21 Aiet Kolkhi + reviewed by: plam + + * fc-lang/ka.orth: + + Remove one more archaic character. + +2006-02-21 Ross Burton + reviewed by: plam, keithp + + * src/fcxml.c (FcParsePatelt): + + Freeze patterns created by configuration file for tiny + memory savings (every little bit helps). + +2006-02-21 Mike Fabian + reviewed by: plam + + * fc-cat/fc-cat.c (main): + + Initialize fontconfig library in fc-cat to avoid segfault. + +2006-02-18 Patrick Lam + * fc-cache/fc-cache.c (scanDirs): + * src/fccache.c (FcCacheReadDirs): + * src/fcdir.c (FcDirScanConfig): + + Fix the underlying cause of the below segfault (must usually + call FcDirCacheHasCurrentArch after FcDirCacheValid). + +2006-02-18 Patrick Lam + * src/fccache.c (FcDirCacheHasCurrentArch): + + Fix triggering of segfault caused by misreading cache files + (reported by fcrozat). + +2006-02-17 Patrick Lam + * src/fcint.h (FC_CACHE_MAGIC): + + Bump up magic version; we changed the binary format. + +2006-02-17 Patrick Lam + * fc-cat/fc-cat.c (main): + + Enable fc-cat to print out old-style cache info when given a + directory name. + +2006-02-16 Patrick Lam + * src/fccache.c (FcDirCacheHasCurrentArch): + + Deal correctly with changing FC_CACHE_MAGIC. + +2006-02-16 Patrick Lam + * fc-cache/fc-cache.c (usage, scanDirs, main): + + Add -r --really-force option which blows away cache files and then + regenerates them. + +2006-02-16 Patrick Lam + * src/fccache.c (FcDirCacheUnlink, FcCacheCopyOld, FcDirCacheWrite): + + Don't bail if fontconfig can't remove a dir cache file. + Skip the ID of a cache file when copying. + Eliminate 'source file too small' bug in FcDirCacheWrite. + +2006-02-13 Patrick Lam + * src/fcfreetype.c (FcFreeTypeQuery): + + Fix memory leak in error condition code. + +2006-02-13 Mike Fabian + reviewed by: plam + * src/fcfreetype.c (FcFreeTypeQuery): + + Skip bitmap fonts which can't even get it together enough to + declare a family name; this appears to reproduce previous + fontconfig behaviour. + +2006-02-10 Takashi Iwai + reviewed by: plam + * src/fccache.c (FcDirCacheOpen): + + Try to open /var/cache/fontconfig/[hashed name] before + fonts.cache-2 in a directory, because /var/cache/fontconfig + failures ought to be fixable, unlike fonts.cache-2 failures, + which may leave you screwed. + +2006-02-10 Takashi Iwai + reviewed by: plam + * src/fcmatch.c (FcFontSetMatch): + + Use a tri-state to mark the fonts which didn't get blocked but + were just missing an element, to distinguish them from the + fonts that do match the element. + +2006-02-10 Takashi Iwai + reviewed by: plam + * src/fcmatch.c (FcFontSetMatch): + + Don't kill fonts because they don't declare an element that's + being matched on. + +2006-02-09 Patrick Lam + * src/fccache.c (FcGlobalCacheLoad, FcGlobalCacheSave, + FcDirCacheUnlink, FcDirCacheOpen, FcDirCacheWrite): + + Define and pass O_BINARY to open if appropriate, for those + platforms that need it. Reported by Doodle. + +2006-02-09 Patrick Lam + * src/fccharset.c (FcCharSetNeededBytes, FcCharSetSerialize, + FcCharSetGetLeaf): + + Fix problem with missing 'en' due to euro.patch: change + cache file format slightly to coincide with that generated + by fc-lang. + +2006-02-07 Patrick Lam + * src/fccache.c (FcCacheReadDirs): + + Fix warning. + +2006-02-07 Patrick Lam + * src/fcdir.c (FcDirScanConfig): + + Don't reject dirs that can't be normalized (fixes lilypond, and + is correct in the context of application font directories.) + +2006-02-07 Takashi Iwai + reviewed by: plam + + * src/fccache.c (FcCacheReadDirs): + + Use normalized directory name exclusively in FcCacheReadDirs. + +2006-02-07 Dirk Mueller + reviewed by: plam + + * src/fcpat.c (FcValueHash, FcValueListHash, FcValueListEntCreate): + + Perf optimizations. Inline FcValueCanonicalize, + reduce FcValueListPtrU usage, remove redundant cast. + +2006-02-07 Takashi Iwai + reviewed by: plam + + * src/fccharset.c (FcLangCharSetPopulate, FcCharSetInsertLeaf) + * fc-lang/fc-lang.c: + + Fix missing FcCacheBankToIndex in FcCharSetInsertLeaf. + Declare extern for static arrays as arrays, not pointers. + (Part of the fix for 'fonts don't have en' issue after Euro patch.) + +2006-02-07 Dirk Mueller + reviewed by: plam + + * fc-lang/de.orth: + * fc-lang/el.orth: + * fc-lang/en.orth: + * fc-lang/es.orth: + * fc-lang/fi.orth: + * fc-lang/fr.orth: + * fc-lang/it.orth: + * fc-lang/nl.orth: + * fc-lang/pt.orth: + + Add Euro sign to list of symbols required by European languages. + +2006-02-07 Patrick Lam + * src/fccache.c (FcCacheReadString): + + Fix hidden variable warning. + +2006-02-07 Dirk Mueller + reviewed by: plam + + * src/fccache.c (FcCacheReadString, FcCacheSkipString): + + Remove de-escaping logic because FcCacheWriteString + doesn't escape anyway. Do blockwise reading instead + of byte-wise for performance. + +2006-02-06 Patrick Lam + Takashi Iwai + + * src/fccache.c (FcCacheReadDirs, FcCacheRead): + + Don't loop infinitely on recursive symlinks (client-side). + +2006-02-06 Takashi Iwai + reviewed by: plam + * fc-cache/fc-cache.c (scanDirs, main): + + Don't loop infinitely on recursive symlinks. + +2006-02-06 Takashi Iwai + reviewed by: plam + * src/fccache.c (FcGlobalCacheLoad, FcGlobalCacheReadDir, + FcGlobalCacheDirFind, FcGlobalCacheUpdate, + FcGlobalCacheSave, FcCacheReadDirs): + * src/fcint.h: + + Skip subdirs when skipping over stale bits of global cache. + Introduce state machine into FcGlobalCacheDir to avoid + doing inappropriate operations on global dir entries, e.g. + writing out an out-of-date cache entry. + +2006-02-06 Takashi Iwai + reviewed by: plam + * src/fcdir.c (FcFileScanConfig): + + Hoist FcFileIsDir check out of FcFileScanConfig loop. + +2006-02-06 Takashi Iwai + reviewed by: plam + + * src/fccfg.c (FcConfigInodeMatchFontDir, FcConfigAddFontDir, + FcConfigAddFontDirSubdirs, FcConfigNormalizeFontDir): + + Don't rescan when trying to normalize a non-declared font dir. + Don't add font dirs multiple times (even if they're aliased). + +2006-02-06 Dirk Mueller + reviewed by: plam + + * src/fcfs.c (FcFontSetUnserialize): + + Explain apples/oranges comparison and fix compilation error. + +2006-02-06 Dirk Mueller + reviewed by: plam + + * src/fcfs.c (FcFontSetUnserialize): + + Insert check for integer overflow in # of fonts. + +2006-02-04 Behdad Esfahbod + reviewed by: plam + + * doc/Makefile.am: + * fc-cache/Makefile.am: + * fc-cat/Makefile.am: + * fc-list/Makefile.am: + + Make 'make distcheck' work with automake 1.6.3. + +2006-02-03 Takashi IWAI + reviewed by: plam + + * fc-cat/fc-cat.c (FcCacheGlobalFileReadAndPrint, main, + FcCacheFileRead): + + * src/fccache.c (FcGlobalCacheLoad, FcGlobalCacheSave, + FcDirCacheConsume, FcDirCacheWrite) + * src/fcxml.c (FcConfigMessage): + + Check I/O call return values and eliminate unused variable + warnings. + +2006-02-03 Takashi Iwai + reviewed by: plam + + * src/fccfg.c (FcConfigAppFontAddFile, FcConfigAppFontAddDir) + + Fix memory leak. + +2006-02-03 Dirk Mueller + reviewed by: plam + + * src/fcfs.c (FcFontSetUnserialize): + + Gracefully handle the case where a cache asserts that it + has a negative number of fonts, causing overflow. + +2006-02-03 Patrick Lam + * src/fccache.c (FcDirCacheUnlink): + + Fix double free in error case. + +2006-01-31 Behdad Esfabod + Stephan Kulow + reviewed by: plam + + * fc-cache/Makefile.am: + + Replace 'stamp' target with mkinstalldirs. + +2006-01-31 Mike Fabian + reviewed by: plam + + * src/fccache.c (FcGlobalCacheLoad): + + Toast broken global cache files. + +2006-01-30 Patrick Lam + * src/fccache.c (FcGlobalCacheReadDir): + + Actually use the directories that I added to the global cache. + Fixes 'make check'. + +2006-01-30 Mike Fabian + reviewed by: plam + + * fc-cache/fc-cache.c (scanDirs): + + Don't stop scanning if a directory in fonts.conf doesn't + exist, because subsequent directories might exist. + +2006-01-30 Patrick Lam + * src/fccache.c (FcGlobalCacheLoad): + + Make global cache work again after putting dir names into global + cache (I misplaced the recording of a file offset). + +2006-01-30 Patrick Lam + * fc-cat/fc-cat.c (FcCacheGlobalFileReadAndPrint): + + Update fc-cat to handle subdir lists in global cache file. + + * src/fccache.c (FcGlobalCacheLoad): + + Another FcCacheReadString return value check. + +2006-01-30 Mike Fabian + reviewed by: plam + + * src/fccache.c (FcGlobalCacheLoad, FcDirCacheUnlink + FcDirCacheOpen, FcDirCacheRead, FcDirCacheWrite): + + Make fccache more resilient to broken cache files by checking + return value of FcCacheReadString all the time. + +2006-01-30 Frederic Crozat + reviewed by: plam + + * fc-match/fc-match.1: + * fc-lang/fc-lang.man: + + Remove references to dead fontconfig(3) manpages in + other fontconfig manpages. + +2006-01-29 Behdad Esfabod + reviewed by: plam + + * doc/fcpattern.fncs: + + Fix world's tiniest typo in code example. + +2006-01-29 Mike Fabian + reviewed by: plam + + * src/fccache.c (FcGlobalCacheReadDir): + + Fix global cache reads of subdirectories. + +2006-01-29 Patrick Lam + * doc/fcconfig.fncs: + Add documentation for FcConfigNormalizeFontDir. + + * src/fccache.c (FcGlobalCacheDirDestroy, FcGlobalCacheLoad, + FcGlobalCacheUpdate, FcGlobalCacheSave): + * src/fcdir.c (FcDirScanConfig): + * src/fcint.h: + + Write directory information to global caches to fix make check + (reported by Ronny V. Vindenes). This changes the global cache + format again. + +2006-01-27 Patrick Lam + * fc-cache/fc-cache.c (scanDirs): + * fontconfig/fontconfig.h: + * src/fcint.h: + * src/fccache.c (FcDirCacheValid, FcDirCacheHasCurrentArch): + + Move FcConfigNormalizeFontDir call so that it doesn't result in + infinite recursion (reported by Ronny V. Vindenes). + +2006-01-26 Patrick Lam + * src/fccache.c (FcDirCacheValid, FcDirCacheHasCurrentArch): + * src/fccfg.c (FcConfigNormalizeFontDir): + + Add a couple of missing normalizations to make fc-cache work + right; only scan subdirectories once. + +2006-01-26 Mike Fabian + reviewed by: plam + + * src/fcacache.c (FcGlobalCacheReadDir): + + Don't crash on non-existant directories in global cache. + +2006-01-26 Patrick Lam + * src/fccache.c (FcGlobalCacheSave, FcDirCacheWrite): + * src/fccfg.c (FcConfigAddFontDirSubdirs, FcConfigNormalizeFontDir): + * src/fcdir.c (FcDirScanConfig): + * src/fcxml.c (FcEndElement): + + Stop trampling the directory name when writing out caches. + (with Mike Fabian:) Beef up FcConfigNormalizeFontDir to scan + subdirs when necessary. Don't scan directories that can't be + normalized. + +2006-01-25 Patrick Lam + * src/fccache.c (FcDirCacheOpen, FcDirCacheWrite): + * src/fccfg.c (FcConfigEvaluate): + * src/fcfreetype.c (FcPatternAddWithBinding): + + Fix additional memory leaks reported by Ronny V. Vindenes: don't + invoke FcValueSave on hashed static strings in + FcPatternAddWithBinding. + + Add another st_dev check in FcDirCacheOpen. + +2006-01-24 James Su + reviewed by: plam + + * src/fcfreetype.c (FcFreeTypeIsExclusiveLang): + * fc-lang/zh_hk.orth: + + Treat zh-hk fonts differently from zh-tw fonts. This patch may + cause fontconfig to treat A-X fonts differently from A-Y fonts; + please mail the fontconfig list if this causes any problems. + +2006-01-24 Patrick Lam + * src/fccache.c (FcDirCacheUnlink, FcDirCacheWrite): + * src/fcfreetype.c (FcFreeTypeQuery): + + Fix memory leaks reported by Ronny V. Vindenes. + +2006-01-19 Andreas Schwab + reviewed by: plam + + * src/fcpat.c (FcStrNeededBytes): + + Fix for unaligned memory accesses. + +2006-01-18 Mike Fabian + reviewed by: plam + + * src/fcdir.c (FcDirScanConfig): + + Properly order the FcConfigAddFontDir and FcConfigNormalizeFontDir + calls to avoid crashes. + +2006-01-14 Patrick Lam + * src/fccache.c (FcDirCacheConsume): + + Fix segfault when consuming zero-length caches in fc-cat + (which has no config, so FcConfigAddFontDir shouldn't be called.) + +2006-01-14 Patrick Lam + * fc-cache/fc-cache.c (scanDirs): + * fontconfig/fontconfig.h: + * src/fccache.c (FcGlobalCacheReadDir, FcGlobalCacheUpdate, + FcGlobalCacheSave, FcDirCacheUnlink, FcDirCacheOpen): + * src/fccfg.c (FcConfigBuildFonts, FcConfigNormalizeFontDir): + * src/fcdir.c (FcDirScanConfig): + * src/fcint.h: + + Compare device numbers as well as inodes. + Always normalize directory names before comparing them. + +2006-01-11 Mike Fabian + reviewed by: plam + + * fc-cat/fc-cat.c (FcCacheGlobalFileReadAndPrint): + + Allocate extra space for appended '/' in directory name. + +2006-01-10 Patrick Lam + * src/fccache.c (FcDirCacheConsume, FcDirCacheOpen, + FcDirCacheValid, FcDirCacheHasCurrentArch, + FcDirCacheUnlink, FcDirCacheRead, FcDirCacheConsume): + * fc-cache/fc-cache.c (main): + + Explicitly add font dirs to config.fontDirs even if they're empty. + Set current config in fc-cache.c. + Fix treatment of cache directory as read from cache file; don't + use string equality to determine if we have the right file, + use inode equality. + +2006-01-09 Patrick Lam + * fc-cache/fc-cache.c (scanDirs): + * fc-cat/fc-cat.c (FcCacheGlobalFileReadAndPrint, FcCacheFileRead): + * src/fccache.c (FcGlobalCacheReadDir, FcCacheReadDirs, + FcDirCacheRead, FcDirCacheConsume, FcDirCacheWrite): + * src/fccfg.c (FcConfigNormalizeFontDir): + * src/fcdir.c (FcDirScanConfig): + * src/fcint.h: + + Normalize font dirs by using the form, as given in fonts.conf, and + recorded in FcConfig's fontDirs string set, as canonical. + + Actually update config.fontDirs as font directories are scanned. + +2006-01-08 James Su + * src/fcmatch.c (FcFontSetMatch): + + Fix matching bug when multiple elements match; don't use + the sum of all scores, but the best score. + + Also more perf opts, e.g. evaluate best over all font sets + rather than on a per-set basis (and other changes). + +2006-01-08 Patrick Lam + * 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 + * src/fcdbg.c (FcPatternPrint): + + Print out full pathname in fc-match -v as well. Reported by + Frederic Crozat. + +2006-01-06 Mike Fabian + 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 + * 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 + 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 + * doc/fontconfig-user.sgml: + + Fix version of .cache file (currently 1 -> currently 2). Reported + by Jim Osborn. + +2005-12-21 Jinghua Luo + reviewed by: plam + + * src/fcpat.c (FcPatternAddFullFname, FcPatternFindFullFname): + + Shut up GCC warnings on amd. + +2005-12-20 Patrick Lam + * ChangeLog: + * README: + * configure.in: + * fontconfig/fontconfig.h: + + Bump version to 2.3.93. + +2005-12-20 Patrick Lam + * 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 + * src/fcxml.c (FcConfigParseAndLoad): + + Use open instead of fopen (requested by Phil Race for Sun). + +2005-12-20 Patrick Lam + * src/fccache.c (FcDirCacheWrite); + * fc-cache/Makefile.am: + + Fix GCC4 warning and Makefile brokenness for /var/cache/fontconfig + dir. + +2005-12-20 Patrick Lam + * 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 + * 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 + * 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 + reviewed by: plam + + * src/fcxml.c (FcConfigGetAttribute): + + Fix crash reported by Frederic Crozat when using libxml2. + +2005-12-09 Patrick Lam + * 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 + * 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 + * fc-cat/fc-cat.c (FcCachePrintSet, FcCacheGlobalFileReadAndPrint): + + Fix warnings. + +2005-12-05 Patrick Lam + * src/fcname.c (FcNameGetObjectType): + + Don't assign types to user object names. + +2005-12-05 Patrick Lam + * src/fcpat.c (FcValueDestroy, FcValueListDestroy, FcStrHashed): + + Don't free strings that have been returned from FcStrStaticName. + +2005-12-01 Patrick Lam + * fc-cat/fc-cat.c (FcCacheGlobalFileReadAndPrint, main): + + Add codepath for reading global cache files as well. + +2005-12-01 Behdad Esfahbod + 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 + reviewed by: plam + + * src/fcxml.c (FcConfigParseAndLoad): + + Only add a config file to the set of config files once. + +2005-11-29 Patrick Lam + * src/fcint.h (FcCacheBankToIndex); + + Fix segfault by guarding array dereference. + +2005-11-29 Dirk Mueller + 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 + * 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 + * 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 + * src/fccfg.c (FcConfigBuildFonts): + + Fix segfault. + +2005-11-28 Patrick Lam + * 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 + * doc/fontconfig-user.sgml: + + Fix some obvious spelling mistakes. + +2005-11-28 Dirk Mueller + Stephan Kulow + reviewed by: plam + + * src/fcmatch.c (FcFontSetMatch): + + Don't kill all fonts during match (oops!) + + +2005-11-25 Dirk Mueller + Stephan Kulow + Michael Matz + 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 + reviewed by: plam + + * src/fcmatch.c (FcCompareValueList): + + Fix incorrect merge. + +2005-11-25 Patrick Lam + * src/fcmatch.c (FcMatchObjectPtrsInit, FcCompareValueList): + + Don't do random matching when bad objects are passed into + FcCompareValueList. + +2005-11-25 Patrick Lam + * 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 + reviewed by: plam + + * src/fcmatch.c: + + Pass the FcObjectPtr to FcCompareValueList, not the char * (perf). + +2005-11-25 Patrick Lam + * 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 + 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 + 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 + 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 + 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 : + reviewed by: plam + + * fontconfig/fontconfig.h: + * fc-cat/fc-cat.c: + + Minor code warning cleanups. + +2005-11-23 Frederic Crozat : + 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 + reviewed by: plam + + * src/fcmatch.c (FcCompareValueList): + + Manually perform inlining & partial redundancy elimination to + reduce calls to FcValueListPtrU. + +2005-11-21 Dirk Mueller + reviewed by: plam + + * src/fcstr.c (FcStrFree, FcStrCaseWalkerInit, FcStrCaseWalkerLong, + FcStrCaseWalkerNext, FcStrCaseWalkerNextIgnoreBlanks): + + Only invoke strlen() when really necessary. + +2005-11-19 Matthias Clasen + 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 + 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 + reviewed by: plam + + * fc-cat/fc-cat.c (main): + + Don't crash when fc-cat invoked with no arguments. + +2005-11-18 Frederic Crozat + 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 + 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 + * 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 + reviewed by: plam + + * src/fcxml.c (FcTypecheckExpr): + + Complain about invalid constants in config files. + 2005-11-17 Andreas Schwab reviewed by: plam