commit 8a0bd93e8a81b105206c1433e2da55b1acef1070 Author: Keith Packard Date: Tue Nov 13 18:56:44 2007 -0800 Bump version number to 2.5 README | 15 +++++++++++++-- configure.in | 2 +- fontconfig/fontconfig.h | 4 ++-- 3 files changed, 16 insertions(+), 5 deletions(-) commit 8a3dc4880c1182ea446cdbc0885e956c6517cf83 Author: Tor Lillqvist Date: Tue Nov 13 16:41:55 2007 -0800 Workaround for stat() brokenness in Microsoft's C library (bug 8526) Fix a couple of longstanding problems with fontconfig on Windows that manifest themselves especially in GIMP. The root cause to the problems is in Microsoft's incredibly stupid stat() implementation. Basically, stat() returns wrong timestamp fields for files on NTFS filesystems on machines that use automatic DST switching. See for instance http://bugzilla.gnome.org/show_bug.cgi?id=154968 and http://www.codeproject.com/datetime/dstbugs.asp As fccache.c now looks at more fields in the stat struct I fill in them all. I noticed that fstat() is used only on a fd just after opening it, so on Win32 I just call my stat() replacement before opening instead... Implementing a good replacement for fstat() would be harder because the code in fccache.c wants to compare inode numbers. There are no (readily accessible) inode numbers on Win32, so I fake it with the hash of the full file name, in the case as it is on disk. And fstat() doesn't know the full file name, so it would be rather hard to come up with a inode number to identify the file. The patch also adds similar handling for the cache directory as for the fonts directory: If a cachedir element in fonts.conf contains the magic string "WINDOWSTEMPDIR_FONTCONFIG_CACHE" it is replaced at runtime with a path under the machine's (or user's) temp folder as returned by GetTempPath(). I don't want to hardcode any pathnames in a fonts.conf intended to be distributed to end-users, most of which who wouldn't know how to edit it anyway. And requiring an installer to edit it gets complicated. configure.in | 6 +++- fc-cache/Makefile.am | 3 ++ src/fccache.c | 93 +++++++++++++++++++++++++++++++++++++++++++++++++- src/fcxml.c | 24 +++++++++++++ 4 files changed, 124 insertions(+), 2 deletions(-) commit 1315db01b626aedd27e3e05bde96ce46c253629b Author: Keith Packard Date: Tue Nov 13 15:48:30 2007 -0800 Revert "Remove fcprivate.h, move the remaining macros to fcint.h." This reverts commit b607922909acfc7ae96de688ed34efd19cd038ac. Conflicts: src/Makefile.am Xft still uses the macros that are in fcprivate.h. Document those macros and include fcprivate.h in the published header files. doc/check-missing-doc | 1 + doc/fcobjectset.fncs | 11 ++++ doc/fcpattern.fncs | 12 ++++- fontconfig/Makefile.am | 3 +- fontconfig/fcprivate.h | 123 +++++++++++++++++++++++++++++++++++++++++++++++ fontconfig/fontconfig.h | 2 +- src/Makefile.am | 3 +- src/fcint.h | 95 +------------------------------------ 8 files changed, 152 insertions(+), 98 deletions(-) commit eaf4470a465cbfb95e2ba4df017d45f7b1d9c131 Author: Keith Packard Date: Tue Nov 13 15:16:58 2007 -0800 Document that FcConfigGetFonts returns the internal fontset (bug 13197) FcConfigGetFonts returns the internal font set used by the library which must not be freed by the application or 'bad things' will happen. doc/fcconfig.fncs | 3 ++- 1 files changed, 2 insertions(+), 1 deletions(-) commit 3fb38716aefef0fac300dee059403c04c1cbaa6c Author: Keith Packard Date: Tue Nov 13 15:11:35 2007 -0800 Document that Match calls FcFontRenderPrepare (bug 13162). The behaviour of FcFontMatch and FcFontSetMatch is hard to understand without knowing that they call FcFontRenderPrepare. doc/fcconfig.fncs | 12 ++++++++---- doc/fcfontset.fncs | 12 ++++++++---- 2 files changed, 16 insertions(+), 8 deletions(-) commit fab44f3cb63dc8bd1285dcbd6ad4f1f468f91daf Author: Keith Packard Date: Tue Nov 13 14:58:39 2007 -0800 Document several function return values (Bug 13145). Several functions had no indication of what the return value would be, mostly these were allocation failure returns. doc/fcatomic.fncs | 4 +++- doc/fcconfig.fncs | 21 ++++++++++++++------- doc/fcconstant.fncs | 8 ++++++-- doc/fcfile.fncs | 28 +++++++++++++++------------- doc/fcfontset.fncs | 3 ++- doc/fcinit.fncs | 7 +++++-- doc/fcobjectset.fncs | 3 ++- doc/fcobjecttype.fncs | 6 ++++-- 8 files changed, 51 insertions(+), 29 deletions(-)