33 #define emacsmule_islead(c) ((UChar )(c) < 0x9e)
50 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
51 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
52 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
53 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
54 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
55 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
56 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
57 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
58 1, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
59 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 4, 4, 4, 4, 1, 1,
60 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
61 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
62 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
63 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
64 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
65 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
71 static const signed char trans[][0x100] = {
73 A,
A,
A,
A,
A,
A,
A,
A,
A,
A,
A,
A,
A,
A,
A,
A,
74 A,
A,
A,
A,
A,
A,
A,
A,
A,
A,
A,
A,
A,
A,
A,
A,
75 A,
A,
A,
A,
A,
A,
A,
A,
A,
A,
A,
A,
A,
A,
A,
A,
76 A,
A,
A,
A,
A,
A,
A,
A,
A,
A,
A,
A,
A,
A,
A,
A,
77 A,
A,
A,
A,
A,
A,
A,
A,
A,
A,
A,
A,
A,
A,
A,
A,
78 A,
A,
A,
A,
A,
A,
A,
A,
A,
A,
A,
A,
A,
A,
A,
A,
79 A,
A,
A,
A,
A,
A,
A,
A,
A,
A,
A,
A,
A,
A,
A,
A,
80 A,
A,
A,
A,
A,
A,
A,
A,
A,
A,
A,
A,
A,
A,
A,
A,
81 F, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
82 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 4, 4, 5, 6,
F,
F,
83 F,
F,
F,
F,
F,
F,
F,
F,
F,
F,
F,
F,
F,
F,
F,
F,
84 F,
F,
F,
F,
F,
F,
F,
F,
F,
F,
F,
F,
F,
F,
F,
F,
85 F,
F,
F,
F,
F,
F,
F,
F,
F,
F,
F,
F,
F,
F,
F,
F,
86 F,
F,
F,
F,
F,
F,
F,
F,
F,
F,
F,
F,
F,
F,
F,
F,
87 F,
F,
F,
F,
F,
F,
F,
F,
F,
F,
F,
F,
F,
F,
F,
F,
88 F,
F,
F,
F,
F,
F,
F,
F,
F,
F,
F,
F,
F,
F,
F, F
91 F,
F,
F,
F,
F,
F,
F,
F,
F,
F,
F,
F,
F,
F,
F,
F,
92 F,
F,
F,
F,
F,
F,
F,
F,
F,
F,
F,
F,
F,
F,
F,
F,
93 F,
F,
F,
F,
F,
F,
F,
F,
F,
F,
F,
F,
F,
F,
F,
F,
94 F,
F,
F,
F,
F,
F,
F,
F,
F,
F,
F,
F,
F,
F,
F,
F,
95 F,
F,
F,
F,
F,
F,
F,
F,
F,
F,
F,
F,
F,
F,
F,
F,
96 F,
F,
F,
F,
F,
F,
F,
F,
F,
F,
F,
F,
F,
F,
F,
F,
97 F,
F,
F,
F,
F,
F,
F,
F,
F,
F,
F,
F,
F,
F,
F,
F,
98 F,
F,
F,
F,
F,
F,
F,
F,
F,
F,
F,
F,
F,
F,
F,
F,
99 F,
F,
F,
F,
F,
F,
F,
F,
F,
F,
F,
F,
F,
F,
F,
F,
100 F,
F,
F,
F,
F,
F,
F,
F,
F,
F,
F,
F,
F,
F,
F,
F,
101 A,
A,
A,
A,
A,
A,
A,
A,
A,
A,
A,
A,
A,
A,
A,
A,
102 A,
A,
A,
A,
A,
A,
A,
A,
A,
A,
A,
A,
A,
A,
A,
A,
103 A,
A,
A,
A,
A,
A,
A,
A,
A,
A,
A,
A,
A,
A,
A,
A,
104 A,
A,
A,
A,
A,
A,
A,
A,
A,
A,
A,
A,
A,
A,
A,
A,
105 A,
A,
A,
A,
A,
A,
A,
A,
A,
A,
A,
A,
A,
A,
A,
A,
106 A,
A,
A,
A,
A,
A,
A,
A,
A,
A,
A,
A,
A,
A,
A, A
109 F,
F,
F,
F,
F,
F,
F,
F,
F,
F,
F,
F,
F,
F,
F,
F,
110 F,
F,
F,
F,
F,
F,
F,
F,
F,
F,
F,
F,
F,
F,
F,
F,
111 F,
F,
F,
F,
F,
F,
F,
F,
F,
F,
F,
F,
F,
F,
F,
F,
112 F,
F,
F,
F,
F,
F,
F,
F,
F,
F,
F,
F,
F,
F,
F,
F,
113 F,
F,
F,
F,
F,
F,
F,
F,
F,
F,
F,
F,
F,
F,
F,
F,
114 F,
F,
F,
F,
F,
F,
F,
F,
F,
F,
F,
F,
F,
F,
F,
F,
115 F,
F,
F,
F,
F,
F,
F,
F,
F,
F,
F,
F,
F,
F,
F,
F,
116 F,
F,
F,
F,
F,
F,
F,
F,
F,
F,
F,
F,
F,
F,
F,
F,
117 F,
F,
F,
F,
F,
F,
F,
F,
F,
F,
F,
F,
F,
F,
F,
F,
118 F,
F,
F,
F,
F,
F,
F,
F,
F,
F,
F,
F,
F,
F,
F,
F,
119 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
120 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
121 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
122 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
123 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
124 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1
127 F,
F,
F,
F,
F,
F,
F,
F,
F,
F,
F,
F,
F,
F,
F,
F,
128 F,
F,
F,
F,
F,
F,
F,
F,
F,
F,
F,
F,
F,
F,
F,
F,
129 F,
F,
F,
F,
F,
F,
F,
F,
F,
F,
F,
F,
F,
F,
F,
F,
130 F,
F,
F,
F,
F,
F,
F,
F,
F,
F,
F,
F,
F,
F,
F,
F,
131 F,
F,
F,
F,
F,
F,
F,
F,
F,
F,
F,
F,
F,
F,
F,
F,
132 F,
F,
F,
F,
F,
F,
F,
F,
F,
F,
F,
F,
F,
F,
F,
F,
133 F,
F,
F,
F,
F,
F,
F,
F,
F,
F,
F,
F,
F,
F,
F,
F,
134 F,
F,
F,
F,
F,
F,
F,
F,
F,
F,
F,
F,
F,
F,
F,
F,
135 F,
F,
F,
F,
F,
F,
F,
F,
F,
F,
F,
F,
F,
F,
F,
F,
136 F,
F,
F,
F,
F,
F,
F,
F,
F,
F,
F,
F,
F,
F,
F,
F,
137 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
138 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
139 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
140 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
141 F,
F,
F,
F,
F,
F,
F,
F,
F,
F,
F,
F,
F,
F,
F,
F,
142 F,
F,
F,
F,
F,
F,
F,
F,
F,
F,
F,
F,
F,
F,
F, F
145 F,
F,
F,
F,
F,
F,
F,
F,
F,
F,
F,
F,
F,
F,
F,
F,
146 F,
F,
F,
F,
F,
F,
F,
F,
F,
F,
F,
F,
F,
F,
F,
F,
147 F,
F,
F,
F,
F,
F,
F,
F,
F,
F,
F,
F,
F,
F,
F,
F,
148 F,
F,
F,
F,
F,
F,
F,
F,
F,
F,
F,
F,
F,
F,
F,
F,
149 F,
F,
F,
F,
F,
F,
F,
F,
F,
F,
F,
F,
F,
F,
F,
F,
150 F,
F,
F,
F,
F,
F,
F,
F,
F,
F,
F,
F,
F,
F,
F,
F,
151 F,
F,
F,
F,
F,
F,
F,
F,
F,
F,
F,
F,
F,
F,
F,
F,
152 F,
F,
F,
F,
F,
F,
F,
F,
F,
F,
F,
F,
F,
F,
F,
F,
153 F,
F,
F,
F,
F,
F,
F,
F,
F,
F,
F,
F,
F,
F,
F,
F,
154 F,
F,
F,
F,
F,
F,
F,
F,
F,
F,
F,
F,
F,
F,
F,
F,
155 F,
F,
F,
F,
F,
F,
F,
F,
F,
F,
F,
F,
F,
F,
F,
F,
156 F,
F,
F,
F,
F,
F,
F,
F,
F,
F,
F,
F,
F,
F,
F,
F,
157 F,
F,
F,
F,
F,
F,
F,
F,
F,
F,
F,
F,
F,
F,
F,
F,
158 F,
F,
F,
F,
F,
F,
F,
F,
F,
F,
F,
F,
F,
F,
F,
F,
159 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
160 F,
F,
F,
F,
F,
F,
F,
F,
F,
F,
F,
F,
F,
F,
F, F
163 F,
F,
F,
F,
F,
F,
F,
F,
F,
F,
F,
F,
F,
F,
F,
F,
164 F,
F,
F,
F,
F,
F,
F,
F,
F,
F,
F,
F,
F,
F,
F,
F,
165 F,
F,
F,
F,
F,
F,
F,
F,
F,
F,
F,
F,
F,
F,
F,
F,
166 F,
F,
F,
F,
F,
F,
F,
F,
F,
F,
F,
F,
F,
F,
F,
F,
167 F,
F,
F,
F,
F,
F,
F,
F,
F,
F,
F,
F,
F,
F,
F,
F,
168 F,
F,
F,
F,
F,
F,
F,
F,
F,
F,
F,
F,
F,
F,
F,
F,
169 F,
F,
F,
F,
F,
F,
F,
F,
F,
F,
F,
F,
F,
F,
F,
F,
170 F,
F,
F,
F,
F,
F,
F,
F,
F,
F,
F,
F,
F,
F,
F,
F,
171 F,
F,
F,
F,
F,
F,
F,
F,
F,
F,
F,
F,
F,
F,
F,
F,
172 F,
F,
F,
F,
F,
F,
F,
F,
F,
F,
F,
F,
F,
F,
F,
F,
173 F,
F,
F,
F,
F,
F,
F,
F,
F,
F,
F,
F,
F,
F,
F,
F,
174 F,
F,
F,
F,
F,
F,
F,
F,
F,
F,
F,
F,
F,
F,
F,
F,
175 F,
F,
F,
F,
F,
F,
F,
F,
F,
F,
F,
F,
F,
F,
F,
F,
176 F,
F,
F,
F,
F,
F,
F,
F,
F,
F,
F,
F,
F,
F,
F,
F,
177 F,
F,
F,
F,
F,
F,
F,
F,
F,
F,
F,
F,
F,
F,
F,
F,
178 2, 2, 2, 2, 2,
F,
F,
F,
F,
F,
F,
F,
F,
F,
F, F
181 F,
F,
F,
F,
F,
F,
F,
F,
F,
F,
F,
F,
F,
F,
F,
F,
182 F,
F,
F,
F,
F,
F,
F,
F,
F,
F,
F,
F,
F,
F,
F,
F,
183 F,
F,
F,
F,
F,
F,
F,
F,
F,
F,
F,
F,
F,
F,
F,
F,
184 F,
F,
F,
F,
F,
F,
F,
F,
F,
F,
F,
F,
F,
F,
F,
F,
185 F,
F,
F,
F,
F,
F,
F,
F,
F,
F,
F,
F,
F,
F,
F,
F,
186 F,
F,
F,
F,
F,
F,
F,
F,
F,
F,
F,
F,
F,
F,
F,
F,
187 F,
F,
F,
F,
F,
F,
F,
F,
F,
F,
F,
F,
F,
F,
F,
F,
188 F,
F,
F,
F,
F,
F,
F,
F,
F,
F,
F,
F,
F,
F,
F,
F,
189 F,
F,
F,
F,
F,
F,
F,
F,
F,
F,
F,
F,
F,
F,
F,
F,
190 F,
F,
F,
F,
F,
F,
F,
F,
F,
F,
F,
F,
F,
F,
F,
F,
191 F,
F,
F,
F,
F,
F,
F,
F,
F,
F,
F,
F,
F,
F,
F,
F,
192 F,
F,
F,
F,
F,
F,
F,
F,
F,
F,
F,
F,
F,
F,
F,
F,
193 F,
F,
F,
F,
F,
F,
F,
F,
F,
F,
F,
F,
F,
F,
F,
F,
194 F,
F,
F,
F,
F,
F,
F,
F,
F,
F,
F,
F,
F,
F,
F,
F,
195 F,
F,
F,
F,
F,
F,
F,
F,
F,
F,
F,
F,
F,
F,
F,
F,
196 F,
F,
F,
F,
F, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, F
206 int firstbyte = *p++;
208 s =
trans[0][firstbyte];
231 len =
enclen(enc, p, end);
233 if (len == 1)
return n;
235 for (i = 1; i <
len; i++) {
247 else if (code > 0xffffffff)
return 0;
248 else if ((code & 0xff000000) >= 0x80000000)
return 4;
249 else if ((code & 0xff0000) >= 0x800000)
return 3;
250 else if ((code & 0xff00) >= 0x8000)
return 2;
260 if ((code & 0xff000000) != 0) *p++ = (
UChar )(((code >> 24) & 0xff));
261 if ((code & 0xff0000) != 0) *p++ = (
UChar )(((code >> 16) & 0xff));
262 if ((code & 0xff00) != 0) *p++ = (
UChar )(((code >> 8) & 0xff));
263 *p++ = (
UChar )(code & 0xff);
267 return (
int)(p -
buf);
287 for (i = 0; i <
len; i++) {
300 if (s <= start)
return (
UChar* )s;