diff --git a/honoka/plugins/anthyconversion.cpp b/honoka/plugins/anthyconversion.cpp index a0a24ae..c5533d6 100644 --- a/honoka/plugins/anthyconversion.cpp +++ b/honoka/plugins/anthyconversion.cpp @@ -69,6 +69,17 @@ } int AnthyConversion::ren_conversion() { + /* + WideString yt; + for(int i = 0;i < yomiText.length();i ++) { + if (yomiText[i] == 0x30F4) { + yt.push_back(0x30A6); + yt.push_back(0x309B); + } + else yt.push_back(yomiText[i]); + } + yomiText = yt; + */ String y; anthy_reset_context(context); m_iconv.convert(y,yomiText); @@ -149,8 +160,8 @@ struct anthy_segment_stat sstat; anthy_get_segment_stat(context,i,&sstat); //l.count = sstat.nr_candidate; - l.Yomi = yomiText.substr(slen,sstat.seg_len); - slen += sstat.seg_len; + //l.Yomi = yomiText.substr(slen,sstat.seg_len); + //slen += sstat.seg_len; l.pos = 0; for(int j = 0;j < sstat.nr_candidate;j ++) { char res[256]; @@ -160,6 +171,10 @@ WideString w; m_iconv.convert(w,String(res)); l.kouho.push_back(w); + if ((w == yomiText.substr(slen,w.length())) && (!l.Yomi.length())) { + l.Yomi = w; + slen += w.length(); + } } convResult.push_back(l); }