Commit Graph

211 Commits

Author SHA1 Message Date
Laurenz bf8a3ecec5 Update changelog 2023-11-27 16:04:47 +01:00
T0mstone 76c5ca051e
Fix trailing comma of function call in math mode (#2772) 2023-11-27 16:03:11 +01:00
Sébastien d'Herbais de Thun c1ed55f555
Optimized `DocumentElem` (#2777) 2023-11-27 12:13:46 +01:00
Leedehai 34862b7b27
Implement mid() for middle delimiters in lr() (#2760) 2023-11-27 12:02:51 +01:00
Sébastien d'Herbais de Thun 0fbb1aaaaa
Optimize `Content::has`, `Introspector::query_label`, and `MetaElem` (#2759) 2023-11-27 11:37:30 +01:00
danieleades e36a18b991
Use clippy workspace lints and inline format args (#2771) 2023-11-27 11:34:14 +01:00
Sébastien d'Herbais de Thun 2c85161a27
Added `hint` to `bail!`, `warning!`, and `error!` (#2756) 2023-11-27 11:17:47 +01:00
Jakob Sachs 219c1c9ed0
Added vertical number alignment to enum (#2742)
Fixes #2441
2023-11-27 11:12:04 +01:00
Laurenz 85b1d1d4dd Rework `Vt` into `Engine`
- Moves as much data out of the `Vm`
- Removes duplication with call_vm and call_vt flavours
- Uses tracked chain instead of fixed int for determining max nesting depth
- This means that nesting checks now generalizes to layout and realization, to detect crashing show rules and overly nested layouts
2023-11-26 19:03:21 +01:00
Martin Haug 2f795b5c07 Bump Hayagriva
Fix #2572
2023-11-24 16:38:03 +01:00
Sébastien d'Herbais de Thun 1756718bab
Gradient Part 6 - Pattern fills (#2740) 2023-11-24 15:46:20 +01:00
Laurenz 3d2f1d2d6c Simplify counting a bit 2023-11-24 14:54:43 +01:00
Laurenz 704bec64ae Move delayed errors into tracer 2023-11-24 12:38:27 +01:00
Laurenz 7eebafa783 Merge `typst` and `typst-library` 2023-11-24 12:30:02 +01:00
frozolotl 55799f7395
Make `color.components`' alpha parameter named (#2734) 2023-11-21 18:05:12 +01:00
Laurenz 36c7301608 Tidy up some imports 2023-11-21 15:20:49 +01:00
Laurenz 1ef6ba7f41 Inline block into styles file 2023-11-21 14:54:47 +01:00
Laurenz ec8230c02e Extract location type into its own file 2023-11-21 14:49:59 +01:00
Laurenz b479be8e9e Fix docs 2023-11-19 19:14:11 +01:00
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