Commit graph

18137 commits

Author SHA1 Message Date
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
Behdad Esfahbod
9439e1fdad [fontations] Links finally 2025-03-06 04:23:24 +02:00
Behdad Esfahbod
6cac2a1ae0 [fontations] Ouch 2025-03-06 04:23:24 +02:00
Behdad Esfahbod
395270e494 [fontations] Try folding into libharfbuzz 2025-03-06 04:23:24 +02:00
Behdad Esfahbod
2a06b85d4e [fontations] Try using an intermediate library
Still doesn't link.
2025-03-06 04:23:24 +02:00
Behdad Esfahbod
f28daba53c [fontations] I don't know... 2025-03-06 04:23:24 +02:00
Behdad Esfahbod
161b20f333 Try building with cargo 2025-03-06 04:23:24 +02:00
Behdad Esfahbod
e806c9ae2a [fontations] Only require rust if building with fontations 2025-03-06 04:23:24 +02:00
Behdad Esfahbod
e1c934421a [fontations] More experiments 2025-03-06 04:23:24 +02:00
Behdad Esfahbod
db6431f140 [fontations] Fix a warning 2025-03-06 04:23:24 +02:00