2
* The contents of this file are subject to the Interbase Public
3
* License Version 1.0 (the "License"); you may not use this file
4
* except in compliance with the License. You may obtain a copy
5
* of the License at http://www.Inprise.com/IPL.html
7
* Software distributed under the License is distributed on an
8
* "AS IS" basis, WITHOUT WARRANTY OF ANY KIND, either express
9
* or implied. See the License for the specific language governing
10
* rights and limitations under the License.
12
* All Rights Reserved.
13
* Contributor(s): Sandor Szollosi <ssani@freemail.hu>, Gabor Boros
15
/* Language Driver/API version 1.1 */
17
const int NUM_EXPAND_CHARS = 0;
18
const int NUM_COMPRESS_CHARS = 24;
19
const int LOWERCASE_LEN = 256;
20
const int UPPERCASE_LEN = 256;
21
const int NOCASESORT_LEN = 256;
22
const int LDRV_TIEBREAK = LOCAL_EXPAND;
24
const int MAX_NCO_PRIMARY = 197;
25
const int MAX_NCO_SECONDARY = 2;
26
const int MAX_NCO_TERTIARY = 0;
27
const int MAX_NCO_IGNORE = 0;
28
const int NULL_SECONDARY = 0;
29
const int NULL_TERTIARY = 0;
30
const int FIRST_IGNORE = 1;
31
const int FIRST_TERTIARY = 1;
32
const int FIRST_SECONDARY = (FIRST_TERTIARY+MAX_NCO_TERTIARY+1);
33
const int FIRST_PRIMARY = (FIRST_SECONDARY+MAX_NCO_SECONDARY+1);
35
static const BYTE ToUpperConversionTbl [ UPPERCASE_LEN ] = {
70
33, /* 33 -> 33 ( ! -> ! ) */
71
34, /* 34 -> 34 ( " -> " ) */
72
35, /* 35 -> 35 ( # -> # ) */
73
36, /* 36 -> 36 ( $ -> $ ) */
74
37, /* 37 -> 37 ( % -> % ) */
75
38, /* 38 -> 38 ( & -> & ) */
76
39, /* 39 -> 39 ( ' -> ' ) */
77
40, /* 40 -> 40 ( ( -> ( ) */
78
41, /* 41 -> 41 ( ) -> ) ) */
79
42, /* 42 -> 42 ( * -> * ) */
80
43, /* 43 -> 43 ( + -> + ) */
81
44, /* 44 -> 44 ( , -> , ) */
82
45, /* 45 -> 45 ( - -> - ) */
83
46, /* 46 -> 46 ( . -> . ) */
84
47, /* 47 -> 47 ( / -> / ) */
85
48, /* 48 -> 48 ( 0 -> 0 ) */
86
49, /* 49 -> 49 ( 1 -> 1 ) */
87
50, /* 50 -> 50 ( 2 -> 2 ) */
88
51, /* 51 -> 51 ( 3 -> 3 ) */
89
52, /* 52 -> 52 ( 4 -> 4 ) */
90
53, /* 53 -> 53 ( 5 -> 5 ) */
91
54, /* 54 -> 54 ( 6 -> 6 ) */
92
55, /* 55 -> 55 ( 7 -> 7 ) */
93
56, /* 56 -> 56 ( 8 -> 8 ) */
94
57, /* 57 -> 57 ( 9 -> 9 ) */
95
58, /* 58 -> 58 ( : -> : ) */
96
59, /* 59 -> 59 ( ; -> ; ) */
97
60, /* 60 -> 60 ( < -> < ) */
98
61, /* 61 -> 61 ( = -> = ) */
99
62, /* 62 -> 62 ( > -> > ) */
100
63, /* 63 -> 63 ( ? -> ? ) */
101
64, /* 64 -> 64 ( @ -> @ ) */
102
65, /* 65 -> 65 ( A -> A ) */
103
66, /* 66 -> 66 ( B -> B ) */
104
67, /* 67 -> 67 ( C -> C ) */
105
68, /* 68 -> 68 ( D -> D ) */
106
69, /* 69 -> 69 ( E -> E ) */
107
70, /* 70 -> 70 ( F -> F ) */
108
71, /* 71 -> 71 ( G -> G ) */
109
72, /* 72 -> 72 ( H -> H ) */
110
73, /* 73 -> 73 ( I -> I ) */
111
74, /* 74 -> 74 ( J -> J ) */
112
75, /* 75 -> 75 ( K -> K ) */
113
76, /* 76 -> 76 ( L -> L ) */
114
77, /* 77 -> 77 ( M -> M ) */
115
78, /* 78 -> 78 ( N -> N ) */
116
79, /* 79 -> 79 ( O -> O ) */
117
80, /* 80 -> 80 ( P -> P ) */
118
81, /* 81 -> 81 ( Q -> Q ) */
119
82, /* 82 -> 82 ( R -> R ) */
120
83, /* 83 -> 83 ( S -> S ) */
121
84, /* 84 -> 84 ( T -> T ) */
122
85, /* 85 -> 85 ( U -> U ) */
123
86, /* 86 -> 86 ( V -> V ) */
124
87, /* 87 -> 87 ( W -> W ) */
125
88, /* 88 -> 88 ( X -> X ) */
126
89, /* 89 -> 89 ( Y -> Y ) */
127
90, /* 90 -> 90 ( Z -> Z ) */
128
91, /* 91 -> 91 ( [ -> [ ) */
129
92, /* 92 -> 92 ( \ -> \ ) */
130
93, /* 93 -> 93 ( ] -> ] ) */
131
94, /* 94 -> 94 ( ^ -> ^ ) */
132
95, /* 95 -> 95 ( _ -> _ ) */
133
96, /* 96 -> 96 ( ` -> ` ) */
134
65, /* 97 -> 65 ( a -> A ) */
135
66, /* 98 -> 66 ( b -> B ) */
136
67, /* 99 -> 67 ( c -> C ) */
137
68, /* 100 -> 68 ( d -> D ) */
138
69, /* 101 -> 69 ( e -> E ) */
139
70, /* 102 -> 70 ( f -> F ) */
140
71, /* 103 -> 71 ( g -> G ) */
141
72, /* 104 -> 72 ( h -> H ) */
142
73, /* 105 -> 73 ( i -> I ) */
143
74, /* 106 -> 74 ( j -> J ) */
144
75, /* 107 -> 75 ( k -> K ) */
145
76, /* 108 -> 76 ( l -> L ) */
146
77, /* 109 -> 77 ( m -> M ) */
147
78, /* 110 -> 78 ( n -> N ) */
148
79, /* 111 -> 79 ( o -> O ) */
149
80, /* 112 -> 80 ( p -> P ) */
150
81, /* 113 -> 81 ( q -> Q ) */
151
82, /* 114 -> 82 ( r -> R ) */
152
83, /* 115 -> 83 ( s -> S ) */
153
84, /* 116 -> 84 ( t -> T ) */
154
85, /* 117 -> 85 ( u -> U ) */
155
86, /* 118 -> 86 ( v -> V ) */
156
87, /* 119 -> 87 ( w -> W ) */
157
88, /* 120 -> 88 ( x -> X ) */
158
89, /* 121 -> 89 ( y -> Y ) */
159
90, /* 122 -> 90 ( z -> Z ) */
160
123, /* 123 -> 123 ( { -> { ) */
161
124, /* 124 -> 124 ( | -> | ) */
162
125, /* 125 -> 125 ( } -> } ) */
163
126, /* 126 -> 126 ( ~ -> ~ ) */
164
127, /* 127 -> 127 */
165
128, /* 128 -> 128 */
166
129, /* 129 -> 129 */
167
130, /* 130 -> 130 */
168
131, /* 131 -> 131 */
169
132, /* 132 -> 132 */
170
133, /* 133 -> 133 */
171
134, /* 134 -> 134 */
172
135, /* 135 -> 135 */
173
136, /* 136 -> 136 */
174
137, /* 137 -> 137 */
175
138, /* 138 -> 138 */
176
139, /* 139 -> 139 */
177
140, /* 140 -> 140 */
178
141, /* 141 -> 141 */
179
142, /* 142 -> 142 */
180
143, /* 143 -> 143 */
181
144, /* 144 -> 144 */
182
145, /* 145 -> 145 */
183
146, /* 146 -> 146 */
184
147, /* 147 -> 147 */
185
148, /* 148 -> 148 */
186
149, /* 149 -> 149 */
187
150, /* 150 -> 150 */
188
151, /* 151 -> 151 */
189
152, /* 152 -> 152 */
190
153, /* 153 -> 153 */
191
154, /* 154 -> 154 */
192
155, /* 155 -> 155 */
193
156, /* 156 -> 156 */
194
157, /* 157 -> 157 */
195
158, /* 158 -> 158 */
196
159, /* 159 -> 159 ( � -> � ) */
197
160, /* 160 -> 160 ( � -> � ) */
198
161, /* 161 -> 161 ( � -> � ) */
199
162, /* 162 -> 162 ( � -> � ) */
200
163, /* 163 -> 163 ( � -> � ) */
201
164, /* 164 -> 164 ( � -> � ) */
202
165, /* 165 -> 165 ( � -> � ) */
203
166, /* 166 -> 166 ( � -> � ) */
204
167, /* 167 -> 167 ( � -> � ) */
205
168, /* 168 -> 168 ( � -> � ) */
206
169, /* 169 -> 169 ( � -> � ) */
207
170, /* 170 -> 170 ( � -> � ) */
208
171, /* 171 -> 171 ( � -> � ) */
209
172, /* 172 -> 172 ( � -> � ) */
210
173, /* 173 -> 173 ( � -> � ) */
211
174, /* 174 -> 174 ( � -> � ) */
212
175, /* 175 -> 175 ( � -> � ) */
213
176, /* 176 -> 176 ( � -> � ) */
214
161, /* 177 -> 161 ( � -> � ) */
215
178, /* 178 -> 178 ( � -> � ) */
216
163, /* 179 -> 163 ( � -> � ) */
217
180, /* 180 -> 180 ( � -> � ) */
218
165, /* 181 -> 165 ( � -> � ) */
219
166, /* 182 -> 166 ( � -> � ) */
220
183, /* 183 -> 183 ( � -> � ) */
221
184, /* 184 -> 184 ( � -> � ) */
222
169, /* 185 -> 169 ( � -> � ) */
223
170, /* 186 -> 170 ( � -> � ) */
224
171, /* 187 -> 171 ( � -> � ) */
225
172, /* 188 -> 172 ( � -> � ) */
226
189, /* 189 -> 189 ( � -> � ) */
227
174, /* 190 -> 174 ( � -> � ) */
228
175, /* 191 -> 175 ( � -> � ) */
229
192, /* 192 -> 192 ( � -> � ) */
230
193, /* 193 -> 193 ( � -> � ) */
231
194, /* 194 -> 194 ( � -> � ) */
232
195, /* 195 -> 195 ( � -> � ) */
233
196, /* 196 -> 196 ( � -> � ) */
234
197, /* 197 -> 197 ( � -> � ) */
235
198, /* 198 -> 198 ( � -> � ) */
236
199, /* 199 -> 199 ( � -> � ) */
237
200, /* 200 -> 200 ( � -> � ) */
238
201, /* 201 -> 201 ( � -> � ) */
239
202, /* 202 -> 202 ( � -> � ) */
240
203, /* 203 -> 203 ( � -> � ) */
241
204, /* 204 -> 204 ( � -> � ) */
242
205, /* 205 -> 205 ( � -> � ) */
243
206, /* 206 -> 206 ( � -> � ) */
244
207, /* 207 -> 207 ( � -> � ) */
245
208, /* 208 -> 208 ( � -> � ) */
246
209, /* 209 -> 209 ( � -> � ) */
247
210, /* 210 -> 210 ( � -> � ) */
248
211, /* 211 -> 211 ( � -> � ) */
249
212, /* 212 -> 212 ( � -> � ) */
250
213, /* 213 -> 213 ( � -> � ) */
251
214, /* 214 -> 214 ( � -> � ) */
252
215, /* 215 -> 215 ( � -> � ) */
253
216, /* 216 -> 216 ( � -> � ) */
254
217, /* 217 -> 217 ( � -> � ) */
255
218, /* 218 -> 218 ( � -> � ) */
256
219, /* 219 -> 219 ( � -> � ) */
257
220, /* 220 -> 220 ( � -> � ) */
258
221, /* 221 -> 221 ( � -> � ) */
259
222, /* 222 -> 222 ( � -> � ) */
260
223, /* 223 -> 223 ( � -> � ) */
261
192, /* 224 -> 192 ( � -> � ) */
262
193, /* 225 -> 193 ( � -> � ) */
263
194, /* 226 -> 194 ( � -> � ) */
264
195, /* 227 -> 195 ( � -> � ) */
265
196, /* 228 -> 196 ( � -> � ) */
266
197, /* 229 -> 197 ( � -> � ) */
267
198, /* 230 -> 198 ( � -> � ) */
268
199, /* 231 -> 199 ( � -> � ) */
269
200, /* 232 -> 200 ( � -> � ) */
270
201, /* 233 -> 201 ( � -> � ) */
271
202, /* 234 -> 202 ( � -> � ) */
272
203, /* 235 -> 203 ( � -> � ) */
273
204, /* 236 -> 204 ( � -> � ) */
274
205, /* 237 -> 205 ( � -> � ) */
275
206, /* 238 -> 206 ( � -> � ) */
276
207, /* 239 -> 207 ( � -> � ) */
277
208, /* 240 -> 208 ( � -> � ) */
278
209, /* 241 -> 209 ( � -> � ) */
279
210, /* 242 -> 210 ( � -> � ) */
280
211, /* 243 -> 211 ( � -> � ) */
281
212, /* 244 -> 212 ( � -> � ) */
282
213, /* 245 -> 213 ( � -> � ) */
283
214, /* 246 -> 214 ( � -> � ) */
284
247, /* 247 -> 247 ( � -> � ) */
285
216, /* 248 -> 216 ( � -> � ) */
286
217, /* 249 -> 217 ( � -> � ) */
287
218, /* 250 -> 218 ( � -> � ) */
288
219, /* 251 -> 219 ( � -> � ) */
289
220, /* 252 -> 220 ( � -> � ) */
290
221, /* 253 -> 221 ( � -> � ) */
291
222, /* 254 -> 222 ( � -> � ) */
292
255 /* 255 -> 255 ( � -> � ) */
295
static const BYTE ToLowerConversionTbl [ LOWERCASE_LEN ] = {
329
33, /* 33 -> 33 ( ! -> ! ) */
330
34, /* 34 -> 34 ( " -> " ) */
331
35, /* 35 -> 35 ( # -> # ) */
332
36, /* 36 -> 36 ( $ -> $ ) */
333
37, /* 37 -> 37 ( % -> % ) */
334
38, /* 38 -> 38 ( & -> & ) */
335
39, /* 39 -> 39 ( ' -> ' ) */
336
40, /* 40 -> 40 ( ( -> ( ) */
337
41, /* 41 -> 41 ( ) -> ) ) */
338
42, /* 42 -> 42 ( * -> * ) */
339
43, /* 43 -> 43 ( + -> + ) */
340
44, /* 44 -> 44 ( , -> , ) */
341
45, /* 45 -> 45 ( - -> - ) */
342
46, /* 46 -> 46 ( . -> . ) */
343
47, /* 47 -> 47 ( / -> / ) */
344
48, /* 48 -> 48 ( 0 -> 0 ) */
345
49, /* 49 -> 49 ( 1 -> 1 ) */
346
50, /* 50 -> 50 ( 2 -> 2 ) */
347
51, /* 51 -> 51 ( 3 -> 3 ) */
348
52, /* 52 -> 52 ( 4 -> 4 ) */
349
53, /* 53 -> 53 ( 5 -> 5 ) */
350
54, /* 54 -> 54 ( 6 -> 6 ) */
351
55, /* 55 -> 55 ( 7 -> 7 ) */
352
56, /* 56 -> 56 ( 8 -> 8 ) */
353
57, /* 57 -> 57 ( 9 -> 9 ) */
354
58, /* 58 -> 58 ( : -> : ) */
355
59, /* 59 -> 59 ( ; -> ; ) */
356
60, /* 60 -> 60 ( < -> < ) */
357
61, /* 61 -> 61 ( = -> = ) */
358
62, /* 62 -> 62 ( > -> > ) */
359
63, /* 63 -> 63 ( ? -> ? ) */
360
64, /* 64 -> 64 ( @ -> @ ) */
361
97, /* 65 -> 97 ( A -> a ) */
362
98, /* 66 -> 98 ( B -> b ) */
363
99, /* 67 -> 99 ( C -> c ) */
364
100, /* 68 -> 100 ( D -> d ) */
365
101, /* 69 -> 101 ( E -> e ) */
366
102, /* 70 -> 102 ( F -> f ) */
367
103, /* 71 -> 103 ( G -> g ) */
368
104, /* 72 -> 104 ( H -> h ) */
369
105, /* 73 -> 105 ( I -> i ) */
370
106, /* 74 -> 106 ( J -> j ) */
371
107, /* 75 -> 107 ( K -> k ) */
372
108, /* 76 -> 108 ( L -> l ) */
373
109, /* 77 -> 109 ( M -> m ) */
374
110, /* 78 -> 110 ( N -> n ) */
375
111, /* 79 -> 111 ( O -> o ) */
376
112, /* 80 -> 112 ( P -> p ) */
377
113, /* 81 -> 113 ( Q -> q ) */
378
114, /* 82 -> 114 ( R -> r ) */
379
115, /* 83 -> 115 ( S -> s ) */
380
116, /* 84 -> 116 ( T -> t ) */
381
117, /* 85 -> 117 ( U -> u ) */
382
118, /* 86 -> 118 ( V -> v ) */
383
119, /* 87 -> 119 ( W -> w ) */
384
120, /* 88 -> 120 ( X -> x ) */
385
121, /* 89 -> 121 ( Y -> y ) */
386
122, /* 90 -> 122 ( Z -> z ) */
387
91, /* 91 -> 91 ( [ -> [ ) */
388
92, /* 92 -> 92 ( \ -> \ ) */
389
93, /* 93 -> 93 ( ] -> ] ) */
390
94, /* 94 -> 94 ( ^ -> ^ ) */
391
95, /* 95 -> 95 ( _ -> _ ) */
392
96, /* 96 -> 96 ( ` -> ` ) */
393
97, /* 97 -> 97 ( a -> a ) */
394
98, /* 98 -> 98 ( b -> b ) */
395
99, /* 99 -> 99 ( c -> c ) */
396
100, /* 100 -> 100 ( d -> d ) */
397
101, /* 101 -> 101 ( e -> e ) */
398
102, /* 102 -> 102 ( f -> f ) */
399
103, /* 103 -> 103 ( g -> g ) */
400
104, /* 104 -> 104 ( h -> h ) */
401
105, /* 105 -> 105 ( i -> i ) */
402
106, /* 106 -> 106 ( j -> j ) */
403
107, /* 107 -> 107 ( k -> k ) */
404
108, /* 108 -> 108 ( l -> l ) */
405
109, /* 109 -> 109 ( m -> m ) */
406
110, /* 110 -> 110 ( n -> n ) */
407
111, /* 111 -> 111 ( o -> o ) */
408
112, /* 112 -> 112 ( p -> p ) */
409
113, /* 113 -> 113 ( q -> q ) */
410
114, /* 114 -> 114 ( r -> r ) */
411
115, /* 115 -> 115 ( s -> s ) */
412
116, /* 116 -> 116 ( t -> t ) */
413
117, /* 117 -> 117 ( u -> u ) */
414
118, /* 118 -> 118 ( v -> v ) */
415
119, /* 119 -> 119 ( w -> w ) */
416
120, /* 120 -> 120 ( x -> x ) */
417
121, /* 121 -> 121 ( y -> y ) */
418
122, /* 122 -> 122 ( z -> z ) */
419
123, /* 123 -> 123 ( { -> { ) */
420
124, /* 124 -> 124 ( | -> | ) */
421
125, /* 125 -> 125 ( } -> } ) */
422
126, /* 126 -> 126 ( ~ -> ~ ) */
423
127, /* 127 -> 127 */
424
128, /* 128 -> 128 */
425
129, /* 129 -> 129 */
426
130, /* 130 -> 130 */
427
131, /* 131 -> 131 */
428
132, /* 132 -> 132 */
429
133, /* 133 -> 133 */
430
134, /* 134 -> 134 */
431
135, /* 135 -> 135 */
432
136, /* 136 -> 136 */
433
137, /* 137 -> 137 */
434
138, /* 138 -> 138 */
435
139, /* 139 -> 139 */
436
140, /* 140 -> 140 */
437
141, /* 141 -> 141 */
438
142, /* 142 -> 142 */
439
143, /* 143 -> 143 */
440
144, /* 144 -> 144 */
441
145, /* 145 -> 145 */
442
146, /* 146 -> 146 */
443
147, /* 147 -> 147 */
444
148, /* 148 -> 148 */
445
149, /* 149 -> 149 */
446
150, /* 150 -> 150 */
447
151, /* 151 -> 151 */
448
152, /* 152 -> 152 */
449
153, /* 153 -> 153 */
450
154, /* 154 -> 154 */
451
155, /* 155 -> 155 */
452
156, /* 156 -> 156 */
453
157, /* 157 -> 157 */
454
158, /* 158 -> 158 */
455
159, /* 159 -> 159 ( � -> � ) */
456
160, /* 160 -> 160 ( � -> � ) */
457
177, /* 161 -> 177 ( � -> � ) */
458
162, /* 162 -> 162 ( � -> � ) */
459
179, /* 163 -> 179 ( � -> � ) */
460
164, /* 164 -> 164 ( � -> � ) */
461
181, /* 165 -> 181 ( � -> � ) */
462
182, /* 166 -> 182 ( � -> � ) */
463
167, /* 167 -> 167 ( � -> � ) */
464
168, /* 168 -> 168 ( � -> � ) */
465
185, /* 169 -> 185 ( � -> � ) */
466
186, /* 170 -> 186 ( � -> � ) */
467
187, /* 171 -> 187 ( � -> � ) */
468
188, /* 172 -> 188 ( � -> � ) */
469
173, /* 173 -> 173 ( � -> � ) */
470
190, /* 174 -> 190 ( � -> � ) */
471
191, /* 175 -> 191 ( � -> � ) */
472
176, /* 176 -> 176 ( � -> � ) */
473
177, /* 177 -> 177 ( � -> � ) */
474
178, /* 178 -> 178 ( � -> � ) */
475
179, /* 179 -> 179 ( � -> � ) */
476
180, /* 180 -> 180 ( � -> � ) */
477
181, /* 181 -> 181 ( � -> � ) */
478
182, /* 182 -> 182 ( � -> � ) */
479
183, /* 183 -> 183 ( � -> � ) */
480
184, /* 184 -> 184 ( � -> � ) */
481
185, /* 185 -> 185 ( � -> � ) */
482
186, /* 186 -> 186 ( � -> � ) */
483
187, /* 187 -> 187 ( � -> � ) */
484
188, /* 188 -> 188 ( � -> � ) */
485
189, /* 189 -> 189 ( � -> � ) */
486
190, /* 190 -> 190 ( � -> � ) */
487
191, /* 191 -> 191 ( � -> � ) */
488
224, /* 192 -> 224 ( � -> � ) */
489
225, /* 193 -> 225 ( � -> � ) */
490
226, /* 194 -> 226 ( � -> � ) */
491
227, /* 195 -> 227 ( � -> � ) */
492
228, /* 196 -> 228 ( � -> � ) */
493
229, /* 197 -> 229 ( � -> � ) */
494
230, /* 198 -> 230 ( � -> � ) */
495
231, /* 199 -> 231 ( � -> � ) */
496
232, /* 200 -> 232 ( � -> � ) */
497
233, /* 201 -> 233 ( � -> � ) */
498
234, /* 202 -> 234 ( � -> � ) */
499
235, /* 203 -> 235 ( � -> � ) */
500
236, /* 204 -> 236 ( � -> � ) */
501
237, /* 205 -> 237 ( � -> � ) */
502
238, /* 206 -> 238 ( � -> � ) */
503
239, /* 207 -> 239 ( � -> � ) */
504
240, /* 208 -> 240 ( � -> � ) */
505
241, /* 209 -> 241 ( � -> � ) */
506
242, /* 210 -> 242 ( � -> � ) */
507
243, /* 211 -> 243 ( � -> � ) */
508
244, /* 212 -> 244 ( � -> � ) */
509
245, /* 213 -> 245 ( � -> � ) */
510
246, /* 214 -> 246 ( � -> � ) */
511
215, /* 215 -> 215 ( � -> � ) */
512
248, /* 216 -> 248 ( � -> � ) */
513
249, /* 217 -> 249 ( � -> � ) */
514
250, /* 218 -> 250 ( � -> � ) */
515
251, /* 219 -> 251 ( � -> � ) */
516
252, /* 220 -> 252 ( � -> � ) */
517
253, /* 221 -> 253 ( � -> � ) */
518
254, /* 222 -> 254 ( � -> � ) */
519
223, /* 223 -> 223 ( � -> � ) */
520
224, /* 224 -> 224 ( � -> � ) */
521
225, /* 225 -> 225 ( � -> � ) */
522
226, /* 226 -> 226 ( � -> � ) */
523
227, /* 227 -> 227 ( � -> � ) */
524
228, /* 228 -> 228 ( � -> � ) */
525
229, /* 229 -> 229 ( � -> � ) */
526
230, /* 230 -> 230 ( � -> � ) */
527
231, /* 231 -> 231 ( � -> � ) */
528
232, /* 232 -> 232 ( � -> � ) */
529
233, /* 233 -> 233 ( � -> � ) */
530
234, /* 234 -> 234 ( � -> � ) */
531
235, /* 235 -> 235 ( � -> � ) */
532
236, /* 236 -> 236 ( � -> � ) */
533
237, /* 237 -> 237 ( � -> � ) */
534
238, /* 238 -> 238 ( � -> � ) */
535
239, /* 239 -> 239 ( � -> � ) */
536
240, /* 240 -> 240 ( � -> � ) */
537
241, /* 241 -> 241 ( � -> � ) */
538
242, /* 242 -> 242 ( � -> � ) */
539
243, /* 243 -> 243 ( � -> � ) */
540
244, /* 244 -> 244 ( � -> � ) */
541
245, /* 245 -> 245 ( � -> � ) */
542
246, /* 246 -> 246 ( � -> � ) */
543
247, /* 247 -> 247 ( � -> � ) */
544
248, /* 248 -> 248 ( � -> � ) */
545
249, /* 249 -> 249 ( � -> � ) */
546
250, /* 250 -> 250 ( � -> � ) */
547
251, /* 251 -> 251 ( � -> � ) */
548
252, /* 252 -> 252 ( � -> � ) */
549
253, /* 253 -> 253 ( � -> � ) */
550
254, /* 254 -> 254 ( � -> � ) */
551
255 /* 255 -> 255 ( � -> � ) */
554
static const struct ExpandChar ExpansionTbl [ NUM_EXPAND_CHARS + 1 ] = {
558
static const struct CompressPair CompressTbl [ NUM_COMPRESS_CHARS + 1 ] = {
559
{ { 99, 115}, { FIRST_PRIMARY+ 76, FIRST_SECONDARY+ 0, NULL_TERTIARY, 0, 0 }, { FIRST_PRIMARY+ 76, FIRST_SECONDARY+ 0, NULL_TERTIARY, 0, 0 }}, /* cs */
560
{ { 67, 115}, { FIRST_PRIMARY+ 76, FIRST_SECONDARY+ 1, NULL_TERTIARY, 0, 0 }, { FIRST_PRIMARY+ 76, FIRST_SECONDARY+ 1, NULL_TERTIARY, 0, 0 }}, /* Cs */
561
{ { 67, 83}, { FIRST_PRIMARY+ 76, FIRST_SECONDARY+ 2, NULL_TERTIARY, 0, 0 }, { FIRST_PRIMARY+ 76, FIRST_SECONDARY+ 2, NULL_TERTIARY, 0, 0 }}, /* CS */
562
{ {100, 122}, { FIRST_PRIMARY+ 80, FIRST_SECONDARY+ 0, NULL_TERTIARY, 0, 0 }, { FIRST_PRIMARY+ 80, FIRST_SECONDARY+ 0, NULL_TERTIARY, 0, 0 }}, /* dz */
563
{ { 68, 122}, { FIRST_PRIMARY+ 80, FIRST_SECONDARY+ 1, NULL_TERTIARY, 0, 0 }, { FIRST_PRIMARY+ 80, FIRST_SECONDARY+ 1, NULL_TERTIARY, 0, 0 }}, /* Dz */
564
{ { 68, 90}, { FIRST_PRIMARY+ 80, FIRST_SECONDARY+ 2, NULL_TERTIARY, 0, 0 }, { FIRST_PRIMARY+ 80, FIRST_SECONDARY+ 2, NULL_TERTIARY, 0, 0 }}, /* DZ */
565
{ {103, 121}, { FIRST_PRIMARY+ 88, FIRST_SECONDARY+ 0, NULL_TERTIARY, 0, 0 }, { FIRST_PRIMARY+ 88, FIRST_SECONDARY+ 0, NULL_TERTIARY, 0, 0 }}, /* gy */
566
{ { 71, 121}, { FIRST_PRIMARY+ 88, FIRST_SECONDARY+ 1, NULL_TERTIARY, 0, 0 }, { FIRST_PRIMARY+ 88, FIRST_SECONDARY+ 1, NULL_TERTIARY, 0, 0 }}, /* Gy */
567
{ { 71, 89}, { FIRST_PRIMARY+ 88, FIRST_SECONDARY+ 2, NULL_TERTIARY, 0, 0 }, { FIRST_PRIMARY+ 88, FIRST_SECONDARY+ 2, NULL_TERTIARY, 0, 0 }}, /* GY */
568
{ {108, 121}, { FIRST_PRIMARY+ 99, FIRST_SECONDARY+ 0, NULL_TERTIARY, 0, 0 }, { FIRST_PRIMARY+ 99, FIRST_SECONDARY+ 0, NULL_TERTIARY, 0, 0 }}, /* ly */
569
{ { 76, 121}, { FIRST_PRIMARY+ 99, FIRST_SECONDARY+ 1, NULL_TERTIARY, 0, 0 }, { FIRST_PRIMARY+ 99, FIRST_SECONDARY+ 1, NULL_TERTIARY, 0, 0 }}, /* Ly */
570
{ { 76, 89}, { FIRST_PRIMARY+ 99, FIRST_SECONDARY+ 2, NULL_TERTIARY, 0, 0 }, { FIRST_PRIMARY+ 99, FIRST_SECONDARY+ 2, NULL_TERTIARY, 0, 0 }}, /* LY */
571
{ {110, 121}, { FIRST_PRIMARY+104, FIRST_SECONDARY+ 0, NULL_TERTIARY, 0, 0 }, { FIRST_PRIMARY+104, FIRST_SECONDARY+ 0, NULL_TERTIARY, 0, 0 }}, /* ny */
572
{ { 78, 121}, { FIRST_PRIMARY+104, FIRST_SECONDARY+ 1, NULL_TERTIARY, 0, 0 }, { FIRST_PRIMARY+104, FIRST_SECONDARY+ 1, NULL_TERTIARY, 0, 0 }}, /* Ny */
573
{ { 78, 89}, { FIRST_PRIMARY+104, FIRST_SECONDARY+ 2, NULL_TERTIARY, 0, 0 }, { FIRST_PRIMARY+104, FIRST_SECONDARY+ 2, NULL_TERTIARY, 0, 0 }}, /* NY */
574
{ {115, 122}, { FIRST_PRIMARY+120, FIRST_SECONDARY+ 0, NULL_TERTIARY, 0, 0 }, { FIRST_PRIMARY+119, FIRST_SECONDARY+ 0, NULL_TERTIARY, 0, 0 }}, /* sz */
575
{ { 83, 122}, { FIRST_PRIMARY+120, FIRST_SECONDARY+ 1, NULL_TERTIARY, 0, 0 }, { FIRST_PRIMARY+119, FIRST_SECONDARY+ 1, NULL_TERTIARY, 0, 0 }}, /* Sz */
576
{ { 83, 90}, { FIRST_PRIMARY+120, FIRST_SECONDARY+ 2, NULL_TERTIARY, 0, 0 }, { FIRST_PRIMARY+119, FIRST_SECONDARY+ 2, NULL_TERTIARY, 0, 0 }}, /* SZ */
577
{ {116, 121}, { FIRST_PRIMARY+124, FIRST_SECONDARY+ 0, NULL_TERTIARY, 0, 0 }, { FIRST_PRIMARY+124, FIRST_SECONDARY+ 0, NULL_TERTIARY, 0, 0 }}, /* ty */
578
{ { 84, 121}, { FIRST_PRIMARY+124, FIRST_SECONDARY+ 1, NULL_TERTIARY, 0, 0 }, { FIRST_PRIMARY+124, FIRST_SECONDARY+ 1, NULL_TERTIARY, 0, 0 }}, /* Ty */
579
{ { 84, 89}, { FIRST_PRIMARY+124, FIRST_SECONDARY+ 2, NULL_TERTIARY, 0, 0 }, { FIRST_PRIMARY+124, FIRST_SECONDARY+ 2, NULL_TERTIARY, 0, 0 }}, /* TY */
580
{ {122, 115}, { FIRST_PRIMARY+139, FIRST_SECONDARY+ 0, NULL_TERTIARY, 0, 0 }, { FIRST_PRIMARY+139, FIRST_SECONDARY+ 0, NULL_TERTIARY, 0, 0 }}, /* zs */
581
{ { 90, 115}, { FIRST_PRIMARY+139, FIRST_SECONDARY+ 1, NULL_TERTIARY, 0, 0 }, { FIRST_PRIMARY+139, FIRST_SECONDARY+ 1, NULL_TERTIARY, 0, 0 }}, /* Zs */
582
{ { 90, 83}, { FIRST_PRIMARY+139, FIRST_SECONDARY+ 2, NULL_TERTIARY, 0, 0 }, { FIRST_PRIMARY+139, FIRST_SECONDARY+ 2, NULL_TERTIARY, 0, 0 }}, /* ZS */
585
static const struct SortOrderTblEntry NoCaseOrderTbl [ NOCASESORT_LEN ] = {
586
{ FIRST_PRIMARY+ 0, NULL_SECONDARY, NULL_TERTIARY, 0, 0 }, /* 0 */
587
{ FIRST_PRIMARY+ 1, NULL_SECONDARY, NULL_TERTIARY, 0, 0 }, /* 1 */
588
{ FIRST_PRIMARY+ 2, NULL_SECONDARY, NULL_TERTIARY, 0, 0 }, /* 2 */
589
{ FIRST_PRIMARY+ 3, NULL_SECONDARY, NULL_TERTIARY, 0, 0 }, /* 3 */
590
{ FIRST_PRIMARY+ 4, NULL_SECONDARY, NULL_TERTIARY, 0, 0 }, /* 4 */
591
{ FIRST_PRIMARY+ 5, NULL_SECONDARY, NULL_TERTIARY, 0, 0 }, /* 5 */
592
{ FIRST_PRIMARY+ 6, NULL_SECONDARY, NULL_TERTIARY, 0, 0 }, /* 6 */
593
{ FIRST_PRIMARY+ 7, NULL_SECONDARY, NULL_TERTIARY, 0, 0 }, /* 7 */
594
{ FIRST_PRIMARY+ 8, NULL_SECONDARY, NULL_TERTIARY, 0, 0 }, /* 8 */
595
{ FIRST_PRIMARY+ 9, NULL_SECONDARY, NULL_TERTIARY, 0, 0 }, /* 9 */
596
{ FIRST_PRIMARY+ 10, NULL_SECONDARY, NULL_TERTIARY, 0, 0 }, /* 10 */
597
{ FIRST_PRIMARY+ 11, NULL_SECONDARY, NULL_TERTIARY, 0, 0 }, /* 11 */
598
{ FIRST_PRIMARY+ 12, NULL_SECONDARY, NULL_TERTIARY, 0, 0 }, /* 12 */
599
{ FIRST_PRIMARY+ 13, NULL_SECONDARY, NULL_TERTIARY, 0, 0 }, /* 13 */
600
{ FIRST_PRIMARY+ 14, NULL_SECONDARY, NULL_TERTIARY, 0, 0 }, /* 14 */
601
{ FIRST_PRIMARY+ 15, NULL_SECONDARY, NULL_TERTIARY, 0, 0 }, /* 15 */
602
{ FIRST_PRIMARY+ 16, NULL_SECONDARY, NULL_TERTIARY, 0, 0 }, /* 16 */
603
{ FIRST_PRIMARY+ 17, NULL_SECONDARY, NULL_TERTIARY, 0, 0 }, /* 17 */
604
{ FIRST_PRIMARY+ 18, NULL_SECONDARY, NULL_TERTIARY, 0, 0 }, /* 18 */
605
{ FIRST_PRIMARY+ 19, NULL_SECONDARY, NULL_TERTIARY, 0, 0 }, /* 19 */
606
{ FIRST_PRIMARY+ 20, NULL_SECONDARY, NULL_TERTIARY, 0, 0 }, /* 20 */
607
{ FIRST_PRIMARY+ 21, NULL_SECONDARY, NULL_TERTIARY, 0, 0 }, /* 21 */
608
{ FIRST_PRIMARY+ 22, NULL_SECONDARY, NULL_TERTIARY, 0, 0 }, /* 22 */
609
{ FIRST_PRIMARY+ 23, NULL_SECONDARY, NULL_TERTIARY, 0, 0 }, /* 23 */
610
{ FIRST_PRIMARY+ 24, NULL_SECONDARY, NULL_TERTIARY, 0, 0 }, /* 24 */
611
{ FIRST_PRIMARY+ 25, NULL_SECONDARY, NULL_TERTIARY, 0, 0 }, /* 25 */
612
{ FIRST_PRIMARY+ 26, NULL_SECONDARY, NULL_TERTIARY, 0, 0 }, /* 26 */
613
{ FIRST_PRIMARY+ 27, NULL_SECONDARY, NULL_TERTIARY, 0, 0 }, /* 27 */
614
{ FIRST_PRIMARY+ 28, NULL_SECONDARY, NULL_TERTIARY, 0, 0 }, /* 28 */
615
{ FIRST_PRIMARY+ 29, NULL_SECONDARY, NULL_TERTIARY, 0, 0 }, /* 29 */
616
{ FIRST_PRIMARY+ 30, NULL_SECONDARY, NULL_TERTIARY, 0, 0 }, /* 30 */
617
{ FIRST_PRIMARY+ 31, NULL_SECONDARY, NULL_TERTIARY, 0, 0 }, /* 31 */
618
{ FIRST_PRIMARY+ 32, NULL_SECONDARY, NULL_TERTIARY, 0, 0 }, /* 32 */
619
{ FIRST_PRIMARY+ 33, NULL_SECONDARY, NULL_TERTIARY, 0, 0 }, /* 33 ! */
620
{ FIRST_PRIMARY+ 34, NULL_SECONDARY, NULL_TERTIARY, 0, 0 }, /* 34 " */
621
{ FIRST_PRIMARY+ 35, NULL_SECONDARY, NULL_TERTIARY, 0, 0 }, /* 35 # */
622
{ FIRST_PRIMARY+ 36, NULL_SECONDARY, NULL_TERTIARY, 0, 0 }, /* 36 $ */
623
{ FIRST_PRIMARY+ 37, NULL_SECONDARY, NULL_TERTIARY, 0, 0 }, /* 37 % */
624
{ FIRST_PRIMARY+ 38, NULL_SECONDARY, NULL_TERTIARY, 0, 0 }, /* 38 & */
625
{ FIRST_PRIMARY+ 39, NULL_SECONDARY, NULL_TERTIARY, 0, 0 }, /* 39 ' */
626
{ FIRST_PRIMARY+ 40, NULL_SECONDARY, NULL_TERTIARY, 0, 0 }, /* 40 ( */
627
{ FIRST_PRIMARY+ 41, NULL_SECONDARY, NULL_TERTIARY, 0, 0 }, /* 41 ) */
628
{ FIRST_PRIMARY+ 42, NULL_SECONDARY, NULL_TERTIARY, 0, 0 }, /* 42 * */
629
{ FIRST_PRIMARY+ 43, NULL_SECONDARY, NULL_TERTIARY, 0, 0 }, /* 43 + */
630
{ FIRST_PRIMARY+ 44, NULL_SECONDARY, NULL_TERTIARY, 0, 0 }, /* 44 , */
631
{ FIRST_PRIMARY+ 45, NULL_SECONDARY, NULL_TERTIARY, 0, 0 }, /* 45 - */
632
{ FIRST_PRIMARY+ 46, NULL_SECONDARY, NULL_TERTIARY, 0, 0 }, /* 46 . */
633
{ FIRST_PRIMARY+ 47, NULL_SECONDARY, NULL_TERTIARY, 0, 0 }, /* 47 / */
634
{ FIRST_PRIMARY+ 48, NULL_SECONDARY, NULL_TERTIARY, 0, 0 }, /* 48 0 */
635
{ FIRST_PRIMARY+ 49, NULL_SECONDARY, NULL_TERTIARY, 0, 0 }, /* 49 1 */
636
{ FIRST_PRIMARY+ 50, NULL_SECONDARY, NULL_TERTIARY, 0, 0 }, /* 50 2 */
637
{ FIRST_PRIMARY+ 51, NULL_SECONDARY, NULL_TERTIARY, 0, 0 }, /* 51 3 */
638
{ FIRST_PRIMARY+ 52, NULL_SECONDARY, NULL_TERTIARY, 0, 0 }, /* 52 4 */
639
{ FIRST_PRIMARY+ 53, NULL_SECONDARY, NULL_TERTIARY, 0, 0 }, /* 53 5 */
640
{ FIRST_PRIMARY+ 54, NULL_SECONDARY, NULL_TERTIARY, 0, 0 }, /* 54 6 */
641
{ FIRST_PRIMARY+ 55, NULL_SECONDARY, NULL_TERTIARY, 0, 0 }, /* 55 7 */
642
{ FIRST_PRIMARY+ 56, NULL_SECONDARY, NULL_TERTIARY, 0, 0 }, /* 56 8 */
643
{ FIRST_PRIMARY+ 57, NULL_SECONDARY, NULL_TERTIARY, 0, 0 }, /* 57 9 */
644
{ FIRST_PRIMARY+ 58, NULL_SECONDARY, NULL_TERTIARY, 0, 0 }, /* 58 : */
645
{ FIRST_PRIMARY+ 59, NULL_SECONDARY, NULL_TERTIARY, 0, 0 }, /* 59 ; */
646
{ FIRST_PRIMARY+ 60, NULL_SECONDARY, NULL_TERTIARY, 0, 0 }, /* 60 < */
647
{ FIRST_PRIMARY+ 61, NULL_SECONDARY, NULL_TERTIARY, 0, 0 }, /* 61 = */
648
{ FIRST_PRIMARY+ 62, NULL_SECONDARY, NULL_TERTIARY, 0, 0 }, /* 62 > */
649
{ FIRST_PRIMARY+ 63, NULL_SECONDARY, NULL_TERTIARY, 0, 0 }, /* 63 ? */
650
{ FIRST_PRIMARY+ 64, NULL_SECONDARY, NULL_TERTIARY, 0, 0 }, /* 64 @ */
651
{ FIRST_PRIMARY+ 65, FIRST_SECONDARY+ 1, NULL_TERTIARY, 0, 0 }, /* 65 A */
652
{ FIRST_PRIMARY+ 71, FIRST_SECONDARY+ 1, NULL_TERTIARY, 0, 0 }, /* 66 B */
653
{ FIRST_PRIMARY+ 72, FIRST_SECONDARY+ 1, NULL_TERTIARY, 0, 1 }, /* 67 C */
654
{ FIRST_PRIMARY+ 77, FIRST_SECONDARY+ 1, NULL_TERTIARY, 0, 1 }, /* 68 D */
655
{ FIRST_PRIMARY+ 81, FIRST_SECONDARY+ 1, NULL_TERTIARY, 0, 0 }, /* 69 E */
656
{ FIRST_PRIMARY+ 86, FIRST_SECONDARY+ 1, NULL_TERTIARY, 0, 0 }, /* 70 F */
657
{ FIRST_PRIMARY+ 87, FIRST_SECONDARY+ 1, NULL_TERTIARY, 0, 1 }, /* 71 G */
658
{ FIRST_PRIMARY+ 89, FIRST_SECONDARY+ 1, NULL_TERTIARY, 0, 0 }, /* 72 H */
659
{ FIRST_PRIMARY+ 90, FIRST_SECONDARY+ 1, NULL_TERTIARY, 0, 0 }, /* 73 I */
660
{ FIRST_PRIMARY+ 93, FIRST_SECONDARY+ 1, NULL_TERTIARY, 0, 0 }, /* 74 J */
661
{ FIRST_PRIMARY+ 94, FIRST_SECONDARY+ 1, NULL_TERTIARY, 0, 0 }, /* 75 K */
662
{ FIRST_PRIMARY+ 95, FIRST_SECONDARY+ 1, NULL_TERTIARY, 0, 1 }, /* 76 L */
663
{ FIRST_PRIMARY+100, FIRST_SECONDARY+ 1, NULL_TERTIARY, 0, 0 }, /* 77 M */
664
{ FIRST_PRIMARY+101, FIRST_SECONDARY+ 1, NULL_TERTIARY, 0, 1 }, /* 78 N */
665
{ FIRST_PRIMARY+105, FIRST_SECONDARY+ 1, NULL_TERTIARY, 0, 0 }, /* 79 O */
666
{ FIRST_PRIMARY+110, FIRST_SECONDARY+ 1, NULL_TERTIARY, 0, 0 }, /* 80 P */
667
{ FIRST_PRIMARY+111, FIRST_SECONDARY+ 1, NULL_TERTIARY, 0, 0 }, /* 81 Q */
668
{ FIRST_PRIMARY+112, FIRST_SECONDARY+ 1, NULL_TERTIARY, 0, 0 }, /* 82 R */
669
{ FIRST_PRIMARY+115, FIRST_SECONDARY+ 1, NULL_TERTIARY, 0, 1 }, /* 83 S */
670
{ FIRST_PRIMARY+121, FIRST_SECONDARY+ 1, NULL_TERTIARY, 0, 1 }, /* 84 T */
671
{ FIRST_PRIMARY+125, FIRST_SECONDARY+ 1, NULL_TERTIARY, 0, 0 }, /* 85 U */
672
{ FIRST_PRIMARY+130, FIRST_SECONDARY+ 1, NULL_TERTIARY, 0, 0 }, /* 86 V */
673
{ FIRST_PRIMARY+131, FIRST_SECONDARY+ 1, NULL_TERTIARY, 0, 0 }, /* 87 W */
674
{ FIRST_PRIMARY+132, FIRST_SECONDARY+ 1, NULL_TERTIARY, 0, 0 }, /* 88 X */
675
{ FIRST_PRIMARY+133, FIRST_SECONDARY+ 1, NULL_TERTIARY, 0, 0 }, /* 89 Y */
676
{ FIRST_PRIMARY+135, FIRST_SECONDARY+ 1, NULL_TERTIARY, 0, 1 }, /* 90 Z */
677
{ FIRST_PRIMARY+140, NULL_SECONDARY, NULL_TERTIARY, 0, 0 }, /* 91 [ */
678
{ FIRST_PRIMARY+141, NULL_SECONDARY, NULL_TERTIARY, 0, 0 }, /* 92 \ */
679
{ FIRST_PRIMARY+142, NULL_SECONDARY, NULL_TERTIARY, 0, 0 }, /* 93 ] */
680
{ FIRST_PRIMARY+143, NULL_SECONDARY, NULL_TERTIARY, 0, 0 }, /* 94 ^ */
681
{ FIRST_PRIMARY+144, NULL_SECONDARY, NULL_TERTIARY, 0, 0 }, /* 95 _ */
682
{ FIRST_PRIMARY+145, NULL_SECONDARY, NULL_TERTIARY, 0, 0 }, /* 96 ` */
683
{ FIRST_PRIMARY+ 65, FIRST_SECONDARY+ 0, NULL_TERTIARY, 0, 0 }, /* 97 a */
684
{ FIRST_PRIMARY+ 71, FIRST_SECONDARY+ 0, NULL_TERTIARY, 0, 0 }, /* 98 b */
685
{ FIRST_PRIMARY+ 72, FIRST_SECONDARY+ 0, NULL_TERTIARY, 0, 1 }, /* 99 c */
686
{ FIRST_PRIMARY+ 77, FIRST_SECONDARY+ 0, NULL_TERTIARY, 0, 1 }, /* 100 d */
687
{ FIRST_PRIMARY+ 81, FIRST_SECONDARY+ 0, NULL_TERTIARY, 0, 0 }, /* 101 e */
688
{ FIRST_PRIMARY+ 86, FIRST_SECONDARY+ 0, NULL_TERTIARY, 0, 0 }, /* 102 f */
689
{ FIRST_PRIMARY+ 87, FIRST_SECONDARY+ 0, NULL_TERTIARY, 0, 1 }, /* 103 g */
690
{ FIRST_PRIMARY+ 89, FIRST_SECONDARY+ 0, NULL_TERTIARY, 0, 0 }, /* 104 h */
691
{ FIRST_PRIMARY+ 90, FIRST_SECONDARY+ 0, NULL_TERTIARY, 0, 0 }, /* 105 i */
692
{ FIRST_PRIMARY+ 93, FIRST_SECONDARY+ 0, NULL_TERTIARY, 0, 0 }, /* 106 j */
693
{ FIRST_PRIMARY+ 94, FIRST_SECONDARY+ 0, NULL_TERTIARY, 0, 0 }, /* 107 k */
694
{ FIRST_PRIMARY+ 95, FIRST_SECONDARY+ 0, NULL_TERTIARY, 0, 1 }, /* 108 l */
695
{ FIRST_PRIMARY+100, FIRST_SECONDARY+ 0, NULL_TERTIARY, 0, 0 }, /* 109 m */
696
{ FIRST_PRIMARY+101, FIRST_SECONDARY+ 0, NULL_TERTIARY, 0, 1 }, /* 110 n */
697
{ FIRST_PRIMARY+105, FIRST_SECONDARY+ 0, NULL_TERTIARY, 0, 0 }, /* 111 o */
698
{ FIRST_PRIMARY+110, FIRST_SECONDARY+ 0, NULL_TERTIARY, 0, 0 }, /* 112 p */
699
{ FIRST_PRIMARY+111, FIRST_SECONDARY+ 0, NULL_TERTIARY, 0, 0 }, /* 113 q */
700
{ FIRST_PRIMARY+112, FIRST_SECONDARY+ 0, NULL_TERTIARY, 0, 0 }, /* 114 r */
701
{ FIRST_PRIMARY+115, FIRST_SECONDARY+ 0, NULL_TERTIARY, 0, 1 }, /* 115 s */
702
{ FIRST_PRIMARY+121, FIRST_SECONDARY+ 0, NULL_TERTIARY, 0, 1 }, /* 116 t */
703
{ FIRST_PRIMARY+125, FIRST_SECONDARY+ 0, NULL_TERTIARY, 0, 0 }, /* 117 u */
704
{ FIRST_PRIMARY+130, FIRST_SECONDARY+ 0, NULL_TERTIARY, 0, 0 }, /* 118 v */
705
{ FIRST_PRIMARY+131, FIRST_SECONDARY+ 0, NULL_TERTIARY, 0, 0 }, /* 119 w */
706
{ FIRST_PRIMARY+132, FIRST_SECONDARY+ 0, NULL_TERTIARY, 0, 0 }, /* 120 x */
707
{ FIRST_PRIMARY+133, FIRST_SECONDARY+ 0, NULL_TERTIARY, 0, 0 }, /* 121 y */
708
{ FIRST_PRIMARY+135, FIRST_SECONDARY+ 0, NULL_TERTIARY, 0, 1 }, /* 122 z */
709
{ FIRST_PRIMARY+146, NULL_SECONDARY, NULL_TERTIARY, 0, 0 }, /* 123 { */
710
{ FIRST_PRIMARY+147, NULL_SECONDARY, NULL_TERTIARY, 0, 0 }, /* 124 | */
711
{ FIRST_PRIMARY+148, NULL_SECONDARY, NULL_TERTIARY, 0, 0 }, /* 125 } */
712
{ FIRST_PRIMARY+149, NULL_SECONDARY, NULL_TERTIARY, 0, 0 }, /* 126 ~ */
713
{ FIRST_PRIMARY+150, NULL_SECONDARY, NULL_TERTIARY, 0, 0 }, /* 127 */
714
{ FIRST_PRIMARY+151, NULL_SECONDARY, NULL_TERTIARY, 0, 0 }, /* 128 */
715
{ FIRST_PRIMARY+152, NULL_SECONDARY, NULL_TERTIARY, 0, 0 }, /* 129 */
716
{ FIRST_PRIMARY+153, NULL_SECONDARY, NULL_TERTIARY, 0, 0 }, /* 130 */
717
{ FIRST_PRIMARY+154, NULL_SECONDARY, NULL_TERTIARY, 0, 0 }, /* 131 */
718
{ FIRST_PRIMARY+155, NULL_SECONDARY, NULL_TERTIARY, 0, 0 }, /* 132 */
719
{ FIRST_PRIMARY+156, NULL_SECONDARY, NULL_TERTIARY, 0, 0 }, /* 133 */
720
{ FIRST_PRIMARY+157, NULL_SECONDARY, NULL_TERTIARY, 0, 0 }, /* 134 */
721
{ FIRST_PRIMARY+158, NULL_SECONDARY, NULL_TERTIARY, 0, 0 }, /* 135 */
722
{ FIRST_PRIMARY+159, NULL_SECONDARY, NULL_TERTIARY, 0, 0 }, /* 136 */
723
{ FIRST_PRIMARY+160, NULL_SECONDARY, NULL_TERTIARY, 0, 0 }, /* 137 */
724
{ FIRST_PRIMARY+161, NULL_SECONDARY, NULL_TERTIARY, 0, 0 }, /* 138 */
725
{ FIRST_PRIMARY+162, NULL_SECONDARY, NULL_TERTIARY, 0, 0 }, /* 139 */
726
{ FIRST_PRIMARY+163, NULL_SECONDARY, NULL_TERTIARY, 0, 0 }, /* 140 */
727
{ FIRST_PRIMARY+164, NULL_SECONDARY, NULL_TERTIARY, 0, 0 }, /* 141 */
728
{ FIRST_PRIMARY+165, NULL_SECONDARY, NULL_TERTIARY, 0, 0 }, /* 142 */
729
{ FIRST_PRIMARY+166, NULL_SECONDARY, NULL_TERTIARY, 0, 0 }, /* 143 */
730
{ FIRST_PRIMARY+167, NULL_SECONDARY, NULL_TERTIARY, 0, 0 }, /* 144 */
731
{ FIRST_PRIMARY+168, NULL_SECONDARY, NULL_TERTIARY, 0, 0 }, /* 145 */
732
{ FIRST_PRIMARY+169, NULL_SECONDARY, NULL_TERTIARY, 0, 0 }, /* 146 */
733
{ FIRST_PRIMARY+170, NULL_SECONDARY, NULL_TERTIARY, 0, 0 }, /* 147 */
734
{ FIRST_PRIMARY+171, NULL_SECONDARY, NULL_TERTIARY, 0, 0 }, /* 148 */
735
{ FIRST_PRIMARY+172, NULL_SECONDARY, NULL_TERTIARY, 0, 0 }, /* 149 */
736
{ FIRST_PRIMARY+173, NULL_SECONDARY, NULL_TERTIARY, 0, 0 }, /* 150 */
737
{ FIRST_PRIMARY+174, NULL_SECONDARY, NULL_TERTIARY, 0, 0 }, /* 151 */
738
{ FIRST_PRIMARY+175, NULL_SECONDARY, NULL_TERTIARY, 0, 0 }, /* 152 */
739
{ FIRST_PRIMARY+176, NULL_SECONDARY, NULL_TERTIARY, 0, 0 }, /* 153 */
740
{ FIRST_PRIMARY+177, NULL_SECONDARY, NULL_TERTIARY, 0, 0 }, /* 155 */
741
{ FIRST_PRIMARY+178, NULL_SECONDARY, NULL_TERTIARY, 0, 0 }, /* 156 */
742
{ FIRST_PRIMARY+179, NULL_SECONDARY, NULL_TERTIARY, 0, 0 }, /* 154 */
743
{ FIRST_PRIMARY+180, NULL_SECONDARY, NULL_TERTIARY, 0, 0 }, /* 157 */
744
{ FIRST_PRIMARY+181, NULL_SECONDARY, NULL_TERTIARY, 0, 0 }, /* 158 */
745
{ FIRST_PRIMARY+182, NULL_SECONDARY, NULL_TERTIARY, 0, 0 }, /* 159 */
746
{ FIRST_PRIMARY+183, NULL_SECONDARY, NULL_TERTIARY, 0, 0 }, /* 160 */
747
{ FIRST_PRIMARY+ 70, FIRST_SECONDARY+ 1, NULL_TERTIARY, 0, 0 }, /* 161 � */
748
{ FIRST_PRIMARY+184, NULL_SECONDARY, NULL_TERTIARY, 0, 0 }, /* 162 � */
749
{ FIRST_PRIMARY+ 96, FIRST_SECONDARY+ 1, NULL_TERTIARY, 0, 0 }, /* 163 � */
750
{ FIRST_PRIMARY+185, NULL_SECONDARY, NULL_TERTIARY, 0, 0 }, /* 164 � */
751
{ FIRST_PRIMARY+ 98, FIRST_SECONDARY+ 1, NULL_TERTIARY, 0, 0 }, /* 165 � */
752
{ FIRST_PRIMARY+116, FIRST_SECONDARY+ 1, NULL_TERTIARY, 0, 0 }, /* 166 � */
753
{ FIRST_PRIMARY+186, NULL_SECONDARY, NULL_TERTIARY, 0, 0 }, /* 167 � */
754
{ FIRST_PRIMARY+187, NULL_SECONDARY, NULL_TERTIARY, 0, 0 }, /* 168 � */
755
{ FIRST_PRIMARY+117, FIRST_SECONDARY+ 1, NULL_TERTIARY, 0, 0 }, /* 169 � */
756
{ FIRST_PRIMARY+118, FIRST_SECONDARY+ 1, NULL_TERTIARY, 0, 0 }, /* 170 � */
757
{ FIRST_PRIMARY+122, FIRST_SECONDARY+ 1, NULL_TERTIARY, 0, 0 }, /* 171 � */
758
{ FIRST_PRIMARY+138, FIRST_SECONDARY+ 1, NULL_TERTIARY, 0, 0 }, /* 172 � */
759
{ FIRST_PRIMARY+188, NULL_SECONDARY, NULL_TERTIARY, 0, 0 }, /* 173 � */
760
{ FIRST_PRIMARY+137, FIRST_SECONDARY+ 1, NULL_TERTIARY, 0, 0 }, /* 174 � */
761
{ FIRST_PRIMARY+136, FIRST_SECONDARY+ 1, NULL_TERTIARY, 0, 0 }, /* 175 � */
762
{ FIRST_PRIMARY+189, NULL_SECONDARY, NULL_TERTIARY, 0, 0 }, /* 176 � */
763
{ FIRST_PRIMARY+ 70, FIRST_SECONDARY+ 0, NULL_TERTIARY, 0, 0 }, /* 177 � */
764
{ FIRST_PRIMARY+190, NULL_SECONDARY, NULL_TERTIARY, 0, 0 }, /* 178 � */
765
{ FIRST_PRIMARY+ 96, FIRST_SECONDARY+ 0, NULL_TERTIARY, 0, 0 }, /* 179 � */
766
{ FIRST_PRIMARY+191, NULL_SECONDARY, NULL_TERTIARY, 0, 0 }, /* 180 � */
767
{ FIRST_PRIMARY+ 98, FIRST_SECONDARY+ 0, NULL_TERTIARY, 0, 0 }, /* 181 � */
768
{ FIRST_PRIMARY+116, FIRST_SECONDARY+ 0, NULL_TERTIARY, 0, 0 }, /* 182 � */
769
{ FIRST_PRIMARY+192, NULL_SECONDARY, NULL_TERTIARY, 0, 0 }, /* 183 � */
770
{ FIRST_PRIMARY+193, NULL_SECONDARY, NULL_TERTIARY, 0, 0 }, /* 184 � */
771
{ FIRST_PRIMARY+117, FIRST_SECONDARY+ 0, NULL_TERTIARY, 0, 0 }, /* 185 � */
772
{ FIRST_PRIMARY+118, FIRST_SECONDARY+ 0, NULL_TERTIARY, 0, 0 }, /* 186 � */
773
{ FIRST_PRIMARY+122, FIRST_SECONDARY+ 0, NULL_TERTIARY, 0, 0 }, /* 187 � */
774
{ FIRST_PRIMARY+138, FIRST_SECONDARY+ 0, NULL_TERTIARY, 0, 0 }, /* 188 � */
775
{ FIRST_PRIMARY+194, NULL_SECONDARY, NULL_TERTIARY, 0, 0 }, /* 189 � */
776
{ FIRST_PRIMARY+137, FIRST_SECONDARY+ 0, NULL_TERTIARY, 0, 0 }, /* 190 � */
777
{ FIRST_PRIMARY+136, FIRST_SECONDARY+ 0, NULL_TERTIARY, 0, 0 }, /* 191 � */
778
{ FIRST_PRIMARY+114, FIRST_SECONDARY+ 1, NULL_TERTIARY, 0, 0 }, /* 192 � */
779
{ FIRST_PRIMARY+ 66, FIRST_SECONDARY+ 1, NULL_TERTIARY, 0, 0 }, /* 193 � */
780
{ FIRST_PRIMARY+ 67, FIRST_SECONDARY+ 1, NULL_TERTIARY, 0, 0 }, /* 194 � */
781
{ FIRST_PRIMARY+ 68, FIRST_SECONDARY+ 1, NULL_TERTIARY, 0, 0 }, /* 195 � */
782
{ FIRST_PRIMARY+ 69, FIRST_SECONDARY+ 1, NULL_TERTIARY, 0, 0 }, /* 196 � */
783
{ FIRST_PRIMARY+ 97, FIRST_SECONDARY+ 1, NULL_TERTIARY, 0, 0 }, /* 197 � */
784
{ FIRST_PRIMARY+ 73, FIRST_SECONDARY+ 1, NULL_TERTIARY, 0, 0 }, /* 198 � */
785
{ FIRST_PRIMARY+ 74, FIRST_SECONDARY+ 1, NULL_TERTIARY, 0, 0 }, /* 199 � */
786
{ FIRST_PRIMARY+ 75, FIRST_SECONDARY+ 1, NULL_TERTIARY, 0, 0 }, /* 200 � */
787
{ FIRST_PRIMARY+ 82, FIRST_SECONDARY+ 1, NULL_TERTIARY, 0, 0 }, /* 201 � */
788
{ FIRST_PRIMARY+ 84, FIRST_SECONDARY+ 1, NULL_TERTIARY, 0, 0 }, /* 202 � */
789
{ FIRST_PRIMARY+ 85, FIRST_SECONDARY+ 1, NULL_TERTIARY, 0, 0 }, /* 203 � */
790
{ FIRST_PRIMARY+ 83, FIRST_SECONDARY+ 1, NULL_TERTIARY, 0, 0 }, /* 204 � */
791
{ FIRST_PRIMARY+ 91, FIRST_SECONDARY+ 1, NULL_TERTIARY, 0, 0 }, /* 205 � */
792
{ FIRST_PRIMARY+ 92, FIRST_SECONDARY+ 1, NULL_TERTIARY, 0, 0 }, /* 206 � */
793
{ FIRST_PRIMARY+ 79, FIRST_SECONDARY+ 1, NULL_TERTIARY, 0, 0 }, /* 207 � */
794
{ FIRST_PRIMARY+ 78, FIRST_SECONDARY+ 1, NULL_TERTIARY, 0, 0 }, /* 208 � */
795
{ FIRST_PRIMARY+102, FIRST_SECONDARY+ 1, NULL_TERTIARY, 0, 0 }, /* 209 � */
796
{ FIRST_PRIMARY+103, FIRST_SECONDARY+ 1, NULL_TERTIARY, 0, 0 }, /* 210 � */
797
{ FIRST_PRIMARY+106, FIRST_SECONDARY+ 1, NULL_TERTIARY, 0, 0 }, /* 211 � */
798
{ FIRST_PRIMARY+109, FIRST_SECONDARY+ 1, NULL_TERTIARY, 0, 0 }, /* 212 � */
799
{ FIRST_PRIMARY+108, FIRST_SECONDARY+ 1, NULL_TERTIARY, 0, 0 }, /* 213 � */
800
{ FIRST_PRIMARY+107, FIRST_SECONDARY+ 1, NULL_TERTIARY, 0, 0 }, /* 214 � */
801
{ FIRST_PRIMARY+195, NULL_SECONDARY, NULL_TERTIARY, 0, 0 }, /* 215 � */
802
{ FIRST_PRIMARY+113, FIRST_SECONDARY+ 1, NULL_TERTIARY, 0, 0 }, /* 216 � */
803
{ FIRST_PRIMARY+127, FIRST_SECONDARY+ 1, NULL_TERTIARY, 0, 0 }, /* 217 � */
804
{ FIRST_PRIMARY+126, FIRST_SECONDARY+ 1, NULL_TERTIARY, 0, 0 }, /* 218 � */
805
{ FIRST_PRIMARY+129, FIRST_SECONDARY+ 1, NULL_TERTIARY, 0, 0 }, /* 219 � */
806
{ FIRST_PRIMARY+128, FIRST_SECONDARY+ 1, NULL_TERTIARY, 0, 0 }, /* 220 � */
807
{ FIRST_PRIMARY+134, FIRST_SECONDARY+ 1, NULL_TERTIARY, 0, 0 }, /* 221 � */
808
{ FIRST_PRIMARY+123, FIRST_SECONDARY+ 1, NULL_TERTIARY, 0, 0 }, /* 222 � */
809
{ FIRST_PRIMARY+119, FIRST_SECONDARY+ 0, NULL_TERTIARY, 0, 0 }, /* 223 � */
810
{ FIRST_PRIMARY+114, FIRST_SECONDARY+ 0, NULL_TERTIARY, 0, 0 }, /* 224 � */
811
{ FIRST_PRIMARY+ 66, FIRST_SECONDARY+ 0, NULL_TERTIARY, 0, 0 }, /* 225 � */
812
{ FIRST_PRIMARY+ 67, FIRST_SECONDARY+ 0, NULL_TERTIARY, 0, 0 }, /* 226 � */
813
{ FIRST_PRIMARY+ 68, FIRST_SECONDARY+ 0, NULL_TERTIARY, 0, 0 }, /* 227 � */
814
{ FIRST_PRIMARY+ 69, FIRST_SECONDARY+ 0, NULL_TERTIARY, 0, 0 }, /* 228 � */
815
{ FIRST_PRIMARY+ 97, FIRST_SECONDARY+ 0, NULL_TERTIARY, 0, 0 }, /* 229 � */
816
{ FIRST_PRIMARY+ 73, FIRST_SECONDARY+ 0, NULL_TERTIARY, 0, 0 }, /* 230 � */
817
{ FIRST_PRIMARY+ 74, FIRST_SECONDARY+ 0, NULL_TERTIARY, 0, 0 }, /* 231 � */
818
{ FIRST_PRIMARY+ 75, FIRST_SECONDARY+ 0, NULL_TERTIARY, 0, 0 }, /* 232 � */
819
{ FIRST_PRIMARY+ 82, FIRST_SECONDARY+ 0, NULL_TERTIARY, 0, 0 }, /* 233 � */
820
{ FIRST_PRIMARY+ 84, FIRST_SECONDARY+ 0, NULL_TERTIARY, 0, 0 }, /* 234 � */
821
{ FIRST_PRIMARY+ 85, FIRST_SECONDARY+ 0, NULL_TERTIARY, 0, 0 }, /* 235 � */
822
{ FIRST_PRIMARY+ 83, FIRST_SECONDARY+ 0, NULL_TERTIARY, 0, 0 }, /* 236 � */
823
{ FIRST_PRIMARY+ 91, FIRST_SECONDARY+ 0, NULL_TERTIARY, 0, 0 }, /* 237 � */
824
{ FIRST_PRIMARY+ 92, FIRST_SECONDARY+ 0, NULL_TERTIARY, 0, 0 }, /* 238 � */
825
{ FIRST_PRIMARY+ 79, FIRST_SECONDARY+ 0, NULL_TERTIARY, 0, 0 }, /* 239 � */
826
{ FIRST_PRIMARY+ 78, FIRST_SECONDARY+ 0, NULL_TERTIARY, 0, 0 }, /* 240 � */
827
{ FIRST_PRIMARY+102, FIRST_SECONDARY+ 0, NULL_TERTIARY, 0, 0 }, /* 241 � */
828
{ FIRST_PRIMARY+103, FIRST_SECONDARY+ 0, NULL_TERTIARY, 0, 0 }, /* 242 � */
829
{ FIRST_PRIMARY+106, FIRST_SECONDARY+ 0, NULL_TERTIARY, 0, 0 }, /* 243 � */
830
{ FIRST_PRIMARY+109, FIRST_SECONDARY+ 0, NULL_TERTIARY, 0, 0 }, /* 244 � */
831
{ FIRST_PRIMARY+108, FIRST_SECONDARY+ 0, NULL_TERTIARY, 0, 0 }, /* 245 � */
832
{ FIRST_PRIMARY+107, FIRST_SECONDARY+ 0, NULL_TERTIARY, 0, 0 }, /* 246 � */
833
{ FIRST_PRIMARY+196, NULL_SECONDARY, NULL_TERTIARY, 0, 0 }, /* 247 � */
834
{ FIRST_PRIMARY+113, FIRST_SECONDARY+ 0, NULL_TERTIARY, 0, 0 }, /* 248 � */
835
{ FIRST_PRIMARY+127, FIRST_SECONDARY+ 0, NULL_TERTIARY, 0, 0 }, /* 249 � */
836
{ FIRST_PRIMARY+126, FIRST_SECONDARY+ 0, NULL_TERTIARY, 0, 0 }, /* 250 � */
837
{ FIRST_PRIMARY+129, FIRST_SECONDARY+ 0, NULL_TERTIARY, 0, 0 }, /* 251 � */
838
{ FIRST_PRIMARY+128, FIRST_SECONDARY+ 0, NULL_TERTIARY, 0, 0 }, /* 252 � */
839
{ FIRST_PRIMARY+134, FIRST_SECONDARY+ 0, NULL_TERTIARY, 0, 0 }, /* 253 � */
840
{ FIRST_PRIMARY+123, FIRST_SECONDARY+ 0, NULL_TERTIARY, 0, 0 }, /* 254 � */
841
{ FIRST_PRIMARY+197, NULL_SECONDARY, NULL_TERTIARY, 0, 0 } /* 255 */
845
/* End of File : Language driver lat2hun */