Commit graph

18449 commits

Author SHA1 Message Date
Behdad Esfahbod
24a23aca69 [directwrite] Make font-funcs respond to font changes 2025-03-22 16:41:39 -06:00
Behdad Esfahbod
91bd6bf0df [directwrite] Make variations work on font-funcs 2025-03-22 16:38: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
f0b0d92ab5 [directwrite] Deprecate hb_directwrite_font_get_dw_font() 2025-03-22 15:44:50 -06:00
Behdad Esfahbod
6e17bd374f [README.mingw] Add a couple Ubuntu lines 2025-03-22 15:15:19 -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
c3bc5e4c68
Merge pull request #5189 from harfbuzz/font-changed
[font] Simplify changed mechanism
2025-03-22 14:23:07 -06:00
Behdad Esfahbod
6509414227 [fontations] Make serial tracking atomic
Would shut up tsan if we ever tried it on this.
2025-03-22 14:19:34 -06:00
Behdad Esfahbod
977e4f94e0 [font] Simplify changed mechanism 2025-03-22 14:09:26 -06:00
Behdad Esfahbod
51a5618c54 [test] Update text-rendering-tests 2025-03-22 13:20:16 -06:00
Behdad Esfahbod
a388989af4 [README.mingw.md] Final touches, hopefully 2025-03-22 12:31:21 -06:00
Behdad Esfahbod
f7f9cd1296 [README.mingw.md] Review feedback 2025-03-22 11:42:32 -06:00
Behdad Esfahbod
e320109e5d
Merge pull request #5160 from harfbuzz/mingw-readme
[doc] Restore README.mingw.md
2025-03-22 01:30:45 -06:00
Behdad Esfahbod
f9ad7c37b1 [README.mingw.md] Update 2025-03-22 01:20:57 -06:00
Behdad Esfahbod
0b139a81fe [.ci/build-win.sh] Enable tests 2025-03-22 01:05:26 -06:00
Khaled Hosny
4fd4dbb896 [doc] Restore README.mingw.md
It got deleted in cf1fdf1632 but it is
still useful. Needs to be updated to meson world, though.
2025-03-22 00:34:27 -06:00
Behdad Esfahbod
475afee0b8 Change file permission 2025-03-22 00:21:20 -06:00
Behdad Esfahbod
0eeb6ccb42 [perf] Bikeshedding 2025-03-21 17:36:43 -06:00
Behdad Esfahbod
cfb962d73c [fontations] Use the proposed pop_layer_with_mode
Reduces the last Vec use.

https://github.com/googlefonts/fontations/pull/1419
2025-03-21 15:03:28 -06:00
Behdad Esfahbod
9fa31d1ed2 [fontations] Enable lto in dev builds as well
Otherwise our check-symbols test will fail.
2025-03-21 14:44:03 -06:00
Behdad Esfahbod
852f66a418 [fontations] Implement fill-glyph
Gets rid of one Vec.

Supersedes:
https://github.com/harfbuzz/harfbuzz/pull/5180
https://github.com/harfbuzz/harfbuzz/pull/5184
2025-03-21 14:14:12 -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
cc0451c949 [cff2] Malloc-free draw of var blends 2025-03-20 20:57:31 -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
e3dc86bb0f [ci] Don’t set exe_wrapper in the cross files
Complicates the build setup. Keep it commented in case one wants to
enable it locally.
2025-03-21 03:02:56 +02:00
Khaled Hosny
a189b0f772 Revert "[ci] Install wine on Windows cross-compile jobs"
This reverts commit ca14981262.
2025-03-21 03:02:19 +02:00
Khaled Hosny
ca14981262 [ci] Install wine on Windows cross-compile jobs 2025-03-21 02:34:40 +02: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
Behdad Esfahbod
b2f7f6db1a
Merge pull request #5165 from harfbuzz/fontations-glyph-name
Fontations glyph name
2025-03-20 14:35:55 -06:00
Behdad Esfahbod
64dcece342 [fontations] Clean up atomic initialization based on review 2025-03-20 14:05:57 -06:00
Behdad Esfahbod
4107cceea1 [fontations] Roll skrifa forward
Tests pass now.
2025-03-20 14:00:06 -06:00
Behdad Esfahbod
c84b9dca24
Merge pull request #5170 from harfbuzz/directwrite-shape-variations
[directwrite] Copy font variations when shaping
2025-03-20 11:18:58 -06:00
Ozkan Sezer
e57e728532 cmake: add missing FT_Get_Transform check 2025-03-20 13:18:45 +02:00
Khaled Hosny
686503e2e0 [directwrite] Copy font variations when shaping 2025-03-20 01:59:56 +02:00
Behdad Esfahbod
24ad0dd46b [fontations] Implement glyph_from_name (with caching) 2025-03-19 16:09:05 -06:00
Behdad Esfahbod
b3d48c2c1b [coretext] Only try setting variations if a variable font
Seems to fix https://github.com/harfbuzz/harfbuzz/issues/5163
2025-03-19 15:16:11 -06:00
Behdad Esfahbod
4822cb7672 [hb-info] Report WebAssembly in technology 2025-03-19 15:14:58 -06:00
Behdad Esfahbod
60ce16f221 [CI] Fix build 2025-03-19 13:22:27 -06:00
Behdad Esfahbod
34b9100c67 [hb-info] Fix argument parsing vs default behavior
Default was if no args other than one font was provided, then
--show-all was enabled. This broke if eg. --face-loader=ft was
provided, then suddenly nothing was shown. Fix it to --show-all
if no "query" options are provided.
2025-03-19 13:15:44 -06:00
Behdad Esfahbod
82e0ff6da0 [fontations] Implement get_glyph_name 2025-03-19 12:52:22 -06:00
Behdad Esfahbod
1a8352cfdb [fontations] Roll skrifa to 0.29 2025-03-19 12:51:29 -06:00
Khaled Hosny
59aee7f3e8 [directwrite] Fix copying variations in hb_directwrite_font_create()
I missed the endianness mismatch between HarfBuzz and DirectWrite tags.
2025-03-19 14:47:22 +02:00
Behdad Esfahbod
0349359ce6 [tests] Fix one test 2025-03-18 14:59:26 -06:00
Behdad Esfahbod
38889c3ad6 [coretext] Fix loading named instances
Needs tests...

TTC indices > 0 can't be loaded with CoreText API it seems.

Fixes https://github.com/harfbuzz/harfbuzz/issues/5158
2025-03-18 03:28:44 -06:00
Behdad Esfahbod
472e65dd0f [cff] Allow empty private dict (again)
Fixes https://github.com/harfbuzz/harfbuzz/issues/5162
2025-03-18 03:17:49 -06:00