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
Laurenz
45abcf6b2b
Remove dependencies on itoa and ryu ⬇️
2021-03-02 15:45:01 +01:00
Laurenz
0f0416054f
Move value tests + smarter number formatting 🔢
2021-01-15 15:43:59 +01:00
Laurenz
cfcb36b159
Move test files into category subfolders 🚚
2021-01-14 16:47:29 +01:00
Laurenz
0cfce1de7e
Switch to miniz_oxide 🔼
2020-12-11 12:37:20 +01:00
Laurenz
1cbd5f3051
Refine test infrastructure ✅
...
- Tests diagnostics
- More and better separated image tests
2020-12-10 22:45:45 +01:00
Laurenz
fdc1b378a3
Compress images in PDFs ⚙
2020-11-30 22:07:08 +01:00
Laurenz
b4f809f1ea
Move benchmarks into separate crate ♾
...
So that CI does not have to build criterion each time.
2020-11-25 19:28:04 +01:00
Laurenz
e30d896c7b
Switch to tiny-skia 🎨
2020-11-25 18:46:47 +01:00
Laurenz
f105663037
Basic image support 🖼
...
- [image] function
- Image rendering in tests
- Supports JPEG and PNG
- No PDF export so far
2020-11-20 16:36:22 +01:00
Laurenz
2e6e6244cc
Switch to pdf-writer ⬆️
2020-11-19 23:46:51 +01:00
Laurenz
7ec7c49144
Don't panic 🌶
2020-11-05 13:07:13 +01:00
Laurenz
22697f0c0c
Simple regression testing with file-based comparisons ✅
2020-10-13 12:34:11 +02:00
Laurenz
1736bfc194
Rename typstc -> typst ✏
2020-10-13 11:47:29 +02:00
Laurenz
dd4a4545a6
Move main back into src/ 📨
2020-10-12 21:26:58 +02:00
Laurenz
38157b0e0c
Synchronous layout 🪀
2020-10-12 17:10:01 +02:00
Laurenz
92c01da360
Switch back to custom geometry types, unified with layout primitives 🏞
2020-10-10 22:19:36 +02:00
Laurenz
a41d7ab47d
Expression evaluation with Eval trait 🧮
2020-10-04 20:07:01 +02:00
Laurenz
0fc25d732d
Port to kurbo 🎋
2020-10-03 13:23:59 +02:00
Laurenz
3533268b1f
Refactor parser 🏞
2020-10-02 15:43:29 +02:00
Laurenz
ee11f87175
Enable features by default 💜
2020-09-30 12:53:02 +02:00
Laurenz
fd9959fd04
Add end-to-end typesetting benchmark 🖊
2020-08-19 20:51:36 +02:00
Laurenz
30f16bbf64
Add Value type and replace dyn-nodes with call-exprs 🏗
...
- In addition to syntax trees there are now `Value`s, which syntax trees can be evaluated into (e.g. the tree is `5+5` and the value is `10`)
- Parsing is completely pure, function calls are not parsed into nodes, but into simple call expressions, which are resolved later
- Functions aren't dynamic nodes anymore, but simply functions which receive their arguments as a table and the layouting context
- Functions may return any `Value`
- Layouting is powered by functions which return the new `Commands` value, which informs the layouting engine what to do
- When a function returns a non-`Commands` value, the layouter simply dumps the value into the document in monospace
2020-08-16 22:39:21 +02:00
Laurenz
0ac2e86feb
Add basic parsing benchmark 🌩
2020-08-14 19:54:49 +02:00
Laurenz
dbfb3d2ced
Formatting, documentation and small improvements 🧽
2020-08-03 16:04:55 +02:00
Laurenz
cbbc46215f
Layout elements and pure rust rendering 🥏
2020-08-02 21:17:42 +02:00
Laurenz
d5ff97f42e
Move binary into separate crate and tidy dependencies 🎭
2020-08-02 16:56:14 +02:00
Laurenz
2188ef6b89
Update Cargo.toml and CI configuration ⚙
2020-08-02 11:58:47 +02:00
Laurenz
06dbac6efd
Port font handling to fontdock and ttf-parser 🛳
...
- Use fontdock for indexing fonts and querying
- Typst binary now automatically indexes and uses system fonts in addition to a fixed font folder!
- Removes subsetting support for now (was half-finished anyways, plan is to use harfbuzz for subsetting in the future)
- Adds font width configuration support
2020-08-01 00:10:54 +02:00
Laurenz
751812f451
Serialize layouts with serde 🔠
2020-02-04 21:36:29 +01:00
Laurenz
ec60795575
Port tests 🚁
2020-02-03 15:05:34 +01:00
Laurenz
40ea35cbe7
Upgrade to new toddle interface 🐳
2020-02-03 10:37:50 +01:00
Laurenz
277f2d2176
ColorToken serialization + function fix 🚧
2020-01-18 15:58:36 +01:00
Laurenz
08b91a265f
Powerful parser testing 🐱 👤
2020-01-16 17:51:04 +01:00
Laurenz
15ad30555b
Parser testing prototype 🥥
2020-01-14 20:17:50 +01:00
Laurenz
2ee5810fec
Asyncify font loading 🪐
2020-01-06 12:41:42 +01:00