2 releases

0.1.2 May 20, 2024
0.1.1 May 19, 2024

#1243 in Parser implementations

41 downloads per month

MIT license

10KB
129 lines

A simple parser for the PC Screen Font file format used to store bitmap fonts, most notably for use in the Linux kernel's built-in console.

Cozette is a good sample PSF font if you're looking for one.

This crate is no_std, no_alloc, and should never panic.

Example

let data: &[u8] = &std::fs::read("cozette.psf").unwrap();
let psf = simple_psf::Psf::parse(data).unwrap();

for glyph_index in b'a' as usize ..= b'z' as usize {
	for (index, pixel_on) in psf.get_glyph_pixels(glyph_index).unwrap().enumerate() {
		if index % psf.glyph_width == 0 {
			println!("");
		}

		if pixel_on {
			print!("@");
		} else {
			print!(" ");
		}
	}
}

No runtime deps