Commit Graph

2512 Commits

Author SHA1 Message Date
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
Charlie Moog f6215cfdaf
nix: include git rev in build (#2688) 2023-11-17 10:39:27 +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
Laurenz 624ff5cb7a Correct sentence 2023-11-17 10:08:55 +01:00
Peng Guanwen f4a81091f7
Lexer change: Allow emphasis in CJK text without spaces (#2648) 2023-11-15 15:01:15 +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
Sébastien d'Herbais de Thun f39a8bc015
Add span information to realized `ParElem` (#2675) 2023-11-15 14:49:29 +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
Sébastien d'Herbais de Thun d77356a16f
Fix potential line splitting issue in `raw` (#2674) 2023-11-13 16:56:51 +01:00
frozolotl 7d5f6a8b73
Improve color conversions (#2659) 2023-11-13 16:23:52 +01:00
Sébastien d'Herbais de Thun c427ca9e4e
Assign spans to `raw.line` (#2672) 2023-11-13 15:49:38 +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
Malo 8219ec2595
Improve documentation for figure kind (#2654) 2023-11-13 12:18:05 +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
frozolotl 1f273eb88f
Fix spelling mistake (#2664) 2023-11-13 11:52:57 +01:00
Laurenz 778802e5a8 Fix links in bibliographies again
Fixes #2667
2023-11-13 11:50:27 +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
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
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
Laurenz ccbe901cb7 Make `PdfContext` private again 2023-11-08 15:35:05 +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 c12a19a075 Switch to crates.io version of self-replace 2023-11-08 12:59:52 +01:00
Laurenz 51a8d26a12 Pin iai version 2023-11-08 12:59:48 +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
KronosTheLate 3a1e47913d
Make reference to spreading in arguments of `grid` (#2593)
Co-authored-by: Laurenz <laurmaedje@gmail.com>
2023-11-07 16:56:09 +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
tingerrr 4d5255d9cb
Synthesize `block` and `quotes` & improve documentation for `quote` (#2532) 2023-11-07 11:49:28 +01:00
Dominikus Herzberg 67e87149ab
Link corrected (#2592) 2023-11-06 21:45:20 +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
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