Behdad Esfahbod
215c8de3cd
[ft-colr] Fix cycle-detection accounting
...
Fixes https://github.com/harfbuzz/harfbuzz/issues/5073
2025-02-15 21:08:14 -07:00
Khaled Hosny
ff3aaece6d
[test/shape-plan] Add another test and some comments
2025-02-14 21:54:30 +02:00
Khaled Hosny
cf336f17b2
[shape-plan] Rename hb_ot_shape_plan_get_features to get_feature_tags
...
Simplify the API by returning only feature tags. The users of this API
would be interested only in feature enabled by default and whether the
feature is globally or partially enabled wouldn’t be of much interest in
that case. For user features, the user of the API already have full
access to them.
2025-02-14 21:54:30 +02:00
Khaled Hosny
a7d7715f10
[shape-plan] Add hb_ot_shape_plan_get_features
...
This should get the features on a shape plan after executing it.
Initially I wanted to return an array of tags, but then there can be
user features that are not enabled globally, so I thought returning
hb_feature_t with value and range would be better. There is a TODO since
I couldn’t figure out how to get the value and range from the feature
mask. But also it may be overkill and a simple boolean indicating wither
it is a global feature or not would be enough.
I wounder also what should happen to non-user features that are applied
selectively, like init or medi, does ot make sense to indicate whether
they are global or not?
This is inspired by the discussion in:
https://github.com/fontforge/fontforge/pull/5522#pullrequestreview-2574321449 ,
but it might be useful to other HarfBuzz users.
2025-02-14 21:54:30 +02:00
Khaled Hosny
bcd5aa368d
[docs/coretext] Fix hb_coretext_font_set_funcs() documentation
...
Remove the note that fonts created with hb_coretext_font_create() have
these font functions configured for them, which is not true.
hb_coretext_font_create() documents this correctly.
2025-02-13 17:39:50 -07:00
Behdad Esfahbod
d2a88fbd7b
[vector] Add alloc_exact()
2025-02-12 21:52:01 -05:00
Khaled Hosny
94584d14d3
[coretext] Use vector instead of malloc/free a C-array
2025-02-12 14:21:09 +02:00
Khaled Hosny
1bc87dfed2
[coretext] Handle allocation failures
2025-02-12 14:21:09 +02:00
Khaled Hosny
8c561733b6
[test/coretext] Add a test for copying variations
2025-02-12 14:21:09 +02:00
Khaled Hosny
c07b22335f
[coretext] Fix copying of variations when creating hb-font
2025-02-12 14:21:09 +02:00
Behdad Esfahbod
778acfc606
[coretext] Don't assume that a normalized-coord 0 mins design-coords at default
2025-02-12 14:21:09 +02:00
Behdad Esfahbod
27a25f2d3d
[coretext] Copy variations when creating hb-font
...
https://github.com/harfbuzz/harfbuzz/issues/3159#issuecomment-2652262262
2025-02-12 14:21:09 +02:00
Khaled Hosny
33b3177157
[ci] Stop generating test coverage data
...
It is failing on Linux CI after upgrading to Ubuntu 24.04, and macOS
upload to codecov was also silently failing for a while now. We don’t do
much with the coverage data anyway.
2025-02-12 13:52:39 +02:00
Khaled Hosny
d46c0ca223
[ci] Don’t use system Python on Linux
...
We are already installing one using actions/setup-python.
2025-02-12 13:52:39 +02:00
Khaled Hosny
467b08ba36
[ci] Update Ubuntu 20.04 images to 24.04
...
GitHub actions will start failing jobs using Ubuntu 20.04 images, so
switch to 24.04. Switch also on CircleCI while at it.
2025-02-12 13:52:39 +02:00
Behdad Esfahbod
a69842a839
[shape-plan] Minor check for invalid direction
2025-02-12 11:23:28 +00:00
Behdad Esfahbod
e9c2d78dae
[buffer] Clean up some small mess
2025-02-12 11:12:51 +00:00
Behdad Esfahbod
6d95c12871
[buffer] Remove unused includes
2025-02-12 11:12:40 +00:00
Behdad Esfahbod
3446465750
[set] Tweak allocation
...
Allocation 2-page sets as exact count as well.
Don't do the same for the page_map.
2025-02-10 18:52:23 +00:00
dependabot[bot]
8f1c31c09c
Bump hendrikmuhs/ccache-action from 1.2.16 to 1.2.17
...
Bumps [hendrikmuhs/ccache-action](https://github.com/hendrikmuhs/ccache-action ) from 1.2.16 to 1.2.17.
- [Release notes](https://github.com/hendrikmuhs/ccache-action/releases )
- [Commits](5391144220...a1209f81af
)
---
updated-dependencies:
- dependency-name: hendrikmuhs/ccache-action
dependency-type: direct:production
update-type: version-update:semver-patch
...
Signed-off-by: dependabot[bot] <support@github.com>
2025-02-10 11:17:25 +00:00
dependabot[bot]
11b714187b
Bump github/codeql-action from 3.28.8 to 3.28.9
...
Bumps [github/codeql-action](https://github.com/github/codeql-action ) from 3.28.8 to 3.28.9.
- [Release notes](https://github.com/github/codeql-action/releases )
- [Changelog](https://github.com/github/codeql-action/blob/main/CHANGELOG.md )
- [Commits](dd746615b3...9e8d0789d4
)
---
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-10 11:16:21 +00:00
dependabot[bot]
63cee529c2
Bump fonttools from 4.55.8 to 4.56.0 in /.ci
...
Bumps [fonttools](https://github.com/fonttools/fonttools ) from 4.55.8 to 4.56.0.
- [Release notes](https://github.com/fonttools/fonttools/releases )
- [Changelog](https://github.com/fonttools/fonttools/blob/main/NEWS.rst )
- [Commits](https://github.com/fonttools/fonttools/compare/4.55.8...4.56.0 )
---
updated-dependencies:
- dependency-name: fonttools
dependency-type: direct:production
update-type: version-update:semver-minor
...
Signed-off-by: dependabot[bot] <support@github.com>
2025-02-10 10:29:02 +00:00
Behdad Esfahbod
39fec7b11d
Merge pull request #5062 from harfbuzz/test-fuzzer-one-go
...
[test/fuzzing] Run each fuzzer on all fonts in one process
2025-02-09 17:54:46 +00:00
Behdad Esfahbod
abdd60acef
Merge pull request #5063 from harfbuzz/disable-google-benchmark-tests
...
[test] Exclude google-benchmark tests by default if meson "recent" an…
2025-02-09 17:54:07 +00:00
Behdad Esfahbod
b540c37c89
Update meson.build
...
Co-authored-by: خالد حسني (Khaled Hosny) <khaled@aliftype.com>
2025-02-09 09:47:18 -07:00
Khaled Hosny
7ba3efa5c6
[tests/fuzzing] Use the correct dirs for subset and repacker fuzzers
2025-02-09 18:42:45 +02:00
Behdad Esfahbod
57c9bdd0bd
[test] Exclude google-benchmark tests by default if meson "recent" and...
...
...glib not built internally.
Second try.
See https://github.com/harfbuzz/harfbuzz/issues/4153#issuecomment-2646347531
2025-02-09 16:29:13 +00:00
Khaled Hosny
c404d8fc70
[test/fuzzing] Merge hb_fuzzer_tools.py back and simplify
2025-02-09 18:11:38 +02:00
Khaled Hosny
4c43fdcd07
[test/fuzzing] Simplify Python scripts further
...
We always path the fuzzer path in meson, so we don’t need to search for
fuzzer path in the scripts, and then we can use one script for all the
fuzzers.
2025-02-09 18:11:34 +02:00
Behdad Esfahbod
c29b1de39f
[test/fuzzing] Remove old cruft
2025-02-09 15:38:18 +00:00
Behdad Esfahbod
1e3f59a79f
[ci] Give sanitizers more time
2025-02-09 15:21:18 +00:00
Behdad Esfahbod
86329643fd
[test/fuzzing] Call binaries with 64 fonts at a time
...
Second try... Previous attempt caused a too-many-command-line-args
on Windows.
https://github.com/harfbuzz/harfbuzz/issues/5061
2025-02-09 15:12:03 +00:00
Behdad Esfahbod
be22e43d7d
[test/fuzzing] Run each fuzzer on all fonts in one process
...
Much much faster, specially under valgrind, than spawning one process per font.
Fixes https://github.com/harfbuzz/harfbuzz/issues/5061
2025-02-09 14:55:44 +00:00
Behdad Esfahbod
b5e07e7546
Merge pull request #5060 from harfbuzz/glyf-contour-start-match-ft-ct
...
[glyf] Change drawing algorithm to match FreeType / CoreText
2025-02-09 14:04:20 +00:00
Behdad Esfahbod
6738ee3d1b
[ci/fedora-valgrind] Add time multiplier of 10 and run slow tests
2025-02-09 13:50:27 +00:00
Behdad Esfahbod
fc4d507770
[hb-draw-fuzzer] Increase test time
...
I'm getting timeouts. Might be an infinite loop. But let's see.
2025-02-09 13:28:45 +00:00
Behdad Esfahbod
4b54ee1148
[glyf] Change drawing algorithm to match FreeType / CoreText
2025-02-09 13:07:57 +00:00
Behdad Esfahbod
f858def14b
Revert "[test] Exclude google-benchmark tests by default if meson "recent""
...
This reverts commit 3c975a857f
.
See https://github.com/harfbuzz/harfbuzz/issues/4153#issuecomment-2646149763
2025-02-09 13:07:20 +00:00
Behdad Esfahbod
f68193a00a
[glyf] Use direct access to points array
...
Not necessary faster. Prep'ing for next change.
2025-02-09 12:38:38 +00:00
Behdad Esfahbod
19a152b47e
[perf] Don't depend on libharfbuzz-subset for most benchmarks
2025-02-09 12:37:28 +00:00
Behdad Esfahbod
3c975a857f
[test] Exclude google-benchmark tests by default if meson "recent"
...
https://github.com/harfbuzz/harfbuzz/issues/4153#issuecomment-2646131694
2025-02-09 08:58:55 +00:00
Behdad Esfahbod
cb6779f9e5
[test] Try running slow tests early
...
Probably already happens, but this wouldn't hurt.
https://github.com/harfbuzz/harfbuzz/issues/4153#issuecomment-2646125367
2025-02-09 08:39:03 +00:00
Behdad Esfahbod
134eef550d
[test] Reorder test suites
...
Makes it a bit faster.
https://github.com/harfbuzz/harfbuzz/issues/4153#issuecomment-2646120679
2025-02-09 08:26:11 +00:00
Behdad Esfahbod
c55738fa77
[test] Set MALLOC_CHECK_ to 1 instead of 2; kill G_SLICE=always-malloc
...
MALLOC_CHECK_=2 makes running tests twice slower on macOS. Value 1
is as fast as not checking at all. It's not like this ever caught
a bug for us or anything. We have so many sanitizers and fuzzers
funning on CI, which catch all kinds of memory problems.
G_SLICE is long gone in glib.
The slowest part of running the test suite now is the google-benchmark
tests, that get run by us... I'll see if I can disable. I had reported
it before at https://github.com/harfbuzz/harfbuzz/issues/4153
2025-02-09 08:11:01 +00:00
Behdad Esfahbod
b13017e651
Use HB_ALWAYS_INLINE instead of bare __attribute__
...
The former works on MSVC too.
2025-02-09 08:00:18 +00:00
Behdad Esfahbod
ee19666c39
[hb-shape/view] Allow --unicodes and --text if at least one is empty
...
Useful for scripting.
2025-02-09 05:14:36 +00:00
Behdad Esfahbod
5cab741929
Merge pull request #5058 from harfbuzz/ot-font-trak
...
[ot-font/trak] Move trak application to ot-font instead of ot-shape
2025-02-09 04:56:12 +00:00
Behdad Esfahbod
922a56f43a
[trak] Fix configs build
2025-02-09 04:50:17 +00:00
Behdad Esfahbod
17c11ec523
[ft/trak] Apply trak in ft-font-funcs as well
...
Part of https://github.com/harfbuzz/harfbuzz/issues/5049
2025-02-09 04:46:29 +00:00
Behdad Esfahbod
ffae5b040d
[ot-font/trak] Move trak application to ot-font instead of ot-shape
...
This is what CoreText does.
Fixes https://github.com/harfbuzz/harfbuzz/issues/5049
2025-02-09 04:39:32 +00:00