comparison lib/Xsj3clib/common.h @ 0:92745d501b9a

initial import from kinput2-v3.1
author Yoshiki Yazawa <yaz@honeyplanet.jp>
date Mon, 08 Mar 2010 04:44:30 +0900
parents
children
comparison
equal deleted inserted replaced
-1:000000000000 0:92745d501b9a
1 /* $Id: common.h,v 2.2 1993/09/21 14:31:39 nao Exp $ */
2 /*
3 * Copyright 1991 Sony Corporation
4 *
5 * Permission to use, copy, modify, distribute, and sell this software and its
6 * documentation for any purpose is hereby granted without fee, provided that
7 * the above copyright notice appear in all copies and that both that
8 * copyright notice and this permission notice appear in supporting
9 * documentation, and that the name of Sony not be used in advertising or
10 * publicity pertaining to distribution of the software without specific,
11 * written prior permission. Sony makes no representations about the
12 * suitability of this software for any purpose. It is provided "as is"
13 * without express or implied warranty.
14 *
15 * SONY DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE, INCLUDING ALL
16 * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS, IN NO EVENT SHALL SONY
17 * BE LIABLE FOR ANY SPECIAL, INDIRECT OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES
18 * WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION
19 * OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN
20 * CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
21 */
22 /*
23 * Author: Naoshi Suzuki, SONY Corporation. (nao@sm.sony.co.jp)
24 */
25
26 #include "Xsj3clib.h"
27 #include <X11/Xlib.h>
28 #if defined(XlibSpecificationRelease) && XlibSpecificationRelease > 4
29 #include <X11/Xfuncs.h>
30 #endif
31
32 /*
33 * define for conversion server
34 */
35 #define SERVER_SJ3 0
36 #define SERVER_NUM 1
37
38 /*
39 * define for conversion mode
40 */
41 #define NoInputModeMask (1<<16)
42 #define InputModeMask (1<<17)
43 #define ConvedModeMask (1<<18)
44 #define SelectModeMask (1<<19)
45 #define DictModeMask (1<<20)
46 #define AllModeMask (InputModeMask|ConvedModeMask|SelectModeMask \
47 |DictModeMask|NoInputModeMask)
48 #define OutputModeMask (ConvedModeMask|SelectModeMask)
49 #define FlushModeMask (InputModeMask|ConvedModeMask)
50
51 /*
52 * Define for segment status InputMode/ConvedMode
53 */
54 #define SEG_NOCONV (1L<<0)
55 #define SEG_CONVED (1L<<1)
56
57 /*
58 * Define for permittion to edit(input)
59 */
60 #define SEG_EDIT (1L<<0)
61 #define SEG_NOEDIT (1L<<1)
62
63 /*
64 * define for maximum size
65 */
66 #define INPUT_YOMI_MAX 255
67 #define DICT_YOMI_MAX 31
68
69 /*
70 * define for result of conversion
71 */
72 #define CONV_FAILED -1
73 #define CONV_UNFIXED 0
74 #define CONV_FIXED 1
75
76 /*
77 * define for flags on/off
78 */
79 #undef OFF
80 #define OFF 0L
81 #undef ON
82 #define ON (1L<<0)
83 #define ONE (1L<<0)
84 #define THROUGH (1L<<0)
85 #define ALL (1L<<1)
86 #define NONE (1L<<1)
87 #define QUOTE (1L<<1)
88 #define AFTER (1L<<2)
89 #define EDIT (1L<<2)
90
91 /*
92 * define for mode of dictionary handling
93 */
94 #define REG_STATE (1L<<0)
95 #define CLR_STATE (1L<<1)
96
97 /*
98 * define for message in DictMode(sj3)
99 */
100 #define SJ3_DICT_INPUT 128
101 #define SJ3_DICT_YOMI 129
102 #define SJ3_DICT_HINSI 130
103 #define SJ3_DICT_CONFIRM 131
104 #define SJ3_TOUROKU_SUCCESSED 132
105 #define SJ3_SYOUKYO_SUCCESSED 133
106 #define SJ3_NO_YOMI_STR 134
107 #define SJ3_LONG_YOMI_STR 135
108
109 /*
110 * Define for SelectMode status
111 */
112 #define SELECT_CAND 0
113 #define SELECT_SYMBOL 1
114 #define SELECT_HINSI 2
115
116 /*
117 * Define for status of dictionary handling
118 */
119 #define DICT_INPUT 0
120 #define DICT_HINSI 1
121 #define DICT_CONFIRM 2
122 #define DICT_END 3
123
124 /*
125 * Define for DictMode messages
126 */
127 #define DICT_STR_MODE 0
128 #define DICT_STR_MSG1 1
129 #define DICT_STR_YOMI 2
130 #define DICT_STR_MSG2 3
131 #define DICT_STR_HINSI 4
132 #define DICT_STR_MSG3 5
133 #define DICT_STR_NUM 6
134
135 /*
136 * Define for NULL
137 */
138 #ifndef NULL
139 #define NULL 0
140 #endif
141
142 /*
143 * define for reading set-up file.
144 */
145 #define OPEN_FAILED 1
146 #define READ_FAILED -1
147 #define ALLOC_FAILED -2
148 #define OK 0
149
150 #define SKIP(p) { while (*p == '\t' || *p == ' ') p++; }
151 #define CHECK_END(p) { if (*p == '\n' || *p == '#') return (READ_FAILED); }
152
153 /*
154 * define for reading set-up files.
155 */
156 #define SO 0x0e
157 #define SI 0x0f
158 #define ESC 0x1b
159 #define SS2 0x8e
160 #define SS3 0x8f
161 #define MASK 0x7f
162 #define MSB 0x80
163
164 /*
165 * define for conversion interface function.
166 */
167 #define FUNC_OPEN 0
168 #define FUNC_CLOSE 1
169 #define FUNC_CONV 2
170 #define FUNC_CANDNUM 3
171 #define FUNC_CANDIDATE 4
172 #define FUNC_REGISTER 5
173 #define FUNC_CLEAR 6
174 #define FUNC_STUDY 7
175 #define FUNC_STUDY2 8
176 #define FUNC_LOCK 9
177 #define FUNC_UNLOCK 10
178
179 #define FUNC_NUM 11
180
181 typedef struct _sjrctable {
182 unsigned char *key[2];
183 unsigned char *value[10];
184 } SjrcRec, *Sjrctable;
185
186 typedef struct _Xsj3cCVServerIF {
187 int lang;
188 int (*func[FUNC_NUM])();
189 } Xsj3cCVServerIF;