Commit Graph

199 Commits

Author SHA1 Message Date
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
Laurenz
f364395e1d Create parsing test harness 2019-12-07 14:42:25 +01:00
Laurenz
f5b104d0da Rename crate typst -> typstc 2019-12-05 20:29:55 +01:00
Laurenz
b4efae0883 Remove bad tests and tweak numbers for better debugging 🧪 2019-11-28 20:38:21 +01:00
Laurenz
f2f05e07b0 Implement space extension (multipage) 2019-10-16 21:31:14 +02:00
Laurenz
6f22e4f13c Render debug boxes 🧭 2019-10-11 20:28:22 +02:00
Laurenz
f22a307000 Extract into separate repository 🧱 2019-10-09 19:46:42 +02:00
Laurenz Mädje
19be053cc3 Create some benchmarks 📊 2019-07-28 21:03:33 +02:00
Laurenz
e39a6efccf Deduplicate action lists ✂ 2019-06-21 22:12:36 +02:00
Laurenz
9d605c3128 Remove the concept of words from tokenization 🎈 2019-04-30 09:20:22 +02:00
Laurenz
90848df5de Create command line interface 💻 2019-04-29 17:25:23 +02:00
Laurenz
a34d725000 Use interior mutability for font loader ⚙ 2019-04-01 12:00:37 +02:00
Laurenz
06101492dc Implement subsetting engine 🚀 2019-03-03 15:00:27 +01:00
Laurenz
ae3af533ff Extract opentype parser into crate 🧱 2019-02-16 20:17:31 +01:00
Laurenz
a562541fda Refactor pdf writer into modular crate 🧱 2019-02-13 18:32:42 +01:00
Laurenz
5a600eb354 Move crate into workspace subfolder 2019-02-12 21:31:35 +01:00