diff --git a/src/add-ons/input_server/methods/canna/canna/RK.h b/src/add-ons/input_server/methods/canna/canna/RK.h new file mode 100644 index 0000000000..8ea3c47f68 --- /dev/null +++ b/src/add-ons/input_server/methods/canna/canna/RK.h @@ -0,0 +1,270 @@ +/* Copyright 1993 NEC Corporation, Tokyo, Japan. + * + * Permission to use, copy, modify, distribute and sell this software + * and its documentation for any purpose is hereby granted without + * fee, provided that the above copyright notice appear in all copies + * and that both that copyright notice and this permission notice + * appear in supporting documentation, and that the name of NEC + * Corporation not be used in advertising or publicity pertaining to + * distribution of the software without specific, written prior + * permission. NEC Corporation makes no representations about the + * suitability of this software for any purpose. It is provided "as + * is" without express or implied warranty. + * + * NEC CORPORATION DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE, + * INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS, IN + * NO EVENT SHALL NEC CORPORATION BE LIABLE FOR ANY SPECIAL, INDIRECT OR + * CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF + * USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR + * OTHER TORTUOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR + * PERFORMANCE OF THIS SOFTWARE. + */ + +/* $Id: RK.h,v 1.1 2004/12/23 22:08:39 korli Exp $ */ + +/************************************************************************/ +/* THIS SOURCE CODE IS MODIFIED FOR TKO BY T.MURAI 1997 +/************************************************************************/ + +#ifndef _RK_h +#define _RK_h + +typedef struct { + int ylen; /* yomigana no nagasa (in byte) */ + int klen; /* kanji no nagasa (in byte) */ + int rownum; /* row number */ + int colnum; /* column number */ + int dicnum; /* dic number */ +}RkLex; + +typedef struct { + int bunnum; /* bunsetsu bangou */ + int candnum; /* kouho bangou */ + int maxcand; /* sou kouho suu */ + int diccand; /* jisho ni aru kouho suu */ + int ylen; /* yomigana no nagasa (in byte) */ + int klen; /* kanji no nagasa (in byte) */ + int tlen; /* tango no kosuu */ +} RkStat; + +struct DicInfo { + unsigned char *di_dic; + unsigned char *di_file; + int di_kind; + int di_form; + unsigned di_count; + int di_mode; + long di_time; +}; + +/* romaji/kanakanji henkan code */ +const unsigned long RK_XFERBITS = 4; /* bit-field width */ +#define RK_XFERMASK ((1< +#include +#include +#include "widedef.h" +/* どのような情報があるかを示すフラグ */ + +#define KanjiModeInfo 0x1 +#define KanjiGLineInfo 0x2 +#define KanjiYomiInfo 0x4 +#define KanjiThroughInfo 0x8 +#define KanjiEmptyInfo 0x10 + +#define KanjiExtendInfo 0x20 +#define KanjiKigoInfo 0x40 +#define KanjiRussianInfo 0x80 +#define KanjiGreekInfo 0x100 +#define KanjiLineInfo 0x200 + +#define KanjiAttributeInfo 0x400 +#define KanjiSpecialFuncInfo 0x800 + +/* KanjiControl 関係 */ + +#define KC_INITIALIZE 0 +#define KC_FINALIZE 1 +#define KC_CHANGEMODE 2 +#define KC_SETWIDTH 3 +#define KC_SETUNDEFKEYFUNCTION 4 +#define KC_SETBUNSETSUKUGIRI 5 +#define KC_SETMODEINFOSTYLE 6 +#define KC_SETHEXINPUTSTYLE 7 +#define KC_INHIBITHANKAKUKANA 8 +#define KC_DEFINEKANJI 9 +#define KC_KAKUTEI 10 +#define KC_KILL 11 +#define KC_MODEKEYS 12 +#define KC_QUERYMODE 13 +#define KC_QUERYCONNECTION 14 +#define KC_SETSERVERNAME 15 +#define KC_PARSE 16 +#define KC_YOMIINFO 17 +#define KC_STOREYOMI 18 +#define KC_SETINITFILENAME 19 +#define KC_DO 20 +#define KC_GETCONTEXT 21 +#define KC_CLOSEUICONTEXT 22 +#define KC_INHIBITCHANGEMODE 23 +#define KC_LETTERRESTRICTION 24 +#define KC_QUERYMAXMODESTR 25 +#define KC_SETLISTCALLBACK 26 +#define KC_SETVERBOSE 27 +#define KC_LISPINTERACTION 28 +#define KC_DISCONNECTSERVER 29 +#define KC_SETAPPNAME 30 +#define KC_DEBUGMODE 31 +#define KC_DEBUGYOMI 32 +#define KC_KEYCONVCALLBACK 33 +#define KC_QUERYPHONO 34 +#define KC_CHANGESERVER 35 +#define KC_SETUSERINFO 36 +#define KC_QUERYCUSTOM 37 +#define KC_CLOSEALLCONTEXT 38 +#define KC_ATTRIBUTEINFO 39 + +#define MAX_KC_REQUEST (KC_ATTRIBUTEINFO + 1) + +#define kc_normal 0 +#define kc_through 1 +#define kc_kakutei 2 +#define kc_kill 3 + +#define CANNA_NOTHING_RESTRICTED 0 +#define CANNA_ONLY_ASCII 1 +#define CANNA_ONLY_ALPHANUM 2 +#define CANNA_ONLY_HEX 3 +#define CANNA_ONLY_NUMERIC 4 +#define CANNA_NOTHING_ALLOWED 5 + +#ifdef IROHA_BC +#define IROHA_NOTHING_RESTRICTED CANNA_NOTHING_RESTRICTED +#define IROHA_ONLY_ASCII CANNA_ONLY_ASCII +#define IROHA_ONLY_ALPHANUM CANNA_ONLY_ALPHANUM +#define IROHA_ONLY_HEX CANNA_ONLY_HEX +#define IROHA_ONLY_NUMERIC CANNA_ONLY_NUMERIC +#define IROHA_NOTHING_ALLOWED CANNA_NOTHING_ALLOWED +#endif + +#define CANNA_ATTR_INPUT ((char)'.') +#define CANNA_ATTR_TARGET_CONVERTED ((char)'O') +#define CANNA_ATTR_CONVERTED ((char)'_') +#define CANNA_ATTR_TARGET_NOTCONVERTED ((char)'x') +#define CANNA_ATTR_INPUT_ERROR ((char)'E') + +#define CANNA_MAXAPPNAME 256 + +typedef struct { + unsigned char *echoStr; /* local echo string */ + int length; /* length of echo string */ + int revPos; /* reverse position */ + int revLen; /* reverse length */ + unsigned long info; /* その他の情報 */ + unsigned char *mode; /* モード情報 */ + struct { + unsigned char *line; + int length; + int revPos; + int revLen; + } gline; /* 一覧表示のための情報 */ +} jrKanjiStatus; + +typedef struct { + int val; + unsigned char *buffer; + int bytes_buffer; + jrKanjiStatus *ks; +} jrKanjiStatusWithValue; + +typedef struct { + char *uname; /* ユーザ名 */ + char *gname; /* グループ名 */ + char *srvname; /* サーバ名 */ + char *topdir; /* インストールディレクトリ */ + char *cannafile; /* カスタマイズファイル名 */ + char *romkanatable; /* ローマ字かな変換テーブル名 */ + char *appname; /* アプリケーション名 */ +} jrUserInfoStruct; + +typedef struct { + char *codeinput; /* コード種別 */ + int quicklyescape; /* 記号連続入力 flag */ + int indexhankaku; /* ガイドラインのインデックス指定 */ + int indexseparator; /* ガイドラインのインデックス指定 */ + int selectdirect; /* 数字キーによる選択 flag */ + int numericalkeysel; /* 数字キーによる候補選択指定 */ + int kouhocount; /* 候補数表示 */ +} jrCInfoStruct; + +#ifdef _WCHAR_T + +typedef struct { + WCHAR_T *echoStr; /* local echo string */ + int length; /* length of echo string */ + int revPos; /* reverse position */ + int revLen; /* reverse length */ + unsigned long info; /* その他の情報 */ + WCHAR_T *mode; /* モード情報 */ + struct { + WCHAR_T *line; + int length; + int revPos; + int revLen; + } gline; /* 一覧表示のための情報 */ +} wcKanjiStatus; + +typedef struct { + int val; + WCHAR_T *buffer; + int n_buffer; + wcKanjiStatus *ks; +} wcKanjiStatusWithValue; + +typedef struct { + char *client_data; + int (*callback_func) (char *, int, WCHAR_T **, int, int *); +} jrListCallbackStruct; + +typedef struct { + char *attr; + long caretpos; +} wcKanjiAttribute; + +#define listCallbackStruct jrListCallbackStruct + +#define CANNA_LIST_Start 0 +#define CANNA_LIST_Select 1 +#define CANNA_LIST_Quit 2 +#define CANNA_LIST_Forward 3 +#define CANNA_LIST_Backward 4 +#define CANNA_LIST_Next 5 +#define CANNA_LIST_Prev 6 +#define CANNA_LIST_BeginningOfLine 7 +#define CANNA_LIST_EndOfLine 8 +#define CANNA_LIST_Query 9 +#define CANNA_LIST_Bango 10 +#define CANNA_LIST_PageUp 11 +#define CANNA_LIST_PageDown 12 +#define CANNA_LIST_Convert 13 +#define CANNA_LIST_Insert 14 + +#endif /* _WCHAR_T */ + +#define CANNA_NO_VERBOSE 0 +#define CANNA_HALF_VERBOSE 1 +#define CANNA_FULL_VERBOSE 2 + +#define CANNA_CTERMINAL 0 +#define CANNA_XTERMINAL 1 + +#ifdef __cplusplus +extern "C" { +extern char *jrKanjiError; +} +#else +extern char *jrKanjiError; +#endif + +#define wcBeepFunc jrBeepFunc + +#ifdef __cplusplus +extern "C" { +#endif + +canna_export int jrKanjiString (const int, const int, char *, const int, jrKanjiStatus *); +canna_export int jrKanjiControl (const int, const int, char *); +canna_export int kanjiInitialize (char ***); +canna_export int kanjiFinalize (char ***); +canna_export int createKanjiContext (void); +canna_export int jrCloseKanjiContext (const int, jrKanjiStatusWithValue *); +canna_export void setBasePath(const char *path); +#ifdef _WCHAR_T +canna_export int wcKanjiString (const int, const int, WCHAR_T *, const int, wcKanjiStatus *); +canna_export int wcKanjiControl (const int, const int, char *); +canna_export int wcCloseKanjiContext (const int, wcKanjiStatusWithValue *); +#endif /* _WCHAR_T */ + +#ifdef __cplusplus +} +#endif + +#endif /* _JR_KANJI_H_ */ + diff --git a/src/add-ons/input_server/methods/canna/canna/keydef.h b/src/add-ons/input_server/methods/canna/canna/keydef.h new file mode 100644 index 0000000000..0b79367f5a --- /dev/null +++ b/src/add-ons/input_server/methods/canna/canna/keydef.h @@ -0,0 +1,218 @@ +/* Copyright 1992 NEC Corporation, Tokyo, Japan. + * + * Permission to use, copy, modify, distribute and sell this software + * and its documentation for any purpose is hereby granted without + * fee, provided that the above copyright notice appear in all copies + * and that both that copyright notice and this permission notice + * appear in supporting documentation, and that the name of NEC + * Corporation not be used in advertising or publicity pertaining to + * distribution of the software without specific, written prior + * permission. NEC Corporation makes no representations about the + * suitability of this software for any purpose. It is provided "as + * is" without express or implied warranty. + * + * NEC CORPORATION DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE, + * INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS, IN + * NO EVENT SHALL NEC CORPORATION BE LIABLE FOR ANY SPECIAL, INDIRECT OR + * CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF + * USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR + * OTHER TORTUOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR + * PERFORMANCE OF THIS SOFTWARE. + */ + +/* @(#) 102.1 $Id: keydef.h,v 1.1 2004/12/23 22:08:39 korli Exp $ */ +/* normal function keys */ + +#define CANNA_KEY_Nfer 0x80 +#define CANNA_KEY_Xfer 0x81 +#define CANNA_KEY_Up 0x82 +#define CANNA_KEY_Left 0x83 +#define CANNA_KEY_Right 0x84 +#define CANNA_KEY_Down 0x85 +#define CANNA_KEY_Insert 0x86 +#define CANNA_KEY_Rollup 0x87 +#define CANNA_KEY_PageDown CANNA_KEY_Rollup +#define CANNA_KEY_Rolldown 0x88 +#define CANNA_KEY_PageUp CANNA_KEY_Rolldown +#define CANNA_KEY_Home 0x89 +#define CANNA_KEY_Help 0x8a +#define CANNA_KEY_KP_Key 0x8b /* どういう意味で入れたんだっけ? */ +#define CANNA_KEY_End 0x8c + +/* shifted function keys */ + +#define CANNA_KEY_Shift_Nfer 0x90 +#define CANNA_KEY_Shift_Xfer 0x91 +#define CANNA_KEY_Shift_Up 0x92 +#define CANNA_KEY_Shift_Left 0x93 +#define CANNA_KEY_Shift_Right 0x94 +#define CANNA_KEY_Shift_Down 0x95 + +/* control-shifted function keys */ + +#define CANNA_KEY_Cntrl_Nfer 0x96 +#define CANNA_KEY_Cntrl_Xfer 0x97 +#define CANNA_KEY_Cntrl_Up 0x98 +#define CANNA_KEY_Cntrl_Left 0x99 +#define CANNA_KEY_Cntrl_Right 0x9a +#define CANNA_KEY_Cntrl_Down 0x9b + +/* The followings should have special translation rule */ +#define CANNA_KEY_KP_Separator 0x9c +#define CANNA_KEY_KP_Decimal 0x9d +#define CANNA_KEY_KP_Divide 0x9e +#define CANNA_KEY_KP_Subtract 0x9f +#define CANNA_KEY_Shift_Space 0xa0 + +/* application keypad mode keys */ + +#ifdef DoNotConflictWithKatakanaKeys + +/* 以下のキーはカタカナ文字とぶつかってしまうため使えない。*/ + +#define CANNA_KEY_KP_Up 0xc0 /* \eOA */ +#define CANNA_KEY_KP_Left 0xc1 /* \eOB */ +#define CANNA_KEY_KP_Right 0xc2 /* \eOC */ +#define CANNA_KEY_KP_Down 0xc3 /* \eOD */ +#define CANNA_KEY_KP_Tab 0xc4 /* \eOI */ +#define CANNA_KEY_KP_Enter 0xc5 /* \eOM */ +#define CANNA_KEY_KP_Equal 0xc6 /* \eOX */ +#define CANNA_KEY_KP_Multiply 0xc7 /* \eOj */ +#define CANNA_KEY_KP_Add 0xc8 /* \eOk */ +#define CANNA_KEY_KP_Separator 0xc9 /* \eOl */ +#define CANNA_KEY_KP_Subtract 0xca /* \eOm */ +#define CANNA_KEY_KP_Decimal 0xcb /* \eOn */ +#define CANNA_KEY_KP_Divide 0xcc /* \eOo */ +#define CANNA_KEY_KP_0 0xd0 /* \eOp */ +#define CANNA_KEY_KP_1 0xd1 /* \eOq */ +#define CANNA_KEY_KP_2 0xd2 /* \eOr */ +#define CANNA_KEY_KP_3 0xd3 /* \eOs */ +#define CANNA_KEY_KP_4 0xd4 /* \eOt */ +#define CANNA_KEY_KP_5 0xd5 /* \eOu */ +#define CANNA_KEY_KP_6 0xd6 /* \eOv */ +#define CANNA_KEY_KP_7 0xd7 /* \eOw */ +#define CANNA_KEY_KP_8 0xd8 /* \eOx */ +#define CANNA_KEY_KP_9 0xd9 /* \eOy */ + +#endif + +/* numeral-function keys */ + +#define CANNA_KEY_F1 0xe0 +#define CANNA_KEY_F2 0xe1 +#define CANNA_KEY_F3 0xe2 +#define CANNA_KEY_F4 0xe3 +#define CANNA_KEY_F5 0xe4 +#define CANNA_KEY_F6 0xe5 +#define CANNA_KEY_F7 0xe6 +#define CANNA_KEY_F8 0xe7 +#define CANNA_KEY_F9 0xe8 +#define CANNA_KEY_F10 0xe9 +#define CANNA_KEY_PF1 0xf0 +#define CANNA_KEY_PF2 0xf1 +#define CANNA_KEY_PF3 0xf2 +#define CANNA_KEY_PF4 0xf3 +#define CANNA_KEY_PF5 0xf4 +#define CANNA_KEY_PF6 0xf5 +#define CANNA_KEY_PF7 0xf6 +#define CANNA_KEY_PF8 0xf7 +#define CANNA_KEY_PF9 0xf8 +#define CANNA_KEY_PF10 0xf9 + +#define CANNA_KEY_HIRAGANA 0xfa +#define CANNA_KEY_KATAKANA 0xfb +#define CANNA_KEY_HANKAKUZENKAKU 0xfc +#define CANNA_KEY_EISU 0xfd + +#define CANNA_KEY_Undefine 0xff + +#ifdef IROHA_BC + +#define IROHA_KEY_Nfer CANNA_KEY_Nfer +#define IROHA_KEY_Xfer CANNA_KEY_Xfer +#define IROHA_KEY_Up CANNA_KEY_Up +#define IROHA_KEY_Left CANNA_KEY_Left +#define IROHA_KEY_Right CANNA_KEY_Right +#define IROHA_KEY_Down CANNA_KEY_Down +#define IROHA_KEY_Insert CANNA_KEY_Insert +#define IROHA_KEY_Rollup CANNA_KEY_Rollup +#define IROHA_KEY_Rolldown CANNA_KEY_Rolldown +#define IROHA_KEY_Home CANNA_KEY_Home +#define IROHA_KEY_Help CANNA_KEY_Help +#define IROHA_KEY_KP_Key CANNA_KEY_KP_Key + +/* shifted function keys */ + +#define IROHA_KEY_Shift_Nfer CANNA_KEY_Shift_Nfer +#define IROHA_KEY_Shift_Xfer CANNA_KEY_Shift_Xfer +#define IROHA_KEY_Shift_Up CANNA_KEY_Shift_Up +#define IROHA_KEY_Shift_Left CANNA_KEY_Shift_Left +#define IROHA_KEY_Shift_Right CANNA_KEY_Shift_Right +#define IROHA_KEY_Shift_Down CANNA_KEY_Shift_Down + +/* control-shifted function keys */ + +#define IROHA_KEY_Cntrl_Nfer CANNA_KEY_Cntrl_Nfer +#define IROHA_KEY_Cntrl_Xfer CANNA_KEY_Cntrl_Xfer +#define IROHA_KEY_Cntrl_Up CANNA_KEY_Cntrl_Up +#define IROHA_KEY_Cntrl_Left CANNA_KEY_Cntrl_Left +#define IROHA_KEY_Cntrl_Right CANNA_KEY_Cntrl_Right +#define IROHA_KEY_Cntrl_Down CANNA_KEY_Cntrl_Down + +/* application keypad mode keys */ + +#ifdef DoNotConflictWithKatakanaKeys + +/* 以下のキーはカタカナ文字とぶつかってしまうため使えない。*/ + +#define IROHA_KEY_KP_Up CANNA_KEY_KP_Up +#define IROHA_KEY_KP_Left CANNA_KEY_KP_Left +#define IROHA_KEY_KP_Right CANNA_KEY_KP_Right +#define IROHA_KEY_KP_Down CANNA_KEY_KP_Down +#define IROHA_KEY_KP_Tab CANNA_KEY_KP_Tab +#define IROHA_KEY_KP_Enter CANNA_KEY_KP_Enter +#define IROHA_KEY_KP_Equal CANNA_KEY_KP_Equal +#define IROHA_KEY_KP_Multiply CANNA_KEY_KP_Multiply +#define IROHA_KEY_KP_Add CANNA_KEY_KP_Add +#define IROHA_KEY_KP_Separator CANNA_KEY_KP_Separator +#define IROHA_KEY_KP_Subtract CANNA_KEY_KP_Subtract +#define IROHA_KEY_KP_Decimal CANNA_KEY_KP_Decimal +#define IROHA_KEY_KP_Divide CANNA_KEY_KP_Divide +#define IROHA_KEY_KP_0 CANNA_KEY_KP_0 +#define IROHA_KEY_KP_1 CANNA_KEY_KP_1 +#define IROHA_KEY_KP_2 CANNA_KEY_KP_2 +#define IROHA_KEY_KP_3 CANNA_KEY_KP_3 +#define IROHA_KEY_KP_4 CANNA_KEY_KP_4 +#define IROHA_KEY_KP_5 CANNA_KEY_KP_5 +#define IROHA_KEY_KP_6 CANNA_KEY_KP_6 +#define IROHA_KEY_KP_7 CANNA_KEY_KP_7 +#define IROHA_KEY_KP_8 CANNA_KEY_KP_8 +#define IROHA_KEY_KP_9 CANNA_KEY_KP_9 + +#endif + +/* numeral-function keys */ + +#define IROHA_KEY_F1 CANNA_KEY_F1 +#define IROHA_KEY_F2 CANNA_KEY_F2 +#define IROHA_KEY_F3 CANNA_KEY_F3 +#define IROHA_KEY_F4 CANNA_KEY_F4 +#define IROHA_KEY_F5 CANNA_KEY_F5 +#define IROHA_KEY_F6 CANNA_KEY_F6 +#define IROHA_KEY_F7 CANNA_KEY_F7 +#define IROHA_KEY_F8 CANNA_KEY_F8 +#define IROHA_KEY_F9 CANNA_KEY_F9 +#define IROHA_KEY_F10 CANNA_KEY_F10 +#define IROHA_KEY_PF1 CANNA_KEY_PF1 +#define IROHA_KEY_PF2 CANNA_KEY_PF2 +#define IROHA_KEY_PF3 CANNA_KEY_PF3 +#define IROHA_KEY_PF4 CANNA_KEY_PF4 +#define IROHA_KEY_PF5 CANNA_KEY_PF5 +#define IROHA_KEY_PF6 CANNA_KEY_PF6 +#define IROHA_KEY_PF7 CANNA_KEY_PF7 +#define IROHA_KEY_PF8 CANNA_KEY_PF8 +#define IROHA_KEY_PF9 CANNA_KEY_PF9 +#define IROHA_KEY_PF10 CANNA_KEY_PF10 +#define IROHA_KEY_Undefine CANNA_KEY_Undefine + +#endif /* IROHA_BC */ diff --git a/src/add-ons/input_server/methods/canna/canna/mfdef.h b/src/add-ons/input_server/methods/canna/canna/mfdef.h new file mode 100644 index 0000000000..c54858fb71 --- /dev/null +++ b/src/add-ons/input_server/methods/canna/canna/mfdef.h @@ -0,0 +1,359 @@ +/* Copyright 1992 NEC Corporation, Tokyo, Japan. + * + * Permission to use, copy, modify, distribute and sell this software + * and its documentation for any purpose is hereby granted without + * fee, provided that the above copyright notice appear in all copies + * and that both that copyright notice and this permission notice + * appear in supporting documentation, and that the name of NEC + * Corporation not be used in advertising or publicity pertaining to + * distribution of the software without specific, written prior + * permission. NEC Corporation makes no representations about the + * suitability of this software for any purpose. It is provided "as + * is" without express or implied warranty. + * + * NEC CORPORATION DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE, + * INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS, IN + * NO EVENT SHALL NEC CORPORATION BE LIABLE FOR ANY SPECIAL, INDIRECT OR + * CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF + * USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR + * OTHER TORTUOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR + * PERFORMANCE OF THIS SOFTWARE. + */ + +#ifndef _MFDEF_H_ +#define _MFDEF_H_ + +/* @(#) 102.1 $Id: mfdef.h,v 1.1 2004/12/23 22:08:39 korli Exp $ */ + +/* + このヘッダファイルではモードに割り振られた番号や、関数に割り振られた + 番号を管理する。 + + */ + +/* モード */ + +/* real modes */ +/* 実モード(real mode)はキーマップの実体を持っているモード */ + +#define CANNA_MODE_AlphaMode 0 /* アルファベットモード */ +#define CANNA_MODE_EmptyMode 1 /* 読み入力がない状態 */ +#define CANNA_MODE_KigoMode 2 /* 記号一覧表示状態 */ +#define CANNA_MODE_YomiMode 3 /* 読み入力している状態 */ +#define CANNA_MODE_JishuMode 4 /* 文字種変換している状態 */ +#define CANNA_MODE_TankouhoMode 5 /* 単一候補表示状態 */ +#define CANNA_MODE_IchiranMode 6 /* 候補一覧表示状態 */ +#define CANNA_MODE_YesNoMode 7 /* 単語登録の例文表示状態 */ +#define CANNA_MODE_OnOffMode 8 /* 単語登録の例文表示状態 */ +#define CANNA_MODE_AdjustBunsetsuMode 9 /* 文節伸縮モード */ +#define CANNA_MODE_ChikujiYomiMode 10 /* 逐次変換モードの読み部分 */ +#define CANNA_MODE_ChikujiTanMode 11 /* 逐次変換モードの候補部分 */ + +#define CANNA_MODE_MAX_REAL_MODE (CANNA_MODE_ChikujiTanMode + 1) + +/* imaginary modes */ +/* 虚モード(imaginary mode)はキーマップの実体を持っていないモード */ + +#define CANNA_MODE_HenkanMode CANNA_MODE_EmptyMode +#define CANNA_MODE_HenkanNyuryokuMode 12 + +#define CANNA_MODE_ZenHiraHenkanMode 13 +#define CANNA_MODE_HanHiraHenkanMode 14 +#define CANNA_MODE_ZenKataHenkanMode 15 +#define CANNA_MODE_HanKataHenkanMode 16 +#define CANNA_MODE_ZenAlphaHenkanMode 17 +#define CANNA_MODE_HanAlphaHenkanMode 18 + +#define CANNA_MODE_ZenHiraKakuteiMode 19 +#define CANNA_MODE_HanHiraKakuteiMode 20 +#define CANNA_MODE_ZenKataKakuteiMode 21 +#define CANNA_MODE_HanKataKakuteiMode 22 +#define CANNA_MODE_ZenAlphaKakuteiMode 23 +#define CANNA_MODE_HanAlphaKakuteiMode 24 + +#define CANNA_MODE_HexMode 25 /* 16進コード入力モード */ +#define CANNA_MODE_BushuMode 26 /* 部首の読みの入力状態 */ +#define CANNA_MODE_ExtendMode 27 /* 拡張機能選択 */ +#define CANNA_MODE_RussianMode 28 /* ロシア文字選択 */ +#define CANNA_MODE_GreekMode 29 /* ギリシア文字選択 */ +#define CANNA_MODE_LineMode 30 /* 罫線選択 */ +#define CANNA_MODE_ChangingServerMode 31 /* サーバ変更 */ +#define CANNA_MODE_HenkanMethodMode 32 /* 変換方式選択 */ +#define CANNA_MODE_DeleteDicMode 33 /* 単語削除 */ +#define CANNA_MODE_TourokuMode 34 /* 単語登録モード */ +#define CANNA_MODE_TourokuEmptyMode CANNA_MODE_TourokuMode +#define CANNA_MODE_TourokuHinshiMode 35 /* 単語登録の品詞選択状態 */ +#define CANNA_MODE_TourokuDicMode 36 /* 単語登録の辞書選択状態 */ +#define CANNA_MODE_QuotedInsertMode 37 /* 引用入力モード */ +#define CANNA_MODE_BubunMuhenkanMode 38 /* 部分無変換状態 */ +#define CANNA_MODE_MountDicMode 39 /* 辞書のmount,unmount状態 */ + +#define CANNA_MODE_MAX_IMAGINARY_MODE (CANNA_MODE_MountDicMode + 1) + +#ifdef IROHA_BC +/* real modes */ +/* 実モード(real mode)はキーマップの実体を持っているモード */ + +#define IROHA_MODE_AlphaMode CANNA_MODE_AlphaMode +#define IROHA_MODE_EmptyMode CANNA_MODE_EmptyMode +#define IROHA_MODE_KigoMode CANNA_MODE_KigoMode +#define IROHA_MODE_YomiMode CANNA_MODE_YomiMode +#define IROHA_MODE_JishuMode CANNA_MODE_JishuMode +#define IROHA_MODE_TankouhoMode CANNA_MODE_TankouhoMode +#define IROHA_MODE_IchiranMode CANNA_MODE_IchiranMode +#define IROHA_MODE_YesNoMode CANNA_MODE_YesNoMode +#define IROHA_MODE_OnOffMode CANNA_MODE_OnOffMode +#define IROHA_MODE_AdjustBunsetsuMode CANNA_MODE_AdjustBunsetsuMode + +#define IROHA_MODE_MAX_REAL_MODE CANNA_MODE_MAX_REAL_MODE + +/* imaginary modes */ +/* 虚モード(imaginary mode)はキーマップの実体を持っていないモード */ + +#define IROHA_MODE_HenkanMode CANNA_MODE_HenkanMode +#define IROHA_MODE_HenkanNyuryokuMode CANNA_MODE_HenkanNyuryokuMode +#define IROHA_MODE_HexMode CANNA_MODE_HexMode +#define IROHA_MODE_BushuMode CANNA_MODE_BushuMode +#define IROHA_MODE_ExtendMode CANNA_MODE_ExtendMode +#define IROHA_MODE_RussianMode CANNA_MODE_RussianMode +#define IROHA_MODE_GreekMode CANNA_MODE_GreekMode +#define IROHA_MODE_LineMode CANNA_MODE_LineMode +#define IROHA_MODE_ChangingServerMode CANNA_MODE_ChangingServerMode +#define IROHA_MODE_HenkanMethodMode CANNA_MODE_HenkanMethodMode +#define IROHA_MODE_DeleteDicMode CANNA_MODE_DeleteDicMode +#define IROHA_MODE_TourokuMode CANNA_MODE_TourokuMode +#define IROHA_MODE_TourokuEmptyMode CANNA_MODE_TourokuEmptyMode +#define IROHA_MODE_TourokuHinshiMode CANNA_MODE_TourokuHinshiMode +#define IROHA_MODE_TourokuDicMode CANNA_MODE_TourokuDicMode +#define IROHA_MODE_QuotedInsertMode CANNA_MODE_QuotedInsertMode +#define IROHA_MODE_BubunMuhenkanMode CANNA_MODE_BubunMuhenkanMode +#define IROHA_MODE_MountDicMode CANNA_MODE_MountDicMode + +#define IROHA_MODE_ZenHiraHenkanMode CANNA_MODE_ZenHiraHenkanMode +#define IROHA_MODE_HanHiraHenkanMode CANNA_MODE_HanHiraHenkanMode +#define IROHA_MODE_ZenKataHenkanMode CANNA_MODE_ZenKataHenkanMode +#define IROHA_MODE_HanKataHenkanMode CANNA_MODE_HanKataHenkanMode +#define IROHA_MODE_ZenAlphaHenkanMode CANNA_MODE_ZenAlphaHenkanMode +#define IROHA_MODE_HanAlphaHenkanMode CANNA_MODE_HanAlphaHenkanMode + +#define IROHA_MODE_ZenHiraKakuteiMode CANNA_MODE_ZenHiraKakuteiMode +#define IROHA_MODE_HanHiraKakuteiMode CANNA_MODE_HanHiraKakuteiMode +#define IROHA_MODE_ZenKataKakuteiMode CANNA_MODE_ZenKataKakuteiMode +#define IROHA_MODE_HanKataKakuteiMode CANNA_MODE_HanKataKakuteiMode +#define IROHA_MODE_ZenAlphaKakuteiMode CANNA_MODE_ZenAlphaKakuteiMode +#define IROHA_MODE_HanAlphaKakuteiMode CANNA_MODE_HanAlphaKakuteiMode + +#define IROHA_MODE_MAX_IMAGINARY_MODE CANNA_MODE_MAX_IMAGINARY_MODE + +#endif /* IROHA_BC */ + +/* キー関数 */ + +/* 未定義にする */ + +#define DEFAULTBEHAVIOR 0 +#define CANNA_FN_Undefined 0 /* 未定義 */ + +/* 文字挿入 */ + +#define CANNA_FN_SelfInsert 1 /* 押されたキーをそのまま挿入 */ +#define CANNA_FN_FunctionalInsert 2 /* 押されたキーの挿入 */ +#define CANNA_FN_QuotedInsert 3 /* 次の文字をそのまま挿入 */ + +/* 基本的モード切り換え */ + +#define CANNA_FN_JapaneseMode 4 /* 日本語入力モードへ移行 */ +#define CANNA_FN_AlphaMode 5 /* アルファベット入力モードへ移行 */ +#define CANNA_FN_HenkanNyuryokuMode 6 /* 変換入力モードへ移行 */ + +/* 編集 */ + +#define CANNA_FN_Forward 7 /* 右 */ +#define CANNA_FN_Backward 8 /* 左 */ +#define CANNA_FN_Next 9 /* 次の行 */ +#define CANNA_FN_Prev 10 /* 前の行 */ +#define CANNA_FN_BeginningOfLine 11 /* 行頭 */ +#define CANNA_FN_EndOfLine 12 /* 行末 */ +#define CANNA_FN_DeleteNext 13 /* 右削除 */ +#define CANNA_FN_DeletePrevious 14 /* 左削除 */ +#define CANNA_FN_KillToEndOfLine 15 /* 行末まで削除 */ + +/* カナ漢字変換機能 */ + +#define CANNA_FN_Henkan 16 /* 変換 */ +#define CANNA_FN_Kakutei 17 /* 確定 */ +#define CANNA_FN_Extend 18 /* 伸ばし */ +#define CANNA_FN_Shrink 19 /* 縮め */ +#define CANNA_FN_AdjustBunsetsu 20 /* 文節伸縮モードに入る */ +#define CANNA_FN_Quit 21 /* 取りやめ */ +#define CANNA_FN_ConvertAsHex 22 /* 16進コードとして変換 */ +#define CANNA_FN_ConvertAsBushu 23 /* 部首名として変換 */ +#define CANNA_FN_KouhoIchiran 24 /* 候補一覧 */ +#define CANNA_FN_BubunMuhenkan 25 /* 部分無変換 */ + +/* 文字種変換だけに使われる機能 */ + +#define CANNA_FN_Zenkaku 26 /* 全角 */ +#define CANNA_FN_Hankaku 27 /* 半角 */ +#define CANNA_FN_ToUpper 28 /* 大文字 */ +#define CANNA_FN_Capitalize 29 /* 先頭だけ大文字に */ +#define CANNA_FN_ToLower 30 /* 小文字 */ +#define CANNA_FN_Hiragana 31 /* ひらがな */ +#define CANNA_FN_Katakana 32 /* カタカナ */ +#define CANNA_FN_Romaji 33 /* ローマ字 */ + +/* 読みモードでのベース文字の切り替え */ + +#define CANNA_FN_BaseHiragana 34 /* ひらがなモード */ +#define CANNA_FN_BaseKatakana 35 /* カタカナモード */ +#define CANNA_FN_BaseEisu 36 /* 英数モード */ +#define CANNA_FN_BaseZenkaku 37 /* 全角モード */ +#define CANNA_FN_BaseHankaku 38 /* 半角モード */ +#define CANNA_FN_BaseKana 39 /* かなモード */ +#define CANNA_FN_BaseKakutei 40 /* 確定入力モード */ +#define CANNA_FN_BaseHenkan 41 /* 変換入力モード */ +#define CANNA_FN_BaseHiraKataToggle 42 /* ひらがなモード/カタカナモード */ +#define CANNA_FN_BaseZenHanToggle 43 /* 全角モード/半角モード */ +#define CANNA_FN_BaseKanaEisuToggle 44 /* かなモード/英数モード */ +#define CANNA_FN_BaseKakuteiHenkanToggle 45 /* 確定入力モード/変換入力モード */ +#define CANNA_FN_BaseRotateForward 46 /* モードを順繰りに切り替える */ +#define CANNA_FN_BaseRotateBackward 47 /* モードを逆繰りに切り替える */ + +/* その他のモード切り替え */ + +#define CANNA_FN_ExtendMode 48 /* 拡張モード */ +#define CANNA_FN_Touroku CANNA_FN_ExtendMode /* 旧互換 */ + +#define CANNA_FN_HexMode 49 /* 16進入力モード */ +#define CANNA_FN_BushuMode 50 /* 部首入力モード */ +#define CANNA_FN_KigouMode 51 /* 記号入力モード */ + +#define CANNA_FN_Mark 52 /* マーク */ +#define CANNA_FN_TemporalMode 53 /* モードの一時的セーブ */ +#define CANNA_FN_UserMode 54 /* ユーザ定義モード */ + +/* 現在の表示を返して欲しいときに使う機能 */ + +#define CANNA_FN_Nop 55 /* 何もしない */ + +/* Version 2.1 には入っていない機能 */ + +#define CANNA_FN_HenkanOrInsert 56 /* 変換もしくはそのまま入力 */ +#define CANNA_FN_HenkanNaive CANNA_FN_HenkanOrInsert + +/* Version 2.2 には入っていない機能 */ + +#define CANNA_FN_HenkanOrNothing 57 /* 変換もしくはなにもしない */ +#define CANNA_FN_RussianMode 58 /* ロシア文字モード */ +#define CANNA_FN_GreekMode 59 /* ギリシャ文字モード */ +#define CANNA_FN_LineMode 60 /* 罫線モード */ +#define CANNA_FN_DicMountMode 61 /* 辞書選択モード */ +#define CANNA_FN_ChangeServerMode 62 /* サーバ選択モード */ +#define CANNA_FN_DisconnectServer 63 /* サーバ切り離し */ +#define CANNA_FN_ShowServer 64 /* サーバ表示 */ +#define CANNA_FN_ShowGakushu 65 /* 学習状況表示 */ +#define CANNA_FN_ShowVersion 66 /* バージョン表示 */ +#define CANNA_FN_ShowPhonogramFile 67 /* ローマ字ファイル表示 */ +#define CANNA_FN_ShowCannaFile 68 /* カスタマイズファイル表示 */ +#define CANNA_FN_DefineDicMode 69 /* 単語登録 */ +#define CANNA_FN_DeleteDicMode 70 /* 単語削除 */ +#define CANNA_FN_SyncDic 71 /* 辞書書き込み */ +#define CANNA_FN_EnterChikujiMode 72 /* 逐次自動変換モード */ +#define CANNA_FN_EnterRenbunMode 73 /* 連文節変換モード */ + +/* Version 3.5 で追加されたもの */ +#define CANNA_FN_PageUp 74 /* ページアップ */ +#define CANNA_FN_PageDown 75 /* ページダウン */ +#define CANNA_FN_Edit 76 /* 編集 */ +#define CANNA_FN_BubunKakutei 77 /* カーソル以前確定 */ + +#define CANNA_FN_HenkanRegion 78 /* 選択領域の変換 */ +#define CANNA_FN_PhonoEdit 79 /* ローマ字エディタ */ +#define CANNA_FN_DicEdit 80 /* 辞書エディタ */ +#define CANNA_FN_Configure 81 /* Canna の設定 */ + +#define CANNA_FN_KanaRotate 82 /* カナ字種変換 */ +#define CANNA_FN_RomajiRotate 83 /* 英数字種変換 */ +#define CANNA_FN_CaseRotate 84 /* 大文字小文字変換 */ + +/* 以下の2つは必ず最後に置くこと。ccustom がらみの理由から */ + +#define CANNA_FN_FuncSequence 85 /* 複数の機能の割り当て */ +#define CANNA_FN_UseOtherKeymap 86 /* キーシーケンスの対応 */ + +#define CANNA_FN_MAX_FUNC (CANNA_FN_UseOtherKeymap + 1) + +#ifdef IROHA_BC + +#define IROHA_FN_Undefined CANNA_FN_Undefined + +/* 文字挿入 */ + +#define IROHA_FN_SelfInsert CANNA_FN_SelfInsert +#define IROHA_FN_FunctionalInsert CANNA_FN_FunctionalInsert +#define IROHA_FN_QuotedInsert CANNA_FN_QuotedInsert + +/* 基本的モード切り換え */ + +#define IROHA_FN_JapaneseMode CANNA_FN_JapaneseMode +#define IROHA_FN_AlphaMode CANNA_FN_AlphaMode +#define IROHA_FN_HenkanNyuryokuMode CANNA_FN_HenkanNyuryokuMode + + +/* 編集 */ + +#define IROHA_FN_Forward CANNA_FN_Forward +#define IROHA_FN_Backward CANNA_FN_Backward +#define IROHA_FN_Next CANNA_FN_Next +#define IROHA_FN_Prev CANNA_FN_Prev +#define IROHA_FN_BeginningOfLine CANNA_FN_BeginningOfLine +#define IROHA_FN_EndOfLine CANNA_FN_EndOfLine +#define IROHA_FN_DeleteNext CANNA_FN_DeleteNext +#define IROHA_FN_DeletePrevious CANNA_FN_DeletePrevious +#define IROHA_FN_KillToEndOfLine CANNA_FN_KillToEndOfLine + +/* カナ漢字変換機能 */ + +#define IROHA_FN_Henkan CANNA_FN_Henkan +#define IROHA_FN_Kakutei CANNA_FN_Kakutei +#define IROHA_FN_Extend CANNA_FN_Extend +#define IROHA_FN_Shrink CANNA_FN_Shrink +#define IROHA_FN_AdjustBunsetsu CANNA_FN_AdjustBunsetsu +#define IROHA_FN_Quit CANNA_FN_Quit +#define IROHA_FN_ConvertAsHex CANNA_FN_ConvertAsHex +#define IROHA_FN_ConvertAsBushu CANNA_FN_ConvertAsBushu +#define IROHA_FN_KouhoIchiran CANNA_FN_KouhoIchiran +#define IROHA_FN_BubunMuhenkan CANNA_FN_BubunMuhenkan + +/* 文字種変換だけに使われる機能 */ + +#define IROHA_FN_Zenkaku CANNA_FN_Zenkaku +#define IROHA_FN_Hankaku CANNA_FN_Hankaku +#define IROHA_FN_ToUpper CANNA_FN_ToUpper +#define IROHA_FN_Capitalize CANNA_FN_Capitalize +#define IROHA_FN_ToLower CANNA_FN_ToLower +#define IROHA_FN_Hiragana CANNA_FN_Hiragana +#define IROHA_FN_Katakana CANNA_FN_Katakana +#define IROHA_FN_Romaji CANNA_FN_Romaji + +/* その他のモード切り替え */ + +#define IROHA_FN_ExtendMode CANNA_FN_ExtendMode +#define IROHA_FN_Touroku CANNA_FN_Touroku + +#define IROHA_FN_HexMode CANNA_FN_HexMode +#define IROHA_FN_BushuMode CANNA_FN_BushuMode +#define IROHA_FN_KigouMode CANNA_FN_KigouMode + +#define IROHA_FN_UserMode CANNA_FN_UserMode + +/* 複雑な機能 */ + +#define IROHA_FN_FuncSequence CANNA_FN_FuncSequence +#define IROHA_FN_UseOtherKeymap CANNA_FN_UseOtherKeymap + +#define IROHA_FN_MAX_FUNC CANNA_FN_MAX_FUNC + +#endif /* IROHA_BC */ + +#endif /* _MFDEF_H_ */ diff --git a/src/add-ons/input_server/methods/canna/canna/patchlevel.h b/src/add-ons/input_server/methods/canna/canna/patchlevel.h new file mode 100644 index 0000000000..91b2e6e45b --- /dev/null +++ b/src/add-ons/input_server/methods/canna/canna/patchlevel.h @@ -0,0 +1,26 @@ +/* Copyright 1992 NEC Corporation, Tokyo, Japan. + * + * Permission to use, copy, modify, distribute and sell this software + * and its documentation for any purpose is hereby granted without + * fee, provided that the above copyright notice appear in all copies + * and that both that copyright notice and this permission notice + * appear in supporting documentation, and that the name of NEC + * Corporation not be used in advertising or publicity pertaining to + * distribution of the software without specific, written prior + * permission. NEC Corporation makes no representations about the + * suitability of this software for any purpose. It is provided "as + * is" without express or implied warranty. + * + * NEC CORPORATION DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE, + * INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS, IN + * NO EVENT SHALL NEC CORPORATION BE LIABLE FOR ANY SPECIAL, INDIRECT OR + * CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF + * USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR + * OTHER TORTUOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR + * PERFORMANCE OF THIS SOFTWARE. + */ + +/* $Id: patchlevel.h,v 1.1 2004/12/23 22:08:39 korli Exp $ */ + +#define CANNA_MAJOR_MINOR 3005 +#define CANNA_PATCH_LEVEL " beta 2" diff --git a/src/add-ons/input_server/methods/canna/canna/protodefs.h b/src/add-ons/input_server/methods/canna/canna/protodefs.h new file mode 100644 index 0000000000..baf87ef358 --- /dev/null +++ b/src/add-ons/input_server/methods/canna/canna/protodefs.h @@ -0,0 +1,197 @@ +/* Copyright 1993 NEC Corporation, Tokyo, Japan. + * + * Permission to use, copy, modify, distribute and sell this software + * and its documentation for any purpose is hereby granted without + * fee, provided that the above copyright notice appear in all copies + * and that both that copyright notice and this permission notice + * appear in supporting documentation, and that the name of NEC + * Corporation not be used in advertising or publicity pertaining to + * distribution of the software without specific, written prior + * permission. NEC Corporation makes no representations about the + * suitability of this software for any purpose. It is provided "as + * is" without express or implied warranty. + * + * NEC CORPORATION DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE, + * INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS, IN + * NO EVENT SHALL NEC CORPORATION BE LIABLE FOR ANY SPECIAL, INDIRECT OR + * CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF + * USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR + * OTHER TORTUOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR + * PERFORMANCE OF THIS SOFTWARE. + */ + +/* $Id: protodefs.h,v 1.1 2004/12/23 22:08:39 korli Exp $ */ + +#define canna_version(majv, minv) ((majv) * 1024 + (minv)) + +/* 以下は rkcw.h 内のと同じ定義 */ +#ifndef CBUFSIZE +typedef unsigned short Ushort; +typedef unsigned char BYTE; +#define CBUFSIZE 512 +#define CBIGBUFSIZE 4096 +#endif +/* ここまで */ + +#define OLD_MAX_CX 100 + +#define FALSE 0 +#define TRUE 1 + +/* #define SERVER_VERSION "3.5" */ +#define E_VERSION "1.2" +#define W_VERSION "3.3" + +#define IR_SERVICE_NAME "canna" +#define IR_DEFAULT_PORT 5680 +#define IR_UNIX_DIR "/tmp/.iroha_unix" +#define IR_UNIX_PATH "/tmp/.iroha_unix/IROHA" +#define NAME_LENGTH 15 +#define HOST_NAME 15 + +#define LOMASK(x) ((x)&255) +#define L4TOL(l4)\ + ((((((((unsigned long) ((unsigned char)(l4)[0])) << 8) | \ + ((unsigned long) ((unsigned char)(l4)[1]))) << 8) | \ + ((unsigned long) ((unsigned char)(l4)[2]))) << 8) | \ + ((unsigned long) ((unsigned char)(l4)[3]))) + +#define L3TOL(l3)\ + ((unsigned long)(((((unsigned char)(l3)[0]<<8)|\ + (unsigned char)(l3)[1])<<8) | (unsigned char)(l3)[2])) +#define S2TOS(s2) ((unsigned short)(((unsigned char)(s2)[0]<<8)|\ + (unsigned char)(s2)[1])) +#define LTOL4(l, l4) {\ + (l4)[0] = LOMASK((l)>>24); (l4)[1] = LOMASK((l)>>16);\ + (l4)[2] = LOMASK((l)>> 8); (l4)[3] = LOMASK((l));\ +} +#define LTOL3(l, l3) {\ +(l3)[0] = LOMASK((l)>>16); (l3)[1] = LOMASK((l)>> 8); (l3)[2] = LOMASK((l));\ +} +#define STOS2(s, s2) {\ + (s2)[0] = LOMASK((s)>> 8); (s2)[1] = LOMASK((s));\ +} + +/* IXXtoIXX は必要性を考えてあとで削れるなら削る */ +#if 0 +#define I16toI32(x) (((x) & 0x8000) ? ((x) | 0xffff8000) : (x)) +#endif +#define I16toI32(x) (x) +#define I8toI32(x) (((x) & 0x80) ? ((x) | 0xffffff80) : (x)) + +#if defined(__bsdi__) || defined(__FreeBSD__) +#include +#endif + +#ifndef MIN +#define MIN( n, m ) ( ((unsigned)(n) > (unsigned)(m)) ? (m) : (n) ) +#endif + +#define BUFSIZE 4096 +#define MAXDATA 1024 + +/* かんなサーバプロトコル */ + +#define wInitialize 0x01 +#define wFinalize 0x02 +#define wCreateContext 0x03 +#define wDuplicateContext 0x04 +#define wCloseContext 0x05 +#define wGetDictionaryList 0x06 +#define wGetDirectoryList 0x07 +#define wMountDictionary 0x08 +#define wUnmountDictionary 0x09 +#define wRemountDictionary 0x0a +#define wGetMountDictionaryList 0x0b +#define wQueryDictionary 0x0c +#define wDefineWord 0x0d +#define wDeleteWord 0x0e +#define wBeginConvert 0x0f +#define wEndConvert 0x10 +#define wGetCandidacyList 0x11 +#define wGetYomi 0x12 +#define wSubstYomi 0x13 +#define wStoreYomi 0x14 +#define wStoreRange 0x15 +#define wGetLastYomi 0x16 +#define wFlushYomi 0x17 +#define wRemoveYomi 0x18 +#define wGetSimpleKanji 0x19 +#define wResizePause 0x1a +#define wGetHinshi 0x1b +#define wGetLex 0x1c +#define wGetStatus 0x1d +#define wSetLocale 0x1e +#define wAutoConvert 0x1f +#define wQueryExtensions 0x20 +#define wSetApplicationName 0x21 +#define wNoticeGroupName 0x22 +#define wThrough 0x23 +#define wKillServer 0x24 + +#define W_REALREQUEST 0x24 /* same as the max number */ +#define W_MAXREQUESTNO (W_REALREQUEST + 1) + +#ifdef EXTENSION +#define wGetServerInfo 0x01 +#define wGetAccessControlList 0x02 +#define wCreateDictionary 0x03 +#define wDeleteDictionary 0x04 +#define wRenameDictionary 0x05 +#define wGetWordTextDictionary 0x06 +#define wListDictionary 0x07 +#define wSync 0x08 +#define wChmodDictionary 0x09 +#define wCopyDictionary 0x0a +#endif /* EXTENSION */ + +#define W_MAXEXTREQUESTNO 0x0b /* the max number plus 1 */ + + +/* いろはサーバプロトコル */ +#define OLD_MAXREQUESTNO 0x18 + +#define MAXREQUESTNO 0x1b +#define REALREQUEST 0x1a + +#define IR_INIT 0x01 +#define IR_FIN 0x02 +#define IR_CRE_CON 0x03 +#define IR_DUP_CON 0x04 +#define IR_CLO_CON 0x05 +#define IR_DIC_LIST 0x06 +#define IR_GET_YOMI 0x07 +#define IR_DEF_DIC 0x08 +#define IR_UNDEF_DIC 0x09 +#define IR_DIC_PATH 0x0a +#define IR_DIR_LIST 0x0b +#define IR_MNT_DIC 0x0c +#define IR_UMNT_DIC 0x0d +#define IR_RMNT_DIC 0x0e +#define IR_MNT_LIST 0x0f +#define IR_CONVERT 0x10 +#define IR_CONV_END 0x11 +#define IR_KAN_LST 0x12 +#define IR_RESIZE 0x13 +#define IR_STO_YOMI 0x14 +#define IR_GET_LEX 0x15 +#define IR_GET_STA 0x16 +#define IR_SER_STAT 0x17 +#define IR_SER_STAT2 0x18 +#define IR_HOST_CTL 0x19 +#define IR_QUERY_EXT 0x1a + +#ifdef EXTENSION +#define EXTBASEPROTONO 0x00010000 +#define MAXEXTREQUESTNO 0x04 + +#define REMOTE_DIC_UTIL "remote_dictionary_maintenance" +#define IR_LIST_DIC 0x00 +#define IR_CREAT_DIC 0x01 +#define IR_DEST_DIC 0x02 +#define IR_RENAME_DIC 0x03 +#define IR_GET_WORD_DIC 0x04 +#else /* !EXTENSION */ +#define EXTBASEPROTONO 0x00000000 +#define MAXEXTREQUESTNO 0xff +#endif /* !EXTENSION */ diff --git a/src/add-ons/input_server/methods/canna/canna/symbolname.h b/src/add-ons/input_server/methods/canna/canna/symbolname.h new file mode 100644 index 0000000000..c9016e3cfe --- /dev/null +++ b/src/add-ons/input_server/methods/canna/canna/symbolname.h @@ -0,0 +1,232 @@ +/* Copyright 1992 NEC Corporation, Tokyo, Japan. + * + * Permission to use, copy, modify, distribute and sell this software + * and its documentation for any purpose is hereby granted without + * fee, provided that the above copyright notice appear in all copies + * and that both that copyright notice and this permission notice + * appear in supporting documentation, and that the name of NEC + * Corporation not be used in advertising or publicity pertaining to + * distribution of the software without specific, written prior + * permission. NEC Corporation makes no representations about the + * suitability of this software for any purpose. It is provided "as + * is" without express or implied warranty. + * + * NEC CORPORATION DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE, + * INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS, IN + * NO EVENT SHALL NEC CORPORATION BE LIABLE FOR ANY SPECIAL, INDIRECT OR + * CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF + * USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR + * OTHER TORTUOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR + * PERFORMANCE OF THIS SOFTWARE. + */ + +/* $Id: symbolname.h,v 1.1 2004/12/23 22:08:39 korli Exp $ + */ + +#define S_HenkanNyuuryokuMode "henkan-nyuuryoku-mode" +#define S_ZenHiraHenkanMode "zen-hira-henkan-mode" +#define S_HanHiraHenkanMode "han-hira-henkan-mode" +#define S_ZenKataHenkanMode "zen-kata-henkan-mode" +#define S_HanKataHenkanMode "han-kata-henkan-mode" +#define S_ZenAlphaHenkanMode "zen-alpha-henkan-mode" +#define S_HanAlphaHenkanMode "han-alpha-henkan-mode" +#define S_ZenHiraKakuteiMode "zen-hira-kakutei-mode" +#define S_HanHiraKakuteiMode "han-hira-kakutei-mode" +#define S_ZenKataKakuteiMode "zen-kata-kakutei-mode" +#define S_HanKataKakuteiMode "han-kata-kakutei-mode" +#define S_ZenAlphaKakuteiMode "zen-alpha-kakutei-mode" +#define S_HanAlphaKakuteiMode "han-alpha-kakutei-mode" +#define S_AlphaMode "alpha-mode" +#define S_YomiganaiMode "empty-mode" +#define S_YomiMode "yomi-mode" +#define S_MojishuMode "mojishu-mode" +#define S_TankouhoMode "tankouho-mode" +#define S_IchiranMode "ichiran-mode" +#define S_ShinshukuMode "shinshuku-mode" +#define S_HexMode "hex-mode" +#define S_BushuMode "bushu-mode" +#define S_YesNoMode "yes-no-mode" +#define S_OnOffMode "on-off-mode" +#define S_ExtendMode "extend-mode" +#define S_RussianMode "russian-mode" +#define S_GreekMode "greek-mode" +#define S_LineMode "line-mode" +#define S_ChangingServerMode "changing-server-mode" +#define S_HenkanMethodMode "henkan-method-mode" +#define S_DeleteDicMode "delete-dic-mode" +#define S_TourokuMode "touroku-mode" +#define S_TourokuHinshiMode "touroku-hinshi-mode" +#define S_TourokuDicMode "touroku-dic-mode" +#define S_QuotedInsertMode "quoted-insert-mode" +#define S_BubunMuhenkanMode "bubun-muhenkan-mode" +#define S_MountDicMode "mount-dic-mode" +#define S_KigouMode "kigou-mode" +#define S_AutoYomiMode "chikuji-yomi-mode" +#define S_AutoBunsetsuMode "chikuji-bunsetsu-mode" +#define S_UnbindKey "unbind-key-function" +#define S_GUnbindKey "global-unbind-key-function" +#define S_SetKey "set-key" +#define S_GSetKey "global-set-key" +#define S_SetModeDisp "set-mode-display" +#define S_DefMode "defmode" +#define S_DefSymbol "defsymbol" +#define S_DefSelection "defselection" +#define S_DefMenu "defmenu" +#define S_SetInitFunc "initialize-function" +#define S_FN_UseDictionary "use-dictionary" +#define S_defEscSequence "define-esc-sequence" +#define S_defXKeysym "define-x-keysym" + +#define S_FN_Undefined "undefined" +#define S_FN_SelfInsert "self-insert" +#define S_FN_FunctionalInsert "self-insert" +#define S_FN_QuotedInsert "quoted-insert" +#define S_FN_JapaneseMode "japanese-mode" +#define S_FN_AlphaMode S_AlphaMode +#define S_FN_HenkanNyuryokuMode S_HenkanNyuuryokuMode +#define S_FN_ZenHiraKakuteiMode S_ZenHiraKakuteiMode +#define S_FN_ZenKataKakuteiMode S_ZenKataKakuteiMode +#define S_FN_HanKataKakuteiMode S_HanKataKakuteiMode +#define S_FN_ZenAlphaKakuteiMode S_ZenAlphaKakuteiMode +#define S_FN_HanAlphaKakuteiMode S_HanAlphaKakuteiMode +#define S_FN_HexMode S_HexMode +#define S_FN_BushuMode S_BushuMode +#define S_FN_KigouMode S_KigouMode +#define S_FN_Forward "forward" +#define S_FN_Backward "backward" +#define S_FN_Next "next" +#define S_FN_Prev "previous" +#define S_FN_BeginningOfLine "beginning-of-line" +#define S_FN_EndOfLine "end-of-line" +#define S_FN_DeleteNext "delete-next" +#define S_FN_DeletePrevious "delete-previous" +#define S_FN_KillToEndOfLine "kill-to-end-of-line" +#define S_FN_Henkan "henkan" +#define S_FN_HenkanNaive "henkan-naive" +#define S_FN_HenkanOrSelfInsert "henkan-or-self-insert" +#define S_FN_HenkanOrDoNothing "henkan-or-do-nothing" +#define S_FN_Kakutei "kakutei" +#define S_FN_Extend "extend" +#define S_FN_Shrink "shrink" +#define S_FN_AdjustBunsetsu S_ShinshukuMode +#define S_FN_Quit "quit" +#define S_FN_ExtendMode S_ExtendMode +#define S_FN_Touroku "touroku" +#define S_FN_ConvertAsHex "convert-as-hex" +#define S_FN_ConvertAsBushu "convert-as-bushu" +#define S_FN_KouhoIchiran "kouho-ichiran" +#define S_FN_BubunMuhenkan "henshu" +#define S_FN_Zenkaku "zenkaku" +#define S_FN_Hankaku "hankaku" +#define S_FN_ToUpper "to-upper" +#define S_FN_Capitalize "capitalize" +#define S_FN_ToLower "to-lower" +#define S_FN_Hiragana "hiragana" +#define S_FN_Katakana "katakana" +#define S_FN_Romaji "romaji" +#define S_FN_BaseHiragana "base-hiragana" +#define S_FN_BaseKatakana "base-katakana" +#define S_FN_BaseKana "base-kana" +#define S_FN_BaseEisu "base-eisu" +#define S_FN_BaseZenkaku "base-zenkaku" +#define S_FN_BaseHankaku "base-hankaku" +#define S_FN_BaseKakutei "base-kakutei" +#define S_FN_BaseHenkan "base-henkan" +#define S_FN_BaseHiraKataToggle "base-hiragana-katakana-toggle" +#define S_FN_BaseKanaEisuToggle "base-kana-eisu-toggle" +#define S_FN_BaseZenHanToggle "base-zenkaku-hankaku-toggle" +#define S_FN_BaseKakuteiHenkanToggle "base-kakutei-henkan-toggle" +#define S_FN_BaseRotateForward "base-rotate-forward" +#define S_FN_BaseRotateBackward "base-rotate-backward" +#define S_FN_Mark "mark" +#define S_FN_Temporary "temporary" +#define S_FN_SyncDic "sync-dictionary" +#define S_FN_FuncSequence "XXXXXXXXXXXXXX" +#define S_FN_UseOtherKeymap "XXXXXXXXXXXXXX" +#define S_FN_DefineDicMode S_TourokuMode +#define S_FN_DeleteDicMode S_DeleteDicMode +#define S_FN_DicMountMode "jisho-ichiran" +#define S_FN_EnterChikujiMode "chikuji-mode" +#define S_FN_EnterRenbunMode "renbun-mode" +#define S_FN_DisconnectServer "disconnect-server" +#define S_FN_ChangeServerMode "switch-server" +#define S_FN_ShowServer "show-server-name" +#define S_FN_ShowGakushu "show-gakushu" +#define S_FN_ShowVersion "show-canna-version" +#define S_FN_ShowPhonogramFile "show-romkana-table" +#define S_FN_ShowCannaFile "show-canna-file" +#define S_FN_KanaRotate "kana-rotate-forward" +#define S_FN_RomajiRotate "romaji-rotate-forward" +#define S_FN_CaseRotate "case-rotate-forward" + +#define S_VA_RomkanaTable "romkana-table" +#define S_VA_EnglishTable "english-table" +#define S_VA_InitMode "initial-mode" +#define S_VA_CursorWrap "cursor-wrap" +#define S_VA_SelectDirect "select-direct" +#define S_VA_NumericalKeySelect "numerical-key-select" +#define S_VA_BunsetsuKugiri "bunsetsu-kugiri" +#define S_VA_CharacterBasedMove "character-based-move" +#define S_VA_ReverseWidely "reverse-widely" +#define S_VA_ReverseWord "reverse-word" +#define S_VA_Gakushu "gakushu" +#define S_VA_QuitIfEOIchiran "quit-if-end-of-ichiran" +#define S_VA_KakuteiIfEOBunsetsu "kakutei-if-end-of-bunsetsu" +#define S_VA_StayAfterValidate "stay-after-validate" +#define S_VA_BreakIntoRoman "break-into-roman" +#define S_VA_NHenkanForIchiran "n-henkan-for-ichiran" +#define S_VA_nKouhoBunsetsu "n-kouho-bunsetsu" +#define S_VA_keepCursorPosition "keep-cursor-position" +#define S_VA_GrammaticalQuestion "grammatical-question" +#define S_VA_ForceKana "force-kana" +#define S_VA_KouhoCount "kouho-count" +#define S_VA_Auto "auto" +#define S_VA_LearnNumericalType "learn-numerical-type" +#define S_VA_BackspaceBehavesAsQuit "backspace-behaves-as-quit" +#define S_VA_InhibitListCallback "inhibit-list-callback" +#define S_VA_CannaVersion "canna-version" +#define S_VA_ProtocolVersion "protocol-version" +#define S_VA_ServerVersion "server-version" +#define S_VA_ServerName "server-name" +#define S_VA_Abandon "abandon-illegal-phonogram" +#define S_VA_HexDirect "hex-direct" +#define S_VA_Kojin "kojin" +#define S_VA_IndexHankaku "index-hankaku" +#define S_VA_IndexSeparator "index-separator" +#define S_VA_AllowNextInput "allow-next-input" +#define S_VA_KeepCursorPosition "keep-cursor" +#define S_VA_ChikujiContinue "chikuji-continue" +#define S_VA_RenbunContinue "renbun-continue" +#define S_VA_MojishuContinue "mojishu-continue" +#define S_VA_ChikujiRealBackspace "chikuji-force-backspace" +#define S_VA_doKatakanaGakushu "katakana-touroku" +#define S_VA_doHiraganaGakushu "hiragana-touroku" +#define S_VA_chikuji_debug "chikuji-debug" +#define S_VA_nDisconnectServer "n-keys-to-disconnect" +#define S_VA_ignoreCase "ignore-case" +#define S_VA_RomajiYuusen "romaji-yuusen" +#define S_VA_CannaDir "canna-directory" +#define S_VA_AutoSync "auto-sync" +#define S_VA_QuicklyEscape "quickly-escape-from-kigo-input" +#define S_VA_InhibitHanKana "inhibit-hankaku-kana" +#define S_VA_CodeInput "code-input" + +#define S_IF_HenkanNyuryoku "(japanese-mode)" +#define S_IF_ZenHiraKakutei "(japanese-mode base-kakutei)" +#define S_IF_ZenKataKakutei "(japanese-mode base-kakutei base-katakana)" +#define S_IF_ZenAlphaKakutei "(japanese-mode base-kakutei base-eisu base-zenkaku)" +#define S_IF_HanKataKakutei "(japanese-mode base-kakutei base-katakana base-hankaku)" +#define S_IF_HanAlphaKakutei "(japanese-mode base-kakutei base-eisu base-hankaku)" +#define S_IF_ZenKataHenkan "(japanese-mode base-katakana)" +#define S_IF_ZenAlphaHenkan "(japanese-mode base-eisu base-zenkaku)" +#define S_IF_HanKataHenkan "(japanese-mode base-katakana base-hankaku)" +#define S_IF_HanAlphaHenkan "(japanese-mode hase-eisu base-hankaku)" + +#define S_FN_PageUp "page-up" +#define S_FN_PageDown "page-down" +#define S_FN_Edit "edit" +#define S_FN_BubunKakutei "bubun-kakutei" +#define S_FN_HenkanRegion "henkan-region" +#define S_FN_PhonoEdit "phono-edit" +#define S_FN_DicEdit "dic-edit" +#define S_FN_Configure "configure" diff --git a/src/add-ons/input_server/methods/canna/canna/widedef.h b/src/add-ons/input_server/methods/canna/canna/widedef.h new file mode 100644 index 0000000000..d08d7454a6 --- /dev/null +++ b/src/add-ons/input_server/methods/canna/canna/widedef.h @@ -0,0 +1,36 @@ +/* Copyright 1992 NEC Corporation, Tokyo, Japan. + * + * Permission to use, copy, modify, distribute and sell this software + * and its documentation for any purpose is hereby granted without + * fee, provided that the above copyright notice appear in all copies + * and that both that copyright notice and this permission notice + * appear in supporting documentation, and that the name of NEC + * Corporation not be used in advertising or publicity pertaining to + * distribution of the software without specific, written prior + * permission. NEC Corporation makes no representations about the + * suitability of this software for any purpose. It is provided "as + * is" without express or implied warranty. + * + * NEC CORPORATION DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE, + * INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS, IN + * NO EVENT SHALL NEC CORPORATION BE LIABLE FOR ANY SPECIAL, INDIRECT OR + * CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF + * USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR + * OTHER TORTUOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR + * PERFORMANCE OF THIS SOFTWARE. + */ + +/* + * @(#) 102.1 $Id: widedef.h,v 1.1 2004/12/23 22:08:39 korli Exp $ + */ +// Modified by T.Murai for BeOS + +#ifndef _WIDEDEF_H_ +#define _WIDEDEF_H_ + +#include + +//#define HAVE_WCHAR_OPERATION +//#define _WCHAR_T +typedef uint16 WCHAR_T; +#endif /* _WIDEDEF_H_ */