|
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
|
|
a0231723
|
2022-11-22T13:24:39
|
|
[gvar] Refactor deltas array access
|
|
c34c7769
|
2022-11-22T13:21:01
|
|
[gvar] Don't try IUP if all points are specified
|
|
27c4037e
|
2022-11-22T13:12:22
|
|
[gvar] Micro-optimize boundary-checking
|
|
ab8346fb
|
2022-11-22T13:07:39
|
|
[gvar] Add an unlikely
|
|
1e8a342e
|
2022-11-22T13:02:38
|
|
[gvar] Micro-optimize int types
|
|
59c45f6d
|
2022-11-22T12:54:50
|
|
Use hb_memcpy instead of memcpy consistently
|
|
2968dd78
|
2022-11-22T11:57:29
|
|
[gvar] Optimize as_array() access
|
|
bb3bb764
|
2022-11-22T11:53:35
|
|
[gvar] Optimize scalar = 1.0 case
|
|
2d098d5d
|
2022-11-22T11:51:04
|
|
[gvar] Use memset
|
|
e630a65e
|
2022-11-22T11:27:05
|
|
[gvar] Micro-optize vector extend
|
|
49d4f621
|
2022-11-22T11:14:56
|
|
[gvar] Micro-optimize
|
|
16ec9dcc
|
2022-11-22T10:43:46
|
|
[gvar] Whitespace
|
|
72059a47
|
2022-11-22T10:41:37
|
|
[gvar] Optimize IUP alg
|
|
ee9873b5
|
2022-11-22T10:23:17
|
|
[gvar] Disable initializing vectors when not necessary
|
|
a2059f8f
|
2022-11-22T10:16:21
|
|
[gvar] Optimize unpack_points
|
|
6d7206b6
|
2022-11-22T10:13:14
|
|
[gvar] Optimize unpack_deltas
|
|
2e86700e
|
2022-11-21T12:28:10
|
|
[gvar] Add memory-barrier as in ArrayOf
|
|
4be074e2
|
2022-06-27T16:12:42
|
|
[gvar] Whitespace
|
|
a9664784
|
2022-06-27T15:41:02
|
|
[gvar] Optimize apply_deltas_to_points
|
|
e9af9062
|
2022-06-27T15:38:42
|
|
[gvar] Optimize unpack_deltas
|
|
573e7728
|
2022-06-27T15:35:28
|
|
[gvar] Optimize unpack_deltas
|
|
698f5146
|
2022-06-27T15:30:19
|
|
[gvar] Share vector allocation across delta-sets
|
|
39e280c2
|
2022-06-27T15:25:50
|
|
[gvar] Handle a couple of error conditions
|
|
5be6e5dd
|
2022-06-27T15:22:16
|
|
[gvar] Rewrite linear interpolation
|
|
57519b53
|
2022-06-27T15:18:56
|
|
[gvar] Use pointer-to-member instead of function
|
|
ab15fe08
|
2022-06-27T15:13:10
|
|
[gvar] Handle a couple of error conditions
|
|
b7e9e878
|
2022-06-27T15:08:51
|
|
[gvar] Optimize deltas and points loading
|
|
97cbc2d4
|
2022-06-27T12:37:11
|
|
[gvar] Remove condition that font num_coords should match gvar's
|
|
95bfa091
|
2022-06-27T12:09:42
|
|
[gvar] Optimize translate()
|
|
9f067582
|
2022-06-27T12:08:47
|
|
[gvar] Optimize transform()
|
|
cfc57ef8
|
2022-06-27T11:56:28
|
|
[glyf] Optimize contour_point_t layout
|
|
75ca78a6
|
2022-06-27T11:55:37
|
|
[glyf] Optimize hb_contour_points_t::extend
|
|
30d58bfd
|
2022-06-26T16:47:21
|
|
[glyf] Don't translate/transform components if has no effect
|
|
9ce97730
|
2022-06-25T19:24:05
|
|
[glyf/SimpleGlyph] Minor use constructor for contour_point_t
|
|
dd71d2c1
|
2022-05-06T13:02:26
|
|
[gvar] Protect against offset underflow
|
|
9a6dabd6
|
2022-05-06T12:01:37
|
|
[gvar] Remove sanitize check for data array
We are not checking in sanitize that offset array is ascending,
so this check was bogus.
|
|
38478d10
|
2022-05-06T12:00:01
|
|
[gvar] DEFINE_SIZE_ARRAY instead of DEFINE_SIZE_MIN
|
|
90d278c9
|
2022-05-06T11:58:53
|
|
[gvar] Remove requirement that num_glyphs matches the font's
|
|
ca8a0f3e
|
2022-05-06T11:54:38
|
|
[gvar] Protect against out-of-range access
Fixes https://bugs.chromium.org/p/oss-fuzz/issues/detail?id=47281
Fixes https://oss-fuzz.com/testcase-detail/5508865908670464
|
|
3a78cf92
|
2022-03-25T12:56:44
|
|
[gvar] Fix decoding of private vs shared points
Fixes https://github.com/harfbuzz/harfbuzz/issues/3506
|
|
ac1bb3e3
|
2022-01-20T11:47:17
|
|
[machinery] Move accelerators to constructor/destructor
|
|
e062376e
|
2022-01-19T17:09:34
|
|
[machinery] Make accelerator lazy-loader call Xinit/Xfini
Instead of init/fini. To isolate those functions. To be turned into
constructor/destructors, ideally one per commit (after some SFINAE
foo.)
|
|
e2e30506
|
2022-01-16T07:00:53
|
|
Fix various typos
Found via `codespell -q 3 -S ./perf/texts -L actualy,ba,beng,fo,gir,inout,nd,ot,pres,ro,te,teh,timne`
|
|
46d4a5e6
|
2021-07-29T15:07:13
|
|
[subset] Convert subset plan to use a flags bit set.
|
|
d07f789a
|
2021-06-09T15:36:40
|
|
[subset] support option "--notdef-outline"
|
|
ad28f973
|
2021-03-31T12:49:14
|
|
Rename offset types to be explicit about their size
Add Offset16To<>, Offset24To<>, and Offset32To<> for most use-cases.
|
|
1d8a8950
|
2021-02-16T20:55:16
|
|
do not round added deltas; fixes #2866
|
|
732a9164
|
2020-08-11T16:37:55
|
|
[gvar] minor
|
|
0907c102
|
2020-08-07T00:15:32
|
|
[gvar] minor
|
|
02d1ec16
|
2020-08-06T22:18:35
|
|
[gvar] Don't fail on imprefect gvar
No need to fail even if gvar doesn't have that much glyphs
|