a627c21713d78572c9de49b68cf474b8f2758e60
[libguac-client-rdp.git] / src / unicode_convtable.c
1 /**
2  * Copyright (C) 2012 Ulteo SAS
3  * http://www.ulteo.com
4  * Author Jocelyn DELALANDE <j.delalande@ulteo.com> 2012
5  *
6  * This program is free software; you can redistribute it and/or 
7  * modify it under the terms of the GNU General Public License
8  * as published by the Free Software Foundation; version 2
9  * of the License.
10  *
11  * This program is distributed in the hope that it will be useful,
12  * but WITHOUT ANY WARRANTY; without even the implied warranty of
13  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
14  * GNU General Public License for more details.
15  *
16  * You should have received a copy of the GNU General Public License
17  * along with this program; if not, write to the Free Software
18  * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301, USA.
19  **/
20
21
22 #include "unicode_convtable.h"
23
24 int keysym2uni(int keysym) {
25         init_unicode_tables();
26         /* Default: no exception */
27         int exception = 0;
28
29         if (keysym < 0x100000) {
30                 // Look for a 4-digits-form exception
31                 exception =  keysym2uni_base[keysym];
32         } else {
33                 // Look for a 7-digits-form exception
34                 /* Switch to look for 0x1001XXX 0x1002XXX or 0x1002XXX 
35                    the tables only indexes on XXX
36                  */
37                 switch(keysym & 0xFFFF000) {
38                 case 0x1000000:
39                         exception = keysym2uni_ext0[keysym & 0x0000FFF];
40                         break;
41                 case 0x1001000:
42                         exception = keysym2uni_ext1[keysym & 0x0000FFF];
43                         break;
44                 case 0x1002000:
45                         exception = keysym2uni_ext2[keysym & 0x0000FFF];
46                         break;
47                 }
48
49                 /* If the keysym is not within exceptions, keysym = unicode */
50         }
51         if (exception != 0) {
52                 return exception;
53         } else {
54                 return keysym;
55         }
56 }
57
58 void init_unicode_tables() {
59         // initialize only on first function call.
60         static int keysym2uni_initialized = 0;
61
62         if (keysym2uni_initialized >0)
63                 return;
64         else
65                 keysym2uni_initialized = 1;
66
67 /* Filled with script tools/ini2dot_h_unimap.py */
68 keysym2uni_base[0x11] = 104;
69 keysym2uni_base[0x1a1] = 0x104;
70 keysym2uni_base[0x1a2] = 0x2d8;
71 keysym2uni_base[0x1a3] = 0x141;
72 keysym2uni_base[0x1a5] = 0x13d;
73 keysym2uni_base[0x1a6] = 0x15a;
74 keysym2uni_base[0x1a9] = 0x160;
75 keysym2uni_base[0x1aa] = 0x15e;
76 keysym2uni_base[0x1ab] = 0x164;
77 keysym2uni_base[0x1ac] = 0x179;
78 keysym2uni_base[0x1ae] = 0x17d;
79 keysym2uni_base[0x1af] = 0x17b;
80 keysym2uni_base[0x1b1] = 0x105;
81 keysym2uni_base[0x1b2] = 0x2db;
82 keysym2uni_base[0x1b3] = 0x142;
83 keysym2uni_base[0x1b5] = 0x13e;
84 keysym2uni_base[0x1b6] = 0x15b;
85 keysym2uni_base[0x1b7] = 0x2c7;
86 keysym2uni_base[0x1b9] = 0x161;
87 keysym2uni_base[0x1ba] = 0x15f;
88 keysym2uni_base[0x1bb] = 0x165;
89 keysym2uni_base[0x1bc] = 0x17a;
90 keysym2uni_base[0x1bd] = 0x2dd;
91 keysym2uni_base[0x1be] = 0x17e;
92 keysym2uni_base[0x1bf] = 0x17c;
93 keysym2uni_base[0x1c0] = 0x154;
94 keysym2uni_base[0x1c3] = 0x102;
95 keysym2uni_base[0x1c5] = 0x139;
96 keysym2uni_base[0x1c6] = 0x106;
97 keysym2uni_base[0x1c8] = 0x10c;
98 keysym2uni_base[0x1ca] = 0x118;
99 keysym2uni_base[0x1cc] = 0x11a;
100 keysym2uni_base[0x1cf] = 0x10e;
101 keysym2uni_base[0x1d0] = 0x110;
102 keysym2uni_base[0x1d1] = 0x143;
103 keysym2uni_base[0x1d2] = 0x147;
104 keysym2uni_base[0x1d5] = 0x150;
105 keysym2uni_base[0x1d8] = 0x158;
106 keysym2uni_base[0x1d9] = 0x16e;
107 keysym2uni_base[0x1db] = 0x170;
108 keysym2uni_base[0x1de] = 0x162;
109 keysym2uni_base[0x1e0] = 0x155;
110 keysym2uni_base[0x1e3] = 0x103;
111 keysym2uni_base[0x1e5] = 0x13a;
112 keysym2uni_base[0x1e6] = 0x107;
113 keysym2uni_base[0x1e8] = 0x10d;
114 keysym2uni_base[0x1ea] = 0x119;
115 keysym2uni_base[0x1ec] = 0x11b;
116 keysym2uni_base[0x1ef] = 0x10f;
117 keysym2uni_base[0x1f0] = 0x111;
118 keysym2uni_base[0x1f1] = 0x144;
119 keysym2uni_base[0x1f2] = 0x148;
120 keysym2uni_base[0x1f5] = 0x151;
121 keysym2uni_base[0x1fb] = 0x171;
122 keysym2uni_base[0x1f8] = 0x159;
123 keysym2uni_base[0x1f9] = 0x16f;
124 keysym2uni_base[0x1fe] = 0x163;
125 keysym2uni_base[0x2a1] = 0x126;
126 keysym2uni_base[0x2a6] = 0x124;
127 keysym2uni_base[0x2a9] = 0x130;
128 keysym2uni_base[0x2ab] = 0x11e;
129 keysym2uni_base[0x2ac] = 0x134;
130 keysym2uni_base[0x2b1] = 0x127;
131 keysym2uni_base[0x2b6] = 0x125;
132 keysym2uni_base[0x2b9] = 0x131;
133 keysym2uni_base[0x2bb] = 0x11f;
134 keysym2uni_base[0x2bc] = 0x135;
135 keysym2uni_base[0x2c5] = 0x10a;
136 keysym2uni_base[0x2c6] = 0x108;
137 keysym2uni_base[0x2d5] = 0x120;
138 keysym2uni_base[0x2d8] = 0x11c;
139 keysym2uni_base[0x2dd] = 0x16c;
140 keysym2uni_base[0x2de] = 0x15c;
141 keysym2uni_base[0x2e5] = 0x10b;
142 keysym2uni_base[0x2e6] = 0x109;
143 keysym2uni_base[0x2f5] = 0x121;
144 keysym2uni_base[0x2f8] = 0x11d;
145 keysym2uni_base[0x2fd] = 0x16d;
146 keysym2uni_base[0x2fe] = 0x15d;
147 keysym2uni_base[0x3a2] = 0x138;
148 keysym2uni_base[0x3a3] = 0x156;
149 keysym2uni_base[0x3a5] = 0x128;
150 keysym2uni_base[0x3a6] = 0x13b;
151 keysym2uni_base[0x3aa] = 0x112;
152 keysym2uni_base[0x3ab] = 0x122;
153 keysym2uni_base[0x3ac] = 0x166;
154 keysym2uni_base[0x3b3] = 0x157;
155 keysym2uni_base[0x3b5] = 0x129;
156 keysym2uni_base[0x3b6] = 0x13c;
157 keysym2uni_base[0x3ba] = 0x113;
158 keysym2uni_base[0x3bb] = 0x123;
159 keysym2uni_base[0x3bc] = 0x167;
160 keysym2uni_base[0x3bd] = 0x14a;
161 keysym2uni_base[0x3bf] = 0x14b;
162 keysym2uni_base[0x3c0] = 0x100;
163 keysym2uni_base[0x3c7] = 0x12e;
164 keysym2uni_base[0x3cc] = 0x116;
165 keysym2uni_base[0x3cf] = 0x12a;
166 keysym2uni_base[0x3d1] = 0x145;
167 keysym2uni_base[0x3d2] = 0x14c;
168 keysym2uni_base[0x3d3] = 0x136;
169 keysym2uni_base[0x3d9] = 0x172;
170 keysym2uni_base[0x3dd] = 0x168;
171 keysym2uni_base[0x3de] = 0x16a;
172 keysym2uni_base[0x3e0] = 0x101;
173 keysym2uni_base[0x3e7] = 0x12f;
174 keysym2uni_base[0x3ec] = 0x117;
175 keysym2uni_base[0x3ef] = 0x12b;
176 keysym2uni_base[0x3f1] = 0x146;
177 keysym2uni_base[0x3f2] = 0x14d;
178 keysym2uni_base[0x3f3] = 0x137;
179 keysym2uni_base[0x3f9] = 0x173;
180 keysym2uni_base[0x3fd] = 0x169;
181 keysym2uni_base[0x3fe] = 0x16b;
182 keysym2uni_base[0x13bc] = 0x152;
183 keysym2uni_base[0x13bd] = 0x153;
184 keysym2uni_base[0x13be] = 0x178;
185 keysym2uni_base[0x47e] = 0x203e;
186 keysym2uni_base[0x4a1] = 0x3002;
187 keysym2uni_base[0x4a2] = 0x300c;
188 keysym2uni_base[0x4a3] = 0x300d;
189 keysym2uni_base[0x4a4] = 0x3001;
190 keysym2uni_base[0x4a5] = 0x30fb;
191 keysym2uni_base[0x4a6] = 0x30f2;
192 keysym2uni_base[0x4a7] = 0x30a1;
193 keysym2uni_base[0x4a8] = 0x30a3;
194 keysym2uni_base[0x4a9] = 0x30a5;
195 keysym2uni_base[0x4aa] = 0x30a7;
196 keysym2uni_base[0x4ab] = 0x30a9;
197 keysym2uni_base[0x4ac] = 0x30e3;
198 keysym2uni_base[0x4ad] = 0x30e5;
199 keysym2uni_base[0x4ae] = 0x30e7;
200 keysym2uni_base[0x4af] = 0x30c3;
201 keysym2uni_base[0x4b0] = 0x30fc;
202 keysym2uni_base[0x4b1] = 0x30a2;
203 keysym2uni_base[0x4b2] = 0x30a4;
204 keysym2uni_base[0x4b3] = 0x30a6;
205 keysym2uni_base[0x4b4] = 0x30a8;
206 keysym2uni_base[0x4b5] = 0x30aa;
207 keysym2uni_base[0x4b6] = 0x30ab;
208 keysym2uni_base[0x4b7] = 0x30ad;
209 keysym2uni_base[0x4b8] = 0x30af;
210 keysym2uni_base[0x4b9] = 0x30b1;
211 keysym2uni_base[0x4ba] = 0x30b3;
212 keysym2uni_base[0x4bb] = 0x30b5;
213 keysym2uni_base[0x4bc] = 0x30b7;
214 keysym2uni_base[0x4bd] = 0x30b9;
215 keysym2uni_base[0x4be] = 0x30bb;
216 keysym2uni_base[0x4bf] = 0x30bd;
217 keysym2uni_base[0x4c0] = 0x30bf;
218 keysym2uni_base[0x4c1] = 0x30c1;
219 keysym2uni_base[0x4c2] = 0x30c4;
220 keysym2uni_base[0x4c3] = 0x30c6;
221 keysym2uni_base[0x4c4] = 0x30c8;
222 keysym2uni_base[0x4c5] = 0x30ca;
223 keysym2uni_base[0x4c6] = 0x30cb;
224 keysym2uni_base[0x4c7] = 0x30cc;
225 keysym2uni_base[0x4c8] = 0x30cd;
226 keysym2uni_base[0x4c9] = 0x30ce;
227 keysym2uni_base[0x4ca] = 0x30cf;
228 keysym2uni_base[0x4cb] = 0x30d2;
229 keysym2uni_base[0x4cc] = 0x30d5;
230 keysym2uni_base[0x4cd] = 0x30d8;
231 keysym2uni_base[0x4ce] = 0x30db;
232 keysym2uni_base[0x4cf] = 0x30de;
233 keysym2uni_base[0x4d0] = 0x30df;
234 keysym2uni_base[0x4d1] = 0x30e0;
235 keysym2uni_base[0x4d2] = 0x30e1;
236 keysym2uni_base[0x4d3] = 0x30e2;
237 keysym2uni_base[0x4d4] = 0x30e4;
238 keysym2uni_base[0x4d5] = 0x30e6;
239 keysym2uni_base[0x4d6] = 0x30e8;
240 keysym2uni_base[0x4d7] = 0x30e9;
241 keysym2uni_base[0x4d8] = 0x30ea;
242 keysym2uni_base[0x4d9] = 0x30eb;
243 keysym2uni_base[0x4da] = 0x30ec;
244 keysym2uni_base[0x4db] = 0x30ed;
245 keysym2uni_base[0x4dc] = 0x30ef;
246 keysym2uni_base[0x4dd] = 0x30f3;
247 keysym2uni_base[0x4de] = 0x309b;
248 keysym2uni_base[0x4df] = 0x309c;
249 keysym2uni_base[0x5ac] = 0x60c;
250 keysym2uni_base[0x5bb] = 0x61b;
251 keysym2uni_base[0x5bf] = 0x61f;
252 keysym2uni_base[0x5c1] = 0x621;
253 keysym2uni_base[0x5c2] = 0x622;
254 keysym2uni_base[0x5c3] = 0x623;
255 keysym2uni_base[0x5c4] = 0x624;
256 keysym2uni_base[0x5c5] = 0x625;
257 keysym2uni_base[0x5c6] = 0x626;
258 keysym2uni_base[0x5c7] = 0x627;
259 keysym2uni_base[0x5c8] = 0x628;
260 keysym2uni_base[0x5c9] = 0x629;
261 keysym2uni_base[0x5ca] = 0x62a;
262 keysym2uni_base[0x5cb] = 0x62b;
263 keysym2uni_base[0x5cc] = 0x62c;
264 keysym2uni_base[0x5cd] = 0x62d;
265 keysym2uni_base[0x5ce] = 0x62e;
266 keysym2uni_base[0x5cf] = 0x62f;
267 keysym2uni_base[0x5d0] = 0x630;
268 keysym2uni_base[0x5d1] = 0x631;
269 keysym2uni_base[0x5d2] = 0x632;
270 keysym2uni_base[0x5d3] = 0x633;
271 keysym2uni_base[0x5d4] = 0x634;
272 keysym2uni_base[0x5d5] = 0x635;
273 keysym2uni_base[0x5d6] = 0x636;
274 keysym2uni_base[0x5d7] = 0x637;
275 keysym2uni_base[0x5d8] = 0x638;
276 keysym2uni_base[0x5d9] = 0x639;
277 keysym2uni_base[0x5da] = 0x63a;
278 keysym2uni_base[0x5e0] = 0x640;
279 keysym2uni_base[0x5e1] = 0x641;
280 keysym2uni_base[0x5e2] = 0x642;
281 keysym2uni_base[0x5e3] = 0x643;
282 keysym2uni_base[0x5e4] = 0x644;
283 keysym2uni_base[0x5e5] = 0x645;
284 keysym2uni_base[0x5e6] = 0x646;
285 keysym2uni_base[0x5e7] = 0x647;
286 keysym2uni_base[0x5e8] = 0x648;
287 keysym2uni_base[0x5e9] = 0x649;
288 keysym2uni_base[0x5ea] = 0x64a;
289 keysym2uni_base[0x5eb] = 0x64b;
290 keysym2uni_base[0x5ec] = 0x64c;
291 keysym2uni_base[0x5ed] = 0x64d;
292 keysym2uni_base[0x5ee] = 0x64e;
293 keysym2uni_base[0x5ef] = 0x64f;
294 keysym2uni_base[0x5f0] = 0x650;
295 keysym2uni_base[0x5f1] = 0x651;
296 keysym2uni_base[0x5f2] = 0x652;
297 keysym2uni_base[0x6a1] = 0x452;
298 keysym2uni_base[0x6a2] = 0x453;
299 keysym2uni_base[0x6a3] = 0x451;
300 keysym2uni_base[0x6a4] = 0x454;
301 keysym2uni_base[0x6a5] = 0x455;
302 keysym2uni_base[0x6a6] = 0x456;
303 keysym2uni_base[0x6a7] = 0x457;
304 keysym2uni_base[0x6a8] = 0x458;
305 keysym2uni_base[0x6a9] = 0x459;
306 keysym2uni_base[0x6aa] = 0x45a;
307 keysym2uni_base[0x6ab] = 0x45b;
308 keysym2uni_base[0x6ac] = 0x45c;
309 keysym2uni_base[0x6ad] = 0x491;
310 keysym2uni_base[0x6ae] = 0x45e;
311 keysym2uni_base[0x6af] = 0x45f;
312 keysym2uni_base[0x6b0] = 0x2116;
313 keysym2uni_base[0x6b1] = 0x402;
314 keysym2uni_base[0x6b2] = 0x403;
315 keysym2uni_base[0x6b3] = 0x401;
316 keysym2uni_base[0x6b4] = 0x404;
317 keysym2uni_base[0x6b5] = 0x405;
318 keysym2uni_base[0x6b6] = 0x406;
319 keysym2uni_base[0x6b7] = 0x407;
320 keysym2uni_base[0x6b8] = 0x408;
321 keysym2uni_base[0x6b9] = 0x409;
322 keysym2uni_base[0x6ba] = 0x40a;
323 keysym2uni_base[0x6bb] = 0x40b;
324 keysym2uni_base[0x6bc] = 0x40c;
325 keysym2uni_base[0x6bd] = 0x490;
326 keysym2uni_base[0x6be] = 0x40e;
327 keysym2uni_base[0x6bf] = 0x40f;
328 keysym2uni_base[0x6c0] = 0x44e;
329 keysym2uni_base[0x6c1] = 0x430;
330 keysym2uni_base[0x6c2] = 0x431;
331 keysym2uni_base[0x6c3] = 0x446;
332 keysym2uni_base[0x6c4] = 0x434;
333 keysym2uni_base[0x6c5] = 0x435;
334 keysym2uni_base[0x6c6] = 0x444;
335 keysym2uni_base[0x6c7] = 0x433;
336 keysym2uni_base[0x6c8] = 0x445;
337 keysym2uni_base[0x6c9] = 0x438;
338 keysym2uni_base[0x6ca] = 0x439;
339 keysym2uni_base[0x6cb] = 0x43a;
340 keysym2uni_base[0x6cc] = 0x43b;
341 keysym2uni_base[0x6cd] = 0x43c;
342 keysym2uni_base[0x6ce] = 0x43d;
343 keysym2uni_base[0x6cf] = 0x43e;
344 keysym2uni_base[0x6d0] = 0x43f;
345 keysym2uni_base[0x6d1] = 0x44f;
346 keysym2uni_base[0x6d2] = 0x440;
347 keysym2uni_base[0x6d3] = 0x441;
348 keysym2uni_base[0x6d4] = 0x442;
349 keysym2uni_base[0x6d5] = 0x443;
350 keysym2uni_base[0x6d6] = 0x436;
351 keysym2uni_base[0x6d7] = 0x432;
352 keysym2uni_base[0x6d8] = 0x44c;
353 keysym2uni_base[0x6d9] = 0x44b;
354 keysym2uni_base[0x6da] = 0x437;
355 keysym2uni_base[0x6db] = 0x448;
356 keysym2uni_base[0x6dc] = 0x44d;
357 keysym2uni_base[0x6dd] = 0x449;
358 keysym2uni_base[0x6de] = 0x447;
359 keysym2uni_base[0x6df] = 0x44a;
360 keysym2uni_base[0x6e0] = 0x42e;
361 keysym2uni_base[0x6e1] = 0x410;
362 keysym2uni_base[0x6e2] = 0x411;
363 keysym2uni_base[0x6e3] = 0x426;
364 keysym2uni_base[0x6e4] = 0x414;
365 keysym2uni_base[0x6e5] = 0x415;
366 keysym2uni_base[0x6e6] = 0x424;
367 keysym2uni_base[0x6e7] = 0x413;
368 keysym2uni_base[0x6e8] = 0x425;
369 keysym2uni_base[0x6e9] = 0x418;
370 keysym2uni_base[0x6ea] = 0x419;
371 keysym2uni_base[0x6eb] = 0x41a;
372 keysym2uni_base[0x6ec] = 0x41b;
373 keysym2uni_base[0x6ed] = 0x41c;
374 keysym2uni_base[0x6ee] = 0x41d;
375 keysym2uni_base[0x6ef] = 0x41e;
376 keysym2uni_base[0x6f0] = 0x41f;
377 keysym2uni_base[0x6f1] = 0x42f;
378 keysym2uni_base[0x6f2] = 0x420;
379 keysym2uni_base[0x6f3] = 0x421;
380 keysym2uni_base[0x6f4] = 0x422;
381 keysym2uni_base[0x6f5] = 0x423;
382 keysym2uni_base[0x6f6] = 0x416;
383 keysym2uni_base[0x6f7] = 0x412;
384 keysym2uni_base[0x6f8] = 0x42c;
385 keysym2uni_base[0x6f9] = 0x42b;
386 keysym2uni_base[0x6fa] = 0x417;
387 keysym2uni_base[0x6fb] = 0x428;
388 keysym2uni_base[0x6fc] = 0x42d;
389 keysym2uni_base[0x6fd] = 0x429;
390 keysym2uni_base[0x6fe] = 0x427;
391 keysym2uni_base[0x6ff] = 0x42a;
392 keysym2uni_base[0x7a1] = 0x386;
393 keysym2uni_base[0x7a2] = 0x388;
394 keysym2uni_base[0x7a3] = 0x389;
395 keysym2uni_base[0x7a4] = 0x38a;
396 keysym2uni_base[0x7a5] = 0x3aa;
397 keysym2uni_base[0x7a7] = 0x38c;
398 keysym2uni_base[0x7a8] = 0x38e;
399 keysym2uni_base[0x7a9] = 0x3ab;
400 keysym2uni_base[0x7ab] = 0x38f;
401 keysym2uni_base[0x7ae] = 0x385;
402 keysym2uni_base[0x7af] = 0x2015;
403 keysym2uni_base[0x7b1] = 0x3ac;
404 keysym2uni_base[0x7b2] = 0x3ad;
405 keysym2uni_base[0x7b3] = 0x3ae;
406 keysym2uni_base[0x7b4] = 0x3af;
407 keysym2uni_base[0x7b5] = 0x3ca;
408 keysym2uni_base[0x7b6] = 0x390;
409 keysym2uni_base[0x7b7] = 0x3cc;
410 keysym2uni_base[0x7b8] = 0x3cd;
411 keysym2uni_base[0x7b9] = 0x3cb;
412 keysym2uni_base[0x7ba] = 0x3b0;
413 keysym2uni_base[0x7bb] = 0x3ce;
414 keysym2uni_base[0x7c1] = 0x391;
415 keysym2uni_base[0x7c2] = 0x392;
416 keysym2uni_base[0x7c3] = 0x393;
417 keysym2uni_base[0x7c4] = 0x394;
418 keysym2uni_base[0x7c5] = 0x395;
419 keysym2uni_base[0x7c6] = 0x396;
420 keysym2uni_base[0x7c7] = 0x397;
421 keysym2uni_base[0x7c8] = 0x398;
422 keysym2uni_base[0x7c9] = 0x399;
423 keysym2uni_base[0x7ca] = 0x39a;
424 keysym2uni_base[0x7cb] = 0x39b;
425 keysym2uni_base[0x7cc] = 0x39c;
426 keysym2uni_base[0x7cd] = 0x39d;
427 keysym2uni_base[0x7ce] = 0x39e;
428 keysym2uni_base[0x7cf] = 0x39f;
429 keysym2uni_base[0x7d0] = 0x3a0;
430 keysym2uni_base[0x7d1] = 0x3a1;
431 keysym2uni_base[0x7d2] = 0x3a3;
432 keysym2uni_base[0x7d4] = 0x3a4;
433 keysym2uni_base[0x7d5] = 0x3a5;
434 keysym2uni_base[0x7d6] = 0x3a6;
435 keysym2uni_base[0x7d7] = 0x3a7;
436 keysym2uni_base[0x7d8] = 0x3a8;
437 keysym2uni_base[0x7d9] = 0x3a9;
438 keysym2uni_base[0x7e1] = 0x3b1;
439 keysym2uni_base[0x7e2] = 0x3b2;
440 keysym2uni_base[0x7e3] = 0x3b3;
441 keysym2uni_base[0x7e4] = 0x3b4;
442 keysym2uni_base[0x7e5] = 0x3b5;
443 keysym2uni_base[0x7e6] = 0x3b6;
444 keysym2uni_base[0x7e7] = 0x3b7;
445 keysym2uni_base[0x7e8] = 0x3b8;
446 keysym2uni_base[0x7e9] = 0x3b9;
447 keysym2uni_base[0x7ea] = 0x3ba;
448 keysym2uni_base[0x7eb] = 0x3bb;
449 keysym2uni_base[0x7ec] = 0x3bc;
450 keysym2uni_base[0x7ed] = 0x3bd;
451 keysym2uni_base[0x7ee] = 0x3be;
452 keysym2uni_base[0x7ef] = 0x3bf;
453 keysym2uni_base[0x7f0] = 0x3c0;
454 keysym2uni_base[0x7f1] = 0x3c1;
455 keysym2uni_base[0x7f2] = 0x3c3;
456 keysym2uni_base[0x7f3] = 0x3c2;
457 keysym2uni_base[0x7f4] = 0x3c4;
458 keysym2uni_base[0x7f5] = 0x3c5;
459 keysym2uni_base[0x7f6] = 0x3c6;
460 keysym2uni_base[0x7f7] = 0x3c7;
461 keysym2uni_base[0x7f8] = 0x3c8;
462 keysym2uni_base[0x7f9] = 0x3c9;
463 keysym2uni_base[0x8a1] = 0x23b7;
464 keysym2uni_base[0x9ec] = 0x250c;
465 keysym2uni_base[0x9f1] = 0x2500;
466 keysym2uni_base[0x8a4] = 0x2320;
467 keysym2uni_base[0x8a5] = 0x2321;
468 keysym2uni_base[0x9f8] = 0x2502;
469 keysym2uni_base[0x8a7] = 0x23a1;
470 keysym2uni_base[0x8a8] = 0x23a3;
471 keysym2uni_base[0x8a9] = 0x23a4;
472 keysym2uni_base[0x8aa] = 0x23a6;
473 keysym2uni_base[0x8ab] = 0x239b;
474 keysym2uni_base[0x8ac] = 0x239d;
475 keysym2uni_base[0x8ad] = 0x239e;
476 keysym2uni_base[0x8ae] = 0x23a0;
477 keysym2uni_base[0x8af] = 0x23a8;
478 keysym2uni_base[0x8b0] = 0x23ac;
479 keysym2uni_base[0x8bc] = 0x2264;
480 keysym2uni_base[0x8bd] = 0x2260;
481 keysym2uni_base[0x8be] = 0x2265;
482 keysym2uni_base[0x8bf] = 0x222b;
483 keysym2uni_base[0x8c0] = 0x2234;
484 keysym2uni_base[0x8c1] = 0x221d;
485 keysym2uni_base[0x8c2] = 0x221e;
486 keysym2uni_base[0x8c5] = 0x2207;
487 keysym2uni_base[0x8c8] = 0x223c;
488 keysym2uni_base[0x8c9] = 0x2243;
489 keysym2uni_base[0x8cd] = 0x21d4;
490 keysym2uni_base[0x8ce] = 0x21d2;
491 keysym2uni_base[0x8cf] = 0x2261;
492 keysym2uni_base[0xbda] = 0x2282;
493 keysym2uni_base[0xbd8] = 0x2283;
494 keysym2uni_base[0xbc3] = 0x2229;
495 keysym2uni_base[0xbd6] = 0x222a;
496 keysym2uni_base[0xba9] = 0x2227;
497 keysym2uni_base[0xba8] = 0x2228;
498 keysym2uni_base[0x8f6] = 0x192;
499 keysym2uni_base[0x8fb] = 0x2190;
500 keysym2uni_base[0x8fc] = 0x2191;
501 keysym2uni_base[0x8fd] = 0x2192;
502 keysym2uni_base[0x8fe] = 0x2193;
503 keysym2uni_base[0x9e0] = 0x25c6;
504 keysym2uni_base[0x9e1] = 0x2592;
505 keysym2uni_base[0x9e2] = 0x2409;
506 keysym2uni_base[0x9e3] = 0x240c;
507 keysym2uni_base[0x9e4] = 0x240d;
508 keysym2uni_base[0x9e5] = 0x240a;
509 keysym2uni_base[0x9e8] = 0x2424;
510 keysym2uni_base[0x9e9] = 0x240b;
511 keysym2uni_base[0x9ea] = 0x2518;
512 keysym2uni_base[0x9eb] = 0x2510;
513 keysym2uni_base[0x9ed] = 0x2514;
514 keysym2uni_base[0x9ee] = 0x253c;
515 keysym2uni_base[0x9ef] = 0x23ba;
516 keysym2uni_base[0x9f0] = 0x23bb;
517 keysym2uni_base[0x9f2] = 0x23bc;
518 keysym2uni_base[0x9f3] = 0x23bd;
519 keysym2uni_base[0x9f4] = 0x251c;
520 keysym2uni_base[0x9f5] = 0x2524;
521 keysym2uni_base[0x9f6] = 0x2534;
522 keysym2uni_base[0x9f7] = 0x252c;
523 keysym2uni_base[0xaa1] = 0x2003;
524 keysym2uni_base[0xaa2] = 0x2002;
525 keysym2uni_base[0xaa3] = 0x2004;
526 keysym2uni_base[0xaa4] = 0x2005;
527 keysym2uni_base[0xaa5] = 0x2007;
528 keysym2uni_base[0xaa6] = 0x2008;
529 keysym2uni_base[0xaa7] = 0x2009;
530 keysym2uni_base[0xaa8] = 0x200a;
531 keysym2uni_base[0xaa9] = 0x2014;
532 keysym2uni_base[0xaaa] = 0x2013;
533 keysym2uni_base[0xaac] = 0x2423;
534 keysym2uni_base[0xaae] = 0x2026;
535 keysym2uni_base[0xaaf] = 0x2025;
536 keysym2uni_base[0xab0] = 0x2153;
537 keysym2uni_base[0xab1] = 0x2154;
538 keysym2uni_base[0xab2] = 0x2155;
539 keysym2uni_base[0xab3] = 0x2156;
540 keysym2uni_base[0xab4] = 0x2157;
541 keysym2uni_base[0xab5] = 0x2158;
542 keysym2uni_base[0xab6] = 0x2159;
543 keysym2uni_base[0xab7] = 0x215a;
544 keysym2uni_base[0xab8] = 0x2105;
545 keysym2uni_base[0xabb] = 0x2012;
546 keysym2uni_base[0xabc] = 0x27e8;
547 keysym2uni_base[0xabd] = 0x2e;
548 keysym2uni_base[0xabe] = 0x27e9;
549 keysym2uni_base[0xac3] = 0x215b;
550 keysym2uni_base[0xac4] = 0x215c;
551 keysym2uni_base[0xac5] = 0x215d;
552 keysym2uni_base[0xac6] = 0x215e;
553 keysym2uni_base[0xac9] = 0x2122;
554 keysym2uni_base[0xaca] = 0x2613;
555 keysym2uni_base[0xacc] = 0x25c1;
556 keysym2uni_base[0xacd] = 0x25b7;
557 keysym2uni_base[0xbcf] = 0x25cb;
558 keysym2uni_base[0xacf] = 0x25af;
559 keysym2uni_base[0xad0] = 0x2018;
560 keysym2uni_base[0xad1] = 0x2019;
561 keysym2uni_base[0xad2] = 0x201c;
562 keysym2uni_base[0xad3] = 0x201d;
563 keysym2uni_base[0xad4] = 0x211e;
564 keysym2uni_base[0xad6] = 0x2032;
565 keysym2uni_base[0xad7] = 0x2033;
566 keysym2uni_base[0xad9] = 0x271d;
567 keysym2uni_base[0xadb] = 0x25ac;
568 keysym2uni_base[0xadc] = 0x25c0;
569 keysym2uni_base[0xadd] = 0x25b6;
570 keysym2uni_base[0xade] = 0x25cf;
571 keysym2uni_base[0xadf] = 0x25ae;
572 keysym2uni_base[0xae0] = 0x25e6;
573 keysym2uni_base[0xae1] = 0x25ab;
574 keysym2uni_base[0xae2] = 0x25ad;
575 keysym2uni_base[0xae3] = 0x25b3;
576 keysym2uni_base[0xae4] = 0x25bd;
577 keysym2uni_base[0xae5] = 0x2606;
578 keysym2uni_base[0xae6] = 0x2022;
579 keysym2uni_base[0xae7] = 0x25aa;
580 keysym2uni_base[0xae8] = 0x25b2;
581 keysym2uni_base[0xae9] = 0x25bc;
582 keysym2uni_base[0xaea] = 0x261c;
583 keysym2uni_base[0xaeb] = 0x261e;
584 keysym2uni_base[0xaec] = 0x2663;
585 keysym2uni_base[0xaed] = 0x2666;
586 keysym2uni_base[0xaee] = 0x2665;
587 keysym2uni_base[0xaf0] = 0x2720;
588 keysym2uni_base[0xaf1] = 0x2020;
589 keysym2uni_base[0xaf2] = 0x2021;
590 keysym2uni_base[0xaf3] = 0x2713;
591 keysym2uni_base[0xaf4] = 0x2717;
592 keysym2uni_base[0xaf5] = 0x266f;
593 keysym2uni_base[0xaf6] = 0x266d;
594 keysym2uni_base[0xaf7] = 0x2642;
595 keysym2uni_base[0xaf8] = 0x2640;
596 keysym2uni_base[0xaf9] = 0x260e;
597 keysym2uni_base[0xafa] = 0x2315;
598 keysym2uni_base[0xafb] = 0x2117;
599 keysym2uni_base[0xafc] = 0x2038;
600 keysym2uni_base[0xafd] = 0x201a;
601 keysym2uni_base[0xafe] = 0x201e;
602 keysym2uni_base[0xba3] = 0x3c;
603 keysym2uni_base[0xba6] = 0x3e;
604 keysym2uni_base[0xbc0] = 0xaf;
605 keysym2uni_base[0xbc2] = 0x22a4;
606 keysym2uni_base[0xbc4] = 0x230a;
607 keysym2uni_base[0xbca] = 0x2218;
608 keysym2uni_base[0xbcc] = 0x2395;
609 keysym2uni_base[0xbce] = 0x22a5;
610 keysym2uni_base[0xbd3] = 0x2308;
611 keysym2uni_base[0xbdc] = 0x22a3;
612 keysym2uni_base[0xbfc] = 0x22a2;
613 keysym2uni_base[0xcdf] = 0x2017;
614 keysym2uni_base[0xce0] = 0x5d0;
615 keysym2uni_base[0xce1] = 0x5d1;
616 keysym2uni_base[0xce2] = 0x5d2;
617 keysym2uni_base[0xce3] = 0x5d3;
618 keysym2uni_base[0xce4] = 0x5d4;
619 keysym2uni_base[0xce5] = 0x5d5;
620 keysym2uni_base[0xce6] = 0x5d6;
621 keysym2uni_base[0xce7] = 0x5d7;
622 keysym2uni_base[0xce8] = 0x5d8;
623 keysym2uni_base[0xce9] = 0x5d9;
624 keysym2uni_base[0xcea] = 0x5da;
625 keysym2uni_base[0xceb] = 0x5db;
626 keysym2uni_base[0xcec] = 0x5dc;
627 keysym2uni_base[0xced] = 0x5dd;
628 keysym2uni_base[0xcee] = 0x5de;
629 keysym2uni_base[0xcef] = 0x5df;
630 keysym2uni_base[0xcf0] = 0x5e0;
631 keysym2uni_base[0xcf1] = 0x5e1;
632 keysym2uni_base[0xcf2] = 0x5e2;
633 keysym2uni_base[0xcf3] = 0x5e3;
634 keysym2uni_base[0xcf4] = 0x5e4;
635 keysym2uni_base[0xcf5] = 0x5e5;
636 keysym2uni_base[0xcf6] = 0x5e6;
637 keysym2uni_base[0xcf7] = 0x5e7;
638 keysym2uni_base[0xcf8] = 0x5e8;
639 keysym2uni_base[0xcf9] = 0x5e9;
640 keysym2uni_base[0xcfa] = 0x5ea;
641 keysym2uni_base[0xda1] = 0xe01;
642 keysym2uni_base[0xda2] = 0xe02;
643 keysym2uni_base[0xda3] = 0xe03;
644 keysym2uni_base[0xda4] = 0xe04;
645 keysym2uni_base[0xda5] = 0xe05;
646 keysym2uni_base[0xda6] = 0xe06;
647 keysym2uni_base[0xda7] = 0xe07;
648 keysym2uni_base[0xda8] = 0xe08;
649 keysym2uni_base[0xda9] = 0xe09;
650 keysym2uni_base[0xdaa] = 0xe0a;
651 keysym2uni_base[0xdab] = 0xe0b;
652 keysym2uni_base[0xdac] = 0xe0c;
653 keysym2uni_base[0xdad] = 0xe0d;
654 keysym2uni_base[0xdae] = 0xe0e;
655 keysym2uni_base[0xdaf] = 0xe0f;
656 keysym2uni_base[0xdb0] = 0xe10;
657 keysym2uni_base[0xdb1] = 0xe11;
658 keysym2uni_base[0xdb2] = 0xe12;
659 keysym2uni_base[0xdb3] = 0xe13;
660 keysym2uni_base[0xdb4] = 0xe14;
661 keysym2uni_base[0xdb5] = 0xe15;
662 keysym2uni_base[0xdb6] = 0xe16;
663 keysym2uni_base[0xdb7] = 0xe17;
664 keysym2uni_base[0xdb8] = 0xe18;
665 keysym2uni_base[0xdb9] = 0xe19;
666 keysym2uni_base[0xdba] = 0xe1a;
667 keysym2uni_base[0xdbb] = 0xe1b;
668 keysym2uni_base[0xdbc] = 0xe1c;
669 keysym2uni_base[0xdbd] = 0xe1d;
670 keysym2uni_base[0xdbe] = 0xe1e;
671 keysym2uni_base[0xdbf] = 0xe1f;
672 keysym2uni_base[0xdc0] = 0xe20;
673 keysym2uni_base[0xdc1] = 0xe21;
674 keysym2uni_base[0xdc2] = 0xe22;
675 keysym2uni_base[0xdc3] = 0xe23;
676 keysym2uni_base[0xdc4] = 0xe24;
677 keysym2uni_base[0xdc5] = 0xe25;
678 keysym2uni_base[0xdc6] = 0xe26;
679 keysym2uni_base[0xdc7] = 0xe27;
680 keysym2uni_base[0xdc8] = 0xe28;
681 keysym2uni_base[0xdc9] = 0xe29;
682 keysym2uni_base[0xdca] = 0xe2a;
683 keysym2uni_base[0xdcb] = 0xe2b;
684 keysym2uni_base[0xdcc] = 0xe2c;
685 keysym2uni_base[0xdcd] = 0xe2d;
686 keysym2uni_base[0xdce] = 0xe2e;
687 keysym2uni_base[0xdcf] = 0xe2f;
688 keysym2uni_base[0xdd0] = 0xe30;
689 keysym2uni_base[0xdd1] = 0xe31;
690 keysym2uni_base[0xdd2] = 0xe32;
691 keysym2uni_base[0xdd3] = 0xe33;
692 keysym2uni_base[0xdd4] = 0xe34;
693 keysym2uni_base[0xdd5] = 0xe35;
694 keysym2uni_base[0xdd6] = 0xe36;
695 keysym2uni_base[0xdd7] = 0xe37;
696 keysym2uni_base[0xdd8] = 0xe38;
697 keysym2uni_base[0xdd9] = 0xe39;
698 keysym2uni_base[0xdda] = 0xe3a;
699 keysym2uni_base[0xddf] = 0xe3f;
700 keysym2uni_base[0xde0] = 0xe40;
701 keysym2uni_base[0xde1] = 0xe41;
702 keysym2uni_base[0xde2] = 0xe42;
703 keysym2uni_base[0xde3] = 0xe43;
704 keysym2uni_base[0xde4] = 0xe44;
705 keysym2uni_base[0xde5] = 0xe45;
706 keysym2uni_base[0xde6] = 0xe46;
707 keysym2uni_base[0xde7] = 0xe47;
708 keysym2uni_base[0xde8] = 0xe48;
709 keysym2uni_base[0xde9] = 0xe49;
710 keysym2uni_base[0xdea] = 0xe4a;
711 keysym2uni_base[0xdeb] = 0xe4b;
712 keysym2uni_base[0xdec] = 0xe4c;
713 keysym2uni_base[0xded] = 0xe4d;
714 keysym2uni_base[0xdf0] = 0xe50;
715 keysym2uni_base[0xdf1] = 0xe51;
716 keysym2uni_base[0xdf2] = 0xe52;
717 keysym2uni_base[0xdf3] = 0xe53;
718 keysym2uni_base[0xdf4] = 0xe54;
719 keysym2uni_base[0xdf5] = 0xe55;
720 keysym2uni_base[0xdf6] = 0xe56;
721 keysym2uni_base[0xdf7] = 0xe57;
722 keysym2uni_base[0xdf8] = 0xe58;
723 keysym2uni_base[0xdf9] = 0xe59;
724
725
726 keysym2uni_ext0[0x174] = 0x174;
727 keysym2uni_ext0[0x176] = 0x176;
728 keysym2uni_ext0[0x175] = 0x175;
729 keysym2uni_ext0[0x177] = 0x177;
730 keysym2uni_ext0[0x6f0] = 0x6f0;
731 keysym2uni_ext0[0x6f1] = 0x6f1;
732 keysym2uni_ext0[0x6f2] = 0x6f2;
733 keysym2uni_ext0[0x6f3] = 0x6f3;
734 keysym2uni_ext0[0x6f4] = 0x6f4;
735 keysym2uni_ext0[0x6f5] = 0x6f5;
736 keysym2uni_ext0[0x6f6] = 0x6f6;
737 keysym2uni_ext0[0x6f7] = 0x6f7;
738 keysym2uni_ext0[0x6f8] = 0x6f8;
739 keysym2uni_ext0[0x6f9] = 0x6f9;
740 keysym2uni_ext0[0x66a] = 0x66a;
741 keysym2uni_ext0[0x670] = 0x670;
742 keysym2uni_ext0[0x679] = 0x679;
743 keysym2uni_ext0[0x67e] = 0x67e;
744 keysym2uni_ext0[0x686] = 0x686;
745 keysym2uni_ext0[0x688] = 0x688;
746 keysym2uni_ext0[0x691] = 0x691;
747 keysym2uni_ext0[0x6d4] = 0x6d4;
748 keysym2uni_ext0[0x660] = 0x660;
749 keysym2uni_ext0[0x661] = 0x661;
750 keysym2uni_ext0[0x662] = 0x662;
751 keysym2uni_ext0[0x663] = 0x663;
752 keysym2uni_ext0[0x664] = 0x664;
753 keysym2uni_ext0[0x665] = 0x665;
754 keysym2uni_ext0[0x666] = 0x666;
755 keysym2uni_ext0[0x667] = 0x667;
756 keysym2uni_ext0[0x668] = 0x668;
757 keysym2uni_ext0[0x669] = 0x669;
758 keysym2uni_ext0[0x653] = 0x653;
759 keysym2uni_ext0[0x654] = 0x654;
760 keysym2uni_ext0[0x655] = 0x655;
761 keysym2uni_ext0[0x698] = 0x698;
762 keysym2uni_ext0[0x6a4] = 0x6a4;
763 keysym2uni_ext0[0x6a9] = 0x6a9;
764 keysym2uni_ext0[0x6af] = 0x6af;
765 keysym2uni_ext0[0x6ba] = 0x6ba;
766 keysym2uni_ext0[0x6be] = 0x6be;
767 keysym2uni_ext0[0x6cc] = 0x6cc;
768 keysym2uni_ext0[0x6d2] = 0x6d2;
769 keysym2uni_ext0[0x6c1] = 0x6c1;
770 keysym2uni_ext0[0x492] = 0x492;
771 keysym2uni_ext0[0x493] = 0x493;
772 keysym2uni_ext0[0x496] = 0x496;
773 keysym2uni_ext0[0x497] = 0x497;
774 keysym2uni_ext0[0x49a] = 0x49a;
775 keysym2uni_ext0[0x49b] = 0x49b;
776 keysym2uni_ext0[0x49c] = 0x49c;
777 keysym2uni_ext0[0x49d] = 0x49d;
778 keysym2uni_ext0[0x4a2] = 0x4a2;
779 keysym2uni_ext0[0x4a3] = 0x4a3;
780 keysym2uni_ext0[0x4ae] = 0x4ae;
781 keysym2uni_ext0[0x4af] = 0x4af;
782 keysym2uni_ext0[0x4b0] = 0x4b0;
783 keysym2uni_ext0[0x4b1] = 0x4b1;
784 keysym2uni_ext0[0x4b2] = 0x4b2;
785 keysym2uni_ext0[0x4b3] = 0x4b3;
786 keysym2uni_ext0[0x4b6] = 0x4b6;
787 keysym2uni_ext0[0x4b7] = 0x4b7;
788 keysym2uni_ext0[0x4b8] = 0x4b8;
789 keysym2uni_ext0[0x4b9] = 0x4b9;
790 keysym2uni_ext0[0x4ba] = 0x4ba;
791 keysym2uni_ext0[0x4bb] = 0x4bb;
792 keysym2uni_ext0[0x4d8] = 0x4d8;
793 keysym2uni_ext0[0x4d9] = 0x4d9;
794 keysym2uni_ext0[0x4e2] = 0x4e2;
795 keysym2uni_ext0[0x4e3] = 0x4e3;
796 keysym2uni_ext0[0x4e8] = 0x4e8;
797 keysym2uni_ext0[0x4e9] = 0x4e9;
798 keysym2uni_ext0[0x4ee] = 0x4ee;
799 keysym2uni_ext0[0x4ef] = 0x4ef;
800 keysym2uni_ext0[0x587] = 0x587;
801 keysym2uni_ext0[0x589] = 0x589;
802 keysym2uni_ext0[0x55d] = 0x55d;
803 keysym2uni_ext0[0x58a] = 0x58a;
804 keysym2uni_ext0[0x55c] = 0x55c;
805 keysym2uni_ext0[0x55b] = 0x55b;
806 keysym2uni_ext0[0x55e] = 0x55e;
807 keysym2uni_ext0[0x531] = 0x531;
808 keysym2uni_ext0[0x561] = 0x561;
809 keysym2uni_ext0[0x532] = 0x532;
810 keysym2uni_ext0[0x562] = 0x562;
811 keysym2uni_ext0[0x533] = 0x533;
812 keysym2uni_ext0[0x563] = 0x563;
813 keysym2uni_ext0[0x534] = 0x534;
814 keysym2uni_ext0[0x564] = 0x564;
815 keysym2uni_ext0[0x535] = 0x535;
816 keysym2uni_ext0[0x565] = 0x565;
817 keysym2uni_ext0[0x536] = 0x536;
818 keysym2uni_ext0[0x566] = 0x566;
819 keysym2uni_ext0[0x537] = 0x537;
820 keysym2uni_ext0[0x567] = 0x567;
821 keysym2uni_ext0[0x538] = 0x538;
822 keysym2uni_ext0[0x568] = 0x568;
823 keysym2uni_ext0[0x539] = 0x539;
824 keysym2uni_ext0[0x569] = 0x569;
825 keysym2uni_ext0[0x53a] = 0x53a;
826 keysym2uni_ext0[0x56a] = 0x56a;
827 keysym2uni_ext0[0x53b] = 0x53b;
828 keysym2uni_ext0[0x56b] = 0x56b;
829 keysym2uni_ext0[0x53c] = 0x53c;
830 keysym2uni_ext0[0x56c] = 0x56c;
831 keysym2uni_ext0[0x53d] = 0x53d;
832 keysym2uni_ext0[0x56d] = 0x56d;
833 keysym2uni_ext0[0x53e] = 0x53e;
834 keysym2uni_ext0[0x56e] = 0x56e;
835 keysym2uni_ext0[0x53f] = 0x53f;
836 keysym2uni_ext0[0x56f] = 0x56f;
837 keysym2uni_ext0[0x540] = 0x540;
838 keysym2uni_ext0[0x570] = 0x570;
839 keysym2uni_ext0[0x541] = 0x541;
840 keysym2uni_ext0[0x571] = 0x571;
841 keysym2uni_ext0[0x542] = 0x542;
842 keysym2uni_ext0[0x572] = 0x572;
843 keysym2uni_ext0[0x543] = 0x543;
844 keysym2uni_ext0[0x573] = 0x573;
845 keysym2uni_ext0[0x544] = 0x544;
846 keysym2uni_ext0[0x574] = 0x574;
847 keysym2uni_ext0[0x545] = 0x545;
848 keysym2uni_ext0[0x575] = 0x575;
849 keysym2uni_ext0[0x546] = 0x546;
850 keysym2uni_ext0[0x576] = 0x576;
851 keysym2uni_ext0[0x547] = 0x547;
852 keysym2uni_ext0[0x577] = 0x577;
853 keysym2uni_ext0[0x548] = 0x548;
854 keysym2uni_ext0[0x578] = 0x578;
855 keysym2uni_ext0[0x549] = 0x549;
856 keysym2uni_ext0[0x579] = 0x579;
857 keysym2uni_ext0[0x54a] = 0x54a;
858 keysym2uni_ext0[0x57a] = 0x57a;
859 keysym2uni_ext0[0x54b] = 0x54b;
860 keysym2uni_ext0[0x57b] = 0x57b;
861 keysym2uni_ext0[0x54c] = 0x54c;
862 keysym2uni_ext0[0x57c] = 0x57c;
863 keysym2uni_ext0[0x54d] = 0x54d;
864 keysym2uni_ext0[0x57d] = 0x57d;
865 keysym2uni_ext0[0x54e] = 0x54e;
866 keysym2uni_ext0[0x57e] = 0x57e;
867 keysym2uni_ext0[0x54f] = 0x54f;
868 keysym2uni_ext0[0x57f] = 0x57f;
869 keysym2uni_ext0[0x550] = 0x550;
870 keysym2uni_ext0[0x580] = 0x580;
871 keysym2uni_ext0[0x551] = 0x551;
872 keysym2uni_ext0[0x581] = 0x581;
873 keysym2uni_ext0[0x552] = 0x552;
874 keysym2uni_ext0[0x582] = 0x582;
875 keysym2uni_ext0[0x553] = 0x553;
876 keysym2uni_ext0[0x583] = 0x583;
877 keysym2uni_ext0[0x554] = 0x554;
878 keysym2uni_ext0[0x584] = 0x584;
879 keysym2uni_ext0[0x555] = 0x555;
880 keysym2uni_ext0[0x585] = 0x585;
881 keysym2uni_ext0[0x556] = 0x556;
882 keysym2uni_ext0[0x586] = 0x586;
883 keysym2uni_ext0[0x55a] = 0x55a;
884 keysym2uni_ext0[0x1b5] = 0x1b5;
885 keysym2uni_ext0[0x1e6] = 0x1e6;
886 keysym2uni_ext0[0x1d2] = 0x1d2;
887 keysym2uni_ext0[0x19f] = 0x19f;
888 keysym2uni_ext0[0x12d] = 0x12d;
889 keysym2uni_ext0[0x1b6] = 0x1b6;
890 keysym2uni_ext0[0x1e7] = 0x1e7;
891 keysym2uni_ext0[0x275] = 0x275;
892 keysym2uni_ext0[0x18f] = 0x18f;
893 keysym2uni_ext0[0x259] = 0x259;
894 keysym2uni_ext0[0x1a0] = 0x1a0;
895 keysym2uni_ext0[0x1a1] = 0x1a1;
896 keysym2uni_ext0[0x1af] = 0x1af;
897 keysym2uni_ext0[0x1b0] = 0x1b0;
898
899
900 keysym2uni_ext1[0xe02] = 0x1e02;
901 keysym2uni_ext1[0xe03] = 0x1e03;
902 keysym2uni_ext1[0xe0a] = 0x1e0a;
903 keysym2uni_ext1[0xe80] = 0x1e80;
904 keysym2uni_ext1[0xe82] = 0x1e82;
905 keysym2uni_ext1[0xe0b] = 0x1e0b;
906 keysym2uni_ext1[0xef2] = 0x1ef2;
907 keysym2uni_ext1[0xe1e] = 0x1e1e;
908 keysym2uni_ext1[0xe1f] = 0x1e1f;
909 keysym2uni_ext1[0xe40] = 0x1e40;
910 keysym2uni_ext1[0xe41] = 0x1e41;
911 keysym2uni_ext1[0xe56] = 0x1e56;
912 keysym2uni_ext1[0xe81] = 0x1e81;
913 keysym2uni_ext1[0xe57] = 0x1e57;
914 keysym2uni_ext1[0xe83] = 0x1e83;
915 keysym2uni_ext1[0xe60] = 0x1e60;
916 keysym2uni_ext1[0xef3] = 0x1ef3;
917 keysym2uni_ext1[0xe84] = 0x1e84;
918 keysym2uni_ext1[0xe85] = 0x1e85;
919 keysym2uni_ext1[0xe61] = 0x1e61;
920 keysym2uni_ext1[0xe6a] = 0x1e6a;
921 keysym2uni_ext1[0xe6b] = 0x1e6b;
922 keysym2uni_ext1[0x0d0] = 0x10d0;
923 keysym2uni_ext1[0x0d1] = 0x10d1;
924 keysym2uni_ext1[0x0d2] = 0x10d2;
925 keysym2uni_ext1[0x0d3] = 0x10d3;
926 keysym2uni_ext1[0x0d4] = 0x10d4;
927 keysym2uni_ext1[0x0d5] = 0x10d5;
928 keysym2uni_ext1[0x0d6] = 0x10d6;
929 keysym2uni_ext1[0x0d7] = 0x10d7;
930 keysym2uni_ext1[0x0d8] = 0x10d8;
931 keysym2uni_ext1[0x0d9] = 0x10d9;
932 keysym2uni_ext1[0x0da] = 0x10da;
933 keysym2uni_ext1[0x0db] = 0x10db;
934 keysym2uni_ext1[0x0dc] = 0x10dc;
935 keysym2uni_ext1[0x0dd] = 0x10dd;
936 keysym2uni_ext1[0x0de] = 0x10de;
937 keysym2uni_ext1[0x0df] = 0x10df;
938 keysym2uni_ext1[0x0e0] = 0x10e0;
939 keysym2uni_ext1[0x0e1] = 0x10e1;
940 keysym2uni_ext1[0x0e2] = 0x10e2;
941 keysym2uni_ext1[0x0e3] = 0x10e3;
942 keysym2uni_ext1[0x0e4] = 0x10e4;
943 keysym2uni_ext1[0x0e5] = 0x10e5;
944 keysym2uni_ext1[0x0e6] = 0x10e6;
945 keysym2uni_ext1[0x0e7] = 0x10e7;
946 keysym2uni_ext1[0x0e8] = 0x10e8;
947 keysym2uni_ext1[0x0e9] = 0x10e9;
948 keysym2uni_ext1[0x0ea] = 0x10ea;
949 keysym2uni_ext1[0x0eb] = 0x10eb;
950 keysym2uni_ext1[0x0ec] = 0x10ec;
951 keysym2uni_ext1[0x0ed] = 0x10ed;
952 keysym2uni_ext1[0x0ee] = 0x10ee;
953 keysym2uni_ext1[0x0ef] = 0x10ef;
954 keysym2uni_ext1[0x0f0] = 0x10f0;
955 keysym2uni_ext1[0x0f1] = 0x10f1;
956 keysym2uni_ext1[0x0f2] = 0x10f2;
957 keysym2uni_ext1[0x0f3] = 0x10f3;
958 keysym2uni_ext1[0x0f4] = 0x10f4;
959 keysym2uni_ext1[0x0f5] = 0x10f5;
960 keysym2uni_ext1[0x0f6] = 0x10f6;
961 keysym2uni_ext1[0xe8b] = 0x1e8b;
962 keysym2uni_ext1[0xe36] = 0x1e36;
963 keysym2uni_ext1[0xe37] = 0x1e37;
964 keysym2uni_ext1[0xea0] = 0x1ea0;
965 keysym2uni_ext1[0xea1] = 0x1ea1;
966 keysym2uni_ext1[0xea2] = 0x1ea2;
967 keysym2uni_ext1[0xea3] = 0x1ea3;
968 keysym2uni_ext1[0xea4] = 0x1ea4;
969 keysym2uni_ext1[0xea5] = 0x1ea5;
970 keysym2uni_ext1[0xea6] = 0x1ea6;
971 keysym2uni_ext1[0xea7] = 0x1ea7;
972 keysym2uni_ext1[0xea8] = 0x1ea8;
973 keysym2uni_ext1[0xea9] = 0x1ea9;
974 keysym2uni_ext1[0xeaa] = 0x1eaa;
975 keysym2uni_ext1[0xeab] = 0x1eab;
976 keysym2uni_ext1[0xeac] = 0x1eac;
977 keysym2uni_ext1[0xead] = 0x1ead;
978 keysym2uni_ext1[0xeae] = 0x1eae;
979 keysym2uni_ext1[0xeaf] = 0x1eaf;
980 keysym2uni_ext1[0xeb0] = 0x1eb0;
981 keysym2uni_ext1[0xeb1] = 0x1eb1;
982 keysym2uni_ext1[0xeb2] = 0x1eb2;
983 keysym2uni_ext1[0xeb3] = 0x1eb3;
984 keysym2uni_ext1[0xeb4] = 0x1eb4;
985 keysym2uni_ext1[0xeb5] = 0x1eb5;
986 keysym2uni_ext1[0xeb6] = 0x1eb6;
987 keysym2uni_ext1[0xeb7] = 0x1eb7;
988 keysym2uni_ext1[0xeb8] = 0x1eb8;
989 keysym2uni_ext1[0xeb9] = 0x1eb9;
990 keysym2uni_ext1[0xeba] = 0x1eba;
991 keysym2uni_ext1[0xebb] = 0x1ebb;
992 keysym2uni_ext1[0xebc] = 0x1ebc;
993 keysym2uni_ext1[0xebd] = 0x1ebd;
994 keysym2uni_ext1[0xebe] = 0x1ebe;
995 keysym2uni_ext1[0xebf] = 0x1ebf;
996 keysym2uni_ext1[0xec0] = 0x1ec0;
997 keysym2uni_ext1[0xec1] = 0x1ec1;
998 keysym2uni_ext1[0xec2] = 0x1ec2;
999 keysym2uni_ext1[0xec3] = 0x1ec3;
1000 keysym2uni_ext1[0xec4] = 0x1ec4;
1001 keysym2uni_ext1[0xec5] = 0x1ec5;
1002 keysym2uni_ext1[0xec6] = 0x1ec6;
1003 keysym2uni_ext1[0xec7] = 0x1ec7;
1004 keysym2uni_ext1[0xec8] = 0x1ec8;
1005 keysym2uni_ext1[0xec9] = 0x1ec9;
1006 keysym2uni_ext1[0xeca] = 0x1eca;
1007 keysym2uni_ext1[0xecb] = 0x1ecb;
1008 keysym2uni_ext1[0xecc] = 0x1ecc;
1009 keysym2uni_ext1[0xecd] = 0x1ecd;
1010 keysym2uni_ext1[0xece] = 0x1ece;
1011 keysym2uni_ext1[0xecf] = 0x1ecf;
1012 keysym2uni_ext1[0xed0] = 0x1ed0;
1013 keysym2uni_ext1[0xed1] = 0x1ed1;
1014 keysym2uni_ext1[0xed2] = 0x1ed2;
1015 keysym2uni_ext1[0xed3] = 0x1ed3;
1016 keysym2uni_ext1[0xed4] = 0x1ed4;
1017 keysym2uni_ext1[0xed5] = 0x1ed5;
1018 keysym2uni_ext1[0xed6] = 0x1ed6;
1019 keysym2uni_ext1[0xed7] = 0x1ed7;
1020 keysym2uni_ext1[0xed8] = 0x1ed8;
1021 keysym2uni_ext1[0xed9] = 0x1ed9;
1022 keysym2uni_ext1[0xeda] = 0x1eda;
1023 keysym2uni_ext1[0xedb] = 0x1edb;
1024 keysym2uni_ext1[0xedc] = 0x1edc;
1025 keysym2uni_ext1[0xedd] = 0x1edd;
1026 keysym2uni_ext1[0xede] = 0x1ede;
1027 keysym2uni_ext1[0xedf] = 0x1edf;
1028 keysym2uni_ext1[0xee0] = 0x1ee0;
1029 keysym2uni_ext1[0xee1] = 0x1ee1;
1030 keysym2uni_ext1[0xee2] = 0x1ee2;
1031 keysym2uni_ext1[0xee3] = 0x1ee3;
1032 keysym2uni_ext1[0xee4] = 0x1ee4;
1033 keysym2uni_ext1[0xee5] = 0x1ee5;
1034 keysym2uni_ext1[0xee6] = 0x1ee6;
1035 keysym2uni_ext1[0xee7] = 0x1ee7;
1036 keysym2uni_ext1[0xee8] = 0x1ee8;
1037 keysym2uni_ext1[0xee9] = 0x1ee9;
1038 keysym2uni_ext1[0xeea] = 0x1eea;
1039 keysym2uni_ext1[0xeeb] = 0x1eeb;
1040 keysym2uni_ext1[0xeec] = 0x1eec;
1041 keysym2uni_ext1[0xeed] = 0x1eed;
1042 keysym2uni_ext1[0xeee] = 0x1eee;
1043 keysym2uni_ext1[0xeef] = 0x1eef;
1044 keysym2uni_ext1[0xef0] = 0x1ef0;
1045 keysym2uni_ext1[0xef1] = 0x1ef1;
1046 keysym2uni_ext1[0xef4] = 0x1ef4;
1047 keysym2uni_ext1[0xef5] = 0x1ef5;
1048 keysym2uni_ext1[0xef6] = 0x1ef6;
1049 keysym2uni_ext1[0xef7] = 0x1ef7;
1050 keysym2uni_ext1[0xef8] = 0x1ef8;
1051 keysym2uni_ext1[0xef9] = 0x1ef9;
1052
1053
1054 keysym2uni_ext2[0x21a] = 0x221a;
1055 keysym2uni_ext2[0x202] = 0x2202;
1056 keysym2uni_ext2[0x0a9] = 0x20a9;
1057 keysym2uni_ext2[0x0a0] = 0x20a0;
1058 keysym2uni_ext2[0x0a1] = 0x20a1;
1059 keysym2uni_ext2[0x0a2] = 0x20a2;
1060 keysym2uni_ext2[0x0a3] = 0x20a3;
1061 keysym2uni_ext2[0x0a4] = 0x20a4;
1062 keysym2uni_ext2[0x0a5] = 0x20a5;
1063 keysym2uni_ext2[0x0a6] = 0x20a6;
1064 keysym2uni_ext2[0x0a7] = 0x20a7;
1065 keysym2uni_ext2[0x0a8] = 0x20a8;
1066 keysym2uni_ext2[0x0aa] = 0x20aa;
1067 keysym2uni_ext2[0x0ab] = 0x20ab;
1068 keysym2uni_ext2[0x070] = 0x2070;
1069 keysym2uni_ext2[0x074] = 0x2074;
1070 keysym2uni_ext2[0x075] = 0x2075;
1071 keysym2uni_ext2[0x076] = 0x2076;
1072 keysym2uni_ext2[0x077] = 0x2077;
1073 keysym2uni_ext2[0x078] = 0x2078;
1074 keysym2uni_ext2[0x079] = 0x2079;
1075 keysym2uni_ext2[0x080] = 0x2080;
1076 keysym2uni_ext2[0x081] = 0x2081;
1077 keysym2uni_ext2[0x082] = 0x2082;
1078 keysym2uni_ext2[0x083] = 0x2083;
1079 keysym2uni_ext2[0x084] = 0x2084;
1080 keysym2uni_ext2[0x085] = 0x2085;
1081 keysym2uni_ext2[0x086] = 0x2086;
1082 keysym2uni_ext2[0x087] = 0x2087;
1083 keysym2uni_ext2[0x088] = 0x2088;
1084 keysym2uni_ext2[0x089] = 0x2089;
1085 keysym2uni_ext2[0x205] = 0x2205;
1086 keysym2uni_ext2[0x208] = 0x2208;
1087 keysym2uni_ext2[0x209] = 0x2209;
1088 keysym2uni_ext2[0x20b] = 0x220b;
1089 keysym2uni_ext2[0x21b] = 0x221b;
1090 keysym2uni_ext2[0x21c] = 0x221c;
1091 keysym2uni_ext2[0x22c] = 0x222c;
1092 keysym2uni_ext2[0x22d] = 0x222d;
1093 keysym2uni_ext2[0x235] = 0x2235;
1094 keysym2uni_ext2[0x248] = 0x2245;
1095 keysym2uni_ext2[0x247] = 0x2247;
1096 keysym2uni_ext2[0x262] = 0x2262;
1097 keysym2uni_ext2[0x263] = 0x2263;
1098 }