3个不稳定版本
0.2.0 | 2024年1月6日 |
---|---|
0.1.1 | 2023年12月17日 |
0.1.0 | 2023年12月16日 |
#125 in 无标准库
16KB
148 行
fleck — 用于使用uf2字体的库
uf2 是个人计算领域uxn生态系统使用的位图字体格式。这是一个用于在Rust项目中解析和使用uf2字体的简单库。
本库的一些选择和示例参考了出色的 psf2
库的结构。
此外,如果您喜欢 no_std
,您可以使用 no_std
功能标志来确保所有功能都是 no_std
和 no_alloc
。
fleck 是更广泛的 weft 生态系统的一部分。
如果您喜欢uf2这样的字体,您可能会喜欢 tid 和 weft 项目中的其他东西!本项目起源于 tid 的uf2解析器。
示例
let mut data = [0u8; fleck::FILE_SIZE];
let mut file = std::fs::File::open(file_path).expect("could not find font file");
file.read_exact(&mut data).expect("could not read font data");
let font = Font::new(&data);
// Alternatively you could use `Font::load_from_file(file_path)`
// if you're fine with using std.
let text = args.next().unwrap_or("demo".to_string());
for ch in message.chars() {
let Some(glyph) = font.glyph(ch) else {
eprintln!("unsupported glyph: {}", ch);
continue;
};
// Print a representation of each glyph to the terminal.
for row in glyph {
for filled in row {
let pixel = if filled { "##" } else { " " };
print!("{pixel}");
}
println!();
}
}
贡献
fleck 的问题追踪器可在 todo.sr.ht/~ma3ke/fleck 找到。我们使用 todo.sr.ht/~ma3ke/weft 来跟踪与整个项目相关的主意和任务。
注意:如果您想提交更改,但觉得通过电子邮件来做很令人生畏,那完全没有问题!另一种很好的方式是在其他地方分叉仓库,将您的更改推送到那里,并将您希望我考虑的提交链接发给我。或者,只需通过DM或电子邮件联系我 :)
补丁可以提交到 weft 邮件列表(~ma3ke/weft@lists.sr.ht
)。
在提交补丁之前,通过DM或邮件列表寻求帮助和讨论是明智而有趣的做法。
通过电子邮件提交补丁时,请将主题前缀设置为 [PATCH fleck]
。
git config format.subjectPrefix "PATCH fleck"
(如果您不知道这些东西是如何工作的,但想了解,git-send-email.io 是一个极好的动手学习资源。)
由 ma3ke 制作 <3