Safe bindings to msdfgen library

License: MIT Crates.io Package Docs.rs API Docs Travis-CI Status

Crates

Features

Usage

```rust use msdfgen_lib as _; // forces linking with msdfgen library

use std::fs::File; use notosans::REGULARTTF as FONT; use ttfparser::Font;

use msdfgen::{FontExt, Bitmap, Range, EDGETHRESHOLD, OVERLAPSUPPORT};

fn main() { let font = Font::fromdata(&FONT, 0).unwrap(); let glyph = font.glyphindex('A').unwrap(); let mut shape = font.glyph_shape(glyph).unwrap();

if !shape.validate() {
    panic!("Invalid shape");
}
shape.normalize();

let bounds = shape.get_bounds();

let width = 32;
let height = 32;

let mut bitmap = Bitmap::new(width, height);

println!("bounds: {:?}", bounds);

shape.edge_coloring_simple(3.0, 0);

let framing = bounds.autoframe(width, height, Range::Px(4.0), None).unwrap();

println!("framing: {:?}", framing);

shape.generate_msdf(&mut bitmap, &framing, EDGE_THRESHOLD, OVERLAP_SUPPORT);

let mut output = File::create("A-msdf.png").unwrap();
bitmap.write_png(&mut output).unwrap();

} ```