diff options
-rw-r--r-- | ChangeLog | 13 | ||||
-rw-r--r-- | test/ruby/test_transcode.rb | 1 | ||||
-rw-r--r-- | transcode.c | 3 | ||||
-rw-r--r-- | transcode_data_iso_8859.c | 3625 | ||||
-rw-r--r-- | version.h | 6 |
5 files changed, 1667 insertions, 1981 deletions
@@ -1,3 +1,16 @@ +Sun Dec 16 17:07:35 2007 Martin Duerst <duerst@it.aoyama.ac.jp> + + * transcode.c (transcode_loop): removed special case (-1) + for undefined conversions. + + * transcode_data_iso_8859.c: Changed from character constants + ('\xC2') to integer contants (0xC2) for shorter files and + better readability; eliminated duplicated tables; changed + from -1 offset to actual UNDEF entry (not yet distinguishing + UNDEF and ILLEGAL correctly). + + * test/ruby/test_transcode.rb: added a test for UNDEF conversion. + Sun Dec 16 14:51:59 2007 Nobuyoshi Nakada <nobu@ruby-lang.org> * configure.in (MAKEFILES): should be enc/Makefile, not GNUmakefile. diff --git a/test/ruby/test_transcode.rb b/test/ruby/test_transcode.rb index a8bc712e94..071b97752a 100644 --- a/test/ruby/test_transcode.rb +++ b/test/ruby/test_transcode.rb @@ -27,6 +27,7 @@ class TestTranscode < Test::Unit::TestCase assert_raise(ArgumentError) { 'abc'.encode!('foo', 'bar') } assert_raise(ArgumentError) { 'abc'.force_encoding('utf-8').encode('foo') } assert_raise(ArgumentError) { 'abc'.force_encoding('utf-8').encode!('foo') } + assert_raise(RuntimeError) { "\xA5".encode('utf-8','iso-8859-3') } end def test_arguments diff --git a/transcode.c b/transcode.c index 30901e6dfd..bf482bb0a0 100644 --- a/transcode.c +++ b/transcode.c @@ -191,7 +191,6 @@ transcode_loop(char **in_pos, char **out_pos, next_byte = (unsigned char)*in_p++; follow_byte: next_offset = next_table->base[next_byte]; - if (next_offset == (base_element)-1) goto illegal; next_info = (VALUE)next_table->info[next_offset]; switch (next_info & 0x1F) { case NOMAP: @@ -234,7 +233,7 @@ transcode_loop(char **in_pos, char **out_pos, goto illegal; case UNDEF: /* todo: add code for alternative behaviors */ - rb_raise(rb_eRuntimeError /*@@@change exception*/, "conversion undefined for byte sequence"); + rb_raise(rb_eRuntimeError /*@@@change exception*/, "conversion undefined for byte sequence (maybe illegal byte sequence)"); continue; } continue; diff --git a/transcode_data_iso_8859.c b/transcode_data_iso_8859.c index 27c8f4137c..2e2db23da1 100644 --- a/transcode_data_iso_8859.c +++ b/transcode_data_iso_8859.c @@ -3,6 +3,8 @@ static const unsigned char from_ISO_8859_1_offsets[256] = { + /* used from from_ISO_8859_1 */ + /* used from from_ISO_8859_9 */ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, @@ -22,71 +24,39 @@ from_ISO_8859_1_offsets[256] = { }; static const struct byte_lookup* const from_ISO_8859_1_infos[129] = { - NOMAP, o2('\xC2','\x80'), - o2('\xC2','\x81'), o2('\xC2','\x82'), - o2('\xC2','\x83'), o2('\xC2','\x84'), - o2('\xC2','\x85'), o2('\xC2','\x86'), - o2('\xC2','\x87'), o2('\xC2','\x88'), - o2('\xC2','\x89'), o2('\xC2','\x8A'), - o2('\xC2','\x8B'), o2('\xC2','\x8C'), - o2('\xC2','\x8D'), o2('\xC2','\x8E'), - o2('\xC2','\x8F'), o2('\xC2','\x90'), - o2('\xC2','\x91'), o2('\xC2','\x92'), - o2('\xC2','\x93'), o2('\xC2','\x94'), - o2('\xC2','\x95'), o2('\xC2','\x96'), - o2('\xC2','\x97'), o2('\xC2','\x98'), - o2('\xC2','\x99'), o2('\xC2','\x9A'), - o2('\xC2','\x9B'), o2('\xC2','\x9C'), - o2('\xC2','\x9D'), o2('\xC2','\x9E'), - o2('\xC2','\x9F'), o2('\xC2','\xA0'), - o2('\xC2','\xA1'), o2('\xC2','\xA2'), - o2('\xC2','\xA3'), o2('\xC2','\xA4'), - o2('\xC2','\xA5'), o2('\xC2','\xA6'), - o2('\xC2','\xA7'), o2('\xC2','\xA8'), - o2('\xC2','\xA9'), o2('\xC2','\xAA'), - o2('\xC2','\xAB'), o2('\xC2','\xAC'), - o2('\xC2','\xAD'), o2('\xC2','\xAE'), - o2('\xC2','\xAF'), o2('\xC2','\xB0'), - o2('\xC2','\xB1'), o2('\xC2','\xB2'), - o2('\xC2','\xB3'), o2('\xC2','\xB4'), - o2('\xC2','\xB5'), o2('\xC2','\xB6'), - o2('\xC2','\xB7'), o2('\xC2','\xB8'), - o2('\xC2','\xB9'), o2('\xC2','\xBA'), - o2('\xC2','\xBB'), o2('\xC2','\xBC'), - o2('\xC2','\xBD'), o2('\xC2','\xBE'), - o2('\xC2','\xBF'), o2('\xC3','\x80'), - o2('\xC3','\x81'), o2('\xC3','\x82'), - o2('\xC3','\x83'), o2('\xC3','\x84'), - o2('\xC3','\x85'), o2('\xC3','\x86'), - o2('\xC3','\x87'), o2('\xC3','\x88'), - o2('\xC3','\x89'), o2('\xC3','\x8A'), - o2('\xC3','\x8B'), o2('\xC3','\x8C'), - o2('\xC3','\x8D'), o2('\xC3','\x8E'), - o2('\xC3','\x8F'), o2('\xC3','\x90'), - o2('\xC3','\x91'), o2('\xC3','\x92'), - o2('\xC3','\x93'), o2('\xC3','\x94'), - o2('\xC3','\x95'), o2('\xC3','\x96'), - o2('\xC3','\x97'), o2('\xC3','\x98'), - o2('\xC3','\x99'), o2('\xC3','\x9A'), - o2('\xC3','\x9B'), o2('\xC3','\x9C'), - o2('\xC3','\x9D'), o2('\xC3','\x9E'), - o2('\xC3','\x9F'), o2('\xC3','\xA0'), - o2('\xC3','\xA1'), o2('\xC3','\xA2'), - o2('\xC3','\xA3'), o2('\xC3','\xA4'), - o2('\xC3','\xA5'), o2('\xC3','\xA6'), - o2('\xC3','\xA7'), o2('\xC3','\xA8'), - o2('\xC3','\xA9'), o2('\xC3','\xAA'), - o2('\xC3','\xAB'), o2('\xC3','\xAC'), - o2('\xC3','\xAD'), o2('\xC3','\xAE'), - o2('\xC3','\xAF'), o2('\xC3','\xB0'), - o2('\xC3','\xB1'), o2('\xC3','\xB2'), - o2('\xC3','\xB3'), o2('\xC3','\xB4'), - o2('\xC3','\xB5'), o2('\xC3','\xB6'), - o2('\xC3','\xB7'), o2('\xC3','\xB8'), - o2('\xC3','\xB9'), o2('\xC3','\xBA'), - o2('\xC3','\xBB'), o2('\xC3','\xBC'), - o2('\xC3','\xBD'), o2('\xC3','\xBE'), - o2('\xC3','\xBF'), + NOMAP, o2(0xC2,0x80), o2(0xC2,0x81), o2(0xC2,0x82), + o2(0xC2,0x83), o2(0xC2,0x84), o2(0xC2,0x85), o2(0xC2,0x86), + o2(0xC2,0x87), o2(0xC2,0x88), o2(0xC2,0x89), o2(0xC2,0x8A), + o2(0xC2,0x8B), o2(0xC2,0x8C), o2(0xC2,0x8D), o2(0xC2,0x8E), + o2(0xC2,0x8F), o2(0xC2,0x90), o2(0xC2,0x91), o2(0xC2,0x92), + o2(0xC2,0x93), o2(0xC2,0x94), o2(0xC2,0x95), o2(0xC2,0x96), + o2(0xC2,0x97), o2(0xC2,0x98), o2(0xC2,0x99), o2(0xC2,0x9A), + o2(0xC2,0x9B), o2(0xC2,0x9C), o2(0xC2,0x9D), o2(0xC2,0x9E), + o2(0xC2,0x9F), o2(0xC2,0xA0), o2(0xC2,0xA1), o2(0xC2,0xA2), + o2(0xC2,0xA3), o2(0xC2,0xA4), o2(0xC2,0xA5), o2(0xC2,0xA6), + o2(0xC2,0xA7), o2(0xC2,0xA8), o2(0xC2,0xA9), o2(0xC2,0xAA), + o2(0xC2,0xAB), o2(0xC2,0xAC), o2(0xC2,0xAD), o2(0xC2,0xAE), + o2(0xC2,0xAF), o2(0xC2,0xB0), o2(0xC2,0xB1), o2(0xC2,0xB2), + o2(0xC2,0xB3), o2(0xC2,0xB4), o2(0xC2,0xB5), o2(0xC2,0xB6), + o2(0xC2,0xB7), o2(0xC2,0xB8), o2(0xC2,0xB9), o2(0xC2,0xBA), + o2(0xC2,0xBB), o2(0xC2,0xBC), o2(0xC2,0xBD), o2(0xC2,0xBE), + o2(0xC2,0xBF), o2(0xC3,0x80), o2(0xC3,0x81), o2(0xC3,0x82), + o2(0xC3,0x83), o2(0xC3,0x84), o2(0xC3,0x85), o2(0xC3,0x86), + o2(0xC3,0x87), o2(0xC3,0x88), o2(0xC3,0x89), o2(0xC3,0x8A), + o2(0xC3,0x8B), o2(0xC3,0x8C), o2(0xC3,0x8D), o2(0xC3,0x8E), + o2(0xC3,0x8F), o2(0xC3,0x90), o2(0xC3,0x91), o2(0xC3,0x92), + o2(0xC3,0x93), o2(0xC3,0x94), o2(0xC3,0x95), o2(0xC3,0x96), + o2(0xC3,0x97), o2(0xC3,0x98), o2(0xC3,0x99), o2(0xC3,0x9A), + o2(0xC3,0x9B), o2(0xC3,0x9C), o2(0xC3,0x9D), o2(0xC3,0x9E), + o2(0xC3,0x9F), o2(0xC3,0xA0), o2(0xC3,0xA1), o2(0xC3,0xA2), + o2(0xC3,0xA3), o2(0xC3,0xA4), o2(0xC3,0xA5), o2(0xC3,0xA6), + o2(0xC3,0xA7), o2(0xC3,0xA8), o2(0xC3,0xA9), o2(0xC3,0xAA), + o2(0xC3,0xAB), o2(0xC3,0xAC), o2(0xC3,0xAD), o2(0xC3,0xAE), + o2(0xC3,0xAF), o2(0xC3,0xB0), o2(0xC3,0xB1), o2(0xC3,0xB2), + o2(0xC3,0xB3), o2(0xC3,0xB4), o2(0xC3,0xB5), o2(0xC3,0xB6), + o2(0xC3,0xB7), o2(0xC3,0xB8), o2(0xC3,0xB9), o2(0xC3,0xBA), + o2(0xC3,0xBB), o2(0xC3,0xBC), o2(0xC3,0xBD), o2(0xC3,0xBE), + o2(0xC3,0xBF), }; const BYTE_LOOKUP from_ISO_8859_1 = { @@ -96,6 +66,8 @@ from_ISO_8859_1 = { static const unsigned char to_ISO_8859_1_C2_offsets[64] = { + /* used from to_ISO_8859_1_C2 */ + /* used from to_ISO_8859_1_C3 */ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, @@ -103,22 +75,24 @@ to_ISO_8859_1_C2_offsets[64] = { }; static const struct byte_lookup* const to_ISO_8859_1_C2_infos[64] = { - o1('\x80'), o1('\x81'), o1('\x82'), o1('\x83'), - o1('\x84'), o1('\x85'), o1('\x86'), o1('\x87'), - o1('\x88'), o1('\x89'), o1('\x8A'), o1('\x8B'), - o1('\x8C'), o1('\x8D'), o1('\x8E'), o1('\x8F'), - o1('\x90'), o1('\x91'), o1('\x92'), o1('\x93'), - o1('\x94'), o1('\x95'), o1('\x96'), o1('\x97'), - o1('\x98'), o1('\x99'), o1('\x9A'), o1('\x9B'), - o1('\x9C'), o1('\x9D'), o1('\x9E'), o1('\x9F'), - o1('\xA0'), o1('\xA1'), o1('\xA2'), o1('\xA3'), - o1('\xA4'), o1('\xA5'), o1('\xA6'), o1('\xA7'), - o1('\xA8'), o1('\xA9'), o1('\xAA'), o1('\xAB'), - o1('\xAC'), o1('\xAD'), o1('\xAE'), o1('\xAF'), - o1('\xB0'), o1('\xB1'), o1('\xB2'), o1('\xB3'), - o1('\xB4'), o1('\xB5'), o1('\xB6'), o1('\xB7'), - o1('\xB8'), o1('\xB9'), o1('\xBA'), o1('\xBB'), - o1('\xBC'), o1('\xBD'), o1('\xBE'), o1('\xBF'), + /* used from to_ISO_8859_1_C2 */ + /* used from to_ISO_8859_9_C2 */ + o1(0x80), o1(0x81), o1(0x82), o1(0x83), + o1(0x84), o1(0x85), o1(0x86), o1(0x87), + o1(0x88), o1(0x89), o1(0x8A), o1(0x8B), + o1(0x8C), o1(0x8D), o1(0x8E), o1(0x8F), + o1(0x90), o1(0x91), o1(0x92), o1(0x93), + o1(0x94), o1(0x95), o1(0x96), o1(0x97), + o1(0x98), o1(0x99), o1(0x9A), o1(0x9B), + o1(0x9C), o1(0x9D), o1(0x9E), o1(0x9F), + o1(0xA0), o1(0xA1), o1(0xA2), o1(0xA3), + o1(0xA4), o1(0xA5), o1(0xA6), o1(0xA7), + o1(0xA8), o1(0xA9), o1(0xAA), o1(0xAB), + o1(0xAC), o1(0xAD), o1(0xAE), o1(0xAF), + o1(0xB0), o1(0xB1), o1(0xB2), o1(0xB3), + o1(0xB4), o1(0xB5), o1(0xB6), o1(0xB7), + o1(0xB8), o1(0xB9), o1(0xBA), o1(0xBB), + o1(0xBC), o1(0xBD), o1(0xBE), o1(0xBF), }; static const BYTE_LOOKUP to_ISO_8859_1_C2 = { @@ -126,35 +100,30 @@ to_ISO_8859_1_C2 = { to_ISO_8859_1_C2_infos }; -static const unsigned char -to_ISO_8859_1_C3_offsets[64] = { - 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, - 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, - 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, - 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, -}; static const struct byte_lookup* const to_ISO_8859_1_C3_infos[64] = { - o1('\xC0'), o1('\xC1'), o1('\xC2'), o1('\xC3'), - o1('\xC4'), o1('\xC5'), o1('\xC6'), o1('\xC7'), - o1('\xC8'), o1('\xC9'), o1('\xCA'), o1('\xCB'), - o1('\xCC'), o1('\xCD'), o1('\xCE'), o1('\xCF'), - o1('\xD0'), o1('\xD1'), o1('\xD2'), o1('\xD3'), - o1('\xD4'), o1('\xD5'), o1('\xD6'), o1('\xD7'), - o1('\xD8'), o1('\xD9'), o1('\xDA'), o1('\xDB'), - o1('\xDC'), o1('\xDD'), o1('\xDE'), o1('\xDF'), - o1('\xE0'), o1('\xE1'), o1('\xE2'), o1('\xE3'), - o1('\xE4'), o1('\xE5'), o1('\xE6'), o1('\xE7'), - o1('\xE8'), o1('\xE9'), o1('\xEA'), o1('\xEB'), - o1('\xEC'), o1('\xED'), o1('\xEE'), o1('\xEF'), - o1('\xF0'), o1('\xF1'), o1('\xF2'), o1('\xF3'), - o1('\xF4'), o1('\xF5'), o1('\xF6'), o1('\xF7'), - o1('\xF8'), o1('\xF9'), o1('\xFA'), o1('\xFB'), - o1('\xFC'), o1('\xFD'), o1('\xFE'), o1('\xFF'), + /* used from to_ISO_8859_1_C3 */ + /* used from to_ISO_8859_15_C3 */ + o1(0xC0), o1(0xC1), o1(0xC2), o1(0xC3), + o1(0xC4), o1(0xC5), o1(0xC6), o1(0xC7), + o1(0xC8), o1(0xC9), o1(0xCA), o1(0xCB), + o1(0xCC), o1(0xCD), o1(0xCE), o1(0xCF), + o1(0xD0), o1(0xD1), o1(0xD2), o1(0xD3), + o1(0xD4), o1(0xD5), o1(0xD6), o1(0xD7), + o1(0xD8), o1(0xD9), o1(0xDA), o1(0xDB), + o1(0xDC), o1(0xDD), o1(0xDE), o1(0xDF), + o1(0xE0), o1(0xE1), o1(0xE2), o1(0xE3), + o1(0xE4), o1(0xE5), o1(0xE6), o1(0xE7), + o1(0xE8), o1(0xE9), o1(0xEA), o1(0xEB), + o1(0xEC), o1(0xED), o1(0xEE), o1(0xEF), + o1(0xF0), o1(0xF1), o1(0xF2), o1(0xF3), + o1(0xF4), o1(0xF5), o1(0xF6), o1(0xF7), + o1(0xF8), o1(0xF9), o1(0xFA), o1(0xFB), + o1(0xFC), o1(0xFD), o1(0xFE), o1(0xFF), }; static const BYTE_LOOKUP to_ISO_8859_1_C3 = { - to_ISO_8859_1_C3_offsets, + to_ISO_8859_1_C2_offsets, to_ISO_8859_1_C3_infos }; @@ -168,18 +137,19 @@ to_ISO_8859_1_offsets[256] = { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, 1, 2, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, + 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, + 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, + 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, + 3, 3, 1, 2, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, + 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, + 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, + 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, }; static const struct byte_lookup* const -to_ISO_8859_1_infos[3] = { - NOMAP, &to_ISO_8859_1_C2, &to_ISO_8859_1_C3, +to_ISO_8859_1_infos[4] = { + NOMAP, &to_ISO_8859_1_C2, + &to_ISO_8859_1_C3, UNDEF, }; const BYTE_LOOKUP to_ISO_8859_1 = { @@ -188,7 +158,9 @@ to_ISO_8859_1 = { }; static const unsigned char -from_ISO_8859_2_offsets[256] = { +from_ISO_8859_15_offsets[256] = { + /* used from from_ISO_8859_15 */ + /* used from from_ISO_8859_2 */ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, @@ -208,75 +180,43 @@ from_ISO_8859_2_offsets[256] = { }; static const struct byte_lookup* const from_ISO_8859_2_infos[129] = { - NOMAP, o2('\xC2','\x80'), - o2('\xC2','\x81'), o2('\xC2','\x82'), - o2('\xC2','\x83'), o2('\xC2','\x84'), - o2('\xC2','\x85'), o2('\xC2','\x86'), - o2('\xC2','\x87'), o2('\xC2','\x88'), - o2('\xC2','\x89'), o2('\xC2','\x8A'), - o2('\xC2','\x8B'), o2('\xC2','\x8C'), - o2('\xC2','\x8D'), o2('\xC2','\x8E'), - o2('\xC2','\x8F'), o2('\xC2','\x90'), - o2('\xC2','\x91'), o2('\xC2','\x92'), - o2('\xC2','\x93'), o2('\xC2','\x94'), - o2('\xC2','\x95'), o2('\xC2','\x96'), - o2('\xC2','\x97'), o2('\xC2','\x98'), - o2('\xC2','\x99'), o2('\xC2','\x9A'), - o2('\xC2','\x9B'), o2('\xC2','\x9C'), - o2('\xC2','\x9D'), o2('\xC2','\x9E'), - o2('\xC2','\x9F'), o2('\xC2','\xA0'), - o2('\xC4','\x84'), o2('\xCB','\x98'), - o2('\xC5','\x81'), o2('\xC2','\xA4'), - o2('\xC4','\xBD'), o2('\xC5','\x9A'), - o2('\xC2','\xA7'), o2('\xC2','\xA8'), - o2('\xC5','\xA0'), o2('\xC5','\x9E'), - o2('\xC5','\xA4'), o2('\xC5','\xB9'), - o2('\xC2','\xAD'), o2('\xC5','\xBD'), - o2('\xC5','\xBB'), o2('\xC2','\xB0'), - o2('\xC4','\x85'), o2('\xCB','\x9B'), - o2('\xC5','\x82'), o2('\xC2','\xB4'), - o2('\xC4','\xBE'), o2('\xC5','\x9B'), - o2('\xCB','\x87'), o2('\xC2','\xB8'), - o2('\xC5','\xA1'), o2('\xC5','\x9F'), - o2('\xC5','\xA5'), o2('\xC5','\xBA'), - o2('\xCB','\x9D'), o2('\xC5','\xBE'), - o2('\xC5','\xBC'), o2('\xC5','\x94'), - o2('\xC3','\x81'), o2('\xC3','\x82'), - o2('\xC4','\x82'), o2('\xC3','\x84'), - o2('\xC4','\xB9'), o2('\xC4','\x86'), - o2('\xC3','\x87'), o2('\xC4','\x8C'), - o2('\xC3','\x89'), o2('\xC4','\x98'), - o2('\xC3','\x8B'), o2('\xC4','\x9A'), - o2('\xC3','\x8D'), o2('\xC3','\x8E'), - o2('\xC4','\x8E'), o2('\xC4','\x90'), - o2('\xC5','\x83'), o2('\xC5','\x87'), - o2('\xC3','\x93'), o2('\xC3','\x94'), - o2('\xC5','\x90'), o2('\xC3','\x96'), - o2('\xC3','\x97'), o2('\xC5','\x98'), - o2('\xC5','\xAE'), o2('\xC3','\x9A'), - o2('\xC5','\xB0'), o2('\xC3','\x9C'), - o2('\xC3','\x9D'), o2('\xC5','\xA2'), - o2('\xC3','\x9F'), o2('\xC5','\x95'), - o2('\xC3','\xA1'), o2('\xC3','\xA2'), - o2('\xC4','\x83'), o2('\xC3','\xA4'), - o2('\xC4','\xBA'), o2('\xC4','\x87'), - o2('\xC3','\xA7'), o2('\xC4','\x8D'), - o2('\xC3','\xA9'), o2('\xC4','\x99'), - o2('\xC3','\xAB'), o2('\xC4','\x9B'), - o2('\xC3','\xAD'), o2('\xC3','\xAE'), - o2('\xC4','\x8F'), o2('\xC4','\x91'), - o2('\xC5','\x84'), o2('\xC5','\x88'), - o2('\xC3','\xB3'), o2('\xC3','\xB4'), - o2('\xC5','\x91'), o2('\xC3','\xB6'), - o2('\xC3','\xB7'), o2('\xC5','\x99'), - o2('\xC5','\xAF'), o2('\xC3','\xBA'), - o2('\xC5','\xB1'), o2('\xC3','\xBC'), - o2('\xC3','\xBD'), o2('\xC5','\xA3'), - o2('\xCB','\x99'), + NOMAP, o2(0xC2,0x80), o2(0xC2,0x81), o2(0xC2,0x82), + o2(0xC2,0x83), o2(0xC2,0x84), o2(0xC2,0x85), o2(0xC2,0x86), + o2(0xC2,0x87), o2(0xC2,0x88), o2(0xC2,0x89), o2(0xC2,0x8A), + o2(0xC2,0x8B), o2(0xC2,0x8C), o2(0xC2,0x8D), o2(0xC2,0x8E), + o2(0xC2,0x8F), o2(0xC2,0x90), o2(0xC2,0x91), o2(0xC2,0x92), + o2(0xC2,0x93), o2(0xC2,0x94), o2(0xC2,0x95), o2(0xC2,0x96), + o2(0xC2,0x97), o2(0xC2,0x98), o2(0xC2,0x99), o2(0xC2,0x9A), + o2(0xC2,0x9B), o2(0xC2,0x9C), o2(0xC2,0x9D), o2(0xC2,0x9E), + o2(0xC2,0x9F), o2(0xC2,0xA0), o2(0xC4,0x84), o2(0xCB,0x98), + o2(0xC5,0x81), o2(0xC2,0xA4), o2(0xC4,0xBD), o2(0xC5,0x9A), + o2(0xC2,0xA7), o2(0xC2,0xA8), o2(0xC5,0xA0), o2(0xC5,0x9E), + o2(0xC5,0xA4), o2(0xC5,0xB9), o2(0xC2,0xAD), o2(0xC5,0xBD), + o2(0xC5,0xBB), o2(0xC2,0xB0), o2(0xC4,0x85), o2(0xCB,0x9B), + o2(0xC5,0x82), o2(0xC2,0xB4), o2(0xC4,0xBE), o2(0xC5,0x9B), + o2(0xCB,0x87), o2(0xC2,0xB8), o2(0xC5,0xA1), o2(0xC5,0x9F), + o2(0xC5,0xA5), o2(0xC5,0xBA), o2(0xCB,0x9D), o2(0xC5,0xBE), + o2(0xC5,0xBC), o2(0xC5,0x94), o2(0xC3,0x81), o2(0xC3,0x82), + o2(0xC4,0x82), o2(0xC3,0x84), o2(0xC4,0xB9), o2(0xC4,0x86), + o2(0xC3,0x87), o2(0xC4,0x8C), o2(0xC3,0x89), o2(0xC4,0x98), + o2(0xC3,0x8B), o2(0xC4,0x9A), o2(0xC3,0x8D), o2(0xC3,0x8E), + o2(0xC4,0x8E), o2(0xC4,0x90), o2(0xC5,0x83), o2(0xC5,0x87), + o2(0xC3,0x93), o2(0xC3,0x94), o2(0xC5,0x90), o2(0xC3,0x96), + o2(0xC3,0x97), o2(0xC5,0x98), o2(0xC5,0xAE), o2(0xC3,0x9A), + o2(0xC5,0xB0), o2(0xC3,0x9C), o2(0xC3,0x9D), o2(0xC5,0xA2), + o2(0xC3,0x9F), o2(0xC5,0x95), o2(0xC3,0xA1), o2(0xC3,0xA2), + o2(0xC4,0x83), o2(0xC3,0xA4), o2(0xC4,0xBA), o2(0xC4,0x87), + o2(0xC3,0xA7), o2(0xC4,0x8D), o2(0xC3,0xA9), o2(0xC4,0x99), + o2(0xC3,0xAB), o2(0xC4,0x9B), o2(0xC3,0xAD), o2(0xC3,0xAE), + o2(0xC4,0x8F), o2(0xC4,0x91), o2(0xC5,0x84), o2(0xC5,0x88), + o2(0xC3,0xB3), o2(0xC3,0xB4), o2(0xC5,0x91), o2(0xC3,0xB6), + o2(0xC3,0xB7), o2(0xC5,0x99), o2(0xC5,0xAF), o2(0xC3,0xBA), + o2(0xC5,0xB1), o2(0xC3,0xBC), o2(0xC3,0xBD), o2(0xC5,0xA3), + o2(0xCB,0x99), }; const BYTE_LOOKUP from_ISO_8859_2 = { - from_ISO_8859_2_offsets, + from_ISO_8859_15_offsets, from_ISO_8859_2_infos }; @@ -284,21 +224,22 @@ static const unsigned char to_ISO_8859_2_C2_offsets[64] = { 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, - 32, -1, -1, -1, 33, -1, -1, 34, 35, -1, -1, -1, -1, 36, -1, -1, - 37, -1, -1, -1, 38, -1, -1, -1, 39, -1, -1, -1, -1, -1, -1, -1, + 32, 40, 40, 40, 33, 40, 40, 34, 35, 40, 40, 40, 40, 36, 40, 40, + 37, 40, 40, 40, 38, 40, 40, 40, 39, 40, 40, 40, 40, 40, 40, 40, }; static const struct byte_lookup* const -to_ISO_8859_2_C2_infos[40] = { - o1('\x80'), o1('\x81'), o1('\x82'), o1('\x83'), - o1('\x84'), o1('\x85'), o1('\x86'), o1('\x87'), - o1('\x88'), o1('\x89'), o1('\x8A'), o1('\x8B'), - o1('\x8C'), o1('\x8D'), o1('\x8E'), o1('\x8F'), - o1('\x90'), o1('\x91'), o1('\x92'), o1('\x93'), - o1('\x94'), o1('\x95'), o1('\x96'), o1('\x97'), - o1('\x98'), o1('\x99'), o1('\x9A'), o1('\x9B'), - o1('\x9C'), o1('\x9D'), o1('\x9E'), o1('\x9F'), - o1('\xA0'), o1('\xA4'), o1('\xA7'), o1('\xA8'), - o1('\xAD'), o1('\xB0'), o1('\xB4'), o1('\xB8'), +to_ISO_8859_2_C2_infos[41] = { + o1(0x80), o1(0x81), o1(0x82), o1(0x83), + o1(0x84), o1(0x85), o1(0x86), o1(0x87), + o1(0x88), o1(0x89), o1(0x8A), o1(0x8B), + o1(0x8C), o1(0x8D), o1(0x8E), o1(0x8F), + o1(0x90), o1(0x91), o1(0x92), o1(0x93), + o1(0x94), o1(0x95), o1(0x96), o1(0x97), + o1(0x98), o1(0x99), o1(0x9A), o1(0x9B), + o1(0x9C), o1(0x9D), o1(0x9E), o1(0x9F), + o1(0xA0), o1(0xA4), o1(0xA7), o1(0xA8), + o1(0xAD), o1(0xB0), o1(0xB4), o1(0xB8), + UNDEF, }; static const BYTE_LOOKUP to_ISO_8859_2_C2 = { @@ -308,21 +249,21 @@ to_ISO_8859_2_C2 = { static const unsigned char to_ISO_8859_2_C3_offsets[64] = { - -1, 0, 1, -1, 2, -1, -1, 3, -1, 4, -1, 5, -1, 6, 7, -1, - -1, -1, -1, 8, 9, -1, 10, 11, -1, -1, 12, -1, 13, 14, -1, 15, - -1, 16, 17, -1, 18, -1, -1, 19, -1, 20, -1, 21, -1, 22, 23, -1, - -1, -1, -1, 24, 25, -1, 26, 27, -1, -1, 28, -1, 29, 30, -1, -1, + 31, 0, 1, 31, 2, 31, 31, 3, 31, 4, 31, 5, 31, 6, 7, 31, + 31, 31, 31, 8, 9, 31, 10, 11, 31, 31, 12, 31, 13, 14, 31, 15, + 31, 16, 17, 31, 18, 31, 31, 19, 31, 20, 31, 21, 31, 22, 23, 31, + 31, 31, 31, 24, 25, 31, 26, 27, 31, 31, 28, 31, 29, 30, 31, 31, }; static const struct byte_lookup* const -to_ISO_8859_2_C3_infos[31] = { - o1('\xC1'), o1('\xC2'), o1('\xC4'), o1('\xC7'), - o1('\xC9'), o1('\xCB'), o1('\xCD'), o1('\xCE'), - o1('\xD3'), o1('\xD4'), o1('\xD6'), o1('\xD7'), - o1('\xDA'), o1('\xDC'), o1('\xDD'), o1('\xDF'), - o1('\xE1'), o1('\xE2'), o1('\xE4'), o1('\xE7'), - o1('\xE9'), o1('\xEB'), o1('\xED'), o1('\xEE'), - o1('\xF3'), o1('\xF4'), o1('\xF6'), o1('\xF7'), - o1('\xFA'), o1('\xFC'), o1('\xFD'), +to_ISO_8859_2_C3_infos[32] = { + o1(0xC1), o1(0xC2), o1(0xC4), o1(0xC7), + o1(0xC9), o1(0xCB), o1(0xCD), o1(0xCE), + o1(0xD3), o1(0xD4), o1(0xD6), o1(0xD7), + o1(0xDA), o1(0xDC), o1(0xDD), o1(0xDF), + o1(0xE1), o1(0xE2), o1(0xE4), o1(0xE7), + o1(0xE9), o1(0xEB), o1(0xED), o1(0xEE), + o1(0xF3), o1(0xF4), o1(0xF6), o1(0xF7), + o1(0xFA), o1(0xFC), o1(0xFD), UNDEF, }; static const BYTE_LOOKUP to_ISO_8859_2_C3 = { @@ -332,18 +273,19 @@ to_ISO_8859_2_C3 = { static const unsigned char to_ISO_8859_2_C4_offsets[64] = { - -1, -1, 0, 1, 2, 3, 4, 5, -1, -1, -1, -1, 6, 7, 8, 9, - 10, 11, -1, -1, -1, -1, -1, -1, 12, 13, 14, 15, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, -1, -1, 16, 17, -1, -1, 18, 19, -1, + 20, 20, 0, 1, 2, 3, 4, 5, 20, 20, 20, 20, 6, 7, 8, 9, + 10, 11, 20, 20, 20, 20, 20, 20, 12, 13, 14, 15, 20, 20, 20, 20, + 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, + 20, 20, 20, 20, 20, 20, 20, 20, 20, 16, 17, 20, 20, 18, 19, 20, }; static const struct byte_lookup* const -to_ISO_8859_2_C4_infos[20] = { - o1('\xC3'), o1('\xE3'), o1('\xA1'), o1('\xB1'), - o1('\xC6'), o1('\xE6'), o1('\xC8'), o1('\xE8'), - o1('\xCF'), o1('\xEF'), o1('\xD0'), o1('\xF0'), - o1('\xCA'), o1('\xEA'), o1('\xCC'), o1('\xEC'), - o1('\xC5'), o1('\xE5'), o1('\xA5'), o1('\xB5'), +to_ISO_8859_2_C4_infos[21] = { + o1(0xC3), o1(0xE3), o1(0xA1), o1(0xB1), + o1(0xC6), o1(0xE6), o1(0xC8), o1(0xE8), + o1(0xCF), o1(0xEF), o1(0xD0), o1(0xF0), + o1(0xCA), o1(0xEA), o1(0xCC), o1(0xEC), + o1(0xC5), o1(0xE5), o1(0xA5), o1(0xB5), + UNDEF, }; static const BYTE_LOOKUP to_ISO_8859_2_C4 = { @@ -353,21 +295,22 @@ to_ISO_8859_2_C4 = { static const unsigned char to_ISO_8859_2_C5_offsets[64] = { - -1, 0, 1, 2, 3, -1, -1, 4, 5, -1, -1, -1, -1, -1, -1, -1, - 6, 7, -1, -1, 8, 9, -1, -1, 10, 11, 12, 13, -1, -1, 14, 15, - 16, 17, 18, 19, 20, 21, -1, -1, -1, -1, -1, -1, -1, -1, 22, 23, - 24, 25, -1, -1, -1, -1, -1, -1, -1, 26, 27, 28, 29, 30, 31, -1, + 32, 0, 1, 2, 3, 32, 32, 4, 5, 32, 32, 32, 32, 32, 32, 32, + 6, 7, 32, 32, 8, 9, 32, 32, 10, 11, 12, 13, 32, 32, 14, 15, + 16, 17, 18, 19, 20, 21, 32, 32, 32, 32, 32, 32, 32, 32, 22, 23, + 24, 25, 32, 32, 32, 32, 32, 32, 32, 26, 27, 28, 29, 30, 31, 32, }; static const struct byte_lookup* const -to_ISO_8859_2_C5_infos[32] = { - o1('\xA3'), o1('\xB3'), o1('\xD1'), o1('\xF1'), - o1('\xD2'), o1('\xF2'), o1('\xD5'), o1('\xF5'), - o1('\xC0'), o1('\xE0'), o1('\xD8'), o1('\xF8'), - o1('\xA6'), o1('\xB6'), o1('\xAA'), o1('\xBA'), - o1('\xA9'), o1('\xB9'), o1('\xDE'), o1('\xFE'), - o1('\xAB'), o1('\xBB'), o1('\xD9'), o1('\xF9'), - o1('\xDB'), o1('\xFB'), o1('\xAC'), o1('\xBC'), - o1('\xAF'), o1('\xBF'), o1('\xAE'), o1('\xBE'), +to_ISO_8859_2_C5_infos[33] = { + o1(0xA3), o1(0xB3), o1(0xD1), o1(0xF1), + o1(0xD2), o1(0xF2), o1(0xD5), o1(0xF5), + o1(0xC0), o1(0xE0), o1(0xD8), o1(0xF8), + o1(0xA6), o1(0xB6), o1(0xAA), o1(0xBA), + o1(0xA9), o1(0xB9), o1(0xDE), o1(0xFE), + o1(0xAB), o1(0xBB), o1(0xD9), o1(0xF9), + o1(0xDB), o1(0xFB), o1(0xAC), o1(0xBC), + o1(0xAF), o1(0xBF), o1(0xAE), o1(0xBE), + UNDEF, }; static const BYTE_LOOKUP to_ISO_8859_2_C5 = { @@ -377,15 +320,15 @@ to_ISO_8859_2_C5 = { static const unsigned char to_ISO_8859_2_CB_offsets[64] = { - -1, -1, -1, -1, -1, -1, -1, 0, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, -1, 1, 2, -1, 3, -1, 4, -1, -1, - -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + 5, 5, 5, 5, 5, 5, 5, 0, 5, 5, 5, 5, 5, 5, 5, 5, + 5, 5, 5, 5, 5, 5, 5, 5, 1, 2, 5, 3, 5, 4, 5, 5, + 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, + 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, }; static const struct byte_lookup* const -to_ISO_8859_2_CB_infos[5] = { - o1('\xB7'), o1('\xA2'), o1('\xFF'), o1('\xB2'), - o1('\xBD'), +to_ISO_8859_2_CB_infos[6] = { + o1(0xB7), o1(0xA2), o1(0xFF), o1(0xB2), + o1(0xBD), UNDEF, }; static const BYTE_LOOKUP to_ISO_8859_2_CB = { @@ -395,6 +338,9 @@ to_ISO_8859_2_CB = { static const unsigned char to_ISO_8859_2_offsets[256] = { + /* used from to_ISO_8859_2 */ + /* used from to_ISO_8859_3 */ + /* used from to_ISO_8859_4 */ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, @@ -403,19 +349,21 @@ to_ISO_8859_2_offsets[256] = { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, 1, 2, 3, 4, -1, -1, -1, -1, -1, 5, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, + 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, + 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, + 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, + 6, 6, 1, 2, 3, 4, 6, 6, 6, 6, 6, 5, 6, 6, 6, 6, + 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, + 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, + 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, }; static const struct byte_lookup* const -to_ISO_8859_2_infos[6] = { - NOMAP, &to_ISO_8859_2_C2, &to_ISO_8859_2_C3, &to_ISO_8859_2_C4, +to_ISO_8859_2_infos[7] = { + NOMAP, &to_ISO_8859_2_C2, + &to_ISO_8859_2_C3, &to_ISO_8859_2_C4, &to_ISO_8859_2_C5, &to_ISO_8859_2_CB, + UNDEF, }; const BYTE_LOOKUP to_ISO_8859_2 = { @@ -435,76 +383,46 @@ from_ISO_8859_3_offsets[256] = { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, - 33, 34, 35, 36, 37, -1, 38, 39, 40, 41, 42, 43, 44, 45, -1, 46, - 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, -1, 61, - 62, 63, 64, -1, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, - -1, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, - 92, 93, 94, -1, 95, 96, 97, 98, 99,100,101,102,103,104,105,106, - -1,107,108,109,110,111,112,113, 114,115,116,117,118,119,120,121, -}; -static const struct byte_lookup* const -from_ISO_8859_3_infos[122] = { - NOMAP, o2('\xC2','\x80'), - o2('\xC2','\x81'), o2('\xC2','\x82'), - o2('\xC2','\x83'), o2('\xC2','\x84'), - o2('\xC2','\x85'), o2('\xC2','\x86'), - o2('\xC2','\x87'), o2('\xC2','\x88'), - o2('\xC2','\x89'), o2('\xC2','\x8A'), - o2('\xC2','\x8B'), o2('\xC2','\x8C'), - o2('\xC2','\x8D'), o2('\xC2','\x8E'), - o2('\xC2','\x8F'), o2('\xC2','\x90'), - o2('\xC2','\x91'), o2('\xC2','\x92'), - o2('\xC2','\x93'), o2('\xC2','\x94'), - o2('\xC2','\x95'), o2('\xC2','\x96'), - o2('\xC2','\x97'), o2('\xC2','\x98'), - o2('\xC2','\x99'), o2('\xC2','\x9A'), - o2('\xC2','\x9B'), o2('\xC2','\x9C'), - o2('\xC2','\x9D'), o2('\xC2','\x9E'), - o2('\xC2','\x9F'), o2('\xC2','\xA0'), - o2('\xC4','\xA6'), o2('\xCB','\x98'), - o2('\xC2','\xA3'), o2('\xC2','\xA4'), - o2('\xC4','\xA4'), o2('\xC2','\xA7'), - o2('\xC2','\xA8'), o2('\xC4','\xB0'), - o2('\xC5','\x9E'), o2('\xC4','\x9E'), - o2('\xC4','\xB4'), o2('\xC2','\xAD'), - o2('\xC5','\xBB'), o2('\xC2','\xB0'), - o2('\xC4','\xA7'), o2('\xC2','\xB2'), - o2('\xC2','\xB3'), o2('\xC2','\xB4'), - o2('\xC2','\xB5'), o2('\xC4','\xA5'), - o2('\xC2','\xB7'), o2('\xC2','\xB8'), - o2('\xC4','\xB1'), o2('\xC5','\x9F'), - o2('\xC4','\x9F'), o2('\xC4','\xB5'), - o2('\xC2','\xBD'), o2('\xC5','\xBC'), - o2('\xC3','\x80'), o2('\xC3','\x81'), - o2('\xC3','\x82'), o2('\xC3','\x84'), - o2('\xC4','\x8A'), o2('\xC4','\x88'), - o2('\xC3','\x87'), o2('\xC3','\x88'), - o2('\xC3','\x89'), o2('\xC3','\x8A'), - o2('\xC3','\x8B'), o2('\xC3','\x8C'), - o2('\xC3','\x8D'), o2('\xC3','\x8E'), - o2('\xC3','\x8F'), o2('\xC3','\x91'), - o2('\xC3','\x92'), o2('\xC3','\x93'), - o2('\xC3','\x94'), o2('\xC4','\xA0'), - o2('\xC3','\x96'), o2('\xC3','\x97'), - o2('\xC4','\x9C'), o2('\xC3','\x99'), - o2('\xC3','\x9A'), o2('\xC3','\x9B'), - o2('\xC3','\x9C'), o2('\xC5','\xAC'), - o2('\xC5','\x9C'), o2('\xC3','\x9F'), - o2('\xC3','\xA0'), o2('\xC3','\xA1'), - o2('\xC3','\xA2'), o2('\xC3','\xA4'), - o2('\xC4','\x8B'), o2('\xC4','\x89'), - o2('\xC3','\xA7'), o2('\xC3','\xA8'), - o2('\xC3','\xA9'), o2('\xC3','\xAA'), - o2('\xC3','\xAB'), o2('\xC3','\xAC'), - o2('\xC3','\xAD'), o2('\xC3','\xAE'), - o2('\xC3','\xAF'), o2('\xC3','\xB1'), - o2('\xC3','\xB2'), o2('\xC3','\xB3'), - o2('\xC3','\xB4'), o2('\xC4','\xA1'), - o2('\xC3','\xB6'), o2('\xC3','\xB7'), - o2('\xC4','\x9D'), o2('\xC3','\xB9'), - o2('\xC3','\xBA'), o2('\xC3','\xBB'), - o2('\xC3','\xBC'), o2('\xC5','\xAD'), - o2('\xC5','\x9D'), o2('\xCB','\x99'), + 33, 34, 35, 36, 37,122, 38, 39, 40, 41, 42, 43, 44, 45,122, 46, + 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60,122, 61, + 62, 63, 64,122, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, + 122, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, + 92, 93, 94,122, 95, 96, 97, 98, 99,100,101,102,103,104,105,106, + 122,107,108,109,110,111,112,113, 114,115,116,117,118,119,120,121, +}; +static const struct byte_lookup* const +from_ISO_8859_3_infos[123] = { + NOMAP, o2(0xC2,0x80), o2(0xC2,0x81), o2(0xC2,0x82), + o2(0xC2,0x83), o2(0xC2,0x84), o2(0xC2,0x85), o2(0xC2,0x86), + o2(0xC2,0x87), o2(0xC2,0x88), o2(0xC2,0x89), o2(0xC2,0x8A), + o2(0xC2,0x8B), o2(0xC2,0x8C), o2(0xC2,0x8D), o2(0xC2,0x8E), + o2(0xC2,0x8F), o2(0xC2,0x90), o2(0xC2,0x91), o2(0xC2,0x92), + o2(0xC2,0x93), o2(0xC2,0x94), o2(0xC2,0x95), o2(0xC2,0x96), + o2(0xC2,0x97), o2(0xC2,0x98), o2(0xC2,0x99), o2(0xC2,0x9A), + o2(0xC2,0x9B), o2(0xC2,0x9C), o2(0xC2,0x9D), o2(0xC2,0x9E), + o2(0xC2,0x9F), o2(0xC2,0xA0), o2(0xC4,0xA6), o2(0xCB,0x98), + o2(0xC2,0xA3), o2(0xC2,0xA4), o2(0xC4,0xA4), o2(0xC2,0xA7), + o2(0xC2,0xA8), o2(0xC4,0xB0), o2(0xC5,0x9E), o2(0xC4,0x9E), + o2(0xC4,0xB4), o2(0xC2,0xAD), o2(0xC5,0xBB), o2(0xC2,0xB0), + o2(0xC4,0xA7), o2(0xC2,0xB2), o2(0xC2,0xB3), o2(0xC2,0xB4), + o2(0xC2,0xB5), o2(0xC4,0xA5), o2(0xC2,0xB7), o2(0xC2,0xB8), + o2(0xC4,0xB1), o2(0xC5,0x9F), o2(0xC4,0x9F), o2(0xC4,0xB5), + o2(0xC2,0xBD), o2(0xC5,0xBC), o2(0xC3,0x80), o2(0xC3,0x81), + o2(0xC3,0x82), o2(0xC3,0x84), o2(0xC4,0x8A), o2(0xC4,0x88), + o2(0xC3,0x87), o2(0xC3,0x88), o2(0xC3,0x89), o2(0xC3,0x8A), + o2(0xC3,0x8B), o2(0xC3,0x8C), o2(0xC3,0x8D), o2(0xC3,0x8E), + o2(0xC3,0x8F), o2(0xC3,0x91), o2(0xC3,0x92), o2(0xC3,0x93), + o2(0xC3,0x94), o2(0xC4,0xA0), o2(0xC3,0x96), o2(0xC3,0x97), + o2(0xC4,0x9C), o2(0xC3,0x99), o2(0xC3,0x9A), o2(0xC3,0x9B), + o2(0xC3,0x9C), o2(0xC5,0xAC), o2(0xC5,0x9C), o2(0xC3,0x9F), + o2(0xC3,0xA0), o2(0xC3,0xA1), o2(0xC3,0xA2), o2(0xC3,0xA4), + o2(0xC4,0x8B), o2(0xC4,0x89), o2(0xC3,0xA7), o2(0xC3,0xA8), + o2(0xC3,0xA9), o2(0xC3,0xAA), o2(0xC3,0xAB), o2(0xC3,0xAC), + o2(0xC3,0xAD), o2(0xC3,0xAE), o2(0xC3,0xAF), o2(0xC3,0xB1), + o2(0xC3,0xB2), o2(0xC3,0xB3), o2(0xC3,0xB4), o2(0xC4,0xA1), + o2(0xC3,0xB6), o2(0xC3,0xB7), o2(0xC4,0x9D), o2(0xC3,0xB9), + o2(0xC3,0xBA), o2(0xC3,0xBB), o2(0xC3,0xBC), o2(0xC5,0xAD), + o2(0xC5,0x9D), o2(0xCB,0x99), UNDEF, }; const BYTE_LOOKUP from_ISO_8859_3 = { @@ -516,23 +434,23 @@ static const unsigned char to_ISO_8859_3_C2_offsets[64] = { 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, - 32, -1, -1, 33, 34, -1, -1, 35, 36, -1, -1, -1, -1, 37, -1, -1, - 38, -1, 39, 40, 41, 42, -1, 43, 44, -1, -1, -1, -1, 45, -1, -1, + 32, 46, 46, 33, 34, 46, 46, 35, 36, 46, 46, 46, 46, 37, 46, 46, + 38, 46, 39, 40, 41, 42, 46, 43, 44, 46, 46, 46, 46, 45, 46, 46, }; static const struct byte_lookup* const -to_ISO_8859_3_C2_infos[46] = { - o1('\x80'), o1('\x81'), o1('\x82'), o1('\x83'), - o1('\x84'), o1('\x85'), o1('\x86'), o1('\x87'), - o1('\x88'), o1('\x89'), o1('\x8A'), o1('\x8B'), - o1('\x8C'), o1('\x8D'), o1('\x8E'), o1('\x8F'), - o1('\x90'), o1('\x91'), o1('\x92'), o1('\x93'), - o1('\x94'), o1('\x95'), o1('\x96'), o1('\x97'), - o1('\x98'), o1('\x99'), o1('\x9A'), o1('\x9B'), - o1('\x9C'), o1('\x9D'), o1('\x9E'), o1('\x9F'), - o1('\xA0'), o1('\xA3'), o1('\xA4'), o1('\xA7'), - o1('\xA8'), o1('\xAD'), o1('\xB0'), o1('\xB2'), - o1('\xB3'), o1('\xB4'), o1('\xB5'), o1('\xB7'), - o1('\xB8'), o1('\xBD'), +to_ISO_8859_3_C2_infos[47] = { + o1(0x80), o1(0x81), o1(0x82), o1(0x83), + o1(0x84), o1(0x85), o1(0x86), o1(0x87), + o1(0x88), o1(0x89), o1(0x8A), o1(0x8B), + o1(0x8C), o1(0x8D), o1(0x8E), o1(0x8F), + o1(0x90), o1(0x91), o1(0x92), o1(0x93), + o1(0x94), o1(0x95), o1(0x96), o1(0x97), + o1(0x98), o1(0x99), o1(0x9A), o1(0x9B), + o1(0x9C), o1(0x9D), o1(0x9E), o1(0x9F), + o1(0xA0), o1(0xA3), o1(0xA4), o1(0xA7), + o1(0xA8), o1(0xAD), o1(0xB0), o1(0xB2), + o1(0xB3), o1(0xB4), o1(0xB5), o1(0xB7), + o1(0xB8), o1(0xBD), UNDEF, }; static const BYTE_LOOKUP to_ISO_8859_3_C2 = { @@ -542,25 +460,25 @@ to_ISO_8859_3_C2 = { static const unsigned char to_ISO_8859_3_C3_offsets[64] = { - 0, 1, 2, -1, 3, -1, -1, 4, 5, 6, 7, 8, 9, 10, 11, 12, - -1, 13, 14, 15, 16, -1, 17, 18, -1, 19, 20, 21, 22, -1, -1, 23, - 24, 25, 26, -1, 27, -1, -1, 28, 29, 30, 31, 32, 33, 34, 35, 36, - -1, 37, 38, 39, 40, -1, 41, 42, -1, 43, 44, 45, 46, -1, -1, -1, -}; -static const struct byte_lookup* const -to_ISO_8859_3_C3_infos[47] = { - o1('\xC0'), o1('\xC1'), o1('\xC2'), o1('\xC4'), - o1('\xC7'), o1('\xC8'), o1('\xC9'), o1('\xCA'), - o1('\xCB'), o1('\xCC'), o1('\xCD'), o1('\xCE'), - o1('\xCF'), o1('\xD1'), o1('\xD2'), o1('\xD3'), - o1('\xD4'), o1('\xD6'), o1('\xD7'), o1('\xD9'), - o1('\xDA'), o1('\xDB'), o1('\xDC'), o1('\xDF'), - o1('\xE0'), o1('\xE1'), o1('\xE2'), o1('\xE4'), - o1('\xE7'), o1('\xE8'), o1('\xE9'), o1('\xEA'), - o1('\xEB'), o1('\xEC'), o1('\xED'), o1('\xEE'), - o1('\xEF'), o1('\xF1'), o1('\xF2'), o1('\xF3'), - o1('\xF4'), o1('\xF6'), o1('\xF7'), o1('\xF9'), - o1('\xFA'), o1('\xFB'), o1('\xFC'), + 0, 1, 2, 47, 3, 47, 47, 4, 5, 6, 7, 8, 9, 10, 11, 12, + 47, 13, 14, 15, 16, 47, 17, 18, 47, 19, 20, 21, 22, 47, 47, 23, + 24, 25, 26, 47, 27, 47, 47, 28, 29, 30, 31, 32, 33, 34, 35, 36, + 47, 37, 38, 39, 40, 47, 41, 42, 47, 43, 44, 45, 46, 47, 47, 47, +}; +static const struct byte_lookup* const +to_ISO_8859_3_C3_infos[48] = { + o1(0xC0), o1(0xC1), o1(0xC2), o1(0xC4), + o1(0xC7), o1(0xC8), o1(0xC9), o1(0xCA), + o1(0xCB), o1(0xCC), o1(0xCD), o1(0xCE), + o1(0xCF), o1(0xD1), o1(0xD2), o1(0xD3), + o1(0xD4), o1(0xD6), o1(0xD7), o1(0xD9), + o1(0xDA), o1(0xDB), o1(0xDC), o1(0xDF), + o1(0xE0), o1(0xE1), o1(0xE2), o1(0xE4), + o1(0xE7), o1(0xE8), o1(0xE9), o1(0xEA), + o1(0xEB), o1(0xEC), o1(0xED), o1(0xEE), + o1(0xEF), o1(0xF1), o1(0xF2), o1(0xF3), + o1(0xF4), o1(0xF6), o1(0xF7), o1(0xF9), + o1(0xFA), o1(0xFB), o1(0xFC), UNDEF, }; static const BYTE_LOOKUP to_ISO_8859_3_C3 = { @@ -570,18 +488,18 @@ to_ISO_8859_3_C3 = { static const unsigned char to_ISO_8859_3_C4_offsets[64] = { - -1, -1, -1, -1, -1, -1, -1, -1, 0, 1, 2, 3, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 4, 5, 6, 7, - 8, 9, -1, -1, 10, 11, 12, 13, -1, -1, -1, -1, -1, -1, -1, -1, - 14, 15, -1, -1, 16, 17, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + 18, 18, 18, 18, 18, 18, 18, 18, 0, 1, 2, 3, 18, 18, 18, 18, + 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 4, 5, 6, 7, + 8, 9, 18, 18, 10, 11, 12, 13, 18, 18, 18, 18, 18, 18, 18, 18, + 14, 15, 18, 18, 16, 17, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, }; static const struct byte_lookup* const -to_ISO_8859_3_C4_infos[18] = { - o1('\xC6'), o1('\xE6'), o1('\xC5'), o1('\xE5'), - o1('\xD8'), o1('\xF8'), o1('\xAB'), o1('\xBB'), - o1('\xD5'), o1('\xF5'), o1('\xA6'), o1('\xB6'), - o1('\xA1'), o1('\xB1'), o1('\xA9'), o1('\xB9'), - o1('\xAC'), o1('\xBC'), +to_ISO_8859_3_C4_infos[19] = { + o1(0xC6), o1(0xE6), o1(0xC5), o1(0xE5), + o1(0xD8), o1(0xF8), o1(0xAB), o1(0xBB), + o1(0xD5), o1(0xF5), o1(0xA6), o1(0xB6), + o1(0xA1), o1(0xB1), o1(0xA9), o1(0xB9), + o1(0xAC), o1(0xBC), UNDEF, }; static const BYTE_LOOKUP to_ISO_8859_3_C4 = { @@ -591,15 +509,16 @@ to_ISO_8859_3_C4 = { static const unsigned char to_ISO_8859_3_C5_offsets[64] = { - -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 0, 1, 2, 3, - -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 4, 5, -1, -1, - -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 6, 7, -1, -1, -1, + 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, + 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 0, 1, 2, 3, + 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 4, 5, 8, 8, + 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 6, 7, 8, 8, 8, }; static const struct byte_lookup* const -to_ISO_8859_3_C5_infos[8] = { - o1('\xDE'), o1('\xFE'), o1('\xAA'), o1('\xBA'), - o1('\xDD'), o1('\xFD'), o1('\xAF'), o1('\xBF'), +to_ISO_8859_3_C5_infos[9] = { + o1(0xDE), o1(0xFE), o1(0xAA), o1(0xBA), + o1(0xDD), o1(0xFD), o1(0xAF), o1(0xBF), + UNDEF, }; static const BYTE_LOOKUP to_ISO_8859_3_C5 = { @@ -609,14 +528,14 @@ to_ISO_8859_3_C5 = { static const unsigned char to_ISO_8859_3_CB_offsets[64] = { - -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, -1, 0, 1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, + 2, 2, 2, 2, 2, 2, 2, 2, 0, 1, 2, 2, 2, 2, 2, 2, + 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, + 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, }; static const struct byte_lookup* const -to_ISO_8859_3_CB_infos[2] = { - o1('\xA2'), o1('\xFF'), +to_ISO_8859_3_CB_infos[3] = { + o1(0xA2), o1(0xFF), UNDEF, }; static const BYTE_LOOKUP to_ISO_8859_3_CB = { @@ -624,38 +543,24 @@ to_ISO_8859_3_CB = { to_ISO_8859_3_CB_infos }; -static const unsigned char -to_ISO_8859_3_offsets[256] = { - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, 1, 2, 3, 4, -1, -1, -1, -1, -1, 5, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -}; static const struct byte_lookup* const -to_ISO_8859_3_infos[6] = { - NOMAP, &to_ISO_8859_3_C2, &to_ISO_8859_3_C3, &to_ISO_8859_3_C4, +to_ISO_8859_3_infos[7] = { + NOMAP, &to_ISO_8859_3_C2, + &to_ISO_8859_3_C3, &to_ISO_8859_3_C4, &to_ISO_8859_3_C5, &to_ISO_8859_3_CB, + UNDEF, }; const BYTE_LOOKUP to_ISO_8859_3 = { - to_ISO_8859_3_offsets, + to_ISO_8859_2_offsets, to_ISO_8859_3_infos }; static const unsigned char -from_ISO_8859_4_offsets[256] = { +from_ISO_8859_13_offsets[256] = { + /* used from from_ISO_8859_13 */ + /* used from from_ISO_8859_14 */ + /* used from from_ISO_8859_4 */ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, @@ -675,75 +580,43 @@ from_ISO_8859_4_offsets[256] = { }; static const struct byte_lookup* const from_ISO_8859_4_infos[129] = { - NOMAP, o2('\xC2','\x80'), - o2('\xC2','\x81'), o2('\xC2','\x82'), - o2('\xC2','\x83'), o2('\xC2','\x84'), - o2('\xC2','\x85'), o2('\xC2','\x86'), - o2('\xC2','\x87'), o2('\xC2','\x88'), - o2('\xC2','\x89'), o2('\xC2','\x8A'), - o2('\xC2','\x8B'), o2('\xC2','\x8C'), - o2('\xC2','\x8D'), o2('\xC2','\x8E'), - o2('\xC2','\x8F'), o2('\xC2','\x90'), - o2('\xC2','\x91'), o2('\xC2','\x92'), - o2('\xC2','\x93'), o2('\xC2','\x94'), - o2('\xC2','\x95'), o2('\xC2','\x96'), - o2('\xC2','\x97'), o2('\xC2','\x98'), - o2('\xC2','\x99'), o2('\xC2','\x9A'), - o2('\xC2','\x9B'), o2('\xC2','\x9C'), - o2('\xC2','\x9D'), o2('\xC2','\x9E'), - o2('\xC2','\x9F'), o2('\xC2','\xA0'), - o2('\xC4','\x84'), o2('\xC4','\xB8'), - o2('\xC5','\x96'), o2('\xC2','\xA4'), - o2('\xC4','\xA8'), o2('\xC4','\xBB'), - o2('\xC2','\xA7'), o2('\xC2','\xA8'), - o2('\xC5','\xA0'), o2('\xC4','\x92'), - o2('\xC4','\xA2'), o2('\xC5','\xA6'), - o2('\xC2','\xAD'), o2('\xC5','\xBD'), - o2('\xC2','\xAF'), o2('\xC2','\xB0'), - o2('\xC4','\x85'), o2('\xCB','\x9B'), - o2('\xC5','\x97'), o2('\xC2','\xB4'), - o2('\xC4','\xA9'), o2('\xC4','\xBC'), - o2('\xCB','\x87'), o2('\xC2','\xB8'), - o2('\xC5','\xA1'), o2('\xC4','\x93'), - o2('\xC4','\xA3'), o2('\xC5','\xA7'), - o2('\xC5','\x8A'), o2('\xC5','\xBE'), - o2('\xC5','\x8B'), o2('\xC4','\x80'), - o2('\xC3','\x81'), o2('\xC3','\x82'), - o2('\xC3','\x83'), o2('\xC3','\x84'), - o2('\xC3','\x85'), o2('\xC3','\x86'), - o2('\xC4','\xAE'), o2('\xC4','\x8C'), - o2('\xC3','\x89'), o2('\xC4','\x98'), - o2('\xC3','\x8B'), o2('\xC4','\x96'), - o2('\xC3','\x8D'), o2('\xC3','\x8E'), - o2('\xC4','\xAA'), o2('\xC4','\x90'), - o2('\xC5','\x85'), o2('\xC5','\x8C'), - o2('\xC4','\xB6'), o2('\xC3','\x94'), - o2('\xC3','\x95'), o2('\xC3','\x96'), - o2('\xC3','\x97'), o2('\xC3','\x98'), - o2('\xC5','\xB2'), o2('\xC3','\x9A'), - o2('\xC3','\x9B'), o2('\xC3','\x9C'), - o2('\xC5','\xA8'), o2('\xC5','\xAA'), - o2('\xC3','\x9F'), o2('\xC4','\x81'), - o2('\xC3','\xA1'), o2('\xC3','\xA2'), - o2('\xC3','\xA3'), o2('\xC3','\xA4'), - o2('\xC3','\xA5'), o2('\xC3','\xA6'), - o2('\xC4','\xAF'), o2('\xC4','\x8D'), - o2('\xC3','\xA9'), o2('\xC4','\x99'), - o2('\xC3','\xAB'), o2('\xC4','\x97'), - o2('\xC3','\xAD'), o2('\xC3','\xAE'), - o2('\xC4','\xAB'), o2('\xC4','\x91'), - o2('\xC5','\x86'), o2('\xC5','\x8D'), - o2('\xC4','\xB7'), o2('\xC3','\xB4'), - o2('\xC3','\xB5'), o2('\xC3','\xB6'), - o2('\xC3','\xB7'), o2('\xC3','\xB8'), - o2('\xC5','\xB3'), o2('\xC3','\xBA'), - o2('\xC3','\xBB'), o2('\xC3','\xBC'), - o2('\xC5','\xA9'), o2('\xC5','\xAB'), - o2('\xCB','\x99'), + NOMAP, o2(0xC2,0x80), o2(0xC2,0x81), o2(0xC2,0x82), + o2(0xC2,0x83), o2(0xC2,0x84), o2(0xC2,0x85), o2(0xC2,0x86), + o2(0xC2,0x87), o2(0xC2,0x88), o2(0xC2,0x89), o2(0xC2,0x8A), + o2(0xC2,0x8B), o2(0xC2,0x8C), o2(0xC2,0x8D), o2(0xC2,0x8E), + o2(0xC2,0x8F), o2(0xC2,0x90), o2(0xC2,0x91), o2(0xC2,0x92), + o2(0xC2,0x93), o2(0xC2,0x94), o2(0xC2,0x95), o2(0xC2,0x96), + o2(0xC2,0x97), o2(0xC2,0x98), o2(0xC2,0x99), o2(0xC2,0x9A), + o2(0xC2,0x9B), o2(0xC2,0x9C), o2(0xC2,0x9D), o2(0xC2,0x9E), + o2(0xC2,0x9F), o2(0xC2,0xA0), o2(0xC4,0x84), o2(0xC4,0xB8), + o2(0xC5,0x96), o2(0xC2,0xA4), o2(0xC4,0xA8), o2(0xC4,0xBB), + o2(0xC2,0xA7), o2(0xC2,0xA8), o2(0xC5,0xA0), o2(0xC4,0x92), + o2(0xC4,0xA2), o2(0xC5,0xA6), o2(0xC2,0xAD), o2(0xC5,0xBD), + o2(0xC2,0xAF), o2(0xC2,0xB0), o2(0xC4,0x85), o2(0xCB,0x9B), + o2(0xC5,0x97), o2(0xC2,0xB4), o2(0xC4,0xA9), o2(0xC4,0xBC), + o2(0xCB,0x87), o2(0xC2,0xB8), o2(0xC5,0xA1), o2(0xC4,0x93), + o2(0xC4,0xA3), o2(0xC5,0xA7), o2(0xC5,0x8A), o2(0xC5,0xBE), + o2(0xC5,0x8B), o2(0xC4,0x80), o2(0xC3,0x81), o2(0xC3,0x82), + o2(0xC3,0x83), o2(0xC3,0x84), o2(0xC3,0x85), o2(0xC3,0x86), + o2(0xC4,0xAE), o2(0xC4,0x8C), o2(0xC3,0x89), o2(0xC4,0x98), + o2(0xC3,0x8B), o2(0xC4,0x96), o2(0xC3,0x8D), o2(0xC3,0x8E), + o2(0xC4,0xAA), o2(0xC4,0x90), o2(0xC5,0x85), o2(0xC5,0x8C), + o2(0xC4,0xB6), o2(0xC3,0x94), o2(0xC3,0x95), o2(0xC3,0x96), + o2(0xC3,0x97), o2(0xC3,0x98), o2(0xC5,0xB2), o2(0xC3,0x9A), + o2(0xC3,0x9B), o2(0xC3,0x9C), o2(0xC5,0xA8), o2(0xC5,0xAA), + o2(0xC3,0x9F), o2(0xC4,0x81), o2(0xC3,0xA1), o2(0xC3,0xA2), + o2(0xC3,0xA3), o2(0xC3,0xA4), o2(0xC3,0xA5), o2(0xC3,0xA6), + o2(0xC4,0xAF), o2(0xC4,0x8D), o2(0xC3,0xA9), o2(0xC4,0x99), + o2(0xC3,0xAB), o2(0xC4,0x97), o2(0xC3,0xAD), o2(0xC3,0xAE), + o2(0xC4,0xAB), o2(0xC4,0x91), o2(0xC5,0x86), o2(0xC5,0x8D), + o2(0xC4,0xB7), o2(0xC3,0xB4), o2(0xC3,0xB5), o2(0xC3,0xB6), + o2(0xC3,0xB7), o2(0xC3,0xB8), o2(0xC5,0xB3), o2(0xC3,0xBA), + o2(0xC3,0xBB), o2(0xC3,0xBC), o2(0xC5,0xA9), o2(0xC5,0xAB), + o2(0xCB,0x99), }; const BYTE_LOOKUP from_ISO_8859_4 = { - from_ISO_8859_4_offsets, + from_ISO_8859_13_offsets, from_ISO_8859_4_infos }; @@ -751,22 +624,22 @@ static const unsigned char to_ISO_8859_4_C2_offsets[64] = { 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, - 32, -1, -1, -1, 33, -1, -1, 34, 35, -1, -1, -1, -1, 36, -1, 37, - 38, -1, -1, -1, 39, -1, -1, -1, 40, -1, -1, -1, -1, -1, -1, -1, + 32, 41, 41, 41, 33, 41, 41, 34, 35, 41, 41, 41, 41, 36, 41, 37, + 38, 41, 41, 41, 39, 41, 41, 41, 40, 41, 41, 41, 41, 41, 41, 41, }; static const struct byte_lookup* const -to_ISO_8859_4_C2_infos[41] = { - o1('\x80'), o1('\x81'), o1('\x82'), o1('\x83'), - o1('\x84'), o1('\x85'), o1('\x86'), o1('\x87'), - o1('\x88'), o1('\x89'), o1('\x8A'), o1('\x8B'), - o1('\x8C'), o1('\x8D'), o1('\x8E'), o1('\x8F'), - o1('\x90'), o1('\x91'), o1('\x92'), o1('\x93'), - o1('\x94'), o1('\x95'), o1('\x96'), o1('\x97'), - o1('\x98'), o1('\x99'), o1('\x9A'), o1('\x9B'), - o1('\x9C'), o1('\x9D'), o1('\x9E'), o1('\x9F'), - o1('\xA0'), o1('\xA4'), o1('\xA7'), o1('\xA8'), - o1('\xAD'), o1('\xAF'), o1('\xB0'), o1('\xB4'), - o1('\xB8'), +to_ISO_8859_4_C2_infos[42] = { + o1(0x80), o1(0x81), o1(0x82), o1(0x83), + o1(0x84), o1(0x85), o1(0x86), o1(0x87), + o1(0x88), o1(0x89), o1(0x8A), o1(0x8B), + o1(0x8C), o1(0x8D), o1(0x8E), o1(0x8F), + o1(0x90), o1(0x91), o1(0x92), o1(0x93), + o1(0x94), o1(0x95), o1(0x96), o1(0x97), + o1(0x98), o1(0x99), o1(0x9A), o1(0x9B), + o1(0x9C), o1(0x9D), o1(0x9E), o1(0x9F), + o1(0xA0), o1(0xA4), o1(0xA7), o1(0xA8), + o1(0xAD), o1(0xAF), o1(0xB0), o1(0xB4), + o1(0xB8), UNDEF, }; static const BYTE_LOOKUP to_ISO_8859_4_C2 = { @@ -776,23 +649,23 @@ to_ISO_8859_4_C2 = { static const unsigned char to_ISO_8859_4_C3_offsets[64] = { - -1, 0, 1, 2, 3, 4, 5, -1, -1, 6, -1, 7, -1, 8, 9, -1, - -1, -1, -1, -1, 10, 11, 12, 13, 14, -1, 15, 16, 17, -1, -1, 18, - -1, 19, 20, 21, 22, 23, 24, -1, -1, 25, -1, 26, -1, 27, 28, -1, - -1, -1, -1, -1, 29, 30, 31, 32, 33, -1, 34, 35, 36, -1, -1, -1, + 37, 0, 1, 2, 3, 4, 5, 37, 37, 6, 37, 7, 37, 8, 9, 37, + 37, 37, 37, 37, 10, 11, 12, 13, 14, 37, 15, 16, 17, 37, 37, 18, + 37, 19, 20, 21, 22, 23, 24, 37, 37, 25, 37, 26, 37, 27, 28, 37, + 37, 37, 37, 37, 29, 30, 31, 32, 33, 37, 34, 35, 36, 37, 37, 37, }; static const struct byte_lookup* const -to_ISO_8859_4_C3_infos[37] = { - o1('\xC1'), o1('\xC2'), o1('\xC3'), o1('\xC4'), - o1('\xC5'), o1('\xC6'), o1('\xC9'), o1('\xCB'), - o1('\xCD'), o1('\xCE'), o1('\xD4'), o1('\xD5'), - o1('\xD6'), o1('\xD7'), o1('\xD8'), o1('\xDA'), - o1('\xDB'), o1('\xDC'), o1('\xDF'), o1('\xE1'), - o1('\xE2'), o1('\xE3'), o1('\xE4'), o1('\xE5'), - o1('\xE6'), o1('\xE9'), o1('\xEB'), o1('\xED'), - o1('\xEE'), o1('\xF4'), o1('\xF5'), o1('\xF6'), - o1('\xF7'), o1('\xF8'), o1('\xFA'), o1('\xFB'), - o1('\xFC'), +to_ISO_8859_4_C3_infos[38] = { + o1(0xC1), o1(0xC2), o1(0xC3), o1(0xC4), + o1(0xC5), o1(0xC6), o1(0xC9), o1(0xCB), + o1(0xCD), o1(0xCE), o1(0xD4), o1(0xD5), + o1(0xD6), o1(0xD7), o1(0xD8), o1(0xDA), + o1(0xDB), o1(0xDC), o1(0xDF), o1(0xE1), + o1(0xE2), o1(0xE3), o1(0xE4), o1(0xE5), + o1(0xE6), o1(0xE9), o1(0xEB), o1(0xED), + o1(0xEE), o1(0xF4), o1(0xF5), o1(0xF6), + o1(0xF7), o1(0xF8), o1(0xFA), o1(0xFB), + o1(0xFC), UNDEF, }; static const BYTE_LOOKUP to_ISO_8859_4_C3 = { @@ -801,42 +674,45 @@ to_ISO_8859_4_C3 = { }; static const unsigned char -to_ISO_8859_4_C4_offsets[64] = { - 0, 1, -1, -1, 2, 3, -1, -1, -1, -1, -1, -1, 4, 5, -1, -1, - 6, 7, 8, 9, -1, -1, 10, 11, 12, 13, -1, -1, -1, -1, -1, -1, - -1, -1, 14, 15, -1, -1, -1, -1, 16, 17, 18, 19, -1, -1, 20, 21, - -1, -1, -1, -1, -1, -1, 22, 23, 24, -1, -1, 25, 26, -1, -1, -1, +to_ISO_8859_10_C4_offsets[64] = { + /* used from to_ISO_8859_10_C4 */ + /* used from to_ISO_8859_4_C4 */ + 0, 1, 27, 27, 2, 3, 27, 27, 27, 27, 27, 27, 4, 5, 27, 27, + 6, 7, 8, 9, 27, 27, 10, 11, 12, 13, 27, 27, 27, 27, 27, 27, + 27, 27, 14, 15, 27, 27, 27, 27, 16, 17, 18, 19, 27, 27, 20, 21, + 27, 27, 27, 27, 27, 27, 22, 23, 24, 27, 27, 25, 26, 27, 27, 27, }; static const struct byte_lookup* const -to_ISO_8859_4_C4_infos[27] = { - o1('\xC0'), o1('\xE0'), o1('\xA1'), o1('\xB1'), - o1('\xC8'), o1('\xE8'), o1('\xD0'), o1('\xF0'), - o1('\xAA'), o1('\xBA'), o1('\xCC'), o1('\xEC'), - o1('\xCA'), o1('\xEA'), o1('\xAB'), o1('\xBB'), - o1('\xA5'), o1('\xB5'), o1('\xCF'), o1('\xEF'), - o1('\xC7'), o1('\xE7'), o1('\xD3'), o1('\xF3'), - o1('\xA2'), o1('\xA6'), o1('\xB6'), +to_ISO_8859_4_C4_infos[28] = { + o1(0xC0), o1(0xE0), o1(0xA1), o1(0xB1), + o1(0xC8), o1(0xE8), o1(0xD0), o1(0xF0), + o1(0xAA), o1(0xBA), o1(0xCC), o1(0xEC), + o1(0xCA), o1(0xEA), o1(0xAB), o1(0xBB), + o1(0xA5), o1(0xB5), o1(0xCF), o1(0xEF), + o1(0xC7), o1(0xE7), o1(0xD3), o1(0xF3), + o1(0xA2), o1(0xA6), o1(0xB6), UNDEF, }; static const BYTE_LOOKUP to_ISO_8859_4_C4 = { - to_ISO_8859_4_C4_offsets, + to_ISO_8859_10_C4_offsets, to_ISO_8859_4_C4_infos }; static const unsigned char to_ISO_8859_4_C5_offsets[64] = { - -1, -1, -1, -1, -1, 0, 1, -1, -1, -1, 2, 3, 4, 5, -1, -1, - -1, -1, -1, -1, -1, -1, 6, 7, -1, -1, -1, -1, -1, -1, -1, -1, - 8, 9, -1, -1, -1, -1, 10, 11, 12, 13, 14, 15, -1, -1, -1, -1, - -1, -1, 16, 17, -1, -1, -1, -1, -1, -1, -1, -1, -1, 18, 19, -1, + 20, 20, 20, 20, 20, 0, 1, 20, 20, 20, 2, 3, 4, 5, 20, 20, + 20, 20, 20, 20, 20, 20, 6, 7, 20, 20, 20, 20, 20, 20, 20, 20, + 8, 9, 20, 20, 20, 20, 10, 11, 12, 13, 14, 15, 20, 20, 20, 20, + 20, 20, 16, 17, 20, 20, 20, 20, 20, 20, 20, 20, 20, 18, 19, 20, }; static const struct byte_lookup* const -to_ISO_8859_4_C5_infos[20] = { - o1('\xD1'), o1('\xF1'), o1('\xBD'), o1('\xBF'), - o1('\xD2'), o1('\xF2'), o1('\xA3'), o1('\xB3'), - o1('\xA9'), o1('\xB9'), o1('\xAC'), o1('\xBC'), - o1('\xDD'), o1('\xFD'), o1('\xDE'), o1('\xFE'), - o1('\xD9'), o1('\xF9'), o1('\xAE'), o1('\xBE'), +to_ISO_8859_4_C5_infos[21] = { + o1(0xD1), o1(0xF1), o1(0xBD), o1(0xBF), + o1(0xD2), o1(0xF2), o1(0xA3), o1(0xB3), + o1(0xA9), o1(0xB9), o1(0xAC), o1(0xBC), + o1(0xDD), o1(0xFD), o1(0xDE), o1(0xFE), + o1(0xD9), o1(0xF9), o1(0xAE), o1(0xBE), + UNDEF, }; static const BYTE_LOOKUP to_ISO_8859_4_C5 = { @@ -846,14 +722,14 @@ to_ISO_8859_4_C5 = { static const unsigned char to_ISO_8859_4_CB_offsets[64] = { - -1, -1, -1, -1, -1, -1, -1, 0, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, -1, -1, 1, -1, 2, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + 3, 3, 3, 3, 3, 3, 3, 0, 3, 3, 3, 3, 3, 3, 3, 3, + 3, 3, 3, 3, 3, 3, 3, 3, 3, 1, 3, 2, 3, 3, 3, 3, + 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, + 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, }; static const struct byte_lookup* const -to_ISO_8859_4_CB_infos[3] = { - o1('\xB7'), o1('\xFF'), o1('\xB2'), +to_ISO_8859_4_CB_infos[4] = { + o1(0xB7), o1(0xFF), o1(0xB2), UNDEF, }; static const BYTE_LOOKUP to_ISO_8859_4_CB = { @@ -861,38 +737,23 @@ to_ISO_8859_4_CB = { to_ISO_8859_4_CB_infos }; -static const unsigned char -to_ISO_8859_4_offsets[256] = { - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, 1, 2, 3, 4, -1, -1, -1, -1, -1, 5, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -}; static const struct byte_lookup* const -to_ISO_8859_4_infos[6] = { - NOMAP, &to_ISO_8859_4_C2, &to_ISO_8859_4_C3, &to_ISO_8859_4_C4, +to_ISO_8859_4_infos[7] = { + NOMAP, &to_ISO_8859_4_C2, + &to_ISO_8859_4_C3, &to_ISO_8859_4_C4, &to_ISO_8859_4_C5, &to_ISO_8859_4_CB, + UNDEF, }; const BYTE_LOOKUP to_ISO_8859_4 = { - to_ISO_8859_4_offsets, + to_ISO_8859_2_offsets, to_ISO_8859_4_infos }; static const unsigned char -from_ISO_8859_5_offsets[256] = { +from_ISO_8859_10_offsets[256] = { + /* used from from_ISO_8859_10 */ + /* used from from_ISO_8859_5 */ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, @@ -912,75 +773,75 @@ from_ISO_8859_5_offsets[256] = { }; static const struct byte_lookup* const from_ISO_8859_5_infos[129] = { - NOMAP, o2('\xC2','\x80'), - o2('\xC2','\x81'), o2('\xC2','\x82'), - o2('\xC2','\x83'), o2('\xC2','\x84'), - o2('\xC2','\x85'), o2('\xC2','\x86'), - o2('\xC2','\x87'), o2('\xC2','\x88'), - o2('\xC2','\x89'), o2('\xC2','\x8A'), - o2('\xC2','\x8B'), o2('\xC2','\x8C'), - o2('\xC2','\x8D'), o2('\xC2','\x8E'), - o2('\xC2','\x8F'), o2('\xC2','\x90'), - o2('\xC2','\x91'), o2('\xC2','\x92'), - o2('\xC2','\x93'), o2('\xC2','\x94'), - o2('\xC2','\x95'), o2('\xC2','\x96'), - o2('\xC2','\x97'), o2('\xC2','\x98'), - o2('\xC2','\x99'), o2('\xC2','\x9A'), - o2('\xC2','\x9B'), o2('\xC2','\x9C'), - o2('\xC2','\x9D'), o2('\xC2','\x9E'), - o2('\xC2','\x9F'), o2('\xC2','\xA0'), - o2('\xD0','\x81'), o2('\xD0','\x82'), - o2('\xD0','\x83'), o2('\xD0','\x84'), - o2('\xD0','\x85'), o2('\xD0','\x86'), - o2('\xD0','\x87'), o2('\xD0','\x88'), - o2('\xD0','\x89'), o2('\xD0','\x8A'), - o2('\xD0','\x8B'), o2('\xD0','\x8C'), - o2('\xC2','\xAD'), o2('\xD0','\x8E'), - o2('\xD0','\x8F'), o2('\xD0','\x90'), - o2('\xD0','\x91'), o2('\xD0','\x92'), - o2('\xD0','\x93'), o2('\xD0','\x94'), - o2('\xD0','\x95'), o2('\xD0','\x96'), - o2('\xD0','\x97'), o2('\xD0','\x98'), - o2('\xD0','\x99'), o2('\xD0','\x9A'), - o2('\xD0','\x9B'), o2('\xD0','\x9C'), - o2('\xD0','\x9D'), o2('\xD0','\x9E'), - o2('\xD0','\x9F'), o2('\xD0','\xA0'), - o2('\xD0','\xA1'), o2('\xD0','\xA2'), - o2('\xD0','\xA3'), o2('\xD0','\xA4'), - o2('\xD0','\xA5'), o2('\xD0','\xA6'), - o2('\xD0','\xA7'), o2('\xD0','\xA8'), - o2('\xD0','\xA9'), o2('\xD0','\xAA'), - o2('\xD0','\xAB'), o2('\xD0','\xAC'), - o2('\xD0','\xAD'), o2('\xD0','\xAE'), - o2('\xD0','\xAF'), o2('\xD0','\xB0'), - o2('\xD0','\xB1'), o2('\xD0','\xB2'), - o2('\xD0','\xB3'), o2('\xD0','\xB4'), - o2('\xD0','\xB5'), o2('\xD0','\xB6'), - o2('\xD0','\xB7'), o2('\xD0','\xB8'), - o2('\xD0','\xB9'), o2('\xD0','\xBA'), - o2('\xD0','\xBB'), o2('\xD0','\xBC'), - o2('\xD0','\xBD'), o2('\xD0','\xBE'), - o2('\xD0','\xBF'), o2('\xD1','\x80'), - o2('\xD1','\x81'), o2('\xD1','\x82'), - o2('\xD1','\x83'), o2('\xD1','\x84'), - o2('\xD1','\x85'), o2('\xD1','\x86'), - o2('\xD1','\x87'), o2('\xD1','\x88'), - o2('\xD1','\x89'), o2('\xD1','\x8A'), - o2('\xD1','\x8B'), o2('\xD1','\x8C'), - o2('\xD1','\x8D'), o2('\xD1','\x8E'), - o2('\xD1','\x8F'), o3('\xE2','\x84','\x96'), - o2('\xD1','\x91'), o2('\xD1','\x92'), - o2('\xD1','\x93'), o2('\xD1','\x94'), - o2('\xD1','\x95'), o2('\xD1','\x96'), - o2('\xD1','\x97'), o2('\xD1','\x98'), - o2('\xD1','\x99'), o2('\xD1','\x9A'), - o2('\xD1','\x9B'), o2('\xD1','\x9C'), - o2('\xC2','\xA7'), o2('\xD1','\x9E'), - o2('\xD1','\x9F'), + NOMAP, o2(0xC2,0x80), + o2(0xC2,0x81), o2(0xC2,0x82), + o2(0xC2,0x83), o2(0xC2,0x84), + o2(0xC2,0x85), o2(0xC2,0x86), + o2(0xC2,0x87), o2(0xC2,0x88), + o2(0xC2,0x89), o2(0xC2,0x8A), + o2(0xC2,0x8B), o2(0xC2,0x8C), + o2(0xC2,0x8D), o2(0xC2,0x8E), + o2(0xC2,0x8F), o2(0xC2,0x90), + o2(0xC2,0x91), o2(0xC2,0x92), + o2(0xC2,0x93), o2(0xC2,0x94), + o2(0xC2,0x95), o2(0xC2,0x96), + o2(0xC2,0x97), o2(0xC2,0x98), + o2(0xC2,0x99), o2(0xC2,0x9A), + o2(0xC2,0x9B), o2(0xC2,0x9C), + o2(0xC2,0x9D), o2(0xC2,0x9E), + o2(0xC2,0x9F), o2(0xC2,0xA0), + o2(0xD0,0x81), o2(0xD0,0x82), + o2(0xD0,0x83), o2(0xD0,0x84), + o2(0xD0,0x85), o2(0xD0,0x86), + o2(0xD0,0x87), o2(0xD0,0x88), + o2(0xD0,0x89), o2(0xD0,0x8A), + o2(0xD0,0x8B), o2(0xD0,0x8C), + o2(0xC2,0xAD), o2(0xD0,0x8E), + o2(0xD0,0x8F), o2(0xD0,0x90), + o2(0xD0,0x91), o2(0xD0,0x92), + o2(0xD0,0x93), o2(0xD0,0x94), + o2(0xD0,0x95), o2(0xD0,0x96), + o2(0xD0,0x97), o2(0xD0,0x98), + o2(0xD0,0x99), o2(0xD0,0x9A), + o2(0xD0,0x9B), o2(0xD0,0x9C), + o2(0xD0,0x9D), o2(0xD0,0x9E), + o2(0xD0,0x9F), o2(0xD0,0xA0), + o2(0xD0,0xA1), o2(0xD0,0xA2), + o2(0xD0,0xA3), o2(0xD0,0xA4), + o2(0xD0,0xA5), o2(0xD0,0xA6), + o2(0xD0,0xA7), o2(0xD0,0xA8), + o2(0xD0,0xA9), o2(0xD0,0xAA), + o2(0xD0,0xAB), o2(0xD0,0xAC), + o2(0xD0,0xAD), o2(0xD0,0xAE), + o2(0xD0,0xAF), o2(0xD0,0xB0), + o2(0xD0,0xB1), o2(0xD0,0xB2), + o2(0xD0,0xB3), o2(0xD0,0xB4), + o2(0xD0,0xB5), o2(0xD0,0xB6), + o2(0xD0,0xB7), o2(0xD0,0xB8), + o2(0xD0,0xB9), o2(0xD0,0xBA), + o2(0xD0,0xBB), o2(0xD0,0xBC), + o2(0xD0,0xBD), o2(0xD0,0xBE), + o2(0xD0,0xBF), o2(0xD1,0x80), + o2(0xD1,0x81), o2(0xD1,0x82), + o2(0xD1,0x83), o2(0xD1,0x84), + o2(0xD1,0x85), o2(0xD1,0x86), + o2(0xD1,0x87), o2(0xD1,0x88), + o2(0xD1,0x89), o2(0xD1,0x8A), + o2(0xD1,0x8B), o2(0xD1,0x8C), + o2(0xD1,0x8D), o2(0xD1,0x8E), + o2(0xD1,0x8F), o3(0xE2,0x84,0x96), + o2(0xD1,0x91), o2(0xD1,0x92), + o2(0xD1,0x93), o2(0xD1,0x94), + o2(0xD1,0x95), o2(0xD1,0x96), + o2(0xD1,0x97), o2(0xD1,0x98), + o2(0xD1,0x99), o2(0xD1,0x9A), + o2(0xD1,0x9B), o2(0xD1,0x9C), + o2(0xC2,0xA7), o2(0xD1,0x9E), + o2(0xD1,0x9F), }; const BYTE_LOOKUP from_ISO_8859_5 = { - from_ISO_8859_5_offsets, + from_ISO_8859_10_offsets, from_ISO_8859_5_infos }; @@ -988,20 +849,20 @@ static const unsigned char to_ISO_8859_5_C2_offsets[64] = { 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, - 32, -1, -1, -1, -1, -1, -1, 33, -1, -1, -1, -1, -1, 34, -1, -1, - -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + 32, 35, 35, 35, 35, 35, 35, 33, 35, 35, 35, 35, 35, 34, 35, 35, + 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, }; static const struct byte_lookup* const -to_ISO_8859_5_C2_infos[35] = { - o1('\x80'), o1('\x81'), o1('\x82'), o1('\x83'), - o1('\x84'), o1('\x85'), o1('\x86'), o1('\x87'), - o1('\x88'), o1('\x89'), o1('\x8A'), o1('\x8B'), - o1('\x8C'), o1('\x8D'), o1('\x8E'), o1('\x8F'), - o1('\x90'), o1('\x91'), o1('\x92'), o1('\x93'), - o1('\x94'), o1('\x95'), o1('\x96'), o1('\x97'), - o1('\x98'), o1('\x99'), o1('\x9A'), o1('\x9B'), - o1('\x9C'), o1('\x9D'), o1('\x9E'), o1('\x9F'), - o1('\xA0'), o1('\xFD'), o1('\xAD'), +to_ISO_8859_5_C2_infos[36] = { + o1(0x80), o1(0x81), o1(0x82), o1(0x83), + o1(0x84), o1(0x85), o1(0x86), o1(0x87), + o1(0x88), o1(0x89), o1(0x8A), o1(0x8B), + o1(0x8C), o1(0x8D), o1(0x8E), o1(0x8F), + o1(0x90), o1(0x91), o1(0x92), o1(0x93), + o1(0x94), o1(0x95), o1(0x96), o1(0x97), + o1(0x98), o1(0x99), o1(0x9A), o1(0x9B), + o1(0x9C), o1(0x9D), o1(0x9E), o1(0x9F), + o1(0xA0), o1(0xFD), o1(0xAD), UNDEF, }; static const BYTE_LOOKUP to_ISO_8859_5_C2 = { @@ -1011,29 +872,29 @@ to_ISO_8859_5_C2 = { static const unsigned char to_ISO_8859_5_D0_offsets[64] = { - -1, 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, -1, 12, 13, + 62, 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 62, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, }; static const struct byte_lookup* const -to_ISO_8859_5_D0_infos[62] = { - o1('\xA1'), o1('\xA2'), o1('\xA3'), o1('\xA4'), - o1('\xA5'), o1('\xA6'), o1('\xA7'), o1('\xA8'), - o1('\xA9'), o1('\xAA'), o1('\xAB'), o1('\xAC'), - o1('\xAE'), o1('\xAF'), o1('\xB0'), o1('\xB1'), - o1('\xB2'), o1('\xB3'), o1('\xB4'), o1('\xB5'), - o1('\xB6'), o1('\xB7'), o1('\xB8'), o1('\xB9'), - o1('\xBA'), o1('\xBB'), o1('\xBC'), o1('\xBD'), - o1('\xBE'), o1('\xBF'), o1('\xC0'), o1('\xC1'), - o1('\xC2'), o1('\xC3'), o1('\xC4'), o1('\xC5'), - o1('\xC6'), o1('\xC7'), o1('\xC8'), o1('\xC9'), - o1('\xCA'), o1('\xCB'), o1('\xCC'), o1('\xCD'), - o1('\xCE'), o1('\xCF'), o1('\xD0'), o1('\xD1'), - o1('\xD2'), o1('\xD3'), o1('\xD4'), o1('\xD5'), - o1('\xD6'), o1('\xD7'), o1('\xD8'), o1('\xD9'), - o1('\xDA'), o1('\xDB'), o1('\xDC'), o1('\xDD'), - o1('\xDE'), o1('\xDF'), +to_ISO_8859_5_D0_infos[63] = { + o1(0xA1), o1(0xA2), o1(0xA3), o1(0xA4), + o1(0xA5), o1(0xA6), o1(0xA7), o1(0xA8), + o1(0xA9), o1(0xAA), o1(0xAB), o1(0xAC), + o1(0xAE), o1(0xAF), o1(0xB0), o1(0xB1), + o1(0xB2), o1(0xB3), o1(0xB4), o1(0xB5), + o1(0xB6), o1(0xB7), o1(0xB8), o1(0xB9), + o1(0xBA), o1(0xBB), o1(0xBC), o1(0xBD), + o1(0xBE), o1(0xBF), o1(0xC0), o1(0xC1), + o1(0xC2), o1(0xC3), o1(0xC4), o1(0xC5), + o1(0xC6), o1(0xC7), o1(0xC8), o1(0xC9), + o1(0xCA), o1(0xCB), o1(0xCC), o1(0xCD), + o1(0xCE), o1(0xCF), o1(0xD0), o1(0xD1), + o1(0xD2), o1(0xD3), o1(0xD4), o1(0xD5), + o1(0xD6), o1(0xD7), o1(0xD8), o1(0xD9), + o1(0xDA), o1(0xDB), o1(0xDC), o1(0xDD), + o1(0xDE), o1(0xDF), UNDEF, }; static const BYTE_LOOKUP to_ISO_8859_5_D0 = { @@ -1044,20 +905,20 @@ to_ISO_8859_5_D0 = { static const unsigned char to_ISO_8859_5_D1_offsets[64] = { 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, - -1, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, -1, 28, 29, - -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + 30, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 30, 28, 29, + 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, + 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, }; static const struct byte_lookup* const -to_ISO_8859_5_D1_infos[30] = { - o1('\xE0'), o1('\xE1'), o1('\xE2'), o1('\xE3'), - o1('\xE4'), o1('\xE5'), o1('\xE6'), o1('\xE7'), - o1('\xE8'), o1('\xE9'), o1('\xEA'), o1('\xEB'), - o1('\xEC'), o1('\xED'), o1('\xEE'), o1('\xEF'), - o1('\xF1'), o1('\xF2'), o1('\xF3'), o1('\xF4'), - o1('\xF5'), o1('\xF6'), o1('\xF7'), o1('\xF8'), - o1('\xF9'), o1('\xFA'), o1('\xFB'), o1('\xFC'), - o1('\xFE'), o1('\xFF'), +to_ISO_8859_5_D1_infos[31] = { + o1(0xE0), o1(0xE1), o1(0xE2), o1(0xE3), + o1(0xE4), o1(0xE5), o1(0xE6), o1(0xE7), + o1(0xE8), o1(0xE9), o1(0xEA), o1(0xEB), + o1(0xEC), o1(0xED), o1(0xEE), o1(0xEF), + o1(0xF1), o1(0xF2), o1(0xF3), o1(0xF4), + o1(0xF5), o1(0xF6), o1(0xF7), o1(0xF8), + o1(0xF9), o1(0xFA), o1(0xFB), o1(0xFC), + o1(0xFE), o1(0xFF), UNDEF, }; static const BYTE_LOOKUP to_ISO_8859_5_D1 = { @@ -1067,14 +928,14 @@ to_ISO_8859_5_D1 = { static const unsigned char to_ISO_8859_5_E2_84_offsets[64] = { - -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, 0, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, + 1, 1, 1, 1, 1, 1, 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, + 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, + 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, }; static const struct byte_lookup* const -to_ISO_8859_5_E2_84_infos[1] = { - o1('\xF0'), +to_ISO_8859_5_E2_84_infos[2] = { + o1(0xF0), UNDEF, }; static const BYTE_LOOKUP to_ISO_8859_5_E2_84 = { @@ -1084,14 +945,14 @@ to_ISO_8859_5_E2_84 = { static const unsigned char to_ISO_8859_5_E2_offsets[64] = { - -1, -1, -1, -1, 0, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + 1, 1, 1, 1, 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, + 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, + 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, + 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, }; static const struct byte_lookup* const -to_ISO_8859_5_E2_infos[1] = { - &to_ISO_8859_5_E2_84, +to_ISO_8859_5_E2_infos[2] = { + &to_ISO_8859_5_E2_84, UNDEF, }; static const BYTE_LOOKUP to_ISO_8859_5_E2 = { @@ -1109,19 +970,20 @@ to_ISO_8859_5_offsets[256] = { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, 1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - 2, 3, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, 4, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, + 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, + 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, + 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, + 5, 5, 1, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, + 2, 3, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, + 5, 5, 4, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, + 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, }; static const struct byte_lookup* const -to_ISO_8859_5_infos[5] = { - NOMAP, &to_ISO_8859_5_C2, &to_ISO_8859_5_D0, &to_ISO_8859_5_D1, - &to_ISO_8859_5_E2, +to_ISO_8859_5_infos[6] = { + NOMAP, &to_ISO_8859_5_C2, + &to_ISO_8859_5_D0, &to_ISO_8859_5_D1, + &to_ISO_8859_5_E2, UNDEF, }; const BYTE_LOOKUP to_ISO_8859_5 = { @@ -1141,57 +1003,37 @@ from_ISO_8859_6_offsets[256] = { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, - 33, -1, -1, -1, 34, -1, -1, -1, -1, -1, -1, -1, 35, 36, -1, -1, - -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 37, -1, -1, -1, 38, - -1, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, - 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, -1, -1, -1, -1, -1, + 33, 84, 84, 84, 34, 84, 84, 84, 84, 84, 84, 84, 35, 36, 84, 84, + 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 37, 84, 84, 84, 38, + 84, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, + 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 84, 84, 84, 84, 84, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, - 81, 82, 83, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -}; -static const struct byte_lookup* const -from_ISO_8859_6_infos[84] = { - NOMAP, o2('\xC2','\x80'), - o2('\xC2','\x81'), o2('\xC2','\x82'), - o2('\xC2','\x83'), o2('\xC2','\x84'), - o2('\xC2','\x85'), o2('\xC2','\x86'), - o2('\xC2','\x87'), o2('\xC2','\x88'), - o2('\xC2','\x89'), o2('\xC2','\x8A'), - o2('\xC2','\x8B'), o2('\xC2','\x8C'), - o2('\xC2','\x8D'), o2('\xC2','\x8E'), - o2('\xC2','\x8F'), o2('\xC2','\x90'), - o2('\xC2','\x91'), o2('\xC2','\x92'), - o2('\xC2','\x93'), o2('\xC2','\x94'), - o2('\xC2','\x95'), o2('\xC2','\x96'), - o2('\xC2','\x97'), o2('\xC2','\x98'), - o2('\xC2','\x99'), o2('\xC2','\x9A'), - o2('\xC2','\x9B'), o2('\xC2','\x9C'), - o2('\xC2','\x9D'), o2('\xC2','\x9E'), - o2('\xC2','\x9F'), o2('\xC2','\xA0'), - o2('\xC2','\xA4'), o2('\xD8','\x8C'), - o2('\xC2','\xAD'), o2('\xD8','\x9B'), - o2('\xD8','\x9F'), o2('\xD8','\xA1'), - o2('\xD8','\xA2'), o2('\xD8','\xA3'), - o2('\xD8','\xA4'), o2('\xD8','\xA5'), - o2('\xD8','\xA6'), o2('\xD8','\xA7'), - o2('\xD8','\xA8'), o2('\xD8','\xA9'), - o2('\xD8','\xAA'), o2('\xD8','\xAB'), - o2('\xD8','\xAC'), o2('\xD8','\xAD'), - o2('\xD8','\xAE'), o2('\xD8','\xAF'), - o2('\xD8','\xB0'), o2('\xD8','\xB1'), - o2('\xD8','\xB2'), o2('\xD8','\xB3'), - o2('\xD8','\xB4'), o2('\xD8','\xB5'), - o2('\xD8','\xB6'), o2('\xD8','\xB7'), - o2('\xD8','\xB8'), o2('\xD8','\xB9'), - o2('\xD8','\xBA'), o2('\xD9','\x80'), - o2('\xD9','\x81'), o2('\xD9','\x82'), - o2('\xD9','\x83'), o2('\xD9','\x84'), - o2('\xD9','\x85'), o2('\xD9','\x86'), - o2('\xD9','\x87'), o2('\xD9','\x88'), - o2('\xD9','\x89'), o2('\xD9','\x8A'), - o2('\xD9','\x8B'), o2('\xD9','\x8C'), - o2('\xD9','\x8D'), o2('\xD9','\x8E'), - o2('\xD9','\x8F'), o2('\xD9','\x90'), - o2('\xD9','\x91'), o2('\xD9','\x92'), + 81, 82, 83, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, +}; +static const struct byte_lookup* const +from_ISO_8859_6_infos[85] = { + NOMAP, o2(0xC2,0x80), o2(0xC2,0x81), o2(0xC2,0x82), + o2(0xC2,0x83), o2(0xC2,0x84), o2(0xC2,0x85), o2(0xC2,0x86), + o2(0xC2,0x87), o2(0xC2,0x88), o2(0xC2,0x89), o2(0xC2,0x8A), + o2(0xC2,0x8B), o2(0xC2,0x8C), o2(0xC2,0x8D), o2(0xC2,0x8E), + o2(0xC2,0x8F), o2(0xC2,0x90), o2(0xC2,0x91), o2(0xC2,0x92), + o2(0xC2,0x93), o2(0xC2,0x94), o2(0xC2,0x95), o2(0xC2,0x96), + o2(0xC2,0x97), o2(0xC2,0x98), o2(0xC2,0x99), o2(0xC2,0x9A), + o2(0xC2,0x9B), o2(0xC2,0x9C), o2(0xC2,0x9D), o2(0xC2,0x9E), + o2(0xC2,0x9F), o2(0xC2,0xA0), o2(0xC2,0xA4), o2(0xD8,0x8C), + o2(0xC2,0xAD), o2(0xD8,0x9B), o2(0xD8,0x9F), o2(0xD8,0xA1), + o2(0xD8,0xA2), o2(0xD8,0xA3), o2(0xD8,0xA4), o2(0xD8,0xA5), + o2(0xD8,0xA6), o2(0xD8,0xA7), o2(0xD8,0xA8), o2(0xD8,0xA9), + o2(0xD8,0xAA), o2(0xD8,0xAB), o2(0xD8,0xAC), o2(0xD8,0xAD), + o2(0xD8,0xAE), o2(0xD8,0xAF), o2(0xD8,0xB0), o2(0xD8,0xB1), + o2(0xD8,0xB2), o2(0xD8,0xB3), o2(0xD8,0xB4), o2(0xD8,0xB5), + o2(0xD8,0xB6), o2(0xD8,0xB7), o2(0xD8,0xB8), o2(0xD8,0xB9), + o2(0xD8,0xBA), o2(0xD9,0x80), o2(0xD9,0x81), o2(0xD9,0x82), + o2(0xD9,0x83), o2(0xD9,0x84), o2(0xD9,0x85), o2(0xD9,0x86), + o2(0xD9,0x87), o2(0xD9,0x88), o2(0xD9,0x89), o2(0xD9,0x8A), + o2(0xD9,0x8B), o2(0xD9,0x8C), o2(0xD9,0x8D), o2(0xD9,0x8E), + o2(0xD9,0x8F), o2(0xD9,0x90), o2(0xD9,0x91), o2(0xD9,0x92), + UNDEF, }; const BYTE_LOOKUP from_ISO_8859_6 = { @@ -1203,20 +1045,20 @@ static const unsigned char to_ISO_8859_6_C2_offsets[64] = { 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, - 32, -1, -1, -1, 33, -1, -1, -1, -1, -1, -1, -1, -1, 34, -1, -1, - -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + 32, 35, 35, 35, 33, 35, 35, 35, 35, 35, 35, 35, 35, 34, 35, 35, + 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, 35, }; static const struct byte_lookup* const -to_ISO_8859_6_C2_infos[35] = { - o1('\x80'), o1('\x81'), o1('\x82'), o1('\x83'), - o1('\x84'), o1('\x85'), o1('\x86'), o1('\x87'), - o1('\x88'), o1('\x89'), o1('\x8A'), o1('\x8B'), - o1('\x8C'), o1('\x8D'), o1('\x8E'), o1('\x8F'), - o1('\x90'), o1('\x91'), o1('\x92'), o1('\x93'), - o1('\x94'), o1('\x95'), o1('\x96'), o1('\x97'), - o1('\x98'), o1('\x99'), o1('\x9A'), o1('\x9B'), - o1('\x9C'), o1('\x9D'), o1('\x9E'), o1('\x9F'), - o1('\xA0'), o1('\xA4'), o1('\xAD'), +to_ISO_8859_6_C2_infos[36] = { + o1(0x80), o1(0x81), o1(0x82), o1(0x83), + o1(0x84), o1(0x85), o1(0x86), o1(0x87), + o1(0x88), o1(0x89), o1(0x8A), o1(0x8B), + o1(0x8C), o1(0x8D), o1(0x8E), o1(0x8F), + o1(0x90), o1(0x91), o1(0x92), o1(0x93), + o1(0x94), o1(0x95), o1(0x96), o1(0x97), + o1(0x98), o1(0x99), o1(0x9A), o1(0x9B), + o1(0x9C), o1(0x9D), o1(0x9E), o1(0x9F), + o1(0xA0), o1(0xA4), o1(0xAD), UNDEF, }; static const BYTE_LOOKUP to_ISO_8859_6_C2 = { @@ -1226,21 +1068,21 @@ to_ISO_8859_6_C2 = { static const unsigned char to_ISO_8859_6_D8_offsets[64] = { - -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 0, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 1, -1, -1, -1, 2, - -1, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, - 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, -1, -1, -1, -1, -1, + 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 0, 29, 29, 29, + 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 1, 29, 29, 29, 2, + 29, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, + 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 29, 29, 29, 29, }; static const struct byte_lookup* const -to_ISO_8859_6_D8_infos[29] = { - o1('\xAC'), o1('\xBB'), o1('\xBF'), o1('\xC1'), - o1('\xC2'), o1('\xC3'), o1('\xC4'), o1('\xC5'), - o1('\xC6'), o1('\xC7'), o1('\xC8'), o1('\xC9'), - o1('\xCA'), o1('\xCB'), o1('\xCC'), o1('\xCD'), - o1('\xCE'), o1('\xCF'), o1('\xD0'), o1('\xD1'), - o1('\xD2'), o1('\xD3'), o1('\xD4'), o1('\xD5'), - o1('\xD6'), o1('\xD7'), o1('\xD8'), o1('\xD9'), - o1('\xDA'), +to_ISO_8859_6_D8_infos[30] = { + o1(0xAC), o1(0xBB), o1(0xBF), o1(0xC1), + o1(0xC2), o1(0xC3), o1(0xC4), o1(0xC5), + o1(0xC6), o1(0xC7), o1(0xC8), o1(0xC9), + o1(0xCA), o1(0xCB), o1(0xCC), o1(0xCD), + o1(0xCE), o1(0xCF), o1(0xD0), o1(0xD1), + o1(0xD2), o1(0xD3), o1(0xD4), o1(0xD5), + o1(0xD6), o1(0xD7), o1(0xD8), o1(0xD9), + o1(0xDA), UNDEF, }; static const BYTE_LOOKUP to_ISO_8859_6_D8 = { @@ -1251,17 +1093,17 @@ to_ISO_8859_6_D8 = { static const unsigned char to_ISO_8859_6_D9_offsets[64] = { 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, - 16, 17, 18, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + 16, 17, 18, 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, + 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, + 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, }; static const struct byte_lookup* const -to_ISO_8859_6_D9_infos[19] = { - o1('\xE0'), o1('\xE1'), o1('\xE2'), o1('\xE3'), - o1('\xE4'), o1('\xE5'), o1('\xE6'), o1('\xE7'), - o1('\xE8'), o1('\xE9'), o1('\xEA'), o1('\xEB'), - o1('\xEC'), o1('\xED'), o1('\xEE'), o1('\xEF'), - o1('\xF0'), o1('\xF1'), o1('\xF2'), +to_ISO_8859_6_D9_infos[20] = { + o1(0xE0), o1(0xE1), o1(0xE2), o1(0xE3), + o1(0xE4), o1(0xE5), o1(0xE6), o1(0xE7), + o1(0xE8), o1(0xE9), o1(0xEA), o1(0xEB), + o1(0xEC), o1(0xED), o1(0xEE), o1(0xEF), + o1(0xF0), o1(0xF1), o1(0xF2), UNDEF, }; static const BYTE_LOOKUP to_ISO_8859_6_D9 = { @@ -1279,18 +1121,20 @@ to_ISO_8859_6_offsets[256] = { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, 1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, -1, 2, 3, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, + 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, + 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, + 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, + 4, 4, 1, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, + 4, 4, 4, 4, 4, 4, 4, 4, 2, 3, 4, 4, 4, 4, 4, 4, + 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, + 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, }; static const struct byte_lookup* const -to_ISO_8859_6_infos[4] = { - NOMAP, &to_ISO_8859_6_C2, &to_ISO_8859_6_D8, &to_ISO_8859_6_D9, +to_ISO_8859_6_infos[5] = { + NOMAP, &to_ISO_8859_6_C2, + &to_ISO_8859_6_D8, &to_ISO_8859_6_D9, + UNDEF, }; const BYTE_LOOKUP to_ISO_8859_6 = { @@ -1310,78 +1154,79 @@ from_ISO_8859_7_offsets[256] = { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, - 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, -1, 47, + 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46,126, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, - 80, 81, -1, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, + 80, 81,126, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99,100,101,102, 103,104,105,106,107,108,109,110, - 111,112,113,114,115,116,117,118, 119,120,121,122,123,124,125, -1, -}; -static const struct byte_lookup* const -from_ISO_8859_7_infos[126] = { - NOMAP, o2('\xC2','\x80'), - o2('\xC2','\x81'), o2('\xC2','\x82'), - o2('\xC2','\x83'), o2('\xC2','\x84'), - o2('\xC2','\x85'), o2('\xC2','\x86'), - o2('\xC2','\x87'), o2('\xC2','\x88'), - o2('\xC2','\x89'), o2('\xC2','\x8A'), - o2('\xC2','\x8B'), o2('\xC2','\x8C'), - o2('\xC2','\x8D'), o2('\xC2','\x8E'), - o2('\xC2','\x8F'), o2('\xC2','\x90'), - o2('\xC2','\x91'), o2('\xC2','\x92'), - o2('\xC2','\x93'), o2('\xC2','\x94'), - o2('\xC2','\x95'), o2('\xC2','\x96'), - o2('\xC2','\x97'), o2('\xC2','\x98'), - o2('\xC2','\x99'), o2('\xC2','\x9A'), - o2('\xC2','\x9B'), o2('\xC2','\x9C'), - o2('\xC2','\x9D'), o2('\xC2','\x9E'), - o2('\xC2','\x9F'), o2('\xC2','\xA0'), - o3('\xE2','\x80','\x98'), o3('\xE2','\x80','\x99'), - o2('\xC2','\xA3'), o3('\xE2','\x82','\xAC'), - o3('\xE2','\x82','\xAF'), o2('\xC2','\xA6'), - o2('\xC2','\xA7'), o2('\xC2','\xA8'), - o2('\xC2','\xA9'), o2('\xCD','\xBA'), - o2('\xC2','\xAB'), o2('\xC2','\xAC'), - o2('\xC2','\xAD'), o3('\xE2','\x80','\x95'), - o2('\xC2','\xB0'), o2('\xC2','\xB1'), - o2('\xC2','\xB2'), o2('\xC2','\xB3'), - o2('\xCE','\x84'), o2('\xCE','\x85'), - o2('\xCE','\x86'), o2('\xC2','\xB7'), - o2('\xCE','\x88'), o2('\xCE','\x89'), - o2('\xCE','\x8A'), o2('\xC2','\xBB'), - o2('\xCE','\x8C'), o2('\xC2','\xBD'), - o2('\xCE','\x8E'), o2('\xCE','\x8F'), - o2('\xCE','\x90'), o2('\xCE','\x91'), - o2('\xCE','\x92'), o2('\xCE','\x93'), - o2('\xCE','\x94'), o2('\xCE','\x95'), - o2('\xCE','\x96'), o2('\xCE','\x97'), - o2('\xCE','\x98'), o2('\xCE','\x99'), - o2('\xCE','\x9A'), o2('\xCE','\x9B'), - o2('\xCE','\x9C'), o2('\xCE','\x9D'), - o2('\xCE','\x9E'), o2('\xCE','\x9F'), - o2('\xCE','\xA0'), o2('\xCE','\xA1'), - o2('\xCE','\xA3'), o2('\xCE','\xA4'), - o2('\xCE','\xA5'), o2('\xCE','\xA6'), - o2('\xCE','\xA7'), o2('\xCE','\xA8'), - o2('\xCE','\xA9'), o2('\xCE','\xAA'), - o2('\xCE','\xAB'), o2('\xCE','\xAC'), - o2('\xCE','\xAD'), o2('\xCE','\xAE'), - o2('\xCE','\xAF'), o2('\xCE','\xB0'), - o2('\xCE','\xB1'), o2('\xCE','\xB2'), - o2('\xCE','\xB3'), o2('\xCE','\xB4'), - o2('\xCE','\xB5'), o2('\xCE','\xB6'), - o2('\xCE','\xB7'), o2('\xCE','\xB8'), - o2('\xCE','\xB9'), o2('\xCE','\xBA'), - o2('\xCE','\xBB'), o2('\xCE','\xBC'), - o2('\xCE','\xBD'), o2('\xCE','\xBE'), - o2('\xCE','\xBF'), o2('\xCF','\x80'), - o2('\xCF','\x81'), o2('\xCF','\x82'), - o2('\xCF','\x83'), o2('\xCF','\x84'), - o2('\xCF','\x85'), o2('\xCF','\x86'), - o2('\xCF','\x87'), o2('\xCF','\x88'), - o2('\xCF','\x89'), o2('\xCF','\x8A'), - o2('\xCF','\x8B'), o2('\xCF','\x8C'), - o2('\xCF','\x8D'), o2('\xCF','\x8E'), + 111,112,113,114,115,116,117,118, 119,120,121,122,123,124,125,126, +}; +static const struct byte_lookup* const +from_ISO_8859_7_infos[127] = { + NOMAP, o2(0xC2,0x80), + o2(0xC2,0x81), o2(0xC2,0x82), + o2(0xC2,0x83), o2(0xC2,0x84), + o2(0xC2,0x85), o2(0xC2,0x86), + o2(0xC2,0x87), o2(0xC2,0x88), + o2(0xC2,0x89), o2(0xC2,0x8A), + o2(0xC2,0x8B), o2(0xC2,0x8C), + o2(0xC2,0x8D), o2(0xC2,0x8E), + o2(0xC2,0x8F), o2(0xC2,0x90), + o2(0xC2,0x91), o2(0xC2,0x92), + o2(0xC2,0x93), o2(0xC2,0x94), + o2(0xC2,0x95), o2(0xC2,0x96), + o2(0xC2,0x97), o2(0xC2,0x98), + o2(0xC2,0x99), o2(0xC2,0x9A), + o2(0xC2,0x9B), o2(0xC2,0x9C), + o2(0xC2,0x9D), o2(0xC2,0x9E), + o2(0xC2,0x9F), o2(0xC2,0xA0), + o3(0xE2,0x80,0x98), o3(0xE2,0x80,0x99), + o2(0xC2,0xA3), o3(0xE2,0x82,0xAC), + o3(0xE2,0x82,0xAF), o2(0xC2,0xA6), + o2(0xC2,0xA7), o2(0xC2,0xA8), + o2(0xC2,0xA9), o2(0xCD,0xBA), + o2(0xC2,0xAB), o2(0xC2,0xAC), + o2(0xC2,0xAD), o3(0xE2,0x80,0x95), + o2(0xC2,0xB0), o2(0xC2,0xB1), + o2(0xC2,0xB2), o2(0xC2,0xB3), + o2(0xCE,0x84), o2(0xCE,0x85), + o2(0xCE,0x86), o2(0xC2,0xB7), + o2(0xCE,0x88), o2(0xCE,0x89), + o2(0xCE,0x8A), o2(0xC2,0xBB), + o2(0xCE,0x8C), o2(0xC2,0xBD), + o2(0xCE,0x8E), o2(0xCE,0x8F), + o2(0xCE,0x90), o2(0xCE,0x91), + o2(0xCE,0x92), o2(0xCE,0x93), + o2(0xCE,0x94), o2(0xCE,0x95), + o2(0xCE,0x96), o2(0xCE,0x97), + o2(0xCE,0x98), o2(0xCE,0x99), + o2(0xCE,0x9A), o2(0xCE,0x9B), + o2(0xCE,0x9C), o2(0xCE,0x9D), + o2(0xCE,0x9E), o2(0xCE,0x9F), + o2(0xCE,0xA0), o2(0xCE,0xA1), + o2(0xCE,0xA3), o2(0xCE,0xA4), + o2(0xCE,0xA5), o2(0xCE,0xA6), + o2(0xCE,0xA7), o2(0xCE,0xA8), + o2(0xCE,0xA9), o2(0xCE,0xAA), + o2(0xCE,0xAB), o2(0xCE,0xAC), + o2(0xCE,0xAD), o2(0xCE,0xAE), + o2(0xCE,0xAF), o2(0xCE,0xB0), + o2(0xCE,0xB1), o2(0xCE,0xB2), + o2(0xCE,0xB3), o2(0xCE,0xB4), + o2(0xCE,0xB5), o2(0xCE,0xB6), + o2(0xCE,0xB7), o2(0xCE,0xB8), + o2(0xCE,0xB9), o2(0xCE,0xBA), + o2(0xCE,0xBB), o2(0xCE,0xBC), + o2(0xCE,0xBD), o2(0xCE,0xBE), + o2(0xCE,0xBF), o2(0xCF,0x80), + o2(0xCF,0x81), o2(0xCF,0x82), + o2(0xCF,0x83), o2(0xCF,0x84), + o2(0xCF,0x85), o2(0xCF,0x86), + o2(0xCF,0x87), o2(0xCF,0x88), + o2(0xCF,0x89), o2(0xCF,0x8A), + o2(0xCF,0x8B), o2(0xCF,0x8C), + o2(0xCF,0x8D), o2(0xCF,0x8E), + UNDEF, }; const BYTE_LOOKUP from_ISO_8859_7 = { @@ -1393,23 +1238,24 @@ static const unsigned char to_ISO_8859_7_C2_offsets[64] = { 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, - 32, -1, -1, 33, -1, -1, 34, 35, 36, 37, -1, 38, 39, 40, -1, -1, - 41, 42, 43, 44, -1, -1, -1, 45, -1, -1, -1, 46, -1, 47, -1, -1, -}; -static const struct byte_lookup* const -to_ISO_8859_7_C2_infos[48] = { - o1('\x80'), o1('\x81'), o1('\x82'), o1('\x83'), - o1('\x84'), o1('\x85'), o1('\x86'), o1('\x87'), - o1('\x88'), o1('\x89'), o1('\x8A'), o1('\x8B'), - o1('\x8C'), o1('\x8D'), o1('\x8E'), o1('\x8F'), - o1('\x90'), o1('\x91'), o1('\x92'), o1('\x93'), - o1('\x94'), o1('\x95'), o1('\x96'), o1('\x97'), - o1('\x98'), o1('\x99'), o1('\x9A'), o1('\x9B'), - o1('\x9C'), o1('\x9D'), o1('\x9E'), o1('\x9F'), - o1('\xA0'), o1('\xA3'), o1('\xA6'), o1('\xA7'), - o1('\xA8'), o1('\xA9'), o1('\xAB'), o1('\xAC'), - o1('\xAD'), o1('\xB0'), o1('\xB1'), o1('\xB2'), - o1('\xB3'), o1('\xB7'), o1('\xBB'), o1('\xBD'), + 32, 48, 48, 33, 48, 48, 34, 35, 36, 37, 48, 38, 39, 40, 48, 48, + 41, 42, 43, 44, 48, 48, 48, 45, 48, 48, 48, 46, 48, 47, 48, 48, +}; +static const struct byte_lookup* const +to_ISO_8859_7_C2_infos[49] = { + o1(0x80), o1(0x81), o1(0x82), o1(0x83), + o1(0x84), o1(0x85), o1(0x86), o1(0x87), + o1(0x88), o1(0x89), o1(0x8A), o1(0x8B), + o1(0x8C), o1(0x8D), o1(0x8E), o1(0x8F), + o1(0x90), o1(0x91), o1(0x92), o1(0x93), + o1(0x94), o1(0x95), o1(0x96), o1(0x97), + o1(0x98), o1(0x99), o1(0x9A), o1(0x9B), + o1(0x9C), o1(0x9D), o1(0x9E), o1(0x9F), + o1(0xA0), o1(0xA3), o1(0xA6), o1(0xA7), + o1(0xA8), o1(0xA9), o1(0xAB), o1(0xAC), + o1(0xAD), o1(0xB0), o1(0xB1), o1(0xB2), + o1(0xB3), o1(0xB7), o1(0xBB), o1(0xBD), + UNDEF, }; static const BYTE_LOOKUP to_ISO_8859_7_C2 = { @@ -1419,14 +1265,14 @@ to_ISO_8859_7_C2 = { static const unsigned char to_ISO_8859_7_CD_offsets[64] = { - -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 0, -1, -1, -1, -1, -1, + 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, + 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, + 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, + 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 1, 1, 1, 1, 1, }; static const struct byte_lookup* const -to_ISO_8859_7_CD_infos[1] = { - o1('\xAA'), +to_ISO_8859_7_CD_infos[2] = { + o1(0xAA), UNDEF, }; static const BYTE_LOOKUP to_ISO_8859_7_CD = { @@ -1436,27 +1282,28 @@ to_ISO_8859_7_CD = { static const unsigned char to_ISO_8859_7_CE_offsets[64] = { - -1, -1, -1, -1, 0, 1, 2, -1, 3, 4, 5, -1, 6, -1, 7, 8, + 56, 56, 56, 56, 0, 1, 2, 56, 3, 4, 5, 56, 6, 56, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, - 25, 26, -1, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, + 25, 26, 56, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, }; static const struct byte_lookup* const -to_ISO_8859_7_CE_infos[56] = { - o1('\xB4'), o1('\xB5'), o1('\xB6'), o1('\xB8'), - o1('\xB9'), o1('\xBA'), o1('\xBC'), o1('\xBE'), - o1('\xBF'), o1('\xC0'), o1('\xC1'), o1('\xC2'), - o1('\xC3'), o1('\xC4'), o1('\xC5'), o1('\xC6'), - o1('\xC7'), o1('\xC8'), o1('\xC9'), o1('\xCA'), - o1('\xCB'), o1('\xCC'), o1('\xCD'), o1('\xCE'), - o1('\xCF'), o1('\xD0'), o1('\xD1'), o1('\xD3'), - o1('\xD4'), o1('\xD5'), o1('\xD6'), o1('\xD7'), - o1('\xD8'), o1('\xD9'), o1('\xDA'), o1('\xDB'), - o1('\xDC'), o1('\xDD'), o1('\xDE'), o1('\xDF'), - o1('\xE0'), o1('\xE1'), o1('\xE2'), o1('\xE3'), - o1('\xE4'), o1('\xE5'), o1('\xE6'), o1('\xE7'), - o1('\xE8'), o1('\xE9'), o1('\xEA'), o1('\xEB'), - o1('\xEC'), o1('\xED'), o1('\xEE'), o1('\xEF'), +to_ISO_8859_7_CE_infos[57] = { + o1(0xB4), o1(0xB5), o1(0xB6), o1(0xB8), + o1(0xB9), o1(0xBA), o1(0xBC), o1(0xBE), + o1(0xBF), o1(0xC0), o1(0xC1), o1(0xC2), + o1(0xC3), o1(0xC4), o1(0xC5), o1(0xC6), + o1(0xC7), o1(0xC8), o1(0xC9), o1(0xCA), + o1(0xCB), o1(0xCC), o1(0xCD), o1(0xCE), + o1(0xCF), o1(0xD0), o1(0xD1), o1(0xD3), + o1(0xD4), o1(0xD5), o1(0xD6), o1(0xD7), + o1(0xD8), o1(0xD9), o1(0xDA), o1(0xDB), + o1(0xDC), o1(0xDD), o1(0xDE), o1(0xDF), + o1(0xE0), o1(0xE1), o1(0xE2), o1(0xE3), + o1(0xE4), o1(0xE5), o1(0xE6), o1(0xE7), + o1(0xE8), o1(0xE9), o1(0xEA), o1(0xEB), + o1(0xEC), o1(0xED), o1(0xEE), o1(0xEF), + UNDEF, }; static const BYTE_LOOKUP to_ISO_8859_7_CE = { @@ -1466,17 +1313,17 @@ to_ISO_8859_7_CE = { static const unsigned char to_ISO_8859_7_CF_offsets[64] = { - 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, -1, - -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, + 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, + 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, + 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, }; static const struct byte_lookup* const -to_ISO_8859_7_CF_infos[15] = { - o1('\xF0'), o1('\xF1'), o1('\xF2'), o1('\xF3'), - o1('\xF4'), o1('\xF5'), o1('\xF6'), o1('\xF7'), - o1('\xF8'), o1('\xF9'), o1('\xFA'), o1('\xFB'), - o1('\xFC'), o1('\xFD'), o1('\xFE'), +to_ISO_8859_7_CF_infos[16] = { + o1(0xF0), o1(0xF1), o1(0xF2), o1(0xF3), + o1(0xF4), o1(0xF5), o1(0xF6), o1(0xF7), + o1(0xF8), o1(0xF9), o1(0xFA), o1(0xFB), + o1(0xFC), o1(0xFD), o1(0xFE), UNDEF, }; static const BYTE_LOOKUP to_ISO_8859_7_CF = { @@ -1486,14 +1333,14 @@ to_ISO_8859_7_CF = { static const unsigned char to_ISO_8859_7_E2_80_offsets[64] = { - -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, 0, -1, -1, 1, 2, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, + 3, 3, 3, 3, 3, 0, 3, 3, 1, 2, 3, 3, 3, 3, 3, 3, + 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, + 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, }; static const struct byte_lookup* const -to_ISO_8859_7_E2_80_infos[3] = { - o1('\xAF'), o1('\xA1'), o1('\xA2'), +to_ISO_8859_7_E2_80_infos[4] = { + o1(0xAF), o1(0xA1), o1(0xA2), UNDEF, }; static const BYTE_LOOKUP to_ISO_8859_7_E2_80 = { @@ -1503,14 +1350,14 @@ to_ISO_8859_7_E2_80 = { static const unsigned char to_ISO_8859_7_E2_82_offsets[64] = { - -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 0, -1, -1, 1, - -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, + 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, + 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 0, 2, 2, 1, + 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, }; static const struct byte_lookup* const -to_ISO_8859_7_E2_82_infos[2] = { - o1('\xA4'), o1('\xA5'), +to_ISO_8859_7_E2_82_infos[3] = { + o1(0xA4), o1(0xA5), UNDEF, }; static const BYTE_LOOKUP to_ISO_8859_7_E2_82 = { @@ -1520,14 +1367,15 @@ to_ISO_8859_7_E2_82 = { static const unsigned char to_ISO_8859_7_E2_offsets[64] = { - 0, -1, 1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + 0, 2, 1, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, + 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, + 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, + 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, }; static const struct byte_lookup* const -to_ISO_8859_7_E2_infos[2] = { +to_ISO_8859_7_E2_infos[3] = { &to_ISO_8859_7_E2_80, &to_ISO_8859_7_E2_82, + UNDEF, }; static const BYTE_LOOKUP to_ISO_8859_7_E2 = { @@ -1545,19 +1393,21 @@ to_ISO_8859_7_offsets[256] = { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, 1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 2, 3, 4, - -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, 5, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, + 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, + 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, + 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, + 6, 6, 1, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 2, 3, 4, + 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, + 6, 6, 5, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, + 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, }; static const struct byte_lookup* const -to_ISO_8859_7_infos[6] = { - NOMAP, &to_ISO_8859_7_C2, &to_ISO_8859_7_CD, &to_ISO_8859_7_CE, +to_ISO_8859_7_infos[7] = { + NOMAP, &to_ISO_8859_7_C2, + &to_ISO_8859_7_CD, &to_ISO_8859_7_CE, &to_ISO_8859_7_CF, &to_ISO_8859_7_E2, + UNDEF, }; const BYTE_LOOKUP to_ISO_8859_7 = { @@ -1577,62 +1427,62 @@ from_ISO_8859_8_offsets[256] = { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, - 33, -1, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, - 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, -1, - -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 63, + 33, 93, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, + 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 93, + 93, 93, 93, 93, 93, 93, 93, 93, 93, 93, 93, 93, 93, 93, 93, 93, + 93, 93, 93, 93, 93, 93, 93, 93, 93, 93, 93, 93, 93, 93, 93, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, - 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, -1, -1, 91, 92, -1, -}; -static const struct byte_lookup* const -from_ISO_8859_8_infos[93] = { - NOMAP, o2('\xC2','\x80'), - o2('\xC2','\x81'), o2('\xC2','\x82'), - o2('\xC2','\x83'), o2('\xC2','\x84'), - o2('\xC2','\x85'), o2('\xC2','\x86'), - o2('\xC2','\x87'), o2('\xC2','\x88'), - o2('\xC2','\x89'), o2('\xC2','\x8A'), - o2('\xC2','\x8B'), o2('\xC2','\x8C'), - o2('\xC2','\x8D'), o2('\xC2','\x8E'), - o2('\xC2','\x8F'), o2('\xC2','\x90'), - o2('\xC2','\x91'), o2('\xC2','\x92'), - o2('\xC2','\x93'), o2('\xC2','\x94'), - o2('\xC2','\x95'), o2('\xC2','\x96'), - o2('\xC2','\x97'), o2('\xC2','\x98'), - o2('\xC2','\x99'), o2('\xC2','\x9A'), - o2('\xC2','\x9B'), o2('\xC2','\x9C'), - o2('\xC2','\x9D'), o2('\xC2','\x9E'), - o2('\xC2','\x9F'), o2('\xC2','\xA0'), - o2('\xC2','\xA2'), o2('\xC2','\xA3'), - o2('\xC2','\xA4'), o2('\xC2','\xA5'), - o2('\xC2','\xA6'), o2('\xC2','\xA7'), - o2('\xC2','\xA8'), o2('\xC2','\xA9'), - o2('\xC3','\x97'), o2('\xC2','\xAB'), - o2('\xC2','\xAC'), o2('\xC2','\xAD'), - o2('\xC2','\xAE'), o2('\xC2','\xAF'), - o2('\xC2','\xB0'), o2('\xC2','\xB1'), - o2('\xC2','\xB2'), o2('\xC2','\xB3'), - o2('\xC2','\xB4'), o2('\xC2','\xB5'), - o2('\xC2','\xB6'), o2('\xC2','\xB7'), - o2('\xC2','\xB8'), o2('\xC2','\xB9'), - o2('\xC3','\xB7'), o2('\xC2','\xBB'), - o2('\xC2','\xBC'), o2('\xC2','\xBD'), - o2('\xC2','\xBE'), o3('\xE2','\x80','\x97'), - o2('\xD7','\x90'), o2('\xD7','\x91'), - o2('\xD7','\x92'), o2('\xD7','\x93'), - o2('\xD7','\x94'), o2('\xD7','\x95'), - o2('\xD7','\x96'), o2('\xD7','\x97'), - o2('\xD7','\x98'), o2('\xD7','\x99'), - o2('\xD7','\x9A'), o2('\xD7','\x9B'), - o2('\xD7','\x9C'), o2('\xD7','\x9D'), - o2('\xD7','\x9E'), o2('\xD7','\x9F'), - o2('\xD7','\xA0'), o2('\xD7','\xA1'), - o2('\xD7','\xA2'), o2('\xD7','\xA3'), - o2('\xD7','\xA4'), o2('\xD7','\xA5'), - o2('\xD7','\xA6'), o2('\xD7','\xA7'), - o2('\xD7','\xA8'), o2('\xD7','\xA9'), - o2('\xD7','\xAA'), o3('\xE2','\x80','\x8E'), - o3('\xE2','\x80','\x8F'), + 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 93, 93, 91, 92, 93, +}; +static const struct byte_lookup* const +from_ISO_8859_8_infos[94] = { + NOMAP, o2(0xC2,0x80), + o2(0xC2,0x81), o2(0xC2,0x82), + o2(0xC2,0x83), o2(0xC2,0x84), + o2(0xC2,0x85), o2(0xC2,0x86), + o2(0xC2,0x87), o2(0xC2,0x88), + o2(0xC2,0x89), o2(0xC2,0x8A), + o2(0xC2,0x8B), o2(0xC2,0x8C), + o2(0xC2,0x8D), o2(0xC2,0x8E), + o2(0xC2,0x8F), o2(0xC2,0x90), + o2(0xC2,0x91), o2(0xC2,0x92), + o2(0xC2,0x93), o2(0xC2,0x94), + o2(0xC2,0x95), o2(0xC2,0x96), + o2(0xC2,0x97), o2(0xC2,0x98), + o2(0xC2,0x99), o2(0xC2,0x9A), + o2(0xC2,0x9B), o2(0xC2,0x9C), + o2(0xC2,0x9D), o2(0xC2,0x9E), + o2(0xC2,0x9F), o2(0xC2,0xA0), + o2(0xC2,0xA2), o2(0xC2,0xA3), + o2(0xC2,0xA4), o2(0xC2,0xA5), + o2(0xC2,0xA6), o2(0xC2,0xA7), + o2(0xC2,0xA8), o2(0xC2,0xA9), + o2(0xC3,0x97), o2(0xC2,0xAB), + o2(0xC2,0xAC), o2(0xC2,0xAD), + o2(0xC2,0xAE), o2(0xC2,0xAF), + o2(0xC2,0xB0), o2(0xC2,0xB1), + o2(0xC2,0xB2), o2(0xC2,0xB3), + o2(0xC2,0xB4), o2(0xC2,0xB5), + o2(0xC2,0xB6), o2(0xC2,0xB7), + o2(0xC2,0xB8), o2(0xC2,0xB9), + o2(0xC3,0xB7), o2(0xC2,0xBB), + o2(0xC2,0xBC), o2(0xC2,0xBD), + o2(0xC2,0xBE), o3(0xE2,0x80,0x97), + o2(0xD7,0x90), o2(0xD7,0x91), + o2(0xD7,0x92), o2(0xD7,0x93), + o2(0xD7,0x94), o2(0xD7,0x95), + o2(0xD7,0x96), o2(0xD7,0x97), + o2(0xD7,0x98), o2(0xD7,0x99), + o2(0xD7,0x9A), o2(0xD7,0x9B), + o2(0xD7,0x9C), o2(0xD7,0x9D), + o2(0xD7,0x9E), o2(0xD7,0x9F), + o2(0xD7,0xA0), o2(0xD7,0xA1), + o2(0xD7,0xA2), o2(0xD7,0xA3), + o2(0xD7,0xA4), o2(0xD7,0xA5), + o2(0xD7,0xA6), o2(0xD7,0xA7), + o2(0xD7,0xA8), o2(0xD7,0xA9), + o2(0xD7,0xAA), o3(0xE2,0x80,0x8E), + o3(0xE2,0x80,0x8F), UNDEF, }; const BYTE_LOOKUP from_ISO_8859_8 = { @@ -1644,26 +1494,27 @@ static const unsigned char to_ISO_8859_8_C2_offsets[64] = { 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, - 32, -1, 33, 34, 35, 36, 37, 38, 39, 40, -1, 41, 42, 43, 44, 45, - 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, -1, 56, 57, 58, 59, -1, -}; -static const struct byte_lookup* const -to_ISO_8859_8_C2_infos[60] = { - o1('\x80'), o1('\x81'), o1('\x82'), o1('\x83'), - o1('\x84'), o1('\x85'), o1('\x86'), o1('\x87'), - o1('\x88'), o1('\x89'), o1('\x8A'), o1('\x8B'), - o1('\x8C'), o1('\x8D'), o1('\x8E'), o1('\x8F'), - o1('\x90'), o1('\x91'), o1('\x92'), o1('\x93'), - o1('\x94'), o1('\x95'), o1('\x96'), o1('\x97'), - o1('\x98'), o1('\x99'), o1('\x9A'), o1('\x9B'), - o1('\x9C'), o1('\x9D'), o1('\x9E'), o1('\x9F'), - o1('\xA0'), o1('\xA2'), o1('\xA3'), o1('\xA4'), - o1('\xA5'), o1('\xA6'), o1('\xA7'), o1('\xA8'), - o1('\xA9'), o1('\xAB'), o1('\xAC'), o1('\xAD'), - o1('\xAE'), o1('\xAF'), o1('\xB0'), o1('\xB1'), - o1('\xB2'), o1('\xB3'), o1('\xB4'), o1('\xB5'), - o1('\xB6'), o1('\xB7'), o1('\xB8'), o1('\xB9'), - o1('\xBB'), o1('\xBC'), o1('\xBD'), o1('\xBE'), + 32, 60, 33, 34, 35, 36, 37, 38, 39, 40, 60, 41, 42, 43, 44, 45, + 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 60, 56, 57, 58, 59, 60, +}; +static const struct byte_lookup* const +to_ISO_8859_8_C2_infos[61] = { + o1(0x80), o1(0x81), o1(0x82), o1(0x83), + o1(0x84), o1(0x85), o1(0x86), o1(0x87), + o1(0x88), o1(0x89), o1(0x8A), o1(0x8B), + o1(0x8C), o1(0x8D), o1(0x8E), o1(0x8F), + o1(0x90), o1(0x91), o1(0x92), o1(0x93), + o1(0x94), o1(0x95), o1(0x96), o1(0x97), + o1(0x98), o1(0x99), o1(0x9A), o1(0x9B), + o1(0x9C), o1(0x9D), o1(0x9E), o1(0x9F), + o1(0xA0), o1(0xA2), o1(0xA3), o1(0xA4), + o1(0xA5), o1(0xA6), o1(0xA7), o1(0xA8), + o1(0xA9), o1(0xAB), o1(0xAC), o1(0xAD), + o1(0xAE), o1(0xAF), o1(0xB0), o1(0xB1), + o1(0xB2), o1(0xB3), o1(0xB4), o1(0xB5), + o1(0xB6), o1(0xB7), o1(0xB8), o1(0xB9), + o1(0xBB), o1(0xBC), o1(0xBD), o1(0xBE), + UNDEF, }; static const BYTE_LOOKUP to_ISO_8859_8_C2 = { @@ -1673,14 +1524,14 @@ to_ISO_8859_8_C2 = { static const unsigned char to_ISO_8859_8_C3_offsets[64] = { - -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, 0, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, 1, -1, -1, -1, -1, -1, -1, -1, -1, + 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, + 2, 2, 2, 2, 2, 2, 2, 0, 2, 2, 2, 2, 2, 2, 2, 2, + 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, + 2, 2, 2, 2, 2, 2, 2, 1, 2, 2, 2, 2, 2, 2, 2, 2, }; static const struct byte_lookup* const -to_ISO_8859_8_C3_infos[2] = { - o1('\xAA'), o1('\xBA'), +to_ISO_8859_8_C3_infos[3] = { + o1(0xAA), o1(0xBA), UNDEF, }; static const BYTE_LOOKUP to_ISO_8859_8_C3 = { @@ -1690,20 +1541,20 @@ to_ISO_8859_8_C3 = { static const unsigned char to_ISO_8859_8_D7_offsets[64] = { - -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, - 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 27, 27, 27, 27, + 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, }; static const struct byte_lookup* const -to_ISO_8859_8_D7_infos[27] = { - o1('\xE0'), o1('\xE1'), o1('\xE2'), o1('\xE3'), - o1('\xE4'), o1('\xE5'), o1('\xE6'), o1('\xE7'), - o1('\xE8'), o1('\xE9'), o1('\xEA'), o1('\xEB'), - o1('\xEC'), o1('\xED'), o1('\xEE'), o1('\xEF'), - o1('\xF0'), o1('\xF1'), o1('\xF2'), o1('\xF3'), - o1('\xF4'), o1('\xF5'), o1('\xF6'), o1('\xF7'), - o1('\xF8'), o1('\xF9'), o1('\xFA'), +to_ISO_8859_8_D7_infos[28] = { + o1(0xE0), o1(0xE1), o1(0xE2), o1(0xE3), + o1(0xE4), o1(0xE5), o1(0xE6), o1(0xE7), + o1(0xE8), o1(0xE9), o1(0xEA), o1(0xEB), + o1(0xEC), o1(0xED), o1(0xEE), o1(0xEF), + o1(0xF0), o1(0xF1), o1(0xF2), o1(0xF3), + o1(0xF4), o1(0xF5), o1(0xF6), o1(0xF7), + o1(0xF8), o1(0xF9), o1(0xFA), UNDEF, }; static const BYTE_LOOKUP to_ISO_8859_8_D7 = { @@ -1713,14 +1564,14 @@ to_ISO_8859_8_D7 = { static const unsigned char to_ISO_8859_8_E2_80_offsets[64] = { - -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 0, 1, - -1, -1, -1, -1, -1, -1, -1, 2, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 0, 1, + 3, 3, 3, 3, 3, 3, 3, 2, 3, 3, 3, 3, 3, 3, 3, 3, + 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, + 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, }; static const struct byte_lookup* const -to_ISO_8859_8_E2_80_infos[3] = { - o1('\xFD'), o1('\xFE'), o1('\xDF'), +to_ISO_8859_8_E2_80_infos[4] = { + o1(0xFD), o1(0xFE), o1(0xDF), UNDEF, }; static const BYTE_LOOKUP to_ISO_8859_8_E2_80 = { @@ -1729,19 +1580,21 @@ to_ISO_8859_8_E2_80 = { }; static const unsigned char -to_ISO_8859_8_E2_offsets[64] = { - 0, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, +to_ISO_8859_13_E2_offsets[64] = { + /* used from to_ISO_8859_13_E2 */ + /* used from to_ISO_8859_8_E2 */ + 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, + 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, + 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, + 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, }; static const struct byte_lookup* const -to_ISO_8859_8_E2_infos[1] = { - &to_ISO_8859_8_E2_80, +to_ISO_8859_8_E2_infos[2] = { + &to_ISO_8859_8_E2_80, UNDEF, }; static const BYTE_LOOKUP to_ISO_8859_8_E2 = { - to_ISO_8859_8_E2_offsets, + to_ISO_8859_13_E2_offsets, to_ISO_8859_8_E2_infos }; @@ -1755,19 +1608,20 @@ to_ISO_8859_8_offsets[256] = { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, 1, 2, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, 3, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, 4, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, + 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, + 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, + 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, + 5, 5, 1, 2, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, + 5, 5, 5, 5, 5, 5, 5, 3, 5, 5, 5, 5, 5, 5, 5, 5, + 5, 5, 4, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, + 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, }; static const struct byte_lookup* const -to_ISO_8859_8_infos[5] = { - NOMAP, &to_ISO_8859_8_C2, &to_ISO_8859_8_C3, &to_ISO_8859_8_D7, - &to_ISO_8859_8_E2, +to_ISO_8859_8_infos[6] = { + NOMAP, &to_ISO_8859_8_C2, + &to_ISO_8859_8_C3, &to_ISO_8859_8_D7, + &to_ISO_8859_8_E2, UNDEF, }; const BYTE_LOOKUP to_ISO_8859_8 = { @@ -1775,155 +1629,87 @@ to_ISO_8859_8 = { to_ISO_8859_8_infos }; -static const unsigned char -from_ISO_8859_9_offsets[256] = { - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, - 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, - 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, - 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, - 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, - 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, - 97, 98, 99,100,101,102,103,104, 105,106,107,108,109,110,111,112, - 113,114,115,116,117,118,119,120, 121,122,123,124,125,126,127,128, -}; static const struct byte_lookup* const from_ISO_8859_9_infos[129] = { - NOMAP, o2('\xC2','\x80'), - o2('\xC2','\x81'), o2('\xC2','\x82'), - o2('\xC2','\x83'), o2('\xC2','\x84'), - o2('\xC2','\x85'), o2('\xC2','\x86'), - o2('\xC2','\x87'), o2('\xC2','\x88'), - o2('\xC2','\x89'), o2('\xC2','\x8A'), - o2('\xC2','\x8B'), o2('\xC2','\x8C'), - o2('\xC2','\x8D'), o2('\xC2','\x8E'), - o2('\xC2','\x8F'), o2('\xC2','\x90'), - o2('\xC2','\x91'), o2('\xC2','\x92'), - o2('\xC2','\x93'), o2('\xC2','\x94'), - o2('\xC2','\x95'), o2('\xC2','\x96'), - o2('\xC2','\x97'), o2('\xC2','\x98'), - o2('\xC2','\x99'), o2('\xC2','\x9A'), - o2('\xC2','\x9B'), o2('\xC2','\x9C'), - o2('\xC2','\x9D'), o2('\xC2','\x9E'), - o2('\xC2','\x9F'), o2('\xC2','\xA0'), - o2('\xC2','\xA1'), o2('\xC2','\xA2'), - o2('\xC2','\xA3'), o2('\xC2','\xA4'), - o2('\xC2','\xA5'), o2('\xC2','\xA6'), - o2('\xC2','\xA7'), o2('\xC2','\xA8'), - o2('\xC2','\xA9'), o2('\xC2','\xAA'), - o2('\xC2','\xAB'), o2('\xC2','\xAC'), - o2('\xC2','\xAD'), o2('\xC2','\xAE'), - o2('\xC2','\xAF'), o2('\xC2','\xB0'), - o2('\xC2','\xB1'), o2('\xC2','\xB2'), - o2('\xC2','\xB3'), o2('\xC2','\xB4'), - o2('\xC2','\xB5'), o2('\xC2','\xB6'), - o2('\xC2','\xB7'), o2('\xC2','\xB8'), - o2('\xC2','\xB9'), o2('\xC2','\xBA'), - o2('\xC2','\xBB'), o2('\xC2','\xBC'), - o2('\xC2','\xBD'), o2('\xC2','\xBE'), - o2('\xC2','\xBF'), o2('\xC3','\x80'), - o2('\xC3','\x81'), o2('\xC3','\x82'), - o2('\xC3','\x83'), o2('\xC3','\x84'), - o2('\xC3','\x85'), o2('\xC3','\x86'), - o2('\xC3','\x87'), o2('\xC3','\x88'), - o2('\xC3','\x89'), o2('\xC3','\x8A'), - o2('\xC3','\x8B'), o2('\xC3','\x8C'), - o2('\xC3','\x8D'), o2('\xC3','\x8E'), - o2('\xC3','\x8F'), o2('\xC4','\x9E'), - o2('\xC3','\x91'), o2('\xC3','\x92'), - o2('\xC3','\x93'), o2('\xC3','\x94'), - o2('\xC3','\x95'), o2('\xC3','\x96'), - o2('\xC3','\x97'), o2('\xC3','\x98'), - o2('\xC3','\x99'), o2('\xC3','\x9A'), - o2('\xC3','\x9B'), o2('\xC3','\x9C'), - o2('\xC4','\xB0'), o2('\xC5','\x9E'), - o2('\xC3','\x9F'), o2('\xC3','\xA0'), - o2('\xC3','\xA1'), o2('\xC3','\xA2'), - o2('\xC3','\xA3'), o2('\xC3','\xA4'), - o2('\xC3','\xA5'), o2('\xC3','\xA6'), - o2('\xC3','\xA7'), o2('\xC3','\xA8'), - o2('\xC3','\xA9'), o2('\xC3','\xAA'), - o2('\xC3','\xAB'), o2('\xC3','\xAC'), - o2('\xC3','\xAD'), o2('\xC3','\xAE'), - o2('\xC3','\xAF'), o2('\xC4','\x9F'), - o2('\xC3','\xB1'), o2('\xC3','\xB2'), - o2('\xC3','\xB3'), o2('\xC3','\xB4'), - o2('\xC3','\xB5'), o2('\xC3','\xB6'), - o2('\xC3','\xB7'), o2('\xC3','\xB8'), - o2('\xC3','\xB9'), o2('\xC3','\xBA'), - o2('\xC3','\xBB'), o2('\xC3','\xBC'), - o2('\xC4','\xB1'), o2('\xC5','\x9F'), - o2('\xC3','\xBF'), + NOMAP, o2(0xC2,0x80), o2(0xC2,0x81), o2(0xC2,0x82), + o2(0xC2,0x83), o2(0xC2,0x84), o2(0xC2,0x85), o2(0xC2,0x86), + o2(0xC2,0x87), o2(0xC2,0x88), o2(0xC2,0x89), o2(0xC2,0x8A), + o2(0xC2,0x8B), o2(0xC2,0x8C), o2(0xC2,0x8D), o2(0xC2,0x8E), + o2(0xC2,0x8F), o2(0xC2,0x90), o2(0xC2,0x91), o2(0xC2,0x92), + o2(0xC2,0x93), o2(0xC2,0x94), o2(0xC2,0x95), o2(0xC2,0x96), + o2(0xC2,0x97), o2(0xC2,0x98), o2(0xC2,0x99), o2(0xC2,0x9A), + o2(0xC2,0x9B), o2(0xC2,0x9C), o2(0xC2,0x9D), o2(0xC2,0x9E), + o2(0xC2,0x9F), o2(0xC2,0xA0), o2(0xC2,0xA1), o2(0xC2,0xA2), + o2(0xC2,0xA3), o2(0xC2,0xA4), o2(0xC2,0xA5), o2(0xC2,0xA6), + o2(0xC2,0xA7), o2(0xC2,0xA8), o2(0xC2,0xA9), o2(0xC2,0xAA), + o2(0xC2,0xAB), o2(0xC2,0xAC), o2(0xC2,0xAD), o2(0xC2,0xAE), + o2(0xC2,0xAF), o2(0xC2,0xB0), o2(0xC2,0xB1), o2(0xC2,0xB2), + o2(0xC2,0xB3), o2(0xC2,0xB4), o2(0xC2,0xB5), o2(0xC2,0xB6), + o2(0xC2,0xB7), o2(0xC2,0xB8), o2(0xC2,0xB9), o2(0xC2,0xBA), + o2(0xC2,0xBB), o2(0xC2,0xBC), o2(0xC2,0xBD), o2(0xC2,0xBE), + o2(0xC2,0xBF), o2(0xC3,0x80), o2(0xC3,0x81), o2(0xC3,0x82), + o2(0xC3,0x83), o2(0xC3,0x84), o2(0xC3,0x85), o2(0xC3,0x86), + o2(0xC3,0x87), o2(0xC3,0x88), o2(0xC3,0x89), o2(0xC3,0x8A), + o2(0xC3,0x8B), o2(0xC3,0x8C), o2(0xC3,0x8D), o2(0xC3,0x8E), + o2(0xC3,0x8F), o2(0xC4,0x9E), o2(0xC3,0x91), o2(0xC3,0x92), + o2(0xC3,0x93), o2(0xC3,0x94), o2(0xC3,0x95), o2(0xC3,0x96), + o2(0xC3,0x97), o2(0xC3,0x98), o2(0xC3,0x99), o2(0xC3,0x9A), + o2(0xC3,0x9B), o2(0xC3,0x9C), o2(0xC4,0xB0), o2(0xC5,0x9E), + o2(0xC3,0x9F), o2(0xC3,0xA0), o2(0xC3,0xA1), o2(0xC3,0xA2), + o2(0xC3,0xA3), o2(0xC3,0xA4), o2(0xC3,0xA5), o2(0xC3,0xA6), + o2(0xC3,0xA7), o2(0xC3,0xA8), o2(0xC3,0xA9), o2(0xC3,0xAA), + o2(0xC3,0xAB), o2(0xC3,0xAC), o2(0xC3,0xAD), o2(0xC3,0xAE), + o2(0xC3,0xAF), o2(0xC4,0x9F), o2(0xC3,0xB1), o2(0xC3,0xB2), + o2(0xC3,0xB3), o2(0xC3,0xB4), o2(0xC3,0xB5), o2(0xC3,0xB6), + o2(0xC3,0xB7), o2(0xC3,0xB8), o2(0xC3,0xB9), o2(0xC3,0xBA), + o2(0xC3,0xBB), o2(0xC3,0xBC), o2(0xC4,0xB1), o2(0xC5,0x9F), + o2(0xC3,0xBF), }; const BYTE_LOOKUP from_ISO_8859_9 = { - from_ISO_8859_9_offsets, + from_ISO_8859_1_offsets, from_ISO_8859_9_infos }; static const unsigned char -to_ISO_8859_9_C2_offsets[64] = { +to_ISO_8859_15_C3_offsets[64] = { + /* used from to_ISO_8859_15_C3 */ + /* used from to_ISO_8859_9_C2 */ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, }; -static const struct byte_lookup* const -to_ISO_8859_9_C2_infos[64] = { - o1('\x80'), o1('\x81'), o1('\x82'), o1('\x83'), - o1('\x84'), o1('\x85'), o1('\x86'), o1('\x87'), - o1('\x88'), o1('\x89'), o1('\x8A'), o1('\x8B'), - o1('\x8C'), o1('\x8D'), o1('\x8E'), o1('\x8F'), - o1('\x90'), o1('\x91'), o1('\x92'), o1('\x93'), - o1('\x94'), o1('\x95'), o1('\x96'), o1('\x97'), - o1('\x98'), o1('\x99'), o1('\x9A'), o1('\x9B'), - o1('\x9C'), o1('\x9D'), o1('\x9E'), o1('\x9F'), - o1('\xA0'), o1('\xA1'), o1('\xA2'), o1('\xA3'), - o1('\xA4'), o1('\xA5'), o1('\xA6'), o1('\xA7'), - o1('\xA8'), o1('\xA9'), o1('\xAA'), o1('\xAB'), - o1('\xAC'), o1('\xAD'), o1('\xAE'), o1('\xAF'), - o1('\xB0'), o1('\xB1'), o1('\xB2'), o1('\xB3'), - o1('\xB4'), o1('\xB5'), o1('\xB6'), o1('\xB7'), - o1('\xB8'), o1('\xB9'), o1('\xBA'), o1('\xBB'), - o1('\xBC'), o1('\xBD'), o1('\xBE'), o1('\xBF'), -}; static const BYTE_LOOKUP to_ISO_8859_9_C2 = { - to_ISO_8859_9_C2_offsets, - to_ISO_8859_9_C2_infos + to_ISO_8859_15_C3_offsets, + to_ISO_8859_1_C2_infos }; static const unsigned char to_ISO_8859_9_C3_offsets[64] = { 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, - -1, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, -1, -1, 28, + 58, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 58, 58, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, - -1, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, -1, -1, 57, -}; -static const struct byte_lookup* const -to_ISO_8859_9_C3_infos[58] = { - o1('\xC0'), o1('\xC1'), o1('\xC2'), o1('\xC3'), - o1('\xC4'), o1('\xC5'), o1('\xC6'), o1('\xC7'), - o1('\xC8'), o1('\xC9'), o1('\xCA'), o1('\xCB'), - o1('\xCC'), o1('\xCD'), o1('\xCE'), o1('\xCF'), - o1('\xD1'), o1('\xD2'), o1('\xD3'), o1('\xD4'), - o1('\xD5'), o1('\xD6'), o1('\xD7'), o1('\xD8'), - o1('\xD9'), o1('\xDA'), o1('\xDB'), o1('\xDC'), - o1('\xDF'), o1('\xE0'), o1('\xE1'), o1('\xE2'), - o1('\xE3'), o1('\xE4'), o1('\xE5'), o1('\xE6'), - o1('\xE7'), o1('\xE8'), o1('\xE9'), o1('\xEA'), - o1('\xEB'), o1('\xEC'), o1('\xED'), o1('\xEE'), - o1('\xEF'), o1('\xF1'), o1('\xF2'), o1('\xF3'), - o1('\xF4'), o1('\xF5'), o1('\xF6'), o1('\xF7'), - o1('\xF8'), o1('\xF9'), o1('\xFA'), o1('\xFB'), - o1('\xFC'), o1('\xFF'), + 58, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 58, 58, 57, +}; +static const struct byte_lookup* const +to_ISO_8859_9_C3_infos[59] = { + o1(0xC0), o1(0xC1), o1(0xC2), o1(0xC3), + o1(0xC4), o1(0xC5), o1(0xC6), o1(0xC7), + o1(0xC8), o1(0xC9), o1(0xCA), o1(0xCB), + o1(0xCC), o1(0xCD), o1(0xCE), o1(0xCF), + o1(0xD1), o1(0xD2), o1(0xD3), o1(0xD4), + o1(0xD5), o1(0xD6), o1(0xD7), o1(0xD8), + o1(0xD9), o1(0xDA), o1(0xDB), o1(0xDC), + o1(0xDF), o1(0xE0), o1(0xE1), o1(0xE2), + o1(0xE3), o1(0xE4), o1(0xE5), o1(0xE6), + o1(0xE7), o1(0xE8), o1(0xE9), o1(0xEA), + o1(0xEB), o1(0xEC), o1(0xED), o1(0xEE), + o1(0xEF), o1(0xF1), o1(0xF2), o1(0xF3), + o1(0xF4), o1(0xF5), o1(0xF6), o1(0xF7), + o1(0xF8), o1(0xF9), o1(0xFA), o1(0xFB), + o1(0xFC), o1(0xFF), UNDEF, }; static const BYTE_LOOKUP to_ISO_8859_9_C3 = { @@ -1933,14 +1719,15 @@ to_ISO_8859_9_C3 = { static const unsigned char to_ISO_8859_9_C4_offsets[64] = { - -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 0, 1, - -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - 2, 3, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, + 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 0, 1, + 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, + 2, 3, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, }; static const struct byte_lookup* const -to_ISO_8859_9_C4_infos[4] = { - o1('\xD0'), o1('\xF0'), o1('\xDD'), o1('\xFD'), +to_ISO_8859_9_C4_infos[5] = { + o1(0xD0), o1(0xF0), o1(0xDD), o1(0xFD), + UNDEF, }; static const BYTE_LOOKUP to_ISO_8859_9_C4 = { @@ -1950,14 +1737,14 @@ to_ISO_8859_9_C4 = { static const unsigned char to_ISO_8859_9_C5_offsets[64] = { - -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 0, 1, - -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, + 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 0, 1, + 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, + 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, }; static const struct byte_lookup* const -to_ISO_8859_9_C5_infos[2] = { - o1('\xDE'), o1('\xFE'), +to_ISO_8859_9_C5_infos[3] = { + o1(0xDE), o1(0xFE), UNDEF, }; static const BYTE_LOOKUP to_ISO_8859_9_C5 = { @@ -1975,19 +1762,20 @@ to_ISO_8859_9_offsets[256] = { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, 1, 2, 3, 4, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, + 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, + 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, + 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, + 5, 5, 1, 2, 3, 4, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, + 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, + 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, + 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, }; static const struct byte_lookup* const -to_ISO_8859_9_infos[5] = { - NOMAP, &to_ISO_8859_9_C2, &to_ISO_8859_9_C3, &to_ISO_8859_9_C4, - &to_ISO_8859_9_C5, +to_ISO_8859_9_infos[6] = { + NOMAP, &to_ISO_8859_9_C2, + &to_ISO_8859_9_C3, &to_ISO_8859_9_C4, + &to_ISO_8859_9_C5, UNDEF, }; const BYTE_LOOKUP to_ISO_8859_9 = { @@ -1995,92 +1783,73 @@ to_ISO_8859_9 = { to_ISO_8859_9_infos }; -static const unsigned char -from_ISO_8859_10_offsets[256] = { - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, - 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, - 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, - 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, - 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, - 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, - 97, 98, 99,100,101,102,103,104, 105,106,107,108,109,110,111,112, - 113,114,115,116,117,118,119,120, 121,122,123,124,125,126,127,128, -}; static const struct byte_lookup* const from_ISO_8859_10_infos[129] = { - NOMAP, o2('\xC2','\x80'), - o2('\xC2','\x81'), o2('\xC2','\x82'), - o2('\xC2','\x83'), o2('\xC2','\x84'), - o2('\xC2','\x85'), o2('\xC2','\x86'), - o2('\xC2','\x87'), o2('\xC2','\x88'), - o2('\xC2','\x89'), o2('\xC2','\x8A'), - o2('\xC2','\x8B'), o2('\xC2','\x8C'), - o2('\xC2','\x8D'), o2('\xC2','\x8E'), - o2('\xC2','\x8F'), o2('\xC2','\x90'), - o2('\xC2','\x91'), o2('\xC2','\x92'), - o2('\xC2','\x93'), o2('\xC2','\x94'), - o2('\xC2','\x95'), o2('\xC2','\x96'), - o2('\xC2','\x97'), o2('\xC2','\x98'), - o2('\xC2','\x99'), o2('\xC2','\x9A'), - o2('\xC2','\x9B'), o2('\xC2','\x9C'), - o2('\xC2','\x9D'), o2('\xC2','\x9E'), - o2('\xC2','\x9F'), o2('\xC2','\xA0'), - o2('\xC4','\x84'), o2('\xC4','\x92'), - o2('\xC4','\xA2'), o2('\xC4','\xAA'), - o2('\xC4','\xA8'), o2('\xC4','\xB6'), - o2('\xC2','\xA7'), o2('\xC4','\xBB'), - o2('\xC4','\x90'), o2('\xC5','\xA0'), - o2('\xC5','\xA6'), o2('\xC5','\xBD'), - o2('\xC2','\xAD'), o2('\xC5','\xAA'), - o2('\xC5','\x8A'), o2('\xC2','\xB0'), - o2('\xC4','\x85'), o2('\xC4','\x93'), - o2('\xC4','\xA3'), o2('\xC4','\xAB'), - o2('\xC4','\xA9'), o2('\xC4','\xB7'), - o2('\xC2','\xB7'), o2('\xC4','\xBC'), - o2('\xC4','\x91'), o2('\xC5','\xA1'), - o2('\xC5','\xA7'), o2('\xC5','\xBE'), - o3('\xE2','\x80','\x95'), o2('\xC5','\xAB'), - o2('\xC5','\x8B'), o2('\xC4','\x80'), - o2('\xC3','\x81'), o2('\xC3','\x82'), - o2('\xC3','\x83'), o2('\xC3','\x84'), - o2('\xC3','\x85'), o2('\xC3','\x86'), - o2('\xC4','\xAE'), o2('\xC4','\x8C'), - o2('\xC3','\x89'), o2('\xC4','\x98'), - o2('\xC3','\x8B'), o2('\xC4','\x96'), - o2('\xC3','\x8D'), o2('\xC3','\x8E'), - o2('\xC3','\x8F'), o2('\xC3','\x90'), - o2('\xC5','\x85'), o2('\xC5','\x8C'), - o2('\xC3','\x93'), o2('\xC3','\x94'), - o2('\xC3','\x95'), o2('\xC3','\x96'), - o2('\xC5','\xA8'), o2('\xC3','\x98'), - o2('\xC5','\xB2'), o2('\xC3','\x9A'), - o2('\xC3','\x9B'), o2('\xC3','\x9C'), - o2('\xC3','\x9D'), o2('\xC3','\x9E'), - o2('\xC3','\x9F'), o2('\xC4','\x81'), - o2('\xC3','\xA1'), o2('\xC3','\xA2'), - o2('\xC3','\xA3'), o2('\xC3','\xA4'), - o2('\xC3','\xA5'), o2('\xC3','\xA6'), - o2('\xC4','\xAF'), o2('\xC4','\x8D'), - o2('\xC3','\xA9'), o2('\xC4','\x99'), - o2('\xC3','\xAB'), o2('\xC4','\x97'), - o2('\xC3','\xAD'), o2('\xC3','\xAE'), - o2('\xC3','\xAF'), o2('\xC3','\xB0'), - o2('\xC5','\x86'), o2('\xC5','\x8D'), - o2('\xC3','\xB3'), o2('\xC3','\xB4'), - o2('\xC3','\xB5'), o2('\xC3','\xB6'), - o2('\xC5','\xA9'), o2('\xC3','\xB8'), - o2('\xC5','\xB3'), o2('\xC3','\xBA'), - o2('\xC3','\xBB'), o2('\xC3','\xBC'), - o2('\xC3','\xBD'), o2('\xC3','\xBE'), - o2('\xC4','\xB8'), + NOMAP, o2(0xC2,0x80), + o2(0xC2,0x81), o2(0xC2,0x82), + o2(0xC2,0x83), o2(0xC2,0x84), + o2(0xC2,0x85), o2(0xC2,0x86), + o2(0xC2,0x87), o2(0xC2,0x88), + o2(0xC2,0x89), o2(0xC2,0x8A), + o2(0xC2,0x8B), o2(0xC2,0x8C), + o2(0xC2,0x8D), o2(0xC2,0x8E), + o2(0xC2,0x8F), o2(0xC2,0x90), + o2(0xC2,0x91), o2(0xC2,0x92), + o2(0xC2,0x93), o2(0xC2,0x94), + o2(0xC2,0x95), o2(0xC2,0x96), + o2(0xC2,0x97), o2(0xC2,0x98), + o2(0xC2,0x99), o2(0xC2,0x9A), + o2(0xC2,0x9B), o2(0xC2,0x9C), + o2(0xC2,0x9D), o2(0xC2,0x9E), + o2(0xC2,0x9F), o2(0xC2,0xA0), + o2(0xC4,0x84), o2(0xC4,0x92), + o2(0xC4,0xA2), o2(0xC4,0xAA), + o2(0xC4,0xA8), o2(0xC4,0xB6), + o2(0xC2,0xA7), o2(0xC4,0xBB), + o2(0xC4,0x90), o2(0xC5,0xA0), + o2(0xC5,0xA6), o2(0xC5,0xBD), + o2(0xC2,0xAD), o2(0xC5,0xAA), + o2(0xC5,0x8A), o2(0xC2,0xB0), + o2(0xC4,0x85), o2(0xC4,0x93), + o2(0xC4,0xA3), o2(0xC4,0xAB), + o2(0xC4,0xA9), o2(0xC4,0xB7), + o2(0xC2,0xB7), o2(0xC4,0xBC), + o2(0xC4,0x91), o2(0xC5,0xA1), + o2(0xC5,0xA7), o2(0xC5,0xBE), + o3(0xE2,0x80,0x95), o2(0xC5,0xAB), + o2(0xC5,0x8B), o2(0xC4,0x80), + o2(0xC3,0x81), o2(0xC3,0x82), + o2(0xC3,0x83), o2(0xC3,0x84), + o2(0xC3,0x85), o2(0xC3,0x86), + o2(0xC4,0xAE), o2(0xC4,0x8C), + o2(0xC3,0x89), o2(0xC4,0x98), + o2(0xC3,0x8B), o2(0xC4,0x96), + o2(0xC3,0x8D), o2(0xC3,0x8E), + o2(0xC3,0x8F), o2(0xC3,0x90), + o2(0xC5,0x85), o2(0xC5,0x8C), + o2(0xC3,0x93), o2(0xC3,0x94), + o2(0xC3,0x95), o2(0xC3,0x96), + o2(0xC5,0xA8), o2(0xC3,0x98), + o2(0xC5,0xB2), o2(0xC3,0x9A), + o2(0xC3,0x9B), o2(0xC3,0x9C), + o2(0xC3,0x9D), o2(0xC3,0x9E), + o2(0xC3,0x9F), o2(0xC4,0x81), + o2(0xC3,0xA1), o2(0xC3,0xA2), + o2(0xC3,0xA3), o2(0xC3,0xA4), + o2(0xC3,0xA5), o2(0xC3,0xA6), + o2(0xC4,0xAF), o2(0xC4,0x8D), + o2(0xC3,0xA9), o2(0xC4,0x99), + o2(0xC3,0xAB), o2(0xC4,0x97), + o2(0xC3,0xAD), o2(0xC3,0xAE), + o2(0xC3,0xAF), o2(0xC3,0xB0), + o2(0xC5,0x86), o2(0xC5,0x8D), + o2(0xC3,0xB3), o2(0xC3,0xB4), + o2(0xC3,0xB5), o2(0xC3,0xB6), + o2(0xC5,0xA9), o2(0xC3,0xB8), + o2(0xC5,0xB3), o2(0xC3,0xBA), + o2(0xC3,0xBB), o2(0xC3,0xBC), + o2(0xC3,0xBD), o2(0xC3,0xBE), + o2(0xC4,0xB8), }; const BYTE_LOOKUP from_ISO_8859_10 = { @@ -2092,21 +1861,21 @@ static const unsigned char to_ISO_8859_10_C2_offsets[64] = { 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, - 32, -1, -1, -1, -1, -1, -1, 33, -1, -1, -1, -1, -1, 34, -1, -1, - 35, -1, -1, -1, -1, -1, -1, 36, -1, -1, -1, -1, -1, -1, -1, -1, + 32, 37, 37, 37, 37, 37, 37, 33, 37, 37, 37, 37, 37, 34, 37, 37, + 35, 37, 37, 37, 37, 37, 37, 36, 37, 37, 37, 37, 37, 37, 37, 37, }; static const struct byte_lookup* const -to_ISO_8859_10_C2_infos[37] = { - o1('\x80'), o1('\x81'), o1('\x82'), o1('\x83'), - o1('\x84'), o1('\x85'), o1('\x86'), o1('\x87'), - o1('\x88'), o1('\x89'), o1('\x8A'), o1('\x8B'), - o1('\x8C'), o1('\x8D'), o1('\x8E'), o1('\x8F'), - o1('\x90'), o1('\x91'), o1('\x92'), o1('\x93'), - o1('\x94'), o1('\x95'), o1('\x96'), o1('\x97'), - o1('\x98'), o1('\x99'), o1('\x9A'), o1('\x9B'), - o1('\x9C'), o1('\x9D'), o1('\x9E'), o1('\x9F'), - o1('\xA0'), o1('\xA7'), o1('\xAD'), o1('\xB0'), - o1('\xB7'), +to_ISO_8859_10_C2_infos[38] = { + o1(0x80), o1(0x81), o1(0x82), o1(0x83), + o1(0x84), o1(0x85), o1(0x86), o1(0x87), + o1(0x88), o1(0x89), o1(0x8A), o1(0x8B), + o1(0x8C), o1(0x8D), o1(0x8E), o1(0x8F), + o1(0x90), o1(0x91), o1(0x92), o1(0x93), + o1(0x94), o1(0x95), o1(0x96), o1(0x97), + o1(0x98), o1(0x99), o1(0x9A), o1(0x9B), + o1(0x9C), o1(0x9D), o1(0x9E), o1(0x9F), + o1(0xA0), o1(0xA7), o1(0xAD), o1(0xB0), + o1(0xB7), UNDEF, }; static const BYTE_LOOKUP to_ISO_8859_10_C2 = { @@ -2116,25 +1885,25 @@ to_ISO_8859_10_C2 = { static const unsigned char to_ISO_8859_10_C3_offsets[64] = { - -1, 0, 1, 2, 3, 4, 5, -1, -1, 6, -1, 7, -1, 8, 9, 10, - 11, -1, -1, 12, 13, 14, 15, -1, 16, -1, 17, 18, 19, 20, 21, 22, - -1, 23, 24, 25, 26, 27, 28, -1, -1, 29, -1, 30, -1, 31, 32, 33, - 34, -1, -1, 35, 36, 37, 38, -1, 39, -1, 40, 41, 42, 43, 44, -1, -}; -static const struct byte_lookup* const -to_ISO_8859_10_C3_infos[45] = { - o1('\xC1'), o1('\xC2'), o1('\xC3'), o1('\xC4'), - o1('\xC5'), o1('\xC6'), o1('\xC9'), o1('\xCB'), - o1('\xCD'), o1('\xCE'), o1('\xCF'), o1('\xD0'), - o1('\xD3'), o1('\xD4'), o1('\xD5'), o1('\xD6'), - o1('\xD8'), o1('\xDA'), o1('\xDB'), o1('\xDC'), - o1('\xDD'), o1('\xDE'), o1('\xDF'), o1('\xE1'), - o1('\xE2'), o1('\xE3'), o1('\xE4'), o1('\xE5'), - o1('\xE6'), o1('\xE9'), o1('\xEB'), o1('\xED'), - o1('\xEE'), o1('\xEF'), o1('\xF0'), o1('\xF3'), - o1('\xF4'), o1('\xF5'), o1('\xF6'), o1('\xF8'), - o1('\xFA'), o1('\xFB'), o1('\xFC'), o1('\xFD'), - o1('\xFE'), + 45, 0, 1, 2, 3, 4, 5, 45, 45, 6, 45, 7, 45, 8, 9, 10, + 11, 45, 45, 12, 13, 14, 15, 45, 16, 45, 17, 18, 19, 20, 21, 22, + 45, 23, 24, 25, 26, 27, 28, 45, 45, 29, 45, 30, 45, 31, 32, 33, + 34, 45, 45, 35, 36, 37, 38, 45, 39, 45, 40, 41, 42, 43, 44, 45, +}; +static const struct byte_lookup* const +to_ISO_8859_10_C3_infos[46] = { + o1(0xC1), o1(0xC2), o1(0xC3), o1(0xC4), + o1(0xC5), o1(0xC6), o1(0xC9), o1(0xCB), + o1(0xCD), o1(0xCE), o1(0xCF), o1(0xD0), + o1(0xD3), o1(0xD4), o1(0xD5), o1(0xD6), + o1(0xD8), o1(0xDA), o1(0xDB), o1(0xDC), + o1(0xDD), o1(0xDE), o1(0xDF), o1(0xE1), + o1(0xE2), o1(0xE3), o1(0xE4), o1(0xE5), + o1(0xE6), o1(0xE9), o1(0xEB), o1(0xED), + o1(0xEE), o1(0xEF), o1(0xF0), o1(0xF3), + o1(0xF4), o1(0xF5), o1(0xF6), o1(0xF8), + o1(0xFA), o1(0xFB), o1(0xFC), o1(0xFD), + o1(0xFE), UNDEF, }; static const BYTE_LOOKUP to_ISO_8859_10_C3 = { @@ -2142,22 +1911,15 @@ to_ISO_8859_10_C3 = { to_ISO_8859_10_C3_infos }; -static const unsigned char -to_ISO_8859_10_C4_offsets[64] = { - 0, 1, -1, -1, 2, 3, -1, -1, -1, -1, -1, -1, 4, 5, -1, -1, - 6, 7, 8, 9, -1, -1, 10, 11, 12, 13, -1, -1, -1, -1, -1, -1, - -1, -1, 14, 15, -1, -1, -1, -1, 16, 17, 18, 19, -1, -1, 20, 21, - -1, -1, -1, -1, -1, -1, 22, 23, 24, -1, -1, 25, 26, -1, -1, -1, -}; static const struct byte_lookup* const -to_ISO_8859_10_C4_infos[27] = { - o1('\xC0'), o1('\xE0'), o1('\xA1'), o1('\xB1'), - o1('\xC8'), o1('\xE8'), o1('\xA9'), o1('\xB9'), - o1('\xA2'), o1('\xB2'), o1('\xCC'), o1('\xEC'), - o1('\xCA'), o1('\xEA'), o1('\xA3'), o1('\xB3'), - o1('\xA5'), o1('\xB5'), o1('\xA4'), o1('\xB4'), - o1('\xC7'), o1('\xE7'), o1('\xA6'), o1('\xB6'), - o1('\xFF'), o1('\xA8'), o1('\xB8'), +to_ISO_8859_10_C4_infos[28] = { + o1(0xC0), o1(0xE0), o1(0xA1), o1(0xB1), + o1(0xC8), o1(0xE8), o1(0xA9), o1(0xB9), + o1(0xA2), o1(0xB2), o1(0xCC), o1(0xEC), + o1(0xCA), o1(0xEA), o1(0xA3), o1(0xB3), + o1(0xA5), o1(0xB5), o1(0xA4), o1(0xB4), + o1(0xC7), o1(0xE7), o1(0xA6), o1(0xB6), + o1(0xFF), o1(0xA8), o1(0xB8), UNDEF, }; static const BYTE_LOOKUP to_ISO_8859_10_C4 = { @@ -2167,18 +1929,18 @@ to_ISO_8859_10_C4 = { static const unsigned char to_ISO_8859_10_C5_offsets[64] = { - -1, -1, -1, -1, -1, 0, 1, -1, -1, -1, 2, 3, 4, 5, -1, -1, - -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - 6, 7, -1, -1, -1, -1, 8, 9, 10, 11, 12, 13, -1, -1, -1, -1, - -1, -1, 14, 15, -1, -1, -1, -1, -1, -1, -1, -1, -1, 16, 17, -1, + 18, 18, 18, 18, 18, 0, 1, 18, 18, 18, 2, 3, 4, 5, 18, 18, + 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, + 6, 7, 18, 18, 18, 18, 8, 9, 10, 11, 12, 13, 18, 18, 18, 18, + 18, 18, 14, 15, 18, 18, 18, 18, 18, 18, 18, 18, 18, 16, 17, 18, }; static const struct byte_lookup* const -to_ISO_8859_10_C5_infos[18] = { - o1('\xD1'), o1('\xF1'), o1('\xAF'), o1('\xBF'), - o1('\xD2'), o1('\xF2'), o1('\xAA'), o1('\xBA'), - o1('\xAB'), o1('\xBB'), o1('\xD7'), o1('\xF7'), - o1('\xAE'), o1('\xBE'), o1('\xD9'), o1('\xF9'), - o1('\xAC'), o1('\xBC'), +to_ISO_8859_10_C5_infos[19] = { + o1(0xD1), o1(0xF1), o1(0xAF), o1(0xBF), + o1(0xD2), o1(0xF2), o1(0xAA), o1(0xBA), + o1(0xAB), o1(0xBB), o1(0xD7), o1(0xF7), + o1(0xAE), o1(0xBE), o1(0xD9), o1(0xF9), + o1(0xAC), o1(0xBC), UNDEF, }; static const BYTE_LOOKUP to_ISO_8859_10_C5 = { @@ -2188,14 +1950,14 @@ to_ISO_8859_10_C5 = { static const unsigned char to_ISO_8859_10_E2_80_offsets[64] = { - -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, 0, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, + 1, 1, 1, 1, 1, 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, + 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, + 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, }; static const struct byte_lookup* const -to_ISO_8859_10_E2_80_infos[1] = { - o1('\xBD'), +to_ISO_8859_10_E2_80_infos[2] = { + o1(0xBD), UNDEF, }; static const BYTE_LOOKUP to_ISO_8859_10_E2_80 = { @@ -2205,14 +1967,14 @@ to_ISO_8859_10_E2_80 = { static const unsigned char to_ISO_8859_10_E2_offsets[64] = { - 0, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, + 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, + 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, + 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, }; static const struct byte_lookup* const -to_ISO_8859_10_E2_infos[1] = { - &to_ISO_8859_10_E2_80, +to_ISO_8859_10_E2_infos[2] = { + &to_ISO_8859_10_E2_80, UNDEF, }; static const BYTE_LOOKUP to_ISO_8859_10_E2 = { @@ -2222,6 +1984,8 @@ to_ISO_8859_10_E2 = { static const unsigned char to_ISO_8859_10_offsets[256] = { + /* used from to_ISO_8859_10 */ + /* used from to_ISO_8859_13 */ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, @@ -2230,19 +1994,21 @@ to_ISO_8859_10_offsets[256] = { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, 1, 2, 3, 4, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, 5, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, + 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, + 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, + 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, + 6, 6, 1, 2, 3, 4, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, + 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, + 6, 6, 5, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, + 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, }; static const struct byte_lookup* const -to_ISO_8859_10_infos[6] = { - NOMAP, &to_ISO_8859_10_C2, &to_ISO_8859_10_C3, &to_ISO_8859_10_C4, +to_ISO_8859_10_infos[7] = { + NOMAP, &to_ISO_8859_10_C2, + &to_ISO_8859_10_C3, &to_ISO_8859_10_C4, &to_ISO_8859_10_C5, &to_ISO_8859_10_E2, + UNDEF, }; const BYTE_LOOKUP to_ISO_8859_10 = { @@ -2265,73 +2031,73 @@ from_ISO_8859_11_offsets[256] = { 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, - 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, -1, -1, -1, -1, 92, + 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91,121,121,121,121, 92, 93, 94, 95, 96, 97, 98, 99,100, 101,102,103,104,105,106,107,108, - 109,110,111,112,113,114,115,116, 117,118,119,120, -1, -1, -1, -1, -}; -static const struct byte_lookup* const -from_ISO_8859_11_infos[121] = { - NOMAP, o2('\xC2','\x80'), - o2('\xC2','\x81'), o2('\xC2','\x82'), - o2('\xC2','\x83'), o2('\xC2','\x84'), - o2('\xC2','\x85'), o2('\xC2','\x86'), - o2('\xC2','\x87'), o2('\xC2','\x88'), - o2('\xC2','\x89'), o2('\xC2','\x8A'), - o2('\xC2','\x8B'), o2('\xC2','\x8C'), - o2('\xC2','\x8D'), o2('\xC2','\x8E'), - o2('\xC2','\x8F'), o2('\xC2','\x90'), - o2('\xC2','\x91'), o2('\xC2','\x92'), - o2('\xC2','\x93'), o2('\xC2','\x94'), - o2('\xC2','\x95'), o2('\xC2','\x96'), - o2('\xC2','\x97'), o2('\xC2','\x98'), - o2('\xC2','\x99'), o2('\xC2','\x9A'), - o2('\xC2','\x9B'), o2('\xC2','\x9C'), - o2('\xC2','\x9D'), o2('\xC2','\x9E'), - o2('\xC2','\x9F'), o2('\xC2','\xA0'), - o3('\xE0','\xB8','\x81'), o3('\xE0','\xB8','\x82'), - o3('\xE0','\xB8','\x83'), o3('\xE0','\xB8','\x84'), - o3('\xE0','\xB8','\x85'), o3('\xE0','\xB8','\x86'), - o3('\xE0','\xB8','\x87'), o3('\xE0','\xB8','\x88'), - o3('\xE0','\xB8','\x89'), o3('\xE0','\xB8','\x8A'), - o3('\xE0','\xB8','\x8B'), o3('\xE0','\xB8','\x8C'), - o3('\xE0','\xB8','\x8D'), o3('\xE0','\xB8','\x8E'), - o3('\xE0','\xB8','\x8F'), o3('\xE0','\xB8','\x90'), - o3('\xE0','\xB8','\x91'), o3('\xE0','\xB8','\x92'), - o3('\xE0','\xB8','\x93'), o3('\xE0','\xB8','\x94'), - o3('\xE0','\xB8','\x95'), o3('\xE0','\xB8','\x96'), - o3('\xE0','\xB8','\x97'), o3('\xE0','\xB8','\x98'), - o3('\xE0','\xB8','\x99'), o3('\xE0','\xB8','\x9A'), - o3('\xE0','\xB8','\x9B'), o3('\xE0','\xB8','\x9C'), - o3('\xE0','\xB8','\x9D'), o3('\xE0','\xB8','\x9E'), - o3('\xE0','\xB8','\x9F'), o3('\xE0','\xB8','\xA0'), - o3('\xE0','\xB8','\xA1'), o3('\xE0','\xB8','\xA2'), - o3('\xE0','\xB8','\xA3'), o3('\xE0','\xB8','\xA4'), - o3('\xE0','\xB8','\xA5'), o3('\xE0','\xB8','\xA6'), - o3('\xE0','\xB8','\xA7'), o3('\xE0','\xB8','\xA8'), - o3('\xE0','\xB8','\xA9'), o3('\xE0','\xB8','\xAA'), - o3('\xE0','\xB8','\xAB'), o3('\xE0','\xB8','\xAC'), - o3('\xE0','\xB8','\xAD'), o3('\xE0','\xB8','\xAE'), - o3('\xE0','\xB8','\xAF'), o3('\xE0','\xB8','\xB0'), - o3('\xE0','\xB8','\xB1'), o3('\xE0','\xB8','\xB2'), - o3('\xE0','\xB8','\xB3'), o3('\xE0','\xB8','\xB4'), - o3('\xE0','\xB8','\xB5'), o3('\xE0','\xB8','\xB6'), - o3('\xE0','\xB8','\xB7'), o3('\xE0','\xB8','\xB8'), - o3('\xE0','\xB8','\xB9'), o3('\xE0','\xB8','\xBA'), - o3('\xE0','\xB8','\xBF'), o3('\xE0','\xB9','\x80'), - o3('\xE0','\xB9','\x81'), o3('\xE0','\xB9','\x82'), - o3('\xE0','\xB9','\x83'), o3('\xE0','\xB9','\x84'), - o3('\xE0','\xB9','\x85'), o3('\xE0','\xB9','\x86'), - o3('\xE0','\xB9','\x87'), o3('\xE0','\xB9','\x88'), - o3('\xE0','\xB9','\x89'), o3('\xE0','\xB9','\x8A'), - o3('\xE0','\xB9','\x8B'), o3('\xE0','\xB9','\x8C'), - o3('\xE0','\xB9','\x8D'), o3('\xE0','\xB9','\x8E'), - o3('\xE0','\xB9','\x8F'), o3('\xE0','\xB9','\x90'), - o3('\xE0','\xB9','\x91'), o3('\xE0','\xB9','\x92'), - o3('\xE0','\xB9','\x93'), o3('\xE0','\xB9','\x94'), - o3('\xE0','\xB9','\x95'), o3('\xE0','\xB9','\x96'), - o3('\xE0','\xB9','\x97'), o3('\xE0','\xB9','\x98'), - o3('\xE0','\xB9','\x99'), o3('\xE0','\xB9','\x9A'), - o3('\xE0','\xB9','\x9B'), + 109,110,111,112,113,114,115,116, 117,118,119,120,121,121,121,121, +}; +static const struct byte_lookup* const +from_ISO_8859_11_infos[122] = { + NOMAP, o2(0xC2,0x80), + o2(0xC2,0x81), o2(0xC2,0x82), + o2(0xC2,0x83), o2(0xC2,0x84), + o2(0xC2,0x85), o2(0xC2,0x86), + o2(0xC2,0x87), o2(0xC2,0x88), + o2(0xC2,0x89), o2(0xC2,0x8A), + o2(0xC2,0x8B), o2(0xC2,0x8C), + o2(0xC2,0x8D), o2(0xC2,0x8E), + o2(0xC2,0x8F), o2(0xC2,0x90), + o2(0xC2,0x91), o2(0xC2,0x92), + o2(0xC2,0x93), o2(0xC2,0x94), + o2(0xC2,0x95), o2(0xC2,0x96), + o2(0xC2,0x97), o2(0xC2,0x98), + o2(0xC2,0x99), o2(0xC2,0x9A), + o2(0xC2,0x9B), o2(0xC2,0x9C), + o2(0xC2,0x9D), o2(0xC2,0x9E), + o2(0xC2,0x9F), o2(0xC2,0xA0), + o3(0xE0,0xB8,0x81), o3(0xE0,0xB8,0x82), + o3(0xE0,0xB8,0x83), o3(0xE0,0xB8,0x84), + o3(0xE0,0xB8,0x85), o3(0xE0,0xB8,0x86), + o3(0xE0,0xB8,0x87), o3(0xE0,0xB8,0x88), + o3(0xE0,0xB8,0x89), o3(0xE0,0xB8,0x8A), + o3(0xE0,0xB8,0x8B), o3(0xE0,0xB8,0x8C), + o3(0xE0,0xB8,0x8D), o3(0xE0,0xB8,0x8E), + o3(0xE0,0xB8,0x8F), o3(0xE0,0xB8,0x90), + o3(0xE0,0xB8,0x91), o3(0xE0,0xB8,0x92), + o3(0xE0,0xB8,0x93), o3(0xE0,0xB8,0x94), + o3(0xE0,0xB8,0x95), o3(0xE0,0xB8,0x96), + o3(0xE0,0xB8,0x97), o3(0xE0,0xB8,0x98), + o3(0xE0,0xB8,0x99), o3(0xE0,0xB8,0x9A), + o3(0xE0,0xB8,0x9B), o3(0xE0,0xB8,0x9C), + o3(0xE0,0xB8,0x9D), o3(0xE0,0xB8,0x9E), + o3(0xE0,0xB8,0x9F), o3(0xE0,0xB8,0xA0), + o3(0xE0,0xB8,0xA1), o3(0xE0,0xB8,0xA2), + o3(0xE0,0xB8,0xA3), o3(0xE0,0xB8,0xA4), + o3(0xE0,0xB8,0xA5), o3(0xE0,0xB8,0xA6), + o3(0xE0,0xB8,0xA7), o3(0xE0,0xB8,0xA8), + o3(0xE0,0xB8,0xA9), o3(0xE0,0xB8,0xAA), + o3(0xE0,0xB8,0xAB), o3(0xE0,0xB8,0xAC), + o3(0xE0,0xB8,0xAD), o3(0xE0,0xB8,0xAE), + o3(0xE0,0xB8,0xAF), o3(0xE0,0xB8,0xB0), + o3(0xE0,0xB8,0xB1), o3(0xE0,0xB8,0xB2), + o3(0xE0,0xB8,0xB3), o3(0xE0,0xB8,0xB4), + o3(0xE0,0xB8,0xB5), o3(0xE0,0xB8,0xB6), + o3(0xE0,0xB8,0xB7), o3(0xE0,0xB8,0xB8), + o3(0xE0,0xB8,0xB9), o3(0xE0,0xB8,0xBA), + o3(0xE0,0xB8,0xBF), o3(0xE0,0xB9,0x80), + o3(0xE0,0xB9,0x81), o3(0xE0,0xB9,0x82), + o3(0xE0,0xB9,0x83), o3(0xE0,0xB9,0x84), + o3(0xE0,0xB9,0x85), o3(0xE0,0xB9,0x86), + o3(0xE0,0xB9,0x87), o3(0xE0,0xB9,0x88), + o3(0xE0,0xB9,0x89), o3(0xE0,0xB9,0x8A), + o3(0xE0,0xB9,0x8B), o3(0xE0,0xB9,0x8C), + o3(0xE0,0xB9,0x8D), o3(0xE0,0xB9,0x8E), + o3(0xE0,0xB9,0x8F), o3(0xE0,0xB9,0x90), + o3(0xE0,0xB9,0x91), o3(0xE0,0xB9,0x92), + o3(0xE0,0xB9,0x93), o3(0xE0,0xB9,0x94), + o3(0xE0,0xB9,0x95), o3(0xE0,0xB9,0x96), + o3(0xE0,0xB9,0x97), o3(0xE0,0xB9,0x98), + o3(0xE0,0xB9,0x99), o3(0xE0,0xB9,0x9A), + o3(0xE0,0xB9,0x9B), UNDEF, }; const BYTE_LOOKUP from_ISO_8859_11 = { @@ -2343,20 +2109,20 @@ static const unsigned char to_ISO_8859_11_C2_offsets[64] = { 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, - 32, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + 32, 33, 33, 33, 33, 33, 33, 33, 33, 33, 33, 33, 33, 33, 33, 33, + 33, 33, 33, 33, 33, 33, 33, 33, 33, 33, 33, 33, 33, 33, 33, 33, }; static const struct byte_lookup* const -to_ISO_8859_11_C2_infos[33] = { - o1('\x80'), o1('\x81'), o1('\x82'), o1('\x83'), - o1('\x84'), o1('\x85'), o1('\x86'), o1('\x87'), - o1('\x88'), o1('\x89'), o1('\x8A'), o1('\x8B'), - o1('\x8C'), o1('\x8D'), o1('\x8E'), o1('\x8F'), - o1('\x90'), o1('\x91'), o1('\x92'), o1('\x93'), - o1('\x94'), o1('\x95'), o1('\x96'), o1('\x97'), - o1('\x98'), o1('\x99'), o1('\x9A'), o1('\x9B'), - o1('\x9C'), o1('\x9D'), o1('\x9E'), o1('\x9F'), - o1('\xA0'), +to_ISO_8859_11_C2_infos[34] = { + o1(0x80), o1(0x81), o1(0x82), o1(0x83), + o1(0x84), o1(0x85), o1(0x86), o1(0x87), + o1(0x88), o1(0x89), o1(0x8A), o1(0x8B), + o1(0x8C), o1(0x8D), o1(0x8E), o1(0x8F), + o1(0x90), o1(0x91), o1(0x92), o1(0x93), + o1(0x94), o1(0x95), o1(0x96), o1(0x97), + o1(0x98), o1(0x99), o1(0x9A), o1(0x9B), + o1(0x9C), o1(0x9D), o1(0x9E), o1(0x9F), + o1(0xA0), UNDEF, }; static const BYTE_LOOKUP to_ISO_8859_11_C2 = { @@ -2366,28 +2132,28 @@ to_ISO_8859_11_C2 = { static const unsigned char to_ISO_8859_11_E0_B8_offsets[64] = { - -1, 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, + 59, 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, - 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, -1, -1, -1, -1, 58, -}; -static const struct byte_lookup* const -to_ISO_8859_11_E0_B8_infos[59] = { - o1('\xA1'), o1('\xA2'), o1('\xA3'), o1('\xA4'), - o1('\xA5'), o1('\xA6'), o1('\xA7'), o1('\xA8'), - o1('\xA9'), o1('\xAA'), o1('\xAB'), o1('\xAC'), - o1('\xAD'), o1('\xAE'), o1('\xAF'), o1('\xB0'), - o1('\xB1'), o1('\xB2'), o1('\xB3'), o1('\xB4'), - o1('\xB5'), o1('\xB6'), o1('\xB7'), o1('\xB8'), - o1('\xB9'), o1('\xBA'), o1('\xBB'), o1('\xBC'), - o1('\xBD'), o1('\xBE'), o1('\xBF'), o1('\xC0'), - o1('\xC1'), o1('\xC2'), o1('\xC3'), o1('\xC4'), - o1('\xC5'), o1('\xC6'), o1('\xC7'), o1('\xC8'), - o1('\xC9'), o1('\xCA'), o1('\xCB'), o1('\xCC'), - o1('\xCD'), o1('\xCE'), o1('\xCF'), o1('\xD0'), - o1('\xD1'), o1('\xD2'), o1('\xD3'), o1('\xD4'), - o1('\xD5'), o1('\xD6'), o1('\xD7'), o1('\xD8'), - o1('\xD9'), o1('\xDA'), o1('\xDF'), + 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 59, 59, 59, 59, 58, +}; +static const struct byte_lookup* const +to_ISO_8859_11_E0_B8_infos[60] = { + o1(0xA1), o1(0xA2), o1(0xA3), o1(0xA4), + o1(0xA5), o1(0xA6), o1(0xA7), o1(0xA8), + o1(0xA9), o1(0xAA), o1(0xAB), o1(0xAC), + o1(0xAD), o1(0xAE), o1(0xAF), o1(0xB0), + o1(0xB1), o1(0xB2), o1(0xB3), o1(0xB4), + o1(0xB5), o1(0xB6), o1(0xB7), o1(0xB8), + o1(0xB9), o1(0xBA), o1(0xBB), o1(0xBC), + o1(0xBD), o1(0xBE), o1(0xBF), o1(0xC0), + o1(0xC1), o1(0xC2), o1(0xC3), o1(0xC4), + o1(0xC5), o1(0xC6), o1(0xC7), o1(0xC8), + o1(0xC9), o1(0xCA), o1(0xCB), o1(0xCC), + o1(0xCD), o1(0xCE), o1(0xCF), o1(0xD0), + o1(0xD1), o1(0xD2), o1(0xD3), o1(0xD4), + o1(0xD5), o1(0xD6), o1(0xD7), o1(0xD8), + o1(0xD9), o1(0xDA), o1(0xDF), UNDEF, }; static const BYTE_LOOKUP to_ISO_8859_11_E0_B8 = { @@ -2398,19 +2164,20 @@ to_ISO_8859_11_E0_B8 = { static const unsigned char to_ISO_8859_11_E0_B9_offsets[64] = { 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, - 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 28, 28, 28, + 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, + 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, }; static const struct byte_lookup* const -to_ISO_8859_11_E0_B9_infos[28] = { - o1('\xE0'), o1('\xE1'), o1('\xE2'), o1('\xE3'), - o1('\xE4'), o1('\xE5'), o1('\xE6'), o1('\xE7'), - o1('\xE8'), o1('\xE9'), o1('\xEA'), o1('\xEB'), - o1('\xEC'), o1('\xED'), o1('\xEE'), o1('\xEF'), - o1('\xF0'), o1('\xF1'), o1('\xF2'), o1('\xF3'), - o1('\xF4'), o1('\xF5'), o1('\xF6'), o1('\xF7'), - o1('\xF8'), o1('\xF9'), o1('\xFA'), o1('\xFB'), +to_ISO_8859_11_E0_B9_infos[29] = { + o1(0xE0), o1(0xE1), o1(0xE2), o1(0xE3), + o1(0xE4), o1(0xE5), o1(0xE6), o1(0xE7), + o1(0xE8), o1(0xE9), o1(0xEA), o1(0xEB), + o1(0xEC), o1(0xED), o1(0xEE), o1(0xEF), + o1(0xF0), o1(0xF1), o1(0xF2), o1(0xF3), + o1(0xF4), o1(0xF5), o1(0xF6), o1(0xF7), + o1(0xF8), o1(0xF9), o1(0xFA), o1(0xFB), + UNDEF, }; static const BYTE_LOOKUP to_ISO_8859_11_E0_B9 = { @@ -2420,14 +2187,15 @@ to_ISO_8859_11_E0_B9 = { static const unsigned char to_ISO_8859_11_E0_offsets[64] = { - -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, -1, 0, 1, -1, -1, -1, -1, -1, -1, + 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, + 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, + 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, + 2, 2, 2, 2, 2, 2, 2, 2, 0, 1, 2, 2, 2, 2, 2, 2, }; static const struct byte_lookup* const -to_ISO_8859_11_E0_infos[2] = { +to_ISO_8859_11_E0_infos[3] = { &to_ISO_8859_11_E0_B8, &to_ISO_8859_11_E0_B9, + UNDEF, }; static const BYTE_LOOKUP to_ISO_8859_11_E0 = { @@ -2445,18 +2213,19 @@ to_ISO_8859_11_offsets[256] = { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, 1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - 2, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, + 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, + 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, + 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, + 3, 3, 1, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, + 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, + 2, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, + 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, }; static const struct byte_lookup* const -to_ISO_8859_11_infos[3] = { - NOMAP, &to_ISO_8859_11_C2, &to_ISO_8859_11_E0, +to_ISO_8859_11_infos[4] = { + NOMAP, &to_ISO_8859_11_C2, + &to_ISO_8859_11_E0, UNDEF, }; const BYTE_LOOKUP to_ISO_8859_11 = { @@ -2464,92 +2233,73 @@ to_ISO_8859_11 = { to_ISO_8859_11_infos }; -static const unsigned char -from_ISO_8859_13_offsets[256] = { - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, - 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, - 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, - 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, - 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, - 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, - 97, 98, 99,100,101,102,103,104, 105,106,107,108,109,110,111,112, - 113,114,115,116,117,118,119,120, 121,122,123,124,125,126,127,128, -}; static const struct byte_lookup* const from_ISO_8859_13_infos[129] = { - NOMAP, o2('\xC2','\x80'), - o2('\xC2','\x81'), o2('\xC2','\x82'), - o2('\xC2','\x83'), o2('\xC2','\x84'), - o2('\xC2','\x85'), o2('\xC2','\x86'), - o2('\xC2','\x87'), o2('\xC2','\x88'), - o2('\xC2','\x89'), o2('\xC2','\x8A'), - o2('\xC2','\x8B'), o2('\xC2','\x8C'), - o2('\xC2','\x8D'), o2('\xC2','\x8E'), - o2('\xC2','\x8F'), o2('\xC2','\x90'), - o2('\xC2','\x91'), o2('\xC2','\x92'), - o2('\xC2','\x93'), o2('\xC2','\x94'), - o2('\xC2','\x95'), o2('\xC2','\x96'), - o2('\xC2','\x97'), o2('\xC2','\x98'), - o2('\xC2','\x99'), o2('\xC2','\x9A'), - o2('\xC2','\x9B'), o2('\xC2','\x9C'), - o2('\xC2','\x9D'), o2('\xC2','\x9E'), - o2('\xC2','\x9F'), o2('\xC2','\xA0'), - o3('\xE2','\x80','\x9D'), o2('\xC2','\xA2'), - o2('\xC2','\xA3'), o2('\xC2','\xA4'), - o3('\xE2','\x80','\x9E'), o2('\xC2','\xA6'), - o2('\xC2','\xA7'), o2('\xC3','\x98'), - o2('\xC2','\xA9'), o2('\xC5','\x96'), - o2('\xC2','\xAB'), o2('\xC2','\xAC'), - o2('\xC2','\xAD'), o2('\xC2','\xAE'), - o2('\xC3','\x86'), o2('\xC2','\xB0'), - o2('\xC2','\xB1'), o2('\xC2','\xB2'), - o2('\xC2','\xB3'), o3('\xE2','\x80','\x9C'), - o2('\xC2','\xB5'), o2('\xC2','\xB6'), - o2('\xC2','\xB7'), o2('\xC3','\xB8'), - o2('\xC2','\xB9'), o2('\xC5','\x97'), - o2('\xC2','\xBB'), o2('\xC2','\xBC'), - o2('\xC2','\xBD'), o2('\xC2','\xBE'), - o2('\xC3','\xA6'), o2('\xC4','\x84'), - o2('\xC4','\xAE'), o2('\xC4','\x80'), - o2('\xC4','\x86'), o2('\xC3','\x84'), - o2('\xC3','\x85'), o2('\xC4','\x98'), - o2('\xC4','\x92'), o2('\xC4','\x8C'), - o2('\xC3','\x89'), o2('\xC5','\xB9'), - o2('\xC4','\x96'), o2('\xC4','\xA2'), - o2('\xC4','\xB6'), o2('\xC4','\xAA'), - o2('\xC4','\xBB'), o2('\xC5','\xA0'), - o2('\xC5','\x83'), o2('\xC5','\x85'), - o2('\xC3','\x93'), o2('\xC5','\x8C'), - o2('\xC3','\x95'), o2('\xC3','\x96'), - o2('\xC3','\x97'), o2('\xC5','\xB2'), - o2('\xC5','\x81'), o2('\xC5','\x9A'), - o2('\xC5','\xAA'), o2('\xC3','\x9C'), - o2('\xC5','\xBB'), o2('\xC5','\xBD'), - o2('\xC3','\x9F'), o2('\xC4','\x85'), - o2('\xC4','\xAF'), o2('\xC4','\x81'), - o2('\xC4','\x87'), o2('\xC3','\xA4'), - o2('\xC3','\xA5'), o2('\xC4','\x99'), - o2('\xC4','\x93'), o2('\xC4','\x8D'), - o2('\xC3','\xA9'), o2('\xC5','\xBA'), - o2('\xC4','\x97'), o2('\xC4','\xA3'), - o2('\xC4','\xB7'), o2('\xC4','\xAB'), - o2('\xC4','\xBC'), o2('\xC5','\xA1'), - o2('\xC5','\x84'), o2('\xC5','\x86'), - o2('\xC3','\xB3'), o2('\xC5','\x8D'), - o2('\xC3','\xB5'), o2('\xC3','\xB6'), - o2('\xC3','\xB7'), o2('\xC5','\xB3'), - o2('\xC5','\x82'), o2('\xC5','\x9B'), - o2('\xC5','\xAB'), o2('\xC3','\xBC'), - o2('\xC5','\xBC'), o2('\xC5','\xBE'), - o3('\xE2','\x80','\x99'), + NOMAP, o2(0xC2,0x80), + o2(0xC2,0x81), o2(0xC2,0x82), + o2(0xC2,0x83), o2(0xC2,0x84), + o2(0xC2,0x85), o2(0xC2,0x86), + o2(0xC2,0x87), o2(0xC2,0x88), + o2(0xC2,0x89), o2(0xC2,0x8A), + o2(0xC2,0x8B), o2(0xC2,0x8C), + o2(0xC2,0x8D), o2(0xC2,0x8E), + o2(0xC2,0x8F), o2(0xC2,0x90), + o2(0xC2,0x91), o2(0xC2,0x92), + o2(0xC2,0x93), o2(0xC2,0x94), + o2(0xC2,0x95), o2(0xC2,0x96), + o2(0xC2,0x97), o2(0xC2,0x98), + o2(0xC2,0x99), o2(0xC2,0x9A), + o2(0xC2,0x9B), o2(0xC2,0x9C), + o2(0xC2,0x9D), o2(0xC2,0x9E), + o2(0xC2,0x9F), o2(0xC2,0xA0), + o3(0xE2,0x80,0x9D), o2(0xC2,0xA2), + o2(0xC2,0xA3), o2(0xC2,0xA4), + o3(0xE2,0x80,0x9E), o2(0xC2,0xA6), + o2(0xC2,0xA7), o2(0xC3,0x98), + o2(0xC2,0xA9), o2(0xC5,0x96), + o2(0xC2,0xAB), o2(0xC2,0xAC), + o2(0xC2,0xAD), o2(0xC2,0xAE), + o2(0xC3,0x86), o2(0xC2,0xB0), + o2(0xC2,0xB1), o2(0xC2,0xB2), + o2(0xC2,0xB3), o3(0xE2,0x80,0x9C), + o2(0xC2,0xB5), o2(0xC2,0xB6), + o2(0xC2,0xB7), o2(0xC3,0xB8), + o2(0xC2,0xB9), o2(0xC5,0x97), + o2(0xC2,0xBB), o2(0xC2,0xBC), + o2(0xC2,0xBD), o2(0xC2,0xBE), + o2(0xC3,0xA6), o2(0xC4,0x84), + o2(0xC4,0xAE), o2(0xC4,0x80), + o2(0xC4,0x86), o2(0xC3,0x84), + o2(0xC3,0x85), o2(0xC4,0x98), + o2(0xC4,0x92), o2(0xC4,0x8C), + o2(0xC3,0x89), o2(0xC5,0xB9), + o2(0xC4,0x96), o2(0xC4,0xA2), + o2(0xC4,0xB6), o2(0xC4,0xAA), + o2(0xC4,0xBB), o2(0xC5,0xA0), + o2(0xC5,0x83), o2(0xC5,0x85), + o2(0xC3,0x93), o2(0xC5,0x8C), + o2(0xC3,0x95), o2(0xC3,0x96), + o2(0xC3,0x97), o2(0xC5,0xB2), + o2(0xC5,0x81), o2(0xC5,0x9A), + o2(0xC5,0xAA), o2(0xC3,0x9C), + o2(0xC5,0xBB), o2(0xC5,0xBD), + o2(0xC3,0x9F), o2(0xC4,0x85), + o2(0xC4,0xAF), o2(0xC4,0x81), + o2(0xC4,0x87), o2(0xC3,0xA4), + o2(0xC3,0xA5), o2(0xC4,0x99), + o2(0xC4,0x93), o2(0xC4,0x8D), + o2(0xC3,0xA9), o2(0xC5,0xBA), + o2(0xC4,0x97), o2(0xC4,0xA3), + o2(0xC4,0xB7), o2(0xC4,0xAB), + o2(0xC4,0xBC), o2(0xC5,0xA1), + o2(0xC5,0x84), o2(0xC5,0x86), + o2(0xC3,0xB3), o2(0xC5,0x8D), + o2(0xC3,0xB5), o2(0xC3,0xB6), + o2(0xC3,0xB7), o2(0xC5,0xB3), + o2(0xC5,0x82), o2(0xC5,0x9B), + o2(0xC5,0xAB), o2(0xC3,0xBC), + o2(0xC5,0xBC), o2(0xC5,0xBE), + o3(0xE2,0x80,0x99), }; const BYTE_LOOKUP from_ISO_8859_13 = { @@ -2561,25 +2311,25 @@ static const unsigned char to_ISO_8859_13_C2_offsets[64] = { 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, - 32, -1, 33, 34, 35, -1, 36, 37, -1, 38, -1, 39, 40, 41, 42, -1, - 43, 44, 45, 46, -1, 47, 48, 49, -1, 50, -1, 51, 52, 53, 54, -1, -}; -static const struct byte_lookup* const -to_ISO_8859_13_C2_infos[55] = { - o1('\x80'), o1('\x81'), o1('\x82'), o1('\x83'), - o1('\x84'), o1('\x85'), o1('\x86'), o1('\x87'), - o1('\x88'), o1('\x89'), o1('\x8A'), o1('\x8B'), - o1('\x8C'), o1('\x8D'), o1('\x8E'), o1('\x8F'), - o1('\x90'), o1('\x91'), o1('\x92'), o1('\x93'), - o1('\x94'), o1('\x95'), o1('\x96'), o1('\x97'), - o1('\x98'), o1('\x99'), o1('\x9A'), o1('\x9B'), - o1('\x9C'), o1('\x9D'), o1('\x9E'), o1('\x9F'), - o1('\xA0'), o1('\xA2'), o1('\xA3'), o1('\xA4'), - o1('\xA6'), o1('\xA7'), o1('\xA9'), o1('\xAB'), - o1('\xAC'), o1('\xAD'), o1('\xAE'), o1('\xB0'), - o1('\xB1'), o1('\xB2'), o1('\xB3'), o1('\xB5'), - o1('\xB6'), o1('\xB7'), o1('\xB9'), o1('\xBB'), - o1('\xBC'), o1('\xBD'), o1('\xBE'), + 32, 55, 33, 34, 35, 55, 36, 37, 55, 38, 55, 39, 40, 41, 42, 55, + 43, 44, 45, 46, 55, 47, 48, 49, 55, 50, 55, 51, 52, 53, 54, 55, +}; +static const struct byte_lookup* const +to_ISO_8859_13_C2_infos[56] = { + o1(0x80), o1(0x81), o1(0x82), o1(0x83), + o1(0x84), o1(0x85), o1(0x86), o1(0x87), + o1(0x88), o1(0x89), o1(0x8A), o1(0x8B), + o1(0x8C), o1(0x8D), o1(0x8E), o1(0x8F), + o1(0x90), o1(0x91), o1(0x92), o1(0x93), + o1(0x94), o1(0x95), o1(0x96), o1(0x97), + o1(0x98), o1(0x99), o1(0x9A), o1(0x9B), + o1(0x9C), o1(0x9D), o1(0x9E), o1(0x9F), + o1(0xA0), o1(0xA2), o1(0xA3), o1(0xA4), + o1(0xA6), o1(0xA7), o1(0xA9), o1(0xAB), + o1(0xAC), o1(0xAD), o1(0xAE), o1(0xB0), + o1(0xB1), o1(0xB2), o1(0xB3), o1(0xB5), + o1(0xB6), o1(0xB7), o1(0xB9), o1(0xBB), + o1(0xBC), o1(0xBD), o1(0xBE), UNDEF, }; static const BYTE_LOOKUP to_ISO_8859_13_C2 = { @@ -2589,19 +2339,19 @@ to_ISO_8859_13_C2 = { static const unsigned char to_ISO_8859_13_C3_offsets[64] = { - -1, -1, -1, -1, 0, 1, 2, -1, -1, 3, -1, -1, -1, -1, -1, -1, - -1, -1, -1, 4, -1, 5, 6, 7, 8, -1, -1, -1, 9, -1, -1, 10, - -1, -1, -1, -1, 11, 12, 13, -1, -1, 14, -1, -1, -1, -1, -1, -1, - -1, -1, -1, 15, -1, 16, 17, 18, 19, -1, -1, -1, 20, -1, -1, -1, + 21, 21, 21, 21, 0, 1, 2, 21, 21, 3, 21, 21, 21, 21, 21, 21, + 21, 21, 21, 4, 21, 5, 6, 7, 8, 21, 21, 21, 9, 21, 21, 10, + 21, 21, 21, 21, 11, 12, 13, 21, 21, 14, 21, 21, 21, 21, 21, 21, + 21, 21, 21, 15, 21, 16, 17, 18, 19, 21, 21, 21, 20, 21, 21, 21, }; static const struct byte_lookup* const -to_ISO_8859_13_C3_infos[21] = { - o1('\xC4'), o1('\xC5'), o1('\xAF'), o1('\xC9'), - o1('\xD3'), o1('\xD5'), o1('\xD6'), o1('\xD7'), - o1('\xA8'), o1('\xDC'), o1('\xDF'), o1('\xE4'), - o1('\xE5'), o1('\xBF'), o1('\xE9'), o1('\xF3'), - o1('\xF5'), o1('\xF6'), o1('\xF7'), o1('\xB8'), - o1('\xFC'), +to_ISO_8859_13_C3_infos[22] = { + o1(0xC4), o1(0xC5), o1(0xAF), o1(0xC9), + o1(0xD3), o1(0xD5), o1(0xD6), o1(0xD7), + o1(0xA8), o1(0xDC), o1(0xDF), o1(0xE4), + o1(0xE5), o1(0xBF), o1(0xE9), o1(0xF3), + o1(0xF5), o1(0xF6), o1(0xF7), o1(0xB8), + o1(0xFC), UNDEF, }; static const BYTE_LOOKUP to_ISO_8859_13_C3 = { @@ -2611,19 +2361,20 @@ to_ISO_8859_13_C3 = { static const unsigned char to_ISO_8859_13_C4_offsets[64] = { - 0, 1, -1, -1, 2, 3, 4, 5, -1, -1, -1, -1, 6, 7, -1, -1, - -1, -1, 8, 9, -1, -1, 10, 11, 12, 13, -1, -1, -1, -1, -1, -1, - -1, -1, 14, 15, -1, -1, -1, -1, -1, -1, 16, 17, -1, -1, 18, 19, - -1, -1, -1, -1, -1, -1, 20, 21, -1, -1, -1, 22, 23, -1, -1, -1, + 0, 1, 24, 24, 2, 3, 4, 5, 24, 24, 24, 24, 6, 7, 24, 24, + 24, 24, 8, 9, 24, 24, 10, 11, 12, 13, 24, 24, 24, 24, 24, 24, + 24, 24, 14, 15, 24, 24, 24, 24, 24, 24, 16, 17, 24, 24, 18, 19, + 24, 24, 24, 24, 24, 24, 20, 21, 24, 24, 24, 22, 23, 24, 24, 24, }; static const struct byte_lookup* const -to_ISO_8859_13_C4_infos[24] = { - o1('\xC2'), o1('\xE2'), o1('\xC0'), o1('\xE0'), - o1('\xC3'), o1('\xE3'), o1('\xC8'), o1('\xE8'), - o1('\xC7'), o1('\xE7'), o1('\xCB'), o1('\xEB'), - o1('\xC6'), o1('\xE6'), o1('\xCC'), o1('\xEC'), - o1('\xCE'), o1('\xEE'), o1('\xC1'), o1('\xE1'), - o1('\xCD'), o1('\xED'), o1('\xCF'), o1('\xEF'), +to_ISO_8859_13_C4_infos[25] = { + o1(0xC2), o1(0xE2), o1(0xC0), o1(0xE0), + o1(0xC3), o1(0xE3), o1(0xC8), o1(0xE8), + o1(0xC7), o1(0xE7), o1(0xCB), o1(0xEB), + o1(0xC6), o1(0xE6), o1(0xCC), o1(0xEC), + o1(0xCE), o1(0xEE), o1(0xC1), o1(0xE1), + o1(0xCD), o1(0xED), o1(0xCF), o1(0xEF), + UNDEF, }; static const BYTE_LOOKUP to_ISO_8859_13_C4 = { @@ -2633,19 +2384,20 @@ to_ISO_8859_13_C4 = { static const unsigned char to_ISO_8859_13_C5_offsets[64] = { - -1, 0, 1, 2, 3, 4, 5, -1, -1, -1, -1, -1, 6, 7, -1, -1, - -1, -1, -1, -1, -1, -1, 8, 9, -1, -1, 10, 11, -1, -1, -1, -1, - 12, 13, -1, -1, -1, -1, -1, -1, -1, -1, 14, 15, -1, -1, -1, -1, - -1, -1, 16, 17, -1, -1, -1, -1, -1, 18, 19, 20, 21, 22, 23, -1, + 24, 0, 1, 2, 3, 4, 5, 24, 24, 24, 24, 24, 6, 7, 24, 24, + 24, 24, 24, 24, 24, 24, 8, 9, 24, 24, 10, 11, 24, 24, 24, 24, + 12, 13, 24, 24, 24, 24, 24, 24, 24, 24, 14, 15, 24, 24, 24, 24, + 24, 24, 16, 17, 24, 24, 24, 24, 24, 18, 19, 20, 21, 22, 23, 24, }; static const struct byte_lookup* const -to_ISO_8859_13_C5_infos[24] = { - o1('\xD9'), o1('\xF9'), o1('\xD1'), o1('\xF1'), - o1('\xD2'), o1('\xF2'), o1('\xD4'), o1('\xF4'), - o1('\xAA'), o1('\xBA'), o1('\xDA'), o1('\xFA'), - o1('\xD0'), o1('\xF0'), o1('\xDB'), o1('\xFB'), - o1('\xD8'), o1('\xF8'), o1('\xCA'), o1('\xEA'), - o1('\xDD'), o1('\xFD'), o1('\xDE'), o1('\xFE'), +to_ISO_8859_13_C5_infos[25] = { + o1(0xD9), o1(0xF9), o1(0xD1), o1(0xF1), + o1(0xD2), o1(0xF2), o1(0xD4), o1(0xF4), + o1(0xAA), o1(0xBA), o1(0xDA), o1(0xFA), + o1(0xD0), o1(0xF0), o1(0xDB), o1(0xFB), + o1(0xD8), o1(0xF8), o1(0xCA), o1(0xEA), + o1(0xDD), o1(0xFD), o1(0xDE), o1(0xFE), + UNDEF, }; static const BYTE_LOOKUP to_ISO_8859_13_C5 = { @@ -2655,14 +2407,15 @@ to_ISO_8859_13_C5 = { static const unsigned char to_ISO_8859_13_E2_80_offsets[64] = { - -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, -1, -1, 0, -1, -1, 1, 2, 3, -1, - -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, + 4, 4, 4, 4, 4, 4, 4, 4, 4, 0, 4, 4, 1, 2, 3, 4, + 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, + 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, }; static const struct byte_lookup* const -to_ISO_8859_13_E2_80_infos[4] = { - o1('\xFF'), o1('\xB4'), o1('\xA1'), o1('\xA5'), +to_ISO_8859_13_E2_80_infos[5] = { + o1(0xFF), o1(0xB4), o1(0xA1), o1(0xA5), + UNDEF, }; static const BYTE_LOOKUP to_ISO_8859_13_E2_80 = { @@ -2670,16 +2423,9 @@ to_ISO_8859_13_E2_80 = { to_ISO_8859_13_E2_80_infos }; -static const unsigned char -to_ISO_8859_13_E2_offsets[64] = { - 0, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -}; static const struct byte_lookup* const -to_ISO_8859_13_E2_infos[1] = { - &to_ISO_8859_13_E2_80, +to_ISO_8859_13_E2_infos[2] = { + &to_ISO_8859_13_E2_80, UNDEF, }; static const BYTE_LOOKUP to_ISO_8859_13_E2 = { @@ -2687,126 +2433,90 @@ to_ISO_8859_13_E2 = { to_ISO_8859_13_E2_infos }; -static const unsigned char -to_ISO_8859_13_offsets[256] = { - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, 1, 2, 3, 4, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, 5, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -}; static const struct byte_lookup* const -to_ISO_8859_13_infos[6] = { - NOMAP, &to_ISO_8859_13_C2, &to_ISO_8859_13_C3, &to_ISO_8859_13_C4, +to_ISO_8859_13_infos[7] = { + NOMAP, &to_ISO_8859_13_C2, + &to_ISO_8859_13_C3, &to_ISO_8859_13_C4, &to_ISO_8859_13_C5, &to_ISO_8859_13_E2, + UNDEF, }; const BYTE_LOOKUP to_ISO_8859_13 = { - to_ISO_8859_13_offsets, + to_ISO_8859_10_offsets, to_ISO_8859_13_infos }; -static const unsigned char -from_ISO_8859_14_offsets[256] = { - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, - 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, - 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, - 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, - 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, - 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, - 97, 98, 99,100,101,102,103,104, 105,106,107,108,109,110,111,112, - 113,114,115,116,117,118,119,120, 121,122,123,124,125,126,127,128, -}; static const struct byte_lookup* const from_ISO_8859_14_infos[129] = { - NOMAP, o2('\xC2','\x80'), - o2('\xC2','\x81'), o2('\xC2','\x82'), - o2('\xC2','\x83'), o2('\xC2','\x84'), - o2('\xC2','\x85'), o2('\xC2','\x86'), - o2('\xC2','\x87'), o2('\xC2','\x88'), - o2('\xC2','\x89'), o2('\xC2','\x8A'), - o2('\xC2','\x8B'), o2('\xC2','\x8C'), - o2('\xC2','\x8D'), o2('\xC2','\x8E'), - o2('\xC2','\x8F'), o2('\xC2','\x90'), - o2('\xC2','\x91'), o2('\xC2','\x92'), - o2('\xC2','\x93'), o2('\xC2','\x94'), - o2('\xC2','\x95'), o2('\xC2','\x96'), - o2('\xC2','\x97'), o2('\xC2','\x98'), - o2('\xC2','\x99'), o2('\xC2','\x9A'), - o2('\xC2','\x9B'), o2('\xC2','\x9C'), - o2('\xC2','\x9D'), o2('\xC2','\x9E'), - o2('\xC2','\x9F'), o2('\xC2','\xA0'), - o3('\xE1','\xB8','\x82'), o3('\xE1','\xB8','\x83'), - o2('\xC2','\xA3'), o2('\xC4','\x8A'), - o2('\xC4','\x8B'), o3('\xE1','\xB8','\x8A'), - o2('\xC2','\xA7'), o3('\xE1','\xBA','\x80'), - o2('\xC2','\xA9'), o3('\xE1','\xBA','\x82'), - o3('\xE1','\xB8','\x8B'), o3('\xE1','\xBB','\xB2'), - o2('\xC2','\xAD'), o2('\xC2','\xAE'), - o2('\xC5','\xB8'), o3('\xE1','\xB8','\x9E'), - o3('\xE1','\xB8','\x9F'), o2('\xC4','\xA0'), - o2('\xC4','\xA1'), o3('\xE1','\xB9','\x80'), - o3('\xE1','\xB9','\x81'), o2('\xC2','\xB6'), - o3('\xE1','\xB9','\x96'), o3('\xE1','\xBA','\x81'), - o3('\xE1','\xB9','\x97'), o3('\xE1','\xBA','\x83'), - o3('\xE1','\xB9','\xA0'), o3('\xE1','\xBB','\xB3'), - o3('\xE1','\xBA','\x84'), o3('\xE1','\xBA','\x85'), - o3('\xE1','\xB9','\xA1'), o2('\xC3','\x80'), - o2('\xC3','\x81'), o2('\xC3','\x82'), - o2('\xC3','\x83'), o2('\xC3','\x84'), - o2('\xC3','\x85'), o2('\xC3','\x86'), - o2('\xC3','\x87'), o2('\xC3','\x88'), - o2('\xC3','\x89'), o2('\xC3','\x8A'), - o2('\xC3','\x8B'), o2('\xC3','\x8C'), - o2('\xC3','\x8D'), o2('\xC3','\x8E'), - o2('\xC3','\x8F'), o2('\xC5','\xB4'), - o2('\xC3','\x91'), o2('\xC3','\x92'), - o2('\xC3','\x93'), o2('\xC3','\x94'), - o2('\xC3','\x95'), o2('\xC3','\x96'), - o3('\xE1','\xB9','\xAA'), o2('\xC3','\x98'), - o2('\xC3','\x99'), o2('\xC3','\x9A'), - o2('\xC3','\x9B'), o2('\xC3','\x9C'), - o2('\xC3','\x9D'), o2('\xC5','\xB6'), - o2('\xC3','\x9F'), o2('\xC3','\xA0'), - o2('\xC3','\xA1'), o2('\xC3','\xA2'), - o2('\xC3','\xA3'), o2('\xC3','\xA4'), - o2('\xC3','\xA5'), o2('\xC3','\xA6'), - o2('\xC3','\xA7'), o2('\xC3','\xA8'), - o2('\xC3','\xA9'), o2('\xC3','\xAA'), - o2('\xC3','\xAB'), o2('\xC3','\xAC'), - o2('\xC3','\xAD'), o2('\xC3','\xAE'), - o2('\xC3','\xAF'), o2('\xC5','\xB5'), - o2('\xC3','\xB1'), o2('\xC3','\xB2'), - o2('\xC3','\xB3'), o2('\xC3','\xB4'), - o2('\xC3','\xB5'), o2('\xC3','\xB6'), - o3('\xE1','\xB9','\xAB'), o2('\xC3','\xB8'), - o2('\xC3','\xB9'), o2('\xC3','\xBA'), - o2('\xC3','\xBB'), o2('\xC3','\xBC'), - o2('\xC3','\xBD'), o2('\xC5','\xB7'), - o2('\xC3','\xBF'), + NOMAP, o2(0xC2,0x80), + o2(0xC2,0x81), o2(0xC2,0x82), + o2(0xC2,0x83), o2(0xC2,0x84), + o2(0xC2,0x85), o2(0xC2,0x86), + o2(0xC2,0x87), o2(0xC2,0x88), + o2(0xC2,0x89), o2(0xC2,0x8A), + o2(0xC2,0x8B), o2(0xC2,0x8C), + o2(0xC2,0x8D), o2(0xC2,0x8E), + o2(0xC2,0x8F), o2(0xC2,0x90), + o2(0xC2,0x91), o2(0xC2,0x92), + o2(0xC2,0x93), o2(0xC2,0x94), + o2(0xC2,0x95), o2(0xC2,0x96), + o2(0xC2,0x97), o2(0xC2,0x98), + o2(0xC2,0x99), o2(0xC2,0x9A), + o2(0xC2,0x9B), o2(0xC2,0x9C), + o2(0xC2,0x9D), o2(0xC2,0x9E), + o2(0xC2,0x9F), o2(0xC2,0xA0), + o3(0xE1,0xB8,0x82), o3(0xE1,0xB8,0x83), + o2(0xC2,0xA3), o2(0xC4,0x8A), + o2(0xC4,0x8B), o3(0xE1,0xB8,0x8A), + o2(0xC2,0xA7), o3(0xE1,0xBA,0x80), + o2(0xC2,0xA9), o3(0xE1,0xBA,0x82), + o3(0xE1,0xB8,0x8B), o3(0xE1,0xBB,0xB2), + o2(0xC2,0xAD), o2(0xC2,0xAE), + o2(0xC5,0xB8), o3(0xE1,0xB8,0x9E), + o3(0xE1,0xB8,0x9F), o2(0xC4,0xA0), + o2(0xC4,0xA1), o3(0xE1,0xB9,0x80), + o3(0xE1,0xB9,0x81), o2(0xC2,0xB6), + o3(0xE1,0xB9,0x96), o3(0xE1,0xBA,0x81), + o3(0xE1,0xB9,0x97), o3(0xE1,0xBA,0x83), + o3(0xE1,0xB9,0xA0), o3(0xE1,0xBB,0xB3), + o3(0xE1,0xBA,0x84), o3(0xE1,0xBA,0x85), + o3(0xE1,0xB9,0xA1), o2(0xC3,0x80), + o2(0xC3,0x81), o2(0xC3,0x82), + o2(0xC3,0x83), o2(0xC3,0x84), + o2(0xC3,0x85), o2(0xC3,0x86), + o2(0xC3,0x87), o2(0xC3,0x88), + o2(0xC3,0x89), o2(0xC3,0x8A), + o2(0xC3,0x8B), o2(0xC3,0x8C), + o2(0xC3,0x8D), o2(0xC3,0x8E), + o2(0xC3,0x8F), o2(0xC5,0xB4), + o2(0xC3,0x91), o2(0xC3,0x92), + o2(0xC3,0x93), o2(0xC3,0x94), + o2(0xC3,0x95), o2(0xC3,0x96), + o3(0xE1,0xB9,0xAA), o2(0xC3,0x98), + o2(0xC3,0x99), o2(0xC3,0x9A), + o2(0xC3,0x9B), o2(0xC3,0x9C), + o2(0xC3,0x9D), o2(0xC5,0xB6), + o2(0xC3,0x9F), o2(0xC3,0xA0), + o2(0xC3,0xA1), o2(0xC3,0xA2), + o2(0xC3,0xA3), o2(0xC3,0xA4), + o2(0xC3,0xA5), o2(0xC3,0xA6), + o2(0xC3,0xA7), o2(0xC3,0xA8), + o2(0xC3,0xA9), o2(0xC3,0xAA), + o2(0xC3,0xAB), o2(0xC3,0xAC), + o2(0xC3,0xAD), o2(0xC3,0xAE), + o2(0xC3,0xAF), o2(0xC5,0xB5), + o2(0xC3,0xB1), o2(0xC3,0xB2), + o2(0xC3,0xB3), o2(0xC3,0xB4), + o2(0xC3,0xB5), o2(0xC3,0xB6), + o3(0xE1,0xB9,0xAB), o2(0xC3,0xB8), + o2(0xC3,0xB9), o2(0xC3,0xBA), + o2(0xC3,0xBB), o2(0xC3,0xBC), + o2(0xC3,0xBD), o2(0xC5,0xB7), + o2(0xC3,0xBF), }; const BYTE_LOOKUP from_ISO_8859_14 = { - from_ISO_8859_14_offsets, + from_ISO_8859_13_offsets, from_ISO_8859_14_infos }; @@ -2814,21 +2524,21 @@ static const unsigned char to_ISO_8859_14_C2_offsets[64] = { 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, - 32, -1, -1, 33, -1, -1, -1, 34, -1, 35, -1, -1, -1, 36, 37, -1, - -1, -1, -1, -1, -1, -1, 38, -1, -1, -1, -1, -1, -1, -1, -1, -1, + 32, 39, 39, 33, 39, 39, 39, 34, 39, 35, 39, 39, 39, 36, 37, 39, + 39, 39, 39, 39, 39, 39, 38, 39, 39, 39, 39, 39, 39, 39, 39, 39, }; static const struct byte_lookup* const -to_ISO_8859_14_C2_infos[39] = { - o1('\x80'), o1('\x81'), o1('\x82'), o1('\x83'), - o1('\x84'), o1('\x85'), o1('\x86'), o1('\x87'), - o1('\x88'), o1('\x89'), o1('\x8A'), o1('\x8B'), - o1('\x8C'), o1('\x8D'), o1('\x8E'), o1('\x8F'), - o1('\x90'), o1('\x91'), o1('\x92'), o1('\x93'), - o1('\x94'), o1('\x95'), o1('\x96'), o1('\x97'), - o1('\x98'), o1('\x99'), o1('\x9A'), o1('\x9B'), - o1('\x9C'), o1('\x9D'), o1('\x9E'), o1('\x9F'), - o1('\xA0'), o1('\xA3'), o1('\xA7'), o1('\xA9'), - o1('\xAD'), o1('\xAE'), o1('\xB6'), +to_ISO_8859_14_C2_infos[40] = { + o1(0x80), o1(0x81), o1(0x82), o1(0x83), + o1(0x84), o1(0x85), o1(0x86), o1(0x87), + o1(0x88), o1(0x89), o1(0x8A), o1(0x8B), + o1(0x8C), o1(0x8D), o1(0x8E), o1(0x8F), + o1(0x90), o1(0x91), o1(0x92), o1(0x93), + o1(0x94), o1(0x95), o1(0x96), o1(0x97), + o1(0x98), o1(0x99), o1(0x9A), o1(0x9B), + o1(0x9C), o1(0x9D), o1(0x9E), o1(0x9F), + o1(0xA0), o1(0xA3), o1(0xA7), o1(0xA9), + o1(0xAD), o1(0xAE), o1(0xB6), UNDEF, }; static const BYTE_LOOKUP to_ISO_8859_14_C2 = { @@ -2839,27 +2549,27 @@ to_ISO_8859_14_C2 = { static const unsigned char to_ISO_8859_14_C3_offsets[64] = { 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, - -1, 16, 17, 18, 19, 20, 21, -1, 22, 23, 24, 25, 26, 27, -1, 28, + 58, 16, 17, 18, 19, 20, 21, 58, 22, 23, 24, 25, 26, 27, 58, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, - -1, 45, 46, 47, 48, 49, 50, -1, 51, 52, 53, 54, 55, 56, -1, 57, -}; -static const struct byte_lookup* const -to_ISO_8859_14_C3_infos[58] = { - o1('\xC0'), o1('\xC1'), o1('\xC2'), o1('\xC3'), - o1('\xC4'), o1('\xC5'), o1('\xC6'), o1('\xC7'), - o1('\xC8'), o1('\xC9'), o1('\xCA'), o1('\xCB'), - o1('\xCC'), o1('\xCD'), o1('\xCE'), o1('\xCF'), - o1('\xD1'), o1('\xD2'), o1('\xD3'), o1('\xD4'), - o1('\xD5'), o1('\xD6'), o1('\xD8'), o1('\xD9'), - o1('\xDA'), o1('\xDB'), o1('\xDC'), o1('\xDD'), - o1('\xDF'), o1('\xE0'), o1('\xE1'), o1('\xE2'), - o1('\xE3'), o1('\xE4'), o1('\xE5'), o1('\xE6'), - o1('\xE7'), o1('\xE8'), o1('\xE9'), o1('\xEA'), - o1('\xEB'), o1('\xEC'), o1('\xED'), o1('\xEE'), - o1('\xEF'), o1('\xF1'), o1('\xF2'), o1('\xF3'), - o1('\xF4'), o1('\xF5'), o1('\xF6'), o1('\xF8'), - o1('\xF9'), o1('\xFA'), o1('\xFB'), o1('\xFC'), - o1('\xFD'), o1('\xFF'), + 58, 45, 46, 47, 48, 49, 50, 58, 51, 52, 53, 54, 55, 56, 58, 57, +}; +static const struct byte_lookup* const +to_ISO_8859_14_C3_infos[59] = { + o1(0xC0), o1(0xC1), o1(0xC2), o1(0xC3), + o1(0xC4), o1(0xC5), o1(0xC6), o1(0xC7), + o1(0xC8), o1(0xC9), o1(0xCA), o1(0xCB), + o1(0xCC), o1(0xCD), o1(0xCE), o1(0xCF), + o1(0xD1), o1(0xD2), o1(0xD3), o1(0xD4), + o1(0xD5), o1(0xD6), o1(0xD8), o1(0xD9), + o1(0xDA), o1(0xDB), o1(0xDC), o1(0xDD), + o1(0xDF), o1(0xE0), o1(0xE1), o1(0xE2), + o1(0xE3), o1(0xE4), o1(0xE5), o1(0xE6), + o1(0xE7), o1(0xE8), o1(0xE9), o1(0xEA), + o1(0xEB), o1(0xEC), o1(0xED), o1(0xEE), + o1(0xEF), o1(0xF1), o1(0xF2), o1(0xF3), + o1(0xF4), o1(0xF5), o1(0xF6), o1(0xF8), + o1(0xF9), o1(0xFA), o1(0xFB), o1(0xFC), + o1(0xFD), o1(0xFF), UNDEF, }; static const BYTE_LOOKUP to_ISO_8859_14_C3 = { @@ -2869,14 +2579,15 @@ to_ISO_8859_14_C3 = { static const unsigned char to_ISO_8859_14_C4_offsets[64] = { - -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 0, 1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - 2, 3, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 0, 1, 4, 4, 4, 4, + 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, + 2, 3, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, + 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, }; static const struct byte_lookup* const -to_ISO_8859_14_C4_infos[4] = { - o1('\xA4'), o1('\xA5'), o1('\xB2'), o1('\xB3'), +to_ISO_8859_14_C4_infos[5] = { + o1(0xA4), o1(0xA5), o1(0xB2), o1(0xB3), + UNDEF, }; static const BYTE_LOOKUP to_ISO_8859_14_C4 = { @@ -2886,15 +2597,15 @@ to_ISO_8859_14_C4 = { static const unsigned char to_ISO_8859_14_C5_offsets[64] = { - -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, 0, 1, 2, 3, 4, -1, -1, -1, -1, -1, -1, -1, + 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, + 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, + 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, + 5, 5, 5, 5, 0, 1, 2, 3, 4, 5, 5, 5, 5, 5, 5, 5, }; static const struct byte_lookup* const -to_ISO_8859_14_C5_infos[5] = { - o1('\xD0'), o1('\xF0'), o1('\xDE'), o1('\xFE'), - o1('\xAF'), +to_ISO_8859_14_C5_infos[6] = { + o1(0xD0), o1(0xF0), o1(0xDE), o1(0xFE), + o1(0xAF), UNDEF, }; static const BYTE_LOOKUP to_ISO_8859_14_C5 = { @@ -2904,15 +2615,15 @@ to_ISO_8859_14_C5 = { static const unsigned char to_ISO_8859_14_E1_B8_offsets[64] = { - -1, -1, 0, 1, -1, -1, -1, -1, -1, -1, 2, 3, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 4, 5, - -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + 6, 6, 0, 1, 6, 6, 6, 6, 6, 6, 2, 3, 6, 6, 6, 6, + 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 4, 5, + 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, + 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, }; static const struct byte_lookup* const -to_ISO_8859_14_E1_B8_infos[6] = { - o1('\xA1'), o1('\xA2'), o1('\xA6'), o1('\xAB'), - o1('\xB0'), o1('\xB1'), +to_ISO_8859_14_E1_B8_infos[7] = { + o1(0xA1), o1(0xA2), o1(0xA6), o1(0xAB), + o1(0xB0), o1(0xB1), UNDEF, }; static const BYTE_LOOKUP to_ISO_8859_14_E1_B8 = { @@ -2922,15 +2633,16 @@ to_ISO_8859_14_E1_B8 = { static const unsigned char to_ISO_8859_14_E1_B9_offsets[64] = { - 0, 1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, 2, 3, -1, -1, -1, -1, -1, -1, -1, -1, - 4, 5, -1, -1, -1, -1, -1, -1, -1, -1, 6, 7, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + 0, 1, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, + 8, 8, 8, 8, 8, 8, 2, 3, 8, 8, 8, 8, 8, 8, 8, 8, + 4, 5, 8, 8, 8, 8, 8, 8, 8, 8, 6, 7, 8, 8, 8, 8, + 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, }; static const struct byte_lookup* const -to_ISO_8859_14_E1_B9_infos[8] = { - o1('\xB4'), o1('\xB5'), o1('\xB7'), o1('\xB9'), - o1('\xBB'), o1('\xBF'), o1('\xD7'), o1('\xF7'), +to_ISO_8859_14_E1_B9_infos[9] = { + o1(0xB4), o1(0xB5), o1(0xB7), o1(0xB9), + o1(0xBB), o1(0xBF), o1(0xD7), o1(0xF7), + UNDEF, }; static const BYTE_LOOKUP to_ISO_8859_14_E1_B9 = { @@ -2940,15 +2652,15 @@ to_ISO_8859_14_E1_B9 = { static const unsigned char to_ISO_8859_14_E1_BA_offsets[64] = { - 0, 1, 2, 3, 4, 5, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + 0, 1, 2, 3, 4, 5, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, + 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, + 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, + 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, }; static const struct byte_lookup* const -to_ISO_8859_14_E1_BA_infos[6] = { - o1('\xA8'), o1('\xB8'), o1('\xAA'), o1('\xBA'), - o1('\xBD'), o1('\xBE'), +to_ISO_8859_14_E1_BA_infos[7] = { + o1(0xA8), o1(0xB8), o1(0xAA), o1(0xBA), + o1(0xBD), o1(0xBE), UNDEF, }; static const BYTE_LOOKUP to_ISO_8859_14_E1_BA = { @@ -2958,14 +2670,14 @@ to_ISO_8859_14_E1_BA = { static const unsigned char to_ISO_8859_14_E1_BB_offsets[64] = { - -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, 0, 1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, + 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, + 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, + 2, 2, 0, 1, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, }; static const struct byte_lookup* const -to_ISO_8859_14_E1_BB_infos[2] = { - o1('\xAC'), o1('\xBC'), +to_ISO_8859_14_E1_BB_infos[3] = { + o1(0xAC), o1(0xBC), UNDEF, }; static const BYTE_LOOKUP to_ISO_8859_14_E1_BB = { @@ -2975,15 +2687,16 @@ to_ISO_8859_14_E1_BB = { static const unsigned char to_ISO_8859_14_E1_offsets[64] = { - -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, -1, 0, 1, 2, 3, -1, -1, -1, -1, + 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, + 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, + 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, + 4, 4, 4, 4, 4, 4, 4, 4, 0, 1, 2, 3, 4, 4, 4, 4, }; static const struct byte_lookup* const -to_ISO_8859_14_E1_infos[4] = { +to_ISO_8859_14_E1_infos[5] = { &to_ISO_8859_14_E1_B8, &to_ISO_8859_14_E1_B9, &to_ISO_8859_14_E1_BA, &to_ISO_8859_14_E1_BB, + UNDEF, }; static const BYTE_LOOKUP to_ISO_8859_14_E1 = { @@ -3001,19 +2714,21 @@ to_ISO_8859_14_offsets[256] = { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, 1, 2, 3, 4, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, 5, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, + 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, + 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, + 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, + 6, 6, 1, 2, 3, 4, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, + 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, + 6, 5, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, + 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, }; static const struct byte_lookup* const -to_ISO_8859_14_infos[6] = { - NOMAP, &to_ISO_8859_14_C2, &to_ISO_8859_14_C3, &to_ISO_8859_14_C4, +to_ISO_8859_14_infos[7] = { + NOMAP, &to_ISO_8859_14_C2, + &to_ISO_8859_14_C3, &to_ISO_8859_14_C4, &to_ISO_8859_14_C5, &to_ISO_8859_14_E1, + UNDEF, }; const BYTE_LOOKUP to_ISO_8859_14 = { @@ -3021,92 +2736,73 @@ to_ISO_8859_14 = { to_ISO_8859_14_infos }; -static const unsigned char -from_ISO_8859_15_offsets[256] = { - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, - 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, - 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, - 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, - 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, - 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, - 97, 98, 99,100,101,102,103,104, 105,106,107,108,109,110,111,112, - 113,114,115,116,117,118,119,120, 121,122,123,124,125,126,127,128, -}; static const struct byte_lookup* const from_ISO_8859_15_infos[129] = { - NOMAP, o2('\xC2','\x80'), - o2('\xC2','\x81'), o2('\xC2','\x82'), - o2('\xC2','\x83'), o2('\xC2','\x84'), - o2('\xC2','\x85'), o2('\xC2','\x86'), - o2('\xC2','\x87'), o2('\xC2','\x88'), - o2('\xC2','\x89'), o2('\xC2','\x8A'), - o2('\xC2','\x8B'), o2('\xC2','\x8C'), - o2('\xC2','\x8D'), o2('\xC2','\x8E'), - o2('\xC2','\x8F'), o2('\xC2','\x90'), - o2('\xC2','\x91'), o2('\xC2','\x92'), - o2('\xC2','\x93'), o2('\xC2','\x94'), - o2('\xC2','\x95'), o2('\xC2','\x96'), - o2('\xC2','\x97'), o2('\xC2','\x98'), - o2('\xC2','\x99'), o2('\xC2','\x9A'), - o2('\xC2','\x9B'), o2('\xC2','\x9C'), - o2('\xC2','\x9D'), o2('\xC2','\x9E'), - o2('\xC2','\x9F'), o2('\xC2','\xA0'), - o2('\xC2','\xA1'), o2('\xC2','\xA2'), - o2('\xC2','\xA3'), o3('\xE2','\x82','\xAC'), - o2('\xC2','\xA5'), o2('\xC5','\xA0'), - o2('\xC2','\xA7'), o2('\xC5','\xA1'), - o2('\xC2','\xA9'), o2('\xC2','\xAA'), - o2('\xC2','\xAB'), o2('\xC2','\xAC'), - o2('\xC2','\xAD'), o2('\xC2','\xAE'), - o2('\xC2','\xAF'), o2('\xC2','\xB0'), - o2('\xC2','\xB1'), o2('\xC2','\xB2'), - o2('\xC2','\xB3'), o2('\xC5','\xBD'), - o2('\xC2','\xB5'), o2('\xC2','\xB6'), - o2('\xC2','\xB7'), o2('\xC5','\xBE'), - o2('\xC2','\xB9'), o2('\xC2','\xBA'), - o2('\xC2','\xBB'), o2('\xC5','\x92'), - o2('\xC5','\x93'), o2('\xC5','\xB8'), - o2('\xC2','\xBF'), o2('\xC3','\x80'), - o2('\xC3','\x81'), o2('\xC3','\x82'), - o2('\xC3','\x83'), o2('\xC3','\x84'), - o2('\xC3','\x85'), o2('\xC3','\x86'), - o2('\xC3','\x87'), o2('\xC3','\x88'), - o2('\xC3','\x89'), o2('\xC3','\x8A'), - o2('\xC3','\x8B'), o2('\xC3','\x8C'), - o2('\xC3','\x8D'), o2('\xC3','\x8E'), - o2('\xC3','\x8F'), o2('\xC3','\x90'), - o2('\xC3','\x91'), o2('\xC3','\x92'), - o2('\xC3','\x93'), o2('\xC3','\x94'), - o2('\xC3','\x95'), o2('\xC3','\x96'), - o2('\xC3','\x97'), o2('\xC3','\x98'), - o2('\xC3','\x99'), o2('\xC3','\x9A'), - o2('\xC3','\x9B'), o2('\xC3','\x9C'), - o2('\xC3','\x9D'), o2('\xC3','\x9E'), - o2('\xC3','\x9F'), o2('\xC3','\xA0'), - o2('\xC3','\xA1'), o2('\xC3','\xA2'), - o2('\xC3','\xA3'), o2('\xC3','\xA4'), - o2('\xC3','\xA5'), o2('\xC3','\xA6'), - o2('\xC3','\xA7'), o2('\xC3','\xA8'), - o2('\xC3','\xA9'), o2('\xC3','\xAA'), - o2('\xC3','\xAB'), o2('\xC3','\xAC'), - o2('\xC3','\xAD'), o2('\xC3','\xAE'), - o2('\xC3','\xAF'), o2('\xC3','\xB0'), - o2('\xC3','\xB1'), o2('\xC3','\xB2'), - o2('\xC3','\xB3'), o2('\xC3','\xB4'), - o2('\xC3','\xB5'), o2('\xC3','\xB6'), - o2('\xC3','\xB7'), o2('\xC3','\xB8'), - o2('\xC3','\xB9'), o2('\xC3','\xBA'), - o2('\xC3','\xBB'), o2('\xC3','\xBC'), - o2('\xC3','\xBD'), o2('\xC3','\xBE'), - o2('\xC3','\xBF'), + NOMAP, o2(0xC2,0x80), + o2(0xC2,0x81), o2(0xC2,0x82), + o2(0xC2,0x83), o2(0xC2,0x84), + o2(0xC2,0x85), o2(0xC2,0x86), + o2(0xC2,0x87), o2(0xC2,0x88), + o2(0xC2,0x89), o2(0xC2,0x8A), + o2(0xC2,0x8B), o2(0xC2,0x8C), + o2(0xC2,0x8D), o2(0xC2,0x8E), + o2(0xC2,0x8F), o2(0xC2,0x90), + o2(0xC2,0x91), o2(0xC2,0x92), + o2(0xC2,0x93), o2(0xC2,0x94), + o2(0xC2,0x95), o2(0xC2,0x96), + o2(0xC2,0x97), o2(0xC2,0x98), + o2(0xC2,0x99), o2(0xC2,0x9A), + o2(0xC2,0x9B), o2(0xC2,0x9C), + o2(0xC2,0x9D), o2(0xC2,0x9E), + o2(0xC2,0x9F), o2(0xC2,0xA0), + o2(0xC2,0xA1), o2(0xC2,0xA2), + o2(0xC2,0xA3), o3(0xE2,0x82,0xAC), + o2(0xC2,0xA5), o2(0xC5,0xA0), + o2(0xC2,0xA7), o2(0xC5,0xA1), + o2(0xC2,0xA9), o2(0xC2,0xAA), + o2(0xC2,0xAB), o2(0xC2,0xAC), + o2(0xC2,0xAD), o2(0xC2,0xAE), + o2(0xC2,0xAF), o2(0xC2,0xB0), + o2(0xC2,0xB1), o2(0xC2,0xB2), + o2(0xC2,0xB3), o2(0xC5,0xBD), + o2(0xC2,0xB5), o2(0xC2,0xB6), + o2(0xC2,0xB7), o2(0xC5,0xBE), + o2(0xC2,0xB9), o2(0xC2,0xBA), + o2(0xC2,0xBB), o2(0xC5,0x92), + o2(0xC5,0x93), o2(0xC5,0xB8), + o2(0xC2,0xBF), o2(0xC3,0x80), + o2(0xC3,0x81), o2(0xC3,0x82), + o2(0xC3,0x83), o2(0xC3,0x84), + o2(0xC3,0x85), o2(0xC3,0x86), + o2(0xC3,0x87), o2(0xC3,0x88), + o2(0xC3,0x89), o2(0xC3,0x8A), + o2(0xC3,0x8B), o2(0xC3,0x8C), + o2(0xC3,0x8D), o2(0xC3,0x8E), + o2(0xC3,0x8F), o2(0xC3,0x90), + o2(0xC3,0x91), o2(0xC3,0x92), + o2(0xC3,0x93), o2(0xC3,0x94), + o2(0xC3,0x95), o2(0xC3,0x96), + o2(0xC3,0x97), o2(0xC3,0x98), + o2(0xC3,0x99), o2(0xC3,0x9A), + o2(0xC3,0x9B), o2(0xC3,0x9C), + o2(0xC3,0x9D), o2(0xC3,0x9E), + o2(0xC3,0x9F), o2(0xC3,0xA0), + o2(0xC3,0xA1), o2(0xC3,0xA2), + o2(0xC3,0xA3), o2(0xC3,0xA4), + o2(0xC3,0xA5), o2(0xC3,0xA6), + o2(0xC3,0xA7), o2(0xC3,0xA8), + o2(0xC3,0xA9), o2(0xC3,0xAA), + o2(0xC3,0xAB), o2(0xC3,0xAC), + o2(0xC3,0xAD), o2(0xC3,0xAE), + o2(0xC3,0xAF), o2(0xC3,0xB0), + o2(0xC3,0xB1), o2(0xC3,0xB2), + o2(0xC3,0xB3), o2(0xC3,0xB4), + o2(0xC3,0xB5), o2(0xC3,0xB6), + o2(0xC3,0xB7), o2(0xC3,0xB8), + o2(0xC3,0xB9), o2(0xC3,0xBA), + o2(0xC3,0xBB), o2(0xC3,0xBC), + o2(0xC3,0xBD), o2(0xC3,0xBE), + o2(0xC3,0xBF), }; const BYTE_LOOKUP from_ISO_8859_15 = { @@ -3118,25 +2814,26 @@ static const unsigned char to_ISO_8859_15_C2_offsets[64] = { 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, - 32, 33, 34, 35, -1, 36, -1, 37, -1, 38, 39, 40, 41, 42, 43, 44, - 45, 46, 47, 48, -1, 49, 50, 51, -1, 52, 53, 54, -1, -1, -1, 55, -}; -static const struct byte_lookup* const -to_ISO_8859_15_C2_infos[56] = { - o1('\x80'), o1('\x81'), o1('\x82'), o1('\x83'), - o1('\x84'), o1('\x85'), o1('\x86'), o1('\x87'), - o1('\x88'), o1('\x89'), o1('\x8A'), o1('\x8B'), - o1('\x8C'), o1('\x8D'), o1('\x8E'), o1('\x8F'), - o1('\x90'), o1('\x91'), o1('\x92'), o1('\x93'), - o1('\x94'), o1('\x95'), o1('\x96'), o1('\x97'), - o1('\x98'), o1('\x99'), o1('\x9A'), o1('\x9B'), - o1('\x9C'), o1('\x9D'), o1('\x9E'), o1('\x9F'), - o1('\xA0'), o1('\xA1'), o1('\xA2'), o1('\xA3'), - o1('\xA5'), o1('\xA7'), o1('\xA9'), o1('\xAA'), - o1('\xAB'), o1('\xAC'), o1('\xAD'), o1('\xAE'), - o1('\xAF'), o1('\xB0'), o1('\xB1'), o1('\xB2'), - o1('\xB3'), o1('\xB5'), o1('\xB6'), o1('\xB7'), - o1('\xB9'), o1('\xBA'), o1('\xBB'), o1('\xBF'), + 32, 33, 34, 35, 56, 36, 56, 37, 56, 38, 39, 40, 41, 42, 43, 44, + 45, 46, 47, 48, 56, 49, 50, 51, 56, 52, 53, 54, 56, 56, 56, 55, +}; +static const struct byte_lookup* const +to_ISO_8859_15_C2_infos[57] = { + o1(0x80), o1(0x81), o1(0x82), o1(0x83), + o1(0x84), o1(0x85), o1(0x86), o1(0x87), + o1(0x88), o1(0x89), o1(0x8A), o1(0x8B), + o1(0x8C), o1(0x8D), o1(0x8E), o1(0x8F), + o1(0x90), o1(0x91), o1(0x92), o1(0x93), + o1(0x94), o1(0x95), o1(0x96), o1(0x97), + o1(0x98), o1(0x99), o1(0x9A), o1(0x9B), + o1(0x9C), o1(0x9D), o1(0x9E), o1(0x9F), + o1(0xA0), o1(0xA1), o1(0xA2), o1(0xA3), + o1(0xA5), o1(0xA7), o1(0xA9), o1(0xAA), + o1(0xAB), o1(0xAC), o1(0xAD), o1(0xAE), + o1(0xAF), o1(0xB0), o1(0xB1), o1(0xB2), + o1(0xB3), o1(0xB5), o1(0xB6), o1(0xB7), + o1(0xB9), o1(0xBA), o1(0xBB), o1(0xBF), + UNDEF, }; static const BYTE_LOOKUP to_ISO_8859_15_C2 = { @@ -3144,49 +2841,23 @@ to_ISO_8859_15_C2 = { to_ISO_8859_15_C2_infos }; -static const unsigned char -to_ISO_8859_15_C3_offsets[64] = { - 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, - 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, - 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, - 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, -}; -static const struct byte_lookup* const -to_ISO_8859_15_C3_infos[64] = { - o1('\xC0'), o1('\xC1'), o1('\xC2'), o1('\xC3'), - o1('\xC4'), o1('\xC5'), o1('\xC6'), o1('\xC7'), - o1('\xC8'), o1('\xC9'), o1('\xCA'), o1('\xCB'), - o1('\xCC'), o1('\xCD'), o1('\xCE'), o1('\xCF'), - o1('\xD0'), o1('\xD1'), o1('\xD2'), o1('\xD3'), - o1('\xD4'), o1('\xD5'), o1('\xD6'), o1('\xD7'), - o1('\xD8'), o1('\xD9'), o1('\xDA'), o1('\xDB'), - o1('\xDC'), o1('\xDD'), o1('\xDE'), o1('\xDF'), - o1('\xE0'), o1('\xE1'), o1('\xE2'), o1('\xE3'), - o1('\xE4'), o1('\xE5'), o1('\xE6'), o1('\xE7'), - o1('\xE8'), o1('\xE9'), o1('\xEA'), o1('\xEB'), - o1('\xEC'), o1('\xED'), o1('\xEE'), o1('\xEF'), - o1('\xF0'), o1('\xF1'), o1('\xF2'), o1('\xF3'), - o1('\xF4'), o1('\xF5'), o1('\xF6'), o1('\xF7'), - o1('\xF8'), o1('\xF9'), o1('\xFA'), o1('\xFB'), - o1('\xFC'), o1('\xFD'), o1('\xFE'), o1('\xFF'), -}; static const BYTE_LOOKUP to_ISO_8859_15_C3 = { to_ISO_8859_15_C3_offsets, - to_ISO_8859_15_C3_infos + to_ISO_8859_1_C3_infos }; static const unsigned char to_ISO_8859_15_C5_offsets[64] = { - -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, 0, 1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - 2, 3, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, -1, 4, -1, -1, -1, -1, 5, 6, -1, + 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, + 7, 7, 0, 1, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, + 2, 3, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, + 7, 7, 7, 7, 7, 7, 7, 7, 4, 7, 7, 7, 7, 5, 6, 7, }; static const struct byte_lookup* const -to_ISO_8859_15_C5_infos[7] = { - o1('\xBC'), o1('\xBD'), o1('\xA6'), o1('\xA8'), - o1('\xBE'), o1('\xB4'), o1('\xB8'), +to_ISO_8859_15_C5_infos[8] = { + o1(0xBC), o1(0xBD), o1(0xA6), o1(0xA8), + o1(0xBE), o1(0xB4), o1(0xB8), UNDEF, }; static const BYTE_LOOKUP to_ISO_8859_15_C5 = { @@ -3196,14 +2867,14 @@ to_ISO_8859_15_C5 = { static const unsigned char to_ISO_8859_15_E2_82_offsets[64] = { - -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 0, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, + 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, + 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 1, 1, 1, + 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, }; static const struct byte_lookup* const -to_ISO_8859_15_E2_82_infos[1] = { - o1('\xA4'), +to_ISO_8859_15_E2_82_infos[2] = { + o1(0xA4), UNDEF, }; static const BYTE_LOOKUP to_ISO_8859_15_E2_82 = { @@ -3213,14 +2884,14 @@ to_ISO_8859_15_E2_82 = { static const unsigned char to_ISO_8859_15_E2_offsets[64] = { - -1, -1, 0, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + 1, 1, 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, + 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, + 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, + 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, }; static const struct byte_lookup* const -to_ISO_8859_15_E2_infos[1] = { - &to_ISO_8859_15_E2_82, +to_ISO_8859_15_E2_infos[2] = { + &to_ISO_8859_15_E2_82, UNDEF, }; static const BYTE_LOOKUP to_ISO_8859_15_E2 = { @@ -3238,19 +2909,20 @@ to_ISO_8859_15_offsets[256] = { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, 1, 2, -1, 3, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, 4, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, + 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, + 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, + 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, + 5, 5, 1, 2, 5, 3, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, + 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, + 5, 5, 4, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, + 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, }; static const struct byte_lookup* const -to_ISO_8859_15_infos[5] = { - NOMAP, &to_ISO_8859_15_C2, &to_ISO_8859_15_C3, &to_ISO_8859_15_C5, - &to_ISO_8859_15_E2, +to_ISO_8859_15_infos[6] = { + NOMAP, &to_ISO_8859_15_C2, + &to_ISO_8859_15_C3, &to_ISO_8859_15_C5, + &to_ISO_8859_15_E2, UNDEF, }; const BYTE_LOOKUP to_ISO_8859_15 = { @@ -3258,3 +2930,4 @@ to_ISO_8859_15 = { to_ISO_8859_15_infos }; +/* Footprint (bytes): gross: 27684, saved: 3712, net: 23972 */ @@ -1,7 +1,7 @@ #define RUBY_VERSION "1.9.0" -#define RUBY_RELEASE_DATE "2007-12-16" +#define RUBY_RELEASE_DATE "2007-12-17" #define RUBY_VERSION_CODE 190 -#define RUBY_RELEASE_CODE 20071216 +#define RUBY_RELEASE_CODE 20071217 #define RUBY_PATCHLEVEL 0 #define RUBY_VERSION_MAJOR 1 @@ -9,7 +9,7 @@ #define RUBY_VERSION_TEENY 0 #define RUBY_RELEASE_YEAR 2007 #define RUBY_RELEASE_MONTH 12 -#define RUBY_RELEASE_DAY 16 +#define RUBY_RELEASE_DAY 17 #ifdef RUBY_EXTERN RUBY_EXTERN const char ruby_version[]; |