From 9fe9b95b7f257100b9242913ae079752b232bb87 Mon Sep 17 00:00:00 2001 From: Laurenz Date: Sat, 10 Jul 2021 23:00:03 +0200 Subject: Simpler casting --- src/library/text.rs | 18 ++++++++---------- 1 file changed, 8 insertions(+), 10 deletions(-) (limited to 'src/library/text.rs') diff --git a/src/library/text.rs b/src/library/text.rs index 0f6f3ec1..14a0ee9a 100644 --- a/src/library/text.rs +++ b/src/library/text.rs @@ -78,7 +78,6 @@ pub fn font(ctx: &mut EvalContext, args: &mut FuncArgs) -> Value { }) } -#[derive(Debug)] struct FontDef(Vec); castable! { @@ -89,10 +88,9 @@ castable! { .filter_map(|v| v.cast().ok()) .collect() ), - #(family: FontFamily) => Self(vec![family]), + @family: FontFamily => Self(vec![family.clone()]), } -#[derive(Debug)] struct FamilyDef(Vec); castable! { @@ -106,28 +104,28 @@ castable! { ), } -castable! { +dynamic! { FontFamily: "font family", - Value::Str(string) => Self::Named(string.to_lowercase()) + Value::Str(string) => Self::Named(string.to_lowercase()), } -castable! { +dynamic! { FontStyle: "font style", } -castable! { +dynamic! { FontWeight: "font weight", Value::Int(number) => { u16::try_from(number).map_or(Self::BLACK, Self::from_number) - } + }, } -castable! { +dynamic! { FontStretch: "font stretch", Value::Relative(relative) => Self::from_ratio(relative.get() as f32), } -castable! { +dynamic! { VerticalFontMetric: "vertical font metric", } -- cgit v1.2.3