| Age | Commit message (Collapse) | Author | |
|---|---|---|---|
| 2021-05-28 | Refactored loading and cache architecture | Laurenz | |
| 2021-05-27 | Remove hash() from AnyNode since caching is now fully transparent | Laurenz | |
| 2021-05-27 | Switch to N64 type alias | Laurenz | |
| 2021-05-27 | Adapt to pdf-writer update | Laurenz | |
| 2021-05-26 | Add a cache for unchanged layouts | Martin Haug | |
| Co-Authored-By: Laurenz <laurmaedje@gmail.com> | |||
| 2021-05-26 | Add hash impls for all nodes | Martin Haug | |
| This prepares the incremental PR. Co-Authored-By: Laurenz <laurmaedje@gmail.com> | |||
| 2021-05-23 | A few predefined colors for testing | Laurenz | |
| 2021-05-23 | Stack function | Laurenz | |
| 2021-05-22 | Adapt to pdf-writer update | Laurenz | |
| 2021-05-21 | Refactor parser a bit | Laurenz | |
| 2021-05-21 | Rename areas to regions | Laurenz | |
| 2021-05-19 | Reword some doc comments | Laurenz | |
| 2021-05-18 | Leaner argument parsing | Laurenz | |
| 2021-05-18 | Rename _new to new and typify to value | Laurenz | |
| 2021-05-18 | Min and max functions | Laurenz | |
| 2021-05-18 | Streamline value comparisons | Laurenz | |
| 2021-05-17 | Convert font units to lengths earlier | Laurenz | |
| 2021-05-17 | Tidy up layouting code | Laurenz | |
| 2021-05-17 | Move aspect ratio into stack | Laurenz | |
| 2021-05-17 | Rename expand to fixed and switch to bools | Laurenz | |
| 2021-05-14 | Fix compilation on unix | Laurenz | |
| 2021-05-14 | Remove resource abstraction and handle images natively | Laurenz | |
| 2021-05-13 | Expose units_per_em and raw face id | Laurenz | |
| 2021-05-05 | Make file system loader serializable 📚 | Laurenz | |
| 2021-04-23 | Reengineer font and resource loading 🏞 | Laurenz | |
| 2021-04-21 | Make frames serializable 📚 | Laurenz | |
| This also makes serialization support non-optional since it's too much feature-management for too little benefit. | |||
| 2021-04-07 | Refactor and comment ♻ | Laurenz | |
| 2021-04-07 | Do binary search and find the outermost glyph with the text index 🔍 | Laurenz | |
| Co-Authored-By: Martin <mhaug@live.de> | |||
| 2021-04-06 | Deduplicate ttf-parser and rustybuzz face 🥞 | Laurenz | |
| 2021-04-05 | Reshaping with unsafe-to-break ⚡ | Laurenz | |
| Co-Authored-By: Martin <mhaug@live.de> | |||
| 2021-04-03 | Fix multi-page paragraph bugs 🐞 | Laurenz | |
| 2021-04-03 | New paragraph layout 🚀 | Laurenz | |
| 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-03-30 | Baseline alignment ⏏ | Laurenz | |
| 2021-03-30 | Refactor ♻ | Laurenz | |
| 2021-03-30 | BiDi reordering 🔃 | Laurenz | |
| Co-Authored-By: Martin <mhaug@live.de> | |||
| 2021-03-30 | Fix space/newline trimming 🐞 | Laurenz | |
| Co-Authored-By: Martin <mhaug@live.de> | |||
| 2021-03-30 | Fix double leading 🐞 | Laurenz | |
| 2021-03-29 | Fixed par layouter directions 🗜 | Laurenz | |
| 2021-03-29 | Line break iterating run shaper 🌵 | Laurenz | |
| Co-Authored-By: Martin <mhaug@live.de> | |||
| 2021-03-29 | Write spaces and linebreaks into text runs ✒ | Laurenz | |
| 2021-03-29 | Move around test cases 🚚 | Laurenz | |
| 2021-03-27 | Better space coalescing logic 🌧 | Laurenz | |
| This creates a smaller state machine helper type for softness coalescing, which does not own the resulting nodes. While this creates a bit more duplication in stack and par builder, it makes it a lot easier to integrate additional logic into the paragraph builder. Furthermore: - Line breaks are now "hard", that is, not coalesced with each other. - Text nodes with equal style are now merged allowing for example `f{}i` to form a ligature. | |||
| 2021-03-25 | Refactor alignments & directions 📐 | Laurenz | |
| - Adds lang function - Refactors execution context - Adds StackChild and ParChild enums | |||
| 2021-03-24 | Make pdf module top-level 🧱 | Laurenz | |
| 2021-03-24 | Text shaping 🚀 | Laurenz | |
| - Shapes text with rustybuzz - Font fallback with family list - Tofus are shown in the first font Co-Authored-By: Martin <mhaug@live.de> | |||
| 2021-03-22 | Better font family definitions ✒ | Laurenz | |
| 2021-03-22 | More consistent documentation 📝 | Laurenz | |
| 2021-03-22 | Fix bug with line spacing after headings ✅ | Laurenz | |
| 2021-03-21 | Syntax functions 🚀 | Laurenz | |
| This adds overridable functions that markup desugars into. Specifically: - \ desugars into linebreak - Two newlines desugar into parbreak - * desugars into strong - _ desugars into emph - = .. desugars into heading - `..` desugars into raw | |||
| 2021-03-20 | Square, circle and ellipse 🔵 | Laurenz | |
