Commit graph

18232 commits

Author SHA1 Message Date
Behdad Esfahbod
1e812e43b3 [ft] Another try at making tsan happy maybe 2025-03-09 03:39:52 -06:00
Behdad Esfahbod
7791f50e3a [ft] Use a lock-guard 2025-03-09 03:34:28 -06:00
Behdad Esfahbod
aa268fc8ef [font/ft] See if tsan is happy with atomic_int_t serials 2025-03-09 03:31:01 -06:00
Behdad Esfahbod
6ae7ef0659 [ft] See if I can make tsan happy 2025-03-09 03:19:22 -06:00
Behdad Esfahbod
a83faa061c [ft] Automatically pick up font serial changes
Part of https://github.com/harfbuzz/harfbuzz/issues/5124
2025-03-09 03:07:45 -06:00
Behdad Esfahbod
402f89cb79 [face] Rename a variable 2025-03-09 01:52:28 -07:00
Behdad Esfahbod
5cf1fa3add [face] Fix docs 2025-03-09 01:47:23 -07:00
Behdad Esfahbod
2ecc68c12f [face] Fix HB_LEAN build 2025-03-09 01:46:07 -07:00
Behdad Esfahbod
6b9d9f7259 [face] Add HB_FACE_LOADER env var 2025-03-09 01:41:49 -07:00
Behdad Esfahbod
9d05b03f83 [font] Add HB_FONT_FUNCS work into hb_font_set_funcs_using() 2025-03-09 01:34:37 -07:00
Behdad Esfahbod
39ade99d47 [face] Two new APIs:
+ hb_face_create_from_file_or_fail_using()
+ hb_face_list_loaders()
2025-03-09 01:25:52 -07:00
Behdad Esfahbod
50ea460b93 Review 2025-03-08 16:07:44 -07:00
Behdad Esfahbod
43ff0f73cc [fontations] Relax dependency numbers 2025-03-08 13:30:10 -07:00
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