Commit graph

18010 commits

Author SHA1 Message Date
Behdad Esfahbod
aaecaa4c0e [vector] Disallow accidental creation of transient vectors
Fix sites that were doing this under our feet.

This lowers precision of some instancing operations from double
to float, which modifies a few results by rounding error.

TODO: Update tests.
2025-02-25 19:02:11 +00:00
Behdad Esfahbod
827be1b23c Revert "[MultiVarStore] Micro-optimize"
This reverts commit 13d98f1ded.

This broke bots. I don't fully understand why tests pass locally.
2025-02-25 10:23:10 -07:00
Behdad Esfahbod
13d98f1ded [MultiVarStore] Micro-optimize 2025-02-25 01:40:19 -07:00
Behdad Esfahbod
9a0cf8d641 [test/subset/cff-japanese] Shrink test
Was taking too long.
2025-02-25 00:19:25 -07:00
Behdad Esfahbod
084fb3ab4f [test/subset/cmap] Shrink test
Was taking more than the rest of the test suite combined.
2025-02-25 00:16:27 -07:00
Behdad Esfahbod
51d8ef48d9 [gvar] Cache shared_indices as well 2025-02-25 00:09:28 -07:00
Behdad Esfahbod
47124e6337 [VARC] Avoid creating cache if there's no VARC table 2025-02-24 23:25:50 -07:00
Behdad Esfahbod
d5d199fbc7 [VARC] Reduce malloc pressure
By caching one hb_glyf_scratch_t on the VARC accelerator.
2025-02-24 23:20:12 -07:00
Behdad Esfahbod
2c5ab14aaa [coord-setter] Increase static array size 2025-02-24 22:50:42 -07:00
Behdad Esfahbod
a058a1f223 [TupleValues] Unroll a loop 2025-02-24 21:53:17 -07:00
Behdad Esfahbod
13ee8edf06 [vector] Speed up extend() 2025-02-24 21:17:58 -07:00
Behdad Esfahbod
46485124ea [vector] Simplify a method 2025-02-24 21:04:34 -07:00
Behdad Esfahbod
6fe550306c [TupleValues] Don't overshadow end() method 2025-02-24 20:57:30 -07:00
Behdad Esfahbod
97a5c52af4 [VARC/MultiVarStore] Reduce malloc pressure more 2025-02-24 20:53:19 -07:00
Behdad Esfahbod
6938ee0342 [VARC] More nuanced caching 2025-02-24 20:44:15 -07:00
Behdad Esfahbod
74bb7c52f3 Fix a compiler warning 2025-02-24 20:21:38 -07:00
Behdad Esfahbod
081fcbdf5a [VARC] Minor move variable closer to use 2025-02-24 20:15:24 -07:00
Behdad Esfahbod
0a1b26b862 [coord-setter] Reduce malloc pressure
~15% speedup benchmark-font draw of varc-hanzi.ttf
2025-02-24 20:07:59 -07:00
Behdad Esfahbod
76c3beaf36 [VARC] Reduce malloc overhead 2025-02-24 19:50:51 -07:00
Behdad Esfahbod
2099db378a [TupleValues] Optimize decoding 2025-02-24 15:13:08 -07:00
Behdad Esfahbod
043980a60e [TupleValues] Micro-optimize 2025-02-24 11:23:11 -07:00
dependabot[bot]
474c6e43a6 Bump github/codeql-action from 3.28.9 to 3.28.10
Bumps [github/codeql-action](https://github.com/github/codeql-action) from 3.28.9 to 3.28.10.
- [Release notes](https://github.com/github/codeql-action/releases)
- [Changelog](https://github.com/github/codeql-action/blob/main/CHANGELOG.md)
- [Commits](9e8d0789d4...b56ba49b26)

---
updated-dependencies:
- dependency-name: github/codeql-action
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2025-02-24 13:23:08 +02:00
dependabot[bot]
22e5469cec Bump ossf/scorecard-action from 2.4.0 to 2.4.1
Bumps [ossf/scorecard-action](https://github.com/ossf/scorecard-action) from 2.4.0 to 2.4.1.
- [Release notes](https://github.com/ossf/scorecard-action/releases)
- [Changelog](https://github.com/ossf/scorecard-action/blob/main/RELEASE.md)
- [Commits](62b2cac7ed...f49aabe0b5)

---
updated-dependencies:
- dependency-name: ossf/scorecard-action
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2025-02-24 13:22:54 +02:00
dependabot[bot]
5f23b9767a Bump actions/upload-artifact from 4.6.0 to 4.6.1
Bumps [actions/upload-artifact](https://github.com/actions/upload-artifact) from 4.6.0 to 4.6.1.
- [Release notes](https://github.com/actions/upload-artifact/releases)
- [Commits](65c4c4a1dd...4cec3d8aa0)

---
updated-dependencies:
- dependency-name: actions/upload-artifact
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2025-02-24 13:22:43 +02:00
Behdad Esfahbod
1ba907209f [VARC] Speed up MultiVarData::get_delta 2025-02-23 21:52:30 -07:00
Khaled Hosny
e41dc20c1c [directwrite] Fix -Wcast-align warning
https://github.com/harfbuzz/harfbuzz/pull/5079#issuecomment-2673805310
2025-02-21 10:38:52 +02:00
Khaled Hosny
694ffa8747 10.3.0 2025-02-20 23:56:59 +02:00
Khaled Hosny
03cf1565f5 [directwrite] Rename font_get_font to font_get_dw_font
https://github.com/harfbuzz/harfbuzz/pull/5079#pullrequestreview-2627407692
2025-02-20 22:16:22 +02:00
Khaled Hosny
f012442f98 Annotate printf functions with gnu_printf format under MingW
Fixes https://github.com/harfbuzz/harfbuzz/issues/5080
2025-02-20 21:53:14 +02:00
Khaled Hosny
a8fd29718a [directwrite] Add hb_directwrite_font_create()/font_get_font()
Uses hb_directwrite_face_create() under the hood, but copies variations
from directwrite to hb-font.
2025-02-20 21:40:27 +02:00
Behdad Esfahbod
7cf634290f [ot-layout] Use a variable
Doesn't make a diff in the generated code I believe,
but is nice.
2025-02-20 12:23:57 -07:00
Khaled Hosny
e28bcf58b1 Typo [ci skip] 2025-02-20 20:58:50 +02:00
Behdad Esfahbod
a2ea5d28cb [benchmark-font] Report draw times in ms, not us 2025-02-18 21:43:39 -07:00
Behdad Esfahbod
2032da0117 [ot-font] Centralize painting an outline glyph 2025-02-18 20:54:56 -07:00
Behdad Esfahbod
01f02f55a1 [COLR] Optimize NoVariation codepath 2025-02-18 20:28:48 -07:00
Behdad Esfahbod
4c263ecd00
Merge pull request #5074 from harfbuzz/tortoise-hare
[decycler] Implement an efficient graph cycle detector
2025-02-18 20:08:19 -07:00
Behdad Esfahbod
f26d9514b1 [COLR] Fix HB_LEAN build 2025-02-18 20:07:25 -07:00
Behdad Esfahbod
0bb72eeed0 [decycler] Turn off compiler warning
../src/OT/Var/VARC/../../../hb-decycler.hh:108:25: warning: storing the address of local variable ‘node’ in ‘*&c_15(D)->layers_decycler.hb_decycler_t::tortoise’ [-Wdangling-pointer=]
2025-02-18 20:02:56 -07:00
Behdad Esfahbod
c84e9b95be [decycler] Change value type from unsigned to uintptr_t
Since the node struct is gonna be 3*sizeof(void*) bytes anyway,
change value type to use the full space available.
2025-02-18 20:02:56 -07:00
Behdad Esfahbod
1c18646dd6 [decycler] Reduce stack use, kinda
Move the bool to the decycler from the node. The value can now become
a full pointer size (next commit).
2025-02-18 20:02:56 -07:00
Behdad Esfahbod
fb0e181a3e [decycler] Reduce stack use further
Down to three pointers. Exercise for the reader to prove this is
optimal.
2025-02-18 20:02:56 -07:00
Behdad Esfahbod
646da80c41 [decycler] Reduce stack use
Down from 5 pointers to 4.
2025-02-18 20:02:56 -07:00
Behdad Esfahbod
5aea89b5c4 [decycler] Don't leave a dangling pointer around
Even if it was never accessed.
2025-02-18 20:02:56 -07:00
Behdad Esfahbod
c7fc03a33a [ft-colr] Use hb_decycler_t 2025-02-18 20:02:56 -07:00
Behdad Esfahbod
bedc8d9373 [decycler] Document algorithm 2025-02-18 20:02:56 -07:00
Behdad Esfahbod
2bdf985022 [decycler] Add alternative way of using it to tests 2025-02-18 20:02:56 -07:00
Behdad Esfahbod
3cb4971729 [decycler] Add some documentation 2025-02-18 20:02:56 -07:00
Behdad Esfahbod
0667ceae87 [VARC] Reduce stack use 2025-02-18 20:02:56 -07:00
Behdad Esfahbod
4335e49a02 [VARC] Port to hb-decycler-t
5% faster on varc-hanzi test case.
2025-02-18 20:02:56 -07:00
Behdad Esfahbod
a0f83e783f [decycler] Reduce stack use
48bytes -> 40bytes per node.
2025-02-18 20:02:56 -07:00