Commit Graph

300 Commits

Author SHA1 Message Date
Heinenen f776f0a75f
Named destinations (#2954) 2024-02-12 12:57:31 +00:00
Peng Guanwen 464a15bdca
Introduce override list to FontInfo (#3228) 2024-02-01 13:45:33 +00:00
frozolotl 6999be9ab0
Use alternate screen and refactor terminal output. (#2665) 2024-01-31 09:19:07 +00:00
Laurenz a434cbb64e Raise Rust version to 1.74 2024-01-29 14:41:45 +01:00
Laurenz 6207b3d9b0
Configure ureq to use sytem-native TLS (#3258) 2024-01-26 09:50:43 +00:00
Laurenz Stampfl afc28264e8
Bump resvg + svg2pdf and add support for filters (#3254) 2024-01-25 15:42:04 +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
Laurenz 84597b46a4 Bump dependencies 2023-12-18 14:25:25 +01:00
Laurenz 2f2dd17938
Bump svg2pdf and related crates (#2992) 2023-12-18 14:15:22 +01:00
CosmicHorror 56159997b7
Switch to `two-face` for extra syntect syntaxes (#2937) 2023-12-18 13:17:47 +01:00
Sébastien d'Herbais de Thun 08225e42d8
Parallel export (#2989) 2023-12-18 12:32:53 +01:00
Sébastien d'Herbais de Thun 41c0dae209
Switch to parallel comemo using Git dependency (#2973) 2023-12-15 12:25:54 +01:00
Nathaniel Brough 9aadb18186
Add simple fuzz testing (#2581) 2023-12-05 19:26:58 +01:00
Laurenz 70ca0d257b Version bump 2023-12-04 15:09:47 +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
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
Laurenz 63c19a194c Bump hayagriva 2023-11-29 18:40:47 +01:00
Laurenz 3bd7318ec7 Bump svg2pdf 2023-11-29 16:28:50 +01:00
Laurenz 3b9acf5563 Bump dependencies 2023-11-27 17:16:42 +01:00
Laurenz 18a5e2eb12 Bump comemo and siphasher 2023-11-27 16:44:52 +01:00
danieleades e36a18b991
Use clippy workspace lints and inline format args (#2771) 2023-11-27 11:34:14 +01:00
Martin Haug 2f795b5c07 Bump Hayagriva
Fix #2572
2023-11-24 16:38:03 +01:00
Laurenz 7eebafa783 Merge `typst` and `typst-library` 2023-11-24 12:30:02 +01:00
Albert Dong 2b2bc62716
Upgrade open package to v5.0.1 (#2752) 2023-11-24 11:38:35 +01:00
Laurenz 18cb3becb3 Disable default features of `zip` crate 2023-11-19 13:04:48 +01:00
Laurenz e0d6526a53
Watching fixes (#2706) 2023-11-19 12:31:42 +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
Laurenz 7bb4f6df44 Version bump 2023-10-31 01:36:21 +01:00
Laurenz 360cc9b957 Version bump 2023-09-13 16:57:27 +02:00
Laurenz 2e86052340 Specify resolver 2023-08-25 17:57:15 +02:00
Laurenz da8367e189 Version bump 2023-08-07 17:19:41 +02:00
Laurenz ebfdb1dafa Move everything into `crates/` directory 2023-07-02 20:07:43 +02:00
Laurenz 2dfd44fedd Version bump 2023-06-30 16:21:57 +02:00
Laurenz 7b92bd7c34 Basic package management 2023-06-27 18:40:17 +02:00
Laurenz 3a8b9cce47 Version bump 2023-06-09 16:24:34 +02:00
Yang Hau 0dc1776202
refactor: Replace once_cell to std lib (#1402) 2023-06-07 14:42:58 +02:00
Lino Le Van 5400570efa
feat(cli): export as png (#1159)
Co-authored-by: Laurenz <laurmaedje@gmail.com>
2023-05-23 12:20:12 +02:00
Laurenz Stampfl 752817ae74
Add support for date & time handling (#435) 2023-05-23 10:41:20 +02:00
Laurenz f692a5efc6 Version bump 2023-05-20 22:05:55 +02:00
Laurenz 88cb8c2626 Bump comemo 2023-05-16 16:43:35 +02:00
Kevin Stevens 156aef10c4
Switch from unicode_xid to unicode_ident (#1208) 2023-05-15 09:35:46 +02:00
Laurenz 47dff3765d Remove 'static bound on `World`
Thanks to improvements in comemo, tracked types don't need to be 'static anymore. This means that the 'static bound on the `World` is now lifted and that the `Route` doesn't need to use unsafe code anymore to manage its lifetime.
2023-05-11 10:50:30 +02:00
HarmoGlace 856557353b
Add rust minimum version in `Cargo.toml` (#902) 2023-05-03 10:37:44 +02:00
Laurenz ad347632ab Make ligatures copyable and searchable
Fixes #479
Fixes #1040
2023-05-03 10:33:18 +02:00
Martin Haug 17cef8dcee
Add ICC profiles to images in PDF and update `usvg`, `svg2pdf` (#822) 2023-05-02 13:53:20 +02:00
Laurenz b1e0de0078 Version bump 2023-04-26 15:54:05 +02:00
Laurenz 3680c854a2 Touch up docs 2023-04-26 15:37:21 +02:00
Alex Saveau 1d42d6674c
Upgrade a bunch of deps and remove two unused ones (#968) 2023-04-26 11:22:43 +02:00
Laurenz 2a10862f45 Enable debug symbols in development 2023-04-24 15:21:12 +02:00
Laurenz 3cc0f1ef0d Disable stacker on WASM 2023-04-24 15:20:42 +02:00
Sébastien d'Herbais de Thun 561ff979d5
Add instrumentation (Part 1) (#761) 2023-04-23 14:33:56 +02:00
Laurenz 35302d2004 Handle SVG with text 2023-04-18 19:04:46 +02:00
Laurenz b51cb131bd Bump comemo 2023-04-17 19:59:45 +02:00
Laurenz 89cf4054d6 Reduce amount of hashing 2023-04-13 14:23:46 +02:00
Laurenz fe2640c552 Version bump 2023-04-11 22:34:25 +02:00
Daniel Csillag 5bc73be90f
Optimization to `Introspector::extract` (#734) 2023-04-11 19:11:44 +02:00
Ralph Langendam 94e052b8cc
Update tiny-skia (#166) 2023-04-07 11:38:18 +02:00
Laurenz b3faef4b80 Bump version 2023-04-05 01:41:15 +02:00
figsoda 613c644f04
Default workspace members to cli (#484) 2023-04-01 14:22:47 +02:00
Filip Andersson dffaef0832
Make release builds using LTO (#396) 2023-03-29 23:13:03 +02:00
Laurenz d71c933cca Bump dependencies 2023-03-27 15:49:04 +02:00
arctic-penguin 88e1134eec
strip cli target (#143)
Stripping `typst-cli` reduces the file size from 24 MB to 18 MB.
2023-03-24 09:08:58 +01:00
Laurenz d6aaae0cea Fix font embedding bugs 2023-03-19 20:58:03 +01:00
Laurenz ab841188e3 Bump `ecow` 2023-03-01 11:27:10 +01:00
Laurenz a1d47695a2 Switch to ecow 2023-02-23 12:20:47 +01:00
Martin Haug 58adf1d025 Add XMP 2023-02-12 23:32:14 +01:00
Laurenz 7d28e6499e Set Typst versions to `0.0.0` 2023-02-06 11:53:49 +01:00
Laurenz d4d702017c Documentation provider 2023-02-06 11:52:31 +01:00
Laurenz 1de53730bc Symbol values and modules 2023-01-27 12:04:36 +01:00
Laurenz 33585d9a3f Small fixes 2023-01-27 11:38:04 +01:00
Laurenz 760936af49 Remove ReX 2023-01-22 13:19:48 +01:00
Laurenz f3980c7045 Basic autocompletion 2022-12-14 10:10:26 +01:00
Laurenz 4c73456fc1 Move highlighting into new IDE module 2022-12-14 10:02:19 +01:00
Laurenz 5110a41de1 Introduce virtual typesetter 2022-12-02 13:21:36 +01:00
Laurenz 9db6e533cd Make content a bit more compact 2022-11-26 15:34:02 +01:00
Laurenz 46921a8c28 Separate test crate
This removes the not-really-cyclic dependency that confuses rust-analyzer. See also: https://github.com/rust-lang/rust-analyzer/issues/2414
2022-11-03 16:13:35 +01:00
Laurenz 37a7afddfa Split crates 2022-11-03 13:35:39 +01:00
Laurenz c0e972b91a Reduce dependencies from compiler on library 2022-10-18 00:04:12 +02:00
Laurenz e218226655 Merge some modules 2022-10-17 20:04:22 +02:00
Laurenz 54b38c4790 Bump dependencies 2022-10-15 17:37:01 +02:00
Laurenz 5a8534a395 Parse basic math syntax 2022-10-04 13:45:16 +02:00
Laurenz 7ef6cb31df Bump ttf-parser 2022-09-30 11:23:09 +02:00
Laurenz 8b4210669b Add `comemo` as git dependency 2022-09-25 19:43:26 +02:00
Laurenz fffb55f79a JSON reading 2022-09-25 17:37:16 +02:00
Laurenz ddd3b6a82b Tracked memoization 2022-09-21 20:25:57 +02:00
Laurenz 757a701c1a A New World 2022-09-20 16:37:15 +02:00
Laurenz e29f55bb29 Remove font store 2022-09-19 17:44:40 +02:00
Laurenz 9362c279de CSV reading 2022-07-27 00:09:15 +02:00
Laurenz 891af17260 Bump lipsum 2022-06-13 19:44:57 +02:00
Laurenz ed6550fdb0 Bump dependencies 2022-06-10 23:54:16 +02:00
Laurenz 806d9f0d9a Pure functions! 2022-05-26 17:14:44 +02:00
Laurenz 3965e10281 Hack in ReX for now 2022-05-18 19:09:57 +02:00
Laurenz 507c5fc925 Text replacement show rules 2022-05-04 00:14:31 +02:00
Martin Haug 649c101f07 Add blind text function 2022-04-25 14:20:47 +02:00
Laurenz c5b3f8ee98 Switch to `unscanny` 2022-04-16 22:23:57 +02:00
Laurenz c3a387b8f7 Segment by script 2022-04-12 22:23:08 +02:00
Laurenz beca01c826 Methods 2022-03-18 23:43:58 +01:00
Laurenz b71113d37a Hyphenation 2022-03-08 19:49:26 +01:00
Laurenz 4f85fc3acd Remove dependency on itertools 2022-02-26 00:13:44 +01:00
Laurenz 2bf32c51bc Remove layout cache 2022-02-22 12:42:02 +01:00
Laurenz 61d1e1a683 Remove layout-cache feature 2022-02-18 17:33:13 +01:00
Laurenz 68503b9a07 Redesigned template layout 2022-02-07 20:00:21 +01:00
Martin Haug 9a9c6f22c4 Add evasion of glyph shape for under- and overlines 2022-02-04 00:30:23 +01:00
Martin Haug 4f66907d08 Add Code Block syntax highlighting 2022-01-27 22:04:45 +01:00
Laurenz 3739ab7720 Export into rendered images 2022-01-24 17:39:49 +01:00
Laurenz db158719d6 Simplify CLI 2022-01-24 16:44:52 +01:00
Laurenz 5d5d8a21cf Bump and lock dependencies 2022-01-01 12:23:00 +01:00
Laurenz 958f74f777 Set Rules Episode VIII: The First Macro 2021-12-16 14:43:02 +01:00
Laurenz 40b87d4066 Set Rules Episode II: Attack of the properties 2021-12-07 16:36:39 +01:00
Martin Haug 738ff7e1f5 Reduce the size of the `FramesEntry` struct and bump edition 2021-12-13 15:56:14 +01:00
Martin Haug 7c829c5c1b Bump pdf-writer, svg2pdf and error messages
Co-Authored-By: Laurenz <laurmaedje@gmail.com>
2021-12-07 00:06:54 +01:00
Martin Haug f15ee7efb6 Add SVG capabilities 2021-12-06 14:58:57 +01:00
Laurenz 2982020480 Bump pdf-writer 2021-12-04 21:55:23 +01:00
Laurenz e915cc4ef0 No more duplicate debug prints due to incremental tests 2021-11-29 23:22:53 +01:00
Laurenz 8a88f71cb1 Transformations 2021-11-23 22:04:08 +01:00
Laurenz 02f114d072 Remove decorum 2021-11-22 15:50:35 +01:00
Laurenz cef46e6c40 Strokes 2021-11-20 15:51:07 +01:00
Laurenz 5e06941c63 Iterate over grapheme clusters instead of chars 2021-10-05 17:57:30 +02:00
Laurenz 2760e11145 Put rand behind layout cache feature 2021-09-29 00:09:41 +02:00
Laurenz d2618acd8d Bump pdf-writer 2021-09-09 12:16:55 +02:00
Laurenz 0001a965d7 Parse command line arguments with pico-args 2021-08-27 14:08:17 +02:00
Laurenz 7a2e3c80b5 PDF bug fixes
- Write correct subtype for CID Font
- Write CIDToGIDMap attribute
- Deduplicate CMap pairings
- Bump pdf-writer for string primitive fix
2021-08-24 17:18:50 +02:00
Laurenz 0806af4aec Kerned PDF output 2021-08-23 13:21:44 +02:00
Martin fdab7158c9
Pattern properties (#42)
Included in this package are:
* Code review I: The unnamed review.
* Code Review II: How I met your review.
* Code Review III: Code, the final frontier. These are the voyages of the USS Review ...
2021-08-19 15:07:11 +02:00
Martin c44ecbfbd2
Move to exclusively oneshot benchmarks with Iai fork (#41) 2021-08-18 18:12:26 +02:00
Laurenz 3c92bad9a7 Pretty-printed diagnostics with traceback 2021-08-01 00:00:36 +02:00
Laurenz 859275b17b Bump dependencies 2021-06-30 22:56:45 +02:00
Laurenz 1c43d8af12 Bump dependencies 2021-06-30 00:52:50 +02:00
Martin Haug 21d919e2d2 Put incremental compilation behind feature 2021-06-29 12:33:24 +02:00
Martin 80a9b300d1 Ref count the frames 2021-06-18 13:01:55 +02:00
Laurenz 7218892c72 Refactor path handling 2021-06-01 12:55:07 +02:00
Laurenz 00ac68b845 Fix and improve
- Set context location to resolved path during module evaluation.
- Dump module diagnostics on import
- Use same-file for more robustness than fs::canonicalize
2021-05-31 22:33:40 +02:00
Laurenz 0bfee5b777 Refactored loading and cache architecture 2021-05-28 12:46:43 +02:00
Martin Haug e27f6c1014 Add hash impls for all nodes
This prepares the incremental PR.

Co-Authored-By: Laurenz <laurmaedje@gmail.com>
2021-05-26 22:57:29 +02:00
Laurenz 6292d25afb Reengineer font and resource loading 🏞 2021-04-23 17:46:14 +02:00
Laurenz 72478946c2 Make frames serializable 📚
This also makes serialization support non-optional since it's too much feature-management for too little benefit.
2021-04-21 21:17:25 +02:00
Laurenz 076e767b0e Do binary search and find the outermost glyph with the text index 🔍
Co-Authored-By: Martin <mhaug@live.de>
2021-04-07 00:24:42 +02:00
Laurenz 464a6ff75e Deduplicate ttf-parser and rustybuzz face 🥞 2021-04-06 15:13:20 +02:00
Laurenz de20a21a58 Reshaping with unsafe-to-break
Co-Authored-By: Martin <mhaug@live.de>
2021-04-05 22:32:09 +02:00
Laurenz 79948c0c5e BiDi reordering 🔃
Co-Authored-By: Martin <mhaug@live.de>
2021-03-30 14:31:50 +02:00
Laurenz 309b8f20a8 Line break iterating run shaper 🌵
Co-Authored-By: Martin <mhaug@live.de>
2021-03-29 15:02:15 +02:00
Laurenz 73615f7e3c Text shaping 🚀
- Shapes text with rustybuzz
- Font fallback with family list
- Tofus are shown in the first font

Co-Authored-By: Martin <mhaug@live.de>
2021-03-24 17:12:34 +01:00
Laurenz 6720520ec0 Render svg emoji 🐳 2021-03-23 15:32:36 +01:00
Laurenz 3fb1f59f1e Bump tiny-skia to 0.5 🔼 2021-03-23 13:17:00 +01:00
Laurenz 3c74e4566a Faster compile times and test execution
- Optimize only dependencies, not the main crate
- Don't generate debug info
- Don't generate PDFs for all tets by default
2021-03-13 14:18:31 +01:00