diff options
author | Choe Hwanjin <choe.hwanjin@gmail.com> | 2016-03-04 20:24:20 +0900 |
---|---|---|
committer | Choe Hwanjin <choe.hwanjin@gmail.com> | 2016-03-05 11:19:05 +0900 |
commit | ecc2d7e2cb7e4307312fde2535a911bbf10d1623 (patch) | |
tree | abd7abae8b4546bca2e76f36c5d962661bc8c0a1 | |
parent | acf25460c6ec11259ce5044c1005a4d620c9ae4c (diff) | |
download | libhangul-ecc2d7e2cb7e4307312fde2535a911bbf10d1623.tar.gz |
tools의 hangul도 hangul ic에 추가된 option 기능을 사용하여 구현
strict order 옵션은 HANGUL_IC_OPTION_AUTO_REORDER을 사용하여
구현하면 된다.
-rw-r--r-- | tools/hangul.c | 19 |
1 files changed, 3 insertions, 16 deletions
diff --git a/tools/hangul.c b/tools/hangul.c index d2783c3..507af4e 100644 --- a/tools/hangul.c +++ b/tools/hangul.c @@ -156,21 +156,6 @@ list_keyboards() exit(EXIT_SUCCESS); } -static bool -on_hic_transition(HangulInputContext* ic, - ucschar c, const ucschar* preedit, void * data) -{ - if (hangul_is_choseong(c)) { - if (hangul_ic_has_jungseong(ic) || hangul_ic_has_jongseong(ic)) - return false; - } else if (hangul_is_jungseong(c)) { - if (hangul_ic_has_jongseong(ic)) - return false; - } - - return true; -} - size_t ucschar_strlen(const ucschar* str) { const ucschar* p = str; @@ -379,7 +364,9 @@ main(int argc, char *argv[]) ic = hangul_ic_new(keyboard); if (strict_order) { - hangul_ic_connect_callback(ic, "transition", on_hic_transition, NULL); + hangul_ic_set_option(ic, HANGUL_IC_OPTION_AUTO_REORDER, false); + } else { + hangul_ic_set_option(ic, HANGUL_IC_OPTION_AUTO_REORDER, true); } if (input_string != NULL) { |