commit bad64a7e1f84c982da1f86f45faa10426dfce654 Author: Akira TAGOH Date: Thu Dec 14 15:44:20 2017 +0900 Bump version to 2.12.91 README | 138 +++++++++++++++++++++++++++++++++++++++++++++++- configure.ac | 2 +- fontconfig/fontconfig.h | 2 +- 3 files changed, 138 insertions(+), 4 deletions(-) commit 1f84aa196d0ed2dae6176e0137eaae4449a6ca7c Author: Akira TAGOH Date: Thu Dec 14 15:42:39 2017 +0900 Bump the libtool revision configure.ac | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) commit 8d02dbbd9784e3e9ae5f45cb96b790645f09fcf6 Author: Akira TAGOH Date: Thu Dec 14 15:42:22 2017 +0900 Fix "make check" fail again test/Makefile.am | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) commit a6797cd5c2d430d22f689240eb4318f2d91fd677 Author: Akira TAGOH Date: Tue Dec 5 21:57:19 2017 +0900 Fix distcheck error test/Makefile.am | 4 ++-- test/run-test.sh | 2 +- 2 files changed, 3 insertions(+), 3 deletions(-) commit 1b2279d6b5118fc00bc028340d14fe1e345a4ab4 Author: Akira TAGOH Date: Fri Nov 24 10:53:39 2017 +0530 thread-safe functions in fchash.c src/fchash.c | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) commit 4758144492cf694b9d762733bc0907c0dad5b34d Author: Akira TAGOH Date: Mon Nov 20 17:46:47 2017 +0530 Fix the testcase for env not enabled PCF_CONFIG_OPTION_LONG_FAMILY_NAMES in freetype test/run-test.sh | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) commit abe91a1694bb6b89c51c7d61af23bf2607c4c4be Author: Akira TAGOH Date: Mon Nov 20 14:33:18 2017 +0530 Use smaller prime for hash size src/fchash.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) commit c4b2787ba41006d60c964438fec17f15d75f03c0 Author: Akira TAGOH Date: Mon Nov 20 13:46:55 2017 +0530 cleanup doc/fcpattern.fncs | 10 ---------- 1 file changed, 10 deletions(-) commit 5af21201e1bf2daf2bae4b684243bc62dd2c7ee7 Author: Akira TAGOH Date: Wed Nov 15 23:30:26 2017 +0900 Add a testcase for bind-mounted cachedir test/run-test.sh | 30 ++++++++++++++++++++++++++++++ 1 file changed, 30 insertions(+) commit 2f486f6584f3c0d6d1c7eadfbc56cd13a8f3122f Author: Akira TAGOH Date: Wed Nov 15 23:24:24 2017 +0900 Don't call FcStat when the alias has already been added Similar changes to 3a3d6ea applies to fclist and fcmatch. src/fclist.c | 49 ++++++++++++++++++++++--------------------------- src/fcmatch.c | 47 ++++++++++++++++++++++------------------------- 2 files changed, 44 insertions(+), 52 deletions(-) commit 665a5d30443cee9ef0eb977857ed2d19ed9f3cb6 Author: Akira TAGOH Date: Wed Nov 15 23:00:31 2017 +0900 Fix a typo src/fchash.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) commit 6b82c7083565d646b8a08d17dbcb41bd998a5a3c Author: Akira TAGOH Date: Wed Nov 15 23:00:23 2017 +0900 Fix memory leak src/fccache.c | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-) commit da071b32d41f91856a5e211c1fea7192d33ef09f Author: Akira TAGOH Date: Wed Nov 15 16:34:02 2017 +0900 update git.mk | 12 ++++++++++++ 1 file changed, 12 insertions(+) commit 8f88b1c47cb7918aa65ed415f64e04464b1653c9 Author: Akira TAGOH Date: Wed Nov 15 16:10:49 2017 +0900 abstract hash table functions src/Makefile.am | 1 + src/fccache.c | 241 +++++++------------------------------------------------- src/fccfg.c | 21 ++++- src/fcdir.c | 2 +- src/fchash.c | 181 ++++++++++++++++++++++++++++++++++++++++++ src/fcint.h | 51 ++++++++++-- src/fclist.c | 6 +- src/fcmatch.c | 5 +- 8 files changed, 283 insertions(+), 225 deletions(-) commit 68ff99c4142e25989409f465e392b1bb3042494d Author: Akira TAGOH Date: Wed Nov 15 16:08:30 2017 +0900 cleanup fontconfig/fontconfig.h | 3 --- src/fcpat.c | 30 ------------------------------ 2 files changed, 33 deletions(-) commit b01bf646f110cacfaeb5fe097475d3582fa6cd33 Author: Akira TAGOH Date: Tue Oct 3 13:08:54 2017 +0900 Destroy the alias and UUID tables when all of caches is unloaded When a cache contains no fonts, it will be unloaded immediately. Previously the certain alias and UUID entries will be purged at that time though, this doesn't work when the targeted directory has sub-directories. To avoid the unnecessary cache creation with the md5-based naming, try to keep them as far as possible. Although this way seems not perfectly working if the first directory to look up is like that src/fccache.c | 63 +++++++++++++++++++++++++---------------------------------- 1 file changed, 27 insertions(+), 36 deletions(-) commit d7133f4ed7071c6ac257e8d4de0e438e22ca0254 Author: Akira TAGOH Date: Mon Oct 2 21:17:06 2017 +0900 Don't call FcStat when the alias has already been added We could assume that the targeted location is mapped at the different place when there are in the alias table. src/fccfg.c | 21 +++++++-------------- 1 file changed, 7 insertions(+), 14 deletions(-) commit cf5acaed9621990d890a0dfd655494d7242aba26 Author: Akira TAGOH Date: Sat Sep 23 18:49:55 2017 +0900 Replace the path of subdirs in caches as well src/fccfg.c | 22 +++++++++++++++++++++- 1 file changed, 21 insertions(+), 1 deletion(-) commit 6d3b306cbecac22f4e0974c1a6e836289bd522f4 Author: Akira TAGOH Date: Tue Sep 19 20:21:22 2017 +0900 Replace the original path to the new one src/fclist.c | 6 +++--- src/fcmatch.c | 2 ++ 2 files changed, 5 insertions(+), 3 deletions(-) commit 6f226ad67e4373fa62359d1a7b94400d200e66ed Author: Akira TAGOH Date: Thu Sep 7 19:43:59 2017 +0900 Replace the font path in FcPattern to what it is actually located. src/fclist.c | 41 ++++++++++++++++++++++++++++++++++++++++- src/fcmatch.c | 32 ++++++++++++++++++++++++++++++++ 2 files changed, 72 insertions(+), 1 deletion(-) commit 85d9de58ed093ade638b51697fc3a23309e5d5a6 Author: Akira TAGOH Date: Wed Aug 2 11:02:19 2017 +0100 Add new API to find out a font from current search path doc/fcpattern.fncs | 10 ++++ fontconfig/fontconfig.h | 3 ++ src/fccache.c | 127 +++++++++++++++++++++++++++++++++++++++++++++++- src/fcint.h | 3 ++ src/fcpat.c | 30 ++++++++++++ 5 files changed, 171 insertions(+), 2 deletions(-) commit 7b48fd3dd406b926f0e5240b211f72197ed538a9 Author: Akira TAGOH Date: Wed Sep 6 17:01:19 2017 +0900 Use uuid-based cache filename if uuid is assigned to dirs configure.ac | 8 +++ src/Makefile.am | 3 +- src/fccache.c | 211 ++++++++++++++++++++++++++++++++++++++++++++++++++++++-- src/fcdir.c | 1 + src/fcint.h | 4 ++ 5 files changed, 220 insertions(+), 7 deletions(-) commit 64895e719dd8d18c52a31d66cd189915bc8c00b8 Author: Akira TAGOH Date: Mon Nov 20 17:20:34 2017 +0530 Add the check of PCF_CONFIG_OPTION_LONG_FAMILY_NAMES back This isn't enabled by default in freetype so need to check it for testsuites configure.ac | 13 +++++++++++++ test/Makefile.am | 12 +++++++++++- test/{out.expected => out.expected-long-family-names} | 0 test/out.expected-no-long-family-names | 8 ++++++++ test/run-test.sh | 2 +- 5 files changed, 33 insertions(+), 2 deletions(-) commit e73b5dcbf2248b538e06bc92a71700dacbec983b Author: Akira TAGOH Date: Thu Nov 16 11:37:36 2017 +0900 Correct debugging messages to load/scan config src/fcxml.c | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) commit 676d8699cc2e812f02e661842be4221c7549c511 Author: Akira TAGOH Date: Thu Nov 16 11:31:02 2017 +0900 Allow autoreconf through autopoint for gettext things configure.ac | 1 + 1 file changed, 1 insertion(+) commit 2ed243f323e603ac917a236a48b468e9c523da35 Author: Akira TAGOH Date: Tue Nov 14 20:55:24 2017 +0900 Validate cache more carefully Reject caches when FcPattern isn't a constant. This is usually unlikely to happen but reported. I've decided to add more validation since this isn't reproducible and easy to have a workaround rather than investigating 'why'. https://bugs.freedesktop.org/show_bug.cgi?id=103237 src/fccache.c | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) commit 12eb7be46610178c74fbe24ae518e20957cda1ea Author: Akira TAGOH Date: Wed Nov 8 22:18:01 2017 +0900 another workaround to avoid modifying by gettextize... autogen.sh | 3 +++ 1 file changed, 3 insertions(+) commit 3c55ef4b278be8fff1296af0cd1d3f97388416e4 Author: Akira TAGOH Date: Wed Nov 8 22:03:49 2017 +0900 missing an open parenthesis fc-cache/fc-cache.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) commit 23ba0dc10d5a1415d020043274a3e9608c5c5a39 Author: Akira TAGOH Date: Tue Nov 7 15:13:46 2017 +0900 workaround to avoid modifying by gettextize Makefile.am | 3 +-- autogen.sh | 8 +++++++- 2 files changed, 8 insertions(+), 3 deletions(-) commit 9a0fcb948fe7346f6c68028b2e54ab600a2a2a6f Author: Akira TAGOH Date: Thu Mar 27 15:10:44 2014 +0900 Add the ruleset description support Trying to address what these configuration files really do. This change allows to see the short description that mention the purpose of the content in the config file and obtain them through API. This change also encourage one who want to make some UI for the user-specific configuration management. it is the main purpose of this change for me though. Aside from that, I've also made programs translatable. so we see more dependencies on the build time for gettext, and itstool to generate PO from xml. Makefile.am | 14 +- autogen.sh | 13 +- conf.d/10-autohint.conf | 5 + conf.d/10-hinting-full.conf | 6 + conf.d/10-hinting-medium.conf | 6 + conf.d/10-hinting-none.conf | 6 + conf.d/10-hinting-slight.conf | 6 + conf.d/10-no-sub-pixel.conf | 5 + conf.d/10-scale-bitmap-fonts.conf | 4 + conf.d/10-sub-pixel-bgr.conf | 5 + conf.d/10-sub-pixel-rgb.conf | 5 + conf.d/10-sub-pixel-vbgr.conf | 5 + conf.d/10-sub-pixel-vrgb.conf | 5 + conf.d/10-unhinted.conf | 5 + conf.d/11-lcdfilter-default.conf | 5 + conf.d/11-lcdfilter-legacy.conf | 5 + conf.d/11-lcdfilter-light.conf | 5 + conf.d/20-unhint-small-vera.conf | 5 + conf.d/25-unhint-nonlatin.conf | 4 + conf.d/30-metric-aliases.conf | 5 + conf.d/40-nonlatin.conf | 5 + conf.d/45-generic.conf | 6 + conf.d/45-latin.conf | 5 + conf.d/49-sansserif.conf | 5 + conf.d/50-user.conf | 5 + conf.d/51-local.conf | 5 + conf.d/60-generic.conf | 5 + conf.d/60-latin.conf | 5 + conf.d/65-fonts-persian.conf | 4 + conf.d/65-khmer.conf | 4 + conf.d/65-nonlatin.conf | 5 + conf.d/69-unifont.conf | 4 + conf.d/70-no-bitmaps.conf | 5 + conf.d/70-yes-bitmaps.conf | 5 + conf.d/80-delicious.conf | 4 + conf.d/90-synthetic.conf | 4 + configure.ac | 17 + doc/fcconfig.fncs | 35 ++ fc-cache/fc-cache.c | 80 +++-- fc-cat/fc-cat.c | 46 +-- fc-conflist/Makefile.am | 60 ++++ fc-conflist/fc-conflist.c | 142 ++++++++ fc-conflist/fc-conflist.sgml | 135 ++++++++ fc-list/fc-list.c | 40 ++- fc-match/fc-match.c | 46 +-- fc-pattern/fc-pattern.c | 36 +- fc-query/fc-query.c | 36 +- fc-scan/fc-scan.c | 30 +- fc-validate/Makefile.am | 2 +- fc-validate/fc-validate.c | 42 ++- fontconfig/fontconfig.h | 25 +- fonts.conf.in | 5 + git.mk | 15 + local.conf | 5 + po-conf/ChangeLog | 12 + po-conf/LINGUAS | 1 + po-conf/Makevars | 78 +++++ po-conf/POTFILES.in | 0 po/ChangeLog | 12 + po/LINGUAS | 1 + po/Makevars | 78 +++++ po/POTFILES.in | 11 + src/Makefile.am | 4 +- src/fccfg.c | 675 ++++++++++++++++++++++++-------------- src/fcdbg.c | 10 +- src/fcinit.c | 1 + src/fcint.h | 113 ++++++- src/fcptrlist.c | 198 +++++++++++ src/fcxml.c | 179 +++++++--- 69 files changed, 1916 insertions(+), 449 deletions(-) commit 0c149259e4cc8070f6c8bf149290abb1367f340a Author: Akira TAGOH Date: Tue Nov 7 14:46:10 2017 +0900 doc: trivial update doc/fcfreetype.fncs | 1 + 1 file changed, 1 insertion(+) commit 14d70d3a8ae6f2652305daeb019e518f7e0c505b Author: Akira TAGOH Date: Thu Sep 21 17:06:17 2017 +0900 Bump version to 2.12.6 README | 22 ++++++++++++++++++++-- configure.ac | 2 +- fontconfig/fontconfig.h | 2 +- 3 files changed, 22 insertions(+), 4 deletions(-) commit 3f96450be0291e4903ebccf601e5af46b55cd193 Author: Akira TAGOH Date: Thu Sep 21 17:05:51 2017 +0900 Update libtool revision configure.ac | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) commit a7953dbf47b30fbbe499ad6a4a97396a7942232a Author: Alban Browaeys Date: Mon Oct 16 15:36:58 2017 +0200 Fixes cleanup Remove leftover references to run-test271.sh. test/Makefile.am | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) commit 90271ae0798dfbdb0d9dce85caf914bee99eca4e Author: Alexander Kanavin Date: Wed Oct 11 17:40:09 2017 +0300 src/fcxml.c: avoid double free() of filename It's also freed after bail1, so no need to do it here. src/fcxml.c | 1 - 1 file changed, 1 deletion(-) commit f4a2a1e577f6d6fe40469fb0ab68eb0b5f42465c Author: Behdad Esfahbod Date: Wed Oct 11 17:26:52 2017 +0200 Remove assert src/fcfreetype.c | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) commit c41c9220181b203d1cf1f6435f6e3735cb7c84ac Author: Bastien Nocera Date: Thu Oct 5 12:17:59 2017 +0200 conf: Prefer system emoji fonts to third-party ones Prefer the system provided emoji fonts on systems which provide one, such as Windows, MacOS and Android, even if the Emoji One or Emoji Two fonts are installed. This also allows free software OSes such as GNOME to prefer the Emoji One font, which is not used in other OSes and therefore has a unique brand identity, by installing them and only them by default. Users can use more capable fonts while Emoji One and Emoji Two catch up by installing a font otherwise already used by another system, such as Google's freely redistributable Noto Emoji font. https://bugzilla.redhat.com/show_bug.cgi?id=1496761 conf.d/45-generic.conf | 16 +++++++++------- conf.d/60-generic.conf | 5 +++-- 2 files changed, 12 insertions(+), 9 deletions(-) commit 9fde3461e3aae3afc57ed100dc7784045e591766 Author: Akira TAGOH Date: Fri Sep 29 14:33:17 2017 +0900 Fix a compiler warning src/fcdbg.c | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) commit 071111ea58fa067e5e9349d71aa05ef6d62a0915 Author: Akira TAGOH Date: Fri Sep 29 14:29:37 2017 +0900 cleanup test/Makefile.am | 9 --------- test/out.expected | 12 ++++++------ test/out271.expected | 8 -------- test/run-test271.sh | 24 ------------------------ 4 files changed, 6 insertions(+), 47 deletions(-) commit f504b2d6a149930cbbe745d56713bd88425a87fd Author: Behdad Esfahbod Date: Thu Sep 28 19:49:05 2017 -0400 Require freetype >= 2.8.1 2.8.0 had a bad bug with loading 'avar' table. Let's update requirement and cleanup fifteen years of ifdefs! configure.ac | 39 +++------------------------------------ src/fcfreetype.c | 43 ------------------------------------------- 2 files changed, 3 insertions(+), 79 deletions(-) commit 1580593ecca1db4b4f06d87c38bb52eeeb533b1d Merge: 052115a 01f781a Author: Behdad Esfahbod Date: Thu Sep 28 14:52:41 2017 -0400 Merge branch 'varfonts2' https://lists.freedesktop.org/archives/fontconfig/2017-September/006048.html commit 01f781a9a44c98b9c1330caeb388545db8fe0bb2 Author: Behdad Esfahbod Date: Wed Sep 27 18:55:50 2017 -0400 [varfonts] Share lang across named-instances Makes VotoSerifGX scanning another 40% faster... Down to 36ms now. src/fcfreetype.c | 35 +++++++++++++++++++++++++---------- src/fclang.c | 6 ++++++ src/fcpat.c | 3 +++ 3 files changed, 34 insertions(+), 10 deletions(-) commit 161c7385477b9520fc4c63e3f09789d217c5cd67 Author: Behdad Esfahbod Date: Wed Sep 27 18:36:25 2017 -0400 Use binary-search for finding name table entries VotoSerifGX has over 500 named instances, which means it also has over a thousand name table entries. So we were looking for names for over 500 pattern, looking for some thirty different name-ids, and using linear search across the 1000 entries! Makes scanning VotoSerifGX three times faster. The rest is probably the lang matching, which can also be shared across named-instances. Upcoming. src/fcfreetype.c | 267 +++++++++++++++++++++++++++++-------------------------- 1 file changed, 141 insertions(+), 126 deletions(-) commit 261464e0e2b0348187448fd86cde7d1e36124fc6 Author: Behdad Esfahbod Date: Wed Sep 27 18:09:31 2017 -0400 Simplify name-table platform mathcing logic There's no "all other platforms", there was just ISO left. Hardcode it in. src/fcfreetype.c | 29 +++++------------------------ 1 file changed, 5 insertions(+), 24 deletions(-) commit 55d04e25d613b0b63b2b2c33affb6fae34a0ca01 Author: Behdad Esfahbod Date: Wed Sep 27 16:54:24 2017 -0400 Don't convert nameds to UTF-8 unless we are going to use them src/fcfreetype.c | 39 ++++++++++++++++++++++----------------- 1 file changed, 22 insertions(+), 17 deletions(-) commit f99278112d01d77a4b396ab04616bdb4ade21d88 Author: Behdad Esfahbod Date: Wed Sep 27 16:50:59 2017 -0400 Whitespace src/fcfreetype.c | 18 +++++++++--------- 1 file changed, 9 insertions(+), 9 deletions(-) commit 554041d59679d99e9c5ba0a01c3fa743eef7bd7f Author: Behdad Esfahbod Date: Wed Sep 27 16:50:30 2017 -0400 Fix whitespace-trimming loop and empty strings... src/fcfreetype.c | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) commit a74109a1142a1525a310f95cb44931de545e025f Author: Behdad Esfahbod Date: Wed Sep 27 16:49:24 2017 -0400 Move whitespace-trimming code to apply to all name-table strings If it's good, it's good for everything! src/fcfreetype.c | 23 +++++++++++------------ 1 file changed, 11 insertions(+), 12 deletions(-) commit 869dfe0bdc5efbaca6baf093eeeb9ac3d18c66e7 Author: Behdad Esfahbod Date: Wed Sep 27 16:26:47 2017 -0400 [varfonts] Reuse charset for named instances This didn't give me the speedup I was hoping for, though I do get around 15% for VotoSerifGX. src/fcfreetype.c | 44 +++++++++++++++++++++++++++++++++----------- 1 file changed, 33 insertions(+), 11 deletions(-) commit bf4d440e7f02f36de37b205092144b335bc40854 Author: Behdad Esfahbod Date: Wed Sep 27 12:31:03 2017 -0400 Separate charset and spacing code For variable-font named-instances we want to reuse the same charset and redo the spacing. src/fcfreetype.c | 108 ++++++++++++++++++++++++++++++++----------------------- 1 file changed, 64 insertions(+), 44 deletions(-) commit 052115aa83c9927768ab970443250fb4ed9c0fca Author: Akira TAGOH Date: Thu Sep 21 14:04:10 2017 +0900 Fix again to keep the same behavior to the return value of FcConfigParseAndLoad https://bugs.freedesktop.org/show_bug.cgi?id=102141 src/fcxml.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) commit 5603e06aeba57cb2c7044c9cc6001d0cef5039f4 Author: Akira TAGOH Date: Thu Sep 21 14:03:51 2017 +0900 Revert "Keep the same behavior to the return value of FcConfigParseAndLoad" This reverts commit dc56ff80408b16393d645a55788b023f1de27bc9. src/fcxml.c | 4 ---- 1 file changed, 4 deletions(-) commit 15b5016ccdf236e51caf2480749d534a7f4b9eda Author: Behdad Esfahbod Date: Wed Sep 20 19:39:59 2017 -0700 [varfonts] Don't reopen face for each named instance Makes scanning of Voto (over 500 named instaces) twice faster. Next, avoid charset / lang recalculation for each of those. src/fcfreetype.c | 100 +++++++++++++++++++++++++++++++------------------------ 1 file changed, 56 insertions(+), 44 deletions(-) commit 2d0063948a446a24ed9b74b5b5a4eb1004b1db8e Author: Behdad Esfahbod Date: Wed Sep 20 16:25:06 2017 -0700 [varfonts] Do not set postscriptname for varfont pattern src/fcfreetype.c | 87 +++++++++++++++++++++++++++++--------------------------- 1 file changed, 45 insertions(+), 42 deletions(-) commit be735d6a6870dde8879ce08b8927bf224b2614a0 Author: Behdad Esfahbod Date: Wed Sep 20 16:21:28 2017 -0700 [varfonts] Skip named-instance that is equivalent to base font src/fcfreetype.c | 41 ++++++++++++++++++++++++++++++++++++----- 1 file changed, 36 insertions(+), 5 deletions(-) commit 8183194ae39c43708e60458e94faf73d55b4ec4a Author: Behdad Esfahbod Date: Mon Sep 18 20:14:33 2017 -0400 [varfonts] Don't set style for variable-font pattern src/fcfreetype.c | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) commit 131219f9e54fe576c986f80aecc3b1d92c27bb09 Author: Behdad Esfahbod Date: Mon Sep 18 19:27:24 2017 -0400 [varfonts] Comment src/fcfreetype.c | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) commit e85afde2d68574eda904e934ba2e484647606bf4 Author: Behdad Esfahbod Date: Mon Sep 18 15:04:21 2017 -0400 [varfonts] Minor src/fcfreetype.c | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-) commit 5ee9c38df7708dfc544973fb7617231eb314b9b9 Author: Behdad Esfahbod Date: Mon Sep 18 15:03:36 2017 -0400 Revert "[varfonts] Use fvar data even if there's no variation in it" This reverts commit 57764e3a36449da25bb829c34cb08c54e9e5de90. For regular font pattern we don't look into fvar, so it doesn't make sense to get non-variation from it either. src/fcfreetype.c | 25 ++++++++----------------- 1 file changed, 8 insertions(+), 17 deletions(-) commit 7e1b84100d9fff3409a8c3d1b800911bd0643761 Author: Behdad Esfahbod Date: Mon Sep 18 14:53:24 2017 -0400 Minor src/fcfreetype.c | 16 ++++++++++++---- 1 file changed, 12 insertions(+), 4 deletions(-) commit 01f14de4172f4853c2ca05586aeb073edf560ef4 Author: Behdad Esfahbod Date: Mon Sep 18 14:52:17 2017 -0400 [varfonts] Use fvar data even if there's no variation in it src/fcfreetype.c | 25 +++++++++++++++++-------- 1 file changed, 17 insertions(+), 8 deletions(-) commit 38a6d6fba0c9d5a189ec706a1df4ceb639c83bd1 Author: Behdad Esfahbod Date: Mon Sep 18 14:33:37 2017 -0400 Fix possible div-by-zero src/fcfreetype.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) commit 0ed241cb3047b0a8ab1949d7ac68e7159fe0984d Author: Behdad Esfahbod Date: Mon Sep 18 14:59:49 2017 -0400 Implement more config bool operations for boolean types Meh. src/fccfg.c | 12 ++++++++++++ 1 file changed, 12 insertions(+) commit 2544bc5343d84a1f7e793cdae3569150b0ec3d05 Author: Behdad Esfahbod Date: Sat Sep 16 13:45:02 2017 -0400 Add FcDontCare value to FcBool This can be used for FC_VARIABLE=FcDontCare for example, to opt into getting variable fonts for clients that support using them. fontconfig/fontconfig.h | 3 ++- src/fccfg.c | 8 ++++++-- src/fcdbg.c | 5 ++++- src/fcmatch.c | 8 ++++++-- src/fcname.c | 15 ++++++++++++++- 5 files changed, 32 insertions(+), 7 deletions(-) commit c2fcde498a8b7dec012a8da8ffa78f72a65ac50d Author: Behdad Esfahbod Date: Fri Sep 15 15:03:46 2017 -0400 [varfonts] Map from OpenType to Fontconfig weight values Oops. src/fcfreetype.c | 4 ++++ 1 file changed, 4 insertions(+) commit 9efe0689ae130eda75a66ecd853cbe63712378a3 Author: Behdad Esfahbod Date: Fri Sep 15 14:28:12 2017 -0400 Adjust emboldening logic Old logic was really bad. If you requested weight=102 and got a medium font (weight=100), it would still enable emboldening... Adjust it to only embolden if request was >= bold and font was <= regular. conf.d/90-synthetic.conf | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) commit a79f367c3f8b238fecced75e02c956e565af2597 Author: Behdad Esfahbod Date: Fri Sep 15 14:26:17 2017 -0400 Fix range comparision operators implementation src/fcrange.c | 13 ++++++------- 1 file changed, 6 insertions(+), 7 deletions(-) commit 5bbdffd2c2efcf684ae787bfad9d154b2fe05fb4 Author: Behdad Esfahbod Date: Fri Sep 15 01:51:46 2017 -0400 Add separate match compare function for size Has two distinctions from FcCompareRange(): 1. As best value, it returns query pattern size, even if it's out of font range, 2. Implements semi-closed interval, as that's what OS/2 v5 table defines src/fcmatch.c | 50 ++++++++++++++++++++++++++++++++++++++++++++++++++ src/fcobjs.h | 2 +- 2 files changed, 51 insertions(+), 1 deletion(-) commit 2a41738fd7c88e2b6977673f91bdb8d1f7224cf1 Author: Behdad Esfahbod Date: Fri Sep 15 01:11:34 2017 -0400 [fc-match/fc-list/fc-query/fc-scan] Add --brief that is like --verbose without charset fc-list/fc-list.c | 24 ++++++++++++++++++------ fc-match/fc-match.c | 20 ++++++++++++++++---- fc-query/fc-query.c | 21 +++++++++++++++++---- fc-scan/fc-scan.c | 17 +++++++++++++++-- 4 files changed, 66 insertions(+), 16 deletions(-) commit dc8326d3f116bb2a1425aa68660a332e351b6cb4 Author: Behdad Esfahbod Date: Fri Sep 15 01:20:56 2017 -0400 [fc-query] Remove --ignore-blanks / -b Blanks are the new black, err, dead! fc-query/fc-query.c | 20 +++++--------------- 1 file changed, 5 insertions(+), 15 deletions(-) commit 2db7ca7d5801ba4d3024abedc7d1f11a684879da Author: Behdad Esfahbod Date: Fri Sep 15 01:01:17 2017 -0400 In RenderPrepare(), handle ranges smartly If font claims to support range [100,900], and request is for [250], then return [250] in "rendered" pattern. Previously was returning [100,900]. This is desirable for varfonts weight and width, but probably not for size. Will roll back size to return request size always, for non-empty ranges. src/fcmatch.c | 51 +++++++++++++++++++++++++++++++++++++-------------- 1 file changed, 37 insertions(+), 14 deletions(-) commit 6a13a21e408d0eead6909db1b13f9a866f254034 Author: Behdad Esfahbod Date: Wed Sep 13 04:04:56 2017 -0400 [varfonts] Fetch optical-size for named instances src/fcfreetype.c | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) commit 0f9bbbcf8f6f8264efb0a2ded4d8d05f3b10f7a4 Author: Behdad Esfahbod Date: Wed Sep 13 04:01:07 2017 -0400 [varfonts] Query variable font in FcFreeTypeQueryAll() Returns varfont pattern at the end. src/fcfreetype.c | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) commit 585f08715b9405743e4a2559d537fd06fb8b51d5 Author: Behdad Esfahbod Date: Wed Sep 13 03:57:29 2017 -0400 Fix instance-num handling in collections Ouch! src/fcfreetype.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) commit 83b4161108457019d0d4fbee4ddbce8f2abe869a Author: Behdad Esfahbod Date: Wed Sep 13 03:35:02 2017 -0400 [varfonts] Query varfonts if id >> 16 == 0x8000 If "instance-number" part of face id is set to 0x8000, return a pattern for variable font as a whole. This might have a range for weight, width, and size. If no variation is found, NULL is returned. Not hooked up to FcQueryFaceAll() yet. For now, can be triggered using fc-query -i 0x80000000 src/fcfreetype.c | 83 ++++++++++++++++++++++++++++++++++++++++++++++---------- 1 file changed, 69 insertions(+), 14 deletions(-) commit d3a7c3ce697a8ceb8042bf5bea11c38ac8990553 Author: Behdad Esfahbod Date: Wed Sep 13 03:31:48 2017 -0400 [varfonts] Change FC_WEIGHT and FC_WIDTH into ranges src/fcobjs.h | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) commit f034c86756d45bed61b86310d9e4e77db2d05df3 Author: Behdad Esfahbod Date: Wed Sep 13 03:29:20 2017 -0400 Print ranges as closed as opposed to half-open There's nothing assymetrical about how we match them. Previously we "considered" them half-open because the OS/2 spec had usLowerOpticalPointSize as inclusive and usUpperOpticalPointSize as exclusive. But we do not respect that. Note that the parsing code accepts both anyway, because of the way our sscanf() usage is written... src/fcdbg.c | 2 +- src/fcname.c | 4 ++-- 2 files changed, 3 insertions(+), 3 deletions(-) commit a4bd5b7c7a06fe39d1461f9be098af37d364dcc2 Author: Behdad Esfahbod Date: Wed Sep 13 03:27:03 2017 -0400 [varfonts] Change id argument in FcFreeTypeQuery* to unsigned int Going to use the top bit to query varfonts. fc-query/fc-query.c | 6 +++--- fontconfig/fcfreetype.h | 2 +- fontconfig/fontconfig.h | 4 ++-- src/fcfreetype.c | 20 ++++++++++---------- 4 files changed, 16 insertions(+), 16 deletions(-) commit 819d3a5541b3903bda5d1299d48a6760379cac72 Author: Behdad Esfahbod Date: Tue Sep 12 12:21:05 2017 -0400 [varfonts] Add FC_VARIABLE For now, we mark all fonts as non-variable. fontconfig/fontconfig.h | 1 + src/fcdefault.c | 1 + src/fcfreetype.c | 3 +++ src/fcmatch.c | 1 + src/fcobjs.h | 1 + 5 files changed, 7 insertions(+) commit 80e155c1c042d080772447d92c146501662ab85e Author: Behdad Esfahbod Date: Tue Sep 12 10:39:20 2017 -0400 [varfonts] Add FC_FONT_VARIATIONS This is for clients to passthru font variation settings. Modeled similar to FC_FONT_FEATURES. Each element value is for one axis settings, eg. "abcd=2.3" where 'abcd' is the OpenType Font Variations axis tag. Needs docs update. fontconfig/fontconfig.h | 1 + src/fcobjs.h | 1 + 2 files changed, 2 insertions(+) commit de00bdb01f1c879b4d55d5f7ef31dfea0049a34b Author: Behdad Esfahbod Date: Wed Sep 13 02:36:33 2017 -0400 Indent src/fcfreetype.c | 30 +++++++++++++++--------------- 1 file changed, 15 insertions(+), 15 deletions(-) commit 66f082451d8bd3ae781f6a570c20456d822dd2f1 Author: Behdad Esfahbod Date: Wed Sep 13 02:26:25 2017 -0400 Check instance-index before accessing array Ouch! src/fcfreetype.c | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) commit b6440cbd7fbf965c8f70783bbdc93d592ac12b4e Author: Behdad Esfahbod Date: Tue Sep 12 19:18:59 2017 -0400 In FcSubstituteDefault(), handle size range Takes the midpoint... src/fcdefault.c | 9 ++++++++- 1 file changed, 8 insertions(+), 1 deletion(-) commit b4813436a3bea1945f44f3bf75a4eb02de8d0303 Author: Behdad Esfahbod Date: Tue Sep 12 19:08:36 2017 -0400 Rewrite FcCompareRange() Much simpler now. src/fcmatch.c | 39 ++++++++++++++++++++------------------- 1 file changed, 20 insertions(+), 19 deletions(-) commit e7a0a0a99938deb798c007343f01fb751bc9cd3b Author: Behdad Esfahbod Date: Tue Sep 12 18:55:03 2017 -0400 Rename FcCompareSizeRange() to FcCompareRange() src/fcmatch.c | 4 ++-- src/fcobjs.h | 2 +- 2 files changed, 3 insertions(+), 3 deletions(-) commit 7519c567e13f476c64fe1938fedd0033e7e70833 Author: Behdad Esfahbod Date: Tue Sep 12 18:52:49 2017 -0400 Remove FcCompareSize() Use FcCompareNumber(). The FcCompareSize() returns 0 ("perfect match") if v2 is zero. I cannot think of a use-case for this. The code has been there from initial commit in 2002. I suppose back then Keith had a use for size=0 to mean scalable or something. Anyway, remove and see. src/fcmatch.c | 34 ---------------------------------- src/fcobjs.h | 2 +- 2 files changed, 1 insertion(+), 35 deletions(-) commit 6eb7e5ae811cabbbd3476f8fc392f119a3d7cec5 Author: Behdad Esfahbod Date: Tue Sep 12 18:00:43 2017 -0400 Accept NULL in for spacing in FcFreeTypeCharSetAndSpacing() src/fcfreetype.c | 29 ++++++++++++++++------------- 1 file changed, 16 insertions(+), 13 deletions(-) commit 0757556ddfdce26e73df12459068464224116150 Author: Behdad Esfahbod Date: Wed Sep 20 13:07:02 2017 -0700 Document FcFreeTypeQueryAll() doc/fcfreetype.fncs | 31 +++++++++++++++++++++++++++++-- 1 file changed, 29 insertions(+), 2 deletions(-) commit 2084b76bea78f9a41349de57d76134efd5174d96 Author: Florian Müllner Date: Fri Sep 15 22:52:52 2017 +0200 build: Remove references to deleted file Commit cc67d7df17 removed 30-urw-aliases.conf, so don't try to install it. conf.d/Makefile.am | 2 -- 1 file changed, 2 deletions(-) commit cc67d7df172431cb345ed42c27eb852e2ee65ae2 Author: David Kaspar [Dee'Kej] Date: Fri Sep 1 11:05:16 2017 +0200 conf.d: Drop aliases for (URW)++ fonts They have become a part of (URW)++ upstream release now: https://github.com/ArtifexSoftware/urw-base35-fonts/tree/master/fontconfig conf.d/30-metric-aliases.conf | 29 +++-------------------------- conf.d/30-urw-aliases.conf | 33 --------------------------------- 2 files changed, 3 insertions(+), 59 deletions(-) commit 7e74366f56508d0f312c2f51f3e9fdccae7d0104 Author: Akira TAGOH Date: Thu Sep 14 12:25:22 2017 +0900 und_zsye.orth: polish to get for NotoEmoji-Regular.ttf fc-lang/und_zsye.orth | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) commit 27a6a299e0fefca9c244213784d3c78b34281cd5 Author: Behdad Esfahbod Date: Tue Sep 12 16:43:33 2017 -0400 Add FcFreeTypeQueryAll() Like FcFreeTypeQuery(), but adds patterns for all fonts found, including named instances of variable fonts. If id is -1, then all collection faces are queried. Returns number of fonts added. This merges the same face loop that was in fc-query. and fcdir.c. Needs documentation update. fc-query/Makefile.am | 2 +- fc-query/fc-query.c | 88 +++++++++++++++---------------------------------- fc-scan/fc-scan.c | 4 +-- fontconfig/fontconfig.h | 3 ++ src/fcdir.c | 86 +++++++++++------------------------------------ src/fcfreetype.c | 64 ++++++++++++++++++++++++++++++++++- 6 files changed, 114 insertions(+), 133 deletions(-) commit c524522bb45f71dfeaa8fd1ec277537dd6e85afa Merge: 339de16 8b46a51 Author: Behdad Esfahbod Date: Tue Sep 12 17:10:03 2017 -0400 Merge branch 'faster' Results in 5x to 10x speedup in scanning. Fixes https://bugs.freedesktop.org/show_bug.cgi?id=64766 commit 8b46a518bda8ecb3c5e2dfb0c1e5fda99e40aa3e Author: Behdad Esfahbod Date: Tue Sep 12 17:08:08 2017 -0400 Update documentation for removal of blanks Patch from Jerry Casiano. doc/fcblanks.fncs | 14 ++++++++------ doc/fcconfig.fncs | 7 ++----- doc/fcfreetype.fncs | 17 +++++++++-------- doc/fontconfig-devel.sgml | 10 ++++++++++ 4 files changed, 29 insertions(+), 19 deletions(-) commit a8bbbfb601b6d0394525262c543a18bd7699b684 Author: Behdad Esfahbod Date: Fri Aug 4 18:30:43 2017 +0100 Minor src/fcfreetype.c | 21 ++++++++++----------- 1 file changed, 10 insertions(+), 11 deletions(-) commit 60b2cf8e4cf5036442c345c90fcf43f548d11d28 Author: Behdad Esfahbod Date: Fri Aug 4 17:40:06 2017 +0100 Call FT_Get_Advance() only as long as we need to determine font width type src/fcfreetype.c | 23 ++++++++++++----------- 1 file changed, 12 insertions(+), 11 deletions(-) commit ad0a82b8f85535862ba816d469059884564e5c58 Author: Behdad Esfahbod Date: Fri Aug 4 17:19:42 2017 +0100 Inline FcFreeTypeCheckGlyph() src/fcfreetype.c | 64 +++++++++++++++++++++++++------------------------------- 1 file changed, 28 insertions(+), 36 deletions(-) commit 1af7518583196dc0638ef80ff204936c54f19619 Author: Behdad Esfahbod Date: Fri Aug 4 17:15:07 2017 +0100 Simplify advance-width calculations src/fcfreetype.c | 34 +++++++++++++--------------------- 1 file changed, 13 insertions(+), 21 deletions(-) commit 6f98286e15a91bf8d76eb2c09f1edf3f1fedc633 Author: Behdad Esfahbod Date: Fri Aug 4 17:07:23 2017 +0100 Use inline functions instead of macros for a couple of things src/fcfreetype.c | 11 +++++++---- src/fcint.h | 1 - 2 files changed, 7 insertions(+), 5 deletions(-) commit 15eba74ffe85d13ecafd032fe44bbabe26670f8c Author: Behdad Esfahbod Date: Fri Aug 4 17:01:56 2017 +0100 Use multiplication instead of division src/fcfreetype.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) commit ac802955cd26ba9175b5be36ca653c0904c9723a Author: Behdad Esfahbod Date: Fri Aug 4 16:40:40 2017 +0100 Remove unneeded check FcFreeTypeCheckGlyph() has only one call-site left, and that checks for glyph != 0 already. src/fcfreetype.c | 6 +----- 1 file changed, 1 insertion(+), 5 deletions(-) commit d7f5332410af2dff387dec9597c4c71ae729747b Author: Behdad Esfahbod Date: Fri Aug 4 16:39:29 2017 +0100 Move variables to narrower scope and indent src/fcfreetype.c | 118 +++++++++++++++++++++++++++---------------------------- 1 file changed, 58 insertions(+), 60 deletions(-) commit 894e5675c89cd081dcacbb6c3a0d8b81424c4ad6 Author: Behdad Esfahbod Date: Fri Aug 4 16:36:12 2017 +0100 Mark more parameters FC_UNUSED src/fccfg.c | 12 ++++++------ src/fcfreetype.c | 6 +++--- 2 files changed, 9 insertions(+), 9 deletions(-) commit f5bea1e6021bfa7d454ea774fd163039ad2c7650 Author: Behdad Esfahbod Date: Fri Aug 4 16:33:53 2017 +0100 Remove blanks support from fc-scan fc-scan/fc-scan.c | 18 ++++-------------- fc-scan/fc-scan.sgml | 14 +------------- 2 files changed, 5 insertions(+), 27 deletions(-) commit 8f4c4d278d013f6cc69ba7d7bf0f8aed11398dfb Author: Behdad Esfahbod Date: Fri Aug 4 16:31:52 2017 +0100 Remove blanks facility from the library XML parser does not accept it anymore either. Makefile.am | 2 +- configure.ac | 1 - fc-blanks/Makefile.am | 46 ------------ fc-blanks/fc-blanks.py | 160 ----------------------------------------- fc-blanks/fcblanks.tmpl.h | 25 ------- fc-blanks/list-unicodeset.html | 119 ------------------------------ src/Makefile.am | 1 - src/fcblanks.c | 108 ---------------------------- src/fccfg.c | 65 +++++++++-------- src/fcdir.c | 28 +++----- src/fcint.h | 15 ---- src/fcxml.c | 54 -------------- 12 files changed, 46 insertions(+), 578 deletions(-) commit 3bd4dd27bd673950e47ccdfd58b798abc580b6a0 Author: Behdad Esfahbod Date: Fri Aug 4 16:17:17 2017 +0100 Remove fc-glyphname Makefile.am | 2 +- configure.ac | 1 - fc-glyphname/Makefile.am | 33 ---- fc-glyphname/fc-glyphname.c | 325 ---------------------------------------- fc-glyphname/fcglyphname.tmpl.h | 25 ---- fc-glyphname/zapfdingbats.txt | 212 -------------------------- src/Makefile.am | 3 - 7 files changed, 1 insertion(+), 600 deletions(-) commit c7ef8808c441c89fe16183fbfdca291f50fc3ec1 Author: Behdad Esfahbod Date: Fri Aug 4 15:17:34 2017 +0100 Remove unused variable src/fcfreetype.c | 7 ------- 1 file changed, 7 deletions(-) commit 16d779115982012db0c93d8c4c735a9fb7a57dfb Author: Behdad Esfahbod Date: Fri Aug 4 15:13:34 2017 +0100 Remove use of psnames for charset construction This is ancient. No font we care baout uses them. Kill. This also makes fc-glyphname machinery obsolete. Should be removed. src/fcfreetype.c | 179 ------------------------------------------------------- 1 file changed, 179 deletions(-) commit 82d6286657dc12ce42a9c67cae1546543e44f89e Author: Behdad Esfahbod Date: Fri Aug 4 15:03:57 2017 +0100 Remove check that cannot fail src/fcfreetype.c | 18 ------------------ 1 file changed, 18 deletions(-) commit f309819d77bffaf802bdd9cd227c2a5bcbda0334 Author: Behdad Esfahbod Date: Fri Aug 4 15:00:55 2017 +0100 Remove a few unused blanks parameters The entire blanks thingy is now unused. We should remove more of it. src/fcfreetype.c | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) commit e517886dedb4013951325a6b8670c39c2c69c837 Author: Behdad Esfahbod Date: Fri Aug 4 14:59:26 2017 +0100 Remove unnecessary check Argument advance is never set to NULL coming into this function. src/fcfreetype.c | 7 ++----- 1 file changed, 2 insertions(+), 5 deletions(-) commit 5f6c0594f97f53e9b0be8341c790bd97023ef443 Author: Behdad Esfahbod Date: Fri Aug 4 14:57:03 2017 +0100 Minor: adjust debug output Ignore control chars for purpose of emptiness check. I *think* U+0000 and U+000D are rendered empty, but since they are not in blanks, for now just ignore them. src/fcfreetype.c | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) commit 659afb2987b5fdc202690678b563ef05acdb9686 Author: Behdad Esfahbod Date: Fri Aug 4 14:43:16 2017 +0100 Add back code for choosing strike, and cleanup The FT_Select_Size() call is important for bitmap-only fonts. Put it back. It was removed in e327c4e54544dac5415e8864e80d6b75a0c900fd Remove some unused abstractions. src/fcfreetype.c | 46 +++++++++++++++++++--------------------------- 1 file changed, 19 insertions(+), 27 deletions(-) commit cd4043da0dfd61da73473b2f00d5e3a78ad13bec Author: Behdad Esfahbod Date: Fri Aug 4 12:22:42 2017 +0100 Check for non-empty outline for U+0000..U+001F See comment for reason. src/fcfreetype.c | 12 ++++++++++++ 1 file changed, 12 insertions(+) commit 028b91c781681be077066f1f1e86386f3106792f Author: Behdad Esfahbod Date: Thu Aug 3 17:40:01 2017 +0100 Don't even check loca for glyph outline detection Basically we trust the font cmap table now... New numbers: behdad:src 0$ time fc-scan ~/fonts/ > after-noloca real 0m55.788s user 0m15.836s sys 0m17.008s behdad:src 0$ behdad:src 0$ time fc-scan ~/fonts/ > after-noloca real 0m24.794s user 0m12.164s sys 0m12.420s Before this change it was: behdad:src 130$ time fc-scan ~/fonts/ > after real 0m24.825s user 0m12.408s sys 0m11.356s Not any faster! I suppose most time is being spent in loading cmap and advances now. I'll see about loading hmtx ourselves. With I/O numbers. Before: behdad:src 0$ \time fc-scan ~/fonts/ > after 11.66user 12.17system 0:24.03elapsed 99%CPU (0avgtext+0avgdata 487684maxresident)k 2320inputs+50480outputs (21major+11468549minor)pagefaults 0swaps after: behdad:src 130$ \time fc-scan ~/fonts/ > after-noloca 11.94user 11.99system 0:24.11elapsed 99%CPU (0avgtext+0avgdata 487704maxresident)k 16inputs+50688outputs (0major+11464386minor)pagefaults 0swaps We are definitely doing a lot less I/O. Surprisingly less in fact. I don't get it. src/fcfreetype.c | 109 ++++--------------------------------------------------- 1 file changed, 7 insertions(+), 102 deletions(-) commit ab02a49490ec0b0c8fc8f73ee5b4198a174b456d Author: Behdad Esfahbod Date: Thu Aug 3 16:49:49 2017 +0100 Instead of loading glyphs (with FreeType), just check loca table Part of https://bugs.freedesktop.org/show_bug.cgi?id=64766#c47 This is the approach introduced in https://bugs.freedesktop.org/show_bug.cgi?id=64766#c30 Testing it with 11GB worth of stuff, before/after: behdad:src 130$ time fc-scan ~/fonts/ > before real 2m18.428s user 1m17.008s sys 0m20.576s behdad:src 0$ time fc-scan ~/fonts/ > after real 1m12.130s user 0m18.180s sys 0m19.952s Running the after case a second time is significantly faster: behdad:src 130$ time fc-scan ~/fonts/ > after real 0m24.825s user 0m12.408s sys 0m11.356s Next I'm going to try to not even read loca... src/fcfreetype.c | 167 ++++++++++++++++++++++++++++++++++++------------------- 1 file changed, 111 insertions(+), 56 deletions(-) commit 339de167c71264c18775d96160d1504192a89d11 Author: Behdad Esfahbod Date: Tue Sep 12 17:01:57 2017 -0400 [fc-query] Fix linking order fc-query/Makefile.am | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) commit b56207a069be2574df455ede0a6ab61f44d5ca2b Author: Behdad Esfahbod Date: Tue Sep 12 13:25:46 2017 -0400 Remove stray printf() Ouch. fc-query/fc-query.c | 1 - 1 file changed, 1 deletion(-) commit 6fb9b8fe49a2862cccdd25c278f437a620aaac5d Author: Behdad Esfahbod Date: Tue Sep 12 11:42:18 2017 -0400 Minor src/fcfreetype.c | 5 +---- 1 file changed, 1 insertion(+), 4 deletions(-)