From ecc2d7e2cb7e4307312fde2535a911bbf10d1623 Mon Sep 17 00:00:00 2001 From: Choe Hwanjin Date: Fri, 4 Mar 2016 20:24:20 +0900 Subject: =?UTF-8?q?tools=EC=9D=98=20hangul=EB=8F=84=20hangul=20ic=EC=97=90?= =?UTF-8?q?=20=EC=B6=94=EA=B0=80=EB=90=9C=20option=20=EA=B8=B0=EB=8A=A5?= =?UTF-8?q?=EC=9D=84=20=EC=82=AC=EC=9A=A9=ED=95=98=EC=97=AC=20=EA=B5=AC?= =?UTF-8?q?=ED=98=84?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit strict order 옵션은 HANGUL_IC_OPTION_AUTO_REORDER을 사용하여 구현하면 된다. --- tools/hangul.c | 19 +++---------------- 1 file 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) { -- cgit v1.2.1