Commit graph

2512 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
Garret Rieger
a1e587b75a [subset] Add hb_subset_cff_get_charstrings_index and hb_subset_cff2_get_charstrings_index.
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 / CLANG64 (push) Waiting to run
msys2 / MINGW32 (push) Waiting to run
msys2 / MINGW64 (push) Waiting to run
Scorecard supply-chain security / Scorecard analysis (push) Failing after 1s
These methods allow retrieving the entire charstrings index structure from a CFF or CFF2 table.
2025-03-31 16:28:28 -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
Garret Rieger
ae8b288db7 [subset] Correctly handle lifetime of charstrings data blob returned by hb_subset_cff_get_charstring_data. 2025-03-27 22:07:06 +00:00
Garret Rieger
0d4053b11d [subset] Add hb-subset.h API for retrieving the raw per glyph outline data from CFF and CFF2. 2025-03-27 20:20:52 +00:00
Behdad Esfahbod
4d2a362f84 [test/subset] Remove tempdir
Was creating a tempdir in /tmp for every single test item,
and not removing it.  Create one per test file, and remove
if test successful.
2025-03-25 15:36:39 -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
Khaled Hosny
8d62ad3b35 [directwrite] Don’t release IDWriteFace pass to hb_directwrite_font_create
That was a leftover from previous code and is incorrect now as we would
be double releasing it.
2025-03-23 15:40:41 +02:00
Khaled Hosny
c226da8c35 [test/directwrite] Make the variations test actually test variations 2025-03-23 15:40:41 +02:00
Behdad Esfahbod
018858b2ce
Merge branch 'main' into ci-exe-wrapper 2025-03-22 20:24:44 -06:00
Behdad Esfahbod
3259f9f89a [test-directwrite] Fix test 2025-03-22 20:14:01 -06:00
Behdad Esfahbod
55743b239f [test/shape] Skip uniscribe/directwrite shapers under Wine 2025-03-22 19:56:00 -06:00
Behdad Esfahbod
9afdc7e1d2 [test-directwrite] Simplify 2025-03-22 19:48:15 -06:00
Khaled Hosny
1c7a1c7b04 [test-directwrite] Don’t fail if Bahnschrift can’t be loaded under Wine
It is unlikely to be present if one is not running on Windows.
2025-03-23 02:10:06 +02:00
Khaled Hosny
ed558e5da4 [test] Add name table to test/api/fonts/glyphs.ttf
Some version of Wine fails to load the font otherwise.
2025-03-23 01:28:41 +02:00
Behdad Esfahbod
f53befb6a0 [test/directwrite] Fix a leak 2025-03-22 16:54:56 -06:00
Behdad Esfahbod
c274ee7b3e [directwrite] Add hb_font_t setter/getter from IDWriteFontFace
Changed API:
+hb_directwrite_font_create()

New API:
+hb_directwrite_font_get_dw_font_face()
2025-03-22 16:02:39 -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
Behdad Esfahbod
0eeb6ccb42 [perf] Bikeshedding 2025-03-21 17:36:43 -06:00
Behdad Esfahbod
c867bc976a [test] Minor, adjust usage 2025-03-21 00:59:35 -06:00
Behdad Esfahbod
a551736532 [test] Add hb-paint-all 2025-03-20 23:23:58 -06:00
Behdad Esfahbod
6a82561f00 [hb-draw-all] Error handling 2025-03-20 23:21:28 -06:00
Behdad Esfahbod
e2a24ce13a
Merge pull request #5177 from harfbuzz/exe_wrapper
[test] Allow running test suite under wine
2025-03-20 19:14:58 -06:00
Behdad Esfahbod
be90974de8 [test/draw] Add meson.build 2025-03-20 19:12:29 -06:00
Behdad Esfahbod
1d25de8316 [test] Add draw/hb-draw-all 2025-03-20 19:11:26 -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