Commit graph

152 commits

Author SHA1 Message Date
Behdad Esfahbod
91fd40ac7c [shape] Skip hidden / ignorables during fallback mark positioning
Fixes https://github.com/harfbuzz/harfbuzz/issues/5232
2025-04-01 04:03:41 -06:00
Behdad Esfahbod
4954edb2b1 [test/vertical] Add more tests
Some checks failed
Scorecard supply-chain security / Scorecard analysis (push) Failing after 1s
arm / arm-none-eabi (push) Has been cancelled
configs-ci / build (push) Has been cancelled
fontations / build (push) Has been cancelled
linux-ci / build (push) Has been cancelled
macos-ci / build (push) Has been cancelled
msys2 / CLANG64 (push) Has been cancelled
msys2 / MINGW32 (push) Has been cancelled
msys2 / MINGW64 (push) Has been cancelled
msvc / msvc-2019-amd64 (push) Has been cancelled
msvc / msvc-2019-x86 (push) Has been cancelled
2025-03-28 19:19:57 -06:00
Behdad Esfahbod
67314b205a [test/vertical] Enable some on fontations 2025-03-28 16:41:41 -06:00
Behdad Esfahbod
c260550ae5 [test/shape] Improve run-tests output on failure 2025-03-28 16:34:12 -06:00
Behdad Esfahbod
18ced8dbb1 [test/vertical] Add more tests 2025-03-28 16:31:46 -06:00
Behdad Esfahbod
cb44134cbf [test/vertical] Test more font-funcs 2025-03-28 15:56:13 -06:00
Behdad Esfahbod
7ba0368200 [test] Enable aat-trak on all font funcs now 2025-03-27 17:14:22 -06:00
Behdad Esfahbod
e16a985798 [test/shape/aots] Add directive to run with ot shaper only 2025-03-25 15:17:23 -06:00
Behdad Esfahbod
851d3e33b5 [aots] Fix compile error
Also requires https://github.com/adobe-type-tools/aots/pull/5 to
be merged. Or if that repo is inactive, we can switch to my fork.
2025-03-25 15:06:24 -06:00
Behdad Esfahbod
eec9108416 [test/shape] Adjust uniscribe test 2025-03-25 13:56:12 -06:00
Khaled Hosny
614013940d [test/shape] Update comment 2025-03-25 19:24:00 +02:00
Khaled Hosny
190ad35f71 [test/shape] Don’t skip test if hb-shape --list-* fails
This can happen with Wine when, e.g., `WINEPATH` is not set, and we
would silently skip the tests because lists of supported shapers etc.
are empty.
2025-03-25 16:34:19 +02:00
Khaled Hosny
6cf308c857 [test/shape] Remove @font-funcs-=directwrite from directwrite test
The directwrite font functions support variations now, so this is no
longer needed.
2025-03-25 10:34:43 +02:00
Khaled Hosny
1402ecfecf [test/shape] Use @shapers directive in uniscribe test 2025-03-25 10:33:38 +02:00
Behdad Esfahbod
46a30fe390 [test/shape] Respect @shapers directive
Some checks failed
arm / arm-none-eabi (push) Waiting to run
configs-ci / build (push) Waiting to run
fontations / build (push) Waiting to run
linux-ci / build (push) Waiting to run
macos-ci / build (push) Waiting to run
msvc / msvc-2019-amd64 (push) Waiting to run
msvc / msvc-2019-x86 (push) Waiting to run
msys2 / MINGW32 (push) Waiting to run
msys2 / MINGW64 (push) Waiting to run
msys2 / CLANG64 (push) Waiting to run
Scorecard supply-chain security / Scorecard analysis (push) Failing after 1s
2025-03-24 18:23:34 -06:00
Behdad Esfahbod
4cc66435f9
Merge pull request #5188 from harfbuzz/text-rendering-tests-fontations
Text rendering tests fontations
2025-03-23 12:06:54 -06:00
Behdad Esfahbod
74c82b3a29 Blacken 2025-03-23 11:52:45 -06:00
Behdad Esfahbod
f0e260ad73 [text-rendering-tests] Run against ot,ft only
See https://github.com/harfbuzz/harfbuzz/pull/5188
2025-03-23 11:51:58 -06:00
Behdad Esfahbod
55743b239f [test/shape] Skip uniscribe/directwrite shapers under Wine 2025-03-22 19:56:00 -06:00
Behdad Esfahbod
e0aee5815a [test] Respect MESON_EXE_WRAPPER in more test runners
It's not working for me though. Meson doesn't seem to set WINEPATH
during testing.
2025-03-22 14:56:37 -06:00
Behdad Esfahbod
8ae92d0d83 [text-rendering-tests] Run against all font-funcs
One test is failing with fontations, and a few with directwrite.
2025-03-22 13:22:37 -06:00
Behdad Esfahbod
51a5618c54 [test] Update text-rendering-tests 2025-03-22 13:20:16 -06:00
Khaled Hosny
12e31ab7e8 [test] Allow running test suite under wine
Set exe_wrapper in the Windows cross files, which will cause unit tests
to be run with wine.

When we call the binary ourselves, e.g. in shape run-tests.py, we need
to check for MESON_EXE_WRAPPER env var (which meson sets automatically
if exe_wrapper is set) and use it.
2025-03-21 02:27:45 +02:00
Khaled Hosny
14c07dcfa7 [test] Make context-matching test pass with coretext font functions
Remove the CBDT/CBLC tables not needed for the test and a glyf/loca
tables with blank glyphs to make Core Text load the font.
2025-03-20 18:05:30 -06:00
Khaled Hosny
686503e2e0 [directwrite] Copy font variations when shaping 2025-03-20 01:59:56 +02:00
Behdad Esfahbod
0349359ce6 [tests] Fix one test 2025-03-18 14:59:26 -06:00
Behdad Esfahbod
696b4a26a8 [coretext] Blocklist one more shape test 2025-03-17 21:05:21 -06:00
Behdad Esfahbod
ad9c473759 [test/shape] Make output less verbose 2025-03-17 21:05:21 -06:00
Behdad Esfahbod
630bc9b45d [coretext] Disable variation-selectors test :-( 2025-03-17 21:05:21 -06:00
Behdad Esfahbod
719dafdaad [test/shape] Allow comments in directives
Also adjust tests for directwrite font-funcs.
2025-03-17 21:05:21 -06:00
Behdad Esfahbod
27bb37c5d0 [test/shape] Fix reporting 2025-03-17 21:05:21 -06:00
Behdad Esfahbod
9a0802dbe5 [test/shape] Comments 2025-03-17 21:05:21 -06:00
Behdad Esfahbod
ee34711d64 [test/shape] Allow directives to instruct what backends to test 2025-03-17 21:05:21 -06:00
Behdad Esfahbod
220a8b9496 [test/shape] Massage script some more 2025-03-17 21:05:21 -06:00
Behdad Esfahbod
7c248cccb5 [test/shape] Var rename 2025-03-17 21:05:21 -06:00
Behdad Esfahbod
3e137c8e8a [test/shape] Minor massage the runner 2025-03-17 21:05:21 -06:00
Behdad Esfahbod
cf1772a492 [test/shape] Compare results without glyph names if needed
Enable fontations font-funcs, which mostly passes now.
2025-03-17 21:05:21 -06:00
Behdad Esfahbod
a37fb2fbf7 [test/shape] Rename a couple of variables 2025-03-17 21:05:21 -06:00
Behdad Esfahbod
24f9fd46ce [test/shape] Restart hb-shape --batch process if killed 2025-03-17 21:05:21 -06:00
Behdad Esfahbod
5b3bf25bb8 [test/shape] Test all font-funcs backends if none specified
Disable fontations as it doesn't implement glyph names currently.
2025-03-17 21:05:21 -06:00
Behdad Esfahbod
f16196a00e [test-shape] Assume ot shaper is default 2025-03-17 21:05:21 -06:00
Behdad Esfahbod
0d5795c0a5 [test/shape] Report shaper, face-loader, font-funcs 2025-03-17 21:05:21 -06:00
Behdad Esfahbod
aacc667e51 [test/shape/run-tests] Streamline testing other backends 2025-03-17 21:05:21 -06:00
Behdad Esfahbod
d8a774c011 [test] Add test for new grapheme cluster level 2025-03-10 01:04:35 -06: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
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
be287eab02 [trak] Don't shift glyphs
That's what CoreText does and fonts are designed for. Who are we to improve on...
2025-02-09 04:19:02 +00:00
Behdad Esfahbod
1150d4bf12 [trak] Remove support for disabling using pseudo-font-feature
Fixes https://github.com/harfbuzz/harfbuzz/issues/5052
2025-02-09 04:16:57 +00:00
Behdad Esfahbod
1bf0a5bc17 [trak] Streamline a bit
Also use float math.
2025-02-09 02:43:09 +00:00