~jaro/balkon

ref: b464ad93704970f027c06d6915a07bf3d8011845 balkon/src/Data/Text/ParagraphLayout/Internal/Layout.hs -rw-r--r-- 15.2 KiB
Separate split list functions into a module.
Make RTL text overflow the left paragraph edge.

This behaviour is consistent with CSS Text Module Level 3.

BREAKING: Previously, all text would overflow the right paragraph edge,
regardless of text direction.
Fix handling of mixed line height.

Displace lines by the height of the tallest fragment in the previous
line, not the shortest one.
Remove TODO which would require an API break.
Simplify code since run direction is always known.
Add TODO for end-of-line whitespace.
Propagate BiDi levels to layout algorithm.

BREAKING: Text direction of the root box is now correctly used for
ordering fragments. Previously, the order was always LTR.
Fix documentation: internal references.
Describe box edges with extensible type.
Handle ancestor boxes in rich layout.
Add ancestor boxes to interface.
Improve code readability with type alias.
Separate WithSpan for sharing with other modules.
Embed TextOptions in ResolvedSpan.

SpanOptions are relegated to the legacy Plain interface, and
TextOptions are now being used internally.
Separate interface-independent layout algorithm.