Behdad Esfahbod
b111b3de02
Don't use any default unicode funcs if HB_NO_UNICODE_FUNCS is defined
...
Part of https://github.com/harfbuzz/harfbuzz/issues/1652
6 years ago
Behdad Esfahbod
c5509be93a
[coretext] Fix unused-variable error
...
Fixes https://github.com/harfbuzz/harfbuzz/issues/1659
6 years ago
Maks Naumov
4c19aa2620
Fix MSVC C4068 warning ( #1656 )
6 years ago
Michiharu Ariza
e44b83aac0
replace test font SourceHanSans with its subet
6 years ago
Maks Naumov
a96d003d6e
Fix MSVC C4138 warning ( #1657 )
6 years ago
Behdad Esfahbod
c68eb7002f
Minor
6 years ago
Behdad Esfahbod
85adf4ad5c
[GDEF] Don't assume glyphlist is sorted
...
As was hit by the fuzzer.
Fixes https://bugs.chromium.org/p/oss-fuzz/issues/detail?id=14032
6 years ago
Behdad Esfahbod
ecabdffc61
[algs] Add hb_min() and hb_max()
6 years ago
Behdad Esfahbod
7b863142ce
[serialize] Make putting breakpoint on out-of-memory easier
6 years ago
Behdad Esfahbod
2bd2750234
[iter] Tweak SFINAE again
...
Don't think we need hb_is_same().
6 years ago
Behdad Esfahbod
f02ebc89ec
[array] Add compy assignment operator since copy constructor is explicit
6 years ago
Behdad Esfahbod
20a73da2c9
[array] Add default copy constructor
...
MSVC seems to need it.
6 years ago
Behdad Esfahbod
d419a9a437
[iter] Use different SFINAE scheme to make MSVC happy
...
From Orvid King: TLDR; MSVC has some issues using sizeof(declval<T>()) for
SFINAE of templated types, so I just used SFINAE in a different context where
MSVC doesn't have the issue.
6 years ago
Behdad Esfahbod
2778df7972
[meta] Add hb_is_same()
6 years ago
Behdad Esfahbod
6215fb8e68
[serialize] Actually reclaim storage from duplicate objects
6 years ago
Behdad Esfahbod
3305a2cad2
[serialize] Port to use object pool
...
Tested, but feels fragile :(.
6 years ago
Behdad Esfahbod
5efbc01174
[pool] Uses memset() instead of assigning Null()
...
Assignment is invalid on invalid object.
6 years ago
Behdad Esfahbod
434d78bf91
Add hb_pool_t<> for pooled memory allocation
6 years ago
Behdad Esfahbod
8e4df1a152
[serialize] Disable packed_map again
...
Ugh. Need to think of something else.
6 years ago
Behdad Esfahbod
31c1a83899
[map] Protect more against pointer deref
6 years ago
Behdad Esfahbod
5bffa9e375
More
6 years ago
Behdad Esfahbod
5b66b033fd
[serialize] Fix hb_hashmap_t<> for pointers and use in packed_map
6 years ago
Behdad Esfahbod
42ab32cbba
[iter] Remove passing pointer to hb_iter()
...
While doable with hb_deref_pointer() as well, we also would then
need to do it in a ton of places. Not worth it / messy.
6 years ago
Behdad Esfahbod
d0da547b37
[array] Use dagger for hashing array
...
Also switch to better mixing.
6 years ago
Behdad Esfahbod
b6f29bf141
[iter] Accept pointers in hb_iter()
...
No idea how to avoid dupicating code. Was hoping hb_deref_pointer()
would do it, but looks like a pointer can't bind to a universal
reference T&&. Humm.
6 years ago
Behdad Esfahbod
fc24bb9046
[serialize] Towards maintaining packed_map
6 years ago
Behdad Esfahbod
aa2293a55e
[serialize] Minor
6 years ago
Behdad Esfahbod
e42b82c828
[serialize] Handle non-nullable offsets
6 years ago
Behdad Esfahbod
e04518bafc
[serialize] Movce empty-object handling earlier
6 years ago
Behdad Esfahbod
7f73c9744e
[serialize] Minor
6 years ago
Behdad Esfahbod
5a3de4f4f8
[serialize] Allow offset links that have base offset from the object base
...
Rarely used, but used, in name table or similar constructs.
6 years ago
Ebrahim Byagowi
edad6b2c45
[test][iter] minor, fix double promotion warning
6 years ago
Ebrahim Byagowi
062f5d6e7a
[test] minor, c style comments
6 years ago
Ebrahim Byagowi
afdbf960d6
[iter][test] Add another test for hb_reduce
...
Different initial and accumulator types
6 years ago
Behdad Esfahbod
bfa02bef45
[serialize] Switch to tetris-packing
6 years ago
Behdad Esfahbod
f0ea3ac17b
[serialize] Fix linking
6 years ago
Behdad Esfahbod
7c0e2054e0
[serialize] Minor
6 years ago
Behdad Esfahbod
64d0f08938
[cmap] Minor
6 years ago
Behdad Esfahbod
2e675cc7b5
[subset] Call serialize start/end around it
...
To be cleaned up.
6 years ago
Behdad Esfahbod
abe33c6149
[serialize] Assert stack
6 years ago
Behdad Esfahbod
72e9b2c16c
[serialize] Add add_link() to add link
6 years ago
Behdad Esfahbod
74addbecac
[serialize] Add default template type to push()
6 years ago
Ebrahim Byagowi
b8642087e6
[iter] hb_reduce, accumulator with a different type
6 years ago
Ebrahim Byagowi
e526414c75
[iter] Implement hb_reduce
6 years ago
Behdad Esfahbod
f3aca6aa26
[serialize] Implement linking
...
Untested!
6 years ago
Behdad Esfahbod
17f0cfa7ea
Move BEInt to hb.hh
...
I knows...
6 years ago
Behdad Esfahbod
78fc43f293
[iter] Fix up build, ouch
...
Yeah, some things not very clear...
6 years ago
Jonathan Kew
e5d6fe9782
Don't skip setting the .end field of the first range
...
Fixes a bug in CoverageFormat2::serialize whereby the first range
was not serialized correctly if it consists of only a single glyph ID.
This broke shaping of U+0626 in the Arabic fallback shaper, because it
is not found in the coverage table of the 'init' and 'medi' lookups.
Also fix similar bug in ClassDefFormat2::serialize, noted during code
inspection (I haven't observed a case that was actually affected by
this, but it looks broken).
Fixes https://github.com/harfbuzz/harfbuzz/issues/1504
6 years ago
Behdad Esfahbod
8a8d45b924
[iter] Adjust hb_copy() and use it
...
Untested.
6 years ago
Ebrahim Byagowi
ba4b7be455
Remove coretext_aat shaper ( #1581 )
...
coretext_aat was a temporary shaper to redirect shaping of AAT fonts
to CoreText and leaving the rest for HarfBuzz. As HarfBuzz now supports
AAT and Chrome now actually ships that on a stable version on macOS,
we no longer care about such use-case. If a client really wants 100%
metrics compatibility with CoreText better to use it directly or through
our API. Replicating the same behavior still is possible using
hb_shape_full, something we don't care or like to offer anymore.
Fixes https://github.com/harfbuzz/harfbuzz/issues/1478
6 years ago