From 40ea35cbe7482ce04096c4d63a848c8601cc1848 Mon Sep 17 00:00:00 2001 From: Laurenz Date: Mon, 3 Feb 2020 10:37:50 +0100 Subject: =?UTF-8?q?Upgrade=20to=20new=20toddle=20interface=20=F0=9F=90=B3?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/bin/main.rs | 15 +++++++-------- 1 file changed, 7 insertions(+), 8 deletions(-) (limited to 'src/bin') diff --git a/src/bin/main.rs b/src/bin/main.rs index 8cb7c055..11f30880 100644 --- a/src/bin/main.rs +++ b/src/bin/main.rs @@ -3,9 +3,9 @@ use std::io::BufWriter; use std::path::{Path, PathBuf}; use futures_executor::block_on; -use typstc::Typesetter; -use typstc::toddle::query::FileSystemFontProvider; -use typstc::export::pdf::PdfExporter; +use typstc::{Typesetter, DynErrorProvider}; +use typstc::toddle::query::fs::EagerFsProvider; +use typstc::export::pdf; fn main() { @@ -37,15 +37,14 @@ fn run() -> Result<(), Box> { let src = read_to_string(source) .map_err(|_| "failed to read from source file")?; - let mut typesetter = Typesetter::new(); - let provider = FileSystemFontProvider::from_index("../fonts/index.json").unwrap(); - typesetter.add_font_provider(provider); + let (fs, entries) = EagerFsProvider::from_index("../fonts", "index.json")?; + let provider = DynErrorProvider::new(fs); + let typesetter = Typesetter::new((Box::new(provider), entries)); let layouts = block_on(typesetter.typeset(&src)); - let exporter = PdfExporter::new(); let writer = BufWriter::new(File::create(&dest)?); - exporter.export(&layouts, typesetter.loader(), writer)?; + pdf::export(&layouts, typesetter.loader(), writer)?; Ok(()) } -- cgit v1.2.3