diff --git a/honoka/plugins/skkdic.cpp b/honoka/plugins/skkdic.cpp index 59d3600..e9f699c 100644 --- a/honoka/plugins/skkdic.cpp +++ b/honoka/plugins/skkdic.cpp @@ -145,7 +145,12 @@ String t; iconv.convert(t,text); char *p = mmapptr; + bool okuri = true; + while(p < mmapptr + mmapsize) { + if (strncmp(p,";; okuri-ari entries.",21) == 0) okuri = true; + else if (strncmp(p,";; okuri-nasi entries.",22) == 0) okuri = false; + else if ((strncmp(p,t.c_str(),t.length()) == 0) && (p[t.length()] == ' ')) { string r; for(unsigned int i = 1;p[t.length() + i] != '\n';i ++) { @@ -159,16 +164,17 @@ SKKDicEntryData e = annotationParser(l[i]); dic.data.push_back(e); } + dic.cache = true; + dic.okuri = okuri; iconv.convert(w,t); dic_data.insert(pair(w,dic)); return dic.data; - } else { - while(1) { - p ++; - if (*p == '\n') break; - } - p ++; } + while(1) { + p ++; + if (*p == '\n') break; + } + p ++; } } return d;