Commit Graph

36 Commits

Author SHA1 Message Date
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