--- lib/Canna.c.orig 2002-10-03 18:35:27.000000000 +0900 +++ lib/Canna.c 2007-10-17 07:58:25.000000000 +0900 @@ -61,6 +61,8 @@ #include "CannaP.h" #include "DebugPrint.h" +#define CANNA_WCHAR16 +#define CANNA_NEW_WCHAR_AWARE #define _WCHAR_T /* この定義は jrkanji.h で wcKanjiStatus などを定義するため */ #define wchar_t wchar @@ -246,9 +248,9 @@ kanabuf[0] = '\0'; nbytes = XKanaLookup(event, kanabuf, 20, &ks, &compose_status); - buf[0] = (wchar)kanabuf[0]; /* きたない */ + buf[0] = (wchar)(unsigned char)kanabuf[0]; /* きたない */ - if (ks == XK_space && (event->xkey.state & ShiftMask)) { + if (ks == XK_space && ((event->xkey.state & ShiftMask) || (event->xkey.state & Mod2Mask))) { void convend(); convend(obj); @@ -271,7 +273,7 @@ /* かな漢字変換する */ len = wcKanjiString((int)obj, (int)buf[0], - (wchar_t *)buf, 1024, &kanji_status); + (wchar *)buf, 1024, &kanji_status); displayPreEdit(obj, len, buf, &kanji_status); return (kanji_status.info & KanjiThroughInfo) ? 1 : 0; @@ -642,7 +644,9 @@ CannaObject obj; { char **warn = 0; +#ifndef CANNA_JR_BEEP_FUNC_DECLARED extern (*jrBeepFunc)(); +#endif if (nCannaContexts == 0) { #ifdef KC_SETSERVERNAME