Commit Graph

459 Commits

Author SHA1 Message Date
Sébastien d'Herbais de Thun f5c90c8714
Fix PDF transform (#2850) 2023-12-04 14:24:05 +01:00
Joseph Wilson b8b1a92151
Update emph.rs docstring (#2847) 2023-12-04 12:54:12 +01:00
Laurenz 962108d168 Fix zero-sized patterns 2023-12-04 12:50:07 +01:00
Sébastien d'Herbais de Thun 7f10d3282e
Fix defaults on `#[synthesized]` fields (#2825)
Fixes #2821
2023-12-04 11:44:34 +01:00
Laurenz 293a715443 Adjust signature of `jump_from_cursor` 2023-11-30 19:09:42 +01:00
Laurenz f16a9ea9ad Drop dependency on `DashMap`
DashMap doesn't work in multi-threaded WebAssembly in Safari: https://bugs.webkit.org/show_bug.cgi?id=265581
2023-11-30 18:31:56 +01:00
Laurenz de40124adb Fix content hashing
Fixes #2800
2023-11-30 13:49:17 +01:00
Sébastien d'Herbais de Thun 5bdec9e1d8
Optimized labels & introspector (#2801)
Co-authored-by: Laurenz <laurmaedje@gmail.com>
2023-11-30 12:57:04 +01:00
frozolotl 79c2d1f29e
Fix chinese numbers being limited to 255 (#2802) 2023-11-30 10:19:58 +01:00
He Li 3ea2ad6cae
Don't exit watcher on invalid utf-8 (#2795) 2023-11-29 19:57:57 +01:00
Marten Roots 275883a01f
Added the Estonian language to LocalName (#2797) 2023-11-29 18:47:13 +01:00
Laurenz 3c22c9f319 Pattern improvements 2023-11-29 16:28:30 +01:00
Laurenz aa23198ad9 A little less route nesting 2023-11-29 13:09:00 +01:00
Leedehai 37614716be
Demo mid() with a new example showing a friction point with auto-scaling (#2783) 2023-11-29 12:29:37 +01:00
Laurenz af9d8727e1 Don't write multiple authors in XMP metadata
Fixes #2556.
2023-11-29 11:53:09 +01:00
Laurenz 2007f30b11 Better error message for named instead of positional argument 2023-11-28 18:55:03 +01:00
Laurenz b5ef789315 Add missing details for type completion 2023-11-28 12:13:43 +01:00
Laurenz 5a833208f9 Mark document children as internal 2023-11-27 17:49:32 +01:00
Laurenz 713cde1136 Make workspace inheriting consistent 2023-11-27 16:54:55 +01:00
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
danieleades 3c2b61ee7d
Run clippy on all features (#2767) 2023-11-27 11:18:48 +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 76e173b78b
Allow multiple font paths in `TYPST_FONT_PATHS` (#2746) 2023-11-24 11:42: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 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
frozolotl 8e5b7fe5c1
Clean up some color quantization code (#2730) 2023-11-21 10:24:39 +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
Sébastien d'Herbais de Thun b5956ca3f1
Document the `#[ghost]` attribute from #2718 (#2721) 2023-11-20 18:20:42 +01:00
Sébastien d'Herbais de Thun 96f02960a2
Fix gradient colors (#2719) 2023-11-20 18:20:26 +01:00
Sébastien d'Herbais de Thun 9b5b3b2557
Added `ghost` attr to `elem` macro (#2718) 2023-11-19 19:23:00 +01:00
Laurenz b479be8e9e Fix docs 2023-11-19 19:14:11 +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 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
Laurenz ea987ef4a3 Fix linebreaking at the end of links
Fixes #2689
2023-11-19 15:53:48 +01:00
Laurenz 18cb3becb3 Disable default features of `zip` crate 2023-11-19 13:04:48 +01:00
Laurenz fa43b4bf5d Use proxy for fetching release metadata 2023-11-19 12:49:08 +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
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
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
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 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
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