742 Commits

Author SHA1 Message Date
Laurenz
35d6a891bc Rename typeset function to layout 2023-11-19 18:17:06 +01:00
Laurenz
c97a01616a More useful Debug impls 2023-11-19 18:16:18 +01:00
Laurenz
2da619e17c Streamline imports 2023-11-19 16:34:38 +01:00
Sébastien d'Herbais de Thun
f5b3af3c1b
Parallel image encoding (#2693) 2023-11-17 19:42:49 +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
Laurenz
624ff5cb7a Correct sentence 2023-11-17 10:08:55 +01:00
tingerrr
50ea3b4f16
Add arguments constructor & fix equality (#2686) 2023-11-15 14:50:31 +01:00
frozolotl
7aef798658
Fix cmyk repr (#2682) 2023-11-15 14:49:45 +01:00
frozolotl
f56813a778
Remove a suffix from Rgba and LinearRgba (#2691) 2023-11-15 14:48:48 +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
1f273eb88f
Fix spelling mistake (#2664) 2023-11-13 11:52:57 +01:00
Laurenz
010084e2d6 Simplify some paths 2023-11-10 12:01:13 +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
Laurenz
8be482c2c2 Fix intradoc links 2023-11-08 15:33:49 +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
frozolotl
7f1c38548a
Fix color export for SVG (#2610) 2023-11-08 11:11:02 +01:00
frozolotl
cfb767346e
Fix OkLab color negation (#2609)
This changes negation to effectively rotate hue by 180deg.
Previously, negation failed in certain cases and produced unexpected results.
2023-11-08 11:10:37 +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
c0f6d2004a
Content rework 2 - Electric Boogaloo (#2504) 2023-11-06 21:37:50 +01:00
Matt Fellenz
8fd546760c
Implement dict key interpolation (#2559) 2023-11-02 17:08:08 +01:00
Charlie Moog
b716700b61
Derive PDF instance id from content hash (#2552) 2023-11-02 11:12:07 +01:00
MALO
51d9fe2d02
Documentation fixes (#2543) 2023-11-02 11:01:46 +01:00
Laurenz
ab5dd2a1cb CSL support 2023-10-31 01:33:06 +01:00
Joseph Wilson
27ab2bb9a2
Documentation improvements (#2492) 2023-10-31 01:32:08 +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
Laurenz
9c29dbf84f Docs fixes 2023-10-29 19:35:44 +01:00
Laurenz
987e97cc2c Clarify how ident is used in PDF export 2023-10-29 11:22:06 +01:00
MALO
500468fd05
Improve "cannot apply '{+,-}'" error messages (#2510) 2023-10-29 11:15:53 +01:00
Martin Haug
f78a8f5d48
Add IDs and creation date to PDFs (#2374) 2023-10-27 18:33:23 +02:00
Laurenz
4163b2eabc Fix spelling of sRGB 2023-10-27 17:56:30 +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
Laurenz
fa81c3ece0 Less verbose Debug impl for Element 2023-10-27 13:00:48 +02:00
Joseph Wilson
e182777133
Implement unary array.zip, closing #2478 (#2491) 2023-10-27 12:58:55 +02:00
7sDream
b80382b216
Use fontdb to search fonts, with basic fontconfig support (#2472) 2023-10-25 18:38:08 +02:00
Laurenz
e686a11ae7 Bump dependencies 2023-10-25 17:39:40 +02:00
Laurenz
38f59c2a27 Improve color and gradient docs 2023-10-25 16:20:08 +02:00
Laurenz
a7fbe5151e Bump pdf-writer
Fixes #2397
2023-10-24 15:23:04 +02:00
SekoiaTree
7f185f21e0
Add date to document (#2371) 2023-10-22 13:29:48 +02:00
tingerrr
76d4c39ce4
Only print unique diagnostics (#2385) 2023-10-19 12:04:05 +02:00
Sébastien d'Herbais de Thun
56510d9df0
Fixed transform panic (#2435) 2023-10-19 09:57:03 +02:00