Commit graph

18164 commits

Author SHA1 Message Date
Behdad Esfahbod
0d70cfacb2 Revert accidental changes 2025-03-06 14:50:39 -07:00
Behdad Esfahbod
77a319daa6 [fontations] Fix color-line extend fetching
This fixes the last bug I know.
2025-03-06 14:48:51 -07:00
Garret Rieger
fc8334d96b Final cleanups. 2025-03-06 14:04:37 -07:00
Garret Rieger
a20138dcfc More cleanups 2025-03-06 14:04:37 -07:00
Garret Rieger
f379505d4d Add struct_at/struct_at_mut helpers for accessing c arrays. 2025-03-06 14:04:37 -07:00
Khaled Hosny
123a0d68a1 Use gnu_printf format annotation under MingW with GCC only
Fixes https://github.com/harfbuzz/harfbuzz/issues/5106
2025-03-06 22:21:35 +02:00
Khaled Hosny
462a54895b [ci] Use newer Ubuntu release for cross compilation
Cairo sets -D_FORTIFY_SOURCE when building with optimizations, but it
was broken in some MingW releases. Updating seems to fix it.
2025-03-06 22:08:13 +02:00
Khaled Hosny
3985939842 Reapply "[meson] Add buildtype=debugoptimize by default"
This reverts commit 958e2c5331.
2025-03-06 22:08:13 +02:00
Behdad Esfahbod
597a934368 [fontations] Add target fmt for rustfmt 2025-03-06 12:50:42 -07:00
Behdad Esfahbod
4a3329dafb [fontations] Fix clippy rule 2025-03-06 12:46:35 -07:00
Behdad Esfahbod
4b035ae611 Fix build 2025-03-06 12:44:49 -07:00
Behdad Esfahbod
34a919b980 [fontations] Clippy 2025-03-06 12:42:42 -07:00
Behdad Esfahbod
547027837e [fontations] Add clippy target 2025-03-06 12:40:50 -07:00
Behdad Esfahbod
d9b1101de6 [fontations] Mark the whole public function unsafe 2025-03-06 12:06:12 -07:00
Behdad Esfahbod
b5d2ec4f83 [fontations] clippy 2025-03-06 12:02:12 -07:00
Behdad Esfahbod
92af2e47fc [fontations] Do a bounds check 2025-03-06 11:33:22 -07:00
Khaled Hosny
3ce6b720ac [fontations] slice::from_raw_parts requires the pointer to be non-null 2025-03-06 04:23:24 +02:00
Khaled Hosny
aecc9110a3 [fontations/test] Add to test-draw 2025-03-06 04:23:24 +02:00
Behdad Esfahbod
a6d295fa1e [fontations] Disable symbol check
Since all of rust crates become public symbols. Sigh.
2025-03-06 04:23:24 +02:00
Khaled Hosny
6b035cd7b7 [fontations] Make check-header-guards happy 2025-03-06 04:23:24 +02:00
Khaled Hosny
83e58980a6 [fontations/ci] Fix package name 2025-03-06 04:23:24 +02:00
Behdad Esfahbod
91f4a67d5d [fontations] Fix translucent foreground colors 2025-03-06 04:23:24 +02:00
Behdad Esfahbod
43e82682c5 [cairo] Fix infinite loop in sweep-gradient code
Tested with U+F1314 from var font from:
https://github.com/googlefonts/color-fonts/blob/main/glyph_descriptions.md
2025-03-06 04:23:24 +02:00
Khaled Hosny
2c11c9db52 [ci] Give fontations a try 2025-03-06 04:23:24 +02:00
Behdad Esfahbod
dedc05c220 [paint] Fix typo in radial-gradients! 2025-03-06 04:23:24 +02:00
Behdad Esfahbod
9b4eaff867 [fontations] Fix palette handling
What a pain...
2025-03-06 04:23:24 +02:00
Behdad Esfahbod
3a699c3764 [fontations] Fix anchor unreduction 2025-03-06 04:23:24 +02:00
Behdad Esfahbod
b5ad6de8d6 [fontations] Unreduce LinearGradient anchors
Oh well...
2025-03-06 04:23:24 +02:00
Behdad Esfahbod
a2d9c29b08 [fontations] Comment 2025-03-06 04:23:24 +02:00
Behdad Esfahbod
b5a04a9600 [fontations] Fix sweep gradients 2025-03-06 04:23:24 +02:00
Behdad Esfahbod
e10e5c3764 [fontations] Implement sweep gradients
Untested. Also, radial gradients seem faulty.
2025-03-06 04:23:24 +02:00
Behdad Esfahbod
865d75ef30 [fontations] Implement radial gradients 2025-03-06 04:23:24 +02:00
Behdad Esfahbod
d72968efac [fontations] Refactor make_color_line 2025-03-06 04:23:24 +02:00
Behdad Esfahbod
4b1f655a83 [fontations] Implement LinearGradients 2025-03-06 04:23:24 +02:00
Behdad Esfahbod
1a39f8935e [fontations] Implement solid paint 2025-03-06 04:23:24 +02:00
Behdad Esfahbod
5b27f32876 [fontations] Implement most of paint API 2025-03-06 04:23:24 +02:00
Behdad Esfahbod
d069e79016 [fontations] Fix pointer unsafe play 2025-03-06 04:23:24 +02:00
Behdad Esfahbod
dbc04d1c7d [fontations] Roll skrifa forward
Remove the rest.
2025-03-06 04:23:24 +02:00
Behdad Esfahbod
6e472748d7 [fontations] Set Location only if non-zero 2025-03-06 04:23:24 +02:00
Behdad Esfahbod
024e9356eb [fontations] Use a slice 2025-03-06 04:23:24 +02:00
Behdad Esfahbod
3f57f76e99 [fontations] Cache OutlineGlyphCollection
As advised by Chad.  Speeds up drawing benchmark 2x.
2025-03-06 04:23:24 +02:00
Behdad Esfahbod
c4932fa57a [fontations] Fix life-cycle double-free 2025-03-06 04:23:24 +02:00
Behdad Esfahbod
e054db4ae2 [fontations] Hook up to benchmark-font 2025-03-06 04:23:24 +02:00
Behdad Esfahbod
ea5a14f7bc [fontations] Implement draw_glyph 2025-03-06 04:23:24 +02:00
Behdad Esfahbod
87c62f4ebb [fontations] Boilerplate for draw_glyph 2025-03-06 04:23:24 +02:00
Behdad Esfahbod
bc2851b407 [fontations] Implement font_h_extents 2025-03-06 04:23:24 +02:00
Behdad Esfahbod
b9a4d148c9 [fontations] Implement get_glyph_extents 2025-03-06 04:23:24 +02:00
Behdad Esfahbod
f2e5955e1e [fontations] Cache a x_size and y_size 2025-03-06 04:23:24 +02:00
Behdad Esfahbod
166e630768 [fontations] Implement get_variation_glyph 2025-03-06 04:23:24 +02:00
Behdad Esfahbod
83e85d2ac1 [fontations] rustfmt 2025-03-06 04:23:24 +02:00