Commit graph

18595 commits

Author SHA1 Message Date
Behdad Esfahbod
18ab0f5522 [font] Fix serial_coords
Some checks failed
arm / arm-none-eabi (push) Waiting to run
configs-ci / build (push) Waiting to run
fontations / build (push) Waiting to run
linux-ci / build (push) Waiting to run
msvc / msvc-2019-x86 (push) Waiting to run
msys2 / CLANG64 (push) Waiting to run
macos-ci / build (push) Waiting to run
msvc / msvc-2019-amd64 (push) Waiting to run
msys2 / MINGW32 (push) Waiting to run
msys2 / MINGW64 (push) Waiting to run
Scorecard supply-chain security / Scorecard analysis (push) Failing after 2s
2025-04-03 04:04:40 -06:00
Behdad Esfahbod
c6c8dcdeca
Merge pull request #5239 from harfbuzz/alloc-free-var-shaping
Alloc free var shaping
2025-04-03 03:18:53 -06:00
Behdad Esfahbod
6f5b8d59c7 [ot-font] Streamline advance cache management 2025-04-03 02:57:48 -06:00
Behdad Esfahbod
7da049ed42 [varStore] Add clear_cache() 2025-04-02 15:22:13 -06:00
Behdad Esfahbod
da0c459dd4 [ot-font] Use helpers to acquire/release varStore cache 2025-04-02 15:22:13 -06:00
Behdad Esfahbod
37989fb4cd [ot-font] Adjust cache creation criteria for v_advances
Some checks failed
arm / arm-none-eabi (push) Waiting to run
configs-ci / build (push) Waiting to run
fontations / build (push) Waiting to run
linux-ci / build (push) Waiting to run
macos-ci / build (push) Waiting to run
msvc / msvc-2019-amd64 (push) Waiting to run
msvc / msvc-2019-x86 (push) Waiting to run
msys2 / MINGW32 (push) Waiting to run
msys2 / CLANG64 (push) Waiting to run
msys2 / MINGW64 (push) Waiting to run
Scorecard supply-chain security / Scorecard analysis (push) Failing after 1s
2025-04-02 15:03:07 -06:00
Behdad Esfahbod
d3e4977c70 [gvar] Comment
Some checks failed
arm / arm-none-eabi (push) Waiting to run
configs-ci / build (push) Waiting to run
fontations / build (push) Waiting to run
linux-ci / build (push) Waiting to run
macos-ci / build (push) Waiting to run
msvc / msvc-2019-amd64 (push) Waiting to run
msvc / msvc-2019-x86 (push) Waiting to run
msys2 / CLANG64 (push) Waiting to run
msys2 / MINGW32 (push) Waiting to run
msys2 / MINGW64 (push) Waiting to run
Scorecard supply-chain security / Scorecard analysis (push) Failing after 1s
2025-04-02 14:04:16 -06:00
Behdad Esfahbod
ef8c25ad9f [ot-font] Make advance-cache invalidation threadsafe
Some checks failed
arm / arm-none-eabi (push) Waiting to run
configs-ci / build (push) Waiting to run
fontations / build (push) Waiting to run
linux-ci / build (push) Waiting to run
macos-ci / build (push) Waiting to run
msvc / msvc-2019-amd64 (push) Waiting to run
msvc / msvc-2019-x86 (push) Waiting to run
msys2 / CLANG64 (push) Waiting to run
msys2 / MINGW32 (push) Waiting to run
msys2 / MINGW64 (push) Waiting to run
Scorecard supply-chain security / Scorecard analysis (push) Failing after 1s
Hopefully.
2025-04-02 04:00:03 -06:00
Behdad Esfahbod
bbf0c6e781 [font] Bump coords serial if face changed
Such that ot-font clears its advance cache
2025-04-02 02:11:25 -06:00
Behdad Esfahbod
321c14c920
Merge pull request #5236 from harfbuzz/cmap-cache
Some checks failed
arm / arm-none-eabi (push) Waiting to run
fontations / build (push) Waiting to run
configs-ci / build (push) Waiting to run
linux-ci / build (push) Waiting to run
msvc / msvc-2019-x86 (push) Waiting to run
msys2 / CLANG64 (push) Waiting to run
msys2 / MINGW32 (push) Waiting to run
msys2 / MINGW64 (push) Waiting to run
macos-ci / build (push) Waiting to run
msvc / msvc-2019-amd64 (push) Waiting to run
Scorecard supply-chain security / Scorecard analysis (push) Failing after 2s
[cmap] Move cache from face user-data to cmap accelerator
2025-04-01 21:39:00 -06:00
Behdad Esfahbod
7f5fafec0d [GDEF] Simplify cache declaration 2025-04-01 21:35:28 -06:00
Behdad Esfahbod
8864c264b9 [cmap] Fix initialization 2025-04-01 21:22:16 -06:00
Behdad Esfahbod
3d0816c7c4 [cache] Simplify cache declarations 2025-04-01 21:18:29 -06:00
Behdad Esfahbod
591f00a281 [cmap] Move cache from face to cmap accelerator
No need to use user-data for it.

Fixes https://github.com/harfbuzz/harfbuzz/issues/5235
2025-04-01 21:09:06 -06:00
Behdad Esfahbod
7ebe6b48b6 [cmap] Whitespace 2025-04-01 20:46:55 -06:00
Behdad Esfahbod
4d5348d660 [set-digest] Comments 2025-04-01 18:12:56 -06:00
Behdad Esfahbod
bed2d3dd2b [cache] Add assertion for cache size
Expand cmap cache since free.
2025-04-01 17:52:57 -06:00
Behdad Esfahbod
89ab5f2b21 [cache] Comments 2025-04-01 17:48:08 -06:00
Behdad Esfahbod
48e7e5a008 [cache] Document 2025-04-01 17:43:35 -06:00
Behdad Esfahbod
9f83bbbe64
Merge pull request #5233 from harfbuzz/aat-deleted-glyph-marks
Some checks failed
Scorecard supply-chain security / Scorecard analysis (push) Failing after 2s
arm / arm-none-eabi (push) Waiting to run
configs-ci / build (push) Waiting to run
fontations / build (push) Waiting to run
linux-ci / build (push) Waiting to run
msys2 / CLANG64 (push) Waiting to run
msys2 / MINGW32 (push) Waiting to run
macos-ci / build (push) Waiting to run
msvc / msvc-2019-amd64 (push) Waiting to run
msvc / msvc-2019-x86 (push) Waiting to run
msys2 / MINGW64 (push) Waiting to run
Fix AAT deleted glyph marks interaction with fallback mark positioning
2025-04-01 04:15:24 -06:00
Behdad Esfahbod
91fd40ac7c [shape] Skip hidden / ignorables during fallback mark positioning
Fixes https://github.com/harfbuzz/harfbuzz/issues/5232
2025-04-01 04:03:41 -06:00
Behdad Esfahbod
ca66c64655 [aat] Better handle deleted-glyphs
1. Set their GDEF property. Probably irrelevant to morx shaping.
2. Add them to buffer contents, since that can trigger a state
machine start action too.
2025-04-01 03:25:41 -06:00
Garret Rieger
a1e587b75a [subset] Add hb_subset_cff_get_charstrings_index and hb_subset_cff2_get_charstrings_index.
Some checks failed
arm / arm-none-eabi (push) Waiting to run
configs-ci / build (push) Waiting to run
fontations / build (push) Waiting to run
linux-ci / build (push) Waiting to run
macos-ci / build (push) Waiting to run
msvc / msvc-2019-amd64 (push) Waiting to run
msvc / msvc-2019-x86 (push) Waiting to run
msys2 / CLANG64 (push) Waiting to run
msys2 / MINGW32 (push) Waiting to run
msys2 / MINGW64 (push) Waiting to run
Scorecard supply-chain security / Scorecard analysis (push) Failing after 1s
These methods allow retrieving the entire charstrings index structure from a CFF or CFF2 table.
2025-03-31 16:28:28 -06:00
Behdad Esfahbod
a5b00faaf8 Fix build with HB_NO_DRAW 2025-03-31 14:29:16 -06:00
Behdad Esfahbod
d53cbeee41 [font] Fix warnings 2025-03-31 14:29:16 -06:00
dependabot[bot]
7c368dabae Bump setuptools from 77.0.3 to 78.1.0 in /.ci
Bumps [setuptools](https://github.com/pypa/setuptools) from 77.0.3 to 78.1.0.
- [Release notes](https://github.com/pypa/setuptools/releases)
- [Changelog](https://github.com/pypa/setuptools/blob/main/NEWS.rst)
- [Commits](https://github.com/pypa/setuptools/compare/v77.0.3...v78.1.0)

---
updated-dependencies:
- dependency-name: setuptools
  dependency-type: direct:production
  update-type: version-update:semver-major
...

Signed-off-by: dependabot[bot] <support@github.com>
2025-03-31 14:23:31 -06:00
dependabot[bot]
674ce63021 Bump github/codeql-action from 3.28.12 to 3.28.13
Bumps [github/codeql-action](https://github.com/github/codeql-action) from 3.28.12 to 3.28.13.
- [Release notes](https://github.com/github/codeql-action/releases)
- [Changelog](https://github.com/github/codeql-action/blob/main/CHANGELOG.md)
- [Commits](5f8171a638...1b549b9259)

---
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-03-31 14:23:19 -06:00
dependabot[bot]
4f5b31b7ea Bump actions/setup-python from 5.4.0 to 5.5.0
Bumps [actions/setup-python](https://github.com/actions/setup-python) from 5.4.0 to 5.5.0.
- [Release notes](https://github.com/actions/setup-python/releases)
- [Commits](42375524e2...8d9ed9ac5c)

---
updated-dependencies:
- dependency-name: actions/setup-python
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
2025-03-31 14:23:07 -06:00
Behdad Esfahbod
4cf4099f07 [ot/ft] Round glyph extents instead of floor/ceil
Some checks failed
arm / arm-none-eabi (push) Waiting to run
configs-ci / build (push) Waiting to run
fontations / build (push) Waiting to run
linux-ci / build (push) Waiting to run
macos-ci / build (push) Waiting to run
msvc / msvc-2019-amd64 (push) Waiting to run
msvc / msvc-2019-x86 (push) Waiting to run
msys2 / CLANG64 (push) Waiting to run
msys2 / MINGW32 (push) Waiting to run
msys2 / MINGW64 (push) Waiting to run
Scorecard supply-chain security / Scorecard analysis (push) Failing after 1s
1. The floor/ceil was being applied in the wrong order for y direction.
2. If the scale is negative, the floor/ceil should be reversed.

Just round them instead. That's what coretext / directwrite / fontations
font-funcs do.
2025-03-30 22:59:54 -06:00
Behdad Esfahbod
4954edb2b1 [test/vertical] Add more tests
Some checks failed
Scorecard supply-chain security / Scorecard analysis (push) Failing after 1s
arm / arm-none-eabi (push) Has been cancelled
configs-ci / build (push) Has been cancelled
fontations / build (push) Has been cancelled
linux-ci / build (push) Has been cancelled
macos-ci / build (push) Has been cancelled
msys2 / CLANG64 (push) Has been cancelled
msys2 / MINGW32 (push) Has been cancelled
msys2 / MINGW64 (push) Has been cancelled
msvc / msvc-2019-amd64 (push) Has been cancelled
msvc / msvc-2019-x86 (push) Has been cancelled
2025-03-28 19:19:57 -06:00
Behdad Esfahbod
afa0549dff [fontations] More idiomatic 2025-03-28 18:38:40 -06:00
Behdad Esfahbod
67314b205a [test/vertical] Enable some on fontations 2025-03-28 16:41:41 -06:00
Behdad Esfahbod
c260550ae5 [test/shape] Improve run-tests output on failure 2025-03-28 16:34:12 -06:00
Behdad Esfahbod
18ced8dbb1 [test/vertical] Add more tests 2025-03-28 16:31:46 -06:00
Behdad Esfahbod
17c875c309 [buffer] Minor add a function 2025-03-28 16:26:27 -06:00
Behdad Esfahbod
ea08b04752 [util] Fix --glyphs output with negative numbers 2025-03-28 16:25:58 -06:00
Behdad Esfahbod
cb44134cbf [test/vertical] Test more font-funcs 2025-03-28 15:56:13 -06:00
Behdad Esfahbod
ef95dc0e7f [vmtx] Fix v_origin when no vmtx available 2025-03-28 15:50:05 -06:00
Behdad Esfahbod
c39ac0e171 [ot] Make v_origin work for more glyph formats 2025-03-28 14:24:39 -06:00
Behdad Esfahbod
1358e38154 [fontations] Implement last bits of v_origin 2025-03-28 13:15:37 -06:00
Behdad Esfahbod
1dac21c177 [errors] Add -Wuninitialized
Works with newer clang I think.
2025-03-28 12:44:20 -06:00
Behdad Esfahbod
22f81f70cb [font] Fix var initialization 2025-03-28 12:41:01 -06:00
Behdad Esfahbod
aad5780f53 [font] Move outline emboldening to font layer
Some checks failed
arm / arm-none-eabi (push) Waiting to run
configs-ci / build (push) Waiting to run
fontations / build (push) Waiting to run
linux-ci / build (push) Waiting to run
macos-ci / build (push) Waiting to run
msvc / msvc-2019-amd64 (push) Waiting to run
msvc / msvc-2019-x86 (push) Waiting to run
msys2 / CLANG64 (push) Waiting to run
msys2 / MINGW32 (push) Waiting to run
msys2 / MINGW64 (push) Waiting to run
Scorecard supply-chain security / Scorecard analysis (push) Failing after 1s
Such that it works on all font-funcs.
2025-03-28 00:37:20 -06:00
Behdad Esfahbod
83481d65d0 [font] Move emboldening advances to the font layer
Instead of each font-funcs impl.

TODO: Do the same for draw_glyphs.
2025-03-28 00:21:20 -06:00
Behdad Esfahbod
a588761198 [font] Fix void return 2025-03-28 00:09:26 -06:00
Behdad Esfahbod
1f6da390e0 [fontations] Implement one fallback case in get_v_origin 2025-03-27 20:05:13 -06:00
Behdad Esfahbod
449752c57c [fontations] Fix get_v_advances() fallback
Was crashing without vmtx before.
2025-03-27 20:02:08 -06:00
Behdad Esfahbod
b808d1746d [fontations] Move variable scope 2025-03-27 19:52:42 -06:00
Behdad Esfahbod
9d584c4d3d [fontations] Remove stale comment 2025-03-27 19:34:54 -06:00
Behdad Esfahbod
82d664519c [subset] Fix check-symbols test
Some checks failed
arm / arm-none-eabi (push) Waiting to run
configs-ci / build (push) Waiting to run
fontations / build (push) Waiting to run
linux-ci / build (push) Waiting to run
macos-ci / build (push) Waiting to run
msvc / msvc-2019-amd64 (push) Waiting to run
msvc / msvc-2019-x86 (push) Waiting to run
msys2 / CLANG64 (push) Waiting to run
msys2 / MINGW32 (push) Waiting to run
msys2 / MINGW64 (push) Waiting to run
Scorecard supply-chain security / Scorecard analysis (push) Failing after 1s
2025-03-27 17:47:56 -06:00