Commit Graph

398 Commits

Author SHA1 Message Date
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