[Kakasi-dev 45] Re: mkkanwa の辞書登録における問題点
NOKUBI Takatsugu
knok @ daionet.gr.jp
2006年 4月 18日 (火) 15:24:17 JST
At Mon, 17 Apr 2006 17:23:51 +0900,
Tadamasa Teranishi wrote:
> よみとして適当ではないので、「ヵ」「ヶ」に関しては登録しなくて良いと
> 思います。
パッチを書いてみました。問題なさそうならコミットします。
> ただ、1文字が2文字に変換されるのはバッファオーバーフローとかの
> ことも考えないといけないので、こちらも単純に登録せず、使いたいなら
> よみは「う」「゛」あるいは「ウ」「゛」で登録するという仕様でも、
> それほど困ることはないかもしれません。
とりあえずはそうしてもらう方向の修正パッチです。
ただ、JIS X 0213:2004をみると、どうやらこれらの文字のひらがな版が新
規に追加されているようです。
http://www.itscj.ipsj.or.jp/ISO-IR/233.pdf
他にも「かきくけこ」の半濁点つきなんかが追加されています。実際のとこ
ろ使えるシステムは限られていると思うので、とりあえずは考えないでおきま
す...
--
野首 貴嗣
E-mail: knok @ daionet.gr.jp
knok @ namazu.org / knok @ debian.org
Index: dict.c
===================================================================
RCS file: /storage/cvsroot/kakasi/src/dict.c,v
retrieving revision 1.9
diff -u -r1.9 dict.c
--- dict.c 12 Mar 2003 13:46:48 -0000 1.9
+++ dict.c 18 Apr 2006 06:19:48 -0000
@@ -193,7 +193,11 @@
/* Isn't the one except for the KANA contained? A KATAKANA changes into the
HIRAGANA. */
for (q = yomi; (q[0] != '\0') && (q[1] != '\0'); q += 2) {
if (*q < 0xa1) return;
- if (*q == 0xa5) *q = 0xa4;
+ if (*q == 0xa5) {
+ *q = 0xa4;
+ if (q[1] >= 0xf4 && q[1] <= 0xf6) /* skip when input is "vu", small
"ka", small "ke" */
+ return;
+ }
if ((*q != 0xa4) &&
((q[0] != 0xa1) || (q[1] != 0xbc)) && /* Prolonged sound */
((q[0] != 0xa1) || (q[1] != 0xab)) && /* Sonant */
Kakasi-dev メーリングリストの案内