Commit Graph

1096 Commits

Author SHA1 Message Date
Laurenz 3d0dcbea18 Error on out-of-range values in `rgb` 2021-10-05 19:55:15 +02:00
Laurenz 25b053ed93 Rename `length` to `size` in `square()` 2021-10-05 19:55:00 +02:00
Laurenz ae05dc0876 Always use first positional argument in `expect()`
This changes `#h(100)` from "missing argument: spacing" to "expected linear, found integer".
2021-10-05 19:45:38 +02:00
Laurenz 0a23bfbc23 Add `assert` function 2021-10-05 19:37:38 +02:00
Laurenz 58d1cc68d9 Let `h`, `v` and `pagebreak` return template 2021-10-05 19:30:12 +02:00
Laurenz 155673c15e Paper longhand for page function 2021-10-05 19:23:45 +02:00
Laurenz 4ff1519bea Fill shorthand for font function 2021-10-05 19:19:55 +02:00
Laurenz dcdcf53831 Rename insert/ to elements/ 2021-10-05 18:51:21 +02:00
Laurenz 5e06941c63 Iterate over grapheme clusters instead of chars 2021-10-05 17:57:30 +02:00
Laurenz 00be5d36c4 Change indent requirements to allow alignment
Previously the following wouldn't work correctly because "Fourth" would have been a child of "Third".
```
3. Third
⎵. Fourth
```
2021-10-05 17:25:58 +02:00
Laurenz 4b2c6334d0 Change precedence of range expression 2021-10-05 17:19:48 +02:00
Laurenz c25c6a35b2 Simpler and more versatile row and column gutter arguments 2021-10-02 19:35:02 +02:00
Laurenz 1d60525690 Fix panic in grid due to empty auto row 2021-10-02 18:41:03 +02:00
Laurenz 2818ceee44 New default fonts 2021-09-30 22:50:14 +02:00
Laurenz 30f302f7ff Treat lone hashtag as text 2021-09-30 19:41:28 +02:00
Laurenz 9e78dbe525 Better function and closure pretty printing 2021-09-30 19:07:17 +02:00
Laurenz 6d26e15fbe Support `else if` 2021-09-30 19:07:06 +02:00
Laurenz 9e95502622 No hashtag before else anymore 2021-09-30 18:28:25 +02:00
Laurenz 989d344d3d Implement `Display` for `Tracepoint` 2021-09-29 00:10:39 +02:00
Laurenz a0065eef86 Make file system loader serializable 2021-09-29 00:10:21 +02:00
Laurenz 2760e11145 Put rand behind layout cache feature 2021-09-29 00:09:41 +02:00
Laurenz 0e89facb53 Allow linear values for text edges 2021-09-28 10:53:54 +02:00
Laurenz f1ab290572 Refactor line reordering from callback to iterator 2021-09-27 22:45:29 +02:00
Laurenz ed0c804017 Add spacing capabilities to stack function
- Named argument `spacing` controls spacing between any two template arguments
- Arbitrary linears in the list can produce arbitrary spacing
2021-09-27 22:23:26 +02:00
Laurenz e10b3d838a Fix panic due to bad alignments in stack function 2021-09-27 13:45:18 +02:00
Laurenz ff37a2893d More useful incremental checks
Co-Authored-By: Martin <mhaug@live.de>
2021-09-27 11:40:28 +02:00
Laurenz 1982a0639e Expand all but last region for broken up auto rows 2021-09-27 11:39:31 +02:00
Laurenz 6c478face4 Fix paragraph constraints
Co-Authored-By: Martin <mhaug@live.de>
2021-09-27 11:38:18 +02:00
Laurenz 19e17cc6ac Simplify decoration handling 2021-09-26 12:43:45 +02:00
Laurenz a493b9533a More useful `Debug` impls 2021-09-26 12:24:24 +02:00
Laurenz 72eb243e26 Simplify source file loading logic 2021-09-25 23:44:33 +02:00
Laurenz 5594868f8b Prevent paragraph from overflowing due to trailing linebreak 2021-09-25 23:35:27 +02:00
Laurenz cdb9867e0d Highlight dots in variables 2021-09-25 21:53:56 +02:00
Laurenz ea921aca5d Blocks directly in template also scope 2021-09-15 13:12:07 +02:00
Laurenz 5de791d9e6 Rename `SyntaxTree` to `Markup`
Also `SyntaxNode` -> `MarkupNode`.
2021-09-15 13:05:01 +02:00
Laurenz c18321a4c2 Bugfix and tidying 2021-09-15 13:05:00 +02:00
Laurenz 87e776fceb Add `BoolExt` trait with `flip` method 2021-09-14 12:27:21 +02:00
Laurenz 18190f377a Reimplement `Debug` for layout nodes 2021-09-10 15:10:35 +02:00
Laurenz b0b4607725 Set the correct base for grid cells 2021-09-10 15:10:34 +02:00
Laurenz 50a464488c Fix fr rows in infinite region 2021-09-10 15:10:34 +02:00
Laurenz f592662aa0 Rename `Arguments` to `Args` 2021-09-10 12:27:33 +02:00
Laurenz d2618acd8d Bump pdf-writer 2021-09-09 12:16:55 +02:00
Laurenz 7f48e8fe66 Make user-facing "debug" representation use Debug instead of Display 2021-08-31 16:25:12 +02:00
Laurenz 3481d8cc81 More utility functions
- join("a", "b", "c", sep: ", ")
- int("12")
- float("31.4e-1")
- str(10)
- sorted((3, 2, 1))
2021-08-31 12:59:53 +02:00
Laurenz ee84bf7408 Add abs() function 2021-08-30 16:59:09 +02:00
Laurenz ff25573224 Lower- and uppercase string conversion functions 2021-08-30 16:39:16 +02:00
Laurenz e4e79990da Allow body for font function once again 2021-08-29 15:09:54 +02:00
Laurenz 411aba5b6f Subset CFF subrs referenced by FD array 2021-08-29 14:46:51 +02:00
Laurenz d101612414 Primitive CFF1 subsetting
The subsetting strategy is somewhat crazy for now: Simply zero the glyph data for all unused glyphs. While the CFF table itself doesn't shrink, the actual embedded font is compressed and greatly benefits from the repeated zeros.

This already compresses the fonts a lot (~90% for NotoSerifCJK), but they are still quite large.

Therefore, the plan of action:
- First, find more data that can be zeroed out.
- Then _maybe_ see whether we can instead properly rebuild the subsetted font.
2021-08-28 23:53:46 +02:00
Laurenz 73b63ffb99 Refactor subsetter
- Gracefully handle failed subsetting of one table
- Remove need for creating a ttf-parser face
2021-08-27 14:11:49 +02:00