Commit Graph

191 Commits

Author SHA1 Message Date
Laurenz
4ab7ec6a9a Specify both axis with align function 2019-11-22 15:54:39 +01:00
Laurenz
ebff8eb038 Fix spacing bugs 🚧 2019-11-21 17:50:51 +01:00
Laurenz
131e81baaf Fix flex primary expansion 🚧 2019-11-21 16:14:26 +01:00
Laurenz
863a1a7a00 Completed stack and flex refactoring 🔋 2019-11-21 16:03:15 +01:00
Laurenz
f24e9b44e0 Refined expansion model 🔛 2019-11-20 17:31:52 +01:00
Laurenz
1dafe2c2ea First half of flex refactoring 🥝 2019-11-19 23:27:56 +01:00
Laurenz
6afc84cb9d Small improvements to stack layouter 🍁 2019-11-19 22:46:06 +01:00
Laurenz
f8233a4cb1 Refactor stack layouter to layout eagerly 🛫 2019-11-18 19:36:50 +01:00
Laurenz
1a6fb48bc5 Page style modification functions 📜
- `page.size`
- `page.margins`
2019-11-18 15:10:11 +01:00
Laurenz
1eb25f86dd Double-try spaces for functions 🌑🌕 2019-11-18 12:57:14 +01:00
Laurenz
14259c7d09 Fix alignment bugs ✔ 2019-11-17 20:57:50 +01:00
Laurenz
f6cb4d725e Update standard library functions 🎁 2019-11-17 15:16:37 +01:00
Laurenz
4d0bdc4ca4 Axes updating for flex layouter 📐 2019-11-17 14:51:31 +01:00
Laurenz
1f009b5b95 Allow multiple subsequent spaces 📅 2019-11-17 12:09:18 +01:00
Laurenz
467d7203ee Remove top-level stack layouter from tree layouter 🗑 2019-11-17 11:53:59 +01:00
Laurenz
bd66ebd683 Prepare axis setting for flex layouter ♟ 2019-11-17 11:11:53 +01:00
Laurenz
796c2486ce Axes updating for stack layouter 📐 2019-11-16 14:03:27 +01:00
Laurenz
ac4d501945 Move generalization/specialization methods 🚚 2019-11-16 11:10:53 +01:00
Laurenz
261ef9e33a Generalize tree layouter 🌲 2019-11-16 10:37:30 +01:00
Laurenz
0917d89bb8 Generalize flex layouter 🎯 2019-11-15 19:55:47 +01:00
Laurenz
9473ae61e9 Generalize stack layouter 🎲 2019-11-15 13:05:25 +01:00
Laurenz
1ece263579 Create easy-to-use argument parser 💎 2019-11-07 19:07:11 +01:00
Laurenz
271af7ed03 Parse keyword arguments 📋 2019-11-06 23:18:48 +01:00
Laurenz
110e4b9cb9 Spans for all parts of functions 2019-10-31 20:26:21 +01:00
Laurenz
65ec3764e5 Basic node spans 2019-10-30 22:52:25 +01:00
Laurenz
b5d8b8f4a5 Token spans 🔜🔙 2019-10-30 21:13:12 +01:00
Laurenz
ccc4639c7d Improve documentation comments 📜 2019-10-30 20:13:28 +01:00
Laurenz
b4be25e43b Prettify peeking and rearrange syntax/parsing modules 🧶 2019-10-24 19:10:03 +02:00
Laurenz
ecf0ff4d05 Introduce a set of macros for writing functions more concisely 🎁 2019-10-23 00:21:40 +02:00
Laurenz
cff325b520 Add spacing functions 🔛 2019-10-22 21:40:37 +02:00
Laurenz
991e879e1d Extend stack layouts from vertical to horizontal flows ➡ 2019-10-17 19:21:47 +02:00
Laurenz
1987e5861c Create basic box and line-break functions 📦 2019-10-17 12:55:34 +02:00
Laurenz
f22f9513ae Add pagebreak function ⏭ 2019-10-17 10:12:34 +02:00
Laurenz
9a1d57a11a Implement context-modifying align 🧩 2019-10-17 09:28:06 +02:00
Laurenz
e87a34a4d0 Rearrange layouting contexts ♻ 2019-10-16 22:32:40 +02:00
Laurenz
58693486f9 Allow center alignment 📐 2019-10-16 21:58:22 +02:00
Laurenz
f2f05e07b0 Implement space extension (multipage) 2019-10-16 21:31:14 +02:00
Laurenz
a3c667895e Refactor the main layouter ♻ 2019-10-15 18:15:36 +02:00
Laurenz
0727713424 Fix double-spaces bug 🚧 2019-10-15 09:07:03 +02:00
Laurenz
5473e3903a Refactor the text layouting ♻ 2019-10-14 23:33:29 +02:00
Laurenz
c768b8b61f Refactor stack and flex layouter ♻ 2019-10-14 21:04:12 +02:00
Laurenz
5e41672a91 Refactor and refine PDF exporter ♻ 2019-10-14 18:07:18 +02:00
Laurenz
7c0899b537 Run rustfmt 🚿 2019-10-13 13:10:21 +02:00
Laurenz
5c04185892 Reformat some things 🧺 2019-10-13 13:09:39 +02:00
Laurenz
e2d17aa9d9 Move functions to command-based architecture ✈ 2019-10-13 12:36:45 +02:00
Laurenz
463e4ebd82 Refactor layout types 🚧 2019-10-13 12:08:07 +02:00
Laurenz
6f22e4f13c Render debug boxes 🧭 2019-10-11 20:28:22 +02:00
Laurenz
c0e4fd55e6 Create test runner which renders layouts to images 🗺 2019-10-11 17:53:28 +02:00
Laurenz
8f788f9a4f Add standard align function and support right-alignment ➡️ 2019-10-10 23:38:03 +02:00
Laurenz
61470fba68 Basic positional argument parsing 🗃
Supported types are identifiers, strings, numbers, sizes and booleans.
2019-10-10 23:35:16 +02:00
Laurenz
f22a307000 Extract into separate repository 🧱 2019-10-09 19:46:42 +02:00
Laurenz Mädje
b96a7e0cf3 Reuse font loader across compilations 🔋 2019-07-28 22:27:09 +02:00
Laurenz Mädje
51faad45ad Reformat where clauses 🎈 2019-07-28 21:42:18 +02:00
Laurenz Mädje
19be053cc3 Create some benchmarks 📊 2019-07-28 21:03:33 +02:00
Laurenz Mädje
6c8b5caa9f Improve subsetter testing ✔ 2019-07-27 21:15:10 +02:00
Laurenz
7eec0b8dd7 Add more tests for table parsers 🔋 2019-06-25 21:07:06 +02:00
Laurenz
030d301f0c Refactor subsetter 🧰 2019-06-23 13:32:47 +02:00
Laurenz
7b2a4aa040 Split font module into submodules 🧱 2019-06-22 20:41:04 +02:00
Laurenz
864ae9f604 Parse loca table 🔨 2019-06-22 19:43:06 +02:00
Laurenz
5de92f6d5e Add monospace syntax 📰 2019-06-22 17:01:32 +02:00
Laurenz
099ce71aba Unify font classes + By-value-contexts ⚖ 2019-06-22 15:32:19 +02:00
Laurenz
c7ee2b393a Fix top-left text alignment 📐 2019-06-22 12:51:06 +02:00
Laurenz
f6fe3b5cdd Implement function layouting ✒ 2019-06-22 12:25:01 +02:00
Laurenz
e39a6efccf Deduplicate action lists ✂ 2019-06-21 22:12:36 +02:00
Laurenz
968e121697 Implement flex and box layouting 📏 2019-06-21 21:41:02 +02:00
Laurenz
b53ad6b1ec Introduce flex layouting 🎈 2019-06-17 10:08:16 +02:00
Laurenz Mädje
236ebab23a Add more fonts 📜 2019-06-02 19:51:37 +02:00
Laurenz Mädje
3e9f42661e Move to top-left default positioning 📐 2019-06-02 19:15:45 +02:00
Laurenz Mädje
221934df4b Add margins with basic box layouter 📖 2019-06-02 18:01:22 +02:00
Laurenz Mädje
c4eb4ee362 Fix some documentation 🚧 2019-06-02 12:39:59 +02:00
Laurenz
0274e93810 Devise text layouter 📑 2019-05-26 22:03:55 +02:00
Laurenz
c38e17d91f Thoroughly improve documentation 📝 2019-05-26 21:59:33 +02:00
Laurenz
b3734bbc04 Restructure engine into modular layouter 🍂 2019-05-24 12:24:10 +02:00
Laurenz
e3215fa3b9 Unify parsing and typesetting functions. 🗳 2019-05-20 11:36:31 +02:00
Laurenz
5c66bac689 Parse line and block comments 📔 2019-05-03 12:41:18 +02:00
Laurenz
bc78974fd2 Ignore escaped brackets for body measure 🐥 2019-05-02 09:07:38 +02:00
Laurenz
37c336063b Simplify the parsing model 🔋 2019-05-01 19:47:43 +02:00
Laurenz
27947e212c Require scope for parser ♻ 2019-05-01 17:19:27 +02:00
Laurenz
632bf2f2ef Improve tokenizer 🛢 2019-05-01 16:55:16 +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
c384e52480 Improve code quality 🎫 2019-04-29 13:41:00 +02:00
Laurenz
d514a05af1 Make parse tokens more static and efficient 🗜 2019-04-29 12:43:58 +02:00
Laurenz
383d8365cf Refactor function parsing ♻ 2019-04-29 11:24:35 +02:00
Laurenz
14c9ff571d Remove stack from parser ♻ 2019-04-29 11:03:17 +02:00
Laurenz
f279c52b50 Simple dynamic, scoped function parsing 📥 2019-04-29 00:12:36 +02:00
Laurenz
a51e7a0758 Express functions as trait objects 🚄 2019-04-11 17:36:21 +02:00
Laurenz Mädje
98c3788cf1 Fix PDF conformance bugs 🚧
- /DocumentCatalog -> /Catalog
- BT/ -> BT
- OpenType -> TrueType (for now)
2019-04-05 14:01:10 +02:00
Laurenz
6c29e45ce2 Implement paragraphs 📜 2019-04-01 13:33:54 +02:00
Laurenz
3b4b55c59e Implement bold and italics 📜 2019-04-01 12:25:31 +02:00
Laurenz
a34d725000 Use interior mutability for font loader ⚙ 2019-04-01 12:00:37 +02:00
Laurenz
e589843966 Implement font fallback 🚀 2019-04-01 10:01:42 +02:00
Laurenz
54ace2a7fd Simplify subsetter definition 2019-03-31 17:24:52 +02:00
Laurenz
b24bac7cae Fix bug with special characters 🚧 2019-03-31 17:18:59 +02:00
Laurenz
a522a15a66 Insert default glyph when subsetting ⚙ 2019-03-31 15:47:57 +02:00
Laurenz
0b2ae78534 Write ToUnicode mapping 📜 2019-03-31 14:13:10 +02:00
Laurenz
0fceff5aa4 Fix some things 🚧 2019-03-31 12:35:44 +02:00
Laurenz
5ca303ecad Make things more consistent ♻ 2019-03-30 20:58:46 +01:00
Laurenz
adfd7dd073 Create complex font_info macro 🚀 2019-03-30 20:13:30 +01:00
Laurenz
e6e5aad7ce Refactor font providing ⚙ 2019-03-30 18:47:17 +01:00