Log

Author Commit Date CI Message
Behdad Esfahbod 56668073 2023-05-27T12:37:36 [benchmark-map] Improve Insert benchmark Previously it was enlarging the map depending on whatever number of runs the benchmark-runner decided to run the loop. That wasn't very useful...
Behdad Esfahbod 00900f76 2023-05-27T10:13:53 [hash] Enable better hash for integers https://github.com/harfbuzz/harfbuzz/pull/4228#issuecomment-1565079537
Garret Rieger 20c564bc 2023-05-26T23:04:25 [repacker] Fix fuzzer memory leak. https://oss-fuzz.com/testcase-detail/6419865171525632
Behdad Esfahbod 5abe7132 2023-05-26T15:56:30 [map] Resize map on long chain probes
Garret Rieger a652281e 2023-05-26T19:47:50 [subset] Fix fuzzer timeout. Fixes https://oss-fuzz.com/testcase-detail/5979721620652032. Timeout was caused by degenerate map insert behaviour due to poor integer hash function. Presize the map to avoid it. Also fixes collect_mapping() for cmap format 13.
Behdad Esfahbod 208c9490 2023-05-26T12:02:03 [VarComposite] Limit number of axes that are copied Bandaid for https://oss-fuzz.com/testcase-detail/4591122882887680
Behdad Esfahbod 5872bdf6 2023-05-26T11:41:54 [vector] Add copy-constructor for array_t's
Chun-wei Fan 42aba5ff 2023-05-24T12:19:50 harfbuzz-config.cmake.in: Support Windows usage Apply the appropriate library prefix/suffix by whether we are building as a statib build in Meson, or by using ${CMAKE_[SHARED|IMPORT]_LIBRARY_PREFIX} and ${CMAKE_[SHARED|IMPORT]_LIRBARY_SUFFIX} as appropriate according to the target platform for shared builds.
Behdad Esfahbod 84354d3f 2023-05-23T11:57:22 [cff] When max-ops is reached return false Slight speedup too.
Behdad Esfahbod 2655b760 2023-05-23T10:57:58 [map] Micro-optimize This shows a speedup.
Behdad Esfahbod 12b0680e 2023-05-23T10:49:41 [map] Fix set() This was broken in 2133aa2407657d0b3b4b73a4951c05ed26d055f2. We have to keep probing over tombstones.
Behdad Esfahbod 4056315c 2023-05-22T14:17:12 [font] Remove redundant avar mapping line The avar mapping happens in hb_ot_var_normalize_coords() call.
Behdad Esfahbod 592a3d0e 2023-05-21T22:00:53 Merge pull request #4237 from harfbuzz/layout-font-extents [layout] Add hb_ot_layout_get_font_extents()
Khaled Hosny 0d354e04 2023-05-21T19:01:04 [layout] Add tests for baseline 2 APIs
Behdad Esfahbod e047b1ab 2023-05-20T10:27:31 [layout] Improve docs
Behdad Esfahbod 132391ad 2023-05-19T15:01:49 [layout] Add test for font_extents
Behdad Esfahbod 6996e64f 2023-05-19T14:22:13 [BASE] Sanitize and get_min_max fixups Seems to work now.
Behdad Esfahbod 02e0e939 2023-05-19T13:18:06 [layout] Fetch default font extents if localized extents not found
Behdad Esfahbod 8ccc1ff2 2023-05-19T13:14:57 [layout] Mark language as nullable GI needs it apparently.
Behdad Esfahbod 792ca22c 2023-05-19T11:42:20 [layout] Document new API
Behdad Esfahbod 0894813a 2023-05-19T11:30:03 [layout] Add "2" version of BASE table API ...that do the script/language resolution. Part of https://github.com/harfbuzz/harfbuzz/pull/4237 Ref https://github.com/harfbuzz/harfbuzz/issues/3439
Behdad Esfahbod 3e110c69 2023-05-19T11:06:26 [layout] Add hb_ot_layout_get_font_extents() Untested. Fixes https://github.com/harfbuzz/harfbuzz/issues/3290
Simon Cozens 2f21dc23 2023-05-18T07:14:28 [wasm] [docs] Improve build flags information
Simon Cozens 134cc8ed 2023-05-17T16:58:49 [wasm] [docs] How to build
Behdad Esfahbod 5543d058 2023-05-17T17:29:44 [subset] Use vector instead of map for glyph bounds (#4232) * [subset] Use vector instead of map for glyph bounds Is faster. Part of https://github.com/harfbuzz/harfbuzz/issues/4231 * [subset] initialize bounds_vec value to 0xFFFFFFFF Some non-EMPTY glyph might have 0 bounds width/height --------- Co-authored-by: Qunxin Liu <qxliu@google.com>
Behdad Esfahbod ccfd7ef0 2023-05-17T16:00:33 Merge pull request #4131 from harfbuzz/wasm [wasm] WebAssembly shaper
Behdad Esfahbod 6ed792ef 2023-05-17T07:58:27 [meson] Report WebAssembly build
Simon Cozens 56af88d0 2023-05-17T12:38:59 [wasm] More thorough API docs
Behdad Esfahbod 19b628bd 2023-05-09T23:40:07 Revert "[map] Implement Robinhood hashing" This reverts commit 705617856818056a44a627f340c91e335c57f310.
Behdad Esfahbod 18c3ba50 2023-05-09T22:44:22 [map] Implement Robinhood hashing Numbers are not improved though. :(
Behdad Esfahbod 2133aa24 2023-05-09T21:06:17 [map] Inline code for set()
Behdad Esfahbod 5bf5188e 2023-05-09T20:47:46 [map] Simplify del()
Behdad Esfahbod 2ffec3a6 2023-05-09T20:44:23 [map] Shuffle fetch_item
Behdad Esfahbod 1dc99128 2023-05-09T20:37:12 [map] Separate has() code from set() code
Behdad Esfahbod 2dd0803c 2023-05-09T20:35:09 [map] Downgrade from quadratic to linear probing
Behdad Esfahbod 49819767 2023-05-09T20:24:12 [map] Write get() in terms of has()
Behdad Esfahbod c248fd91 2023-05-10T01:44:10 [hash] Comment
Behdad Esfahbod 42f4dab8 2023-05-10T01:11:32 [hash] Switch to Knuth multiplicative hash Wow, the old adhoc one was why the cmap test was timing out!
Behdad Esfahbod 0270e3e9 2023-05-09T23:46:18 [map] Reinstate quadratic probing
Qunxin Liu f37941bb 2023-05-09T11:53:15 [instancer] add tests for instancer-solver from python test suite Also fix bug in the solver code
Qunxin Liu 39ac79a7 2023-05-10T10:22:49 address review comments
Qunxin Liu 58f68dd3 2023-05-04T14:25:14 [instancer] wrap hb_subset_input_Set_axis_range() under experimental Also add notes: it's not actually working yet.
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 bf298e50 2023-05-01T13:40:19 [instancer ]update OS_2/post/glyf tables to accept Triple for axes positions
Qunxin Liu 51c7451b 2023-05-01T13:38:02 [instancer] update fvar table to accept Tripe for axes positions
Qunxin Liu bf46d566 2023-05-01T11:23:51 [instancer] update STAT table to accept Triples 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
Qunxin Liu 0799afe2 2023-04-20T14:02:20 [instancer] Add hb_subset_input_set_axis_range() API
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