Commit graph

18146 commits

Author SHA1 Message Date
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
Behdad Esfahbod
156b77327e [fontations] Don't derive Copy et al since our types are not 2025-03-06 04:23:24 +02:00
Behdad Esfahbod
74bd99e40e [fontations] Set font variations 2025-03-06 04:23:24 +02:00
Behdad Esfahbod
7a65fdcabf [fontations] Cache location 2025-03-06 04:23:24 +02:00
Behdad Esfahbod
c969c2dec0 [fontations] Cache Size 2025-03-06 04:23:24 +02:00
Behdad Esfahbod
d19e45a1f5 [fontations] Support buildtype debugoptimized really 2025-03-06 04:23:24 +02:00
Behdad Esfahbod
51c68eb29d [fontations] Cache charmap 2025-03-06 04:23:24 +02:00
Behdad Esfahbod
f400d8b30c [fontations] Pass meson buildtype to cargo 2025-03-06 04:23:24 +02:00
Behdad Esfahbod
1705723d7e [fontations] Cache static fontfuncs object 2025-03-06 04:23:24 +02:00
Khaled Hosny
7871ee5b6c [fontations/meson] Use link_whole instead of link_with
Instead of passing `--whole-archive` manually to the linker which has a
different name on macOS linker.
2025-03-06 04:23:24 +02:00
Khaled Hosny
c6d2e9e855 [fontations/doc] Add section 2025-03-06 04:23:24 +02:00
Behdad Esfahbod
afe1af8fa9 [fontations] Implement get_nominal_glyphs()
Shapes now.
2025-03-06 04:23:24 +02:00
Behdad Esfahbod
e801e484f1 [fontations] Remove get_glyph_h_advance() 2025-03-06 04:23:24 +02:00
Behdad Esfahbod
1390da5d12 [fontations] Implement get_glyph_h_advances() 2025-03-06 04:23:24 +02:00
Behdad Esfahbod
94a6cfba89 [fontations] Working get_glyph_advance() 2025-03-06 04:23:24 +02:00
Behdad Esfahbod
77b20cf7b9 Update src/hb-fontations.h
Co-authored-by: Khaled Hosny <khaled@aliftype.com>
2025-03-06 04:23:24 +02:00
Behdad Esfahbod
0113c86a2f [fontations] Hide internal symbols 2025-03-06 04:23:24 +02:00
Behdad Esfahbod
71accd5e14 [fontations] Hide one symbol
How do I hide the other internal extern "C" symbols?
2025-03-06 04:23:24 +02:00
Behdad Esfahbod
9d754188c6 [meson] Fix unintended change to coretext 2025-03-06 04:23:24 +02:00