Function hangeul::get_choseong

source ·
pub fn get_choseong(c: &char) -> Result<char>
Expand description

Wrapper around Choseong to get the first/lead character from a Hangeul syllable. See models::Choseong.

use hangeul::get_choseong; // get_lead
use hangeul::errors::HangeulError;
use hangeul::models::Choseong;

assert_eq!(Ok('ㄱ'), get_choseong(&'갅'));
assert_eq!(Err(HangeulError::JamoNotFound), get_choseong(&'ㅏ'));
Examples found in repository?
examples/decompose.rs (line 22)
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
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); // ㅇㅅㅇ ㅍㅋㅊㄱ ㄴㅌㄴㄷ!
}