en

PR #5323 New curve element that supersedes path

Published At: 2024-12-17 Tags: pr

Added the new curve element to replace the previous path.

The new curve element supports multiple subcurves within a single curve and provides convenient ways to adjust closure and filling methods.

typ
1
#set curve(fill: yellow)
2
#curve(
3
fill-rule: "even-odd",
4
stroke: black,
5
curve.move((10mm, 10mm)),
6
curve.line((20mm, 10mm)),
7
curve.line((20mm, 20mm)),
8
curve.close(),
9
curve.move((0mm, 5mm)),
10
curve.line((25mm, 5mm)),
11
curve.line((25mm, 30mm)),
12
curve.close(),
13
)
14
15
#curve(
16
stroke: black,
17
curve.move((10mm, 10mm)),
18
curve.cubic((5mm, 20mm), (15mm, 20mm), (20mm, 0mm), relative: true),
19
// First control point 'auto' corresponds to the last control point of the previous curve
20
curve.cubic(auto, (15mm, -10mm), (20mm, 0mm), relative: true),
21
curve.close(mode: "straight")
22
)
23
24
#curve(
25
// Default starting point, can also be specified manually
26
// curve.move(start: (0mm, 0mm)),
27
curve.quad((10mm, 0mm), (10mm, 10mm)),
28
curve.quad(auto, (10mm, 10mm), relative: true),
29
curve.close()
30
)