|
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
|
|
0b35940a
|
2022-06-01T15:10:19
|
|
Make hb::shared_ptr hashable
|
|
3817bdfd
|
2022-06-01T12:35:03
|
|
[hb.hh] Include hb-cplusplus.hh
|
|
0d3d5b62
|
2022-06-02T08:00:08
|
|
[cplusplus] Adjustments
|
|
e0f3cab2
|
2022-06-01T11:51:43
|
|
[cplusplus] Add hb-cplusplus.hh
Fixes https://github.com/harfbuzz/harfbuzz/issues/2152
|
|
d8d96b26
|
2022-06-01T19:55:02
|
|
[threads-test] Add a threads test against hb-subset.
|
|
98aaecd3
|
2022-06-01T21:01:16
|
|
[subset] fix data race touching Crap() in cff subsetting.
|
|
858570b1
|
2022-06-01T18:08:09
|
|
[subset] add some additional 32bit var store cases.
Test the path where the 32 bit delta is not included.
|
|
209d6aa2
|
2022-06-01T18:02:03
|
|
[subset] Update make files for 32bit_var_store test.
|
|
9c41bfe1
|
2022-06-01T17:53:14
|
|
[subset] Add subset test of font with 32 bit delta in a var store.
|
|
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
|
|
18cd15be
|
2022-06-01T07:55:59
|
|
Rename test
|
|
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
|
|
a31fd97c
|
2022-06-01T12:26:08
|
|
Merge pull request #3432 from harfbuzz/fuzz-verify
[fuzz-shape] Verify shape output
https://github.com/harfbuzz/harfbuzz/pull/3432
|
|
e246723f
|
2022-06-01T04:54:18
|
|
[shape] Fail shaping internally if buffer ops exceeded
|
|
5a058ba1
|
2022-05-31T05:35:17
|
|
[shape-fuzzer] Add commented out more buffer-verify option
Those currently fail and I've been unable to debug them.
I tried two, passing them to hb-shape doesn't reproduce the failure. :(
|
|
189f6534
|
2022-02-13T13:22:08
|
|
[fuzz-shape] Verify shape output
Let the fuzzers loose on shape verify.
|
|
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!
|
|
33145a4b
|
2022-05-31T04:59:07
|
|
[test/shape] Pass --unsafe-to-concat to hb-shape
|
|
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
|
|
6dd7e31f
|
2022-05-31T04:09:06
|
|
[util] Accept | as delimiter in Unicode parsing
|
|
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
|
|
9eab6d32
|
2022-05-26T12:00:45
|
|
[benchmark-set] Another Pause/Resume
|
|
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
|
|
b010962c
|
2022-05-30T05:34:25
|
|
[test/hb-shape-threads] Silence hb_language_get_default() threadysafety issue
|
|
f4a8b700
|
2022-05-30T05:30:37
|
|
More member initialization
|
|
4e59900f
|
2022-05-30T05:21:55
|
|
[test/hb-shape-threads] Share font amongst threads
|
|
18b0bd0f
|
2022-05-30T05:12:12
|
|
[test/hb-shape-threads] Verify buffer
|
|
87453f63
|
2022-05-27T16:51:12
|
|
[hb-shape-threads] Fix current-work-dir so test passes
|
|
f77faf86
|
2022-05-27T16:34:28
|
|
[hb-shape-threads] Allow overriding test parameters from cmdline
|
|
f0fba599
|
2022-05-27T16:30:19
|
|
[hb-shape-threads] Reduce num-iterations
|
|
e8a24363
|
2022-05-27T16:29:17
|
|
[threads] Add a condition_variable to test for all threads to be ready
|
|
4d42a94c
|
2022-05-27T16:23:12
|
|
[threads] Add hb-shape-threads test
|
|
484cc187
|
2022-05-30T05:06:43
|
|
[test-shape-threads] Set language
|
|
f371789b
|
2022-05-28T04:02:36
|
|
Sprinkle static around
|
|
4386626e
|
2022-05-27T17:32:32
|
|
[test/threads] Fix dependency
|
|
bf4b11cf
|
2022-05-27T17:20:36
|
|
[configure] Another try at fixing distcheck
|
|
e0544c48
|
2022-05-27T17:10:07
|
|
[test/threads] Fix distcheck
|
|
e3d5a117
|
2022-05-27T17:05:23
|
|
[hb-shape-threads] Fix tsan race
|
|
33c990f0
|
2022-05-27T16:57:00
|
|
Include cassert to fix bots
|
|
049af186
|
2022-05-27T16:53:25
|
|
[threads] Add suite to test
|
|
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.
|
|
a719e678
|
2022-05-24T17:51:24
|
|
[ot-font] Use atomic ops for cache serial number
This guarantees the cache is coherent.
|
|
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.
|
|
d0de389d
|
2022-05-20T12:18:43
|
|
[font] Fix test
|
|
a2015cd3
|
2022-05-20T12:15:00
|
|
[font] Add a separate serial_coords
|
|
8629df18
|
2022-05-20T12:06:22
|
|
[ft] Discard advance cache if font changed
Uses newly added font serial API.
Part of https://github.com/harfbuzz/harfbuzz/issues/2270
But doesn't set new coords on the FT_Face. That's a lot more
work :(.
|
|
48db1c95
|
2022-05-20T12:03:32
|
|
[font] Add serial API
New API:
+ hb_font_get_serial()
+ hb_font_changed()
Fixes https://github.com/harfbuzz/harfbuzz/issues/2426
Unused internally as of now.
|
|
0fe18692
|
2022-05-24T17:49:15
|
|
[benchmark-set] Pause timing around set copy initialization
|
|
ce5435a8
|
2022-05-24T16:34:04
|
|
[benchmark-set] Remove use of rand() inside benchmark
|
|
efa2a579
|
2022-05-24T16:24:00
|
|
[map] Add hb_map_copy()
New API:
+ hb_map_copy()
|
|
3b28cff9
|
2022-05-26T04:42:17
|
|
[cff1] Fix null dereference on memory alloc failure
|
|
8df9aba9
|
2022-05-26T03:59:21
|
|
Actually try to fix null-size undefined behavior
Related to:
https://github.com/harfbuzz/harfbuzz/pull/2067
https://bugzilla.mozilla.org/show_bug.cgi?id=1577584
|