頻度保存(不完全)。
1 parent 407c5dd commit 7a9c4457c61bf595ff846a354256baf6ef23a772
@tamra tamra authored on 22 Nov 2004
Showing 4 changed files
View
3
■■
scim-wnn/src/scim_wnn_imengine.cpp
bool WnnInstance::process_conversion_key_event(const KeyEvent &key)
{
if (key.code == SCIM_KEY_Return) {
commit_string(wnn.getText());
wnn.updateFrequency();
m_rk.reset();
wnn.reset();
m_conversion = false;
hide_preedit_string();
key.code == SCIM_KEY_Left ? wnn.setPos(wnn.getPos() - 1) : wnn.setPos(wnn.getPos() + 1);
}
m_convList = wnn.getConversionList();
update_preedit_string(wnn.getText(),wnn.getAttributeList());
update_preedit_caret(wnn.getText().length());
return(true);
}
if (isprint(key.code)) {
commit_string(wnn.getText());
wnn.updateFrequency();
m_rk.reset();
wnn.reset();
m_conversion = false;
hide_preedit_string();
View
28
scim-wnn/src/wnnconversion.cpp
yomiList.clear();
text.clear();
attr.clear();
pos = 0;
jl_kill(wnn,0,-1);
}
 
 
/*!
char c[2048];
String y;
m_iconv.convert(y,yomiText);
strtows(ws,(unsigned char*)y.data());
bunsetu = jl_ren_conv(wnn,ws,0,-1,WNN_USE_ATO);
bunsetu = jl_fi_ren_conv(wnn,ws,0,-1,WNN_NO_USE);
bunList.resize(bunsetu);
yomiList.resize(bunsetu);
for(unsigned int i = 0;i < bunsetu;i ++) {
WideString w;
 
w_char ws[1024];
char c[2048];
int s;
bunsetu = jl_nobi_conv(wnn,pos,yomiList[pos].length() + w,-1,WNN_USE_ATO,WNN_SHO);
int h = WNN_NO_USE;
if (pos > 0) h = WNN_USE_MAE;
else if (pos < bunsetu - 1) h = WNN_USE_ATO;
bunsetu = jl_fi_nobi_conv(wnn,pos,yomiList[pos].length() + w,-1,h,WNN_SHO);
convList.kouho.clear();
bunList.clear();
bunList.resize(bunsetu);
yomiList.resize(bunsetu);
convList.count = 0;
if (p == -1) p = pos;
if ((p >= bunsetu) || (p < 0)) return(convList);
pos = p;
convList.pos = jl_zenkouho(wnn,pos,WNN_USE_ATO,WNN_UNIQ);
convList.pos = jl_zenkouho(wnn,pos,WNN_USE_ZENGO,WNN_UNIQ);
convList.count = jl_zenkouho_suu(wnn);
convList.kouho.resize(convList.count);
 
for (unsigned int i = 0;i < convList.count; i ++) {
wstostr((unsigned char*)buf,k);
m_iconv.convert(u,buf,strlen(buf));
convList.kouho[i] = u;
}
select(convList.pos);
createText();
return(convList);
 
}
*/
bool WnnConversion::select(int p)
{
if (p > convList.count) p = 0;
convList.pos = p;//jl_set_jikouho(wnn,p);
convList.pos = p;
jl_set_jikouho(wnn,p);
 
bunList.at(pos) = convList.kouho.at(p);
createText();
 
 
 
 
 
 
/*!
\fn WnnConversion::updateFrequency()
*/
void WnnConversion::updateFrequency()
{
if (bunsetu)
jl_optimize_fi(wnn,0,-1);
}
View
scim-wnn/src/wnnconversion.h
View
scim-wnn/src/wnnproto.h