commit fcc3567847949ec422157d331c9640cd0453e169 Author: Akira TAGOH Date: Thu Jan 10 17:57:12 2013 +0900 Bump version to 2.10.91 README | 105 +++++++++++++++++++++++++++++++++++++++++++++++- configure.ac | 2 +- fontconfig/fontconfig.h | 2 +- 3 files changed, 105 insertions(+), 4 deletions(-) commit 98352247f2ab01046c330485f73fd26eb15a08a4 Author: Akira TAGOH Date: Thu Jan 10 17:56:51 2013 +0900 Update the date in README properly new-version.sh | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) commit 9066fbe7855674ff51053b78f1d0d179486e22ea Author: Behdad Esfahbod Date: Thu Jan 10 01:23:07 2013 -0600 Make linker happy fc-validate/Makefile.am | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) commit 98efed3bcafc92b573b193b5b38039aa717617d3 Author: Behdad Esfahbod Date: Thu Jan 10 01:17:02 2013 -0600 Add atomic ops for Solaris Patch from Raimund Steger. configure.ac | 22 ++++++++++++++++++++-- src/fcatomic.h | 12 ++++++++++++ 2 files changed, 32 insertions(+), 2 deletions(-) commit 8e8a99ae8a1c2e56c42093bee577d6de66248366 Author: Akira TAGOH Date: Mon Sep 10 16:09:04 2012 +0900 Bug 29312 - RFE: feature to indicate which characters are missing to satisfy the language support Add fc-validate to check the language coverage in a font. Makefile.am | 2 +- configure.ac | 1 + doc/fclangset.fncs | 8 ++ fc-validate/Makefile.am | 60 +++++++++++ fc-validate/fc-validate.c | 242 +++++++++++++++++++++++++++++++++++++++++++ fc-validate/fc-validate.sgml | 182 ++++++++++++++++++++++++++++++++ fontconfig/fontconfig.h | 3 + src/fcint.h | 3 - 8 files changed, 497 insertions(+), 4 deletions(-) commit 16fd965171808c10f87d097f678ee9e10771be72 Author: Akira TAGOH Date: Wed Jan 9 11:26:56 2013 +0900 Fix a typo in the manpages template doc/func.sgml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) commit 7680e9ee891a74f0e428e30604a5d0ff0e2e9383 Author: Behdad Esfahbod Date: Tue Jan 8 14:51:00 2013 -0600 Add pthread test Not enabled by default since it requires config and fonts. test/Makefile.am | 9 ++++++ test/test-pthread.c | 79 +++++++++++++++++++++++++++++++++++++++++++++++++++++ 2 files changed, 88 insertions(+) commit dc21ed28d69df279c6068d9cae862e02af72815f Author: Behdad Esfahbod Date: Tue Jan 8 13:01:48 2013 -0600 Fix memory corruption! In FcStrListCreate() we were increasing reference count of set, however, if set had a const reference (which is the case for list of languages), and with multiple threads, the const ref (-1) was getting up to 1 and then a decrease was destroying the set. Ouch. Here's the valgrind error, which took me quite a few hours of running to catch: ==4464== Invalid read of size 4 ==4464== at 0x4E58FF3: FcStrListNext (fcstr.c:1256) ==4464== by 0x4E3F11D: FcConfigSubstituteWithPat (fccfg.c:1508) ==4464== by 0x4E3F8F4: FcConfigSubstitute (fccfg.c:1729) ==4464== by 0x4009FA: test_match (simple-pthread-test.c:53) ==4464== by 0x400A6E: run_test_in_thread (simple-pthread-test.c:68) ==4464== by 0x507EE99: start_thread (pthread_create.c:308) ==4464== Address 0x6bc0b44 is 4 bytes inside a block of size 24 free'd ==4464== at 0x4C2A82E: free (in /usr/lib/valgrind/vgpreload_memcheck-amd64-linux.so) ==4464== by 0x4E58F84: FcStrSetDestroy (fcstr.c:1236) ==4464== by 0x4E3F0C6: FcConfigSubstituteWithPat (fccfg.c:1507) ==4464== by 0x4E3F8F4: FcConfigSubstitute (fccfg.c:1729) ==4464== by 0x4009FA: test_match (simple-pthread-test.c:53) ==4464== by 0x400A6E: run_test_in_thread (simple-pthread-test.c:68) ==4464== by 0x507EE99: start_thread (pthread_create.c:308) Thread test is running happily now. Will add the test in a moment. src/fcstr.c | 13 ++++++++++++- 1 file changed, 12 insertions(+), 1 deletion(-) commit 4e6c7d0827c5b3b20205521bf9bd2e94e704b36d Author: Akira TAGOH Date: Tue Jan 8 16:20:28 2013 +0900 Fix a build fail on mingw Regarding the change of 596931c8b4a7a35cbff9c33437d3cd44395d9c3f configure.ac | 2 +- src/fccompat.c | 4 ++++ 2 files changed, 5 insertions(+), 1 deletion(-) commit d837a7a584bc1e908bc4370d337cd10ecc781fad Author: Akira TAGOH Date: Tue Jan 8 16:18:32 2013 +0900 missing header file to declare _mkdir src/fccache.c | 1 + 1 file changed, 1 insertion(+) commit 596931c8b4a7a35cbff9c33437d3cd44395d9c3f Author: Akira TAGOH Date: Thu Dec 6 20:01:52 2012 +0900 Bug 47705 - Using O_CLOEXEC configure.ac | 4 ++- src/Makefile.am | 1 + src/fcatomic.c | 3 +- src/fccache.c | 6 ++-- src/fccompat.c | 103 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++ src/fcint.h | 7 ++++ src/fcstat.c | 2 +- src/fcxml.c | 2 +- 8 files changed, 120 insertions(+), 8 deletions(-) commit d7de1b5c6d4b8800825913ac40a9cea00824f2f8 Author: Behdad Esfahbod Date: Mon Jan 7 20:10:14 2013 -0600 Fix pthreads setup As reported by Raimund Steger. configure.ac | 3 +++ 1 file changed, 3 insertions(+) commit 1c4c4978adb0fa59767ac7d8c7f98a86928b2fdc Author: Behdad Esfahbod Date: Mon Jan 7 17:59:17 2013 -0600 Oops, add the actual file conf.d/10-scale-bitmap-fonts.conf | 81 +++++++++++++++++++++++++++++++++++++++ 1 file changed, 81 insertions(+) commit dc11dd581f228623f0f14b3a6a1e4beaa659266b Author: Behdad Esfahbod Date: Mon Jan 7 16:41:29 2013 -0600 Add 10-scale-bitmap-fonts.conf and enable by default conf.d/Makefile.am | 2 ++ 1 file changed, 2 insertions(+) commit ea3a35306617eec068ed961439cf76cdbcb10c28 Author: Akira TAGOH Date: Mon Jan 7 17:55:04 2013 +0900 Clean up the unused variable fc-query/fc-query.c | 1 - 1 file changed, 1 deletion(-) commit 17eda89ed2e24a3fc5f68538dd7fd9ada8efb087 Author: Behdad Esfahbod Date: Thu Jan 3 20:33:34 2013 -0600 Remove FcInit() calls from tools Library is supposed to automatically initialize itself. If it doesn't, it's a bug. fc-list/fc-list.c | 5 ----- fc-match/fc-match.c | 5 ----- fc-pattern/fc-pattern.c | 5 ----- fc-query/fc-query.c | 6 ------ fc-scan/fc-scan.c | 6 ------ 5 files changed, 27 deletions(-) commit 102a4344dd7f668cf03b9665c718505050e0ae78 Author: Behdad Esfahbod Date: Thu Jan 3 20:31:22 2013 -0600 Don't use blanks for fc-query fc-query is supposed to be config-independent. fc-query/fc-query.c | 4 +--- 1 file changed, 1 insertion(+), 3 deletions(-) commit b6b678e71eb0ba2b53335b7df0804058f6bd006d Author: Akira TAGOH Date: Fri Jan 4 11:29:50 2013 +0900 Missing header file for _mkdir declaration src/fcatomic.c | 1 + 1 file changed, 1 insertion(+) commit 8e143b4ec447a7ee6c501e7488a3c94db7e6a035 Author: Behdad Esfahbod Date: Thu Jan 3 04:19:12 2013 -0600 Minor src/fcobjs.c | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) commit 16ddb9ff31a7d45ae477f5274c704523b2ec7330 Author: Behdad Esfahbod Date: Wed Jan 2 22:37:33 2013 -0600 Ugh, add Tools.mk Tools.mk | 64 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 64 insertions(+) commit 86e3255118e943bcc5c16cf1628ca381470ca34d Author: Behdad Esfahbod Date: Wed Jan 2 20:16:55 2013 -0600 Second try to make Sun CPP happy src/Makefile.am | 22 ++++++++++++---------- 1 file changed, 12 insertions(+), 10 deletions(-) commit bc62c40597c3d95edfdc6a93b39d0bb3837d1d34 Author: Behdad Esfahbod Date: Wed Jan 2 20:08:40 2013 -0600 Really fix cross-compiling and building of tools this time configure.ac | 1 + fc-case/Makefile.am | 47 +++++---------------------- fc-glyphname/Makefile.am | 47 +++++---------------------- fc-glyphname/fc-glyphname.c | 2 +- fc-lang/Makefile.am | 44 +++++--------------------- fc-lang/fc-lang.c | 8 ++--- m4/ax_cc_for_build.m4 | 77 +++++++++++++++++++++++++++++++++++++++++++++ 7 files changed, 107 insertions(+), 119 deletions(-) commit 32c1d32cbd54686804481fedaa1881d4f3043f1b Author: Behdad Esfahbod Date: Wed Jan 2 19:04:17 2013 -0600 Work around Sun CPP According to Raimund Steger: > [...] > diff --git a/src/Makefile.am b/src/Makefile.am > index dc082b7..57c34a2 100644 > [...] > +fcobjshash.gperf: fcobjshash.gperf.h fcobjs.h > + $(AM_V_GEN) $(CPP) -I$(top_srcdir) $< | $(GREP) '^[^#]' | awk ' \ > + /CUT_OUT_BEGIN/ { no_write=1; next; }; \ > + /CUT_OUT_END/ { no_write=0; next; }; \ > + { if (!no_write) print; next; }; \ > + ' - > $@.tmp && \ > + mv -f $@.tmp $@ Sun Studio CPP seems to insert whitespace in a different way than GCC's CPP. GCC generates in src/fcobjshash.gperf: [...] "family", FC_FAMILY_OBJECT "familylang", FC_FAMILYLANG_OBJECT [...] Sun Studio generates: [...] "family" , FC_FAMILY_OBJECT "familylang" , FC_FAMILYLANG_OBJECT [...] leading to: [...] Making all in src gmake[2]: Entering directory `/home/rs/src/fontconfig-git/fontconfig/src' GEN fcobjshash.gperf GEN fcobjshash.h Key link: " " = " ", with key set "". 1 input keys have identical hash values, use option -D. gmake[2]: *** [fcobjshash.h] Error 1 gmake[2]: Leaving directory `/home/rs/src/fontconfig-git/fontconfig/src' gmake[1]: *** [all-recursive] Error 1 gmake[1]: Leaving directory `/home/rs/src/fontconfig-git/fontconfig' gmake: *** [all] Error 2 ...maybe we could tuck in an additional sed to remove the whitespace, like: [...] fcobjshash.gperf: fcobjshash.gperf.h fcobjs.h $(AM_V_GEN) $(CPP) -I$(top_srcdir) $< | \ $(SED) 's/^\s*//;s/\s*,\s*/,/;' | \ $(GREP) '^[^#]' | \ $(AWK) '/CUT_OUT_BEGIN/,/CUT_OUT_END/ { next; }; { print; };' \ > $@.tmp && \ mv -f $@.tmp $@ [...] though I'm not sure what kind of guarantee CPP can give us/what easier option I might have missed... src/Makefile.am | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) commit b1510145e7a38802bd544de6035fabf9f81f9710 Author: Behdad Esfahbod Date: Wed Jan 2 18:57:47 2013 -0600 Fix build around true/false src/fcatomic.h | 4 ++-- src/fcinit.c | 10 ++++++++++ 2 files changed, 12 insertions(+), 2 deletions(-) commit 538f1579e86fdcf471cea58945bf8c674d5b91e7 Author: Behdad Esfahbod Date: Wed Jan 2 18:07:13 2013 -0600 Trying to fix distcheck Doesn't work though :(. Building docs is very fragile... At least, if docbook is present, distcheck passes now. Makefile.am | 11 +++++++++-- configure.ac | 4 ---- doc/Makefile.am | 8 ++++++++ 3 files changed, 17 insertions(+), 6 deletions(-) commit 46ab96b8fa029fbc8ccf69a6f2fda89866e3ac9c Author: Behdad Esfahbod Date: Wed Jan 2 17:52:00 2013 -0600 Fix more warnings. Linux build and mingw32 cross build warning-free now. src/fcobjs.c | 10 ++++++++-- src/fcobjshash.gperf.h | 2 +- 2 files changed, 9 insertions(+), 3 deletions(-) commit 558b3c65f91b4b2dd65ce2242e1a21ace621e44b Author: Behdad Esfahbod Date: Wed Jan 2 17:49:41 2013 -0600 Use CC_FOR_BUILD to generate source files Previously we were failing if CROSS_COMPILING and the generated headers were not present. It works just fine now. One caveat: the fix is not fully correct since config.h is being included in the files built with CC_FOR_BUILD, but config.h has config for the host system, not the build system. Should be fine though. configure.ac | 1 + doc/Makefile.am | 6 +----- fc-case/Makefile.am | 8 +------- fc-glyphname/Makefile.am | 9 ++++----- fc-lang/Makefile.am | 9 +++------ 5 files changed, 10 insertions(+), 23 deletions(-) commit ec8a40d2381014ad2e72b5da0e6357a85f078f9f Author: Behdad Esfahbod Date: Wed Jan 2 17:35:56 2013 -0600 Fix build and warnings on win32 src/Makefile.am | 1 + src/fcatomic.h | 9 +++------ src/fccache.c | 2 +- src/fccfg.c | 17 ++++++----------- src/fcint.h | 7 +------ src/fcmutex.h | 5 ++--- src/fcstat.c | 3 --- src/fcstr.c | 3 --- src/fcwindows.h | 44 ++++++++++++++++++++++++++++++++++++++++++++ src/fcxml.c | 18 +++++++++--------- 10 files changed, 67 insertions(+), 42 deletions(-) commit 5c0a4f2726fd1440bf3ec4bb375e5e4d146bd989 Author: Behdad Esfahbod Date: Wed Jan 2 02:27:57 2013 -0600 Minor fc-glyphname/fc-glyphname.c | 46 ++++++++++++++++++++++----------------------- 1 file changed, 23 insertions(+), 23 deletions(-) commit 766bed901f7f4c648387fb403ef6e253be1c45e9 Author: Behdad Esfahbod Date: Wed Jan 2 02:19:04 2013 -0600 Fix compiler warnings src/fcobjs.c | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) commit 93fb1d4bab5fefb73393141bb3e96c9dc279e615 Author: Behdad Esfahbod Date: Wed Jan 2 02:06:15 2013 -0600 Remove FcSharedStr* src/fccfg.c | 2 +- src/fcdefault.c | 6 +++--- src/fcint.h | 9 +++------ src/fclist.c | 6 +++--- src/fcname.c | 2 +- src/fcobjs.c | 2 +- src/fcpat.c | 25 +++---------------------- src/fcstr.c | 11 +---------- src/fcxml.c | 10 +++++----- 9 files changed, 21 insertions(+), 52 deletions(-) commit 6b143781073cf395fd6211c75bbdc9f5b5a54936 Author: Behdad Esfahbod Date: Wed Jan 2 01:54:38 2013 -0600 Fixup fcobjs.c Ouch! src/fcobjs.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) commit 6047ce7b9fb793da4e693e3777bbd3e1baf3146e Author: Behdad Esfahbod Date: Wed Jan 2 01:31:34 2013 -0600 Warn about undefined/invalid attributes during config parsing src/fcxml.c | 19 +++++++++++++++++++ 1 file changed, 19 insertions(+) commit b604f10c0c31a56ae16154dfe6a2f13b795aaabf Author: Behdad Esfahbod Date: Wed Jan 2 01:09:20 2013 -0600 Make fcobjs.c thread-safe With this, the library should be threadsafe as far as my analysis goes! src/fcobjs.c | 18 +++++++++--------- 1 file changed, 9 insertions(+), 9 deletions(-) commit 2ae07bbcd2a7650f2711b45e78e65e2ca1c4a17a Author: Behdad Esfahbod Date: Mon Oct 15 19:35:03 2012 -0500 Make FcDirCacheDispose() threadsafe src/fccache.c | 16 +++++++++------- 1 file changed, 9 insertions(+), 7 deletions(-) commit 68b8ae9af8b0f86dade6135b01aaf0b2f2077fb5 Author: Behdad Esfahbod Date: Wed Oct 10 15:24:31 2012 -0400 Make cache hash threadsafe This concludes my first pass at making fontconfig threadsafe. Now to testing and actually fixing it! src/fccache.c | 37 ++++++++++++++++++++++++++++++------- 1 file changed, 30 insertions(+), 7 deletions(-) commit adb03b730de5d090855f45bc23b934a65ef2399c Author: Behdad Esfahbod Date: Mon Oct 8 20:03:35 2012 -0400 Make random-state initialization threadsafe src/fccache.c | 5 +++++ 1 file changed, 5 insertions(+) commit 91dd7d28ffc397fb1389f76ac55b397e55da809d Author: Behdad Esfahbod Date: Mon Oct 8 20:02:05 2012 -0400 Add a big cache lock Not used yet. src/fccache.c | 41 +++++++++++++++++++++++++++++++++++++++++ 1 file changed, 41 insertions(+) commit 8d2bbb193ae49ea6abd5a9b4d28d3d88ac97d7a2 Author: Behdad Esfahbod Date: Sun Oct 7 21:03:58 2012 -0400 Make cache refcounting threadsafe src/fcatomic.h | 1 + src/fccache.c | 13 ++++++------- 2 files changed, 7 insertions(+), 7 deletions(-) commit 31ee38e541180db6d7bc58d5abde83136352e7ce Author: Behdad Esfahbod Date: Sun Oct 7 17:46:12 2012 -0400 Minor src/fccfg.c | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) commit b8f238e49d7b7e1cff787c518cd4490b32039cca Author: Behdad Esfahbod Date: Sun Oct 7 17:42:18 2012 -0400 Make FcCacheIsMmapSafe() threadsafe src/fccache.c | 38 ++++++++++++++++++++++---------------- 1 file changed, 22 insertions(+), 16 deletions(-) commit b27a22aae9902d409c21e5bb19a97dcc5966ea24 Author: Behdad Esfahbod Date: Sun Oct 7 17:29:45 2012 -0400 Minor src/fcinit.c | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) commit 0552f26016865b8a76819cf342fa0cf13afdc5e8 Author: Behdad Esfahbod Date: Sun Oct 7 17:02:50 2012 -0400 Make default-FcConfig threadsafe src/fccfg.c | 60 +++++++++++++++++++++++++++++++++++++-------------------- src/fcdefault.c | 3 +-- 2 files changed, 40 insertions(+), 23 deletions(-) commit e53f5da54f066f73a53eba1f82f54521fa3f7ea2 Author: Behdad Esfahbod Date: Sun Oct 7 16:42:36 2012 -0400 Minor src/fccfg.c | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) commit 7ae24b4554a8543d8cd41a83b6114e0143982758 Author: Behdad Esfahbod Date: Sun Oct 7 16:37:03 2012 -0400 Refactor; contain default config in fccfg.c src/fccfg.c | 26 ++++++++++++++++++++++++-- src/fcinit.c | 14 ++------------ src/fcint.h | 8 ++++++-- src/fcxml.c | 4 ++-- 4 files changed, 34 insertions(+), 18 deletions(-) commit 32b0d88923524c24f4be36733ebef5872b57b95a Author: Behdad Esfahbod Date: Sun Oct 7 16:26:53 2012 -0400 Make FcDefaultFini() threadsafe src/fcdefault.c | 19 ++++++++++++------- 1 file changed, 12 insertions(+), 7 deletions(-) commit 7019896c99872b23d89b1404b02754cbc4ea1456 Author: Behdad Esfahbod Date: Sun Oct 7 16:09:35 2012 -0400 Make FcInitDebug() idempotent src/fcdbg.c | 18 ++++++++++-------- 1 file changed, 10 insertions(+), 8 deletions(-) commit b97ab0c94938448dc2b780b8f0f60fb68884899f Author: Behdad Esfahbod Date: Sun Oct 7 15:52:25 2012 -0400 Make FcGetDefaultLang and FcGetDefaultLangs thread-safe src/fcdefault.c | 83 +++++++++++++++++++++++++++++++++++++++++---------------- src/fcinit.c | 1 + src/fcint.h | 3 +++ src/fcstr.c | 4 +++ 4 files changed, 68 insertions(+), 23 deletions(-) commit 64af9e1917114c789ad74dd28b3248f8c0525f45 Author: Behdad Esfahbod Date: Sun Oct 7 14:41:38 2012 -0400 Make refcounts, patterns, charsets, strings, and FcLang thread-safe src/fcatomic.h | 18 +++++++++--------- src/fccfg.c | 29 +++++++++++++++-------------- src/fccharset.c | 24 ++++++++++++------------ src/fcdefault.c | 2 +- src/fcint.h | 26 ++++++++++++++++++++------ src/fclang.c | 43 ++++++++++++++++++++++++------------------- src/fcmatch.c | 4 ---- src/fcmutex.h | 2 ++ src/fcpat.c | 25 ++++++++++++------------- src/fcstr.c | 24 +++++++++++++----------- 10 files changed, 108 insertions(+), 89 deletions(-) commit 814871b2aaa3a22ef711ca4656507fb69c952156 Author: Behdad Esfahbod Date: Sun Oct 7 14:24:28 2012 -0400 Add thread-safety primitives COPYING | 1 + src/Makefile.am | 2 + src/fcatomic.h | 123 ++++++++++++++++++++++++++++++++++++++++++++++++++++++ src/fcint.h | 4 +- src/fcmutex.h | 126 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++ 5 files changed, 254 insertions(+), 2 deletions(-) commit f6d8306e566dd1a4b8a13f433d2bc1ffbe667db7 Author: Behdad Esfahbod Date: Sun Oct 7 13:49:45 2012 -0400 Add build stuff for threadsafety primitives Copied over from HarfBuzz. configure.ac | 38 ++++++- m4/ax_pthread.m4 | 309 +++++++++++++++++++++++++++++++++++++++++++++++++++++++ 2 files changed, 346 insertions(+), 1 deletion(-) commit b53744383dbefb3f80fb8a7365487669a499ad76 Author: Behdad Esfahbod Date: Sat Oct 6 18:15:58 2012 -0400 Fix build stuff src/Makefile.am | 8 +++++--- 1 file changed, 5 insertions(+), 3 deletions(-) commit db6d86a6c1b5bb15511e4e4015af889d4206be1d Author: Behdad Esfahbod Date: Sat Oct 6 18:12:19 2012 -0400 Remove shared-str pool We used to have a shared-str pool. Removed to make thread-safety work easier. My measurements show that the extra overhead is not significant by any means. src/fcpat.c | 58 +++++++--------------------------------------------------- 1 file changed, 7 insertions(+), 51 deletions(-) commit ed41b237658ba290d86795904701ace09b46f6c4 Author: Behdad Esfahbod Date: Sat Oct 6 17:52:39 2012 -0400 Switch .gitignore to git.mk .gitignore | 100 --------------------- Makefile.am | 2 + conf.d/Makefile.am | 2 + doc/Makefile.am | 2 + fc-cache/Makefile.am | 2 + fc-case/Makefile.am | 2 + fc-cat/Makefile.am | 2 + fc-glyphname/Makefile.am | 2 + fc-lang/Makefile.am | 2 + fc-list/Makefile.am | 2 + fc-match/Makefile.am | 2 + fc-pattern/Makefile.am | 2 + fc-query/Makefile.am | 2 + fc-scan/Makefile.am | 2 + fontconfig/Makefile.am | 2 + git.mk | 227 +++++++++++++++++++++++++++++++++++++++++++++++ src/Makefile.am | 2 + test/Makefile.am | 2 + 18 files changed, 259 insertions(+), 100 deletions(-) commit d58c31e6dcfd8c5e6fe3ead4a69216b059558223 Author: Behdad Esfahbod Date: Thu Sep 20 14:42:31 2012 -0400 Use a static perfect hash table for object-name lookup The hash table is generated by gperf. For runtime element types, we use a append-only linked list. A bit clumsy, but I think I got it right. src/Makefile.am | 26 +++- src/fcinit.c | 1 - src/fcint.h | 79 ++++--------- src/fcname.c | 315 +++++++------------------------------------------ src/fcobjs.c | 130 ++++++++++++++++++++ src/fcobjs.h | 44 +++++++ src/fcobjshash.gperf.h | 26 ++++ 7 files changed, 291 insertions(+), 330 deletions(-) commit 7c0f79c5fe9db50b55112a1048a8f1c6a80e96fa Author: Behdad Esfahbod Date: Thu Sep 20 14:01:47 2012 -0400 Deprecate FcName(Un)RegisterObjectTypes / FcName(Un)RegisterConstants These never worked as intended. The problem is, if Fontconfig tries to read config files when these new types / constants are not registered, it errs. As a result, no defined types / constants are usable from config files. Which makes these really useless. Xft was the only user of this API and even there it's not really used. Just kill it. One inch closer to thread-safety since we can fix the object-type hash table at compile time. doc/fcconstant.fncs | 8 +--- doc/fcobjecttype.fncs | 6 +-- fontconfig/fontconfig.h | 10 +++-- src/fcname.c | 100 ++++++------------------------------------------ 4 files changed, 23 insertions(+), 101 deletions(-) commit 1e2c0d70527c39f761c5770d93a5c1f8e87522bc Author: Behdad Esfahbod Date: Tue Jan 1 20:28:08 2013 -0600 Whitespace fontconfig/fontconfig.h | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) commit a498f2f717a73c3fff9784dd92173583fb37a596 Author: Behdad Esfahbod Date: Tue Jan 1 20:27:54 2013 -0600 Minor src/fcname.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) commit 8198127b2525084bfe2378b83c185fa0da7f583b Author: Behdad Esfahbod Date: Tue Jan 1 20:20:31 2013 -0600 Don't crash in FcPatternFormat() with NULL pattern src/fcformat.c | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) commit c9581b47c4409612e8f2d4f67a402c566ba8330e Author: Behdad Esfahbod Date: Tue Jan 1 20:20:12 2013 -0600 Don't crash in FcPatternDestroy with NULL pattern src/fcpat.c | 3 +++ 1 file changed, 3 insertions(+) commit e7d3e2163280ffb970b60c6ed18e26325d0241e4 Author: Behdad Esfahbod Date: Tue Jan 1 20:10:18 2013 -0600 Add NULL check src/fcformat.c | 3 +++ 1 file changed, 3 insertions(+) commit 5bb5da4c4a34ca7c0a7c513e38829f69654f9962 Author: Behdad Esfahbod Date: Tue Jan 1 20:09:08 2013 -0600 Refuse to set value to unsupported types during config too src/fccfg.c | 34 ++++++++++++++++++++++++++++------ 1 file changed, 28 insertions(+), 6 deletions(-) commit 3878a125410d1dd461aee1e40f9ac00d68be71f2 Author: Behdad Esfahbod Date: Tue Jan 1 19:52:14 2013 -0600 Make FC_DBG_OBJTYPES debug messages into warnings And remove FC_DBG_OBJTYPES since it has no use now. src/fcdbg.c | 30 +++++++++++++++++++----------- src/fcint.h | 5 ++++- src/fcpat.c | 21 +++++++++------------ 3 files changed, 32 insertions(+), 24 deletions(-) commit 209750a4e0a3e1d7b8c5c971e9e2cbd5770d959f Author: Behdad Esfahbod Date: Mon Dec 31 20:11:12 2012 -0600 Warn if appears in src/fccfg.c | 21 +++++++++++++++------ 1 file changed, 15 insertions(+), 6 deletions(-) commit 424cfa1684f8af8bb6ecb01dc83bfc3d0a14f20a Author: Behdad Esfahbod Date: Mon Dec 31 20:00:17 2012 -0600 Adjust docs for recent changes doc/fontconfig-user.sgml | 12 +++++++++--- 1 file changed, 9 insertions(+), 3 deletions(-) commit 31ce352bb350a10c6ae08f1415d348458b64bf61 Author: Behdad Esfahbod Date: Mon Dec 31 19:55:37 2012 -0600 Initialize matrix during name parsing Before: $ fc-match sans:matrix=2 -v | grep matrix matrix: [2 6.95183e-310; 0 0](s) After: $ fc-match sans:matrix=2 -v | grep matrix matrix: [2 0; 0 1](s) src/fcname.c | 1 + 1 file changed, 1 insertion(+) commit 6bfef3ca4e52bdd5216facb90faa043c845aa0f6 Author: Behdad Esfahbod Date: Mon Dec 31 17:21:07 2012 -0600 Make tests run on Windows test/Makefile.am | 2 +- test/run-test.sh | 4 ++-- 2 files changed, 3 insertions(+), 3 deletions(-) commit b1630dc00e3538a8fc6629ddbbba5435bfb2bd7a Author: Behdad Esfahbod Date: Mon Dec 31 17:20:29 2012 -0600 Enable fcarch assert checks even when FC_ARCHITECTURE is explicitly given After all, if the asserts fail, the resulting library simply can't be working correctly. src/fcarch.c | 9 --------- 1 file changed, 9 deletions(-) commit a0638ff0c7445925e873b39dbe584fbaf3cc87e5 Author: Behdad Esfahbod Date: Mon Dec 31 17:20:12 2012 -0600 Remove unneeded stuff fc-cat/fc-cat.c | 10 ++++------ fc-lang/fc-lang.c | 11 ----------- 2 files changed, 4 insertions(+), 17 deletions(-) commit a603be89cd13555d5992836531c5ef2ba88b8473 Author: Behdad Esfahbod Date: Mon Dec 31 17:00:19 2012 -0600 Unbreak build when FC_ARCHITECTURE is defined src/fcarch.c | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) commit 1fbb0b3b15774c187c697a80fb3c89bc1f3e0006 Author: Behdad Esfahbod Date: Sun Dec 30 19:08:42 2012 -0600 Don't warn if an unknown element is used in an expression The type will be resolved at runtime... For example, we can do this now without getting a warning: false pixelsize pixelsize matrix pixelsizefixupfactor 0 0 pixelsizefixupfactor size pixelsizefixupfactor Previously the last edit was generating: Fontconfig warning: "/home/behdad/.local/etc/fonts/conf.d/00-scale-bitmap-fonts.conf", line 29: saw unknown, expected number src/fcxml.c | 4 ++++ 1 file changed, 4 insertions(+) commit 51b0044648e00025cf20014b19aaceed7beeed75 Author: Behdad Esfahbod Date: Sat Dec 29 23:58:38 2012 -0500 Allow target="font/pattern/default" in elements Based on idea from Raimund Steger. For example, one can do something like this: false pixelsize pixelsize matrix pixelsizefixupfactor 0 0 pixelsizefixupfactor Part of work to make bitmap font scaling possible. See thread discussion: http://lists.freedesktop.org/archives/fontconfig/2012-December/004498.html fonts.dtd | 3 ++- src/fccfg.c | 57 +++++++++++++++++++++++++++---------------------- src/fcdbg.c | 19 ++++++++++++----- src/fcint.h | 9 +++++++- src/fcxml.c | 71 ++++++++++++++++++++++++++++++++++++++++++++++++++++++------- 5 files changed, 118 insertions(+), 41 deletions(-) commit d7e1965aa0f55925913e9764d2d0792cc14490c2 Author: Behdad Esfahbod Date: Sat Dec 29 23:12:07 2012 -0500 Remove memory accounting and reporting That belongs in tools like cairo/util/malloc-stat.so src/fcatomic.c | 6 ---- src/fcblanks.c | 8 ----- src/fccfg.c | 16 --------- src/fccharset.c | 36 ------------------- src/fcfs.c | 8 ----- src/fcinit.c | 105 -------------------------------------------------------- src/fcint.h | 45 ------------------------ src/fclang.c | 17 +-------- src/fclist.c | 10 ------ src/fcmatrix.c | 4 --- src/fcname.c | 2 -- src/fcpat.c | 20 +---------- src/fcstr.c | 21 ------------ src/fcxml.c | 22 ------------ 14 files changed, 2 insertions(+), 318 deletions(-) commit d823bb3cad1b34d92ca99998a00f35b66666bdf3 Author: Behdad Esfahbod Date: Sat Dec 29 22:57:53 2012 -0500 Fixup from 4f6767470f52b287a2923e7e6d8de5fae1993f67 src/fcxml.c | 5 ----- 1 file changed, 5 deletions(-) commit eb9ffac7e5955bcfdf98fa985cc39062d6ea641b Author: Behdad Esfahbod Date: Sat Dec 29 22:56:14 2012 -0500 Fix more warnings src/fcserialize.c | 1 - src/ftglue.c | 1 - 2 files changed, 2 deletions(-) commit 1404af312a091b601bca91b791fe4039da8dba8f Author: Behdad Esfahbod Date: Sat Dec 29 22:55:36 2012 -0500 Fix warning src/fcstat.c | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) commit dd69d96e06b16c37bb87817edd40f6e4040f35ae Author: Behdad Esfahbod Date: Sat Dec 29 22:47:49 2012 -0500 Fix sign-compare warnings src/fccache.c | 6 +++--- src/fcfreetype.c | 6 +++--- src/fcint.h | 4 ++-- src/fclang.c | 6 +++--- src/fcname.c | 6 +++--- src/fcxml.c | 4 ++-- src/ftglue.c | 2 +- 7 files changed, 17 insertions(+), 17 deletions(-) commit 4ad3a73691b98781cfd4de789af7d33649ce3023 Author: Behdad Esfahbod Date: Sat Dec 29 22:33:33 2012 -0500 Fix more warnings src/fcstr.c | 2 -- src/fcxml.c | 2 -- 2 files changed, 4 deletions(-) commit 83d8019011232d491df93cda97a2f988ee96005b Author: Behdad Esfahbod Date: Sat Dec 29 22:32:56 2012 -0500 Fix unused-parameter warnings src/fcarch.c | 2 +- src/fccache.c | 2 +- src/fccfg.c | 2 +- src/fccharset.c | 4 ++-- src/fcdir.c | 6 +++--- src/fcformat.c | 6 +++--- src/fcint.h | 6 ++++++ src/fcmatch.c | 9 ++++----- src/fcxml.c | 10 +++++----- 9 files changed, 26 insertions(+), 21 deletions(-) commit 24cdcf52ab7f83b329072efacbdd9253991579c0 Author: Behdad Esfahbod Date: Sat Dec 29 22:11:09 2012 -0500 Fix compiler warnings src/fccfg.c | 44 ++++++++++++++++++++++---------------------- src/fcformat.c | 2 +- src/fcfreetype.c | 6 ++---- src/fcmatch.c | 14 +++++++------- src/fcname.c | 6 +++--- src/fcpat.c | 16 ++++++++-------- src/fcxml.c | 20 ++++++++++---------- 7 files changed, 53 insertions(+), 55 deletions(-) commit 4f6767470f52b287a2923e7e6d8de5fae1993f67 Author: Behdad Esfahbod Date: Sat Dec 29 21:39:06 2012 -0500 Parse matrices of expressions Previously a element could only accept four literals. It now accepts full expressions, which can in turn poke into the pattern, do math, etc. fonts.dtd | 2 +- src/fccfg.c | 24 +++++++++++++-- src/fcdbg.c | 16 ++++++---- src/fcint.h | 6 +++- src/fcxml.c | 97 +++++++++++++++++++++++++++++++++++-------------------------- 5 files changed, 94 insertions(+), 51 deletions(-) commit 927dd3ddb582303843e70300b04167ca774e78b7 Author: Behdad Esfahbod Date: Sat Dec 29 20:14:07 2012 -0500 Fix typo Ouch, this has been wrong since 2004... I guess no one uses stuff. src/fcxml.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) commit 9ce36f4bbebc702a35d0cd9f1a59d5b828549bc6 Author: Akira TAGOH Date: Tue Dec 11 18:53:57 2012 +0900 Check the system font to be initialized config->fonts is an array and checking if config->fonts is a null will not be useful. src/fccfg.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) commit 58040349e8309601b0e5488b8a71cedf03f81415 Author: Akira TAGOH Date: Tue Dec 11 12:38:42 2012 +0900 Fix a memory leak src/fcxml.c | 1 + 1 file changed, 1 insertion(+) commit 5ea3118ad63787c9a3daa856dd09736aac6f4069 Author: Akira TAGOH Date: Tue Dec 11 12:35:02 2012 +0900 Fix a typo that accessing to the out of array src/fcstr.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) commit cef2b50c6647582bb128f98f2f78331fbe7dec4e Author: Akira TAGOH Date: Tue Dec 11 12:30:05 2012 +0900 clean up ret won't be -1 if HAVE_STRUCT_DIRENT_D_TYPE isn't defined. src/fcstat.c | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) commit 36265aeebd637e75c7b84db107afd6a35eb485c1 Author: Akira TAGOH Date: Tue Dec 11 11:37:23 2012 +0900 Remove the dead code fc-cache/fc-cache.c | 7 ------- 1 file changed, 7 deletions(-) commit 608c5b590bd3428dfcd30f3d68ee8b7131e2f019 Author: Akira TAGOH Date: Mon Dec 10 10:54:47 2012 +0900 Remove the duplicate null-check src/fcinit.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) commit e7954674eb4f16d0fed3018cbefb4907c89d2465 Author: Akira TAGOH Date: Fri Dec 7 19:09:36 2012 +0900 Fix the wrong estimation for the memory usage information in fontconfig src/fccfg.c | 2 ++ src/fcinit.c | 16 ++++++++++------ src/fclang.c | 26 ++++++++++++++++++++++++-- src/fcstr.c | 5 ++--- src/fcxml.c | 28 ++++++++++++++++------------ 5 files changed, 54 insertions(+), 23 deletions(-) commit 959442bca138e6480418f2607a04d9343db7f438 Author: Akira TAGOH Date: Thu Dec 6 19:49:05 2012 +0900 Fix a typo src/fcdir.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) commit 9231545c6bb775460702d8a615f1649bd8632f00 Author: Akira TAGOH Date: Wed Dec 5 18:13:25 2012 +0900 Do not show the deprecation warning if it is a symlink conf.d/50-user.conf | 7 ++++++- configure.ac | 2 +- src/fcdir.c | 14 ++++++++++++++ src/fcint.h | 3 +++ src/fcxml.c | 6 ++++-- 5 files changed, 28 insertions(+), 4 deletions(-) commit 2442d611579bccb84f0c29e3f9ceb0a7436df812 Author: Akira TAGOH Date: Fri Nov 30 20:10:30 2012 +0900 Fix build issues on clean tree doc/Makefile.am | 9 ++------- fc-case/Makefile.am | 7 +++++-- fc-glyphname/Makefile.am | 9 ++++++--- fc-lang/Makefile.am | 9 ++++++--- 4 files changed, 19 insertions(+), 15 deletions(-) commit faea1cac85ac3b0fd6a983e1c0adeb68e115e06c Author: Jon TURNEY Date: Wed Nov 28 16:10:28 2012 +0000 Fix build when srcdir != builddir When ./configure'd in a directory other than the srcdir, we need to look in ${top_builddir)/src for the generated header fcstdint.h Signed-off-by: Jon TURNEY fc-case/Makefile.am | 2 +- fc-glyphname/Makefile.am | 2 +- fc-lang/Makefile.am | 2 +- 3 files changed, 3 insertions(+), 3 deletions(-) commit 3d3629f86a45d30eed51dad58865753b3b1e186e Author: Akira TAGOH Date: Tue Nov 27 18:25:11 2012 +0900 Fix a potability issue about stdint.h configure.ac | 1 + m4/ax_create_stdint_h.m4 | 695 +++++++++++++++++++++++++++++++++++++++++++++++ src/Makefile.am | 11 +- src/fcint.h | 9 +- 4 files changed, 707 insertions(+), 9 deletions(-)