From 6d275bd299736b8d5539f41a709d628dec14c478 Mon Sep 17 00:00:00 2001 From: HampusM Date: Tue, 4 Aug 2026 15:50:16 +0200 Subject: feat(engine): use Fira Mono as default font for dear imgui --- engine/Cargo.toml | 1 + engine/res/FiraMono-Regular.ttf | Bin 0 -> 170204 bytes engine/src/ui/dear_imgui.rs | 24 ++++++++++++++++++++++++ 3 files changed, 25 insertions(+) create mode 100644 engine/res/FiraMono-Regular.ttf (limited to 'engine') diff --git a/engine/Cargo.toml b/engine/Cargo.toml index df29fd3..0c1f5c3 100644 --- a/engine/Cargo.toml +++ b/engine/Cargo.toml @@ -46,6 +46,7 @@ git = "https://github.com/Latias94/dear-imgui-rs" # This commit has a fix for linking with libstdc++ on non-msvc Windows targets. When a # release with this fix is available, it should be used instead rev = "cd2425b699e746852757e9290257bbf09129cfa7" +features = ["freetype"] [build-dependencies] build-rs = "0.3.4" diff --git a/engine/res/FiraMono-Regular.ttf b/engine/res/FiraMono-Regular.ttf new file mode 100644 index 0000000..67bbd42 Binary files /dev/null and b/engine/res/FiraMono-Regular.ttf differ diff --git a/engine/src/ui/dear_imgui.rs b/engine/src/ui/dear_imgui.rs index b571cee..4bf34c9 100644 --- a/engine/src/ui/dear_imgui.rs +++ b/engine/src/ui/dear_imgui.rs @@ -160,6 +160,25 @@ impl ecs::extension::Extension for Extension tracing::error!("Failed to set path of imgui settings ini file: {err}"); } + assert!( + dear_imgui_rs::HAS_FREETYPE, + "Freetype font rasterizer support is not enabled" + ); + + context.ctx.font_atlas_mut().add_font_from_memory_ttf( + include_bytes!("../../res/FiraMono-Regular.ttf"), + 14.0, + Some( + &dear_imgui_rs::FontConfig::default() + .name("FiraMono-Regular.ttf") + .font_loader_flags( + dear_imgui_rs::FontLoaderFlags::BITMAP + | dear_imgui_rs::FontLoaderFlags::FORCE_AUTOHINT, + ), + ), + None, + ); + collector.add_sole(context).ok(); collector.add_system( @@ -983,6 +1002,11 @@ mod inner_context_wrapper self.ctx.io_mut() } + pub fn font_atlas_mut(&mut self) -> dear_imgui_rs::FontAtlas + { + self.ctx.font_atlas_mut() + } + pub fn render(&mut self) -> &mut dear_imgui_rs::DrawData { self.ctx.render() -- cgit v1.2.3-18-g5258