Commit Graph

328 Commits

Author SHA1 Message Date
Laurenz e43e2c573e Fix HSL/HSV mixup 2023-10-04 15:12:34 +02:00
Laurenz 9e4a96cd42
Make SVG encoding in PDF export incremental (#2290) 2023-10-04 14:56:54 +02:00
Laurenz 077218db3a Refactor PDF export a bit 2023-10-04 14:47:04 +02:00
Laurenz 7dc74b7281 Bump pdf-writer and svg2pdf 2023-10-04 14:40:28 +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 d709b0e247
Honor text’s fallback option for hyphenation (#2301) 2023-10-03 15:04:15 +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
Laurenz c97fc5eb55 Fix dead links 2023-09-30 11:49:02 +02:00
Sébastien d'Herbais de Thun 62f37ad4ab
Color fixes (#2262) 2023-09-29 15:04:08 +02:00
LU Jialin ca2312deec
Enable font fallback for hyphen (#2233) 2023-09-28 17:01:21 +02:00
Laurenz 13fe7b4549 Add `FontBook::from_infos` 2023-09-28 14:04:30 +02:00
DVDTSB e84cd13ce7
initial Romanian support (#2246) 2023-09-28 11:15:45 +02:00
bluebear94 553da642bd
Handle compiler panics when handling infinite lengths (#2215) 2023-09-28 11:15:09 +02:00
Laurenz ffcd951bc8 Refactor image handling 2023-09-27 12:20:29 +02:00
Laurenz d7928a8ea3 Extract IDE crate 2023-09-26 17:12:18 +02:00
Eric Biedert 0d39fa021f
Prevent block spacing with placed elements (#2244) 2023-09-26 16:59:51 +02:00
Arnaud Golfouse 962071619d
Avoid plugin panics (#2232) 2023-09-26 16:21:21 +02:00
Laurenz 2fd0291a81 Remove unnecessary 'static bounds 2023-09-26 13:45:54 +02:00
Eric Biedert c8ebcd70d6
Resolve spacing before comparing (#2235) 2023-09-26 11:42:05 +02:00
Laurenz Stampfl c55901e972
Embed the current Typst version in the PDF (#2236) 2023-09-26 10:47:25 +02:00
qj e33017042d
Add ability to set document keywords. (#2234) 2023-09-26 10:35:18 +02:00
DVDTSB 34b3f72370
Add `wide` spacing for math (#2224) 2023-09-26 10:29:43 +02:00
Laurenz 63b5ced5db Add `Tag::LIST` constant 2023-09-25 19:02:11 +02:00
tingerrr 0710d1c118
Add `background` parameter to `overline`, `underline` and `strike` (#2219) 2023-09-25 16:19:48 +02:00
tingerrr 063e9afccf
Add custom smart quotes (#2209) 2023-09-25 16:19:22 +02:00
LU Jialin 079ccd5e5b
Fixing the styling issues of the empty pages caused by pagebreak (#2182) 2023-09-25 14:13:54 +02:00
Anton Wetzel 98e5d97509
Better rect edges (#1956) 2023-09-25 13:54:58 +02:00
FlyinPancake 44bbfded5f
feat: inital Hungarian language support (#2229) 2023-09-25 13:52:26 +02:00
LU Jialin 04b4536772
Fixing the baseline in math content (#2220) 2023-09-25 13:13:16 +02:00
8LWXpg 50b0318434
Mark 3 symbols as combining accents (#2218) 2023-09-25 13:12:23 +02:00
Laurenz 9ff9615208 Fix warning when compiling without embedded fonts 2023-09-25 12:38:57 +02:00
Laurenz 72f4c543cc Scope completions for imports 2023-09-23 01:38:46 +02:00
Laurenz 71a21b7ec1 Improve import autocompletion
Now also works for functions, types, and packages
2023-09-23 00:29:35 +02:00
SekoiaTree 3dcbe859fb
Add gaps for matrix, case, and vector (#2186) 2023-09-21 10:26:47 +02:00
Peng Guanwen 50f354e989
Correct the consecutive hyphen cost (#2190)
This just fixes a mistake previously made. `0.3` is the correct number that is proportional to the parameters in Knuth's paper. The previously choosed value `300` is due to my calculation mistake and is too large that essentially prevent any consecutive hyphens.
2023-09-19 17:05:32 +02:00
Laurenz 7a46a85d3e Improve span stability after incremental parsing 2023-09-19 16:53:59 +02:00
Sébastien d'Herbais de Thun 163c2e1aa2
Gradient Part 1 - Color rework (#2171) 2023-09-19 15:48:33 +02:00
Laurenz bb59f0e2b2 Incremental parsing in CLI
Reparses files in the CLI incrementally and also uses the file modification timestamp to completely skip reparsing if possible.
2023-09-19 15:19:12 +02:00
Eric Biedert 13758b9c97
Allow multiple fallback fonts in SVGs (#2122) 2023-09-19 10:28:50 +02:00
Myriad-Dreamin 3955b25a10
Add tooltips to a closure (#2164) 2023-09-18 14:51:55 +02:00
Eric Biedert b10f9ae7b7
Fix "set align" for block equations (#2157) 2023-09-18 14:51:34 +02:00
KillTheMule e55348dbc0
Derive debug for `FontBook` (#2173) 2023-09-18 14:48:44 +02:00
LU Jialin 8b465222b2
Use inferred format extension for the output path (#2166) 2023-09-18 14:27:38 +02:00
Laurenz 72d8a9c89a Fix duplicate state manipulation
The flow layouts footnotes twice in some cases, which messed up the Vt's locator state. Typically, we use `thing.measure` instead of `thing.layout` to prevent side effects, but in this case it was simpler to just undo the modification. A future layout engine rewrite should try to make this kind of error harder to make.

Fixes #1597
2023-09-18 10:51:29 +02:00
Laurenz 25613cfaf3 Fix missing capturing of assignments
The previous commit was a bit overambitious. The left-hand side of assignments should actually be fully captured: Argument lists in `at` calls can contain captured variables. And if the assigned variable itself is captured, then the function is faulty anyway. (And we ensure the correct error message by capturing it.)

Fixes #2169
2023-09-16 20:41:44 +02:00
Laurenz b7430f6da0 Fix incremental compilation by fixing closure capturing
Fixes #1958
2023-09-16 12:37:35 +02:00
Laurenz 464dac8d4a Remove outdated note on transparency 2023-09-15 10:28:44 +02:00
Laurenz de902d8775 Minor docs fixes 2023-09-14 14:59:16 +02:00
Laurenz f15b81e9a7 Bump svg2pdf 2023-09-14 14:43:11 +02:00
Laurenz 3dd12d13f8
Fix invisibles on final page (#2141) 2023-09-14 13:36:39 +02:00
Laurenz Stampfl 47c7975d70
Fix bug where not all text nodes were detected (#2136) 2023-09-13 23:00:35 +02:00
frozolotl c203eff9f4
Allow typst package to compile by itself (#2130) 2023-09-13 20:37:17 +02:00
Johannes Wolf 68fc6f5bc0
array: Mention sort stability in the docs (#2129) 2023-09-13 19:49:41 +02:00
Laurenz Stampfl a5e39d814c
Update to usvg 0.35 (#2113) 2023-09-13 16:41:45 +02:00
Laurenz 6aa9dbfbe6 Touch up docs a little 2023-09-13 15:43:54 +02:00
Laurenz 5df550f8e8 Memoize plugin invocations 2023-09-13 15:43:18 +02:00
Laurenz 88404e924b Mention import renaming in the docs 2023-09-13 15:42:35 +02:00
Laurenz ff2650373c Fix floating placement within containers
Fixes #1879
2023-09-13 15:26:23 +02:00
Laurenz dad7c88576 Fix embedding of CID-keyed fonts into PDF
Fixes #2032
Fixes #573
2023-09-13 15:03:37 +02:00
Laurenz f9feea3f29 Bump dependencies 2023-09-13 14:44:45 +02:00
Laurenz 68b365b351 Fix newline in text in math
Fixes #1948
2023-09-13 13:45:05 +02:00
Laurenz 8fb225feb4 Fix box in 100% width block
Fixes #2128
2023-09-13 13:44:28 +02:00
Kevin K 8927f3d572
Add logical numbering support for PDF export (#1933)
Co-authored-by: Laurenz <laurmaedje@gmail.com>
2023-09-13 10:18:08 +02:00
Wenzhuo Liu c1a8ea68cb
Fix typo in svg export (#2124) 2023-09-13 10:01:20 +02:00
Dmitrij 6275dfd062
Add figure separator field (#1791) 2023-09-12 15:01:59 +02:00
MALO 976abdfe7d
Add `figure.caption` element (#1704)
Co-authored-by: Laurenz <laurmaedje@gmail.com>
2023-09-12 14:47:36 +02:00
Laurenz e39be71a54 Fix newline parsing behaviour in markup 2023-09-12 11:45:24 +02:00
frozolotl 14d28dbf4e
Gracefully handle error if field was not defined (#2110) 2023-09-12 11:26:35 +02:00
Laurenz 2dc000daeb Type compatibility
For now, types can be used like strings in operations to prevent breakage of many packages. Hopefully, we can get rid of this in the future.
2023-09-11 17:38:03 +02:00
Laurenz 3a979e88da Docs generation for types 2023-09-11 15:53:20 +02:00
Laurenz b471ac7d59 First-class types
Makes types first-class values.
2023-09-11 14:40:22 +02:00
Laurenz 8f36fca684 Better proc macros 2023-09-11 14:38:54 +02:00
Laurenz 921b40cf9c Forward third-party errors
Better to know something even if it isn't always formatted in the prettiest way
2023-09-11 12:04:37 +02:00
Zicklag 6483d3035b
Support proxy and custom certificate configuration. (#2006) 2023-09-11 12:03:47 +02:00
LU Jialin d056280165
Wrap into an equation when a Math expr is evaluated (#2081) 2023-09-11 10:47:08 +02:00
LU Jialin 71dccde031
Provide `highlight` function for setting the background color of text (#2076) 2023-09-11 10:46:39 +02:00
Laurenz 073effc740 Fix font family mismatch between Typst and usvg
Fixes #2051
2023-09-09 22:33:17 +02:00
raphCode 66a5958917
Add note: footnote show/set rules at document start (#2078) 2023-09-07 12:01:50 +02:00
klMse 97ca009bb8
Fix arguments for hyberbolic functions (#2072) 2023-09-06 14:27:44 +02:00
Laurenz 65aeea3142 Fix spacing after number in math
Fixes #1052
2023-09-06 12:15:27 +02:00
Laurenz fe402759c0 Don't automatically match fences
Fixes #306
2023-09-06 12:07:37 +02:00
Laurenz b76e8d5db9 Interpret vertical page number alignment differently
The vertical alignment of `number-align` now selects header or footer instead of aligning within the footer. This is a minor breaking change because
- top behaves differently now
- horizon is now forbidden
- bottom (the new default) behaves differently, too
Typical number-align usage will likely not use the vertical component at all, though.

Fixes #645
2023-09-06 10:32:54 +02:00
Laurenz 87c0a5171a Bump hayagriva 2023-09-05 12:17:30 +02:00
LU Jialin e0e1462439
fix typo in the to-bytes conversion (#2067) 2023-09-05 09:16:02 +02:00
Laurenz 2f672b4e2e Allow packages to specify their minimum compiler version 2023-09-04 16:29:57 +02:00
Laurenz 68a25f497e Bump hypher 2023-09-04 13:23:14 +02:00
Laurenz 7c42c9bab0 Docs fixes
Fixes #2059
Fixes #1946
Fixes #1936
Fixes #1862
Fixes #1820
Fixes #1383
2023-09-04 13:18:35 +02:00
Simon Rask be83b2cc66
Remove `ManuallyDrop` usage (#2058)
This usage can be removed since the issue was fixed: https://github.com/rust-lang/rust/issues/70919
2023-09-04 11:47:13 +02:00
KillTheMule 1cc67d5df2
Update ast.rs (#2057)
Rust 1.74 warns about this, noting it will be a hard error soon. Quite annoying when developing on an unstable compiler now already ;)
2023-09-04 11:46:44 +02:00
bluebear94 499c5f2444
Fix improper line wrapping in the presence of medial newlines (#2056)
Fixes #2019.
2023-09-04 11:46:17 +02:00
Martin Haug ba043a8d70
Add a page setup guide (#1911) 2023-09-04 11:43:11 +02:00
Laurenz c0b332a4c0 Font embedding fixes
- Subset prefix based on hash instead of hardcoded
- Fix base font name of Type0 font
- Embed CFF directly as standalone font

Co-Authored-By: Martin Haug <mhaug@live.de>
2023-09-01 13:56:45 +02:00
Anton Wetzel ca1096de78
Replace tabs with spaces in raw elements. (#2042) 2023-08-31 10:06:31 +02:00
jimvdl aea20670d8
Display download progress for self-updating and packages (#2031) 2023-08-31 10:02:53 +02:00
Szymon Bęczkowski 6b7db851e9
Modify sqrt example (#2028) 2023-08-31 09:52:12 +02:00
Reid Johnson 5c1db0c4b8
Add regular polygons to visualize (#1215) 2023-08-31 09:51:00 +02:00
Kevin K bcab770524
Fix typo in docs of `decode` method for image (#2046) 2023-08-30 17:31:30 +02:00
Laurenz a6f347fbb7 Add test for ends-with fix 2023-08-30 17:19:25 +02:00
Neill Johnston dacab7869f
Fix: ends-with (#2034) 2023-08-30 17:17:27 +02:00
Laurenz 5b36b46230 Fix data loading display names 2023-08-30 17:15:49 +02:00
Beiri22 d3ca2ff4ec
Support CBOR binary serialization / deserialization (#2000) 2023-08-30 17:11:21 +02:00
Pg Biel 19b91d59d1
Allow renaming imports with `as` (#1923) 2023-08-30 13:36:02 +02:00
Sébastien d'Herbais de Thun 8a0dd88f10
Make zip variadic (#2041) 2023-08-30 13:31:37 +02:00
Beiri22 e1558268f9
Introduce second variant of Ignorant Behaviour and prevent weak page breaks at basically empty pages (#1929) 2023-08-30 12:58:16 +02:00
Beiri22 f616302496
Duration type, simple date-duration-calculations and comparisons (#1843) 2023-08-30 12:28:53 +02:00
Matt Fellenz 35c785ea11
Add tau (#2033) 2023-08-30 11:56:00 +02:00
Laurenz 0e5c48ad0d Add a bit more docs to `compile` 2023-08-29 18:01:18 +02:00
Laurenz a71a2057f2 More type safety for spans 2023-08-29 17:35:35 +02:00
jimvdl 7bdf1f57b0
Let the CLI `typst update` itself without a package manager (#1887) 2023-08-26 20:44:58 +02:00
sitandr b2d6cb58dc
Fix weak spacing broken in math (#1966) 2023-08-26 17:36:52 +02:00
Kevin K 45bd58fbaa
Implement `rev()` method on string (#2013) 2023-08-26 17:35:52 +02:00
Sébastien d'Herbais de Thun cd13e55dd1
Fixed numbering hint (#2012) 2023-08-26 16:02:28 +02:00
Andrew Voynov 0f794c8c75
Fixed counter's "Time travel" doc example (#2002) 2023-08-25 21:42:50 +02:00
Laurenz 7c1ee0ac0d Fix formatting 2023-08-25 17:57:11 +02:00
Kivi Kaitaniemi 139328bb95
Add Finnish translations (#1996) 2023-08-25 14:32:11 +02:00
Beiri22 22b5959608
separate decode from string/bytes for all data functions; and encode for json, toml, yaml via serde (#1935) 2023-08-25 14:31:03 +02:00
Beiri22 ea469c2df6
calm down clippy even more (#1997) 2023-08-25 14:27:50 +02:00
Laurenz 94df32a919 Make clippy happy 2023-08-25 11:34:04 +02:00
lolstork c00fc14905
Initial support for augmented matrices (#1679) 2023-08-25 11:16:03 +02:00
Matt Fellenz ff5dc9191e
Add format arg to CLI (#1985) 2023-08-23 22:44:03 +02:00
bluebear94 3fcb5ea73c
Render opening smart quote after another opening quote of a different type (#1559) 2023-08-23 14:55:43 +02:00
bluebear94 b59b8bfb35
linebreak_optimized: Handle breakpoints separated only by spaces (#1821) 2023-08-23 13:39:22 +02:00
Laurenz afc95ed19d Virtual path type
Fixes #1937
2023-08-22 14:21:04 +02:00
damaxwell 756bdb623c
Support selectors with and/or followed by before/after (#1883)
Co-authored-by: Laurenz <laurmaedje@gmail.com>
2023-08-22 12:23:55 +02:00
Laurenz 8f19b49afa Fix some typos in CLI help 2023-08-22 01:09:19 +02:00
Laurenz 522708b9df Set new minimum serde version
1.0.184 does not ship with a precompiled binary anymore
2023-08-21 21:49:14 +02:00
Lukas Löring f600515625
Improve clarity regarding location parameter in counter.final() (#1962) 2023-08-21 16:53:56 +02:00
Clemens Koza 73999fe823
Fix documentation on when raw text is a block. (#1953) 2023-08-21 16:53:45 +02:00
Simon Rask 046029b1e2
Add hint for missing method error for dictionary where a field with a function is present (#1922) 2023-08-21 16:26:05 +02:00
Laurenz f6a4b8f97b Propagate error before checking for control flow event 2023-08-21 16:22:17 +02:00
bluebear94 877df549aa
Check for control flow event before let binding (#1912)
Fixes #1906 (trying to destructure the result of `continue`).
2023-08-21 16:21:37 +02:00
Gokul Soumya 5c6434d4ce
Add intersperse() method for arrays (#1897) 2023-08-21 16:01:27 +02:00
Laurenz 487fddb7cb Fix a few typos 2023-08-21 15:40:52 +02:00
Laurenz d52493938e Make bytes joinable 2023-08-21 15:33:03 +02:00
astrale-sharp 99ddbafc09
Wasm plugin system (#1555) 2023-08-21 15:17:16 +02:00
Laurenz 4b29bf6ff6 Implement `Serialize` and `Deserialize` for completions 2023-08-21 11:14:08 +02:00
Kingfree 287556bc14
Local names for Chinese and Traditional Chinese (#1919) 2023-08-20 12:09:16 +02:00
Laurenz 3ab179ebd3 Restrict serde version 2023-08-19 20:06:01 +02:00
Laurenz 5fb5854ed8 Make AST borrowed 2023-08-19 19:44:08 +02:00
sitandr 2f81089995
Fix single prime in subscript (#1909)
* Fix single prime in subscript (a_' producing wrong result)

* Clippy
2023-08-10 21:36:05 +02:00
sitandr 1e21fac2ce
Fix crashing on empty regexps (#1870) 2023-08-08 14:42:04 +02:00
Laurenz 2ea451b83b Refactor SVG export a bit 2023-08-08 13:00:47 +02:00
Wenzhuo Liu 61e4ad6bba
Add SVG export (#1729) 2023-08-08 12:54:13 +02:00
Matt Fellenz f56060c1b3
Penalize runts (#1858) 2023-08-08 11:27:15 +02:00