|
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
|
|
a42a703c
|
2022-06-02T11:51:20
|
|
[shared_ptr] Clear p in destructor
|
|
e9407a2b
|
2022-06-02T11:29:44
|
|
Use shared_ptr<hb_set_t> in one place
See if valgrind is happy...
|
|
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
|
|
efa4385b
|
2022-05-30T05:40:56
|
|
Merge pull request #3615 from harfbuzz/gir-freetype
[gi] Add freetype2-2.0 for g-i-r includes
|
|
f4a8b700
|
2022-05-30T05:30:37
|
|
More member initialization
|
|
484cc187
|
2022-05-30T05:06:43
|
|
[test-shape-threads] Set language
|
|
315ef83b
|
2022-05-30T05:09:26
|
|
Revert "Revert "[ot-lang] Use atomic int for cache""
This reverts commit c56ce8681c209abd147328142806769752091b1c.
The revert was not intentional. Ouch!
|
|
34275119
|
2022-05-30T04:46:02
|
|
[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'
|
|
97aa1ce6
|
2022-05-29T10:32:59
|
|
[gsubgpos] Move some member initialization
|
|
0bb4c1f0
|
2022-05-29T10:23:19
|
|
[cache] Set default values for cache template parameters
|
|
3957d292
|
2022-05-29T07:30:58
|
|
[layout] Remove stale comment
|
|
b6fed6f7
|
2022-05-29T06:33:34
|
|
[set-digest] Minor don't use !! when auto bool conversion happens
|
|
371e14d9
|
2022-05-28T13:40:30
|
|
Combine uses of map has() then get() with has(.., &..)
|
|
b99efa6c
|
2022-05-28T05:16:34
|
|
[map] Minor: use const reference in has()
|
|
24d5a11d
|
2022-05-28T05:14:16
|
|
[bimap] Add unlikely and minor optimization in is_empty()
|
|
c56ce868
|
2022-05-28T04:25:51
|
|
Revert "[ot-lang] Use atomic int for cache"
This reverts commit d61b2074915cf5f8044dcb8e3dafc04b5b58c6b8.
|
|
63bc6be0
|
2022-05-27T08:25:22
|
|
Merge pull request #3603 from harfbuzz/font-serial
Add font serial API
|
|
e2aa2990
|
2022-05-27T07:06:02
|
|
[set] Use relaxed atomic ops for last_page_index
Since iterating a set from multiple threads is supported.
|
|
d61b2074
|
2022-05-26T18:24:43
|
|
[ot-lang] Use atomic int for cache
Fixes(?) https://github.com/harfbuzz/harfbuzz/issues/3612
|
|
67bd147c
|
2022-05-26T05:16:07
|
|
Merge pull request #3610 from googlefonts/subset_create_tables_face
[subset] fix subsetting of faces created via hb_face_create_for_tables.
|
|
5248b256
|
2022-05-24T13:55:17
|
|
[ot-font/h-advance] Adjust varStore cache condition
This gives best performance for short strings, now that we have a h-advance cache as well.
The en-words benchmark in particular, now ot-font is faster than ft.
Second to last line is of interest:
Before:
-----------------------------------------------------------------------------------------------------
Benchmark Time CPU Iterations
-----------------------------------------------------------------------------------------------------
BM_Shape/en-words.txt/Roboto-Regular.ttf/hb 29.8 ms 29.8 ms 23
BM_Shape/en-words.txt/Roboto-Regular.ttf/ft 30.4 ms 30.4 ms 23
BM_Shape/en-words.txt/SourceSerifVariable-Roman.ttf/hb 16.3 ms 16.3 ms 43
BM_Shape/en-words.txt/SourceSerifVariable-Roman.ttf/ft 16.5 ms 16.5 ms 42
BM_Shape/en-words.txt/SourceSerifVariable-Roman.ttf/var/hb 18.0 ms 18.0 ms 39
BM_Shape/en-words.txt/SourceSerifVariable-Roman.ttf/var/ft 17.8 ms 17.8 ms 39
After:
behdad@Behdads-MacBook-Pro harfbuzz % ninja -Cbuild && build/perf/benchmark-shape --benchmark_filter=en-words
-----------------------------------------------------------------------------------------------------
Benchmark Time CPU Iterations
-----------------------------------------------------------------------------------------------------
BM_Shape/en-words.txt/Roboto-Regular.ttf/hb 30.0 ms 30.0 ms 23
BM_Shape/en-words.txt/Roboto-Regular.ttf/ft 30.3 ms 30.3 ms 23
BM_Shape/en-words.txt/SourceSerifVariable-Roman.ttf/hb 16.3 ms 16.3 ms 43
BM_Shape/en-words.txt/SourceSerifVariable-Roman.ttf/ft 16.4 ms 16.4 ms 43
BM_Shape/en-words.txt/SourceSerifVariable-Roman.ttf/var/hb 17.6 ms 17.6 ms 40
BM_Shape/en-words.txt/SourceSerifVariable-Roman.ttf/var/ft 17.8 ms 17.8 ms 39
|
|
12fff976
|
2022-05-24T13:42:25
|
|
[ot-var] Use atomic int for cached-serial
|
|
0919eaa6
|
2022-05-24T13:07:24
|
|
[ot-font] Remove lock around cache
Not needed.
|
|
3548b602
|
2022-05-23T19:39:52
|
|
[ot-font] Cache h-advances for variable fonts
|
|
39a07bf3
|
2022-05-23T19:13:05
|
|
[ot-font] Rename cache to varStore_cache
|
|
970e03ec
|
2022-05-23T19:02:36
|
|
[ot-font] Add a hb_ot_font_t struct
|
|
80c49933
|
2022-05-23T19:02:27
|
|
[hb-ft] Adjust serial signature
|
|
56e0ff9e
|
2022-05-20T12:30:46
|
|
[ft] If hb_font changed, update FT_Face
Fixes https://github.com/harfbuzz/harfbuzz/issues/2270
Rather untested.
|