Crate hangeul [] [src]

Korean alphabet manipulation library for Rust.

It is lightweight, without any unicode libraries.

View on GitHub

[dependencies]
hangeul = { git = "https://github.com/bekker/hangeul-rs.git" }

Usage

extern crate hangeul;

fn main() {
    let subjective = "피카츄";
    let sub_josa = match hangeul::ends_with_jongseong(subjective).unwrap() {
        true => "이",
        false => "가"
    };
    let sentence = format!("야생의 {}{} 나타났다!", subjective, sub_josa);
    println!("{}", sentence); // 야생의 피카츄가 나타났다!
    print_choseong(&sentence); // ㅇㅅㅇ ㅍㅋㅊㄱ ㄴㅌㄴㄷ!
}

fn print_choseong(s:&str) {
    for c in s.chars() {
        print!("{}", hangeul::get_choseong(c).unwrap_or(c));
    }
    print!("\n");
}

Why not 'Hangul'?

'Hangul' is from old romanization system - McCune–Reischauer system.

'Hangeul' is official in South Korea, since 2000

License

Distributed under MIT License

Enums

HangeulError

Functions

ends_with_jongseong

Check if the end syllable of the string has jongseong (bottom)

get_choseong

Get choseong (top) of the syllable as compatible jamo

get_jongseong

Get jongseong (bottom) of the syllable as compatible jamo

get_jungseong

Get jungseong (middle) of the syllable as compatible jamo

has_jongseong

Check if the syllable has jongseong (bottom)

is_choseong

Check if the char is compatible jamo which can be a choseong (top)

is_jaeum

Check if the char is compatible jaeum

is_jamo

Check if the char is compatible jamo

is_jongseong

Check if the char is compatible jamo which can be a jongseong (bottom)

is_syllable

Check if the syllable is correct Hangeul syllable