/**
 *  This is generated code. DO NOT EDIT.
 */

// code page 0
static wchar_t lc_tab_0[] = {
  0x0000,   // 0  
  0x0001,   // 1  
  0x0002,   // 2  
  0x0003,   // 3  
  0x0004,   // 4  
  0x0005,   // 5  
  0x0006,   // 6  
  0x0007,   // 7  
  0x0008,   // 8  
  0x0009,   // 9  
  0x000a,   // 10  
  0x000b,   // 11  
  0x000c,   // 12  
  0x000d,   // 13  
  0x000e,   // 14  
  0x000f,   // 15  
  0x0010,   // 16  
  0x0011,   // 17  
  0x0012,   // 18  
  0x0013,   // 19  
  0x0014,   // 20  
  0x0015,   // 21  
  0x0016,   // 22  
  0x0017,   // 23  
  0x0018,   // 24  
  0x0019,   // 25  
  0x001a,   // 26  
  0x001b,   // 27  
  0x001c,   // 28  
  0x001d,   // 29  
  0x001e,   // 30  
  0x001f,   // 31  
  0x0020,   // 32  
  0x0021,   // 33  
  0x0022,   // 34  
  0x0023,   // 35  
  0x0024,   // 36  
  0x0025,   // 37  
  0x0026,   // 38  
  0x0027,   // 39  
  0x0028,   // 40  
  0x0029,   // 41  
  0x002a,   // 42  
  0x002b,   // 43  
  0x002c,   // 44  
  0x002d,   // 45  
  0x002e,   // 46  
  0x002f,   // 47  
  0x0030,   // 48  
  0x0031,   // 49  
  0x0032,   // 50  
  0x0033,   // 51  
  0x0034,   // 52  
  0x0035,   // 53  
  0x0036,   // 54  
  0x0037,   // 55  
  0x0038,   // 56  
  0x0039,   // 57  
  0x003a,   // 58  
  0x003b,   // 59  
  0x003c,   // 60  
  0x003d,   // 61  
  0x003e,   // 62  
  0x003f,   // 63  
  0x0040,   // 64  
  0x0041,   // 65  
  0x0042,   // 66  
  0x0043,   // 67  
  0x0044,   // 68  
  0x0045,   // 69  
  0x0046,   // 70  
  0x0047,   // 71  
  0x0048,   // 72  
  0x0049,   // 73  
  0x004a,   // 74  
  0x004b,   // 75  
  0x004c,   // 76  
  0x004d,   // 77  
  0x004e,   // 78  
  0x004f,   // 79  
  0x0050,   // 80  
  0x0051,   // 81  
  0x0052,   // 82  
  0x0053,   // 83  
  0x0054,   // 84  
  0x0055,   // 85  
  0x0056,   // 86  
  0x0057,   // 87  
  0x0058,   // 88  
  0x0059,   // 89  
  0x005a,   // 90  
  0x005b,   // 91  
  0x005c,   // 92  
  0x005d,   // 93  
  0x005e,   // 94  
  0x005f,   // 95  
  0x0060,   // 96  
  0x0041,   // 97  LATIN SMALL LETTER A 	LATIN CAPITAL LETTER A
  0x0042,   // 98  LATIN SMALL LETTER B 	LATIN CAPITAL LETTER B
  0x0043,   // 99  LATIN SMALL LETTER C 	LATIN CAPITAL LETTER C
  0x0044,   // 100  LATIN SMALL LETTER D 	LATIN CAPITAL LETTER D
  0x0045,   // 101  LATIN SMALL LETTER E 	LATIN CAPITAL LETTER E
  0x0046,   // 102  LATIN SMALL LETTER F 	LATIN CAPITAL LETTER F
  0x0047,   // 103  LATIN SMALL LETTER G 	LATIN CAPITAL LETTER G
  0x0048,   // 104  LATIN SMALL LETTER H 	LATIN CAPITAL LETTER H
  0x0049,   // 105  LATIN SMALL LETTER I 	LATIN CAPITAL LETTER I
  0x004a,   // 106  LATIN SMALL LETTER J 	LATIN CAPITAL LETTER J
  0x004b,   // 107  LATIN SMALL LETTER K 	LATIN CAPITAL LETTER K
  0x004c,   // 108  LATIN SMALL LETTER L 	LATIN CAPITAL LETTER L
  0x004d,   // 109  LATIN SMALL LETTER M 	LATIN CAPITAL LETTER M
  0x004e,   // 110  LATIN SMALL LETTER N 	LATIN CAPITAL LETTER N
  0x004f,   // 111  LATIN SMALL LETTER O 	LATIN CAPITAL LETTER O
  0x0050,   // 112  LATIN SMALL LETTER P 	LATIN CAPITAL LETTER P
  0x0051,   // 113  LATIN SMALL LETTER Q 	LATIN CAPITAL LETTER Q
  0x0052,   // 114  LATIN SMALL LETTER R 	LATIN CAPITAL LETTER R
  0x0053,   // 115  LATIN SMALL LETTER S 	LATIN CAPITAL LETTER S
  0x0054,   // 116  LATIN SMALL LETTER T 	LATIN CAPITAL LETTER T
  0x0055,   // 117  LATIN SMALL LETTER U 	LATIN CAPITAL LETTER U
  0x0056,   // 118  LATIN SMALL LETTER V 	LATIN CAPITAL LETTER V
  0x0057,   // 119  LATIN SMALL LETTER W 	LATIN CAPITAL LETTER W
  0x0058,   // 120  LATIN SMALL LETTER X 	LATIN CAPITAL LETTER X
  0x0059,   // 121  LATIN SMALL LETTER Y 	LATIN CAPITAL LETTER Y
  0x005a,   // 122  LATIN SMALL LETTER Z 	LATIN CAPITAL LETTER Z
  0x007b,   // 123  
  0x007c,   // 124  
  0x007d,   // 125  
  0x007e,   // 126  
  0x007f,   // 127  
  0x0080,   // 128  
  0x0081,   // 129  
  0x0082,   // 130  
  0x0083,   // 131  
  0x0084,   // 132  
  0x0085,   // 133  
  0x0086,   // 134  
  0x0087,   // 135  
  0x0088,   // 136  
  0x0089,   // 137  
  0x008a,   // 138  
  0x008b,   // 139  
  0x008c,   // 140  
  0x008d,   // 141  
  0x008e,   // 142  
  0x008f,   // 143  
  0x0090,   // 144  
  0x0091,   // 145  
  0x0092,   // 146  
  0x0093,   // 147  
  0x0094,   // 148  
  0x0095,   // 149  
  0x0096,   // 150  
  0x0097,   // 151  
  0x0098,   // 152  
  0x0099,   // 153  
  0x009a,   // 154  
  0x009b,   // 155  
  0x009c,   // 156  
  0x009d,   // 157  
  0x009e,   // 158  
  0x009f,   // 159  
  0x00a0,   // 160  
  0x00a1,   // 161  
  0x00a2,   // 162  
  0x00a3,   // 163  
  0x00a4,   // 164  
  0x00a5,   // 165  
  0x00a6,   // 166  
  0x00a7,   // 167  
  0x00a8,   // 168  
  0x00a9,   // 169  
  0x00aa,   // 170  
  0x00ab,   // 171  
  0x00ac,   // 172  
  0x00ad,   // 173  
  0x00ae,   // 174  
  0x00af,   // 175  
  0x00b0,   // 176  
  0x00b1,   // 177  
  0x00b2,   // 178  
  0x00b3,   // 179  
  0x00b4,   // 180  
  0x00b5,   // 181  
  0x00b6,   // 182  
  0x00b7,   // 183  
  0x00b8,   // 184  
  0x00b9,   // 185  
  0x00ba,   // 186  
  0x00bb,   // 187  
  0x00bc,   // 188  
  0x00bd,   // 189  
  0x00be,   // 190  
  0x00bf,   // 191  
  0x00c0,   // 192  
  0x00c1,   // 193  
  0x00c2,   // 194  
  0x00c3,   // 195  
  0x00c4,   // 196  
  0x00c5,   // 197  
  0x00c6,   // 198  
  0x00c7,   // 199  
  0x00c8,   // 200  
  0x00c9,   // 201  
  0x00ca,   // 202  
  0x00cb,   // 203  
  0x00cc,   // 204  
  0x00cd,   // 205  
  0x00ce,   // 206  
  0x00cf,   // 207  
  0x00d0,   // 208  
  0x00d1,   // 209  
  0x00d2,   // 210  
  0x00d3,   // 211  
  0x00d4,   // 212  
  0x00d5,   // 213  
  0x00d6,   // 214  
  0x00d7,   // 215  
  0x00d8,   // 216  
  0x00d9,   // 217  
  0x00da,   // 218  
  0x00db,   // 219  
  0x00dc,   // 220  
  0x00dd,   // 221  
  0x00de,   // 222  
  0x00df,   // 223  
  0x00c0,   // 224  LATIN SMALL LETTER A GRAVE 	LATIN CAPITAL LETTER A GRAVE
  0x00c1,   // 225  LATIN SMALL LETTER A GRAVE 	LATIN CAPITAL LETTER A ACUTE
  0x00c2,   // 226  LATIN SMALL LETTER A GRAVE 	LATIN CAPITAL LETTER A CIRCUMFLEX
  0x00c3,   // 227  LATIN SMALL LETTER A GRAVE 	LATIN CAPITAL LETTER A TILDE
  0x00c4,   // 228  LATIN SMALL LETTER A GRAVE 	LATIN CAPITAL LETTER A DIAERESIS
  0x00c5,   // 229  LATIN SMALL LETTER A GRAVE 	LATIN CAPITAL LETTER A RING
  0x00c6,   // 230  LATIN SMALL LETTER A GRAVE 	LATIN CAPITAL LETTER A E
  0x00c7,   // 231  LATIN SMALL LETTER A GRAVE 	LATIN CAPITAL LETTER C CEDILLA
  0x00c8,   // 232  LATIN SMALL LETTER A GRAVE 	LATIN CAPITAL LETTER E GRAVE
  0x00c9,   // 233  LATIN SMALL LETTER A GRAVE 	LATIN CAPITAL LETTER E ACUTE
  0x00ca,   // 234  LATIN SMALL LETTER E CIRCUMFLEX 	LATIN CAPITAL LETTER E CIRCUMFLEX
  0x00cb,   // 235  LATIN SMALL LETTER E DIAERESIS 	LATIN CAPITAL LETTER E DIAERESIS
  0x00cc,   // 236  LATIN SMALL LETTER I GRAVE 	LATIN CAPITAL LETTER I GRAVE
  0x00cd,   // 237  LATIN SMALL LETTER I ACUTE 	LATIN CAPITAL LETTER I ACUTE
  0x00ce,   // 238  LATIN SMALL LETTER I CIRCUMFLEX 	LATIN CAPITAL LETTER I CIRCUMFLEX
  0x00cf,   // 239  LATIN SMALL LETTER I DIAERESIS 	LATIN CAPITAL LETTER I DIAERESIS
  0x00d0,   // 240  LATIN SMALL LETTER ETH 	LATIN CAPITAL LETTER ETH
  0x00d1,   // 241  LATIN SMALL LETTER N TILDE 	LATIN CAPITAL LETTER N TILDE
  0x00d2,   // 242  LATIN SMALL LETTER O GRAVE 	LATIN CAPITAL LETTER O GRAVE
  0x00d3,   // 243  LATIN SMALL LETTER O ACUTE 	LATIN CAPITAL LETTER O ACUTE
  0x00d4,   // 244  LATIN SMALL LETTER O CIRCUMFLEX 	LATIN CAPITAL LETTER O CIRCUMFLEX
  0x00d5,   // 245  LATIN SMALL LETTER O TILDE 	LATIN CAPITAL LETTER O TILDE
  0x00d6,   // 246  LATIN SMALL LETTER O DIAERESIS 	LATIN CAPITAL LETTER O DIAERESIS
  0x00f7,   // 247  
  0x00d8,   // 248  LATIN SMALL LETTER O SLASH 	LATIN CAPITAL LETTER O SLASH
  0x00d9,   // 249  LATIN SMALL LETTER U GRAVE 	LATIN CAPITAL LETTER U GRAVE
  0x00da,   // 250  LATIN SMALL LETTER U ACUTE 	LATIN CAPITAL LETTER U ACUTE
  0x00db,   // 251  LATIN SMALL LETTER U CIRCUMFLEX 	LATIN CAPITAL LETTER U CIRCUMFLEX
  0x00dc,   // 252  LATIN SMALL LETTER U DIAERESIS 	LATIN CAPITAL LETTER U DIAERESIS
  0x00dd,   // 253  LATIN SMALL LETTER Y ACUTE 	LATIN CAPITAL LETTER Y ACUTE
  0x00de,   // 254  LATIN SMALL LETTER THORN 	LATIN CAPITAL LETTER THORN
  0x0178    // 255  LATIN SMALL LETTER Y DIAERESIS 	LATIN CAPITAL LETTER Y WITH DIAERESIS
};

// code page 1
static wchar_t lc_tab_1[] = {
  0x0100,   // 0  
  0x0100,   // 1  LATIN SMALL LETTER A WITH MACRON 	LATIN CAPITAL LETTER A WITH MACRON
  0x0102,   // 2  
  0x0102,   // 3  LATIN SMALL LETTER A WITH BREVE 	LATIN CAPITAL LETTER A WITH BREVE
  0x0104,   // 4  
  0x0104,   // 5  LATIN SMALL LETTER A WITH OGONEK 	LATIN CAPITAL LETTER A WITH OGONEK
  0x0106,   // 6  
  0x0106,   // 7  LATIN SMALL LETTER C WITH ACUTE 	LATIN CAPITAL LETTER C WITH ACUTE
  0x0108,   // 8  
  0x0108,   // 9  LATIN SMALL LETTER C WITH CIRCUMFLEX 	LATIN CAPITAL LETTER C WITH CIRCUMFLEX
  0x010a,   // 10  
  0x010a,   // 11  LATIN SMALL LETTER C WITH DOT ABOVE 	LATIN CAPITAL LETTER C WITH DOT ABOVE
  0x010c,   // 12  
  0x010c,   // 13  LATIN SMALL LETTER C WITH CARON 	LATIN CAPITAL LETTER C WITH CARON
  0x010e,   // 14  
  0x010e,   // 15  LATIN SMALL LETTER D WITH CARON 	LATIN CAPITAL LETTER D WITH CARON
  0x0110,   // 16  
  0x0110,   // 17  LATIN SMALL LETTER D WITH STROKE 	LATIN CAPITAL LETTER D WITH STROKE
  0x0112,   // 18  
  0x0112,   // 19  LATIN SMALL LETTER E WITH MACRON 	LATIN CAPITAL LETTER E WITH MACRON
  0x0114,   // 20  
  0x0114,   // 21  LATIN SMALL LETTER E WITH BREVE 	LATIN CAPITAL LETTER E WITH BREVE
  0x0116,   // 22  
  0x0116,   // 23  LATIN SMALL LETTER E WITH DOT ABOVE 	LATIN CAPITAL LETTER E WITH DOT ABOVE
  0x0118,   // 24  
  0x0118,   // 25  LATIN SMALL LETTER E WITH OGONEK 	LATIN CAPITAL LETTER E WITH OGONEK
  0x011a,   // 26  
  0x011a,   // 27  LATIN SMALL LETTER E WITH CARON 	LATIN CAPITAL LETTER E WITH CARON
  0x011c,   // 28  
  0x011c,   // 29  LATIN SMALL LETTER G WITH CIRCUMFLEX 	LATIN CAPITAL LETTER G WITH CIRCUMFLEX
  0x011e,   // 30  
  0x011e,   // 31  LATIN SMALL LETTER G WITH BREVE 	LATIN CAPITAL LETTER G WITH BREVE
  0x0120,   // 32  
  0x0120,   // 33  LATIN SMALL LETTER G WITH DOT ABOVE 	LATIN CAPITAL LETTER G WITH DOT ABOVE
  0x0122,   // 34  
  0x0122,   // 35  LATIN SMALL LETTER G WITH CEDILLA 	LATIN CAPITAL LETTER G WITH CEDILLA
  0x0124,   // 36  
  0x0124,   // 37  LATIN SMALL LETTER H WITH CIRCUMFLEX 	LATIN CAPITAL LETTER H WITH CIRCUMFLEX
  0x0126,   // 38  
  0x0126,   // 39  LATIN SMALL LETTER H WITH STROKE 	LATIN CAPITAL LETTER H WITH STROKE
  0x0128,   // 40  
  0x0128,   // 41  LATIN SMALL LETTER I WITH TILDE 	LATIN CAPITAL LETTER I WITH TILDE
  0x012a,   // 42  
  0x012a,   // 43  LATIN SMALL LETTER I WITH MACRON 	LATIN CAPITAL LETTER I WITH MACRON
  0x012c,   // 44  
  0x012c,   // 45  LATIN SMALL LETTER I WITH BREVE 	LATIN CAPITAL LETTER I WITH BREVE
  0x012e,   // 46  
  0x012e,   // 47  LATIN SMALL LETTER I WITH OGONEK 	LATIN CAPITAL LETTER I WITH OGONEK
  0x0130,   // 48  
  0x0049,   // 49  LATIN SMALL LETTER DOTLESS I 	LATIN CAPITAL LETTER I
  0x0132,   // 50  
  0x0132,   // 51  LATIN SMALL LIGATURE IJ 	LATIN CAPITAL LIGATURE IJ
  0x0134,   // 52  
  0x0134,   // 53  LATIN SMALL LETTER J WITH CIRCUMFLEX 	LATIN CAPITAL LETTER J WITH CIRCUMFLEX
  0x0136,   // 54  
  0x0136,   // 55  LATIN SMALL LETTER K WITH CEDILLA 	LATIN CAPITAL LETTER K WITH CEDILLA
  0x0138,   // 56  
  0x0139,   // 57  
  0x0139,   // 58  LATIN SMALL LETTER L WITH ACUTE 	LATIN CAPITAL LETTER L WITH ACUTE
  0x013b,   // 59  
  0x013b,   // 60  LATIN SMALL LETTER L WITH CEDILLA 	LATIN CAPITAL LETTER L WITH CEDILLA
  0x013d,   // 61  
  0x013d,   // 62  LATIN SMALL LETTER L WITH CARON 	LATIN CAPITAL LETTER L WITH CARON
  0x013f,   // 63  
  0x013f,   // 64  LATIN SMALL LETTER L WITH MIDDLE DOT 	LATIN CAPITAL LETTER L WITH MIDDLE DOT
  0x0141,   // 65  
  0x0141,   // 66  LATIN SMALL LETTER L WITH STROKE 	LATIN CAPITAL LETTER L WITH STROKE
  0x0143,   // 67  
  0x0143,   // 68  LATIN SMALL LETTER N WITH ACUTE 	LATIN CAPITAL LETTER N WITH ACUTE
  0x0145,   // 69  
  0x0145,   // 70  LATIN SMALL LETTER N WITH CEDILLA 	LATIN CAPITAL LETTER N WITH CEDILLA
  0x0147,   // 71  
  0x0147,   // 72  LATIN SMALL LETTER N WITH CARON 	LATIN CAPITAL LETTER N WITH CARON
  0x0149,   // 73  
  0x014a,   // 74  
  0x014a,   // 75  LATIN SMALL LETTER ENG (SAMI) 	LATIN CAPITAL LETTER ENG (SAMI)
  0x014c,   // 76  
  0x014c,   // 77  LATIN SMALL LETTER O WITH MACRON 	LATIN CAPITAL LETTER O WITH MACRON
  0x014e,   // 78  
  0x014e,   // 79  LATIN SMALL LETTER O WITH BREVE 	LATIN CAPITAL LETTER O WITH BREVE
  0x0150,   // 80  
  0x0150,   // 81  LATIN SMALL LETTER O WITH DOUBLE ACUTE 	LATIN CAPITAL LETTER O WITH DOUBLE ACUTE
  0x0152,   // 82  
  0x0152,   // 83  LATIN SMALL LIGATURE OE 	LATIN CAPITAL LIGATURE OE
  0x0154,   // 84  
  0x0154,   // 85  LATIN SMALL LETTER R WITH ACUTE 	LATIN CAPITAL LETTER R WITH ACUTE
  0x0156,   // 86  
  0x0156,   // 87  LATIN SMALL LETTER R WITH CEDILLA 	LATIN CAPITAL LETTER R WITH CEDILLA
  0x0158,   // 88  
  0x0158,   // 89  LATIN SMALL LETTER R WITH CARON 	LATIN CAPITAL LETTER R WITH CARON
  0x015a,   // 90  
  0x015a,   // 91  LATIN SMALL LETTER S WITH ACUTE 	LATIN CAPITAL LETTER S WITH ACUTE
  0x015c,   // 92  
  0x015c,   // 93  LATIN SMALL LETTER S WITH CIRCUMFLEX 	LATIN CAPITAL LETTER S WITH CIRCUMFLEX
  0x015e,   // 94  
  0x015e,   // 95  LATIN SMALL LETTER S WITH CEDILLA 	LATIN CAPITAL LETTER S WITH CEDILLA
  0x0160,   // 96  
  0x0160,   // 97  LATIN SMALL LETTER S WITH CARON 	LATIN CAPITAL LETTER S WITH CARON
  0x0162,   // 98  
  0x0162,   // 99  LATIN SMALL LETTER T WITH CEDILLA 	LATIN CAPITAL LETTER T WITH CEDILLA
  0x0164,   // 100  
  0x0164,   // 101  LATIN SMALL LETTER T WITH CARON 	LATIN CAPITAL LETTER T WITH CARON
  0x0166,   // 102  
  0x0166,   // 103  LATIN SMALL LETTER T WITH STROKE 	LATIN CAPITAL LETTER T WITH STROKE
  0x0168,   // 104  
  0x0168,   // 105  LATIN SMALL LETTER U WITH TILDE 	LATIN CAPITAL LETTER U WITH TILDE
  0x016a,   // 106  
  0x016a,   // 107  LATIN SMALL LETTER U WITH MACRON 	LATIN CAPITAL LETTER U WITH MACRON
  0x016c,   // 108  
  0x016c,   // 109  LATIN SMALL LETTER U WITH BREVE 	LATIN CAPITAL LETTER U WITH BREVE
  0x016e,   // 110  
  0x016e,   // 111  LATIN SMALL LETTER U WITH RING ABOVE 	LATIN CAPITAL LETTER U WITH RING ABOVE
  0x0170,   // 112  
  0x0170,   // 113  LATIN SMALL LETTER U WITH DOUBLE ACUTE 	LATIN CAPITAL LETTER U WITH DOUBLE ACUTE
  0x0172,   // 114  
  0x0172,   // 115  LATIN SMALL LETTER U WITH OGONEK 	LATIN CAPITAL LETTER U WITH OGONEK
  0x0174,   // 116  
  0x0174,   // 117  LATIN SMALL LETTER W WITH CIRCUMFLEX 	LATIN CAPITAL LETTER W WITH CIRCUMFLEX
  0x0176,   // 118  
  0x0176,   // 119  LATIN SMALL LETTER Y WITH CIRCUMFLEX 	LATIN CAPITAL LETTER Y WITH CIRCUMFLEX
  0x0178,   // 120  
  0x0179,   // 121  
  0x0179,   // 122  LATIN SMALL LETTER Z WITH ACUTE 	LATIN CAPITAL LETTER Z WITH ACUTE
  0x017b,   // 123  
  0x017b,   // 124  LATIN SMALL LETTER Z WITH DOT ABOVE 	LATIN CAPITAL LETTER Z WITH DOT ABOVE
  0x017d,   // 125  
  0x017d,   // 126  LATIN SMALL LETTER Z WITH CARON 	LATIN CAPITAL LETTER Z WITH CARON
  0x017f,   // 127  
  0x0180,   // 128  
  0x0181,   // 129  
  0x0182,   // 130  
  0x0182,   // 131  LATIN SMALL LETTER B WITH TOPBAR 	LATIN CAPITAL LETTER B WITH TOPBAR
  0x0184,   // 132  
  0x0184,   // 133  LATIN SMALL LETTER TONE SIX 	LATIN CAPITAL LETTER TONE SIX
  0x0186,   // 134  
  0x0187,   // 135  
  0x0187,   // 136  LATIN SMALL LETTER C WITH HOOK 	LATIN CAPITAL LETTER C WITH HOOK
  0x0189,   // 137  
  0x018a,   // 138  
  0x018b,   // 139  
  0x018b,   // 140  LATIN SMALL LETTER D WITH TOPBAR 	LATIN CAPITAL LETTER D WITH TOPBAR
  0x018d,   // 141  
  0x018e,   // 142  
  0x018f,   // 143  
  0x0190,   // 144  
  0x0191,   // 145  
  0x0191,   // 146  LATIN SMALL LETTER F WITH HOOK 	LATIN CAPITAL LETTER F WITH HOOK
  0x0193,   // 147  
  0x0194,   // 148  
  0x0195,   // 149  
  0x0196,   // 150  
  0x0197,   // 151  
  0x0198,   // 152  
  0x0198,   // 153  LATIN SMALL LETTER K WITH HOOK 	LATIN CAPITAL LETTER K WITH HOOK
  0x019a,   // 154  
  0x019b,   // 155  
  0x019c,   // 156  
  0x019d,   // 157  
  0x019e,   // 158  
  0x019f,   // 159  
  0x01a0,   // 160  
  0x01a0,   // 161  LATIN SMALL LETTER O WITH HORN 	LATIN CAPITAL LETTER O WITH HORN
  0x01a2,   // 162  
  0x01a2,   // 163  LATIN SMALL LETTER OI 	LATIN CAPITAL LETTER OI
  0x01a4,   // 164  
  0x01a4,   // 165  LATIN SMALL LETTER P WITH HOOK 	LATIN CAPITAL LETTER P WITH HOOK
  0x01a6,   // 166  
  0x01a7,   // 167  
  0x01a7,   // 168  LATIN SMALL LETTER TONE TWO 	LATIN CAPITAL LETTER TONE TWO
  0x01a9,   // 169  
  0x01aa,   // 170  
  0x01ab,   // 171  
  0x01ac,   // 172  
  0x01ac,   // 173  LATIN SMALL LETTER T WITH HOOK 	LATIN CAPITAL LETTER T WITH HOOK
  0x01ae,   // 174  
  0x01af,   // 175  
  0x01af,   // 176  LATIN SMALL LETTER U WITH HORN 	LATIN CAPITAL LETTER U WITH HORN
  0x01b1,   // 177  
  0x01b2,   // 178  
  0x01b3,   // 179  
  0x01b3,   // 180  LATIN SMALL LETTER Y WITH HOOK 	LATIN CAPITAL LETTER Y WITH HOOK
  0x01b5,   // 181  
  0x01b5,   // 182  LATIN SMALL LETTER Z WITH STROKE 	LATIN CAPITAL LETTER Z WITH STROKE
  0x01b7,   // 183  
  0x01b8,   // 184  
  0x01b8,   // 185  LATIN SMALL LETTER EZH REVERSED 	LATIN CAPITAL LETTER EZH REVERSED
  0x01ba,   // 186  
  0x01bb,   // 187  
  0x01bc,   // 188  
  0x01bc,   // 189  LATIN SMALL LETTER TONE FIVE 	LATIN CAPITAL LETTER TONE FIVE
  0x01be,   // 190  
  0x01bf,   // 191  
  0x01c0,   // 192  
  0x01c1,   // 193  
  0x01c2,   // 194  
  0x01c3,   // 195  
  0x01c4,   // 196  
  0x01c5,   // 197  
  0x01c4,   // 198  LATIN SMALL LETTER DZ WITH CARON 	LATIN CAPITAL LETTER DZ WITH CARON
  0x01c7,   // 199  
  0x01c8,   // 200  
  0x01c7,   // 201  LATIN SMALL LETTER LJ 	LATIN CAPITAL LETTER LJ
  0x01ca,   // 202  
  0x01cb,   // 203  
  0x01ca,   // 204  LATIN SMALL LETTER NJ 	LATIN CAPITAL LETTER NJ
  0x01cd,   // 205  
  0x01cd,   // 206  LATIN SMALL LETTER A WITH CARON 	LATIN CAPITAL LETTER A WITH CARON
  0x01cf,   // 207  
  0x01cf,   // 208  LATIN SMALL LETTER I WITH CARON 	LATIN CAPITAL LETTER I WITH CARON
  0x01d1,   // 209  
  0x01d1,   // 210  LATIN SMALL LETTER O WITH CARON 	LATIN CAPITAL LETTER O WITH CARON
  0x01d3,   // 211  
  0x01d3,   // 212  LATIN SMALL LETTER U WITH CARON 	LATIN CAPITAL LETTER U WITH CARON
  0x01d5,   // 213  
  0x01d5,   // 214  LATIN SMALL LETTER U WITH DIAERESIS AND MACRON 	LATIN CAPITAL LETTER U WITH DIAERESIS AND MACRON
  0x01d7,   // 215  
  0x01d7,   // 216  LATIN SMALL LETTER U WITH DIAERESIS AND ACUTE 	LATIN CAPITAL LETTER U WITH DIAERESIS AND ACUTE
  0x01d9,   // 217  
  0x01d9,   // 218  LATIN SMALL LETTER U WITH DIAERESIS AND CARON 	LATIN CAPITAL LETTER U WITH DIAERESIS AND CARON
  0x01db,   // 219  
  0x01db,   // 220  LATIN SMALL LETTER U WITH DIAERESIS AND GRAVE 	LATIN CAPITAL LETTER U WITH DIAERESIS AND GRAVE
  0x01dd,   // 221  
  0x01de,   // 222  
  0x01de,   // 223  LATIN SMALL LETTER A WITH DIAERESIS AND MACRON 	LATIN CAPITAL LETTER A WITH DIAERESIS AND MACRON
  0x01e0,   // 224  
  0x01e0,   // 225  LATIN SMALL LETTER A WITH DOT ABOVE AND MACRON 	LATIN CAPITAL LETTER A WITH DOT ABOVE AND MACRON
  0x01e2,   // 226  
  0x01e2,   // 227  LATIN SMALL LIGATURE AE WITH MACRON 	LATIN CAPITAL LIGATURE AE MTH MACRON
  0x01e4,   // 228  
  0x01e4,   // 229  LATIN SMALL LETTER G WITH STROKE 	LATIN CAPITAL LETTER G WITH STROKE
  0x01e6,   // 230  
  0x01e6,   // 231  LATIN SMALL LETTER G WITH CARON 	LATIN CAPITAL LETTER G WITH CARON
  0x01e8,   // 232  
  0x01e8,   // 233  LATIN SMALL LETTER K WITH CARON 	LATIN CAPITAL LETTER K WITH CARON
  0x01ea,   // 234  
  0x01ea,   // 235  LATIN SMALL LETTER O WITH OGONEK 	LATIN CAPITAL LETTER O WITH OGONEK
  0x01ec,   // 236  
  0x01ec,   // 237  LATIN SMALL LETTER O WITH OGONEK AND MACRON 	LATIN CAPITAL LETTER O WITH OGONEK AND MACRON
  0x01ee,   // 238  
  0x01ee,   // 239  LATIN SMALL LETTER EZH WITH CARON 	LATIN CAPITAL LETTER EZH WITH CARON
  0x01f0,   // 240  
  0x01f1,   // 241  
  0x01f2,   // 242  
  0x01f1,   // 243  LATIN SMALL LETTER DZ 	LATIN CAPITAL LETTER DZ
  0x01f4,   // 244  
  0x01f4,   // 245  LATIN SMALL LETTER G WITH ACUTE 	LATIN CAPITAL LETTER G WITH ACUTE
  0x01f6,   // 246  
  0x01f7,   // 247  
  0x01f8,   // 248  
  0x01f9,   // 249  
  0x01fa,   // 250  
  0x01fa,   // 251  LATIN SMALL LETTER A WITH RING ABOVE AND ACUTE 	LATIN CAPITAL LETTER A WITH RING ABOVE AND ACUTE
  0x01fc,   // 252  
  0x01fc,   // 253  LATIN SMALL LIGATURE AE WITH ACUTE 	LATIN CAPITAL LIGATURE AE WITH ACUTE
  0x01fe,   // 254  
  0x01fe    // 255  LATIN SMALL LETTER O WITH STROKE AND ACUTE 	LATIN CAPITAL LETTER O WITH STROKE AND ACUTE
};

// code page 2
static wchar_t lc_tab_2[] = {
  0x0200,   // 0  
  0x0200,   // 1  LATIN SMALL LETTER A WITH DOUBLE GRAVE 	LATIN CAPITAL LETTER A WITH DOUBLE GRAVE
  0x0202,   // 2  
  0x0202,   // 3  LATIN SMALL LETTER A WITH INVERTED BREVE 	LATIN CAPITAL LETTER A WITH INVERTED BREVE
  0x0204,   // 4  
  0x0204,   // 5  LATIN SMALL LETTER E WITH DOUBLE GRAVE 	LATIN CAPITAL LETTER E WITH DOUBLE GRAVE
  0x0206,   // 6  
  0x0206,   // 7  LATIN SMALL LETTER E WITH INVERTED BREVE 	LATIN CAPITAL LETTER E WITH INVERTED BREVE
  0x0208,   // 8  
  0x0208,   // 9  LATIN SMALL LETTER I WITH DOUBLE GRAVE 	LATIN CAPITAL LETTER I WITH DOUBLE GRAVE
  0x020a,   // 10  
  0x020a,   // 11  LATIN SMALL LETTER I WITH INVERTED BREVE 	LATIN CAPITAL LETTER I WITH INVERTED BREVE
  0x020c,   // 12  
  0x020c,   // 13  LATIN SMALL LETTER O WITH DOUBLE GRAVE 	LATIN CAPITAL LETTER O WITH DOUBLE GRAVE
  0x020e,   // 14  
  0x020e,   // 15  LATIN SMALL LETTER O WITH INVERTED BREVE 	LATIN CAPITAL LETTER O WITH INVERTED BREVE
  0x0210,   // 16  
  0x0210,   // 17  LATIN SMALL LETTER R WITH DOUBLE GRAVE 	LATIN CAPITAL LETTER R WITH DOUBLE GRAVE
  0x0212,   // 18  
  0x0212,   // 19  LATIN SMALL LETTER R WITH INVERTED BREVE 	LATIN CAPITAL LETTER R WITH INVERTED BREVE
  0x0214,   // 20  
  0x0214,   // 21  LATIN SMALL LETTER U WITH DOUBLE GRAVE 	LATIN CAPITAL LETTER U WITH DOUBLE GRAVE
  0x0216,   // 22  
  0x0216,   // 23  LATIN SMALL LETTER U WITH INVERTED BREVE 	LATIN CAPITAL LETTER U WITH INVERTED BREVE
  0x0218,   // 24  
  0x0219,   // 25  
  0x021a,   // 26  
  0x021b,   // 27  
  0x021c,   // 28  
  0x021d,   // 29  
  0x021e,   // 30  
  0x021f,   // 31  
  0x0220,   // 32  
  0x0221,   // 33  
  0x0222,   // 34  
  0x0223,   // 35  
  0x0224,   // 36  
  0x0225,   // 37  
  0x0226,   // 38  
  0x0227,   // 39  
  0x0228,   // 40  
  0x0229,   // 41  
  0x022a,   // 42  
  0x022b,   // 43  
  0x022c,   // 44  
  0x022d,   // 45  
  0x022e,   // 46  
  0x022f,   // 47  
  0x0230,   // 48  
  0x0231,   // 49  
  0x0232,   // 50  
  0x0233,   // 51  
  0x0234,   // 52  
  0x0235,   // 53  
  0x0236,   // 54  
  0x0237,   // 55  
  0x0238,   // 56  
  0x0239,   // 57  
  0x023a,   // 58  
  0x023b,   // 59  
  0x023c,   // 60  
  0x023d,   // 61  
  0x023e,   // 62  
  0x023f,   // 63  
  0x0240,   // 64  
  0x0241,   // 65  
  0x0242,   // 66  
  0x0243,   // 67  
  0x0244,   // 68  
  0x0245,   // 69  
  0x0246,   // 70  
  0x0247,   // 71  
  0x0248,   // 72  
  0x0249,   // 73  
  0x024a,   // 74  
  0x024b,   // 75  
  0x024c,   // 76  
  0x024d,   // 77  
  0x024e,   // 78  
  0x024f,   // 79  
  0x0250,   // 80  
  0x0251,   // 81  
  0x0252,   // 82  
  0x0181,   // 83  LATIN SMALL LETTER B WITH HOOK 	LATIN CAPITAL LETTER B WITH HOOK
  0x0186,   // 84  LATIN SMALL LETTER OPEN O 	LATIN CAPITAL LETTER OPEN O
  0x0255,   // 85  
  0x0256,   // 86  
  0x018a,   // 87  LATIN SMALL LETTER D WITH HOOK 	LATIN CAPITAL LETTER D WITH HOOK
  0x018e,   // 88  LATIN SMALL LETTER REVERSED E 	LATIN CAPITAL LETTER REVERSED E
  0x018f,   // 89  LATIN SMALL LETTER SCHWA 	LATIN CAPITAL LETTER SCHWA
  0x025a,   // 90  
  0x0190,   // 91  LATIN SMALL LETTER OPEN E 	LATIN CAPITAL LETTER OPEN E
  0x025c,   // 92  
  0x025d,   // 93  
  0x025e,   // 94  
  0x025f,   // 95  
  0x0193,   // 96  LATIN SMALL LETTER G WITH HOOK 	LATIN CAPITAL LETTER G WITH HOOK
  0x0261,   // 97  
  0x0262,   // 98  
  0x0194,   // 99  LATIN SMALL LETTER GAMMA 	LATIN CAPITAL LETTER GAMMA
  0x0264,   // 100  
  0x0265,   // 101  
  0x0266,   // 102  
  0x0267,   // 103  
  0x0197,   // 104  LATIN SMALL LETTER I WITH STROKE 	LATIN CAPITAL LETTER I WITH STROKE
  0x0196,   // 105  LATIN SMALL LETTER IOTA 	LATIN CAPITAL LETTER IOTA
  0x026a,   // 106  
  0x026b,   // 107  
  0x026c,   // 108  
  0x026d,   // 109  
  0x026e,   // 110  
  0x019c,   // 111  LATIN SMALL LETTER TURNED M 	LATIN CAPITAL LETTER TURNED M
  0x0270,   // 112  
  0x0271,   // 113  
  0x019d,   // 114  LATIN SMALL LETTER N WITH LEFT HOOK 	LATIN CAPITAL LETTER N WITH LEFT HOOK
  0x0273,   // 115  
  0x0274,   // 116  
  0x019f,   // 117  LATIN SMALL LETTER BARRED O 	LATIN CAPITAL LETTER O WITH MIDDLE TILDE
  0x0276,   // 118  
  0x0277,   // 119  
  0x0278,   // 120  
  0x0279,   // 121  
  0x027a,   // 122  
  0x027b,   // 123  
  0x027c,   // 124  
  0x027d,   // 125  
  0x027e,   // 126  
  0x027f,   // 127  
  0x0280,   // 128  
  0x0281,   // 129  
  0x0282,   // 130  
  0x01a9,   // 131  LATIN SMALL LETTER ESH 	LATIN CAPITAL LETTER ESH
  0x0284,   // 132  
  0x0285,   // 133  
  0x0286,   // 134  
  0x0287,   // 135  
  0x01ae,   // 136  LATIN SMALL LETTER T WITH RETROFLEX HOOK 	LATIN CAPITAL LETTER T WITH RETROFLEX HOOK
  0x0289,   // 137  
  0x01b1,   // 138  LATIN SMALL LETTER UPSILON 	LATIN CAPITAL LETTER UPSILON
  0x01b2,   // 139  LATIN SMALL LETTER V WITH HOOK 	LATIN CAPITAL LETTER V WITH HOOK
  0x028c,   // 140  
  0x028d,   // 141  
  0x028e,   // 142  
  0x028f,   // 143  
  0x0290,   // 144  
  0x0291,   // 145  
  0x01b7,   // 146  LATIN SMALL LETTER EZH 	LATIN CAPITAL LETTER EZH
  0x0293,   // 147  
  0x0294,   // 148  
  0x0295,   // 149  
  0x0296,   // 150  
  0x0297,   // 151  
  0x0298,   // 152  
  0x0299,   // 153  
  0x029a,   // 154  
  0x029b,   // 155  
  0x029c,   // 156  
  0x029d,   // 157  
  0x029e,   // 158  
  0x029f,   // 159  
  0x02a0,   // 160  
  0x02a1,   // 161  
  0x02a2,   // 162  
  0x02a3,   // 163  
  0x02a4,   // 164  
  0x02a5,   // 165  
  0x02a6,   // 166  
  0x02a7,   // 167  
  0x02a8,   // 168  
  0x02a9,   // 169  
  0x02aa,   // 170  
  0x02ab,   // 171  
  0x02ac,   // 172  
  0x02ad,   // 173  
  0x02ae,   // 174  
  0x02af,   // 175  
  0x02b0,   // 176  
  0x02b1,   // 177  
  0x02b2,   // 178  
  0x02b3,   // 179  
  0x02b4,   // 180  
  0x02b5,   // 181  
  0x02b6,   // 182  
  0x02b7,   // 183  
  0x02b8,   // 184  
  0x02b9,   // 185  
  0x02ba,   // 186  
  0x02bb,   // 187  
  0x02bc,   // 188  
  0x02bd,   // 189  
  0x02be,   // 190  
  0x02bf,   // 191  
  0x02c0,   // 192  
  0x02c1,   // 193  
  0x02c2,   // 194  
  0x02c3,   // 195  
  0x02c4,   // 196  
  0x02c5,   // 197  
  0x02c6,   // 198  
  0x02c7,   // 199  
  0x02c8,   // 200  
  0x02c9,   // 201  
  0x02ca,   // 202  
  0x02cb,   // 203  
  0x02cc,   // 204  
  0x02cd,   // 205  
  0x02ce,   // 206  
  0x02cf,   // 207  
  0x02d0,   // 208  
  0x02d1,   // 209  
  0x02d2,   // 210  
  0x02d3,   // 211  
  0x02d4,   // 212  
  0x02d5,   // 213  
  0x02d6,   // 214  
  0x02d7,   // 215  
  0x02d8,   // 216  
  0x02d9,   // 217  
  0x02da,   // 218  
  0x02db,   // 219  
  0x02dc,   // 220  
  0x02dd,   // 221  
  0x02de,   // 222  
  0x02df,   // 223  
  0x02e0,   // 224  
  0x02e1,   // 225  
  0x02e2,   // 226  
  0x02e3,   // 227  
  0x02e4,   // 228  
  0x02e5,   // 229  
  0x02e6,   // 230  
  0x02e7,   // 231  
  0x02e8,   // 232  
  0x02e9,   // 233  
  0x02ea,   // 234  
  0x02eb,   // 235  
  0x02ec,   // 236  
  0x02ed,   // 237  
  0x02ee,   // 238  
  0x02ef,   // 239  
  0x02f0,   // 240  
  0x02f1,   // 241  
  0x02f2,   // 242  
  0x02f3,   // 243  
  0x02f4,   // 244  
  0x02f5,   // 245  
  0x02f6,   // 246  
  0x02f7,   // 247  
  0x02f8,   // 248  
  0x02f9,   // 249  
  0x02fa,   // 250  
  0x02fb,   // 251  
  0x02fc,   // 252  
  0x02fd,   // 253  
  0x02fe,   // 254  
  0x02ff    // 255  
};

// code page 3
static wchar_t lc_tab_3[] = {
  0x0300,   // 0  
  0x0301,   // 1  
  0x0302,   // 2  
  0x0303,   // 3  
  0x0304,   // 4  
  0x0305,   // 5  
  0x0306,   // 6  
  0x0307,   // 7  
  0x0308,   // 8  
  0x0309,   // 9  
  0x030a,   // 10  
  0x030b,   // 11  
  0x030c,   // 12  
  0x030d,   // 13  
  0x030e,   // 14  
  0x030f,   // 15  
  0x0310,   // 16  
  0x0311,   // 17  
  0x0312,   // 18  
  0x0313,   // 19  
  0x0314,   // 20  
  0x0315,   // 21  
  0x0316,   // 22  
  0x0317,   // 23  
  0x0318,   // 24  
  0x0319,   // 25  
  0x031a,   // 26  
  0x031b,   // 27  
  0x031c,   // 28  
  0x031d,   // 29  
  0x031e,   // 30  
  0x031f,   // 31  
  0x0320,   // 32  
  0x0321,   // 33  
  0x0322,   // 34  
  0x0323,   // 35  
  0x0324,   // 36  
  0x0325,   // 37  
  0x0326,   // 38  
  0x0327,   // 39  
  0x0328,   // 40  
  0x0329,   // 41  
  0x032a,   // 42  
  0x032b,   // 43  
  0x032c,   // 44  
  0x032d,   // 45  
  0x032e,   // 46  
  0x032f,   // 47  
  0x0330,   // 48  
  0x0331,   // 49  
  0x0332,   // 50  
  0x0333,   // 51  
  0x0334,   // 52  
  0x0335,   // 53  
  0x0336,   // 54  
  0x0337,   // 55  
  0x0338,   // 56  
  0x0339,   // 57  
  0x033a,   // 58  
  0x033b,   // 59  
  0x033c,   // 60  
  0x033d,   // 61  
  0x033e,   // 62  
  0x033f,   // 63  
  0x0340,   // 64  
  0x0341,   // 65  
  0x0342,   // 66  
  0x0343,   // 67  
  0x0344,   // 68  
  0x0345,   // 69  
  0x0346,   // 70  
  0x0347,   // 71  
  0x0348,   // 72  
  0x0349,   // 73  
  0x034a,   // 74  
  0x034b,   // 75  
  0x034c,   // 76  
  0x034d,   // 77  
  0x034e,   // 78  
  0x034f,   // 79  
  0x0350,   // 80  
  0x0351,   // 81  
  0x0352,   // 82  
  0x0353,   // 83  
  0x0354,   // 84  
  0x0355,   // 85  
  0x0356,   // 86  
  0x0357,   // 87  
  0x0358,   // 88  
  0x0359,   // 89  
  0x035a,   // 90  
  0x035b,   // 91  
  0x035c,   // 92  
  0x035d,   // 93  
  0x035e,   // 94  
  0x035f,   // 95  
  0x0360,   // 96  
  0x0361,   // 97  
  0x0362,   // 98  
  0x0363,   // 99  
  0x0364,   // 100  
  0x0365,   // 101  
  0x0366,   // 102  
  0x0367,   // 103  
  0x0368,   // 104  
  0x0369,   // 105  
  0x036a,   // 106  
  0x036b,   // 107  
  0x036c,   // 108  
  0x036d,   // 109  
  0x036e,   // 110  
  0x036f,   // 111  
  0x0370,   // 112  
  0x0371,   // 113  
  0x0372,   // 114  
  0x0373,   // 115  
  0x0374,   // 116  
  0x0375,   // 117  
  0x0376,   // 118  
  0x0377,   // 119  
  0x0378,   // 120  
  0x0379,   // 121  
  0x037a,   // 122  
  0x037b,   // 123  
  0x037c,   // 124  
  0x037d,   // 125  
  0x037e,   // 126  
  0x037f,   // 127  
  0x0380,   // 128  
  0x0381,   // 129  
  0x0382,   // 130  
  0x0383,   // 131  
  0x0384,   // 132  
  0x0385,   // 133  
  0x0386,   // 134  
  0x0387,   // 135  
  0x0388,   // 136  
  0x0389,   // 137  
  0x038a,   // 138  
  0x038b,   // 139  
  0x038c,   // 140  
  0x038d,   // 141  
  0x038e,   // 142  
  0x038f,   // 143  
  0x0390,   // 144  
  0x0391,   // 145  
  0x0392,   // 146  
  0x0393,   // 147  
  0x0394,   // 148  
  0x0395,   // 149  
  0x0396,   // 150  
  0x0397,   // 151  
  0x0398,   // 152  
  0x0399,   // 153  
  0x039a,   // 154  
  0x039b,   // 155  
  0x039c,   // 156  
  0x039d,   // 157  
  0x039e,   // 158  
  0x039f,   // 159  
  0x03a0,   // 160  
  0x03a1,   // 161  
  0x03a2,   // 162  
  0x03a3,   // 163  
  0x03a4,   // 164  
  0x03a5,   // 165  
  0x03a6,   // 166  
  0x03a7,   // 167  
  0x03a8,   // 168  
  0x03a9,   // 169  
  0x03aa,   // 170  
  0x03ab,   // 171  
  0x0386,   // 172  GREEK SMALL LETTER ALPHA WITH TONOS 	GREEK CAPITAL LETTER ALPHA WITH TONOS
  0x0388,   // 173  GREEK SMALL LETTER EPSILON WITH TONOS 	GREEK CAPITAL LETTER EPSILON WITH TONOS
  0x0389,   // 174  GREEK SMALL LETTER ETA WITH TONOS 	GREEK CAPITAL LETTER ETA WITH TONOS
  0x038a,   // 175  GREEK SMALL LETTER IOTA WITH TONOS 	GREEK CAPITAL LETTER IOTA WITH TONOS
  0x03b0,   // 176  
  0x0391,   // 177  GREEK SMALL LETTER ALPHA 	GREEK CAPITAL LETTER ALPHA
  0x0392,   // 178  GREEK SMALL LETTER BETA 	GREEK CAPITAL LETTER BETA
  0x0393,   // 179  GREEK SMALL LETTER GAMMA 	GREEK CAPITAL LETTER GAMMA
  0x0394,   // 180  GREEK SMALL LETTER DELTA 	GREEK CAPITAL LETTER DELTA
  0x0395,   // 181  GREEK SMALL LETTER EPSILON 	GREEK CAPITAL LETTER EPSILON
  0x0396,   // 182  GREEK SMALL LETTER ZETA 	GREEK CAPITAL LETTER ZETA
  0x0397,   // 183  GREEK SMALL LETTER ETA 	GREEK CAPITAL LETTER ETA
  0x0398,   // 184  GREEK SMALL LETTER THETA 	GREEK CAPITAL LETTER THETA
  0x0399,   // 185  GREEK SMALL LETTER IOTA 	GREEK CAPITAL LETTER IOTA
  0x039a,   // 186  GREEK SMALL LETTER KAPPA 	GREEK CAPITAL LETTER KAPPA
  0x039b,   // 187  GREEK SMALL LETTER LAMDA 	GREEK CAPITAL LETTER LAMDA
  0x039c,   // 188  GREEK SMALL LETTER MU 	GREEK CAPITAL LETTER MU
  0x039d,   // 189  GREEK SMALL LETTER NU 	GREEK CAPITAL LETTER NU
  0x039e,   // 190  GREEK SMALL LETTER XI 	GREEK CAPITAL LETTER XI
  0x039f,   // 191  GREEK SMALL LETTER OMICRON 	GREEK CAPITAL LETTER OMICRON
  0x03a0,   // 192  GREEK SMALL LETTER PI 	GREEK CAPITAL LETTER PI
  0x03a1,   // 193  GREEK SMALL LETTER RHO 	GREEK CAPITAL LETTER RHO
  0x03c2,   // 194  
  0x03a3,   // 195  GREEK SMALL LETTER SIGMA 	GREEK CAPITAL LETTER SIGMA
  0x03a4,   // 196  GREEK SMALL LETTER TAU 	GREEK CAPITAL LETTER TAU
  0x03a5,   // 197  GREEK SMALL LETTER UPSILON 	GREEK CAPITAL LETTER UPSILON
  0x03a6,   // 198  GREEK SMALL LETTER PHI 	GREEK CAPITAL LETTER PHI
  0x03a7,   // 199  GREEK SMALL LETTER CHI 	GREEK CAPITAL LETTER CHI
  0x03a8,   // 200  GREEK SMALL LETTER PSI 	GREEK CAPITAL LETTER PSI
  0x03a9,   // 201  GREEK SMALL LETTER OMEGA 	GREEK CAPITAL LETTER OMEGA
  0x03aa,   // 202  GREEK SMALL LETTER IOTA WITH DIALYTIKA 	GREEK CAPITAL LETTER IOTA WITH DIALYTIKA
  0x03ab,   // 203  GREEK SMALL LETTER UPSILON WITH DIALYTIKA 	GREEK CAPITAL LETTER UPSILON WITH DIALYTIKA
  0x038c,   // 204  GREEK SMALL LETTER OMICRON WITH TONOS 	GREEK CAPITAL LETTER OMICRON WITH TONOS
  0x038e,   // 205  GREEK SMALL LETTER UPSILON WITH TONOS 	GREEK CAPITAL LETTER UPSILON WITH TONOS
  0x038f,   // 206  GREEK SMALL LETTER OMEGA WITH TONOS 	GREEK CAPITAL LETTER OMEGA WITH TONOS
  0x03cf,   // 207  
  0x03d0,   // 208  
  0x03d1,   // 209  
  0x03d2,   // 210  
  0x03d3,   // 211  
  0x03d4,   // 212  
  0x03d5,   // 213  
  0x03d6,   // 214  
  0x03d7,   // 215  
  0x03d8,   // 216  
  0x03d9,   // 217  
  0x03da,   // 218  
  0x03db,   // 219  
  0x03dc,   // 220  
  0x03dd,   // 221  
  0x03de,   // 222  
  0x03df,   // 223  
  0x03e0,   // 224  
  0x03e1,   // 225  
  0x03e2,   // 226  
  0x03e2,   // 227  COPTIC SMALL LETTER SHEI 	COPTIC CAPITAL LETTER SHEI
  0x03e4,   // 228  
  0x03e4,   // 229  COPTIC SMALL LETTER FEI 	COPTIC CAPITAL LETTER FEI
  0x03e6,   // 230  
  0x03e6,   // 231  COPTIC SMALL LETTER KHEI 	COPTIC CAPITAL LETTER KHEI
  0x03e8,   // 232  
  0x03e8,   // 233  COPTIC SMALL LETTER HORI 	COPTIC CAPITAL LETTER HORI
  0x03ea,   // 234  
  0x03ea,   // 235  COPTIC SMALL LETTER GANGIA 	COPTIC CAPITAL LETTER GANGIA
  0x03ec,   // 236  
  0x03ec,   // 237  COPTIC SMALL LETTER SHIMA 	COPTIC CAPITAL LETTER SHIMA
  0x03ee,   // 238  
  0x03ee,   // 239  COPTIC SMALL LETTER DEI 	COPTIC CAPITAL LETTER DEI
  0x03f0,   // 240  
  0x03f1,   // 241  
  0x03f2,   // 242  
  0x03f3,   // 243  
  0x03f4,   // 244  
  0x03f5,   // 245  
  0x03f6,   // 246  
  0x03f7,   // 247  
  0x03f8,   // 248  
  0x03f9,   // 249  
  0x03fa,   // 250  
  0x03fb,   // 251  
  0x03fc,   // 252  
  0x03fd,   // 253  
  0x03fe,   // 254  
  0x03ff    // 255  
};

// code page 4
static wchar_t lc_tab_4[] = {
  0x0400,   // 0  
  0x0401,   // 1  
  0x0402,   // 2  
  0x0403,   // 3  
  0x0404,   // 4  
  0x0405,   // 5  
  0x0406,   // 6  
  0x0407,   // 7  
  0x0408,   // 8  
  0x0409,   // 9  
  0x040a,   // 10  
  0x040b,   // 11  
  0x040c,   // 12  
  0x040d,   // 13  
  0x040e,   // 14  
  0x040f,   // 15  
  0x0410,   // 16  
  0x0411,   // 17  
  0x0412,   // 18  
  0x0413,   // 19  
  0x0414,   // 20  
  0x0415,   // 21  
  0x0416,   // 22  
  0x0417,   // 23  
  0x0418,   // 24  
  0x0419,   // 25  
  0x041a,   // 26  
  0x041b,   // 27  
  0x041c,   // 28  
  0x041d,   // 29  
  0x041e,   // 30  
  0x041f,   // 31  
  0x0420,   // 32  
  0x0421,   // 33  
  0x0422,   // 34  
  0x0423,   // 35  
  0x0424,   // 36  
  0x0425,   // 37  
  0x0426,   // 38  
  0x0427,   // 39  
  0x0428,   // 40  
  0x0429,   // 41  
  0x042a,   // 42  
  0x042b,   // 43  
  0x042c,   // 44  
  0x042d,   // 45  
  0x042e,   // 46  
  0x042f,   // 47  
  0x0410,   // 48  CYRILLIC SMALL LETTER A 	CYRILLIC CAPITAL LETTER A
  0x0411,   // 49  CYRILLIC SMALL LETTER BE 	CYRILLIC CAPITAL LETTER BE
  0x0412,   // 50  CYRILLIC SMALL LETTER VE 	CYRILLIC CAPITAL LETTER VE
  0x0413,   // 51  CYRILLIC SMALL LETTER GHE 	CYRILLIC CAPITAL LETTER GHE
  0x0414,   // 52  CYRILLIC SMALL LETTER DE 	CYRILLIC CAPITAL LETTER DE
  0x0415,   // 53  CYRILLIC SMALL LETTER IE 	CYRILLIC CAPITAL LETTER IE
  0x0416,   // 54  CYRILLIC SMALL LETTER ZHE 	CYRILLIC CAPITAL LETTER ZHE
  0x0417,   // 55  CYRILLIC SMALL LETTER ZE 	CYRILLIC CAPITAL LETTER ZE
  0x0418,   // 56  CYRILLIC SMALL LETTER I 	CYRILLIC CAPITAL LETTER I
  0x0419,   // 57  CYRILLIC SMALL LETTER SHORT I 	CYRILLIC CAPITAL LETTER SHORT I
  0x041a,   // 58  CYRILLIC SMALL LETTER KA 	CYRILLIC CAPITAL LETTER KA
  0x041b,   // 59  CYRILLIC SMALL LETTER EL 	CYRILLIC CAPITAL LETTER EL
  0x041c,   // 60  CYRILLIC SMALL LETTER EM 	CYRILLIC CAPITAL LETTER EM
  0x041d,   // 61  CYRILLIC SMALL LETTER EN 	CYRILLIC CAPITAL LETTER EN
  0x041e,   // 62  CYRILLIC SMALL LETTER O 	CYRILLIC CAPITAL LETTER O
  0x041f,   // 63  CYRILLIC SMALL LETTER PE 	CYRILLIC CAPITAL LETTER PE
  0x0420,   // 64  CYRILLIC SMALL LETTER ER 	CYRILLIC CAPITAL LETTER ER
  0x0421,   // 65  CYRILLIC SMALL LETTER ES 	CYRILLIC CAPITAL LETTER ES
  0x0422,   // 66  CYRILLIC SMALL LETTER TE 	CYRILLIC CAPITAL LETTER TE
  0x0423,   // 67  CYRILLIC SMALL LETTER U 	CYRILLIC CAPITAL LETTER U
  0x0424,   // 68  CYRILLIC SMALL LETTER EF 	CYRILLIC CAPITAL LETTER EF
  0x0425,   // 69  CYRILLIC SMALL LETTER HA 	CYRILLIC CAPITAL LETTER HA
  0x0426,   // 70  CYRILLIC SMALL LETTER TSE 	CYRILLIC CAPITAL LETTER TSE
  0x0427,   // 71  CYRILLIC SMALL LETTER CHE 	CYRILLIC CAPITAL LETTER CHE
  0x0428,   // 72  CYRILLIC SMALL LETTER SHA 	CYRILLIC CAPITAL LETTER SHA
  0x0429,   // 73  CYRILLIC SMALL LETTER SHCHA 	CYRILLIC CAPITAL LETTER SHCHA
  0x042a,   // 74  CYRILLIC SMALL LETTER HARD SIGN 	CYRILLIC CAPITAL LETTER HARD SIGN
  0x042b,   // 75  CYRILLIC SMALL LETTER YERU 	CYRILLIC CAPITAL LETTER YERU
  0x042c,   // 76  CYRILLIC SMALL LETTER SOFT SIGN 	CYRILLIC CAPITAL LETTER SOFT SIGN
  0x042d,   // 77  CYRILLIC SMALL LETTER E 	CYRILLIC CAPITAL LETTER E
  0x042e,   // 78  CYRILLIC SMALL LETTER YU 	CYRILLIC CAPITAL LETTER YU
  0x042f,   // 79  CYRILLIC SMALL LETTER YA 	CYRILLIC CAPITAL LETTER YA
  0x0450,   // 80  
  0x0401,   // 81  CYRILLIC SMALL LETTER IO 	CYRILLIC CAPITAL LETTER IO
  0x0402,   // 82  CYRILLIC SMALL LETTER DJE (SERBOCROATIAN) 	CYRILLIC CAPITAL LETTER DJE (SERBOCROATIAN)
  0x0403,   // 83  CYRILLIC SMALL LETTER GJE 	CYRILLIC CAPITAL LETTER GJE
  0x0404,   // 84  CYRILLIC SMALL LETTER UKRAINIAN IE 	CYRILLIC CAPITAL LETTER UKRAINIAN IE
  0x0405,   // 85  CYRILLIC SMALL LETTER DZE 	CYRILLIC CAPITAL LETTER DZE
  0x0406,   // 86  CYRILLIC SMALL LETTER BYELORUSSIAN-UKRAINIAN I 	CYRILLIC CAPITAL LETTER BYELORUSSIAN_UKRAINIAN I
  0x0407,   // 87  CYRILLIC SMALL LETTER YI (UKRAINIAN) 	CYRILLIC CAPITAL LETTER YI (UKRAINIAN)
  0x0408,   // 88  CYRILLIC SMALL LETTER JE 	CYRILLIC CAPITAL LETTER JE
  0x0409,   // 89  CYRILLIC SMALL LETTER LJE 	CYRILLIC CAPITAL LETTER LJE
  0x040a,   // 90  CYRILLIC SMALL LETTER NJE 	CYRILLIC CAPITAL LETTER NJE
  0x040b,   // 91  CYRILLIC SMALL LETTER TSHE (SERBOCROATIAN) 	CYRILLIC CAPITAL LETTER TSHE (SERBOCROATIAN)
  0x040c,   // 92  CYRILLIC SMALL LETTER KJE 	CYRILLIC CAPITAL LETTER KJE
  0x045d,   // 93  
  0x040e,   // 94  CYRILLIC SMALL LETTER SHORT U (BYELORUSSIAN) 	CYRILLIC CAPITAL LETTER SHORT U (BYELORUSSIAN)
  0x040f,   // 95  CYRILLIC SMALL LETTER DZHE 	CYRILLIC CAPITAL LETTER DZHE
  0x0460,   // 96  
  0x0460,   // 97  CYRILLIC SMALL LETTER OMEGA 	CYRILLIC CAPITAL LETTER OMEGA
  0x0462,   // 98  
  0x0462,   // 99  CYRILLIC SMALL LETTER YAT 	CYRILLIC CAPITAL LETTER YAT
  0x0464,   // 100  
  0x0464,   // 101  CYRILLIC SMALL LETTER IOTIFIED E 	CYRILLIC CAPITAL LETTER IOTIFIED E
  0x0466,   // 102  
  0x0466,   // 103  CYRILLIC SMALL LETTER LITTLE YUS 	CYRILLIC CAPITAL LETTER LITTLE YUS
  0x0468,   // 104  
  0x0468,   // 105  CYRILLIC SMALL LETTER IOTIFIED LITTLE YUS 	CYRILLIC CAPITAL LETTER IOTIFIED LITTLE YUS
  0x046a,   // 106  
  0x046a,   // 107  CYRILLIC SMALL LETTER BIG YUS 	CYRILLIC CAPITAL LETTER BIG YUS
  0x046c,   // 108  
  0x046c,   // 109  CYRILLIC SMALL LETTER IOTIFIED BIG YUS 	CYRILLIC CAPITAL LETTER IOTIFIED BIG YUS
  0x046e,   // 110  
  0x046e,   // 111  CYRILLIC SMALL LETTER KSI 	CYRILLIC CAPITAL LETTER KSI
  0x0470,   // 112  
  0x0470,   // 113  CYRILLIC SMALL LETTER PSI 	CYRILLIC CAPITAL LETTER PSI
  0x0472,   // 114  
  0x0472,   // 115  CYRILLIC SMALL LETTER FITA 	CYRILLIC CAPITAL LETTER FITA
  0x0474,   // 116  
  0x0474,   // 117  CYRILLIC SMALL LETTER IZHITSA 	CYRILLIC CAPITAL LETTER IZHITSA
  0x0476,   // 118  
  0x0476,   // 119  CYRILLIC SMALL LETTER IZHITSA WITH DOUBLE GRAVE ACCENT 	CYRILLIC CAPITAL LETTER IZHITSA WITH DOUBLE GRAVE ACCENT
  0x0478,   // 120  
  0x0478,   // 121  CYRILLIC SMALL LETTER UK 	CYRILLIC CAPITAL LETTER UK
  0x047a,   // 122  
  0x047a,   // 123  CYRILLIC SMALL LETTER ROUND OMEGA 	CYRILLIC CAPITAL LETTER ROUND OMEGA
  0x047c,   // 124  
  0x047c,   // 125  CYRILLIC SMALL LETTER OMEGA WITH TITLO 	CYRILLIC CAPITAL LETTER OMEGA WITH TITLO
  0x047e,   // 126  
  0x047e,   // 127  CYRILLIC SMALL LETTER OT 	CYRILLIC CAPITAL LETTER OT
  0x0480,   // 128  
  0x0480,   // 129  CYRILLIC SMALL LETTER KOPPA 	CYRILLIC CAPITAL LETTER KOPPA
  0x0482,   // 130  
  0x0483,   // 131  
  0x0484,   // 132  
  0x0485,   // 133  
  0x0486,   // 134  
  0x0487,   // 135  
  0x0488,   // 136  
  0x0489,   // 137  
  0x048a,   // 138  
  0x048b,   // 139  
  0x048c,   // 140  
  0x048d,   // 141  
  0x048e,   // 142  
  0x048f,   // 143  
  0x0490,   // 144  
  0x0490,   // 145  CYRILLIC SMALL LETTER GHE WITH UPTURN 	CYRILLIC CAPITAL LETTER GHE WITH UPTURN
  0x0492,   // 146  
  0x0492,   // 147  CYRILLIC SMALL LETTER GHE WITH STROKE 	CYRILLIC CAPITAL LETTER GHE WITH STROKE
  0x0494,   // 148  
  0x0494,   // 149  CYRILLIC SMALL LETTER GHE WITH MIDDLE HOOK 	CYRILLIC CAPITAL LETTER GHE WITH MIDDLE HOOK
  0x0496,   // 150  
  0x0496,   // 151  CYRILLIC SMALL LETTER ZHE WITH DESCENDER 	CYRILLIC CAPITAL LETTER ZHE WITH DESCENDER
  0x0498,   // 152  
  0x0498,   // 153  CYRILLIC SMALL LETTER ZE WITH DESCENDER 	CYRILLIC CAPITAL LETTER ZE WITH DESCENDER
  0x049a,   // 154  
  0x049a,   // 155  CYRILLIC SMALL LETTER KA WITH DESCENDER 	CYRILLIC CAPITAL LETTER KA WITH DESCENDER
  0x049c,   // 156  
  0x049c,   // 157  CYRILLIC SMALL LETTER KA WITH VERTICAL STROKE 	CYRILLIC CAPITAL LETTER KA WITH VERTICAL STROKE
  0x049e,   // 158  
  0x049e,   // 159  CYRILLIC SMALL LETTER KA WITH STROKE 	CYRILLIC CAPITAL LETTER KA WITH STROKE
  0x04a0,   // 160  
  0x04a0,   // 161  CYRILLIC SMALL LETTER EASHKIR KA 	CYRILLIC CAPITAL LETTER BASHKIR KA
  0x04a2,   // 162  
  0x04a2,   // 163  CYRILLIC SMALL LETTER EN WITH DESCENOER 	CYRILLIC CAPITAL LETTER EN WITH DESCENDER
  0x04a4,   // 164  
  0x04a4,   // 165  CYRILLIC SMALL LIGATURE EN GHE 	CYRILLIC CAPITAL LIGATURE EN GHF
  0x04a6,   // 166  
  0x04a6,   // 167  CYRILLIC SMALL LETTER PE WITH MIDDLE HOOK (ABKHASIAN) 	CYRILLIC CAPITAL LETTER PE WITH MIDDLE HOOK (ABKHASIAN)
  0x04a8,   // 168  
  0x04a8,   // 169  CYRILLIC SMALL LETTER ABKHASIAN HA 	CYRILLIC CAPITAL LETTER ABKHASIAN HA
  0x04aa,   // 170  
  0x04aa,   // 171  CYRILLIC SMALL LETTER ES WITH DESCENDER 	CYRILLIC CAPITAL LETTER ES WITH DESCENDER
  0x04ac,   // 172  
  0x04ac,   // 173  CYRILLIC SMALL LETTER TE WITH DESCENDER 	CYRILLIC CAPITAL LETTER TE WITH DESCENDER
  0x04ae,   // 174  
  0x04ae,   // 175  CYRILLIC SMALL LETTER STRAIGHT U 	CYRILLIC CAPITAL LETTER STRAIGHT U
  0x04b0,   // 176  
  0x04b0,   // 177  CYRILLIC SMALL LETTER STRAIGHT U WITH STROKE 	CYRILLIC CAPITAL LETTER STRAIGHT U WITH STROKE
  0x04b2,   // 178  
  0x04b2,   // 179  CYRILLIC SMALL LETTER HA WITH DESCENDER 	CYRILLIC CAPITAL LETTER HA WITH DESCENDER
  0x04b4,   // 180  
  0x04b4,   // 181  CYRILLIC SMALL LIGATURE TE TSE (ABKHASIAN) 	CYRILLIC CAPITAL LIGATURE TE TSE (ABKHASIAN)
  0x04b6,   // 182  
  0x04b6,   // 183  CYRILLIC SMALL LETTER CHE WITH DESCENDER 	CYRILLIC CAPITAL LETTER CHE WITH DESCENDER
  0x04b8,   // 184  
  0x04b8,   // 185  CYRILLIC SMALL LETTER CHE WITH VERTICAL STROKE 	CYRILLIC CAPITAL LETTER CHE WITH VERTICAL STROKE
  0x04ba,   // 186  
  0x04ba,   // 187  CYRILLIC SMALL LETTER SHHA 	CYRILLIC CAPITAL LETTER SHHA
  0x04bc,   // 188  
  0x04bc,   // 189  CYRILLIC SMALL LETTER ABKHASIAN CHE 	CYRILLIC CAPITAL LETTER ABKHASIAN CHE
  0x04be,   // 190  
  0x04be,   // 191  CYRILLIC SMALL LETTER ABKHASIAN CHE WITH DESCENDER 	CYRILLIC CAPITAL LETTER ABKHASIAN CHE WITH DESCENDER
  0x04c0,   // 192  
  0x04c1,   // 193  
  0x04c1,   // 194  CYRILLIC SMALL LETTER ZHE WITH BREVE 	CYRILLIC CAPITAL LETTER ZHE WITH BREVE
  0x04c3,   // 195  
  0x04c3,   // 196  CYRILLIC SMALL LETTER KA WITH HOOK 	CYRILLIC CAPITAL LETTER KA WITH HOOK
  0x04c5,   // 197  
  0x04c6,   // 198  
  0x04c7,   // 199  
  0x04c7,   // 200  CYRILLIC SMALL LETTER EN WITH HOOK 	CYRILLIC CAPITAL LETTER EN WITH HOOK
  0x04c9,   // 201  
  0x04ca,   // 202  
  0x04cb,   // 203  
  0x04cb,   // 204  CYRILLIC SMALL LETTER KHAKASSIAN CHE 	CYRILLIC CAPITAL LETTER KHAKASSIAN CHE
  0x04cd,   // 205  
  0x04ce,   // 206  
  0x04cf,   // 207  
  0x04d0,   // 208  
  0x04d0,   // 209  CYRILLIC SMALL LETTER A WITH BREVE 	CYRILLIC CAPITAL LETTER A WITH BREVE
  0x04d2,   // 210  
  0x04d2,   // 211  CYRILLIC SMALL LETTER A WITH DIAERESIS 	CYRILLIC CAPITAL LETTER A WITH DIAERESIS
  0x04d4,   // 212  
  0x04d4,   // 213  CYRILLIC SMALL LIGATURE A IE 	CYRILLIC CAPITAL LIGATURE A IE
  0x04d6,   // 214  
  0x04d6,   // 215  CYRILLIC SMALL LETTER IE WITH BREVE 	CYRILLIC CAPITAL LETTER IE WITH BREVE
  0x04d8,   // 216  
  0x04d8,   // 217  CYRILLIC SMALL LETTER SCHWA 	CYRILLIC CAPITAL LETTER SCHWA
  0x04da,   // 218  
  0x04da,   // 219  CYRILLIC SMALL LETTER SCHWA WITH DIAERESIS 	CYRILLIC CAPITAL LETTER SCHWA WITH DIAERESIS
  0x04dc,   // 220  
  0x04dc,   // 221  CYRILLIC SMALL LETTER ZHE WITH DIAERESIS 	CYRILLIC CAPITAL LETTER ZHE WITH DIAERESIS
  0x04de,   // 222  
  0x04de,   // 223  CYRILLIC SMALL LETTER ZE WITH DIAERESIS 	CYRILLIC CAPITAL LETTER ZE WITH DIAERESIS
  0x04e0,   // 224  
  0x04e0,   // 225  CYRILLIC SMALL LETTER ABKHASIAN DZE 	CYRILLIC CAPITAL LETTER ABKHASIAN DZE
  0x04e2,   // 226  
  0x04e2,   // 227  CYRILLIC SMALL LETTER I WITH MACRON 	CYRILLIC CAPITAL LETTER I WITH MACRON
  0x04e4,   // 228  
  0x04e4,   // 229  CYRILLIC SMALL LETTER I WITH DIAERESIS 	CYRILLIC CAPITAL LETTER I WITH DIAERESIS
  0x04e6,   // 230  
  0x04e6,   // 231  CYRILLIC SMALL LETTER O WITH DIAERESIS 	CYRILLIC CAPITAL LETTER O WITH DIAERESIS
  0x04e8,   // 232  
  0x04e8,   // 233  CYRILLIC SMALL LETTER BARRED O 	CYRILLIC CAPITAL LETTER BARRED O
  0x04ea,   // 234  
  0x04ea,   // 235  CYRILLIC SMALL LETTER BARRED O WITH DIAERESIS 	CYRILLIC CAPITAL LETTER BARRED O WITH DIAERESIS
  0x04ec,   // 236  
  0x04ed,   // 237  
  0x04ee,   // 238  
  0x04ee,   // 239  CYRILLIC SMALL LETTER U WITH MACRON 	CYRILLIC CAPITAL LETTER U WITH MACRON
  0x04f0,   // 240  
  0x04f0,   // 241  CYRILLIC SMALL LETTER U WITH DIAERESIS 	CYRILLIC CAPITAL LETTER U WITH DIAERESIS
  0x04f2,   // 242  
  0x04f2,   // 243  CYRILLIC SMALL LETTER U WITH DOUBLE ACUTE 	CYRILLIC CAPITAL LETTER U WITH DOUBLE ACUTE
  0x04f4,   // 244  
  0x04f4,   // 245  CYRILLIC SMALL LETTER CHE AITH DIAERESIS 	CYRILLIC CAPITAL LETTER CHE WITH DIAERESIS
  0x04f6,   // 246  
  0x04f7,   // 247  
  0x04f8,   // 248  
  0x04f8,   // 249  CYRILLIC SMALL LETTER YERU WITH DIAERESIS 	CYRILLIC CAPITAL LETTER YERU WITH DIAERESIS
  0x04fa,   // 250  
  0x04fb,   // 251  
  0x04fc,   // 252  
  0x04fd,   // 253  
  0x04fe,   // 254  
  0x04ff    // 255  
};

// code page 5
static wchar_t lc_tab_5[] = {
  0x0500,   // 0  
  0x0501,   // 1  
  0x0502,   // 2  
  0x0503,   // 3  
  0x0504,   // 4  
  0x0505,   // 5  
  0x0506,   // 6  
  0x0507,   // 7  
  0x0508,   // 8  
  0x0509,   // 9  
  0x050a,   // 10  
  0x050b,   // 11  
  0x050c,   // 12  
  0x050d,   // 13  
  0x050e,   // 14  
  0x050f,   // 15  
  0x0510,   // 16  
  0x0511,   // 17  
  0x0512,   // 18  
  0x0513,   // 19  
  0x0514,   // 20  
  0x0515,   // 21  
  0x0516,   // 22  
  0x0517,   // 23  
  0x0518,   // 24  
  0x0519,   // 25  
  0x051a,   // 26  
  0x051b,   // 27  
  0x051c,   // 28  
  0x051d,   // 29  
  0x051e,   // 30  
  0x051f,   // 31  
  0x0520,   // 32  
  0x0521,   // 33  
  0x0522,   // 34  
  0x0523,   // 35  
  0x0524,   // 36  
  0x0525,   // 37  
  0x0526,   // 38  
  0x0527,   // 39  
  0x0528,   // 40  
  0x0529,   // 41  
  0x052a,   // 42  
  0x052b,   // 43  
  0x052c,   // 44  
  0x052d,   // 45  
  0x052e,   // 46  
  0x052f,   // 47  
  0x0530,   // 48  
  0x0531,   // 49  
  0x0532,   // 50  
  0x0533,   // 51  
  0x0534,   // 52  
  0x0535,   // 53  
  0x0536,   // 54  
  0x0537,   // 55  
  0x0538,   // 56  
  0x0539,   // 57  
  0x053a,   // 58  
  0x053b,   // 59  
  0x053c,   // 60  
  0x053d,   // 61  
  0x053e,   // 62  
  0x053f,   // 63  
  0x0540,   // 64  
  0x0541,   // 65  
  0x0542,   // 66  
  0x0543,   // 67  
  0x0544,   // 68  
  0x0545,   // 69  
  0x0546,   // 70  
  0x0547,   // 71  
  0x0548,   // 72  
  0x0549,   // 73  
  0x054a,   // 74  
  0x054b,   // 75  
  0x054c,   // 76  
  0x054d,   // 77  
  0x054e,   // 78  
  0x054f,   // 79  
  0x0550,   // 80  
  0x0551,   // 81  
  0x0552,   // 82  
  0x0553,   // 83  
  0x0554,   // 84  
  0x0555,   // 85  
  0x0556,   // 86  
  0x0557,   // 87  
  0x0558,   // 88  
  0x0559,   // 89  
  0x055a,   // 90  
  0x055b,   // 91  
  0x055c,   // 92  
  0x055d,   // 93  
  0x055e,   // 94  
  0x055f,   // 95  
  0x0560,   // 96  
  0x0531,   // 97  ARMENIAN SMALL LETTER AYB 	ARMENIAN CAPITAL LETTER AYB
  0x0532,   // 98  ARMENIAN SMALL LETTER BEN 	ARMENIAN CAPITAL LETTER BEN
  0x0533,   // 99  ARMENIAN SMALL LETTER GIM 	ARMENIAN CAPITAL LETTER GIM
  0x0534,   // 100  ARMENIAN SMALL LETTER DA 	ARMENIAN CAPITAL LETTER DA
  0x0535,   // 101  ARMENIAN SMALL LETTER ECH 	ARMENIAN CAPITAL LETTER ECH
  0x0536,   // 102  ARMENIAN SMALL LETTER ZA 	ARMENIAN CAPITAL LETTER ZA
  0x0537,   // 103  ARMENIAN SMALL LETTER EH 	ARMENIAN CAPITAL LETTER EH
  0x0538,   // 104  ARMENIAN SMALL LETTER ET 	ARMENIAN CAPITAL LETTER ET
  0x0539,   // 105  ARMENIAN SMALL LETTER TO 	ARMENIAN CAPITAL LETTER TO
  0x053a,   // 106  ARMENIAN SMALL LETTER ZHE 	ARMENIAN CAPITAL LETTER ZHE
  0x053b,   // 107  ARMENIAN SMALL LETTER INI 	ARMENIAN CAPITAL LETTER INI
  0x053c,   // 108  ARMENIAN SMALL LETTER LIWN 	ARMENIAN CAPITAL LETTER LIWN
  0x053d,   // 109  ARMENIAN SMALL LETTER XEH 	ARMENIAN CAPITAL LETTER XEH
  0x053e,   // 110  ARMENIAN SMALL LETTER CA 	ARMENIAN CAPITAL LETTER CA
  0x053f,   // 111  ARMENIAN SMALL LETTER KEN 	ARMENIAN CAPITAL LETTER KEN
  0x0540,   // 112  ARMENIAN SMALL LETTER HO 	ARMENIAN CAPITAL LETTER HO
  0x0541,   // 113  ARMENIAN SMALL LETTER JA 	ARMENIAN CAPITAL LETTER JA
  0x0542,   // 114  ARMENIAN SMALL LETTER GHAD 	ARMENIAN CAPITAL LETTER GHAD
  0x0543,   // 115  ARMENIAN SMALL LETTER CHEH 	ARMENIAN CAPITAL LETTER CHEH
  0x0544,   // 116  ARMENIAN SMALL LETTER MEN 	ARMENIAN CAPITAL LETTER MEN
  0x0545,   // 117  ARMENIAN SMALL LETTER YI 	ARMENIAN CAPITAL LETTER YI
  0x0546,   // 118  ARMENIAN SMALL LETTER NOW 	ARMENIAN CAPITAL LETTER NOW
  0x0547,   // 119  ARMENIAN SMALL LETTER SNA 	ARMENIAN CAPITAL LETTER SHA
  0x0548,   // 120  ARMENIAN SMALL LETTER VO 	ARMENIAN CAPITAL LETTER VO
  0x0549,   // 121  ARMENIAN SMALL LETTER CHA 	ARMENIAN CAPITAL LETTER CHA
  0x054a,   // 122  ARMENIAN SMALL LETTER PEH 	ARMENIAN CAPITAL LETTER PEH
  0x054b,   // 123  ARMENIAN SMALL LETTER JHEH 	ARMENIAN CAPITAL LETTER JHEH
  0x054c,   // 124  ARMENIAN SMALL LETTER RA 	ARMENIAN CAPITAL LETTER RA
  0x054d,   // 125  ARMENIAN SMALL LETTER SEH 	ARMENIAN CAPITAL LETTER SEH
  0x054e,   // 126  ARMENIAN SMALL LETTER VEW 	ARMENIAN CAPITAL LETTER VEW
  0x054f,   // 127  ARMENIAN SMALL LETTER TIWN 	ARMENIAN CAPITAL LETTER TIWN
  0x0550,   // 128  ARMENIAN SMALL LETTER REH 	ARMENIAN CAPITAL LETTER REH
  0x0551,   // 129  ARMENIAN SMALL LETTER CO 	ARMENIAN CAPITAL LETTER CO
  0x0552,   // 130  ARMENIAN SMALL LETTER YIWN 	ARMENIAN CAPITAL LETTER YIWN
  0x0553,   // 131  ARMENIAN SMALL LETTER PIWP 	ARMENIAN CAPITAL LETTER PIWR
  0x0554,   // 132  ARMENIAN SMALL LETTER KEH 	ARMENIAN CAPITAL LETTER KEH
  0x0555,   // 133  ARMENIAN SMALL LETTER OH 	ARMENIAN CAPITAL LETTER OH
  0x0556,   // 134  ARMENIAN SMALL LETTER FEH 	ARMENIAN CAPITAL LETTER FEH
  0x0587,   // 135  
  0x0588,   // 136  
  0x0589,   // 137  
  0x058a,   // 138  
  0x058b,   // 139  
  0x058c,   // 140  
  0x058d,   // 141  
  0x058e,   // 142  
  0x058f,   // 143  
  0x0590,   // 144  
  0x0591,   // 145  
  0x0592,   // 146  
  0x0593,   // 147  
  0x0594,   // 148  
  0x0595,   // 149  
  0x0596,   // 150  
  0x0597,   // 151  
  0x0598,   // 152  
  0x0599,   // 153  
  0x059a,   // 154  
  0x059b,   // 155  
  0x059c,   // 156  
  0x059d,   // 157  
  0x059e,   // 158  
  0x059f,   // 159  
  0x05a0,   // 160  
  0x05a1,   // 161  
  0x05a2,   // 162  
  0x05a3,   // 163  
  0x05a4,   // 164  
  0x05a5,   // 165  
  0x05a6,   // 166  
  0x05a7,   // 167  
  0x05a8,   // 168  
  0x05a9,   // 169  
  0x05aa,   // 170  
  0x05ab,   // 171  
  0x05ac,   // 172  
  0x05ad,   // 173  
  0x05ae,   // 174  
  0x05af,   // 175  
  0x05b0,   // 176  
  0x05b1,   // 177  
  0x05b2,   // 178  
  0x05b3,   // 179  
  0x05b4,   // 180  
  0x05b5,   // 181  
  0x05b6,   // 182  
  0x05b7,   // 183  
  0x05b8,   // 184  
  0x05b9,   // 185  
  0x05ba,   // 186  
  0x05bb,   // 187  
  0x05bc,   // 188  
  0x05bd,   // 189  
  0x05be,   // 190  
  0x05bf,   // 191  
  0x05c0,   // 192  
  0x05c1,   // 193  
  0x05c2,   // 194  
  0x05c3,   // 195  
  0x05c4,   // 196  
  0x05c5,   // 197  
  0x05c6,   // 198  
  0x05c7,   // 199  
  0x05c8,   // 200  
  0x05c9,   // 201  
  0x05ca,   // 202  
  0x05cb,   // 203  
  0x05cc,   // 204  
  0x05cd,   // 205  
  0x05ce,   // 206  
  0x05cf,   // 207  
  0x05d0,   // 208  
  0x05d1,   // 209  
  0x05d2,   // 210  
  0x05d3,   // 211  
  0x05d4,   // 212  
  0x05d5,   // 213  
  0x05d6,   // 214  
  0x05d7,   // 215  
  0x05d8,   // 216  
  0x05d9,   // 217  
  0x05da,   // 218  
  0x05db,   // 219  
  0x05dc,   // 220  
  0x05dd,   // 221  
  0x05de,   // 222  
  0x05df,   // 223  
  0x05e0,   // 224  
  0x05e1,   // 225  
  0x05e2,   // 226  
  0x05e3,   // 227  
  0x05e4,   // 228  
  0x05e5,   // 229  
  0x05e6,   // 230  
  0x05e7,   // 231  
  0x05e8,   // 232  
  0x05e9,   // 233  
  0x05ea,   // 234  
  0x05eb,   // 235  
  0x05ec,   // 236  
  0x05ed,   // 237  
  0x05ee,   // 238  
  0x05ef,   // 239  
  0x05f0,   // 240  
  0x05f1,   // 241  
  0x05f2,   // 242  
  0x05f3,   // 243  
  0x05f4,   // 244  
  0x05f5,   // 245  
  0x05f6,   // 246  
  0x05f7,   // 247  
  0x05f8,   // 248  
  0x05f9,   // 249  
  0x05fa,   // 250  
  0x05fb,   // 251  
  0x05fc,   // 252  
  0x05fd,   // 253  
  0x05fe,   // 254  
  0x05ff    // 255  
};

// code page 16
static wchar_t lc_tab_16[] = {
  0x1000,   // 0  
  0x1001,   // 1  
  0x1002,   // 2  
  0x1003,   // 3  
  0x1004,   // 4  
  0x1005,   // 5  
  0x1006,   // 6  
  0x1007,   // 7  
  0x1008,   // 8  
  0x1009,   // 9  
  0x100a,   // 10  
  0x100b,   // 11  
  0x100c,   // 12  
  0x100d,   // 13  
  0x100e,   // 14  
  0x100f,   // 15  
  0x1010,   // 16  
  0x1011,   // 17  
  0x1012,   // 18  
  0x1013,   // 19  
  0x1014,   // 20  
  0x1015,   // 21  
  0x1016,   // 22  
  0x1017,   // 23  
  0x1018,   // 24  
  0x1019,   // 25  
  0x101a,   // 26  
  0x101b,   // 27  
  0x101c,   // 28  
  0x101d,   // 29  
  0x101e,   // 30  
  0x101f,   // 31  
  0x1020,   // 32  
  0x1021,   // 33  
  0x1022,   // 34  
  0x1023,   // 35  
  0x1024,   // 36  
  0x1025,   // 37  
  0x1026,   // 38  
  0x1027,   // 39  
  0x1028,   // 40  
  0x1029,   // 41  
  0x102a,   // 42  
  0x102b,   // 43  
  0x102c,   // 44  
  0x102d,   // 45  
  0x102e,   // 46  
  0x102f,   // 47  
  0x1030,   // 48  
  0x1031,   // 49  
  0x1032,   // 50  
  0x1033,   // 51  
  0x1034,   // 52  
  0x1035,   // 53  
  0x1036,   // 54  
  0x1037,   // 55  
  0x1038,   // 56  
  0x1039,   // 57  
  0x103a,   // 58  
  0x103b,   // 59  
  0x103c,   // 60  
  0x103d,   // 61  
  0x103e,   // 62  
  0x103f,   // 63  
  0x1040,   // 64  
  0x1041,   // 65  
  0x1042,   // 66  
  0x1043,   // 67  
  0x1044,   // 68  
  0x1045,   // 69  
  0x1046,   // 70  
  0x1047,   // 71  
  0x1048,   // 72  
  0x1049,   // 73  
  0x104a,   // 74  
  0x104b,   // 75  
  0x104c,   // 76  
  0x104d,   // 77  
  0x104e,   // 78  
  0x104f,   // 79  
  0x1050,   // 80  
  0x1051,   // 81  
  0x1052,   // 82  
  0x1053,   // 83  
  0x1054,   // 84  
  0x1055,   // 85  
  0x1056,   // 86  
  0x1057,   // 87  
  0x1058,   // 88  
  0x1059,   // 89  
  0x105a,   // 90  
  0x105b,   // 91  
  0x105c,   // 92  
  0x105d,   // 93  
  0x105e,   // 94  
  0x105f,   // 95  
  0x1060,   // 96  
  0x1061,   // 97  
  0x1062,   // 98  
  0x1063,   // 99  
  0x1064,   // 100  
  0x1065,   // 101  
  0x1066,   // 102  
  0x1067,   // 103  
  0x1068,   // 104  
  0x1069,   // 105  
  0x106a,   // 106  
  0x106b,   // 107  
  0x106c,   // 108  
  0x106d,   // 109  
  0x106e,   // 110  
  0x106f,   // 111  
  0x1070,   // 112  
  0x1071,   // 113  
  0x1072,   // 114  
  0x1073,   // 115  
  0x1074,   // 116  
  0x1075,   // 117  
  0x1076,   // 118  
  0x1077,   // 119  
  0x1078,   // 120  
  0x1079,   // 121  
  0x107a,   // 122  
  0x107b,   // 123  
  0x107c,   // 124  
  0x107d,   // 125  
  0x107e,   // 126  
  0x107f,   // 127  
  0x1080,   // 128  
  0x1081,   // 129  
  0x1082,   // 130  
  0x1083,   // 131  
  0x1084,   // 132  
  0x1085,   // 133  
  0x1086,   // 134  
  0x1087,   // 135  
  0x1088,   // 136  
  0x1089,   // 137  
  0x108a,   // 138  
  0x108b,   // 139  
  0x108c,   // 140  
  0x108d,   // 141  
  0x108e,   // 142  
  0x108f,   // 143  
  0x1090,   // 144  
  0x1091,   // 145  
  0x1092,   // 146  
  0x1093,   // 147  
  0x1094,   // 148  
  0x1095,   // 149  
  0x1096,   // 150  
  0x1097,   // 151  
  0x1098,   // 152  
  0x1099,   // 153  
  0x109a,   // 154  
  0x109b,   // 155  
  0x109c,   // 156  
  0x109d,   // 157  
  0x109e,   // 158  
  0x109f,   // 159  
  0x10a0,   // 160  
  0x10a1,   // 161  
  0x10a2,   // 162  
  0x10a3,   // 163  
  0x10a4,   // 164  
  0x10a5,   // 165  
  0x10a6,   // 166  
  0x10a7,   // 167  
  0x10a8,   // 168  
  0x10a9,   // 169  
  0x10aa,   // 170  
  0x10ab,   // 171  
  0x10ac,   // 172  
  0x10ad,   // 173  
  0x10ae,   // 174  
  0x10af,   // 175  
  0x10b0,   // 176  
  0x10b1,   // 177  
  0x10b2,   // 178  
  0x10b3,   // 179  
  0x10b4,   // 180  
  0x10b5,   // 181  
  0x10b6,   // 182  
  0x10b7,   // 183  
  0x10b8,   // 184  
  0x10b9,   // 185  
  0x10ba,   // 186  
  0x10bb,   // 187  
  0x10bc,   // 188  
  0x10bd,   // 189  
  0x10be,   // 190  
  0x10bf,   // 191  
  0x10c0,   // 192  
  0x10c1,   // 193  
  0x10c2,   // 194  
  0x10c3,   // 195  
  0x10c4,   // 196  
  0x10c5,   // 197  
  0x10c6,   // 198  
  0x10c7,   // 199  
  0x10c8,   // 200  
  0x10c9,   // 201  
  0x10ca,   // 202  
  0x10cb,   // 203  
  0x10cc,   // 204  
  0x10cd,   // 205  
  0x10ce,   // 206  
  0x10cf,   // 207  
  0x10a0,   // 208  GEORGIAN LETTER AN 	GEORGIAN CAPITAL LETTER AN (KHUTSURI)
  0x10a1,   // 209  GEORGIAN LETTER BAN 	GEORGIAN CAPITAL LETTER BAN (KHUTSURI)
  0x10a2,   // 210  GEORGIAN LETTER GAN 	GEORGIAN CAPITAL LETTER GAN (KHUTSURI)
  0x10a3,   // 211  GEORGIAN LETTER DON 	GEORGIAN CAPITAL LETTER DON (KHUTSURI)
  0x10a4,   // 212  GEORGIAN LETTER EN 	GEORGIAN CAPITAL LETTER EN (KHUTSURI)
  0x10a5,   // 213  GEORGIAN LETTER VIN 	GEORGIAN CAPITAL LETTER VIN (KHUTSURI)
  0x10a6,   // 214  GEORGIAN LETTER ZEN 	GEORGIAN CAPITAL LETTER ZEN (KHUTSURI)
  0x10a7,   // 215  GEORGIAN LETTER TAN 	GEORGIAN CAPITAL LETTER TAN (KHUTSURI)
  0x10a8,   // 216  GEORGIAN LETTER IN 	GEORGIAN CAPITAL LETTER IN (KHUTSURI)
  0x10a9,   // 217  GEORGIAN LETTER KAN 	GEORGIAN CAPITAL LETTER KAN (KHUTSURI)
  0x10aa,   // 218  GEORGIAN LETTER LAS 	GEORGIAN CAPITAL LETTER LAS (KHUTSURI)
  0x10ab,   // 219  GEORGIAN LETTER MAN 	GEORGIAN CAPITAL LETTER MAN (KHUTSURI)
  0x10ac,   // 220  GEORGIAN LETTER NAR 	GEORGIAN CAPITAL LETTER NAR (KHUTSURI)
  0x10ad,   // 221  GEORGIAN LETTER ON 	GEORGIAN CAPITAL LETTER ON (KHUTSURI)
  0x10ae,   // 222  GEORGIAN LETTER PAR 	GEORGIAN CAPITAL LETTER PAR (KHUTSURI)
  0x10af,   // 223  GEORGIAN LETTER ZHAR 	GEORGIAN CAPITAL LETTER ZHAR (KHUTSURI)
  0x10b0,   // 224  GEORGIAN LETTER RAE 	GEORGIAN CAPITAL LETTER RAE (KHUTSURI)
  0x10b1,   // 225  GEORGIAN LETTER SAN 	GEORGIAN CAPITAL LETTER SAN (KHUTSURI)
  0x10b2,   // 226  GEORGIAN LETTER TAR 	GEORGIAN CAPITAL LETTER TAR (KHUTSURI)
  0x10b3,   // 227  GEORGIAN LETTER UN 	GEORGIAN CAPITAL LETTER UN (KHUTSURI)
  0x10b4,   // 228  GEORGIAN LETTER PHAR 	GEORGIAN CAPITAL LETTER PHAR (KHUTSURI)
  0x10b5,   // 229  GEORGIAN LETTER KHAR 	GEORGIAN CAPITAL LETTER KHAR (KHUTSURI)
  0x10b6,   // 230  GEORGIAN LETTER GHAN 	GEORGIAN CAPITAL LETTER GHAN (KHUTSURI)
  0x10b7,   // 231  GEORGIAN LETTER QAR 	GEORGIAN CAPITAL LETTER QAR (KHUTSURI)
  0x10b8,   // 232  GEORGIAN LETTER SHIN 	GEORGIAN CAPITAL LETTER SHIN (KHUTSURI)
  0x10b9,   // 233  GEORGIAN LETTER CHIN 	GEORGIAN CAPITAL LETTER CHIN (KHUTSURI)
  0x10ba,   // 234  GEORGIAN LETTER CAN 	GEORGIAN CAPITAL LETTER CAN (KHUTSURI)
  0x10bb,   // 235  GEORGIAN LETTER JIL 	GEORGIAN CAPITAL LETTER JIL (KHUTSURI)
  0x10bc,   // 236  GEORGIAN LETTER CIL 	GEORGIAN CAPITAL LETTER CIL (KHUTSURI)
  0x10bd,   // 237  GEORGIAN LETTER CHAR 	GEORGIAN CAPITAL LETTER CHAR (KHUTSURI)
  0x10be,   // 238  GEORGIAN LETTER XAN 	GEORGIAN CAPITAL LETTER XAN (KHUTSURI)
  0x10bf,   // 239  GEORGIAN LETTER JHAN 	GEORGIAN CAPITAL LETTER JHAN (KHUTSURI)
  0x10c0,   // 240  GEORGIAN LETTER HAE 	GEORGIAN CAPITAL LETTER HAE (KHUTSURI)
  0x10c1,   // 241  GEORGIAN LETTER HE 	GEORGIAN CAPITAL LETTER HE (KHUTSURI)
  0x10c2,   // 242  GEORGIAN LETTER HIE 	GEORGIAN CAPITAL LETTER HIE (KHUTSURI)
  0x10c3,   // 243  GEORGIAN LETTER WE 	GEORGIAN CAPITAL LETTER WE (KHUTSURI)
  0x10c4,   // 244  GEORGIAN LETTER HAR 	GEORGIAN CAPITAL LETTER HAR (KHUTSURI)
  0x10c5,   // 245  GEORGIAN LETTER HOE 	GEORGIAN CAPITAL LETTER HOE (KHUTSURI)
  0x10f6,   // 246  
  0x10f7,   // 247  
  0x10f8,   // 248  
  0x10f9,   // 249  
  0x10fa,   // 250  
  0x10fb,   // 251  
  0x10fc,   // 252  
  0x10fd,   // 253  
  0x10fe,   // 254  
  0x10ff    // 255  
};

// code page 30
static wchar_t lc_tab_30[] = {
  0x1e00,   // 0  
  0x1e00,   // 1  LATIN SMALL LETTER A WITH RING BELOW 	LATIN CAPITAL LETTER A WITH RING BELOW
  0x1e02,   // 2  
  0x1e02,   // 3  LATIN SMALL LETTER B WITH DOT ABOVE 	LATIN CAPITAL LETTER B WITH DOT ABOVE
  0x1e04,   // 4  
  0x1e04,   // 5  LATIN SMALL LETTER B WITH DOT BELOW 	LATIN CAPITAL LETTER B WITH DOT BELOW
  0x1e06,   // 6  
  0x1e06,   // 7  LATIN SMALL LETTER B WITH LINE BELOW 	LATIN CAPITAL LETTER B WITH LINE BELOW
  0x1e08,   // 8  
  0x1e08,   // 9  LATIN SMALL LETTER C WITH CEDILLA AND ACUTE 	LATIN CAPITAL LETTER C WITH CEDILLA AND ACUTE
  0x1e0a,   // 10  
  0x1e0a,   // 11  LATIN SMALL LETTER D WITH DOT ABOVE 	LATIN CAPITAL LETTER D WITH DOT ABOVE
  0x1e0c,   // 12  
  0x1e0c,   // 13  LATIN SMALL LETTER D WITH DOT BELOW 	LATIN CAPITAL LETTER D WITH DOT BELOW
  0x1e0e,   // 14  
  0x1e0e,   // 15  LATIN SMALL LETTER D WITH LINE BELOW 	LATIN CAPITAL LETTER D WITH LINE BELOW
  0x1e10,   // 16  
  0x1e10,   // 17  LATIN SMALL LETTER D WITH CEDILLA 	LATIN CAPITAL LETTER D WITH CEDILLA
  0x1e12,   // 18  
  0x1e12,   // 19  LATIN SMALL LETTER D WITH CIRCUMFLEX BELOW 	LATIN CAPITAL LETTER D WITH CIRCUMFLEX BELOW
  0x1e14,   // 20  
  0x1e14,   // 21  LATIN SMALL LETTER E WITH MACRON AND GRAVE 	LATIN CAPITAL LETTER E WITH MACRON AND GRAVE
  0x1e16,   // 22  
  0x1e16,   // 23  LATIN SMALL LETTER E WITH MACRON AND ACUTE 	LATIN CAPITAL LETTER E WITH MACRON AND ACUTE
  0x1e18,   // 24  
  0x1e18,   // 25  LATIN SMALL LETTER E WITH CIRCUMFLEX BELOW 	LATIN CAPITAL LETTER E WITH CIRCUMFLEX BELOW
  0x1e1a,   // 26  
  0x1e1a,   // 27  LATIN SMALL LETTER E WITH TILDE BELOW 	LATIN CAPITAL LETTER E WITH TILDE BELOW
  0x1e1c,   // 28  
  0x1e1c,   // 29  LATIN SMALL LETTER E WITH CEDILLA AND BREVE 	LATIN CAPITAL LETTER E WITH CEDILLA AND BREVE
  0x1e1e,   // 30  
  0x1e1e,   // 31  LATIN SMALL LETTER F WITH DOT ABOVE 	LATIN CAPITAL LETTER F WITH DOT ABOVE
  0x1e20,   // 32  
  0x1e20,   // 33  LATIN SMALL LETTER G WITH MACRON 	LATIN CAPITAL LETTER G WITH MACRON
  0x1e22,   // 34  
  0x1e22,   // 35  LATIN SMALL LETTER H WITH DOT ABOVE 	LATIN CAPITAL LETTER H WITH DOT ABOVE
  0x1e24,   // 36  
  0x1e24,   // 37  LATIN SMALL LETTER H WITH DOT BELOW 	LATIN CAPITAL LETTER H WITH DOT BELOW
  0x1e26,   // 38  
  0x1e26,   // 39  LATIN SMALL LETTER H WITH DIAERESIS 	LATIN CAPITAL LETTER H WITH DIAERESIS
  0x1e28,   // 40  
  0x1e28,   // 41  LATIN SMALL LETTER H WITH CEDILLA 	LATIN CAPITAL LETTER H WITH CEDILLA
  0x1e2a,   // 42  
  0x1e2a,   // 43  LATIN SMALL LETTER H WITH BREVE BELOW 	LATIN CAPITAL LETTER H WITH BREVE BELOW
  0x1e2c,   // 44  
  0x1e2c,   // 45  LATIN SMALL LETTER I WITH TILDE BELOW 	LATIN CAPITAL LETTER I WITH TILDE BELOW
  0x1e2e,   // 46  
  0x1e2e,   // 47  LATIN SMALL LETTER I WITH DIAERESIS AND ACUTE 	LATIN CAPITAL LETTER I WITH DIAERESIS AND ACUTE
  0x1e30,   // 48  
  0x1e30,   // 49  LATIN SMALL LETTER K WITH ACUTE 	LATIN CAPITAL LETTER K WITH ACUTE
  0x1e32,   // 50  
  0x1e32,   // 51  LATIN SMALL LETTER K WITH DOT BELOW 	LATIN CAPITAL LETTER K WITH DOT BELOW
  0x1e34,   // 52  
  0x1e34,   // 53  LATIN SMALL LETTER K WITH LINE BELOW 	LATIN CAPITAL LETTER K WITH LINE BELOW
  0x1e36,   // 54  
  0x1e36,   // 55  LATIN SMALL LETTER L WITH DOT BELOW 	LATIN CAPITAL LETTER L WITH DOT BELOW
  0x1e38,   // 56  
  0x1e38,   // 57  LATIN SMALL LETTER L WITH DOT BELOW AND MACRON 	LATIN CAPITAL LETTER L WITH DOT BELOW AND MACRON
  0x1e3a,   // 58  
  0x1e3a,   // 59  LATIN SMALL LETTER L WITH LINE BELOW 	LATIN CAPITAL LETTER L WITH LINE BELOW
  0x1e3c,   // 60  
  0x1e3c,   // 61  LATIN SMALL LETTER L WITH CIRCUMFLEX BELOW 	LATIN CAPITAL LETTER L WITH CIRCUMFLEX BELOW
  0x1e3e,   // 62  
  0x1e3e,   // 63  LATIN SMALL LETTER M WITH ACUTE 	LATIN CAPITAL LETTER M WITH ACUTE
  0x1e40,   // 64  
  0x1e40,   // 65  LATIN SMALL LETTER M WITH DOT ABOVE 	LATIN CAPITAL LETTER M WITH DOT ABOVE
  0x1e42,   // 66  
  0x1e42,   // 67  LATIN SMALL LETTER M WITH DOT BELOW 	LATIN CAPITAL LETTER M WITH DOT BELOW
  0x1e44,   // 68  
  0x1e44,   // 69  LATIN SMALL LETTER N WITH DOT ABOVE 	LATIN CAPITAL LETTER N WITH DOT ABOVE
  0x1e46,   // 70  
  0x1e46,   // 71  LATIN SMALL LETTER N WITH DOT BELOW 	LATIN CAPITAL LETTER N WITH DOT BELOW
  0x1e48,   // 72  
  0x1e48,   // 73  LATIN SMALL LETTER N WITH LINE BELOW 	LATIN CAPITAL LETTER N WITH LINE BELOW
  0x1e4a,   // 74  
  0x1e4a,   // 75  LATIN SMALL LETTER N WITH CIRCUMFLEX BELOW 	LATIN CAPITAL LETTER N WITH CIRCUMFLEX BELOW
  0x1e4c,   // 76  
  0x1e4c,   // 77  LATIN SMALL LETTER O WITH TILDE AND ACUTE 	LATIN CAPITAL LETTER O WITH TILDE AND ACUTE
  0x1e4e,   // 78  
  0x1e4e,   // 79  LATIN SMALL LETTER O WITH TlLDE AND DIAERESIS 	LATIN CAPITAL LETTER O WITH TILDE AND DIAERESIS
  0x1e50,   // 80  
  0x1e50,   // 81  LATIN SMALL LETTER O WITH MACRON AND GRAVE 	LATIN CAPITAL LETTER O WITH MACRON AND GRAVE
  0x1e52,   // 82  
  0x1e52,   // 83  LATIN SMALL LETTER O WITH MACRON AND ACUTE 	LATIN CAPITAL LETTER O WITH MACRON AND ACUTE
  0x1e54,   // 84  
  0x1e54,   // 85  LATIN SMALL LETTER P WITH ACUTE 	LATIN CAPITAL LETTER P WITH ACUTE
  0x1e56,   // 86  
  0x1e56,   // 87  LATIN SMALL LETTER P WITH DOT ABOVE 	LATIN CAPITAL LETTER P WITH DOT ABOVE
  0x1e58,   // 88  
  0x1e58,   // 89  LATIN SMALL LETTER R WITH DOT ABOVE 	LATIN CAPITAL LETTER R WITH DOT ABOVE
  0x1e5a,   // 90  
  0x1e5a,   // 91  LATIN SMALL LETTER R WITH DOT BELOW 	LATIN CAPITAL LETTER R WITH DOT BELOW
  0x1e5c,   // 92  
  0x1e5c,   // 93  LATIN SMALL LETTER R WITH DOT BELOW AND MACRON 	LATIN CAPITAL LETTER R WITH DOT BELOW AND MACRON
  0x1e5e,   // 94  
  0x1e5e,   // 95  LATIN SMALL LETTER R WITH LINE BELOW 	LATIN CAPITAL LETTER R WITH LINE BELOW
  0x1e60,   // 96  
  0x1e60,   // 97  LATIN SMALL LETTER S WITH DOT ABOVE 	LATIN CAPITAL LETTER S WITH DOT ABOVE
  0x1e62,   // 98  
  0x1e62,   // 99  LATIN SMALL LETTER S WITH DOT BELOW 	LATIN CAPITAL LETTER S WITH DOT BELOW
  0x1e64,   // 100  
  0x1e64,   // 101  LATIN SMALL LETTER S WITH ACUTE AND DOT ABOVE 	LATIN CAPITAL LETTER S WITH ACUTE AND DOT ABOVE
  0x1e66,   // 102  
  0x1e66,   // 103  LATIN SMALL LETTER S WITH CARON AND DOT ABOVE 	LATIN CAPITAL LETTER S WITH CARON AND DOT ABOVE
  0x1e68,   // 104  
  0x1e68,   // 105  LATIN SMALL LETTER S WITH DOT BELOW AND DOT ABOVE 	LATIN CAPITAL LETTER S WITH DOT BELOW AND DOT ABOVE
  0x1e6a,   // 106  
  0x1e6a,   // 107  LATIN SMALL LETTER T WITH DOT ABOVE 	LATIN CAPITAL LETTER T WITH DOT ABOVE
  0x1e6c,   // 108  
  0x1e6c,   // 109  LATIN SMALL LETTER T WITH DOT BELOW 	LATIN CAPITAL LETTER T WITH DOT BELOW
  0x1e6e,   // 110  
  0x1e6e,   // 111  LATIN SMALL LETTER T WITH LINE BELOW 	LATIN CAPITAL LETTER T WITH LINE BELOW
  0x1e70,   // 112  
  0x1e70,   // 113  LATIN SMALL LETTER T WITH CIRCUMFLEX BELOW 	LATIN CAPITAL LETTER T WITH CIRCUMFLEX BELOW
  0x1e72,   // 114  
  0x1e72,   // 115  LATIN SMALL LETTER U WITH DIAERESIS BELOW 	LATIN CAPITAL LETTER U WITH DIAERESIS BELOW
  0x1e74,   // 116  
  0x1e74,   // 117  LATIN SMALL LETTER U WITH TILDE BELOW 	LATIN CAPITAL LETTER U WITH TILDE BELOW
  0x1e76,   // 118  
  0x1e76,   // 119  LATIN SMALL LETTER U WITH CIRCUMFLEX BELOW 	LATIN CAPITAL LETTER U WITH CIRCUMFLEX BELOW
  0x1e78,   // 120  
  0x1e78,   // 121  LATIN SMALL LETTER U WITH TILDE AND ACUTE 	LATIN CAPITAL LETTER U WITH TILDE AND ACUTE
  0x1e7a,   // 122  
  0x1e7a,   // 123  LATIN SMALL LETTER U WITH MACRON AND DIAERESIS 	LATIN CAPITAL LETTER U WITH MACRON AND DIAERESIS
  0x1e7c,   // 124  
  0x1e7c,   // 125  LATIN SMALL LETTER V WITH TILDE 	LATIN CAPITAL LETTER V WITH TILDE
  0x1e7e,   // 126  
  0x1e7e,   // 127  LATIN SMALL LETTER V WITH DOT BELOW 	LATIN CAPITAL LETTER V WITH DOT BELOW
  0x1e80,   // 128  
  0x1e80,   // 129  LATIN SMALL LETTER W WITH GRAVE 	LATIN CAPITAL LETTER W WITH GRAVE
  0x1e82,   // 130  
  0x1e82,   // 131  LATIN SMALL LETTER W WITH ACUTE 	LATIN CAPITAL LETTER W WITH ACUTE
  0x1e84,   // 132  
  0x1e84,   // 133  LATIN SMALL LETTER W WITH DIAERESIS 	LATIN CAPITAL LETTER W WITH DIAERESIS
  0x1e86,   // 134  
  0x1e86,   // 135  LATIN SMALL LETTER W WITH DOT ABOVE 	LATIN CAPITAL LETTER W WITH DOT ABOVE
  0x1e88,   // 136  
  0x1e88,   // 137  LATIN SMALL LETTER W WITH DOT BELOW 	LATIN CAPITAL LETTER W WITH DOT BELOW
  0x1e8a,   // 138  
  0x1e8a,   // 139  LATIN SMALL LETTER X WITH DOT ABOVE 	LATIN CAPITAL LETTER X WITH DOT ABOVE
  0x1e8c,   // 140  
  0x1e8c,   // 141  LATIN SMALL LETTER X WITH DIAERESIS 	LATIN CAPITAL LETTER X5 WITH DIAERESIS
  0x1e8e,   // 142  
  0x1e8e,   // 143  LATIN SMALL LETTER Y WITH DOT ABOVE 	LATIN CAPITAL LETTER Y WITH DOT ABOVE
  0x1e90,   // 144  
  0x1e90,   // 145  LATIN SMALL LETTER Z WITH CIRCUMFLEX 	LATIN CAPITAL LETTER Z WITH CIRCUMFLEX
  0x1e92,   // 146  
  0x1e92,   // 147  LATIN SMALL LETTER Z WITH DOT BELOW 	LATIN CAPITAL LETTER Z WITH DOT BELOW
  0x1e94,   // 148  
  0x1e94,   // 149  LATIN SMALL LETTER Z WITH LINE BELOW 	LATIN CAPITAL LETTER Z WITH LINE BELOW
  0x1e96,   // 150  
  0x1e97,   // 151  
  0x1e98,   // 152  
  0x1e99,   // 153  
  0x1e9a,   // 154  
  0x1e9b,   // 155  
  0x1e9c,   // 156  
  0x1e9d,   // 157  
  0x1e9e,   // 158  
  0x1e9f,   // 159  
  0x1ea0,   // 160  
  0x1ea0,   // 161  LATIN SMALL LETTER A WITH DOT BELOW 	LATIN CAPITAL LETTER A WITH DOT BELOW
  0x1ea2,   // 162  
  0x1ea2,   // 163  LATIN SMALL LETTER A WITH HOOK ABOVE 	LATIN CAPITAL LETTER A WITH HOOK ABOVE
  0x1ea4,   // 164  
  0x1ea4,   // 165  LATIN SMALL LETTER A WITH CIRCUMFLEX AND ACUTE 	LATIN CAPITAL LETTER A WITH CIRCUMFLEX AND ACUTE
  0x1ea6,   // 166  
  0x1ea6,   // 167  LATIN SMALL LETTER A WITH CIRCUMFLEX AND GRAVE 	LATIN CAPITAL LETTER A WITH CIRCUMFLEX AND GRAVE
  0x1ea8,   // 168  
  0x1ea8,   // 169  LATIN SMALL LETTER A WITH CIRCUMFLEX AND HOOK ABOVE 	LATIN CAPITAL LETTER A WITH CIRCUMFLEX AND HOOK ABOVE
  0x1eaa,   // 170  
  0x1eaa,   // 171  LATIN SMALL LETTER A WITH CIRCUMFLEX AND TILDE 	LATIN CAPITAL LETTER A WITH CIRCUMFLEX AND TILDE
  0x1eac,   // 172  
  0x1eac,   // 173  LATIN SMALL LETTER A WITH CIRCUMFLEX AND DOT BELOW 	LATIN CAPITAL LETTER A WITH CIRCUMFLEX AND DOT BELOW
  0x1eae,   // 174  
  0x1eae,   // 175  LATIN SMALL LETTER A WITH BREVE AND ACUTE 	LATIN CAPITAL LETTER A WITH BREVE AND ACUTE
  0x1eb0,   // 176  
  0x1eb0,   // 177  LATIN SMALL LETTER A WITH BREVE AND GRAVE 	LATIN CAPITAL LETTER A WITH BREVE AND GRAVE
  0x1eb2,   // 178  
  0x1eb2,   // 179  LATIN SMALL LETTER A WITH BREVE AND HOOK ABOVE 	LATIN CAPITAL LETTER A WITH BREVE AND HOOK ABOVE
  0x1eb4,   // 180  
  0x1eb4,   // 181  LATIN SMALL LETTER A WITH BREVE AND TILDE 	LATIN CAPITAL LETTER A WITH BREVE AND TILDE
  0x1eb6,   // 182  
  0x1eb6,   // 183  LATIN SMALL LETTER A WITH BREVE AND DOT BELOW 	LATIN CAPITAL LETTER A WITH BREVE AND DOT BELOW
  0x1eb8,   // 184  
  0x1eb8,   // 185  LATIN SMALL LETTER E WITH DOT BELOW 	LATIN CAPITAL LETTER E WITH DOT BELOW
  0x1eba,   // 186  
  0x1eba,   // 187  LATIN SMALL LETTER E WITH HOOK ABOVE 	LATIN CAPITAL LETTER E WITH HOOK ABOVE
  0x1ebc,   // 188  
  0x1ebc,   // 189  LATIN SMALL LETTER E WITH TILDE 	LATIN CAPITAL LETTER E WITH TILDE
  0x1ebe,   // 190  
  0x1ebe,   // 191  LATIN SMALL LETTER E WITH CIRCUMFLEX AND ACUTE 	LATIN CAPITAL LETTER E WITH CIRCUMFLEX AND ACUTE
  0x1ec0,   // 192  
  0x1ec0,   // 193  LATIN SMALL LETTER E WITH CIRCUMFLEX AND GRAVE 	LATIN CAPITAL LETTER E WITH CIRCUMFLEX AND GRAVE
  0x1ec2,   // 194  
  0x1ec2,   // 195  LATIN SMALL LETTER E WITH CIRCUMFLEX AND HOOK ABOVE 	LATIN CAPITAL LETTER E WITH CIRCUMFLEX AND HOOK ABOVE
  0x1ec4,   // 196  
  0x1ec4,   // 197  LATIN SMALL LETTER E WITH CIRCUMFLEX AND TILDE 	LATIN CAPITAL LETTER E WITH CIRCUMFLEX AND TILDE
  0x1ec6,   // 198  
  0x1ec6,   // 199  LATIN SMALL LETTER E WITH CIRCUMFLEX AND DOT BELOW 	LATIN CAPITAL LETTER E WITH CIRCUMFLEX AND DOT BELOW
  0x1ec8,   // 200  
  0x1ec8,   // 201  LATIN SMALL LETTER I WITH HOOK ABOVE 	LATIN CAPITAL LETTER I WITH HOOK ABOVE
  0x1eca,   // 202  
  0x1eca,   // 203  LATIN SMALL LETTER I WITH DOT BELOW 	LATIN CAPITAL LETTER I WITH DOT BELOW
  0x1ecc,   // 204  
  0x1ecc,   // 205  LATIN SMALL LETTER O WITH DOT BELOW 	LATIN CAPITAL LETTER O WITH DOT BELOW
  0x1ece,   // 206  
  0x1ece,   // 207  LATIN SMALL LETTER O WITH HOOK ABOVE 	LATIN CAPITAL LETTER O WITH HOOK ABOVE
  0x1ed0,   // 208  
  0x1ed0,   // 209  LATIN SMALL LETTER O WITH CIRCUMFLEX AND ACUTE 	LATIN CAPITAL LETTER O WITH CIRCUMFLEX AND ACUTE
  0x1ed2,   // 210  
  0x1ed2,   // 211  LATIN SMALL LETTER O WITH CIRCUMFLEX AND GRAVE 	LATIN CAPITAL LETTER O WITH CIRCUMFLEX AND GRAVE
  0x1ed4,   // 212  
  0x1ed4,   // 213  LATIN SMALL LETTER O WITH CIRCUMFLEX AND HOOK ABOVE 	LATIN CAPITAL LETTER O WITH CIRCUMFLEX AND HOOK ABOVE
  0x1ed6,   // 214  
  0x1ed6,   // 215  LATIN SMALL LETTER O WITH CIRCUMFLEX AND TILDE 	LATIN CAPITAL LETTER O WITH CIRCUMFLEX AND TILDE
  0x1ed8,   // 216  
  0x1ed8,   // 217  LATIN SMALL LETTER O WITH CIRCUMFLEX AND DOT BELOW 	LATIN CAPITAL LETTER O WITH CIRCUMFLEX AND DOT BELOW
  0x1eda,   // 218  
  0x1eda,   // 219  LATIN SMALL LETTER O WITH HORN AND ACUTE 	LATIN CAPITAL LETTER O WITH HORN AND ACUTE
  0x1edc,   // 220  
  0x1edc,   // 221  LATIN SMALL LETTER O WITH HORN AND GRAVE 	LATIN CAPITAL LETTER O WITH HORN AND GRAVE
  0x1ede,   // 222  
  0x1ede,   // 223  LATIN SMALL LETTER O WITH HORN AND HOOK ABOVE 	LATIN CAPITAL LETTER O WITH HORN AND HOOK ABOVE
  0x1ee0,   // 224  
  0x1ee0,   // 225  LATIN SMALL LETTER O WITH HORN AND TILDE 	LATIN CAPITAL LETTER O WITH HORN AND TILDE
  0x1ee2,   // 226  
  0x1ee2,   // 227  LATIN SMALL LETTER O WITH HORN AND DOT BELOW 	LATIN CAPITAL LETTER O WITH HORN AND DOT BELOW
  0x1ee4,   // 228  
  0x1ee4,   // 229  LATIN SMALL LETTER U WITH DOT BELOW 	LATIN CAPITAL LETTER U WITH DOT BELOW
  0x1ee6,   // 230  
  0x1ee6,   // 231  LATIN SMALL LETTER U WITH HOOK ABOVE 	LATIN CAPITAL LETTER U WITH HOOK ABOVE
  0x1ee8,   // 232  
  0x1ee8,   // 233  LATIN SMALL LETTER U WITH HORN AND ACUTE 	LATIN CAPITAL LETTER U WITH HORN AND ACUTE
  0x1eea,   // 234  
  0x1eea,   // 235  LATIN SMALL LETTER U WITH HORN AND GRAVE 	LATIN CAPITAL LETTER U WITH HORN AND GRAVE
  0x1eec,   // 236  
  0x1eec,   // 237  LATIN SMALL LETTER U WITH HORN AND HOCK ABOVE 	LATIN CAPITAL LETTER U WITH HORN AND HOOK ABOVE
  0x1eee,   // 238  
  0x1eee,   // 239  LATIN SMALL LETTER U WITH HORN AND TILDE 	LATIN CAPITAL LETTER U WITH HORN AND TILDE
  0x1ef0,   // 240  
  0x1ef0,   // 241  LATIN SMALL LETTER U WITH HORN AND DOT BELOW 	LATIN CAPITAL LETTER U WITH HORN AND DOT BELOW
  0x1ef2,   // 242  
  0x1ef2,   // 243  LATIN SMALL LETTER Y WITH GRAVE 	LATIN CAPITAL LETTER Y WITH GRAVE
  0x1ef4,   // 244  
  0x1ef4,   // 245  LATIN SMALL LETTER Y WITH DOT BELOW 	LATIN CAPITAL LETTER Y WITH DOT BELOW
  0x1ef6,   // 246  
  0x1ef6,   // 247  LATIN SMALL LETTER Y WITH HOOK ABOVE 	LATIN CAPITAL LETTER Y WITH HOOK ABOVE
  0x1ef8,   // 248  
  0x1ef8,   // 249  LATIN SMALL LETTER Y WITH TILDE 	LATIN CAPITAL LETTER Y WITH TILDE
  0x1efa,   // 250  
  0x1efb,   // 251  
  0x1efc,   // 252  
  0x1efd,   // 253  
  0x1efe,   // 254  
  0x1eff    // 255  
};

// code page 31
static wchar_t lc_tab_31[] = {
  0x1f08,   // 0  GREEK SMALL LETTER ALPHA WITH PSILI 	GREEK CAPITAL LETTER ALPHA WITH PSILI
  0x1f09,   // 1  GREEK SMALL LETTER ALPHA WITH DASIA 	GREEK CAPITAL LETTER ALPHA WITH DASIA
  0x1f0a,   // 2  GREEK SMALL LETTER ALPHA WITH PSILI AND VARIA 	GREEK CAPITAL LETTER ALPHA WITH PSILI AND VARIA
  0x1f0b,   // 3  GREEK SMALL LETTER ALPHA WITH DASIA AND VARIA 	GREEK CAPITAL LETTER ALPHA WITH DASIA AND VARIA
  0x1f0c,   // 4  GREEK SMALL LETTER ALPHA WITH PSILI AND OXIA 	GREEK CAPITAL LETTER ALPHA WITH PSILI AND OXIA
  0x1f0d,   // 5  GREEK SMALL LETTER ALPHA WITH DASIA AND OXIA 	GREEK CAPITAL LETTER ALPHA WITH DASIA AND OXIA
  0x1f0e,   // 6  GREEK SMALL LETTER ALPHA WITH PSILI AND PERISPOMENI 	GREEK CAPITAL LETTER ALPHA WITH PSILI AND PERISPOMENI
  0x1f0f,   // 7  GREEK SMALL LETTER ALPHA WITH DASIA AND PERISPOMENI 	GREEK CAPITAL LETTER ALPHA WITH DASIA AND PERISPOMENI
  0x1f08,   // 8  
  0x1f09,   // 9  
  0x1f0a,   // 10  
  0x1f0b,   // 11  
  0x1f0c,   // 12  
  0x1f0d,   // 13  
  0x1f0e,   // 14  
  0x1f0f,   // 15  
  0x1f18,   // 16  GREEK SMALL LETTER EPSILON WITH PSILI 	GREEK CAPITAL LETTER EPSILON WITH PSILI
  0x1f19,   // 17  GREEK SMALL LETTER EPSILON WITH DASIA 	GREEK CAPITAL LETTER EPSILON WITH DASIA
  0x1f1a,   // 18  GREEK SMALL LETTER EPSILON WITH PSILI AND VARIA 	GREEK CAPITAL LETTER EPSILON WITH PSILI AND VARIA
  0x1f1b,   // 19  GREEK SMALL LETTER EPSILON WITH DASIA AND VARIA 	GREEK CAPITAL LETTER EPSILON WITH DASIA AND VARIA
  0x1f1c,   // 20  GREEK SMALL LETTER EPSILON WITH PSILI AND OXIA 	GREEK CAPITAL LETTER EPSILON WITH PSILI AND OXIA
  0x1f1d,   // 21  GREEK SMALL LETTER EPSILON WITH DASIA AND OXIA 	GREEK CAPITAL LETTER EPSILON WITH DASIA AND OXIA
  0x1f16,   // 22  
  0x1f17,   // 23  
  0x1f18,   // 24  
  0x1f19,   // 25  
  0x1f1a,   // 26  
  0x1f1b,   // 27  
  0x1f1c,   // 28  
  0x1f1d,   // 29  
  0x1f1e,   // 30  
  0x1f1f,   // 31  
  0x1f28,   // 32  GREEK SMALL LETTER ETA WITH PSILI 	GREEK CAPITAL LETTER ETA WITH PSILI
  0x1f29,   // 33  GREEK SMALL LETTER ETA WITH DASIA 	GREEK CAPITAL LETTER ETA WITH DASIA
  0x1f2a,   // 34  GREEK SMALL LETTER ETA WITH PSILI AND VARIA 	GREEK CAPITAL LETTER ETA WITH PSILI AND VARIA
  0x1f2b,   // 35  GREEK SMALL LETTER ETA WITH DASIA AND VARIA 	GREEK CAPITAL LETTER ETA WITH DASIA AND VARIA
  0x1f2c,   // 36  GREEK SMALL LETTER ETA WITH PSILI AND OXIA 	GREEK CAPITAL LETTER ETA WITH PSILI AND OXIA
  0x1f2d,   // 37  GREEK SMALL LETTER ETA WITH DASIA AND OXIA 	GREEK CAPITAL LETTER ETA WITH DASIA AND OXIA
  0x1f2e,   // 38  GREEK SMALL LETTER ETA WITH PSILI AND PERISPOMENI 	GREEK CAPITAL LETTER ETA WITH PSILI AND PERISPOMENI
  0x1f2f,   // 39  GREEK SMALL LETTER ETA WITH DASIA AND PERISPOMENI 	GREEK CAPITAL LETTER ETA WITH DASIA AND PERISPOMENI
  0x1f28,   // 40  
  0x1f29,   // 41  
  0x1f2a,   // 42  
  0x1f2b,   // 43  
  0x1f2c,   // 44  
  0x1f2d,   // 45  
  0x1f2e,   // 46  
  0x1f2f,   // 47  
  0x1f38,   // 48  GREEK SMALL LETTER IOTA WITH PSILI 	GREEK CAPITAL LETTER IOTA WITH PSILI
  0x1f39,   // 49  GREEK SMALL LETTER IOTA WITH DASIA 	GREEK CAPITAL LETTER IOTA WITH DASIA
  0x1f3a,   // 50  GREEK SMALL LETTER IOTA WITH PSILI AND VARIA 	GREEK CAPITAL LETTER IOTA WITH PSILI AND VARIA
  0x1f3b,   // 51  GREEK SMALL LETTER IOTA WITH DASIA AND VARIA 	GREEK CAPITAL LETTER IOTA WITH DASIA AND VARIA
  0x1f3c,   // 52  GREEK SMALL LETTER IOTA WITH PSILI AND OXIA 	GREEK CAPITAL LETTER IOTA WITH PSILI AND OXIA
  0x1f3d,   // 53  GREEK SMALL LETTER IOTA WITH DASIA AND OXIA 	GREEK CAPITAL LETTER IOTA WITH DASIA AND OXIA
  0x1f3e,   // 54  GREEK SMALL LETTER IOTA WITH PSILI AND PERISPOMENI 	GREEK CAPITAL LETTER IOTA WITH PSILI AND PERISPOMENI
  0x1f3f,   // 55  GREEK SMALL LETTER IOTA WITH DASIA AND PERISPOMENI 	GREEK CAPITAL LETTER IOTA WITH DASIA AND PERISPOMENI
  0x1f38,   // 56  
  0x1f39,   // 57  
  0x1f3a,   // 58  
  0x1f3b,   // 59  
  0x1f3c,   // 60  
  0x1f3d,   // 61  
  0x1f3e,   // 62  
  0x1f3f,   // 63  
  0x1f48,   // 64  GREEK SMALL LETTER OMICRON WITH PSILI 	GREEK CAPITAL LETTER OMICRON WITH PSILI
  0x1f49,   // 65  GREEK SMALL LETTER OMICRON WITH DASIA 	GREEK CAPITAL LETTER OMICRON WITH DASIA
  0x1f4a,   // 66  GREEK SMALL LETTER OMICRON WITH PSILI AND VARIA 	GREEK CAPITAL LETTER OMICRON WITH PSILI AND VARIA
  0x1f4b,   // 67  GREEK SMALL LETTER OMICRON WITH DASIA AND VARIA 	GREEK CAPITAL LETTER OMICRON WITH DASIA AND VARIA
  0x1f4c,   // 68  GREEK SMALL LETTER OMICRON WITH PSILI AND OXIA 	GREEK CAPITAL LETTER OMICRON WITH PSILI AND OXIA
  0x1f4d,   // 69  GREEK SMALL LETTER OMICRON WITH DASIA AND OXIA 	GREEK CAPITAL LETTER OMICRON WITH DASIA AND OXIA
  0x1f46,   // 70  
  0x1f47,   // 71  
  0x1f48,   // 72  
  0x1f49,   // 73  
  0x1f4a,   // 74  
  0x1f4b,   // 75  
  0x1f4c,   // 76  
  0x1f4d,   // 77  
  0x1f4e,   // 78  
  0x1f4f,   // 79  
  0x1f50,   // 80  
  0x1f59,   // 81  GREEK SMALL LETTER UPSILON WITH DASIA 	GREEK CAPITAL LETTER UPSILON WITH OASIS
  0x1f52,   // 82  
  0x1f5b,   // 83  GREEK SMALL LETTER UPSILON WITH DASIA AND VARIA 	GREEK CAPITAL LETTER UPSILON WITH DASIA AND VARIA
  0x1f54,   // 84  
  0x1f5d,   // 85  GREEK SMALL LETTER UPSILON WITH DASIA AND OXIA 	GREEK CAPITAL LETTER UPSILON WITH DASIA AND OXIA
  0x1f56,   // 86  
  0x1f5f,   // 87  GREEK SMALL LETTER UPSILON WITH DASIA AND PERISPOMENI 	GREEK CAPITAL LETTER UPSILON WITH DASIA AND PERISPOMENI
  0x1f58,   // 88  
  0x1f59,   // 89  
  0x1f5a,   // 90  
  0x1f5b,   // 91  
  0x1f5c,   // 92  
  0x1f5d,   // 93  
  0x1f5e,   // 94  
  0x1f5f,   // 95  
  0x1f68,   // 96  GREEK SMALL LETTER OMEGA WITh PSILI 	GREEK CAPITAL LETTER OMEGA WITH PSILI
  0x1f69,   // 97  GREEK SMALL LETTER OMEGA WITH DASIA 	GREEK CAPITAL LETTER OMEGA WITH DASIA
  0x1f6a,   // 98  GREEK SMALL LETTER OMEGA WITH PSILI AND VARIA 	GREEK CAPITAL LETTER OMEGA WITH PSILI AND VARIA
  0x1f6b,   // 99  GREEK SMALL LETTER OMEGA WITH DASIA AND VARIA 	GREEK CAPITAL LETTER OMEGA WITH DASIA AND VARIA
  0x1f6c,   // 100  GREEK SMALL LETTER OMEGA WITH PSILI AND OXIA 	GREEK CAPITAL LETTER OMEGA WITH PSILI AND OXIA
  0x1f6d,   // 101  GREEK SMALL LETTER OMEGA WITH DASIA AND OXIA 	GREEK CAPITAL LETTER OMEGA WITH DASIA AND OXIA
  0x1f6e,   // 102  GREEK SMALL LETTER OMEGA WITH PSILI AND PERISPOMENI 	GREEK CAPITAL LETTER OMEGA WITH PSILI AND PERISPOMENI
  0x1f6f,   // 103  GREEK SMALL LETTER OMEGA WITH DASIA AND PERISPOMENI 	GREEK CAPITAL LETTER OMEGA WITH DASIA AND PERISPOMENI
  0x1f68,   // 104  
  0x1f69,   // 105  
  0x1f6a,   // 106  
  0x1f6b,   // 107  
  0x1f6c,   // 108  
  0x1f6d,   // 109  
  0x1f6e,   // 110  
  0x1f6f,   // 111  
  0x1f70,   // 112  
  0x1f71,   // 113  
  0x1f72,   // 114  
  0x1f73,   // 115  
  0x1f74,   // 116  
  0x1f75,   // 117  
  0x1f76,   // 118  
  0x1f77,   // 119  
  0x1f78,   // 120  
  0x1f79,   // 121  
  0x1f7a,   // 122  
  0x1f7b,   // 123  
  0x1f7c,   // 124  
  0x1f7d,   // 125  
  0x1f7e,   // 126  
  0x1f7f,   // 127  
  0x1f88,   // 128  GREEK SMALL LETTER ALPHA WITH PSILI AND YPOGEGRAMMENI 	GREEK CAPITAL LETTER ALPHA WITh PSILI AND PROSGEGRAMMENI
  0x1f89,   // 129  GREEK SMALL LETTER ALPHA WITH DASIA AND YPOGEGRAMMENI 	GREEK CAPITAL LETTER ALPHA WITH DASIA AND PROSGEGRAMMENI
  0x1f8a,   // 130  GREEK SMALL LETTER ALPHA WITH PSILI AND VARIA AND YPOGEGRAMMENI 	GREEK CAPITAL LETTER ALPHA WITH PSILI AND VARIA AND PROSGEGRAMMENI
  0x1f8b,   // 131  GREEK SMALL LETTER ALPHA WITH DASIA AND VARIA AND YPOGEGRAMMENI 	GREEK CAPITAL LETTER ALPHA WITH DASIA AND VARIA AND PROSGEGRAMMENI
  0x1f8c,   // 132  GREEK SMALL LETTER ALPHA WITH PSILI AND OXIA AND YPOGEGRAMMENI 	GREEK CAPITAL LETTER ALPHA WITH PSILI AND OXIA AND PROSGEGRAMMEN
  0x1f8d,   // 133  GREEK SMALL LETTER ALPHA WITH DASIA AND OXIA AND YPOGEGRAMMENI 	GREEK CAPITAL LETTER ALPHA WITH DASIA AND OXIA AND PROSGEGRAMMEN
  0x1f8e,   // 134  GREEK SMALL LETTER ALPHA WITH PSILI AND PERISPOMENI AND YPOGEGRAMMENI 	GREEK CAPITAL LETTER ALPHA WITH PSILI AND PERISPOMENI AND PROSGEGRAMMENI
  0x1f8f,   // 135  GREEK SMALL LETTER ALPHA WITH DASIA AND PERISPOMENI AND YPOGEGRAMMENI 	GREEK CAPITAL LETTER ALPHA WITH DASIA AND PERISPOMENI AND PROSGEGRAMMENI
  0x1f88,   // 136  
  0x1f89,   // 137  
  0x1f8a,   // 138  
  0x1f8b,   // 139  
  0x1f8c,   // 140  
  0x1f8d,   // 141  
  0x1f8e,   // 142  
  0x1f8f,   // 143  
  0x1f98,   // 144  GREEK SMALL LETTER ETA WITH PSILI AND YPOGEGRAMMENI 	GREEK CAPITAL LETTER ETA WITH PSILI AND PROSGEGRAMMENI
  0x1f99,   // 145  GREEK SMALL LETTER ETA WITH DASIA AND YPOGEGRAMMENI 	GREEK CAPITAL LETTER ETA WITH DASIA AND PROSGEGRAMMENI
  0x1f9a,   // 146  GREEK SMALL LETTER ETA WITH PSILI AND VARIA AND YPOGEGRAMMENI 	GREEK CAPITAL LETTER ETA WITH PSILI AND VARIA AND PROSGEGRAMMENI
  0x1f9b,   // 147  GREEK SMALL LETTER ETA WITH DASIA AND VARIA AND YPOGEGRAMMENI 	GREEK CAPITAL LETTER ETA WITH DASIA AND VARIA AND PROSGEGRAMMENI
  0x1f9c,   // 148  GREEK SMALL LETTER ETA WITH PSILI AND OXIA AND YPOGEGRAMMENI 	GREEK CAPITAL LETTER ETA WITH PSILI AND OXIA AND PROSGEGRAMMENI
  0x1f9d,   // 149  GREEK SMALL LETTER ETA WITH DASIA AND OXIA AND YPOGEGRAMMENI 	GREEK CAPITAL LETTER ETA WITH DASIA AND OXIA AND PROSGEGRAMMENI
  0x1f9e,   // 150  GREEK SMALL LETTER ETA WITH PSILI AND PERISPOMENI AND YPOGEGRAMMENI 	GREEK CAPITAL LETTER ETA WITH PSILI AND PERISPOMENI AND PROSGEGRAMMENI
  0x1f9f,   // 151  GREEK SMALL LETTER ETA WITH DASIA AND PERISPOMENI AND YPOGEGRAMMENI 	GREEK CAPITAL LETTER ETA WITH DASIA AND PERISPOMENI AND PROSGEGRAMMENI
  0x1f98,   // 152  
  0x1f99,   // 153  
  0x1f9a,   // 154  
  0x1f9b,   // 155  
  0x1f9c,   // 156  
  0x1f9d,   // 157  
  0x1f9e,   // 158  
  0x1f9f,   // 159  
  0x1fa8,   // 160  GREEK SMALL LETTER OMEGA WITH PSILI AND YPOGEGRAMMENI 	GREEK CAPITAL LETTER OMEGA WITH PSILI AND PROSGEGRAMMENI
  0x1fa9,   // 161  GREEK SMALL LETTER OMEGA WITH DASIA AND YPOGEGRAMMENI 	GREEK CAPITAL LETTER OMEGA WITH DASIA AND PROSGEGRAMMENI
  0x1faa,   // 162  GREEK SMALL LETTER OMEGA WITH PSILI AND VARIA AND YPOGEGRAMMENI 	GREEK CAPITAL LETTER OMEGA WITH PSILI AND VARIA AND PROSGEGRAMMENI
  0x1fab,   // 163  GREEK SMALL LETTER OMEGA WITH DASIA AND VARIA AND YPOGEGRAMMENI 	GREEK CAPITAL LETTER OMEGA WITH DASIA AND VARIA AND PROSGEGRAMMENI
  0x1fac,   // 164  GREEK SMALL LETTER OMEGA WITH PSILI AND OXIA AND YPOGEGRAMMENI 	GREEK CAPITAL LETTER OMEGA WITH PSILI AND OXIA AND PROSGEGRAMMENI
  0x1fad,   // 165  GREEK SMALL LETTER OMEGA WITH DASIA AND OXIA AND YPOGEGRAMMENI 	GREEK CAPITAL LETTER OMEGA WITH DASIA AND OXIA AND PROSGEGRAMMENI
  0x1fae,   // 166  GREEK SMALL LETTER OMEGA WITh PSILI AND PERISPOMENI AND YPOGEGRAMMENI 	GREEK CAPITAL LETTER OMEGA WITH PSILI AND PERISPOMENI AND PROSGEGRAMMENI
  0x1faf,   // 167  GREEK SMALL LETTER OMEGA WITH DASIA AND PEPISPOMENI AND YPOGEGRAMMENI 	GREEK CAPITAL LETTER OMECA WITH DASIA AND PERISPOMENI AND PROSGEGRAMMENI
  0x1fa8,   // 168  
  0x1fa9,   // 169  
  0x1faa,   // 170  
  0x1fab,   // 171  
  0x1fac,   // 172  
  0x1fad,   // 173  
  0x1fae,   // 174  
  0x1faf,   // 175  
  0x1fb8,   // 176  GREEK SMALL LETTER ALPHA WITH VRACHY 	GREEK CAPITAL LETTER ALPHA WITH VRACHY
  0x1fb9,   // 177  GREEK SMALL LETTER ALPHA WITH MACRON 	GREEK CAPITAL LETTER ALPHA WITH MACRON
  0x1fb2,   // 178  
  0x1fb3,   // 179  
  0x1fb4,   // 180  
  0x1fb5,   // 181  
  0x1fb6,   // 182  
  0x1fb7,   // 183  
  0x1fb8,   // 184  
  0x1fb9,   // 185  
  0x1fba,   // 186  
  0x1fbb,   // 187  
  0x1fbc,   // 188  
  0x1fbd,   // 189  
  0x1fbe,   // 190  
  0x1fbf,   // 191  
  0x1fc0,   // 192  
  0x1fc1,   // 193  
  0x1fc2,   // 194  
  0x1fc3,   // 195  
  0x1fc4,   // 196  
  0x1fc5,   // 197  
  0x1fc6,   // 198  
  0x1fc7,   // 199  
  0x1fc8,   // 200  
  0x1fc9,   // 201  
  0x1fca,   // 202  
  0x1fcb,   // 203  
  0x1fcc,   // 204  
  0x1fcd,   // 205  
  0x1fce,   // 206  
  0x1fcf,   // 207  
  0x1fd8,   // 208  GREEK SMALL LETTER IOTA WITH VRACHY 	GREEK CAPITAL LETTER IOTA WITH VRACHY
  0x1fd9,   // 209  GREEK SMALL LETTER IOTA WITH MACRON 	GREEK CAPITAL LETTER IOTA WITH MACRON
  0x1fd2,   // 210  
  0x1fd3,   // 211  
  0x1fd4,   // 212  
  0x1fd5,   // 213  
  0x1fd6,   // 214  
  0x1fd7,   // 215  
  0x1fd8,   // 216  
  0x1fd9,   // 217  
  0x1fda,   // 218  
  0x1fdb,   // 219  
  0x1fdc,   // 220  
  0x1fdd,   // 221  
  0x1fde,   // 222  
  0x1fdf,   // 223  
  0x1fe8,   // 224  GREEK SMALL LETTER UPSILON WITH VRACHY 	GREEK CAPITAL LETTER UPSILON WITH VRACHY
  0x1fe9,   // 225  GREEK SMALL LETTER UPSILON WITH MACRON 	GREEK CAPITAL LETTER UPSILON WITH MACRON
  0x1fe2,   // 226  
  0x1fe3,   // 227  
  0x1fe4,   // 228  
  0x1fe5,   // 229  
  0x1fe6,   // 230  
  0x1fe7,   // 231  
  0x1fe8,   // 232  
  0x1fe9,   // 233  
  0x1fea,   // 234  
  0x1feb,   // 235  
  0x1fec,   // 236  
  0x1fed,   // 237  
  0x1fee,   // 238  
  0x1fef,   // 239  
  0x1ff0,   // 240  
  0x1ff1,   // 241  
  0x1ff2,   // 242  
  0x1ff3,   // 243  
  0x1ff4,   // 244  
  0x1ff5,   // 245  
  0x1ff6,   // 246  
  0x1ff7,   // 247  
  0x1ff8,   // 248  
  0x1ff9,   // 249  
  0x1ffa,   // 250  
  0x1ffb,   // 251  
  0x1ffc,   // 252  
  0x1ffd,   // 253  
  0x1ffe,   // 254  
  0x1fff    // 255  
};

// code page 36
static wchar_t lc_tab_36[] = {
  0x2400,   // 0  
  0x2401,   // 1  
  0x2402,   // 2  
  0x2403,   // 3  
  0x2404,   // 4  
  0x2405,   // 5  
  0x2406,   // 6  
  0x2407,   // 7  
  0x2408,   // 8  
  0x2409,   // 9  
  0x240a,   // 10  
  0x240b,   // 11  
  0x240c,   // 12  
  0x240d,   // 13  
  0x240e,   // 14  
  0x240f,   // 15  
  0x2410,   // 16  
  0x2411,   // 17  
  0x2412,   // 18  
  0x2413,   // 19  
  0x2414,   // 20  
  0x2415,   // 21  
  0x2416,   // 22  
  0x2417,   // 23  
  0x2418,   // 24  
  0x2419,   // 25  
  0x241a,   // 26  
  0x241b,   // 27  
  0x241c,   // 28  
  0x241d,   // 29  
  0x241e,   // 30  
  0x241f,   // 31  
  0x2420,   // 32  
  0x2421,   // 33  
  0x2422,   // 34  
  0x2423,   // 35  
  0x2424,   // 36  
  0x2425,   // 37  
  0x2426,   // 38  
  0x2427,   // 39  
  0x2428,   // 40  
  0x2429,   // 41  
  0x242a,   // 42  
  0x242b,   // 43  
  0x242c,   // 44  
  0x242d,   // 45  
  0x242e,   // 46  
  0x242f,   // 47  
  0x2430,   // 48  
  0x2431,   // 49  
  0x2432,   // 50  
  0x2433,   // 51  
  0x2434,   // 52  
  0x2435,   // 53  
  0x2436,   // 54  
  0x2437,   // 55  
  0x2438,   // 56  
  0x2439,   // 57  
  0x243a,   // 58  
  0x243b,   // 59  
  0x243c,   // 60  
  0x243d,   // 61  
  0x243e,   // 62  
  0x243f,   // 63  
  0x2440,   // 64  
  0x2441,   // 65  
  0x2442,   // 66  
  0x2443,   // 67  
  0x2444,   // 68  
  0x2445,   // 69  
  0x2446,   // 70  
  0x2447,   // 71  
  0x2448,   // 72  
  0x2449,   // 73  
  0x244a,   // 74  
  0x244b,   // 75  
  0x244c,   // 76  
  0x244d,   // 77  
  0x244e,   // 78  
  0x244f,   // 79  
  0x2450,   // 80  
  0x2451,   // 81  
  0x2452,   // 82  
  0x2453,   // 83  
  0x2454,   // 84  
  0x2455,   // 85  
  0x2456,   // 86  
  0x2457,   // 87  
  0x2458,   // 88  
  0x2459,   // 89  
  0x245a,   // 90  
  0x245b,   // 91  
  0x245c,   // 92  
  0x245d,   // 93  
  0x245e,   // 94  
  0x245f,   // 95  
  0x2460,   // 96  
  0x2461,   // 97  
  0x2462,   // 98  
  0x2463,   // 99  
  0x2464,   // 100  
  0x2465,   // 101  
  0x2466,   // 102  
  0x2467,   // 103  
  0x2468,   // 104  
  0x2469,   // 105  
  0x246a,   // 106  
  0x246b,   // 107  
  0x246c,   // 108  
  0x246d,   // 109  
  0x246e,   // 110  
  0x246f,   // 111  
  0x2470,   // 112  
  0x2471,   // 113  
  0x2472,   // 114  
  0x2473,   // 115  
  0x2474,   // 116  
  0x2475,   // 117  
  0x2476,   // 118  
  0x2477,   // 119  
  0x2478,   // 120  
  0x2479,   // 121  
  0x247a,   // 122  
  0x247b,   // 123  
  0x247c,   // 124  
  0x247d,   // 125  
  0x247e,   // 126  
  0x247f,   // 127  
  0x2480,   // 128  
  0x2481,   // 129  
  0x2482,   // 130  
  0x2483,   // 131  
  0x2484,   // 132  
  0x2485,   // 133  
  0x2486,   // 134  
  0x2487,   // 135  
  0x2488,   // 136  
  0x2489,   // 137  
  0x248a,   // 138  
  0x248b,   // 139  
  0x248c,   // 140  
  0x248d,   // 141  
  0x248e,   // 142  
  0x248f,   // 143  
  0x2490,   // 144  
  0x2491,   // 145  
  0x2492,   // 146  
  0x2493,   // 147  
  0x2494,   // 148  
  0x2495,   // 149  
  0x2496,   // 150  
  0x2497,   // 151  
  0x2498,   // 152  
  0x2499,   // 153  
  0x249a,   // 154  
  0x249b,   // 155  
  0x249c,   // 156  
  0x249d,   // 157  
  0x249e,   // 158  
  0x249f,   // 159  
  0x24a0,   // 160  
  0x24a1,   // 161  
  0x24a2,   // 162  
  0x24a3,   // 163  
  0x24a4,   // 164  
  0x24a5,   // 165  
  0x24a6,   // 166  
  0x24a7,   // 167  
  0x24a8,   // 168  
  0x24a9,   // 169  
  0x24aa,   // 170  
  0x24ab,   // 171  
  0x24ac,   // 172  
  0x24ad,   // 173  
  0x24ae,   // 174  
  0x24af,   // 175  
  0x24b0,   // 176  
  0x24b1,   // 177  
  0x24b2,   // 178  
  0x24b3,   // 179  
  0x24b4,   // 180  
  0x24b5,   // 181  
  0x24b6,   // 182  
  0x24b7,   // 183  
  0x24b8,   // 184  
  0x24b9,   // 185  
  0x24ba,   // 186  
  0x24bb,   // 187  
  0x24bc,   // 188  
  0x24bd,   // 189  
  0x24be,   // 190  
  0x24bf,   // 191  
  0x24c0,   // 192  
  0x24c1,   // 193  
  0x24c2,   // 194  
  0x24c3,   // 195  
  0x24c4,   // 196  
  0x24c5,   // 197  
  0x24c6,   // 198  
  0x24c7,   // 199  
  0x24c8,   // 200  
  0x24c9,   // 201  
  0x24ca,   // 202  
  0x24cb,   // 203  
  0x24cc,   // 204  
  0x24cd,   // 205  
  0x24ce,   // 206  
  0x24cf,   // 207  
  0x24b6,   // 208  CIRCLED LATIN SMALL LETTER A 	CIRCLED LATIN CAPITAL LETTER A
  0x24b7,   // 209  CIRCLED LATIN SMALL LETTER B 	CIRCLED LATIN CAPITAL LETTER B
  0x24b8,   // 210  CIRCLED LATIN SMALL LETTER C 	CIRCLED LATIN CAPITAL LETTER C
  0x24b9,   // 211  CIRCLED LATIN SMALL LETTER D 	CIRCLED LATIN CAPITAL LETTER D
  0x24ba,   // 212  CIRCLED LATIN SMALL LETTER E 	CIRCLED LATIN CAPITAL LETTER E
  0x24bb,   // 213  CIRCLED LATIN SMALL LETTER F 	CIRCLED LATIN CAPITAL LETTER F
  0x24bc,   // 214  CIRCLED LATIN SMALL LETTER G 	CIRCLED LATIN CAPITAL LETTER G
  0x24bd,   // 215  CIRCLED LATIN SMALL LETTER H 	CIRCLED LATIN CAPITAL LETTER H
  0x24be,   // 216  CIRCLED LATIN SMALL LETTER I 	CIRCLED LATIN CAPITAL LETTER I
  0x24bf,   // 217  CIRCLED LATIN SMALL LETTER J 	CIRCLED LATIN CAPITAL LETTER J
  0x24c0,   // 218  CIRCLED LATIN SMALL LETTER K 	CIRCLED LATIN CAPITAL LETTER K
  0x24c1,   // 219  CIRCLED LATIN SMALL LETTER L 	CIRCLED LATIN CAPITAL LETTER L
  0x24c2,   // 220  CIRCLED LATIN SMALL LETTER M 	CIRCLED LATIN CAPITAL LETTER M
  0x24c3,   // 221  CIRCLED LATIN SMALL LETTER N 	CIRCLED LATIN CAPITAL LETTER N
  0x24c4,   // 222  CIRCLED LATIN SMALL LETTER O 	CIRCLED LATIN CAPITAL LETTER O
  0x24c5,   // 223  CIRCLED LATIN SMALL LETTER P 	CIRCLED LATIN CAPITAL LETTER P
  0x24c6,   // 224  CIRCLED LATIN SMALL LETTER Q 	CIRCLED LATIN CAPITAL LETTER Q
  0x24c7,   // 225  CIRCLED LATIN SMALL LETTER R 	CIRCLED LATIN CAPITAL LETTER R
  0x24c8,   // 226  CIRCLED LATIN SMALL LETTER S 	CIRCLED LATIN CAPITAL LETTER S
  0x24c9,   // 227  CIRCLED LATIN SMALL LETTER T 	CIRCLED LATIN CAPITAL LETTER T
  0x24ca,   // 228  CIRCLED LATIN SMALL LETTER U 	CIRCLED LATIN CAPITAL LETTER U
  0x24cb,   // 229  CIRCLED LATIN SMALL LETTER V 	CIRCLED LATIN CAPITAL LETTER V
  0x24cc,   // 230  CIRCLED LATIN SMALL LETTER W 	CIRCLED LATIN CAPITAL LETTER W
  0x24cd,   // 231  CIRCLED LATIN SMALL LETTER X 	CIRCLED LATIN CAPITAL LETTER X
  0x24ce,   // 232  CIRCLED LATIN SMALL LETTER Y 	CIRCLED LATIN CAPITAL LETTER Y
  0x24cf,   // 233  CIRCLED LATIN SMALL LETTER Z 	CIRCLED LATIN CAPITAL LETTER Z
  0x24ea,   // 234  
  0x24eb,   // 235  
  0x24ec,   // 236  
  0x24ed,   // 237  
  0x24ee,   // 238  
  0x24ef,   // 239  
  0x24f0,   // 240  
  0x24f1,   // 241  
  0x24f2,   // 242  
  0x24f3,   // 243  
  0x24f4,   // 244  
  0x24f5,   // 245  
  0x24f6,   // 246  
  0x24f7,   // 247  
  0x24f8,   // 248  
  0x24f9,   // 249  
  0x24fa,   // 250  
  0x24fb,   // 251  
  0x24fc,   // 252  
  0x24fd,   // 253  
  0x24fe,   // 254  
  0x24ff    // 255  
};

// code page 255
static wchar_t lc_tab_255[] = {
  0xff00,   // 0  
  0xff01,   // 1  
  0xff02,   // 2  
  0xff03,   // 3  
  0xff04,   // 4  
  0xff05,   // 5  
  0xff06,   // 6  
  0xff07,   // 7  
  0xff08,   // 8  
  0xff09,   // 9  
  0xff0a,   // 10  
  0xff0b,   // 11  
  0xff0c,   // 12  
  0xff0d,   // 13  
  0xff0e,   // 14  
  0xff0f,   // 15  
  0xff10,   // 16  
  0xff11,   // 17  
  0xff12,   // 18  
  0xff13,   // 19  
  0xff14,   // 20  
  0xff15,   // 21  
  0xff16,   // 22  
  0xff17,   // 23  
  0xff18,   // 24  
  0xff19,   // 25  
  0xff1a,   // 26  
  0xff1b,   // 27  
  0xff1c,   // 28  
  0xff1d,   // 29  
  0xff1e,   // 30  
  0xff1f,   // 31  
  0xff20,   // 32  
  0xff21,   // 33  
  0xff22,   // 34  
  0xff23,   // 35  
  0xff24,   // 36  
  0xff25,   // 37  
  0xff26,   // 38  
  0xff27,   // 39  
  0xff28,   // 40  
  0xff29,   // 41  
  0xff2a,   // 42  
  0xff2b,   // 43  
  0xff2c,   // 44  
  0xff2d,   // 45  
  0xff2e,   // 46  
  0xff2f,   // 47  
  0xff30,   // 48  
  0xff31,   // 49  
  0xff32,   // 50  
  0xff33,   // 51  
  0xff34,   // 52  
  0xff35,   // 53  
  0xff36,   // 54  
  0xff37,   // 55  
  0xff38,   // 56  
  0xff39,   // 57  
  0xff3a,   // 58  
  0xff3b,   // 59  
  0xff3c,   // 60  
  0xff3d,   // 61  
  0xff3e,   // 62  
  0xff3f,   // 63  
  0xff40,   // 64  
  0xff21,   // 65  FULLWIDTH LATIN SMALL LETTER A 	FULLWIDTH LATIN CAPITAL LETTER A
  0xff22,   // 66  FULLWIDTH LATIN SMALL LETTER B 	FULLWIDTH LATIN CAPITAL LETTER B
  0xff23,   // 67  FULLWIDTH LATIN SMALL LETTER C 	FULLWIDTH LATIN CAPITAL LETTER C
  0xff24,   // 68  FULLWIDTH LATIN SMALL LETTER D 	FULLWIDTH LATIN CAPITAL LETTER D
  0xff25,   // 69  FULLWIDTH LATIN SMALL LETTER E 	FULLWIDTH LATIN CAPITAL LETTER E
  0xff26,   // 70  FULLWIDTH LATIN SMALL LETTER F 	FULLWIDTH LATIN CAPITAL LETTER F
  0xff27,   // 71  FULLWIDTH LATIN SMALL LETTER G 	FULLWIDTH LATIN CAPITAL LETTER G
  0xff28,   // 72  FULLWIDTH LATIN SMALL LETTER H 	FULLWIDTH LATIN CAPITAL LETTER H
  0xff29,   // 73  FULLWIDTH LATIN SMALL LETTER I 	FULLWIDTH LATIN CAPITAL LETTER I
  0xff2a,   // 74  FULLWIDTH LATIN SMALL LETTER J 	FULLWIDTH LATIN CAPITAL LETTER J
  0xff2b,   // 75  FULLWIDTH LATIN SMALL LETTER K 	FULLWIDTH LATIN CAPITAL LETTER K
  0xff2c,   // 76  FULLWIDTH LATIN SMALL LETTER L 	FULLWIDTH LATIN CAPITAL LETTER L
  0xff2d,   // 77  FULLWIDTH LATIN SMALL LETTER M 	FULLWIDTH LATIN CAPITAL LETTER M
  0xff2e,   // 78  FULLWIDTH LATIN SMALL LETTER N 	FULLWIDTH LATIN CAPITAL LETTER N
  0xff2f,   // 79  FULLWIDTH LATIN SMALL LETTER O 	FULLWIDTH LATIN CAPITAL LETTER O
  0xff30,   // 80  FULLWIDTH LATIN SMALL LETTER P 	FULLWIDTH LATIN CAPITAL LETTER P
  0xff31,   // 81  FULLWIDTH LATIN SMALL LETTER Q 	FULLWIDTH LATIN CAPITAL LETTER Q
  0xff32,   // 82  FULLWIDTH LATIN SMALL LETTER R 	FULLWIDTH LATIN CAPITAL LETTER R
  0xff33,   // 83  FULLWIDTH LATIN SMALL LETTER S 	FULLWIDTH LATIN CAPITAL LETTER S
  0xff34,   // 84  FULLWIDTH LATIN SMALL LETTER T 	FULLWIDTH LATIN CAPITAL LETTER T
  0xff35,   // 85  FULLWIDTH LATIN SMALL LETTER U 	FULLWIDTH LATIN CAPITAL LETTER U
  0xff36,   // 86  FULLWIDTH LATIN SMALL LETTER V 	FULLWIDTH LATIN CAPITAL LETTER V
  0xff37,   // 87  FULLWIDTH LATIN SMALL LETTER W 	FULLWIDTH LATIN CAPITAL LETTER W
  0xff38,   // 88  FULLWIDTH LATIN SMALL LETTER X 	FULLWIDTH LATIN CAPITAL LETTER X
  0xff39,   // 89  FULLWIDTH LATIN SMALL LETTER Y 	FULLWIDTH LATIN CAPITAL LETTER Y
  0xff3a,   // 90  FULLWIDTH LATIN SMALL LETTER Z 	FULLWIDTH LATIN CAPITAL LETTER Z
  0xff5b,   // 91  
  0xff5c,   // 92  
  0xff5d,   // 93  
  0xff5e,   // 94  
  0xff5f,   // 95  
  0xff60,   // 96  
  0xff61,   // 97  
  0xff62,   // 98  
  0xff63,   // 99  
  0xff64,   // 100  
  0xff65,   // 101  
  0xff66,   // 102  
  0xff67,   // 103  
  0xff68,   // 104  
  0xff69,   // 105  
  0xff6a,   // 106  
  0xff6b,   // 107  
  0xff6c,   // 108  
  0xff6d,   // 109  
  0xff6e,   // 110  
  0xff6f,   // 111  
  0xff70,   // 112  
  0xff71,   // 113  
  0xff72,   // 114  
  0xff73,   // 115  
  0xff74,   // 116  
  0xff75,   // 117  
  0xff76,   // 118  
  0xff77,   // 119  
  0xff78,   // 120  
  0xff79,   // 121  
  0xff7a,   // 122  
  0xff7b,   // 123  
  0xff7c,   // 124  
  0xff7d,   // 125  
  0xff7e,   // 126  
  0xff7f,   // 127  
  0xff80,   // 128  
  0xff81,   // 129  
  0xff82,   // 130  
  0xff83,   // 131  
  0xff84,   // 132  
  0xff85,   // 133  
  0xff86,   // 134  
  0xff87,   // 135  
  0xff88,   // 136  
  0xff89,   // 137  
  0xff8a,   // 138  
  0xff8b,   // 139  
  0xff8c,   // 140  
  0xff8d,   // 141  
  0xff8e,   // 142  
  0xff8f,   // 143  
  0xff90,   // 144  
  0xff91,   // 145  
  0xff92,   // 146  
  0xff93,   // 147  
  0xff94,   // 148  
  0xff95,   // 149  
  0xff96,   // 150  
  0xff97,   // 151  
  0xff98,   // 152  
  0xff99,   // 153  
  0xff9a,   // 154  
  0xff9b,   // 155  
  0xff9c,   // 156  
  0xff9d,   // 157  
  0xff9e,   // 158  
  0xff9f,   // 159  
  0xffa0,   // 160  
  0xffa1,   // 161  
  0xffa2,   // 162  
  0xffa3,   // 163  
  0xffa4,   // 164  
  0xffa5,   // 165  
  0xffa6,   // 166  
  0xffa7,   // 167  
  0xffa8,   // 168  
  0xffa9,   // 169  
  0xffaa,   // 170  
  0xffab,   // 171  
  0xffac,   // 172  
  0xffad,   // 173  
  0xffae,   // 174  
  0xffaf,   // 175  
  0xffb0,   // 176  
  0xffb1,   // 177  
  0xffb2,   // 178  
  0xffb3,   // 179  
  0xffb4,   // 180  
  0xffb5,   // 181  
  0xffb6,   // 182  
  0xffb7,   // 183  
  0xffb8,   // 184  
  0xffb9,   // 185  
  0xffba,   // 186  
  0xffbb,   // 187  
  0xffbc,   // 188  
  0xffbd,   // 189  
  0xffbe,   // 190  
  0xffbf,   // 191  
  0xffc0,   // 192  
  0xffc1,   // 193  
  0xffc2,   // 194  
  0xffc3,   // 195  
  0xffc4,   // 196  
  0xffc5,   // 197  
  0xffc6,   // 198  
  0xffc7,   // 199  
  0xffc8,   // 200  
  0xffc9,   // 201  
  0xffca,   // 202  
  0xffcb,   // 203  
  0xffcc,   // 204  
  0xffcd,   // 205  
  0xffce,   // 206  
  0xffcf,   // 207  
  0xffd0,   // 208  
  0xffd1,   // 209  
  0xffd2,   // 210  
  0xffd3,   // 211  
  0xffd4,   // 212  
  0xffd5,   // 213  
  0xffd6,   // 214  
  0xffd7,   // 215  
  0xffd8,   // 216  
  0xffd9,   // 217  
  0xffda,   // 218  
  0xffdb,   // 219  
  0xffdc,   // 220  
  0xffdd,   // 221  
  0xffde,   // 222  
  0xffdf,   // 223  
  0xffe0,   // 224  
  0xffe1,   // 225  
  0xffe2,   // 226  
  0xffe3,   // 227  
  0xffe4,   // 228  
  0xffe5,   // 229  
  0xffe6,   // 230  
  0xffe7,   // 231  
  0xffe8,   // 232  
  0xffe9,   // 233  
  0xffea,   // 234  
  0xffeb,   // 235  
  0xffec,   // 236  
  0xffed,   // 237  
  0xffee,   // 238  
  0xffef,   // 239  
  0xfff0,   // 240  
  0xfff1,   // 241  
  0xfff2,   // 242  
  0xfff3,   // 243  
  0xfff4,   // 244  
  0xfff5,   // 245  
  0xfff6,   // 246  
  0xfff7,   // 247  
  0xfff8,   // 248  
  0xfff9,   // 249  
  0xfffa,   // 250  
  0xfffb,   // 251  
  0xfffc,   // 252  
  0xfffd,   // 253  
  0xfffe,   // 254  
  0xffff    // 255  
};

// per-page table
static wchar_t *lc_tab[] = {
  lc_tab_0,
  lc_tab_1,
  lc_tab_2,
  lc_tab_3,
  lc_tab_4,
  lc_tab_5,
  0,
  0,
  0,
  0,
  0,
  0,
  0,
  0,
  0,
  0,
  lc_tab_16,
  0,
  0,
  0,
  0,
  0,
  0,
  0,
  0,
  0,
  0,
  0,
  0,
  0,
  lc_tab_30,
  lc_tab_31,
  0,
  0,
  0,
  0,
  lc_tab_36,
  0,
  0,
  0,
  0,
  0,
  0,
  0,
  0,
  0,
  0,
  0,
  0,
  0,
  0,
  0,
  0,
  0,
  0,
  0,
  0,
  0,
  0,
  0,
  0,
  0,
  0,
  0,
  0,
  0,
  0,
  0,
  0,
  0,
  0,
  0,
  0,
  0,
  0,
  0,
  0,
  0,
  0,
  0,
  0,
  0,
  0,
  0,
  0,
  0,
  0,
  0,
  0,
  0,
  0,
  0,
  0,
  0,
  0,
  0,
  0,
  0,
  0,
  0,
  0,
  0,
  0,
  0,
  0,
  0,
  0,
  0,
  0,
  0,
  0,
  0,
  0,
  0,
  0,
  0,
  0,
  0,
  0,
  0,
  0,
  0,
  0,
  0,
  0,
  0,
  0,
  0,
  0,
  0,
  0,
  0,
  0,
  0,
  0,
  0,
  0,
  0,
  0,
  0,
  0,
  0,
  0,
  0,
  0,
  0,
  0,
  0,
  0,
  0,
  0,
  0,
  0,
  0,
  0,
  0,
  0,
  0,
  0,
  0,
  0,
  0,
  0,
  0,
  0,
  0,
  0,
  0,
  0,
  0,
  0,
  0,
  0,
  0,
  0,
  0,
  0,
  0,
  0,
  0,
  0,
  0,
  0,
  0,
  0,
  0,
  0,
  0,
  0,
  0,
  0,
  0,
  0,
  0,
  0,
  0,
  0,
  0,
  0,
  0,
  0,
  0,
  0,
  0,
  0,
  0,
  0,
  0,
  0,
  0,
  0,
  0,
  0,
  0,
  0,
  0,
  0,
  0,
  0,
  0,
  0,
  0,
  0,
  0,
  0,
  0,
  0,
  0,
  0,
  0,
  0,
  0,
  0,
  0,
  0,
  0,
  0,
  0,
  0,
  0,
  0,
  0,
  0,
  0,
  0,
  0,
  0,
  0,
  0,
  0,
  0,
  0,
  0,
  0,
  0,
  lc_tab_255
};

// code page 0
static wchar_t uc_tab_0[] = {
  0x0000,   // 0  
  0x0001,   // 1  
  0x0002,   // 2  
  0x0003,   // 3  
  0x0004,   // 4  
  0x0005,   // 5  
  0x0006,   // 6  
  0x0007,   // 7  
  0x0008,   // 8  
  0x0009,   // 9  
  0x000a,   // 10  
  0x000b,   // 11  
  0x000c,   // 12  
  0x000d,   // 13  
  0x000e,   // 14  
  0x000f,   // 15  
  0x0010,   // 16  
  0x0011,   // 17  
  0x0012,   // 18  
  0x0013,   // 19  
  0x0014,   // 20  
  0x0015,   // 21  
  0x0016,   // 22  
  0x0017,   // 23  
  0x0018,   // 24  
  0x0019,   // 25  
  0x001a,   // 26  
  0x001b,   // 27  
  0x001c,   // 28  
  0x001d,   // 29  
  0x001e,   // 30  
  0x001f,   // 31  
  0x0020,   // 32  
  0x0021,   // 33  
  0x0022,   // 34  
  0x0023,   // 35  
  0x0024,   // 36  
  0x0025,   // 37  
  0x0026,   // 38  
  0x0027,   // 39  
  0x0028,   // 40  
  0x0029,   // 41  
  0x002a,   // 42  
  0x002b,   // 43  
  0x002c,   // 44  
  0x002d,   // 45  
  0x002e,   // 46  
  0x002f,   // 47  
  0x0030,   // 48  
  0x0031,   // 49  
  0x0032,   // 50  
  0x0033,   // 51  
  0x0034,   // 52  
  0x0035,   // 53  
  0x0036,   // 54  
  0x0037,   // 55  
  0x0038,   // 56  
  0x0039,   // 57  
  0x003a,   // 58  
  0x003b,   // 59  
  0x003c,   // 60  
  0x003d,   // 61  
  0x003e,   // 62  
  0x003f,   // 63  
  0x0040,   // 64  
  0x0061,   // 65  LATIN SMALL LETTER A 	LATIN CAPITAL LETTER A
  0x0062,   // 66  LATIN SMALL LETTER B 	LATIN CAPITAL LETTER B
  0x0063,   // 67  LATIN SMALL LETTER C 	LATIN CAPITAL LETTER C
  0x0064,   // 68  LATIN SMALL LETTER D 	LATIN CAPITAL LETTER D
  0x0065,   // 69  LATIN SMALL LETTER E 	LATIN CAPITAL LETTER E
  0x0066,   // 70  LATIN SMALL LETTER F 	LATIN CAPITAL LETTER F
  0x0067,   // 71  LATIN SMALL LETTER G 	LATIN CAPITAL LETTER G
  0x0068,   // 72  LATIN SMALL LETTER H 	LATIN CAPITAL LETTER H
  0x0069,   // 73  LATIN SMALL LETTER I 	LATIN CAPITAL LETTER I
  0x006a,   // 74  LATIN SMALL LETTER J 	LATIN CAPITAL LETTER J
  0x006b,   // 75  LATIN SMALL LETTER K 	LATIN CAPITAL LETTER K
  0x006c,   // 76  LATIN SMALL LETTER L 	LATIN CAPITAL LETTER L
  0x006d,   // 77  LATIN SMALL LETTER M 	LATIN CAPITAL LETTER M
  0x006e,   // 78  LATIN SMALL LETTER N 	LATIN CAPITAL LETTER N
  0x006f,   // 79  LATIN SMALL LETTER O 	LATIN CAPITAL LETTER O
  0x0070,   // 80  LATIN SMALL LETTER P 	LATIN CAPITAL LETTER P
  0x0071,   // 81  LATIN SMALL LETTER Q 	LATIN CAPITAL LETTER Q
  0x0072,   // 82  LATIN SMALL LETTER R 	LATIN CAPITAL LETTER R
  0x0073,   // 83  LATIN SMALL LETTER S 	LATIN CAPITAL LETTER S
  0x0074,   // 84  LATIN SMALL LETTER T 	LATIN CAPITAL LETTER T
  0x0075,   // 85  LATIN SMALL LETTER U 	LATIN CAPITAL LETTER U
  0x0076,   // 86  LATIN SMALL LETTER V 	LATIN CAPITAL LETTER V
  0x0077,   // 87  LATIN SMALL LETTER W 	LATIN CAPITAL LETTER W
  0x0078,   // 88  LATIN SMALL LETTER X 	LATIN CAPITAL LETTER X
  0x0079,   // 89  LATIN SMALL LETTER Y 	LATIN CAPITAL LETTER Y
  0x007a,   // 90  LATIN SMALL LETTER Z 	LATIN CAPITAL LETTER Z
  0x005b,   // 91  
  0x005c,   // 92  
  0x005d,   // 93  
  0x005e,   // 94  
  0x005f,   // 95  
  0x0060,   // 96  
  0x0061,   // 97  
  0x0062,   // 98  
  0x0063,   // 99  
  0x0064,   // 100  
  0x0065,   // 101  
  0x0066,   // 102  
  0x0067,   // 103  
  0x0068,   // 104  
  0x0069,   // 105  
  0x006a,   // 106  
  0x006b,   // 107  
  0x006c,   // 108  
  0x006d,   // 109  
  0x006e,   // 110  
  0x006f,   // 111  
  0x0070,   // 112  
  0x0071,   // 113  
  0x0072,   // 114  
  0x0073,   // 115  
  0x0074,   // 116  
  0x0075,   // 117  
  0x0076,   // 118  
  0x0077,   // 119  
  0x0078,   // 120  
  0x0079,   // 121  
  0x007a,   // 122  
  0x007b,   // 123  
  0x007c,   // 124  
  0x007d,   // 125  
  0x007e,   // 126  
  0x007f,   // 127  
  0x0080,   // 128  
  0x0081,   // 129  
  0x0082,   // 130  
  0x0083,   // 131  
  0x0084,   // 132  
  0x0085,   // 133  
  0x0086,   // 134  
  0x0087,   // 135  
  0x0088,   // 136  
  0x0089,   // 137  
  0x008a,   // 138  
  0x008b,   // 139  
  0x008c,   // 140  
  0x008d,   // 141  
  0x008e,   // 142  
  0x008f,   // 143  
  0x0090,   // 144  
  0x0091,   // 145  
  0x0092,   // 146  
  0x0093,   // 147  
  0x0094,   // 148  
  0x0095,   // 149  
  0x0096,   // 150  
  0x0097,   // 151  
  0x0098,   // 152  
  0x0099,   // 153  
  0x009a,   // 154  
  0x009b,   // 155  
  0x009c,   // 156  
  0x009d,   // 157  
  0x009e,   // 158  
  0x009f,   // 159  
  0x00a0,   // 160  
  0x00a1,   // 161  
  0x00a2,   // 162  
  0x00a3,   // 163  
  0x00a4,   // 164  
  0x00a5,   // 165  
  0x00a6,   // 166  
  0x00a7,   // 167  
  0x00a8,   // 168  
  0x00a9,   // 169  
  0x00aa,   // 170  
  0x00ab,   // 171  
  0x00ac,   // 172  
  0x00ad,   // 173  
  0x00ae,   // 174  
  0x00af,   // 175  
  0x00b0,   // 176  
  0x00b1,   // 177  
  0x00b2,   // 178  
  0x00b3,   // 179  
  0x00b4,   // 180  
  0x00b5,   // 181  
  0x00b6,   // 182  
  0x00b7,   // 183  
  0x00b8,   // 184  
  0x00b9,   // 185  
  0x00ba,   // 186  
  0x00bb,   // 187  
  0x00bc,   // 188  
  0x00bd,   // 189  
  0x00be,   // 190  
  0x00bf,   // 191  
  0x00e0,   // 192  LATIN SMALL LETTER A GRAVE 	LATIN CAPITAL LETTER A GRAVE
  0x00e1,   // 193  LATIN SMALL LETTER A GRAVE 	LATIN CAPITAL LETTER A ACUTE
  0x00e2,   // 194  LATIN SMALL LETTER A GRAVE 	LATIN CAPITAL LETTER A CIRCUMFLEX
  0x00e3,   // 195  LATIN SMALL LETTER A GRAVE 	LATIN CAPITAL LETTER A TILDE
  0x00e4,   // 196  LATIN SMALL LETTER A GRAVE 	LATIN CAPITAL LETTER A DIAERESIS
  0x00e5,   // 197  LATIN SMALL LETTER A GRAVE 	LATIN CAPITAL LETTER A RING
  0x00e6,   // 198  LATIN SMALL LETTER A GRAVE 	LATIN CAPITAL LETTER A E
  0x00e7,   // 199  LATIN SMALL LETTER A GRAVE 	LATIN CAPITAL LETTER C CEDILLA
  0x00e8,   // 200  LATIN SMALL LETTER A GRAVE 	LATIN CAPITAL LETTER E GRAVE
  0x00e9,   // 201  LATIN SMALL LETTER A GRAVE 	LATIN CAPITAL LETTER E ACUTE
  0x00ea,   // 202  LATIN SMALL LETTER E CIRCUMFLEX 	LATIN CAPITAL LETTER E CIRCUMFLEX
  0x00eb,   // 203  LATIN SMALL LETTER E DIAERESIS 	LATIN CAPITAL LETTER E DIAERESIS
  0x00ec,   // 204  LATIN SMALL LETTER I GRAVE 	LATIN CAPITAL LETTER I GRAVE
  0x00ed,   // 205  LATIN SMALL LETTER I ACUTE 	LATIN CAPITAL LETTER I ACUTE
  0x00ee,   // 206  LATIN SMALL LETTER I CIRCUMFLEX 	LATIN CAPITAL LETTER I CIRCUMFLEX
  0x00ef,   // 207  LATIN SMALL LETTER I DIAERESIS 	LATIN CAPITAL LETTER I DIAERESIS
  0x00f0,   // 208  LATIN SMALL LETTER ETH 	LATIN CAPITAL LETTER ETH
  0x00f1,   // 209  LATIN SMALL LETTER N TILDE 	LATIN CAPITAL LETTER N TILDE
  0x00f2,   // 210  LATIN SMALL LETTER O GRAVE 	LATIN CAPITAL LETTER O GRAVE
  0x00f3,   // 211  LATIN SMALL LETTER O ACUTE 	LATIN CAPITAL LETTER O ACUTE
  0x00f4,   // 212  LATIN SMALL LETTER O CIRCUMFLEX 	LATIN CAPITAL LETTER O CIRCUMFLEX
  0x00f5,   // 213  LATIN SMALL LETTER O TILDE 	LATIN CAPITAL LETTER O TILDE
  0x00f6,   // 214  LATIN SMALL LETTER O DIAERESIS 	LATIN CAPITAL LETTER O DIAERESIS
  0x00d7,   // 215  
  0x00f8,   // 216  LATIN SMALL LETTER O SLASH 	LATIN CAPITAL LETTER O SLASH
  0x00f9,   // 217  LATIN SMALL LETTER U GRAVE 	LATIN CAPITAL LETTER U GRAVE
  0x00fa,   // 218  LATIN SMALL LETTER U ACUTE 	LATIN CAPITAL LETTER U ACUTE
  0x00fb,   // 219  LATIN SMALL LETTER U CIRCUMFLEX 	LATIN CAPITAL LETTER U CIRCUMFLEX
  0x00fc,   // 220  LATIN SMALL LETTER U DIAERESIS 	LATIN CAPITAL LETTER U DIAERESIS
  0x00fd,   // 221  LATIN SMALL LETTER Y ACUTE 	LATIN CAPITAL LETTER Y ACUTE
  0x00fe,   // 222  LATIN SMALL LETTER THORN 	LATIN CAPITAL LETTER THORN
  0x00df,   // 223  
  0x00e0,   // 224  
  0x00e1,   // 225  
  0x00e2,   // 226  
  0x00e3,   // 227  
  0x00e4,   // 228  
  0x00e5,   // 229  
  0x00e6,   // 230  
  0x00e7,   // 231  
  0x00e8,   // 232  
  0x00e9,   // 233  
  0x00ea,   // 234  
  0x00eb,   // 235  
  0x00ec,   // 236  
  0x00ed,   // 237  
  0x00ee,   // 238  
  0x00ef,   // 239  
  0x00f0,   // 240  
  0x00f1,   // 241  
  0x00f2,   // 242  
  0x00f3,   // 243  
  0x00f4,   // 244  
  0x00f5,   // 245  
  0x00f6,   // 246  
  0x00f7,   // 247  
  0x00f8,   // 248  
  0x00f9,   // 249  
  0x00fa,   // 250  
  0x00fb,   // 251  
  0x00fc,   // 252  
  0x00fd,   // 253  
  0x00fe,   // 254  
  0x00ff    // 255  
};

// code page 1
static wchar_t uc_tab_1[] = {
  0x0101,   // 0  LATIN SMALL LETTER A WITH MACRON 	LATIN CAPITAL LETTER A WITH MACRON
  0x0101,   // 1  
  0x0103,   // 2  LATIN SMALL LETTER A WITH BREVE 	LATIN CAPITAL LETTER A WITH BREVE
  0x0103,   // 3  
  0x0105,   // 4  LATIN SMALL LETTER A WITH OGONEK 	LATIN CAPITAL LETTER A WITH OGONEK
  0x0105,   // 5  
  0x0107,   // 6  LATIN SMALL LETTER C WITH ACUTE 	LATIN CAPITAL LETTER C WITH ACUTE
  0x0107,   // 7  
  0x0109,   // 8  LATIN SMALL LETTER C WITH CIRCUMFLEX 	LATIN CAPITAL LETTER C WITH CIRCUMFLEX
  0x0109,   // 9  
  0x010b,   // 10  LATIN SMALL LETTER C WITH DOT ABOVE 	LATIN CAPITAL LETTER C WITH DOT ABOVE
  0x010b,   // 11  
  0x010d,   // 12  LATIN SMALL LETTER C WITH CARON 	LATIN CAPITAL LETTER C WITH CARON
  0x010d,   // 13  
  0x010f,   // 14  LATIN SMALL LETTER D WITH CARON 	LATIN CAPITAL LETTER D WITH CARON
  0x010f,   // 15  
  0x0111,   // 16  LATIN SMALL LETTER D WITH STROKE 	LATIN CAPITAL LETTER D WITH STROKE
  0x0111,   // 17  
  0x0113,   // 18  LATIN SMALL LETTER E WITH MACRON 	LATIN CAPITAL LETTER E WITH MACRON
  0x0113,   // 19  
  0x0115,   // 20  LATIN SMALL LETTER E WITH BREVE 	LATIN CAPITAL LETTER E WITH BREVE
  0x0115,   // 21  
  0x0117,   // 22  LATIN SMALL LETTER E WITH DOT ABOVE 	LATIN CAPITAL LETTER E WITH DOT ABOVE
  0x0117,   // 23  
  0x0119,   // 24  LATIN SMALL LETTER E WITH OGONEK 	LATIN CAPITAL LETTER E WITH OGONEK
  0x0119,   // 25  
  0x011b,   // 26  LATIN SMALL LETTER E WITH CARON 	LATIN CAPITAL LETTER E WITH CARON
  0x011b,   // 27  
  0x011d,   // 28  LATIN SMALL LETTER G WITH CIRCUMFLEX 	LATIN CAPITAL LETTER G WITH CIRCUMFLEX
  0x011d,   // 29  
  0x011f,   // 30  LATIN SMALL LETTER G WITH BREVE 	LATIN CAPITAL LETTER G WITH BREVE
  0x011f,   // 31  
  0x0121,   // 32  LATIN SMALL LETTER G WITH DOT ABOVE 	LATIN CAPITAL LETTER G WITH DOT ABOVE
  0x0121,   // 33  
  0x0123,   // 34  LATIN SMALL LETTER G WITH CEDILLA 	LATIN CAPITAL LETTER G WITH CEDILLA
  0x0123,   // 35  
  0x0125,   // 36  LATIN SMALL LETTER H WITH CIRCUMFLEX 	LATIN CAPITAL LETTER H WITH CIRCUMFLEX
  0x0125,   // 37  
  0x0127,   // 38  LATIN SMALL LETTER H WITH STROKE 	LATIN CAPITAL LETTER H WITH STROKE
  0x0127,   // 39  
  0x0129,   // 40  LATIN SMALL LETTER I WITH TILDE 	LATIN CAPITAL LETTER I WITH TILDE
  0x0129,   // 41  
  0x012b,   // 42  LATIN SMALL LETTER I WITH MACRON 	LATIN CAPITAL LETTER I WITH MACRON
  0x012b,   // 43  
  0x012d,   // 44  LATIN SMALL LETTER I WITH BREVE 	LATIN CAPITAL LETTER I WITH BREVE
  0x012d,   // 45  
  0x012f,   // 46  LATIN SMALL LETTER I WITH OGONEK 	LATIN CAPITAL LETTER I WITH OGONEK
  0x012f,   // 47  
  0x0130,   // 48  
  0x0131,   // 49  
  0x0133,   // 50  LATIN SMALL LIGATURE IJ 	LATIN CAPITAL LIGATURE IJ
  0x0133,   // 51  
  0x0135,   // 52  LATIN SMALL LETTER J WITH CIRCUMFLEX 	LATIN CAPITAL LETTER J WITH CIRCUMFLEX
  0x0135,   // 53  
  0x0137,   // 54  LATIN SMALL LETTER K WITH CEDILLA 	LATIN CAPITAL LETTER K WITH CEDILLA
  0x0137,   // 55  
  0x0138,   // 56  
  0x013a,   // 57  LATIN SMALL LETTER L WITH ACUTE 	LATIN CAPITAL LETTER L WITH ACUTE
  0x013a,   // 58  
  0x013c,   // 59  LATIN SMALL LETTER L WITH CEDILLA 	LATIN CAPITAL LETTER L WITH CEDILLA
  0x013c,   // 60  
  0x013e,   // 61  LATIN SMALL LETTER L WITH CARON 	LATIN CAPITAL LETTER L WITH CARON
  0x013e,   // 62  
  0x0140,   // 63  LATIN SMALL LETTER L WITH MIDDLE DOT 	LATIN CAPITAL LETTER L WITH MIDDLE DOT
  0x0140,   // 64  
  0x0142,   // 65  LATIN SMALL LETTER L WITH STROKE 	LATIN CAPITAL LETTER L WITH STROKE
  0x0142,   // 66  
  0x0144,   // 67  LATIN SMALL LETTER N WITH ACUTE 	LATIN CAPITAL LETTER N WITH ACUTE
  0x0144,   // 68  
  0x0146,   // 69  LATIN SMALL LETTER N WITH CEDILLA 	LATIN CAPITAL LETTER N WITH CEDILLA
  0x0146,   // 70  
  0x0148,   // 71  LATIN SMALL LETTER N WITH CARON 	LATIN CAPITAL LETTER N WITH CARON
  0x0148,   // 72  
  0x0149,   // 73  
  0x014b,   // 74  LATIN SMALL LETTER ENG (SAMI) 	LATIN CAPITAL LETTER ENG (SAMI)
  0x014b,   // 75  
  0x014d,   // 76  LATIN SMALL LETTER O WITH MACRON 	LATIN CAPITAL LETTER O WITH MACRON
  0x014d,   // 77  
  0x014f,   // 78  LATIN SMALL LETTER O WITH BREVE 	LATIN CAPITAL LETTER O WITH BREVE
  0x014f,   // 79  
  0x0151,   // 80  LATIN SMALL LETTER O WITH DOUBLE ACUTE 	LATIN CAPITAL LETTER O WITH DOUBLE ACUTE
  0x0151,   // 81  
  0x0153,   // 82  LATIN SMALL LIGATURE OE 	LATIN CAPITAL LIGATURE OE
  0x0153,   // 83  
  0x0155,   // 84  LATIN SMALL LETTER R WITH ACUTE 	LATIN CAPITAL LETTER R WITH ACUTE
  0x0155,   // 85  
  0x0157,   // 86  LATIN SMALL LETTER R WITH CEDILLA 	LATIN CAPITAL LETTER R WITH CEDILLA
  0x0157,   // 87  
  0x0159,   // 88  LATIN SMALL LETTER R WITH CARON 	LATIN CAPITAL LETTER R WITH CARON
  0x0159,   // 89  
  0x015b,   // 90  LATIN SMALL LETTER S WITH ACUTE 	LATIN CAPITAL LETTER S WITH ACUTE
  0x015b,   // 91  
  0x015d,   // 92  LATIN SMALL LETTER S WITH CIRCUMFLEX 	LATIN CAPITAL LETTER S WITH CIRCUMFLEX
  0x015d,   // 93  
  0x015f,   // 94  LATIN SMALL LETTER S WITH CEDILLA 	LATIN CAPITAL LETTER S WITH CEDILLA
  0x015f,   // 95  
  0x0161,   // 96  LATIN SMALL LETTER S WITH CARON 	LATIN CAPITAL LETTER S WITH CARON
  0x0161,   // 97  
  0x0163,   // 98  LATIN SMALL LETTER T WITH CEDILLA 	LATIN CAPITAL LETTER T WITH CEDILLA
  0x0163,   // 99  
  0x0165,   // 100  LATIN SMALL LETTER T WITH CARON 	LATIN CAPITAL LETTER T WITH CARON
  0x0165,   // 101  
  0x0167,   // 102  LATIN SMALL LETTER T WITH STROKE 	LATIN CAPITAL LETTER T WITH STROKE
  0x0167,   // 103  
  0x0169,   // 104  LATIN SMALL LETTER U WITH TILDE 	LATIN CAPITAL LETTER U WITH TILDE
  0x0169,   // 105  
  0x016b,   // 106  LATIN SMALL LETTER U WITH MACRON 	LATIN CAPITAL LETTER U WITH MACRON
  0x016b,   // 107  
  0x016d,   // 108  LATIN SMALL LETTER U WITH BREVE 	LATIN CAPITAL LETTER U WITH BREVE
  0x016d,   // 109  
  0x016f,   // 110  LATIN SMALL LETTER U WITH RING ABOVE 	LATIN CAPITAL LETTER U WITH RING ABOVE
  0x016f,   // 111  
  0x0171,   // 112  LATIN SMALL LETTER U WITH DOUBLE ACUTE 	LATIN CAPITAL LETTER U WITH DOUBLE ACUTE
  0x0171,   // 113  
  0x0173,   // 114  LATIN SMALL LETTER U WITH OGONEK 	LATIN CAPITAL LETTER U WITH OGONEK
  0x0173,   // 115  
  0x0175,   // 116  LATIN SMALL LETTER W WITH CIRCUMFLEX 	LATIN CAPITAL LETTER W WITH CIRCUMFLEX
  0x0175,   // 117  
  0x0177,   // 118  LATIN SMALL LETTER Y WITH CIRCUMFLEX 	LATIN CAPITAL LETTER Y WITH CIRCUMFLEX
  0x0177,   // 119  
  0x00ff,   // 120  LATIN SMALL LETTER Y DIAERESIS 	LATIN CAPITAL LETTER Y WITH DIAERESIS
  0x017a,   // 121  LATIN SMALL LETTER Z WITH ACUTE 	LATIN CAPITAL LETTER Z WITH ACUTE
  0x017a,   // 122  
  0x017c,   // 123  LATIN SMALL LETTER Z WITH DOT ABOVE 	LATIN CAPITAL LETTER Z WITH DOT ABOVE
  0x017c,   // 124  
  0x017e,   // 125  LATIN SMALL LETTER Z WITH CARON 	LATIN CAPITAL LETTER Z WITH CARON
  0x017e,   // 126  
  0x017f,   // 127  
  0x0180,   // 128  
  0x0253,   // 129  LATIN SMALL LETTER B WITH HOOK 	LATIN CAPITAL LETTER B WITH HOOK
  0x0183,   // 130  LATIN SMALL LETTER B WITH TOPBAR 	LATIN CAPITAL LETTER B WITH TOPBAR
  0x0183,   // 131  
  0x0185,   // 132  LATIN SMALL LETTER TONE SIX 	LATIN CAPITAL LETTER TONE SIX
  0x0185,   // 133  
  0x0254,   // 134  LATIN SMALL LETTER OPEN O 	LATIN CAPITAL LETTER OPEN O
  0x0188,   // 135  LATIN SMALL LETTER C WITH HOOK 	LATIN CAPITAL LETTER C WITH HOOK
  0x0188,   // 136  
  0x0189,   // 137  
  0x0257,   // 138  LATIN SMALL LETTER D WITH HOOK 	LATIN CAPITAL LETTER D WITH HOOK
  0x018c,   // 139  LATIN SMALL LETTER D WITH TOPBAR 	LATIN CAPITAL LETTER D WITH TOPBAR
  0x018c,   // 140  
  0x018d,   // 141  
  0x0258,   // 142  LATIN SMALL LETTER REVERSED E 	LATIN CAPITAL LETTER REVERSED E
  0x0259,   // 143  LATIN SMALL LETTER SCHWA 	LATIN CAPITAL LETTER SCHWA
  0x025b,   // 144  LATIN SMALL LETTER OPEN E 	LATIN CAPITAL LETTER OPEN E
  0x0192,   // 145  LATIN SMALL LETTER F WITH HOOK 	LATIN CAPITAL LETTER F WITH HOOK
  0x0192,   // 146  
  0x0260,   // 147  LATIN SMALL LETTER G WITH HOOK 	LATIN CAPITAL LETTER G WITH HOOK
  0x0263,   // 148  LATIN SMALL LETTER GAMMA 	LATIN CAPITAL LETTER GAMMA
  0x0195,   // 149  
  0x0269,   // 150  LATIN SMALL LETTER IOTA 	LATIN CAPITAL LETTER IOTA
  0x0268,   // 151  LATIN SMALL LETTER I WITH STROKE 	LATIN CAPITAL LETTER I WITH STROKE
  0x0199,   // 152  LATIN SMALL LETTER K WITH HOOK 	LATIN CAPITAL LETTER K WITH HOOK
  0x0199,   // 153  
  0x019a,   // 154  
  0x019b,   // 155  
  0x026f,   // 156  LATIN SMALL LETTER TURNED M 	LATIN CAPITAL LETTER TURNED M
  0x0272,   // 157  LATIN SMALL LETTER N WITH LEFT HOOK 	LATIN CAPITAL LETTER N WITH LEFT HOOK
  0x019e,   // 158  
  0x0275,   // 159  LATIN SMALL LETTER BARRED O 	LATIN CAPITAL LETTER O WITH MIDDLE TILDE
  0x01a1,   // 160  LATIN SMALL LETTER O WITH HORN 	LATIN CAPITAL LETTER O WITH HORN
  0x01a1,   // 161  
  0x01a3,   // 162  LATIN SMALL LETTER OI 	LATIN CAPITAL LETTER OI
  0x01a3,   // 163  
  0x01a5,   // 164  LATIN SMALL LETTER P WITH HOOK 	LATIN CAPITAL LETTER P WITH HOOK
  0x01a5,   // 165  
  0x01a6,   // 166  
  0x01a8,   // 167  LATIN SMALL LETTER TONE TWO 	LATIN CAPITAL LETTER TONE TWO
  0x01a8,   // 168  
  0x0283,   // 169  LATIN SMALL LETTER ESH 	LATIN CAPITAL LETTER ESH
  0x01aa,   // 170  
  0x01ab,   // 171  
  0x01ad,   // 172  LATIN SMALL LETTER T WITH HOOK 	LATIN CAPITAL LETTER T WITH HOOK
  0x01ad,   // 173  
  0x0288,   // 174  LATIN SMALL LETTER T WITH RETROFLEX HOOK 	LATIN CAPITAL LETTER T WITH RETROFLEX HOOK
  0x01b0,   // 175  LATIN SMALL LETTER U WITH HORN 	LATIN CAPITAL LETTER U WITH HORN
  0x01b0,   // 176  
  0x028a,   // 177  LATIN SMALL LETTER UPSILON 	LATIN CAPITAL LETTER UPSILON
  0x028b,   // 178  LATIN SMALL LETTER V WITH HOOK 	LATIN CAPITAL LETTER V WITH HOOK
  0x01b4,   // 179  LATIN SMALL LETTER Y WITH HOOK 	LATIN CAPITAL LETTER Y WITH HOOK
  0x01b4,   // 180  
  0x01b6,   // 181  LATIN SMALL LETTER Z WITH STROKE 	LATIN CAPITAL LETTER Z WITH STROKE
  0x01b6,   // 182  
  0x0292,   // 183  LATIN SMALL LETTER EZH 	LATIN CAPITAL LETTER EZH
  0x01b9,   // 184  LATIN SMALL LETTER EZH REVERSED 	LATIN CAPITAL LETTER EZH REVERSED
  0x01b9,   // 185  
  0x01ba,   // 186  
  0x01bb,   // 187  
  0x01bd,   // 188  LATIN SMALL LETTER TONE FIVE 	LATIN CAPITAL LETTER TONE FIVE
  0x01bd,   // 189  
  0x01be,   // 190  
  0x01bf,   // 191  
  0x01c0,   // 192  
  0x01c1,   // 193  
  0x01c2,   // 194  
  0x01c3,   // 195  
  0x01c6,   // 196  LATIN SMALL LETTER DZ WITH CARON 	LATIN CAPITAL LETTER DZ WITH CARON
  0x01c5,   // 197  
  0x01c6,   // 198  
  0x01c9,   // 199  LATIN SMALL LETTER LJ 	LATIN CAPITAL LETTER LJ
  0x01c8,   // 200  
  0x01c9,   // 201  
  0x01cc,   // 202  LATIN SMALL LETTER NJ 	LATIN CAPITAL LETTER NJ
  0x01cb,   // 203  
  0x01cc,   // 204  
  0x01ce,   // 205  LATIN SMALL LETTER A WITH CARON 	LATIN CAPITAL LETTER A WITH CARON
  0x01ce,   // 206  
  0x01d0,   // 207  LATIN SMALL LETTER I WITH CARON 	LATIN CAPITAL LETTER I WITH CARON
  0x01d0,   // 208  
  0x01d2,   // 209  LATIN SMALL LETTER O WITH CARON 	LATIN CAPITAL LETTER O WITH CARON
  0x01d2,   // 210  
  0x01d4,   // 211  LATIN SMALL LETTER U WITH CARON 	LATIN CAPITAL LETTER U WITH CARON
  0x01d4,   // 212  
  0x01d6,   // 213  LATIN SMALL LETTER U WITH DIAERESIS AND MACRON 	LATIN CAPITAL LETTER U WITH DIAERESIS AND MACRON
  0x01d6,   // 214  
  0x01d8,   // 215  LATIN SMALL LETTER U WITH DIAERESIS AND ACUTE 	LATIN CAPITAL LETTER U WITH DIAERESIS AND ACUTE
  0x01d8,   // 216  
  0x01da,   // 217  LATIN SMALL LETTER U WITH DIAERESIS AND CARON 	LATIN CAPITAL LETTER U WITH DIAERESIS AND CARON
  0x01da,   // 218  
  0x01dc,   // 219  LATIN SMALL LETTER U WITH DIAERESIS AND GRAVE 	LATIN CAPITAL LETTER U WITH DIAERESIS AND GRAVE
  0x01dc,   // 220  
  0x01dd,   // 221  
  0x01df,   // 222  LATIN SMALL LETTER A WITH DIAERESIS AND MACRON 	LATIN CAPITAL LETTER A WITH DIAERESIS AND MACRON
  0x01df,   // 223  
  0x01e1,   // 224  LATIN SMALL LETTER A WITH DOT ABOVE AND MACRON 	LATIN CAPITAL LETTER A WITH DOT ABOVE AND MACRON
  0x01e1,   // 225  
  0x01e3,   // 226  LATIN SMALL LIGATURE AE WITH MACRON 	LATIN CAPITAL LIGATURE AE MTH MACRON
  0x01e3,   // 227  
  0x01e5,   // 228  LATIN SMALL LETTER G WITH STROKE 	LATIN CAPITAL LETTER G WITH STROKE
  0x01e5,   // 229  
  0x01e7,   // 230  LATIN SMALL LETTER G WITH CARON 	LATIN CAPITAL LETTER G WITH CARON
  0x01e7,   // 231  
  0x01e9,   // 232  LATIN SMALL LETTER K WITH CARON 	LATIN CAPITAL LETTER K WITH CARON
  0x01e9,   // 233  
  0x01eb,   // 234  LATIN SMALL LETTER O WITH OGONEK 	LATIN CAPITAL LETTER O WITH OGONEK
  0x01eb,   // 235  
  0x01ed,   // 236  LATIN SMALL LETTER O WITH OGONEK AND MACRON 	LATIN CAPITAL LETTER O WITH OGONEK AND MACRON
  0x01ed,   // 237  
  0x01ef,   // 238  LATIN SMALL LETTER EZH WITH CARON 	LATIN CAPITAL LETTER EZH WITH CARON
  0x01ef,   // 239  
  0x01f0,   // 240  
  0x01f3,   // 241  LATIN SMALL LETTER DZ 	LATIN CAPITAL LETTER DZ
  0x01f2,   // 242  
  0x01f3,   // 243  
  0x01f5,   // 244  LATIN SMALL LETTER G WITH ACUTE 	LATIN CAPITAL LETTER G WITH ACUTE
  0x01f5,   // 245  
  0x01f6,   // 246  
  0x01f7,   // 247  
  0x01f8,   // 248  
  0x01f9,   // 249  
  0x01fb,   // 250  LATIN SMALL LETTER A WITH RING ABOVE AND ACUTE 	LATIN CAPITAL LETTER A WITH RING ABOVE AND ACUTE
  0x01fb,   // 251  
  0x01fd,   // 252  LATIN SMALL LIGATURE AE WITH ACUTE 	LATIN CAPITAL LIGATURE AE WITH ACUTE
  0x01fd,   // 253  
  0x01ff,   // 254  LATIN SMALL LETTER O WITH STROKE AND ACUTE 	LATIN CAPITAL LETTER O WITH STROKE AND ACUTE
  0x01ff    // 255  
};

// code page 2
static wchar_t uc_tab_2[] = {
  0x0201,   // 0  LATIN SMALL LETTER A WITH DOUBLE GRAVE 	LATIN CAPITAL LETTER A WITH DOUBLE GRAVE
  0x0201,   // 1  
  0x0203,   // 2  LATIN SMALL LETTER A WITH INVERTED BREVE 	LATIN CAPITAL LETTER A WITH INVERTED BREVE
  0x0203,   // 3  
  0x0205,   // 4  LATIN SMALL LETTER E WITH DOUBLE GRAVE 	LATIN CAPITAL LETTER E WITH DOUBLE GRAVE
  0x0205,   // 5  
  0x0207,   // 6  LATIN SMALL LETTER E WITH INVERTED BREVE 	LATIN CAPITAL LETTER E WITH INVERTED BREVE
  0x0207,   // 7  
  0x0209,   // 8  LATIN SMALL LETTER I WITH DOUBLE GRAVE 	LATIN CAPITAL LETTER I WITH DOUBLE GRAVE
  0x0209,   // 9  
  0x020b,   // 10  LATIN SMALL LETTER I WITH INVERTED BREVE 	LATIN CAPITAL LETTER I WITH INVERTED BREVE
  0x020b,   // 11  
  0x020d,   // 12  LATIN SMALL LETTER O WITH DOUBLE GRAVE 	LATIN CAPITAL LETTER O WITH DOUBLE GRAVE
  0x020d,   // 13  
  0x020f,   // 14  LATIN SMALL LETTER O WITH INVERTED BREVE 	LATIN CAPITAL LETTER O WITH INVERTED BREVE
  0x020f,   // 15  
  0x0211,   // 16  LATIN SMALL LETTER R WITH DOUBLE GRAVE 	LATIN CAPITAL LETTER R WITH DOUBLE GRAVE
  0x0211,   // 17  
  0x0213,   // 18  LATIN SMALL LETTER R WITH INVERTED BREVE 	LATIN CAPITAL LETTER R WITH INVERTED BREVE
  0x0213,   // 19  
  0x0215,   // 20  LATIN SMALL LETTER U WITH DOUBLE GRAVE 	LATIN CAPITAL LETTER U WITH DOUBLE GRAVE
  0x0215,   // 21  
  0x0217,   // 22  LATIN SMALL LETTER U WITH INVERTED BREVE 	LATIN CAPITAL LETTER U WITH INVERTED BREVE
  0x0217,   // 23  
  0x0218,   // 24  
  0x0219,   // 25  
  0x021a,   // 26  
  0x021b,   // 27  
  0x021c,   // 28  
  0x021d,   // 29  
  0x021e,   // 30  
  0x021f,   // 31  
  0x0220,   // 32  
  0x0221,   // 33  
  0x0222,   // 34  
  0x0223,   // 35  
  0x0224,   // 36  
  0x0225,   // 37  
  0x0226,   // 38  
  0x0227,   // 39  
  0x0228,   // 40  
  0x0229,   // 41  
  0x022a,   // 42  
  0x022b,   // 43  
  0x022c,   // 44  
  0x022d,   // 45  
  0x022e,   // 46  
  0x022f,   // 47  
  0x0230,   // 48  
  0x0231,   // 49  
  0x0232,   // 50  
  0x0233,   // 51  
  0x0234,   // 52  
  0x0235,   // 53  
  0x0236,   // 54  
  0x0237,   // 55  
  0x0238,   // 56  
  0x0239,   // 57  
  0x023a,   // 58  
  0x023b,   // 59  
  0x023c,   // 60  
  0x023d,   // 61  
  0x023e,   // 62  
  0x023f,   // 63  
  0x0240,   // 64  
  0x0241,   // 65  
  0x0242,   // 66  
  0x0243,   // 67  
  0x0244,   // 68  
  0x0245,   // 69  
  0x0246,   // 70  
  0x0247,   // 71  
  0x0248,   // 72  
  0x0249,   // 73  
  0x024a,   // 74  
  0x024b,   // 75  
  0x024c,   // 76  
  0x024d,   // 77  
  0x024e,   // 78  
  0x024f,   // 79  
  0x0250,   // 80  
  0x0251,   // 81  
  0x0252,   // 82  
  0x0253,   // 83  
  0x0254,   // 84  
  0x0255,   // 85  
  0x0256,   // 86  
  0x0257,   // 87  
  0x0258,   // 88  
  0x0259,   // 89  
  0x025a,   // 90  
  0x025b,   // 91  
  0x025c,   // 92  
  0x025d,   // 93  
  0x025e,   // 94  
  0x025f,   // 95  
  0x0260,   // 96  
  0x0261,   // 97  
  0x0262,   // 98  
  0x0263,   // 99  
  0x0264,   // 100  
  0x0265,   // 101  
  0x0266,   // 102  
  0x0267,   // 103  
  0x0268,   // 104  
  0x0269,   // 105  
  0x026a,   // 106  
  0x026b,   // 107  
  0x026c,   // 108  
  0x026d,   // 109  
  0x026e,   // 110  
  0x026f,   // 111  
  0x0270,   // 112  
  0x0271,   // 113  
  0x0272,   // 114  
  0x0273,   // 115  
  0x0274,   // 116  
  0x0275,   // 117  
  0x0276,   // 118  
  0x0277,   // 119  
  0x0278,   // 120  
  0x0279,   // 121  
  0x027a,   // 122  
  0x027b,   // 123  
  0x027c,   // 124  
  0x027d,   // 125  
  0x027e,   // 126  
  0x027f,   // 127  
  0x0280,   // 128  
  0x0281,   // 129  
  0x0282,   // 130  
  0x0283,   // 131  
  0x0284,   // 132  
  0x0285,   // 133  
  0x0286,   // 134  
  0x0287,   // 135  
  0x0288,   // 136  
  0x0289,   // 137  
  0x028a,   // 138  
  0x028b,   // 139  
  0x028c,   // 140  
  0x028d,   // 141  
  0x028e,   // 142  
  0x028f,   // 143  
  0x0290,   // 144  
  0x0291,   // 145  
  0x0292,   // 146  
  0x0293,   // 147  
  0x0294,   // 148  
  0x0295,   // 149  
  0x0296,   // 150  
  0x0297,   // 151  
  0x0298,   // 152  
  0x0299,   // 153  
  0x029a,   // 154  
  0x029b,   // 155  
  0x029c,   // 156  
  0x029d,   // 157  
  0x029e,   // 158  
  0x029f,   // 159  
  0x02a0,   // 160  
  0x02a1,   // 161  
  0x02a2,   // 162  
  0x02a3,   // 163  
  0x02a4,   // 164  
  0x02a5,   // 165  
  0x02a6,   // 166  
  0x02a7,   // 167  
  0x02a8,   // 168  
  0x02a9,   // 169  
  0x02aa,   // 170  
  0x02ab,   // 171  
  0x02ac,   // 172  
  0x02ad,   // 173  
  0x02ae,   // 174  
  0x02af,   // 175  
  0x02b0,   // 176  
  0x02b1,   // 177  
  0x02b2,   // 178  
  0x02b3,   // 179  
  0x02b4,   // 180  
  0x02b5,   // 181  
  0x02b6,   // 182  
  0x02b7,   // 183  
  0x02b8,   // 184  
  0x02b9,   // 185  
  0x02ba,   // 186  
  0x02bb,   // 187  
  0x02bc,   // 188  
  0x02bd,   // 189  
  0x02be,   // 190  
  0x02bf,   // 191  
  0x02c0,   // 192  
  0x02c1,   // 193  
  0x02c2,   // 194  
  0x02c3,   // 195  
  0x02c4,   // 196  
  0x02c5,   // 197  
  0x02c6,   // 198  
  0x02c7,   // 199  
  0x02c8,   // 200  
  0x02c9,   // 201  
  0x02ca,   // 202  
  0x02cb,   // 203  
  0x02cc,   // 204  
  0x02cd,   // 205  
  0x02ce,   // 206  
  0x02cf,   // 207  
  0x02d0,   // 208  
  0x02d1,   // 209  
  0x02d2,   // 210  
  0x02d3,   // 211  
  0x02d4,   // 212  
  0x02d5,   // 213  
  0x02d6,   // 214  
  0x02d7,   // 215  
  0x02d8,   // 216  
  0x02d9,   // 217  
  0x02da,   // 218  
  0x02db,   // 219  
  0x02dc,   // 220  
  0x02dd,   // 221  
  0x02de,   // 222  
  0x02df,   // 223  
  0x02e0,   // 224  
  0x02e1,   // 225  
  0x02e2,   // 226  
  0x02e3,   // 227  
  0x02e4,   // 228  
  0x02e5,   // 229  
  0x02e6,   // 230  
  0x02e7,   // 231  
  0x02e8,   // 232  
  0x02e9,   // 233  
  0x02ea,   // 234  
  0x02eb,   // 235  
  0x02ec,   // 236  
  0x02ed,   // 237  
  0x02ee,   // 238  
  0x02ef,   // 239  
  0x02f0,   // 240  
  0x02f1,   // 241  
  0x02f2,   // 242  
  0x02f3,   // 243  
  0x02f4,   // 244  
  0x02f5,   // 245  
  0x02f6,   // 246  
  0x02f7,   // 247  
  0x02f8,   // 248  
  0x02f9,   // 249  
  0x02fa,   // 250  
  0x02fb,   // 251  
  0x02fc,   // 252  
  0x02fd,   // 253  
  0x02fe,   // 254  
  0x02ff    // 255  
};

// code page 3
static wchar_t uc_tab_3[] = {
  0x0300,   // 0  
  0x0301,   // 1  
  0x0302,   // 2  
  0x0303,   // 3  
  0x0304,   // 4  
  0x0305,   // 5  
  0x0306,   // 6  
  0x0307,   // 7  
  0x0308,   // 8  
  0x0309,   // 9  
  0x030a,   // 10  
  0x030b,   // 11  
  0x030c,   // 12  
  0x030d,   // 13  
  0x030e,   // 14  
  0x030f,   // 15  
  0x0310,   // 16  
  0x0311,   // 17  
  0x0312,   // 18  
  0x0313,   // 19  
  0x0314,   // 20  
  0x0315,   // 21  
  0x0316,   // 22  
  0x0317,   // 23  
  0x0318,   // 24  
  0x0319,   // 25  
  0x031a,   // 26  
  0x031b,   // 27  
  0x031c,   // 28  
  0x031d,   // 29  
  0x031e,   // 30  
  0x031f,   // 31  
  0x0320,   // 32  
  0x0321,   // 33  
  0x0322,   // 34  
  0x0323,   // 35  
  0x0324,   // 36  
  0x0325,   // 37  
  0x0326,   // 38  
  0x0327,   // 39  
  0x0328,   // 40  
  0x0329,   // 41  
  0x032a,   // 42  
  0x032b,   // 43  
  0x032c,   // 44  
  0x032d,   // 45  
  0x032e,   // 46  
  0x032f,   // 47  
  0x0330,   // 48  
  0x0331,   // 49  
  0x0332,   // 50  
  0x0333,   // 51  
  0x0334,   // 52  
  0x0335,   // 53  
  0x0336,   // 54  
  0x0337,   // 55  
  0x0338,   // 56  
  0x0339,   // 57  
  0x033a,   // 58  
  0x033b,   // 59  
  0x033c,   // 60  
  0x033d,   // 61  
  0x033e,   // 62  
  0x033f,   // 63  
  0x0340,   // 64  
  0x0341,   // 65  
  0x0342,   // 66  
  0x0343,   // 67  
  0x0344,   // 68  
  0x0345,   // 69  
  0x0346,   // 70  
  0x0347,   // 71  
  0x0348,   // 72  
  0x0349,   // 73  
  0x034a,   // 74  
  0x034b,   // 75  
  0x034c,   // 76  
  0x034d,   // 77  
  0x034e,   // 78  
  0x034f,   // 79  
  0x0350,   // 80  
  0x0351,   // 81  
  0x0352,   // 82  
  0x0353,   // 83  
  0x0354,   // 84  
  0x0355,   // 85  
  0x0356,   // 86  
  0x0357,   // 87  
  0x0358,   // 88  
  0x0359,   // 89  
  0x035a,   // 90  
  0x035b,   // 91  
  0x035c,   // 92  
  0x035d,   // 93  
  0x035e,   // 94  
  0x035f,   // 95  
  0x0360,   // 96  
  0x0361,   // 97  
  0x0362,   // 98  
  0x0363,   // 99  
  0x0364,   // 100  
  0x0365,   // 101  
  0x0366,   // 102  
  0x0367,   // 103  
  0x0368,   // 104  
  0x0369,   // 105  
  0x036a,   // 106  
  0x036b,   // 107  
  0x036c,   // 108  
  0x036d,   // 109  
  0x036e,   // 110  
  0x036f,   // 111  
  0x0370,   // 112  
  0x0371,   // 113  
  0x0372,   // 114  
  0x0373,   // 115  
  0x0374,   // 116  
  0x0375,   // 117  
  0x0376,   // 118  
  0x0377,   // 119  
  0x0378,   // 120  
  0x0379,   // 121  
  0x037a,   // 122  
  0x037b,   // 123  
  0x037c,   // 124  
  0x037d,   // 125  
  0x037e,   // 126  
  0x037f,   // 127  
  0x0380,   // 128  
  0x0381,   // 129  
  0x0382,   // 130  
  0x0383,   // 131  
  0x0384,   // 132  
  0x0385,   // 133  
  0x03ac,   // 134  GREEK SMALL LETTER ALPHA WITH TONOS 	GREEK CAPITAL LETTER ALPHA WITH TONOS
  0x0387,   // 135  
  0x03ad,   // 136  GREEK SMALL LETTER EPSILON WITH TONOS 	GREEK CAPITAL LETTER EPSILON WITH TONOS
  0x03ae,   // 137  GREEK SMALL LETTER ETA WITH TONOS 	GREEK CAPITAL LETTER ETA WITH TONOS
  0x03af,   // 138  GREEK SMALL LETTER IOTA WITH TONOS 	GREEK CAPITAL LETTER IOTA WITH TONOS
  0x038b,   // 139  
  0x03cc,   // 140  GREEK SMALL LETTER OMICRON WITH TONOS 	GREEK CAPITAL LETTER OMICRON WITH TONOS
  0x038d,   // 141  
  0x03cd,   // 142  GREEK SMALL LETTER UPSILON WITH TONOS 	GREEK CAPITAL LETTER UPSILON WITH TONOS
  0x03ce,   // 143  GREEK SMALL LETTER OMEGA WITH TONOS 	GREEK CAPITAL LETTER OMEGA WITH TONOS
  0x0390,   // 144  
  0x03b1,   // 145  GREEK SMALL LETTER ALPHA 	GREEK CAPITAL LETTER ALPHA
  0x03b2,   // 146  GREEK SMALL LETTER BETA 	GREEK CAPITAL LETTER BETA
  0x03b3,   // 147  GREEK SMALL LETTER GAMMA 	GREEK CAPITAL LETTER GAMMA
  0x03b4,   // 148  GREEK SMALL LETTER DELTA 	GREEK CAPITAL LETTER DELTA
  0x03b5,   // 149  GREEK SMALL LETTER EPSILON 	GREEK CAPITAL LETTER EPSILON
  0x03b6,   // 150  GREEK SMALL LETTER ZETA 	GREEK CAPITAL LETTER ZETA
  0x03b7,   // 151  GREEK SMALL LETTER ETA 	GREEK CAPITAL LETTER ETA
  0x03b8,   // 152  GREEK SMALL LETTER THETA 	GREEK CAPITAL LETTER THETA
  0x03b9,   // 153  GREEK SMALL LETTER IOTA 	GREEK CAPITAL LETTER IOTA
  0x03ba,   // 154  GREEK SMALL LETTER KAPPA 	GREEK CAPITAL LETTER KAPPA
  0x03bb,   // 155  GREEK SMALL LETTER LAMDA 	GREEK CAPITAL LETTER LAMDA
  0x03bc,   // 156  GREEK SMALL LETTER MU 	GREEK CAPITAL LETTER MU
  0x03bd,   // 157  GREEK SMALL LETTER NU 	GREEK CAPITAL LETTER NU
  0x03be,   // 158  GREEK SMALL LETTER XI 	GREEK CAPITAL LETTER XI
  0x03bf,   // 159  GREEK SMALL LETTER OMICRON 	GREEK CAPITAL LETTER OMICRON
  0x03c0,   // 160  GREEK SMALL LETTER PI 	GREEK CAPITAL LETTER PI
  0x03c1,   // 161  GREEK SMALL LETTER RHO 	GREEK CAPITAL LETTER RHO
  0x03a2,   // 162  
  0x03c3,   // 163  GREEK SMALL LETTER SIGMA 	GREEK CAPITAL LETTER SIGMA
  0x03c4,   // 164  GREEK SMALL LETTER TAU 	GREEK CAPITAL LETTER TAU
  0x03c5,   // 165  GREEK SMALL LETTER UPSILON 	GREEK CAPITAL LETTER UPSILON
  0x03c6,   // 166  GREEK SMALL LETTER PHI 	GREEK CAPITAL LETTER PHI
  0x03c7,   // 167  GREEK SMALL LETTER CHI 	GREEK CAPITAL LETTER CHI
  0x03c8,   // 168  GREEK SMALL LETTER PSI 	GREEK CAPITAL LETTER PSI
  0x03c9,   // 169  GREEK SMALL LETTER OMEGA 	GREEK CAPITAL LETTER OMEGA
  0x03ca,   // 170  GREEK SMALL LETTER IOTA WITH DIALYTIKA 	GREEK CAPITAL LETTER IOTA WITH DIALYTIKA
  0x03cb,   // 171  GREEK SMALL LETTER UPSILON WITH DIALYTIKA 	GREEK CAPITAL LETTER UPSILON WITH DIALYTIKA
  0x03ac,   // 172  
  0x03ad,   // 173  
  0x03ae,   // 174  
  0x03af,   // 175  
  0x03b0,   // 176  
  0x03b1,   // 177  
  0x03b2,   // 178  
  0x03b3,   // 179  
  0x03b4,   // 180  
  0x03b5,   // 181  
  0x03b6,   // 182  
  0x03b7,   // 183  
  0x03b8,   // 184  
  0x03b9,   // 185  
  0x03ba,   // 186  
  0x03bb,   // 187  
  0x03bc,   // 188  
  0x03bd,   // 189  
  0x03be,   // 190  
  0x03bf,   // 191  
  0x03c0,   // 192  
  0x03c1,   // 193  
  0x03c2,   // 194  
  0x03c3,   // 195  
  0x03c4,   // 196  
  0x03c5,   // 197  
  0x03c6,   // 198  
  0x03c7,   // 199  
  0x03c8,   // 200  
  0x03c9,   // 201  
  0x03ca,   // 202  
  0x03cb,   // 203  
  0x03cc,   // 204  
  0x03cd,   // 205  
  0x03ce,   // 206  
  0x03cf,   // 207  
  0x03d0,   // 208  
  0x03d1,   // 209  
  0x03d2,   // 210  
  0x03d3,   // 211  
  0x03d4,   // 212  
  0x03d5,   // 213  
  0x03d6,   // 214  
  0x03d7,   // 215  
  0x03d8,   // 216  
  0x03d9,   // 217  
  0x03da,   // 218  
  0x03db,   // 219  
  0x03dc,   // 220  
  0x03dd,   // 221  
  0x03de,   // 222  
  0x03df,   // 223  
  0x03e0,   // 224  
  0x03e1,   // 225  
  0x03e3,   // 226  COPTIC SMALL LETTER SHEI 	COPTIC CAPITAL LETTER SHEI
  0x03e3,   // 227  
  0x03e5,   // 228  COPTIC SMALL LETTER FEI 	COPTIC CAPITAL LETTER FEI
  0x03e5,   // 229  
  0x03e7,   // 230  COPTIC SMALL LETTER KHEI 	COPTIC CAPITAL LETTER KHEI
  0x03e7,   // 231  
  0x03e9,   // 232  COPTIC SMALL LETTER HORI 	COPTIC CAPITAL LETTER HORI
  0x03e9,   // 233  
  0x03eb,   // 234  COPTIC SMALL LETTER GANGIA 	COPTIC CAPITAL LETTER GANGIA
  0x03eb,   // 235  
  0x03ed,   // 236  COPTIC SMALL LETTER SHIMA 	COPTIC CAPITAL LETTER SHIMA
  0x03ed,   // 237  
  0x03ef,   // 238  COPTIC SMALL LETTER DEI 	COPTIC CAPITAL LETTER DEI
  0x03ef,   // 239  
  0x03f0,   // 240  
  0x03f1,   // 241  
  0x03f2,   // 242  
  0x03f3,   // 243  
  0x03f4,   // 244  
  0x03f5,   // 245  
  0x03f6,   // 246  
  0x03f7,   // 247  
  0x03f8,   // 248  
  0x03f9,   // 249  
  0x03fa,   // 250  
  0x03fb,   // 251  
  0x03fc,   // 252  
  0x03fd,   // 253  
  0x03fe,   // 254  
  0x03ff    // 255  
};

// code page 4
static wchar_t uc_tab_4[] = {
  0x0400,   // 0  
  0x0451,   // 1  CYRILLIC SMALL LETTER IO 	CYRILLIC CAPITAL LETTER IO
  0x0452,   // 2  CYRILLIC SMALL LETTER DJE (SERBOCROATIAN) 	CYRILLIC CAPITAL LETTER DJE (SERBOCROATIAN)
  0x0453,   // 3  CYRILLIC SMALL LETTER GJE 	CYRILLIC CAPITAL LETTER GJE
  0x0454,   // 4  CYRILLIC SMALL LETTER UKRAINIAN IE 	CYRILLIC CAPITAL LETTER UKRAINIAN IE
  0x0455,   // 5  CYRILLIC SMALL LETTER DZE 	CYRILLIC CAPITAL LETTER DZE
  0x0456,   // 6  CYRILLIC SMALL LETTER BYELORUSSIAN-UKRAINIAN I 	CYRILLIC CAPITAL LETTER BYELORUSSIAN_UKRAINIAN I
  0x0457,   // 7  CYRILLIC SMALL LETTER YI (UKRAINIAN) 	CYRILLIC CAPITAL LETTER YI (UKRAINIAN)
  0x0458,   // 8  CYRILLIC SMALL LETTER JE 	CYRILLIC CAPITAL LETTER JE
  0x0459,   // 9  CYRILLIC SMALL LETTER LJE 	CYRILLIC CAPITAL LETTER LJE
  0x045a,   // 10  CYRILLIC SMALL LETTER NJE 	CYRILLIC CAPITAL LETTER NJE
  0x045b,   // 11  CYRILLIC SMALL LETTER TSHE (SERBOCROATIAN) 	CYRILLIC CAPITAL LETTER TSHE (SERBOCROATIAN)
  0x045c,   // 12  CYRILLIC SMALL LETTER KJE 	CYRILLIC CAPITAL LETTER KJE
  0x040d,   // 13  
  0x045e,   // 14  CYRILLIC SMALL LETTER SHORT U (BYELORUSSIAN) 	CYRILLIC CAPITAL LETTER SHORT U (BYELORUSSIAN)
  0x045f,   // 15  CYRILLIC SMALL LETTER DZHE 	CYRILLIC CAPITAL LETTER DZHE
  0x0430,   // 16  CYRILLIC SMALL LETTER A 	CYRILLIC CAPITAL LETTER A
  0x0431,   // 17  CYRILLIC SMALL LETTER BE 	CYRILLIC CAPITAL LETTER BE
  0x0432,   // 18  CYRILLIC SMALL LETTER VE 	CYRILLIC CAPITAL LETTER VE
  0x0433,   // 19  CYRILLIC SMALL LETTER GHE 	CYRILLIC CAPITAL LETTER GHE
  0x0434,   // 20  CYRILLIC SMALL LETTER DE 	CYRILLIC CAPITAL LETTER DE
  0x0435,   // 21  CYRILLIC SMALL LETTER IE 	CYRILLIC CAPITAL LETTER IE
  0x0436,   // 22  CYRILLIC SMALL LETTER ZHE 	CYRILLIC CAPITAL LETTER ZHE
  0x0437,   // 23  CYRILLIC SMALL LETTER ZE 	CYRILLIC CAPITAL LETTER ZE
  0x0438,   // 24  CYRILLIC SMALL LETTER I 	CYRILLIC CAPITAL LETTER I
  0x0439,   // 25  CYRILLIC SMALL LETTER SHORT I 	CYRILLIC CAPITAL LETTER SHORT I
  0x043a,   // 26  CYRILLIC SMALL LETTER KA 	CYRILLIC CAPITAL LETTER KA
  0x043b,   // 27  CYRILLIC SMALL LETTER EL 	CYRILLIC CAPITAL LETTER EL
  0x043c,   // 28  CYRILLIC SMALL LETTER EM 	CYRILLIC CAPITAL LETTER EM
  0x043d,   // 29  CYRILLIC SMALL LETTER EN 	CYRILLIC CAPITAL LETTER EN
  0x043e,   // 30  CYRILLIC SMALL LETTER O 	CYRILLIC CAPITAL LETTER O
  0x043f,   // 31  CYRILLIC SMALL LETTER PE 	CYRILLIC CAPITAL LETTER PE
  0x0440,   // 32  CYRILLIC SMALL LETTER ER 	CYRILLIC CAPITAL LETTER ER
  0x0441,   // 33  CYRILLIC SMALL LETTER ES 	CYRILLIC CAPITAL LETTER ES
  0x0442,   // 34  CYRILLIC SMALL LETTER TE 	CYRILLIC CAPITAL LETTER TE
  0x0443,   // 35  CYRILLIC SMALL LETTER U 	CYRILLIC CAPITAL LETTER U
  0x0444,   // 36  CYRILLIC SMALL LETTER EF 	CYRILLIC CAPITAL LETTER EF
  0x0445,   // 37  CYRILLIC SMALL LETTER HA 	CYRILLIC CAPITAL LETTER HA
  0x0446,   // 38  CYRILLIC SMALL LETTER TSE 	CYRILLIC CAPITAL LETTER TSE
  0x0447,   // 39  CYRILLIC SMALL LETTER CHE 	CYRILLIC CAPITAL LETTER CHE
  0x0448,   // 40  CYRILLIC SMALL LETTER SHA 	CYRILLIC CAPITAL LETTER SHA
  0x0449,   // 41  CYRILLIC SMALL LETTER SHCHA 	CYRILLIC CAPITAL LETTER SHCHA
  0x044a,   // 42  CYRILLIC SMALL LETTER HARD SIGN 	CYRILLIC CAPITAL LETTER HARD SIGN
  0x044b,   // 43  CYRILLIC SMALL LETTER YERU 	CYRILLIC CAPITAL LETTER YERU
  0x044c,   // 44  CYRILLIC SMALL LETTER SOFT SIGN 	CYRILLIC CAPITAL LETTER SOFT SIGN
  0x044d,   // 45  CYRILLIC SMALL LETTER E 	CYRILLIC CAPITAL LETTER E
  0x044e,   // 46  CYRILLIC SMALL LETTER YU 	CYRILLIC CAPITAL LETTER YU
  0x044f,   // 47  CYRILLIC SMALL LETTER YA 	CYRILLIC CAPITAL LETTER YA
  0x0430,   // 48  
  0x0431,   // 49  
  0x0432,   // 50  
  0x0433,   // 51  
  0x0434,   // 52  
  0x0435,   // 53  
  0x0436,   // 54  
  0x0437,   // 55  
  0x0438,   // 56  
  0x0439,   // 57  
  0x043a,   // 58  
  0x043b,   // 59  
  0x043c,   // 60  
  0x043d,   // 61  
  0x043e,   // 62  
  0x043f,   // 63  
  0x0440,   // 64  
  0x0441,   // 65  
  0x0442,   // 66  
  0x0443,   // 67  
  0x0444,   // 68  
  0x0445,   // 69  
  0x0446,   // 70  
  0x0447,   // 71  
  0x0448,   // 72  
  0x0449,   // 73  
  0x044a,   // 74  
  0x044b,   // 75  
  0x044c,   // 76  
  0x044d,   // 77  
  0x044e,   // 78  
  0x044f,   // 79  
  0x0450,   // 80  
  0x0451,   // 81  
  0x0452,   // 82  
  0x0453,   // 83  
  0x0454,   // 84  
  0x0455,   // 85  
  0x0456,   // 86  
  0x0457,   // 87  
  0x0458,   // 88  
  0x0459,   // 89  
  0x045a,   // 90  
  0x045b,   // 91  
  0x045c,   // 92  
  0x045d,   // 93  
  0x045e,   // 94  
  0x045f,   // 95  
  0x0461,   // 96  CYRILLIC SMALL LETTER OMEGA 	CYRILLIC CAPITAL LETTER OMEGA
  0x0461,   // 97  
  0x0463,   // 98  CYRILLIC SMALL LETTER YAT 	CYRILLIC CAPITAL LETTER YAT
  0x0463,   // 99  
  0x0465,   // 100  CYRILLIC SMALL LETTER IOTIFIED E 	CYRILLIC CAPITAL LETTER IOTIFIED E
  0x0465,   // 101  
  0x0467,   // 102  CYRILLIC SMALL LETTER LITTLE YUS 	CYRILLIC CAPITAL LETTER LITTLE YUS
  0x0467,   // 103  
  0x0469,   // 104  CYRILLIC SMALL LETTER IOTIFIED LITTLE YUS 	CYRILLIC CAPITAL LETTER IOTIFIED LITTLE YUS
  0x0469,   // 105  
  0x046b,   // 106  CYRILLIC SMALL LETTER BIG YUS 	CYRILLIC CAPITAL LETTER BIG YUS
  0x046b,   // 107  
  0x046d,   // 108  CYRILLIC SMALL LETTER IOTIFIED BIG YUS 	CYRILLIC CAPITAL LETTER IOTIFIED BIG YUS
  0x046d,   // 109  
  0x046f,   // 110  CYRILLIC SMALL LETTER KSI 	CYRILLIC CAPITAL LETTER KSI
  0x046f,   // 111  
  0x0471,   // 112  CYRILLIC SMALL LETTER PSI 	CYRILLIC CAPITAL LETTER PSI
  0x0471,   // 113  
  0x0473,   // 114  CYRILLIC SMALL LETTER FITA 	CYRILLIC CAPITAL LETTER FITA
  0x0473,   // 115  
  0x0475,   // 116  CYRILLIC SMALL LETTER IZHITSA 	CYRILLIC CAPITAL LETTER IZHITSA
  0x0475,   // 117  
  0x0477,   // 118  CYRILLIC SMALL LETTER IZHITSA WITH DOUBLE GRAVE ACCENT 	CYRILLIC CAPITAL LETTER IZHITSA WITH DOUBLE GRAVE ACCENT
  0x0477,   // 119  
  0x0479,   // 120  CYRILLIC SMALL LETTER UK 	CYRILLIC CAPITAL LETTER UK
  0x0479,   // 121  
  0x047b,   // 122  CYRILLIC SMALL LETTER ROUND OMEGA 	CYRILLIC CAPITAL LETTER ROUND OMEGA
  0x047b,   // 123  
  0x047d,   // 124  CYRILLIC SMALL LETTER OMEGA WITH TITLO 	CYRILLIC CAPITAL LETTER OMEGA WITH TITLO
  0x047d,   // 125  
  0x047f,   // 126  CYRILLIC SMALL LETTER OT 	CYRILLIC CAPITAL LETTER OT
  0x047f,   // 127  
  0x0481,   // 128  CYRILLIC SMALL LETTER KOPPA 	CYRILLIC CAPITAL LETTER KOPPA
  0x0481,   // 129  
  0x0482,   // 130  
  0x0483,   // 131  
  0x0484,   // 132  
  0x0485,   // 133  
  0x0486,   // 134  
  0x0487,   // 135  
  0x0488,   // 136  
  0x0489,   // 137  
  0x048a,   // 138  
  0x048b,   // 139  
  0x048c,   // 140  
  0x048d,   // 141  
  0x048e,   // 142  
  0x048f,   // 143  
  0x0491,   // 144  CYRILLIC SMALL LETTER GHE WITH UPTURN 	CYRILLIC CAPITAL LETTER GHE WITH UPTURN
  0x0491,   // 145  
  0x0493,   // 146  CYRILLIC SMALL LETTER GHE WITH STROKE 	CYRILLIC CAPITAL LETTER GHE WITH STROKE
  0x0493,   // 147  
  0x0495,   // 148  CYRILLIC SMALL LETTER GHE WITH MIDDLE HOOK 	CYRILLIC CAPITAL LETTER GHE WITH MIDDLE HOOK
  0x0495,   // 149  
  0x0497,   // 150  CYRILLIC SMALL LETTER ZHE WITH DESCENDER 	CYRILLIC CAPITAL LETTER ZHE WITH DESCENDER
  0x0497,   // 151  
  0x0499,   // 152  CYRILLIC SMALL LETTER ZE WITH DESCENDER 	CYRILLIC CAPITAL LETTER ZE WITH DESCENDER
  0x0499,   // 153  
  0x049b,   // 154  CYRILLIC SMALL LETTER KA WITH DESCENDER 	CYRILLIC CAPITAL LETTER KA WITH DESCENDER
  0x049b,   // 155  
  0x049d,   // 156  CYRILLIC SMALL LETTER KA WITH VERTICAL STROKE 	CYRILLIC CAPITAL LETTER KA WITH VERTICAL STROKE
  0x049d,   // 157  
  0x049f,   // 158  CYRILLIC SMALL LETTER KA WITH STROKE 	CYRILLIC CAPITAL LETTER KA WITH STROKE
  0x049f,   // 159  
  0x04a1,   // 160  CYRILLIC SMALL LETTER EASHKIR KA 	CYRILLIC CAPITAL LETTER BASHKIR KA
  0x04a1,   // 161  
  0x04a3,   // 162  CYRILLIC SMALL LETTER EN WITH DESCENOER 	CYRILLIC CAPITAL LETTER EN WITH DESCENDER
  0x04a3,   // 163  
  0x04a5,   // 164  CYRILLIC SMALL LIGATURE EN GHE 	CYRILLIC CAPITAL LIGATURE EN GHF
  0x04a5,   // 165  
  0x04a7,   // 166  CYRILLIC SMALL LETTER PE WITH MIDDLE HOOK (ABKHASIAN) 	CYRILLIC CAPITAL LETTER PE WITH MIDDLE HOOK (ABKHASIAN)
  0x04a7,   // 167  
  0x04a9,   // 168  CYRILLIC SMALL LETTER ABKHASIAN HA 	CYRILLIC CAPITAL LETTER ABKHASIAN HA
  0x04a9,   // 169  
  0x04ab,   // 170  CYRILLIC SMALL LETTER ES WITH DESCENDER 	CYRILLIC CAPITAL LETTER ES WITH DESCENDER
  0x04ab,   // 171  
  0x04ad,   // 172  CYRILLIC SMALL LETTER TE WITH DESCENDER 	CYRILLIC CAPITAL LETTER TE WITH DESCENDER
  0x04ad,   // 173  
  0x04af,   // 174  CYRILLIC SMALL LETTER STRAIGHT U 	CYRILLIC CAPITAL LETTER STRAIGHT U
  0x04af,   // 175  
  0x04b1,   // 176  CYRILLIC SMALL LETTER STRAIGHT U WITH STROKE 	CYRILLIC CAPITAL LETTER STRAIGHT U WITH STROKE
  0x04b1,   // 177  
  0x04b3,   // 178  CYRILLIC SMALL LETTER HA WITH DESCENDER 	CYRILLIC CAPITAL LETTER HA WITH DESCENDER
  0x04b3,   // 179  
  0x04b5,   // 180  CYRILLIC SMALL LIGATURE TE TSE (ABKHASIAN) 	CYRILLIC CAPITAL LIGATURE TE TSE (ABKHASIAN)
  0x04b5,   // 181  
  0x04b7,   // 182  CYRILLIC SMALL LETTER CHE WITH DESCENDER 	CYRILLIC CAPITAL LETTER CHE WITH DESCENDER
  0x04b7,   // 183  
  0x04b9,   // 184  CYRILLIC SMALL LETTER CHE WITH VERTICAL STROKE 	CYRILLIC CAPITAL LETTER CHE WITH VERTICAL STROKE
  0x04b9,   // 185  
  0x04bb,   // 186  CYRILLIC SMALL LETTER SHHA 	CYRILLIC CAPITAL LETTER SHHA
  0x04bb,   // 187  
  0x04bd,   // 188  CYRILLIC SMALL LETTER ABKHASIAN CHE 	CYRILLIC CAPITAL LETTER ABKHASIAN CHE
  0x04bd,   // 189  
  0x04bf,   // 190  CYRILLIC SMALL LETTER ABKHASIAN CHE WITH DESCENDER 	CYRILLIC CAPITAL LETTER ABKHASIAN CHE WITH DESCENDER
  0x04bf,   // 191  
  0x04c0,   // 192  
  0x04c2,   // 193  CYRILLIC SMALL LETTER ZHE WITH BREVE 	CYRILLIC CAPITAL LETTER ZHE WITH BREVE
  0x04c2,   // 194  
  0x04c4,   // 195  CYRILLIC SMALL LETTER KA WITH HOOK 	CYRILLIC CAPITAL LETTER KA WITH HOOK
  0x04c4,   // 196  
  0x04c5,   // 197  
  0x04c6,   // 198  
  0x04c8,   // 199  CYRILLIC SMALL LETTER EN WITH HOOK 	CYRILLIC CAPITAL LETTER EN WITH HOOK
  0x04c8,   // 200  
  0x04c9,   // 201  
  0x04ca,   // 202  
  0x04cc,   // 203  CYRILLIC SMALL LETTER KHAKASSIAN CHE 	CYRILLIC CAPITAL LETTER KHAKASSIAN CHE
  0x04cc,   // 204  
  0x04cd,   // 205  
  0x04ce,   // 206  
  0x04cf,   // 207  
  0x04d1,   // 208  CYRILLIC SMALL LETTER A WITH BREVE 	CYRILLIC CAPITAL LETTER A WITH BREVE
  0x04d1,   // 209  
  0x04d3,   // 210  CYRILLIC SMALL LETTER A WITH DIAERESIS 	CYRILLIC CAPITAL LETTER A WITH DIAERESIS
  0x04d3,   // 211  
  0x04d5,   // 212  CYRILLIC SMALL LIGATURE A IE 	CYRILLIC CAPITAL LIGATURE A IE
  0x04d5,   // 213  
  0x04d7,   // 214  CYRILLIC SMALL LETTER IE WITH BREVE 	CYRILLIC CAPITAL LETTER IE WITH BREVE
  0x04d7,   // 215  
  0x04d9,   // 216  CYRILLIC SMALL LETTER SCHWA 	CYRILLIC CAPITAL LETTER SCHWA
  0x04d9,   // 217  
  0x04db,   // 218  CYRILLIC SMALL LETTER SCHWA WITH DIAERESIS 	CYRILLIC CAPITAL LETTER SCHWA WITH DIAERESIS
  0x04db,   // 219  
  0x04dd,   // 220  CYRILLIC SMALL LETTER ZHE WITH DIAERESIS 	CYRILLIC CAPITAL LETTER ZHE WITH DIAERESIS
  0x04dd,   // 221  
  0x04df,   // 222  CYRILLIC SMALL LETTER ZE WITH DIAERESIS 	CYRILLIC CAPITAL LETTER ZE WITH DIAERESIS
  0x04df,   // 223  
  0x04e1,   // 224  CYRILLIC SMALL LETTER ABKHASIAN DZE 	CYRILLIC CAPITAL LETTER ABKHASIAN DZE
  0x04e1,   // 225  
  0x04e3,   // 226  CYRILLIC SMALL LETTER I WITH MACRON 	CYRILLIC CAPITAL LETTER I WITH MACRON
  0x04e3,   // 227  
  0x04e5,   // 228  CYRILLIC SMALL LETTER I WITH DIAERESIS 	CYRILLIC CAPITAL LETTER I WITH DIAERESIS
  0x04e5,   // 229  
  0x04e7,   // 230  CYRILLIC SMALL LETTER O WITH DIAERESIS 	CYRILLIC CAPITAL LETTER O WITH DIAERESIS
  0x04e7,   // 231  
  0x04e9,   // 232  CYRILLIC SMALL LETTER BARRED O 	CYRILLIC CAPITAL LETTER BARRED O
  0x04e9,   // 233  
  0x04eb,   // 234  CYRILLIC SMALL LETTER BARRED O WITH DIAERESIS 	CYRILLIC CAPITAL LETTER BARRED O WITH DIAERESIS
  0x04eb,   // 235  
  0x04ec,   // 236  
  0x04ed,   // 237  
  0x04ef,   // 238  CYRILLIC SMALL LETTER U WITH MACRON 	CYRILLIC CAPITAL LETTER U WITH MACRON
  0x04ef,   // 239  
  0x04f1,   // 240  CYRILLIC SMALL LETTER U WITH DIAERESIS 	CYRILLIC CAPITAL LETTER U WITH DIAERESIS
  0x04f1,   // 241  
  0x04f3,   // 242  CYRILLIC SMALL LETTER U WITH DOUBLE ACUTE 	CYRILLIC CAPITAL LETTER U WITH DOUBLE ACUTE
  0x04f3,   // 243  
  0x04f5,   // 244  CYRILLIC SMALL LETTER CHE AITH DIAERESIS 	CYRILLIC CAPITAL LETTER CHE WITH DIAERESIS
  0x04f5,   // 245  
  0x04f6,   // 246  
  0x04f7,   // 247  
  0x04f9,   // 248  CYRILLIC SMALL LETTER YERU WITH DIAERESIS 	CYRILLIC CAPITAL LETTER YERU WITH DIAERESIS
  0x04f9,   // 249  
  0x04fa,   // 250  
  0x04fb,   // 251  
  0x04fc,   // 252  
  0x04fd,   // 253  
  0x04fe,   // 254  
  0x04ff    // 255  
};

// code page 5
static wchar_t uc_tab_5[] = {
  0x0500,   // 0  
  0x0501,   // 1  
  0x0502,   // 2  
  0x0503,   // 3  
  0x0504,   // 4  
  0x0505,   // 5  
  0x0506,   // 6  
  0x0507,   // 7  
  0x0508,   // 8  
  0x0509,   // 9  
  0x050a,   // 10  
  0x050b,   // 11  
  0x050c,   // 12  
  0x050d,   // 13  
  0x050e,   // 14  
  0x050f,   // 15  
  0x0510,   // 16  
  0x0511,   // 17  
  0x0512,   // 18  
  0x0513,   // 19  
  0x0514,   // 20  
  0x0515,   // 21  
  0x0516,   // 22  
  0x0517,   // 23  
  0x0518,   // 24  
  0x0519,   // 25  
  0x051a,   // 26  
  0x051b,   // 27  
  0x051c,   // 28  
  0x051d,   // 29  
  0x051e,   // 30  
  0x051f,   // 31  
  0x0520,   // 32  
  0x0521,   // 33  
  0x0522,   // 34  
  0x0523,   // 35  
  0x0524,   // 36  
  0x0525,   // 37  
  0x0526,   // 38  
  0x0527,   // 39  
  0x0528,   // 40  
  0x0529,   // 41  
  0x052a,   // 42  
  0x052b,   // 43  
  0x052c,   // 44  
  0x052d,   // 45  
  0x052e,   // 46  
  0x052f,   // 47  
  0x0530,   // 48  
  0x0561,   // 49  ARMENIAN SMALL LETTER AYB 	ARMENIAN CAPITAL LETTER AYB
  0x0562,   // 50  ARMENIAN SMALL LETTER BEN 	ARMENIAN CAPITAL LETTER BEN
  0x0563,   // 51  ARMENIAN SMALL LETTER GIM 	ARMENIAN CAPITAL LETTER GIM
  0x0564,   // 52  ARMENIAN SMALL LETTER DA 	ARMENIAN CAPITAL LETTER DA
  0x0565,   // 53  ARMENIAN SMALL LETTER ECH 	ARMENIAN CAPITAL LETTER ECH
  0x0566,   // 54  ARMENIAN SMALL LETTER ZA 	ARMENIAN CAPITAL LETTER ZA
  0x0567,   // 55  ARMENIAN SMALL LETTER EH 	ARMENIAN CAPITAL LETTER EH
  0x0568,   // 56  ARMENIAN SMALL LETTER ET 	ARMENIAN CAPITAL LETTER ET
  0x0569,   // 57  ARMENIAN SMALL LETTER TO 	ARMENIAN CAPITAL LETTER TO
  0x056a,   // 58  ARMENIAN SMALL LETTER ZHE 	ARMENIAN CAPITAL LETTER ZHE
  0x056b,   // 59  ARMENIAN SMALL LETTER INI 	ARMENIAN CAPITAL LETTER INI
  0x056c,   // 60  ARMENIAN SMALL LETTER LIWN 	ARMENIAN CAPITAL LETTER LIWN
  0x056d,   // 61  ARMENIAN SMALL LETTER XEH 	ARMENIAN CAPITAL LETTER XEH
  0x056e,   // 62  ARMENIAN SMALL LETTER CA 	ARMENIAN CAPITAL LETTER CA
  0x056f,   // 63  ARMENIAN SMALL LETTER KEN 	ARMENIAN CAPITAL LETTER KEN
  0x0570,   // 64  ARMENIAN SMALL LETTER HO 	ARMENIAN CAPITAL LETTER HO
  0x0571,   // 65  ARMENIAN SMALL LETTER JA 	ARMENIAN CAPITAL LETTER JA
  0x0572,   // 66  ARMENIAN SMALL LETTER GHAD 	ARMENIAN CAPITAL LETTER GHAD
  0x0573,   // 67  ARMENIAN SMALL LETTER CHEH 	ARMENIAN CAPITAL LETTER CHEH
  0x0574,   // 68  ARMENIAN SMALL LETTER MEN 	ARMENIAN CAPITAL LETTER MEN
  0x0575,   // 69  ARMENIAN SMALL LETTER YI 	ARMENIAN CAPITAL LETTER YI
  0x0576,   // 70  ARMENIAN SMALL LETTER NOW 	ARMENIAN CAPITAL LETTER NOW
  0x0577,   // 71  ARMENIAN SMALL LETTER SNA 	ARMENIAN CAPITAL LETTER SHA
  0x0578,   // 72  ARMENIAN SMALL LETTER VO 	ARMENIAN CAPITAL LETTER VO
  0x0579,   // 73  ARMENIAN SMALL LETTER CHA 	ARMENIAN CAPITAL LETTER CHA
  0x057a,   // 74  ARMENIAN SMALL LETTER PEH 	ARMENIAN CAPITAL LETTER PEH
  0x057b,   // 75  ARMENIAN SMALL LETTER JHEH 	ARMENIAN CAPITAL LETTER JHEH
  0x057c,   // 76  ARMENIAN SMALL LETTER RA 	ARMENIAN CAPITAL LETTER RA
  0x057d,   // 77  ARMENIAN SMALL LETTER SEH 	ARMENIAN CAPITAL LETTER SEH
  0x057e,   // 78  ARMENIAN SMALL LETTER VEW 	ARMENIAN CAPITAL LETTER VEW
  0x057f,   // 79  ARMENIAN SMALL LETTER TIWN 	ARMENIAN CAPITAL LETTER TIWN
  0x0580,   // 80  ARMENIAN SMALL LETTER REH 	ARMENIAN CAPITAL LETTER REH
  0x0581,   // 81  ARMENIAN SMALL LETTER CO 	ARMENIAN CAPITAL LETTER CO
  0x0582,   // 82  ARMENIAN SMALL LETTER YIWN 	ARMENIAN CAPITAL LETTER YIWN
  0x0583,   // 83  ARMENIAN SMALL LETTER PIWP 	ARMENIAN CAPITAL LETTER PIWR
  0x0584,   // 84  ARMENIAN SMALL LETTER KEH 	ARMENIAN CAPITAL LETTER KEH
  0x0585,   // 85  ARMENIAN SMALL LETTER OH 	ARMENIAN CAPITAL LETTER OH
  0x0586,   // 86  ARMENIAN SMALL LETTER FEH 	ARMENIAN CAPITAL LETTER FEH
  0x0557,   // 87  
  0x0558,   // 88  
  0x0559,   // 89  
  0x055a,   // 90  
  0x055b,   // 91  
  0x055c,   // 92  
  0x055d,   // 93  
  0x055e,   // 94  
  0x055f,   // 95  
  0x0560,   // 96  
  0x0561,   // 97  
  0x0562,   // 98  
  0x0563,   // 99  
  0x0564,   // 100  
  0x0565,   // 101  
  0x0566,   // 102  
  0x0567,   // 103  
  0x0568,   // 104  
  0x0569,   // 105  
  0x056a,   // 106  
  0x056b,   // 107  
  0x056c,   // 108  
  0x056d,   // 109  
  0x056e,   // 110  
  0x056f,   // 111  
  0x0570,   // 112  
  0x0571,   // 113  
  0x0572,   // 114  
  0x0573,   // 115  
  0x0574,   // 116  
  0x0575,   // 117  
  0x0576,   // 118  
  0x0577,   // 119  
  0x0578,   // 120  
  0x0579,   // 121  
  0x057a,   // 122  
  0x057b,   // 123  
  0x057c,   // 124  
  0x057d,   // 125  
  0x057e,   // 126  
  0x057f,   // 127  
  0x0580,   // 128  
  0x0581,   // 129  
  0x0582,   // 130  
  0x0583,   // 131  
  0x0584,   // 132  
  0x0585,   // 133  
  0x0586,   // 134  
  0x0587,   // 135  
  0x0588,   // 136  
  0x0589,   // 137  
  0x058a,   // 138  
  0x058b,   // 139  
  0x058c,   // 140  
  0x058d,   // 141  
  0x058e,   // 142  
  0x058f,   // 143  
  0x0590,   // 144  
  0x0591,   // 145  
  0x0592,   // 146  
  0x0593,   // 147  
  0x0594,   // 148  
  0x0595,   // 149  
  0x0596,   // 150  
  0x0597,   // 151  
  0x0598,   // 152  
  0x0599,   // 153  
  0x059a,   // 154  
  0x059b,   // 155  
  0x059c,   // 156  
  0x059d,   // 157  
  0x059e,   // 158  
  0x059f,   // 159  
  0x05a0,   // 160  
  0x05a1,   // 161  
  0x05a2,   // 162  
  0x05a3,   // 163  
  0x05a4,   // 164  
  0x05a5,   // 165  
  0x05a6,   // 166  
  0x05a7,   // 167  
  0x05a8,   // 168  
  0x05a9,   // 169  
  0x05aa,   // 170  
  0x05ab,   // 171  
  0x05ac,   // 172  
  0x05ad,   // 173  
  0x05ae,   // 174  
  0x05af,   // 175  
  0x05b0,   // 176  
  0x05b1,   // 177  
  0x05b2,   // 178  
  0x05b3,   // 179  
  0x05b4,   // 180  
  0x05b5,   // 181  
  0x05b6,   // 182  
  0x05b7,   // 183  
  0x05b8,   // 184  
  0x05b9,   // 185  
  0x05ba,   // 186  
  0x05bb,   // 187  
  0x05bc,   // 188  
  0x05bd,   // 189  
  0x05be,   // 190  
  0x05bf,   // 191  
  0x05c0,   // 192  
  0x05c1,   // 193  
  0x05c2,   // 194  
  0x05c3,   // 195  
  0x05c4,   // 196  
  0x05c5,   // 197  
  0x05c6,   // 198  
  0x05c7,   // 199  
  0x05c8,   // 200  
  0x05c9,   // 201  
  0x05ca,   // 202  
  0x05cb,   // 203  
  0x05cc,   // 204  
  0x05cd,   // 205  
  0x05ce,   // 206  
  0x05cf,   // 207  
  0x05d0,   // 208  
  0x05d1,   // 209  
  0x05d2,   // 210  
  0x05d3,   // 211  
  0x05d4,   // 212  
  0x05d5,   // 213  
  0x05d6,   // 214  
  0x05d7,   // 215  
  0x05d8,   // 216  
  0x05d9,   // 217  
  0x05da,   // 218  
  0x05db,   // 219  
  0x05dc,   // 220  
  0x05dd,   // 221  
  0x05de,   // 222  
  0x05df,   // 223  
  0x05e0,   // 224  
  0x05e1,   // 225  
  0x05e2,   // 226  
  0x05e3,   // 227  
  0x05e4,   // 228  
  0x05e5,   // 229  
  0x05e6,   // 230  
  0x05e7,   // 231  
  0x05e8,   // 232  
  0x05e9,   // 233  
  0x05ea,   // 234  
  0x05eb,   // 235  
  0x05ec,   // 236  
  0x05ed,   // 237  
  0x05ee,   // 238  
  0x05ef,   // 239  
  0x05f0,   // 240  
  0x05f1,   // 241  
  0x05f2,   // 242  
  0x05f3,   // 243  
  0x05f4,   // 244  
  0x05f5,   // 245  
  0x05f6,   // 246  
  0x05f7,   // 247  
  0x05f8,   // 248  
  0x05f9,   // 249  
  0x05fa,   // 250  
  0x05fb,   // 251  
  0x05fc,   // 252  
  0x05fd,   // 253  
  0x05fe,   // 254  
  0x05ff    // 255  
};

// code page 16
static wchar_t uc_tab_16[] = {
  0x1000,   // 0  
  0x1001,   // 1  
  0x1002,   // 2  
  0x1003,   // 3  
  0x1004,   // 4  
  0x1005,   // 5  
  0x1006,   // 6  
  0x1007,   // 7  
  0x1008,   // 8  
  0x1009,   // 9  
  0x100a,   // 10  
  0x100b,   // 11  
  0x100c,   // 12  
  0x100d,   // 13  
  0x100e,   // 14  
  0x100f,   // 15  
  0x1010,   // 16  
  0x1011,   // 17  
  0x1012,   // 18  
  0x1013,   // 19  
  0x1014,   // 20  
  0x1015,   // 21  
  0x1016,   // 22  
  0x1017,   // 23  
  0x1018,   // 24  
  0x1019,   // 25  
  0x101a,   // 26  
  0x101b,   // 27  
  0x101c,   // 28  
  0x101d,   // 29  
  0x101e,   // 30  
  0x101f,   // 31  
  0x1020,   // 32  
  0x1021,   // 33  
  0x1022,   // 34  
  0x1023,   // 35  
  0x1024,   // 36  
  0x1025,   // 37  
  0x1026,   // 38  
  0x1027,   // 39  
  0x1028,   // 40  
  0x1029,   // 41  
  0x102a,   // 42  
  0x102b,   // 43  
  0x102c,   // 44  
  0x102d,   // 45  
  0x102e,   // 46  
  0x102f,   // 47  
  0x1030,   // 48  
  0x1031,   // 49  
  0x1032,   // 50  
  0x1033,   // 51  
  0x1034,   // 52  
  0x1035,   // 53  
  0x1036,   // 54  
  0x1037,   // 55  
  0x1038,   // 56  
  0x1039,   // 57  
  0x103a,   // 58  
  0x103b,   // 59  
  0x103c,   // 60  
  0x103d,   // 61  
  0x103e,   // 62  
  0x103f,   // 63  
  0x1040,   // 64  
  0x1041,   // 65  
  0x1042,   // 66  
  0x1043,   // 67  
  0x1044,   // 68  
  0x1045,   // 69  
  0x1046,   // 70  
  0x1047,   // 71  
  0x1048,   // 72  
  0x1049,   // 73  
  0x104a,   // 74  
  0x104b,   // 75  
  0x104c,   // 76  
  0x104d,   // 77  
  0x104e,   // 78  
  0x104f,   // 79  
  0x1050,   // 80  
  0x1051,   // 81  
  0x1052,   // 82  
  0x1053,   // 83  
  0x1054,   // 84  
  0x1055,   // 85  
  0x1056,   // 86  
  0x1057,   // 87  
  0x1058,   // 88  
  0x1059,   // 89  
  0x105a,   // 90  
  0x105b,   // 91  
  0x105c,   // 92  
  0x105d,   // 93  
  0x105e,   // 94  
  0x105f,   // 95  
  0x1060,   // 96  
  0x1061,   // 97  
  0x1062,   // 98  
  0x1063,   // 99  
  0x1064,   // 100  
  0x1065,   // 101  
  0x1066,   // 102  
  0x1067,   // 103  
  0x1068,   // 104  
  0x1069,   // 105  
  0x106a,   // 106  
  0x106b,   // 107  
  0x106c,   // 108  
  0x106d,   // 109  
  0x106e,   // 110  
  0x106f,   // 111  
  0x1070,   // 112  
  0x1071,   // 113  
  0x1072,   // 114  
  0x1073,   // 115  
  0x1074,   // 116  
  0x1075,   // 117  
  0x1076,   // 118  
  0x1077,   // 119  
  0x1078,   // 120  
  0x1079,   // 121  
  0x107a,   // 122  
  0x107b,   // 123  
  0x107c,   // 124  
  0x107d,   // 125  
  0x107e,   // 126  
  0x107f,   // 127  
  0x1080,   // 128  
  0x1081,   // 129  
  0x1082,   // 130  
  0x1083,   // 131  
  0x1084,   // 132  
  0x1085,   // 133  
  0x1086,   // 134  
  0x1087,   // 135  
  0x1088,   // 136  
  0x1089,   // 137  
  0x108a,   // 138  
  0x108b,   // 139  
  0x108c,   // 140  
  0x108d,   // 141  
  0x108e,   // 142  
  0x108f,   // 143  
  0x1090,   // 144  
  0x1091,   // 145  
  0x1092,   // 146  
  0x1093,   // 147  
  0x1094,   // 148  
  0x1095,   // 149  
  0x1096,   // 150  
  0x1097,   // 151  
  0x1098,   // 152  
  0x1099,   // 153  
  0x109a,   // 154  
  0x109b,   // 155  
  0x109c,   // 156  
  0x109d,   // 157  
  0x109e,   // 158  
  0x109f,   // 159  
  0x10d0,   // 160  GEORGIAN LETTER AN 	GEORGIAN CAPITAL LETTER AN (KHUTSURI)
  0x10d1,   // 161  GEORGIAN LETTER BAN 	GEORGIAN CAPITAL LETTER BAN (KHUTSURI)
  0x10d2,   // 162  GEORGIAN LETTER GAN 	GEORGIAN CAPITAL LETTER GAN (KHUTSURI)
  0x10d3,   // 163  GEORGIAN LETTER DON 	GEORGIAN CAPITAL LETTER DON (KHUTSURI)
  0x10d4,   // 164  GEORGIAN LETTER EN 	GEORGIAN CAPITAL LETTER EN (KHUTSURI)
  0x10d5,   // 165  GEORGIAN LETTER VIN 	GEORGIAN CAPITAL LETTER VIN (KHUTSURI)
  0x10d6,   // 166  GEORGIAN LETTER ZEN 	GEORGIAN CAPITAL LETTER ZEN (KHUTSURI)
  0x10d7,   // 167  GEORGIAN LETTER TAN 	GEORGIAN CAPITAL LETTER TAN (KHUTSURI)
  0x10d8,   // 168  GEORGIAN LETTER IN 	GEORGIAN CAPITAL LETTER IN (KHUTSURI)
  0x10d9,   // 169  GEORGIAN LETTER KAN 	GEORGIAN CAPITAL LETTER KAN (KHUTSURI)
  0x10da,   // 170  GEORGIAN LETTER LAS 	GEORGIAN CAPITAL LETTER LAS (KHUTSURI)
  0x10db,   // 171  GEORGIAN LETTER MAN 	GEORGIAN CAPITAL LETTER MAN (KHUTSURI)
  0x10dc,   // 172  GEORGIAN LETTER NAR 	GEORGIAN CAPITAL LETTER NAR (KHUTSURI)
  0x10dd,   // 173  GEORGIAN LETTER ON 	GEORGIAN CAPITAL LETTER ON (KHUTSURI)
  0x10de,   // 174  GEORGIAN LETTER PAR 	GEORGIAN CAPITAL LETTER PAR (KHUTSURI)
  0x10df,   // 175  GEORGIAN LETTER ZHAR 	GEORGIAN CAPITAL LETTER ZHAR (KHUTSURI)
  0x10e0,   // 176  GEORGIAN LETTER RAE 	GEORGIAN CAPITAL LETTER RAE (KHUTSURI)
  0x10e1,   // 177  GEORGIAN LETTER SAN 	GEORGIAN CAPITAL LETTER SAN (KHUTSURI)
  0x10e2,   // 178  GEORGIAN LETTER TAR 	GEORGIAN CAPITAL LETTER TAR (KHUTSURI)
  0x10e3,   // 179  GEORGIAN LETTER UN 	GEORGIAN CAPITAL LETTER UN (KHUTSURI)
  0x10e4,   // 180  GEORGIAN LETTER PHAR 	GEORGIAN CAPITAL LETTER PHAR (KHUTSURI)
  0x10e5,   // 181  GEORGIAN LETTER KHAR 	GEORGIAN CAPITAL LETTER KHAR (KHUTSURI)
  0x10e6,   // 182  GEORGIAN LETTER GHAN 	GEORGIAN CAPITAL LETTER GHAN (KHUTSURI)
  0x10e7,   // 183  GEORGIAN LETTER QAR 	GEORGIAN CAPITAL LETTER QAR (KHUTSURI)
  0x10e8,   // 184  GEORGIAN LETTER SHIN 	GEORGIAN CAPITAL LETTER SHIN (KHUTSURI)
  0x10e9,   // 185  GEORGIAN LETTER CHIN 	GEORGIAN CAPITAL LETTER CHIN (KHUTSURI)
  0x10ea,   // 186  GEORGIAN LETTER CAN 	GEORGIAN CAPITAL LETTER CAN (KHUTSURI)
  0x10eb,   // 187  GEORGIAN LETTER JIL 	GEORGIAN CAPITAL LETTER JIL (KHUTSURI)
  0x10ec,   // 188  GEORGIAN LETTER CIL 	GEORGIAN CAPITAL LETTER CIL (KHUTSURI)
  0x10ed,   // 189  GEORGIAN LETTER CHAR 	GEORGIAN CAPITAL LETTER CHAR (KHUTSURI)
  0x10ee,   // 190  GEORGIAN LETTER XAN 	GEORGIAN CAPITAL LETTER XAN (KHUTSURI)
  0x10ef,   // 191  GEORGIAN LETTER JHAN 	GEORGIAN CAPITAL LETTER JHAN (KHUTSURI)
  0x10f0,   // 192  GEORGIAN LETTER HAE 	GEORGIAN CAPITAL LETTER HAE (KHUTSURI)
  0x10f1,   // 193  GEORGIAN LETTER HE 	GEORGIAN CAPITAL LETTER HE (KHUTSURI)
  0x10f2,   // 194  GEORGIAN LETTER HIE 	GEORGIAN CAPITAL LETTER HIE (KHUTSURI)
  0x10f3,   // 195  GEORGIAN LETTER WE 	GEORGIAN CAPITAL LETTER WE (KHUTSURI)
  0x10f4,   // 196  GEORGIAN LETTER HAR 	GEORGIAN CAPITAL LETTER HAR (KHUTSURI)
  0x10f5,   // 197  GEORGIAN LETTER HOE 	GEORGIAN CAPITAL LETTER HOE (KHUTSURI)
  0x10c6,   // 198  
  0x10c7,   // 199  
  0x10c8,   // 200  
  0x10c9,   // 201  
  0x10ca,   // 202  
  0x10cb,   // 203  
  0x10cc,   // 204  
  0x10cd,   // 205  
  0x10ce,   // 206  
  0x10cf,   // 207  
  0x10d0,   // 208  
  0x10d1,   // 209  
  0x10d2,   // 210  
  0x10d3,   // 211  
  0x10d4,   // 212  
  0x10d5,   // 213  
  0x10d6,   // 214  
  0x10d7,   // 215  
  0x10d8,   // 216  
  0x10d9,   // 217  
  0x10da,   // 218  
  0x10db,   // 219  
  0x10dc,   // 220  
  0x10dd,   // 221  
  0x10de,   // 222  
  0x10df,   // 223  
  0x10e0,   // 224  
  0x10e1,   // 225  
  0x10e2,   // 226  
  0x10e3,   // 227  
  0x10e4,   // 228  
  0x10e5,   // 229  
  0x10e6,   // 230  
  0x10e7,   // 231  
  0x10e8,   // 232  
  0x10e9,   // 233  
  0x10ea,   // 234  
  0x10eb,   // 235  
  0x10ec,   // 236  
  0x10ed,   // 237  
  0x10ee,   // 238  
  0x10ef,   // 239  
  0x10f0,   // 240  
  0x10f1,   // 241  
  0x10f2,   // 242  
  0x10f3,   // 243  
  0x10f4,   // 244  
  0x10f5,   // 245  
  0x10f6,   // 246  
  0x10f7,   // 247  
  0x10f8,   // 248  
  0x10f9,   // 249  
  0x10fa,   // 250  
  0x10fb,   // 251  
  0x10fc,   // 252  
  0x10fd,   // 253  
  0x10fe,   // 254  
  0x10ff    // 255  
};

// code page 30
static wchar_t uc_tab_30[] = {
  0x1e01,   // 0  LATIN SMALL LETTER A WITH RING BELOW 	LATIN CAPITAL LETTER A WITH RING BELOW
  0x1e01,   // 1  
  0x1e03,   // 2  LATIN SMALL LETTER B WITH DOT ABOVE 	LATIN CAPITAL LETTER B WITH DOT ABOVE
  0x1e03,   // 3  
  0x1e05,   // 4  LATIN SMALL LETTER B WITH DOT BELOW 	LATIN CAPITAL LETTER B WITH DOT BELOW
  0x1e05,   // 5  
  0x1e07,   // 6  LATIN SMALL LETTER B WITH LINE BELOW 	LATIN CAPITAL LETTER B WITH LINE BELOW
  0x1e07,   // 7  
  0x1e09,   // 8  LATIN SMALL LETTER C WITH CEDILLA AND ACUTE 	LATIN CAPITAL LETTER C WITH CEDILLA AND ACUTE
  0x1e09,   // 9  
  0x1e0b,   // 10  LATIN SMALL LETTER D WITH DOT ABOVE 	LATIN CAPITAL LETTER D WITH DOT ABOVE
  0x1e0b,   // 11  
  0x1e0d,   // 12  LATIN SMALL LETTER D WITH DOT BELOW 	LATIN CAPITAL LETTER D WITH DOT BELOW
  0x1e0d,   // 13  
  0x1e0f,   // 14  LATIN SMALL LETTER D WITH LINE BELOW 	LATIN CAPITAL LETTER D WITH LINE BELOW
  0x1e0f,   // 15  
  0x1e11,   // 16  LATIN SMALL LETTER D WITH CEDILLA 	LATIN CAPITAL LETTER D WITH CEDILLA
  0x1e11,   // 17  
  0x1e13,   // 18  LATIN SMALL LETTER D WITH CIRCUMFLEX BELOW 	LATIN CAPITAL LETTER D WITH CIRCUMFLEX BELOW
  0x1e13,   // 19  
  0x1e15,   // 20  LATIN SMALL LETTER E WITH MACRON AND GRAVE 	LATIN CAPITAL LETTER E WITH MACRON AND GRAVE
  0x1e15,   // 21  
  0x1e17,   // 22  LATIN SMALL LETTER E WITH MACRON AND ACUTE 	LATIN CAPITAL LETTER E WITH MACRON AND ACUTE
  0x1e17,   // 23  
  0x1e19,   // 24  LATIN SMALL LETTER E WITH CIRCUMFLEX BELOW 	LATIN CAPITAL LETTER E WITH CIRCUMFLEX BELOW
  0x1e19,   // 25  
  0x1e1b,   // 26  LATIN SMALL LETTER E WITH TILDE BELOW 	LATIN CAPITAL LETTER E WITH TILDE BELOW
  0x1e1b,   // 27  
  0x1e1d,   // 28  LATIN SMALL LETTER E WITH CEDILLA AND BREVE 	LATIN CAPITAL LETTER E WITH CEDILLA AND BREVE
  0x1e1d,   // 29  
  0x1e1f,   // 30  LATIN SMALL LETTER F WITH DOT ABOVE 	LATIN CAPITAL LETTER F WITH DOT ABOVE
  0x1e1f,   // 31  
  0x1e21,   // 32  LATIN SMALL LETTER G WITH MACRON 	LATIN CAPITAL LETTER G WITH MACRON
  0x1e21,   // 33  
  0x1e23,   // 34  LATIN SMALL LETTER H WITH DOT ABOVE 	LATIN CAPITAL LETTER H WITH DOT ABOVE
  0x1e23,   // 35  
  0x1e25,   // 36  LATIN SMALL LETTER H WITH DOT BELOW 	LATIN CAPITAL LETTER H WITH DOT BELOW
  0x1e25,   // 37  
  0x1e27,   // 38  LATIN SMALL LETTER H WITH DIAERESIS 	LATIN CAPITAL LETTER H WITH DIAERESIS
  0x1e27,   // 39  
  0x1e29,   // 40  LATIN SMALL LETTER H WITH CEDILLA 	LATIN CAPITAL LETTER H WITH CEDILLA
  0x1e29,   // 41  
  0x1e2b,   // 42  LATIN SMALL LETTER H WITH BREVE BELOW 	LATIN CAPITAL LETTER H WITH BREVE BELOW
  0x1e2b,   // 43  
  0x1e2d,   // 44  LATIN SMALL LETTER I WITH TILDE BELOW 	LATIN CAPITAL LETTER I WITH TILDE BELOW
  0x1e2d,   // 45  
  0x1e2f,   // 46  LATIN SMALL LETTER I WITH DIAERESIS AND ACUTE 	LATIN CAPITAL LETTER I WITH DIAERESIS AND ACUTE
  0x1e2f,   // 47  
  0x1e31,   // 48  LATIN SMALL LETTER K WITH ACUTE 	LATIN CAPITAL LETTER K WITH ACUTE
  0x1e31,   // 49  
  0x1e33,   // 50  LATIN SMALL LETTER K WITH DOT BELOW 	LATIN CAPITAL LETTER K WITH DOT BELOW
  0x1e33,   // 51  
  0x1e35,   // 52  LATIN SMALL LETTER K WITH LINE BELOW 	LATIN CAPITAL LETTER K WITH LINE BELOW
  0x1e35,   // 53  
  0x1e37,   // 54  LATIN SMALL LETTER L WITH DOT BELOW 	LATIN CAPITAL LETTER L WITH DOT BELOW
  0x1e37,   // 55  
  0x1e39,   // 56  LATIN SMALL LETTER L WITH DOT BELOW AND MACRON 	LATIN CAPITAL LETTER L WITH DOT BELOW AND MACRON
  0x1e39,   // 57  
  0x1e3b,   // 58  LATIN SMALL LETTER L WITH LINE BELOW 	LATIN CAPITAL LETTER L WITH LINE BELOW
  0x1e3b,   // 59  
  0x1e3d,   // 60  LATIN SMALL LETTER L WITH CIRCUMFLEX BELOW 	LATIN CAPITAL LETTER L WITH CIRCUMFLEX BELOW
  0x1e3d,   // 61  
  0x1e3f,   // 62  LATIN SMALL LETTER M WITH ACUTE 	LATIN CAPITAL LETTER M WITH ACUTE
  0x1e3f,   // 63  
  0x1e41,   // 64  LATIN SMALL LETTER M WITH DOT ABOVE 	LATIN CAPITAL LETTER M WITH DOT ABOVE
  0x1e41,   // 65  
  0x1e43,   // 66  LATIN SMALL LETTER M WITH DOT BELOW 	LATIN CAPITAL LETTER M WITH DOT BELOW
  0x1e43,   // 67  
  0x1e45,   // 68  LATIN SMALL LETTER N WITH DOT ABOVE 	LATIN CAPITAL LETTER N WITH DOT ABOVE
  0x1e45,   // 69  
  0x1e47,   // 70  LATIN SMALL LETTER N WITH DOT BELOW 	LATIN CAPITAL LETTER N WITH DOT BELOW
  0x1e47,   // 71  
  0x1e49,   // 72  LATIN SMALL LETTER N WITH LINE BELOW 	LATIN CAPITAL LETTER N WITH LINE BELOW
  0x1e49,   // 73  
  0x1e4b,   // 74  LATIN SMALL LETTER N WITH CIRCUMFLEX BELOW 	LATIN CAPITAL LETTER N WITH CIRCUMFLEX BELOW
  0x1e4b,   // 75  
  0x1e4d,   // 76  LATIN SMALL LETTER O WITH TILDE AND ACUTE 	LATIN CAPITAL LETTER O WITH TILDE AND ACUTE
  0x1e4d,   // 77  
  0x1e4f,   // 78  LATIN SMALL LETTER O WITH TlLDE AND DIAERESIS 	LATIN CAPITAL LETTER O WITH TILDE AND DIAERESIS
  0x1e4f,   // 79  
  0x1e51,   // 80  LATIN SMALL LETTER O WITH MACRON AND GRAVE 	LATIN CAPITAL LETTER O WITH MACRON AND GRAVE
  0x1e51,   // 81  
  0x1e53,   // 82  LATIN SMALL LETTER O WITH MACRON AND ACUTE 	LATIN CAPITAL LETTER O WITH MACRON AND ACUTE
  0x1e53,   // 83  
  0x1e55,   // 84  LATIN SMALL LETTER P WITH ACUTE 	LATIN CAPITAL LETTER P WITH ACUTE
  0x1e55,   // 85  
  0x1e57,   // 86  LATIN SMALL LETTER P WITH DOT ABOVE 	LATIN CAPITAL LETTER P WITH DOT ABOVE
  0x1e57,   // 87  
  0x1e59,   // 88  LATIN SMALL LETTER R WITH DOT ABOVE 	LATIN CAPITAL LETTER R WITH DOT ABOVE
  0x1e59,   // 89  
  0x1e5b,   // 90  LATIN SMALL LETTER R WITH DOT BELOW 	LATIN CAPITAL LETTER R WITH DOT BELOW
  0x1e5b,   // 91  
  0x1e5d,   // 92  LATIN SMALL LETTER R WITH DOT BELOW AND MACRON 	LATIN CAPITAL LETTER R WITH DOT BELOW AND MACRON
  0x1e5d,   // 93  
  0x1e5f,   // 94  LATIN SMALL LETTER R WITH LINE BELOW 	LATIN CAPITAL LETTER R WITH LINE BELOW
  0x1e5f,   // 95  
  0x1e61,   // 96  LATIN SMALL LETTER S WITH DOT ABOVE 	LATIN CAPITAL LETTER S WITH DOT ABOVE
  0x1e61,   // 97  
  0x1e63,   // 98  LATIN SMALL LETTER S WITH DOT BELOW 	LATIN CAPITAL LETTER S WITH DOT BELOW
  0x1e63,   // 99  
  0x1e65,   // 100  LATIN SMALL LETTER S WITH ACUTE AND DOT ABOVE 	LATIN CAPITAL LETTER S WITH ACUTE AND DOT ABOVE
  0x1e65,   // 101  
  0x1e67,   // 102  LATIN SMALL LETTER S WITH CARON AND DOT ABOVE 	LATIN CAPITAL LETTER S WITH CARON AND DOT ABOVE
  0x1e67,   // 103  
  0x1e69,   // 104  LATIN SMALL LETTER S WITH DOT BELOW AND DOT ABOVE 	LATIN CAPITAL LETTER S WITH DOT BELOW AND DOT ABOVE
  0x1e69,   // 105  
  0x1e6b,   // 106  LATIN SMALL LETTER T WITH DOT ABOVE 	LATIN CAPITAL LETTER T WITH DOT ABOVE
  0x1e6b,   // 107  
  0x1e6d,   // 108  LATIN SMALL LETTER T WITH DOT BELOW 	LATIN CAPITAL LETTER T WITH DOT BELOW
  0x1e6d,   // 109  
  0x1e6f,   // 110  LATIN SMALL LETTER T WITH LINE BELOW 	LATIN CAPITAL LETTER T WITH LINE BELOW
  0x1e6f,   // 111  
  0x1e71,   // 112  LATIN SMALL LETTER T WITH CIRCUMFLEX BELOW 	LATIN CAPITAL LETTER T WITH CIRCUMFLEX BELOW
  0x1e71,   // 113  
  0x1e73,   // 114  LATIN SMALL LETTER U WITH DIAERESIS BELOW 	LATIN CAPITAL LETTER U WITH DIAERESIS BELOW
  0x1e73,   // 115  
  0x1e75,   // 116  LATIN SMALL LETTER U WITH TILDE BELOW 	LATIN CAPITAL LETTER U WITH TILDE BELOW
  0x1e75,   // 117  
  0x1e77,   // 118  LATIN SMALL LETTER U WITH CIRCUMFLEX BELOW 	LATIN CAPITAL LETTER U WITH CIRCUMFLEX BELOW
  0x1e77,   // 119  
  0x1e79,   // 120  LATIN SMALL LETTER U WITH TILDE AND ACUTE 	LATIN CAPITAL LETTER U WITH TILDE AND ACUTE
  0x1e79,   // 121  
  0x1e7b,   // 122  LATIN SMALL LETTER U WITH MACRON AND DIAERESIS 	LATIN CAPITAL LETTER U WITH MACRON AND DIAERESIS
  0x1e7b,   // 123  
  0x1e7d,   // 124  LATIN SMALL LETTER V WITH TILDE 	LATIN CAPITAL LETTER V WITH TILDE
  0x1e7d,   // 125  
  0x1e7f,   // 126  LATIN SMALL LETTER V WITH DOT BELOW 	LATIN CAPITAL LETTER V WITH DOT BELOW
  0x1e7f,   // 127  
  0x1e81,   // 128  LATIN SMALL LETTER W WITH GRAVE 	LATIN CAPITAL LETTER W WITH GRAVE
  0x1e81,   // 129  
  0x1e83,   // 130  LATIN SMALL LETTER W WITH ACUTE 	LATIN CAPITAL LETTER W WITH ACUTE
  0x1e83,   // 131  
  0x1e85,   // 132  LATIN SMALL LETTER W WITH DIAERESIS 	LATIN CAPITAL LETTER W WITH DIAERESIS
  0x1e85,   // 133  
  0x1e87,   // 134  LATIN SMALL LETTER W WITH DOT ABOVE 	LATIN CAPITAL LETTER W WITH DOT ABOVE
  0x1e87,   // 135  
  0x1e89,   // 136  LATIN SMALL LETTER W WITH DOT BELOW 	LATIN CAPITAL LETTER W WITH DOT BELOW
  0x1e89,   // 137  
  0x1e8b,   // 138  LATIN SMALL LETTER X WITH DOT ABOVE 	LATIN CAPITAL LETTER X WITH DOT ABOVE
  0x1e8b,   // 139  
  0x1e8d,   // 140  LATIN SMALL LETTER X WITH DIAERESIS 	LATIN CAPITAL LETTER X5 WITH DIAERESIS
  0x1e8d,   // 141  
  0x1e8f,   // 142  LATIN SMALL LETTER Y WITH DOT ABOVE 	LATIN CAPITAL LETTER Y WITH DOT ABOVE
  0x1e8f,   // 143  
  0x1e91,   // 144  LATIN SMALL LETTER Z WITH CIRCUMFLEX 	LATIN CAPITAL LETTER Z WITH CIRCUMFLEX
  0x1e91,   // 145  
  0x1e93,   // 146  LATIN SMALL LETTER Z WITH DOT BELOW 	LATIN CAPITAL LETTER Z WITH DOT BELOW
  0x1e93,   // 147  
  0x1e95,   // 148  LATIN SMALL LETTER Z WITH LINE BELOW 	LATIN CAPITAL LETTER Z WITH LINE BELOW
  0x1e95,   // 149  
  0x1e96,   // 150  
  0x1e97,   // 151  
  0x1e98,   // 152  
  0x1e99,   // 153  
  0x1e9a,   // 154  
  0x1e9b,   // 155  
  0x1e9c,   // 156  
  0x1e9d,   // 157  
  0x1e9e,   // 158  
  0x1e9f,   // 159  
  0x1ea1,   // 160  LATIN SMALL LETTER A WITH DOT BELOW 	LATIN CAPITAL LETTER A WITH DOT BELOW
  0x1ea1,   // 161  
  0x1ea3,   // 162  LATIN SMALL LETTER A WITH HOOK ABOVE 	LATIN CAPITAL LETTER A WITH HOOK ABOVE
  0x1ea3,   // 163  
  0x1ea5,   // 164  LATIN SMALL LETTER A WITH CIRCUMFLEX AND ACUTE 	LATIN CAPITAL LETTER A WITH CIRCUMFLEX AND ACUTE
  0x1ea5,   // 165  
  0x1ea7,   // 166  LATIN SMALL LETTER A WITH CIRCUMFLEX AND GRAVE 	LATIN CAPITAL LETTER A WITH CIRCUMFLEX AND GRAVE
  0x1ea7,   // 167  
  0x1ea9,   // 168  LATIN SMALL LETTER A WITH CIRCUMFLEX AND HOOK ABOVE 	LATIN CAPITAL LETTER A WITH CIRCUMFLEX AND HOOK ABOVE
  0x1ea9,   // 169  
  0x1eab,   // 170  LATIN SMALL LETTER A WITH CIRCUMFLEX AND TILDE 	LATIN CAPITAL LETTER A WITH CIRCUMFLEX AND TILDE
  0x1eab,   // 171  
  0x1ead,   // 172  LATIN SMALL LETTER A WITH CIRCUMFLEX AND DOT BELOW 	LATIN CAPITAL LETTER A WITH CIRCUMFLEX AND DOT BELOW
  0x1ead,   // 173  
  0x1eaf,   // 174  LATIN SMALL LETTER A WITH BREVE AND ACUTE 	LATIN CAPITAL LETTER A WITH BREVE AND ACUTE
  0x1eaf,   // 175  
  0x1eb1,   // 176  LATIN SMALL LETTER A WITH BREVE AND GRAVE 	LATIN CAPITAL LETTER A WITH BREVE AND GRAVE
  0x1eb1,   // 177  
  0x1eb3,   // 178  LATIN SMALL LETTER A WITH BREVE AND HOOK ABOVE 	LATIN CAPITAL LETTER A WITH BREVE AND HOOK ABOVE
  0x1eb3,   // 179  
  0x1eb5,   // 180  LATIN SMALL LETTER A WITH BREVE AND TILDE 	LATIN CAPITAL LETTER A WITH BREVE AND TILDE
  0x1eb5,   // 181  
  0x1eb7,   // 182  LATIN SMALL LETTER A WITH BREVE AND DOT BELOW 	LATIN CAPITAL LETTER A WITH BREVE AND DOT BELOW
  0x1eb7,   // 183  
  0x1eb9,   // 184  LATIN SMALL LETTER E WITH DOT BELOW 	LATIN CAPITAL LETTER E WITH DOT BELOW
  0x1eb9,   // 185  
  0x1ebb,   // 186  LATIN SMALL LETTER E WITH HOOK ABOVE 	LATIN CAPITAL LETTER E WITH HOOK ABOVE
  0x1ebb,   // 187  
  0x1ebd,   // 188  LATIN SMALL LETTER E WITH TILDE 	LATIN CAPITAL LETTER E WITH TILDE
  0x1ebd,   // 189  
  0x1ebf,   // 190  LATIN SMALL LETTER E WITH CIRCUMFLEX AND ACUTE 	LATIN CAPITAL LETTER E WITH CIRCUMFLEX AND ACUTE
  0x1ebf,   // 191  
  0x1ec1,   // 192  LATIN SMALL LETTER E WITH CIRCUMFLEX AND GRAVE 	LATIN CAPITAL LETTER E WITH CIRCUMFLEX AND GRAVE
  0x1ec1,   // 193  
  0x1ec3,   // 194  LATIN SMALL LETTER E WITH CIRCUMFLEX AND HOOK ABOVE 	LATIN CAPITAL LETTER E WITH CIRCUMFLEX AND HOOK ABOVE
  0x1ec3,   // 195  
  0x1ec5,   // 196  LATIN SMALL LETTER E WITH CIRCUMFLEX AND TILDE 	LATIN CAPITAL LETTER E WITH CIRCUMFLEX AND TILDE
  0x1ec5,   // 197  
  0x1ec7,   // 198  LATIN SMALL LETTER E WITH CIRCUMFLEX AND DOT BELOW 	LATIN CAPITAL LETTER E WITH CIRCUMFLEX AND DOT BELOW
  0x1ec7,   // 199  
  0x1ec9,   // 200  LATIN SMALL LETTER I WITH HOOK ABOVE 	LATIN CAPITAL LETTER I WITH HOOK ABOVE
  0x1ec9,   // 201  
  0x1ecb,   // 202  LATIN SMALL LETTER I WITH DOT BELOW 	LATIN CAPITAL LETTER I WITH DOT BELOW
  0x1ecb,   // 203  
  0x1ecd,   // 204  LATIN SMALL LETTER O WITH DOT BELOW 	LATIN CAPITAL LETTER O WITH DOT BELOW
  0x1ecd,   // 205  
  0x1ecf,   // 206  LATIN SMALL LETTER O WITH HOOK ABOVE 	LATIN CAPITAL LETTER O WITH HOOK ABOVE
  0x1ecf,   // 207  
  0x1ed1,   // 208  LATIN SMALL LETTER O WITH CIRCUMFLEX AND ACUTE 	LATIN CAPITAL LETTER O WITH CIRCUMFLEX AND ACUTE
  0x1ed1,   // 209  
  0x1ed3,   // 210  LATIN SMALL LETTER O WITH CIRCUMFLEX AND GRAVE 	LATIN CAPITAL LETTER O WITH CIRCUMFLEX AND GRAVE
  0x1ed3,   // 211  
  0x1ed5,   // 212  LATIN SMALL LETTER O WITH CIRCUMFLEX AND HOOK ABOVE 	LATIN CAPITAL LETTER O WITH CIRCUMFLEX AND HOOK ABOVE
  0x1ed5,   // 213  
  0x1ed7,   // 214  LATIN SMALL LETTER O WITH CIRCUMFLEX AND TILDE 	LATIN CAPITAL LETTER O WITH CIRCUMFLEX AND TILDE
  0x1ed7,   // 215  
  0x1ed9,   // 216  LATIN SMALL LETTER O WITH CIRCUMFLEX AND DOT BELOW 	LATIN CAPITAL LETTER O WITH CIRCUMFLEX AND DOT BELOW
  0x1ed9,   // 217  
  0x1edb,   // 218  LATIN SMALL LETTER O WITH HORN AND ACUTE 	LATIN CAPITAL LETTER O WITH HORN AND ACUTE
  0x1edb,   // 219  
  0x1edd,   // 220  LATIN SMALL LETTER O WITH HORN AND GRAVE 	LATIN CAPITAL LETTER O WITH HORN AND GRAVE
  0x1edd,   // 221  
  0x1edf,   // 222  LATIN SMALL LETTER O WITH HORN AND HOOK ABOVE 	LATIN CAPITAL LETTER O WITH HORN AND HOOK ABOVE
  0x1edf,   // 223  
  0x1ee1,   // 224  LATIN SMALL LETTER O WITH HORN AND TILDE 	LATIN CAPITAL LETTER O WITH HORN AND TILDE
  0x1ee1,   // 225  
  0x1ee3,   // 226  LATIN SMALL LETTER O WITH HORN AND DOT BELOW 	LATIN CAPITAL LETTER O WITH HORN AND DOT BELOW
  0x1ee3,   // 227  
  0x1ee5,   // 228  LATIN SMALL LETTER U WITH DOT BELOW 	LATIN CAPITAL LETTER U WITH DOT BELOW
  0x1ee5,   // 229  
  0x1ee7,   // 230  LATIN SMALL LETTER U WITH HOOK ABOVE 	LATIN CAPITAL LETTER U WITH HOOK ABOVE
  0x1ee7,   // 231  
  0x1ee9,   // 232  LATIN SMALL LETTER U WITH HORN AND ACUTE 	LATIN CAPITAL LETTER U WITH HORN AND ACUTE
  0x1ee9,   // 233  
  0x1eeb,   // 234  LATIN SMALL LETTER U WITH HORN AND GRAVE 	LATIN CAPITAL LETTER U WITH HORN AND GRAVE
  0x1eeb,   // 235  
  0x1eed,   // 236  LATIN SMALL LETTER U WITH HORN AND HOCK ABOVE 	LATIN CAPITAL LETTER U WITH HORN AND HOOK ABOVE
  0x1eed,   // 237  
  0x1eef,   // 238  LATIN SMALL LETTER U WITH HORN AND TILDE 	LATIN CAPITAL LETTER U WITH HORN AND TILDE
  0x1eef,   // 239  
  0x1ef1,   // 240  LATIN SMALL LETTER U WITH HORN AND DOT BELOW 	LATIN CAPITAL LETTER U WITH HORN AND DOT BELOW
  0x1ef1,   // 241  
  0x1ef3,   // 242  LATIN SMALL LETTER Y WITH GRAVE 	LATIN CAPITAL LETTER Y WITH GRAVE
  0x1ef3,   // 243  
  0x1ef5,   // 244  LATIN SMALL LETTER Y WITH DOT BELOW 	LATIN CAPITAL LETTER Y WITH DOT BELOW
  0x1ef5,   // 245  
  0x1ef7,   // 246  LATIN SMALL LETTER Y WITH HOOK ABOVE 	LATIN CAPITAL LETTER Y WITH HOOK ABOVE
  0x1ef7,   // 247  
  0x1ef9,   // 248  LATIN SMALL LETTER Y WITH TILDE 	LATIN CAPITAL LETTER Y WITH TILDE
  0x1ef9,   // 249  
  0x1efa,   // 250  
  0x1efb,   // 251  
  0x1efc,   // 252  
  0x1efd,   // 253  
  0x1efe,   // 254  
  0x1eff    // 255  
};

// code page 31
static wchar_t uc_tab_31[] = {
  0x1f00,   // 0  
  0x1f01,   // 1  
  0x1f02,   // 2  
  0x1f03,   // 3  
  0x1f04,   // 4  
  0x1f05,   // 5  
  0x1f06,   // 6  
  0x1f07,   // 7  
  0x1f00,   // 8  GREEK SMALL LETTER ALPHA WITH PSILI 	GREEK CAPITAL LETTER ALPHA WITH PSILI
  0x1f01,   // 9  GREEK SMALL LETTER ALPHA WITH DASIA 	GREEK CAPITAL LETTER ALPHA WITH DASIA
  0x1f02,   // 10  GREEK SMALL LETTER ALPHA WITH PSILI AND VARIA 	GREEK CAPITAL LETTER ALPHA WITH PSILI AND VARIA
  0x1f03,   // 11  GREEK SMALL LETTER ALPHA WITH DASIA AND VARIA 	GREEK CAPITAL LETTER ALPHA WITH DASIA AND VARIA
  0x1f04,   // 12  GREEK SMALL LETTER ALPHA WITH PSILI AND OXIA 	GREEK CAPITAL LETTER ALPHA WITH PSILI AND OXIA
  0x1f05,   // 13  GREEK SMALL LETTER ALPHA WITH DASIA AND OXIA 	GREEK CAPITAL LETTER ALPHA WITH DASIA AND OXIA
  0x1f06,   // 14  GREEK SMALL LETTER ALPHA WITH PSILI AND PERISPOMENI 	GREEK CAPITAL LETTER ALPHA WITH PSILI AND PERISPOMENI
  0x1f07,   // 15  GREEK SMALL LETTER ALPHA WITH DASIA AND PERISPOMENI 	GREEK CAPITAL LETTER ALPHA WITH DASIA AND PERISPOMENI
  0x1f10,   // 16  
  0x1f11,   // 17  
  0x1f12,   // 18  
  0x1f13,   // 19  
  0x1f14,   // 20  
  0x1f15,   // 21  
  0x1f16,   // 22  
  0x1f17,   // 23  
  0x1f10,   // 24  GREEK SMALL LETTER EPSILON WITH PSILI 	GREEK CAPITAL LETTER EPSILON WITH PSILI
  0x1f11,   // 25  GREEK SMALL LETTER EPSILON WITH DASIA 	GREEK CAPITAL LETTER EPSILON WITH DASIA
  0x1f12,   // 26  GREEK SMALL LETTER EPSILON WITH PSILI AND VARIA 	GREEK CAPITAL LETTER EPSILON WITH PSILI AND VARIA
  0x1f13,   // 27  GREEK SMALL LETTER EPSILON WITH DASIA AND VARIA 	GREEK CAPITAL LETTER EPSILON WITH DASIA AND VARIA
  0x1f14,   // 28  GREEK SMALL LETTER EPSILON WITH PSILI AND OXIA 	GREEK CAPITAL LETTER EPSILON WITH PSILI AND OXIA
  0x1f15,   // 29  GREEK SMALL LETTER EPSILON WITH DASIA AND OXIA 	GREEK CAPITAL LETTER EPSILON WITH DASIA AND OXIA
  0x1f1e,   // 30  
  0x1f1f,   // 31  
  0x1f20,   // 32  
  0x1f21,   // 33  
  0x1f22,   // 34  
  0x1f23,   // 35  
  0x1f24,   // 36  
  0x1f25,   // 37  
  0x1f26,   // 38  
  0x1f27,   // 39  
  0x1f20,   // 40  GREEK SMALL LETTER ETA WITH PSILI 	GREEK CAPITAL LETTER ETA WITH PSILI
  0x1f21,   // 41  GREEK SMALL LETTER ETA WITH DASIA 	GREEK CAPITAL LETTER ETA WITH DASIA
  0x1f22,   // 42  GREEK SMALL LETTER ETA WITH PSILI AND VARIA 	GREEK CAPITAL LETTER ETA WITH PSILI AND VARIA
  0x1f23,   // 43  GREEK SMALL LETTER ETA WITH DASIA AND VARIA 	GREEK CAPITAL LETTER ETA WITH DASIA AND VARIA
  0x1f24,   // 44  GREEK SMALL LETTER ETA WITH PSILI AND OXIA 	GREEK CAPITAL LETTER ETA WITH PSILI AND OXIA
  0x1f25,   // 45  GREEK SMALL LETTER ETA WITH DASIA AND OXIA 	GREEK CAPITAL LETTER ETA WITH DASIA AND OXIA
  0x1f26,   // 46  GREEK SMALL LETTER ETA WITH PSILI AND PERISPOMENI 	GREEK CAPITAL LETTER ETA WITH PSILI AND PERISPOMENI
  0x1f27,   // 47  GREEK SMALL LETTER ETA WITH DASIA AND PERISPOMENI 	GREEK CAPITAL LETTER ETA WITH DASIA AND PERISPOMENI
  0x1f30,   // 48  
  0x1f31,   // 49  
  0x1f32,   // 50  
  0x1f33,   // 51  
  0x1f34,   // 52  
  0x1f35,   // 53  
  0x1f36,   // 54  
  0x1f37,   // 55  
  0x1f30,   // 56  GREEK SMALL LETTER IOTA WITH PSILI 	GREEK CAPITAL LETTER IOTA WITH PSILI
  0x1f31,   // 57  GREEK SMALL LETTER IOTA WITH DASIA 	GREEK CAPITAL LETTER IOTA WITH DASIA
  0x1f32,   // 58  GREEK SMALL LETTER IOTA WITH PSILI AND VARIA 	GREEK CAPITAL LETTER IOTA WITH PSILI AND VARIA
  0x1f33,   // 59  GREEK SMALL LETTER IOTA WITH DASIA AND VARIA 	GREEK CAPITAL LETTER IOTA WITH DASIA AND VARIA
  0x1f34,   // 60  GREEK SMALL LETTER IOTA WITH PSILI AND OXIA 	GREEK CAPITAL LETTER IOTA WITH PSILI AND OXIA
  0x1f35,   // 61  GREEK SMALL LETTER IOTA WITH DASIA AND OXIA 	GREEK CAPITAL LETTER IOTA WITH DASIA AND OXIA
  0x1f36,   // 62  GREEK SMALL LETTER IOTA WITH PSILI AND PERISPOMENI 	GREEK CAPITAL LETTER IOTA WITH PSILI AND PERISPOMENI
  0x1f37,   // 63  GREEK SMALL LETTER IOTA WITH DASIA AND PERISPOMENI 	GREEK CAPITAL LETTER IOTA WITH DASIA AND PERISPOMENI
  0x1f40,   // 64  
  0x1f41,   // 65  
  0x1f42,   // 66  
  0x1f43,   // 67  
  0x1f44,   // 68  
  0x1f45,   // 69  
  0x1f46,   // 70  
  0x1f47,   // 71  
  0x1f40,   // 72  GREEK SMALL LETTER OMICRON WITH PSILI 	GREEK CAPITAL LETTER OMICRON WITH PSILI
  0x1f41,   // 73  GREEK SMALL LETTER OMICRON WITH DASIA 	GREEK CAPITAL LETTER OMICRON WITH DASIA
  0x1f42,   // 74  GREEK SMALL LETTER OMICRON WITH PSILI AND VARIA 	GREEK CAPITAL LETTER OMICRON WITH PSILI AND VARIA
  0x1f43,   // 75  GREEK SMALL LETTER OMICRON WITH DASIA AND VARIA 	GREEK CAPITAL LETTER OMICRON WITH DASIA AND VARIA
  0x1f44,   // 76  GREEK SMALL LETTER OMICRON WITH PSILI AND OXIA 	GREEK CAPITAL LETTER OMICRON WITH PSILI AND OXIA
  0x1f45,   // 77  GREEK SMALL LETTER OMICRON WITH DASIA AND OXIA 	GREEK CAPITAL LETTER OMICRON WITH DASIA AND OXIA
  0x1f4e,   // 78  
  0x1f4f,   // 79  
  0x1f50,   // 80  
  0x1f51,   // 81  
  0x1f52,   // 82  
  0x1f53,   // 83  
  0x1f54,   // 84  
  0x1f55,   // 85  
  0x1f56,   // 86  
  0x1f57,   // 87  
  0x1f58,   // 88  
  0x1f51,   // 89  GREEK SMALL LETTER UPSILON WITH DASIA 	GREEK CAPITAL LETTER UPSILON WITH OASIS
  0x1f5a,   // 90  
  0x1f53,   // 91  GREEK SMALL LETTER UPSILON WITH DASIA AND VARIA 	GREEK CAPITAL LETTER UPSILON WITH DASIA AND VARIA
  0x1f5c,   // 92  
  0x1f55,   // 93  GREEK SMALL LETTER UPSILON WITH DASIA AND OXIA 	GREEK CAPITAL LETTER UPSILON WITH DASIA AND OXIA
  0x1f5e,   // 94  
  0x1f57,   // 95  GREEK SMALL LETTER UPSILON WITH DASIA AND PERISPOMENI 	GREEK CAPITAL LETTER UPSILON WITH DASIA AND PERISPOMENI
  0x1f60,   // 96  
  0x1f61,   // 97  
  0x1f62,   // 98  
  0x1f63,   // 99  
  0x1f64,   // 100  
  0x1f65,   // 101  
  0x1f66,   // 102  
  0x1f67,   // 103  
  0x1f60,   // 104  GREEK SMALL LETTER OMEGA WITh PSILI 	GREEK CAPITAL LETTER OMEGA WITH PSILI
  0x1f61,   // 105  GREEK SMALL LETTER OMEGA WITH DASIA 	GREEK CAPITAL LETTER OMEGA WITH DASIA
  0x1f62,   // 106  GREEK SMALL LETTER OMEGA WITH PSILI AND VARIA 	GREEK CAPITAL LETTER OMEGA WITH PSILI AND VARIA
  0x1f63,   // 107  GREEK SMALL LETTER OMEGA WITH DASIA AND VARIA 	GREEK CAPITAL LETTER OMEGA WITH DASIA AND VARIA
  0x1f64,   // 108  GREEK SMALL LETTER OMEGA WITH PSILI AND OXIA 	GREEK CAPITAL LETTER OMEGA WITH PSILI AND OXIA
  0x1f65,   // 109  GREEK SMALL LETTER OMEGA WITH DASIA AND OXIA 	GREEK CAPITAL LETTER OMEGA WITH DASIA AND OXIA
  0x1f66,   // 110  GREEK SMALL LETTER OMEGA WITH PSILI AND PERISPOMENI 	GREEK CAPITAL LETTER OMEGA WITH PSILI AND PERISPOMENI
  0x1f67,   // 111  GREEK SMALL LETTER OMEGA WITH DASIA AND PERISPOMENI 	GREEK CAPITAL LETTER OMEGA WITH DASIA AND PERISPOMENI
  0x1f70,   // 112  
  0x1f71,   // 113  
  0x1f72,   // 114  
  0x1f73,   // 115  
  0x1f74,   // 116  
  0x1f75,   // 117  
  0x1f76,   // 118  
  0x1f77,   // 119  
  0x1f78,   // 120  
  0x1f79,   // 121  
  0x1f7a,   // 122  
  0x1f7b,   // 123  
  0x1f7c,   // 124  
  0x1f7d,   // 125  
  0x1f7e,   // 126  
  0x1f7f,   // 127  
  0x1f80,   // 128  
  0x1f81,   // 129  
  0x1f82,   // 130  
  0x1f83,   // 131  
  0x1f84,   // 132  
  0x1f85,   // 133  
  0x1f86,   // 134  
  0x1f87,   // 135  
  0x1f80,   // 136  GREEK SMALL LETTER ALPHA WITH PSILI AND YPOGEGRAMMENI 	GREEK CAPITAL LETTER ALPHA WITh PSILI AND PROSGEGRAMMENI
  0x1f81,   // 137  GREEK SMALL LETTER ALPHA WITH DASIA AND YPOGEGRAMMENI 	GREEK CAPITAL LETTER ALPHA WITH DASIA AND PROSGEGRAMMENI
  0x1f82,   // 138  GREEK SMALL LETTER ALPHA WITH PSILI AND VARIA AND YPOGEGRAMMENI 	GREEK CAPITAL LETTER ALPHA WITH PSILI AND VARIA AND PROSGEGRAMMENI
  0x1f83,   // 139  GREEK SMALL LETTER ALPHA WITH DASIA AND VARIA AND YPOGEGRAMMENI 	GREEK CAPITAL LETTER ALPHA WITH DASIA AND VARIA AND PROSGEGRAMMENI
  0x1f84,   // 140  GREEK SMALL LETTER ALPHA WITH PSILI AND OXIA AND YPOGEGRAMMENI 	GREEK CAPITAL LETTER ALPHA WITH PSILI AND OXIA AND PROSGEGRAMMEN
  0x1f85,   // 141  GREEK SMALL LETTER ALPHA WITH DASIA AND OXIA AND YPOGEGRAMMENI 	GREEK CAPITAL LETTER ALPHA WITH DASIA AND OXIA AND PROSGEGRAMMEN
  0x1f86,   // 142  GREEK SMALL LETTER ALPHA WITH PSILI AND PERISPOMENI AND YPOGEGRAMMENI 	GREEK CAPITAL LETTER ALPHA WITH PSILI AND PERISPOMENI AND PROSGEGRAMMENI
  0x1f87,   // 143  GREEK SMALL LETTER ALPHA WITH DASIA AND PERISPOMENI AND YPOGEGRAMMENI 	GREEK CAPITAL LETTER ALPHA WITH DASIA AND PERISPOMENI AND PROSGEGRAMMENI
  0x1f90,   // 144  
  0x1f91,   // 145  
  0x1f92,   // 146  
  0x1f93,   // 147  
  0x1f94,   // 148  
  0x1f95,   // 149  
  0x1f96,   // 150  
  0x1f97,   // 151  
  0x1f90,   // 152  GREEK SMALL LETTER ETA WITH PSILI AND YPOGEGRAMMENI 	GREEK CAPITAL LETTER ETA WITH PSILI AND PROSGEGRAMMENI
  0x1f91,   // 153  GREEK SMALL LETTER ETA WITH DASIA AND YPOGEGRAMMENI 	GREEK CAPITAL LETTER ETA WITH DASIA AND PROSGEGRAMMENI
  0x1f92,   // 154  GREEK SMALL LETTER ETA WITH PSILI AND VARIA AND YPOGEGRAMMENI 	GREEK CAPITAL LETTER ETA WITH PSILI AND VARIA AND PROSGEGRAMMENI
  0x1f93,   // 155  GREEK SMALL LETTER ETA WITH DASIA AND VARIA AND YPOGEGRAMMENI 	GREEK CAPITAL LETTER ETA WITH DASIA AND VARIA AND PROSGEGRAMMENI
  0x1f94,   // 156  GREEK SMALL LETTER ETA WITH PSILI AND OXIA AND YPOGEGRAMMENI 	GREEK CAPITAL LETTER ETA WITH PSILI AND OXIA AND PROSGEGRAMMENI
  0x1f95,   // 157  GREEK SMALL LETTER ETA WITH DASIA AND OXIA AND YPOGEGRAMMENI 	GREEK CAPITAL LETTER ETA WITH DASIA AND OXIA AND PROSGEGRAMMENI
  0x1f96,   // 158  GREEK SMALL LETTER ETA WITH PSILI AND PERISPOMENI AND YPOGEGRAMMENI 	GREEK CAPITAL LETTER ETA WITH PSILI AND PERISPOMENI AND PROSGEGRAMMENI
  0x1f97,   // 159  GREEK SMALL LETTER ETA WITH DASIA AND PERISPOMENI AND YPOGEGRAMMENI 	GREEK CAPITAL LETTER ETA WITH DASIA AND PERISPOMENI AND PROSGEGRAMMENI
  0x1fa0,   // 160  
  0x1fa1,   // 161  
  0x1fa2,   // 162  
  0x1fa3,   // 163  
  0x1fa4,   // 164  
  0x1fa5,   // 165  
  0x1fa6,   // 166  
  0x1fa7,   // 167  
  0x1fa0,   // 168  GREEK SMALL LETTER OMEGA WITH PSILI AND YPOGEGRAMMENI 	GREEK CAPITAL LETTER OMEGA WITH PSILI AND PROSGEGRAMMENI
  0x1fa1,   // 169  GREEK SMALL LETTER OMEGA WITH DASIA AND YPOGEGRAMMENI 	GREEK CAPITAL LETTER OMEGA WITH DASIA AND PROSGEGRAMMENI
  0x1fa2,   // 170  GREEK SMALL LETTER OMEGA WITH PSILI AND VARIA AND YPOGEGRAMMENI 	GREEK CAPITAL LETTER OMEGA WITH PSILI AND VARIA AND PROSGEGRAMMENI
  0x1fa3,   // 171  GREEK SMALL LETTER OMEGA WITH DASIA AND VARIA AND YPOGEGRAMMENI 	GREEK CAPITAL LETTER OMEGA WITH DASIA AND VARIA AND PROSGEGRAMMENI
  0x1fa4,   // 172  GREEK SMALL LETTER OMEGA WITH PSILI AND OXIA AND YPOGEGRAMMENI 	GREEK CAPITAL LETTER OMEGA WITH PSILI AND OXIA AND PROSGEGRAMMENI
  0x1fa5,   // 173  GREEK SMALL LETTER OMEGA WITH DASIA AND OXIA AND YPOGEGRAMMENI 	GREEK CAPITAL LETTER OMEGA WITH DASIA AND OXIA AND PROSGEGRAMMENI
  0x1fa6,   // 174  GREEK SMALL LETTER OMEGA WITh PSILI AND PERISPOMENI AND YPOGEGRAMMENI 	GREEK CAPITAL LETTER OMEGA WITH PSILI AND PERISPOMENI AND PROSGEGRAMMENI
  0x1fa7,   // 175  GREEK SMALL LETTER OMEGA WITH DASIA AND PEPISPOMENI AND YPOGEGRAMMENI 	GREEK CAPITAL LETTER OMECA WITH DASIA AND PERISPOMENI AND PROSGEGRAMMENI
  0x1fb0,   // 176  
  0x1fb1,   // 177  
  0x1fb2,   // 178  
  0x1fb3,   // 179  
  0x1fb4,   // 180  
  0x1fb5,   // 181  
  0x1fb6,   // 182  
  0x1fb7,   // 183  
  0x1fb0,   // 184  GREEK SMALL LETTER ALPHA WITH VRACHY 	GREEK CAPITAL LETTER ALPHA WITH VRACHY
  0x1fb1,   // 185  GREEK SMALL LETTER ALPHA WITH MACRON 	GREEK CAPITAL LETTER ALPHA WITH MACRON
  0x1fba,   // 186  
  0x1fbb,   // 187  
  0x1fbc,   // 188  
  0x1fbd,   // 189  
  0x1fbe,   // 190  
  0x1fbf,   // 191  
  0x1fc0,   // 192  
  0x1fc1,   // 193  
  0x1fc2,   // 194  
  0x1fc3,   // 195  
  0x1fc4,   // 196  
  0x1fc5,   // 197  
  0x1fc6,   // 198  
  0x1fc7,   // 199  
  0x1fc8,   // 200  
  0x1fc9,   // 201  
  0x1fca,   // 202  
  0x1fcb,   // 203  
  0x1fcc,   // 204  
  0x1fcd,   // 205  
  0x1fce,   // 206  
  0x1fcf,   // 207  
  0x1fd0,   // 208  
  0x1fd1,   // 209  
  0x1fd2,   // 210  
  0x1fd3,   // 211  
  0x1fd4,   // 212  
  0x1fd5,   // 213  
  0x1fd6,   // 214  
  0x1fd7,   // 215  
  0x1fd0,   // 216  GREEK SMALL LETTER IOTA WITH VRACHY 	GREEK CAPITAL LETTER IOTA WITH VRACHY
  0x1fd1,   // 217  GREEK SMALL LETTER IOTA WITH MACRON 	GREEK CAPITAL LETTER IOTA WITH MACRON
  0x1fda,   // 218  
  0x1fdb,   // 219  
  0x1fdc,   // 220  
  0x1fdd,   // 221  
  0x1fde,   // 222  
  0x1fdf,   // 223  
  0x1fe0,   // 224  
  0x1fe1,   // 225  
  0x1fe2,   // 226  
  0x1fe3,   // 227  
  0x1fe4,   // 228  
  0x1fe5,   // 229  
  0x1fe6,   // 230  
  0x1fe7,   // 231  
  0x1fe0,   // 232  GREEK SMALL LETTER UPSILON WITH VRACHY 	GREEK CAPITAL LETTER UPSILON WITH VRACHY
  0x1fe1,   // 233  GREEK SMALL LETTER UPSILON WITH MACRON 	GREEK CAPITAL LETTER UPSILON WITH MACRON
  0x1fea,   // 234  
  0x1feb,   // 235  
  0x1fec,   // 236  
  0x1fed,   // 237  
  0x1fee,   // 238  
  0x1fef,   // 239  
  0x1ff0,   // 240  
  0x1ff1,   // 241  
  0x1ff2,   // 242  
  0x1ff3,   // 243  
  0x1ff4,   // 244  
  0x1ff5,   // 245  
  0x1ff6,   // 246  
  0x1ff7,   // 247  
  0x1ff8,   // 248  
  0x1ff9,   // 249  
  0x1ffa,   // 250  
  0x1ffb,   // 251  
  0x1ffc,   // 252  
  0x1ffd,   // 253  
  0x1ffe,   // 254  
  0x1fff    // 255  
};

// code page 36
static wchar_t uc_tab_36[] = {
  0x2400,   // 0  
  0x2401,   // 1  
  0x2402,   // 2  
  0x2403,   // 3  
  0x2404,   // 4  
  0x2405,   // 5  
  0x2406,   // 6  
  0x2407,   // 7  
  0x2408,   // 8  
  0x2409,   // 9  
  0x240a,   // 10  
  0x240b,   // 11  
  0x240c,   // 12  
  0x240d,   // 13  
  0x240e,   // 14  
  0x240f,   // 15  
  0x2410,   // 16  
  0x2411,   // 17  
  0x2412,   // 18  
  0x2413,   // 19  
  0x2414,   // 20  
  0x2415,   // 21  
  0x2416,   // 22  
  0x2417,   // 23  
  0x2418,   // 24  
  0x2419,   // 25  
  0x241a,   // 26  
  0x241b,   // 27  
  0x241c,   // 28  
  0x241d,   // 29  
  0x241e,   // 30  
  0x241f,   // 31  
  0x2420,   // 32  
  0x2421,   // 33  
  0x2422,   // 34  
  0x2423,   // 35  
  0x2424,   // 36  
  0x2425,   // 37  
  0x2426,   // 38  
  0x2427,   // 39  
  0x2428,   // 40  
  0x2429,   // 41  
  0x242a,   // 42  
  0x242b,   // 43  
  0x242c,   // 44  
  0x242d,   // 45  
  0x242e,   // 46  
  0x242f,   // 47  
  0x2430,   // 48  
  0x2431,   // 49  
  0x2432,   // 50  
  0x2433,   // 51  
  0x2434,   // 52  
  0x2435,   // 53  
  0x2436,   // 54  
  0x2437,   // 55  
  0x2438,   // 56  
  0x2439,   // 57  
  0x243a,   // 58  
  0x243b,   // 59  
  0x243c,   // 60  
  0x243d,   // 61  
  0x243e,   // 62  
  0x243f,   // 63  
  0x2440,   // 64  
  0x2441,   // 65  
  0x2442,   // 66  
  0x2443,   // 67  
  0x2444,   // 68  
  0x2445,   // 69  
  0x2446,   // 70  
  0x2447,   // 71  
  0x2448,   // 72  
  0x2449,   // 73  
  0x244a,   // 74  
  0x244b,   // 75  
  0x244c,   // 76  
  0x244d,   // 77  
  0x244e,   // 78  
  0x244f,   // 79  
  0x2450,   // 80  
  0x2451,   // 81  
  0x2452,   // 82  
  0x2453,   // 83  
  0x2454,   // 84  
  0x2455,   // 85  
  0x2456,   // 86  
  0x2457,   // 87  
  0x2458,   // 88  
  0x2459,   // 89  
  0x245a,   // 90  
  0x245b,   // 91  
  0x245c,   // 92  
  0x245d,   // 93  
  0x245e,   // 94  
  0x245f,   // 95  
  0x2460,   // 96  
  0x2461,   // 97  
  0x2462,   // 98  
  0x2463,   // 99  
  0x2464,   // 100  
  0x2465,   // 101  
  0x2466,   // 102  
  0x2467,   // 103  
  0x2468,   // 104  
  0x2469,   // 105  
  0x246a,   // 106  
  0x246b,   // 107  
  0x246c,   // 108  
  0x246d,   // 109  
  0x246e,   // 110  
  0x246f,   // 111  
  0x2470,   // 112  
  0x2471,   // 113  
  0x2472,   // 114  
  0x2473,   // 115  
  0x2474,   // 116  
  0x2475,   // 117  
  0x2476,   // 118  
  0x2477,   // 119  
  0x2478,   // 120  
  0x2479,   // 121  
  0x247a,   // 122  
  0x247b,   // 123  
  0x247c,   // 124  
  0x247d,   // 125  
  0x247e,   // 126  
  0x247f,   // 127  
  0x2480,   // 128  
  0x2481,   // 129  
  0x2482,   // 130  
  0x2483,   // 131  
  0x2484,   // 132  
  0x2485,   // 133  
  0x2486,   // 134  
  0x2487,   // 135  
  0x2488,   // 136  
  0x2489,   // 137  
  0x248a,   // 138  
  0x248b,   // 139  
  0x248c,   // 140  
  0x248d,   // 141  
  0x248e,   // 142  
  0x248f,   // 143  
  0x2490,   // 144  
  0x2491,   // 145  
  0x2492,   // 146  
  0x2493,   // 147  
  0x2494,   // 148  
  0x2495,   // 149  
  0x2496,   // 150  
  0x2497,   // 151  
  0x2498,   // 152  
  0x2499,   // 153  
  0x249a,   // 154  
  0x249b,   // 155  
  0x249c,   // 156  
  0x249d,   // 157  
  0x249e,   // 158  
  0x249f,   // 159  
  0x24a0,   // 160  
  0x24a1,   // 161  
  0x24a2,   // 162  
  0x24a3,   // 163  
  0x24a4,   // 164  
  0x24a5,   // 165  
  0x24a6,   // 166  
  0x24a7,   // 167  
  0x24a8,   // 168  
  0x24a9,   // 169  
  0x24aa,   // 170  
  0x24ab,   // 171  
  0x24ac,   // 172  
  0x24ad,   // 173  
  0x24ae,   // 174  
  0x24af,   // 175  
  0x24b0,   // 176  
  0x24b1,   // 177  
  0x24b2,   // 178  
  0x24b3,   // 179  
  0x24b4,   // 180  
  0x24b5,   // 181  
  0x24d0,   // 182  CIRCLED LATIN SMALL LETTER A 	CIRCLED LATIN CAPITAL LETTER A
  0x24d1,   // 183  CIRCLED LATIN SMALL LETTER B 	CIRCLED LATIN CAPITAL LETTER B
  0x24d2,   // 184  CIRCLED LATIN SMALL LETTER C 	CIRCLED LATIN CAPITAL LETTER C
  0x24d3,   // 185  CIRCLED LATIN SMALL LETTER D 	CIRCLED LATIN CAPITAL LETTER D
  0x24d4,   // 186  CIRCLED LATIN SMALL LETTER E 	CIRCLED LATIN CAPITAL LETTER E
  0x24d5,   // 187  CIRCLED LATIN SMALL LETTER F 	CIRCLED LATIN CAPITAL LETTER F
  0x24d6,   // 188  CIRCLED LATIN SMALL LETTER G 	CIRCLED LATIN CAPITAL LETTER G
  0x24d7,   // 189  CIRCLED LATIN SMALL LETTER H 	CIRCLED LATIN CAPITAL LETTER H
  0x24d8,   // 190  CIRCLED LATIN SMALL LETTER I 	CIRCLED LATIN CAPITAL LETTER I
  0x24d9,   // 191  CIRCLED LATIN SMALL LETTER J 	CIRCLED LATIN CAPITAL LETTER J
  0x24da,   // 192  CIRCLED LATIN SMALL LETTER K 	CIRCLED LATIN CAPITAL LETTER K
  0x24db,   // 193  CIRCLED LATIN SMALL LETTER L 	CIRCLED LATIN CAPITAL LETTER L
  0x24dc,   // 194  CIRCLED LATIN SMALL LETTER M 	CIRCLED LATIN CAPITAL LETTER M
  0x24dd,   // 195  CIRCLED LATIN SMALL LETTER N 	CIRCLED LATIN CAPITAL LETTER N
  0x24de,   // 196  CIRCLED LATIN SMALL LETTER O 	CIRCLED LATIN CAPITAL LETTER O
  0x24df,   // 197  CIRCLED LATIN SMALL LETTER P 	CIRCLED LATIN CAPITAL LETTER P
  0x24e0,   // 198  CIRCLED LATIN SMALL LETTER Q 	CIRCLED LATIN CAPITAL LETTER Q
  0x24e1,   // 199  CIRCLED LATIN SMALL LETTER R 	CIRCLED LATIN CAPITAL LETTER R
  0x24e2,   // 200  CIRCLED LATIN SMALL LETTER S 	CIRCLED LATIN CAPITAL LETTER S
  0x24e3,   // 201  CIRCLED LATIN SMALL LETTER T 	CIRCLED LATIN CAPITAL LETTER T
  0x24e4,   // 202  CIRCLED LATIN SMALL LETTER U 	CIRCLED LATIN CAPITAL LETTER U
  0x24e5,   // 203  CIRCLED LATIN SMALL LETTER V 	CIRCLED LATIN CAPITAL LETTER V
  0x24e6,   // 204  CIRCLED LATIN SMALL LETTER W 	CIRCLED LATIN CAPITAL LETTER W
  0x24e7,   // 205  CIRCLED LATIN SMALL LETTER X 	CIRCLED LATIN CAPITAL LETTER X
  0x24e8,   // 206  CIRCLED LATIN SMALL LETTER Y 	CIRCLED LATIN CAPITAL LETTER Y
  0x24e9,   // 207  CIRCLED LATIN SMALL LETTER Z 	CIRCLED LATIN CAPITAL LETTER Z
  0x24d0,   // 208  
  0x24d1,   // 209  
  0x24d2,   // 210  
  0x24d3,   // 211  
  0x24d4,   // 212  
  0x24d5,   // 213  
  0x24d6,   // 214  
  0x24d7,   // 215  
  0x24d8,   // 216  
  0x24d9,   // 217  
  0x24da,   // 218  
  0x24db,   // 219  
  0x24dc,   // 220  
  0x24dd,   // 221  
  0x24de,   // 222  
  0x24df,   // 223  
  0x24e0,   // 224  
  0x24e1,   // 225  
  0x24e2,   // 226  
  0x24e3,   // 227  
  0x24e4,   // 228  
  0x24e5,   // 229  
  0x24e6,   // 230  
  0x24e7,   // 231  
  0x24e8,   // 232  
  0x24e9,   // 233  
  0x24ea,   // 234  
  0x24eb,   // 235  
  0x24ec,   // 236  
  0x24ed,   // 237  
  0x24ee,   // 238  
  0x24ef,   // 239  
  0x24f0,   // 240  
  0x24f1,   // 241  
  0x24f2,   // 242  
  0x24f3,   // 243  
  0x24f4,   // 244  
  0x24f5,   // 245  
  0x24f6,   // 246  
  0x24f7,   // 247  
  0x24f8,   // 248  
  0x24f9,   // 249  
  0x24fa,   // 250  
  0x24fb,   // 251  
  0x24fc,   // 252  
  0x24fd,   // 253  
  0x24fe,   // 254  
  0x24ff    // 255  
};

// code page 255
static wchar_t uc_tab_255[] = {
  0xff00,   // 0  
  0xff01,   // 1  
  0xff02,   // 2  
  0xff03,   // 3  
  0xff04,   // 4  
  0xff05,   // 5  
  0xff06,   // 6  
  0xff07,   // 7  
  0xff08,   // 8  
  0xff09,   // 9  
  0xff0a,   // 10  
  0xff0b,   // 11  
  0xff0c,   // 12  
  0xff0d,   // 13  
  0xff0e,   // 14  
  0xff0f,   // 15  
  0xff10,   // 16  
  0xff11,   // 17  
  0xff12,   // 18  
  0xff13,   // 19  
  0xff14,   // 20  
  0xff15,   // 21  
  0xff16,   // 22  
  0xff17,   // 23  
  0xff18,   // 24  
  0xff19,   // 25  
  0xff1a,   // 26  
  0xff1b,   // 27  
  0xff1c,   // 28  
  0xff1d,   // 29  
  0xff1e,   // 30  
  0xff1f,   // 31  
  0xff20,   // 32  
  0xff41,   // 33  FULLWIDTH LATIN SMALL LETTER A 	FULLWIDTH LATIN CAPITAL LETTER A
  0xff42,   // 34  FULLWIDTH LATIN SMALL LETTER B 	FULLWIDTH LATIN CAPITAL LETTER B
  0xff43,   // 35  FULLWIDTH LATIN SMALL LETTER C 	FULLWIDTH LATIN CAPITAL LETTER C
  0xff44,   // 36  FULLWIDTH LATIN SMALL LETTER D 	FULLWIDTH LATIN CAPITAL LETTER D
  0xff45,   // 37  FULLWIDTH LATIN SMALL LETTER E 	FULLWIDTH LATIN CAPITAL LETTER E
  0xff46,   // 38  FULLWIDTH LATIN SMALL LETTER F 	FULLWIDTH LATIN CAPITAL LETTER F
  0xff47,   // 39  FULLWIDTH LATIN SMALL LETTER G 	FULLWIDTH LATIN CAPITAL LETTER G
  0xff48,   // 40  FULLWIDTH LATIN SMALL LETTER H 	FULLWIDTH LATIN CAPITAL LETTER H
  0xff49,   // 41  FULLWIDTH LATIN SMALL LETTER I 	FULLWIDTH LATIN CAPITAL LETTER I
  0xff4a,   // 42  FULLWIDTH LATIN SMALL LETTER J 	FULLWIDTH LATIN CAPITAL LETTER J
  0xff4b,   // 43  FULLWIDTH LATIN SMALL LETTER K 	FULLWIDTH LATIN CAPITAL LETTER K
  0xff4c,   // 44  FULLWIDTH LATIN SMALL LETTER L 	FULLWIDTH LATIN CAPITAL LETTER L
  0xff4d,   // 45  FULLWIDTH LATIN SMALL LETTER M 	FULLWIDTH LATIN CAPITAL LETTER M
  0xff4e,   // 46  FULLWIDTH LATIN SMALL LETTER N 	FULLWIDTH LATIN CAPITAL LETTER N
  0xff4f,   // 47  FULLWIDTH LATIN SMALL LETTER O 	FULLWIDTH LATIN CAPITAL LETTER O
  0xff50,   // 48  FULLWIDTH LATIN SMALL LETTER P 	FULLWIDTH LATIN CAPITAL LETTER P
  0xff51,   // 49  FULLWIDTH LATIN SMALL LETTER Q 	FULLWIDTH LATIN CAPITAL LETTER Q
  0xff52,   // 50  FULLWIDTH LATIN SMALL LETTER R 	FULLWIDTH LATIN CAPITAL LETTER R
  0xff53,   // 51  FULLWIDTH LATIN SMALL LETTER S 	FULLWIDTH LATIN CAPITAL LETTER S
  0xff54,   // 52  FULLWIDTH LATIN SMALL LETTER T 	FULLWIDTH LATIN CAPITAL LETTER T
  0xff55,   // 53  FULLWIDTH LATIN SMALL LETTER U 	FULLWIDTH LATIN CAPITAL LETTER U
  0xff56,   // 54  FULLWIDTH LATIN SMALL LETTER V 	FULLWIDTH LATIN CAPITAL LETTER V
  0xff57,   // 55  FULLWIDTH LATIN SMALL LETTER W 	FULLWIDTH LATIN CAPITAL LETTER W
  0xff58,   // 56  FULLWIDTH LATIN SMALL LETTER X 	FULLWIDTH LATIN CAPITAL LETTER X
  0xff59,   // 57  FULLWIDTH LATIN SMALL LETTER Y 	FULLWIDTH LATIN CAPITAL LETTER Y
  0xff5a,   // 58  FULLWIDTH LATIN SMALL LETTER Z 	FULLWIDTH LATIN CAPITAL LETTER Z
  0xff3b,   // 59  
  0xff3c,   // 60  
  0xff3d,   // 61  
  0xff3e,   // 62  
  0xff3f,   // 63  
  0xff40,   // 64  
  0xff41,   // 65  
  0xff42,   // 66  
  0xff43,   // 67  
  0xff44,   // 68  
  0xff45,   // 69  
  0xff46,   // 70  
  0xff47,   // 71  
  0xff48,   // 72  
  0xff49,   // 73  
  0xff4a,   // 74  
  0xff4b,   // 75  
  0xff4c,   // 76  
  0xff4d,   // 77  
  0xff4e,   // 78  
  0xff4f,   // 79  
  0xff50,   // 80  
  0xff51,   // 81  
  0xff52,   // 82  
  0xff53,   // 83  
  0xff54,   // 84  
  0xff55,   // 85  
  0xff56,   // 86  
  0xff57,   // 87  
  0xff58,   // 88  
  0xff59,   // 89  
  0xff5a,   // 90  
  0xff5b,   // 91  
  0xff5c,   // 92  
  0xff5d,   // 93  
  0xff5e,   // 94  
  0xff5f,   // 95  
  0xff60,   // 96  
  0xff61,   // 97  
  0xff62,   // 98  
  0xff63,   // 99  
  0xff64,   // 100  
  0xff65,   // 101  
  0xff66,   // 102  
  0xff67,   // 103  
  0xff68,   // 104  
  0xff69,   // 105  
  0xff6a,   // 106  
  0xff6b,   // 107  
  0xff6c,   // 108  
  0xff6d,   // 109  
  0xff6e,   // 110  
  0xff6f,   // 111  
  0xff70,   // 112  
  0xff71,   // 113  
  0xff72,   // 114  
  0xff73,   // 115  
  0xff74,   // 116  
  0xff75,   // 117  
  0xff76,   // 118  
  0xff77,   // 119  
  0xff78,   // 120  
  0xff79,   // 121  
  0xff7a,   // 122  
  0xff7b,   // 123  
  0xff7c,   // 124  
  0xff7d,   // 125  
  0xff7e,   // 126  
  0xff7f,   // 127  
  0xff80,   // 128  
  0xff81,   // 129  
  0xff82,   // 130  
  0xff83,   // 131  
  0xff84,   // 132  
  0xff85,   // 133  
  0xff86,   // 134  
  0xff87,   // 135  
  0xff88,   // 136  
  0xff89,   // 137  
  0xff8a,   // 138  
  0xff8b,   // 139  
  0xff8c,   // 140  
  0xff8d,   // 141  
  0xff8e,   // 142  
  0xff8f,   // 143  
  0xff90,   // 144  
  0xff91,   // 145  
  0xff92,   // 146  
  0xff93,   // 147  
  0xff94,   // 148  
  0xff95,   // 149  
  0xff96,   // 150  
  0xff97,   // 151  
  0xff98,   // 152  
  0xff99,   // 153  
  0xff9a,   // 154  
  0xff9b,   // 155  
  0xff9c,   // 156  
  0xff9d,   // 157  
  0xff9e,   // 158  
  0xff9f,   // 159  
  0xffa0,   // 160  
  0xffa1,   // 161  
  0xffa2,   // 162  
  0xffa3,   // 163  
  0xffa4,   // 164  
  0xffa5,   // 165  
  0xffa6,   // 166  
  0xffa7,   // 167  
  0xffa8,   // 168  
  0xffa9,   // 169  
  0xffaa,   // 170  
  0xffab,   // 171  
  0xffac,   // 172  
  0xffad,   // 173  
  0xffae,   // 174  
  0xffaf,   // 175  
  0xffb0,   // 176  
  0xffb1,   // 177  
  0xffb2,   // 178  
  0xffb3,   // 179  
  0xffb4,   // 180  
  0xffb5,   // 181  
  0xffb6,   // 182  
  0xffb7,   // 183  
  0xffb8,   // 184  
  0xffb9,   // 185  
  0xffba,   // 186  
  0xffbb,   // 187  
  0xffbc,   // 188  
  0xffbd,   // 189  
  0xffbe,   // 190  
  0xffbf,   // 191  
  0xffc0,   // 192  
  0xffc1,   // 193  
  0xffc2,   // 194  
  0xffc3,   // 195  
  0xffc4,   // 196  
  0xffc5,   // 197  
  0xffc6,   // 198  
  0xffc7,   // 199  
  0xffc8,   // 200  
  0xffc9,   // 201  
  0xffca,   // 202  
  0xffcb,   // 203  
  0xffcc,   // 204  
  0xffcd,   // 205  
  0xffce,   // 206  
  0xffcf,   // 207  
  0xffd0,   // 208  
  0xffd1,   // 209  
  0xffd2,   // 210  
  0xffd3,   // 211  
  0xffd4,   // 212  
  0xffd5,   // 213  
  0xffd6,   // 214  
  0xffd7,   // 215  
  0xffd8,   // 216  
  0xffd9,   // 217  
  0xffda,   // 218  
  0xffdb,   // 219  
  0xffdc,   // 220  
  0xffdd,   // 221  
  0xffde,   // 222  
  0xffdf,   // 223  
  0xffe0,   // 224  
  0xffe1,   // 225  
  0xffe2,   // 226  
  0xffe3,   // 227  
  0xffe4,   // 228  
  0xffe5,   // 229  
  0xffe6,   // 230  
  0xffe7,   // 231  
  0xffe8,   // 232  
  0xffe9,   // 233  
  0xffea,   // 234  
  0xffeb,   // 235  
  0xffec,   // 236  
  0xffed,   // 237  
  0xffee,   // 238  
  0xffef,   // 239  
  0xfff0,   // 240  
  0xfff1,   // 241  
  0xfff2,   // 242  
  0xfff3,   // 243  
  0xfff4,   // 244  
  0xfff5,   // 245  
  0xfff6,   // 246  
  0xfff7,   // 247  
  0xfff8,   // 248  
  0xfff9,   // 249  
  0xfffa,   // 250  
  0xfffb,   // 251  
  0xfffc,   // 252  
  0xfffd,   // 253  
  0xfffe,   // 254  
  0xffff    // 255  
};

// per-page table
static wchar_t *uc_tab[] = {
  uc_tab_0,
  uc_tab_1,
  uc_tab_2,
  uc_tab_3,
  uc_tab_4,
  uc_tab_5,
  0,
  0,
  0,
  0,
  0,
  0,
  0,
  0,
  0,
  0,
  uc_tab_16,
  0,
  0,
  0,
  0,
  0,
  0,
  0,
  0,
  0,
  0,
  0,
  0,
  0,
  uc_tab_30,
  uc_tab_31,
  0,
  0,
  0,
  0,
  uc_tab_36,
  0,
  0,
  0,
  0,
  0,
  0,
  0,
  0,
  0,
  0,
  0,
  0,
  0,
  0,
  0,
  0,
  0,
  0,
  0,
  0,
  0,
  0,
  0,
  0,
  0,
  0,
  0,
  0,
  0,
  0,
  0,
  0,
  0,
  0,
  0,
  0,
  0,
  0,
  0,
  0,
  0,
  0,
  0,
  0,
  0,
  0,
  0,
  0,
  0,
  0,
  0,
  0,
  0,
  0,
  0,
  0,
  0,
  0,
  0,
  0,
  0,
  0,
  0,
  0,
  0,
  0,
  0,
  0,
  0,
  0,
  0,
  0,
  0,
  0,
  0,
  0,
  0,
  0,
  0,
  0,
  0,
  0,
  0,
  0,
  0,
  0,
  0,
  0,
  0,
  0,
  0,
  0,
  0,
  0,
  0,
  0,
  0,
  0,
  0,
  0,
  0,
  0,
  0,
  0,
  0,
  0,
  0,
  0,
  0,
  0,
  0,
  0,
  0,
  0,
  0,
  0,
  0,
  0,
  0,
  0,
  0,
  0,
  0,
  0,
  0,
  0,
  0,
  0,
  0,
  0,
  0,
  0,
  0,
  0,
  0,
  0,
  0,
  0,
  0,
  0,
  0,
  0,
  0,
  0,
  0,
  0,
  0,
  0,
  0,
  0,
  0,
  0,
  0,
  0,
  0,
  0,
  0,
  0,
  0,
  0,
  0,
  0,
  0,
  0,
  0,
  0,
  0,
  0,
  0,
  0,
  0,
  0,
  0,
  0,
  0,
  0,
  0,
  0,
  0,
  0,
  0,
  0,
  0,
  0,
  0,
  0,
  0,
  0,
  0,
  0,
  0,
  0,
  0,
  0,
  0,
  0,
  0,
  0,
  0,
  0,
  0,
  0,
  0,
  0,
  0,
  0,
  0,
  0,
  0,
  0,
  0,
  0,
  0,
  0,
  0,
  0,
  0,
  0,
  uc_tab_255
};

