From 90cb0357c6102d100b36fbfd94fd10782ea483fe Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Bel=C3=A9n=20Albeza?= Date: Tue, 8 Apr 2025 14:46:36 +0200 Subject: [PATCH] :tada: Swap default font for source sans (wasm) --- frontend/src/app/main/fonts.cljs | 1 - render-wasm/src/fonts/RobotoMono-Regular.ttf | Bin 87236 -> 0 bytes .../src/fonts/sourcesanspro-regular.ttf | Bin 0 -> 68640 bytes render-wasm/src/render/fonts.rs | 40 ++++++++++++------ render-wasm/src/shapes/fonts.rs | 4 ++ render-wasm/src/shapes/text.rs | 4 +- 6 files changed, 34 insertions(+), 15 deletions(-) delete mode 100644 render-wasm/src/fonts/RobotoMono-Regular.ttf create mode 100644 render-wasm/src/fonts/sourcesanspro-regular.ttf diff --git a/frontend/src/app/main/fonts.cljs b/frontend/src/app/main/fonts.cljs index 50b3b0035..5b06f449b 100644 --- a/frontend/src/app/main/fonts.cljs +++ b/frontend/src/app/main/fonts.cljs @@ -253,7 +253,6 @@ (defn get-variant [{:keys [variants] :as font} font-variant-id] - (prn "get-variant" font-variant-id fonts) (or (d/seek #(= (:id %) font-variant-id) variants) (get-default-variant font))) diff --git a/render-wasm/src/fonts/RobotoMono-Regular.ttf b/render-wasm/src/fonts/RobotoMono-Regular.ttf deleted file mode 100644 index 6df2b253603094de7f39886aae03181c686e375b..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 87236 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 WiD&}1U9w};%2Kl9!gJKh^8W$jCY;;= diff --git a/render-wasm/src/fonts/sourcesanspro-regular.ttf b/render-wasm/src/fonts/sourcesanspro-regular.ttf new file mode 100644 index 0000000000000000000000000000000000000000..cb2f335971c614a4d389d1c922038384fcf784c8 GIT binary patch literal 68640 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 String { + let family = FontFamily::new(default_font_uuid(), 400, FontStyle::Normal); + format!("{}", family) +} + +fn default_font_uuid() -> Uuid { + Uuid::nil() +} + pub struct FontStore { font_mgr: FontMgr, font_provider: textlayout::TypefaceFontProvider, @@ -18,25 +28,19 @@ impl FontStore { pub fn new() -> Self { let font_mgr = FontMgr::new(); - let mut font_provider = skia::textlayout::TypefaceFontProvider::new(); - - let default_font = font_mgr - .new_from_data(DEFAULT_FONT_BYTES, None) - .expect("Failed to load font"); - - font_provider.register_typeface(default_font, DEFAULT_FONT); + let mut font_provider = load_default_provider(&font_mgr); + // TODO: Load emoji font lazily let emoji_font = font_mgr .new_from_data(EMOJI_FONT_BYTES, None) .expect("Failed to load font"); - font_provider.register_typeface(emoji_font, DEFAULT_EMOJI_FONT); let mut font_collection = skia::textlayout::FontCollection::new(); font_collection.set_default_font_manager(FontMgr::from(font_provider.clone()), None); let debug_typeface = font_provider - .match_family_style("robotomono-regular", skia::FontStyle::default()) + .match_family_style(default_font().as_str(), skia::FontStyle::default()) .unwrap(); let debug_font = skia::Font::new(debug_typeface, 10.0); @@ -85,3 +89,15 @@ impl FontStore { self.font_provider.family_names().any(|x| x == serialized) } } + +fn load_default_provider(font_mgr: &FontMgr) -> skia::textlayout::TypefaceFontProvider { + let mut font_provider = skia::textlayout::TypefaceFontProvider::new(); + + let family = FontFamily::new(default_font_uuid(), 400, FontStyle::Normal); + let font = font_mgr + .new_from_data(DEFAULT_FONT_BYTES, None) + .expect("Failed to load font"); + font_provider.register_typeface(font, family.alias().as_str()); + + font_provider +} diff --git a/render-wasm/src/shapes/fonts.rs b/render-wasm/src/shapes/fonts.rs index a0e624bfc..7a4524cad 100644 --- a/render-wasm/src/shapes/fonts.rs +++ b/render-wasm/src/shapes/fonts.rs @@ -39,6 +39,10 @@ impl FontFamily { pub fn new(id: Uuid, weight: u32, style: FontStyle) -> Self { Self { id, style, weight } } + + pub fn alias(&self) -> String { + format!("{}", self) + } } impl fmt::Display for FontFamily { diff --git a/render-wasm/src/shapes/text.rs b/render-wasm/src/shapes/text.rs index d343a2944..4a5d37af1 100644 --- a/render-wasm/src/shapes/text.rs +++ b/render-wasm/src/shapes/text.rs @@ -1,6 +1,6 @@ use crate::{ math::Rect, - render::{DEFAULT_EMOJI_FONT, DEFAULT_FONT}, + render::{default_font, DEFAULT_EMOJI_FONT}, }; use skia_safe::{ self as skia, @@ -133,7 +133,7 @@ impl TextLeaf { style.set_font_size(self.font_size); style.set_font_families(&[ self.serialized_font_family(), - DEFAULT_FONT.to_string(), + default_font(), DEFAULT_EMOJI_FONT.to_string(), ]); style