|
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.)
|
|
fc5739ea
|
2022-05-26T11:04:52
|
|
[test-map] Whitespace
|
|
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
|
|
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.
|
|
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.
|
|
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
|
|
e00c7358
|
2022-05-25T22:35:23
|
|
[subset] special case table presence check for hb_face_create_from_tables faces.
|
|
6a149a09
|
2022-05-25T22:22:35
|
|
[subset] fix use of lazy static constructor.
|
|
d4c7939e
|
2022-05-25T22:11:32
|
|
[subset] use a list of known tables instead of handled tables.
|
|
3472f73b
|
2022-05-25T21:49:12
|
|
[subset] also include no subset tables when guessing which tables are present.
|
|
9564d987
|
2022-05-25T21:16:37
|
|
[subset] fix subsetting of faces created via hb_face_create_for_tables.
Fixes #3609.
|
|
6010feee
|
2022-05-24T09:00:44
|
|
[varStore] Rename variable as per review
https://github.com/harfbuzz/harfbuzz/pull/3605
|
|
3eb7eff4
|
2022-05-21T15:25:53
|
|
Remove varstore cache use if HB_NO_VAR
|
|
099482a3
|
2022-05-21T15:20:23
|
|
[ot-font] Cache v_advance varstore as well
|
|
d9acc045
|
2022-05-21T14:16:21
|
|
[VarStore] Sprinkle cache_t type around
It's available so no need to use void*.
|
|
da38312e
|
2022-05-20T17:32:56
|
|
[VarStore] Pepper cache with likely()
|
|
cf8f00e3
|
2022-05-20T17:14:10
|
|
[VarStore] Don't use NAN
Is faster.
With this, I'm seeing 25 to 28% speedup in glyph_h_advances benchmark
of benchmark-font for var/hb tests.
|
|
5336ba70
|
2022-05-20T17:03:18
|
|
[HVAR] Cache VarStore region scalars
|
|
880f50f7
|
2022-05-20T16:50:00
|
|
Refactor varstore cache
|
|
f2a2fb91
|
2022-05-20T16:06:05
|
|
[GPOS] Cache VarStore region scalars
|
|
5fbc70c5
|
2022-05-20T14:07:27
|
|
[VarStore] Add cache API
|
|
05e82aa1
|
2022-05-20T12:17:31
|
|
[ft] Add missing lock to kerning function
|
|
4ea27257
|
2022-05-20T13:19:27
|
|
[set/map] Expose hash API publicly
New API:
+ hb_set_hash()
+ hb_map_hash()
|
|
2e186d9f
|
2022-05-20T13:15:52
|
|
[buffer] Improve hash function of segment_properties_t
|
|
aee123fc
|
2022-05-20T21:07:25
|
|
4.3.0
|
|
975a5f91
|
2022-05-20T12:34:49
|
|
[array] Use hb_memcmp instead of memcmp
Fixes ubsan error.
|
|
55804e8d
|
2022-05-20T11:40:44
|
|
[hb-ft] Minor rearrange of struct members
To make clear what members the lock protects.
|
|
cbf8f44c
|
2022-05-19T21:25:21
|
|
[subset-perf] swap instead of copying vertice's when reordering during sort.
|
|
b32ca2a2
|
2022-05-19T20:45:39
|
|
[subset-perf] remove sort_kahn from repacker.
Without an optimized FIFO queue implementation it's nearly as slow as the now optimized sort_shortest_distance.
|
|
4266cf3b
|
2022-05-19T18:15:46
|
|
[array] Specialize operator== for bytes_t and ubytes_t
|
|
6eaa22e9
|
2022-05-19T18:00:58
|
|
[serialize] Reduce link_t size from 16 to 12
|
|
30ba9a39
|
2022-05-19T17:34:58
|
|
[vector] Add emplacing push implementation
|
|
73b8360d
|
2022-05-19T22:59:51
|
|
[subset] fix fuzzer found underflow when heap push fails.
Fixes https://oss-fuzz.com/testcase-detail/5148625505746944.
|
|
f1bf14ea
|
2022-05-19T16:42:35
|
|
Revert "[set] Cache hash value"
This reverts commit 44952bcc259a906b8875ed62dc40de96ade8b95c.
While we investivate https://github.com/harfbuzz/harfbuzz/issues/3599
|
|
b4d1ec31
|
2022-05-19T16:06:21
|
|
[algs] Declare coerce() as constexpr
|
|
2fdb7616
|
2022-05-19T16:00:43
|
|
[map Further adjust hash function
|
|
01fc90b6
|
2022-05-19T16:00:06
|
|
[map] Adjust hash function
|
|
a47b0aeb
|
2022-05-19T15:52:00
|
|
[vector] Fix remove() implementation
test-vector under valgrind happy now.
|
|
3bd755c3
|
2022-05-19T15:51:18
|
|
[test-vector] Test remove()
Currently buggy. Valgrind confirms.
|
|
58f848da
|
2022-05-19T15:42:54
|
|
[set/map] Adjust hash function return type
|
|
6544fc28
|
2022-05-19T15:28:09
|
|
[vector] Add further copy implementation
|
|
c19f1169
|
2022-05-19T15:27:52
|
|
[meta] Remove non-existing gcc4 trait implementation
|
|
679b900e
|
2022-05-19T15:27:32
|
|
[meta] Fix gcc4 trait implementation
|
|
fb77f48f
|
2022-05-19T15:02:10
|
|
[vector] Optimize vector copy
|
|
28b44ac4
|
2022-05-19T15:01:56
|
|
[set] Switch set copy to vector operator =
Slows it down currently.
|
|
37d3275d
|
2022-05-19T15:01:23
|
|
[test-vector] Enable disabled test
This seems to work already.
|
|
544ffb91
|
2022-05-19T14:50:12
|
|
[set] Adjust grow_vector condition
|
|
0623aa59
|
2022-05-19T14:12:42
|
|
[benchmark-set] Add benchmark for set copy
|
|
44952bcc
|
2022-05-19T14:02:48
|
|
[set] Cache hash value
|
|
844ac328
|
2022-05-19T13:54:31
|
|
[set] Fix hb_set_t hash stability
|
|
2d0b1248
|
2022-05-19T13:53:53
|
|
[test-map] Test hb_set_t hash stability
Fails currently.
|
|
561e02fe
|
2022-05-19T13:38:52
|
|
[map] Make hb_map_t hashable
|
|
ad176990
|
2022-05-19T13:36:12
|
|
[map] Add is_equal() / towards making hb_map_t hashable
New API:
+ hb_map_is_equal()
|
|
14a24d8e
|
2022-05-19T13:03:50
|
|
[vector] Make hb_vector_t hashable
|
|
124f9aeb
|
2022-05-19T12:58:02
|
|
[set] Make hb_set_t hashable
|
|
3ab2c793
|
2022-05-19T17:23:36
|
|
[subset-perf] Signficiantly speed up ClassDef*::subset.
Eliminates the usage of a glyph -> klass hash map and replaces it with a vector storing the mapping. This allows us to use the vector directly as the iterator driving the serialize. Approximately 1% speedup for Noto Nastaliq.
|
|
e3e685e5
|
2022-05-18T15:05:55
|
|
[ot-tags] Fix `min_subtag_len` calculations
|
|
0b1c2ff9
|
2022-05-18T23:32:03
|
|
[subset-perf] Remove extra map lookup in ClassDef subset methods.
|
|
13ace77f
|
2022-05-18T22:38:43
|
|
[subset-perf] Use glyph_map instead of set in ClassDefFormat.
|
|
adae2f22
|
2022-05-18T21:42:28
|
|
[subset-perf] Cache a glyph map for gsub.
This allows us in some cases to avoid using glyph_set_gsub as a filter.
|
|
202e6c46
|
2022-05-18T17:12:43
|
|
[subset] Remove unnecessary test
|
|
cedf7396
|
2022-05-18T16:52:35
|
|
Add some commented-out code
|
|
6b62c10f
|
2022-05-18T16:27:54
|
|
[priority-queue] Remove old init/fini
|
|
bff8248a
|
2022-05-18T16:25:03
|
|
[repacker] Pre-alloc vertices
|
|
39a424ca
|
2022-05-18T16:17:16
|
|
[priority-queue] Optimize heap access
|