Commit graph

16711 commits

Author SHA1 Message Date
Khaled Hosny
b4305532a7 8.0.0 2023-07-09 03:20:27 +03:00
Khaled Hosny
5b8ba51251 [doc] Fix warning about missing hb-gobject section
We don’t build hb-gobject docs anymore, lets not bother gtk-doc with it.
2023-07-09 03:20:27 +03:00
Khaled Hosny
0ed946c379 [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.
2023-07-09 03:20:27 +03:00
Khaled Hosny
afe0910295 [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.
2023-07-09 03:20:27 +03:00
Behdad Esfahbod
c6a01441d9 [sanitize] Always-inline OffsetTo::sanitize()
8% speed up in sanitizing Gulzar.
2023-07-08 16:32:45 -06:00
Behdad Esfahbod
f60dbd906a Fix thinko
Fixes https://oss-fuzz.com/testcase-detail/4787105656864768
2023-07-08 16:21:24 -06:00
Behdad Esfahbod
d84c5f29b7 Revert "[gsubgpos] Make (Chain)Context funcs templatized"
This reverts commit 03ac08d267eb7ad2f1ac039115fc0030ea475fae.
2023-07-08 16:02:50 -06:00
Behdad Esfahbod
e73223b9e5 [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.
2023-07-08 16:02:32 -06:00
Behdad Esfahbod
3e3820badd Simplify a few bool returns
Unnecessary. Cast to bool does the job.
2023-07-08 14:36:23 -06:00
Behdad Esfahbod
1c8d54deef [shape] Another always-inline 2023-07-08 14:28:07 -06:00
Behdad Esfahbod
df45067fbb [shape] More always-inline 2023-07-08 14:22:59 -06:00
Behdad Esfahbod
c3a28be509 [shape] One more always-inline 2023-07-08 14:20:45 -06:00
Behdad Esfahbod
7288123481 Allow overriding HB_ALWAYS_INLINE 2023-07-08 14:14:27 -06:00
Behdad Esfahbod
9fea19ebff [shape] Another always-inline 2023-07-08 13:56:24 -06:00
Behdad Esfahbod
5b45c56c9e [shape] Always-inline more
Another 10% speedup in BM_Shape Gulzar-Regular.
2023-07-08 13:53:36 -06:00
Behdad Esfahbod
bb9692e8a3 [shape] Always-inline match_input
10% speedup in BM_Shape Gulzar-Regular.
2023-07-08 13:45:48 -06:00
Behdad Esfahbod
6c451054fb [sanitize] Sprinkle a few unlikely's 2023-07-08 12:55:34 -06:00
Behdad Esfahbod
4ecc62c28d [sanitize] Simplify ChainRule::sanitize again
check_struct does the same now.
2023-07-08 12:53:23 -06:00
Behdad Esfahbod
253ec08b3d [sanitize] Speed up check_struct on x64 2023-07-08 12:48:05 -06:00
Behdad Esfahbod
fb02f4a897 [sanitize] Micro-optimize ChainRule::sanitize 2023-07-08 12:33:58 -06:00
Khaled Hosny
c650858c63 [graphite] Fix cluster advance width
Based on https://github.com/harfbuzz/harfbuzz/issues/4309#issuecomment-1624730406

Fixes https://github.com/harfbuzz/harfbuzz/issues/4309
2023-07-08 13:51:07 -04:00
Behdad Esfahbod
73ee9c346f Revert "[sanitize] Only check trailing edge of ranges"
This reverts commit e4856cf809.

This is wrong on at least 32-bit systems. Might add a condition
version later.
2023-07-07 22:47:20 -06:00
Behdad Esfahbod
0b879afb5a [sanitize] Inline Coverage::sanitize 2023-07-07 22:35:43 -06:00
Behdad Esfahbod
92448910a7 [sanitize] Minor inline a few more short functions 2023-07-07 22:18:18 -06:00
Behdad Esfahbod
d84504206c [sanitize] Optimize away an overflow check when not needed
When the length argument is 16bit...
2023-07-07 22:02:05 -06:00
Behdad Esfahbod
e4856cf809 [sanitize] Only check trailing edge of ranges
Assumptions...

Speeds up Gulzar load_face_and_shape benchmark by 7%.
2023-07-07 23:57:45 -04:00
Behdad Esfahbod
6a683ea6eb [sanitize] Enlighten check_range() some more
No need to check for len=0 arrays. They must still be in range.
2023-07-07 21:02:15 -06:00
Behdad Esfahbod
c24ea1036b [sanitize] Minor tweak to len=0 case which is handled otherwise anyway 2023-07-07 20:43:20 -06:00
Behdad Esfahbod
403bc7caa4 [sanitize] Simplify Rule::sanitize() 2023-07-07 20:17:32 -06:00
Behdad Esfahbod
385896ff66 [sanitize] Speed up ChainRule::sanitize()
10% speedup in sanitizing Gulzar-Regular.
2023-07-07 19:56:19 -06:00
Behdad Esfahbod
2006d3211f [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...
2023-07-07 19:24:01 -06:00
Behdad Esfahbod
7a85663c2b Revert "[sanitize] Add "fastpath" for ArrayOfOffset16To<> objects with max size"
This reverts commit 10f8556c73.

This was, unfortunately, wrong :(.
2023-07-07 19:21:53 -06:00
Behdad Esfahbod
f2a3680fab Revert "[gsubgpos] Limit (Chain)ContextFormat3 for consistency"
This reverts commit 90b48917da.
2023-07-07 19:21:03 -06:00
Behdad Esfahbod
90b48917da [gsubgpos] Limit (Chain)ContextFormat3 for consistency 2023-07-07 18:52:28 -06:00
Behdad Esfahbod
3b02f694e8 [sanitize/GSUBGPOS] Limit max-size of a few offset arrays
This significantly speeds up Gulzar-Regular sanitize, by 40%.
2023-07-07 18:40:43 -06:00
Behdad Esfahbod
10f8556c73 [sanitize] Add "fastpath" for ArrayOfOffset16To<> objects with max size 2023-07-07 18:37:03 -06:00
Behdad Esfahbod
68b7891459 [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...
2023-07-07 17:33:13 -06:00
Behdad Esfahbod
90752cd5b7 [type] Add HeadlessArray16Of 2023-07-07 15:47:28 -06:00
Behdad Esfahbod
59abcda269 [sanitize] Add an ALWAYS_INLINE
Looks like it was always inlined anyway.
2023-07-07 15:45:40 -06:00
Behdad Esfahbod
45a1721230 [ot-font] Prefer CFF2 over CFF1 2023-07-06 16:06:50 -06:00
أحمد المحمودي
43d0aff672
[introspection] Pass both libharfbuzz_gobject & libharfbuzz as positional parameters
Fixes #4304
2023-07-04 09:22:53 +03:00
Behdad Esfahbod
25297408de [COLR] Fix PaintComposite sanitize timeout
Was timing out after recent sanitize() change.

Fixes https://oss-fuzz.com/testcase-detail/5692635449524224
2023-07-03 10:35:27 -06:00
dependabot[bot]
a8c655e651 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>
2023-07-03 11:44:38 -04:00
Behdad Esfahbod
de2c10732d [ot-map] Speed up for default shaper
Sort late, the reduced number of features.
2023-07-02 16:53:41 -06:00
Behdad Esfahbod
8156c5a685 [ot-map] Minor micro-optimize 2023-07-02 16:35:32 -06:00
Behdad Esfahbod
5ac9eaa035 [sanitize] Minor micro-optimize 2023-07-02 16:18:08 -06:00
Behdad Esfahbod
e8948d634e [set-digest] Micro-optimize more 2023-07-02 15:37:24 -06:00
Behdad Esfahbod
cb73ba7104 [set-digest] Fixup for previous commit 2023-07-02 15:28:39 -06:00
Behdad Esfahbod
918ad89294 [set-digest] Early terminate add_range() if we're full 2023-07-02 14:56:20 -06:00
Behdad Esfahbod
bb33675e60 [sanitize] Micro-optimize check_range() 2023-07-02 14:11:40 -06:00