#unicode #bidirectional

bidi

Unicode双向算法(UBA)的实现

2次发布

0.1.1 2023年9月16日
0.1.0 2023年9月15日

1143 in 文本处理

MIT许可协议

2MB
68K SLoC

Unicode双向算法(UBA)的实现。

参考: http://www.unicode.org/reports/tr9/.

将逻辑字符串转换为等效的视觉表示。支持波斯语、希伯来语和阿拉伯语(以及任何其他RTL语言)。

use bidi:*;

let text: &str = "مهدی";
let mut text_u16 = text.encode_utf16().collect::<Vec<u16>>();

perform_shaping(&mut text_u16);

let result = String::from_utf16(text_u16.as_slice()).unwrap();
assert_eq!(result, "ﻣﻬﺪﯼ");

无运行时依赖