#font #parser #bitmap-font #font-file #no-alloc #console #pcf

simple-pcf

A simple library for parsing PCF bitmap font files

2 releases

0.1.1 Mar 18, 2024
0.1.0 Mar 18, 2024

#17 in #font-file

MIT license

9KB
86 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 PCF 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 pcf = simple_pcf::Pcf::parse(data).unwrap();

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

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

No runtime deps