diff options
| author | Laurenz <laurmaedje@gmail.com> | 2021-03-27 21:52:39 +0100 |
|---|---|---|
| committer | Laurenz <laurmaedje@gmail.com> | 2021-03-27 21:52:39 +0100 |
| commit | 57ca9628c14378e8816a8a1f1530ae69c2269907 (patch) | |
| tree | 01c4dfa7be25047b3f50fc7a186b03d2cd3394b7 /src/library/align.rs | |
| parent | 76fc4cca62f5b955200b2c62cc85b69eea491ece (diff) | |
Better space coalescing logic 🌧
This creates a smaller state machine helper type for softness coalescing, which does not own the resulting nodes. While this creates a bit more duplication in stack and par builder, it makes it a lot easier to integrate additional logic into the paragraph builder.
Furthermore:
- Line breaks are now "hard", that is, not coalesced with each other.
- Text nodes with equal style are now merged allowing for example `f{}i` to form a ligature.
Diffstat (limited to 'src/library/align.rs')
| -rw-r--r-- | src/library/align.rs | 2 |
1 files changed, 1 insertions, 1 deletions
diff --git a/src/library/align.rs b/src/library/align.rs index d5811bf4..ccb25b34 100644 --- a/src/library/align.rs +++ b/src/library/align.rs @@ -52,7 +52,7 @@ pub fn align(ctx: &mut EvalContext, args: &mut FuncArgs) -> Value { if let Some(vertical) = vertical { ctx.state.aligns.main = vertical.to_align(Dir::TTB); if ctx.state.aligns.main != snapshot.aligns.main { - ctx.push_linebreak(); + ctx.parbreak(); } } |
