embedded-picofont 0.2.1

The PICO-8 font to use with embedded-graphics
Documentation
// extern crate image;
extern crate bitvec;
extern crate lodepng;

use bitvec::order::Msb0;
use lodepng::ffi::ColorType;
use lodepng::Image;
use std::env::var;
use std::io::Write;
use std::path::PathBuf;

fn main() {
    // Load the original image.
    let mut dst: bitvec::vec::BitVec<Msb0, u8> = bitvec::vec::BitVec::new();
    let bmp = match lodepng::decode_file("src/font.png", ColorType::GREY, 8) {
        Ok(Image::Grey(bmp)) => bmp,
        Ok(_) => panic!("unexpected image format"),
        Err(e) => panic!("PNG loading error: {}", e),
    };

    // Create a bitmap of depth 1
    for pixel in bmp.buffer.iter() {
        dst.push(pixel.0 != 0);
    }

    // Write the generated bitmap.
    let filename = PathBuf::from(var("OUT_DIR").unwrap()).join("font.raw");
    std::fs::File::create(filename)
        .and_then(|mut f| f.write_all(&dst.into_vec()))
        .expect("could ");
}