Laurenz
36b3067c19
Eco string 🌱
2021-07-10 13:07:39 +02:00
Laurenz
4fb58acafd
Fix bound
2021-07-09 10:27:45 +02:00
Laurenz
0c74290519
Compare functions and templates by identity
2021-07-08 23:36:20 +02:00
Laurenz
02b586cc36
Add lots of Eq impls
2021-07-08 23:16:02 +02:00
Laurenz
fd0b89a1d8
Rename Fill to Paint
2021-07-08 22:33:44 +02:00
Laurenz
7e2c217cbc
Rename some library arguments
...
- font
- color -> fill
- shorthands for families and size
- decoration functions
- color -> stroke
- strength -> thickness
- position -> offset
- invert offsets: now positive goes downwards just like the rest of typst
2021-07-08 21:42:36 +02:00
Laurenz
551e3af9d0
Replace using with from
2021-07-08 21:16:16 +02:00
Laurenz
5c327e249e
Switch to = for headings once again
2021-07-08 20:03:13 +02:00
Laurenz
f85e5aac64
URL special case for line comments
2021-07-08 19:37:38 +02:00
Laurenz
5a500fb8a7
Range operator
2021-07-08 19:12:07 +02:00
Laurenz
c5635d8a3f
Handle missing arguments to with expr
2021-07-08 18:56:52 +02:00
Laurenz
44d8028b49
Allow wide calls only directly in templates
2021-06-30 22:49:11 +02:00
Laurenz
17e8946884
Remove color literals ( #39 )
2021-06-30 22:32:24 +02:00
Laurenz
911b581834
Optimize scanner performance
2021-06-30 16:43:11 +02:00
Laurenz
65c0c5607e
Make clippy a bit happier
2021-06-30 11:48:51 +02:00
Laurenz
470f8001a1
No more collisions between syntax::Tree and layout::Tree
2021-06-30 11:40:27 +02:00
Laurenz
45812b7001
Merge pull request #35 from typst/wide-calls
...
Wide calls
2021-06-30 11:04:53 +02:00
Laurenz
1c43d8af12
Bump dependencies
2021-06-30 00:52:50 +02:00
Laurenz
32a6b673bc
Make use of wide calls
2021-06-29 13:49:50 +02:00
Laurenz
b89cd128ae
Wide calls
2021-06-29 13:49:50 +02:00
Martin Haug
21d919e2d2
Put incremental compilation behind feature
2021-06-29 12:33:24 +02:00
Laurenz
6d0911d7a8
Mutable visitor
2021-06-29 10:54:34 +02:00
Laurenz
8ea05739af
Make values smaller
...
Reduced from 48 bytes to 32 bytes on 64-bit architectures.
2021-06-28 21:57:18 +02:00
Martin Haug
e9960b8942
Code review: Reverse temperature
2021-06-27 18:58:31 +02:00
Martin
6f518c1728
Adjust comments
...
Co-authored-by: Laurenz <laurmaedje@gmail.com>
Update tests/typ/layout/stack.typ
Co-authored-by: Laurenz <laurmaedje@gmail.com>
2021-06-27 18:58:28 +02:00
Martin Haug
9bd8b7ddac
Code review, new stack test
2021-06-27 18:06:39 +02:00
Martin
57bd3e23c7
Apply suggestions from code review
...
Co-authored-by: Laurenz <laurmaedje@gmail.com>
2021-06-27 17:08:40 +02:00
Martin Haug
6b6cdae7ce
Testing for incremental
...
Also, constraint bugfixes.
2021-06-27 12:31:27 +02:00
Laurenz
f64c772b6d
Fix capturing bug
2021-06-27 12:05:36 +02:00
Laurenz
422b8e640f
With expressions
2021-06-26 18:07:05 +02:00
Laurenz
d53c933e4d
Add box and block functions
2021-06-26 15:47:37 +02:00
Laurenz
784018124d
Remove unused template name field
2021-06-26 15:35:37 +02:00
Laurenz
285c2f617b
Cleanse library
...
- Remove doc-comments for Typst functions from library
- Reduce number of library source files
2021-06-26 13:06:37 +02:00
Laurenz
63cf361496
Make font take everything as keyword arguments
2021-06-25 18:14:19 +02:00
Laurenz
62ecd31af2
Streamline template evaluation
2021-06-18 13:08:39 +02:00
Martin
80a9b300d1
Ref count the frames
2021-06-18 13:01:55 +02:00
Martin
7db78d83be
Levels
2021-06-18 13:00:36 +02:00
Laurenz
2a30c20f0e
Flip outdated expression names
2021-06-18 12:47:59 +02:00
Laurenz
bca035172c
Join semantics
2021-06-18 11:59:05 +02:00
Laurenz
8b6391040e
Remove eat_ prefix
2021-06-18 11:58:43 +02:00
Laurenz
6967c6c80a
Len function for strings, arrays and dictionaries
2021-06-18 10:50:08 +02:00
Laurenz
2e87808cdd
Setter method
2021-06-17 14:32:24 +02:00
Martin
e14e804789
Constraints ( #31 )
2021-06-17 14:18:43 +02:00
Laurenz
e2cdda67dc
Refactor grid row layout
2021-06-15 16:34:41 +02:00
Laurenz
a61ee46ed2
Refactor column resolving
2021-06-13 00:22:39 +02:00
Laurenz
4c37ebb936
Give up on not implementing Eq and Ord
2021-06-12 18:24:31 +02:00
Martin
fec1f41106
Allow grid cells to span multiple regions. ( #30 )
2021-06-12 18:19:18 +02:00
Laurenz
4017b5a9f6
Push some nodes directly into the stack
2021-06-11 14:42:20 +02:00
Laurenz
4dbd9285c9
Basic enums
2021-06-11 14:00:06 +02:00
Laurenz
3330767c20
Remove props in favor of using state for everything
2021-06-11 11:30:18 +02:00
Martin Haug
c28708aa19
Text decorations
2021-06-10 23:15:51 +02:00
Laurenz
bce553a991
Tidy up
2021-06-09 22:44:40 +02:00
Martin Haug
29cfef0a6d
Add a grid layouter
2021-06-09 22:44:40 +02:00
Martin Haug
73fa2eda2c
Introduce `fr`s
2021-06-09 22:44:40 +02:00
Laurenz
9983634cd5
Add note about quadratic running times
2021-06-09 10:56:11 +02:00
Laurenz
edff2ae680
Remove template pretty printing
...
Was buggy and pretty useless anyway since it couldn't peek into function templates.
2021-06-09 10:45:49 +02:00
Laurenz
5afb42ad89
Lists with indent-based parsing
...
- Unordered lists with indent-based parsing and basic layout using stacks
- Headings are now also indent based
- Removes syntax functions since they will be superseded by select & transform
2021-06-09 00:37:13 +02:00
Laurenz
d69dfa84ec
Move import parser to appropriate position in the file
2021-06-08 11:51:21 +02:00
Laurenz
f26526ba75
Switch back to hashtags for headings
2021-06-07 18:17:47 +02:00
Laurenz
7218892c72
Refactor path handling
2021-06-01 12:55:07 +02:00
Laurenz
9bdb0bdeff
Fix path hash bug on unix
2021-05-31 22:33:40 +02:00
Martin Haug
37e0846037
Test cases for include and import
2021-05-31 22:33:40 +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
e023bf2ac9
Module loading system
...
Detects cyclic imports and loads each module only once per compilation.
2021-05-31 22:33:40 +02:00
Martin Haug
9f77f09aac
Parse import and include expressions
...
Co-Authored-By: Laurenz <laurmaedje@gmail.com>
2021-05-31 22:33:40 +02:00
Laurenz
0bfee5b777
Refactored loading and cache architecture
2021-05-28 12:46:43 +02:00
Laurenz
eabf28f081
Remove hash() from AnyNode since caching is now fully transparent
2021-05-27 14:48:55 +02:00
Laurenz
b886ced408
Switch to N64 type alias
2021-05-27 14:48:45 +02:00
Laurenz
9e0a34c80f
Adapt to pdf-writer update
2021-05-27 14:11:08 +02:00
Martin Haug
8e700606bb
Add a cache for unchanged layouts
...
Co-Authored-By: Laurenz <laurmaedje@gmail.com>
2021-05-26 23:50:40 +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
14f093bfee
A few predefined colors for testing
2021-05-23 22:59:25 +02:00
Laurenz
cd25b40281
Stack function
2021-05-23 22:36:34 +02:00
Laurenz
5ced5a69c0
Adapt to pdf-writer update
2021-05-22 20:18:33 +02:00
Laurenz
a175d37ff2
Refactor parser a bit
2021-05-21 23:58:34 +02:00
Laurenz
6472c1e425
Rename areas to regions
2021-05-21 12:55:36 +02:00
Laurenz
1cb6328d20
Reword some doc comments
2021-05-19 00:33:50 +02:00
Laurenz
118fc1014b
Leaner argument parsing
2021-05-18 21:32:40 +02:00
Laurenz
7025590405
Rename _new to new and typify to value
2021-05-18 16:53:11 +02:00
Laurenz
72434f0695
Min and max functions
2021-05-18 16:31:22 +02:00
Laurenz
6b08862b83
Streamline value comparisons
2021-05-18 15:44:49 +02:00
Laurenz
8d67c0ca5e
Convert font units to lengths earlier
2021-05-17 23:06:31 +02:00
Laurenz
c975d0d5e9
Tidy up layouting code
2021-05-17 22:55:31 +02:00
Laurenz
24c4a746bc
Move aspect ratio into stack
2021-05-17 15:23:04 +02:00
Laurenz
1003d320d4
Rename expand to fixed and switch to bools
2021-05-17 15:00:29 +02:00
Laurenz
fbb823964f
Fix compilation on unix
2021-05-14 11:26:50 +02:00
Laurenz
e65c2b949c
Remove resource abstraction and handle images natively
2021-05-14 11:14:28 +02:00
Laurenz
33733fd1ef
Expose units_per_em and raw face id
2021-05-13 11:26:51 +02:00
Laurenz
3e03667c37
Make file system loader serializable 📚
2021-05-05 22:18:33 +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
3d2ee54848
Refactor and comment ♻
2021-04-07 01:08:07 +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
9014e83478
Fix multi-page paragraph bugs 🐞
2021-04-03 21:12:32 +02:00
Laurenz
d74c9378b8
New paragraph layout 🚀
...
The previous paragraph layout algorithm had a couple of flaws:
- It always produced line break opportunities between runs although on
the textual level there might have been none.
- It didn't handle trailing spacing correctly in some cases.
- It wouldn't have been easily adaptable to Knuth-Plass style optimal
line breaking because it was fundamentally structured first-fit
run-by-run.
The new paragraph layout algorithm fixes these flaws. It proceeds
roughly in the following stages:
1. Collect all text in the paragraph.
2. Compute BiDi embedding levels.
3. Shape all runs, layout all children and store the resulting items in
a reusable (possibly even cacheable) `ParLayout`.
3. Iterate over all line breaks in the concatenated text.
4. Construct lightweight `LineLayout` objects for full lines instead of
runs. These mostly borrow from the `ParLayout` and only reshape the
first and last run if necessary. The design allows to use Harfbuzz's
UNSAFE_TO_BREAK mechanism to make reshaping more efficient. The size
of a `LineLayout` can be measured without building the line's frame.
5. Build only the selected line's frames and stack them.
2021-04-03 21:09:17 +02:00
Laurenz
8245b7b736
Baseline alignment ⏏
2021-03-30 21:43:12 +02:00
Laurenz
c00cca3677
Refactor ♻
2021-03-30 16:19:16 +02:00
Laurenz
79948c0c5e
BiDi reordering 🔃
...
Co-Authored-By: Martin <mhaug@live.de>
2021-03-30 14:31:50 +02:00