postscript 0.14.1

The package provides a parser for PostScript fonts.
Documentation
use std::fs::File;
use std::path::PathBuf;

use postscript::compact1::FontSet;
use postscript::Value;

macro_rules! ok(($result:expr) => ($result.unwrap()));

#[allow(dead_code)]
pub enum Fixture {
    NotoSansJP,
    SourceSerifPro,
}

impl Fixture {
    pub fn path(&self) -> PathBuf {
        match *self {
            Fixture::NotoSansJP => "tests/fixtures/NotoSansJP-Regular.otf".into(),
            Fixture::SourceSerifPro => "tests/fixtures/SourceSerifPro-Regular.otf".into(),
        }
    }

    pub fn offset(&self) -> u64 {
        match *self {
            Fixture::NotoSansJP => 337316,
            Fixture::SourceSerifPro => 17732,
        }
    }
}

pub fn setup(fixture: Fixture) -> File {
    use std::io::{Seek, SeekFrom};

    let mut file = ok!(File::open(fixture.path()));
    ok!(file.seek(SeekFrom::Start(fixture.offset())));
    file
}

pub fn setup_font_set(fixture: Fixture) -> FontSet {
    let mut file = setup(fixture);
    ok!(FontSet::read(&mut file))
}