501 Commits

Author SHA1 Message Date
Laurenz
70c0dd7674 Small fixes 2021-11-19 13:16:43 +01:00
Laurenz
5a59bb4821 Page fill 2021-11-18 12:50:28 +01:00
Laurenz
b2e6a29789 Refactoring 2021-11-18 00:58:32 +01:00
Laurenz
d9c529347d Configurable paragraph alignment 2021-11-17 23:54:43 +01:00
Laurenz
095fa52be5 Placed node 2021-11-17 23:09:23 +01:00
Laurenz
e869c899bc More intuitive auto image sizing in grid 2021-11-17 22:29:23 +01:00
Laurenz
89f2e71852 Align node 2021-11-17 17:09:19 +01:00
Laurenz
9a800daa82 Image fit modes 2021-11-16 21:32:29 +01:00
Laurenz
0cdf17216f Abstraction for fr resolving 2021-11-16 18:15:47 +01:00
Laurenz
79638d4bbd Don't wrap already layoutable nodes into flows/pars unnecessarily 2021-11-16 12:47:14 +01:00
Laurenz
73c4701749 Introduce SizedNode 2021-11-16 11:40:42 +01:00
Laurenz
0e0f340502 Revert page and inline levels 2021-11-16 10:41:30 +01:00
Laurenz
bc118634ac Remove alignment from stack 2021-11-16 10:22:46 +01:00
Laurenz
210c4d9373 Move lang functionality into par 2021-11-16 00:37:33 +01:00
Laurenz
370802de13 Simplify FlowNode a bit 2021-11-16 00:32:41 +01:00
Laurenz
972c940e07 Introduce FlowNode 2021-11-16 00:12:43 +01:00
Martin Haug
bcde4a3e51 Fix a grid constraint 2021-11-27 15:05:26 +01:00
Martin Haug
5677766715 Fix some comments 2021-11-24 20:07:44 +01:00
Laurenz
0ad0fa5a05 RTL tracking test 2021-11-20 13:26:28 +01:00
Martin Haug
c020707ebc Add tracking to font function 2021-11-20 12:36:03 +01:00
Laurenz
63c274e7f6 Make clippy happier and remove Str 2021-11-15 17:06:43 +01:00
Laurenz
8a38899c98 Tidying 2021-11-14 15:06:34 +01:00
Laurenz
c4a87e5e7c Number style -> type 2021-11-02 10:39:45 +01:00
Laurenz
072e7c710c Reduce namespace pollution 2021-11-02 10:39:45 +01:00
Martin Haug
8ccb7d6f15 Smallcaps, sub- and superscript, ligature ctrls... 2021-11-02 10:39:45 +01:00
Laurenz
5b344b663a Reorganize modules
Instead of separating functionality into layout and library, everything lives in the library now. This way, related things live side by side and there are no duplicate file names in the two directories.
2021-10-31 15:52:35 +01:00
Laurenz
d1ecb7e52e Add move function 2021-10-28 16:51:57 +02:00
Laurenz
5c534fb428 Simplify node construction 2021-10-26 17:14:11 +02:00
Laurenz
fb0cd3df6e Fr in stack and par 2021-10-26 14:56:10 +02:00
Laurenz
1ca4ff69e2 Trim mailto: and tel: from links 2021-10-26 14:51:57 +02:00
Laurenz
3968181622 Replace .. syntax with range function 2021-10-25 13:38:32 +02:00
Laurenz
b42ecbd6a6 Simplify decorations 2021-10-23 20:24:35 +02:00
Laurenz
5becb32ba4 Introduce page / block / inline levels 2021-10-23 20:23:47 +02:00
Laurenz
c627847cb3 Remove directions from grid 2021-10-23 20:22:47 +02:00
Laurenz
6690bc2354 Revise block node contract
Frames produced by block nodes are now always treated as exactly one per
given region and a frame must not be larger than its respective region.
Any overflow must be handled internally. This means that stack and grid
don't need to search for fitting regions anymore, since the child has
already does that for them. This commit further moves stack spacing into
a new `SpacingNode`.
2021-10-23 20:22:47 +02:00
Laurenz
1e74f7c407 New ShapeNode
Replaces `BackgroundNode` and `FixedNode`
2021-10-23 20:22:47 +02:00
Laurenz
5f4dde0a6b Remove inline alignment from stack
The current inline alignment is very broken and leads to lots of subtle weirdness. Getting rid of it simplifies the stack's interface a lot. At a later point either:
- inline alignment will be added back in a better way, or
- all nodes will be able to expand or align themselves, meaning that the stack's children take care of their alignment
2021-10-23 20:22:47 +02:00
Laurenz
9ac125dea8 Rename State to Style and move it into its own module 2021-10-10 21:04:10 +02:00
Laurenz
d4cc8c775d Move paint and colors into geom 2021-10-10 20:26:58 +02:00
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
c25c6a35b2 Simpler and more versatile row and column gutter arguments 2021-10-02 19:35:02 +02:00
Laurenz
0e89facb53 Allow linear values for text edges 2021-09-28 10:53:54 +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