#unicode-normalization #normalization #unicode #apple #handle #hfs

hfs_nfd

在 Rust 中处理苹果独特类似 NFD 的 Unicode 正规化,该正规化用于 HFS+

5 个版本 (3 个稳定版)

2.0.0 2021 年 8 月 28 日
1.1.0 2020 年 9 月 22 日
1.0.0 2020 年 8 月 11 日
0.1.1 2020 年 8 月 10 日
0.1.0 2020 年 8 月 10 日

#824 in 文本处理


2 个 Crates 中使用 (通过 zifu_core)

MIT 许可证

270KB
3K SLoC

Rust 的 Apple HFS+ NFD-like Unicode 正规化库

CI (master) CI (Release) hfs_nfd at crates.io hfs_nfd at docs.rs

HFS+,以前在 Apple macOS 中使用的文件系统,使用类似于 NFD 的独特 Unicode 正规化。

该库根据正规化组合或分解 Unicode 代码点。例如。

  • Université[U+00E9] de Paris (通用) ⇔ Université[U+0065 U+0301] de Paris (HFS+)
  • アップ[U+30D7]ル (通用) ⇔ アップ[U+30D5 U+309A]ル (HFS+)

如何使用

将此库 hfs_nfd 添加到您的 Cargo.toml

[dependencies]
another_library1 = "<version>"
another_library2 = "<version>"
# *snip*
hfs_nfd = "2.0.0" # <= Here
# *snip*

然后,使用这些函数

use hfs_nfd::{compose_from_hfs_nfd,decompose_into_hfs_nfd};

assert_eq!(decompose_into_hfs_nfd("Universit\u{00E9}"), "Universite\u{0301}".to_string());
assert_eq!(compose_from_hfs_nfd("アッフ\u{309A}"), "アッ\{30D7}ル".to_string());

依赖项

~0.5–1MB
~23K SLoC