Commit graph

18215 commits

Author SHA1 Message Date
Behdad Esfahbod
fae9d2ab27 [fontations] Add dependencies 2025-03-08 12:15:25 -07:00
Behdad Esfahbod
e8ddb4325b [fontations] Consolidate args a bit 2025-03-08 12:13:31 -07:00
Behdad Esfahbod
c3eac5c0f3 [test-threads] Test all font-funcs
Fontations & Coretext are new and seems to pass.
2025-03-08 11:57:31 -07:00
Behdad Esfahbod
2a878b1b76 [font-funcs] Add two new API
+ hb_font_set_funcs_using()
+ hb_font_list_funcs()

Part of https://github.com/harfbuzz/harfbuzz/issues/5117
2025-03-08 11:50:53 -07:00
Khaled Hosny
e9348cd76d [ci] Port minsize job from Alpine to Ubuntu
Alpine is frequently failing with compiler crashing, but we don’t really
need Alpine. No other job building with --buildtype=minsize, so keep it
but use Ubuntu.
2025-03-08 12:43:49 +02:00
Behdad Esfahbod
27fa1c4229
Merge pull request #5120 from harfbuzz/fontations-shrink
Fontations shrink
2025-03-07 22:01:23 -07:00
Behdad Esfahbod
080bd09db3 [fontations/ci] Fix 2025-03-07 21:48:17 -07:00
Behdad Esfahbod
3f6da0a367 [fontations] Run rustfmt & clippy as tests 2025-03-07 21:43:34 -07:00
Behdad Esfahbod
4bb7f61050 [fontations] Minor remove a type 2025-03-07 21:33:53 -07:00
Behdad Esfahbod
aabf8aadf8 [fontations] Use proper meson function for running commands 2025-03-07 21:32:05 -07:00
Behdad Esfahbod
52852c6cb6 [check-symbols] Ignore another rust symbol 2025-03-07 21:28:25 -07:00
Behdad Esfahbod
77314a3be7 [check-symbols] Don't run c++filt
For adding to ignore list, we want to see the original symbol
name. One can always c++filt themselves.
2025-03-07 21:19:09 -07:00
Behdad Esfahbod
5c01d8298c [fontations/ci] Try to fix 2025-03-07 21:15:08 -07:00
Behdad Esfahbod
bd66336d45 [fontations] Add clippy-check target 2025-03-07 21:13:28 -07:00
Behdad Esfahbod
8fd718c9eb [fontations] Add fmt-check target 2025-03-07 21:09:17 -07:00
Behdad Esfahbod
a68f458612 [fontations] Make 'ninja -Cbuild clippy' apply fixes 2025-03-07 21:05:59 -07:00
Behdad Esfahbod
f7cb3a3c8e [ci/fontations] Directly ask for nightly 2025-03-07 21:00:13 -07:00
Behdad Esfahbod
6c1f27faab [fontations] Disable overflow-checks 2025-03-07 18:38:54 -07:00
Behdad Esfahbod
514b28af3c [fontations] Pass optimization-level from meson to rustc 2025-03-07 18:37:17 -07:00
Behdad Esfahbod
55ca000b0e [fontations] Re-enable check-symbols test
Now that we build with lto, not many extra symbols are exported.
Ignore them.
2025-03-07 18:20:57 -07:00
Behdad Esfahbod
73f1c2ba43 Just a chmod a+x two Python scripts 2025-03-07 18:19:29 -07:00
Behdad Esfahbod
ecb9e393f2 [fontations] Shrink the library more 2025-03-07 17:57:11 -07:00
Behdad Esfahbod
493bf07596 [fontations] One more shrinkage 2025-03-07 17:50:20 -07:00
Behdad Esfahbod
78b3234396 [fontations] Shrink a bit more
Going through ideas from:
https://github.com/googlefonts/use-skrifa?tab=readme-ov-file
https://github.com/johnthagen/min-sized-rust
2025-03-07 17:48:38 -07:00
Behdad Esfahbod
52ad51382a [fontations] Enable lto
Makes library size shrink by half, as well as remove all the cruft
from the public symbol list.
2025-03-07 17:45:31 -07:00
Behdad Esfahbod
4e5358a288 [COLRv1] Fix comments
Fixes https://github.com/harfbuzz/harfbuzz/issues/5116
2025-03-07 15:18:28 -07:00
Behdad Esfahbod
e27e7f1c7d [perf] README minor 2025-03-07 14:01:57 -07:00
Behdad Esfahbod
460a8225ba [perf] Improve README 2025-03-07 13:33:08 -07:00
Behdad Esfahbod
575e70b063 [COLR] Use palette 0 if palette index out of range
Fixes https://github.com/harfbuzz/harfbuzz/issues/5112
2025-03-07 12:51:44 -07:00
Matthias Clasen
41e14f7029 [test-paint] Use latest test fonts
Update the color test fonts from https://github.com/googlefonts/color-fonts/
repository and update the test results.
2025-03-07 10:48:46 -07:00
Khaled Hosny
b8b56c4a67 [directwrite] Add comment [ci skip] 2025-03-07 14:30:53 +02:00
Khaled Hosny
a356603061 [directwrite/test] Add test that actually works
Apparently DirectWrite does not allow disabling calt in Arabic, so test
liga in Latin and ss01 in Arabic.
2025-03-07 14:30:53 +02:00
Khaled Hosny
9abaf193d3 [directwrite] Fix applying features to directwrite shaper
The range_features was ending up with random data because
hb_ms_make_feature_ranges() keeps pointers to data allocated in
feature_records and range_records, but that data was getting freed
before range_features was used. Change the variable scope to avoid
freeing the data too early.

Fixes https://github.com/harfbuzz/harfbuzz/issues/5113
2025-03-07 14:30:53 +02:00
Behdad Esfahbod
fe8a3972dd [fontations] Speed up glyph_extents if x_scale == y_scale 2025-03-06 23:52:08 -07:00
Behdad Esfahbod
abc468275b [fontations] Cache GlyphMetrics objects 2025-03-06 23:50:05 -07:00
Behdad Esfahbod
6506bd7e82
Merge pull request #4498 from harfbuzz/PaintColrLayers
[COLRv1] Optimize PaintColrLayers instead of PaintComposite
2025-03-06 20:00:54 -07:00
Matthias Clasen
9fbc2d23b5 [test-paint] Regenerate the test output
This commit updates the expected output of the paint tests
to what the current code produces.
2025-03-06 20:11:23 -05:00
Matthias Clasen
0ce90f60ab [test-paint] Make it easier to regenerate test output
This command will regenerate the expected output for all the
paint tests:

GENERATE_DATA=1 G_TEST_SRCDIR=./test/api ./build/test/api/test-paint
2025-03-06 20:10:13 -05:00
Behdad Esfahbod
bf55e33287 [ft-colr] Protect against out-of-bounds color indices 2025-03-06 17:38:50 -07:00
Behdad Esfahbod
8685653cc7 [ft-colr] Fix crash if palette index is out-of-range 2025-03-06 17:28:09 -07:00
Behdad Esfahbod
ad9fa13d23 [fontations] Render nothing if palette index out of range
Matches ot. Ft crashes currently.
2025-03-06 17:25:56 -07:00
Behdad Esfahbod
cd45a7f531 [fontations] Add a constructor 2025-03-06 16:11:01 -07:00
Behdad Esfahbod
44705c1acb [fontations] Fix clippy target
To build in the build dir
2025-03-06 15:34:27 -07:00
Simon Cozens
cda4b56bfe "where" not needed for trait impl 2025-03-06 15:29:21 -07:00
Simon Cozens
e8bed99b16 Banish static lifetimes 2025-03-06 15:29:21 -07:00
Behdad Esfahbod
1147c0e1ca [fontations] Clean up data passing 2025-03-06 14:57:06 -07:00
Behdad Esfahbod
ad0bcec378 [cairo] More printf removal 2025-03-06 14:51:06 -07:00
Behdad Esfahbod
0d70cfacb2 Revert accidental changes 2025-03-06 14:50:39 -07:00
Behdad Esfahbod
77a319daa6 [fontations] Fix color-line extend fetching
This fixes the last bug I know.
2025-03-06 14:48:51 -07:00
Garret Rieger
fc8334d96b Final cleanups. 2025-03-06 14:04:37 -07:00