Behdad Esfahbod
437ce95059
[util] Add --list-font-funcs
2025-03-08 13:12:15 -07:00
Behdad Esfahbod
68b07475a7
[font-funcs] Support HB_FONT_FUNCS env var
2025-03-08 12:41:50 -07:00
Behdad Esfahbod
5a12bf417b
[font-funcs-using] Treat empty string like nullptr
2025-03-08 12:31:07 -07:00
Behdad Esfahbod
712a403bec
[font-funcs-using] Apply review feedback
2025-03-08 12:23:41 -07:00
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