18个版本
0.2.1 | 2024年2月18日 |
---|---|
0.1.0 | 2023年3月29日 |
0.0.15 | 2021年10月2日 |
0.0.13 | 2021年6月19日 |
0.0.10 | 2020年7月27日 |
在文本处理分类中排名第874
每月下载量93次
5.5MB
94K SLoC
Seshat 𓋇𓏏𓁐
为Rust的Unicode库。
介绍
Seshat(发音为Sehs-hat)是一个用Rust编写的Unicode库。它提供了许多Unicode字符数据和标准算法。该项目目标是提供一个类似ICU的Rust库。
版本
Seshat遵循最新的Unicode版本。目前使用版本15.1.0。
用法
[dependencies]
seshat-unicode = "0.2.1"
use seshat::unicode::Ucd;
fn main() {
println!("🦀 is {}!", '🦀'.na());
}
检查Unicode版本
use seshat::unicode::UNICODE_VERSION;
fn main() {
println!("{}", UNICODE_VERSION.to_string());
}
特性
图形簇分割
use seshat::unicode::Segmentation;
fn main() {
let s = "Hi, 👨🏾🤝👨🏿";
for seg in s.break_graphemes() {
println!("{}", seg);
}
}
这将打印
$ cargo run
H
i
,
👨🏾🤝👨🏿
标准化
use seshat::unicode::Normalization;
fn main() {
let s1 = "Å";
println!("{:?}", s1.to_nfd()); // Will prints "A\u{30a}"
let s2 = "㌀";
println!("{}", s2.to_nfkd()); // Will prints アパート
let s3 = "e\u{0301}";
println!("{}", s3.to_nfc()); // Will prints é
let s4 = "アイウエオ";
assert_eq!("アイウエオ", s4.to_nfkc());
}
属性
use seshat::unicode::Ucd;
fn main() {
let c = 'ʹ'; // U+0374 GREEK NUMERAL SIGN
assert_eq!(c.xids(), true); // XID_Start property of the character.
}
对于枚举属性
use seshat::unicode::Ucd;
use seshat::unicode::props::Gc;
fn main() {
assert_eq!('A'.gc(), Gc::Lu);
assert_eq!('a'.gc(), Gc::Ll);
}
补丁
0.2.1 - 排除tools/
目录,发布时不应包含。
贡献
稍后添加。
许可
所有标志图像的版权归其创作者所有,未经许可不得用于本项目之外。
绘图部分(书写女神)由Frybits Inc.提供。
Seshat在MIT许可证下开发。详细信息请参阅LICENSE文件。