37 lines
1.3 KiB
Rust
37 lines
1.3 KiB
Rust
use anyhow::Result;
|
|
use std::fs;
|
|
use std::path::Path;
|
|
|
|
fn main() -> Result<()> {
|
|
println!("cargo:rerun-if-changed=build.rs");
|
|
|
|
// Create assets directory if it doesn't exist
|
|
let fonts_dir = Path::new("assets/fonts");
|
|
fs::create_dir_all(fonts_dir)?;
|
|
|
|
// Check if fonts exist, if not, create placeholder files
|
|
// In production, you would download actual font files here
|
|
let font_files = vec![
|
|
"LiberationSans-Regular.ttf",
|
|
"LiberationSans-Bold.ttf",
|
|
"LiberationSans-Italic.ttf",
|
|
"LiberationMono-Regular.ttf",
|
|
"NotoSans-Regular.ttf",
|
|
"NotoSans-Bold.ttf",
|
|
];
|
|
|
|
for font_file in font_files {
|
|
let font_path = fonts_dir.join(font_file);
|
|
if !font_path.exists() {
|
|
// For now, we'll create empty placeholder files
|
|
// In production, download actual Liberation or Noto fonts (which are open source)
|
|
println!("cargo:warning=Font file {} not found. Please download Liberation fonts from https://github.com/liberationfonts/liberation-fonts", font_file);
|
|
|
|
// Create a minimal placeholder TTF file (this won't work for actual rendering)
|
|
// You should download the actual fonts
|
|
fs::write(&font_path, &[0u8; 100])?;
|
|
}
|
|
}
|
|
|
|
Ok(())
|
|
} |