Behdad Esfahbod
02e0e9394b
[layout] Fetch default font extents if localized extents not found
2 years ago
Behdad Esfahbod
8ccc1ff21e
[layout] Mark language as nullable
...
GI needs it apparently.
2 years ago
Behdad Esfahbod
792ca22ca3
[layout] Document new API
2 years ago
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
2 years ago
Behdad Esfahbod
3e110c69c4
[layout] Add hb_ot_layout_get_font_extents()
...
Untested.
Fixes https://github.com/harfbuzz/harfbuzz/issues/3290
2 years ago
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>
2 years ago
Behdad Esfahbod
c248fd9133
[hash] Comment
2 years ago
Behdad Esfahbod
42f4dab8db
[hash] Switch to Knuth multiplicative hash
...
Wow, the old adhoc one was why the cmap test was timing out!
2 years ago
Behdad Esfahbod
0270e3e974
[map] Reinstate quadratic probing
2 years ago
Behdad Esfahbod
19b628bdf0
Revert "[map] Implement Robinhood hashing"
...
This reverts commit 7056178568
.
2 years ago
Behdad Esfahbod
18c3ba5018
[map] Implement Robinhood hashing
...
Numbers are not improved though. :(
2 years ago
Behdad Esfahbod
2133aa2407
[map] Inline code for set()
2 years ago
Behdad Esfahbod
5bf5188ea2
[map] Simplify del()
2 years ago
Behdad Esfahbod
2ffec3a6f4
[map] Shuffle fetch_item
2 years ago
Behdad Esfahbod
1dc99128b9
[map] Separate has() code from set() code
2 years ago
Behdad Esfahbod
2dd0803c85
[map] Downgrade from quadratic to linear probing
2 years ago
Behdad Esfahbod
498197671a
[map] Write get() in terms of has()
2 years ago
Qunxin Liu
f37941bb52
[instancer] add tests for instancer-solver from python test suite
...
Also fix bug in the solver code
2 years ago
Qunxin Liu
39ac79a7f5
address review comments
2 years ago
Qunxin Liu
58f68dd37a
[instancer] wrap hb_subset_input_Set_axis_range() under experimental
...
Also add notes: it's not actually working yet.
2 years ago
Qunxin Liu
f3a3c3b29d
fix bot
2 years ago
Qunxin Liu
efc77dc68f
[instancer] update code for collecting FeatureVariationRecord
2 years ago
Qunxin Liu
bf298e5050
[instancer ]update OS_2/post/glyf tables to accept Triple for axes positions
2 years ago
Qunxin Liu
51c7451bb5
[instancer] update fvar table to accept Tripe for axes positions
2 years ago
Qunxin Liu
bf46d566f9
[instancer] update STAT table to accept Triples for axes positions
2 years ago
Qunxin Liu
779e8ba080
[instancer] update subset-plan.cc to accept Triple as axes positions
2 years ago
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
2 years ago
Qunxin Liu
0799afe2b6
[instancer] Add hb_subset_input_set_axis_range() API
2 years ago
Behdad Esfahbod
5d0cc0062a
[hash] Disable int hash as it has negative performance gain
2 years ago
Behdad Esfahbod
1fbb08584b
[hash] Adjust prime number
...
Previous one wasn't a prime. Ouch!
2 years ago
Behdad Esfahbod
9cc7eb80ff
[hash] Speed-up int64 hash
2 years ago
Khaled Hosny
4584bcdc32
7.3.0
2 years ago
Behdad Esfahbod
826fe2c9f7
[hash] Wrap specialization in HB_OPTIMIZE_SIZE_MORE
2 years ago
Behdad Esfahbod
b2b15fa30a
[hash] Links
2 years ago
Behdad Esfahbod
05567da082
Revert "[hash] Use fasthash for integer hash"
...
This reverts commit 3bf758a57071572a0ffae3c359b4cfec5a096312.
This was resulting in long chains again :(.
2 years ago
Behdad Esfahbod
bdaa74d25f
[hash] Use fasthash for integer hash
...
This seems to speed things up surprisingly.
2 years ago
Behdad Esfahbod
a58bbe5408
[set] Use better hash
2 years ago
Behdad Esfahbod
fe3339ea24
[algs] Add hash for 64bit ints
2 years ago
Behdad Esfahbod
33ef96b649
[glyf] Micro-optimize a few hash operations
2 years ago
Behdad Esfahbod
abb92388cc
Revert "[map] Adjust resizing criteria"
...
This reverts commit 1fa4b41531
.
2 years ago
Behdad Esfahbod
1fa4b41531
[map] Adjust resizing criteria
2 years ago
Behdad Esfahbod
f04d08b883
[fasthash] Remove GNU extension
2 years ago
Behdad Esfahbod
99f5050ccd
[algs] Remove HB_NO_PACKED
...
We depend on packed attribute in fasthash now.
2 years ago
Behdad Esfahbod
da619c69c8
[fasthash] Try to fix unaligned access
2 years ago
Behdad Esfahbod
075ecff750
[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!
2 years ago
Behdad Esfahbod
9fbab46f26
[cairo] Fix a clang warning
2 years ago
Behdad Esfahbod
e2fd49ff1a
[hash] Comment
2 years ago
Behdad Esfahbod
fa64e42d75
[algs] Adjust int hash
2 years ago
Behdad Esfahbod
078b2a5101
[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
2 years ago
Behdad Esfahbod
fe0f7dc57b
[bytes] Use fasthash as hash algorithm
...
Part of https://github.com/harfbuzz/harfbuzz/pull/4228
2 years ago