diff options
Diffstat (limited to 'indexing/upmendex/source/convert.c')
-rw-r--r-- | indexing/upmendex/source/convert.c | 12 |
1 files changed, 11 insertions, 1 deletions
diff --git a/indexing/upmendex/source/convert.c b/indexing/upmendex/source/convert.c index a7cae61038..2760059a06 100644 --- a/indexing/upmendex/source/convert.c +++ b/indexing/upmendex/source/convert.c @@ -43,7 +43,17 @@ void initkanatable(void) aiueo=u_xstrdup(AIUEO); for (i=0;;i++) { if (aiueo[i]==0) break; - aiueo[i]+=KATATOP-HIRATOP; /* hiragana -> katakana */ + if (aiueo[i]==0xd82c) { + i++; + if (aiueo[i]==0xdd1f) aiueo[i]+=3; /* U+1B11F -> U+1B122 */ + if (aiueo[i]==0xdd21) { + UChar ch[] = {0xd82c, 0xdc01, 0x0}; + if (is_jpn_kana(ch)) + AIUEO[i]=0xdc01; /* U+1B121 -> U+1B001 */ + } + } + else + aiueo[i]+=KATATOP-HIRATOP; /* hiragana -> katakana */ } u_strcpy(atama,akasatana); |