2 releases (1 stable)
1.0.0 | Mar 25, 2021 |
---|---|
0.1.0 | May 16, 2020 |
#1071 in Text processing
17KB
284 lines
esperanto-text
Convert Esperanto text between UTF-8, x-system and h-system transliterations.
True Esperanto text has various diacritics that can be properly represented in UTF-8. Those who are limited to ASCII or are unable to type these characters often resort to the "h-system" or "x-system". In these, a suffix is added to those letters which should have a diacritic.
This crate provides functions for converting a string between a transliteration and UTF-8. For the x-system this can be done with complete accuracy as there is no ambiguity. For the h-system, a small vocabulary list is used to avoid changing the meaning of real words.
A binary called eotext
is included to use these functions from a CLI.
Usage
To use the published crate in your Rust program add the following to
Cargo.toml
:
esperanto-text = "1"
If you have cloned the repo and want to run the eotext
program you must have
a Rust toolchain installed. The recommended way to do is is via
Rustup. Run the following command:
cargo build --release --bin eotext
The built binary will be located at target/release/eotext
.
Example: UTF-8 to x-system
let input = "eĥoŝanĝo ĉiuĵaŭde";
assert_eq!(
esperanto_text::utf8_to_x_system(input),
"ehxosxangxo cxiujxauxde".to_owned(),
);
Example: h-system to UTF-8
let input = "Chiuj estas senchavaj kaj taugaj ideoj.";
assert_eq!(
esperanto_text::h_system_to_utf8(input),
"Ĉiuj estas senchavaj kaj taŭgaj ideoj.".to_owned(),
);
Licence
Made available under the MIT licence. See LICENCE
for details.
Dependencies
~1MB
~15K SLoC