Commit graph

18575 commits

Author SHA1 Message Date
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
Behdad Esfahbod
7ba0368200 [test] Enable aat-trak on all font funcs now 2025-03-27 17:14:22 -06:00
Garret Rieger
283ab21841 [subset] remove CFF/CFF2 table presence checks.
Not needed now that we are checking accelerator validity.
2025-03-27 16:35:35 -06:00
Behdad Esfahbod
0752e5852b
Merge pull request #5219 from harfbuzz/gid_data
[subset] Add API for retrieving the raw per glyph outline data from CFF and CFF2.
2025-03-27 16:12:14 -06:00
Garret Rieger
ae8b288db7 [subset] Correctly handle lifetime of charstrings data blob returned by hb_subset_cff_get_charstring_data. 2025-03-27 22:07:06 +00:00
Behdad Esfahbod
c50c0a39e5
Merge pull request #5223 from harfbuzz/trak-back
Revert "[ot-font/trak] Move trak application to ot-font instead of ot…
2025-03-27 15:43:49 -06:00
Behdad Esfahbod
b4fd777c23 [aat] Remove hb_aat_layout_get_tracking() again
https://github.com/harfbuzz/harfbuzz/pull/5223
2025-03-27 15:37:01 -06:00
Qunxin Liu
5ebe36e1ac [subset] bug fix for CaretValueFormat3
Don't return false in case of a Hinting Device table
2025-03-27 15:12:42 -06:00
Behdad Esfahbod
208ffb3f1f [coretext-font] Undo tracking in get_[hv]_advances()
Fixes https://github.com/harfbuzz/harfbuzz/issues/5221
2025-03-27 15:10:52 -06:00
Behdad Esfahbod
dda1d95af2 Revert "[ot-font/trak] Move trak application to ot-font instead of ot-shape"
This reverts commits ffae5b040d and
17c11ec523.

Plus manual modifications.

See https://github.com/harfbuzz/harfbuzz/issues/5221
2025-03-27 14:44:52 -06:00
Garret Rieger
0d4053b11d [subset] Add hb-subset.h API for retrieving the raw per glyph outline data from CFF and CFF2. 2025-03-27 20:20:52 +00:00
Behdad Esfahbod
7c90f446c2
Merge pull request #5216 from harfbuzz/manpages
[util] Towards building manpages
2025-03-27 14:13:04 -06:00
Behdad Esfahbod
d47a47e20b [util] Make --help less verbose again
Just the main page gets env-vars, exit-codes, and see-also.
2025-03-27 13:59:08 -06:00
Khaled Hosny
7ab42f9af3 [util] Build man pages only if docs are enabled 2025-03-27 21:31:29 +02:00
Khaled Hosny
9609f50bad [util] Build man page only if the corresponding util is built 2025-03-27 21:31:29 +02:00
Khaled Hosny
9a80c0da84 [util] Install man pages 2025-03-27 21:16:12 +02:00
John Bampton
ba6869848f src: fix spelling in code comments
Co-authored-by: Max Base <MaxBaseCode@gmail.com>
2025-03-27 12:18:07 -06:00
Behdad Esfahbod
7f10c0edfd [util] Towards building manpages
TODO:
1. Only when docs are enabled?
2. Installdir
3. How to include in release?

Fixes https://github.com/harfbuzz/harfbuzz/issues/5208
2025-03-26 22:21:51 -06:00
Behdad Esfahbod
bd5b8a1feb [util] Report exit codes in help
Some checks failed
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
arm / arm-none-eabi (push) Waiting to run
2025-03-26 21:35:32 -06:00
Behdad Esfahbod
e4410a85fa [util] Simplify envvar reporting 2025-03-26 21:35:32 -06:00
Khaled Hosny
a6f563247e [util] Fix Windows build
Windows headers define `environ`.
2025-03-27 03:26:20 +02:00