diff --git a/scim-wnn/src/romkan.cpp b/scim-wnn/src/romkan.cpp index bd80b08..937e3f2 100644 --- a/scim-wnn/src/romkan.cpp +++ b/scim-wnn/src/romkan.cpp @@ -103,14 +103,12 @@ mode = LATIN; buf.clear(); return(text); - break; } else if (k == 'Q') { mode = WLATIN; buf.clear(); return(text); - break; } - buf += k; + buf += s; text = text.substr(0,pos) + utf8_mbstowcs(s) + text.substr(pos); pos ++; return(eval()); @@ -173,6 +171,7 @@ i += 2; } if (buf.length()) buf = buf.substr(1); + return(text); } @@ -257,7 +256,7 @@ bool Romkan::keyEventHook(const KeyEvent &key) { if ((isprint(key.code)) && ((mode == LATIN) || (mode == WLATIN))) { - if (!(key.mask & (SCIM_KEY_AltMask | SCIM_KEY_ControlMask))) { + if ((!key.is_alt_down()) && (!key.is_control_down())) { insert(key.get_ascii_code()); return(true); } @@ -314,36 +313,6 @@ */ bool Romkan::inputEvent(const KeyEvent &key) { - // ���������б��������Ĥʤ������ɤǥ��ߥޥ��� - for(unsigned int i = 0;KanaInputTable[i].code != 0;++ i) { - if (key.code == KanaInputTable[i].code) { - WideString w; - iconvert.convert(w,String(KanaInputTable[i].kana)); - text = text.substr(0,pos) + w + text.substr(pos); - pos ++; - return(true); - } - } - if ((key.code == SCIM_KEY_voicedsound ) && (pos > 0)) { - WideString vs1,vs2; - iconvert.convert(vs1,String("���������������������������ƤȤϤҤդؤۤѤԤפڤ�")); - iconvert.convert(vs2,String("�����������������������¤ŤǤɤФӤ֤٤ܤФӤ֤٤�")); - for(unsigned int i = 0;i < vs1.length();i ++) { - if (vs1[i] == text[pos - 1]) text = text.substr(0,pos - 1) + vs2[i] + text.substr(pos); - } - return(true); - } - if ((key.code == SCIM_KEY_semivoicedsound ) && (pos > 0)) { - WideString vs1,vs2; - iconvert.convert(vs1,String("�ϤҤդؤۤФӤ֤٤�")); - iconvert.convert(vs2,String("�ѤԤפڤݤѤԤפڤ�")); - for(unsigned int i = 0;i < vs1.length();i ++) { - if (vs1[i] == text[pos - 1]) text = text.substr(0,pos - 1) + vs2[i] + text.substr(pos); - } - return(true); - } - - if (isprint(key.code) && (!key.is_alt_down()) && (!key.is_control_down())) { if (key.get_ascii_code() == ' ') return(false); insert(key.get_ascii_code()); diff --git a/scim-wnn/src/romkan_table.h b/scim-wnn/src/romkan_table.h index 7cb9b1e..d879c7a 100644 --- a/scim-wnn/src/romkan_table.h +++ b/scim-wnn/src/romkan_table.h @@ -98,6 +98,10 @@ "xo", "��", "xt", "", "xtu", "��", + "xy", "", + "xya", "��", + "xyu", "��", + "xyo", "��", "g", "", "ga", "��", "gi", "��", @@ -338,83 +342,7 @@ "Z+", "��", "Z/", "��", "Z\\", "��", - "Z ", "��" + "Z ", "��", "" }; - -struct KanaInputKey { - int code; - const char kana[6]; -}; - -const KanaInputKey KanaInputTable[] = { - {SCIM_KEY_kana_fullstop, "��"}, - {SCIM_KEY_kana_openingbracket, "��"}, - {SCIM_KEY_kana_closingbracket, "��"}, - {SCIM_KEY_kana_comma, "��"}, - {SCIM_KEY_kana_conjunctive, "��"}, - {SCIM_KEY_kana_middledot, "��"}, - {SCIM_KEY_kana_WO, "��"}, - {SCIM_KEY_kana_a, "��"}, - {SCIM_KEY_kana_i, "��"}, - {SCIM_KEY_kana_u, "��"}, - {SCIM_KEY_kana_e, "��"}, - {SCIM_KEY_kana_o, "��"}, - {SCIM_KEY_kana_ya, "��"}, - {SCIM_KEY_kana_yu, "��"}, - {SCIM_KEY_kana_yo, "��"}, - {SCIM_KEY_kana_tsu, "��"}, - {SCIM_KEY_kana_tu, "��"}, - {SCIM_KEY_prolongedsound, "��"}, - {SCIM_KEY_kana_A, "��"}, - {SCIM_KEY_kana_I, "��"}, - {SCIM_KEY_kana_U, "��"}, - {SCIM_KEY_kana_E, "��"}, - {SCIM_KEY_kana_O, "��"}, - {SCIM_KEY_kana_KA, "��"}, - {SCIM_KEY_kana_KI, "��"}, - {SCIM_KEY_kana_KU, "��"}, - {SCIM_KEY_kana_KE, "��"}, - {SCIM_KEY_kana_KO, "��"}, - {SCIM_KEY_kana_SA, "��"}, - {SCIM_KEY_kana_SHI, "��"}, - {SCIM_KEY_kana_SU, "��"}, - {SCIM_KEY_kana_SE, "��"}, - {SCIM_KEY_kana_SO, "��"}, - {SCIM_KEY_kana_TA, "��"}, - {SCIM_KEY_kana_CHI, "��"}, - {SCIM_KEY_kana_TI, "��"}, - {SCIM_KEY_kana_TSU, "��"}, - {SCIM_KEY_kana_TU, "��"}, - {SCIM_KEY_kana_TE, "��"}, - {SCIM_KEY_kana_TO, "��"}, - {SCIM_KEY_kana_NA, "��"}, - {SCIM_KEY_kana_NI, "��"}, - {SCIM_KEY_kana_NU, "��"}, - {SCIM_KEY_kana_NE, "��"}, - {SCIM_KEY_kana_NO, "��"}, - {SCIM_KEY_kana_HA, "��"}, - {SCIM_KEY_kana_HI, "��"}, - {SCIM_KEY_kana_FU, "��"}, - {SCIM_KEY_kana_HU, "��"}, - {SCIM_KEY_kana_HE, "��"}, - {SCIM_KEY_kana_HO, "��"}, - {SCIM_KEY_kana_MA, "��"}, - {SCIM_KEY_kana_MI, "��"}, - {SCIM_KEY_kana_MU, "��"}, - {SCIM_KEY_kana_ME, "��"}, - {SCIM_KEY_kana_MO, "��"}, - {SCIM_KEY_kana_YA, "��"}, - {SCIM_KEY_kana_YU, "��"}, - {SCIM_KEY_kana_YO, "��"}, - {SCIM_KEY_kana_RA, "��"}, - {SCIM_KEY_kana_RI, "��"}, - {SCIM_KEY_kana_RU, "��"}, - {SCIM_KEY_kana_RE, "��"}, - {SCIM_KEY_kana_RO, "��"}, - {SCIM_KEY_kana_WA, "��"}, - {SCIM_KEY_kana_N, "��"}, - - {0,""} -};