summaryrefslogtreecommitdiff
path: root/src/library/text.rs
diff options
context:
space:
mode:
authorLaurenz <laurmaedje@gmail.com>2021-07-29 12:21:55 +0200
committerLaurenz <laurmaedje@gmail.com>2021-07-29 12:28:54 +0200
commit7d15dc634b3be1b6e284bb6b2450e3736d3e6e8d (patch)
treef1dc308528515ccfc90e047fe3cb75bd171b3f8c /src/library/text.rs
parent853361338bd756c23992041511b1836a2cd0647f (diff)
Move font family and refactor alignment
Diffstat (limited to 'src/library/text.rs')
-rw-r--r--src/library/text.rs32
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();