summaryrefslogtreecommitdiff
path: root/src/layout
diff options
context:
space:
mode:
authorLaurenz <laurmaedje@gmail.com>2020-01-05 11:18:13 +0100
committerLaurenz <laurmaedje@gmail.com>2020-01-05 11:18:13 +0100
commitbd384a2a633e21cd7deff7ed2a29a9c03a63a20e (patch)
tree12246c7c9142efe5fc2b2feb14fe4f286e3e177f /src/layout
parent7b84f3b553de672e5374e142467f63b10009aeca (diff)
Re-enable *, _ and `.
Diffstat (limited to 'src/layout')
-rw-r--r--src/layout/tree.rs18
1 files changed, 14 insertions, 4 deletions
diff --git a/src/layout/tree.rs b/src/layout/tree.rs
index e77fd528..4ed3d82a 100644
--- a/src/layout/tree.rs
+++ b/src/layout/tree.rs
@@ -44,9 +44,19 @@ impl<'a, 'p> TreeLayouter<'a, 'p> {
Node::Space => self.layout_space(),
Node::Newline => self.layout_paragraph()?,
- Node::ToggleItalics => {},
- Node::ToggleBold => {},
- Node::ToggleMonospace => {},
+ Node::ToggleItalics => self.style.text.variant.style.toggle(),
+ Node::ToggleBolder => {
+ self.style.text.variant.weight.0 += 300 *
+ if self.style.text.bolder { -1 } else { 1 };
+ self.style.text.bolder = !self.style.text.bolder;
+ }
+ Node::ToggleMonospace => {
+ let list = &mut self.style.text.fallback.list;
+ match list.get(0).map(|s| s.as_str()) {
+ Some("monospace") => { list.remove(0); },
+ _ => list.insert(0, "monospace".to_string()),
+ }
+ }
Node::Func(func) => self.layout_func(func)?,
}
@@ -98,7 +108,7 @@ impl<'a, 'p> TreeLayouter<'a, 'p> {
Add(layout) => self.layouter.add(layout)?,
AddMultiple(layouts) => self.layouter.add_multiple(layouts)?,
- AddSpacing(space, kind, axis) => match axis {
+ SpacingFunc(space, kind, axis) => match axis {
Primary => self.layouter.add_primary_spacing(space, kind),
Secondary => self.layouter.add_secondary_spacing(space, kind)?,
}