diff options
Diffstat (limited to 'glow')
-rw-r--r-- | glow/Cargo.toml | 3 | ||||
-rw-r--r-- | glow/src/text.rs | 17 |
2 files changed, 13 insertions, 7 deletions
diff --git a/glow/Cargo.toml b/glow/Cargo.toml index 262f0264..baf2eb2f 100644 --- a/glow/Cargo.toml +++ b/glow/Cargo.toml @@ -9,6 +9,7 @@ repository = "https://github.com/hecrj/iced" [features] canvas = ["iced_graphics/canvas"] +default_system_font = ["iced_graphics/font-source"] # Not supported yet! image = [] svg = [] @@ -29,7 +30,7 @@ path = "../native" [dependencies.iced_graphics] version = "0.1" path = "../graphics" -features = ["font-source", "font-fallback", "font-icons", "opengl"] +features = ["font-fallback", "font-icons", "opengl"] [package.metadata.docs.rs] rustdoc-args = ["--cfg", "docsrs"] diff --git a/glow/src/text.rs b/glow/src/text.rs index 6dc7882c..925c7287 100644 --- a/glow/src/text.rs +++ b/glow/src/text.rs @@ -12,15 +12,20 @@ pub struct Pipeline { impl Pipeline { pub fn new(gl: &glow::Context, default_font: Option<&[u8]>) -> Self { + let default_font = default_font.map(|slice| slice.to_vec()); + // TODO: Font customization - let font_source = font::Source::new(); + #[cfg(feature = "default_system_font")] + let default_font = { + default_font.or_else(|| { + font::Source::new() + .load(&[font::Family::SansSerif, font::Family::Serif]) + .ok() + }) + }; let default_font = - default_font.map(|slice| slice.to_vec()).unwrap_or_else(|| { - font_source - .load(&[font::Family::SansSerif, font::Family::Serif]) - .unwrap_or_else(|_| font::FALLBACK.to_vec()) - }); + default_font.unwrap_or_else(|| font::FALLBACK.to_vec()); let font = ab_glyph::FontArc::try_from_vec(default_font) .unwrap_or_else(|_| { |