kc3-lang/harfbuzz/src/fontations

Branch :


Log

Author Commit Date CI Message
17238eae 2025-04-23 18:15:56 [ot/ft/fontations] Port to new _or_fail of draw/paint APIs
e78310bf 2025-04-23 00:58:08 [paint] Change return type to bool, and return false for outline glyphs It was impossible to get synthetic bold/slant correctly with the previous API. This is a minor API break, but one I'm willing to take.
a23021e1 2025-04-23 00:43:56 [COLRv1] Simplify paint_glyph() Pass a non-synthetic font to the client, so they don't have to worry about it. The only issue left, is that now when paint_glyph() paints an outline glyph (not color glyph), it would be double-slanted. I'm leaning towards removing painting of outline glyphs from the paint API and change the paint API to return a boolean.
fcbe7676 2025-04-22 21:22:31 [fontations] Return false from get_extents for COLR glyphs
1a9e2175 2025-04-22 19:52:21 [font/draw] Move slanting to font layer I moved it to the draw layer in 11.0.0; That was a bad design: font-funcs should NOT be responsible for synthetic bold & slant. This design reverts that and makes the font layer apply it, using a recording. This is a minor API change from 11.0.0 since hb_draw_state_t::slant_xy which was introduced in 11.0.0, is removed now. I believe no client had started using it. It was only relevant to other font-funcs draw implementations.
01793d3e 2025-04-20 00:32:44 [fontations] Pop font transform
afa0549d 2025-03-28 18:10:08 [fontations] More idiomatic
1358e381 2025-03-28 13:15:37 [fontations] Implement last bits of v_origin
1f6da390 2025-03-27 20:05:13 [fontations] Implement one fallback case in get_v_origin
449752c5 2025-03-27 20:02:08 [fontations] Fix get_v_advances() fallback Was crashing without vmtx before.
b808d174 2025-03-27 19:52:42 [fontations] Move variable scope
9d584c4d 2025-03-27 19:34:54 [fontations] Remove stale comment
fea0c0df 2025-03-25 12:34:00 [fontations] More idiomatic
bb3a55a6 2025-03-24 17:05:58 [fontations] Add TODO
0affe127 2025-03-24 17:00:57 [fontations] Apply variations to glyph_v_advances
83d3ffc5 2025-03-24 16:56:13 [fontations] Hook up variations to v_origin Output matches ot backend, but not ft. Not gonna dig down there right now. I *think* ft doesn't implement VORG table IIRC.
0ae4b8f4 2025-03-24 16:45:35 [fontations] Implement glyph_v_advances Without variations for now.
589e78ce 2025-03-24 12:48:43 [fontations] Handle recursive clip-glyphs This reverts 852f66a4187f59f169d0de2ea98725d1d78e8da8 in spirit, using a malloc-free implementation and keeping the fill-glyph optimization.
0849d3d8 2025-03-23 16:06:21 [fontations] Minor shuffle
8e1502cc 2025-03-23 16:03:02 [fontations] Implement glyph_v_origin
391cbed8 2025-03-23 12:36:02 [fontations] Support non-uniform scales
65094142 2025-03-22 14:19:34 [fontations] Make serial tracking atomic Would shut up tsan if we ever tried it on this.
cfb962d7 2025-03-21 14:53:34 [fontations] Use the proposed pop_layer_with_mode Reduces the last Vec use. https://github.com/googlefonts/fontations/pull/1419
9fa31d1e 2025-03-21 14:44:03 [fontations] Enable lto in dev builds as well Otherwise our check-symbols test will fail.
852f66a4 2025-03-21 13:57:31 [fontations] Implement fill-glyph Gets rid of one Vec. Supersedes: https://github.com/harfbuzz/harfbuzz/pull/5180 https://github.com/harfbuzz/harfbuzz/pull/5184
64dcece3 2025-03-20 14:05:57 [fontations] Clean up atomic initialization based on review
4107ccee 2025-03-20 14:00:06 [fontations] Roll skrifa forward Tests pass now.
24ad0dd4 2025-03-19 15:53:22 [fontations] Implement glyph_from_name (with caching)
82e0ff6d 2025-03-17 23:43:19 [fontations] Implement get_glyph_name
1a8352cf 2025-03-17 23:26:37 [fontations] Roll skrifa to 0.29
000a0ad7 2025-03-15 14:37:44 [paint] Add push_font_transform() / push_inverse_font_transform() Fixes https://github.com/harfbuzz/harfbuzz/issues/5146
c1ed4631 2025-03-14 22:14:28 [fontations] rustfmt
da4758e7 2025-03-14 22:07:45 [draw] Apply synthetic slant to hb_draw_move_to() etc Makes fontations draw slanted as well. Fixes https://github.com/harfbuzz/harfbuzz/issues/5145
fbb81e34 2025-03-12 00:52:12 [fontations] Adjust alignment requirement
8d300049 2025-03-12 00:43:10 [fontations] Assert layout alignment
05cfdb91 2025-03-12 00:08:42 [fontations] link_with instead of link_whole Now that the hb-fontations symbol is called from libharfbuzz, it gets pulled in properly.
5bf81c37 2025-03-11 22:46:16 [common] Make hb_malloc() et al public New API: +hb_malloc() +hb_calloc() +hb_realloc() +hb_free()
4323c664 2025-03-10 20:06:08 [fontations] Make fontations use hb_malloc et al
e77fb463 2025-03-09 18:53:36 [fontations] Do double-checked locking See if tsan likes this. It liked the previous version.
780809fb 2025-03-09 18:40:27 [fontations] Check for font serial change automatically Let's see what tsan thinks... I also have not profiled this. It also doesn't hold the mutex for the whole use time. It probably should or bad things might happen.
ec6f99c5 2025-03-09 05:18:13 [fontations] Give clippy test more time
43ff0f73 2025-03-08 13:30:10 [fontations] Relax dependency numbers
fae9d2ab 2025-03-08 12:15:25 [fontations] Add dependencies
e8ddb432 2025-03-08 12:13:31 [fontations] Consolidate args a bit
3f6da0a3 2025-03-07 21:43:34 [fontations] Run rustfmt & clippy as tests
4bb7f610 2025-03-07 21:33:53 [fontations] Minor remove a type
aabf8aad 2025-03-07 21:32:05 [fontations] Use proper meson function for running commands
5c01d829 2025-03-07 21:15:08 [fontations/ci] Try to fix
bd66336d 2025-03-07 21:13:28 [fontations] Add clippy-check target
8fd718c9 2025-03-07 21:09:17 [fontations] Add fmt-check target
a68f4586 2025-03-07 21:05:59 [fontations] Make 'ninja -Cbuild clippy' apply fixes
6c1f27fa 2025-03-07 18:38:54 [fontations] Disable overflow-checks
514b28af 2025-03-07 18:37:17 [fontations] Pass optimization-level from meson to rustc
ecb9e393 2025-03-07 17:57:11 [fontations] Shrink the library more
493bf075 2025-03-07 17:50:20 [fontations] One more shrinkage
78b32343 2025-03-07 17:48:38 [fontations] Shrink a bit more Going through ideas from: https://github.com/googlefonts/use-skrifa?tab=readme-ov-file https://github.com/johnthagen/min-sized-rust
52ad5138 2025-03-07 17:45:31 [fontations] Enable lto Makes library size shrink by half, as well as remove all the cruft from the public symbol list.
4e5358a2 2025-03-07 15:18:28 [COLRv1] Fix comments Fixes https://github.com/harfbuzz/harfbuzz/issues/5116
575e70b0 2025-03-07 12:51:44 [COLR] Use palette 0 if palette index out of range Fixes https://github.com/harfbuzz/harfbuzz/issues/5112
fe8a3972 2025-03-06 23:52:08 [fontations] Speed up glyph_extents if x_scale == y_scale
abc46827 2025-03-06 23:50:05 [fontations] Cache GlyphMetrics objects
ad9fa13d 2025-03-06 17:25:56 [fontations] Render nothing if palette index out of range Matches ot. Ft crashes currently.
cd45a7f5 2025-03-06 16:11:01 [fontations] Add a constructor
44705c1a 2025-03-06 15:34:27 [fontations] Fix clippy target To build in the build dir
cda4b56b 2025-03-06 22:25:07 "where" not needed for trait impl
e8bed99b 2025-03-06 22:24:52 Banish static lifetimes
1147c0e1 2025-03-06 14:57:06 [fontations] Clean up data passing
0d70cfac 2025-03-06 14:50:39 Revert accidental changes
77a319da 2025-03-06 14:48:51 [fontations] Fix color-line extend fetching This fixes the last bug I know.
fc8334d9 2025-03-06 20:14:03 Final cleanups.
a20138dc 2025-03-06 19:56:34 More cleanups
f379505d 2025-03-06 19:41:39 Add struct_at/struct_at_mut helpers for accessing c arrays.
597a9343 2025-03-06 12:50:42 [fontations] Add target fmt for rustfmt
4a3329da 2025-03-06 12:46:35 [fontations] Fix clippy rule
34a919b9 2025-03-06 12:42:42 [fontations] Clippy
54702783 2025-03-06 12:39:24 [fontations] Add clippy target
d9b1101d 2025-03-06 12:06:12 [fontations] Mark the whole public function unsafe
b5d2ec4f 2025-03-06 11:59:20 [fontations] clippy
92af2e47 2025-03-06 11:33:22 [fontations] Do a bounds check
3ce6b720 2025-03-06 04:09:49 [fontations] slice::from_raw_parts requires the pointer to be non-null
91f4a67d 2025-03-05 17:45:50 [fontations] Fix translucent foreground colors
9b4eaff8 2025-03-05 11:28:57 [fontations] Fix palette handling What a pain...
3a699c37 2025-03-05 10:48:48 [fontations] Fix anchor unreduction
b5ad6de8 2025-03-05 01:58:47 [fontations] Unreduce LinearGradient anchors Oh well...
a2d9c29b 2025-03-05 01:48:40 [fontations] Comment
b5a04a96 2025-03-05 01:15:54 [fontations] Fix sweep gradients
e10e5c37 2025-03-05 00:39:55 [fontations] Implement sweep gradients Untested. Also, radial gradients seem faulty.
865d75ef 2025-03-05 00:35:21 [fontations] Implement radial gradients
d72968ef 2025-03-05 00:31:55 [fontations] Refactor make_color_line
4b1f655a 2025-03-04 23:56:01 [fontations] Implement LinearGradients
1a39f893 2025-03-04 22:29:22 [fontations] Implement solid paint
5b27f328 2025-03-04 21:37:00 [fontations] Implement most of paint API
d069e790 2025-03-04 20:28:19 [fontations] Fix pointer unsafe play
dbc04d1c 2025-03-04 19:48:22 [fontations] Roll skrifa forward Remove the rest.
6e472748 2025-03-04 19:23:24 [fontations] Set Location only if non-zero
024e9356 2025-03-04 19:20:27 [fontations] Use a slice
3f57f76e 2025-03-04 19:12:37 [fontations] Cache OutlineGlyphCollection As advised by Chad. Speeds up drawing benchmark 2x.
c4932fa5 2025-03-04 18:51:10 [fontations] Fix life-cycle double-free
e054db4a 2025-03-04 18:43:19 [fontations] Hook up to benchmark-font
ea5a14f7 2025-03-04 18:31:19 [fontations] Implement draw_glyph