diff --git a/src/forms.rs b/src/forms.rs index 006d7ec..a359680 100644 --- a/src/forms.rs +++ b/src/forms.rs @@ -72,14 +72,14 @@ impl Loader { - pub fn load_font (&mut self, path: &str) -> Option { + pub fn load_font (&mut self, path: &str) -> Option> { let fullpath = match self.make_path(path) { Some(p) => p, None => return None, }; let data = fs::read(fullpath).expect("File read error"); - let font = move || Font::try_from_bytes(&data).unwrap(); - Some(font()) + let font = Font::try_from_vec(data).unwrap(); + Some(font) } pub fn load_form(&mut self, path: &str) -> Option
{ diff --git a/src/main.rs b/src/main.rs index 44282bd..ed60ccf 100644 --- a/src/main.rs +++ b/src/main.rs @@ -26,7 +26,7 @@ mod vesseldata; use vesseldata::VesselDataEventSource; pub struct HelmsDisplay { - font: Box>, + font: Font<'static>, boat: forms::Form, compassrose: forms::Form, cog: forms::Form, @@ -46,8 +46,7 @@ impl HelmsDisplay { let compassrose = loader.load_form("compass-rose.svg").unwrap(); let cog = loader.load_form("cog.svg").unwrap(); let wind = loader.load_form("wind.svg").unwrap(); - let f = loader.load_font("font.ttf").unwrap(); - let font = Box::new(f); + let font = loader.load_font("font.ttf").unwrap(); HelmsDisplay { font: font,