6 releases (3 breaking)
0.4.0 | Mar 18, 2024 |
---|---|
0.3.0 | Nov 6, 2022 |
0.2.0 | Sep 19, 2019 |
0.1.3 | Sep 18, 2017 |
0.1.0 | Jul 30, 2016 |
#400 in Text processing
Used in minno
29KB
559 lines
hangeul-rs
A lightweight Korean alphabet manipulation library for Rust. No external crates are used.
Only modern, composable Korean unicode blocks are supported (AC00
–D7AF
, 1100
–11FF
, 3130
–318F
).
[dependencies]
hangeul = "0.4.0"
Usage
extern crate hangeul;
fn main() {
// literally: pikachu transliterated
let subject = "피카츄";
// Korean marks the topic of the sentence with a post position
// particle: 이 follows consonants, and 가 follows vowels.
let post_position = match hangeul::ends_in_consonant(subject).unwrap() {
true => "이",
false => "가"
};
// -> A wild pikachu has appeared!
let sentence = format!("야생의 {}{} 나타났다!", subject, post_position);
println!("{}", sentence); // 야생의 피카츄가 나타났다!
// get_lead is an alias of get_choseong, to get the first character
// of a Hangeul syllable.
let sentence_in_choseong = sentence.chars()
.map(|c| hangeul::get_lead(&c).unwrap_or(c))
.collect::<String>();
println!("{}", sentence_in_choseong); // ㅇㅅㅇ ㅍㅋㅊㄱ ㄴㅌㄴㄷ!
}
Examples
Documentation
License
Distributed under MIT License