src/hb-ot-var-gvar-table.hh


Log

Author Commit Date CI Message
Qunxin Liu fb447274 2023-08-07T09:44:41 [instancer] add instantiate () for gvar
Qunxin Liu 746b112f 2023-08-07T09:26:42 [instancer] add serialize () for gvar
Qunxin Liu 3c86b096 2023-07-28T16:18:51 [instancer] Add instantiate () and compile_bytes() for gvar -Also add support for using shared_points and shared_tuples
Qunxin Liu 198612c1 2023-07-28T15:41:54 [instancer] add decompile_glyph_variations () for gvar
Qunxin Liu 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
Qunxin Liu 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
Behdad Esfahbod e92eefaa 2023-07-02T11:35:51 [gvar] Cache two values in shared_tuple_active_idx Speeds up varc-hangul.ttf draw_glyph by 10%.
Behdad Esfahbod fc38c01a 2023-06-29T15:29:15 Minor inline a function
Behdad Esfahbod a520177e 2023-06-29T14:56:05 [gvar] Remove unnecessary initialization
Behdad Esfahbod c49ca371 2023-06-29T12:38:45 [Glyph] Minor micro-optimize away a function call For when coords are not set.
Behdad Esfahbod 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.
Behdad Esfahbod bc6dbf43 2023-06-03T21:09:33 [subset/gvar] Micro-optimize
Behdad Esfahbod 84134753 2023-06-03T21:08:30 [subset/gvar] Speed up for retaingids
Behdad Esfahbod 2fb670a5 2023-06-03T20:56:04 [subset/gvar] Speed up for retaingids
Behdad Esfahbod 491f2968 2023-05-01T15:58:57 [gvar] Micro-optimize We don't need the flag in the case of apply_to_all.
Behdad Esfahbod 1b74cd7c 2023-05-01T15:41:12 [gvar] Micro-optimize
Behdad Esfahbod 700975f7 2023-04-29T11:23:56 [gvar/glyf] Minor save a variable
Behdad Esfahbod 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.
Behdad Esfahbod c800c0cf 2023-04-27T15:12:02 [Glyph] Load composite glyphs in-place
Behdad Esfahbod 1056590f 2023-04-27T10:41:36 [config] Add HB_OPTIMIZE_SIZE_VAL
Behdad Esfahbod 726590ed 2023-04-27T10:13:39 [gvar] Add optimize-size code path
Behdad Esfahbod a200f0a3 2023-04-26T17:29:49 [gvar] Micro-optimize
Behdad Esfahbod db86e977 2023-04-26T17:08:53 [gvar] Micro-optimize
Behdad Esfahbod 27b8a208 2023-04-26T16:54:58 [gvar] Minor variable reuse
Behdad Esfahbod fd52c4cf 2023-04-26T16:27:51 [gvar] Comment
Behdad Esfahbod 0c59c629 2023-04-26T16:20:16 [gvar] Micro-optimize For cases where no deltaset applies.
Behdad Esfahbod 2a3bf5a5 2023-04-26T15:58:55 [gvar] Minor error-handling
Behdad Esfahbod 57faabb7 2023-04-26T15:56:04 [gvar] Micro-optimize
Behdad Esfahbod c5afe026 2023-04-26T13:44:03 [gvar] Comment
Behdad Esfahbod 09386737 2023-04-26T13:19:27 [gvar] Error handling & micro-optimization
Behdad Esfahbod 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.
Behdad Esfahbod 808a21f8 2023-04-25T14:03:52 [gvar] Simplify ref_points logic
Behdad Esfahbod 78a0216a 2023-04-25T13:52:00 [gvar] Write a for loop as range loop
Behdad Esfahbod f654823f 2023-04-25T13:09:40 [gvar] Handle an error case
Behdad Esfahbod 30d08dc6 2023-04-25T12:13:57 [gvar] Populate end_points lazily Tiny micro-optimization...
Behdad Esfahbod 89296036 2023-04-24T16:16:27 [gvar] Another minor optimization Allocate orig_points lazily only when needed.
Behdad Esfahbod 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.
Behdad Esfahbod 491aa572 2023-04-24T15:05:18 [gvar] Minor call a function instead of handcoding
Behdad Esfahbod 552290f6 2023-03-08T10:25:26 [gvar] Fix out-of-memory access issue Fixes https://oss-fuzz.com/testcase-detail/5953342850596864
Behdad Esfahbod ea17c7a8 2023-03-07T14:23:39 [beyond-64k] Implement gvar support https://github.com/harfbuzz/boring-expansion-spec/issues/85
Qunxin Liu 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
Behdad Esfahbod 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.
Behdad Esfahbod 8e468700 2022-12-09T18:35:30 [gvar] Take coords in instead of font in apply_deltas_to_points
Behdad Esfahbod 0545949f 2022-12-04T12:44:09 [gvar] Minor use array get_size()
Behdad Esfahbod 44be8ef4 2022-11-22T14:21:25 [gvar] Skip degenerate all-untouched delta-sets
Behdad Esfahbod 656bb223 2022-11-22T14:16:40 [gvar] Micro-optimize unpack_points
Behdad Esfahbod a3830272 2022-11-22T14:15:17 [gvar] Cosmetic
Behdad Esfahbod 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.
Behdad Esfahbod e8ddf107 2022-11-22T13:29:32 [gvar] Optimize a loop
Behdad Esfahbod dd6fcec9 2022-11-22T13:27:40 [gvar] Remove a conditional
Behdad Esfahbod a0231723 2022-11-22T13:24:39 [gvar] Refactor deltas array access
Behdad Esfahbod c34c7769 2022-11-22T13:21:01 [gvar] Don't try IUP if all points are specified
Behdad Esfahbod 27c4037e 2022-11-22T13:12:22 [gvar] Micro-optimize boundary-checking
Behdad Esfahbod ab8346fb 2022-11-22T13:07:39 [gvar] Add an unlikely
Behdad Esfahbod 1e8a342e 2022-11-22T13:02:38 [gvar] Micro-optimize int types
Behdad Esfahbod 59c45f6d 2022-11-22T12:54:50 Use hb_memcpy instead of memcpy consistently
Behdad Esfahbod 2968dd78 2022-11-22T11:57:29 [gvar] Optimize as_array() access
Behdad Esfahbod bb3bb764 2022-11-22T11:53:35 [gvar] Optimize scalar = 1.0 case
Behdad Esfahbod 2d098d5d 2022-11-22T11:51:04 [gvar] Use memset
Behdad Esfahbod e630a65e 2022-11-22T11:27:05 [gvar] Micro-optize vector extend
Behdad Esfahbod 49d4f621 2022-11-22T11:14:56 [gvar] Micro-optimize
Behdad Esfahbod 16ec9dcc 2022-11-22T10:43:46 [gvar] Whitespace
Behdad Esfahbod 72059a47 2022-11-22T10:41:37 [gvar] Optimize IUP alg
Behdad Esfahbod ee9873b5 2022-11-22T10:23:17 [gvar] Disable initializing vectors when not necessary
Behdad Esfahbod a2059f8f 2022-11-22T10:16:21 [gvar] Optimize unpack_points
Behdad Esfahbod 6d7206b6 2022-11-22T10:13:14 [gvar] Optimize unpack_deltas
Behdad Esfahbod 2e86700e 2022-11-21T12:28:10 [gvar] Add memory-barrier as in ArrayOf
Behdad Esfahbod 4be074e2 2022-06-27T16:12:42 [gvar] Whitespace
Behdad Esfahbod a9664784 2022-06-27T15:41:02 [gvar] Optimize apply_deltas_to_points
Behdad Esfahbod e9af9062 2022-06-27T15:38:42 [gvar] Optimize unpack_deltas
Behdad Esfahbod 573e7728 2022-06-27T15:35:28 [gvar] Optimize unpack_deltas
Behdad Esfahbod 698f5146 2022-06-27T15:30:19 [gvar] Share vector allocation across delta-sets
Behdad Esfahbod 39e280c2 2022-06-27T15:25:50 [gvar] Handle a couple of error conditions
Behdad Esfahbod 5be6e5dd 2022-06-27T15:22:16 [gvar] Rewrite linear interpolation
Behdad Esfahbod 57519b53 2022-06-27T15:18:56 [gvar] Use pointer-to-member instead of function
Behdad Esfahbod ab15fe08 2022-06-27T15:13:10 [gvar] Handle a couple of error conditions
Behdad Esfahbod b7e9e878 2022-06-27T15:08:51 [gvar] Optimize deltas and points loading
Behdad Esfahbod 97cbc2d4 2022-06-27T12:37:11 [gvar] Remove condition that font num_coords should match gvar's
Behdad Esfahbod 95bfa091 2022-06-27T12:09:42 [gvar] Optimize translate()
Behdad Esfahbod 9f067582 2022-06-27T12:08:47 [gvar] Optimize transform()
Behdad Esfahbod cfc57ef8 2022-06-27T11:56:28 [glyf] Optimize contour_point_t layout
Behdad Esfahbod 75ca78a6 2022-06-27T11:55:37 [glyf] Optimize hb_contour_points_t::extend
Behdad Esfahbod 30d58bfd 2022-06-26T16:47:21 [glyf] Don't translate/transform components if has no effect
Behdad Esfahbod 9ce97730 2022-06-25T19:24:05 [glyf/SimpleGlyph] Minor use constructor for contour_point_t
Behdad Esfahbod dd71d2c1 2022-05-06T13:02:26 [gvar] Protect against offset underflow
Behdad Esfahbod 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.
Behdad Esfahbod 38478d10 2022-05-06T12:00:01 [gvar] DEFINE_SIZE_ARRAY instead of DEFINE_SIZE_MIN
Behdad Esfahbod 90d278c9 2022-05-06T11:58:53 [gvar] Remove requirement that num_glyphs matches the font's
Behdad Esfahbod 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
Behdad Esfahbod 3a78cf92 2022-03-25T12:56:44 [gvar] Fix decoding of private vs shared points Fixes https://github.com/harfbuzz/harfbuzz/issues/3506
Behdad Esfahbod ac1bb3e3 2022-01-20T11:47:17 [machinery] Move accelerators to constructor/destructor
Behdad Esfahbod 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.)
luz paz 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`
Garret Rieger 46d4a5e6 2021-07-29T15:07:13 [subset] Convert subset plan to use a flags bit set.
Qunxin Liu d07f789a 2021-06-09T15:36:40 [subset] support option "--notdef-outline"
Behdad Esfahbod ad28f973 2021-03-31T12:49:14 Rename offset types to be explicit about their size Add Offset16To<>, Offset24To<>, and Offset32To<> for most use-cases.
justvanrossum 1d8a8950 2021-02-16T20:55:16 do not round added deltas; fixes #2866
ebraminio 732a9164 2020-08-11T16:37:55 [gvar] minor
Ebrahim Byagowi 0907c102 2020-08-07T00:15:32 [gvar] minor
Ebrahim Byagowi 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