Commit Graph

1327 Commits

Author SHA1 Message Date
astrale-sharp c20b6ec6e1
Test autocomplete (#2912)
Co-authored-by: oliver <151407407+kwfn@users.noreply.github.com>
Co-authored-by: Laurenz <laurmaedje@gmail.com>
2024-01-09 09:05:57 +00:00
Wenzhuo Liu cc1f974164
Partially fix hide for line, polygon, table, grid (#3139) 2024-01-09 08:12:08 +00:00
Leedehai 23875a0483
Let type constructor/field access error report the name correctly (#3140)
Co-authored-by: Laurenz <laurmaedje@gmail.com>
2024-01-09 07:45:24 +00:00
Sébastien d'Herbais de Thun 712eaaa5f4
Fix CMYK on gradients (#3142) 2024-01-08 15:53:22 +00:00
Wenzhuo Liu 46053b62e5
Fix large operators in cambria math (#3115) 2024-01-05 19:30:45 +00:00
PgBiel 8fa573a9a2
Initial table per-cell customization [More Flexible Tables Pt.2a] (#3037)
Co-authored-by: Laurenz <laurmaedje@gmail.com>
2024-01-05 19:30:07 +00:00
Leedehai a124694f08
Ignore weak HElem at the beginning and end of an LR group (#2950) 2024-01-05 18:08:27 +00:00
emilylime 4a65c2115b
Fix typos (#3126) 2024-01-05 14:12:27 +00:00
Pol Dellaiera d651c6e0e6
Bump New Computer Modern fonts to version 5.02 (#3072)
Co-authored-by: Laurenz <laurmaedje@gmail.com>
2024-01-04 17:21:56 +00:00
Eric Biedert 55536e218d
Improve positioning of multiple accents and attachments (#3059) 2024-01-04 15:14:26 +00:00
Myriad-Dreamin 34e3bd52aa
Inline equations linebreak at appropriate places (#2938)
Co-authored-by: David Maxwell <damaxwell@alaska.edu>
Co-authored-by: Laurenz <laurmaedje@gmail.com>
2024-01-03 12:04:36 +00:00
Sébastien d'Herbais de Thun 3aeb150c95
Added `to-absolute` method to length. (#3117)
Co-authored-by: Laurenz <laurmaedje@gmail.com>
2024-01-03 09:43:08 +00:00
Wenzhuo Liu 28a5069f95
Fix linebreak fallback tofu (#3123) 2024-01-03 09:41:41 +00:00
Leedehai 39e53fcdc9
Clarify the way to access functions from dictionaries (#3064)
Co-authored-by: Laurenz <laurmaedje@gmail.com>
2024-01-02 09:13:45 +00:00
Heinenen c27b9e2b0f
Don't allow nested line comment inside block comment (#3048) 2023-12-30 13:01:05 +00:00
Sébastien d'Herbais de Thun c4d9b0c3d8
New performance timings (#3096)
Co-authored-by: Laurenz <laurmaedje@gmail.com>
2023-12-30 12:36:15 +00:00
voidiz 4e5afa672f
Suggest accessing field if method doesn't exist (#2977) 2023-12-28 14:28:04 +00:00
Leedehai 99f32a45e5
Add a test to verify .with() applies to sinks (#3071) 2023-12-28 13:32:51 +00:00
Eric Biedert f94708d202
Make accent size adjustable (#3077) 2023-12-28 13:30:32 +00:00
k-84mo10 e215f22965
Fix the test image of numbering.png (#3070) 2023-12-26 10:38:46 +01:00
k-84mo10 9741885aaf
Contemporary Japanese numbering (#3012) 2023-12-25 22:28:00 +01:00
Wenzhuo Liu 81ff34d80d
Add stroke for text (#2970) 2023-12-19 10:36:18 +01:00
PgBiel 111a69f6aa
Grid and Table API Unification [More Flexible Tables Pt.1] (#3009) 2023-12-19 10:28:41 +01:00
PgBiel c361566cb2
Show which reference image was updated (#3008) 2023-12-19 10:19:20 +01:00
Emmett Rayes 6808e58a3b
Cycle list markers by default (#2788)
Co-authored-by: Laurenz <laurmaedje@gmail.com>
2023-12-18 18:25:28 +01:00
Niklas Ausborn 1f983ced90
Implement CSV file header rows support. (#2619)
Co-authored-by: Laurenz <laurmaedje@gmail.com>
2023-12-18 17:14:21 +01:00
Leedehai 47bb32809a
Expand the AttachElement frame so it encompasses its child center_frame (#2968) 2023-12-18 13:19:55 +01:00
CosmicHorror 56159997b7
Switch to `two-face` for extra syntect syntaxes (#2937) 2023-12-18 13:17:47 +01:00
Carson McManus 754e1788b2
Fix a parser bug causing `x.)` to be treated as a field access (#2962) 2023-12-18 12:33:29 +01:00
PgBiel eb9dd539aa
Fix unnamed sinks not capturing named args (#2984) 2023-12-18 12:30:03 +01:00
Laurenz 22ba6825db
Key/Value data from CLI (#2894) 2023-12-18 12:18:41 +01:00
Malo 356bdeba18
Do not create a block frame for out-of-flow items only (#2517) 2023-12-18 11:37:30 +01:00
Laurenz cf6ce9fd53 Make `World` thread-safe 2023-12-14 22:58:56 +01:00
Malo 7adeb49652
Improve number display (#2936) 2023-12-14 14:21:25 +01:00
Sébastien d'Herbais de Thun d869a07d2d
Remove HSV and HSL color spaces from PDF export (#2927)
Co-authored-by: EpicEricEE <github@ericbiedert.de>
2023-12-13 14:35:56 +01:00
Eric Biedert 077d6b5c54
Adjust color mixing for hue-based spaces (#2931) 2023-12-13 13:23:32 +01:00
Sébastien d'Herbais de Thun 231b96e5cf
Make layout account for transforms (#2555) 2023-12-13 12:44:28 +01:00
oliver 8d7d18c4d6
More consistent spelling of "behaviour" (#2923) 2023-12-12 15:34:46 +01:00
Sébastien d'Herbais de Thun 343a423e9f
Fix #2902 (#2913) 2023-12-11 17:03:59 +01:00
Malo ce9d420472
Mention `str(<label>)` feature in documentation for `label` (#2906) 2023-12-11 17:03:26 +01:00
Laurenz 0813e05a60 Add regression test for #1597 2023-12-07 17:37:18 +01:00
Sébastien d'Herbais de Thun 3e96f5f75f
Fix label in `.fields()` accessor (#2884) 2023-12-07 12:22:07 +01:00
Emanuel 9e333e5058
Add calc.root function (#2736)
Fixes #2522
2023-12-06 14:32:56 +01:00
Leedehai 9a62b21a25
Let test.rs --exact also accept file path of a typ file (#2817) 2023-12-06 11:02:27 +01:00
Leedehai d1835b418f
Use a rotating test progress printer (#2872) 2023-12-06 11:02:08 +01:00
Nathaniel Brough 9aadb18186
Add simple fuzz testing (#2581) 2023-12-05 19:26:58 +01:00
PgBiel 0ebce56b36
Implement lexicographic array comparison (#2827) 2023-12-05 19:15:03 +01:00
Andrew Voynov 4f6fecd606
Removed trailing whitespaces (#2852) 2023-12-05 12:55:36 +01:00
Laurenz 8a2ef9ea01 Enable workspace lints for tests 2023-12-04 14:58:11 +01:00
Sébastien d'Herbais de Thun f5c90c8714
Fix PDF transform (#2850) 2023-12-04 14:24:05 +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 63c19a194c Bump hayagriva 2023-11-29 18:40:47 +01:00
Laurenz aa23198ad9 A little less route nesting 2023-11-29 13:09:00 +01:00
Leedehai b9d025de83
Update New Computer Modern fonts to version 4.7 (#2764) 2023-11-29 12:36:40 +01:00
Laurenz 2007f30b11 Better error message for named instead of positional argument 2023-11-28 18:55:03 +01:00
Laurenz 3b9acf5563 Bump dependencies 2023-11-27 17:16:42 +01:00
Laurenz 713cde1136 Make workspace inheriting consistent 2023-11-27 16:54:55 +01:00
T0mstone 76c5ca051e
Fix trailing comma of function call in math mode (#2772) 2023-11-27 16:03:11 +01:00
Leedehai 34862b7b27
Implement mid() for middle delimiters in lr() (#2760) 2023-11-27 12:02:51 +01:00
Leedehai c354f00f79
Add test cases to verify lexer's identifier validation (#2773) 2023-11-27 11:50:15 +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 7eebafa783 Merge `typst` and `typst-library` 2023-11-24 12:30: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 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
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 ea987ef4a3 Fix linebreaking at the end of links
Fixes #2689
2023-11-19 15:53:48 +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
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
Peng Guanwen f4a81091f7
Lexer change: Allow emphasis in CJK text without spaces (#2648) 2023-11-15 15:01:15 +01:00
frozolotl 7aef798658
Fix cmyk repr (#2682) 2023-11-15 14:49:45 +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 67422e664b
Allow non-string contents for math operators (#2663) 2023-11-13 12:26:58 +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
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
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
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
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 241a6d9e5a
Gradient Part 5b: Fix gradients in math (#2604) 2023-11-07 12:09:51 +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
Matt Fellenz 8fd546760c
Implement dict key interpolation (#2559) 2023-11-02 17:08:08 +01:00
Laurenz c177a63c9b Fix citation grouping bug with spaces 2023-10-31 12:19:30 +01:00
Laurenz ab5dd2a1cb CSL support 2023-10-31 01:33:06 +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
MALO 500468fd05
Improve "cannot apply '{+,-}'" error messages (#2510) 2023-10-29 11:15:53 +01:00
Laurenz 29130a26f8 Linebreaking for links 2023-10-29 00:52:15 +02:00
Laurenz 221609b11c Add regression test for #80 2023-10-28 20:35:28 +02:00
Laurenz aa62d05453 Fix justification with hanging indent and negative spacing
Fixes #2419
2023-10-28 20:05:51 +02:00
Laurenz c3b1e32d11 Fix justified linebreaking without justifiables 2023-10-28 18:02:16 +02:00
Martin Haug f78a8f5d48
Add IDs and creation date to PDFs (#2374) 2023-10-27 18:33:23 +02:00
Laurenz 24a0bd8cfb Fix error priority for function arguments
Errors about superfluous arguments are now thrown before errors of the function execution itself.

Fixes #1367
2023-10-27 15:38:08 +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
Joseph Wilson e182777133
Implement unary `array.zip`, closing #2478 (#2491) 2023-10-27 12:58:55 +02:00
Laurenz e686a11ae7 Bump dependencies 2023-10-25 17:39:40 +02:00
Francisco J. Sanchez c29a31b6c5
Fix pagebreak.to check (#2475) 2023-10-25 17:16:34 +02:00
LU Jialin f81a8d00e3
Refactor `cancel`, now able to take absolute angle or functions (#2466) 2023-10-22 14:07:30 +02:00
Wenzhuo Liu b97ee93b8f
Support adjustment of more CJK punctuation (#2456) 2023-10-22 13:45:51 +02:00
MALO cf9ca6cb59
Fix compiler panic for float with no vertical alignment (#2437) 2023-10-22 13:43:24 +02:00
MALO aaac1dbd68
Adapt default figure separator to the current locale (#2390) 2023-10-22 13:33:00 +02:00
SekoiaTree 7f185f21e0
Add date to document (#2371) 2023-10-22 13:29:48 +02:00
SekoiaTree 3faad6bc5d
Add support for negative augment indexes (#2372) 2023-10-22 13:22:34 +02:00
Sébastien d'Herbais de Thun c0dbb900e8
Cached export for incremental (#2400) 2023-10-17 20:53:01 +02:00
Sébastien d'Herbais de Thun 37a988af83
Replace `Vec` with `EcoVec`, removed `Box` (#2420) 2023-10-17 20:50:36 +02:00
Peng Guanwen e4d9db83ea
Automatically add spacing between CJK and Latin characters (#2334) 2023-10-17 11:14:09 +02:00
Sébastien d'Herbais de Thun a59666369b
Part 5a: Gradients on text with `relative: auto` or `relative: "parent"` (#2364) 2023-10-12 18:03:52 +02:00
bluebear94 d3b62bd02e
MathAttach::primes: account for possible hash before base (#2363)
Fixes #2358.
2023-10-12 10:19:07 +02:00
tingerrr 0f24990579
Add `quote` element (#2252) 2023-10-10 11:59:11 +02:00
Sébastien d'Herbais de Thun 0dd79bbad2
Add `raw.line` (#2341) 2023-10-10 11:56:16 +02:00
Sébastien d'Herbais de Thun 9bca0bce73
Fix clipping when a box/block has a `radius` (#2338) 2023-10-10 11:51:22 +02:00
Sébastien d'Herbais de Thun a8af6b449a
Adds a default value to `.remove()` on `dict` and `array` (#2346) 2023-10-10 11:44:59 +02:00
Sébastien d'Herbais de Thun cef2d3afca
Gradient Part 4 - Conic gradients (#2325) 2023-10-10 11:29:05 +02:00
HydroH 7b61d722dd
Adjust table inset behavior to the same as container's (#1979) (#2323) 2023-10-09 15:52:04 +02:00
MALO 0804a9e25d
Use/allow U+2212 MINUS SIGN instead of U+002D HYPHEN MINUS everywhere (#2318) 2023-10-09 15:30:40 +02:00
Laurenz 2a19e7f4dc Bump ecow 2023-10-09 15:00:07 +02:00
TheJosefOlsson 6dab95473b
Multinomial coefficients (#2237) 2023-10-09 13:46:16 +02:00
Sébastien d'Herbais de Thun e7443abfe6
Gradient Part 3 - Radial gradients (#2312) 2023-10-06 16:47:20 +02:00
bluebear94 6bb776029e
Fix crashes with infinite lengths (part 2) (#2298) 2023-10-05 10:26:36 +02:00
MALO 333e4037fc
Add `Repr` trait (#2269) 2023-10-04 12:08:56 +02:00
Sébastien d'Herbais de Thun 57bc614cf4
Gradient Part 2a - Fix sharp gradients in SVG (#2307) 2023-10-04 10:58:17 +02:00
Eric Biedert 55095246bf
Fix `extent` for text decoration (#2308) 2023-10-04 10:56:55 +02:00
Sébastien d'Herbais de Thun a4e357fb37
Gradient Part 2 - Linear gradients (#2279) 2023-10-03 19:31:02 +02:00
Laurenz 6b1233e127 Fix test failure
Before we tested with an unavailable font, but the hyphens were still visible. But now the hyphens respect fallback too, so it's really hard to test it. I am removing the test for now.
2023-10-03 16:22:10 +02:00
bluebear94 ce658db2f3
ShapedText::push_hyphen: Use self.base for default hyphen range (#2299)
In the unlikely chance that we hyphenate after an empty line, we
set the glyph range to self.base..self.base so that subtracting

Fixes #2283.
2023-10-03 15:02:27 +02:00
T0mstone cf9bde3245
Add capability to get current compiler version (#2016) 2023-10-02 20:28:19 +02:00
LU Jialin 34ebbaeb10
Passing color to the augment line in matrix (#2281) 2023-10-02 16:22:33 +02:00
Sébastien d'Herbais de Thun 62f37ad4ab
Color fixes (#2262) 2023-09-29 15:04:08 +02:00
bluebear94 553da642bd
Handle compiler panics when handling infinite lengths (#2215) 2023-09-28 11:15:09 +02:00
Eric Biedert 0d39fa021f
Prevent block spacing with placed elements (#2244) 2023-09-26 16:59:51 +02:00