From ed6550fdb08eae92bffab6b6b137b1e0eebf62c6 Mon Sep 17 00:00:00 2001 From: Laurenz Date: Fri, 10 Jun 2022 23:53:20 +0200 Subject: Bump dependencies --- src/library/layout/page.rs | 5 ++++- src/library/math/rex.rs | 6 +++--- src/library/structure/list.rs | 6 +++++- src/library/text/raw.rs | 7 +++++-- src/library/text/shaping.rs | 6 ++---- 5 files changed, 19 insertions(+), 11 deletions(-) (limited to 'src/library') diff --git a/src/library/layout/page.rs b/src/library/layout/page.rs index 115a1923..c2fbaba0 100644 --- a/src/library/layout/page.rs +++ b/src/library/layout/page.rs @@ -201,7 +201,10 @@ impl Cast> for Marginal { Value::Str(v) => Ok(Self::Content(Content::Text(v))), Value::Content(v) => Ok(Self::Content(v)), Value::Func(v) => Ok(Self::Func(v, value.span)), - _ => Err("expected none, content or function")?, + v => Err(format!( + "expected none, content or function, found {}", + v.type_name(), + )), } } } diff --git a/src/library/math/rex.rs b/src/library/math/rex.rs index f839a9e8..47de4b3a 100644 --- a/src/library/math/rex.rs +++ b/src/library/math/rex.rs @@ -1,5 +1,5 @@ use rex::error::{Error, LayoutError}; -use rex::font::{FontContext, MathFont}; +use rex::font::FontContext; use rex::layout::{LayoutSettings, Style}; use rex::parser::color::RGBA; use rex::render::{Backend, Cursor, Renderer}; @@ -38,7 +38,7 @@ impl Layout for RexNode { let face = ctx.fonts.get(face_id); let ctx = face .math() - .and_then(FontContext::new) + .map(|math| FontContext::new(face.ttf(), math)) .ok_or("font is not suitable for math") .at(span)?; @@ -110,7 +110,7 @@ impl FrameBackend { } impl Backend for FrameBackend { - fn symbol(&mut self, pos: Cursor, gid: u16, scale: f64, _: &MathFont) { + fn symbol(&mut self, pos: Cursor, gid: u16, scale: f64) { self.frame.push( self.transform(pos), Element::Text(Text { diff --git a/src/library/structure/list.rs b/src/library/structure/list.rs index 015ef520..c4167cf9 100644 --- a/src/library/structure/list.rs +++ b/src/library/structure/list.rs @@ -238,6 +238,7 @@ impl Cast> for Label { fn cast(value: Spanned) -> StrResult { match value.v { + Value::None => Ok(Self::Content(Content::Empty)), Value::Str(pattern) => { let mut s = Scanner::new(&pattern); let mut prefix; @@ -258,7 +259,10 @@ impl Cast> for Label { } Value::Content(v) => Ok(Self::Content(v)), Value::Func(v) => Ok(Self::Func(v, value.span)), - _ => Err("expected pattern, content or function")?, + v => Err(format!( + "expected string, content or function, found {}", + v.type_name(), + )), } } } diff --git a/src/library/text/raw.rs b/src/library/text/raw.rs index 31db811a..8db4cf3e 100644 --- a/src/library/text/raw.rs +++ b/src/library/text/raw.rs @@ -90,7 +90,9 @@ impl Show for RawNode { seq.push(Content::Linebreak { justified: false }); } - for (style, piece) in highlighter.highlight(line, &SYNTAXES) { + for (style, piece) in + highlighter.highlight_line(line, &SYNTAXES).into_iter().flatten() + { seq.push(styled(piece, foreground, style)); } } @@ -177,6 +179,7 @@ pub static THEME: Lazy = Lazy::new(|| Theme { item("string", Some("#298e0d"), None), item("punctuation.shortcut", Some("#1d6c76"), None), item("constant.character.escape", Some("#1d6c76"), None), + item("invalid", Some("#ff0000"), None), ], }); @@ -185,7 +188,7 @@ fn item(scope: &str, color: Option<&str>, font_style: Option) -> Them ThemeItem { scope: scope.parse().unwrap(), style: StyleModifier { - foreground: color.map(|s| s.parse().unwrap()), + foreground: color.map(|s| s.parse::().unwrap().into()), background: None, font_style, }, diff --git a/src/library/text/shaping.rs b/src/library/text/shaping.rs index 1f3d2f55..591abb5e 100644 --- a/src/library/text/shaping.rs +++ b/src/library/text/shaping.rs @@ -221,14 +221,12 @@ impl<'a> ShapedText<'a> { let x_advance = face.to_em(ttf.glyph_hor_advance(glyph_id)?); let cluster = self.glyphs.last().map(|g| g.cluster).unwrap_or_default(); self.width += x_advance.at(self.size); - let baseline_shift = self.styles.get(TextNode::BASELINE); - self.glyphs.to_mut().push(ShapedGlyph { face_id, glyph_id: glyph_id.0, x_advance, x_offset: Em::zero(), - y_offset: Em::from_length(baseline_shift, self.size), + y_offset: Em::zero(), cluster, safe_to_break: true, c: '-', @@ -491,7 +489,7 @@ fn shape_tofus(ctx: &mut ShapingContext, base: usize, text: &str, face_id: FaceI glyph_id: 0, x_advance, x_offset: Em::zero(), - y_offset: Em::from_length(ctx.styles.get(TextNode::BASELINE), ctx.size), + y_offset: Em::zero(), cluster: base + cluster, safe_to_break: true, c, -- cgit v1.2.3