Training courses

Kernel and Embedded Linux

Bootlin training courses

Embedded Linux, kernel,
Yocto Project, Buildroot, real-time,
graphics, boot time, debugging...

Bootlin logo

Elixir Cross Referencer

  1
  2
  3
  4
  5
  6
  7
  8
  9
 10
 11
 12
 13
 14
 15
 16
 17
 18
 19
 20
 21
 22
 23
 24
 25
 26
 27
 28
 29
 30
 31
 32
 33
 34
 35
 36
 37
 38
 39
 40
 41
 42
 43
 44
 45
 46
 47
 48
 49
 50
 51
 52
 53
 54
 55
 56
 57
 58
 59
 60
 61
 62
 63
 64
 65
 66
 67
 68
 69
 70
 71
 72
 73
 74
 75
 76
 77
 78
 79
 80
 81
 82
 83
 84
 85
 86
 87
 88
 89
 90
 91
 92
 93
 94
 95
 96
 97
 98
 99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
423
424
425
/* $NetBSD: zh_HK.Big5-HKSCS.src,v 1.1 2007/03/06 15:50:46 tnozaki Exp $ */

/*
 * big5hkscs   first byte:    81-FE
 *             second byte:   40-7E, A1-FE
 *
 * Original version ID:
 * FreeBSD: src/share/mklocale/zh_HK.Big5HKSCS.src,v 1.2 2003/12/19 12:51:40 ache Exp
 */

ENCODING        "BIG5"
VARIABLE        row=0x81-0xFE;col=0x40-0x7E,0xA1-0xFE; CODESET=Big5-HKSCS

/*
 * ASCII
 */
ALPHA		'A' - 'Z' 'a' - 'z'
CONTROL		0x00 - 0x1f 0x7f
DIGIT		'0' - '9'
GRAPH		0x21 - 0x7e
LOWER		'a' - 'z'
PUNCT		0x21 - 0x2f 0x3a - 0x40 0x5b - 0x60 0x7b - 0x7e
SPACE		0x09 - 0x0d 0x20
UPPER		'A' - 'Z'
XDIGIT          '0' - '9' 'a' - 'f' 'A' - 'F'
BLANK		' ' '\t'
PRINT		0x20 - 0x7e

MAPLOWER       	< 'A' - 'Z' : 'a' >
MAPLOWER       	< 'a' - 'z' : 'a' >
MAPUPPER       	< 'A' - 'Z' : 'A' >
MAPUPPER       	< 'a' - 'z' : 'A' >
TODIGIT       	< '0' - '9' : 0 >
TODIGIT       	< 'A' - 'F' : 10 >
TODIGIT       	< 'a' - 'f' : 10 >

/*
 * the real thing
 */
IDEOGRAM        0x8840 - 0x887e 0x88a1 - 0x88aa
IDEOGRAM        0x8940 - 0x8941 0x8943 0x8946 - 0x8949 0x894c - 0x897e
IDEOGRAM        0x89a1 - 0x89a6 0x89ab - 0x89ae 0x89b0 - 0x89b2 0x89b5 - 0x89bf
IDEOGRAM        0x89c1 - 0x89c3 0x89c5 - 0x89fe
IDEOGRAM        0x8a40 0x8a41 0x8a43 - 0x8a62 0x8a64 - 0x8a74 0x8a76 - 0x8a7e
IDEOGRAM        0x8aa1 - 0x8aaa 0x8aac - 0x8ab0 0x8ab2 - 0x8ab9 0x8abb - 0x8ac7
IDEOGRAM        0x8ac9 - 0x8acc 0x8ace - 0x8adc 0x8adf - 0x8af4 0x8af6 - 0x8afe
IDEOGRAM        0x8b40 - 0x8b53 0x8b55 - 0x8b7e 0x8ba1 - 0x8bdc 0x8bde - 0x8bfd
IDEOGRAM        0x8c40 - 0x8c61 0x8c63 - 0x8c7e 0x8ca1 - 0x8ca5 0x8ca7 - 0x8cdc
IDEOGRAM        0x8d60 - 0x8d7e 0x8da1 - 0x8ddc
IDEOGRAM        0x8e40 - 0x8e68 0x8e6a - 0x8e6e 0x8e70 - 0x8e7d 0x8ea1 - 0x8eaa
IDEOGRAM        0x8eac - 0x8eb3 0x8eb5 - 0x8ecc 0x8ece 0x8ecf 0x8ed1 - 0x8efe
IDEOGRAM        0x8f40 - 0x8f56 0x8f58 - 0x8f68 0x8f6a - 0x8f6d 0x8f6f - 0x8f7e
IDEOGRAM        0x8fa1 - 0x8fca 0x8fcd - 0x8ffd
IDEOGRAM        0x9040 - 0x906c 0x906e - 0x9079 0x907b - 0x907e 0x90a1 - 0x90db
IDEOGRAM        0x90dd - 0x90f0 0x90f2 - 0x90fe
IDEOGRAM        0x9140 - 0x917e 0x91a1 - 0x91be 0x91c0 - 0x91ef
IDEOGRAM        0x9240 - 0x9242 0x9245 - 0x927e 0x92a1 - 0x92ae
IDEOGRAM        0x92b3 - 0x92c7 0x92c8 - 0x92d0 0x92d2 - 0x92fe
IDEOGRAM        0x9340 - 0x937e 0x93a1 - 0x93fe
IDEOGRAM        0x9440 - 0x9446 0x9448 - 0x947e 0x94a1 - 0x94c9 0x94cb - 0x94fe
IDEOGRAM        0x9540 - 0x957e 0x95a1 - 0x95d8 0x95da - 0x95fe
IDEOGRAM        0x9640 - 0x9643 0x9645 - 0x967e 0x96a1 - 0x96ec
IDEOGRAM        0x96ee - 0x96fb 0x96fd - 0x96fe
IDEOGRAM        0x9740 - 0x977e 0x97a1 - 0x97fe
IDEOGRAM        0x9840 - 0x987e 0x98a1 - 0x98fe
IDEOGRAM        0x9940 - 0x997e 0x99a1 - 0x99fe
IDEOGRAM        0x9a40 - 0x9a7e 0x9aa1 - 0x9afe
IDEOGRAM        0x9b40 - 0x9b60 0x9b62 - 0x9b75 0x9b77 0x9b79 0x9b7a
IDEOGRAM        0x9b7c - 0x9b7e 0x9ba1 - 0x9bc5 0x9bc7 - 0x9bdd
IDEOGRAM        0x9bdf - 0x9beb 0x9bed - 0x9bf5 0x9bf7 - 0x9bfe
IDEOGRAM        0x9c40 0x9c41 0x9c43 - 0x9c52 0x9c54 - 0x9c61 0x9c63 - 0x9c67 
IDEOGRAM        0x9c69 0x9c6a 0x9c6c - 0x9c76 0x9c78 - 0x9c7e 0x9ca1 - 0x9cbb 
IDEOGRAM        0x9cbe - 0x9ccf 0x9cd1 - 0x9cfe
IDEOGRAM        0x9d40 - 0x9d56 0x9d58 0x9d59 0x9d5b - 0x9d7e
IDEOGRAM        0x9da1 - 0x9dc3 0x9dc5 - 0x9dfe
IDEOGRAM        0x9e40 - 0x9e7e 0x9ea1 - 0x9ea8 0x9eaa 0x9eab 0x9ead - 0x9ec3
IDEOGRAM        0x9ec5 - 0x9eee 0x9ef0 - 0x9ef3 0x9ef5 - 0x9efc 0x9efe
IDEOGRAM        0x9f40 - 0x9f4d 0x9f4f - 0x9f5f 0x9f61 - 0x9f65 0x9f67 - 0x9f7e
IDEOGRAM        0x9fa1 - 0x9fac 0x9fae - 0x9fb0 0x9fb2 - 0x9fbf 0x9fc1 - 0x9fc7
IDEOGRAM        0x9fc9 0x9fca 0x9fcc - 0x9fd7 0x9fd9 0x9fdb - 0x9fe5
IDEOGRAM        0x9fe7 - 0x9fe9 0x9feb - 0x9fee 0x9ff0 - 0x9ffe
IDEOGRAM        0xa040 - 0xa053 0xa055 0xa056 0xa058 0xa059 0xa05b - 0xa061
IDEOGRAM        0xa064 - 0xa071 0xa073 - 0xa076 0xa078 - 0xa07e
IDEOGRAM        0xa0a1 - 0xa0a4 0xa0a6 - 0xa0ac 0xa0ae 0xa0b0 - 0xa0d2
IDEOGRAM        0xa0d4 0xa0d6 - 0xa0de 0xa0e0 0xa0e2 0xa0e3 0xa0e5 - 0xa0fe

SWIDTH2         0x8840 - 0x887e 0x88a1 - 0x88aa
SWIDTH2         0x8940 - 0x8941 0x8943 0x8946 - 0x8949 0x894c - 0x897e
SWIDTH2         0x89a1 - 0x89a6 0x89ab - 0x89ae 0x89b0 - 0x89b2 0x89b5 - 0x89bf
SWIDTH2         0x89c1 - 0x89c3 0x89c5 - 0x89fe
SWIDTH2         0x8a40 0x8a41 0x8a43 - 0x8a62 0x8a64 - 0x8a74 0x8a76 - 0x8a7e
SWIDTH2         0x8aa1 - 0x8aaa 0x8aac - 0x8ab0 0x8ab2 - 0x8ab9 0x8abb - 0x8ac7
SWIDTH2         0x8ac9 - 0x8acc 0x8ace - 0x8adc 0x8adf - 0x8af4 0x8af6 - 0x8afe
SWIDTH2         0x8b40 - 0x8b53 0x8b55 - 0x8b7e 0x8ba1 - 0x8bdc 0x8bde - 0x8bfd
SWIDTH2         0x8c40 - 0x8c61 0x8c63 - 0x8c7e 0x8ca1 - 0x8ca5 0x8ca7 - 0x8cdc
SWIDTH2         0x8d60 - 0x8d7e 0x8da1 - 0x8ddc
SWIDTH2         0x8e40 - 0x8e68 0x8e6a - 0x8e6e 0x8e70 - 0x8e7d 0x8ea1 - 0x8eaa
SWIDTH2         0x8eac - 0x8eb3 0x8eb5 - 0x8ecc 0x8ece 0x8ecf 0x8ed1 - 0x8efe
SWIDTH2         0x8f40 - 0x8f56 0x8f58 - 0x8f68 0x8f6a - 0x8f6d 0x8f6f - 0x8f7e
SWIDTH2         0x8fa1 - 0x8fca 0x8fcd - 0x8ffd
SWIDTH2         0x9040 - 0x906c 0x906e - 0x9079 0x907b - 0x907e 0x90a1 - 0x90db
SWIDTH2         0x90dd - 0x90f0 0x90f2 - 0x90fe
SWIDTH2         0x9140 - 0x917e 0x91a1 - 0x91be 0x91c0 - 0x91ef
SWIDTH2         0x9240 - 0x9242 0x9245 - 0x927e 0x92a1 - 0x92ae
SWIDTH2         0x92b3 - 0x92c7 0x92c8 - 0x92d0 0x92d2 - 0x92fe
SWIDTH2         0x9340 - 0x937e 0x93a1 - 0x93fe
SWIDTH2         0x9440 - 0x9446 0x9448 - 0x947e 0x94a1 - 0x94c9 0x94cb - 0x94fe
SWIDTH2         0x9540 - 0x957e 0x95a1 - 0x95d8 0x95da - 0x95fe
SWIDTH2         0x9640 - 0x9643 0x9645 - 0x967e 0x96a1 - 0x96ec
SWIDTH2         0x96ee - 0x96fb 0x96fd - 0x96fe
SWIDTH2         0x9740 - 0x977e 0x97a1 - 0x97fe
SWIDTH2         0x9840 - 0x987e 0x98a1 - 0x98fe
SWIDTH2         0x9940 - 0x997e 0x99a1 - 0x99fe
SWIDTH2         0x9a40 - 0x9a7e 0x9aa1 - 0x9afe
SWIDTH2         0x9b40 - 0x9b60 0x9b62 - 0x9b75 0x9b77 0x9b79 0x9b7a
SWIDTH2         0x9b7c - 0x9b7e 0x9ba1 - 0x9bc5 0x9bc7 - 0x9bdd
SWIDTH2         0x9bdf - 0x9beb 0x9bed - 0x9bf5 0x9bf7 - 0x9bfe
SWIDTH2         0x9c40 0x9c41 0x9c43 - 0x9c52 0x9c54 - 0x9c61 0x9c63 - 0x9c67 
SWIDTH2         0x9c69 0x9c6a 0x9c6c - 0x9c76 0x9c78 - 0x9c7e 0x9ca1 - 0x9cbb 
SWIDTH2         0x9cbe - 0x9ccf 0x9cd1 - 0x9cfe
SWIDTH2         0x9d40 - 0x9d56 0x9d58 0x9d59 0x9d5b - 0x9d7e
SWIDTH2         0x9da1 - 0x9dc3 0x9dc5 - 0x9dfe
SWIDTH2         0x9e40 - 0x9e7e 0x9ea1 - 0x9ea8 0x9eaa 0x9eab 0x9ead - 0x9ec3
SWIDTH2         0x9ec5 - 0x9eee 0x9ef0 - 0x9ef3 0x9ef5 - 0x9efc 0x9efe
SWIDTH2         0x9f40 - 0x9f4d 0x9f4f - 0x9f5f 0x9f61 - 0x9f65 0x9f67 - 0x9f7e
SWIDTH2         0x9fa1 - 0x9fac 0x9fae - 0x9fb0 0x9fb2 - 0x9fbf 0x9fc1 - 0x9fc7
SWIDTH2         0x9fc9 0x9fca 0x9fcc - 0x9fd7 0x9fd9 0x9fdb - 0x9fe5
SWIDTH2         0x9fe7 - 0x9fe9 0x9feb - 0x9fee 0x9ff0 - 0x9ffe
SWIDTH2         0xa040 - 0xa053 0xa055 0xa056 0xa058 0xa059 0xa05b - 0xa061
SWIDTH2         0xa064 - 0xa071 0xa073 - 0xa076 0xa078 - 0xa07e
SWIDTH2         0xa0a1 - 0xa0a4 0xa0a6 - 0xa0ac 0xa0ae 0xa0b0 - 0xa0d2
SWIDTH2         0xa0d4 0xa0d6 - 0xa0de 0xa0e0 0xa0e2 0xa0e3 0xa0e5 - 0xa0fe

PUNCT           0xa141 - 0xa17e 0xa1a1 - 0xa1ac
SWIDTH2          0xa141 - 0xa17e 0xa1a1 - 0xa1ac

SPECIAL         0xa1ad - 0xa1fe 0xa240 - 0xa27e 0xa2a1 - 0xa2ae
SWIDTH2         0xa1ad - 0xa1fe 0xa240 - 0xa27e 0xa2a1 - 0xa2ae

/* full width 0 1 2 .. 9 */
/* ?DIGIT           0xa2af - 0xa2b8 */
SWIDTH2         0xa2af - 0xa2b8

/* map these (SuChou Code (12) and Roman (I II etc.) number (10)) to digits */
SWIDTH2         0xa2b9 - 0xa2ce
TODIGIT         < 0xa2b9 - 0xa2c2 : 1 >
TODIGIT         < 0xa2c3 - 0xa2ce : 1 >

/* full width A .. Z and a .. z */
/* note the lower case alphabets are not continuous */
UPPER           0xa2cf - 0xa2e8
LOWER           0xa2e9 - 0xa2fe 0xa340 - 0xa343
SWIDTH2         0xa2cf - 0xa2e8
SWIDTH2         0xa2e9 - 0xa2fe 0xa340 - 0xa343

/* we have to got two line for each 'cause they are not continuous */
MAPLOWER        < 0xa2cf - 0xa2e4 : 0xa2e9 > < 0xa2e5 - 0xa2e8 : 0xa340 >
MAPLOWER        < 0xa2e9 - 0xa2fe : 0xa2e9 > < 0xa340 - 0xa343 : 0xa340 >
MAPUPPER        < 0xa2cf - 0xa2e4 : 0xa2cf > < 0xa2e5 - 0xa2e8 : 0xa2e5 >
MAPUPPER        < 0xa2e9 - 0xa2fe : 0xa2cf > < 0xa340 - 0xa343 : 0xa2e5 >

/* ?XDIGIT          0xa2cf - 0xa2d4 0xa2e9 - 0xa2ee */

SPACE           0xa3bc
BLANK           0xa3bc
SWIDTH2         0xa3bc
/* bopomofo symbols */
PHONOGRAM       0xa374 - 0xa37e 0xa3a1 - 0xa3bb
SWIDTH2         0xa374 - 0xa37e 0xa3a1 - 0xa3bb
/* tone symbols */
PHONOGRAM       0xa3bd - 0xa3bf
SWIDTH2         0xa3bd - 0xa3bf
/* control */
CONTROL         0xa3c0 - 0xa3fe

/* greek */
UPPER           0xa344 - 0xa35b
LOWER           0xa35c - 0xa373
SWIDTH2         0xa344 - 0xa35b
SWIDTH2         0xa35c - 0xa373
MAPUPPER        < 0xa344 - 0xa35b : 0xa344 > < 0xa35c - 0xa373 : 0xa344 >
MAPLOWER        < 0xa344 - 0xa35b : 0xa35c > < 0xa35c - 0xa373 : 0xa35c >

/* cyrillic (russian etc) */
UPPER           0xc7f3 - 0xc7fe 0xc840 - 0xc854
LOWER           0xc855 - 0xc875
SWIDTH2         0xc7f3 - 0xc7fe 0xc840 - 0xc854
SWIDTH2         0xc855 - 0xc875
MAPUPPER        < 0xc7f3 - 0xc7fe : 0xc7f3 > < 0xc840 - 0xc854 : 0xc840 >
MAPUPPER        < 0xc855 - 0xc860 : 0xc7f3 > < 0xc861 - 0xc875 : 0xc840 >
MAPLOWER        < 0xc7f3 - 0xc7fe : 0xc855 > < 0xc840 - 0xc854 : 0xc861 >
MAPLOWER        < 0xc855 - 0xc860 : 0xc855 > < 0xc861 - 0xc875 : 0xc861 >

IDEOGRAM        0xa440 - 0xa47e 0xa4a1 - 0xa4fe
IDEOGRAM        0xa540 - 0xa57e 0xa5a1 - 0xa5fe
IDEOGRAM        0xa640 - 0xa67e 0xa6a1 - 0xa6fe
IDEOGRAM        0xa740 - 0xa77e 0xa7a1 - 0xa7fe
IDEOGRAM        0xa840 - 0xa87e 0xa8a1 - 0xa8fe
IDEOGRAM        0xa940 - 0xa97e 0xa9a1 - 0xa9fe
IDEOGRAM        0xaa40 - 0xaa7e 0xaaa1 - 0xaafe
IDEOGRAM        0xab40 - 0xab7e 0xaba1 - 0xabfe
IDEOGRAM        0xac40 - 0xac7e 0xaca1 - 0xacfe
IDEOGRAM        0xad40 - 0xad7e 0xada1 - 0xadfe
IDEOGRAM        0xae40 - 0xae7e 0xaea1 - 0xaefe
IDEOGRAM        0xaf40 - 0xaf7e 0xafa1 - 0xaffe
IDEOGRAM        0xb040 - 0xb07e 0xb0a1 - 0xb0fe
IDEOGRAM        0xb140 - 0xb17e 0xb1a1 - 0xb1fe
IDEOGRAM        0xb240 - 0xb27e 0xb2a1 - 0xb2fe
IDEOGRAM        0xb340 - 0xb37e 0xb3a1 - 0xb3fe
IDEOGRAM        0xb440 - 0xb47e 0xb4a1 - 0xb4fe
IDEOGRAM        0xb540 - 0xb57e 0xb5a1 - 0xb5fe
IDEOGRAM        0xb640 - 0xb67e 0xb6a1 - 0xb6fe
IDEOGRAM        0xb740 - 0xb77e 0xb7a1 - 0xb7fe
IDEOGRAM        0xb840 - 0xb87e 0xb8a1 - 0xb8fe
IDEOGRAM        0xb940 - 0xb97e 0xb9a1 - 0xb9fe
IDEOGRAM        0xba40 - 0xba7e 0xbaa1 - 0xbafe
IDEOGRAM        0xbb40 - 0xbb7e 0xbba1 - 0xbbfe
IDEOGRAM        0xbc40 - 0xbc7e 0xbca1 - 0xbcfe
IDEOGRAM        0xbd40 - 0xbd7e 0xbda1 - 0xbdfe
IDEOGRAM        0xbe40 - 0xbe7e 0xbea1 - 0xbefe
IDEOGRAM        0xbf40 - 0xbf7e 0xbfa1 - 0xbffe
IDEOGRAM        0xc040 - 0xc07e 0xc0a1 - 0xc0fe
IDEOGRAM        0xc140 - 0xc17e 0xc1a1 - 0xc1fe
IDEOGRAM        0xc240 - 0xc27e 0xc2a1 - 0xc2fe
IDEOGRAM        0xc340 - 0xc37e 0xc3a1 - 0xc3fe
IDEOGRAM        0xc440 - 0xc47e 0xc4a1 - 0xc4fe
IDEOGRAM        0xc540 - 0xc57e 0xc5a1 - 0xc5fe
IDEOGRAM        0xc640 - 0xc67e

SWIDTH2         0xa440 - 0xa47e 0xa4a1 - 0xa4fe
SWIDTH2         0xa540 - 0xa57e 0xa5a1 - 0xa5fe
SWIDTH2         0xa640 - 0xa67e 0xa6a1 - 0xa6fe
SWIDTH2         0xa740 - 0xa77e 0xa7a1 - 0xa7fe
SWIDTH2         0xa840 - 0xa87e 0xa8a1 - 0xa8fe
SWIDTH2         0xa940 - 0xa97e 0xa9a1 - 0xa9fe
SWIDTH2         0xaa40 - 0xaa7e 0xaaa1 - 0xaafe
SWIDTH2         0xab40 - 0xab7e 0xaba1 - 0xabfe
SWIDTH2         0xac40 - 0xac7e 0xaca1 - 0xacfe
SWIDTH2         0xad40 - 0xad7e 0xada1 - 0xadfe
SWIDTH2         0xae40 - 0xae7e 0xaea1 - 0xaefe
SWIDTH2         0xaf40 - 0xaf7e 0xafa1 - 0xaffe
SWIDTH2         0xb040 - 0xb07e 0xb0a1 - 0xb0fe
SWIDTH2         0xb140 - 0xb17e 0xb1a1 - 0xb1fe
SWIDTH2         0xb240 - 0xb27e 0xb2a1 - 0xb2fe
SWIDTH2         0xb340 - 0xb37e 0xb3a1 - 0xb3fe
SWIDTH2         0xb440 - 0xb47e 0xb4a1 - 0xb4fe
SWIDTH2         0xb540 - 0xb57e 0xb5a1 - 0xb5fe
SWIDTH2         0xb640 - 0xb67e 0xb6a1 - 0xb6fe
SWIDTH2         0xb740 - 0xb77e 0xb7a1 - 0xb7fe
SWIDTH2         0xb840 - 0xb87e 0xb8a1 - 0xb8fe
SWIDTH2         0xb940 - 0xb97e 0xb9a1 - 0xb9fe
SWIDTH2         0xba40 - 0xba7e 0xbaa1 - 0xbafe
SWIDTH2         0xbb40 - 0xbb7e 0xbba1 - 0xbbfe
SWIDTH2         0xbc40 - 0xbc7e 0xbca1 - 0xbcfe
SWIDTH2         0xbd40 - 0xbd7e 0xbda1 - 0xbdfe
SWIDTH2         0xbe40 - 0xbe7e 0xbea1 - 0xbefe
SWIDTH2         0xbf40 - 0xbf7e 0xbfa1 - 0xbffe
SWIDTH2         0xc040 - 0xc07e 0xc0a1 - 0xc0fe
SWIDTH2         0xc140 - 0xc17e 0xc1a1 - 0xc1fe
SWIDTH2         0xc240 - 0xc27e 0xc2a1 - 0xc2fe
SWIDTH2         0xc340 - 0xc37e 0xc3a1 - 0xc3fe
SWIDTH2         0xc440 - 0xc47e 0xc4a1 - 0xc4fe
SWIDTH2         0xc540 - 0xc57e 0xc5a1 - 0xc5fe
SWIDTH2         0xc640 - 0xc67e

IDEOGRAM        0xc940 - 0xc97e 0xc9a1 - 0xc9fe
IDEOGRAM        0xca40 - 0xca7e 0xcaa1 - 0xcafe
IDEOGRAM        0xcb40 - 0xcb7e 0xcba1 - 0xcbfe
IDEOGRAM        0xcc40 - 0xcc7e 0xcca1 - 0xccfe
IDEOGRAM        0xcd40 - 0xcd7e 0xcda1 - 0xcdfe
IDEOGRAM        0xce40 - 0xce7e 0xcea1 - 0xcefe
IDEOGRAM        0xcf40 - 0xcf7e 0xcfa1 - 0xcffe
IDEOGRAM        0xd040 - 0xd07e 0xd0a1 - 0xd0fe
IDEOGRAM        0xd140 - 0xd17e 0xd1a1 - 0xd1fe
IDEOGRAM        0xd240 - 0xd27e 0xd2a1 - 0xd2fe
IDEOGRAM        0xd340 - 0xd37e 0xd3a1 - 0xd3fe
IDEOGRAM        0xd440 - 0xd47e 0xd4a1 - 0xd4fe
IDEOGRAM        0xd540 - 0xd57e 0xd5a1 - 0xd5fe
IDEOGRAM        0xd640 - 0xd67e 0xd6a1 - 0xd6fe
IDEOGRAM        0xd740 - 0xd77e 0xd7a1 - 0xd7fe
IDEOGRAM        0xd840 - 0xd87e 0xd8a1 - 0xd8fe
IDEOGRAM        0xd940 - 0xd97e 0xd9a1 - 0xd9fe
IDEOGRAM        0xda40 - 0xda7e 0xdaa1 - 0xdafe
IDEOGRAM        0xdb40 - 0xdb7e 0xdba1 - 0xdbfe
IDEOGRAM        0xdc40 - 0xdc7e 0xdca1 - 0xdcfe
IDEOGRAM        0xdd40 - 0xdd7e 0xdda1 - 0xddfe
IDEOGRAM        0xde40 - 0xde7e 0xdea1 - 0xdefe
IDEOGRAM        0xdf40 - 0xdf7e 0xdfa1 - 0xdffe
IDEOGRAM        0xe040 - 0xe07e 0xe0a1 - 0xe0fe
IDEOGRAM        0xe140 - 0xe17e 0xe1a1 - 0xe1fe
IDEOGRAM        0xe240 - 0xe27e 0xe2a1 - 0xe2fe
IDEOGRAM        0xe340 - 0xe37e 0xe3a1 - 0xe3fe
IDEOGRAM        0xe440 - 0xe47e 0xe4a1 - 0xe4fe
IDEOGRAM        0xe540 - 0xe57e 0xe5a1 - 0xe5fe
IDEOGRAM        0xe640 - 0xe67e 0xe6a1 - 0xe6fe
IDEOGRAM        0xe740 - 0xe77e 0xe7a1 - 0xe7fe
IDEOGRAM        0xe840 - 0xe87e 0xe8a1 - 0xe8fe
IDEOGRAM        0xe940 - 0xe97e 0xe9a1 - 0xe9fe
IDEOGRAM        0xea40 - 0xea7e 0xeaa1 - 0xeafe
IDEOGRAM        0xeb40 - 0xeb7e 0xeba1 - 0xebfe
IDEOGRAM        0xec40 - 0xec7e 0xeca1 - 0xecfe
IDEOGRAM        0xed40 - 0xed7e 0xeda1 - 0xedfe
IDEOGRAM        0xee40 - 0xee7e 0xeea1 - 0xeefe
IDEOGRAM        0xef40 - 0xef7e 0xefa1 - 0xeffe
IDEOGRAM        0xf040 - 0xf07e 0xf0a1 - 0xf0fe
IDEOGRAM        0xf140 - 0xf17e 0xf1a1 - 0xf1fe
IDEOGRAM        0xf240 - 0xf27e 0xf2a1 - 0xf2fe
IDEOGRAM        0xf340 - 0xf37e 0xf3a1 - 0xf3fe
IDEOGRAM        0xf440 - 0xf47e 0xf4a1 - 0xf4fe
IDEOGRAM        0xf540 - 0xf57e 0xf5a1 - 0xf5fe
IDEOGRAM        0xf640 - 0xf67e 0xf6a1 - 0xf6fe
IDEOGRAM        0xf740 - 0xf77e 0xf7a1 - 0xf7fe
IDEOGRAM        0xf840 - 0xf87e 0xf8a1 - 0xf8fe
IDEOGRAM        0xf940 - 0xf97e 0xf9a1 - 0xf9dc

SWIDTH2         0xc940 - 0xc97e 0xc9a1 - 0xc9fe
SWIDTH2         0xca40 - 0xca7e 0xcaa1 - 0xcafe
SWIDTH2         0xcb40 - 0xcb7e 0xcba1 - 0xcbfe
SWIDTH2         0xcc40 - 0xcc7e 0xcca1 - 0xccfe
SWIDTH2         0xcd40 - 0xcd7e 0xcda1 - 0xcdfe
SWIDTH2         0xce40 - 0xce7e 0xcea1 - 0xcefe
SWIDTH2         0xcf40 - 0xcf7e 0xcfa1 - 0xcffe
SWIDTH2         0xd040 - 0xd07e 0xd0a1 - 0xd0fe
SWIDTH2         0xd140 - 0xd17e 0xd1a1 - 0xd1fe
SWIDTH2         0xd240 - 0xd27e 0xd2a1 - 0xd2fe
SWIDTH2         0xd340 - 0xd37e 0xd3a1 - 0xd3fe
SWIDTH2         0xd440 - 0xd47e 0xd4a1 - 0xd4fe
SWIDTH2         0xd540 - 0xd57e 0xd5a1 - 0xd5fe
SWIDTH2         0xd640 - 0xd67e 0xd6a1 - 0xd6fe
SWIDTH2         0xd740 - 0xd77e 0xd7a1 - 0xd7fe
SWIDTH2         0xd840 - 0xd87e 0xd8a1 - 0xd8fe
SWIDTH2         0xd940 - 0xd97e 0xd9a1 - 0xd9fe
SWIDTH2         0xda40 - 0xda7e 0xdaa1 - 0xdafe
SWIDTH2         0xdb40 - 0xdb7e 0xdba1 - 0xdbfe
SWIDTH2         0xdc40 - 0xdc7e 0xdca1 - 0xdcfe
SWIDTH2         0xdd40 - 0xdd7e 0xdda1 - 0xddfe
SWIDTH2         0xde40 - 0xde7e 0xdea1 - 0xdefe
SWIDTH2         0xdf40 - 0xdf7e 0xdfa1 - 0xdffe
SWIDTH2         0xe040 - 0xe07e 0xe0a1 - 0xe0fe
SWIDTH2         0xe140 - 0xe17e 0xe1a1 - 0xe1fe
SWIDTH2         0xe240 - 0xe27e 0xe2a1 - 0xe2fe
SWIDTH2         0xe340 - 0xe37e 0xe3a1 - 0xe3fe
SWIDTH2         0xe440 - 0xe47e 0xe4a1 - 0xe4fe
SWIDTH2         0xe540 - 0xe57e 0xe5a1 - 0xe5fe
SWIDTH2         0xe640 - 0xe67e 0xe6a1 - 0xe6fe
SWIDTH2         0xe740 - 0xe77e 0xe7a1 - 0xe7fe
SWIDTH2         0xe840 - 0xe87e 0xe8a1 - 0xe8fe
SWIDTH2         0xe940 - 0xe97e 0xe9a1 - 0xe9fe
SWIDTH2         0xea40 - 0xea7e 0xeaa1 - 0xeafe
SWIDTH2         0xeb40 - 0xeb7e 0xeba1 - 0xebfe
SWIDTH2         0xec40 - 0xec7e 0xeca1 - 0xecfe
SWIDTH2         0xed40 - 0xed7e 0xeda1 - 0xedfe
SWIDTH2         0xee40 - 0xee7e 0xeea1 - 0xeefe
SWIDTH2         0xef40 - 0xef7e 0xefa1 - 0xeffe
SWIDTH2         0xf040 - 0xf07e 0xf0a1 - 0xf0fe
SWIDTH2         0xf140 - 0xf17e 0xf1a1 - 0xf1fe
SWIDTH2         0xf240 - 0xf27e 0xf2a1 - 0xf2fe
SWIDTH2         0xf340 - 0xf37e 0xf3a1 - 0xf3fe
SWIDTH2         0xf440 - 0xf47e 0xf4a1 - 0xf4fe
SWIDTH2         0xf540 - 0xf57e 0xf5a1 - 0xf5fe
SWIDTH2         0xf640 - 0xf67e 0xf6a1 - 0xf6fe
SWIDTH2         0xf740 - 0xf77e 0xf7a1 - 0xf7fe
SWIDTH2         0xf840 - 0xf87e 0xf8a1 - 0xf8fe
SWIDTH2         0xf940 - 0xf97e 0xf9a1 - 0xf9dc

/* Eten external charset 0xc6a1 - 0xc8d3 */

/* lots strange numbers */
SPECIAL         0xc6a1 - 0xc6be
SWIDTH2         0xc6a1 - 0xc6be

TODIGIT         < 0xc6a1 - 0xc6aa : 1 > < 0xc6ab - 0xc6b4 : 1 >
TODIGIT         < 0xc6b5 - 0xc6be : 1>

/* these are HanZi Radicals */
SPECIAL         0xc6bf - 0xc6ce 0xc6d0 - 0xc6d2 0xc6d4 0xc6d6 
SPECIAL         0xc879 - 0xc87e 0xc8a1 - 0xc8a4 0xc8d4 - 0xc8f1
SWIDTH2         0xc6bf - 0xc6ce 0xc6d0 - 0xc6d2 0xc6d4 0xc6d6 
SWIDTH2         0xc879 - 0xc87e 0xc8a1 - 0xc8a4 0xc8d4 - 0xc8f1

/* who knows what these are ... */
SPECIAL         0xc6d8 - 0xc6dd 0xc6e0 - 0xc6e6 0xc876 - 0xc878
SWIDTH2         0xc6d8 - 0xc6dd 0xc6e0 - 0xc6e6 0xc876 - 0xc878

/* hiragana */
SPECIAL         0xc6e7 - 0xc6fe 0xc740 - 0xc77a
SWIDTH2         0xc6e7 - 0xc6fe 0xc740 - 0xc77a

/* katakana */
SPECIAL         0xc77b - 0xc77e 0xc7a1 - 0xc7f2

/* various Japanese symbols */
SPECIAL         0xc8cd - 0xc8d3
SWIDTH2         0xc8cd - 0xc8d3

/* latin small letter */
SPECIAL         0xc8fe - 0xc8fe
SWIDTH2         0xc8fe - 0xc8fe

/* line drawing glyphs */
SPECIAL         0xf9dd - 0xf9fe
SWIDTH2         0xf9dd - 0xf9fe


IDEOGRAM        0xfa40 - 0xfa5e 0xfa60 - 0xfa65 0xfa67 - 0xfa7e 0xfaa1 - 0xfabc
IDEOGRAM        0xfabd - 0xfac4 0xfac6 - 0xfad4 0xfad6 - 0xfafe
IDEOGRAM        0xfb40 - 0xfb47 0xfb49 - 0xfb7e 0xfba1 - 0xfbb7 0xfbb9 - 0xfbf2
IDEOGRAM        0xfbf4 - 0xfbf8 0xfbfa - 0xfbfe
IDEOGRAM        0xfc40 - 0xfc4e 0xfc50 - 0xfc6b 0xfc6d - 0xfc7e 0xfca1 - 0xfcb8
IDEOGRAM        0xfcba - 0xfce1 0xfce3 - 0xfcf0 0xfcf2 - 0xfcfe
IDEOGRAM        0xfd40 - 0xfd7e 0xfda1 - 0xfdb6 0xfdb9 0xfdba 0xfdbc - 0xfdf0
IDEOGRAM        0xfdf2 - 0xfdfe
IDEOGRAM        0xfe40 - 0xfe51 0xfe53 - 0xfe7e 0xfea1 - 0xfea9 0xfeab - 0xfbdc
IDEOGRAM        0xfede - 0xfefe

SWIDTH2         0xfa40 - 0xfa5e 0xfa60 - 0xfa65 0xfa67 - 0xfa7e 0xfaa1 - 0xfabc
SWIDTH2         0xfabd - 0xfac4 0xfac6 - 0xfad4 0xfad6 - 0xfafe
SWIDTH2         0xfb40 - 0xfb47 0xfb49 - 0xfb7e 0xfba1 - 0xfbb7 0xfbb9 - 0xfbf2
SWIDTH2         0xfbf4 - 0xfbf8 0xfbfa - 0xfbfe
SWIDTH2         0xfc40 - 0xfc4e 0xfc50 - 0xfc6b 0xfc6d - 0xfc7e 0xfca1 - 0xfcb8
SWIDTH2         0xfcba - 0xfce1 0xfce3 - 0xfcf0 0xfcf2 - 0xfcfe
SWIDTH2         0xfd40 - 0xfd7e 0xfda1 - 0xfdb6 0xfdb9 0xfdba 0xfdbc - 0xfdf0
SWIDTH2         0xfdf2 - 0xfdfe
SWIDTH2         0xfe40 - 0xfe51 0xfe53 - 0xfe7e 0xfea1 - 0xfea9 0xfeab - 0xfbdc
SWIDTH2         0xfede - 0xfefe