diff options
| author | Laurenz <laurmaedje@gmail.com> | 2021-07-29 12:21:55 +0200 |
|---|---|---|
| committer | Laurenz <laurmaedje@gmail.com> | 2021-07-29 12:28:54 +0200 |
| commit | 7d15dc634b3be1b6e284bb6b2450e3736d3e6e8d (patch) | |
| tree | f1dc308528515ccfc90e047fe3cb75bd171b3f8c /src/library/text.rs | |
| parent | 853361338bd756c23992041511b1836a2cd0647f (diff) | |
Move font family and refactor alignment
Diffstat (limited to 'src/library/text.rs')
| -rw-r--r-- | src/library/text.rs | 32 |
1 files changed, 2 insertions, 30 deletions
diff --git a/src/library/text.rs b/src/library/text.rs index 5e3ce204..b56cbcd3 100644 --- a/src/library/text.rs +++ b/src/library/text.rs @@ -1,7 +1,4 @@ -use std::convert::TryFrom; - use crate::exec::{LineState, TextState}; -use crate::font::{FontStretch, FontStyle, FontWeight}; use crate::layout::Paint; use super::*; @@ -15,7 +12,7 @@ pub fn font(ctx: &mut EvalContext, args: &mut FuncArgs) -> Value { Some(FontDef(families)) }; - let size = args.eat().or_else(|| args.named::<Linear>(ctx, "size")); + let size = args.eat::<Linear>().or_else(|| args.named(ctx, "size")); let style = args.named(ctx, "style"); let weight = args.named(ctx, "weight"); let stretch = args.named(ctx, "stretch"); @@ -104,31 +101,6 @@ castable! { ), } -dynamic! { - FontFamily: "font family", - Value::Str(string) => Self::Named(string.to_lowercase()), -} - -dynamic! { - FontStyle: "font style", -} - -dynamic! { - FontWeight: "font weight", - Value::Int(number) => { - u16::try_from(number).map_or(Self::BLACK, Self::from_number) - }, -} - -dynamic! { - FontStretch: "font stretch", - Value::Relative(relative) => Self::from_ratio(relative.get() as f32), -} - -dynamic! { - VerticalFontMetric: "vertical font metric", -} - /// `par`: Configure paragraphs. pub fn par(ctx: &mut EvalContext, args: &mut FuncArgs) -> Value { let par_spacing = args.named(ctx, "spacing"); @@ -209,7 +181,7 @@ fn line_impl( substate: fn(&mut TextState) -> &mut Option<Rc<LineState>>, ) -> Value { let stroke = args.eat().or_else(|| args.named(ctx, "stroke")); - let thickness = args.eat().or_else(|| args.named::<Linear>(ctx, "thickness")); + let thickness = args.eat::<Linear>().or_else(|| args.named(ctx, "thickness")); let offset = args.named(ctx, "offset"); let extent = args.named(ctx, "extent").unwrap_or_default(); let body = args.expect::<Template>(ctx, "body").unwrap_or_default(); |
