egui 초기 폰트가 한글을 지원하지 않는다. 따라서 한글 폰트를 설정해주어야 한다.
위와같은 순서를 따른다.
구현된 코드이다.
fn replace_fonts(ctx : &egui::Context) {
let mut fonts = egui::FontDefinitions::default();
fonts.font_data.insert(
"my_font".to_owned(),
std::sync::Arc::new(egui::FontData::from_static(include_bytes!(
"../assets/NotoSansKR-Regular.ttf"
))),
);
fonts
.families
.entry(egui::FontFamily::Proportional)
.or_default()
.insert(0, "my_font".to_owned());
fonts
.families
.entry(egui::FontFamily::Monospace)
.or_default()
.insert(0, "my_font".to_owned());
ctx.set_fonts(fonts);
}

fn add_fonts(ctx : &egui::Context) {
ctx.add_font(FontInsert::new(
"my_font",
egui::FontData::from_static(include_bytes!(
"../assets/NotoSansKR-Regular.ttf"
)),
vec![
InsertFontFamily {
family: egui::FontFamily::Proportional,
priority: egui::epaint::text::FontPriority::Highest,
},
InsertFontFamily {
family: egui::FontFamily::Monospace,
priority: egui::epaint::text::FontPriority::Lowest,
},
],
));
}
impl Dashboard {
fn new(cc: &eframe::CreationContext<'_>) ->Self {
replace_fonts(&cc.egui_ctx);
add_fonts(&cc.egui_ctx);
Self {}
}
}
state의 new를 정의할 때 egui::Context를 매개변수로 받아서
replace_font와 add_font를 호출해주면 된다.

https://docs.rs/egui/latest/egui/?search=add_font
https://github.com/emilk/egui