Sébastien d'Herbais de Thun
1756718bab
Gradient Part 6 - Pattern fills ( #2740 )
2023-11-24 15:46:20 +01:00
Laurenz
7eebafa783
Merge `typst` and `typst-library`
2023-11-24 12:30:02 +01:00
frozolotl
e5470401f4
Fix `has` on non-inherent fields ( #2745 )
2023-11-24 11:41:38 +01:00
frozolotl
55799f7395
Make `color.components`' alpha parameter named ( #2734 )
2023-11-21 18:05:12 +01:00
Laurenz
c1bc529986
Support arbitrary content for document title
...
For PDF, they will be immediately turned into plain text. However, it's still useful because templates can now accept content titles (with math or such things) instead of forcing strings because of set document. Moreover, it will be useful with "get rules" in the future.
2023-11-20 18:31:29 +01:00
Laurenz
c641044380
Workaround for show set propagation on citations
...
Fixes #2531
2023-11-19 18:57:28 +01:00
Laurenz
35d6a891bc
Rename typeset function to layout
2023-11-19 18:17:06 +01:00
Laurenz
ea987ef4a3
Fix linebreaking at the end of links
...
Fixes #2689
2023-11-19 15:53:48 +01:00
Laurenz
e0d6526a53
Watching fixes ( #2706 )
2023-11-19 12:31:42 +01:00
frozolotl
43f90b2159
Implement euclidean division and remainder ( #2678 )
2023-11-17 19:55:57 +01:00
frozolotl
b0e81d4b3f
Remove restrictions to chroma and improve clamping ( #2690 )
...
This PR does a few small things:
- Oklab's a*/b* and Oklch's chroma components can be as large as desired.
- In PDF, when encoding Oklab, the range is widened from [-0.4,0.4] to [-0.5,0.5].
- In PDF, clamping is now performed on Oklch's chroma instead of a* and b*.
This causes hue not to be distorted when clamping.
SVG and PNG export remain unchanged:
- SVG itself never had any restrictions on chroma.
We directly use the `oklab` and `oklch` CSS colors, which should work fine for the most part.
In the future, embedded ICC profiles might be nice. Further research is likely necessary.
- While PNG does not support color spaces like Oklab or Oklch, certain useful features exist.
One can define gamma (gAMA) and chromacities&whitepoint (cHRM) chunks and even embed ICC profiles.
While `image` crate does not support these features for encoding, its backend crate `png` does support gAMA and cHRM.
It does not allow embedding ICC profiles yet, though.
As it stands, to fully support wide gamuts and more accurate colors, more work is necessary.
This PR should help a bit though.
2023-11-17 10:41:45 +01:00
Sébastien d'Herbais de Thun
5aaaacbf47
Allow `elem` synthesized fields to take a default value ( #2687 )
2023-11-17 10:39:08 +01:00
Peng Guanwen
f4a81091f7
Lexer change: Allow emphasis in CJK text without spaces ( #2648 )
2023-11-15 15:01:15 +01:00
frozolotl
7aef798658
Fix cmyk repr ( #2682 )
2023-11-15 14:49:45 +01:00
Dimitri Kokkonis
897447e859
Translate local names to Greek ( #2684 )
...
Additionally, add support for single and double quotes in Greek.
2023-11-14 15:59:30 +01:00
frozolotl
7d5f6a8b73
Improve color conversions ( #2659 )
2023-11-13 16:23:52 +01:00
frozolotl
d16ab29068
Make Oklab and Oklch chroma ratios relative to 0.4 ( #2642 )
2023-11-13 15:48:54 +01:00
frozolotl
67422e664b
Allow non-string contents for math operators ( #2663 )
2023-11-13 12:26:58 +01:00
Wenzhuo Liu
e07275163f
Filter out meta items when adding CJK-Latin ( #2655 )
...
spacing.
2023-11-13 12:13:05 +01:00
frozolotl
97bb0fbce3
Fix bug where inline equations were displayed in the outline ( #2662 )
2023-11-13 12:04:34 +01:00
TheJosefOlsson
d25e6726e2
Add tests for shorthand ( #2660 )
2023-11-13 11:54:48 +01:00
Andrew Voynov
a44141be2e
Changed default `image` Russian supplement to short form ( #2637 )
2023-11-11 10:46:25 +01:00
MALO
13f1a4386f
Improve French and Chinese localization for figures ( #2542 )
2023-11-10 17:17:39 +01:00
frozolotl
d93ed1b3d8
Implement Oklch support ( #2611 )
2023-11-10 10:31:06 +01:00
Laurenz
7f0fcda376
Move some things out of `util`
2023-11-08 23:42:45 +01:00
Sébastien d'Herbais de Thun
d7fea7077e
Gradient Part 5c: Fix gradient rotation on text & math ( #2606 )
2023-11-08 15:51:25 +01:00
Anton Wetzel
ba05164bb6
Change rectangle clip to use the inside of the stroke, not the middle. ( #2626 )
2023-11-08 15:30:00 +01:00
Laurenz
46846a337e
Extract `typst-pdf` crate
2023-11-08 15:09:55 +01:00
Laurenz
80b4ca4c04
Extract `typst-svg` crate
2023-11-08 13:21:47 +01:00
Laurenz
ec04c3de2f
Extract `typst-render` crate
2023-11-08 13:16:13 +01:00
Laurenz
4794bd35fa
Switch to workspace dependencies
2023-11-08 12:56:35 +01:00
Joseph Wilson
2ce9d76025
Add constructor for `stroke`. ( #2518 )
2023-11-08 11:08:38 +01:00
tingerrr
5f922abfd8
Add hints for invalid identifier errors ( #2583 )
2023-11-07 12:14:20 +01:00
Sébastien d'Herbais de Thun
241a6d9e5a
Gradient Part 5b: Fix gradients in math ( #2604 )
2023-11-07 12:09:51 +01:00
Peng Guanwen
4a7d3585d9
Improve reshape condition ( #2547 )
2023-11-06 21:43:15 +01:00
Samuel Tardieu
e550f0a8f7
Prevent silent swallowing of return expressions trailing arguments ( #2545 )
...
Fixes #2104
2023-11-06 21:42:38 +01:00
Matt Fellenz
8fd546760c
Implement dict key interpolation ( #2559 )
2023-11-02 17:08:08 +01:00
Laurenz
c177a63c9b
Fix citation grouping bug with spaces
2023-10-31 12:19:30 +01:00
Laurenz
ab5dd2a1cb
CSL support
2023-10-31 01:33:06 +01:00
Fritz Rehde
c3114fa380
Fixed typos ( #2524 )
2023-10-30 23:25:28 +01:00
Laurenz
55296a9196
Say which label occurs never or multiple times in error message
2023-10-30 23:00:40 +01:00
Eric Biedert
64d3fd8a3f
Add missing gradient to stroke cast ( #2527 )
2023-10-30 22:24:39 +01:00
MALO
500468fd05
Improve "cannot apply '{+,-}'" error messages ( #2510 )
2023-10-29 11:15:53 +01:00
Laurenz
29130a26f8
Linebreaking for links
2023-10-29 00:52:15 +02:00
Laurenz
221609b11c
Add regression test for #80
2023-10-28 20:35:28 +02:00
Laurenz
aa62d05453
Fix justification with hanging indent and negative spacing
...
Fixes #2419
2023-10-28 20:05:51 +02:00
Laurenz
c3b1e32d11
Fix justified linebreaking without justifiables
2023-10-28 18:02:16 +02:00
Martin Haug
f78a8f5d48
Add IDs and creation date to PDFs ( #2374 )
2023-10-27 18:33:23 +02:00
Laurenz
24a0bd8cfb
Fix error priority for function arguments
...
Errors about superfluous arguments are now thrown before errors of the function execution itself.
Fixes #1367
2023-10-27 15:38:08 +02:00
Laurenz
cbfd9884a9
Fix argument parsing bug
...
Things like `luma(1, key: "val")` didn't produce an error before because `args.finish()?` wasn't called. This changes `args: Args` to `args: &mut Args` to make it impossible for that to happen.
2023-10-27 13:25:15 +02:00
Joseph Wilson
e182777133
Implement unary `array.zip`, closing #2478 ( #2491 )
2023-10-27 12:58:55 +02:00
Laurenz
e686a11ae7
Bump dependencies
2023-10-25 17:39:40 +02:00
Francisco J. Sanchez
c29a31b6c5
Fix pagebreak.to check ( #2475 )
2023-10-25 17:16:34 +02:00
LU Jialin
f81a8d00e3
Refactor `cancel`, now able to take absolute angle or functions ( #2466 )
2023-10-22 14:07:30 +02:00
Wenzhuo Liu
b97ee93b8f
Support adjustment of more CJK punctuation ( #2456 )
2023-10-22 13:45:51 +02:00
MALO
cf9ca6cb59
Fix compiler panic for float with no vertical alignment ( #2437 )
2023-10-22 13:43:24 +02:00
MALO
aaac1dbd68
Adapt default figure separator to the current locale ( #2390 )
2023-10-22 13:33:00 +02:00
SekoiaTree
7f185f21e0
Add date to document ( #2371 )
2023-10-22 13:29:48 +02:00
SekoiaTree
3faad6bc5d
Add support for negative augment indexes ( #2372 )
2023-10-22 13:22:34 +02:00
Sébastien d'Herbais de Thun
c0dbb900e8
Cached export for incremental ( #2400 )
2023-10-17 20:53:01 +02:00
Sébastien d'Herbais de Thun
37a988af83
Replace `Vec` with `EcoVec`, removed `Box` ( #2420 )
2023-10-17 20:50:36 +02:00
Peng Guanwen
e4d9db83ea
Automatically add spacing between CJK and Latin characters ( #2334 )
2023-10-17 11:14:09 +02:00
Sébastien d'Herbais de Thun
a59666369b
Part 5a: Gradients on text with `relative: auto` or `relative: "parent"` ( #2364 )
2023-10-12 18:03:52 +02:00
bluebear94
d3b62bd02e
MathAttach::primes: account for possible hash before base ( #2363 )
...
Fixes #2358 .
2023-10-12 10:19:07 +02:00
tingerrr
0f24990579
Add `quote` element ( #2252 )
2023-10-10 11:59:11 +02:00
Sébastien d'Herbais de Thun
0dd79bbad2
Add `raw.line` ( #2341 )
2023-10-10 11:56:16 +02:00
Sébastien d'Herbais de Thun
9bca0bce73
Fix clipping when a box/block has a `radius` ( #2338 )
2023-10-10 11:51:22 +02:00
Sébastien d'Herbais de Thun
a8af6b449a
Adds a default value to `.remove()` on `dict` and `array` ( #2346 )
2023-10-10 11:44:59 +02:00
Sébastien d'Herbais de Thun
cef2d3afca
Gradient Part 4 - Conic gradients ( #2325 )
2023-10-10 11:29:05 +02:00
HydroH
7b61d722dd
Adjust table inset behavior to the same as container's ( #1979 ) ( #2323 )
2023-10-09 15:52:04 +02:00
MALO
0804a9e25d
Use/allow U+2212 MINUS SIGN instead of U+002D HYPHEN MINUS everywhere ( #2318 )
2023-10-09 15:30:40 +02:00
Laurenz
2a19e7f4dc
Bump ecow
2023-10-09 15:00:07 +02:00
TheJosefOlsson
6dab95473b
Multinomial coefficients ( #2237 )
2023-10-09 13:46:16 +02:00
Sébastien d'Herbais de Thun
e7443abfe6
Gradient Part 3 - Radial gradients ( #2312 )
2023-10-06 16:47:20 +02:00
bluebear94
6bb776029e
Fix crashes with infinite lengths (part 2) ( #2298 )
2023-10-05 10:26:36 +02:00
MALO
333e4037fc
Add `Repr` trait ( #2269 )
2023-10-04 12:08:56 +02:00
Sébastien d'Herbais de Thun
57bc614cf4
Gradient Part 2a - Fix sharp gradients in SVG ( #2307 )
2023-10-04 10:58:17 +02:00
Eric Biedert
55095246bf
Fix `extent` for text decoration ( #2308 )
2023-10-04 10:56:55 +02:00
Sébastien d'Herbais de Thun
a4e357fb37
Gradient Part 2 - Linear gradients ( #2279 )
2023-10-03 19:31:02 +02:00
Laurenz
6b1233e127
Fix test failure
...
Before we tested with an unavailable font, but the hyphens were still visible. But now the hyphens respect fallback too, so it's really hard to test it. I am removing the test for now.
2023-10-03 16:22:10 +02:00
bluebear94
ce658db2f3
ShapedText::push_hyphen: Use self.base for default hyphen range ( #2299 )
...
In the unlikely chance that we hyphenate after an empty line, we
set the glyph range to self.base..self.base so that subtracting
Fixes #2283 .
2023-10-03 15:02:27 +02:00
T0mstone
cf9bde3245
Add capability to get current compiler version ( #2016 )
2023-10-02 20:28:19 +02:00
LU Jialin
34ebbaeb10
Passing color to the augment line in matrix ( #2281 )
2023-10-02 16:22:33 +02:00
Sébastien d'Herbais de Thun
62f37ad4ab
Color fixes ( #2262 )
2023-09-29 15:04:08 +02:00
bluebear94
553da642bd
Handle compiler panics when handling infinite lengths ( #2215 )
2023-09-28 11:15:09 +02:00
Eric Biedert
0d39fa021f
Prevent block spacing with placed elements ( #2244 )
2023-09-26 16:59:51 +02:00
Arnaud Golfouse
962071619d
Avoid plugin panics ( #2232 )
2023-09-26 16:21:21 +02:00
Eric Biedert
c8ebcd70d6
Resolve spacing before comparing ( #2235 )
2023-09-26 11:42:05 +02:00
tingerrr
0710d1c118
Add `background` parameter to `overline`, `underline` and `strike` ( #2219 )
2023-09-25 16:19:48 +02:00
tingerrr
063e9afccf
Add custom smart quotes ( #2209 )
2023-09-25 16:19:22 +02:00
LU Jialin
079ccd5e5b
Fixing the styling issues of the empty pages caused by pagebreak ( #2182 )
2023-09-25 14:13:54 +02:00
Anton Wetzel
98e5d97509
Better rect edges ( #1956 )
2023-09-25 13:54:58 +02:00
LU Jialin
04b4536772
Fixing the baseline in math content ( #2220 )
2023-09-25 13:13:16 +02:00
SekoiaTree
3dcbe859fb
Add gaps for matrix, case, and vector ( #2186 )
2023-09-21 10:26:47 +02:00
Peng Guanwen
50f354e989
Correct the consecutive hyphen cost ( #2190 )
...
This just fixes a mistake previously made. `0.3` is the correct number that is proportional to the parameters in Knuth's paper. The previously choosed value `300` is due to my calculation mistake and is too large that essentially prevent any consecutive hyphens.
2023-09-19 17:05:32 +02:00
Laurenz
7a46a85d3e
Improve span stability after incremental parsing
2023-09-19 16:53:59 +02:00
Sébastien d'Herbais de Thun
163c2e1aa2
Gradient Part 1 - Color rework ( #2171 )
2023-09-19 15:48:33 +02:00
Eric Biedert
13758b9c97
Allow multiple fallback fonts in SVGs ( #2122 )
2023-09-19 10:28:50 +02:00
Eric Biedert
b10f9ae7b7
Fix "set align" for block equations ( #2157 )
2023-09-18 14:51:34 +02:00
Laurenz
25613cfaf3
Fix missing capturing of assignments
...
The previous commit was a bit overambitious. The left-hand side of assignments should actually be fully captured: Argument lists in `at` calls can contain captured variables. And if the assigned variable itself is captured, then the function is faulty anyway. (And we ensure the correct error message by capturing it.)
Fixes #2169
2023-09-16 20:41:44 +02:00