alonso.torres
a641cbab5d
✨ Render Japanese text layouts in WASM
...
Lay out horizontal and vertical Japanese text with kinsoku, ruby,
emphasis, warichu, tate-chu-yoko and proportional font features.
Carry the layout through glyph paths, SVG export and text selection.
Update the Rust and ClojureScript binary formats together, including
the editor bridge and headless exporter. Resolve CJK fallback fonts
and add renderer tests and font fixtures.
2026-11-03 17:36:40 +01:00
Alejandro Alonso
cc5f2f57ad
⬆️ Upgrade skia-safe to 0.153.3 with wasm SIMD ( #12148 )
...
Point SKIA_BINARIES_URL at the 0.153.3 simd prebuild and adapt
fonts, path stroke expansion, and gradients to the new API.
2026-10-07 12:08:33 +02:00
Elena Torró
0913545b41
🐛 Fix letter spacing and position when flattening text to path ( #11555 )
...
* 🐛 Fix letter spacing and position when flattening text to path
* ♻️ Simplify text to path conversion and add flatten tests
2026-09-11 08:20:22 +02:00
Alejandro Alonso
d1a54134bb
✨ Add text and @font-face to WASM SVG export ( #11442 )
...
* ✨ Add text and @font-face to WASM SVG export
Emit selectable <text> elements and inject @font-face rules that
reference the font URLs registered at load time. Text fill bypasses
save_layer wrappers that SkSVGDevice drops. Text strokes are deferred
to a follow-up PR.
* 🐛 Strip trailing commas from Skia SVG text positions
Skia's SVG backend appends a trailing comma to per-glyph x/y lists.
Firefox rejects the malformed attribute and drops glyph positioning,
making exported text vanish or mis-render.
2026-09-01 17:06:50 +02:00
Elena Torró
60d3c81450
✨ Add wasm rulers ( #9858 )
...
* ✨ Add wasm rulers
* 🔧 Fix dpr on page zoom
Co-authored-by: Alejandro Alonso <alejandroalonsofernandez@gmail.com>
Co-authored-by: Elena Torro <elenatorro@gmail.com>
* 🔧 Change page-switch behavior to refresh rulers and keep blurred snapshot
* 🐛 Restore WASM rulers after WebGL context recovery
Co-Authored-By: Elena Torro <elenatorro@gmail.com>
Co-Authored-By: Alejandro Alonso <alejandroalonsofernandez@gmail.com>
---------
Co-authored-by: Alejandro Alonso <alejandroalonsofernandez@gmail.com>
2026-06-05 07:51:35 +02:00
Belén Albeza
d5fe5f82f3
🐛 Fix wasm info label positioning ( #9981 )
2026-06-02 15:18:37 +02:00
Elena Torro
e630be1509
🎉 Add background blur for wasm render
2026-03-18 18:05:30 +01:00
alonso.torres
cd1be43384
✨ Add support for boolean shapes
2025-08-11 10:30:14 +02:00
Belén Albeza
2412402a23
✨ Fix size of 'wasm renderer' debug text on dpr > 1
2025-06-20 10:55:33 +02:00
Elena Torro
8c20159fb0
🐛 Cache emoji font correctly
2025-06-06 11:28:50 +02:00
Elena Torro
c40de5fb87
🎉 Implement font fallback to support multiple languages
2025-06-03 08:21:59 +02:00
Belén Albeza
8afd217a80
🔧 Enable back clippy rules ( #6492 )
...
* 🔧 Fix lint script (rust)
* 🔧 Temporarily add clippy rules to ignore so lint script passes
* 💄 Fix clippy rule crate_in_macro_def
* 💄 Fix clippy rule redundant-static-lifetimes
* 💄 Fix clippy rule unnecessary_cast
* 💄 Fix clippy rule nonminimal_bool
* 💄 Fix clippy rule redundant_pattern_matching
* 💄 Fix clippy rule assign_op_pattern
* 💄 Fix clippy rule needless_lifetimes
* 💄 Fix clippy rule for_kv_map
* 💄 Fix clippy rule ptr_arg
* 💄 Fix clippy rule match_like_matches_macro
* 💄 Fix clippy rule macro_metavars_in_unsafe
* 💄 Fix clippy rule map_clone
* 💄 Fix clippy rule wrong_self_convention
* 💄 Fix clippy rule vec_box
* 💄 Fix clippy rule useless_format
* 💄 Fix clippy rule unwrap_or_default
* 💄 Fix clippy rule unused_unit
* 💄 Fix clippy rule unnecessary_to_owned
* 💄 Fix clippy rule too_many_arguments
* 💄 Fix clippy rule slow_vector_initialization
* 💄 Fix clippy rule single_match
* 💄 Fix clippy rule redundant_field_names
* 💄 Fix clippy rule rendudant_closure
* 💄 Fix clippy rule needless_return
* 💄 Fix clippy rule needless_range_loop
* 💄 Fix clippy rule needless_borrows_for_generic_args
* 💄 Fix clippy rule needless-borrow
* 💄 Fix clippy rule missing_transmute_annotations
* 💄 Fix clippy rule map_entry
* 💄 Fix clippy rule manual_map
* 💄 Fix clippy rule len_zero
* 💄 Fix clippy rule from_over_into
* 💄 Fix clippy rule field_reassign_with_default
* 💄 Fix clippy rule enum_variant_names
* 💄 Fix clippy rule derivable_impls
* 💄 Fix clippy rule clone_on_copy
* 💄 Fix clippy rule box_collection
* 🔧 Make lint script also check test config target
* 🔧 Remove cargo-watch as a lib dependency
* 💄 Fix clippy rule for join_bounds
* 🔧 Fix lint script return code
---------
Co-authored-by: alonso.torres <alonso.torres@kaleidos.net>
2025-05-19 11:14:55 +02:00
Elena Torro
2306df5fb7
✨ Load emoji font dynamically when initializing
2025-04-29 13:07:06 +02:00
Belén Albeza
90cb0357c6
🎉 Swap default font for source sans (wasm)
2025-04-08 14:48:28 +02:00
Aitor Moreno
6eb686c06b
♻️ Refactor Custom Fonts allocations ( #6146 )
...
* ♻️ Refactor Custom Fonts allocations
* 💄 Remove commented code
---------
Co-authored-by: Belén Albeza <belen@hey.com>
2025-03-25 15:34:11 +01:00
Alejandro
065b50f5a2
🐛 Fix asynchronous content dependant rendering ( #6142 )
...
* 🐛 Fix custom fonts rendering
* 🐛 Fix asynchronous content dependant rendering
* 🎉 Renaming clear_cache to clear_drawing_cache
2025-03-25 09:49:47 +01:00
Aitor Moreno
084816fb9f
🎉 Tile rendering system
2025-03-20 11:14:14 +01:00
Elena Torro
ba387a892f
✨ Support emoji default font in text rendering
2025-03-18 10:33:27 +01:00
Belén Albeza
eb6d2fb0eb
🎉 Store custom fonts (ttfs) and use them to write texts (wasm) ( #6050 )
2025-03-14 12:45:15 +01:00