14 个版本 (5 个稳定版本)
1.5.0 | 2024年1月20日 |
---|---|
1.3.1 | 2023年10月31日 |
1.0.0 | 2023年8月23日 |
0.3.4 | 2023年6月19日 |
0.2.4 | 2023年6月14日 |
在 算法 中排名第 280
每月下载量 253 次
在 ghe2d 中使用
105KB
2.5K SLoC
阿拉伯 Reshaper Rust
一个 不使用 std 的 crate,用于重建阿拉伯语、土耳其语和波斯语句子,以便用于不支持阿拉伯语脚本的应用程序。
用法
重塑单行字符串
use ar_reshaper::{ArabicReshaper, reshape_line};
let reshaper = ArabicReshaper::default();
// You can reshape just a single string using
println!("{}", reshaper.reshape("سلام دنیا"));
// or using `reshape_line` method if you dont want to construct the [ArabicReshaper]
// and you just want to reshape a few strings with default config
println!("{}", reshape_line("سلام دنیا"));
// Both will reconstruct the string and print `ﺳﻼﻡ ﺩﻧﯿﺎ`
重塑字符串切片
use ar_reshaper::ArabicReshaper;
let reshaper = ArabicReshaper::default();
let lines = [
"سلام",
"سلام، خوبی؟",
];
println!("{:#?}", reshaper.reshape_lines(lines));
// or you can just use reshape method in a loop... the choice is yours.
重塑迭代器上的字符串
use ar_reshaper::prelude::*;
for line in ["یک", "دو"].iter().reshape_default() {
println!("{line}");
}
功能
- serde:如果启用此功能,则可以使用 serde 序列化和反序列化
ReshaperConfig
。 - ttf-parser:如果启用此功能,则
ReshaperConfig
方法将具有一个名为from_font
的额外方法,可用于仅在输入字体中存在的情况下启用连字符。
注意
- 请注意,此 crate 需要分配器才能工作,因为我们内部依赖于
alloc
。
致谢
本项目基于出色的 python-arabic-reshaper
。
依赖关系
~0–360KB