in src/wit.rs [160:178]
fn read_data(&self, data: String) {
let result: Result<Vec<serde_json::Map<String, serde_json::Value>>, _> =
serde_json::from_str(&data);
if let Ok(data) = result {
for item in data {
let path = item
.get("path")
.and_then(|v| serde_json::from_value::<Option<PathBuf>>(v.clone()).ok());
let variants = item
.get("variants")
.and_then(|v| serde_json::from_value::<Vec<VariationData>>(v.clone()).ok());
if let (Some(path), Some(variants)) = (path, variants) {
let font = Font::new(path, variants, self.hit_counter.clone());
let key = font.first_key();
self.fonts.insert(key, font);
}
}
}
}