Commit Graph

1267 Commits

Author SHA1 Message Date
Laurenz 2661f1a506 Round to nearest `u8` instead of flooring 2022-09-25 21:46:54 +02:00
Martin Haug 680cc9aa93 Do not upset Acrobat 2022-09-25 21:37:22 +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 59f67b79c7 Remove image store 2022-09-19 12:49:36 +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 e5615ce02d Fix cost if last line is justified 2022-09-19 10:42:54 +02:00
Laurenz 65c4ee42e7 Underline only Typst headings in code blocks 2022-09-19 10:29:08 +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 ef866b0cd1 Move casting into separate module 2022-07-26 23:16:03 +02:00
Laurenz a904976db5 Remove booleans from args parser 2022-06-15 13:26:53 +02:00
Laurenz cbfac6cd45 Fix highlighting bugs 2022-07-26 20:32:50 +02:00
Laurenz 4817c62dfb Split up PDF exporter 2022-06-14 21:36:33 +02:00
Laurenz 7fb19d5ef8 Unified file loading errors 2022-06-14 20:07:27 +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 e03f32ca34 Turn reparsing methods into free functions 2022-06-14 14:03:13 +02:00
Laurenz c81e2a5f56 Many fixes 2022-06-14 13:53:02 +02:00
Laurenz 891af17260 Bump lipsum 2022-06-13 19:44:57 +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 6aff11057b Non-outlined headings 2022-06-09 13:45:36 +02:00
Laurenz cd5a14bc24
Merge pull request #75 from typst/semantics
Frame Role and PDF outline
2022-06-08 19:31:07 +02:00
Martin Haug 72d3f3fffa CR: Whoever said orange is the new pink was seriously disturbed. 2022-06-08 19:26:20 +02:00
Martin Haug 9dca4c2f78 Preallocate Page Refs 2022-06-08 17:05:07 +02:00
Martin Haug 55dce19f49 Restructure PDF structure writing 2022-06-08 16:36:50 +02:00
Martin Haug 995a7882d2 Auto-detect grid row semantics 2022-06-08 13:11:51 +02:00
Martin Haug 6d8b65c4b2 More consistent role application 2022-06-08 12:30:10 +02:00
Martin Haug 4640585fbd First iteration of outline items 2022-06-04 12:57:45 +02:00
Martin Haug b905048d4b Switch bounded condition, delete `only_at_start` 2022-06-01 19:39:23 +02:00
Martin Haug 91bf1b7f65 Refine `ahead_nontrivia` search
Also reintroduces unsafe layers under another name
2022-06-01 17:58:04 +02:00
Laurenz af10b08cc1 Documentation 2022-06-01 16:51:46 +02:00
Laurenz 94b375ce55 Incremental renumbering 2022-06-01 13:49:02 +02:00
Laurenz c56a8c41f0 Fix that incremental reparsing is impossible at the end
Co-Authored-By: Martin Haug <mhaug@live.de>
2022-06-01 10:30:28 +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 97858e5992 Basic manual tracking 2022-05-31 10:13:34 +02:00
Laurenz ccb4753e24 Find optionally takes function instead of value 2022-05-30 10:33:51 +02:00
Laurenz 757615dc42 Fix color space definitions 2022-05-30 10:31:05 +02:00
Martin Haug 26a427a321 Fix `FontFile3` dictionary for OpenType-Fonts 2022-05-30 10:28:06 +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 8ba11b0722 Reword 2022-05-27 16:37:03 +02:00
Laurenz f8009b5b59 Reuse location type 2022-05-27 14:34:27 +02:00
Laurenz 736289b064 Ensure me is always contained in all 2022-05-27 14:20:05 +02:00
Laurenz 9950a69d23 Replay group and value side effects 2022-05-27 09:36:51 +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 3e052e6e01 All methods for groups 2022-05-26 14:29:10 +02:00
Laurenz a9869c212f Locatable groups 2022-05-26 13:49:44 +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 0170913d54 Rebrand queries as memoization 2022-05-25 21:56:22 +02:00
Laurenz b6b6e36924 Replace static with const in two places 2022-05-25 21:23:12 +02:00
Laurenz 30fdba4356 Move deps from context to VM 2022-05-25 14:56:37 +02:00
Laurenz c010cbc17d Move route from context to VM 2022-05-25 13:59:06 +02:00
Laurenz 6935cf8dfe Virtual machine 2022-05-25 11:51:28 +02:00
Laurenz 3309ff9fe5 Slim down context 2022-05-25 11:16:03 +02:00
Laurenz 362a7f2a8a Thread-local query cache 2022-05-25 10:55:08 +02:00
Laurenz 018860da9c Parse math fonts only once 2022-05-24 19:30:09 +02:00
Laurenz acdde6d326 Remove `unscoped` hack 2022-05-24 18:32:51 +02:00
Laurenz 18511686f3 Add missing string cast for marginal 2022-05-20 22:28:02 +02:00
Laurenz 6ff5536127 Expand command line interface 2022-05-20 10:31:44 +02:00
Laurenz c9b72aaa84 More highlighting API 2022-05-20 10:04:49 +02:00
Laurenz fcce3df093 Simplify `only_in_mode` to `only_in_markup` 2022-05-19 13:56:14 +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 486f7b1bca Forbid `auto` for raw and math family 2022-05-18 18:12:02 +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 204cad6bd6 Store core context in grid layouter 2022-05-16 15:39:08 +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 11f1f0818b Pass language to raw show rule 2022-05-13 13:52:52 +02:00
Laurenz 3e9c63d685 Underline headings in raw theme 2022-05-13 13:52:26 +02:00
Laurenz 673d4e33e9 Fix grid measurement bug 2022-05-13 13:49:36 +02:00
Laurenz 64f8f981c2 Fix `Cast` implementation of `LayoutNode` 2022-05-12 11:42:09 +02:00
Martin Haug 84bd3454df Write language and direction for PDFs 2022-05-11 16:25:49 +02:00
Laurenz a247653cd0 Fix wrong table padding in subsetting 2022-05-09 09:41:13 +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
Martin Haug 49b8574b8d Fix CFF font bug 2022-05-07 17:23:44 +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
Laurenz f77f1f61bf Split up style module 2022-04-30 16:47:43 +02:00
Martin Haug 51d0de09c6 Code Review: Relax, it's much worse than you think 2022-05-03 23:43:56 +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 f07395f9a4 Move rounding logic out of exporters 2022-05-02 17:20:47 +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
Martin Haug 5f1499d380 Add round corners and change arguments 2022-05-01 11:50:34 +02:00
Laurenz f9e115daf5 New block spacing model 2022-04-30 14:12:28 +02:00
Laurenz f7c67cde72 New document & flow building 2022-04-26 13:26:31 +02:00
Laurenz 09aabc3a21 Public style entry enum 2022-04-25 15:50:13 +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 2791f59ce2 Clean up the parser a bit 2022-04-24 18:00:36 +02:00
Laurenz 89927d7de0 `StyleSlot`, `KeyId` and `NodeId` 2022-04-24 16:42:19 +02:00
Laurenz 8fbb11fc05 Extract `model` module 2022-04-24 15:47:42 +02:00
Laurenz e4ee14e54f Extract methods into separate module 2022-04-24 15:27:06 +02:00
Laurenz 50e4002a2a Split `show` into `realize` and `finalize` 2022-04-24 14:53:43 +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 f27f7a05ab Tidy paragraph layout 2022-04-18 13:10:40 +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 f7875032b7 Small highlighting improvement 2022-04-13 11:34:44 +02:00
Laurenz 002b6c5b3e Don't hang quotes 2022-04-13 11:24:42 +02:00
Martin Haug 072543fc59 Introduce `NodeKind::Quote` 2022-04-12 22:35:04 +02:00
Laurenz c3a387b8f7 Segment by script 2022-04-12 22:23:08 +02:00
Laurenz 56968bc0d6 Merge text runs during paragraph layout 2022-04-12 17:49:22 +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 790bd536eb Fix incremental bugs
Co-Authored-By: Martin Haug <mhaug@live.de>
2022-04-11 15:39:32 +02:00
Laurenz 3cc026cf39 Reorder blocks 2022-04-11 18:08:40 +02:00
Laurenz 029b87b0a9 Less style chains lookups during paragraph layout 2022-04-10 23:24:09 +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 e1d7edb7c1 Property resolving 2022-04-08 14:48:02 +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 2eacfcfa81 Fix typo 2022-04-05 14:42:36 +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 9c7067bce3 Refactor paragraph layout 2022-03-13 12:47:51 +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 5ce2a006b6 Consistent block naming 2022-03-11 12:22:27 +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 d24c7030d8 Allow access to numbering for unordered lists 2022-03-08 19:49:22 +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 9fde38a6f8 CR: I've a feeling we're not in Review anymore. 2022-02-28 14:22:49 +01:00
Martin Haug 8e0f5993f1 Make loops and functions react to control flow 2022-02-28 13:41:15 +01:00
Martin Haug d007788db8 Introduce `EvalResult` for control flow 2022-02-28 13:18:29 +01:00
Laurenz 4f85fc3acd Remove dependency on itertools 2022-02-26 00:13:44 +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 90132b0d65
Merge pull request #64 from typst/new-incr-parse
New Incremental Parser
2022-02-23 23:58:05 +01:00
Martin Haug 9fda623b02 Code Review: That's just like your struct, man. 2022-02-23 20:49:47 +01:00
Laurenz f2f473a81f Query cache 2022-02-23 17:17:00 +01:00
Laurenz e1f29d6cb9 Rework the core context 2022-02-23 14:53:55 +01:00
Martin Haug 4c8634c600 Early stop for falling indents.
Fix code edits and at_start handling.
Also fix dedenting for multi-byte chars in raw blocks.
2022-02-23 14:50:38 +01:00