updated chan_fatfs

Dependents:   HARP2 HARP3

Fork of chan_fatfs by Eli Hughes

Committer:
tylerjw
Date:
Wed Dec 12 16:44:58 2012 +0000
Revision:
7:f84cf96bb008
Parent:
2:e8cd708f09ff
commented out warning in ccsbcs.cpp stating that the file is not needed if long file names are disabled... test and fix

Who changed what in which revision?

UserRevisionLine numberNew contents of line
tylerjw 2:e8cd708f09ff 1 /* (SBCS code pages) */
tylerjw 2:e8cd708f09ff 2 /*------------------------------------------------------------------------*/
tylerjw 2:e8cd708f09ff 3 /* 437 U.S. (OEM)
tylerjw 2:e8cd708f09ff 4 / 720 Arabic (OEM)
tylerjw 2:e8cd708f09ff 5 / 1256 Arabic (Windows)
tylerjw 2:e8cd708f09ff 6 / 737 Greek (OEM)
tylerjw 2:e8cd708f09ff 7 / 1253 Greek (Windows)
tylerjw 2:e8cd708f09ff 8 / 1250 Central Europe (Windows)
tylerjw 2:e8cd708f09ff 9 / 775 Baltic (OEM)
tylerjw 2:e8cd708f09ff 10 / 1257 Baltic (Windows)
tylerjw 2:e8cd708f09ff 11 / 850 Multilingual Latin 1 (OEM)
tylerjw 2:e8cd708f09ff 12 / 852 Latin 2 (OEM)
tylerjw 2:e8cd708f09ff 13 / 1252 Latin 1 (Windows)
tylerjw 2:e8cd708f09ff 14 / 855 Cyrillic (OEM)
tylerjw 2:e8cd708f09ff 15 / 1251 Cyrillic (Windows)
tylerjw 2:e8cd708f09ff 16 / 866 Russian (OEM)
tylerjw 2:e8cd708f09ff 17 / 857 Turkish (OEM)
tylerjw 2:e8cd708f09ff 18 / 1254 Turkish (Windows)
tylerjw 2:e8cd708f09ff 19 / 858 Multilingual Latin 1 + Euro (OEM)
tylerjw 2:e8cd708f09ff 20 / 862 Hebrew (OEM)
tylerjw 2:e8cd708f09ff 21 / 1255 Hebrew (Windows)
tylerjw 2:e8cd708f09ff 22 / 874 Thai (OEM, Windows)
tylerjw 2:e8cd708f09ff 23 / 1258 Vietnam (OEM, Windows)
tylerjw 2:e8cd708f09ff 24 */
tylerjw 2:e8cd708f09ff 25
tylerjw 2:e8cd708f09ff 26 #include "../ff.h"
tylerjw 2:e8cd708f09ff 27
tylerjw 2:e8cd708f09ff 28
tylerjw 2:e8cd708f09ff 29 #if _CODE_PAGE == 437
tylerjw 2:e8cd708f09ff 30 #define _TBLDEF 1
tylerjw 2:e8cd708f09ff 31 static
tylerjw 2:e8cd708f09ff 32 const WCHAR Tbl[] = { /* CP437(0x80-0xFF) to Unicode conversion table */
tylerjw 2:e8cd708f09ff 33 0x00C7, 0x00FC, 0x00E9, 0x00E2, 0x00E4, 0x00E0, 0x00E5, 0x00E7,
tylerjw 2:e8cd708f09ff 34 0x00EA, 0x00EB, 0x00E8, 0x00EF, 0x00EE, 0x00EC, 0x00C4, 0x00C5,
tylerjw 2:e8cd708f09ff 35 0x00C9, 0x00E6, 0x00C6, 0x00F4, 0x00F6, 0x00F2, 0x00FB, 0x00F9,
tylerjw 2:e8cd708f09ff 36 0x00FF, 0x00D6, 0x00DC, 0x00A2, 0x00A3, 0x00A5, 0x20A7, 0x0192,
tylerjw 2:e8cd708f09ff 37 0x00E1, 0x00ED, 0x00F3, 0x00FA, 0x00F1, 0x00D1, 0x00AA, 0x00BA,
tylerjw 2:e8cd708f09ff 38 0x00BF, 0x2310, 0x00AC, 0x00BD, 0x00BC, 0x00A1, 0x00AB, 0x00BB,
tylerjw 2:e8cd708f09ff 39 0x2591, 0x2592, 0x2593, 0x2502, 0x2524, 0x2561, 0x2562, 0x2556,
tylerjw 2:e8cd708f09ff 40 0x2555, 0x2563, 0x2551, 0x2557, 0x255D, 0x255C, 0x255B, 0x2510,
tylerjw 2:e8cd708f09ff 41 0x2514, 0x2534, 0x252C, 0x251C, 0x2500, 0x253C, 0x255E, 0x255F,
tylerjw 2:e8cd708f09ff 42 0x255A, 0x2554, 0x2569, 0x2566, 0x2560, 0x2550, 0x256C, 0x2567,
tylerjw 2:e8cd708f09ff 43 0x2568, 0x2564, 0x2565, 0x2559, 0x2558, 0x2552, 0x2553, 0x256B,
tylerjw 2:e8cd708f09ff 44 0x256A, 0x2518, 0x250C, 0x2588, 0x2584, 0x258C, 0x2590, 0x2580,
tylerjw 2:e8cd708f09ff 45 0x03B1, 0x00DF, 0x0393, 0x03C0, 0x03A3, 0x03C3, 0x00B5, 0x03C4,
tylerjw 2:e8cd708f09ff 46 0x03A6, 0x0398, 0x03A9, 0x03B4, 0x221E, 0x03C6, 0x03B5, 0x2229,
tylerjw 2:e8cd708f09ff 47 0x2261, 0x00B1, 0x2265, 0x2264, 0x2320, 0x2321, 0x00F7, 0x2248,
tylerjw 2:e8cd708f09ff 48 0x00B0, 0x2219, 0x00B7, 0x221A, 0x207F, 0x00B2, 0x25A0, 0x00A0
tylerjw 2:e8cd708f09ff 49 };
tylerjw 2:e8cd708f09ff 50
tylerjw 2:e8cd708f09ff 51 #elif _CODE_PAGE == 720
tylerjw 2:e8cd708f09ff 52 #define _TBLDEF 1
tylerjw 2:e8cd708f09ff 53 static
tylerjw 2:e8cd708f09ff 54 const WCHAR Tbl[] = { /* CP720(0x80-0xFF) to Unicode conversion table */
tylerjw 2:e8cd708f09ff 55 0x0000, 0x0000, 0x00E9, 0x00E2, 0x0000, 0x00E0, 0x0000, 0x00E7,
tylerjw 2:e8cd708f09ff 56 0x00EA, 0x00EB, 0x00E8, 0x00EF, 0x00EE, 0x0000, 0x0000, 0x0000,
tylerjw 2:e8cd708f09ff 57 0x0000, 0x0651, 0x0652, 0x00F4, 0x00A4, 0x0640, 0x00FB, 0x00F9,
tylerjw 2:e8cd708f09ff 58 0x0621, 0x0622, 0x0623, 0x0624, 0x00A3, 0x0625, 0x0626, 0x0627,
tylerjw 2:e8cd708f09ff 59 0x0628, 0x0629, 0x062A, 0x062B, 0x062C, 0x062D, 0x062E, 0x062F,
tylerjw 2:e8cd708f09ff 60 0x0630, 0x0631, 0x0632, 0x0633, 0x0634, 0x0635, 0x00AB, 0x00BB,
tylerjw 2:e8cd708f09ff 61 0x2591, 0x2592, 0x2593, 0x2502, 0x2524, 0x2561, 0x2562, 0x2556,
tylerjw 2:e8cd708f09ff 62 0x2555, 0x2563, 0x2551, 0x2557, 0x255D, 0x255C, 0x255B, 0x2510,
tylerjw 2:e8cd708f09ff 63 0x2514, 0x2534, 0x252C, 0x251C, 0x2500, 0x253C, 0x255E, 0x255F,
tylerjw 2:e8cd708f09ff 64 0x255A, 0x2554, 0x2569, 0x2566, 0x2560, 0x2550, 0x256C, 0x2567,
tylerjw 2:e8cd708f09ff 65 0x2568, 0x2564, 0x2565, 0x2559, 0x2558, 0x2552, 0x2553, 0x256B,
tylerjw 2:e8cd708f09ff 66 0x256A, 0x2518, 0x250C, 0x2588, 0x2584, 0x258C, 0x2590, 0x2580,
tylerjw 2:e8cd708f09ff 67 0x0636, 0x0637, 0x0638, 0x0639, 0x063A, 0x0641, 0x00B5, 0x0642,
tylerjw 2:e8cd708f09ff 68 0x0643, 0x0644, 0x0645, 0x0646, 0x0647, 0x0648, 0x0649, 0x064A,
tylerjw 2:e8cd708f09ff 69 0x2261, 0x064B, 0x064C, 0x064D, 0x064E, 0x064F, 0xO650, 0x2248,
tylerjw 2:e8cd708f09ff 70 0x00B0, 0x2219, 0x00B7, 0x221A, 0x207F, 0x00B2, 0x25A0, 0x00A0
tylerjw 2:e8cd708f09ff 71 };
tylerjw 2:e8cd708f09ff 72
tylerjw 2:e8cd708f09ff 73 #elif _CODE_PAGE == 737
tylerjw 2:e8cd708f09ff 74 #define _TBLDEF 1
tylerjw 2:e8cd708f09ff 75 static
tylerjw 2:e8cd708f09ff 76 const WCHAR Tbl[] = { /* CP737(0x80-0xFF) to Unicode conversion table */
tylerjw 2:e8cd708f09ff 77 0x0391, 0x0392, 0x0393, 0x0394, 0x0395, 0x0396, 0x0397, 0x0398,
tylerjw 2:e8cd708f09ff 78 0x0399, 0x039A, 0x039B, 0x039C, 0x039D, 0x039E, 0x039F, 0x03A0,
tylerjw 2:e8cd708f09ff 79 0x03A1, 0x03A3, 0x03A4, 0x03A5, 0x03A6, 0x03A7, 0x03A8, 0x03A9,
tylerjw 2:e8cd708f09ff 80 0x03B1, 0x03B2, 0x03B3, 0x03B4, 0x03B5, 0x03B6, 0x03B7, 0x03B8,
tylerjw 2:e8cd708f09ff 81 0x03B9, 0x03BA, 0x03BB, 0x03BC, 0x03BD, 0x03BE, 0x03BF, 0x03C0,
tylerjw 2:e8cd708f09ff 82 0x03C1, 0x03C3, 0x03C2, 0x03C4, 0x03C5, 0x03C6, 0x03C7, 0x03C8,
tylerjw 2:e8cd708f09ff 83 0x2591, 0x2592, 0x2593, 0x2502, 0x2524, 0x2561, 0x2562, 0x2556,
tylerjw 2:e8cd708f09ff 84 0x2555, 0x2563, 0x2551, 0x2557, 0x255D, 0x255C, 0x255B, 0x2510,
tylerjw 2:e8cd708f09ff 85 0x2514, 0x2534, 0x252C, 0x251C, 0x2500, 0x253C, 0x255E, 0x255F,
tylerjw 2:e8cd708f09ff 86 0x255A, 0x2554, 0x2569, 0x2566, 0x2560, 0x2550, 0x256C, 0x2567,
tylerjw 2:e8cd708f09ff 87 0x2568, 0x2564, 0x2565, 0x2559, 0x2558, 0x2552, 0x2553, 0x256B,
tylerjw 2:e8cd708f09ff 88 0x256A, 0x2518, 0x250C, 0x2588, 0x2584, 0x258C, 0x2590, 0x2580,
tylerjw 2:e8cd708f09ff 89 0x03C9, 0x03AC, 0x03AD, 0x03AE, 0x03CA, 0x03AF, 0x03CC, 0x03CD,
tylerjw 2:e8cd708f09ff 90 0x03CB, 0x03CE, 0x0386, 0x0388, 0x0389, 0x038A, 0x038C, 0x038E,
tylerjw 2:e8cd708f09ff 91 0x038F, 0x00B1, 0x2265, 0x2264, 0x03AA, 0x03AB, 0x00F7, 0x2248,
tylerjw 2:e8cd708f09ff 92 0x00B0, 0x2219, 0x00B7, 0x221A, 0x207F, 0x00B2, 0x25A0, 0x00A0
tylerjw 2:e8cd708f09ff 93 };
tylerjw 2:e8cd708f09ff 94
tylerjw 2:e8cd708f09ff 95 #elif _CODE_PAGE == 775
tylerjw 2:e8cd708f09ff 96 #define _TBLDEF 1
tylerjw 2:e8cd708f09ff 97 static
tylerjw 2:e8cd708f09ff 98 const WCHAR Tbl[] = { /* CP775(0x80-0xFF) to Unicode conversion table */
tylerjw 2:e8cd708f09ff 99 0x0106, 0x00FC, 0x00E9, 0x0101, 0x00E4, 0x0123, 0x00E5, 0x0107,
tylerjw 2:e8cd708f09ff 100 0x0142, 0x0113, 0x0156, 0x0157, 0x012B, 0x0179, 0x00C4, 0x00C5,
tylerjw 2:e8cd708f09ff 101 0x00C9, 0x00E6, 0x00C6, 0x014D, 0x00F6, 0x0122, 0x00A2, 0x015A,
tylerjw 2:e8cd708f09ff 102 0x015B, 0x00D6, 0x00DC, 0x00F8, 0x00A3, 0x00D8, 0x00D7, 0x00A4,
tylerjw 2:e8cd708f09ff 103 0x0100, 0x012A, 0x00F3, 0x017B, 0x017C, 0x017A, 0x201D, 0x00A6,
tylerjw 2:e8cd708f09ff 104 0x00A9, 0x00AE, 0x00AC, 0x00BD, 0x00BC, 0x0141, 0x00AB, 0x00BB,
tylerjw 2:e8cd708f09ff 105 0x2591, 0x2592, 0x2593, 0x2502, 0x2524, 0x0104, 0x010C, 0x0118,
tylerjw 2:e8cd708f09ff 106 0x0116, 0x2563, 0x2551, 0x2557, 0x255D, 0x012E, 0x0160, 0x2510,
tylerjw 2:e8cd708f09ff 107 0x2514, 0x2534, 0x252C, 0x251C, 0x2500, 0x253C, 0x0172, 0x016A,
tylerjw 2:e8cd708f09ff 108 0x255A, 0x2554, 0x2569, 0x2566, 0x2560, 0x2550, 0x256C, 0x017D,
tylerjw 2:e8cd708f09ff 109 0x0105, 0x010D, 0x0119, 0x0117, 0x012F, 0x0161, 0x0173, 0x016B,
tylerjw 2:e8cd708f09ff 110 0x017E, 0x2518, 0x250C, 0x2588, 0x2584, 0x258C, 0x2590, 0x2580,
tylerjw 2:e8cd708f09ff 111 0x00D3, 0x00DF, 0x014C, 0x0143, 0x00F5, 0x00D5, 0x00B5, 0x0144,
tylerjw 2:e8cd708f09ff 112 0x0136, 0x0137, 0x013B, 0x013C, 0x0146, 0x0112, 0x0145, 0x2019,
tylerjw 2:e8cd708f09ff 113 0x00AD, 0x00B1, 0x201C, 0x00BE, 0x00B6, 0x00A7, 0x00F7, 0x201E,
tylerjw 2:e8cd708f09ff 114 0x00B0, 0x2219, 0x00B7, 0x00B9, 0x00B3, 0x00B2, 0x25A0, 0x00A0
tylerjw 2:e8cd708f09ff 115 };
tylerjw 2:e8cd708f09ff 116
tylerjw 2:e8cd708f09ff 117 #elif _CODE_PAGE == 850
tylerjw 2:e8cd708f09ff 118 #define _TBLDEF 1
tylerjw 2:e8cd708f09ff 119 static
tylerjw 2:e8cd708f09ff 120 const WCHAR Tbl[] = { /* CP850(0x80-0xFF) to Unicode conversion table */
tylerjw 2:e8cd708f09ff 121 0x00C7, 0x00FC, 0x00E9, 0x00E2, 0x00E4, 0x00E0, 0x00E5, 0x00E7,
tylerjw 2:e8cd708f09ff 122 0x00EA, 0x00EB, 0x00E8, 0x00EF, 0x00EE, 0x00EC, 0x00C4, 0x00C5,
tylerjw 2:e8cd708f09ff 123 0x00C9, 0x00E6, 0x00C6, 0x00F4, 0x00F6, 0x00F2, 0x00FB, 0x00F9,
tylerjw 2:e8cd708f09ff 124 0x00FF, 0x00D6, 0x00DC, 0x00F8, 0x00A3, 0x00D8, 0x00D7, 0x0192,
tylerjw 2:e8cd708f09ff 125 0x00E1, 0x00ED, 0x00F3, 0x00FA, 0x00F1, 0x00D1, 0x00AA, 0x00BA,
tylerjw 2:e8cd708f09ff 126 0x00BF, 0x00AE, 0x00AC, 0x00BD, 0x00BC, 0x00A1, 0x00AB, 0x00BB,
tylerjw 2:e8cd708f09ff 127 0x2591, 0x2592, 0x2593, 0x2502, 0x2524, 0x00C1, 0x00C2, 0x00C0,
tylerjw 2:e8cd708f09ff 128 0x00A9, 0x2563, 0x2551, 0x2557, 0x255D, 0x00A2, 0x00A5, 0x2510,
tylerjw 2:e8cd708f09ff 129 0x2514, 0x2534, 0x252C, 0x251C, 0x2500, 0x253C, 0x00E3, 0x00C3,
tylerjw 2:e8cd708f09ff 130 0x255A, 0x2554, 0x2569, 0x2566, 0x2560, 0x2550, 0x256C, 0x00A4,
tylerjw 2:e8cd708f09ff 131 0x00F0, 0x00D0, 0x00CA, 0x00CB, 0x00C8, 0x0131, 0x00CD, 0x00CE,
tylerjw 2:e8cd708f09ff 132 0x00CF, 0x2518, 0x250C, 0x2588, 0x2584, 0x00A6, 0x00CC, 0x2580,
tylerjw 2:e8cd708f09ff 133 0x00D3, 0x00DF, 0x00D4, 0x00D2, 0x00F5, 0x00D5, 0x00B5, 0x00FE,
tylerjw 2:e8cd708f09ff 134 0x00DE, 0x00DA, 0x00DB, 0x00D9, 0x00FD, 0x00DD, 0x00AF, 0x00B4,
tylerjw 2:e8cd708f09ff 135 0x00AD, 0x00B1, 0x2017, 0x00BE, 0x00B6, 0x00A7, 0x00F7, 0x00B8,
tylerjw 2:e8cd708f09ff 136 0x00B0, 0x00A8, 0x00B7, 0x00B9, 0x00B3, 0x00B2, 0x25A0, 0x00A0
tylerjw 2:e8cd708f09ff 137 };
tylerjw 2:e8cd708f09ff 138
tylerjw 2:e8cd708f09ff 139 #elif _CODE_PAGE == 852
tylerjw 2:e8cd708f09ff 140 #define _TBLDEF 1
tylerjw 2:e8cd708f09ff 141 static
tylerjw 2:e8cd708f09ff 142 const WCHAR Tbl[] = { /* CP852(0x80-0xFF) to Unicode conversion table */
tylerjw 2:e8cd708f09ff 143 0x00C7, 0x00FC, 0x00E9, 0x00E2, 0x00E4, 0x016F, 0x0107, 0x00E7,
tylerjw 2:e8cd708f09ff 144 0x0142, 0x00EB, 0x0150, 0x0151, 0x00EE, 0x0179, 0x00C4, 0x0106,
tylerjw 2:e8cd708f09ff 145 0x00C9, 0x0139, 0x013A, 0x00F4, 0x00F6, 0x013D, 0x013E, 0x015A,
tylerjw 2:e8cd708f09ff 146 0x015B, 0x00D6, 0x00DC, 0x0164, 0x0165, 0x0141, 0x00D7, 0x010D,
tylerjw 2:e8cd708f09ff 147 0x00E1, 0x00ED, 0x00F3, 0x00FA, 0x0104, 0x0105, 0x017D, 0x017E,
tylerjw 2:e8cd708f09ff 148 0x0118, 0x0119, 0x00AC, 0x017A, 0x010C, 0x015F, 0x00AB, 0x00BB,
tylerjw 2:e8cd708f09ff 149 0x2591, 0x2592, 0x2593, 0x2502, 0x2524, 0x00C1, 0x00C2, 0x011A,
tylerjw 2:e8cd708f09ff 150 0x015E, 0x2563, 0x2551, 0x2557, 0x255D, 0x017B, 0x017C, 0x2510,
tylerjw 2:e8cd708f09ff 151 0x2514, 0x2534, 0x252C, 0x251C, 0x2500, 0x253C, 0x0102, 0x0103,
tylerjw 2:e8cd708f09ff 152 0x255A, 0x2554, 0x2569, 0x2566, 0x2560, 0x2550, 0x256C, 0x00A4,
tylerjw 2:e8cd708f09ff 153 0x0111, 0x0110, 0x010E, 0x00CB, 0x010F, 0x0147, 0x00CD, 0x00CE,
tylerjw 2:e8cd708f09ff 154 0x011B, 0x2518, 0x250C, 0x2588, 0x2584, 0x0162, 0x016E, 0x2580,
tylerjw 2:e8cd708f09ff 155 0x00D3, 0x00DF, 0x00D4, 0x0143, 0x0144, 0x0148, 0x0160, 0x0161,
tylerjw 2:e8cd708f09ff 156 0x0154, 0x00DA, 0x0155, 0x0170, 0x00FD, 0x00DD, 0x0163, 0x00B4,
tylerjw 2:e8cd708f09ff 157 0x00AD, 0x02DD, 0x02DB, 0x02C7, 0x02D8, 0x00A7, 0x00F7, 0x00B8,
tylerjw 2:e8cd708f09ff 158 0x00B0, 0x00A8, 0x02D9, 0x0171, 0x0158, 0x0159, 0x25A0, 0x00A0
tylerjw 2:e8cd708f09ff 159 };
tylerjw 2:e8cd708f09ff 160
tylerjw 2:e8cd708f09ff 161 #elif _CODE_PAGE == 855
tylerjw 2:e8cd708f09ff 162 #define _TBLDEF 1
tylerjw 2:e8cd708f09ff 163 static
tylerjw 2:e8cd708f09ff 164 const WCHAR Tbl[] = { /* CP855(0x80-0xFF) to Unicode conversion table */
tylerjw 2:e8cd708f09ff 165 0x0452, 0x0402, 0x0453, 0x0403, 0x0451, 0x0401, 0x0454, 0x0404,
tylerjw 2:e8cd708f09ff 166 0x0455, 0x0405, 0x0456, 0x0406, 0x0457, 0x0407, 0x0458, 0x0408,
tylerjw 2:e8cd708f09ff 167 0x0459, 0x0409, 0x045A, 0x040A, 0x045B, 0x040B, 0x045C, 0x040C,
tylerjw 2:e8cd708f09ff 168 0x045E, 0x040E, 0x045F, 0x040F, 0x044E, 0x042E, 0x044A, 0x042A,
tylerjw 2:e8cd708f09ff 169 0x0430, 0x0410, 0x0431, 0x0411, 0x0446, 0x0426, 0x0434, 0x0414,
tylerjw 2:e8cd708f09ff 170 0x0435, 0x0415, 0x0444, 0x0424, 0x0433, 0x0413, 0x00AB, 0x00BB,
tylerjw 2:e8cd708f09ff 171 0x2591, 0x2592, 0x2593, 0x2502, 0x2524, 0x0445, 0x0425, 0x0438,
tylerjw 2:e8cd708f09ff 172 0x0418, 0x2563, 0x2551, 0x2557, 0x255D, 0x0439, 0x0419, 0x2510,
tylerjw 2:e8cd708f09ff 173 0x2514, 0x2534, 0x252C, 0x251C, 0x2500, 0x253C, 0x043A, 0x041A,
tylerjw 2:e8cd708f09ff 174 0x255A, 0x2554, 0x2569, 0x2566, 0x2560, 0x2550, 0x256C, 0x00A4,
tylerjw 2:e8cd708f09ff 175 0x043B, 0x041B, 0x043C, 0x041C, 0x043D, 0x041D, 0x043E, 0x041E,
tylerjw 2:e8cd708f09ff 176 0x043F, 0x2518, 0x250C, 0x2588, 0x2584, 0x041F, 0x044F, 0x2580,
tylerjw 2:e8cd708f09ff 177 0x042F, 0x0440, 0x0420, 0x0441, 0x0421, 0x0442, 0x0422, 0x0443,
tylerjw 2:e8cd708f09ff 178 0x0423, 0x0436, 0x0416, 0x0432, 0x0412, 0x044C, 0x042C, 0x2116,
tylerjw 2:e8cd708f09ff 179 0x00AD, 0x044B, 0x042B, 0x0437, 0x0417, 0x0448, 0x0428, 0x044D,
tylerjw 2:e8cd708f09ff 180 0x042D, 0x0449, 0x0429, 0x0447, 0x0427, 0x00A7, 0x25A0, 0x00A0
tylerjw 2:e8cd708f09ff 181 };
tylerjw 2:e8cd708f09ff 182
tylerjw 2:e8cd708f09ff 183 #elif _CODE_PAGE == 857
tylerjw 2:e8cd708f09ff 184 #define _TBLDEF 1
tylerjw 2:e8cd708f09ff 185 static
tylerjw 2:e8cd708f09ff 186 const WCHAR Tbl[] = { /* CP857(0x80-0xFF) to Unicode conversion table */
tylerjw 2:e8cd708f09ff 187 0x00C7, 0x00FC, 0x00E9, 0x00E2, 0x00E4, 0x00E0, 0x00E5, 0x00E7,
tylerjw 2:e8cd708f09ff 188 0x00EA, 0x00EB, 0x00E8, 0x00EF, 0x00EE, 0x0131, 0x00C4, 0x00C5,
tylerjw 2:e8cd708f09ff 189 0x00C9, 0x00E6, 0x00C6, 0x00F4, 0x00F6, 0x00F2, 0x00FB, 0x00F9,
tylerjw 2:e8cd708f09ff 190 0x0130, 0x00D6, 0x00DC, 0x00F8, 0x00A3, 0x00D8, 0x015E, 0x015F,
tylerjw 2:e8cd708f09ff 191 0x00E1, 0x00ED, 0x00F3, 0x00FA, 0x00F1, 0x00D1, 0x011E, 0x011F,
tylerjw 2:e8cd708f09ff 192 0x00BF, 0x00AE, 0x00AC, 0x00BD, 0x00BC, 0x00A1, 0x00AB, 0x00BB,
tylerjw 2:e8cd708f09ff 193 0x2591, 0x2592, 0x2593, 0x2502, 0x2524, 0x00C1, 0x00C2, 0x00C0,
tylerjw 2:e8cd708f09ff 194 0x00A9, 0x2563, 0x2551, 0x2557, 0x255D, 0x00A2, 0x00A5, 0x2510,
tylerjw 2:e8cd708f09ff 195 0x2514, 0x2534, 0x252C, 0x251C, 0x2500, 0x253C, 0x00E3, 0x00C3,
tylerjw 2:e8cd708f09ff 196 0x255A, 0x2554, 0x2569, 0x2566, 0x2560, 0x2550, 0x256C, 0x00A4,
tylerjw 2:e8cd708f09ff 197 0x00BA, 0x00AA, 0x00CA, 0x00CB, 0x00C8, 0x0000, 0x00CD, 0x00CE,
tylerjw 2:e8cd708f09ff 198 0x00CF, 0x2518, 0x250C, 0x2588, 0x2584, 0x00A6, 0x00CC, 0x2580,
tylerjw 2:e8cd708f09ff 199 0x00D3, 0x00DF, 0x00D4, 0x00D2, 0x00F5, 0x00D5, 0x00B5, 0x0000,
tylerjw 2:e8cd708f09ff 200 0x00D7, 0x00DA, 0x00DB, 0x00D9, 0x00EC, 0x00FF, 0x00AF, 0x00B4,
tylerjw 2:e8cd708f09ff 201 0x00AD, 0x00B1, 0x0000, 0x00BE, 0x00B6, 0x00A7, 0x00F7, 0x00B8,
tylerjw 2:e8cd708f09ff 202 0x00B0, 0x00A8, 0x00B7, 0x00B9, 0x00B3, 0x00B2, 0x25A0, 0x00A0
tylerjw 2:e8cd708f09ff 203 };
tylerjw 2:e8cd708f09ff 204
tylerjw 2:e8cd708f09ff 205 #elif _CODE_PAGE == 858
tylerjw 2:e8cd708f09ff 206 #define _TBLDEF 1
tylerjw 2:e8cd708f09ff 207 static
tylerjw 2:e8cd708f09ff 208 const WCHAR Tbl[] = { /* CP858(0x80-0xFF) to Unicode conversion table */
tylerjw 2:e8cd708f09ff 209 0x00C7, 0x00FC, 0x00E9, 0x00E2, 0x00E4, 0x00E0, 0x00E5, 0x00E7,
tylerjw 2:e8cd708f09ff 210 0x00EA, 0x00EB, 0x00E8, 0x00EF, 0x00EE, 0x00EC, 0x00C4, 0x00C5,
tylerjw 2:e8cd708f09ff 211 0x00C9, 0x00E6, 0x00C6, 0x00F4, 0x00F6, 0x00F2, 0x00FB, 0x00F9,
tylerjw 2:e8cd708f09ff 212 0x00FF, 0x00D6, 0x00DC, 0x00F8, 0x00A3, 0x00D8, 0x00D7, 0x0192,
tylerjw 2:e8cd708f09ff 213 0x00E1, 0x00ED, 0x00F3, 0x00FA, 0x00F1, 0x00D1, 0x00AA, 0x00BA,
tylerjw 2:e8cd708f09ff 214 0x00BF, 0x00AE, 0x00AC, 0x00BD, 0x00BC, 0x00A1, 0x00AB, 0x00BB,
tylerjw 2:e8cd708f09ff 215 0x2591, 0x2592, 0x2593, 0x2502, 0x2524, 0x00C1, 0x00C2, 0x00C0,
tylerjw 2:e8cd708f09ff 216 0x00A9, 0x2563, 0x2551, 0x2557, 0x2550, 0x00A2, 0x00A5, 0x2510,
tylerjw 2:e8cd708f09ff 217 0x2514, 0x2534, 0x252C, 0x251C, 0x2500, 0x253C, 0x00E3, 0x00C3,
tylerjw 2:e8cd708f09ff 218 0x255A, 0x2554, 0x2569, 0x2566, 0x2560, 0x2550, 0x256C, 0x00A4,
tylerjw 2:e8cd708f09ff 219 0x00F0, 0x00D0, 0x00CA, 0x00CB, 0x00C8, 0x20AC, 0x00CD, 0x00CE,
tylerjw 2:e8cd708f09ff 220 0x00CF, 0x2518, 0x250C, 0x2588, 0x2584, 0x00C6, 0x00CC, 0x2580,
tylerjw 2:e8cd708f09ff 221 0x00D3, 0x00DF, 0x00D4, 0x00D2, 0x00F5, 0x00D5, 0x00B5, 0x00FE,
tylerjw 2:e8cd708f09ff 222 0x00DE, 0x00DA, 0x00DB, 0x00D9, 0x00FD, 0x00DD, 0x00AF, 0x00B4,
tylerjw 2:e8cd708f09ff 223 0x00AD, 0x00B1, 0x2017, 0x00BE, 0x00B6, 0x00A7, 0x00F7, 0x00B8,
tylerjw 2:e8cd708f09ff 224 0x00B0, 0x00A8, 0x00B7, 0x00B9, 0x00B3, 0x00B2, 0x25A0, 0x00A0
tylerjw 2:e8cd708f09ff 225 };
tylerjw 2:e8cd708f09ff 226
tylerjw 2:e8cd708f09ff 227 #elif _CODE_PAGE == 862
tylerjw 2:e8cd708f09ff 228 #define _TBLDEF 1
tylerjw 2:e8cd708f09ff 229 static
tylerjw 2:e8cd708f09ff 230 const WCHAR Tbl[] = { /* CP862(0x80-0xFF) to Unicode conversion table */
tylerjw 2:e8cd708f09ff 231 0x05D0, 0x05D1, 0x05D2, 0x05D3, 0x05D4, 0x05D5, 0x05D6, 0x05D7,
tylerjw 2:e8cd708f09ff 232 0x05D8, 0x05D9, 0x05DA, 0x05DB, 0x05DC, 0x05DD, 0x05DE, 0x05DF,
tylerjw 2:e8cd708f09ff 233 0x05E0, 0x05E1, 0x05E2, 0x05E3, 0x05E4, 0x05E5, 0x05E6, 0x05E7,
tylerjw 2:e8cd708f09ff 234 0x05E8, 0x05E9, 0x05EA, 0x00A2, 0x00A3, 0x00A5, 0x20A7, 0x0192,
tylerjw 2:e8cd708f09ff 235 0x00E1, 0x00ED, 0x00F3, 0x00FA, 0x00F1, 0x00D1, 0x00AA, 0x00BA,
tylerjw 2:e8cd708f09ff 236 0x00BF, 0x2310, 0x00AC, 0x00BD, 0x00BC, 0x00A1, 0x00AB, 0x00BB,
tylerjw 2:e8cd708f09ff 237 0x2591, 0x2592, 0x2593, 0x2502, 0x2524, 0x2561, 0x2562, 0x2556,
tylerjw 2:e8cd708f09ff 238 0x2555, 0x2563, 0x2551, 0x2557, 0x255D, 0x255C, 0x255B, 0x2510,
tylerjw 2:e8cd708f09ff 239 0x2514, 0x2534, 0x252C, 0x251C, 0x2500, 0x253C, 0x255E, 0x255F,
tylerjw 2:e8cd708f09ff 240 0x255A, 0x2554, 0x2569, 0x2566, 0x2560, 0x2550, 0x256C, 0x2567,
tylerjw 2:e8cd708f09ff 241 0x2568, 0x2564, 0x2565, 0x2559, 0x2558, 0x2552, 0x2553, 0x256B,
tylerjw 2:e8cd708f09ff 242 0x256A, 0x2518, 0x250C, 0x2588, 0x2584, 0x258C, 0x2590, 0x2580,
tylerjw 2:e8cd708f09ff 243 0x03B1, 0x00DF, 0x0393, 0x03C0, 0x03A3, 0x03C3, 0x00B5, 0x03C4,
tylerjw 2:e8cd708f09ff 244 0x03A6, 0x0398, 0x03A9, 0x03B4, 0x221E, 0x03C6, 0x03B5, 0x2229,
tylerjw 2:e8cd708f09ff 245 0x2261, 0x00B1, 0x2265, 0x2264, 0x2320, 0x2321, 0x00F7, 0x2248,
tylerjw 2:e8cd708f09ff 246 0x00B0, 0x2219, 0x00B7, 0x221A, 0x207F, 0x00B2, 0x25A0, 0x00A0
tylerjw 2:e8cd708f09ff 247 };
tylerjw 2:e8cd708f09ff 248
tylerjw 2:e8cd708f09ff 249 #elif _CODE_PAGE == 866
tylerjw 2:e8cd708f09ff 250 #define _TBLDEF 1
tylerjw 2:e8cd708f09ff 251 static
tylerjw 2:e8cd708f09ff 252 const WCHAR Tbl[] = { /* CP866(0x80-0xFF) to Unicode conversion table */
tylerjw 2:e8cd708f09ff 253 0x0410, 0x0411, 0x0412, 0x0413, 0x0414, 0x0415, 0x0416, 0x0417,
tylerjw 2:e8cd708f09ff 254 0x0418, 0x0419, 0x041A, 0x041B, 0x041C, 0x041D, 0x041E, 0x041F,
tylerjw 2:e8cd708f09ff 255 0x0420, 0x0421, 0x0422, 0x0423, 0x0424, 0x0425, 0x0426, 0x0427,
tylerjw 2:e8cd708f09ff 256 0x0428, 0x0429, 0x042A, 0x042B, 0x042C, 0x042D, 0x042E, 0x042F,
tylerjw 2:e8cd708f09ff 257 0x0430, 0x0431, 0x0432, 0x0433, 0x0434, 0x0435, 0x0436, 0x0437,
tylerjw 2:e8cd708f09ff 258 0x0438, 0x0439, 0x043A, 0x043B, 0x043C, 0x043D, 0x043E, 0x043F,
tylerjw 2:e8cd708f09ff 259 0x2591, 0x2592, 0x2593, 0x2502, 0x2524, 0x2561, 0x2562, 0x2556,
tylerjw 2:e8cd708f09ff 260 0x2555, 0x2563, 0x2551, 0x2557, 0x255D, 0x255C, 0x255B, 0x2510,
tylerjw 2:e8cd708f09ff 261 0x2514, 0x2534, 0x252C, 0x251C, 0x2500, 0x253C, 0x255E, 0x255F,
tylerjw 2:e8cd708f09ff 262 0x255A, 0x2554, 0x2569, 0x2566, 0x2560, 0x2550, 0x256C, 0x2567,
tylerjw 2:e8cd708f09ff 263 0x2568, 0x2564, 0x2565, 0x2559, 0x2558, 0x2552, 0x2553, 0x256B,
tylerjw 2:e8cd708f09ff 264 0x256A, 0x2518, 0x250C, 0x2588, 0x2584, 0x258C, 0x2590, 0x2580,
tylerjw 2:e8cd708f09ff 265 0x0440, 0x0441, 0x0442, 0x0443, 0x0444, 0x0445, 0x0446, 0x0447,
tylerjw 2:e8cd708f09ff 266 0x0448, 0x0449, 0x044A, 0x044B, 0x044C, 0x044D, 0x044E, 0x044F,
tylerjw 2:e8cd708f09ff 267 0x0401, 0x0451, 0x0404, 0x0454, 0x0407, 0x0457, 0x040E, 0x045E,
tylerjw 2:e8cd708f09ff 268 0x00B0, 0x2219, 0x00B7, 0x221A, 0x2116, 0x00A4, 0x25A0, 0x00A0
tylerjw 2:e8cd708f09ff 269 };
tylerjw 2:e8cd708f09ff 270
tylerjw 2:e8cd708f09ff 271 #elif _CODE_PAGE == 874
tylerjw 2:e8cd708f09ff 272 #define _TBLDEF 1
tylerjw 2:e8cd708f09ff 273 static
tylerjw 2:e8cd708f09ff 274 const WCHAR Tbl[] = { /* CP874(0x80-0xFF) to Unicode conversion table */
tylerjw 2:e8cd708f09ff 275 0x20AC, 0x0000, 0x0000, 0x0000, 0x0000, 0x2026, 0x0000, 0x0000,
tylerjw 2:e8cd708f09ff 276 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
tylerjw 2:e8cd708f09ff 277 0x0000, 0x2018, 0x2019, 0x201C, 0x201D, 0x2022, 0x2013, 0x2014,
tylerjw 2:e8cd708f09ff 278 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
tylerjw 2:e8cd708f09ff 279 0x00A0, 0x0E01, 0x0E02, 0x0E03, 0x0E04, 0x0E05, 0x0E06, 0x0E07,
tylerjw 2:e8cd708f09ff 280 0x0E08, 0x0E09, 0x0E0A, 0x0E0B, 0x0E0C, 0x0E0D, 0x0E0E, 0x0E0F,
tylerjw 2:e8cd708f09ff 281 0x0E10, 0x0E11, 0x0E12, 0x0E13, 0x0E14, 0x0E15, 0x0E16, 0x0E17,
tylerjw 2:e8cd708f09ff 282 0x0E18, 0x0E19, 0x0E1A, 0x0E1B, 0x0E1C, 0x0E1D, 0x0E1E, 0x0E1F,
tylerjw 2:e8cd708f09ff 283 0x0E20, 0x0E21, 0x0E22, 0x0E23, 0x0E24, 0x0E25, 0x0E26, 0x0E27,
tylerjw 2:e8cd708f09ff 284 0x0E28, 0x0E29, 0x0E2A, 0x0E2B, 0x0E2C, 0x0E2D, 0x0E2E, 0x0E2F,
tylerjw 2:e8cd708f09ff 285 0x0E30, 0x0E31, 0x0E32, 0x0E33, 0x0E34, 0x0E35, 0x0E36, 0x0E37,
tylerjw 2:e8cd708f09ff 286 0x0E38, 0x0E39, 0x0E3A, 0x0000, 0x0000, 0x0000, 0x0000, 0x0E3F,
tylerjw 2:e8cd708f09ff 287 0x0E40, 0x0E41, 0x0E42, 0x0E43, 0x0E44, 0x0E45, 0x0E46, 0x0E47,
tylerjw 2:e8cd708f09ff 288 0x0E48, 0x0E49, 0x0E4A, 0x0E4B, 0x0E4C, 0x0E4D, 0x0E4E, 0x0E4F,
tylerjw 2:e8cd708f09ff 289 0x0E50, 0x0E51, 0x0E52, 0x0E53, 0x0E54, 0x0E55, 0x0E56, 0x0E57,
tylerjw 2:e8cd708f09ff 290 0x0E58, 0x0E59, 0x0E5A, 0x0E5B, 0x0000, 0x0000, 0x0000, 0x0000
tylerjw 2:e8cd708f09ff 291 };
tylerjw 2:e8cd708f09ff 292
tylerjw 2:e8cd708f09ff 293 #elif _CODE_PAGE == 1250
tylerjw 2:e8cd708f09ff 294 #define _TBLDEF 1
tylerjw 2:e8cd708f09ff 295 static
tylerjw 2:e8cd708f09ff 296 const WCHAR Tbl[] = { /* CP1250(0x80-0xFF) to Unicode conversion table */
tylerjw 2:e8cd708f09ff 297 0x20AC, 0x0000, 0x201A, 0x0000, 0x201E, 0x2026, 0x2020, 0x2021,
tylerjw 2:e8cd708f09ff 298 0x0000, 0x2030, 0x0160, 0x2039, 0x015A, 0x0164, 0x017D, 0x0179,
tylerjw 2:e8cd708f09ff 299 0x0000, 0x2018, 0x2019, 0x201C, 0x201D, 0x2022, 0x2013, 0x2014,
tylerjw 2:e8cd708f09ff 300 0x0000, 0x2122, 0x0161, 0x203A, 0x015B, 0x0165, 0x017E, 0x017A,
tylerjw 2:e8cd708f09ff 301 0x00A0, 0x02C7, 0x02D8, 0x0141, 0x00A4, 0x0104, 0x00A6, 0x00A7,
tylerjw 2:e8cd708f09ff 302 0x00A8, 0x00A9, 0x015E, 0x00AB, 0x00AC, 0x00AD, 0x00AE, 0x017B,
tylerjw 2:e8cd708f09ff 303 0x00B0, 0x00B1, 0x02DB, 0x0142, 0x00B4, 0x00B5, 0x00B6, 0x00B7,
tylerjw 2:e8cd708f09ff 304 0x00B8, 0x0105, 0x015F, 0x00BB, 0x013D, 0x02DD, 0x013E, 0x017C,
tylerjw 2:e8cd708f09ff 305 0x0154, 0x00C1, 0x00C2, 0x0102, 0x00C4, 0x0139, 0x0106, 0x00C7,
tylerjw 2:e8cd708f09ff 306 0x010C, 0x00C9, 0x0118, 0x00CB, 0x011A, 0x00CD, 0x00CE, 0x010E,
tylerjw 2:e8cd708f09ff 307 0x0110, 0x0143, 0x0147, 0x00D3, 0x00D4, 0x0150, 0x00D6, 0x00D7,
tylerjw 2:e8cd708f09ff 308 0x0158, 0x016E, 0x00DA, 0x0170, 0x00DC, 0x00DD, 0x0162, 0x00DF,
tylerjw 2:e8cd708f09ff 309 0x0155, 0x00E1, 0x00E2, 0x0103, 0x00E4, 0x013A, 0x0107, 0x00E7,
tylerjw 2:e8cd708f09ff 310 0x010D, 0x00E9, 0x0119, 0x00EB, 0x011B, 0x00ED, 0x00EE, 0x010F,
tylerjw 2:e8cd708f09ff 311 0x0111, 0x0144, 0x0148, 0x00F3, 0x00F4, 0x0151, 0x00F6, 0x00F7,
tylerjw 2:e8cd708f09ff 312 0x0159, 0x016F, 0x00FA, 0x0171, 0x00FC, 0x00FD, 0x0163, 0x02D9
tylerjw 2:e8cd708f09ff 313 };
tylerjw 2:e8cd708f09ff 314
tylerjw 2:e8cd708f09ff 315 #elif _CODE_PAGE == 1251
tylerjw 2:e8cd708f09ff 316 #define _TBLDEF 1
tylerjw 2:e8cd708f09ff 317 static
tylerjw 2:e8cd708f09ff 318 const WCHAR Tbl[] = { /* CP1251(0x80-0xFF) to Unicode conversion table */
tylerjw 2:e8cd708f09ff 319 0x0402, 0x0403, 0x201A, 0x0453, 0x201E, 0x2026, 0x2020, 0x2021,
tylerjw 2:e8cd708f09ff 320 0x20AC, 0x2030, 0x0409, 0x2039, 0x040A, 0x040C, 0x040B, 0x040F,
tylerjw 2:e8cd708f09ff 321 0x0452, 0x2018, 0x2019, 0x201C, 0x201D, 0x2022, 0x2013, 0x2014,
tylerjw 2:e8cd708f09ff 322 0x0000, 0x2111, 0x0459, 0x203A, 0x045A, 0x045C, 0x045B, 0x045F,
tylerjw 2:e8cd708f09ff 323 0x00A0, 0x040E, 0x045E, 0x0408, 0x00A4, 0x0490, 0x00A6, 0x00A7,
tylerjw 2:e8cd708f09ff 324 0x0401, 0x00A9, 0x0404, 0x00AB, 0x00AC, 0x00AD, 0x00AE, 0x0407,
tylerjw 2:e8cd708f09ff 325 0x00B0, 0x00B1, 0x0406, 0x0456, 0x0491, 0x00B5, 0x00B6, 0x00B7,
tylerjw 2:e8cd708f09ff 326 0x0451, 0x2116, 0x0454, 0x00BB, 0x0458, 0x0405, 0x0455, 0x0457,
tylerjw 2:e8cd708f09ff 327 0x0410, 0x0411, 0x0412, 0x0413, 0x0414, 0x0415, 0x0416, 0x0417,
tylerjw 2:e8cd708f09ff 328 0x0418, 0x0419, 0x041A, 0x041B, 0x041C, 0x041D, 0x041E, 0x041F,
tylerjw 2:e8cd708f09ff 329 0x0420, 0x0421, 0x0422, 0x0423, 0x0424, 0x0425, 0x0426, 0x0427,
tylerjw 2:e8cd708f09ff 330 0x0428, 0x0429, 0x042A, 0x042D, 0x042C, 0x042D, 0x042E, 0x042F,
tylerjw 2:e8cd708f09ff 331 0x0430, 0x0431, 0x0432, 0x0433, 0x0434, 0x0435, 0x0436, 0x0437,
tylerjw 2:e8cd708f09ff 332 0x0438, 0x0439, 0x043A, 0x043B, 0x043C, 0x043D, 0x043E, 0x043F,
tylerjw 2:e8cd708f09ff 333 0x0440, 0x0441, 0x0442, 0x0443, 0x0444, 0x0445, 0x0446, 0x0447,
tylerjw 2:e8cd708f09ff 334 0x0448, 0x0449, 0x044A, 0x044B, 0x044C, 0x044D, 0x044E, 0x044F
tylerjw 2:e8cd708f09ff 335 };
tylerjw 2:e8cd708f09ff 336
tylerjw 2:e8cd708f09ff 337 #elif _CODE_PAGE == 1252
tylerjw 2:e8cd708f09ff 338 #define _TBLDEF 1
tylerjw 2:e8cd708f09ff 339 static
tylerjw 2:e8cd708f09ff 340 const WCHAR Tbl[] = { /* CP1252(0x80-0xFF) to Unicode conversion table */
tylerjw 2:e8cd708f09ff 341 0x20AC, 0x0000, 0x201A, 0x0192, 0x201E, 0x2026, 0x2020, 0x2021,
tylerjw 2:e8cd708f09ff 342 0x02C6, 0x2030, 0x0160, 0x2039, 0x0152, 0x0000, 0x017D, 0x0000,
tylerjw 2:e8cd708f09ff 343 0x0000, 0x2018, 0x2019, 0x201C, 0x201D, 0x2022, 0x2013, 0x2014,
tylerjw 2:e8cd708f09ff 344 0x02DC, 0x2122, 0x0161, 0x203A, 0x0153, 0x0000, 0x017E, 0x0178,
tylerjw 2:e8cd708f09ff 345 0x00A0, 0x00A1, 0x00A2, 0x00A3, 0x00A4, 0x00A5, 0x00A6, 0x00A7,
tylerjw 2:e8cd708f09ff 346 0x00A8, 0x00A9, 0x00AA, 0x00AB, 0x00AC, 0x00AD, 0x00AE, 0x00AF,
tylerjw 2:e8cd708f09ff 347 0x00B0, 0x00B1, 0x00B2, 0x00B3, 0x00B4, 0x00B5, 0x00B6, 0x00B7,
tylerjw 2:e8cd708f09ff 348 0x00B8, 0x00B9, 0x00BA, 0x00BB, 0x00BC, 0x00BD, 0x00BE, 0x00BF,
tylerjw 2:e8cd708f09ff 349 0x00C0, 0x00C1, 0x00C2, 0x00C3, 0x00C4, 0x00C5, 0x00C6, 0x00C7,
tylerjw 2:e8cd708f09ff 350 0x00C8, 0x00C9, 0x00CA, 0x00CB, 0x00CC, 0x00CD, 0x00CE, 0x00CF,
tylerjw 2:e8cd708f09ff 351 0x00D0, 0x00D1, 0x00D2, 0x00D3, 0x00D4, 0x00D5, 0x00D6, 0x00D7,
tylerjw 2:e8cd708f09ff 352 0x00D8, 0x00D9, 0x00DA, 0x00BD, 0x00DC, 0x00DD, 0x00DE, 0x00DF,
tylerjw 2:e8cd708f09ff 353 0x00E0, 0x00E1, 0x00E2, 0x00E3, 0x00E4, 0x00E5, 0x00E6, 0x00E7,
tylerjw 2:e8cd708f09ff 354 0x00E8, 0x00E9, 0x00EA, 0x00EB, 0x00EC, 0x00ED, 0x00EE, 0x00EF,
tylerjw 2:e8cd708f09ff 355 0x00F0, 0x00F1, 0x00F2, 0x00F3, 0x00F4, 0x00F5, 0x00F6, 0x00F7,
tylerjw 2:e8cd708f09ff 356 0x00F8, 0x00F9, 0x00FA, 0x00FB, 0x00FC, 0x00FD, 0x00FE, 0x00FF
tylerjw 2:e8cd708f09ff 357 };
tylerjw 2:e8cd708f09ff 358
tylerjw 2:e8cd708f09ff 359 #elif _CODE_PAGE == 1253
tylerjw 2:e8cd708f09ff 360 #define _TBLDEF 1
tylerjw 2:e8cd708f09ff 361 static
tylerjw 2:e8cd708f09ff 362 const WCHAR Tbl[] = { /* CP1253(0x80-0xFF) to Unicode conversion table */
tylerjw 2:e8cd708f09ff 363 0x20AC, 0x0000, 0x201A, 0x0192, 0x201E, 0x2026, 0x2020, 0x2021,
tylerjw 2:e8cd708f09ff 364 0x0000, 0x2030, 0x0000, 0x2039, 0x000C, 0x0000, 0x0000, 0x0000,
tylerjw 2:e8cd708f09ff 365 0x0000, 0x2018, 0x2019, 0x201C, 0x201D, 0x2022, 0x2013, 0x2014,
tylerjw 2:e8cd708f09ff 366 0x0000, 0x2122, 0x0000, 0x203A, 0x0000, 0x0000, 0x0000, 0x0000,
tylerjw 2:e8cd708f09ff 367 0x00A0, 0x0385, 0x0386, 0x00A3, 0x00A4, 0x00A5, 0x00A6, 0x00A7,
tylerjw 2:e8cd708f09ff 368 0x00A8, 0x00A9, 0x0000, 0x00AB, 0x00AC, 0x00AD, 0x00AE, 0x2015,
tylerjw 2:e8cd708f09ff 369 0x00B0, 0x00B1, 0x00B2, 0x00B3, 0x0384, 0x00B5, 0x00B6, 0x00B7,
tylerjw 2:e8cd708f09ff 370 0x0388, 0x0389, 0x038A, 0x00BB, 0x038C, 0x00BD, 0x038E, 0x038F,
tylerjw 2:e8cd708f09ff 371 0x0390, 0x0391, 0x0392, 0x0393, 0x0394, 0x0395, 0x0396, 0x0397,
tylerjw 2:e8cd708f09ff 372 0x0398, 0x0399, 0x039A, 0x039B, 0x039C, 0x039D, 0x039E, 0x039F,
tylerjw 2:e8cd708f09ff 373 0x03A0, 0x03A1, 0x0000, 0x03A3, 0x03A4, 0x03A5, 0x03A6, 0x03A7,
tylerjw 2:e8cd708f09ff 374 0x03A8, 0x03A9, 0x03AA, 0x03AD, 0x03AC, 0x03AD, 0x03AE, 0x03AF,
tylerjw 2:e8cd708f09ff 375 0x03B0, 0x03B1, 0x03B2, 0x03B3, 0x03B4, 0x03B5, 0x03B6, 0x03B7,
tylerjw 2:e8cd708f09ff 376 0x03B8, 0x03B9, 0x03BA, 0x03BB, 0x03BC, 0x03BD, 0x03BE, 0x03BF,
tylerjw 2:e8cd708f09ff 377 0x03C0, 0x03C1, 0x03C2, 0x03C3, 0x03C4, 0x03C5, 0x03C6, 0x03C7,
tylerjw 2:e8cd708f09ff 378 0x03C8, 0x03C9, 0x03CA, 0x03CB, 0x03CC, 0x03CD, 0x03CE, 0x0000
tylerjw 2:e8cd708f09ff 379 };
tylerjw 2:e8cd708f09ff 380
tylerjw 2:e8cd708f09ff 381 #elif _CODE_PAGE == 1254
tylerjw 2:e8cd708f09ff 382 #define _TBLDEF 1
tylerjw 2:e8cd708f09ff 383 static
tylerjw 2:e8cd708f09ff 384 const WCHAR Tbl[] = { /* CP1254(0x80-0xFF) to Unicode conversion table */
tylerjw 2:e8cd708f09ff 385 0x20AC, 0x0000, 0x210A, 0x0192, 0x201E, 0x2026, 0x2020, 0x2021,
tylerjw 2:e8cd708f09ff 386 0x02C6, 0x2030, 0x0160, 0x2039, 0x0152, 0x0000, 0x0000, 0x0000,
tylerjw 2:e8cd708f09ff 387 0x0000, 0x2018, 0x2019, 0x201C, 0x201D, 0x2022, 0x2013, 0x2014,
tylerjw 2:e8cd708f09ff 388 0x02DC, 0x2122, 0x0161, 0x203A, 0x0153, 0x0000, 0x0000, 0x0178,
tylerjw 2:e8cd708f09ff 389 0x00A0, 0x00A1, 0x00A2, 0x00A3, 0x00A4, 0x00A5, 0x00A6, 0x00A7,
tylerjw 2:e8cd708f09ff 390 0x00A8, 0x00A9, 0x00AA, 0x00AB, 0x00AC, 0x00AD, 0x00AE, 0x00AF,
tylerjw 2:e8cd708f09ff 391 0x00B0, 0x00B1, 0x00B2, 0x00B3, 0x00B4, 0x00B5, 0x00B6, 0x00B7,
tylerjw 2:e8cd708f09ff 392 0x00B8, 0x00B9, 0x00BA, 0x00BB, 0x00BC, 0x00BD, 0x00BE, 0x00BF,
tylerjw 2:e8cd708f09ff 393 0x00C0, 0x00C1, 0x00C2, 0x00C3, 0x00C4, 0x00C5, 0x00C6, 0x00C7,
tylerjw 2:e8cd708f09ff 394 0x00C8, 0x00C9, 0x00CA, 0x00CB, 0x00CC, 0x00CD, 0x00CE, 0x00CF,
tylerjw 2:e8cd708f09ff 395 0x011E, 0x00D1, 0x00D2, 0x00D3, 0x00D4, 0x00D5, 0x00D6, 0x00D7,
tylerjw 2:e8cd708f09ff 396 0x00D8, 0x00D9, 0x00DA, 0x00BD, 0x00DC, 0x0130, 0x015E, 0x00DF,
tylerjw 2:e8cd708f09ff 397 0x00E0, 0x00E1, 0x00E2, 0x00E3, 0x00E4, 0x00E5, 0x00E6, 0x00E7,
tylerjw 2:e8cd708f09ff 398 0x00E8, 0x00E9, 0x00EA, 0x00EB, 0x00EC, 0x00ED, 0x00EE, 0x00EF,
tylerjw 2:e8cd708f09ff 399 0x011F, 0x00F1, 0x00F2, 0x00F3, 0x00F4, 0x00F5, 0x00F6, 0x00F7,
tylerjw 2:e8cd708f09ff 400 0x00F8, 0x00F9, 0x00FA, 0x00FB, 0x00FC, 0x0131, 0x015F, 0x00FF
tylerjw 2:e8cd708f09ff 401 };
tylerjw 2:e8cd708f09ff 402
tylerjw 2:e8cd708f09ff 403 #elif _CODE_PAGE == 1255
tylerjw 2:e8cd708f09ff 404 #define _TBLDEF 1
tylerjw 2:e8cd708f09ff 405 static
tylerjw 2:e8cd708f09ff 406 const WCHAR Tbl[] = { /* CP1255(0x80-0xFF) to Unicode conversion table */
tylerjw 2:e8cd708f09ff 407 0x20AC, 0x0000, 0x201A, 0x0192, 0x201E, 0x2026, 0x2020, 0x2021,
tylerjw 2:e8cd708f09ff 408 0x02C6, 0x2030, 0x0000, 0x2039, 0x0000, 0x0000, 0x0000, 0x0000,
tylerjw 2:e8cd708f09ff 409 0x0000, 0x2018, 0x2019, 0x201C, 0x201D, 0x2022, 0x2013, 0x2014,
tylerjw 2:e8cd708f09ff 410 0x02DC, 0x2122, 0x0000, 0x203A, 0x0000, 0x0000, 0x0000, 0x0000,
tylerjw 2:e8cd708f09ff 411 0x00A0, 0x00A1, 0x00A2, 0x00A3, 0x00A4, 0x00A5, 0x00A6, 0x00A7,
tylerjw 2:e8cd708f09ff 412 0x00A8, 0x00A9, 0x00D7, 0x00AB, 0x00AC, 0x00AD, 0x00AE, 0x00AF,
tylerjw 2:e8cd708f09ff 413 0x00B0, 0x00B1, 0x00B2, 0x00B3, 0x00B4, 0x00B5, 0x00B6, 0x00B7,
tylerjw 2:e8cd708f09ff 414 0x00B8, 0x00B9, 0x00F7, 0x00BB, 0x00BC, 0x00BD, 0x00BE, 0x00BF,
tylerjw 2:e8cd708f09ff 415 0x05B0, 0x05B1, 0x05B2, 0x05B3, 0x05B4, 0x05B5, 0x05B6, 0x05B7,
tylerjw 2:e8cd708f09ff 416 0x05B8, 0x05B9, 0x0000, 0x05BB, 0x05BC, 0x05BD, 0x05BE, 0x05BF,
tylerjw 2:e8cd708f09ff 417 0x05C0, 0x05C1, 0x05C2, 0x05C3, 0x05F0, 0x05F1, 0x05F2, 0x05F3,
tylerjw 2:e8cd708f09ff 418 0x05F4, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
tylerjw 2:e8cd708f09ff 419 0x05D0, 0x05D1, 0x05D2, 0x05D3, 0x05D4, 0x05D5, 0x05D6, 0x05D7,
tylerjw 2:e8cd708f09ff 420 0x05D8, 0x05D9, 0x05DA, 0x05DB, 0x05DC, 0x05DD, 0x05DE, 0x05DF,
tylerjw 2:e8cd708f09ff 421 0x05E0, 0x05E1, 0x05E2, 0x05E3, 0x05E4, 0x05E5, 0x05E6, 0x05E7,
tylerjw 2:e8cd708f09ff 422 0x05E8, 0x05E9, 0x05EA, 0x0000, 0x0000, 0x200E, 0x200F, 0x0000
tylerjw 2:e8cd708f09ff 423 };
tylerjw 2:e8cd708f09ff 424
tylerjw 2:e8cd708f09ff 425 #elif _CODE_PAGE == 1256
tylerjw 2:e8cd708f09ff 426 #define _TBLDEF 1
tylerjw 2:e8cd708f09ff 427 static
tylerjw 2:e8cd708f09ff 428 const WCHAR Tbl[] = { /* CP1256(0x80-0xFF) to Unicode conversion table */
tylerjw 2:e8cd708f09ff 429 0x20AC, 0x067E, 0x201A, 0x0192, 0x201E, 0x2026, 0x2020, 0x2021,
tylerjw 2:e8cd708f09ff 430 0x02C6, 0x2030, 0x0679, 0x2039, 0x0152, 0x0686, 0x0698, 0x0688,
tylerjw 2:e8cd708f09ff 431 0x06AF, 0x2018, 0x2019, 0x201C, 0x201D, 0x2022, 0x2013, 0x2014,
tylerjw 2:e8cd708f09ff 432 0x06A9, 0x2122, 0x0691, 0x203A, 0x0153, 0x200C, 0x200D, 0x06BA,
tylerjw 2:e8cd708f09ff 433 0x00A0, 0x060C, 0x00A2, 0x00A3, 0x00A4, 0x00A5, 0x00A6, 0x00A7,
tylerjw 2:e8cd708f09ff 434 0x00A8, 0x00A9, 0x06BE, 0x00AB, 0x00AC, 0x00AD, 0x00AE, 0x00AF,
tylerjw 2:e8cd708f09ff 435 0x00B0, 0x00B1, 0x00B2, 0x00B3, 0x00B4, 0x00B5, 0x00B6, 0x00B7,
tylerjw 2:e8cd708f09ff 436 0x00B8, 0x00B9, 0x061B, 0x00BB, 0x00BC, 0x00BD, 0x00BE, 0x061F,
tylerjw 2:e8cd708f09ff 437 0x06C1, 0x0621, 0x0622, 0x0623, 0x0624, 0x0625, 0x0626, 0x0627,
tylerjw 2:e8cd708f09ff 438 0x0628, 0x0629, 0x062A, 0x062B, 0x062C, 0x062D, 0x062E, 0x062F,
tylerjw 2:e8cd708f09ff 439 0x0630, 0x0631, 0x0632, 0x0633, 0x0634, 0x0635, 0x0636, 0x00D7,
tylerjw 2:e8cd708f09ff 440 0x0637, 0x0638, 0x0639, 0x063A, 0x0640, 0x0640, 0x0642, 0x0643,
tylerjw 2:e8cd708f09ff 441 0x00E0, 0x0644, 0x00E2, 0x0645, 0x0646, 0x0647, 0x0648, 0x00E7,
tylerjw 2:e8cd708f09ff 442 0x00E8, 0x00E9, 0x00EA, 0x00EB, 0x0649, 0x064A, 0x00EE, 0x00EF,
tylerjw 2:e8cd708f09ff 443 0x064B, 0x064C, 0x064D, 0x064E, 0x00F4, 0x064F, 0x0650, 0x00F7,
tylerjw 2:e8cd708f09ff 444 0x0651, 0x00F9, 0x0652, 0x00FB, 0x00FC, 0x200E, 0x200F, 0x06D2
tylerjw 2:e8cd708f09ff 445 }
tylerjw 2:e8cd708f09ff 446
tylerjw 2:e8cd708f09ff 447 #elif _CODE_PAGE == 1257
tylerjw 2:e8cd708f09ff 448 #define _TBLDEF 1
tylerjw 2:e8cd708f09ff 449 static
tylerjw 2:e8cd708f09ff 450 const WCHAR Tbl[] = { /* CP1257(0x80-0xFF) to Unicode conversion table */
tylerjw 2:e8cd708f09ff 451 0x20AC, 0x0000, 0x201A, 0x0000, 0x201E, 0x2026, 0x2020, 0x2021,
tylerjw 2:e8cd708f09ff 452 0x0000, 0x2030, 0x0000, 0x2039, 0x0000, 0x00A8, 0x02C7, 0x00B8,
tylerjw 2:e8cd708f09ff 453 0x0000, 0x2018, 0x2019, 0x201C, 0x201D, 0x2022, 0x2013, 0x2014,
tylerjw 2:e8cd708f09ff 454 0x0000, 0x2122, 0x0000, 0x203A, 0x0000, 0x00AF, 0x02DB, 0x0000,
tylerjw 2:e8cd708f09ff 455 0x00A0, 0x0000, 0x00A2, 0x00A3, 0x00A4, 0x0000, 0x00A6, 0x00A7,
tylerjw 2:e8cd708f09ff 456 0x00D8, 0x00A9, 0x0156, 0x00AB, 0x00AC, 0x00AD, 0x00AE, 0x00AF,
tylerjw 2:e8cd708f09ff 457 0x00B0, 0x00B1, 0x00B2, 0x00B3, 0x00B4, 0x00B5, 0x00B6, 0x00B7,
tylerjw 2:e8cd708f09ff 458 0x00B8, 0x00B9, 0x0157, 0x00BB, 0x00BC, 0x00BD, 0x00BE, 0x00E6,
tylerjw 2:e8cd708f09ff 459 0x0104, 0x012E, 0x0100, 0x0106, 0x00C4, 0x00C5, 0x0118, 0x0112,
tylerjw 2:e8cd708f09ff 460 0x010C, 0x00C9, 0x0179, 0x0116, 0x0122, 0x0136, 0x012A, 0x013B,
tylerjw 2:e8cd708f09ff 461 0x0160, 0x0143, 0x0145, 0x00D3, 0x014C, 0x00D5, 0x00D6, 0x00D7,
tylerjw 2:e8cd708f09ff 462 0x0172, 0x0141, 0x015A, 0x016A, 0x00DC, 0x017B, 0x017D, 0x00DF,
tylerjw 2:e8cd708f09ff 463 0x0105, 0x012F, 0x0101, 0x0107, 0x00E4, 0x00E5, 0x0119, 0x0113,
tylerjw 2:e8cd708f09ff 464 0x010D, 0x00E9, 0x017A, 0x0117, 0x0123, 0x0137, 0x012B, 0x013C,
tylerjw 2:e8cd708f09ff 465 0x0161, 0x0144, 0x0146, 0x00F3, 0x014D, 0x00F5, 0x00F6, 0x00F7,
tylerjw 2:e8cd708f09ff 466 0x0173, 0x014E, 0x015B, 0x016B, 0x00FC, 0x017C, 0x017E, 0x02D9
tylerjw 2:e8cd708f09ff 467 };
tylerjw 2:e8cd708f09ff 468
tylerjw 2:e8cd708f09ff 469 #elif _CODE_PAGE == 1258
tylerjw 2:e8cd708f09ff 470 #define _TBLDEF 1
tylerjw 2:e8cd708f09ff 471 static
tylerjw 2:e8cd708f09ff 472 const WCHAR Tbl[] = { /* CP1258(0x80-0xFF) to Unicode conversion table */
tylerjw 2:e8cd708f09ff 473 0x20AC, 0x0000, 0x201A, 0x0192, 0x201E, 0x2026, 0x2020, 0x2021,
tylerjw 2:e8cd708f09ff 474 0x02C6, 0x2030, 0x0000, 0x2039, 0x0152, 0x0000, 0x0000, 0x0000,
tylerjw 2:e8cd708f09ff 475 0x0000, 0x2018, 0x2019, 0x201C, 0x201D, 0x2022, 0x2013, 0x2014,
tylerjw 2:e8cd708f09ff 476 0x02DC, 0x2122, 0x0000, 0x203A, 0x0153, 0x0000, 0x0000, 0x0178,
tylerjw 2:e8cd708f09ff 477 0x00A0, 0x00A1, 0x00A2, 0x00A3, 0x00A4, 0x00A5, 0x00A6, 0x00A7,
tylerjw 2:e8cd708f09ff 478 0x00A8, 0x00A9, 0x00AA, 0x00AB, 0x00AC, 0x00AD, 0x00AE, 0x00AF,
tylerjw 2:e8cd708f09ff 479 0x00B0, 0x00B1, 0x00B2, 0x00B3, 0x00B4, 0x00B5, 0x00B6, 0x00B7,
tylerjw 2:e8cd708f09ff 480 0x00B8, 0x00B9, 0x00BA, 0x00BB, 0x00BC, 0x00BD, 0x00BE, 0x00BF,
tylerjw 2:e8cd708f09ff 481 0x00C0, 0x00C1, 0x00C2, 0x0102, 0x00C4, 0x00C5, 0x00C6, 0x00C7,
tylerjw 2:e8cd708f09ff 482 0x00C8, 0x00C9, 0x00CA, 0x00CB, 0x0300, 0x00CD, 0x00CE, 0x00CF,
tylerjw 2:e8cd708f09ff 483 0x0110, 0x00D1, 0x0309, 0x00D3, 0x00D4, 0x01A0, 0x00D6, 0x00D7,
tylerjw 2:e8cd708f09ff 484 0x00D8, 0x00D9, 0x00DA, 0x00DB, 0x00DC, 0x01AF, 0x0303, 0x00DF,
tylerjw 2:e8cd708f09ff 485 0x00E0, 0x00E1, 0x00E2, 0x0103, 0x00E4, 0x00E5, 0x00E6, 0x00E7,
tylerjw 2:e8cd708f09ff 486 0x00E8, 0x00E9, 0x00EA, 0x00EB, 0x0301, 0x00ED, 0x00EE, 0x00EF,
tylerjw 2:e8cd708f09ff 487 0x0111, 0x00F1, 0x0323, 0x00F3, 0x00F4, 0x01A1, 0x00F6, 0x00F7,
tylerjw 2:e8cd708f09ff 488 0x00F8, 0x00F9, 0x00FA, 0x00FB, 0x00FC, 0x01B0, 0x20AB, 0x00FF
tylerjw 2:e8cd708f09ff 489 };
tylerjw 2:e8cd708f09ff 490
tylerjw 2:e8cd708f09ff 491 #endif
tylerjw 2:e8cd708f09ff 492
tylerjw 7:f84cf96bb008 493 /*
tylerjw 2:e8cd708f09ff 494 #if !_TBLDEF || !_USE_LFN
tylerjw 2:e8cd708f09ff 495 #error This file is not needed in current configuration
tylerjw 2:e8cd708f09ff 496 #endif
tylerjw 7:f84cf96bb008 497 */
tylerjw 2:e8cd708f09ff 498
tylerjw 2:e8cd708f09ff 499 WCHAR ff_convert ( /* Converted character, Returns zero on error */
tylerjw 2:e8cd708f09ff 500 WCHAR src, /* Character code to be converted */
tylerjw 2:e8cd708f09ff 501 UINT dir /* 0: Unicode to OEMCP, 1: OEMCP to Unicode */
tylerjw 2:e8cd708f09ff 502 )
tylerjw 2:e8cd708f09ff 503 {
tylerjw 2:e8cd708f09ff 504 WCHAR c;
tylerjw 2:e8cd708f09ff 505
tylerjw 2:e8cd708f09ff 506
tylerjw 2:e8cd708f09ff 507 if (src < 0x80) { /* ASCII */
tylerjw 2:e8cd708f09ff 508 c = src;
tylerjw 2:e8cd708f09ff 509
tylerjw 2:e8cd708f09ff 510 } else {
tylerjw 2:e8cd708f09ff 511 if (dir) { /* OEMCP to Unicode */
tylerjw 2:e8cd708f09ff 512 c = (src >= 0x100) ? 0 : Tbl[src - 0x80];
tylerjw 2:e8cd708f09ff 513
tylerjw 2:e8cd708f09ff 514 } else { /* Unicode to OEMCP */
tylerjw 2:e8cd708f09ff 515 for (c = 0; c < 0x80; c++) {
tylerjw 2:e8cd708f09ff 516 if (src == Tbl[c]) break;
tylerjw 2:e8cd708f09ff 517 }
tylerjw 2:e8cd708f09ff 518 c = (c + 0x80) & 0xFF;
tylerjw 2:e8cd708f09ff 519 }
tylerjw 2:e8cd708f09ff 520 }
tylerjw 2:e8cd708f09ff 521
tylerjw 2:e8cd708f09ff 522 return c;
tylerjw 2:e8cd708f09ff 523 }
tylerjw 2:e8cd708f09ff 524
tylerjw 2:e8cd708f09ff 525
tylerjw 2:e8cd708f09ff 526 WCHAR ff_wtoupper ( /* Upper converted character */
tylerjw 2:e8cd708f09ff 527 WCHAR chr /* Input character */
tylerjw 2:e8cd708f09ff 528 )
tylerjw 2:e8cd708f09ff 529 {
tylerjw 2:e8cd708f09ff 530 static const WCHAR tbl_lower[] = { 0x61, 0x62, 0x63, 0x64, 0x65, 0x66, 0x67, 0x68, 0x69, 0x6A, 0x6B, 0x6C, 0x6D, 0x6E, 0x6F, 0x70, 0x71, 0x72, 0x73, 0x74, 0x75, 0x76, 0x77, 0x78, 0x79, 0x7A, 0xA1, 0x00A2, 0x00A3, 0x00A5, 0x00AC, 0x00AF, 0xE0, 0xE1, 0xE2, 0xE3, 0xE4, 0xE5, 0xE6, 0xE7, 0xE8, 0xE9, 0xEA, 0xEB, 0xEC, 0xED, 0xEE, 0xEF, 0xF0, 0xF1, 0xF2, 0xF3, 0xF4, 0xF5, 0xF6, 0xF8, 0xF9, 0xFA, 0xFB, 0xFC, 0xFD, 0xFE, 0x0FF, 0x101, 0x103, 0x105, 0x107, 0x109, 0x10B, 0x10D, 0x10F, 0x111, 0x113, 0x115, 0x117, 0x119, 0x11B, 0x11D, 0x11F, 0x121, 0x123, 0x125, 0x127, 0x129, 0x12B, 0x12D, 0x12F, 0x131, 0x133, 0x135, 0x137, 0x13A, 0x13C, 0x13E, 0x140, 0x142, 0x144, 0x146, 0x148, 0x14B, 0x14D, 0x14F, 0x151, 0x153, 0x155, 0x157, 0x159, 0x15B, 0x15D, 0x15F, 0x161, 0x163, 0x165, 0x167, 0x169, 0x16B, 0x16D, 0x16F, 0x171, 0x173, 0x175, 0x177, 0x17A, 0x17C, 0x17E, 0x192, 0x3B1, 0x3B2, 0x3B3, 0x3B4, 0x3B5, 0x3B6, 0x3B7, 0x3B8, 0x3B9, 0x3BA, 0x3BB, 0x3BC, 0x3BD, 0x3BE, 0x3BF, 0x3C0, 0x3C1, 0x3C3, 0x3C4, 0x3C5, 0x3C6, 0x3C7, 0x3C8, 0x3C9, 0x3CA, 0x430, 0x431, 0x432, 0x433, 0x434, 0x435, 0x436, 0x437, 0x438, 0x439, 0x43A, 0x43B, 0x43C, 0x43D, 0x43E, 0x43F, 0x440, 0x441, 0x442, 0x443, 0x444, 0x445, 0x446, 0x447, 0x448, 0x449, 0x44A, 0x44B, 0x44C, 0x44D, 0x44E, 0x44F, 0x451, 0x452, 0x453, 0x454, 0x455, 0x456, 0x457, 0x458, 0x459, 0x45A, 0x45B, 0x45C, 0x45E, 0x45F, 0x2170, 0x2171, 0x2172, 0x2173, 0x2174, 0x2175, 0x2176, 0x2177, 0x2178, 0x2179, 0x217A, 0x217B, 0x217C, 0x217D, 0x217E, 0x217F, 0xFF41, 0xFF42, 0xFF43, 0xFF44, 0xFF45, 0xFF46, 0xFF47, 0xFF48, 0xFF49, 0xFF4A, 0xFF4B, 0xFF4C, 0xFF4D, 0xFF4E, 0xFF4F, 0xFF50, 0xFF51, 0xFF52, 0xFF53, 0xFF54, 0xFF55, 0xFF56, 0xFF57, 0xFF58, 0xFF59, 0xFF5A, 0 };
tylerjw 2:e8cd708f09ff 531 static const WCHAR tbl_upper[] = { 0x41, 0x42, 0x43, 0x44, 0x45, 0x46, 0x47, 0x48, 0x49, 0x4A, 0x4B, 0x4C, 0x4D, 0x4E, 0x4F, 0x50, 0x51, 0x52, 0x53, 0x54, 0x55, 0x56, 0x57, 0x58, 0x59, 0x5A, 0x21, 0xFFE0, 0xFFE1, 0xFFE5, 0xFFE2, 0xFFE3, 0xC0, 0xC1, 0xC2, 0xC3, 0xC4, 0xC5, 0xC6, 0xC7, 0xC8, 0xC9, 0xCA, 0xCB, 0xCC, 0xCD, 0xCE, 0xCF, 0xD0, 0xD1, 0xD2, 0xD3, 0xD4, 0xD5, 0xD6, 0xD8, 0xD9, 0xDA, 0xDB, 0xDC, 0xDD, 0xDE, 0x178, 0x100, 0x102, 0x104, 0x106, 0x108, 0x10A, 0x10C, 0x10E, 0x110, 0x112, 0x114, 0x116, 0x118, 0x11A, 0x11C, 0x11E, 0x120, 0x122, 0x124, 0x126, 0x128, 0x12A, 0x12C, 0x12E, 0x130, 0x132, 0x134, 0x136, 0x139, 0x13B, 0x13D, 0x13F, 0x141, 0x143, 0x145, 0x147, 0x14A, 0x14C, 0x14E, 0x150, 0x152, 0x154, 0x156, 0x158, 0x15A, 0x15C, 0x15E, 0x160, 0x162, 0x164, 0x166, 0x168, 0x16A, 0x16C, 0x16E, 0x170, 0x172, 0x174, 0x176, 0x179, 0x17B, 0x17D, 0x191, 0x391, 0x392, 0x393, 0x394, 0x395, 0x396, 0x397, 0x398, 0x399, 0x39A, 0x39B, 0x39C, 0x39D, 0x39E, 0x39F, 0x3A0, 0x3A1, 0x3A3, 0x3A4, 0x3A5, 0x3A6, 0x3A7, 0x3A8, 0x3A9, 0x3AA, 0x410, 0x411, 0x412, 0x413, 0x414, 0x415, 0x416, 0x417, 0x418, 0x419, 0x41A, 0x41B, 0x41C, 0x41D, 0x41E, 0x41F, 0x420, 0x421, 0x422, 0x423, 0x424, 0x425, 0x426, 0x427, 0x428, 0x429, 0x42A, 0x42B, 0x42C, 0x42D, 0x42E, 0x42F, 0x401, 0x402, 0x403, 0x404, 0x405, 0x406, 0x407, 0x408, 0x409, 0x40A, 0x40B, 0x40C, 0x40E, 0x40F, 0x2160, 0x2161, 0x2162, 0x2163, 0x2164, 0x2165, 0x2166, 0x2167, 0x2168, 0x2169, 0x216A, 0x216B, 0x216C, 0x216D, 0x216E, 0x216F, 0xFF21, 0xFF22, 0xFF23, 0xFF24, 0xFF25, 0xFF26, 0xFF27, 0xFF28, 0xFF29, 0xFF2A, 0xFF2B, 0xFF2C, 0xFF2D, 0xFF2E, 0xFF2F, 0xFF30, 0xFF31, 0xFF32, 0xFF33, 0xFF34, 0xFF35, 0xFF36, 0xFF37, 0xFF38, 0xFF39, 0xFF3A, 0 };
tylerjw 2:e8cd708f09ff 532 int i;
tylerjw 2:e8cd708f09ff 533
tylerjw 2:e8cd708f09ff 534
tylerjw 2:e8cd708f09ff 535 for (i = 0; tbl_lower[i] && chr != tbl_lower[i]; i++) ;
tylerjw 2:e8cd708f09ff 536
tylerjw 2:e8cd708f09ff 537 return tbl_lower[i] ? tbl_upper[i] : chr;
tylerjw 2:e8cd708f09ff 538 }