src/fontations/lib.rs


Log

Author Commit Date CI Message
Behdad Esfahbod afa0549d 2025-03-28T18:10:08 [fontations] More idiomatic
Behdad Esfahbod 1358e381 2025-03-28T13:15:37 [fontations] Implement last bits of v_origin
Behdad Esfahbod 1f6da390 2025-03-27T20:05:13 [fontations] Implement one fallback case in get_v_origin
Behdad Esfahbod 449752c5 2025-03-27T20:02:08 [fontations] Fix get_v_advances() fallback Was crashing without vmtx before.
Behdad Esfahbod b808d174 2025-03-27T19:52:42 [fontations] Move variable scope
Behdad Esfahbod 9d584c4d 2025-03-27T19:34:54 [fontations] Remove stale comment
Behdad Esfahbod fea0c0df 2025-03-25T12:34:00 [fontations] More idiomatic
Behdad Esfahbod bb3a55a6 2025-03-24T17:05:58 [fontations] Add TODO
Behdad Esfahbod 0affe127 2025-03-24T17:00:57 [fontations] Apply variations to glyph_v_advances
Behdad Esfahbod 83d3ffc5 2025-03-24T16: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.
Behdad Esfahbod 0ae4b8f4 2025-03-24T16:45:35 [fontations] Implement glyph_v_advances Without variations for now.
Behdad Esfahbod 589e78ce 2025-03-24T12:48:43 [fontations] Handle recursive clip-glyphs This reverts 852f66a4187f59f169d0de2ea98725d1d78e8da8 in spirit, using a malloc-free implementation and keeping the fill-glyph optimization.
Behdad Esfahbod 0849d3d8 2025-03-23T16:06:21 [fontations] Minor shuffle
Behdad Esfahbod 8e1502cc 2025-03-23T16:03:02 [fontations] Implement glyph_v_origin
Behdad Esfahbod 391cbed8 2025-03-23T12:36:02 [fontations] Support non-uniform scales
Behdad Esfahbod 65094142 2025-03-22T14:19:34 [fontations] Make serial tracking atomic Would shut up tsan if we ever tried it on this.
Behdad Esfahbod cfb962d7 2025-03-21T14:53:34 [fontations] Use the proposed pop_layer_with_mode Reduces the last Vec use. https://github.com/googlefonts/fontations/pull/1419
Behdad Esfahbod 852f66a4 2025-03-21T13: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
Behdad Esfahbod 64dcece3 2025-03-20T14:05:57 [fontations] Clean up atomic initialization based on review
Behdad Esfahbod 24ad0dd4 2025-03-19T15:53:22 [fontations] Implement glyph_from_name (with caching)
Behdad Esfahbod 82e0ff6d 2025-03-17T23:43:19 [fontations] Implement get_glyph_name
Behdad Esfahbod 000a0ad7 2025-03-15T14:37:44 [paint] Add push_font_transform() / push_inverse_font_transform() Fixes https://github.com/harfbuzz/harfbuzz/issues/5146
Behdad Esfahbod c1ed4631 2025-03-14T22:14:28 [fontations] rustfmt
Behdad Esfahbod da4758e7 2025-03-14T22: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
Behdad Esfahbod fbb81e34 2025-03-12T00:52:12 [fontations] Adjust alignment requirement
Behdad Esfahbod 8d300049 2025-03-12T00:43:10 [fontations] Assert layout alignment
Behdad Esfahbod 5bf81c37 2025-03-11T22:46:16 [common] Make hb_malloc() et al public New API: +hb_malloc() +hb_calloc() +hb_realloc() +hb_free()
Behdad Esfahbod 4323c664 2025-03-10T20:06:08 [fontations] Make fontations use hb_malloc et al
Behdad Esfahbod e77fb463 2025-03-09T18:53:36 [fontations] Do double-checked locking See if tsan likes this. It liked the previous version.
Behdad Esfahbod 780809fb 2025-03-09T18: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.
Behdad Esfahbod 4bb7f610 2025-03-07T21:33:53 [fontations] Minor remove a type
Behdad Esfahbod bd66336d 2025-03-07T21:13:28 [fontations] Add clippy-check target
Behdad Esfahbod a68f4586 2025-03-07T21:05:59 [fontations] Make 'ninja -Cbuild clippy' apply fixes
Behdad Esfahbod 4e5358a2 2025-03-07T15:18:28 [COLRv1] Fix comments Fixes https://github.com/harfbuzz/harfbuzz/issues/5116
Behdad Esfahbod 575e70b0 2025-03-07T12:51:44 [COLR] Use palette 0 if palette index out of range Fixes https://github.com/harfbuzz/harfbuzz/issues/5112
Behdad Esfahbod fe8a3972 2025-03-06T23:52:08 [fontations] Speed up glyph_extents if x_scale == y_scale
Behdad Esfahbod abc46827 2025-03-06T23:50:05 [fontations] Cache GlyphMetrics objects
Behdad Esfahbod ad9fa13d 2025-03-06T17:25:56 [fontations] Render nothing if palette index out of range Matches ot. Ft crashes currently.
Behdad Esfahbod cd45a7f5 2025-03-06T16:11:01 [fontations] Add a constructor
Simon Cozens cda4b56b 2025-03-06T22:25:07 "where" not needed for trait impl
Simon Cozens e8bed99b 2025-03-06T22:24:52 Banish static lifetimes
Behdad Esfahbod 1147c0e1 2025-03-06T14:57:06 [fontations] Clean up data passing
Behdad Esfahbod 77a319da 2025-03-06T14:48:51 [fontations] Fix color-line extend fetching This fixes the last bug I know.
Garret Rieger fc8334d9 2025-03-06T20:14:03 Final cleanups.
Garret Rieger a20138dc 2025-03-06T19:56:34 More cleanups
Garret Rieger f379505d 2025-03-06T19:41:39 Add struct_at/struct_at_mut helpers for accessing c arrays.
Behdad Esfahbod 34a919b9 2025-03-06T12:42:42 [fontations] Clippy
Behdad Esfahbod d9b1101d 2025-03-06T12:06:12 [fontations] Mark the whole public function unsafe
Behdad Esfahbod b5d2ec4f 2025-03-06T11:59:20 [fontations] clippy
Behdad Esfahbod 92af2e47 2025-03-06T11:33:22 [fontations] Do a bounds check
Behdad Esfahbod e054db4a 2025-03-04T18:43:19 [fontations] Hook up to benchmark-font
Behdad Esfahbod ea5a14f7 2025-03-04T18:31:19 [fontations] Implement draw_glyph
Behdad Esfahbod 87c62f4e 2025-03-04T18:08:56 [fontations] Boilerplate for draw_glyph
Behdad Esfahbod bc2851b4 2025-03-04T17:45:00 [fontations] Implement font_h_extents
Behdad Esfahbod b9a4d148 2025-03-04T17:30:57 [fontations] Implement get_glyph_extents
Behdad Esfahbod f2e5955e 2025-03-04T17:21:04 [fontations] Cache a x_size and y_size
Behdad Esfahbod 166e6307 2025-03-04T17:03:15 [fontations] Implement get_variation_glyph
Behdad Esfahbod 83e85d2a 2025-03-04T16:38:17 [fontations] rustfmt
Behdad Esfahbod 156b7732 2025-03-04T16:32:03 [fontations] Don't derive Copy et al since our types are not
Behdad Esfahbod 74bd99e4 2025-03-04T16:11:08 [fontations] Set font variations
Behdad Esfahbod 7a65fdca 2025-03-04T15:54:45 [fontations] Cache location
Behdad Esfahbod c969c2de 2025-03-04T15:52:48 [fontations] Cache Size
Behdad Esfahbod 51c68eb2 2025-03-04T15:15:11 [fontations] Cache charmap
Behdad Esfahbod 1705723d 2025-03-04T14:50:50 [fontations] Cache static fontfuncs object
Behdad Esfahbod afe1af8f 2025-03-04T05:18:43 [fontations] Implement get_nominal_glyphs() Shapes now.
Behdad Esfahbod e801e484 2025-03-04T04:54:13 [fontations] Remove get_glyph_h_advance()
Behdad Esfahbod 1390da5d 2025-03-04T04:53:41 [fontations] Implement get_glyph_h_advances()
Behdad Esfahbod 94a6cfba 2025-03-04T04:45:07 [fontations] Working get_glyph_advance()
Behdad Esfahbod 0113c86a 2025-03-04T04:01:03 [fontations] Hide internal symbols
Behdad Esfahbod 71accd5e 2025-03-04T03:58:28 [fontations] Hide one symbol How do I hide the other internal extern "C" symbols?
Behdad Esfahbod 395270e4 2025-03-04T02:28:51 [fontations] Try folding into libharfbuzz
Behdad Esfahbod 2a06b85d 2025-03-04T02:10:21 [fontations] Try using an intermediate library Still doesn't link.
Behdad Esfahbod 161b20f3 2025-03-04T01:17:53 Try building with cargo
Behdad Esfahbod e1c93442 2025-03-03T23:55:42 [fontations] More experiments
Behdad Esfahbod db6431f1 2025-03-03T23:43:28 [fontations] Fix a warning
Behdad Esfahbod 26da19f6 2025-03-03T23:36:33 Kinda builds now with bindgen Requires nightly.
Behdad Esfahbod ad8e4a29 2025-03-03T21:13:05 [fontations] Start building a libharfbuzz-fontations
Khaled Hosny 3ce6b720 2025-03-06T04:09:49 [fontations] slice::from_raw_parts requires the pointer to be non-null
Behdad Esfahbod 91f4a67d 2025-03-05T17:45:50 [fontations] Fix translucent foreground colors
Behdad Esfahbod 9b4eaff8 2025-03-05T11:28:57 [fontations] Fix palette handling What a pain...
Behdad Esfahbod 3a699c37 2025-03-05T10:48:48 [fontations] Fix anchor unreduction
Behdad Esfahbod b5ad6de8 2025-03-05T01:58:47 [fontations] Unreduce LinearGradient anchors Oh well...
Behdad Esfahbod a2d9c29b 2025-03-05T01:48:40 [fontations] Comment
Behdad Esfahbod b5a04a96 2025-03-05T01:15:54 [fontations] Fix sweep gradients
Behdad Esfahbod e10e5c37 2025-03-05T00:39:55 [fontations] Implement sweep gradients Untested. Also, radial gradients seem faulty.
Behdad Esfahbod 865d75ef 2025-03-05T00:35:21 [fontations] Implement radial gradients
Behdad Esfahbod d72968ef 2025-03-05T00:31:55 [fontations] Refactor make_color_line
Behdad Esfahbod 4b1f655a 2025-03-04T23:56:01 [fontations] Implement LinearGradients
Behdad Esfahbod 1a39f893 2025-03-04T22:29:22 [fontations] Implement solid paint
Behdad Esfahbod 5b27f328 2025-03-04T21:37:00 [fontations] Implement most of paint API
Behdad Esfahbod d069e790 2025-03-04T20:28:19 [fontations] Fix pointer unsafe play
Behdad Esfahbod 6e472748 2025-03-04T19:23:24 [fontations] Set Location only if non-zero
Behdad Esfahbod 024e9356 2025-03-04T19:20:27 [fontations] Use a slice
Behdad Esfahbod 3f57f76e 2025-03-04T19:12:37 [fontations] Cache OutlineGlyphCollection As advised by Chad. Speeds up drawing benchmark 2x.
Behdad Esfahbod c4932fa5 2025-03-04T18:51:10 [fontations] Fix life-cycle double-free