|
f159600c
|
2025-10-17T21:49:40
|
|
Fix a draw fuzzer uninitialized-memory issue (#5615)
Fixes https://oss-fuzz.com/testcase-detail/5714890590584832
|
|
ea9b7de4
|
2025-09-16T16:45:02
|
|
[instancer/tuplevars] Allocate compiled_tuple_headers from alloc pool
|
|
f5fdf426
|
2025-09-16T02:28:29
|
|
[tuplevar] Use pool for duplicating
|
|
12ce710f
|
2025-09-16T01:44:47
|
|
[tuplevar] Use alloc-pool instead of custom pool
|
|
755ed109
|
2025-09-16T00:40:28
|
|
Add hb-alloc-pool and use in gvar instancer
|
|
82370913
|
2025-09-15T20:16:52
|
|
[vector] Simplify resize()
|
|
8e3e8c66
|
2025-09-15T19:49:11
|
|
[iup] Reuse more allocations
|
|
db86e546
|
2025-09-15T16:41:31
|
|
[instancer/gvar] Combine peak_coords mallocs into one chunk
|
|
e310f811
|
2025-09-15T00:58:07
|
|
[instancer/gvar] Speed up hash lookup-set
|
|
7a57c3c1
|
2025-09-15T00:52:50
|
|
[instancer/gvar] Simplify sorting
|
|
b51ea436
|
2025-09-15T00:44:49
|
|
[gvar] Micro-opt instancing
|
|
35212ba3
|
2025-09-14T17:46:13
|
|
[gvar] Change a storage type
No functional change.
|
|
323901f8
|
2025-09-14T13:47:32
|
|
[instancer/tuplevars] Reduce work by combining two loops
|
|
0ce2b74f
|
2025-07-19T20:45:50
|
|
[gvar] Don't store deltas not needed
For phantoms-only case. 30% speedup on v-advances func's slowest
codepath (using phantom-points).
|
|
d47daacb
|
2025-05-16T01:16:12
|
|
[gvar] Remove shared_tuple_active_idx cache
Reduces malloc overhead and doesn't slow things down much now that
we have a shared_tuple scalar_cache.
|
|
c6097698
|
2025-05-16T01:10:43
|
|
[ot-font/draw] Use a gvar shared-tuple scalar cache for calculate_scalar
Massive saving on massively variable fonts. Over 30% on a tested font.
|
|
f3108c4b
|
2025-05-15T18:31:51
|
|
[gvar] Remove outdated comment
|
|
756980ce
|
2025-05-15T15:50:01
|
|
[TupleVariations] Cache all active indices in shared tuples
|
|
d3e4977c
|
2025-04-02T14:04:16
|
|
[gvar] Comment
|
|
a62058ee
|
2025-03-03T01:19:52
|
|
[VARC] Separate varc scratch from glyf scratch
|
|
75ce774b
|
2025-02-28T15:25:23
|
|
[gvar] Use a method for add_delta
|
|
64dbeaf0
|
2025-02-28T00:54:39
|
|
[glyf] Mover decycler to the scratch pad
|
|
13900ce4
|
2025-02-26T13:41:52
|
|
[GVAR] Hook up to face and glyf table
|
|
ffe955b9
|
2025-02-26T13:40:18
|
|
[GVAR] Change offsetToData size to 24bit
As per https://github.com/harfbuzz/boring-expansion-spec/issues/162
|
|
894fee6d
|
2024-12-09T21:52:39
|
|
[GVAR] Implement table
Unused. It's just like `gvar` but with 24bit glyphCount.
|
|
59e6a1c4
|
2025-02-26T11:16:04
|
|
[glyf/Composite] Malloc-free
|
|
81339256
|
2025-02-25T17:59:58
|
|
[gvar] Rename two variables
|
|
87830b62
|
2025-02-25T17:59:24
|
|
[gvar] Remove unused method
|
|
dcb80ecb
|
2025-02-25T15:58:37
|
|
[gvar] Use a method
|
|
23937e8c
|
2025-02-25T15:48:23
|
|
[gvar] Combine two loops
|
|
9b451f20
|
2025-02-25T15:16:09
|
|
[gvar] Minor remove a variable
|
|
51d8ef48
|
2025-02-25T00:09:28
|
|
[gvar] Cache shared_indices as well
|
|
76c3beaf
|
2025-02-24T19:50:51
|
|
[VARC] Reduce malloc overhead
|
|
d2a88fbd
|
2025-02-12T21:48:22
|
|
[vector] Add alloc_exact()
|
|
622e9c33
|
2024-11-06T10:59:17
|
|
[instancer] fix for incorrect offset calculation when we have gvar padding
|
|
70ca19df
|
2024-09-24T08:42:44
|
|
Use hb_barrier() instead of longer name
No functional change.
|
|
6fd76e1f
|
2024-09-17T13:50:10
|
|
[subset] offset format fix in gvar table
|
|
0037ee28
|
2024-05-24T08:10:15
|
|
Merge pull request #4578 from harfbuzz/varc-table
`VARC` table
|
|
4cf606f6
|
2024-05-02T20:46:29
|
|
[instancer] Promote partial instancing api out of experimental.
|
|
e8139bea
|
2024-03-27T11:39:32
|
|
Revert "[varc] Reuse x_deltas and y_deltas vectors"
This reverts commit 604f27b3069f2ef11b045cfb35e8c3a5fd99fb8b.
Not worth it.
|
|
f97d1ea2
|
2024-03-27T11:38:58
|
|
[varc] Reuse x_deltas and y_deltas vectors
Going to revert since it has minimal improvement with
lots of piping through.
|
|
a94a5c63
|
2024-04-16T17:10:43
|
|
[varc] Add get_point_at to glyf/CFF2
|
|
b24511d2
|
2024-03-15T11:00:31
|
|
[TupleVariations] Rename encode/unpack to compile/decompile
|
|
97309483
|
2024-02-02T16:59:19
|
|
[instancer] rename HB_SUBSET_FLAGS_IUP_DELTA_OPT to HB_SUBSET_FLAGS_OPTIMIZE_IUP_DELTAS
|
|
97c85ab2
|
2024-01-26T16:36:56
|
|
[instancer] iup delta optimize: fix is_composite_glyph value in gvar
|
|
0cbc8123
|
2024-01-26T11:26:10
|
|
[instancer] add iup_optimize() call into instantiation
|
|
bb5c7ccb
|
2023-12-19T20:55:46
|
|
Also enforce IFTB requirements during instantiation of gvar.
|
|
c6884377
|
2023-11-06T20:21:46
|
|
[subset] Add HB_SUBSET_FLAGS_IFTB_REQUIREMENTS flag.
When enabled the output subset conforms to the requirements for a base font to be patched by IFTB patches. IFTB is a proposed incremental font transfer patch. This new flag is set as experimental. Currently, setting this flag causes the output subset to also use long offsets for outline data in loca/glyf, gvar, CFF, and CFF2.
This change is a version of https://github.com/skef/harfbuzz/commit/3ae2fe2084d96f61d8ad1bbe42a6ef4e62ec830a rebased onto head w/ tests added.
|
|
7ee7e2e3
|
2023-11-04T15:02:28
|
|
[sanitize] Add remaining hb_barrier() annotations
I'm sure I've forgot some. But this is a good start.
|
|
fd3eb2c6
|
2023-08-24T08:59:18
|
|
fuzzer fix: https://oss-fuzz.com/testcase-detail/6032126569742336
|
|
fb447274
|
2023-08-07T09:44:41
|
|
[instancer] add instantiate () for gvar
|
|
746b112f
|
2023-08-07T09:26:42
|
|
[instancer] add serialize () for gvar
|
|
3c86b096
|
2023-07-28T16:18:51
|
|
[instancer] Add instantiate () and compile_bytes() for gvar
-Also add support for using shared_points and shared_tuples
|
|
198612c1
|
2023-07-28T15:41:54
|
|
[instancer] add decompile_glyph_variations () for gvar
|
|
eb116e16
|
2023-07-28T15:27:07
|
|
[instancer] Add new_gid->contour_points vector map in subset plan
- Add an API in Glyph to export original contour_points vector, which is
needed by infer_deltas when merging tuple variations with the same
tent
|
|
a0f810ef
|
2023-07-28T15:04:47
|
|
[instancer] add struct glyph_variations_t for gvar
-Add compile_peak_coords () in tuple_delta_t
-Add compile_shared_tuples () for glyph_variations_t
|
|
e92eefaa
|
2023-07-02T11:35:51
|
|
[gvar] Cache two values in shared_tuple_active_idx
Speeds up varc-hangul.ttf draw_glyph by 10%.
|
|
fc38c01a
|
2023-06-29T15:29:15
|
|
Minor inline a function
|
|
a520177e
|
2023-06-29T14:56:05
|
|
[gvar] Remove unnecessary initialization
|
|
c49ca371
|
2023-06-29T12:38:45
|
|
[Glyph] Minor micro-optimize away a function call
For when coords are not set.
|
|
f5eead04
|
2023-06-28T15:07:15
|
|
[glyf/gvar] Optimize getting variable phantom points
Used when there's no HVAR table and get_h_advance().
I see some 10% speedup with a SourceSerifVariable-Roman with
the HVAR table removed.
|
|
bc6dbf43
|
2023-06-03T21:09:33
|
|
[subset/gvar] Micro-optimize
|
|
84134753
|
2023-06-03T21:08:30
|
|
[subset/gvar] Speed up for retaingids
|
|
2fb670a5
|
2023-06-03T20:56:04
|
|
[subset/gvar] Speed up for retaingids
|
|
491f2968
|
2023-05-01T15:58:57
|
|
[gvar] Micro-optimize
We don't need the flag in the case of apply_to_all.
|
|
1b74cd7c
|
2023-05-01T15:41:12
|
|
[gvar] Micro-optimize
|
|
700975f7
|
2023-04-29T11:23:56
|
|
[gvar/glyf] Minor save a variable
|
|
4a102eff
|
2023-04-28T14:38:34
|
|
[gvar] Minor always pass cache
We now check for access in calculate_scalar(), so no need to
check fof error here.
|
|
c800c0cf
|
2023-04-27T15:12:02
|
|
[Glyph] Load composite glyphs in-place
|
|
1056590f
|
2023-04-27T10:41:36
|
|
[config] Add HB_OPTIMIZE_SIZE_VAL
|
|
726590ed
|
2023-04-27T10:13:39
|
|
[gvar] Add optimize-size code path
|
|
a200f0a3
|
2023-04-26T17:29:49
|
|
[gvar] Micro-optimize
|
|
db86e977
|
2023-04-26T17:08:53
|
|
[gvar] Micro-optimize
|
|
27b8a208
|
2023-04-26T16:54:58
|
|
[gvar] Minor variable reuse
|
|
fd52c4cf
|
2023-04-26T16:27:51
|
|
[gvar] Comment
|
|
0c59c629
|
2023-04-26T16:20:16
|
|
[gvar] Micro-optimize
For cases where no deltaset applies.
|
|
2a3bf5a5
|
2023-04-26T15:58:55
|
|
[gvar] Minor error-handling
|
|
57faabb7
|
2023-04-26T15:56:04
|
|
[gvar] Micro-optimize
|
|
c5afe026
|
2023-04-26T13:44:03
|
|
[gvar] Comment
|
|
09386737
|
2023-04-26T13:19:27
|
|
[gvar] Error handling & micro-optimization
|
|
b6aa2d71
|
2023-04-26T13:06:24
|
|
[gvar] Speed up calculate_scalar more
Use a gvar-wide cache of the one active peak index for shared-tuples
that have only one active peak. This speeds up the scalar calculation.
This shows significant speedup for the CJK VarComposite font for
example since that has tens of axes with mostly only one active peak.
|
|
808a21f8
|
2023-04-25T14:03:52
|
|
[gvar] Simplify ref_points logic
|
|
78a0216a
|
2023-04-25T13:52:00
|
|
[gvar] Write a for loop as range loop
|
|
f654823f
|
2023-04-25T13:09:40
|
|
[gvar] Handle an error case
|
|
30d08dc6
|
2023-04-25T12:13:57
|
|
[gvar] Populate end_points lazily
Tiny micro-optimization...
|
|
89296036
|
2023-04-24T16:16:27
|
|
[gvar] Another minor optimization
Allocate orig_points lazily only when needed.
|
|
20454eaa
|
2023-04-24T15:50:58
|
|
[gvar] Optimize by applying deltas in batches
Shows up to 7% speedup in one of my benchmarks.
One test fails by one rounding issue. To be updated.
|
|
491aa572
|
2023-04-24T15:05:18
|
|
[gvar] Minor call a function instead of handcoding
|
|
552290f6
|
2023-03-08T10:25:26
|
|
[gvar] Fix out-of-memory access issue
Fixes https://oss-fuzz.com/testcase-detail/5953342850596864
|
|
ea17c7a8
|
2023-03-07T14:23:39
|
|
[beyond-64k] Implement gvar support
https://github.com/harfbuzz/boring-expansion-spec/issues/85
|
|
22cc73f3
|
2023-02-06T12:36:05
|
|
Move common structs for TupleVariation from gvar to var-common.hh
Also added a table_base in the iterator and related function to handle
different start address for dataoffset in cvar and gvar
|
|
c8486b63
|
2023-01-07T14:15:17
|
|
[open-type] Add to_int to fixed types
To make sure we don't accidentally forget to_float().
As we did recently in COLRv1 code.
|
|
8e468700
|
2022-12-09T18:35:30
|
|
[gvar] Take coords in instead of font in apply_deltas_to_points
|
|
0545949f
|
2022-12-04T12:44:09
|
|
[gvar] Minor use array get_size()
|
|
44be8ef4
|
2022-11-22T14:21:25
|
|
[gvar] Skip degenerate all-untouched delta-sets
|
|
656bb223
|
2022-11-22T14:16:40
|
|
[gvar] Micro-optimize unpack_points
|
|
a3830272
|
2022-11-22T14:15:17
|
|
[gvar] Cosmetic
|
|
be89919a
|
2022-11-22T13:56:20
|
|
[gvar] is_valid() remove a check
I don't know why this check was there, but it doesn't make sense
because that function never returns 0 / false.
|
|
e8ddf107
|
2022-11-22T13:29:32
|
|
[gvar] Optimize a loop
|
|
dd6fcec9
|
2022-11-22T13:27:40
|
|
[gvar] Remove a conditional
|