Crates.io | hfs_nfd |
lib.rs | hfs_nfd |
version | 2.0.0 |
source | src |
created_at | 2020-08-10 15:07:24.658119 |
updated_at | 2021-08-28 14:03:39.120736 |
description | Handle Apple's unique NFD-like Unicode normalization, which is used in HFS+, in Rust. |
homepage | |
repository | https://github.com/tats-u/rust-hfs-nfd/ |
max_upload_size | |
id | 275064 |
size | 272,775 |
HFS+, the file system formerly used in Apple macOS, uses a unique Unicode normalization similar to NFD.
This library composes or decomposes Unicode code points according to the normalization. e.g.
U+00E9
] de Paris (Common) ⇔ Université[U+0065 U+0301
] de Paris (HFS+)U+30D7
]ル (Common) ⇔ アップ[U+30D5 U+309A
]ル (HFS+)Add this library hfs_nfd
to your Cargo.toml
.
[dependencies]
another_library1 = "<version>"
another_library2 = "<version>"
# *snip*
hfs_nfd = "2.0.0" # <= Here
# *snip*
Then, use these functions:
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());