日本語に対応させました
ソースを見ると日本語に対応しているようです
しかし、EXEをダウンロードして見るとバージョン0.2.0でソースと一致していません
- lightcraftソースをダウンロード
- rustのインストール
- visual studioでdesktop developmennt c++インストール
- コンパイルしてみました、言語設定は現れましたが文字化けです
- lightcraft-main\assets\fontsに日本語フォントを入れる必要とのこと
解決しません。文字化けです
lightcraft-main\crates\ui-egui\srcのthema.rsで定義しているようです
いろいろ調べてソースを変更
pub fn install_fonts(ctx: &egui::Context) {
ctx.set_fonts(font_definitions(lightcraft_engine::CRAFT_FONTS));
}
/// Inter (bundled) for Latin text, egui's default fonts, then the craft-fonts Japanese faces as
/// the last fallback of every family (BIZ UDPGothic first; Bold first for the semibold family).
/// Without craft-fonts (`craft` empty) Japanese text has no glyphs and shows as boxes.
pub fn font_definitions(craft: &'static [lightcraft_engine::CraftFont]) -> FontDefinitions {
let mut fonts = FontDefinitions::default();
// 1. 既存の Inter フォントの読み込み
fonts.font_data.insert("Inter".into(), Arc::new(FontData::from_static(include_bytes!("../../../assets/fonts/Inter-Regular.ttf"))));
fonts.font_data.insert("Inter-SemiBold".into(), Arc::new(FontData::from_static(include_bytes!("../../../assets/fonts/Inter-SemiBold.ttf"))));
// 2. 追加した日本語フォント(Noto Sans JP)の読み込み
fonts.font_data.insert(
"NotoSansJP".into(),
Arc::new(FontData::from_static(include_bytes!("../../../assets/fonts/NotoSansJP-VF.ttf"))),
);
let defaults: Vec<String> = fonts.families.get(&FontFamily::Proportional).cloned().unwrap_or_default();
// 3. 通常テキスト(Proportional)に NotoSansJP をフォールバックとして追加
let mut prop = vec!["Inter".to_string(), "NotoSansJP".to_string()];
prop.extend(defaults.iter().cloned());
fonts.families.insert(FontFamily::Proportional, prop);
// 4. SemiBold や Monospace にも追加
let mut semi = vec!["Inter-SemiBold".to_string(), "NotoSansJP".to_string()];
semi.extend(defaults);
fonts.families.insert(FontFamily::Name(FONT_SEMIBOLD.into()), semi);
fonts.families.entry(FontFamily::Monospace).or_default().push("NotoSansJP".to_string());
fonts
やっと解決
日本語対応になりました
たぶん日本人も開発に参加しているんですね
私はコンパイルしただけです
しばらくすれば、開発もとで最新のexeを作ってくれるでしょう。
皆さんは期待してお待ちください



