Log

Author Commit Date CI Message
Behdad Esfahbod 04ee306b 2023-07-09T07:37:57 [subset/hmtx] Another TODO
Behdad Esfahbod caef35b3 2023-07-09T07:23:16 [subset/hmtx] TODO
Behdad Esfahbod 982554c7 2023-07-09T06:58:02 [subset/cff1] Speed up plan_subset_charset more 16% speed up in retaingid subsetting NotoSansCJKkr-Regular.otf.
Khaled Hosny 15d8f0ca 2023-07-09T10:56:36 [doc] Fix warning: Section has no title and no file Move the private macros to the hb-common section, instead of a file-less one.
Behdad Esfahbod e60ec9dc 2023-07-08T20:47:34 [subset/cff2] Speedup retaingids serialize 10% speedup in subset_glyphs/SourceHanSans-VF.otf/retaingids/10
Behdad Esfahbod b583978b 2023-07-08T20:41:58 [subset/DeltaSetMapIndex] Speedup retaingids serialize()
Behdad Esfahbod 3505486a 2023-07-08T20:28:45 [subset/DeltaSetMapIndex] Micro-optimize
Behdad Esfahbod c8f6ae1d 2023-07-08T20:21:49 [subset/hvar/retaingids] Synthesize a DeltaSetIndexMap if needed Before we were emitting the entire VarStore rows if advMap was Null. Instead, synthesize an advMap. 20% speed up in subset_glyphs/SourceHanSans-VF.otf/retaingids benchmark.
Behdad Esfahbod 1f4645c6 2023-07-08T18:49:47 [subset/hvar] Speed up
Khaled Hosny 8d99db5c 2023-07-09T03:41:48 [wasm] Typo [ci skip]
Behdad Esfahbod 8115033a 2023-07-08T18:33:13 [hvar] Speed up retaingids planning 35% speedup in: BM_subset/subset_glyphs/SourceHanSans-VF.otf/retaingids/10
Behdad Esfahbod 1fe1a497 2023-07-08T18:24:09 [bimap] Minor vector pre-alloc
Behdad Esfahbod 7a7001df 2023-07-08T17:48:00 Typo
Khaled Hosny 0ed946c3 2023-07-09T03:01:47 [wasm] Fix warning In file included from src/harfbuzz.cc:62: src/hb-wasm-shape.cc:27:9: warning: 'HB_DEBUG_WASM' macro redefined [-Wmacro-redefined] ^ src/hb-debug.hh:393:9: note: previous definition is here ^ 1 warning generated.
Khaled Hosny afe09102 2023-07-09T02:45:52 [font] Actually deprecate get_glyph_shape() We previously marked it as deprecated in the documentation but didn’t actually deprecate it in code. Now the only known users have migrated to draw_glyph(), lets deprecate o=it for good.
Khaled Hosny b4305532 2023-07-09T02:54:30 8.0.0
Khaled Hosny 5b8ba512 2023-07-09T02:50:45 [doc] Fix warning about missing hb-gobject section We don’t build hb-gobject docs anymore, lets not bother gtk-doc with it.
Behdad Esfahbod c6a01441 2023-07-08T16:32:15 [sanitize] Always-inline OffsetTo::sanitize() 8% speed up in sanitizing Gulzar.
Behdad Esfahbod f60dbd90 2023-07-08T16:21:24 Fix thinko Fixes https://oss-fuzz.com/testcase-detail/4787105656864768
Behdad Esfahbod d84c5f29 2023-07-08T15:22:51 Revert "[gsubgpos] Make (Chain)Context funcs templatized" This reverts commit 03ac08d267eb7ad2f1ac039115fc0030ea475fae.
Behdad Esfahbod e73223b9 2023-07-08T15:22:18 [gsubgpos] Make (Chain)Context funcs templatized Unfortunately they still won't be inlined because the matcher_t needs function pointers. So, no speed up. Going to revert.
Behdad Esfahbod 3e3820ba 2023-07-08T14:36:23 Simplify a few bool returns Unnecessary. Cast to bool does the job.
Behdad Esfahbod 1c8d54de 2023-07-08T14:28:07 [shape] Another always-inline
Behdad Esfahbod df45067f 2023-07-08T14:22:59 [shape] More always-inline
Behdad Esfahbod c3a28be5 2023-07-08T14:20:45 [shape] One more always-inline
Behdad Esfahbod 72881234 2023-07-08T14:14:27 Allow overriding HB_ALWAYS_INLINE
Behdad Esfahbod 9fea19eb 2023-07-08T13:56:24 [shape] Another always-inline
Behdad Esfahbod 5b45c56c 2023-07-08T13:47:41 [shape] Always-inline more Another 10% speedup in BM_Shape Gulzar-Regular.
Behdad Esfahbod bb9692e8 2023-07-08T13:45:48 [shape] Always-inline match_input 10% speedup in BM_Shape Gulzar-Regular.
Behdad Esfahbod 6c451054 2023-07-08T12:55:34 [sanitize] Sprinkle a few unlikely's
Behdad Esfahbod 4ecc62c2 2023-07-08T12:53:23 [sanitize] Simplify ChainRule::sanitize again check_struct does the same now.
Behdad Esfahbod 253ec08b 2023-07-08T12:48:05 [sanitize] Speed up check_struct on x64
Behdad Esfahbod fb02f4a8 2023-07-08T12:29:18 [sanitize] Micro-optimize ChainRule::sanitize
Khaled Hosny c650858c 2023-07-08T13:57:05 [graphite] Fix cluster advance width Based on https://github.com/harfbuzz/harfbuzz/issues/4309#issuecomment-1624730406 Fixes https://github.com/harfbuzz/harfbuzz/issues/4309
Behdad Esfahbod 73ee9c34 2023-07-07T22:47:20 Revert "[sanitize] Only check trailing edge of ranges" This reverts commit e4856cf8098b9741a910e7f7979096cf11d8fead. This is wrong on at least 32-bit systems. Might add a condition version later.
Behdad Esfahbod 0b879afb 2023-07-07T22:35:43 [sanitize] Inline Coverage::sanitize
Behdad Esfahbod 92448910 2023-07-07T22:16:24 [sanitize] Minor inline a few more short functions
Behdad Esfahbod d8450420 2023-07-07T21:56:17 [sanitize] Optimize away an overflow check when not needed When the length argument is 16bit...
Behdad Esfahbod e4856cf8 2023-07-07T21:21:33 [sanitize] Only check trailing edge of ranges Assumptions... Speeds up Gulzar load_face_and_shape benchmark by 7%.
Behdad Esfahbod 6a683ea6 2023-07-07T21:02:15 [sanitize] Enlighten check_range() some more No need to check for len=0 arrays. They must still be in range.
Behdad Esfahbod c24ea103 2023-07-07T20:43:20 [sanitize] Minor tweak to len=0 case which is handled otherwise anyway
Behdad Esfahbod 403bc7ca 2023-07-07T20:17:32 [sanitize] Simplify Rule::sanitize()
Behdad Esfahbod 385896ff 2023-07-07T19:56:19 [sanitize] Speed up ChainRule::sanitize() 10% speedup in sanitizing Gulzar-Regular.
Behdad Esfahbod 2006d321 2023-07-07T17:07:11 [sanitize] Add "fastpath" for ArrayOfOffset16To<> objects with max size Unfortunately this doesn't speed up NotoNastaliq or Gulzar as I was hoping for. Their GSUB tables are not large enough for this to kick in...
Behdad Esfahbod 7a85663c 2023-07-07T19:21:18 Revert "[sanitize] Add "fastpath" for ArrayOfOffset16To<> objects with max size" This reverts commit 10f8556c73f3cf231c6b5a900a6a1903f9516f90. This was, unfortunately, wrong :(.
Behdad Esfahbod f2a3680f 2023-07-07T19:21:03 Revert "[gsubgpos] Limit (Chain)ContextFormat3 for consistency" This reverts commit 90b48917dadbef51bc5e90904d0f81e81199b9e2.
Behdad Esfahbod 90b48917 2023-07-07T18:50:01 [gsubgpos] Limit (Chain)ContextFormat3 for consistency
Behdad Esfahbod 3b02f694 2023-07-07T18:39:28 [sanitize/GSUBGPOS] Limit max-size of a few offset arrays This significantly speeds up Gulzar-Regular sanitize, by 40%.
Behdad Esfahbod 10f8556c 2023-07-07T17:07:11 [sanitize] Add "fastpath" for ArrayOfOffset16To<> objects with max size
Behdad Esfahbod 68b78914 2023-07-07T17:07:11 [sanitize] Add "fastpath" for ArrayOfOffset16To<> objects with max size Unfortunately this doesn't speed up NotoNastaliq or Gulzar as I was hoping for. Their GSUB tables are not large enough for this to kick in...
Behdad Esfahbod 90752cd5 2023-07-07T15:47:28 [type] Add HeadlessArray16Of
Behdad Esfahbod 59abcda2 2023-07-07T14:27:18 [sanitize] Add an ALWAYS_INLINE Looks like it was always inlined anyway.
Behdad Esfahbod 45a17212 2023-07-06T16:06:50 [ot-font] Prefer CFF2 over CFF1
أحمد المحمودي 43d0aff6 2023-07-04T09:22:53 [introspection] Pass both libharfbuzz_gobject & libharfbuzz as positional parameters Fixes #4304
Behdad Esfahbod 25297408 2023-07-03T10:34:26 [COLR] Fix PaintComposite sanitize timeout Was timing out after recent sanitize() change. Fixes https://oss-fuzz.com/testcase-detail/5692635449524224
dependabot[bot] a8c655e6 2023-07-03T10:17:36 Bump actions/checkout from 3.5.1 to 3.5.3 Bumps [actions/checkout](https://github.com/actions/checkout) from 3.5.1 to 3.5.3. - [Release notes](https://github.com/actions/checkout/releases) - [Changelog](https://github.com/actions/checkout/blob/main/CHANGELOG.md) - [Commits](https://github.com/actions/checkout/compare/v3.5.1...c85c95e3d7251135ab7dc9ce3241c5835cc595a9) --- updated-dependencies: - dependency-name: actions/checkout dependency-type: direct:production update-type: version-update:semver-patch ... Signed-off-by: dependabot[bot] <support@github.com>
Behdad Esfahbod de2c1073 2023-07-02T16:44:48 [ot-map] Speed up for default shaper Sort late, the reduced number of features.
Behdad Esfahbod 8156c5a6 2023-07-02T16:35:32 [ot-map] Minor micro-optimize
Behdad Esfahbod 5ac9eaa0 2023-07-02T16:18:08 [sanitize] Minor micro-optimize
Behdad Esfahbod e8948d63 2023-07-02T15:35:18 [set-digest] Micro-optimize more
Behdad Esfahbod cb73ba71 2023-07-02T15:27:26 [set-digest] Fixup for previous commit
Behdad Esfahbod 918ad892 2023-07-02T14:54:24 [set-digest] Early terminate add_range() if we're full
Behdad Esfahbod bb33675e 2023-07-02T14:11:40 [sanitize] Micro-optimize check_range()
Behdad Esfahbod d1c82a1c 2023-07-02T13:38:22 [sanitize] Speed up check_struct() Don't account for length here. Should not be a problem. Fingers crossed fuzzers. 18% speed up in load_face_and_shape Gulzar-Regular.
Behdad Esfahbod ec943866 2023-07-02T13:29:53 [OffsetTo] Micro-optimize away a check
Behdad Esfahbod eae82788 2023-07-02T13:07:26 [GPOS] Micro-optimize lazy_some_gpos check Speeds up 11% in: BM_Font/load_face_and_shape/Roboto-Regular.ttf/hb
Behdad Esfahbod 46e54a23 2023-07-02T13:03:16 [GPOS] Remove extra check
Behdad Esfahbod 13438da1 2023-07-02T12:56:13 [benchmark-font] Minor move a variable
Behdad Esfahbod 7f5380fe 2023-07-02T12:19:22 [Composite] Don't apply transformation if phantom_only
Behdad Esfahbod 0cf759b0 2023-07-02T12:15:43 [Glyph] Don't shift anchored Composite if phantom_only Fixes https://oss-fuzz.com/testcase-detail/5114131137822720
Behdad Esfahbod 645bde47 2023-07-02T12:07:22 [Glyph] Pass phantom-only to gvar only for SIMPLE glyphs For Composites we need to get the translation offset deltas.
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 7d72fdd5 2023-07-02T09:55:37 [benchmark-font] Do some work in draw_glyph callbacks For no good reason other than matching what I'm adding to skrifa benchmark. Doesn't seem to affect benchmarks whatsoever.
Behdad Esfahbod 47b5ee67 2023-07-01T14:48:39 Merge pull request #4306 from harfbuzz/gpos-lazy-device GPOS lazy Device
Behdad Esfahbod 2d6091fc 2023-06-30T11:48:56 [GPOS] Make AnchorMatrix sanitize lazy again Was reverted in the previous commit, because it was incomplete.
Behdad Esfahbod 0887382c 2023-06-30T11:39:46 [GPOS] Fix sanitize
Behdad Esfahbod 83eb744e 2023-06-30T11:33:39 [sanizie] Inline check_range if not OPTIMIZE_SIZE BM_Font/load_face_and_shape/NotoNastaliqUrdu-Regular.ttf/hb -0.1046 -0.1051 194 173 193 172 BM_Font/load_face_and_shape/NotoSerifMyanmar-Regular.otf/hb -0.2401 -0.2412 36 27 36 27
Behdad Esfahbod 690af7aa 2023-06-30T10:36:01 [GPOS] Sanitize Device tables lazily This speeds up face loading for variable fonts by 80%! Comparing before to after Benchmark Time CPU Time Old Time New CPU Old CPU New --------------------------------------------------------------------------------------------------------------------------------------------------------------- BM_Font/load_face_and_shape/Roboto-Regular.ttf/hb -0.0368 -0.0366 20 20 20 19 BM_Font/load_face_and_shape/RobotoFlex-Variable.ttf/hb -0.7149 -0.7162 77 22 77 22 BM_Font/load_face_and_shape/RobotoFlex-Variable.ttf/var/hb -0.7241 -0.7255 80 22 79 22 BM_Font/load_face_and_shape/SourceSansPro-Regular.otf/hb -0.1441 -0.1445 28 24 28 24 BM_Font/load_face_and_shape/AdobeVFPrototype.otf/hb -0.7893 -0.7910 66 14 66 14 BM_Font/load_face_and_shape/AdobeVFPrototype.otf/var/hb -0.7865 -0.7882 67 14 66 14 BM_Font/load_face_and_shape/SourceSerifVariable-Roman.ttf/hb -0.8895 -0.8900 227 25 226 25 BM_Font/load_face_and_shape/SourceSerifVariable-Roman.ttf/var/hb -0.8895 -0.8900 226 25 225 25 BM_Font/load_face_and_shape/Comfortaa-Regular-new.ttf/hb -0.5512 -0.5531 42 19 42 19 BM_Font/load_face_and_shape/NotoNastaliqUrdu-Regular.ttf/hb -0.1511 -0.1510 227 192 225 191 BM_Font/load_face_and_shape/NotoSerifMyanmar-Regular.otf/hb -0.1494 -0.1498 41 35 40 34 OVERALL_GEOMEAN -0.6443 -0.6456 0 0 0 0
Behdad Esfahbod 7a356682 2023-06-30T10:50:25 Minor variable fix
Behdad Esfahbod d338506c 2023-06-30T10:13:05 [GPOS] Reuse sanitize_values_stride_unsafe in another function
Behdad Esfahbod 0fceaef0 2023-06-30T08:50:49 [benchmark-subset] Report in microseconds, not milli We're in that range now. :)
Behdad Esfahbod 547dc1a4 2023-06-30T08:48:43 [benchmark-font] Add load_face_and_shape benchmark To measure face-loading performance
Behdad Esfahbod fcf70af1 2023-06-30T08:43:10 [perf] Fix break
Behdad Esfahbod 794fac32 2023-06-29T20:55:52 [glyf] Minor another range for loop
Behdad Esfahbod 0ae16766 2023-06-29T20:38:42 [CompositeGlyph] Minor use a range for loop
Behdad Esfahbod 05c01ad5 2023-06-29T16:49:20 [SimpleGlyph] Minor use a range for loop
Behdad Esfahbod 4123e0c7 2023-06-29T16:27:35 [path-builder] Speed up mid-point calculation
Behdad Esfahbod 73376b24 2023-06-29T16:14:45 [subset/cff1] More error handling
Behdad Esfahbod cc44b3bc 2023-06-29T16:12:10 [subset/cff1] Handle an error condition Fixes https://oss-fuzz.com/testcase-detail/5191907895279616
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 ca44c38c 2023-06-29T14:41:21 Add HB_ALWAYS_INLINE With MSVC implementation as well.
Behdad Esfahbod 0a00dc0c 2023-06-29T14:17:47 [draw] Add a few unlikely's
Behdad Esfahbod 2d9c3da0 2023-06-29T13:31:11 [draw] Inline more functions
Behdad Esfahbod 17f29c81 2023-06-29T13:27:09 [benchmark_font/draw_glyphs] Implement quadratic_to Not interested in the fallback implementation here.
Behdad Esfahbod d26b3ade 2023-06-29T13:25:52 [draw-session] Inline small functions
Behdad Esfahbod 7aba1e6d 2023-06-29T12:44:34 [cache] Minor use a range for loop
Behdad Esfahbod afae537c 2023-06-29T12:42:44 [cache] Minor remove .init() Use constructor.
Behdad Esfahbod c49ca371 2023-06-29T12:38:45 [Glyph] Minor micro-optimize away a function call For when coords are not set.
Behdad Esfahbod 5fb7b02a 2023-06-29T12:28:43 [CompositeGlyph] Minor use range loop