11 个重大版本更新
0.12.0 | 2019年1月2日 |
---|---|
0.11.0 | 2018年12月29日 |
0.10.0 | 2018年12月27日 |
0.7.0 | 2018年6月17日 |
#16 in #zero-allocation
在 cff 中使用
11KB
186 行代码(不包括注释)
sfnt
零分配的 SFNT 解析器。
在 Apache License 2.0 许可下发布。
支持 Rust 1.31.0 及以上版本。
示例
use std::fs::{File};
use std::io::{Read};
use sfnt::{Record, Sfnt, Tag};
fn main() {
// Read the font file into memory.
let mut file = File::open("tests/resources/OpenSans-Italic.ttf").unwrap();
let mut bytes = vec![];
file.read_to_end(&mut bytes).unwrap();
// Parse the font file and find one of the tables in the font file.
let sfnt = Sfnt::parse(&bytes).unwrap();
let (record, bytes) = sfnt.find(b"head").unwrap();
assert_eq!(record, Record {
tag: Tag(b"head"),
checksum: 4165466467,
offset: 316,
length: 54,
});
assert_eq!(bytes.len(), 54);
}
依赖项
~2MB
~47K SLoC