Commit Graph

494 Commits

Author SHA1 Message Date
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 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 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
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 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 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 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
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 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 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 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
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 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 43556a74aa Fix alphabetic numbering 2022-02-18 17:45:25 +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 ab95627d87 Switch to const generics for nodes 2022-02-17 13:28:04 +01:00
Laurenz 624471db61 Proper error messages for shorthands 2022-02-10 10:29:17 +01:00
Laurenz 6e198bf760 Fix CMYK formatting 2022-02-10 10:05:43 +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 9730e785a8 Tidy up 2022-02-07 14:19:13 +01:00
Laurenz 90fb28b4b6 Add `group` in addition to `group_by_key` 2022-02-04 21:32:14 +01:00
Laurenz bdc7127adf Refactor flow, stack and grid layouters a bit 2022-02-03 15:25:47 +01:00
Laurenz f9d3802492 Better debug representation for template 2022-02-03 14:27:20 +01:00
Laurenz c5e05ac0ea Rename `into_block` to `pack` 2022-02-02 17:17:41 +01:00
Laurenz a7b403fd74 Rename `Node` to `Template` 2022-02-02 16:02:23 +01:00
Laurenz 0a1916c1e4 Remove width from backlog and last region 2022-02-02 15:25:43 +01:00
Laurenz a3f151df82 Fix filename 2022-02-02 10:40:26 +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 144c2957e1 Le Rêfectéur 2022-02-04 11:28:39 +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 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 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 c183ed3c15 Mutex comes from tex and we don't want any 2022-01-27 23:07:10 +01:00
Martin Haug 4f66907d08 Add Code Block syntax highlighting 2022-01-27 22:04:45 +01:00
Laurenz 36cae88799 Fix table panic 2022-01-18 13:46:56 +01:00