The unicode-linebreak crate treats the pipe character '|' as a break opportunity (BA/AL class). This causes ShapeSpan::build to split text like '|>' into separate ShapeWords. When these words are shaped independently, the font shaping engine cannot form ligatures that cross the word boundary. This patch manually checks for the '|>' sequence during segmentation and skips the break opportunity, ensuring they remain in the same shaping run. Added a unit test 'ligature_segmentation' to verify that '|>' remains a single word. |
||
|---|---|---|
| .. | ||
| edit | ||
| font | ||
| attrs.rs | ||
| bidi_para.rs | ||
| buffer.rs | ||
| buffer_line.rs | ||
| cached.rs | ||
| cursor.rs | ||
| glyph_cache.rs | ||
| layout.rs | ||
| lib.rs | ||
| line_ending.rs | ||
| math.rs | ||
| render.rs | ||
| shape.rs | ||
| shape_run_cache.rs | ||
| swash.rs | ||