Vendor dependencies for 0.3.0 release

This commit is contained in:
2025-09-27 10:29:08 -05:00
parent 0c8d39d483
commit 82ab7f317b
26803 changed files with 16134934 additions and 0 deletions

View File

@@ -0,0 +1,14 @@
use fontconfig_parser::FontConfig;
fn main() {
let args = std::env::args().collect::<Vec<_>>();
if args.len() < 2 {
eprintln!("Usage: cargo run --example dump -- <conf file path>");
return;
}
let mut config = FontConfig::default();
config.merge_config(&args[1]).unwrap();
println!("{:#?}", config);
}

View File

@@ -0,0 +1,39 @@
use fontconfig_parser::{FontConfig, Result};
use std::path::PathBuf;
fn visit_dir(dir: PathBuf, fonts: &mut Vec<PathBuf>) -> Result<()> {
let dir = std::fs::read_dir(dir)?;
for entry in dir {
if let Ok(entry) = entry {
if let Ok(ty) = entry.file_type() {
if ty.is_dir() {
visit_dir(entry.path(), fonts).ok();
} else if ty.is_file() || ty.is_symlink() {
fonts.push(entry.path());
}
}
}
}
Ok(())
}
fn main() -> Result<()> {
let mut config = FontConfig::default();
config.merge_config("/etc/fonts/fonts.conf").unwrap();
println!("dirs: {:#?}", config.dirs);
let mut fonts = Vec::new();
for dir in config.dirs {
visit_dir(dir.path, &mut fonts).ok();
}
println!("Find all {} fonts!", fonts.len());
println!("fonts: {:#?}", fonts);
Ok(())
}

View File

@@ -0,0 +1,16 @@
#[cfg(feature = "serde")]
fn main() {
let args = std::env::args().collect::<Vec<_>>();
if args.len() < 2 {
eprintln!("Usage: cargo run --example parse_dump_json -- <conf file path>");
return;
}
let parts =
fontconfig_parser::parse_config_parts(&std::fs::read_to_string(&args[1]).unwrap()).unwrap();
serde_json::to_writer(std::io::stdout(), &parts).unwrap();
}
#[cfg(not(feature = "serde"))]
fn main() {}