msdf
Rust bindings for msdfgen. This crate attempts to bind msdfgen in a safe and idiomatic way. Unsafe bindings provided by msdf-sys.
Examples
Generate SDFs
// Load a font from ttf data.
let face: Face;
let glyph_index = face.glyph_index.unwrap;
// Load a glyph into a shape using a ttf glyph index.
let shape = face.load_shape.unwrap;
// Not a required step for SDF and Psuedo-SDF generation. Other coloring options exist.
let colored_shape = shape.color_edges_simple;
// Project glyph down by a factor of 64x.
let projection = Projection ;
// Using default configuration.
let sdf_config = Defaultdefault;
let msdf_config = Defaultdefault;
// Generate all types of SDF. Plain SDFs and Psuedo-SDFs do not require edge coloring.
let sdf = colored_shape.generate_sdf;
let psdf = colored_shape.generate_psuedo_sdf;
let msdf = colored_shape.generate_msdf;
let mtsdf = colored_shape.generate_mtsdf;
// Do something with these SDFs.
// let image: DynamicImage = DynamicImage::from(msdf.to_image());
// image.into_rgba8().save("mysdf.png").unwrap();
Render SDFs to images
// Load MSDF from an image::Rgb32FImage.
let msdf = MSDFfrom_image;
// Render to a 1024x1024 image.
let rendered = msdf.render;
// Render to a 1024x1024 image with edge colors.
let rendered_colored = msdf.render_colored;
// Do something with these images.
// let image: DynamicImage = DynamicImage::from(rendered);
// image.into_rgba8().save("myrenderedsdf.png").unwrap();