Crate unicode_linebreak[][src]

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(vec![
    (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

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.