diff --git a/src/conio/sdl_con.c b/src/conio/sdl_con.c index 9957a716c815b48d281ff222712e3f00a36d916f..a70953ecd24ca5666f604cf9ddf07c2c10072a20 100644 --- a/src/conio/sdl_con.c +++ b/src/conio/sdl_con.c @@ -705,7 +705,9 @@ sdl_add_keys(uint8_t *utf8s) char *chars; char *p; +fprintf(stderr, "Got key: %c (%u)\n", utf8s[0], utf8s[0]); chars = utf8_to_cp(getcodepage(), utf8s, '\x00', strlen((char *)utf8s), NULL); +fprintf(stderr, "Xlat key: %c (%u)\n", (unsigned char)chars[0], (unsigned char)chars[0]); if (chars) { for (p = chars; *p; p++) { sdl_add_key(*((uint8_t *)p)); diff --git a/src/conio/utf8_codepages.c b/src/conio/utf8_codepages.c index 3bd18e7ea0d2be1461e1d7ccf594c6f96ca2d2d0..b3a9005ce40ce8b1e1deb4202e38ef0b4656e374 100644 --- a/src/conio/utf8_codepages.c +++ b/src/conio/utf8_codepages.c @@ -10,7 +10,7 @@ struct ciolib_cpmap { // Sorted by unicode codepoint... const static struct ciolib_cpmap cp437_table[162] = { {0x0000, 0}, {0x00A0, 255}, {0x00A1, 173}, {0x00A2, 155}, - {0x00A3, 156}, {0x00A5, 157}, {0x00A6, '|'}, {0x00A7, 21}, {0x00AA, 166}, + {0x00A3, 156}, {0x00A5, 157}, {0x00A6, 124}, {0x00A7, 21}, {0x00AA, 166}, {0x00AB, 174}, {0x00AC, 170}, {0x00B0, 248}, {0x00B1, 241}, {0x00B2, 253}, {0x00B5, 230}, {0x00B6, 20}, {0x00B7, 250}, {0x00BA, 167}, {0x00BB, 175}, {0x00BC, 172}, {0x00BD, 171}, @@ -78,47 +78,46 @@ const static uint32_t cp437_unicode_table[128] = { 0x00B0, 0x2219, 0x00B7, 0x221A, 0x207F, 0x00B2, 0x25A0, 0x00A0 }; -const static struct ciolib_cpmap cp1251_table[159] = { - {0x00a0, 160}, {0x00a4, 164}, {0x00a6, 166}, {0x00a7, 21}, - {0x00a7, 167}, {0x00a9, 169}, {0x00ab, 171}, {0x00ac, 172}, - {0x00ad, 173}, {0x00ae, 174}, {0x00b0, 176}, {0x00b1, 177}, - {0x00b5, 181}, {0x00b6, 20}, {0x00b6, 182}, {0x00b7, 183}, - {0x00bb, 187}, {0x0401, 168}, {0x0402, 128}, {0x0403, 129}, - {0x0404, 170}, {0x0405, 189}, {0x0406, 178}, {0x0407, 175}, - {0x0408, 163}, {0x0409, 138}, {0x040a, 140}, {0x040b, 142}, - {0x040c, 141}, {0x040e, 161}, {0x040f, 143}, {0x0410, 192}, - {0x0411, 193}, {0x0412, 194}, {0x0413, 195}, {0x0414, 196}, - {0x0415, 197}, {0x0416, 198}, {0x0417, 199}, {0x0418, 200}, - {0x0419, 201}, {0x041a, 202}, {0x041b, 203}, {0x041c, 204}, - {0x041d, 205}, {0x041e, 206}, {0x041f, 207}, {0x0420, 208}, - {0x0421, 209}, {0x0422, 210}, {0x0423, 211}, {0x0424, 212}, - {0x0425, 213}, {0x0426, 214}, {0x0427, 215}, {0x0428, 216}, - {0x0429, 217}, {0x042a, 218}, {0x042b, 219}, {0x042c, 220}, - {0x042d, 221}, {0x042e, 222}, {0x042f, 223}, {0x0430, 224}, - {0x0431, 225}, {0x0432, 226}, {0x0433, 227}, {0x0434, 228}, - {0x0435, 229}, {0x0436, 230}, {0x0437, 231}, {0x0438, 232}, - {0x0439, 233}, {0x043a, 234}, {0x043b, 235}, {0x043c, 236}, - {0x043d, 237}, {0x043e, 238}, {0x043f, 239}, {0x0440, 240}, - {0x0441, 241}, {0x0442, 242}, {0x0443, 243}, {0x0444, 244}, - {0x0445, 245}, {0x0446, 246}, {0x0447, 247}, {0x0448, 248}, - {0x0449, 249}, {0x044a, 250}, {0x044b, 251}, {0x044c, 252}, - {0x044d, 253}, {0x044e, 254}, {0x044f, 255}, {0x0451, 184}, - {0x0452, 144}, {0x0453, 131}, {0x0454, 186}, {0x0455, 190}, - {0x0456, 179}, {0x0457, 191}, {0x0458, 188}, {0x0459, 154}, - {0x045a, 156}, {0x045b, 158}, {0x045c, 157}, {0x045e, 162}, - {0x045f, 159}, {0x0490, 165}, {0x0491, 180}, {0x2013, 150}, - {0x2014, 151}, {0x2018, 145}, {0x2019, 146}, {0x201a, 130}, - {0x201c, 147}, {0x201d, 148}, {0x201e, 132}, {0x2020, 134}, - {0x2021, 135}, {0x2022, 149}, {0x2022, 7}, {0x2026, 133}, - {0x2030, 137}, {0x2039, 139}, {0x203a, 155}, {0x203c, 19}, - {0x20ac, 136}, {0x2116, 185}, {0x2122, 153}, {0x2190, 27}, - {0x2191, 24}, {0x2192, 26}, {0x2193, 25}, {0x2194, 29}, - {0x2195, 18}, {0x21a8, 23}, {0x221f, 28}, {0x25ac, 22}, - {0x25b2, 30}, {0x25ba, 16}, {0x25bc, 31}, {0x25c4, 17}, - {0x25cb, 9}, {0x25d8, 8}, {0x25d9, 10}, {0x263a, 1}, - {0x263b, 2}, {0x263c, 15}, {0x2640, 12}, {0x2642, 11}, - {0x2660, 6}, {0x2663, 5}, {0x2665, 3}, {0x2666, 4}, - {0x266a, 13}, {0x266b, 14}, {0xfffd, '?'} +const static struct ciolib_cpmap cp1251_table[156] = { + {0x00a0, 160}, {0x00a4, 164}, {0x00a6, 166}, {0x00a7, 167}, + {0x00a9, 169}, {0x00ab, 171}, {0x00ac, 172}, {0x00ad, 173}, + {0x00ae, 174}, {0x00b0, 176}, {0x00b1, 177}, {0x00b5, 181}, + {0x00b6, 20}, {0x00b7, 183}, {0x00bb, 187}, {0x0401, 168}, + {0x0402, 128}, {0x0403, 129}, {0x0404, 170}, {0x0405, 189}, + {0x0406, 178}, {0x0407, 175}, {0x0408, 163}, {0x0409, 138}, + {0x040a, 140}, {0x040b, 142}, {0x040c, 141}, {0x040e, 161}, + {0x040f, 143}, {0x0410, 192}, {0x0411, 193}, {0x0412, 194}, + {0x0413, 195}, {0x0414, 196}, {0x0415, 197}, {0x0416, 198}, + {0x0417, 199}, {0x0418, 200}, {0x0419, 201}, {0x041a, 202}, + {0x041b, 203}, {0x041c, 204}, {0x041d, 205}, {0x041e, 206}, + {0x041f, 207}, {0x0420, 208}, {0x0421, 209}, {0x0422, 210}, + {0x0423, 211}, {0x0424, 212}, {0x0425, 213}, {0x0426, 214}, + {0x0427, 215}, {0x0428, 216}, {0x0429, 217}, {0x042a, 218}, + {0x042b, 219}, {0x042c, 220}, {0x042d, 221}, {0x042e, 222}, + {0x042f, 223}, {0x0430, 224}, {0x0431, 225}, {0x0432, 226}, + {0x0433, 227}, {0x0434, 228}, {0x0435, 229}, {0x0436, 230}, + {0x0437, 231}, {0x0438, 232}, {0x0439, 233}, {0x043a, 234}, + {0x043b, 235}, {0x043c, 236}, {0x043d, 237}, {0x043e, 238}, + {0x043f, 239}, {0x0440, 240}, {0x0441, 241}, {0x0442, 242}, + {0x0443, 243}, {0x0444, 244}, {0x0445, 245}, {0x0446, 246}, + {0x0447, 247}, {0x0448, 248}, {0x0449, 249}, {0x044a, 250}, + {0x044b, 251}, {0x044c, 252}, {0x044d, 253}, {0x044e, 254}, + {0x044f, 255}, {0x0451, 184}, {0x0452, 144}, {0x0453, 131}, + {0x0454, 186}, {0x0455, 190}, {0x0456, 179}, {0x0457, 191}, + {0x0458, 188}, {0x0459, 154}, {0x045a, 156}, {0x045b, 158}, + {0x045c, 157}, {0x045e, 162}, {0x045f, 159}, {0x0490, 165}, + {0x0491, 180}, {0x2013, 150}, {0x2014, 151}, {0x2018, 145}, + {0x2019, 146}, {0x201a, 130}, {0x201c, 147}, {0x201d, 148}, + {0x201e, 132}, {0x2020, 134}, {0x2021, 135}, {0x2022, 7}, + {0x2026, 133}, {0x2030, 137}, {0x2039, 139}, {0x203a, 155}, + {0x203c, 19}, {0x20ac, 136}, {0x2116, 185}, {0x2122, 153}, + {0x2190, 27}, {0x2191, 24}, {0x2192, 26}, {0x2193, 25}, + {0x2194, 29}, {0x2195, 18}, {0x21a8, 23}, {0x221f, 28}, + {0x25ac, 22}, {0x25b2, 30}, {0x25ba, 16}, {0x25bc, 31}, + {0x25c4, 17}, {0x25cb, 9}, {0x25d8, 8}, {0x25d9, 10}, + {0x263a, 1}, {0x263b, 2}, {0x263c, 15}, {0x2640, 12}, + {0x2642, 11}, {0x2660, 6}, {0x2663, 5}, {0x2665, 3}, + {0x2666, 4}, {0x266a, 13}, {0x266b, 14}, {0xfffd, 63} }; const static uint32_t cp1251_unicode_table[128] = { @@ -209,39 +208,39 @@ const static uint32_t empty_ext_table[32] = { 0xfffd, 0xfffd, 0xfffd, 0xfffd, 0xfffd, 0xfffd, 0xfffd, 0xfffd }; -const static struct ciolib_cpmap iso8859_2_table[128] = { - {0x00a0, 160}, {0x00a4, 164}, {0x00a7, 167}, {0x00a7, 21}, - {0x00a8, 168}, {0x00ad, 173}, {0x00b0, 176}, {0x00b4, 180}, - {0x00b6, 20}, {0x00b8, 184}, {0x00c1, 193}, {0x00c2, 194}, - {0x00c4, 196}, {0x00c7, 199}, {0x00c9, 201}, {0x00cb, 203}, - {0x00cd, 205}, {0x00ce, 206}, {0x00d3, 211}, {0x00d4, 212}, - {0x00d6, 214}, {0x00d7, 215}, {0x00da, 218}, {0x00dc, 220}, - {0x00dd, 221}, {0x00df, 223}, {0x00e1, 225}, {0x00e2, 226}, - {0x00e4, 228}, {0x00e7, 231}, {0x00e9, 233}, {0x00eb, 235}, - {0x00ed, 237}, {0x00ee, 238}, {0x00f3, 243}, {0x00f4, 244}, - {0x00f6, 246}, {0x00f7, 247}, {0x00fa, 250}, {0x00fc, 252}, - {0x00fd, 253}, {0x0102, 195}, {0x0103, 227}, {0x0104, 161}, - {0x0105, 177}, {0x0106, 198}, {0x0107, 230}, {0x010c, 200}, - {0x010d, 232}, {0x010e, 207}, {0x010f, 239}, {0x0110, 208}, - {0x0111, 240}, {0x0118, 202}, {0x0119, 234}, {0x011a, 204}, - {0x011b, 236}, {0x0139, 197}, {0x013a, 229}, {0x013d, 165}, - {0x013e, 181}, {0x0141, 163}, {0x0142, 179}, {0x0143, 209}, - {0x0144, 241}, {0x0147, 210}, {0x0148, 242}, {0x0150, 213}, - {0x0151, 245}, {0x0154, 192}, {0x0155, 224}, {0x0158, 216}, - {0x0159, 248}, {0x015a, 166}, {0x015b, 182}, {0x015e, 170}, - {0x015f, 186}, {0x0160, 169}, {0x0161, 185}, {0x0162, 222}, - {0x0163, 254}, {0x0164, 171}, {0x0165, 187}, {0x016e, 217}, - {0x016f, 249}, {0x0170, 219}, {0x0171, 251}, {0x0179, 172}, - {0x017a, 188}, {0x017b, 175}, {0x017c, 191}, {0x017d, 174}, - {0x017e, 190}, {0x02c7, 183}, {0x02d8, 162}, {0x02d9, 255}, - {0x02db, 178}, {0x02dd, 189}, {0x2022, 7}, {0x203c, 19}, - {0x2190, 27}, {0x2191, 24}, {0x2192, 26}, {0x2193, 25}, - {0x2194, 29}, {0x2195, 18}, {0x21a8, 23}, {0x221f, 28}, - {0x25ac, 22}, {0x25b2, 30}, {0x25ba, 16}, {0x25bc, 31}, - {0x25c4, 17}, {0x25cb, 9}, {0x25d8, 8}, {0x25d9, 10}, - {0x263a, 1}, {0x263b, 2}, {0x263c, 15}, {0x2640, 12}, - {0x2642, 11}, {0x2660, 6}, {0x2663, 5}, {0x2665, 3}, - {0x2666, 4}, {0x266a, 13}, {0x266b, 14}, {0xfffd, 0} +const static struct ciolib_cpmap iso8859_2_table[127] = { + {0x00a0, 160}, {0x00a4, 164}, {0x00a7, 167}, {0x00a8, 168}, + {0x00ad, 173}, {0x00b0, 176}, {0x00b4, 180}, {0x00b6, 20}, + {0x00b8, 184}, {0x00c1, 193}, {0x00c2, 194}, {0x00c4, 196}, + {0x00c7, 199}, {0x00c9, 201}, {0x00cb, 203}, {0x00cd, 205}, + {0x00ce, 206}, {0x00d3, 211}, {0x00d4, 212}, {0x00d6, 214}, + {0x00d7, 215}, {0x00da, 218}, {0x00dc, 220}, {0x00dd, 221}, + {0x00df, 223}, {0x00e1, 225}, {0x00e2, 226}, {0x00e4, 228}, + {0x00e7, 231}, {0x00e9, 233}, {0x00eb, 235}, {0x00ed, 237}, + {0x00ee, 238}, {0x00f3, 243}, {0x00f4, 244}, {0x00f6, 246}, + {0x00f7, 247}, {0x00fa, 250}, {0x00fc, 252}, {0x00fd, 253}, + {0x0102, 195}, {0x0103, 227}, {0x0104, 161}, {0x0105, 177}, + {0x0106, 198}, {0x0107, 230}, {0x010c, 200}, {0x010d, 232}, + {0x010e, 207}, {0x010f, 239}, {0x0110, 208}, {0x0111, 240}, + {0x0118, 202}, {0x0119, 234}, {0x011a, 204}, {0x011b, 236}, + {0x0139, 197}, {0x013a, 229}, {0x013d, 165}, {0x013e, 181}, + {0x0141, 163}, {0x0142, 179}, {0x0143, 209}, {0x0144, 241}, + {0x0147, 210}, {0x0148, 242}, {0x0150, 213}, {0x0151, 245}, + {0x0154, 192}, {0x0155, 224}, {0x0158, 216}, {0x0159, 248}, + {0x015a, 166}, {0x015b, 182}, {0x015e, 170}, {0x015f, 186}, + {0x0160, 169}, {0x0161, 185}, {0x0162, 222}, {0x0163, 254}, + {0x0164, 171}, {0x0165, 187}, {0x016e, 217}, {0x016f, 249}, + {0x0170, 219}, {0x0171, 251}, {0x0179, 172}, {0x017a, 188}, + {0x017b, 175}, {0x017c, 191}, {0x017d, 174}, {0x017e, 190}, + {0x02c7, 183}, {0x02d8, 162}, {0x02d9, 255}, {0x02db, 178}, + {0x02dd, 189}, {0x2022, 7}, {0x203c, 19}, {0x2190, 27}, + {0x2191, 24}, {0x2192, 26}, {0x2193, 25}, {0x2194, 29}, + {0x2195, 18}, {0x21a8, 23}, {0x221f, 28}, {0x25ac, 22}, + {0x25b2, 30}, {0x25ba, 16}, {0x25bc, 31}, {0x25c4, 17}, + {0x25cb, 9}, {0x25d8, 8}, {0x25d9, 10}, {0x263a, 1}, + {0x263b, 2}, {0x263c, 15}, {0x2640, 12}, {0x2642, 11}, + {0x2660, 6}, {0x2663, 5}, {0x2665, 3}, {0x2666, 4}, + {0x266a, 13}, {0x266b, 14}, {0xfffd, 63} }; const static uint32_t iso8859_2_unicode_table[128] = { @@ -263,39 +262,39 @@ const static uint32_t iso8859_2_unicode_table[128] = { 0x0159, 0x016f, 0x00fa, 0x0171, 0x00fc, 0x00fd, 0x0163, 0x02d9 }; -const static struct ciolib_cpmap iso8859_4_table[128] = { - {0x00a0, 160}, {0x00a4, 164}, {0x00a7, 21}, {0x00a7, 167}, - {0x00a8, 168}, {0x00ad, 173}, {0x00af, 175}, {0x00b0, 176}, - {0x00b4, 180}, {0x00b6, 20}, {0x00b8, 184}, {0x00c1, 193}, - {0x00c2, 194}, {0x00c3, 195}, {0x00c4, 196}, {0x00c5, 197}, - {0x00c6, 198}, {0x00c9, 201}, {0x00cb, 203}, {0x00cd, 205}, - {0x00ce, 206}, {0x00d4, 212}, {0x00d5, 213}, {0x00d6, 214}, - {0x00d7, 215}, {0x00d8, 216}, {0x00da, 218}, {0x00db, 219}, - {0x00dc, 220}, {0x00df, 223}, {0x00e1, 225}, {0x00e2, 226}, - {0x00e3, 227}, {0x00e4, 228}, {0x00e5, 229}, {0x00e6, 230}, - {0x00e9, 233}, {0x00eb, 235}, {0x00ed, 237}, {0x00ee, 238}, - {0x00f4, 244}, {0x00f5, 245}, {0x00f6, 246}, {0x00f7, 247}, - {0x00f8, 248}, {0x00fa, 250}, {0x00fb, 251}, {0x00fc, 252}, - {0x0100, 192}, {0x0101, 224}, {0x0104, 161}, {0x0105, 177}, - {0x010c, 200}, {0x010d, 232}, {0x0110, 208}, {0x0111, 240}, - {0x0112, 170}, {0x0113, 186}, {0x0116, 204}, {0x0117, 236}, - {0x0118, 202}, {0x0119, 234}, {0x0122, 171}, {0x0123, 187}, - {0x0128, 165}, {0x0129, 181}, {0x012a, 207}, {0x012b, 239}, - {0x012e, 199}, {0x012f, 231}, {0x0136, 211}, {0x0137, 243}, - {0x0138, 162}, {0x013b, 166}, {0x013c, 182}, {0x0145, 209}, - {0x0146, 241}, {0x014a, 189}, {0x014b, 191}, {0x014c, 210}, - {0x014d, 242}, {0x0156, 163}, {0x0157, 179}, {0x0160, 169}, - {0x0161, 185}, {0x0166, 172}, {0x0167, 188}, {0x0168, 221}, - {0x0169, 253}, {0x016a, 222}, {0x016b, 254}, {0x0172, 217}, - {0x0173, 249}, {0x017d, 174}, {0x017e, 190}, {0x02c7, 183}, - {0x02d9, 255}, {0x02db, 178}, {0x2022, 7}, {0x203c, 19}, - {0x2190, 27}, {0x2191, 24}, {0x2192, 26}, {0x2193, 25}, - {0x2194, 29}, {0x2195, 18}, {0x21a8, 23}, {0x221f, 28}, - {0x25ac, 22}, {0x25b2, 30}, {0x25ba, 16}, {0x25bc, 31}, - {0x25c4, 17}, {0x25cb, 9}, {0x25d8, 8}, {0x25d9, 10}, - {0x263a, 1}, {0x263b, 2}, {0x263c, 15}, {0x2640, 12}, - {0x2642, 11}, {0x2660, 6}, {0x2663, 5}, {0x2665, 3}, - {0x2666, 4}, {0x266a, 13}, {0x266b, 14}, {0xfffd, '?'} +const static struct ciolib_cpmap iso8859_4_table[127] = { + {0x00a0, 160}, {0x00a4, 164}, {0x00a7, 167}, {0x00a8, 168}, + {0x00ad, 173}, {0x00af, 175}, {0x00b0, 176}, {0x00b4, 180}, + {0x00b6, 20}, {0x00b8, 184}, {0x00c1, 193}, {0x00c2, 194}, + {0x00c3, 195}, {0x00c4, 196}, {0x00c5, 197}, {0x00c6, 198}, + {0x00c9, 201}, {0x00cb, 203}, {0x00cd, 205}, {0x00ce, 206}, + {0x00d4, 212}, {0x00d5, 213}, {0x00d6, 214}, {0x00d7, 215}, + {0x00d8, 216}, {0x00da, 218}, {0x00db, 219}, {0x00dc, 220}, + {0x00df, 223}, {0x00e1, 225}, {0x00e2, 226}, {0x00e3, 227}, + {0x00e4, 228}, {0x00e5, 229}, {0x00e6, 230}, {0x00e9, 233}, + {0x00eb, 235}, {0x00ed, 237}, {0x00ee, 238}, {0x00f4, 244}, + {0x00f5, 245}, {0x00f6, 246}, {0x00f7, 247}, {0x00f8, 248}, + {0x00fa, 250}, {0x00fb, 251}, {0x00fc, 252}, {0x0100, 192}, + {0x0101, 224}, {0x0104, 161}, {0x0105, 177}, {0x010c, 200}, + {0x010d, 232}, {0x0110, 208}, {0x0111, 240}, {0x0112, 170}, + {0x0113, 186}, {0x0116, 204}, {0x0117, 236}, {0x0118, 202}, + {0x0119, 234}, {0x0122, 171}, {0x0123, 187}, {0x0128, 165}, + {0x0129, 181}, {0x012a, 207}, {0x012b, 239}, {0x012e, 199}, + {0x012f, 231}, {0x0136, 211}, {0x0137, 243}, {0x0138, 162}, + {0x013b, 166}, {0x013c, 182}, {0x0145, 209}, {0x0146, 241}, + {0x014a, 189}, {0x014b, 191}, {0x014c, 210}, {0x014d, 242}, + {0x0156, 163}, {0x0157, 179}, {0x0160, 169}, {0x0161, 185}, + {0x0166, 172}, {0x0167, 188}, {0x0168, 221}, {0x0169, 253}, + {0x016a, 222}, {0x016b, 254}, {0x0172, 217}, {0x0173, 249}, + {0x017d, 174}, {0x017e, 190}, {0x02c7, 183}, {0x02d9, 255}, + {0x02db, 178}, {0x2022, 7}, {0x203c, 19}, {0x2190, 27}, + {0x2191, 24}, {0x2192, 26}, {0x2193, 25}, {0x2194, 29}, + {0x2195, 18}, {0x21a8, 23}, {0x221f, 28}, {0x25ac, 22}, + {0x25b2, 30}, {0x25ba, 16}, {0x25bc, 31}, {0x25c4, 17}, + {0x25cb, 9}, {0x25d8, 8}, {0x25d9, 10}, {0x263a, 1}, + {0x263b, 2}, {0x263c, 15}, {0x2640, 12}, {0x2642, 11}, + {0x2660, 6}, {0x2663, 5}, {0x2665, 3}, {0x2666, 4}, + {0x266a, 13}, {0x266b, 14}, {0xfffd, 63} }; const static uint32_t iso8859_4_unicode_table[128] = { @@ -443,39 +442,39 @@ const static uint32_t cp866m_unicode_table[128] = { 0x00b0, 0x2219, 0x00b7, 0x221a, 0x045F, 0x00B2, 0x25a0, 0x00a0 }; -const static struct ciolib_cpmap iso8859_9_table[128] = { +const static struct ciolib_cpmap iso8859_9_table[126] = { {0x00a0, 160}, {0x00a1, 161}, {0x00a2, 162}, {0x00a3, 163}, {0x00a4, 164}, {0x00a5, 165}, {0x00a6, 166}, {0x00a7, 167}, - {0x00a7, 21}, {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}, - {0x00b6, 20}, {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}, {0x00d1, 209}, {0x00d2, 210}, - {0x00d3, 211}, {0x00d4, 212}, {0x00d5, 213}, {0x00d6, 214}, - {0x00d7, 215}, {0x00d8, 216}, {0x00d9, 217}, {0x00da, 218}, - {0x00db, 219}, {0x00dc, 220}, {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}, {0x00f1, 241}, - {0x00f2, 242}, {0x00f3, 243}, {0x00f4, 244}, {0x00f5, 245}, - {0x00f6, 246}, {0x00f7, 247}, {0x00f8, 248}, {0x00f9, 249}, - {0x00fa, 250}, {0x00fb, 251}, {0x00fc, 252}, {0x00ff, 255}, - {0x011e, 208}, {0x011f, 240}, {0x0130, 221}, {0x0131, 253}, - {0x015e, 222}, {0x015f, 254}, {0x2022, 7}, {0x203c, 19}, - {0x2190, 27}, {0x2191, 24}, {0x2192, 26}, {0x2193, 25}, - {0x2194, 29}, {0x2195, 18}, {0x21a8, 23}, {0x221f, 28}, - {0x25ac, 22}, {0x25b2, 30}, {0x25ba, 16}, {0x25bc, 31}, - {0x25c4, 17}, {0x25cb, 9}, {0x25d8, 8}, {0x25d9, 10}, - {0x263a, 1}, {0x263b, 2}, {0x263c, 15}, {0x2640, 12}, - {0x2642, 11}, {0x2660, 6}, {0x2663, 5}, {0x2665, 3}, - {0x2666, 4}, {0x266a, 13}, {0x266b, 14}, {0xfffd, '?'}, + {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}, + {0x00d1, 209}, {0x00d2, 210}, {0x00d3, 211}, {0x00d4, 212}, + {0x00d5, 213}, {0x00d6, 214}, {0x00d7, 215}, {0x00d8, 216}, + {0x00d9, 217}, {0x00da, 218}, {0x00db, 219}, {0x00dc, 220}, + {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}, {0x00f1, 241}, {0x00f2, 242}, {0x00f3, 243}, + {0x00f4, 244}, {0x00f5, 245}, {0x00f6, 246}, {0x00f7, 247}, + {0x00f8, 248}, {0x00f9, 249}, {0x00fa, 250}, {0x00fb, 251}, + {0x00fc, 252}, {0x00ff, 255}, {0x011e, 208}, {0x011f, 240}, + {0x0130, 221}, {0x0131, 253}, {0x015e, 222}, {0x015f, 254}, + {0x2022, 7}, {0x203c, 19}, {0x2190, 27}, {0x2191, 24}, + {0x2192, 26}, {0x2193, 25}, {0x2194, 29}, {0x2195, 18}, + {0x21a8, 23}, {0x221f, 28}, {0x25ac, 22}, {0x25b2, 30}, + {0x25ba, 16}, {0x25bc, 31}, {0x25c4, 17}, {0x25cb, 9}, + {0x25d8, 8}, {0x25d9, 10}, {0x263a, 1}, {0x263b, 2}, + {0x263c, 15}, {0x2640, 12}, {0x2642, 11}, {0x2660, 6}, + {0x2663, 5}, {0x2665, 3}, {0x2666, 4}, {0x266a, 13}, + {0x266b, 14}, {0xfffd, 63} }; const static uint32_t iso8859_9_unicode_table[128] = { @@ -497,30 +496,30 @@ const static uint32_t iso8859_9_unicode_table[128] = { 0x00f8, 0x00f9, 0x00fa, 0x00fb, 0x00fc, 0x0131, 0x015f, 0x00ff }; -const static struct ciolib_cpmap iso8859_8_table[92] = { +const static struct ciolib_cpmap iso8859_8_table[90] = { {0x00a0, 160}, {0x00a2, 162}, {0x00a3, 163}, {0x00a4, 164}, - {0x00a5, 165}, {0x00a6, 166}, {0x00a7, 167}, {0x00a7, 21}, - {0x00a8, 168}, {0x00a9, 169}, {0x00ab, 171}, {0x00ac, 172}, - {0x00ad, 173}, {0x00ae, 174}, {0x00af, 175}, {0x00b0, 176}, - {0x00b1, 177}, {0x00b2, 178}, {0x00b3, 179}, {0x00b4, 180}, - {0x00b5, 181}, {0x00b6, 182}, {0x00b6, 20}, {0x00b7, 183}, - {0x00b8, 184}, {0x00b9, 185}, {0x00bb, 187}, {0x00bc, 188}, - {0x00bd, 189}, {0x00be, 190}, {0x00d7, 170}, {0x00f7, 186}, - {0x05d0, 224}, {0x05d1, 225}, {0x05d2, 226}, {0x05d3, 227}, - {0x05d4, 228}, {0x05d5, 229}, {0x05d6, 230}, {0x05d7, 231}, - {0x05d8, 232}, {0x05d9, 233}, {0x05da, 234}, {0x05db, 235}, - {0x05dc, 236}, {0x05dd, 237}, {0x05de, 238}, {0x05df, 239}, - {0x05e0, 240}, {0x05e1, 241}, {0x05e2, 242}, {0x05e3, 243}, - {0x05e4, 244}, {0x05e5, 245}, {0x05e6, 246}, {0x05e7, 247}, - {0x05e8, 248}, {0x05e9, 249}, {0x05ea, 250}, {0x200e, 253}, - {0x200f, 254}, {0x2017, 223}, {0x2022, 7}, {0x203c, 19}, - {0x2190, 27}, {0x2191, 24}, {0x2192, 26}, {0x2193, 25}, - {0x2194, 29}, {0x2195, 18}, {0x21a8, 23}, {0x221f, 28}, - {0x25ac, 22}, {0x25b2, 30}, {0x25ba, 16}, {0x25bc, 31}, - {0x25c4, 17}, {0x25cb, 9}, {0x25d8, 8}, {0x25d9, 10}, - {0x263a, 1}, {0x263b, 2}, {0x263c, 15}, {0x2640, 12}, - {0x2642, 11}, {0x2660, 6}, {0x2663, 5}, {0x2665, 3}, - {0x2666, 4}, {0x266a, 13}, {0x266b, 14}, {0xfffd, '?'}, + {0x00a5, 165}, {0x00a6, 166}, {0x00a7, 167}, {0x00a8, 168}, + {0x00a9, 169}, {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}, + {0x00bb, 187}, {0x00bc, 188}, {0x00bd, 189}, {0x00be, 190}, + {0x00d7, 170}, {0x00f7, 186}, {0x05d0, 224}, {0x05d1, 225}, + {0x05d2, 226}, {0x05d3, 227}, {0x05d4, 228}, {0x05d5, 229}, + {0x05d6, 230}, {0x05d7, 231}, {0x05d8, 232}, {0x05d9, 233}, + {0x05da, 234}, {0x05db, 235}, {0x05dc, 236}, {0x05dd, 237}, + {0x05de, 238}, {0x05df, 239}, {0x05e0, 240}, {0x05e1, 241}, + {0x05e2, 242}, {0x05e3, 243}, {0x05e4, 244}, {0x05e5, 245}, + {0x05e6, 246}, {0x05e7, 247}, {0x05e8, 248}, {0x05e9, 249}, + {0x05ea, 250}, {0x200e, 253}, {0x200f, 254}, {0x2017, 223}, + {0x2022, 7}, {0x203c, 19}, {0x2190, 27}, {0x2191, 24}, + {0x2192, 26}, {0x2193, 25}, {0x2194, 29}, {0x2195, 18}, + {0x21a8, 23}, {0x221f, 28}, {0x25ac, 22}, {0x25b2, 30}, + {0x25ba, 16}, {0x25bc, 31}, {0x25c4, 17}, {0x25cb, 9}, + {0x25d8, 8}, {0x25d9, 10}, {0x263a, 1}, {0x263b, 2}, + {0x263c, 15}, {0x2640, 12}, {0x2642, 11}, {0x2660, 6}, + {0x2663, 5}, {0x2665, 3}, {0x2666, 4}, {0x266a, 13}, + {0x266b, 14}, {0xfffd, 63} }; const static uint32_t iso8859_8_unicode_table[128] = { @@ -604,39 +603,39 @@ const static uint32_t koi8_u_unicode_table[128] = { 0x042c, 0x042b, 0x0417, 0x0428, 0x042d, 0x0429, 0x0427, 0x042a }; -const static struct ciolib_cpmap iso8859_15_table[128] = { +const static struct ciolib_cpmap iso8859_15_table[126] = { {0x00a0, 160}, {0x00a1, 161}, {0x00a2, 162}, {0x00a3, 163}, - {0x00a5, 165}, {0x00a7, 167}, {0x00a7, 21}, {0x00a9, 169}, - {0x00aa, 170}, {0x00ab, 171}, {0x00ac, 172}, {0x00ad, 173}, - {0x00ae, 174}, {0x00af, 175}, {0x00b0, 176}, {0x00b1, 177}, - {0x00b2, 178}, {0x00b3, 179}, {0x00b5, 181}, {0x00b6, 20}, - {0x00b6, 182}, {0x00b7, 183}, {0x00b9, 185}, {0x00ba, 186}, - {0x00bb, 187}, {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}, {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}, {0x0152, 188}, {0x0153, 189}, - {0x0160, 166}, {0x0161, 168}, {0x0178, 190}, {0x017d, 180}, - {0x017e, 184}, {0x2022, 7}, {0x203c, 19}, {0x20ac, 164}, - {0x2190, 27}, {0x2191, 24}, {0x2192, 26}, {0x2193, 25}, - {0x2194, 29}, {0x2195, 18}, {0x21a8, 23}, {0x221f, 28}, - {0x25ac, 22}, {0x25b2, 30}, {0x25ba, 16}, {0x25bc, 31}, - {0x25c4, 17}, {0x25cb, 9}, {0x25d8, 8}, {0x25d9, 10}, - {0x263a, 1}, {0x263b, 2}, {0x263c, 15}, {0x2640, 12}, - {0x2642, 11}, {0x2660, 6}, {0x2663, 5}, {0x2665, 3}, - {0x2666, 4}, {0x266a, 13}, {0x266b, 14}, {0xfffd, '?'} + {0x00a5, 165}, {0x00a7, 167}, {0x00a9, 169}, {0x00aa, 170}, + {0x00ab, 171}, {0x00ac, 172}, {0x00ad, 173}, {0x00ae, 174}, + {0x00af, 175}, {0x00b0, 176}, {0x00b1, 177}, {0x00b2, 178}, + {0x00b3, 179}, {0x00b5, 181}, {0x00b6, 20}, {0x00b7, 183}, + {0x00b9, 185}, {0x00ba, 186}, {0x00bb, 187}, {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}, + {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}, + {0x0152, 188}, {0x0153, 189}, {0x0160, 166}, {0x0161, 168}, + {0x0178, 190}, {0x017d, 180}, {0x017e, 184}, {0x2022, 7}, + {0x203c, 19}, {0x20ac, 164}, {0x2190, 27}, {0x2191, 24}, + {0x2192, 26}, {0x2193, 25}, {0x2194, 29}, {0x2195, 18}, + {0x21a8, 23}, {0x221f, 28}, {0x25ac, 22}, {0x25b2, 30}, + {0x25ba, 16}, {0x25bc, 31}, {0x25c4, 17}, {0x25cb, 9}, + {0x25d8, 8}, {0x25d9, 10}, {0x263a, 1}, {0x263b, 2}, + {0x263c, 15}, {0x2640, 12}, {0x2642, 11}, {0x2660, 6}, + {0x2663, 5}, {0x2665, 3}, {0x2666, 4}, {0x266a, 13}, + {0x266b, 14}, {0xfffd, 63} }; const static uint32_t iso8859_15_unicode_table[128] = { @@ -658,39 +657,39 @@ const static uint32_t iso8859_15_unicode_table[128] = { 0x00f8, 0x00f9, 0x00fa, 0x00fb, 0x00fc, 0x00fd, 0x00fe, 0x00ff }; -const static struct ciolib_cpmap iso8859_5_table[128] = { - {0x00a0, 160}, {0x00a7, 21}, {0x00a7, 253}, {0x00ad, 173}, - {0x00b6, 20}, {0x0401, 161}, {0x0402, 162}, {0x0403, 163}, - {0x0404, 164}, {0x0405, 165}, {0x0406, 166}, {0x0407, 167}, - {0x0408, 168}, {0x0409, 169}, {0x040a, 170}, {0x040b, 171}, - {0x040c, 172}, {0x040e, 174}, {0x040f, 175}, {0x0410, 176}, - {0x0411, 177}, {0x0412, 178}, {0x0413, 179}, {0x0414, 180}, - {0x0415, 181}, {0x0416, 182}, {0x0417, 183}, {0x0418, 184}, - {0x0419, 185}, {0x041a, 186}, {0x041b, 187}, {0x041c, 188}, - {0x041d, 189}, {0x041e, 190}, {0x041f, 191}, {0x0420, 192}, - {0x0421, 193}, {0x0422, 194}, {0x0423, 195}, {0x0424, 196}, - {0x0425, 197}, {0x0426, 198}, {0x0427, 199}, {0x0428, 200}, - {0x0429, 201}, {0x042a, 202}, {0x042b, 203}, {0x042c, 204}, - {0x042d, 205}, {0x042e, 206}, {0x042f, 207}, {0x0430, 208}, - {0x0431, 209}, {0x0432, 210}, {0x0433, 211}, {0x0434, 212}, - {0x0435, 213}, {0x0436, 214}, {0x0437, 215}, {0x0438, 216}, - {0x0439, 217}, {0x043a, 218}, {0x043b, 219}, {0x043c, 220}, - {0x043d, 221}, {0x043e, 222}, {0x043f, 223}, {0x0440, 224}, - {0x0441, 225}, {0x0442, 226}, {0x0443, 227}, {0x0444, 228}, - {0x0445, 229}, {0x0446, 230}, {0x0447, 231}, {0x0448, 232}, - {0x0449, 233}, {0x044a, 234}, {0x044b, 235}, {0x044c, 236}, - {0x044d, 237}, {0x044e, 238}, {0x044f, 239}, {0x0451, 241}, - {0x0452, 242}, {0x0453, 243}, {0x0454, 244}, {0x0455, 245}, - {0x0456, 246}, {0x0457, 247}, {0x0458, 248}, {0x0459, 249}, - {0x045a, 250}, {0x045b, 251}, {0x045c, 252}, {0x045e, 254}, - {0x045f, 255}, {0x2022, 7}, {0x203c, 19}, {0x2116, 240}, - {0x2190, 27}, {0x2191, 24}, {0x2192, 26}, {0x2193, 25}, - {0x2194, 29}, {0x2195, 18}, {0x21a8, 23}, {0x221f, 28}, - {0x25ac, 22}, {0x25b2, 30}, {0x25ba, 16}, {0x25bc, 31}, - {0x25c4, 17}, {0x25cb, 9}, {0x25d8, 8}, {0x25d9, 10}, - {0x263a, 1}, {0x263b, 2}, {0x263c, 15}, {0x2640, 12}, - {0x2642, 11}, {0x2660, 6}, {0x2663, 5}, {0x2665, 3}, - {0x2666, 4}, {0x266a, 13}, {0x266b, 14}, {0xfffd, '?'} +const static struct ciolib_cpmap iso8859_5_table[127] = { + {0x00a0, 160}, {0x00a7, 21}, {0x00ad, 173}, {0x00b6, 20}, + {0x0401, 161}, {0x0402, 162}, {0x0403, 163}, {0x0404, 164}, + {0x0405, 165}, {0x0406, 166}, {0x0407, 167}, {0x0408, 168}, + {0x0409, 169}, {0x040a, 170}, {0x040b, 171}, {0x040c, 172}, + {0x040e, 174}, {0x040f, 175}, {0x0410, 176}, {0x0411, 177}, + {0x0412, 178}, {0x0413, 179}, {0x0414, 180}, {0x0415, 181}, + {0x0416, 182}, {0x0417, 183}, {0x0418, 184}, {0x0419, 185}, + {0x041a, 186}, {0x041b, 187}, {0x041c, 188}, {0x041d, 189}, + {0x041e, 190}, {0x041f, 191}, {0x0420, 192}, {0x0421, 193}, + {0x0422, 194}, {0x0423, 195}, {0x0424, 196}, {0x0425, 197}, + {0x0426, 198}, {0x0427, 199}, {0x0428, 200}, {0x0429, 201}, + {0x042a, 202}, {0x042b, 203}, {0x042c, 204}, {0x042d, 205}, + {0x042e, 206}, {0x042f, 207}, {0x0430, 208}, {0x0431, 209}, + {0x0432, 210}, {0x0433, 211}, {0x0434, 212}, {0x0435, 213}, + {0x0436, 214}, {0x0437, 215}, {0x0438, 216}, {0x0439, 217}, + {0x043a, 218}, {0x043b, 219}, {0x043c, 220}, {0x043d, 221}, + {0x043e, 222}, {0x043f, 223}, {0x0440, 224}, {0x0441, 225}, + {0x0442, 226}, {0x0443, 227}, {0x0444, 228}, {0x0445, 229}, + {0x0446, 230}, {0x0447, 231}, {0x0448, 232}, {0x0449, 233}, + {0x044a, 234}, {0x044b, 235}, {0x044c, 236}, {0x044d, 237}, + {0x044e, 238}, {0x044f, 239}, {0x0451, 241}, {0x0452, 242}, + {0x0453, 243}, {0x0454, 244}, {0x0455, 245}, {0x0456, 246}, + {0x0457, 247}, {0x0458, 248}, {0x0459, 249}, {0x045a, 250}, + {0x045b, 251}, {0x045c, 252}, {0x045e, 254}, {0x045f, 255}, + {0x2022, 7}, {0x203c, 19}, {0x2116, 240}, {0x2190, 27}, + {0x2191, 24}, {0x2192, 26}, {0x2193, 25}, {0x2194, 29}, + {0x2195, 18}, {0x21a8, 23}, {0x221f, 28}, {0x25ac, 22}, + {0x25b2, 30}, {0x25ba, 16}, {0x25bc, 31}, {0x25c4, 17}, + {0x25cb, 9}, {0x25d8, 8}, {0x25d9, 10}, {0x263a, 1}, + {0x263b, 2}, {0x263c, 15}, {0x2640, 12}, {0x2642, 11}, + {0x2660, 6}, {0x2663, 5}, {0x2665, 3}, {0x2666, 4}, + {0x266a, 13}, {0x266b, 14}, {0xfffd, 63} }; const static uint32_t iso8859_5_unicode_table[128] = { @@ -712,47 +711,47 @@ const static uint32_t iso8859_5_unicode_table[128] = { 0x0458, 0x0459, 0x045a, 0x045b, 0x045c, 0x00a7, 0x045e, 0x045f }; -const static struct ciolib_cpmap cp850_table[160] = { +const static struct ciolib_cpmap cp850_table[158] = { {0x00a0, 255}, {0x00a1, 173}, {0x00a2, 189}, {0x00a3, 156}, - {0x00a4, 207}, {0x00a5, 190}, {0x00a6, 221}, {0x00a7, 21}, - {0x00a7, 245}, {0x00a8, 249}, {0x00a9, 184}, {0x00aa, 166}, - {0x00ab, 174}, {0x00ac, 170}, {0x00ad, 240}, {0x00ae, 169}, - {0x00af, 238}, {0x00b0, 248}, {0x00b1, 241}, {0x00b2, 253}, - {0x00b3, 252}, {0x00b4, 239}, {0x00b5, 230}, {0x00b6, 20}, - {0x00b6, 244}, {0x00b7, 250}, {0x00b8, 247}, {0x00b9, 251}, - {0x00ba, 167}, {0x00bb, 175}, {0x00bc, 172}, {0x00bd, 171}, - {0x00be, 243}, {0x00bf, 168}, {0x00c0, 183}, {0x00c1, 181}, - {0x00c2, 182}, {0x00c3, 199}, {0x00c4, 142}, {0x00c5, 143}, - {0x00c6, 146}, {0x00c7, 128}, {0x00c8, 212}, {0x00c9, 144}, - {0x00ca, 210}, {0x00cb, 211}, {0x00cc, 222}, {0x00cd, 214}, - {0x00ce, 215}, {0x00cf, 216}, {0x00d0, 209}, {0x00d1, 165}, - {0x00d2, 227}, {0x00d3, 224}, {0x00d4, 226}, {0x00d5, 229}, - {0x00d6, 153}, {0x00d7, 158}, {0x00d8, 157}, {0x00d9, 235}, - {0x00da, 233}, {0x00db, 234}, {0x00dc, 154}, {0x00dd, 237}, - {0x00de, 232}, {0x00df, 225}, {0x00e0, 133}, {0x00e1, 160}, - {0x00e2, 131}, {0x00e3, 198}, {0x00e4, 132}, {0x00e5, 134}, - {0x00e6, 145}, {0x00e7, 135}, {0x00e8, 138}, {0x00e9, 130}, - {0x00ea, 136}, {0x00eb, 137}, {0x00ec, 141}, {0x00ed, 161}, - {0x00ee, 140}, {0x00ef, 139}, {0x00f0, 208}, {0x00f1, 164}, - {0x00f2, 149}, {0x00f3, 162}, {0x00f4, 147}, {0x00f5, 228}, - {0x00f6, 148}, {0x00f7, 246}, {0x00f8, 155}, {0x00f9, 151}, - {0x00fa, 163}, {0x00fb, 150}, {0x00fc, 129}, {0x00fd, 236}, - {0x00fe, 231}, {0x00ff, 152}, {0x0131, 213}, {0x0192, 159}, - {0x2017, 242}, {0x2022, 7}, {0x203c, 19}, {0x2190, 27}, - {0x2191, 24}, {0x2192, 26}, {0x2193, 25}, {0x2194, 29}, - {0x2195, 18}, {0x21a8, 23}, {0x221f, 28}, {0x2500, 196}, - {0x2502, 179}, {0x250c, 218}, {0x2510, 191}, {0x2514, 192}, - {0x2518, 217}, {0x251c, 195}, {0x2524, 180}, {0x252c, 194}, - {0x2534, 193}, {0x253c, 197}, {0x2550, 205}, {0x2551, 186}, - {0x2554, 201}, {0x2557, 187}, {0x255a, 200}, {0x255d, 188}, - {0x2560, 204}, {0x2563, 185}, {0x2566, 203}, {0x2569, 202}, - {0x256c, 206}, {0x2580, 223}, {0x2584, 220}, {0x2588, 219}, - {0x2591, 176}, {0x2592, 177}, {0x2593, 178}, {0x25a0, 254}, - {0x25ac, 22}, {0x25b2, 30}, {0x25ba, 16}, {0x25bc, 31}, - {0x25c4, 17}, {0x25cb, 9}, {0x25d8, 8}, {0x25d9, 10}, - {0x263a, 1}, {0x263b, 2}, {0x263c, 15}, {0x2640, 12}, - {0x2642, 11}, {0x2660, 6}, {0x2663, 5}, {0x2665, 3}, - {0x2666, 4}, {0x266a, 13}, {0x266b, 14}, {0xfffd, '?'} + {0x00a4, 207}, {0x00a5, 190}, {0x00a6, 221}, {0x00a7, 21}, + {0x00a8, 249}, {0x00a9, 184}, {0x00aa, 166}, {0x00ab, 174}, + {0x00ac, 170}, {0x00ad, 240}, {0x00ae, 169}, {0x00af, 238}, + {0x00b0, 248}, {0x00b1, 241}, {0x00b2, 253}, {0x00b3, 252}, + {0x00b4, 239}, {0x00b5, 230}, {0x00b6, 20}, {0x00b7, 250}, + {0x00b8, 247}, {0x00b9, 251}, {0x00ba, 167}, {0x00bb, 175}, + {0x00bc, 172}, {0x00bd, 171}, {0x00be, 243}, {0x00bf, 168}, + {0x00c0, 183}, {0x00c1, 181}, {0x00c2, 182}, {0x00c3, 199}, + {0x00c4, 142}, {0x00c5, 143}, {0x00c6, 146}, {0x00c7, 128}, + {0x00c8, 212}, {0x00c9, 144}, {0x00ca, 210}, {0x00cb, 211}, + {0x00cc, 222}, {0x00cd, 214}, {0x00ce, 215}, {0x00cf, 216}, + {0x00d0, 209}, {0x00d1, 165}, {0x00d2, 227}, {0x00d3, 224}, + {0x00d4, 226}, {0x00d5, 229}, {0x00d6, 153}, {0x00d7, 158}, + {0x00d8, 157}, {0x00d9, 235}, {0x00da, 233}, {0x00db, 234}, + {0x00dc, 154}, {0x00dd, 237}, {0x00de, 232}, {0x00df, 225}, + {0x00e0, 133}, {0x00e1, 160}, {0x00e2, 131}, {0x00e3, 198}, + {0x00e4, 132}, {0x00e5, 134}, {0x00e6, 145}, {0x00e7, 135}, + {0x00e8, 138}, {0x00e9, 130}, {0x00ea, 136}, {0x00eb, 137}, + {0x00ec, 141}, {0x00ed, 161}, {0x00ee, 140}, {0x00ef, 139}, + {0x00f0, 208}, {0x00f1, 164}, {0x00f2, 149}, {0x00f3, 162}, + {0x00f4, 147}, {0x00f5, 228}, {0x00f6, 148}, {0x00f7, 246}, + {0x00f8, 155}, {0x00f9, 151}, {0x00fa, 163}, {0x00fb, 150}, + {0x00fc, 129}, {0x00fd, 236}, {0x00fe, 231}, {0x00ff, 152}, + {0x0131, 213}, {0x0192, 159}, {0x2017, 242}, {0x2022, 7}, + {0x203c, 19}, {0x2190, 27}, {0x2191, 24}, {0x2192, 26}, + {0x2193, 25}, {0x2194, 29}, {0x2195, 18}, {0x21a8, 23}, + {0x221f, 28}, {0x2500, 196}, {0x2502, 179}, {0x250c, 218}, + {0x2510, 191}, {0x2514, 192}, {0x2518, 217}, {0x251c, 195}, + {0x2524, 180}, {0x252c, 194}, {0x2534, 193}, {0x253c, 197}, + {0x2550, 205}, {0x2551, 186}, {0x2554, 201}, {0x2557, 187}, + {0x255a, 200}, {0x255d, 188}, {0x2560, 204}, {0x2563, 185}, + {0x2566, 203}, {0x2569, 202}, {0x256c, 206}, {0x2580, 223}, + {0x2584, 220}, {0x2588, 219}, {0x2591, 176}, {0x2592, 177}, + {0x2593, 178}, {0x25a0, 254}, {0x25ac, 22}, {0x25b2, 30}, + {0x25ba, 16}, {0x25bc, 31}, {0x25c4, 17}, {0x25cb, 9}, + {0x25d8, 8}, {0x25d9, 10}, {0x263a, 1}, {0x263b, 2}, + {0x263c, 15}, {0x2640, 12}, {0x2642, 11}, {0x2660, 6}, + {0x2663, 5}, {0x2665, 3}, {0x2666, 4}, {0x266a, 13}, + {0x266b, 14}, {0xfffd, 63} }; const static uint32_t cp850_unicode_table[128] = { @@ -837,39 +836,38 @@ const static uint32_t cp865_unicode_table[128] = { }; -const static struct ciolib_cpmap iso8859_7_table[125] = { - {0x00a0, 160}, {0x00a3, 163}, {0x00a6, 166}, {0x00a7, 21}, - {0x00a7, 167}, {0x00a8, 168}, {0x00a9, 169}, {0x00ab, 171}, - {0x00ac, 172}, {0x00ad, 173}, {0x00b0, 176}, {0x00b1, 177}, - {0x00b2, 178}, {0x00b3, 179}, {0x00b6, 20}, {0x00b7, 183}, - {0x00bb, 187}, {0x00bd, 189}, {0x037a, 170}, {0x0384, 180}, - {0x0385, 181}, {0x0386, 182}, {0x0388, 184}, {0x0389, 185}, - {0x038a, 186}, {0x038c, 188}, {0x038e, 190}, {0x038f, 191}, - {0x0390, 192}, {0x0391, 193}, {0x0392, 194}, {0x0393, 195}, - {0x0394, 196}, {0x0395, 197}, {0x0396, 198}, {0x0397, 199}, - {0x0398, 200}, {0x0399, 201}, {0x039a, 202}, {0x039b, 203}, - {0x039c, 204}, {0x039d, 205}, {0x039e, 206}, {0x039f, 207}, - {0x03a0, 208}, {0x03a1, 209}, {0x03a3, 211}, {0x03a4, 212}, - {0x03a5, 213}, {0x03a6, 214}, {0x03a7, 215}, {0x03a8, 216}, - {0x03a9, 217}, {0x03aa, 218}, {0x03ab, 219}, {0x03ac, 220}, - {0x03ad, 221}, {0x03ae, 222}, {0x03af, 223}, {0x03b0, 224}, - {0x03b1, 225}, {0x03b2, 226}, {0x03b3, 227}, {0x03b4, 228}, - {0x03b5, 229}, {0x03b6, 230}, {0x03b7, 231}, {0x03b8, 232}, - {0x03b9, 233}, {0x03ba, 234}, {0x03bb, 235}, {0x03bc, 236}, - {0x03bd, 237}, {0x03be, 238}, {0x03bf, 239}, {0x03c0, 240}, - {0x03c1, 241}, {0x03c2, 242}, {0x03c3, 243}, {0x03c4, 244}, - {0x03c5, 245}, {0x03c6, 246}, {0x03c7, 247}, {0x03c8, 248}, - {0x03c9, 249}, {0x03ca, 250}, {0x03cb, 251}, {0x03cc, 252}, - {0x03cd, 253}, {0x03ce, 254}, {0x2015, 175}, {0x2018, 161}, - {0x2019, 162}, {0x2022, 7}, {0x203c, 19}, {0x20ac, 164}, - {0x20af, 165}, {0x2190, 27}, {0x2191, 24}, {0x2192, 26}, - {0x2193, 25}, {0x2194, 29}, {0x2195, 18}, {0x21a8, 23}, - {0x221f, 28}, {0x25ac, 22}, {0x25b2, 30}, {0x25ba, 16}, - {0x25bc, 31}, {0x25c4, 17}, {0x25cb, 9}, {0x25d8, 8}, - {0x25d9, 10}, {0x263a, 1}, {0x263b, 2}, {0x263c, 15}, - {0x2640, 12}, {0x2642, 11}, {0x2660, 6}, {0x2663, 5}, - {0x2665, 3}, {0x2666, 4}, {0x266a, 13}, {0x266b, 14}, - {0xfffd, '?'} +const static struct ciolib_cpmap iso8859_7_table[124] = { + {0x00a0, 160}, {0x00a3, 163}, {0x00a6, 166}, {0x00a7, 21}, + {0x00a8, 168}, {0x00a9, 169}, {0x00ab, 171}, {0x00ac, 172}, + {0x00ad, 173}, {0x00b0, 176}, {0x00b1, 177}, {0x00b2, 178}, + {0x00b3, 179}, {0x00b6, 20}, {0x00b7, 183}, {0x00bb, 187}, + {0x00bd, 189}, {0x037a, 170}, {0x0384, 180}, {0x0385, 181}, + {0x0386, 182}, {0x0388, 184}, {0x0389, 185}, {0x038a, 186}, + {0x038c, 188}, {0x038e, 190}, {0x038f, 191}, {0x0390, 192}, + {0x0391, 193}, {0x0392, 194}, {0x0393, 195}, {0x0394, 196}, + {0x0395, 197}, {0x0396, 198}, {0x0397, 199}, {0x0398, 200}, + {0x0399, 201}, {0x039a, 202}, {0x039b, 203}, {0x039c, 204}, + {0x039d, 205}, {0x039e, 206}, {0x039f, 207}, {0x03a0, 208}, + {0x03a1, 209}, {0x03a3, 211}, {0x03a4, 212}, {0x03a5, 213}, + {0x03a6, 214}, {0x03a7, 215}, {0x03a8, 216}, {0x03a9, 217}, + {0x03aa, 218}, {0x03ab, 219}, {0x03ac, 220}, {0x03ad, 221}, + {0x03ae, 222}, {0x03af, 223}, {0x03b0, 224}, {0x03b1, 225}, + {0x03b2, 226}, {0x03b3, 227}, {0x03b4, 228}, {0x03b5, 229}, + {0x03b6, 230}, {0x03b7, 231}, {0x03b8, 232}, {0x03b9, 233}, + {0x03ba, 234}, {0x03bb, 235}, {0x03bc, 236}, {0x03bd, 237}, + {0x03be, 238}, {0x03bf, 239}, {0x03c0, 240}, {0x03c1, 241}, + {0x03c2, 242}, {0x03c3, 243}, {0x03c4, 244}, {0x03c5, 245}, + {0x03c6, 246}, {0x03c7, 247}, {0x03c8, 248}, {0x03c9, 249}, + {0x03ca, 250}, {0x03cb, 251}, {0x03cc, 252}, {0x03cd, 253}, + {0x03ce, 254}, {0x2015, 175}, {0x2018, 161}, {0x2019, 162}, + {0x2022, 7}, {0x203c, 19}, {0x20ac, 164}, {0x20af, 165}, + {0x2190, 27}, {0x2191, 24}, {0x2192, 26}, {0x2193, 25}, + {0x2194, 29}, {0x2195, 18}, {0x21a8, 23}, {0x221f, 28}, + {0x25ac, 22}, {0x25b2, 30}, {0x25ba, 16}, {0x25bc, 31}, + {0x25c4, 17}, {0x25cb, 9}, {0x25d8, 8}, {0x25d9, 10}, + {0x263a, 1}, {0x263b, 2}, {0x263c, 15}, {0x2640, 12}, + {0x2642, 11}, {0x2660, 6}, {0x2663, 5}, {0x2665, 3}, + {0x2666, 4}, {0x266a, 13}, {0x266b, 14}, {0xfffd, 63} }; const static uint32_t iso8859_7_unicode_table[128] = { @@ -891,39 +889,39 @@ const static uint32_t iso8859_7_unicode_table[128] = { 0x03c8, 0x03c9, 0x03ca, 0x03cb, 0x03cc, 0x03cd, 0x03ce, 0xfffd }; -const static struct ciolib_cpmap iso8859_1_table[128] = { +const static struct ciolib_cpmap iso8859_1_table[126] = { {0x00a0, 160}, {0x00a1, 161}, {0x00a2, 162}, {0x00a3, 163}, {0x00a4, 164}, {0x00a5, 165}, {0x00a6, 166}, {0x00a7, 167}, - {0x00a7, 21}, {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}, - {0x00b6, 20}, {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}, {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}, {0x2022, 7}, {0x203c, 19}, - {0x2190, 27}, {0x2191, 24}, {0x2192, 26}, {0x2193, 25}, - {0x2194, 29}, {0x2195, 18}, {0x21a8, 23}, {0x221f, 28}, - {0x25ac, 22}, {0x25b2, 30}, {0x25ba, 16}, {0x25bc, 31}, - {0x25c4, 17}, {0x25cb, 9}, {0x25d8, 8}, {0x25d9, 10}, - {0x263a, 1}, {0x263b, 2}, {0x263c, 15}, {0x2640, 12}, - {0x2642, 11}, {0x2660, 6}, {0x2663, 5}, {0x2665, 3}, - {0x2666, 4}, {0x266a, 13}, {0x266b, 14}, {0xfffd, '?'} + {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}, + {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}, + {0x2022, 7}, {0x203c, 19}, {0x2190, 27}, {0x2191, 24}, + {0x2192, 26}, {0x2193, 25}, {0x2194, 29}, {0x2195, 18}, + {0x21a8, 23}, {0x221f, 28}, {0x25ac, 22}, {0x25b2, 30}, + {0x25ba, 16}, {0x25bc, 31}, {0x25c4, 17}, {0x25cb, 9}, + {0x25d8, 8}, {0x25d9, 10}, {0x263a, 1}, {0x263b, 2}, + {0x263c, 15}, {0x2640, 12}, {0x2642, 11}, {0x2660, 6}, + {0x2663, 5}, {0x2665, 3}, {0x2666, 4}, {0x266a, 13}, + {0x266b, 14}, {0xfffd, 63} }; const static uint32_t iso8859_1_unicode_table[128] = { @@ -1131,38 +1129,38 @@ const static uint32_t cp1131_unicode_table[128] = { 0x0406, 0x0456, 0x00b7, 0x221a, 0x0490, 0x0491, 0x2219, 0x00a0 }; -const static struct ciolib_cpmap armscii8_table[123] = { - {0x00a0, 160}, {0x00a7, 162}, {0x00a7, 21}, {0x00ab, 167}, - {0x00b6, 20}, {0x00bb, 166}, {0x02bc, 254}, {0x0531, 178}, - {0x0532, 180}, {0x0533, 182}, {0x0534, 184}, {0x0535, 186}, - {0x0536, 188}, {0x0537, 190}, {0x0538, 192}, {0x0539, 194}, - {0x053a, 196}, {0x053b, 198}, {0x053c, 200}, {0x053d, 202}, - {0x053e, 204}, {0x053f, 206}, {0x0540, 208}, {0x0541, 210}, - {0x0542, 212}, {0x0543, 214}, {0x0544, 216}, {0x0545, 218}, - {0x0546, 220}, {0x0547, 222}, {0x0548, 224}, {0x0549, 226}, - {0x054a, 228}, {0x054b, 230}, {0x054c, 232}, {0x054d, 234}, - {0x054e, 236}, {0x054f, 238}, {0x0550, 240}, {0x0551, 242}, - {0x0552, 244}, {0x0553, 246}, {0x0554, 248}, {0x0555, 250}, - {0x0556, 252}, {0x055b, 176}, {0x055c, 175}, {0x055d, 170}, - {0x055e, 177}, {0x0561, 179}, {0x0562, 181}, {0x0563, 183}, - {0x0564, 185}, {0x0565, 187}, {0x0566, 189}, {0x0567, 191}, - {0x0568, 193}, {0x0569, 195}, {0x056a, 197}, {0x056b, 199}, - {0x056c, 201}, {0x056d, 203}, {0x056e, 205}, {0x056f, 207}, - {0x0570, 209}, {0x0571, 211}, {0x0572, 213}, {0x0573, 215}, - {0x0574, 217}, {0x0575, 219}, {0x0576, 221}, {0x0577, 223}, - {0x0578, 225}, {0x0579, 227}, {0x057a, 229}, {0x057b, 231}, - {0x057c, 233}, {0x057d, 235}, {0x057e, 237}, {0x057f, 239}, - {0x0580, 241}, {0x0581, 243}, {0x0582, 245}, {0x0583, 247}, - {0x0584, 249}, {0x0585, 251}, {0x0586, 253}, {0x0589, 163}, - {0x058a, 173}, {0x058e, 161}, {0x2013, 172}, {0x2014, 168}, - {0x2022, 7}, {0x2026, 174}, {0x203c, 19}, {0x2190, 27}, - {0x2191, 24}, {0x2192, 26}, {0x2193, 25}, {0x2194, 29}, - {0x2195, 18}, {0x21a8, 23}, {0x221f, 28}, {0x25ac, 22}, - {0x25b2, 30}, {0x25ba, 16}, {0x25bc, 31}, {0x25c4, 17}, - {0x25cb, 9}, {0x25d8, 8}, {0x25d9, 10}, {0x263a, 1}, - {0x263b, 2}, {0x263c, 15}, {0x2640, 12}, {0x2642, 11}, - {0x2660, 6}, {0x2663, 5}, {0x2665, 3}, {0x2666, 4}, - {0x266a, 13}, {0x266b, 14}, {0xfffd, '?'} +const static struct ciolib_cpmap armscii8_table[122] = { + {0x00a0, 160}, {0x00a7, 162}, {0x00ab, 167}, {0x00b6, 20}, + {0x00bb, 166}, {0x02bc, 254}, {0x0531, 178}, {0x0532, 180}, + {0x0533, 182}, {0x0534, 184}, {0x0535, 186}, {0x0536, 188}, + {0x0537, 190}, {0x0538, 192}, {0x0539, 194}, {0x053a, 196}, + {0x053b, 198}, {0x053c, 200}, {0x053d, 202}, {0x053e, 204}, + {0x053f, 206}, {0x0540, 208}, {0x0541, 210}, {0x0542, 212}, + {0x0543, 214}, {0x0544, 216}, {0x0545, 218}, {0x0546, 220}, + {0x0547, 222}, {0x0548, 224}, {0x0549, 226}, {0x054a, 228}, + {0x054b, 230}, {0x054c, 232}, {0x054d, 234}, {0x054e, 236}, + {0x054f, 238}, {0x0550, 240}, {0x0551, 242}, {0x0552, 244}, + {0x0553, 246}, {0x0554, 248}, {0x0555, 250}, {0x0556, 252}, + {0x055b, 176}, {0x055c, 175}, {0x055d, 170}, {0x055e, 177}, + {0x0561, 179}, {0x0562, 181}, {0x0563, 183}, {0x0564, 185}, + {0x0565, 187}, {0x0566, 189}, {0x0567, 191}, {0x0568, 193}, + {0x0569, 195}, {0x056a, 197}, {0x056b, 199}, {0x056c, 201}, + {0x056d, 203}, {0x056e, 205}, {0x056f, 207}, {0x0570, 209}, + {0x0571, 211}, {0x0572, 213}, {0x0573, 215}, {0x0574, 217}, + {0x0575, 219}, {0x0576, 221}, {0x0577, 223}, {0x0578, 225}, + {0x0579, 227}, {0x057a, 229}, {0x057b, 231}, {0x057c, 233}, + {0x057d, 235}, {0x057e, 237}, {0x057f, 239}, {0x0580, 241}, + {0x0581, 243}, {0x0582, 245}, {0x0583, 247}, {0x0584, 249}, + {0x0585, 251}, {0x0586, 253}, {0x0589, 163}, {0x058a, 173}, + {0x058e, 161}, {0x2013, 172}, {0x2014, 168}, {0x2022, 7}, + {0x2026, 174}, {0x203c, 19}, {0x2190, 27}, {0x2191, 24}, + {0x2192, 26}, {0x2193, 25}, {0x2194, 29}, {0x2195, 18}, + {0x21a8, 23}, {0x221f, 28}, {0x25ac, 22}, {0x25b2, 30}, + {0x25ba, 16}, {0x25bc, 31}, {0x25c4, 17}, {0x25cb, 9}, + {0x25d8, 8}, {0x25d9, 10}, {0x263a, 1}, {0x263b, 2}, + {0x263c, 15}, {0x2640, 12}, {0x2642, 11}, {0x2660, 6}, + {0x2663, 5}, {0x2665, 3}, {0x2666, 4}, {0x266a, 13}, + {0x266b, 14}, {0xfffd, 63} }; const static uint32_t armscii8_unicode_table[128] = { @@ -1184,38 +1182,38 @@ const static uint32_t armscii8_unicode_table[128] = { 0x0554, 0x0584, 0x0555, 0x0585, 0x0556, 0x0586, 0x02bc, 0xfffd }; -const static struct ciolib_cpmap haik8_table[123] = { - {0x00a0, 128}, {0x00a7, 21}, {0x00a7, 130}, {0x00ab, 135}, - {0x00b6, 20}, {0x00bb, 134}, {0x02bc, 254}, {0x0531, 146}, - {0x0532, 148}, {0x0533, 150}, {0x0534, 152}, {0x0535, 154}, - {0x0536, 156}, {0x0537, 158}, {0x0538, 160}, {0x0539, 162}, - {0x053a, 164}, {0x053b, 166}, {0x053c, 168}, {0x053d, 170}, - {0x053e, 172}, {0x053f, 174}, {0x0540, 176}, {0x0541, 178}, - {0x0542, 180}, {0x0543, 182}, {0x0544, 184}, {0x0545, 186}, - {0x0546, 188}, {0x0547, 190}, {0x0548, 224}, {0x0549, 226}, - {0x054a, 228}, {0x054b, 230}, {0x054c, 232}, {0x054d, 234}, - {0x054e, 236}, {0x054f, 238}, {0x0550, 240}, {0x0551, 242}, - {0x0552, 244}, {0x0553, 246}, {0x0554, 248}, {0x0555, 250}, - {0x0556, 252}, {0x055b, 144}, {0x055c, 143}, {0x055d, 138}, - {0x055e, 145}, {0x0561, 147}, {0x0562, 149}, {0x0563, 151}, - {0x0564, 153}, {0x0565, 155}, {0x0566, 157}, {0x0567, 159}, - {0x0568, 161}, {0x0569, 163}, {0x056a, 165}, {0x056b, 167}, - {0x056c, 169}, {0x056d, 171}, {0x056e, 173}, {0x056f, 175}, - {0x0570, 177}, {0x0571, 179}, {0x0572, 181}, {0x0573, 183}, - {0x0574, 185}, {0x0575, 187}, {0x0576, 189}, {0x0577, 191}, - {0x0578, 225}, {0x0579, 227}, {0x057a, 229}, {0x057b, 231}, - {0x057c, 233}, {0x057d, 235}, {0x057e, 237}, {0x057f, 239}, - {0x0580, 241}, {0x0581, 243}, {0x0582, 245}, {0x0583, 247}, - {0x0584, 249}, {0x0585, 251}, {0x0586, 253}, {0x0589, 131}, - {0x058a, 141}, {0x058e, 129}, {0x2013, 140}, {0x2014, 136}, - {0x2022, 7}, {0x2026, 142}, {0x203c, 19}, {0x2190, 27}, - {0x2191, 24}, {0x2192, 26}, {0x2193, 25}, {0x2194, 29}, - {0x2195, 18}, {0x21a8, 23}, {0x221f, 28}, {0x25ac, 22}, - {0x25b2, 30}, {0x25ba, 16}, {0x25bc, 31}, {0x25c4, 17}, - {0x25cb, 9}, {0x25d8, 8}, {0x25d9, 10}, {0x263a, 1}, - {0x263b, 2}, {0x263c, 15}, {0x2640, 12}, {0x2642, 11}, - {0x2660, 6}, {0x2663, 5}, {0x2665, 3}, {0x2666, 4}, - {0x266a, 13}, {0x266b, 14}, {0xfffd, '?'} +const static struct ciolib_cpmap haik8_table[122] = { + {0x00a0, 128}, {0x00a7, 21}, {0x00ab, 135}, {0x00b6, 20}, + {0x00bb, 134}, {0x02bc, 254}, {0x0531, 146}, {0x0532, 148}, + {0x0533, 150}, {0x0534, 152}, {0x0535, 154}, {0x0536, 156}, + {0x0537, 158}, {0x0538, 160}, {0x0539, 162}, {0x053a, 164}, + {0x053b, 166}, {0x053c, 168}, {0x053d, 170}, {0x053e, 172}, + {0x053f, 174}, {0x0540, 176}, {0x0541, 178}, {0x0542, 180}, + {0x0543, 182}, {0x0544, 184}, {0x0545, 186}, {0x0546, 188}, + {0x0547, 190}, {0x0548, 224}, {0x0549, 226}, {0x054a, 228}, + {0x054b, 230}, {0x054c, 232}, {0x054d, 234}, {0x054e, 236}, + {0x054f, 238}, {0x0550, 240}, {0x0551, 242}, {0x0552, 244}, + {0x0553, 246}, {0x0554, 248}, {0x0555, 250}, {0x0556, 252}, + {0x055b, 144}, {0x055c, 143}, {0x055d, 138}, {0x055e, 145}, + {0x0561, 147}, {0x0562, 149}, {0x0563, 151}, {0x0564, 153}, + {0x0565, 155}, {0x0566, 157}, {0x0567, 159}, {0x0568, 161}, + {0x0569, 163}, {0x056a, 165}, {0x056b, 167}, {0x056c, 169}, + {0x056d, 171}, {0x056e, 173}, {0x056f, 175}, {0x0570, 177}, + {0x0571, 179}, {0x0572, 181}, {0x0573, 183}, {0x0574, 185}, + {0x0575, 187}, {0x0576, 189}, {0x0577, 191}, {0x0578, 225}, + {0x0579, 227}, {0x057a, 229}, {0x057b, 231}, {0x057c, 233}, + {0x057d, 235}, {0x057e, 237}, {0x057f, 239}, {0x0580, 241}, + {0x0581, 243}, {0x0582, 245}, {0x0583, 247}, {0x0584, 249}, + {0x0585, 251}, {0x0586, 253}, {0x0589, 131}, {0x058a, 141}, + {0x058e, 129}, {0x2013, 140}, {0x2014, 136}, {0x2022, 7}, + {0x2026, 142}, {0x203c, 19}, {0x2190, 27}, {0x2191, 24}, + {0x2192, 26}, {0x2193, 25}, {0x2194, 29}, {0x2195, 18}, + {0x21a8, 23}, {0x221f, 28}, {0x25ac, 22}, {0x25b2, 30}, + {0x25ba, 16}, {0x25bc, 31}, {0x25c4, 17}, {0x25cb, 9}, + {0x25d8, 8}, {0x25d9, 10}, {0x263a, 1}, {0x263b, 2}, + {0x263c, 15}, {0x2640, 12}, {0x2642, 11}, {0x2660, 6}, + {0x2663, 5}, {0x2665, 3}, {0x2666, 4}, {0x266a, 13}, + {0x266b, 14}, {0xfffd, 63} }; const static uint32_t haik8_unicode_table[128] = { @@ -1237,76 +1235,44 @@ const static uint32_t haik8_unicode_table[128] = { 0x0554, 0x0584, 0x0555, 0x0585, 0x0556, 0x0586, 0x02bc, 0xfffd }; -const static struct ciolib_cpmap atascii_table[275] = { +const static struct ciolib_cpmap atascii_table[148] = { {0x0007, 252}, {0x0008, 126}, {0x0009, 127}, {0x000d, 155}, - {0x001b, 27}, {0x0020, 32}, {0x0020, 160}, {0x0021, 161}, - {0x0021, 33}, {0x0022, 34}, {0x0022, 162}, {0x0023, 163}, - {0x0023, 35}, {0x0024, 164}, {0x0024, 36}, {0x0025, 37}, - {0x0025, 165}, {0x0026, 166}, {0x0026, 38}, {0x0027, 39}, - {0x0027, 167}, {0x0028, 40}, {0x0028, 168}, {0x0029, 41}, - {0x0029, 169}, {0x002a, 170}, {0x002a, 42}, {0x002b, 43}, - {0x002b, 171}, {0x002c, 172}, {0x002c, 44}, {0x002d, 173}, - {0x002d, 45}, {0x002e, 174}, {0x002e, 46}, {0x002f, 175}, - {0x002f, 47}, {0x0030, 48}, {0x0030, 176}, {0x0031, 177}, - {0x0031, 49}, {0x0032, 50}, {0x0032, 178}, {0x0033, 51}, - {0x0033, 179}, {0x0034, 180}, {0x0034, 52}, {0x0035, 53}, - {0x0035, 181}, {0x0036, 54}, {0x0036, 182}, {0x0037, 55}, - {0x0037, 183}, {0x0038, 56}, {0x0038, 184}, {0x0039, 57}, - {0x0039, 185}, {0x003a, 186}, {0x003a, 58}, {0x003b, 187}, - {0x003b, 59}, {0x003c, 60}, {0x003c, 188}, {0x003d, 61}, - {0x003d, 189}, {0x003e, 190}, {0x003e, 62}, {0x003f, 63}, - {0x003f, 191}, {0x0040, 192}, {0x0040, 64}, {0x0041, 193}, - {0x0041, 65}, {0x0042, 194}, {0x0042, 66}, {0x0043, 195}, - {0x0043, 67}, {0x0044, 68}, {0x0044, 196}, {0x0045, 69}, - {0x0045, 197}, {0x0046, 198}, {0x0046, 70}, {0x0047, 71}, - {0x0047, 199}, {0x0048, 72}, {0x0048, 200}, {0x0049, 73}, - {0x0049, 201}, {0x004a, 202}, {0x004a, 74}, {0x004b, 75}, - {0x004b, 203}, {0x004c, 76}, {0x004c, 204}, {0x004d, 77}, - {0x004d, 205}, {0x004e, 78}, {0x004e, 206}, {0x004f, 207}, - {0x004f, 79}, {0x0050, 80}, {0x0050, 208}, {0x0051, 209}, - {0x0051, 81}, {0x0052, 82}, {0x0052, 210}, {0x0053, 211}, - {0x0053, 83}, {0x0054, 84}, {0x0054, 212}, {0x0055, 85}, - {0x0055, 213}, {0x0056, 214}, {0x0056, 86}, {0x0057, 87}, - {0x0057, 215}, {0x0058, 216}, {0x0058, 88}, {0x0059, 217}, - {0x0059, 89}, {0x005a, 218}, {0x005a, 90}, {0x005b, 219}, - {0x005b, 91}, {0x005c, 92}, {0x005c, 220}, {0x005d, 221}, - {0x005d, 93}, {0x005e, 222}, {0x005e, 94}, {0x005f, 223}, - {0x005f, 95}, {0x0061, 225}, {0x0061, 97}, {0x0062, 98}, - {0x0062, 226}, {0x0063, 99}, {0x0063, 227}, {0x0064, 228}, - {0x0064, 100}, {0x0065, 101}, {0x0065, 229}, {0x0066, 230}, - {0x0066, 102}, {0x0067, 231}, {0x0067, 103}, {0x0068, 232}, - {0x0068, 104}, {0x0069, 233}, {0x0069, 105}, {0x006a, 106}, - {0x006a, 234}, {0x006b, 107}, {0x006b, 235}, {0x006c, 236}, - {0x006c, 108}, {0x006d, 109}, {0x006d, 237}, {0x006e, 110}, - {0x006e, 238}, {0x006f, 111}, {0x006f, 239}, {0x0070, 240}, - {0x0070, 112}, {0x0071, 113}, {0x0071, 241}, {0x0072, 242}, - {0x0072, 114}, {0x0073, 243}, {0x0073, 115}, {0x0074, 244}, - {0x0074, 116}, {0x0075, 117}, {0x0075, 245}, {0x0076, 246}, - {0x0076, 118}, {0x0077, 119}, {0x0077, 247}, {0x0078, 120}, - {0x0078, 248}, {0x0079, 249}, {0x0079, 121}, {0x007a, 122}, - {0x007a, 250}, {0x007c, 124}, {0x007c, 252}, {0x007f, 253}, - {0x00a0, 155}, {0x2022, 148}, {0x2022, 20}, {0x2190, 30}, - {0x2190, 158}, {0x2191, 28}, {0x2191, 156}, {0x2192, 159}, - {0x2192, 31}, {0x2193, 157}, {0x2193, 29}, {0x21b0, 125}, - {0x21b0, 253}, {0x241b, 27}, {0x2500, 18}, {0x2500, 146}, - {0x250c, 145}, {0x250c, 17}, {0x2510, 5}, {0x2510, 133}, - {0x2514, 26}, {0x2514, 154}, {0x2518, 131}, {0x2518, 3}, - {0x251c, 129}, {0x251c, 1}, {0x2524, 132}, {0x2524, 4}, - {0x252c, 23}, {0x252c, 151}, {0x2534, 24}, {0x2534, 152}, - {0x253c, 147}, {0x253c, 19}, {0x2571, 6}, {0x2571, 134}, - {0x2572, 135}, {0x2572, 7}, {0x2580, 149}, {0x2582, 142}, - {0x2582, 14}, {0x2584, 21}, {0x2584, 149}, {0x2586, 141}, - {0x2588, 160}, {0x258a, 130}, {0x258c, 25}, {0x258c, 153}, - {0x258e, 150}, {0x258e, 22}, {0x2590, 153}, {0x2596, 143}, - {0x2596, 15}, {0x2597, 137}, {0x2597, 9}, {0x2598, 140}, - {0x2598, 12}, {0x2599, 139}, {0x259b, 137}, {0x259c, 143}, - {0x259d, 139}, {0x259d, 11}, {0x259f, 140}, {0x25b6, 255}, - {0x25b6, 127}, {0x25c0, 126}, {0x25c0, 254}, {0x25d8, 148}, - {0x25e2, 136}, {0x25e2, 8}, {0x25e3, 10}, {0x25e3, 138}, - {0x25e4, 136}, {0x25e5, 138}, {0x2660, 251}, {0x2660, 123}, - {0x2663, 144}, {0x2663, 16}, {0x2665, 0}, {0x2665, 128}, - {0x2666, 224}, {0x2666, 96},{0x1fb82, 13},{0x1fb82, 141}, - {0x1fb87, 2},{0x1fb87, 130},{0xfffd, '?'}, + {0x001b, 27}, {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}, {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}, {0x007c, 124}, + {0x007f, 253}, {0x00a0, 155}, {0x2022, 148}, {0x2190, 30}, + {0x2191, 28}, {0x2192, 159}, {0x2193, 157}, {0x21b0, 125}, + {0x241b, 27}, {0x2500, 18}, {0x250c, 145}, {0x2510, 5}, + {0x2514, 26}, {0x2518, 131}, {0x251c, 129}, {0x2524, 132}, + {0x252c, 23}, {0x2534, 24}, {0x253c, 147}, {0x2571, 6}, + {0x2572, 135}, {0x2580, 149}, {0x2582, 142}, {0x2584, 21}, + {0x2586, 141}, {0x2588, 160}, {0x258a, 130}, {0x258c, 25}, + {0x258e, 150}, {0x2590, 153}, {0x2596, 143}, {0x2597, 137}, + {0x2598, 140}, {0x2599, 139}, {0x259b, 137}, {0x259c, 143}, + {0x259d, 139}, {0x259f, 140}, {0x25b6, 127}, {0x25c0, 126}, + {0x25d8, 148}, {0x25e2, 136}, {0x25e3, 10}, {0x25e4, 136}, + {0x25e5, 138}, {0x2660, 123}, {0x2663, 144}, {0x2665, 63}, + {0x2666, 96}, {0xfffd, 63}, {0x1fb82, 13}, {0x1fb87, 2} }; const static uint32_t atascii_unicode_table[256] = { @@ -1379,56 +1345,40 @@ const static uint32_t atascii_ext_table[256] = { 0x0078, 0x0079, 0x007a, 0x2660, 0x007c, 0x21b0, 0x25c0, 0x25b6 }; -const static struct ciolib_cpmap petsciiu_table[193] = { - {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}, - {0x005d, 93}, {0x00a0, 160}, {0x00a0, 224}, {0x00a3, 92}, - {0x03c0, 222}, {0x03c0, 126}, {0x03c0, 255}, {0x2190, 95}, - {0x2191, 94}, {0x2500, 96}, {0x2500, 192}, {0x2502, 125}, - {0x2502, 221}, {0x250c, 240}, {0x250c, 176}, {0x2510, 238}, - {0x2510, 174}, {0x2514, 237}, {0x2514, 173}, {0x2518, 253}, - {0x2518, 189}, {0x251c, 171}, {0x251c, 235}, {0x2524, 179}, - {0x2524, 243}, {0x252c, 242}, {0x252c, 178}, {0x2534, 241}, - {0x2534, 177}, {0x253c, 123}, {0x253c, 219}, {0x256d, 213}, - {0x256d, 117}, {0x256e, 105}, {0x256e, 201}, {0x256f, 203}, - {0x256f, 107}, {0x2570, 106}, {0x2570, 202}, {0x2571, 110}, - {0x2571, 206}, {0x2572, 109}, {0x2572, 205}, {0x2573, 214}, - {0x2573, 118}, {0x2581, 164}, {0x2581, 228}, {0x2582, 175}, - {0x2582, 239}, {0x2583, 185}, {0x2583, 249}, {0x2584, 162}, - {0x2584, 226}, {0x258c, 225}, {0x258c, 161}, {0x258d, 181}, - {0x258d, 245}, {0x258e, 244}, {0x258e, 180}, {0x258f, 229}, - {0x258f, 165}, {0x2592, 230}, {0x2592, 166}, {0x2594, 227}, - {0x2594, 163}, {0x2595, 167}, {0x2595, 231}, {0x2596, 251}, - {0x2596, 187}, {0x2597, 172}, {0x2597, 236}, {0x2598, 254}, - {0x2598, 190}, {0x259a, 191}, {0x259d, 188}, {0x259d, 252}, - {0x25cb, 119}, {0x25cb, 215}, {0x25cf, 209}, {0x25cf, 113}, - {0x25e4, 169}, {0x25e4, 233}, {0x25e5, 127}, {0x25e5, 223}, - {0x2660, 193}, {0x2660, 97}, {0x2663, 216}, {0x2663, 120}, - {0x2665, 211}, {0x2665, 115}, {0x2666, 218}, {0x2666, 122}, - {0x1fb70, 116},{0x1fb70, 212},{0x1fb71, 103},{0x1fb71, 199}, - {0x1fb72, 194},{0x1fb72, 98},{0x1fb74, 200},{0x1fb74, 104}, - {0x1fb75, 121},{0x1fb75, 217},{0x1fb76, 101},{0x1fb76, 197}, - {0x1fb77, 196},{0x1fb77, 100},{0x1fb78, 195},{0x1fb78, 99}, - {0x1fb7a, 198},{0x1fb7a, 102},{0x1fb7b, 114},{0x1fb7b, 210}, - {0x1fb7c, 204},{0x1fb7c, 108},{0x1fb7d, 207},{0x1fb7d, 111}, - {0x1fb7e, 112},{0x1fb7e, 208},{0x1fb7f, 186},{0x1fb7f, 250}, - {0x1fb82, 247},{0x1fb82, 183},{0x1fb83, 248},{0x1fb83, 184}, - {0x1fb87, 234},{0x1fb87, 170},{0x1fb88, 246},{0x1fb88, 182}, - {0x1fb8c, 220},{0x1fb8c, 124},{0x1fb8f, 232},{0x1fb8f, 168}, - {0xfffd, '?'} +const static struct ciolib_cpmap petsciiu_table[129] = { + {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}, + {0x005d, 93}, {0x00a0, 160}, {0x00a3, 92}, {0x03c0, 126}, + {0x2190, 95}, {0x2191, 94}, {0x2500, 96}, {0x2502, 125}, + {0x250c, 176}, {0x2510, 174}, {0x2514, 173}, {0x2518, 189}, + {0x251c, 171}, {0x2524, 179}, {0x252c, 178}, {0x2534, 177}, + {0x253c, 123}, {0x256d, 117}, {0x256e, 105}, {0x256f, 107}, + {0x2570, 106}, {0x2571, 110}, {0x2572, 109}, {0x2573, 118}, + {0x2581, 164}, {0x2582, 175}, {0x2583, 185}, {0x2584, 162}, + {0x258c, 161}, {0x258d, 181}, {0x258e, 180}, {0x258f, 165}, + {0x2592, 166}, {0x2594, 163}, {0x2595, 167}, {0x2596, 187}, + {0x2597, 172}, {0x2598, 190}, {0x259a, 191}, {0x259d, 188}, + {0x25cb, 119}, {0x25cf, 113}, {0x25e4, 169}, {0x25e5, 127}, + {0x2660, 97}, {0x2663, 120}, {0x2665, 115}, {0x2666, 122}, + {0xfffd, 63}, {0x1fb70, 116}, {0x1fb71, 103}, {0x1fb72, 98}, + {0x1fb74, 104}, {0x1fb75, 121}, {0x1fb76, 101}, {0x1fb77, 100}, + {0x1fb78, 99}, {0x1fb7a, 102}, {0x1fb7b, 114}, {0x1fb7c, 108}, + {0x1fb7d, 111}, {0x1fb7e, 112}, {0x1fb7f, 186}, {0x1fb82, 183}, + {0x1fb83, 184}, {0x1fb87, 170}, {0x1fb88, 182}, {0x1fb8c, 124}, + {0x1fb8f, 168} }; const static uint32_t petsciiu_unicode_table[256] = { @@ -1466,56 +1416,40 @@ const static uint32_t petsciiu_unicode_table[256] = { 0x1fb83,0x2583,0x1fb7f, 0x2596, 0x259d, 0x2518, 0x2598, 0x03c0 }; -const static struct ciolib_cpmap petsciil_table[193] = { - {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, 97}, {0x0041, 193}, {0x0042, 194}, - {0x0042, 98}, {0x0043, 195}, {0x0043, 99}, {0x0044, 196}, - {0x0044, 100}, {0x0045, 101}, {0x0045, 197}, {0x0046, 198}, - {0x0046, 102}, {0x0047, 199}, {0x0047, 103}, {0x0048, 200}, - {0x0048, 104}, {0x0049, 105}, {0x0049, 201}, {0x004a, 202}, - {0x004a, 106}, {0x004b, 107}, {0x004b, 203}, {0x004c, 108}, - {0x004c, 204}, {0x004d, 109}, {0x004d, 205}, {0x004e, 206}, - {0x004e, 110}, {0x004f, 207}, {0x004f, 111}, {0x0050, 208}, - {0x0050, 112}, {0x0051, 113}, {0x0051, 209}, {0x0052, 114}, - {0x0052, 210}, {0x0053, 115}, {0x0053, 211}, {0x0054, 212}, - {0x0054, 116}, {0x0055, 213}, {0x0055, 117}, {0x0056, 118}, - {0x0056, 214}, {0x0057, 119}, {0x0057, 215}, {0x0058, 216}, - {0x0058, 120}, {0x0059, 217}, {0x0059, 121}, {0x005a, 218}, - {0x005a, 122}, {0x005b, 91}, {0x005d, 93}, {0x0061, 65}, - {0x0062, 66}, {0x0063, 67}, {0x0064, 68}, {0x0065, 69}, - {0x0066, 70}, {0x0067, 71}, {0x0068, 72}, {0x0069, 73}, - {0x006a, 74}, {0x006b, 75}, {0x006c, 76}, {0x006d, 77}, - {0x006e, 78}, {0x006f, 79}, {0x0070, 80}, {0x0071, 81}, - {0x0072, 82}, {0x0073, 83}, {0x0074, 84}, {0x0075, 85}, - {0x0076, 86}, {0x0077, 87}, {0x0078, 88}, {0x0079, 89}, - {0x007a, 90}, {0x00a0, 160}, {0x00a0, 224}, {0x00a3, 92}, - {0x2190, 95}, {0x2191, 94}, {0x2500, 96}, {0x2500, 192}, - {0x2502, 221}, {0x2502, 125}, {0x250c, 240}, {0x250c, 176}, - {0x2510, 174}, {0x2510, 238}, {0x2514, 237}, {0x2514, 173}, - {0x2518, 253}, {0x2518, 189}, {0x251c, 235}, {0x251c, 171}, - {0x2524, 179}, {0x2524, 243}, {0x252c, 242}, {0x252c, 178}, - {0x2534, 241}, {0x2534, 177}, {0x253c, 123}, {0x253c, 219}, - {0x2581, 164}, {0x2581, 228}, {0x2582, 175}, {0x2582, 239}, - {0x2583, 185}, {0x2583, 249}, {0x2584, 226}, {0x2584, 162}, - {0x258c, 225}, {0x258c, 161}, {0x258d, 181}, {0x258d, 245}, - {0x258e, 180}, {0x258e, 244}, {0x258f, 165}, {0x258f, 229}, - {0x2592, 230}, {0x2592, 166}, {0x2594, 227}, {0x2594, 163}, - {0x2595, 231}, {0x2595, 167}, {0x2596, 187}, {0x2596, 251}, - {0x2597, 236}, {0x2597, 172}, {0x2598, 254}, {0x2598, 190}, - {0x259a, 191}, {0x259d, 188}, {0x259d, 252}, {0x2713, 186}, - {0x2713, 250},{0x1fb82, 247},{0x1fb82, 183},{0x1fb83, 248}, - {0x1fb83, 184},{0x1fb87, 170},{0x1fb87, 234},{0x1fb88, 246}, - {0x1fb88, 182},{0x1fb8c, 220},{0x1fb8c, 124},{0x1fb8f, 232}, - {0x1fb8f, 168},{0x1fb96, 255},{0x1fb96, 222},{0x1fb96, 126}, - {0x1fb98, 127},{0x1fb98, 223},{0x1fb99, 169},{0x1fb99, 233}, - {0xfffd, '?'} +const static struct ciolib_cpmap petsciil_table[129] = { + {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, 97}, {0x0042, 98}, {0x0043, 99}, + {0x0044, 100}, {0x0045, 101}, {0x0046, 102}, {0x0047, 103}, + {0x0048, 104}, {0x0049, 105}, {0x004a, 106}, {0x004b, 107}, + {0x004c, 108}, {0x004d, 109}, {0x004e, 110}, {0x004f, 111}, + {0x0050, 112}, {0x0051, 113}, {0x0052, 114}, {0x0053, 115}, + {0x0054, 116}, {0x0055, 117}, {0x0056, 118}, {0x0057, 119}, + {0x0058, 120}, {0x0059, 121}, {0x005a, 122}, {0x005b, 91}, + {0x005d, 93}, {0x0061, 65}, {0x0062, 66}, {0x0063, 67}, + {0x0064, 68}, {0x0065, 69}, {0x0066, 70}, {0x0067, 71}, + {0x0068, 72}, {0x0069, 73}, {0x006a, 74}, {0x006b, 75}, + {0x006c, 76}, {0x006d, 77}, {0x006e, 78}, {0x006f, 79}, + {0x0070, 80}, {0x0071, 81}, {0x0072, 82}, {0x0073, 83}, + {0x0074, 84}, {0x0075, 85}, {0x0076, 86}, {0x0077, 87}, + {0x0078, 88}, {0x0079, 89}, {0x007a, 90}, {0x00a0, 160}, + {0x00a3, 92}, {0x2190, 95}, {0x2191, 94}, {0x2500, 96}, + {0x2502, 125}, {0x250c, 176}, {0x2510, 174}, {0x2514, 173}, + {0x2518, 189}, {0x251c, 171}, {0x2524, 179}, {0x252c, 178}, + {0x2534, 177}, {0x253c, 123}, {0x2581, 164}, {0x2582, 175}, + {0x2583, 185}, {0x2584, 162}, {0x258c, 161}, {0x258d, 181}, + {0x258e, 180}, {0x258f, 165}, {0x2592, 166}, {0x2594, 163}, + {0x2595, 167}, {0x2596, 187}, {0x2597, 172}, {0x2598, 190}, + {0x259a, 191}, {0x259d, 188}, {0x2713, 186}, {0xfffd, 63}, + {0x1fb82, 183}, {0x1fb83, 184}, {0x1fb87, 170}, {0x1fb88, 182}, + {0x1fb8c, 124}, {0x1fb8f, 168}, {0x1fb96, 126}, {0x1fb98, 127}, + {0x1fb99, 169} }; const static uint32_t petsciil_unicode_table[256] = {