sip 0.1.0

Interactive Wayland screen-region selector with slurp-compatible output
Documentation
pub fn load(family: Option<&str>) -> Option<fontdue::Font> {
    let mut db = fontdb::Database::new();
    db.load_system_fonts();

    let named;
    let families: &[fontdb::Family] = match family {
        Some(name) => {
            named = [fontdb::Family::Name(name), fontdb::Family::SansSerif];
            &named
        }
        None => &[fontdb::Family::SansSerif],
    };

    let query = fontdb::Query {
        families,
        ..fontdb::Query::default()
    };
    let id = db.query(&query)?;

    db.with_face_data(id, |data, index| {
        let settings = fontdue::FontSettings {
            collection_index: index,
            ..fontdue::FontSettings::default()
        };
        fontdue::Font::from_bytes(data, settings).ok()
    })
    .flatten()
}