Function encoding_rs::mem::is_utf16_bidi[][src]

pub fn is_utf16_bidi(buffer: &[u16]) -> bool

Checks whether a UTF-16 buffer contains code points that trigger right-to-left processing.

The check is done on a Unicode block basis without regard to assigned vs. unassigned code points in the block. Additionally, the four RIGHT-TO-LEFT FOO controls in General Punctuation are checked for. Control characters that are technically bidi controls but do not cause right-to-left behavior without the presence of right-to-left characters or right-to-left controls are not checked for.

Returns true if the input contains an RTL character or an unpaired high surrogate that could be the high half of an RTL character. Returns false if teh input contains neither RTL characters nor unpaired high surrogates that could be higher halves of RTL characters.