Crate unicode_linebreak
source · [−]Expand description
Implementation of the Line Breaking Algorithm described in Unicode Standard Annex #14.
Given an input text, locates “line break opportunities”, or positions appropriate for wrapping lines when displaying text.
Example
use unicode_linebreak::{linebreaks, BreakOpportunity::{Mandatory, Allowed}};
let text = "a b \nc";
assert!(linebreaks(text).eq([
(2, Allowed), // May break after first space
(5, Mandatory), // Must break after line feed
(6, Mandatory) // Must break at end of text, so that there always is at least one LB
]));
Enums
Unicode line breaking class.
Break opportunity type.
Constants
The Unicode version conformed to.
Functions
Returns the line break property of the specified code point.
Returns an iterator over line break opportunities in the specified string.
Divides the string at the last index where further breaks do not depend on prior context.