#font #console #read #optional #automatic #was #decoding

psf

允许读取 psf 字体,包括可选的压缩版本

2 个不稳定版本

0.2.0 2020 年 10 月 20 日
0.1.0 2020 年 10 月 17 日

#37 in #was

MIT 许可证

13KB
251 代码行(不含注释)

psf

读取 psf(控制台)字体文件,可选支持自动解压缩。

psf 格式的解码得以实现,归功于 nafe 工具。

使用方法

use psf::Font;

let the_font = Font::new("<path>");
if let Ok(font) = the_font {
    let c = font.get_char('X');
    if let Some(c) = c {
        println!("{:-<1$}", "", c.width() + 2);
        for h in 0..c.height() {
           print!("|");
           for w in 0..c.width() {
               let what = if c.get(w, h).unwrap() != 0 { "X" } else { " " };
               print!("{}", what);
           }
           println!("|");
       }
       println!("{:-<1$}", "", c.width() + 2);
    }
}

这实际上是方法 Font::print_char() 所执行的。


lib.rs:

读取 psf(控制台)字体。提供非常简单的接口用于显示字形。

字形数据的暴露简单且易于使用

use psf::Font;

let the_font = Font::new("<path>");
if let Ok(font) = the_font {
    let c = font.get_char('X');
    if let Some(c) = c {
        println!("{:-<1$}", "", c.width() + 2);
        for h in 0..c.height() {
           print!("|");
           for w in 0..c.width() {
               let what = if c.get(w, h).unwrap() { "X" } else { " " };
               print!("{}", what);
           }
           println!("|");
       }
       println!("{:-<1$}", "", c.width() + 2);
    }
}

依赖项

~90KB