Commit graph

18429 commits

Author SHA1 Message Date
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
Matthias Clasen
79c991e143 Improve docs for feature and variation serialization
Clarify that the serialized forms of features and variations
won't have any whitespace in them. This can help for parsing
when embedding these strings into larger serializations.
2025-03-08 18:00:43 -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
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