From 968eb8beac192fcbfad25151879d505911716e99 Mon Sep 17 00:00:00 2001 From: duerst Date: Fri, 21 Dec 2007 07:24:39 +0000 Subject: Fri Dec 21 16:25:25 2007 Martin Duerst * common.mk, transcode_data_iso_8859.c: renamed to transcode_data_one_byte.c. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@14415 b2dd03c8-39d4-4d8f-98ff-823fe69b080e --- ChangeLog | 7 + common.mk | 4 +- transcode_data_iso_8859.c | 2933 --------------------------------------------- transcode_data_one_byte.c | 2933 +++++++++++++++++++++++++++++++++++++++++++++ 4 files changed, 2942 insertions(+), 2935 deletions(-) delete mode 100644 transcode_data_iso_8859.c create mode 100644 transcode_data_one_byte.c diff --git a/ChangeLog b/ChangeLog index 22938adafd..f8d9f5b022 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,8 @@ +Fri Dec 21 16:25:25 2007 Martin Duerst + + * common.mk, transcode_data_iso_8859.c: renamed to + transcode_data_one_byte.c. + Fri Dec 21 16:10:30 2007 Shigeo Kobayashi * ext/bigdecimal/bigdecimal.c (VpMidRound): Round method bug @@ -31,6 +36,7 @@ Fri Dec 21 15:31:59 2007 Yukihiro Matsumoto * encoding.c (rb_to_encoding): returns default encoding if no corresponding encoding found. +>>>>>>> .r14414 Fri Dec 21 15:24:22 2007 Shugo Maeda * lib/net/imap.rb (initialize): accept service name. changed @@ -67,6 +73,7 @@ Fri Dec 21 13:54:05 2007 Tanaka Akira * re.c: change "character encodings differ" error messages. +>>>>>>> .r14409 Fri Dec 21 13:46:58 2007 Nobuyoshi Nakada * encoding.c (rb_enc_register): set encoding constant. diff --git a/common.mk b/common.mk index 010044b621..5c9f83efe1 100644 --- a/common.mk +++ b/common.mk @@ -60,7 +60,7 @@ COMMONOBJS = array.$(OBJEXT) \ struct.$(OBJEXT) \ time.$(OBJEXT) \ transcode.$(OBJEXT) \ - transcode_data_iso_8859.$(OBJEXT) \ + transcode_data_one_byte.$(OBJEXT) \ util.$(OBJEXT) \ variable.$(OBJEXT) \ version.$(OBJEXT) \ @@ -547,7 +547,7 @@ thread.$(OBJEXT): {$(VPATH)}thread.c {$(VPATH)}eval_intern.h \ {$(VPATH)}signal.h {$(VPATH)}st.h {$(VPATH)}dln.h transcode.$(OBJEXT): {$(VPATH)}transcode.c {$(VPATH)}transcode_data.h {$(VPATH)}ruby.h {$(VPATH)}config.h \ {$(VPATH)}defines.h {$(VPATH)}intern.h {$(VPATH)}missing.h {$(VPATH)}encoding.h -transcode_data_iso_8859.$(OBJEXT): {$(VPATH)}transcode_data_iso_8859.c {$(VPATH)}transcode_data.h +transcode_data_one_byte.$(OBJEXT): {$(VPATH)}transcode_data_one_byte.c {$(VPATH)}transcode_data.h cont.$(OBJEXT): {$(VPATH)}cont.c {$(VPATH)}eval_intern.h \ {$(VPATH)}ruby.h {$(VPATH)}vm_core.h {$(VPATH)}id.h {$(VPATH)}config.h \ {$(VPATH)}defines.h {$(VPATH)}intern.h {$(VPATH)}missing.h \ diff --git a/transcode_data_iso_8859.c b/transcode_data_iso_8859.c deleted file mode 100644 index 2e2db23da1..0000000000 --- a/transcode_data_iso_8859.c +++ /dev/null @@ -1,2933 +0,0 @@ -#define TRANSCODE_DATA -#include "transcode_data.h" - -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, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 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_1_infos[129] = { - 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 = { - from_ISO_8859_1_offsets, - from_ISO_8859_1_infos -}; - -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, - 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_C2_infos[64] = { - /* 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 = { - to_ISO_8859_1_C2_offsets, - to_ISO_8859_1_C2_infos -}; - -static const struct byte_lookup* const -to_ISO_8859_1_C3_infos[64] = { - /* 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_C2_offsets, - to_ISO_8859_1_C3_infos -}; - -static const unsigned char -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, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 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[4] = { - NOMAP, &to_ISO_8859_1_C2, - &to_ISO_8859_1_C3, UNDEF, -}; -const BYTE_LOOKUP -to_ISO_8859_1 = { - to_ISO_8859_1_offsets, - to_ISO_8859_1_infos -}; - -static const unsigned char -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, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 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_2_infos[129] = { - 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_15_offsets, - from_ISO_8859_2_infos -}; - -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, 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[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 = { - to_ISO_8859_2_C2_offsets, - to_ISO_8859_2_C2_infos -}; - -static const unsigned char -to_ISO_8859_2_C3_offsets[64] = { - 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[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 = { - to_ISO_8859_2_C3_offsets, - to_ISO_8859_2_C3_infos -}; - -static const unsigned char -to_ISO_8859_2_C4_offsets[64] = { - 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[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 = { - to_ISO_8859_2_C4_offsets, - to_ISO_8859_2_C4_infos -}; - -static const unsigned char -to_ISO_8859_2_C5_offsets[64] = { - 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[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 = { - to_ISO_8859_2_C5_offsets, - to_ISO_8859_2_C5_infos -}; - -static const unsigned char -to_ISO_8859_2_CB_offsets[64] = { - 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[6] = { - o1(0xB7), o1(0xA2), o1(0xFF), o1(0xB2), - o1(0xBD), UNDEF, -}; -static const BYTE_LOOKUP -to_ISO_8859_2_CB = { - to_ISO_8859_2_CB_offsets, - to_ISO_8859_2_CB_infos -}; - -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, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, - 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, - 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 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[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 = { - to_ISO_8859_2_offsets, - to_ISO_8859_2_infos -}; - -static const unsigned char -from_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, 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,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 = { - from_ISO_8859_3_offsets, - from_ISO_8859_3_infos -}; - -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, 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[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 = { - to_ISO_8859_3_C2_offsets, - to_ISO_8859_3_C2_infos -}; - -static const unsigned char -to_ISO_8859_3_C3_offsets[64] = { - 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 = { - to_ISO_8859_3_C3_offsets, - to_ISO_8859_3_C3_infos -}; - -static const unsigned char -to_ISO_8859_3_C4_offsets[64] = { - 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[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 = { - to_ISO_8859_3_C4_offsets, - to_ISO_8859_3_C4_infos -}; - -static const unsigned char -to_ISO_8859_3_C5_offsets[64] = { - 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[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 = { - to_ISO_8859_3_C5_offsets, - to_ISO_8859_3_C5_infos -}; - -static const unsigned char -to_ISO_8859_3_CB_offsets[64] = { - 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[3] = { - o1(0xA2), o1(0xFF), UNDEF, -}; -static const BYTE_LOOKUP -to_ISO_8859_3_CB = { - to_ISO_8859_3_CB_offsets, - to_ISO_8859_3_CB_infos -}; - -static const struct byte_lookup* const -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_2_offsets, - to_ISO_8859_3_infos -}; - -static const unsigned char -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, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 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_4_infos[129] = { - 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_13_offsets, - from_ISO_8859_4_infos -}; - -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, 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[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 = { - to_ISO_8859_4_C2_offsets, - to_ISO_8859_4_C2_infos -}; - -static const unsigned char -to_ISO_8859_4_C3_offsets[64] = { - 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[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 = { - to_ISO_8859_4_C3_offsets, - to_ISO_8859_4_C3_infos -}; - -static const unsigned char -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[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_10_C4_offsets, - to_ISO_8859_4_C4_infos -}; - -static const unsigned char -to_ISO_8859_4_C5_offsets[64] = { - 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[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 = { - to_ISO_8859_4_C5_offsets, - to_ISO_8859_4_C5_infos -}; - -static const unsigned char -to_ISO_8859_4_CB_offsets[64] = { - 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[4] = { - o1(0xB7), o1(0xFF), o1(0xB2), UNDEF, -}; -static const BYTE_LOOKUP -to_ISO_8859_4_CB = { - to_ISO_8859_4_CB_offsets, - to_ISO_8859_4_CB_infos -}; - -static const struct byte_lookup* const -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_2_offsets, - to_ISO_8859_4_infos -}; - -static const unsigned char -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, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 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_5_infos[129] = { - 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_10_offsets, - from_ISO_8859_5_infos -}; - -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, 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[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 = { - to_ISO_8859_5_C2_offsets, - to_ISO_8859_5_C2_infos -}; - -static const unsigned char -to_ISO_8859_5_D0_offsets[64] = { - 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[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 = { - to_ISO_8859_5_D0_offsets, - to_ISO_8859_5_D0_infos -}; - -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, - 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[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 = { - to_ISO_8859_5_D1_offsets, - to_ISO_8859_5_D1_infos -}; - -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, -}; -static const struct byte_lookup* const -to_ISO_8859_5_E2_84_infos[2] = { - o1(0xF0), UNDEF, -}; -static const BYTE_LOOKUP -to_ISO_8859_5_E2_84 = { - to_ISO_8859_5_E2_84_offsets, - to_ISO_8859_5_E2_84_infos -}; - -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, -}; -static const struct byte_lookup* const -to_ISO_8859_5_E2_infos[2] = { - &to_ISO_8859_5_E2_84, UNDEF, -}; -static const BYTE_LOOKUP -to_ISO_8859_5_E2 = { - to_ISO_8859_5_E2_offsets, - to_ISO_8859_5_E2_infos -}; - -static const unsigned char -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, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, - 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, - 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 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[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 = { - to_ISO_8859_5_offsets, - to_ISO_8859_5_infos -}; - -static const unsigned char -from_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, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 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, 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, 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 = { - from_ISO_8859_6_offsets, - from_ISO_8859_6_infos -}; - -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, 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[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 = { - to_ISO_8859_6_C2_offsets, - to_ISO_8859_6_C2_infos -}; - -static const unsigned char -to_ISO_8859_6_D8_offsets[64] = { - 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[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 = { - to_ISO_8859_6_D8_offsets, - to_ISO_8859_6_D8_infos -}; - -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, 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[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 = { - to_ISO_8859_6_D9_offsets, - to_ISO_8859_6_D9_infos -}; - -static const unsigned char -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, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 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[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 = { - to_ISO_8859_6_offsets, - to_ISO_8859_6_infos -}; - -static const unsigned char -from_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, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 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,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,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,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 = { - from_ISO_8859_7_offsets, - from_ISO_8859_7_infos -}; - -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, 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 = { - to_ISO_8859_7_C2_offsets, - to_ISO_8859_7_C2_infos -}; - -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, -}; -static const struct byte_lookup* const -to_ISO_8859_7_CD_infos[2] = { - o1(0xAA), UNDEF, -}; -static const BYTE_LOOKUP -to_ISO_8859_7_CD = { - to_ISO_8859_7_CD_offsets, - to_ISO_8859_7_CD_infos -}; - -static const unsigned char -to_ISO_8859_7_CE_offsets[64] = { - 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, 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[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 = { - to_ISO_8859_7_CE_offsets, - to_ISO_8859_7_CE_infos -}; - -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, 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[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 = { - to_ISO_8859_7_CF_offsets, - to_ISO_8859_7_CF_infos -}; - -static const unsigned char -to_ISO_8859_7_E2_80_offsets[64] = { - 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[4] = { - o1(0xAF), o1(0xA1), o1(0xA2), UNDEF, -}; -static const BYTE_LOOKUP -to_ISO_8859_7_E2_80 = { - to_ISO_8859_7_E2_80_offsets, - to_ISO_8859_7_E2_80_infos -}; - -static const unsigned char -to_ISO_8859_7_E2_82_offsets[64] = { - 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[3] = { - o1(0xA4), o1(0xA5), UNDEF, -}; -static const BYTE_LOOKUP -to_ISO_8859_7_E2_82 = { - to_ISO_8859_7_E2_82_offsets, - to_ISO_8859_7_E2_82_infos -}; - -static const unsigned char -to_ISO_8859_7_E2_offsets[64] = { - 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[3] = { - &to_ISO_8859_7_E2_80, &to_ISO_8859_7_E2_82, - UNDEF, -}; -static const BYTE_LOOKUP -to_ISO_8859_7_E2 = { - to_ISO_8859_7_E2_offsets, - to_ISO_8859_7_E2_infos -}; - -static const unsigned char -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, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, - 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, - 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 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[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 = { - to_ISO_8859_7_offsets, - to_ISO_8859_7_infos -}; - -static const unsigned char -from_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, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 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, 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, 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 = { - from_ISO_8859_8_offsets, - from_ISO_8859_8_infos -}; - -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, 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 = { - to_ISO_8859_8_C2_offsets, - to_ISO_8859_8_C2_infos -}; - -static const unsigned char -to_ISO_8859_8_C3_offsets[64] = { - 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[3] = { - o1(0xAA), o1(0xBA), UNDEF, -}; -static const BYTE_LOOKUP -to_ISO_8859_8_C3 = { - to_ISO_8859_8_C3_offsets, - to_ISO_8859_8_C3_infos -}; - -static const unsigned char -to_ISO_8859_8_D7_offsets[64] = { - 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, 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[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 = { - to_ISO_8859_8_D7_offsets, - to_ISO_8859_8_D7_infos -}; - -static const unsigned char -to_ISO_8859_8_E2_80_offsets[64] = { - 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[4] = { - o1(0xFD), o1(0xFE), o1(0xDF), UNDEF, -}; -static const BYTE_LOOKUP -to_ISO_8859_8_E2_80 = { - to_ISO_8859_8_E2_80_offsets, - to_ISO_8859_8_E2_80_infos -}; - -static const unsigned char -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[2] = { - &to_ISO_8859_8_E2_80, UNDEF, -}; -static const BYTE_LOOKUP -to_ISO_8859_8_E2 = { - to_ISO_8859_13_E2_offsets, - to_ISO_8859_8_E2_infos -}; - -static const unsigned char -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, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, - 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, - 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 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[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 = { - to_ISO_8859_8_offsets, - to_ISO_8859_8_infos -}; - -static const struct byte_lookup* const -from_ISO_8859_9_infos[129] = { - 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_1_offsets, - from_ISO_8859_9_infos -}; - -static const unsigned char -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 BYTE_LOOKUP -to_ISO_8859_9_C2 = { - 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, - 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, - 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 = { - to_ISO_8859_9_C3_offsets, - to_ISO_8859_9_C3_infos -}; - -static const unsigned char -to_ISO_8859_9_C4_offsets[64] = { - 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[5] = { - o1(0xD0), o1(0xF0), o1(0xDD), o1(0xFD), - UNDEF, -}; -static const BYTE_LOOKUP -to_ISO_8859_9_C4 = { - to_ISO_8859_9_C4_offsets, - to_ISO_8859_9_C4_infos -}; - -static const unsigned char -to_ISO_8859_9_C5_offsets[64] = { - 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[3] = { - o1(0xDE), o1(0xFE), UNDEF, -}; -static const BYTE_LOOKUP -to_ISO_8859_9_C5 = { - to_ISO_8859_9_C5_offsets, - to_ISO_8859_9_C5_infos -}; - -static const unsigned char -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, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, - 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, - 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 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[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 = { - to_ISO_8859_9_offsets, - to_ISO_8859_9_infos -}; - -static const struct byte_lookup* const -from_ISO_8859_10_infos[129] = { - 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 = { - from_ISO_8859_10_offsets, - from_ISO_8859_10_infos -}; - -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, 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[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 = { - to_ISO_8859_10_C2_offsets, - to_ISO_8859_10_C2_infos -}; - -static const unsigned char -to_ISO_8859_10_C3_offsets[64] = { - 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 = { - to_ISO_8859_10_C3_offsets, - to_ISO_8859_10_C3_infos -}; - -static const struct byte_lookup* const -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 = { - to_ISO_8859_10_C4_offsets, - to_ISO_8859_10_C4_infos -}; - -static const unsigned char -to_ISO_8859_10_C5_offsets[64] = { - 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[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 = { - to_ISO_8859_10_C5_offsets, - to_ISO_8859_10_C5_infos -}; - -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, -}; -static const struct byte_lookup* const -to_ISO_8859_10_E2_80_infos[2] = { - o1(0xBD), UNDEF, -}; -static const BYTE_LOOKUP -to_ISO_8859_10_E2_80 = { - to_ISO_8859_10_E2_80_offsets, - to_ISO_8859_10_E2_80_infos -}; - -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, -}; -static const struct byte_lookup* const -to_ISO_8859_10_E2_infos[2] = { - &to_ISO_8859_10_E2_80, UNDEF, -}; -static const BYTE_LOOKUP -to_ISO_8859_10_E2 = { - to_ISO_8859_10_E2_offsets, - to_ISO_8859_10_E2_infos -}; - -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, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, - 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, - 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 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[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 = { - to_ISO_8859_10_offsets, - to_ISO_8859_10_infos -}; - -static const unsigned char -from_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, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 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,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,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 = { - from_ISO_8859_11_offsets, - from_ISO_8859_11_infos -}; - -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, 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[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 = { - to_ISO_8859_11_C2_offsets, - to_ISO_8859_11_C2_infos -}; - -static const unsigned char -to_ISO_8859_11_E0_B8_offsets[64] = { - 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, 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 = { - to_ISO_8859_11_E0_B8_offsets, - to_ISO_8859_11_E0_B8_infos -}; - -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, 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[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 = { - to_ISO_8859_11_E0_B9_offsets, - to_ISO_8859_11_E0_B9_infos -}; - -static const unsigned char -to_ISO_8859_11_E0_offsets[64] = { - 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[3] = { - &to_ISO_8859_11_E0_B8, &to_ISO_8859_11_E0_B9, - UNDEF, -}; -static const BYTE_LOOKUP -to_ISO_8859_11_E0 = { - to_ISO_8859_11_E0_offsets, - to_ISO_8859_11_E0_infos -}; - -static const unsigned char -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, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 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[4] = { - NOMAP, &to_ISO_8859_11_C2, - &to_ISO_8859_11_E0, UNDEF, -}; -const BYTE_LOOKUP -to_ISO_8859_11 = { - to_ISO_8859_11_offsets, - to_ISO_8859_11_infos -}; - -static const struct byte_lookup* const -from_ISO_8859_13_infos[129] = { - 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 = { - from_ISO_8859_13_offsets, - from_ISO_8859_13_infos -}; - -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, 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 = { - to_ISO_8859_13_C2_offsets, - to_ISO_8859_13_C2_infos -}; - -static const unsigned char -to_ISO_8859_13_C3_offsets[64] = { - 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[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 = { - to_ISO_8859_13_C3_offsets, - to_ISO_8859_13_C3_infos -}; - -static const unsigned char -to_ISO_8859_13_C4_offsets[64] = { - 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[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 = { - to_ISO_8859_13_C4_offsets, - to_ISO_8859_13_C4_infos -}; - -static const unsigned char -to_ISO_8859_13_C5_offsets[64] = { - 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[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 = { - to_ISO_8859_13_C5_offsets, - to_ISO_8859_13_C5_infos -}; - -static const unsigned char -to_ISO_8859_13_E2_80_offsets[64] = { - 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[5] = { - o1(0xFF), o1(0xB4), o1(0xA1), o1(0xA5), - UNDEF, -}; -static const BYTE_LOOKUP -to_ISO_8859_13_E2_80 = { - to_ISO_8859_13_E2_80_offsets, - to_ISO_8859_13_E2_80_infos -}; - -static const struct byte_lookup* const -to_ISO_8859_13_E2_infos[2] = { - &to_ISO_8859_13_E2_80, UNDEF, -}; -static const BYTE_LOOKUP -to_ISO_8859_13_E2 = { - to_ISO_8859_13_E2_offsets, - to_ISO_8859_13_E2_infos -}; - -static const struct byte_lookup* const -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_10_offsets, - to_ISO_8859_13_infos -}; - -static const struct byte_lookup* const -from_ISO_8859_14_infos[129] = { - 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_13_offsets, - from_ISO_8859_14_infos -}; - -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, 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[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 = { - to_ISO_8859_14_C2_offsets, - to_ISO_8859_14_C2_infos -}; - -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, - 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, - 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 = { - to_ISO_8859_14_C3_offsets, - to_ISO_8859_14_C3_infos -}; - -static const unsigned char -to_ISO_8859_14_C4_offsets[64] = { - 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[5] = { - o1(0xA4), o1(0xA5), o1(0xB2), o1(0xB3), - UNDEF, -}; -static const BYTE_LOOKUP -to_ISO_8859_14_C4 = { - to_ISO_8859_14_C4_offsets, - to_ISO_8859_14_C4_infos -}; - -static const unsigned char -to_ISO_8859_14_C5_offsets[64] = { - 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, - 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 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[6] = { - o1(0xD0), o1(0xF0), o1(0xDE), o1(0xFE), - o1(0xAF), UNDEF, -}; -static const BYTE_LOOKUP -to_ISO_8859_14_C5 = { - to_ISO_8859_14_C5_offsets, - to_ISO_8859_14_C5_infos -}; - -static const unsigned char -to_ISO_8859_14_E1_B8_offsets[64] = { - 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[7] = { - o1(0xA1), o1(0xA2), o1(0xA6), o1(0xAB), - o1(0xB0), o1(0xB1), UNDEF, -}; -static const BYTE_LOOKUP -to_ISO_8859_14_E1_B8 = { - to_ISO_8859_14_E1_B8_offsets, - to_ISO_8859_14_E1_B8_infos -}; - -static const unsigned char -to_ISO_8859_14_E1_B9_offsets[64] = { - 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[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 = { - to_ISO_8859_14_E1_B9_offsets, - to_ISO_8859_14_E1_B9_infos -}; - -static const unsigned char -to_ISO_8859_14_E1_BA_offsets[64] = { - 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[7] = { - o1(0xA8), o1(0xB8), o1(0xAA), o1(0xBA), - o1(0xBD), o1(0xBE), UNDEF, -}; -static const BYTE_LOOKUP -to_ISO_8859_14_E1_BA = { - to_ISO_8859_14_E1_BA_offsets, - to_ISO_8859_14_E1_BA_infos -}; - -static const unsigned char -to_ISO_8859_14_E1_BB_offsets[64] = { - 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[3] = { - o1(0xAC), o1(0xBC), UNDEF, -}; -static const BYTE_LOOKUP -to_ISO_8859_14_E1_BB = { - to_ISO_8859_14_E1_BB_offsets, - to_ISO_8859_14_E1_BB_infos -}; - -static const unsigned char -to_ISO_8859_14_E1_offsets[64] = { - 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[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 = { - to_ISO_8859_14_E1_offsets, - to_ISO_8859_14_E1_infos -}; - -static const unsigned char -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, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, - 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, - 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 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[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 = { - to_ISO_8859_14_offsets, - to_ISO_8859_14_infos -}; - -static const struct byte_lookup* const -from_ISO_8859_15_infos[129] = { - 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 = { - from_ISO_8859_15_offsets, - from_ISO_8859_15_infos -}; - -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, 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 = { - to_ISO_8859_15_C2_offsets, - to_ISO_8859_15_C2_infos -}; - -static const BYTE_LOOKUP -to_ISO_8859_15_C3 = { - to_ISO_8859_15_C3_offsets, - to_ISO_8859_1_C3_infos -}; - -static const unsigned char -to_ISO_8859_15_C5_offsets[64] = { - 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[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 = { - to_ISO_8859_15_C5_offsets, - to_ISO_8859_15_C5_infos -}; - -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, -}; -static const struct byte_lookup* const -to_ISO_8859_15_E2_82_infos[2] = { - o1(0xA4), UNDEF, -}; -static const BYTE_LOOKUP -to_ISO_8859_15_E2_82 = { - to_ISO_8859_15_E2_82_offsets, - to_ISO_8859_15_E2_82_infos -}; - -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, -}; -static const struct byte_lookup* const -to_ISO_8859_15_E2_infos[2] = { - &to_ISO_8859_15_E2_82, UNDEF, -}; -static const BYTE_LOOKUP -to_ISO_8859_15_E2 = { - to_ISO_8859_15_E2_offsets, - to_ISO_8859_15_E2_infos -}; - -static const unsigned char -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, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, - 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, - 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 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[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 = { - to_ISO_8859_15_offsets, - to_ISO_8859_15_infos -}; - -/* Footprint (bytes): gross: 27684, saved: 3712, net: 23972 */ diff --git a/transcode_data_one_byte.c b/transcode_data_one_byte.c new file mode 100644 index 0000000000..2e2db23da1 --- /dev/null +++ b/transcode_data_one_byte.c @@ -0,0 +1,2933 @@ +#define TRANSCODE_DATA +#include "transcode_data.h" + +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, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 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_1_infos[129] = { + 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 = { + from_ISO_8859_1_offsets, + from_ISO_8859_1_infos +}; + +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, + 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_C2_infos[64] = { + /* 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 = { + to_ISO_8859_1_C2_offsets, + to_ISO_8859_1_C2_infos +}; + +static const struct byte_lookup* const +to_ISO_8859_1_C3_infos[64] = { + /* 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_C2_offsets, + to_ISO_8859_1_C3_infos +}; + +static const unsigned char +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, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 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[4] = { + NOMAP, &to_ISO_8859_1_C2, + &to_ISO_8859_1_C3, UNDEF, +}; +const BYTE_LOOKUP +to_ISO_8859_1 = { + to_ISO_8859_1_offsets, + to_ISO_8859_1_infos +}; + +static const unsigned char +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, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 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_2_infos[129] = { + 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_15_offsets, + from_ISO_8859_2_infos +}; + +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, 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[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 = { + to_ISO_8859_2_C2_offsets, + to_ISO_8859_2_C2_infos +}; + +static const unsigned char +to_ISO_8859_2_C3_offsets[64] = { + 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[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 = { + to_ISO_8859_2_C3_offsets, + to_ISO_8859_2_C3_infos +}; + +static const unsigned char +to_ISO_8859_2_C4_offsets[64] = { + 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[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 = { + to_ISO_8859_2_C4_offsets, + to_ISO_8859_2_C4_infos +}; + +static const unsigned char +to_ISO_8859_2_C5_offsets[64] = { + 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[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 = { + to_ISO_8859_2_C5_offsets, + to_ISO_8859_2_C5_infos +}; + +static const unsigned char +to_ISO_8859_2_CB_offsets[64] = { + 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[6] = { + o1(0xB7), o1(0xA2), o1(0xFF), o1(0xB2), + o1(0xBD), UNDEF, +}; +static const BYTE_LOOKUP +to_ISO_8859_2_CB = { + to_ISO_8859_2_CB_offsets, + to_ISO_8859_2_CB_infos +}; + +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, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, + 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, + 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 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[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 = { + to_ISO_8859_2_offsets, + to_ISO_8859_2_infos +}; + +static const unsigned char +from_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, 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,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 = { + from_ISO_8859_3_offsets, + from_ISO_8859_3_infos +}; + +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, 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[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 = { + to_ISO_8859_3_C2_offsets, + to_ISO_8859_3_C2_infos +}; + +static const unsigned char +to_ISO_8859_3_C3_offsets[64] = { + 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 = { + to_ISO_8859_3_C3_offsets, + to_ISO_8859_3_C3_infos +}; + +static const unsigned char +to_ISO_8859_3_C4_offsets[64] = { + 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[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 = { + to_ISO_8859_3_C4_offsets, + to_ISO_8859_3_C4_infos +}; + +static const unsigned char +to_ISO_8859_3_C5_offsets[64] = { + 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[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 = { + to_ISO_8859_3_C5_offsets, + to_ISO_8859_3_C5_infos +}; + +static const unsigned char +to_ISO_8859_3_CB_offsets[64] = { + 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[3] = { + o1(0xA2), o1(0xFF), UNDEF, +}; +static const BYTE_LOOKUP +to_ISO_8859_3_CB = { + to_ISO_8859_3_CB_offsets, + to_ISO_8859_3_CB_infos +}; + +static const struct byte_lookup* const +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_2_offsets, + to_ISO_8859_3_infos +}; + +static const unsigned char +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, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 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_4_infos[129] = { + 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_13_offsets, + from_ISO_8859_4_infos +}; + +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, 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[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 = { + to_ISO_8859_4_C2_offsets, + to_ISO_8859_4_C2_infos +}; + +static const unsigned char +to_ISO_8859_4_C3_offsets[64] = { + 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[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 = { + to_ISO_8859_4_C3_offsets, + to_ISO_8859_4_C3_infos +}; + +static const unsigned char +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[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_10_C4_offsets, + to_ISO_8859_4_C4_infos +}; + +static const unsigned char +to_ISO_8859_4_C5_offsets[64] = { + 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[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 = { + to_ISO_8859_4_C5_offsets, + to_ISO_8859_4_C5_infos +}; + +static const unsigned char +to_ISO_8859_4_CB_offsets[64] = { + 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[4] = { + o1(0xB7), o1(0xFF), o1(0xB2), UNDEF, +}; +static const BYTE_LOOKUP +to_ISO_8859_4_CB = { + to_ISO_8859_4_CB_offsets, + to_ISO_8859_4_CB_infos +}; + +static const struct byte_lookup* const +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_2_offsets, + to_ISO_8859_4_infos +}; + +static const unsigned char +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, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 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_5_infos[129] = { + 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_10_offsets, + from_ISO_8859_5_infos +}; + +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, 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[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 = { + to_ISO_8859_5_C2_offsets, + to_ISO_8859_5_C2_infos +}; + +static const unsigned char +to_ISO_8859_5_D0_offsets[64] = { + 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[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 = { + to_ISO_8859_5_D0_offsets, + to_ISO_8859_5_D0_infos +}; + +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, + 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[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 = { + to_ISO_8859_5_D1_offsets, + to_ISO_8859_5_D1_infos +}; + +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, +}; +static const struct byte_lookup* const +to_ISO_8859_5_E2_84_infos[2] = { + o1(0xF0), UNDEF, +}; +static const BYTE_LOOKUP +to_ISO_8859_5_E2_84 = { + to_ISO_8859_5_E2_84_offsets, + to_ISO_8859_5_E2_84_infos +}; + +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, +}; +static const struct byte_lookup* const +to_ISO_8859_5_E2_infos[2] = { + &to_ISO_8859_5_E2_84, UNDEF, +}; +static const BYTE_LOOKUP +to_ISO_8859_5_E2 = { + to_ISO_8859_5_E2_offsets, + to_ISO_8859_5_E2_infos +}; + +static const unsigned char +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, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, + 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, + 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 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[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 = { + to_ISO_8859_5_offsets, + to_ISO_8859_5_infos +}; + +static const unsigned char +from_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, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 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, 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, 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 = { + from_ISO_8859_6_offsets, + from_ISO_8859_6_infos +}; + +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, 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[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 = { + to_ISO_8859_6_C2_offsets, + to_ISO_8859_6_C2_infos +}; + +static const unsigned char +to_ISO_8859_6_D8_offsets[64] = { + 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[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 = { + to_ISO_8859_6_D8_offsets, + to_ISO_8859_6_D8_infos +}; + +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, 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[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 = { + to_ISO_8859_6_D9_offsets, + to_ISO_8859_6_D9_infos +}; + +static const unsigned char +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, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 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[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 = { + to_ISO_8859_6_offsets, + to_ISO_8859_6_infos +}; + +static const unsigned char +from_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, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 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,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,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,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 = { + from_ISO_8859_7_offsets, + from_ISO_8859_7_infos +}; + +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, 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 = { + to_ISO_8859_7_C2_offsets, + to_ISO_8859_7_C2_infos +}; + +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, +}; +static const struct byte_lookup* const +to_ISO_8859_7_CD_infos[2] = { + o1(0xAA), UNDEF, +}; +static const BYTE_LOOKUP +to_ISO_8859_7_CD = { + to_ISO_8859_7_CD_offsets, + to_ISO_8859_7_CD_infos +}; + +static const unsigned char +to_ISO_8859_7_CE_offsets[64] = { + 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, 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[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 = { + to_ISO_8859_7_CE_offsets, + to_ISO_8859_7_CE_infos +}; + +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, 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[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 = { + to_ISO_8859_7_CF_offsets, + to_ISO_8859_7_CF_infos +}; + +static const unsigned char +to_ISO_8859_7_E2_80_offsets[64] = { + 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[4] = { + o1(0xAF), o1(0xA1), o1(0xA2), UNDEF, +}; +static const BYTE_LOOKUP +to_ISO_8859_7_E2_80 = { + to_ISO_8859_7_E2_80_offsets, + to_ISO_8859_7_E2_80_infos +}; + +static const unsigned char +to_ISO_8859_7_E2_82_offsets[64] = { + 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[3] = { + o1(0xA4), o1(0xA5), UNDEF, +}; +static const BYTE_LOOKUP +to_ISO_8859_7_E2_82 = { + to_ISO_8859_7_E2_82_offsets, + to_ISO_8859_7_E2_82_infos +}; + +static const unsigned char +to_ISO_8859_7_E2_offsets[64] = { + 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[3] = { + &to_ISO_8859_7_E2_80, &to_ISO_8859_7_E2_82, + UNDEF, +}; +static const BYTE_LOOKUP +to_ISO_8859_7_E2 = { + to_ISO_8859_7_E2_offsets, + to_ISO_8859_7_E2_infos +}; + +static const unsigned char +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, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, + 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, + 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 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[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 = { + to_ISO_8859_7_offsets, + to_ISO_8859_7_infos +}; + +static const unsigned char +from_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, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 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, 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, 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 = { + from_ISO_8859_8_offsets, + from_ISO_8859_8_infos +}; + +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, 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 = { + to_ISO_8859_8_C2_offsets, + to_ISO_8859_8_C2_infos +}; + +static const unsigned char +to_ISO_8859_8_C3_offsets[64] = { + 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[3] = { + o1(0xAA), o1(0xBA), UNDEF, +}; +static const BYTE_LOOKUP +to_ISO_8859_8_C3 = { + to_ISO_8859_8_C3_offsets, + to_ISO_8859_8_C3_infos +}; + +static const unsigned char +to_ISO_8859_8_D7_offsets[64] = { + 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, 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[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 = { + to_ISO_8859_8_D7_offsets, + to_ISO_8859_8_D7_infos +}; + +static const unsigned char +to_ISO_8859_8_E2_80_offsets[64] = { + 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[4] = { + o1(0xFD), o1(0xFE), o1(0xDF), UNDEF, +}; +static const BYTE_LOOKUP +to_ISO_8859_8_E2_80 = { + to_ISO_8859_8_E2_80_offsets, + to_ISO_8859_8_E2_80_infos +}; + +static const unsigned char +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[2] = { + &to_ISO_8859_8_E2_80, UNDEF, +}; +static const BYTE_LOOKUP +to_ISO_8859_8_E2 = { + to_ISO_8859_13_E2_offsets, + to_ISO_8859_8_E2_infos +}; + +static const unsigned char +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, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, + 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, + 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 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[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 = { + to_ISO_8859_8_offsets, + to_ISO_8859_8_infos +}; + +static const struct byte_lookup* const +from_ISO_8859_9_infos[129] = { + 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_1_offsets, + from_ISO_8859_9_infos +}; + +static const unsigned char +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 BYTE_LOOKUP +to_ISO_8859_9_C2 = { + 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, + 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, + 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 = { + to_ISO_8859_9_C3_offsets, + to_ISO_8859_9_C3_infos +}; + +static const unsigned char +to_ISO_8859_9_C4_offsets[64] = { + 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[5] = { + o1(0xD0), o1(0xF0), o1(0xDD), o1(0xFD), + UNDEF, +}; +static const BYTE_LOOKUP +to_ISO_8859_9_C4 = { + to_ISO_8859_9_C4_offsets, + to_ISO_8859_9_C4_infos +}; + +static const unsigned char +to_ISO_8859_9_C5_offsets[64] = { + 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[3] = { + o1(0xDE), o1(0xFE), UNDEF, +}; +static const BYTE_LOOKUP +to_ISO_8859_9_C5 = { + to_ISO_8859_9_C5_offsets, + to_ISO_8859_9_C5_infos +}; + +static const unsigned char +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, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, + 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, + 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 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[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 = { + to_ISO_8859_9_offsets, + to_ISO_8859_9_infos +}; + +static const struct byte_lookup* const +from_ISO_8859_10_infos[129] = { + 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 = { + from_ISO_8859_10_offsets, + from_ISO_8859_10_infos +}; + +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, 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[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 = { + to_ISO_8859_10_C2_offsets, + to_ISO_8859_10_C2_infos +}; + +static const unsigned char +to_ISO_8859_10_C3_offsets[64] = { + 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 = { + to_ISO_8859_10_C3_offsets, + to_ISO_8859_10_C3_infos +}; + +static const struct byte_lookup* const +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 = { + to_ISO_8859_10_C4_offsets, + to_ISO_8859_10_C4_infos +}; + +static const unsigned char +to_ISO_8859_10_C5_offsets[64] = { + 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[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 = { + to_ISO_8859_10_C5_offsets, + to_ISO_8859_10_C5_infos +}; + +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, +}; +static const struct byte_lookup* const +to_ISO_8859_10_E2_80_infos[2] = { + o1(0xBD), UNDEF, +}; +static const BYTE_LOOKUP +to_ISO_8859_10_E2_80 = { + to_ISO_8859_10_E2_80_offsets, + to_ISO_8859_10_E2_80_infos +}; + +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, +}; +static const struct byte_lookup* const +to_ISO_8859_10_E2_infos[2] = { + &to_ISO_8859_10_E2_80, UNDEF, +}; +static const BYTE_LOOKUP +to_ISO_8859_10_E2 = { + to_ISO_8859_10_E2_offsets, + to_ISO_8859_10_E2_infos +}; + +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, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, + 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, + 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 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[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 = { + to_ISO_8859_10_offsets, + to_ISO_8859_10_infos +}; + +static const unsigned char +from_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, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 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,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,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 = { + from_ISO_8859_11_offsets, + from_ISO_8859_11_infos +}; + +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, 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[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 = { + to_ISO_8859_11_C2_offsets, + to_ISO_8859_11_C2_infos +}; + +static const unsigned char +to_ISO_8859_11_E0_B8_offsets[64] = { + 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, 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 = { + to_ISO_8859_11_E0_B8_offsets, + to_ISO_8859_11_E0_B8_infos +}; + +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, 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[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 = { + to_ISO_8859_11_E0_B9_offsets, + to_ISO_8859_11_E0_B9_infos +}; + +static const unsigned char +to_ISO_8859_11_E0_offsets[64] = { + 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[3] = { + &to_ISO_8859_11_E0_B8, &to_ISO_8859_11_E0_B9, + UNDEF, +}; +static const BYTE_LOOKUP +to_ISO_8859_11_E0 = { + to_ISO_8859_11_E0_offsets, + to_ISO_8859_11_E0_infos +}; + +static const unsigned char +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, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 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[4] = { + NOMAP, &to_ISO_8859_11_C2, + &to_ISO_8859_11_E0, UNDEF, +}; +const BYTE_LOOKUP +to_ISO_8859_11 = { + to_ISO_8859_11_offsets, + to_ISO_8859_11_infos +}; + +static const struct byte_lookup* const +from_ISO_8859_13_infos[129] = { + 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 = { + from_ISO_8859_13_offsets, + from_ISO_8859_13_infos +}; + +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, 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 = { + to_ISO_8859_13_C2_offsets, + to_ISO_8859_13_C2_infos +}; + +static const unsigned char +to_ISO_8859_13_C3_offsets[64] = { + 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[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 = { + to_ISO_8859_13_C3_offsets, + to_ISO_8859_13_C3_infos +}; + +static const unsigned char +to_ISO_8859_13_C4_offsets[64] = { + 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[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 = { + to_ISO_8859_13_C4_offsets, + to_ISO_8859_13_C4_infos +}; + +static const unsigned char +to_ISO_8859_13_C5_offsets[64] = { + 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[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 = { + to_ISO_8859_13_C5_offsets, + to_ISO_8859_13_C5_infos +}; + +static const unsigned char +to_ISO_8859_13_E2_80_offsets[64] = { + 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[5] = { + o1(0xFF), o1(0xB4), o1(0xA1), o1(0xA5), + UNDEF, +}; +static const BYTE_LOOKUP +to_ISO_8859_13_E2_80 = { + to_ISO_8859_13_E2_80_offsets, + to_ISO_8859_13_E2_80_infos +}; + +static const struct byte_lookup* const +to_ISO_8859_13_E2_infos[2] = { + &to_ISO_8859_13_E2_80, UNDEF, +}; +static const BYTE_LOOKUP +to_ISO_8859_13_E2 = { + to_ISO_8859_13_E2_offsets, + to_ISO_8859_13_E2_infos +}; + +static const struct byte_lookup* const +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_10_offsets, + to_ISO_8859_13_infos +}; + +static const struct byte_lookup* const +from_ISO_8859_14_infos[129] = { + 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_13_offsets, + from_ISO_8859_14_infos +}; + +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, 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[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 = { + to_ISO_8859_14_C2_offsets, + to_ISO_8859_14_C2_infos +}; + +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, + 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, + 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 = { + to_ISO_8859_14_C3_offsets, + to_ISO_8859_14_C3_infos +}; + +static const unsigned char +to_ISO_8859_14_C4_offsets[64] = { + 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[5] = { + o1(0xA4), o1(0xA5), o1(0xB2), o1(0xB3), + UNDEF, +}; +static const BYTE_LOOKUP +to_ISO_8859_14_C4 = { + to_ISO_8859_14_C4_offsets, + to_ISO_8859_14_C4_infos +}; + +static const unsigned char +to_ISO_8859_14_C5_offsets[64] = { + 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, + 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 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[6] = { + o1(0xD0), o1(0xF0), o1(0xDE), o1(0xFE), + o1(0xAF), UNDEF, +}; +static const BYTE_LOOKUP +to_ISO_8859_14_C5 = { + to_ISO_8859_14_C5_offsets, + to_ISO_8859_14_C5_infos +}; + +static const unsigned char +to_ISO_8859_14_E1_B8_offsets[64] = { + 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[7] = { + o1(0xA1), o1(0xA2), o1(0xA6), o1(0xAB), + o1(0xB0), o1(0xB1), UNDEF, +}; +static const BYTE_LOOKUP +to_ISO_8859_14_E1_B8 = { + to_ISO_8859_14_E1_B8_offsets, + to_ISO_8859_14_E1_B8_infos +}; + +static const unsigned char +to_ISO_8859_14_E1_B9_offsets[64] = { + 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[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 = { + to_ISO_8859_14_E1_B9_offsets, + to_ISO_8859_14_E1_B9_infos +}; + +static const unsigned char +to_ISO_8859_14_E1_BA_offsets[64] = { + 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[7] = { + o1(0xA8), o1(0xB8), o1(0xAA), o1(0xBA), + o1(0xBD), o1(0xBE), UNDEF, +}; +static const BYTE_LOOKUP +to_ISO_8859_14_E1_BA = { + to_ISO_8859_14_E1_BA_offsets, + to_ISO_8859_14_E1_BA_infos +}; + +static const unsigned char +to_ISO_8859_14_E1_BB_offsets[64] = { + 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[3] = { + o1(0xAC), o1(0xBC), UNDEF, +}; +static const BYTE_LOOKUP +to_ISO_8859_14_E1_BB = { + to_ISO_8859_14_E1_BB_offsets, + to_ISO_8859_14_E1_BB_infos +}; + +static const unsigned char +to_ISO_8859_14_E1_offsets[64] = { + 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[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 = { + to_ISO_8859_14_E1_offsets, + to_ISO_8859_14_E1_infos +}; + +static const unsigned char +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, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, + 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, + 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 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[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 = { + to_ISO_8859_14_offsets, + to_ISO_8859_14_infos +}; + +static const struct byte_lookup* const +from_ISO_8859_15_infos[129] = { + 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 = { + from_ISO_8859_15_offsets, + from_ISO_8859_15_infos +}; + +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, 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 = { + to_ISO_8859_15_C2_offsets, + to_ISO_8859_15_C2_infos +}; + +static const BYTE_LOOKUP +to_ISO_8859_15_C3 = { + to_ISO_8859_15_C3_offsets, + to_ISO_8859_1_C3_infos +}; + +static const unsigned char +to_ISO_8859_15_C5_offsets[64] = { + 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[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 = { + to_ISO_8859_15_C5_offsets, + to_ISO_8859_15_C5_infos +}; + +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, +}; +static const struct byte_lookup* const +to_ISO_8859_15_E2_82_infos[2] = { + o1(0xA4), UNDEF, +}; +static const BYTE_LOOKUP +to_ISO_8859_15_E2_82 = { + to_ISO_8859_15_E2_82_offsets, + to_ISO_8859_15_E2_82_infos +}; + +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, +}; +static const struct byte_lookup* const +to_ISO_8859_15_E2_infos[2] = { + &to_ISO_8859_15_E2_82, UNDEF, +}; +static const BYTE_LOOKUP +to_ISO_8859_15_E2 = { + to_ISO_8859_15_E2_offsets, + to_ISO_8859_15_E2_infos +}; + +static const unsigned char +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, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, + 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, + 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 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[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 = { + to_ISO_8859_15_offsets, + to_ISO_8859_15_infos +}; + +/* Footprint (bytes): gross: 27684, saved: 3712, net: 23972 */ -- cgit v1.2.3