|
39820af7
|
2022-06-07T10:18:38
|
|
[layout] Add HB_NO_OT_LAYOUT_LOOKUP_CACHE to disable caching lookups
Enabled when optimize-size profile is enabled.
|
|
845279c3
|
2022-06-07T16:40:22
|
|
Merge pull request #3636 from harfbuzz/classdef-cache
Classdef cache
|
|
b59e25f2
|
2022-06-07T09:27:09
|
|
[cff] Try fixing Heap-buffer-overflow in CFF::Charset::collect_glyph_to_sid_map
Fixes https://bugs.chromium.org/p/oss-fuzz/issues/detail?id=47790
|
|
c8fb048f
|
2022-06-07T09:20:27
|
|
[gsubgpos] Document caching
|
|
5963cf44
|
2022-06-07T09:12:45
|
|
[gsubgpos] Merge cache_enter and cache_leave entry points
Saves a pointer per subtable
|
|
d4c09e9a
|
2022-06-07T09:03:30
|
|
[gsubgpos] Remove apply_cached() entry point
Just use a bool to apply()
|
|
b96622d1
|
2022-06-05T02:45:41
|
|
[layout] Use a cache for main input ClassDef of (Chain)ContextLookupFormat2
This commit adds a per-lookup caching infrastructure to GSUB/GPOS, and
uses it to cache input ClassDef.get_class value for (Chain)ContextLookupFormat2.
For fonts heavy on use of heave class-based2 context matching, this shows
a good speedup. For NotoNastaliqUrdu for example, I observe 17% speedup.
Unfortunately not many other lookups can use a cache like this :(.
https://github.com/harfbuzz/harfbuzz/pull/3636
|
|
4266f4e2
|
2022-06-03T12:06:56
|
|
Fix check-* scripts when harfbuzz is a subproject
When harfbuzz is a subproject paths are in the form
"subprojects/harfbuzz/src/...". Instead of removing "src/" prefix, take
the absolute path and make it relative to current source dir.
This fix regression introduced in
https://github.com/harfbuzz/harfbuzz/pull/3394.
|
|
15543f70
|
2022-06-04T10:55:50
|
|
[indic-like] Move allocation of syllable() buffer var to shapers that use it
In indic, we don't have a pause location release the var.
|
|
104dc85a
|
2022-06-04T06:56:35
|
|
[buffer] Add try_allocate for buffer variables
|
|
b5f621b0
|
2022-06-05T07:52:51
|
|
[cplusplus] Internally allow using hb_unique_ptr with hb_free()
...for arbitrary types.
|
|
f18eb000
|
2022-06-05T04:17:05
|
|
[buffer] Mark a variable as unused
Weird. Somehow our HB_TINY bot started erring as this var being unused
in non-debug builds. Not sure why now...
In file included from src/hb-ot-map.hh:32:0,
from src/hb-ot-shape.hh:32,
from src/hb-aat-layout.hh:32,
from src/hb-aat-layout.cc:30,
from src/harfbuzz.cc:1:
src/hb-buffer.hh: In member function ‘void hb_buffer_t::assert_var(unsigned int, unsigned int)’:
src/hb-buffer.hh:192:18: error: unused variable ‘bits’ [-Werror=unused-variable]
unsigned int bits = (1u<<end) - (1u<<start);
^~~~
cc1plus: some warnings being treated as errors
Error: Process completed with exit code 1.
|
|
e6409d39
|
2022-06-05T06:57:37
|
|
Revert "[layout] Use a cache for main input ClassDef of (Chain)ContextLookups"
This reverts commit 57d1c08739d0acd94b96da2f9d5dd6c0ff3b3722.
Err. This was an accident.
|
|
57d1c087
|
2022-06-05T02:45:41
|
|
[layout] Use a cache for main input ClassDef of (Chain)ContextLookups
|
|
92e81ab1
|
2022-06-05T01:14:32
|
|
[indic/khmer/myanmar] Shift category numbers around to avoid overlap
Fixes https://github.com/harfbuzz/harfbuzz/issues/3632
|
|
d6dbc0d1
|
2022-06-05T00:58:53
|
|
[gi/ft] Silence warnings
gi doesn't understand that FT_Face is a pointer, and not bare struct.
So it skips these APIs anyway. Mark skip to silense the warning.
../src/hb-ft.cc:242: Warning: HarfBuzz: hb_ft_font_get_face: return value: Invalid non-constant return of bare structure or union; register as boxed type or (skip)
../src/hb-ft.cc:264: Warning: HarfBuzz: hb_ft_font_lock_face: return value: Invalid non-constant return of bare structure or union; register as boxed type or (skip)
|
|
f78a2509
|
2022-06-05T00:55:35
|
|
[gi] Remove Xconstructor annotations
|
|
cb961eac
|
2022-06-05T00:44:07
|
|
[configs] Fix builds with HB_NO_BUFFER_SERIALIZE but not HB_NO_BUFFER_VERIFY
https://github.com/harfbuzz/harfbuzz/commit/e986c12075a69300a5e114fe139ae5acd762ef1b#commitcomment-75339317
|
|
67852504
|
2022-06-04T08:45:03
|
|
[indic/myanmar] No-op update to machines
|
|
20a61ca4
|
2022-06-04T08:35:22
|
|
[myanmar] Fold D category into GB
Trying to free a byte the buffer vars, for caching of lookups.
Part of https://github.com/harfbuzz/harfbuzz/issues/3633
|
|
f9b643f6
|
2022-06-04T07:29:40
|
|
[layout] s/hb_get_subtables_context_t/hb_accelerate_subtables_context_t/g
|
|
d4dfb8c1
|
2022-06-04T06:50:38
|
|
[arabic] Free up buffer variable earlier
|
|
cc7ebb0f
|
2022-06-04T05:42:58
|
|
Remove remaining mention to complex shapers in the code
https://github.com/harfbuzz/harfbuzz/pull/3628#issuecomment-1146248037
|
|
b39b5f2f
|
2022-06-03T04:10:28
|
|
[name] Implement approximate language matching
Very rudimentary.
Fixes https://github.com/harfbuzz/harfbuzz/issues/3354
|
|
40d7d56e
|
2022-06-03T05:40:18
|
|
[subset-input] Minor move
|
|
40193adb
|
2022-06-03T05:35:19
|
|
[subset] Update default features list
|
|
5bfb0b72
|
2022-06-03T02:56:41
|
|
Rename s/shape-complex/shaper/g
|
|
44be1e5d
|
2022-06-03T02:54:33
|
|
s/SHAPE_COMPLEX/SHAPER/g
|
|
6fbb5521
|
2022-06-03T02:50:25
|
|
s/FLAG_COMPLEX/FLAG_SHAPER/g
|
|
6d9e94d2
|
2022-06-03T02:48:34
|
|
s/hb_ot_shape_complex_categorize/hb_ot_shaper_categorize/g
|
|
a560182c
|
2022-06-03T02:46:58
|
|
s/complex_var/ot_shaper_var/g
|
|
13fbed29
|
2022-06-03T02:45:04
|
|
s/HB_OT_SHAPE_COMPLEX_MAX_COMBINING_MARKS/HB_OT_SHAPE_MAX_COMBINING_MARKS/g
|
|
44a7b3b7
|
2022-06-03T02:42:34
|
|
s/ot_complex_shaper/ot_shaper/g
|
|
e5161977
|
2022-06-03T02:40:54
|
|
s/COMPLEX_SHAPER/OT_SHAPER/g
|
|
f3a8b7f3
|
2022-06-03T02:21:46
|
|
[algs] Test hb_hash()
|
|
215a0afa
|
2022-06-03T01:48:46
|
|
[algs] Remove unused hb_coerce()
|
|
5dc12d7d
|
2022-06-03T01:37:02
|
|
[cmap] Rewrite set_for() slightly
|
|
9552955e
|
2022-06-03T01:33:01
|
|
Add an unlikely
|
|
88f00ecb
|
2022-06-03T01:30:27
|
|
[map] Fix iter_ref () and test it
|
|
a42c624f
|
2022-06-03T01:22:34
|
|
Convert one final use of hashmap to unique_ptr
|
|
f13a7954
|
2022-06-03T01:17:20
|
|
[subset] Convert another use of hashmap to unique_ptr
|
|
25f57230
|
2022-06-03T01:11:22
|
|
[map] Return references from new iter_ref()
|
|
a7a68861
|
2022-06-02T18:59:15
|
|
[cmap] Convert another map use to unique_ptr
|
|
997d9cc4
|
2022-06-02T18:04:12
|
|
[map] Make unique_ptr hashable
|
|
8bb2a332
|
2022-06-02T15:18:23
|
|
[map] Remove unneeded assignment
|
|
d7785a6d
|
2022-06-02T12:42:24
|
|
[cplusplus] Add unique_ptr
|
|
bca710e8
|
2022-06-02T12:06:25
|
|
[gsubgpos] Use map has() instead of get() when appropriate
|
|
e9407a2b
|
2022-06-02T11:29:44
|
|
Use shared_ptr<hb_set_t> in one place
See if valgrind is happy...
|
|
a42a703c
|
2022-06-02T11:51:20
|
|
[shared_ptr] Clear p in destructor
|
|
f0a0dcad
|
2022-06-02T11:25:56
|
|
[test-map] Test hashing shared_ptr
|
|
4c1b5d9e
|
2022-06-02T11:25:11
|
|
Whitespace
|
|
b9230c54
|
2022-06-02T11:18:38
|
|
[map] Fix has()
|
|
97ea10a6
|
2022-06-02T11:14:17
|
|
Remove old nullptr_t hacks
Were used for hashmap before.
|
|
3f78a71c
|
2022-06-02T11:11:35
|
|
[map] Finally! Just can usd hb_hashmap_t<obj_t, obj_t>
Yay!
|
|
0ccab339
|
2022-06-02T10:43:36
|
|
[map] Remove invalid-key template arguments since unused
|
|
3f6a8f69
|
2022-06-02T10:36:07
|
|
[map] Remove invalid-key special-casing
Can override invalid-key value now.
|
|
5328b73f
|
2022-06-02T10:32:56
|
|
[map] Reduce map item size again
|
|
4f58ae60
|
2022-06-02T10:13:55
|
|
[map] Keep is_used, is_tombstone as booleans
|
|
7ec3aad2
|
2022-06-02T10:50:55
|
|
[shared_ptr] Fix hb_hash() crash on nullptr
|
|
4d646773
|
2022-06-02T10:02:44
|
|
[cplusplus] Make .reference() return T*
|
|
7e7a4a8f
|
2022-06-02T09:59:41
|
|
[cplusplus] Fix build
|
|
a089d91f
|
2022-06-02T09:55:43
|
|
[hash] Adjust hash for shared_ptr, implement it for std::hash
|
|
e037325e
|
2022-06-02T08:51:12
|
|
[hash] Remove custom hash, rely on std::hash
|
|
0d3d5b62
|
2022-06-02T08:00:08
|
|
[cplusplus] Adjustments
|
|
0b35940a
|
2022-06-01T15:10:19
|
|
Make hb::shared_ptr hashable
|
|
3817bdfd
|
2022-06-01T12:35:03
|
|
[hb.hh] Include hb-cplusplus.hh
|
|
e0f3cab2
|
2022-06-01T11:51:43
|
|
[cplusplus] Add hb-cplusplus.hh
Fixes https://github.com/harfbuzz/harfbuzz/issues/2152
|
|
98aaecd3
|
2022-06-01T21:01:16
|
|
[subset] fix data race touching Crap() in cff subsetting.
|
|
c88a6a9e
|
2022-06-01T09:46:41
|
|
[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.
|
|
bc6ecaa2
|
2022-06-01T09:19:11
|
|
[font-funcs] Handle case of null func but non-null destroy or user-data
|
|
88ccbd2c
|
2022-06-01T08:44:07
|
|
[font-funcs] Optimize user-data/destroy storage
Fixes https://github.com/harfbuzz/harfbuzz/issues/2427
|
|
e421613e
|
2022-06-01T09:07:57
|
|
[sbix] Fix conditional
|
|
55b911d8
|
2022-06-01T08:13:06
|
|
[buffer] Mark getter functions as taking const buffer
Fixes https://github.com/harfbuzz/harfbuzz/issues/2873
|
|
9e1479b5
|
2022-06-01T07:54:45
|
|
[morx] Limit context length
Fixes https://github.com/harfbuzz/harfbuzz/issues/3097
|
|
62e803b3
|
2022-06-01T07:38:21
|
|
[sbix] Limit glyph extents
Fixes https://github.com/harfbuzz/harfbuzz/issues/3557
|
|
cd05d187
|
2022-06-01T07:27:30
|
|
[font] Fix undefined-behavior when scales are negative
Fixes https://github.com/harfbuzz/harfbuzz/issues/3555
|
|
fc4d42ff
|
2022-06-01T05:19:23
|
|
[ft] Add API to notify that hb_font_t changed
New API:
- hb_ft_hb_font_changed()
Mostly reverts 56e0ff9ea129aa91dfcc746cd61f8cbbc427dba7
Related https://github.com/harfbuzz/harfbuzz/issues/2270
Fixes https://github.com/harfbuzz/harfbuzz/issues/3619
|
|
e246723f
|
2022-06-01T04:54:18
|
|
[shape] Fail shaping internally if buffer ops exceeded
|
|
9c0c31df
|
2022-05-31T09:35:49
|
|
[buffer] When deleting glyphs, check cluster backwards as well
|
|
0384f80e
|
2022-05-31T08:23:48
|
|
[buffer-verify] If shaping buffers failed during verification, pass the test
|
|
eba626ff
|
2022-05-31T08:20:56
|
|
[shape-plan] Return empty plan if buffer direction is invalid
Happens if buffer creation failed.
|
|
a441c6c1
|
2022-05-31T07:52:04
|
|
[shape] Only verify if text_buffer is successful
|
|
f7f61aeb
|
2022-05-31T09:37:38
|
|
[buffer] Add TODO item
|
|
d72d3700
|
2022-06-01T04:43:10
|
|
[shape] Allow null buffer
Ouch!
|
|
45a22526
|
2022-05-31T06:23:47
|
|
[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
|
|
f3f9fc15
|
2022-05-31T06:05:57
|
|
[buffer] Mark glyph_flags_t as flags
|
|
ab143e85
|
2022-05-31T06:00:41
|
|
[buffer] Add HB_BUFFER_FLAG_DEFINED and HB_BUFFER_SERIALIZE_FLAG_DEFINED
New API:
+ HB_BUFFER_FLAG_DEFINED
+ HB_BUFFER_SERIALIZE_FLAG_DEFINED
|
|
9a2a8570
|
2022-05-31T04:25:20
|
|
[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.
|
|
f8b26f43
|
2022-05-31T11:22:32
|
|
Merge pull request #3606 from harfbuzz/32bit-varstore
32bit varstore
|
|
5af5a565
|
2022-05-30T08:32:50
|
|
[VarStore] Implement writing 32bit var-store
Untested.
Finishes fixing https://github.com/harfbuzz/harfbuzz/issues/2965
|
|
75112098
|
2022-05-23T12:42:15
|
|
[VarStore] Implement reading 32bit var-store
Untested.
Part of https://github.com/harfbuzz/harfbuzz/issues/2965
Serializing is incomplete.
|
|
334bd013
|
2022-05-30T11:46:08
|
|
Skip warning when building as subproject and ragel is missing
It is unlikely to be a developer build in that case.
|
|
e5d6da79
|
2022-05-23T12:25:39
|
|
[varStore] rename shortCount to wordCount
|
|
d11455f2
|
2022-05-30T06:59:03
|
|
[blob] Fix strncpy() use in Mac resource opening code
Fixes https://github.com/harfbuzz/harfbuzz/issues/3616
|
|
ea2dd54b
|
2022-05-26T11:31:28
|
|
[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.)
|
|
ec6cefc4
|
2022-05-26T11:26:37
|
|
[repacker] Simplify map types
|
|
cbcdf442
|
2022-05-26T11:20:27
|
|
[map] Speed up map's own hash()
|
|
de33ef61
|
2022-05-26T11:07:21
|
|
[map] Add TODO item
|
|
fc5739ea
|
2022-05-26T11:04:52
|
|
[test-map] Whitespace
|
|
3e64abd5
|
2022-05-30T05:52:21
|
|
Merge pull request #3613 from harfbuzz/threads-test
Threads test
|