summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--Cargo.toml4
-rw-r--r--graphics/Cargo.toml1
-rw-r--r--graphics/fonts/FiraSans-Regular.ttfbin0 -> 440984 bytes
-rw-r--r--graphics/src/text.rs13
-rw-r--r--renderer/Cargo.toml1
5 files changed, 18 insertions, 1 deletions
diff --git a/Cargo.toml b/Cargo.toml
index ef7eae61..7d275b31 100644
--- a/Cargo.toml
+++ b/Cargo.toml
@@ -18,7 +18,7 @@ all-features = true
maintenance = { status = "actively-developed" }
[features]
-default = ["wgpu"]
+default = ["wgpu", "fira-sans"]
# Enable the `wgpu` GPU-accelerated renderer backend
wgpu = ["iced_renderer/wgpu", "iced_widget/wgpu"]
# Enables the `Image` widget
@@ -53,6 +53,8 @@ highlighter = ["iced_highlighter"]
multi-window = ["iced_winit/multi-window"]
# Enables the advanced module
advanced = []
+# Enables embedding Fira Sans as the default font on Wasm builds
+fira-sans = ["iced_renderer/fira-sans"]
[dependencies]
iced_core.workspace = true
diff --git a/graphics/Cargo.toml b/graphics/Cargo.toml
index 907f3705..0ee6ff47 100644
--- a/graphics/Cargo.toml
+++ b/graphics/Cargo.toml
@@ -18,6 +18,7 @@ all-features = true
geometry = ["lyon_path"]
image = ["dep:image", "kamadak-exif"]
web-colors = []
+fira-sans = []
[dependencies]
iced_core.workspace = true
diff --git a/graphics/fonts/FiraSans-Regular.ttf b/graphics/fonts/FiraSans-Regular.ttf
new file mode 100644
index 00000000..6f806474
--- /dev/null
+++ b/graphics/fonts/FiraSans-Regular.ttf
Binary files differ
diff --git a/graphics/src/text.rs b/graphics/src/text.rs
index 217a23e2..0310ead7 100644
--- a/graphics/src/text.rs
+++ b/graphics/src/text.rs
@@ -17,6 +17,15 @@ use once_cell::sync::OnceCell;
use std::borrow::Cow;
use std::sync::{Arc, RwLock, Weak};
+/// The regular variant of the [Fira Sans] font.
+///
+/// It is loaded as part of the default fonts in Wasm builds.
+///
+/// [Fira Sans]: https://mozilla.github.io/Fira/
+#[cfg(all(target_arch = "wasm32", feature = "fira-sans"))]
+pub const FIRA_SANS_REGULAR: &'static [u8] =
+ include_bytes!("../fonts/FiraSans-Regular.ttf").as_slice();
+
/// Returns the global [`FontSystem`].
pub fn font_system() -> &'static RwLock<FontSystem> {
static FONT_SYSTEM: OnceCell<RwLock<FontSystem>> = OnceCell::new();
@@ -27,6 +36,10 @@ pub fn font_system() -> &'static RwLock<FontSystem> {
cosmic_text::fontdb::Source::Binary(Arc::new(
include_bytes!("../fonts/Iced-Icons.ttf").as_slice(),
)),
+ #[cfg(all(target_arch = "wasm32", feature = "fira-sans"))]
+ cosmic_text::fontdb::Source::Binary(Arc::new(
+ include_bytes!("../fonts/FiraSans-Regular.ttf").as_slice(),
+ )),
]),
version: Version::default(),
})
diff --git a/renderer/Cargo.toml b/renderer/Cargo.toml
index a159978c..5cce2427 100644
--- a/renderer/Cargo.toml
+++ b/renderer/Cargo.toml
@@ -18,6 +18,7 @@ geometry = ["iced_graphics/geometry", "iced_tiny_skia/geometry", "iced_wgpu?/geo
tracing = ["iced_wgpu?/tracing"]
web-colors = ["iced_wgpu?/web-colors"]
webgl = ["iced_wgpu?/webgl"]
+fira-sans = ["iced_graphics/fira-sans"]
[dependencies]
iced_graphics.workspace = true