Laurenz
93138e2d4b
Fix font switch in math
2023-02-03 17:47:05 +01:00
Laurenz
9e918d06ad
Fix function call highlighting
2023-02-03 17:46:53 +01:00
Laurenz
15bc932ec1
Rename infinity symbol
2023-02-02 22:34:53 +01:00
Laurenz
2bb0135d2a
Fix inconsistency between text and idents in math
2023-02-02 22:33:12 +01:00
Laurenz
255044e04e
Ignore accent when positioning superscript
2023-02-02 21:21:04 +01:00
Laurenz
3f85d005bb
Fix root index placement again
2023-02-02 19:50:14 +01:00
Laurenz
10675cd6d5
Merge text and math symbols
2023-02-02 19:50:06 +01:00
Laurenz
e9ff2d6463
More robust automatic math spacing
2023-02-02 16:47:10 +01:00
Laurenz
e6400861ab
Matrix baseline alignment
2023-02-02 14:40:34 +01:00
Laurenz
bb12624e8e
Fix heading and list markers
2023-02-02 14:27:31 +01:00
Laurenz
5f5c659279
Math tests
2023-02-02 14:13:56 +01:00
Laurenz
afa344f33d
Fix raw show rule
2023-02-01 13:32:05 +01:00
Laurenz
c2bd114914
Symbol improvements
2023-01-31 13:00:20 +01:00
Laurenz
69985e59bc
Make lowercase greek italic
2023-01-31 02:05:53 +01:00
Laurenz
0ef1b02ee0
Add calc constants
2023-01-30 21:29:03 +01:00
Martin Haug
0287b98ef3
Add calc module
2023-01-30 21:04:34 +01:00
Laurenz
1ea0a93325
User-defined symbols
2023-01-30 19:45:10 +01:00
Laurenz
d9d2c021d6
Fix inline math bounding box
2023-01-29 20:44:33 +01:00
Laurenz
0911c709a8
Fix tests
2023-01-29 18:00:28 +01:00
Laurenz
406de22ee5
Remove method call syntax kind
2023-01-28 18:32:58 +01:00
Laurenz
4809e685a2
More capable math calls
2023-01-28 15:36:32 +01:00
Laurenz
28c554ec21
Rework math attachments and accents
2023-01-28 12:14:03 +01:00
Laurenz
2e039cb052
Fix math spacing bugs
2023-01-27 15:32:05 +01:00
Laurenz
43ef60c09c
Tracing-based expression tooltips
2023-01-27 12:05:12 +01:00
Laurenz
1de53730bc
Symbol values and modules
2023-01-27 12:04:36 +01:00
Laurenz
a8fd64f928
Hashtags everywhere!
2023-01-27 11:54:30 +01:00
Laurenz
4653ffebb4
Math module
2023-01-23 15:23:52 +01:00
Laurenz
2b8426b1b3
Interpret methods on modules as functions in modules
2023-01-23 13:26:10 +01:00
Laurenz
87a89e77e5
Some fixes
2023-01-22 13:48:49 +01:00
Laurenz
6f7e8dd497
Add Fira Math font
2023-01-22 13:16:25 +01:00
Laurenz
eabbbf7eae
Name handling for New Computer Modern Math
2023-01-22 13:16:03 +01:00
Laurenz
dd331f007c
Rewrite parser
2023-01-20 14:05:35 +01:00
Laurenz
40561e57fb
Remove most fields from SyntaxKind
enum
2023-01-15 12:40:27 +01:00
Laurenz
ab03f32240
Reorganize syntax module
2023-01-14 12:34:17 +01:00
Laurenz
29b31c4a5a
New import syntax
2023-01-03 12:32:17 +01:00
Laurenz
7c683db367
Merge MarkupNode
and MathNode
into Expr
2022-12-31 09:52:14 +01:00
Laurenz
a6d90c1bf1
Numbering functions
2022-12-30 20:00:50 +01:00
Laurenz
f70cea508c
Remove index syntax in favor of accessor methods
2022-12-30 16:45:41 +01:00
Laurenz
fe1f440069
Clamp shape radii
2022-12-30 10:07:46 +01:00
Laurenz
94cf7005e9
Forbid division by zero
2022-12-30 10:01:37 +01:00
Laurenz
68c6160a14
Recursion with max depth
2022-12-30 09:48:30 +01:00
Martin Haug
bc535f7b71
read
function
2022-12-29 11:49:01 +01:00
Laurenz
8527517258
Rename desc
to terms
2022-12-22 18:25:29 +01:00
Laurenz
4c92ab4ace
Rename the create
category to construct
2022-12-21 23:51:15 +01:00
Laurenz
038f9b015e
Document line
function
2022-12-21 16:32:14 +01:00
Laurenz
31f904a2c4
Split up and document shapes
2022-12-21 16:19:46 +01:00
Laurenz
ba294e2670
Split up list type into three separate types and document them
2022-12-21 12:50:33 +01:00
Laurenz
ee732468c7
Document text category
2022-12-21 00:26:20 +01:00
Laurenz
38a0404050
Document underline, strikethrough, and overline
2022-12-20 18:20:19 +01:00
Laurenz
f5f7df7247
Documentation
2022-12-20 16:11:37 +01:00
Laurenz
b4b022940b
Syntax and example sections
2022-12-19 01:16:35 +01:00
Laurenz
35b16e545b
Document parameters in comment
2022-12-17 16:24:29 +01:00
Laurenz
b6202b646a
Reflection for castables
2022-12-15 23:11:20 +01:00
Laurenz
9ba4d2c134
New macro setup
2022-12-14 10:09:44 +01:00
Laurenz
4c73456fc1
Move highlighting into new IDE module
2022-12-14 10:02:19 +01:00
Laurenz
ad66fbdfa2
Detect infinite loops
2022-12-14 09:56:24 +01:00
Laurenz
c38d55614a
A few math fixes
2022-12-09 21:22:23 +01:00
Laurenz
cd089b6194
Align set rule
2022-12-09 10:21:11 +01:00
Laurenz
11c7ceb29e
Extend math library
2022-12-07 14:01:20 +01:00
Laurenz
5a0053c729
Vectors and cases
2022-12-07 11:30:17 +01:00
Laurenz
b2572f9d48
Math shorthands
2022-12-06 15:37:17 +01:00
Laurenz
3ecb0c754b
More math syntax
2022-12-06 12:37:08 +01:00
Laurenz
c2e458a133
Symbol notation
2022-12-05 12:25:37 +01:00
Laurenz
f57ce86431
Heading numbering and outline
2022-12-02 15:53:01 +01:00
Laurenz
56923ee472
Multi-part numbering patterns
2022-12-02 15:47:25 +01:00
Laurenz
9bc90c371f
Introspection
2022-12-02 15:45:18 +01:00
Laurenz
5110a41de1
Introduce virtual typesetter
2022-12-02 13:21:36 +01:00
Laurenz
bdf06c9c61
Fix auto column shrinking behaviour
2022-11-30 14:49:55 +01:00
Laurenz
579dac3c91
Strong delta
2022-11-29 14:57:05 +01:00
Laurenz
0efe669278
Reorganize library and tests
2022-11-29 14:18:13 +01:00
Laurenz
836692e73c
Widow and orphan prevention
2022-11-28 17:57:16 +01:00
Laurenz
989d170dc7
Fragments
2022-11-28 12:40:16 +01:00
Laurenz
6bafc63910
Document metadata
2022-11-26 23:52:01 +01:00
Laurenz
0579fd4409
Reorganize library base
2022-11-26 17:13:31 +01:00
Laurenz
36490f7f7b
Make text and space nodes unselectable
2022-11-26 15:09:03 +01:00
Laurenz
7af46fc025
Dynamic labels
2022-11-26 13:41:27 +01:00
Laurenz
3cdd8bfa40
Extract numbering pattern from list node
2022-11-26 12:51:15 +01:00
Laurenz
96f72eee6c
Separate typesetting and compilation
2022-11-24 17:51:07 +01:00
Laurenz
5ae81971f2
Introduce Library
2022-11-23 16:07:54 +01:00
Laurenz
b2a3d3f235
More general evaluation interface
2022-11-23 12:00:06 +01:00
Laurenz
2ce727fc95
Make inner node and node data private
2022-11-22 14:40:56 +01:00
Laurenz
dd9c323941
Show with set
2022-11-21 17:12:16 +01:00
Laurenz
c28d2130dd
Don't display functions
2022-11-21 17:11:40 +01:00
Laurenz
1d7e082d1d
Labels
2022-11-21 16:12:24 +01:00
Laurenz
ddada45097
Tracepoints for show rules
2022-11-20 23:32:30 +01:00
Laurenz
72361106bc
Add flag for model printing
2022-11-20 21:39:19 +01:00
Laurenz
321121c6c3
Move font folder
2022-11-20 18:14:13 +01:00
Laurenz
8eeb4ad8f6
Rename margins
to margin
2022-11-19 23:33:33 +01:00
Laurenz
1937d746ab
Show everything!
2022-11-19 22:40:42 +01:00
Laurenz
9b8c1dc19f
Pass text node to text show rule instead of string
2022-11-18 14:31:51 +01:00
Laurenz
bf59c08a0a
New interaction model
2022-11-12 23:46:26 +01:00
Laurenz
010cc2effc
New block spacing model
2022-11-09 18:20:02 +01:00
Laurenz
a7a4cae294
Less style properties
2022-11-08 11:45:59 +01:00
Laurenz
0a41844cc4
Selectors
2022-11-07 14:43:13 +01:00
Laurenz
efd1853d06
Show it!
...
- New show rule syntax
- Set if syntax
- Removed wrap syntax
2022-11-07 12:46:05 +01:00
Laurenz
eb951c008b
Style changes
2022-11-04 11:38:09 +01:00
Laurenz
33928a00dc
Tidy up library
2022-11-03 16:50:26 +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
f547c97072
Reduce usage of finalize
2022-10-31 15:47:49 +01:00
Laurenz
636bdb9e43
Rename RoleMap
to LangItems
2022-10-31 09:11:56 +01:00
Laurenz
95e9134a3c
Refactor geom
module
2022-10-28 16:43:38 +02: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
fd8160f374
Remove SpanPos
in favor of ErrorPos
2022-10-05 13:15:02 +02:00
Laurenz
ec884ec1d8
Refactor syntax module
2022-10-05 12:49:39 +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
abafb39041
Fix bad list interaction
...
Fixes #87
2022-09-26 16:25:40 +02:00
Laurenz
704f2fbaf1
Description lists, link syntax, and new enum syntax
2022-09-26 16:12:57 +02:00
Laurenz
2661f1a506
Round to nearest u8
instead of flooring
2022-09-25 21:46:54 +02:00
Martin Haug
b14274d1e4
Methods to modify colors
2022-09-25 20:04:33 +02:00
Laurenz
f6adc45638
XML reading
2022-09-25 18:20:39 +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
3760748fdd
Refactor error handling
2022-09-20 19:49:47 +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
30be75c668
Renaming
...
`Face` -> `Font`
`FaceId` -> `FontId`
`SourceFile` -> `Source`
2022-09-19 11:36:59 +02:00
Laurenz
4ec3bcee48
Remove pins and memoization
2022-09-19 11:16:05 +02:00
Laurenz
e5f958b921
Handle line comments nested in block comments
...
Fixes #76
2022-09-19 11:05:25 +02:00
Laurenz
b98004330b
Handle non-breaking spaces during justification
2022-09-19 10:28:06 +02:00
Laurenz
0d12f2ab23
[WIP] Label and reference syntax
2022-09-07 11:07:17 +02:00
Laurenz
9362c279de
CSV reading
2022-07-27 00:09:15 +02:00
Laurenz
fc574b3945
New Str
type with methods
2022-07-26 23:27:44 +02:00
Laurenz
1e9a5eda48
Rework array methods
2022-07-26 23:24:30 +02:00
Laurenz
0dacb2d151
Fix error messages on Windows
2022-06-14 18:18:28 +02:00
Laurenz
20b990d297
Anti-aliased image rendering
2022-06-14 17:20:31 +02:00
Laurenz
7a6c2cce77
Make radius configuration unconfusing
2022-06-14 17:17:54 +02:00
Laurenz
6832ca2a26
Ensure expressions can continue after a multiline block
2022-06-14 14:05:46 +02:00
Laurenz
c81e2a5f56
Many fixes
2022-06-14 13:53:02 +02:00
Laurenz
2fe549c1ec
Fix inline math formula frame size
2022-06-13 14:07:48 +02:00
Laurenz
7660978ee5
Move Arc
into Frame
2022-06-12 20:51:31 +02:00
Laurenz
6e3b1a2c80
Make all fields of Frame
private
2022-06-12 17:26:18 +02:00
Laurenz
ed6550fdb0
Bump dependencies
2022-06-10 23:54:16 +02:00
Laurenz
94b375ce55
Incremental renumbering
2022-06-01 13:49:02 +02:00
Laurenz
0a9172cb15
Enforce and make use of span ordering
2022-05-31 13:19:09 +02:00
Laurenz
9bbebd69dd
Numbered spans
2022-05-31 12:37:05 +02:00
Laurenz
08a6188123
Remove green/red distinction
2022-05-31 10:40:30 +02:00
Martin Haug
755d468198
Fix inline nodes and decorations
...
Also Code Review 👯♂️
2022-06-01 11:43:03 +02:00
Martin Haug
4e3036afcb
Sub- and superscripts
...
Fixes to PDF export I guess
Also improved rendition for non-Latin scripts
2022-05-31 22:56:08 +02:00
Laurenz
ccb4753e24
Find optionally takes function instead of value
2022-05-30 10:33:51 +02:00
Laurenz
90be79dc86
Page background and foreground
2022-05-28 00:26:24 +02:00
Laurenz
1a7ce3da02
Luma color
2022-05-27 16:09:43 +02:00
Laurenz
d4e59d4be1
Make justified break work for last line
2022-05-27 15:54:54 +02:00
Laurenz
736289b064
Ensure me is always contained in all
2022-05-27 14:20:05 +02:00
Laurenz
ae68a15a46
Print function for debugging
2022-05-27 14:19:58 +02:00
Laurenz
806d9f0d9a
Pure functions!
2022-05-26 17:14:44 +02:00
Laurenz
22214a1e0a
Test groups
2022-05-27 14:23:05 +02:00
Laurenz
66d8f4569a
Locate me!
2022-05-26 11:59:53 +02:00
Martin Haug
99cb655832
Intra-document links
2022-05-27 12:56:20 +02:00
Laurenz
c010cbc17d
Move route from context to VM
2022-05-25 13:59:06 +02:00
Laurenz
3309ff9fe5
Slim down context
2022-05-25 11:16:03 +02:00
Laurenz
018860da9c
Parse math fonts only once
2022-05-24 19:30:09 +02:00
Laurenz
08554380f8
Fix generated strong and emphasized text
2022-05-19 13:11:00 +02:00
Laurenz
5a7c901f21
Switch to New Computer Modern Math
2022-05-19 12:59:39 +02:00
Laurenz
3965e10281
Hack in ReX for now
2022-05-18 19:09:57 +02:00
Laurenz
242b01549a
Safe eval
function
2022-05-16 20:22:48 +02:00
Laurenz
a741bd6b83
Absolute paths
2022-05-16 17:56:36 +02:00
Laurenz
6536e9e069
Table fill closure
2022-05-16 16:04:40 +02:00
Laurenz
bc1bc91a33
Allow adding none
and anything
2022-05-16 15:55:50 +02:00
Laurenz
1df621868f
Fix control flow bug
2022-05-13 16:39:41 +02:00
Laurenz
05c27a581e
Automatically display value in more places
2022-05-13 16:27:44 +02:00
Laurenz
3e9c63d685
Underline headings in raw theme
2022-05-13 13:52:26 +02:00
Laurenz
778aa4e7df
Mutable field access
2022-05-09 00:11:03 +02:00
Laurenz
1927cc86da
Set, show, wrap in code blocks
2022-05-09 00:03:57 +02:00
Laurenz
bfaf5447a7
Cast content from string
2022-05-06 10:05:11 +02:00
Laurenz
15ef72cca4
Fix empty heading
2022-05-04 23:34:02 +02:00
Laurenz
1bca9ccecb
Improve diagnostics
2022-05-04 23:26:15 +02:00
Laurenz
2a45650dcc
Keyed pairs
2022-05-04 23:12:31 +02:00
Laurenz
e674fd7e90
New raw theme & nicer debug representation
2022-05-04 22:14:57 +02:00
Laurenz
75472fee1a
Division for lengths
2022-05-04 22:14:51 +02:00
Laurenz
ba5622b7b9
Move smallcaps into separate function
2022-05-04 13:21:31 +02:00
Laurenz
507c5fc925
Text replacement show rules
2022-05-04 00:14:31 +02:00
Laurenz
e18a896a93
Test recursive show rules
2022-05-03 16:43:44 +02:00
Laurenz
d59109e8ff
Support recursive show rules
2022-05-03 15:58:15 +02:00
Martin Haug
6a8a0ec6ec
Code Review: Heap is Stack. Unsafe is Good.
...
Spaghetti Code is Style.
2022-05-03 12:59:41 +02:00
Martin Haug
33213abe7d
New page margins API
2022-05-02 18:48:32 +02:00
Martin Haug
9b4397cdab
Tests for the new shape API
2022-05-02 18:25:53 +02:00
Martin Haug
7b6f3a0ab9
A new Cast
implementation for Sides
...
Reinstate circle
2022-05-02 16:35:11 +02:00
Martin Haug
84a4961a5d
Outset; fix folding
2022-05-01 14:56:07 +02:00
Laurenz
f9e115daf5
New block spacing model
2022-04-30 14:12:28 +02:00
Martin Haug
649c101f07
Add blind text function
2022-04-25 14:20:47 +02:00
Laurenz
7163b4a6c5
Soft pagebreak
2022-04-24 21:58:45 +02:00
Laurenz
2f33ad0e0a
Rename soft linebreak to justified linebreak
2022-04-24 21:38:23 +02:00
Laurenz
8fbb11fc05
Extract model
module
2022-04-24 15:47:42 +02:00
Laurenz
04fb8b288a
Show rules with type ascribed object
2022-04-23 21:55:58 +02:00
Laurenz
7a2cc3e7d2
Field access
2022-04-19 16:37:16 +02:00
Laurenz
255d4c620f
Automatic frame merging
2022-04-19 13:54:04 +02:00
Laurenz
a302105b9f
Fix duplicate RTL text and alignment + fr bugs
2022-04-18 12:37:22 +02:00
Laurenz
db820ae9aa
Repeat function
2022-04-17 12:11:00 +02:00
Laurenz
4494b443bb
Ellipsis
2022-04-16 23:06:47 +02:00
Laurenz
c5b3f8ee98
Switch to unscanny
2022-04-16 22:23:57 +02:00
Laurenz
2db4b603db
Fix bug with enums starting at zero
2022-04-14 13:24:48 +02:00
Laurenz
b274155c6d
Improve language and add region controls
2022-04-13 16:01:24 +02:00
Laurenz
d025854457
Make language non-optional with english as default
2022-04-13 15:01:19 +02:00
Laurenz
67e9313b91
Soft breaks and shy hyphens
2022-04-13 14:48:19 +02:00
Laurenz
2279c26543
Smart quotes
...
Co-Authored-By: Martin Haug <mhaug@live.de>
2022-04-13 13:08:46 +02:00
Laurenz
e8dd842c66
Fix bug with basically empty paragraph
2022-04-13 11:59:05 +02:00
Laurenz
002b6c5b3e
Don't hang quotes
2022-04-13 11:24:42 +02:00
Laurenz
c3a387b8f7
Segment by script
2022-04-12 22:23:08 +02:00
Laurenz
1101a8370f
Negative array indexing
2022-04-11 16:30:34 +02:00
Laurenz
cd62792c0a
Prevent duplicate named arguments and dictionary keys
2022-04-11 16:11:16 +02:00
Laurenz
938b0af889
Spreading into arrays and dictionaries
2022-04-11 15:52:57 +02:00
Laurenz
34fa8df044
Move language-related properties from par
to text
...
Closes #67
2022-04-10 23:36:36 +02:00
Laurenz
29eb13ca62
Sum color and length into stroke
2022-04-09 12:02:35 +02:00
Laurenz
712c00ecb7
Em units
2022-04-08 15:45:14 +02:00
Laurenz
977ac77e6a
Start & end alignment
2022-04-08 15:01:55 +02:00
Laurenz
4bb6240b40
Make Relative
generic
2022-04-07 18:04:29 +02:00
Laurenz
1192132dc0
Rename length-related types
...
`Fractional` => `Fraction`
`Relative` => `Ratio`
`Linear` => `Relative`
2022-04-07 16:19:51 +02:00
Laurenz
eb22eed31b
Make chinese justification less bad
2022-04-07 12:51:03 +02:00
Laurenz
3d52387eea
Rework style chains
2022-04-07 11:07:00 +02:00
Laurenz
20b4d590b3
Fix wrong search_range
computation
2022-04-05 17:03:24 +02:00
Laurenz
b8233a9e01
Don't allow empty lists and enums
2022-04-05 15:10:15 +02:00
Laurenz
b865accae6
Don't allow headings to span multiple lines
2022-04-05 15:04:31 +02:00
Laurenz
23d108c8e0
Font fallback
2022-04-03 13:55:58 +02:00
Laurenz
beca01c826
Methods
2022-03-18 23:43:58 +01:00
Laurenz
77d153d315
Add in
and not in
operators
2022-03-15 15:27:36 +01:00
Laurenz
ae0a56cdff
Non-returning error macro
2022-03-15 11:30:13 +01:00
Martin Haug
6f5b721fe5
CR: I'm gonna make him a refactor he can't refuse
2022-03-17 10:50:51 +01:00
Martin Haug
4d617bcd67
LineNode
2022-03-16 12:36:50 +01:00
Laurenz
288a926fea
Knuth-Plass and MicroType
2022-03-14 20:52:32 +01:00
Laurenz
2890a156d2
Remove classes and improve naming
2022-03-12 14:24:24 +01:00
Laurenz
5ac7eb3860
Rename template to content
2022-03-11 23:36:06 +01:00
Laurenz
e6b532391d
More restructuring
2022-03-11 11:58:56 +01:00
Laurenz
b71113d37a
Hyphenation
2022-03-08 19:49:26 +01:00
Laurenz
3ca5b23823
Reorganize library
2022-02-28 23:54:34 +01:00
Martin Haug
4f09233bda
Enable join collection for control flow constructs
2022-02-28 15:41:38 +01:00
Martin Haug
8e0f5993f1
Make loops and functions react to control flow
2022-02-28 13:41:15 +01:00
Laurenz
b0f4b13f6d
Basic justification
2022-02-25 20:48:38 +01:00
Laurenz
efde5cac88
Lower and upper on templates
2022-02-24 19:56:01 +01:00
Laurenz
ecd2bca606
List above & below
2022-02-24 19:15:49 +01:00
Laurenz
49c0bac44d
First-line indents
...
Co-Authored-By: Martin Haug <mhaug@live.de>
2022-02-24 19:15:11 +01:00
Laurenz
e1f29d6cb9
Rework the core context
2022-02-23 14:53:55 +01:00
Laurenz
2bf32c51bc
Remove layout cache
2022-02-22 12:42:02 +01:00
Laurenz
c7e52f2048
Refactor paragraph layout
2022-02-21 16:47:06 +01:00
Laurenz
61d1e1a683
Remove layout-cache feature
2022-02-18 17:33:13 +01:00
Laurenz
e01970b20a
Basic show rules
2022-02-18 16:57:53 +01:00
Laurenz
05ec0f993b
Headers and footers
2022-02-18 01:07:50 +01:00
Laurenz
acae6e2a54
List label styling
2022-02-18 01:06:20 +01:00
Laurenz
980f898d55
Automatic list numbering
2022-02-17 23:00:30 +01:00
Laurenz
261f387535
Accept closures for heading styling
2022-02-17 18:12:13 +01:00
Laurenz
35610a8c6a
Fallible layout
2022-02-17 17:41:45 +01:00
Laurenz
c5e67af22b
Merge eval and layout contexts into Vm
2022-02-17 17:32:56 +01:00
Laurenz
c7a9bac992
Better debug implementations for numeric types
2022-02-17 12:14:50 +01:00
Laurenz
5965515a1e
Allow escaping of -
and .
2022-02-10 13:19:03 +01:00
Laurenz
e089b6ea40
Set rules for everything
2022-02-09 12:34:19 +01:00
Laurenz
68503b9a07
Redesigned template layout
2022-02-07 20:00:21 +01:00
Laurenz
5d05c3f68a
Refactor and fix style folding
2022-02-05 12:41:42 +01:00
Laurenz
20a1fd8bc7
Remove root node
2022-02-02 20:33:19 +01:00
Laurenz
d3ccd55d4b
Split up styled and sequence template
2022-02-02 16:18:10 +01:00
Laurenz
bdb1c008f2
Allow set & show only directly in markup
2022-02-02 11:28:31 +01:00
Martin Haug
fe70db1f4c
New color stuff
...
- CMYK function
- More default colors
- Interpret RGB values as sRGB
2022-02-08 21:12:09 +01:00
Martin Haug
9a9c6f22c4
Add evasion of glyph shape for under- and overlines
2022-02-04 00:30:23 +01:00
Martin Haug
bd0d0e10d8
Harmonize non-negative int arguments
2022-02-03 11:32:16 +01:00
Martin Haug
3f76aadb1a
Add modulo
2022-02-03 11:32:16 +01:00
Martin Haug
e6a0447f9d
Add roman numeral and footnote formatting
2022-02-03 11:32:15 +01:00
Laurenz
20b1a38414
Switch from Rc
to Arc
2022-01-31 16:47:00 +01:00
Laurenz
fa57d86ed9
Fix another parser bug
2022-01-31 13:57:15 +01:00
Laurenz
8f37189d6f
Fix incremental parsing bugs
2022-01-31 13:26:52 +01:00
Laurenz
8d1ce390e2
Rework strong and emph
...
- Star and underscore not parsed as strong/emph inside of words
- Stars/underscores must be balanced and they cannot go over paragraph break
- New `strong` and `emph` classes
2022-01-30 22:46:59 +01:00
Laurenz
d7072f378f
Also debug print syntax tree
2022-01-30 11:16:57 +01:00
Laurenz
aeb036f4dc
Fix that templates don't create a scope
2022-01-29 22:32:57 +01:00
Laurenz
44ebefbec2
Add hide
class
2022-01-29 22:32:01 +01:00
Laurenz
24d513d891
Enable for loop over captured args
2022-01-29 21:36:25 +01:00
Laurenz
5c53b9ff60
Support for wrap
2022-01-28 22:32:53 +01:00
Laurenz
9c906f92c5
Parse break
, continue
and return
expression
2022-01-28 21:01:36 +01:00
Laurenz
3a07603b66
Remove unnecessary group
2022-01-28 20:17:30 +01:00
Laurenz
76b1d4a93f
Parse show
and wrap
expressions
2022-01-28 20:02:42 +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
36cae88799
Fix table panic
2022-01-18 13:46:56 +01:00
Laurenz
0c5243fa80
Basic tables
2022-01-17 16:01:01 +01:00
Laurenz
b3062ee880
Make use of new Rust 1.58 formatting feature
2022-01-13 18:43:18 +01:00
Laurenz
c7f52ed048
Add even
and odd
functions
2022-01-13 14:14:00 +01:00
Laurenz
e74ae6ce70
Make all nodes into classes
2022-01-08 00:20:48 +01:00
Laurenz
0b62439090
Scoped styles
2022-01-07 13:26:51 +01:00
Laurenz
af014cfe5e
Tidy up styling
2022-01-07 10:46:55 +01:00
Laurenz
f7e8624b4c
Refactor
2022-01-05 15:06:42 +01:00
Martin Haug
c994cfa7d8
Code Review: Your parsers were so preoccupied with whether they could
2022-01-04 00:21:33 +01:00
Martin Haug
98c96ba1cb
Fix parser / space / error bug
2022-01-02 14:46:08 +01:00
Martin Haug
5f114e18eb
Added a test framework for incremental parsing
...
Fix several errors:
- Indented markup is now reparsed right
- All end group errors will now fail a reparse
- Rightmost errors will always fail a reparse
2022-01-02 00:46:19 +01:00
Laurenz
f174134aa2
Style chains
2021-12-30 12:12:19 +01:00
Laurenz
5d5d8a21cf
Bump and lock dependencies
2022-01-01 12:23:00 +01:00
Martin Haug
7f7e14d95f
Minor changes to columns
2021-12-28 00:23:42 +01:00
Martin Haug
37328f11ed
Adjust column size and expansion handling
2021-12-27 19:01:36 +01:00
Martin
7efdcdf247
Apply simple suggestions from code review
...
Co-Authored-By: Laurenz <laurmaedje@gmail.com>
2021-12-27 12:33:53 +01:00
Martin Haug
b22ce6f8b8
Introduce equal-width columns
2021-12-26 15:59:24 +01:00
Laurenz
438255519e
Review One: A Set Rules Story
2021-12-22 19:19:32 +01:00
Laurenz
11565a40b3
Set Rules Episode IX: The Rise of Testing
2021-12-21 00:20:24 +01:00
Laurenz
2a3d0f4b39
Set Rules Episode VII: The Set Awakens
2021-12-15 20:27:41 +01:00
Laurenz
244ad386ec
Set Rules Episode VI: Return of the Refactor
2021-12-15 12:49:20 +01:00
Laurenz
57f5c0a1b1
Set Rules Episode V: The Tests Strike Back
2021-12-15 11:12:38 +01:00
Laurenz
ae38be9097
Set Rules Episode IV: A New Fold
2021-12-15 11:11:57 +01:00
Laurenz
40b87d4066
Set Rules Episode II: Attack of the properties
2021-12-07 16:36:39 +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
bfa9962632
Remove baseline weirdness
2021-12-02 14:48:12 +01:00
Laurenz
e915cc4ef0
No more duplicate debug prints due to incremental tests
2021-11-29 23:22:53 +01:00
Laurenz
e4e4c1876f
Fix square and circle width & height
2021-11-29 16:13:53 +01:00
Laurenz
cae60ea0cc
Go back to wrapping inline nodes
2021-11-29 13:12:50 +01:00
Laurenz
e36b8ed374
Layout bugfixes
2021-11-29 12:06:38 +01:00
Laurenz
3a15922d2f
X/Y abstractions
2021-11-26 16:32:06 +01:00
Laurenz
393d74f9bb
Layout improvements
2021-11-25 20:51:16 +01:00
Laurenz
8a88f71cb1
Transformations
2021-11-23 22:04:08 +01:00
Laurenz
c77c5a0f0a
Simpler alignment resolving
2021-11-23 14:25:50 +01:00
Laurenz
4f9e5819bb
2d alignments with plus operator
2021-11-23 12:45:20 +01:00
Laurenz
d3f6040ced
Horizon alignment
2021-11-23 11:58:16 +01:00
Laurenz
0a974d86ba
Welcome to Tigerland
2021-11-22 15:26:56 +01:00
Laurenz
ed50661378
Castable optional and smart values
2021-11-29 16:47:35 +01:00
Laurenz
cef46e6c40
Strokes
2021-11-20 15:51:07 +01:00
Laurenz
70c0dd7674
Small fixes
2021-11-19 13:16:43 +01:00
Laurenz
5a59bb4821
Page fill
2021-11-18 12:50:28 +01:00
Laurenz
b2e6a29789
Refactoring
2021-11-18 00:58:32 +01:00
Laurenz
d9c529347d
Configurable paragraph alignment
2021-11-17 23:54:43 +01:00
Laurenz
095fa52be5
Placed node
2021-11-17 23:09:23 +01:00
Laurenz
89f2e71852
Align node
2021-11-17 17:09:19 +01:00
Laurenz
9a800daa82
Image fit modes
2021-11-16 21:32:29 +01:00
Laurenz
79638d4bbd
Don't wrap already layoutable nodes into flows/pars unnecessarily
2021-11-16 12:47:14 +01:00
Laurenz
0e0f340502
Revert page and inline levels
2021-11-16 10:41:30 +01:00
Laurenz
210c4d9373
Move lang
functionality into par
2021-11-16 00:37:33 +01:00
Laurenz
0ad0fa5a05
RTL tracking test
2021-11-20 13:26:28 +01:00
Martin Haug
c020707ebc
Add tracking to font function
2021-11-20 12:36:03 +01:00
Laurenz
38c5c36241
Final touches
2021-11-08 13:06:11 +01:00
Laurenz
75fffc1f9b
Fine-grained capturing
2021-11-08 11:52:09 +01:00
Laurenz
515fe89c5e
Style changes
...
Co-Authored-By: Martin <mhaug@live.de>
2021-11-05 13:46:42 +01:00
Martin Haug
cf2e527a02
Code Review: No Patrick, question marks are not an instrument
2021-11-05 13:46:41 +01:00
Martin Haug
5c952d56d0
New error handling
2021-11-05 13:46:41 +01:00
Laurenz
65fac0e57c
Refactoring
...
Co-Authored-By: Martin <mhaug@live.de>
2021-11-05 13:46:41 +01:00
Martin Haug
1c0ac793d2
Slim NodeKind
memory footprint
2021-11-05 13:44:49 +01:00
Martin Haug
4875633acf
Change parser
2021-11-05 13:44:49 +01:00
Laurenz
c4a87e5e7c
Number style -> type
2021-11-02 10:39:45 +01:00
Laurenz
072e7c710c
Reduce namespace pollution
2021-11-02 10:39:45 +01:00
Martin Haug
8ccb7d6f15
Smallcaps, sub- and superscript, ligature ctrls...
2021-11-02 10:39:45 +01:00
Laurenz
5b344b663a
Reorganize modules
...
Instead of separating functionality into layout and library, everything lives in the library now. This way, related things live side by side and there are no duplicate file names in the two directories.
2021-10-31 15:52:35 +01:00
Laurenz
564cb7e989
Fix panic in pad node
2021-10-31 13:51:28 +01:00
Laurenz
1af194f383
Dedent code blocks
2021-10-29 16:26:47 +02:00
Laurenz
de6786eb28
Allow multiple template bodies
2021-10-29 16:04:55 +02:00
Laurenz
d1ecb7e52e
Add move
function
2021-10-28 16:51:57 +02:00
Laurenz
fb0cd3df6e
Fr in stack and par
2021-10-26 14:56:10 +02:00
Laurenz
1ca4ff69e2
Trim mailto:
and tel:
from links
2021-10-26 14:51:57 +02:00
Laurenz
3968181622
Replace ..
syntax with range
function
2021-10-25 13:38:32 +02:00
Laurenz
adf52a873f
Drop iso-
prefix for A papers
2021-10-23 22:52:40 +02:00
Laurenz
5becb32ba4
Introduce page / block / inline levels
2021-10-23 20:23:47 +02:00
Laurenz
c627847cb3
Remove directions from grid
2021-10-23 20:22:47 +02:00
Laurenz
6690bc2354
Revise block node contract
...
Frames produced by block nodes are now always treated as exactly one per
given region and a frame must not be larger than its respective region.
Any overflow must be handled internally. This means that stack and grid
don't need to search for fitting regions anymore, since the child has
already does that for them. This commit further moves stack spacing into
a new `SpacingNode`.
2021-10-23 20:22:47 +02:00
Laurenz
1e74f7c407
New ShapeNode
...
Replaces `BackgroundNode` and `FixedNode`
2021-10-23 20:22:47 +02:00
Laurenz
5f4dde0a6b
Remove inline alignment from stack
...
The current inline alignment is very broken and leads to lots of subtle weirdness. Getting rid of it simplifies the stack's interface a lot. At a later point either:
- inline alignment will be added back in a better way, or
- all nodes will be able to expand or align themselves, meaning that the stack's children take care of their alignment
2021-10-23 20:22:47 +02:00
Laurenz
9ac125dea8
Rename State
to Style
and move it into its own module
2021-10-10 21:04:10 +02:00