Commit graph

16265 commits

Author SHA1 Message Date
Behdad Esfahbod
132391ad62 [layout] Add test for font_extents 2023-05-19 16:10:21 -06:00
Behdad Esfahbod
6996e64f72 [BASE] Sanitize and get_min_max fixups
Seems to work now.
2023-05-19 14:22:13 -06:00
Behdad Esfahbod
02e0e9394b [layout] Fetch default font extents if localized extents not found 2023-05-19 13:18:06 -06:00
Behdad Esfahbod
8ccc1ff21e [layout] Mark language as nullable
GI needs it apparently.
2023-05-19 13:15:58 -06:00
Behdad Esfahbod
792ca22ca3 [layout] Document new API 2023-05-19 11:42:20 -06:00
Behdad Esfahbod
0894813a38 [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
2023-05-19 11:35:33 -06:00
Behdad Esfahbod
3e110c69c4 [layout] Add hb_ot_layout_get_font_extents()
Untested.

Fixes https://github.com/harfbuzz/harfbuzz/issues/3290
2023-05-19 11:06:26 -06:00
Simon Cozens
134cc8edfa [wasm] [docs] How to build 2023-05-17 16:58:49 +01:00
Behdad Esfahbod
5543d05885
[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>
2023-05-17 09:29:44 -06:00
Behdad Esfahbod
ccfd7ef08c
Merge pull request #4131 from harfbuzz/wasm
[wasm] WebAssembly shaper
2023-05-17 16:00:33 +02:00
Behdad Esfahbod
6ed792ef4b [meson] Report WebAssembly build 2023-05-17 07:58:27 -06:00
Simon Cozens
56af88d048 [wasm] More thorough API docs 2023-05-17 14:32:17 +01:00
Behdad Esfahbod
c248fd9133 [hash] Comment 2023-05-16 10:12:02 +02:00
Behdad Esfahbod
42f4dab8db [hash] Switch to Knuth multiplicative hash
Wow, the old adhoc one was why the cmap test was timing out!
2023-05-16 10:12:02 +02:00
Behdad Esfahbod
0270e3e974 [map] Reinstate quadratic probing 2023-05-16 10:12:02 +02:00
Behdad Esfahbod
19b628bdf0 Revert "[map] Implement Robinhood hashing"
This reverts commit 7056178568.
2023-05-16 10:12:02 +02:00
Behdad Esfahbod
18c3ba5018 [map] Implement Robinhood hashing
Numbers are not improved though. :(
2023-05-16 10:12:02 +02:00
Behdad Esfahbod
2133aa2407 [map] Inline code for set() 2023-05-16 10:12:02 +02:00
Behdad Esfahbod
5bf5188ea2 [map] Simplify del() 2023-05-16 10:12:02 +02:00
Behdad Esfahbod
2ffec3a6f4 [map] Shuffle fetch_item 2023-05-16 10:12:02 +02:00
Behdad Esfahbod
1dc99128b9 [map] Separate has() code from set() code 2023-05-16 10:12:02 +02:00
Behdad Esfahbod
2dd0803c85 [map] Downgrade from quadratic to linear probing 2023-05-16 10:12:02 +02:00
Behdad Esfahbod
498197671a [map] Write get() in terms of has() 2023-05-16 10:12:02 +02:00
Qunxin Liu
f37941bb52 [instancer] add tests for instancer-solver from python test suite
Also fix bug in the solver code
2023-05-15 14:41:57 -06:00
Qunxin Liu
39ac79a7f5 address review comments 2023-05-12 11:09:04 -06:00
Qunxin Liu
58f68dd37a [instancer] wrap hb_subset_input_Set_axis_range() under experimental
Also add notes: it's not actually working yet.
2023-05-12 11:09:04 -06:00
Qunxin Liu
f3a3c3b29d fix bot 2023-05-12 11:09:04 -06:00
Qunxin Liu
efc77dc68f [instancer] update code for collecting FeatureVariationRecord 2023-05-12 11:09:04 -06:00
Qunxin Liu
bf298e5050 [instancer ]update OS_2/post/glyf tables to accept Triple for axes positions 2023-05-12 11:09:04 -06:00
Qunxin Liu
51c7451bb5 [instancer] update fvar table to accept Tripe for axes positions 2023-05-12 11:09:04 -06:00
Qunxin Liu
bf46d566f9 [instancer] update STAT table to accept Triples for axes positions 2023-05-12 11:09:04 -06:00
Qunxin Liu
779e8ba080 [instancer] update subset-plan.cc to accept Triple as axes positions 2023-05-12 11:09:04 -06:00
Qunxin Liu
22cca43ded [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
2023-05-12 11:09:04 -06:00
Qunxin Liu
0799afe2b6 [instancer] Add hb_subset_input_set_axis_range() API 2023-05-12 11:09:04 -06:00
Behdad Esfahbod
5d543d6422
Merge pull request #4228 from harfbuzz/better-hash
Better hash
2023-05-09 19:02:26 -06:00
Behdad Esfahbod
5d0cc0062a [hash] Disable int hash as it has negative performance gain 2023-05-09 18:40:35 -06:00
Behdad Esfahbod
1fbb08584b [hash] Adjust prime number
Previous one wasn't a prime. Ouch!
2023-05-09 17:11:05 -06:00
Behdad Esfahbod
9cc7eb80ff [hash] Speed-up int64 hash 2023-05-09 16:13:46 -06:00
Khaled Hosny
4584bcdc32 7.3.0 2023-05-10 00:20:25 +03:00
Behdad Esfahbod
826fe2c9f7 [hash] Wrap specialization in HB_OPTIMIZE_SIZE_MORE 2023-05-09 13:48:38 -06:00
Behdad Esfahbod
b2b15fa30a [hash] Links 2023-05-09 13:39:52 -06:00
Behdad Esfahbod
05567da082 Revert "[hash] Use fasthash for integer hash"
This reverts commit 3bf758a57071572a0ffae3c359b4cfec5a096312.

This was resulting in long chains again :(.
2023-05-09 12:49:37 -06:00
Behdad Esfahbod
bdaa74d25f [hash] Use fasthash for integer hash
This seems to speed things up surprisingly.
2023-05-09 12:49:37 -06:00
Behdad Esfahbod
a58bbe5408 [set] Use better hash 2023-05-09 12:49:36 -06:00
Behdad Esfahbod
fe3339ea24 [algs] Add hash for 64bit ints 2023-05-09 11:31:06 -06:00
Behdad Esfahbod
33ef96b649 [glyf] Micro-optimize a few hash operations 2023-05-09 11:13:51 -06:00
Behdad Esfahbod
abb92388cc Revert "[map] Adjust resizing criteria"
This reverts commit 1fa4b41531.
2023-05-09 10:54:54 -06:00
Behdad Esfahbod
1fa4b41531 [map] Adjust resizing criteria 2023-05-09 10:52:58 -06:00
Behdad Esfahbod
f04d08b883 [fasthash] Remove GNU extension 2023-05-09 02:14:30 -06:00
Behdad Esfahbod
99f5050ccd [algs] Remove HB_NO_PACKED
We depend on packed attribute in fasthash now.
2023-05-09 02:07:54 -06:00