pub fn layout_text(input: &str, config: &LayoutConfig) -> LayoutExpand description
Creates a top-to-bottom layout. Each source newline starts a new column to the left. Whitespace separates Latin words but does not create an empty slot. Long Latin words use predictable hard hyphens; dictionary hyphenation is intentionally a host-configurable future enhancement.
The unit of layout is the UAX #29 extended grapheme cluster, not the Unicode scalar. A variation selector must stay with the ideograph it selects a glyph for, a combining mark with its base, and a ZWJ emoji sequence with itself — split across slots they are silently dropped or rendered as their unjoined parts, which looks like text and is not.