diff --git a/honoka/plugins/kanainput.cpp b/honoka/plugins/kanainput.cpp index dd8f4a7..b396462 100644 --- a/honoka/plugins/kanainput.cpp +++ b/honoka/plugins/kanainput.cpp @@ -123,6 +123,12 @@ KanaInput::KanaInput(ConfigPointer cfg) : PreEditor(cfg) { fakeKanaInput = cfg->read(HONOKA_CONFIG_KANAINPUT_FAKEKANA,HONOKA_DEFAULT_KANAINPUT_FAKEKANA); + iconvert.convert(vs1,String("�������������������������ĤƤȤϤҤդؤۤѤԤפڤ�")); + iconvert.convert(vs2,String("�����������������������¤ŤǤɤФӤ֤٤ܤФӤ֤٤�")); + iconvert.convert(svs1,String("�ϤҤդؤۤФӤ֤٤�")); + iconvert.convert(svs2,String("�ѤԤפڤݤѤԤפڤ�")); + f1 = "1234567890-^qwertyuiopasdfghjkl;:]zxcvbnm,./\\!\"#$%&'()~=~|QWERTYUIOP`{ASDFGHJKL+*}ZXCVBNM<>?_"; + iconvert.convert(f2,String("�̤դ������������ۤؤ��Ƥ�������ʤˤ餻���Ȥ��Ϥ����ޤΤ�줱��Ĥ����Ҥ��ߤ�ͤ����ɤ�������������������Ƥ�������ʤˤ餻���֤��Ȥ��Ϥ����ޤΤ�ܡ��פä����Ҥ��ߤ⡢������")); } @@ -182,28 +188,19 @@ } } if ((((key.get_ascii_code() == '@') && (fakeKanaInput)) || (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.get_ascii_code() == '[') && (fakeKanaInput)) || (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); + for(unsigned int i = 0;i < svs1.length();i ++) { + if (svs1[i] == text[pos - 1]) text = text.substr(0,pos - 1) + svs2[i] + text.substr(pos); } return true; } if (fakeKanaInput) { - char f1[] = "1234567890-^qwertyuiopasdfghjkl;:]zxcvbnm,./\\!\"#$%&'()~=~|QWERTYUIOP`{ASDFGHJKL+*}ZXCVBNM<>?_"; - WideString f2; - iconvert.convert(f2,String("�̤դ������������ۤؤ��Ƥ�������ʤˤ餻���Ȥ��Ϥ����ޤΤ�줱��Ĥ����Ҥ��ߤ�ͤ����ɤ�������������������Ƥ�������ʤˤ餻���֤��Ȥ��Ϥ����ޤΤ�ܡ��פä����Ҥ��ߤ⡢������")); - for(unsigned i = 0;f1[i] != 0;i ++) { + for(unsigned i = 0;i < f1.length();i ++) { if (key.get_ascii_code() == f1[i]) { text = text.substr(0,pos) + f2[i] + text.substr(pos); pos ++; diff --git a/honoka/plugins/kanainput.h b/honoka/plugins/kanainput.h index 2c99e63..6697b71 100644 --- a/honoka/plugins/kanainput.h +++ b/honoka/plugins/kanainput.h @@ -48,6 +48,12 @@ protected: bool fakeKanaInput; + WideString vs1; + WideString vs2; + WideString svs1; + WideString svs2; + String f1; + WideString f2; }; }