Behdad Esfahbod
3f6a8f69a0
[map] Remove invalid-key special-casing
...
Can override invalid-key value now.
2022-06-02 11:23:37 -06:00
Behdad Esfahbod
5328b73fba
[map] Reduce map item size again
2022-06-02 11:23:37 -06:00
Behdad Esfahbod
4f58ae60eb
[map] Keep is_used, is_tombstone as booleans
2022-06-02 11:23:37 -06:00
Behdad Esfahbod
7ec3aad20f
[shared_ptr] Fix hb_hash() crash on nullptr
2022-06-02 18:22:05 +01:00
Behdad Esfahbod
4d646773cf
[cplusplus] Make .reference() return T*
2022-06-02 18:22:05 +01:00
Behdad Esfahbod
7e7a4a8f05
[cplusplus] Fix build
2022-06-02 18:22:05 +01:00
Behdad Esfahbod
a089d91fda
[hash] Adjust hash for shared_ptr, implement it for std::hash
2022-06-02 18:22:05 +01:00
Behdad Esfahbod
e037325efb
[hash] Remove custom hash, rely on std::hash
2022-06-02 18:22:05 +01:00
Behdad Esfahbod
0d3d5b62ae
[cplusplus] Adjustments
2022-06-02 18:22:05 +01:00
Behdad Esfahbod
0b35940a72
Make hb::shared_ptr hashable
2022-06-02 18:22:05 +01:00
Behdad Esfahbod
3817bdfd7f
[hb.hh] Include hb-cplusplus.hh
2022-06-02 18:22:05 +01:00
Behdad Esfahbod
e0f3cab246
[cplusplus] Add hb-cplusplus.hh
...
Fixes https://github.com/harfbuzz/harfbuzz/issues/2152
2022-06-02 18:22:05 +01:00
Garret Rieger
98aaecd397
[subset] fix data race touching Crap() in cff subsetting.
2022-06-01 22:50:35 +01:00
Behdad Esfahbod
c88a6a9ec3
[face] Remove const from get_user_data prototype
...
This was done by mistake.
Since the returned user_data can be changed, face should not be marked
const. Other object types follow this parttern.
2022-06-01 09:46:41 -06:00
Behdad Esfahbod
bc6ecaa262
[font-funcs] Handle case of null func but non-null destroy or user-data
2022-06-01 16:38:12 +01:00
Behdad Esfahbod
88ccbd2c43
[font-funcs] Optimize user-data/destroy storage
...
Fixes https://github.com/harfbuzz/harfbuzz/issues/2427
2022-06-01 16:38:12 +01:00
Behdad Esfahbod
e421613e8f
[sbix] Fix conditional
2022-06-01 09:07:57 -06:00
Behdad Esfahbod
55b911d863
[buffer] Mark getter functions as taking const buffer
...
Fixes https://github.com/harfbuzz/harfbuzz/issues/2873
2022-06-01 08:13:06 -06:00
Behdad Esfahbod
9e1479b5f0
[morx] Limit context length
...
Fixes https://github.com/harfbuzz/harfbuzz/issues/3097
2022-06-01 07:54:45 -06:00
Behdad Esfahbod
62e803b361
[sbix] Limit glyph extents
...
Fixes https://github.com/harfbuzz/harfbuzz/issues/3557
2022-06-01 07:39:20 -06:00
Behdad Esfahbod
cd05d187c8
[font] Fix undefined-behavior when scales are negative
...
Fixes https://github.com/harfbuzz/harfbuzz/issues/3555
2022-06-01 07:27:53 -06:00
Behdad Esfahbod
fc4d42ff99
[ft] Add API to notify that hb_font_t changed
...
New API:
- hb_ft_hb_font_changed()
Mostly reverts 56e0ff9ea1
Related https://github.com/harfbuzz/harfbuzz/issues/2270
Fixes https://github.com/harfbuzz/harfbuzz/issues/3619
2022-06-01 14:12:38 +01:00
Behdad Esfahbod
e246723f0c
[shape] Fail shaping internally if buffer ops exceeded
2022-06-01 05:00:06 -06:00
Behdad Esfahbod
9c0c31dfaa
[buffer] When deleting glyphs, check cluster backwards as well
2022-06-01 04:52:10 -06:00
Behdad Esfahbod
0384f80e78
[buffer-verify] If shaping buffers failed during verification, pass the test
2022-06-01 04:50:15 -06:00
Behdad Esfahbod
eba626ff6a
[shape-plan] Return empty plan if buffer direction is invalid
...
Happens if buffer creation failed.
2022-06-01 04:49:46 -06:00
Behdad Esfahbod
a441c6c16b
[shape] Only verify if text_buffer is successful
2022-06-01 04:49:39 -06:00
Behdad Esfahbod
f7f61aeb6f
[buffer] Add TODO item
2022-06-01 04:48:59 -06:00
Behdad Esfahbod
d72d37008d
[shape] Allow null buffer
...
Ouch!
2022-06-01 04:48:40 -06:00
Behdad Esfahbod
45a2252607
[flags] Fix undefined-behavior
...
SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior ../src/hb-buffer.hh:60:1 in
failure on clusterfuzz-testcase-minimized-hb-subset-get-codepoints-fuzzer-5736539338833920
2022-05-31 06:35:42 -06:00
Behdad Esfahbod
f3f9fc1544
[buffer] Mark glyph_flags_t as flags
2022-05-31 06:35:42 -06:00
Behdad Esfahbod
ab143e85c3
[buffer] Add HB_BUFFER_FLAG_DEFINED and HB_BUFFER_SERIALIZE_FLAG_DEFINED
...
New API:
+ HB_BUFFER_FLAG_DEFINED
+ HB_BUFFER_SERIALIZE_FLAG_DEFINED
2022-05-31 06:35:42 -06:00
Behdad Esfahbod
9a2a857043
[ot-shape] Don't verify buffer if shaping failed
...
Fixes all of fuzzing verify failures, which were result of buffer failure
on super-long results, which fails unsafe-to-break because shorter strings
don't fail shaping.
2022-05-31 06:35:42 -06:00
Behdad Esfahbod
f8b26f43ec
Merge pull request #3606 from harfbuzz/32bit-varstore
...
32bit varstore
2022-05-31 11:22:32 +01:00
Behdad Esfahbod
5af5a56593
[VarStore] Implement writing 32bit var-store
...
Untested.
Finishes fixing https://github.com/harfbuzz/harfbuzz/issues/2965
2022-05-31 03:58:35 -06:00
Behdad Esfahbod
75112098ac
[VarStore] Implement reading 32bit var-store
...
Untested.
Part of https://github.com/harfbuzz/harfbuzz/issues/2965
Serializing is incomplete.
2022-05-31 03:58:29 -06:00
Xavier Claessens
334bd013d9
Skip warning when building as subproject and ragel is missing
...
It is unlikely to be a developer build in that case.
2022-05-30 18:27:33 +02:00
Behdad Esfahbod
e5d6da7905
[varStore] rename shortCount to wordCount
2022-05-30 07:48:58 -06:00
Behdad Esfahbod
d11455f285
[blob] Fix strncpy() use in Mac resource opening code
...
Fixes https://github.com/harfbuzz/harfbuzz/issues/3616
2022-05-30 06:59:03 -06:00
Behdad Esfahbod
ea2dd54b68
[map] Place item hash between key and value, not after them
...
This way if only one of key and value is 64bit (eg. pointer), and other is 32bit,
the whole item will fit in 128bit, whereas before it would have been bumped up to
196 if only value was 64bit (a common use-case for us.)
2022-05-30 05:54:20 -06:00
Behdad Esfahbod
ec6cefc46a
[repacker] Simplify map types
2022-05-30 05:54:20 -06:00
Behdad Esfahbod
cbcdf442c5
[map] Speed up map's own hash()
2022-05-30 05:54:20 -06:00
Behdad Esfahbod
de33ef61b7
[map] Add TODO item
2022-05-30 05:54:20 -06:00
Behdad Esfahbod
fc5739ea90
[test-map] Whitespace
2022-05-30 05:54:20 -06:00
Behdad Esfahbod
3e64abd5d6
Merge pull request #3613 from harfbuzz/threads-test
...
Threads test
2022-05-30 05:52:21 -06:00
Behdad Esfahbod
efa4385b16
Merge pull request #3615 from harfbuzz/gir-freetype
...
[gi] Add freetype2-2.0 for g-i-r includes
2022-05-30 05:40:56 -06:00
Behdad Esfahbod
f4a8b70016
More member initialization
2022-05-30 05:30:37 -06:00
Behdad Esfahbod
484cc18732
[test-shape-threads] Set language
2022-05-30 05:09:53 -06:00
Behdad Esfahbod
315ef83b4e
Revert "Revert "[ot-lang] Use atomic int for cache""
...
This reverts commit c56ce8681c
.
The revert was not intentional. Ouch!
2022-05-30 05:09:26 -06:00
Khaled Hosny
3427511988
[gi] Add freetype2-2.0 for g-i-r includes
...
Fixes the warnings:
../src/hb-ft.cc:810: Warning: HarfBuzz: hb_ft_face_create: argument ft_face: Unresolved type: 'FT_Face'
../src/hb-ft.cc:886: Warning: HarfBuzz: hb_ft_face_create_cached: argument ft_face: Unresolved type: 'FT_Face'
../src/hb-ft.cc:855: Warning: HarfBuzz: hb_ft_face_create_referenced: argument ft_face: Unresolved type: 'FT_Face'
../src/hb-ft.cc:920: Warning: HarfBuzz: hb_ft_font_create: argument ft_face: Unresolved type: 'FT_Face'
../src/hb-ft.cc:1029: Warning: HarfBuzz: hb_ft_font_create_referenced: argument ft_face: Unresolved type: 'FT_Face'
../src/hb-ft.cc:240: Warning: HarfBuzz: hb_ft_font_get_face: return value: Unresolved type: 'FT_Face'
../src/hb-ft.cc:262: Warning: HarfBuzz: hb_ft_font_lock_face: return value: Unresolved type: 'FT_Face'
2022-05-30 04:48:22 +02:00