sfnt 0.9.0

A zero-allocation SFNT parser.
sfnt-0.9.0 doesn't have any documentation.

sfnt

crates.io docs.rs travis-ci.com

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};

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: b"head",
        checksum: 4165466467,
        offset: 316,
        length: 54,
    });

    assert_eq!(bytes.len(), 54);
}