11 breaking releases
0.12.0 | Jan 2, 2019 |
---|---|
0.11.0 | Dec 29, 2018 |
0.10.0 | Dec 27, 2018 |
0.7.0 | Jun 17, 2018 |
#18 in #zero-allocation
40 downloads per month
Used in cff
11KB
186 lines
sfnt
A zero-allocation SFNT parser.
Released under the Apache License 2.0.
Supported on Rust 1.31.0 and later.
Example
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);
}
Dependencies
~2MB
~47K SLoC