pub mod font;
pub mod layout;
pub mod parse;
pub mod symbols;
use self::font::MathFont;
use self::layout::{Ctx, Frag, Style};
pub fn typeset(font: &MathFont, content: &str, display: bool, base_pt: f32) -> Option<Frag> {
if content.trim().is_empty() {
return None;
}
let nodes = parse::parse(content);
let ctx = Ctx::new(font, base_pt);
let st = if display { Style::Display } else { Style::Text };
let frag = ctx.list(&nodes, st);
if frag.glyphs.is_empty() && frag.rules.is_empty() {
return None;
}
Some(frag)
}