Commit graph

2449 commits

Author SHA1 Message Date
Behdad Esfahbod
379688c566 [test-face] Relax on face load failure 2025-03-13 14:47:34 -06:00
Behdad Esfahbod
469502c99b [test-paint] Test fontations too
Luckily it passes!
2025-03-12 11:02:43 -06:00
Behdad Esfahbod
d014efd03d
Merge pull request #5131 from harfbuzz/using2
Add hb_ft_face_create_from_blob_or_fail() et al
2025-03-11 13:37:48 -06:00
Behdad Esfahbod
759e1881e8 [coretext] Fix loading TTC files 2025-03-11 12:46:27 -06:00
Behdad Esfahbod
15fcfcb606
Merge pull request #5129 from harfbuzz/buffer-deserialize
Fix buffer deserialize
2025-03-11 12:01:20 -06:00
Behdad Esfahbod
5e6da54166 [test] Minor, accept absolute font paths 2025-03-11 12:00:18 -06:00
Behdad Esfahbod
8687f5c38e [face] Add tests for new constructors 2025-03-11 11:56:00 -06:00
Behdad Esfahbod
756668d35c [directwrite] Drop dependency again as per review
https://github.com/harfbuzz/harfbuzz/pull/5132#issuecomment-2714186460
2025-03-11 11:27:02 -06:00
Behdad Esfahbod
6b2f859232 [test-c] Disable gobject include
It can't find its dependent headers since not installed.
2025-03-11 00:37:11 -06:00
Behdad Esfahbod
8ca892b0e2 [directwrite] Simplify headers 2025-03-11 00:24:11 -06:00
Behdad Esfahbod
d247c116fb [test-draw] Test all font funcs 2025-03-11 00:15:40 -06:00
Behdad Esfahbod
d2ccf595bd Directwrite is a C++ header? 2025-03-11 00:15:19 -06:00
Behdad Esfahbod
41dcc493e5 [test-cplusplus] Simplify 2025-03-10 23:49:05 -06:00
Behdad Esfahbod
dbad6cdfec [test-c(plusplus)] Add more headers 2025-03-10 23:23:16 -06:00
Behdad Esfahbod
3c02fcd0e8 [test-multithread] Simplify 2025-03-10 23:16:30 -06:00
Behdad Esfahbod
7a912c4746 [buffer-deserialize] Fix return value and parsing
I think I got it right.

Alternative to https://github.com/harfbuzz/harfbuzz/pull/5028
2025-03-10 16:20:16 -06:00
Behdad Esfahbod
d8a774c011 [test] Add test for new grapheme cluster level 2025-03-10 01:04:35 -06:00
Behdad Esfahbod
712a403bec [font-funcs-using] Apply review feedback 2025-03-08 12:23:41 -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
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
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
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
Khaled Hosny
aecc9110a3 [fontations/test] Add to test-draw 2025-03-06 04:23:24 +02:00
Khaled Hosny
69e1c3c352 [ft] Add hb_ft_font_get_ft_face()
A new name for hb_ft_font_get_face(), which is now deprecated.

Fixes  https://github.com/harfbuzz/harfbuzz/issues/5084
2025-02-28 23:56:03 +02:00
Behdad Esfahbod
9d149c5284 [test-paint] Redirect generated output to stderr 2025-02-26 15:07:46 -07:00
Behdad Esfahbod
753093d60e [test-colrv1] Add test files from https://roettsch.es/var_colrv1.html
These are not currently used for any testing. To be used later.
2025-02-26 14:41:04 -07:00
Behdad Esfahbod
6fe1441782 [test-paint] Update comment 2025-02-26 14:40:08 -07:00
Garret Rieger
ea1434b897 Split iup glyf partial instance tests into a separate set which ignores due to IUP rounding differences fonttools. 2025-02-25 19:02:11 +00:00
Behdad Esfahbod
9a0cf8d641 [test/subset/cff-japanese] Shrink test
Was taking too long.
2025-02-25 00:19:25 -07:00
Behdad Esfahbod
084fb3ab4f [test/subset/cmap] Shrink test
Was taking more than the rest of the test suite combined.
2025-02-25 00:16:27 -07:00
Behdad Esfahbod
74bb7c52f3 Fix a compiler warning 2025-02-24 20:21:38 -07:00
Khaled Hosny
03cf1565f5 [directwrite] Rename font_get_font to font_get_dw_font
https://github.com/harfbuzz/harfbuzz/pull/5079#pullrequestreview-2627407692
2025-02-20 22:16:22 +02:00
Khaled Hosny
a8fd29718a [directwrite] Add hb_directwrite_font_create()/font_get_font()
Uses hb_directwrite_face_create() under the hood, but copies variations
from directwrite to hb-font.
2025-02-20 21:40:27 +02: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
8c561733b6 [test/coretext] Add a test for copying variations 2025-02-12 14:21:09 +02:00
Khaled Hosny
7ba3efa5c6 [tests/fuzzing] Use the correct dirs for subset and repacker fuzzers 2025-02-09 18:42:45 +02: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
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
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
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