Log

Author Commit Date CI Message
Qunxin Liu f3a3c3b2 2023-05-04T13:19:12 fix bot
Qunxin Liu efc77dc6 2023-05-04T10:59:09 [instancer] update code for collecting FeatureVariationRecord
Qunxin Liu 51c7451b 2023-05-01T13:38:02 [instancer] update fvar table to accept Tripe for axes positions
Qunxin Liu 0799afe2 2023-04-20T14:02:20 [instancer] Add hb_subset_input_set_axis_range() API
Qunxin Liu bf46d566 2023-05-01T11:23:51 [instancer] update STAT table to accept Triples for axes positions
Qunxin Liu bf298e50 2023-05-01T13:40:19 [instancer ]update OS_2/post/glyf tables to accept Triple for axes positions
Qunxin Liu 779e8ba0 2023-04-27T13:48:24 [instancer] update subset-plan.cc to accept Triple as axes positions
Qunxin Liu 22cca43d 2023-04-20T14:37:29 [instancer ]update internal hashmap to use Triple instead of single value -Added hb-subset-instancer-solver.hh file and moved Triple struct to the head file
Behdad Esfahbod 5d543d64 2023-05-09T19:02:26 Merge pull request #4228 from harfbuzz/better-hash Better hash
Behdad Esfahbod 5d0cc006 2023-05-09T18:40:35 [hash] Disable int hash as it has negative performance gain
Behdad Esfahbod 1fbb0858 2023-05-09T17:11:05 [hash] Adjust prime number Previous one wasn't a prime. Ouch!
Behdad Esfahbod 9cc7eb80 2023-05-09T16:13:46 [hash] Speed-up int64 hash
Khaled Hosny 4584bcdc 2023-05-10T00:20:25 7.3.0
Behdad Esfahbod 826fe2c9 2023-05-09T13:48:38 [hash] Wrap specialization in HB_OPTIMIZE_SIZE_MORE
Behdad Esfahbod b2b15fa3 2023-05-09T13:39:52 [hash] Links
Behdad Esfahbod 05567da0 2023-05-09T12:22:43 Revert "[hash] Use fasthash for integer hash" This reverts commit 3bf758a57071572a0ffae3c359b4cfec5a096312. This was resulting in long chains again :(.
Behdad Esfahbod bdaa74d2 2023-05-09T11:58:35 [hash] Use fasthash for integer hash This seems to speed things up surprisingly.
Behdad Esfahbod a58bbe54 2023-05-09T12:06:35 [set] Use better hash
Behdad Esfahbod fe3339ea 2023-05-09T11:31:06 [algs] Add hash for 64bit ints
Behdad Esfahbod 33ef96b6 2023-05-09T11:13:51 [glyf] Micro-optimize a few hash operations
Behdad Esfahbod abb92388 2023-05-09T10:54:54 Revert "[map] Adjust resizing criteria" This reverts commit 1fa4b415315257bdbae08e6539f2ca63423572e8.
Behdad Esfahbod 1fa4b415 2023-05-09T10:52:58 [map] Adjust resizing criteria
Behdad Esfahbod f04d08b8 2023-05-09T02:14:30 [fasthash] Remove GNU extension
Behdad Esfahbod 99f5050c 2023-05-09T02:07:54 [algs] Remove HB_NO_PACKED We depend on packed attribute in fasthash now.
Behdad Esfahbod da619c69 2023-05-09T02:06:37 [fasthash] Try to fix unaligned access
Behdad Esfahbod 075ecff7 2023-05-09T01:43:39 [hash] Work around g++ bug?! I kid you not. Revert this and see src/test-map loop forever eating your memory freezing your maching. In this loop: { hb_hashmap_t<int, int> m0; hb_hashmap_t<std::string, int> m1; hb_hashmap_t<int, std::string> m2; hb_hashmap_t<std::string, std::string> m3; std::string s; for (unsigned i = 1; i < 1000; i++) { s += "x"; m0.set (i, i); m1.set (s, i); m2.set (i, s); m3.set (s, s); } } i will not stop at 1000 and just keeps going. If you figure out what's going on, please enlighten me!
Behdad Esfahbod 9fbab46f 2023-05-09T01:42:44 [cairo] Fix a clang warning
Behdad Esfahbod e2fd49ff 2023-05-08T23:37:47 [hash] Comment
Behdad Esfahbod fa64e42d 2023-05-08T23:31:52 [algs] Adjust int hash
Behdad Esfahbod 078b2a51 2023-05-08T22:28:48 [hash] Use a Mersenne prime for int hash And hope that compiler optimizes to int ops instead of modula. Improves chaining it seems. Part of https://github.com/harfbuzz/harfbuzz/pull/4228
Behdad Esfahbod fe0f7dc5 2023-05-08T22:19:02 [bytes] Use fasthash as hash algorithm Part of https://github.com/harfbuzz/harfbuzz/pull/4228
Rod S 4bbcff2c 2023-05-08T20:29:35 Help noobs who don't know their segment properties
Behdad Esfahbod c005e3a2 2023-05-08T16:33:31 [bytes] Simplify hash function Part of https://github.com/harfbuzz/harfbuzz/issues/4227
Behdad Esfahbod 0e026808 2023-05-08T16:31:58 [hash] Add hash impl for integers Part of https://github.com/harfbuzz/harfbuzz/issues/4227
Behdad Esfahbod b7a8d23b 2023-05-08T14:32:24 [map] Micro-optimize for hb_map_t
Behdad Esfahbod 2f05c32c 2023-05-08T14:29:07 [Coverage] Minor access arrayZ directly in a couple places
Behdad Esfahbod c0e6a96a 2023-05-08T14:02:55 [bit-set] Minor access an array directly
Behdad Esfahbod f4d3b49e 2023-05-08T13:59:48 [set] Micro-optimize iteration
Behdad Esfahbod 3416086d 2023-05-08T13:39:48 [set] Optimize is_subset()
Behdad Esfahbod 45afbdff 2023-05-08T11:19:55 [array] Add a const to a cast
Behdad Esfahbod 4ad443d5 2023-05-08T10:14:43 [Coverage/ClassDef] Don't call qsort if sorted already
Behdad Esfahbod 3c2a925b 2023-05-08T09:43:01 [graph] Micro-optimize
Behdad Esfahbod 62bc2841 2023-05-08T09:12:34 Merge pull request #4221 from googlefonts/user_glyph_map [subset] Add API method to allow a custom glyph map to be specified.
Khaled Hosny b6516f3b 2023-05-08T15:31:24 [cff] Fix the case of HB_OT_TAG_cff(1|2) macros Should be upper case like other HB_OT_TAG_* macros of upper case tables.
Behdad Esfahbod 8df5cdbc 2023-05-07T15:49:50 [Coverage/ClassDef] Handle glyphID overflow in serialize
Behdad Esfahbod 6d7de2f8 2023-05-07T15:23:05 [array] Implement FNV-1a hash function
Behdad Esfahbod ebdeab8b 2023-05-07T14:18:36 [array] Improve hash function Previously all arrays of 0 bytes were getting same hash.
Behdad Esfahbod f772071f 2023-05-07T13:42:00 [subset-plan] Another error check
Behdad Esfahbod 5ec0ccad 2023-05-06T13:36:39 Undef a macro after use
denis rochette 4bb78e35 2023-05-06T16:27:46 Typo in the documentation of hb-ot-math
Behdad Esfahbod 86658df5 2023-05-05T16:10:46 [ClassDef] Fix a fuzzer issue Don't qsort an array that failed to allocate! Fixes https://oss-fuzz.com/testcase-detail/6512559172485120
Behdad Esfahbod cda646a5 2023-05-05T15:57:13 [subset-plan] Check success of all object members
Behdad Esfahbod 5f5660fc 2023-05-05T15:52:17 [subset] In glyf-closure always add current glyph Bad things can happen otherwise if one composite glyph depleted the op count.
Behdad Esfahbod 5468b08c 2023-05-05T15:49:38 [subset-plan] Move all object members to a new file To automatically check for their errors.
Behdad Esfahbod 71910fdf 2023-05-05T15:37:07 [Coverage] Remove unnecessary check
Behdad Esfahbod ee9b631d 2023-05-05T10:26:57 [SingleSubst] Fix condition to upgrade to beyond-64k
Garret Rieger 8eb9f312 2023-05-05T15:56:50 [subset] s/Since/XSince/.
Behdad Esfahbod 5d4f3ff6 2023-05-05T07:10:02 [TINY] Fix build
Behdad Esfahbod 7e676cb4 2023-05-05T07:07:00 [config] Add HB_NO_OT_FONT_ADVANCE_CACHE Part of https://github.com/harfbuzz/harfbuzz/issues/4220
Behdad Esfahbod 8831ba7f 2023-05-05T07:03:25 [config] Add HB_NO_OT_FONT_CMAP_CACHE Part of https://github.com/harfbuzz/harfbuzz/issues/4220
Behdad Esfahbod 0e9ebf10 2023-05-05T06:57:51 [config] Add HB_OPTIMIZE_SIZE_MORE and enable in HB_TINY Part of https://github.com/harfbuzz/harfbuzz/issues/4220
Behdad Esfahbod da175c69 2023-05-05T06:51:59 [config] Add HB_MINIMIZE_MEMORY_USAGE Part of https://github.com/harfbuzz/harfbuzz/issues/4220
Behdad Esfahbod bbf4cfa3 2023-05-05T06:51:10 [config] Add missing HB_NO_BORING_EXPANSION options Those others are only HB_EXPERIMENTAL_API anyway, but still.
Garret Rieger d339298f 2023-05-05T06:00:30 [subset] fix hb_subset_input_old_to_new_gid_mapping method comment.
Garret Rieger 374a9a9f 2023-05-05T05:58:15 [subset] restore accidentally removed function doc.
Garret Rieger 3021b2db 2023-05-05T05:57:05 [subset] change glyph mapping api to return a mutable map. Maintains consistency with our other set based api methods.
Garret Rieger d4c13225 2023-05-04T23:04:35 [subset] Add new glyph map method to docs.
Garret Rieger 77a81554 2023-05-04T23:01:56 [subset] Add some basic tests for a provided glyph map.
Behdad Esfahbod 31949636 2023-05-04T16:29:48 Revert "[layout] Cache subtable coverages in hb_map_t" This reverts commit 7a715d74e06720c17d28ba7b4c3da0b583f8d1d3.
Behdad Esfahbod 7a715d74 2023-05-04T16:28:11 [layout] Cache subtable coverages in hb_map_t Proof-of-concept. Going to revert. Memory consumption is more than I like. It does speed up Roboto shaping another 15% though. Perhaps if we could add logic to choose which subtables to cache, this might be a useful approach.
Garret Rieger 98e73192 2023-05-04T22:20:06 [subset] Add command line flag to provide a gid mapping.
Behdad Esfahbod 975980d3 2023-05-04T15:56:06 [gsubgpos] Add apply_cached() as separate method In prep for some other work.
Garret Rieger 779e8297 2023-05-04T19:31:23 [subset] fix requested_glyph_map presence check.
Garret Rieger e14020b2 2023-05-04T19:24:01 [subset] remove return value from mapping setting function.
Garret Rieger 68266347 2023-05-04T19:18:54 [subset] apply the user supplied glyph map.
Garret Rieger e711e305 2023-05-04T18:47:55 [subset] Add new subsetting API method to receive a user specified glyph mapping.
Behdad Esfahbod 1be39729 2023-05-04T13:18:34 [subset] Support unordered glyphlist in Coverage/ClassDef serialize
Behdad Esfahbod a10fad7c 2023-05-04T11:32:07 [config] Add HB_NO_GDEF_CACHE
Behdad Esfahbod e138319f 2023-05-04T11:28:50 [config] Allow overriding HB_OPTIMIZE_SIZE
Behdad Esfahbod 319a488b 2023-05-04T10:36:48 [GDEF] Fix null check Fixes https://oss-fuzz.com/testcase-detail/5920994267889664
Behdad Esfahbod 3f2401e2 2023-05-03T16:56:52 [layout] Don't init iters successively multiple times
Behdad Esfahbod 959f1634 2023-05-03T16:27:41 [gsubgpos] Minor reduce variable scope
Behdad Esfahbod fb795dc3 2023-05-03T15:17:20 [GPOS] Optimize iterator reset Speeds up Gulzar shaping 5%.
Behdad Esfahbod 0c1637b6 2023-05-03T15:04:57 [aat] Fix HB_NO_OT_LAYOUT build
Behdad Esfahbod 8a8fc37c 2023-05-03T14:57:00 [GDEF] Use a cache for glyph classes Shows 5% speedup for Roboto shaping.
Behdad Esfahbod 323a1fe4 2023-05-03T13:52:43 [PairPos] Fix what I broke
Behdad Esfahbod a6f5f0dc 2023-05-03T13:45:39 [PairSet] Micro-optimize
Behdad Esfahbod 4e495eb0 2023-05-03T13:40:46 [PairPos] Add an unlikely
Behdad Esfahbod 5528bdd4 2023-05-03T13:35:10 [PairPos] Remove a likely
Behdad Esfahbod ae0fe02d 2023-05-03T13:24:08 [Ligature] Use slow path if 2 or fewer ligatures
Behdad Esfahbod ddd6c2e7 2023-05-03T13:16:39 [Ligature] Micro-optimize more
Behdad Esfahbod 045ae4b0 2023-05-03T13:08:43 [GPOS] Micro-optimize
Behdad Esfahbod 0fe90ebc 2023-05-03T12:49:31 [Ligature] Micro-optimize
Behdad Esfahbod 51061d28 2023-05-03T12:46:04 [Ligature] Minor tweak to recent code
Behdad Esfahbod 7881eadf 2023-05-02T14:56:18 [Ligature] Speed up Match the first component of the ligature in the LigatureSet loop. Speeds up Roboto shaping by 25%. I don't think it breaks anything. The test suite seems happy.
Behdad Esfahbod 95f15557 2023-05-02T16:37:31 [PairPosFormat2] Micro-optimize and don't kern if class2=0 If class2=0 we expect no kerning to happen. Just bail out.
Behdad Esfahbod 59967154 2023-05-02T15:52:43 [PairPos2] Micro-optimize
Behdad Esfahbod 49ac5e11 2023-05-02T12:12:26 [match_input] Micro-optimize
Behdad Esfahbod 7e7f1d04 2023-05-02T12:06:00 Drop a pair of parantheses from likely/unlikely Such that "if likely(...)" wouldn't compile.
Behdad Esfahbod db730f46 2023-05-02T11:55:10 Simplify likely/unlikely This surprisingly saves bytes and speeds up.