fix: reorder find_fonts_dir to cwd, exe-parent, ../fonts
This commit is contained in:
18
src/font.rs
18
src/font.rs
@@ -55,17 +55,10 @@ pub fn setup_fonts(ctx: &egui::Context, selected_name: &str) -> String {
|
|||||||
}
|
}
|
||||||
|
|
||||||
fn find_fonts_dir() -> PathBuf {
|
fn find_fonts_dir() -> PathBuf {
|
||||||
// 1. CWD + fonts/ (cargo run from project root)
|
let cwd = PathBuf::from("fonts");
|
||||||
let cwd_fonts = PathBuf::from("fonts");
|
if cwd.is_dir() {
|
||||||
if cwd_fonts.is_dir() {
|
return cwd;
|
||||||
return cwd_fonts;
|
|
||||||
}
|
}
|
||||||
// 2. CWD + ../fonts/ (exe running from target/{debug,release})
|
|
||||||
let parent_fonts = PathBuf::from("../fonts");
|
|
||||||
if parent_fonts.is_dir() {
|
|
||||||
return parent_fonts;
|
|
||||||
}
|
|
||||||
// 3. Exe parent + fonts/ (deployed, fonts next to exe)
|
|
||||||
if let Ok(exe) = std::env::current_exe() {
|
if let Ok(exe) = std::env::current_exe() {
|
||||||
if let Some(parent) = exe.parent() {
|
if let Some(parent) = exe.parent() {
|
||||||
let p = parent.join("fonts");
|
let p = parent.join("fonts");
|
||||||
@@ -74,6 +67,9 @@ fn find_fonts_dir() -> PathBuf {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
// 4. Fallback (will fail with file-not-found, graceful fallback to bundled font)
|
let up = PathBuf::from("../fonts");
|
||||||
|
if up.is_dir() {
|
||||||
|
return up;
|
||||||
|
}
|
||||||
PathBuf::from("fonts")
|
PathBuf::from("fonts")
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user