From b7db9036beece0e278aae5fd48f689ebca86e9ca Mon Sep 17 00:00:00 2001 From: nobu Date: Tue, 25 Dec 2007 05:57:04 +0000 Subject: * common.mk (COMMONOBJS): transcode_data_*.c moved under enc/trans. * transcode_data.h (rb_transcoding, rb_transcoder): prefixed. * transcode.c (rb_register_transcoder, rb_declare_transcoder): split declaration and registration. [ruby-dev:32704] * transcode.c (transcode_dispatch): autoload pre-declared transcoder. * transcode.c (str_transcode): use rb_define_dummy_encoding(). * transcode.c (Init_transcode): initialize transcoder tables. * enc/trans/single_byte.c, enc/trans/japanese.c: moved from top. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@14666 b2dd03c8-39d4-4d8f-98ff-823fe69b080e --- ChangeLog | 17 + common.mk | 4 - enc/trans/japanese.c | 23868 ++++++++++++++++++++++++++++++++++++++++++++ enc/trans/single_byte.c | 3020 ++++++ transcode.c | 260 +- transcode_data.h | 22 +- transcode_data_japanese.c | 23826 ------------------------------------------- transcode_data_one_byte.c | 2849 ------ 8 files changed, 27025 insertions(+), 26841 deletions(-) create mode 100644 enc/trans/japanese.c create mode 100644 enc/trans/single_byte.c delete mode 100644 transcode_data_japanese.c delete mode 100644 transcode_data_one_byte.c diff --git a/ChangeLog b/ChangeLog index ceaee71160..b8b15e1b06 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,20 @@ +Tue Dec 25 14:57:00 2007 Nobuyoshi Nakada + + * common.mk (COMMONOBJS): transcode_data_*.c moved under enc/trans. + + * transcode_data.h (rb_transcoding, rb_transcoder): prefixed. + + * transcode.c (rb_register_transcoder, rb_declare_transcoder): split + declaration and registration. [ruby-dev:32704] + + * transcode.c (transcode_dispatch): autoload pre-declared transcoder. + + * transcode.c (str_transcode): use rb_define_dummy_encoding(). + + * transcode.c (Init_transcode): initialize transcoder tables. + + * enc/trans/single_byte.c, enc/trans/japanese.c: moved from top. + Tue Dec 25 14:20:13 2007 Yukihiro Matsumoto * lib/mkmf.rb (map_dir): should generate path including $top_srcdir. diff --git a/common.mk b/common.mk index 634fdcaf54..fd5c366b5c 100644 --- a/common.mk +++ b/common.mk @@ -60,8 +60,6 @@ COMMONOBJS = array.$(OBJEXT) \ struct.$(OBJEXT) \ time.$(OBJEXT) \ transcode.$(OBJEXT) \ - transcode_data_one_byte.$(OBJEXT) \ - transcode_data_japanese.$(OBJEXT) \ util.$(OBJEXT) \ variable.$(OBJEXT) \ version.$(OBJEXT) \ @@ -548,8 +546,6 @@ 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_one_byte.$(OBJEXT): {$(VPATH)}transcode_data_one_byte.c {$(VPATH)}transcode_data.h -transcode_data_japanese.$(OBJEXT): {$(VPATH)}transcode_data_japanese.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/enc/trans/japanese.c b/enc/trans/japanese.c new file mode 100644 index 0000000000..3e03f2c969 --- /dev/null +++ b/enc/trans/japanese.c @@ -0,0 +1,23868 @@ +#include "transcode_data.h" + +static const unsigned char +from_SHIFT_JIS_81_offsets[256] = { + 147,147,147,147,147,147,147,147, 147,147,147,147,147,147,147,147, + 147,147,147,147,147,147,147,147, 147,147,147,147,147,147,147,147, + 147,147,147,147,147,147,147,147, 147,147,147,147,147,147,147,147, + 147,147,147,147,147,147,147,147, 147,147,147,147,147,147,147,147, + 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,147, + 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,147,147,147, + 147,147,147,147,147,147,147,147, 108,109,110,111,112,113,114,115, + 147,147,147,147,147,147,147,147, 116,117,118,119,120,121,122,147, + 147,147,147,147,147,147,147,147, 147,147,123,124,125,126,127,128, + 129,130,131,132,133,134,135,136, 137,147,147,147,147,147,147,147, + 138,139,140,141,142,143,144,145, 147,147,147,147,146,147,147,147, +}; +static const struct byte_lookup* const +from_SHIFT_JIS_81_infos[148] = { + o3(0xE3,0x80,0x80), o3(0xE3,0x80,0x81), + o3(0xE3,0x80,0x82), o3(0xEF,0xBC,0x8C), + o3(0xEF,0xBC,0x8E), o3(0xE3,0x83,0xBB), + o3(0xEF,0xBC,0x9A), o3(0xEF,0xBC,0x9B), + o3(0xEF,0xBC,0x9F), o3(0xEF,0xBC,0x81), + o3(0xE3,0x82,0x9B), o3(0xE3,0x82,0x9C), + o2(0xC2,0xB4), o3(0xEF,0xBD,0x80), + o2(0xC2,0xA8), o3(0xEF,0xBC,0xBE), + o3(0xEF,0xBF,0xA3), o3(0xEF,0xBC,0xBF), + o3(0xE3,0x83,0xBD), o3(0xE3,0x83,0xBE), + o3(0xE3,0x82,0x9D), o3(0xE3,0x82,0x9E), + o3(0xE3,0x80,0x83), o3(0xE4,0xBB,0x9D), + o3(0xE3,0x80,0x85), o3(0xE3,0x80,0x86), + o3(0xE3,0x80,0x87), o3(0xE3,0x83,0xBC), + o3(0xE2,0x80,0x95), o3(0xE2,0x80,0x90), + o3(0xEF,0xBC,0x8F), o3(0xEF,0xBC,0xBC), + o3(0xEF,0xBD,0x9E), o3(0xE2,0x88,0xA5), + o3(0xEF,0xBD,0x9C), o3(0xE2,0x80,0xA6), + o3(0xE2,0x80,0xA5), o3(0xE2,0x80,0x98), + o3(0xE2,0x80,0x99), o3(0xE2,0x80,0x9C), + o3(0xE2,0x80,0x9D), o3(0xEF,0xBC,0x88), + o3(0xEF,0xBC,0x89), o3(0xE3,0x80,0x94), + o3(0xE3,0x80,0x95), o3(0xEF,0xBC,0xBB), + o3(0xEF,0xBC,0xBD), o3(0xEF,0xBD,0x9B), + o3(0xEF,0xBD,0x9D), o3(0xE3,0x80,0x88), + o3(0xE3,0x80,0x89), o3(0xE3,0x80,0x8A), + o3(0xE3,0x80,0x8B), o3(0xE3,0x80,0x8C), + o3(0xE3,0x80,0x8D), o3(0xE3,0x80,0x8E), + o3(0xE3,0x80,0x8F), o3(0xE3,0x80,0x90), + o3(0xE3,0x80,0x91), o3(0xEF,0xBC,0x8B), + o3(0xEF,0xBC,0x8D), o2(0xC2,0xB1), + o2(0xC3,0x97), o2(0xC3,0xB7), + o3(0xEF,0xBC,0x9D), o3(0xE2,0x89,0xA0), + o3(0xEF,0xBC,0x9C), o3(0xEF,0xBC,0x9E), + o3(0xE2,0x89,0xA6), o3(0xE2,0x89,0xA7), + o3(0xE2,0x88,0x9E), o3(0xE2,0x88,0xB4), + o3(0xE2,0x99,0x82), o3(0xE2,0x99,0x80), + o2(0xC2,0xB0), o3(0xE2,0x80,0xB2), + o3(0xE2,0x80,0xB3), o3(0xE2,0x84,0x83), + o3(0xEF,0xBF,0xA5), o3(0xEF,0xBC,0x84), + o3(0xEF,0xBF,0xA0), o3(0xEF,0xBF,0xA1), + o3(0xEF,0xBC,0x85), o3(0xEF,0xBC,0x83), + o3(0xEF,0xBC,0x86), o3(0xEF,0xBC,0x8A), + o3(0xEF,0xBC,0xA0), o2(0xC2,0xA7), + o3(0xE2,0x98,0x86), o3(0xE2,0x98,0x85), + o3(0xE2,0x97,0x8B), o3(0xE2,0x97,0x8F), + o3(0xE2,0x97,0x8E), o3(0xE2,0x97,0x87), + o3(0xE2,0x97,0x86), o3(0xE2,0x96,0xA1), + o3(0xE2,0x96,0xA0), o3(0xE2,0x96,0xB3), + o3(0xE2,0x96,0xB2), o3(0xE2,0x96,0xBD), + o3(0xE2,0x96,0xBC), o3(0xE2,0x80,0xBB), + o3(0xE3,0x80,0x92), o3(0xE2,0x86,0x92), + o3(0xE2,0x86,0x90), o3(0xE2,0x86,0x91), + o3(0xE2,0x86,0x93), o3(0xE3,0x80,0x93), + o3(0xE2,0x88,0x88), o3(0xE2,0x88,0x8B), + o3(0xE2,0x8A,0x86), o3(0xE2,0x8A,0x87), + o3(0xE2,0x8A,0x82), o3(0xE2,0x8A,0x83), + o3(0xE2,0x88,0xAA), o3(0xE2,0x88,0xA9), + o3(0xE2,0x88,0xA7), o3(0xE2,0x88,0xA8), + o3(0xEF,0xBF,0xA2), o3(0xE2,0x87,0x92), + o3(0xE2,0x87,0x94), o3(0xE2,0x88,0x80), + o3(0xE2,0x88,0x83), o3(0xE2,0x88,0xA0), + o3(0xE2,0x8A,0xA5), o3(0xE2,0x8C,0x92), + o3(0xE2,0x88,0x82), o3(0xE2,0x88,0x87), + o3(0xE2,0x89,0xA1), o3(0xE2,0x89,0x92), + o3(0xE2,0x89,0xAA), o3(0xE2,0x89,0xAB), + o3(0xE2,0x88,0x9A), o3(0xE2,0x88,0xBD), + o3(0xE2,0x88,0x9D), o3(0xE2,0x88,0xB5), + o3(0xE2,0x88,0xAB), o3(0xE2,0x88,0xAC), + o3(0xE2,0x84,0xAB), o3(0xE2,0x80,0xB0), + o3(0xE2,0x99,0xAF), o3(0xE2,0x99,0xAD), + o3(0xE2,0x99,0xAA), o3(0xE2,0x80,0xA0), + o3(0xE2,0x80,0xA1), o2(0xC2,0xB6), + o3(0xE2,0x97,0xAF), UNDEF, +}; +static const BYTE_LOOKUP +from_SHIFT_JIS_81 = { + from_SHIFT_JIS_81_offsets, + from_SHIFT_JIS_81_infos +}; + +static const unsigned char +from_SHIFT_JIS_82_offsets[256] = { + 145,145,145,145,145,145,145,145, 145,145,145,145,145,145,145,145, + 145,145,145,145,145,145,145,145, 145,145,145,145,145,145,145,145, + 145,145,145,145,145,145,145,145, 145,145,145,145,145,145,145,145, + 145,145,145,145,145,145,145,145, 145,145,145,145,145,145,145,145, + 145,145,145,145,145,145,145,145, 145,145,145,145,145,145,145, 0, + 1, 2, 3, 4, 5, 6, 7, 8, 9,145,145,145,145,145,145,145, + 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,145,145,145,145,145,145, + 145, 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,145,145,145,145, 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,129,130,131,132,133,134, 135,136,137,138,139,140,141,142, + 143,144,145,145,145,145,145,145, 145,145,145,145,145,145,145,145, +}; +static const struct byte_lookup* const +from_SHIFT_JIS_82_infos[146] = { + o3(0xEF,0xBC,0x90), o3(0xEF,0xBC,0x91), + o3(0xEF,0xBC,0x92), o3(0xEF,0xBC,0x93), + o3(0xEF,0xBC,0x94), o3(0xEF,0xBC,0x95), + o3(0xEF,0xBC,0x96), o3(0xEF,0xBC,0x97), + o3(0xEF,0xBC,0x98), o3(0xEF,0xBC,0x99), + o3(0xEF,0xBC,0xA1), o3(0xEF,0xBC,0xA2), + o3(0xEF,0xBC,0xA3), o3(0xEF,0xBC,0xA4), + o3(0xEF,0xBC,0xA5), o3(0xEF,0xBC,0xA6), + o3(0xEF,0xBC,0xA7), o3(0xEF,0xBC,0xA8), + o3(0xEF,0xBC,0xA9), o3(0xEF,0xBC,0xAA), + o3(0xEF,0xBC,0xAB), o3(0xEF,0xBC,0xAC), + o3(0xEF,0xBC,0xAD), o3(0xEF,0xBC,0xAE), + o3(0xEF,0xBC,0xAF), o3(0xEF,0xBC,0xB0), + o3(0xEF,0xBC,0xB1), o3(0xEF,0xBC,0xB2), + o3(0xEF,0xBC,0xB3), o3(0xEF,0xBC,0xB4), + o3(0xEF,0xBC,0xB5), o3(0xEF,0xBC,0xB6), + o3(0xEF,0xBC,0xB7), o3(0xEF,0xBC,0xB8), + o3(0xEF,0xBC,0xB9), o3(0xEF,0xBC,0xBA), + o3(0xEF,0xBD,0x81), o3(0xEF,0xBD,0x82), + o3(0xEF,0xBD,0x83), o3(0xEF,0xBD,0x84), + o3(0xEF,0xBD,0x85), o3(0xEF,0xBD,0x86), + o3(0xEF,0xBD,0x87), o3(0xEF,0xBD,0x88), + o3(0xEF,0xBD,0x89), o3(0xEF,0xBD,0x8A), + o3(0xEF,0xBD,0x8B), o3(0xEF,0xBD,0x8C), + o3(0xEF,0xBD,0x8D), o3(0xEF,0xBD,0x8E), + o3(0xEF,0xBD,0x8F), o3(0xEF,0xBD,0x90), + o3(0xEF,0xBD,0x91), o3(0xEF,0xBD,0x92), + o3(0xEF,0xBD,0x93), o3(0xEF,0xBD,0x94), + o3(0xEF,0xBD,0x95), o3(0xEF,0xBD,0x96), + o3(0xEF,0xBD,0x97), o3(0xEF,0xBD,0x98), + o3(0xEF,0xBD,0x99), o3(0xEF,0xBD,0x9A), + o3(0xE3,0x81,0x81), o3(0xE3,0x81,0x82), + o3(0xE3,0x81,0x83), o3(0xE3,0x81,0x84), + o3(0xE3,0x81,0x85), o3(0xE3,0x81,0x86), + o3(0xE3,0x81,0x87), o3(0xE3,0x81,0x88), + o3(0xE3,0x81,0x89), o3(0xE3,0x81,0x8A), + o3(0xE3,0x81,0x8B), o3(0xE3,0x81,0x8C), + o3(0xE3,0x81,0x8D), o3(0xE3,0x81,0x8E), + o3(0xE3,0x81,0x8F), o3(0xE3,0x81,0x90), + o3(0xE3,0x81,0x91), o3(0xE3,0x81,0x92), + o3(0xE3,0x81,0x93), o3(0xE3,0x81,0x94), + o3(0xE3,0x81,0x95), o3(0xE3,0x81,0x96), + o3(0xE3,0x81,0x97), o3(0xE3,0x81,0x98), + o3(0xE3,0x81,0x99), o3(0xE3,0x81,0x9A), + o3(0xE3,0x81,0x9B), o3(0xE3,0x81,0x9C), + o3(0xE3,0x81,0x9D), o3(0xE3,0x81,0x9E), + o3(0xE3,0x81,0x9F), o3(0xE3,0x81,0xA0), + o3(0xE3,0x81,0xA1), o3(0xE3,0x81,0xA2), + o3(0xE3,0x81,0xA3), o3(0xE3,0x81,0xA4), + o3(0xE3,0x81,0xA5), o3(0xE3,0x81,0xA6), + o3(0xE3,0x81,0xA7), o3(0xE3,0x81,0xA8), + o3(0xE3,0x81,0xA9), o3(0xE3,0x81,0xAA), + o3(0xE3,0x81,0xAB), o3(0xE3,0x81,0xAC), + o3(0xE3,0x81,0xAD), o3(0xE3,0x81,0xAE), + o3(0xE3,0x81,0xAF), o3(0xE3,0x81,0xB0), + o3(0xE3,0x81,0xB1), o3(0xE3,0x81,0xB2), + o3(0xE3,0x81,0xB3), o3(0xE3,0x81,0xB4), + o3(0xE3,0x81,0xB5), o3(0xE3,0x81,0xB6), + o3(0xE3,0x81,0xB7), o3(0xE3,0x81,0xB8), + o3(0xE3,0x81,0xB9), o3(0xE3,0x81,0xBA), + o3(0xE3,0x81,0xBB), o3(0xE3,0x81,0xBC), + o3(0xE3,0x81,0xBD), o3(0xE3,0x81,0xBE), + o3(0xE3,0x81,0xBF), o3(0xE3,0x82,0x80), + o3(0xE3,0x82,0x81), o3(0xE3,0x82,0x82), + o3(0xE3,0x82,0x83), o3(0xE3,0x82,0x84), + o3(0xE3,0x82,0x85), o3(0xE3,0x82,0x86), + o3(0xE3,0x82,0x87), o3(0xE3,0x82,0x88), + o3(0xE3,0x82,0x89), o3(0xE3,0x82,0x8A), + o3(0xE3,0x82,0x8B), o3(0xE3,0x82,0x8C), + o3(0xE3,0x82,0x8D), o3(0xE3,0x82,0x8E), + o3(0xE3,0x82,0x8F), o3(0xE3,0x82,0x90), + o3(0xE3,0x82,0x91), o3(0xE3,0x82,0x92), + o3(0xE3,0x82,0x93), UNDEF, +}; +static const BYTE_LOOKUP +from_SHIFT_JIS_82 = { + from_SHIFT_JIS_82_offsets, + from_SHIFT_JIS_82_infos +}; + +static const unsigned char +from_SHIFT_JIS_83_offsets[256] = { + 134,134,134,134,134,134,134,134, 134,134,134,134,134,134,134,134, + 134,134,134,134,134,134,134,134, 134,134,134,134,134,134,134,134, + 134,134,134,134,134,134,134,134, 134,134,134,134,134,134,134,134, + 134,134,134,134,134,134,134,134, 134,134,134,134,134,134,134,134, + 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,134, + 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, + 79, 80, 81, 82, 83, 84, 85,134, 134,134,134,134,134,134,134, 86, + 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99,100,101,102, + 103,104,105,106,107,108,109,134, 134,134,134,134,134,134,134,110, + 111,112,113,114,115,116,117,118, 119,120,121,122,123,124,125,126, + 127,128,129,130,131,132,133,134, 134,134,134,134,134,134,134,134, + 134,134,134,134,134,134,134,134, 134,134,134,134,134,134,134,134, + 134,134,134,134,134,134,134,134, 134,134,134,134,134,134,134,134, +}; +static const struct byte_lookup* const +from_SHIFT_JIS_83_infos[135] = { + o3(0xE3,0x82,0xA1), o3(0xE3,0x82,0xA2), + o3(0xE3,0x82,0xA3), o3(0xE3,0x82,0xA4), + o3(0xE3,0x82,0xA5), o3(0xE3,0x82,0xA6), + o3(0xE3,0x82,0xA7), o3(0xE3,0x82,0xA8), + o3(0xE3,0x82,0xA9), o3(0xE3,0x82,0xAA), + o3(0xE3,0x82,0xAB), o3(0xE3,0x82,0xAC), + o3(0xE3,0x82,0xAD), o3(0xE3,0x82,0xAE), + o3(0xE3,0x82,0xAF), o3(0xE3,0x82,0xB0), + o3(0xE3,0x82,0xB1), o3(0xE3,0x82,0xB2), + o3(0xE3,0x82,0xB3), o3(0xE3,0x82,0xB4), + o3(0xE3,0x82,0xB5), o3(0xE3,0x82,0xB6), + o3(0xE3,0x82,0xB7), o3(0xE3,0x82,0xB8), + o3(0xE3,0x82,0xB9), o3(0xE3,0x82,0xBA), + o3(0xE3,0x82,0xBB), o3(0xE3,0x82,0xBC), + o3(0xE3,0x82,0xBD), o3(0xE3,0x82,0xBE), + o3(0xE3,0x82,0xBF), o3(0xE3,0x83,0x80), + o3(0xE3,0x83,0x81), o3(0xE3,0x83,0x82), + o3(0xE3,0x83,0x83), o3(0xE3,0x83,0x84), + o3(0xE3,0x83,0x85), o3(0xE3,0x83,0x86), + o3(0xE3,0x83,0x87), o3(0xE3,0x83,0x88), + o3(0xE3,0x83,0x89), o3(0xE3,0x83,0x8A), + o3(0xE3,0x83,0x8B), o3(0xE3,0x83,0x8C), + o3(0xE3,0x83,0x8D), o3(0xE3,0x83,0x8E), + o3(0xE3,0x83,0x8F), o3(0xE3,0x83,0x90), + o3(0xE3,0x83,0x91), o3(0xE3,0x83,0x92), + o3(0xE3,0x83,0x93), o3(0xE3,0x83,0x94), + o3(0xE3,0x83,0x95), o3(0xE3,0x83,0x96), + o3(0xE3,0x83,0x97), o3(0xE3,0x83,0x98), + o3(0xE3,0x83,0x99), o3(0xE3,0x83,0x9A), + o3(0xE3,0x83,0x9B), o3(0xE3,0x83,0x9C), + o3(0xE3,0x83,0x9D), o3(0xE3,0x83,0x9E), + o3(0xE3,0x83,0x9F), o3(0xE3,0x83,0xA0), + o3(0xE3,0x83,0xA1), o3(0xE3,0x83,0xA2), + o3(0xE3,0x83,0xA3), o3(0xE3,0x83,0xA4), + o3(0xE3,0x83,0xA5), o3(0xE3,0x83,0xA6), + o3(0xE3,0x83,0xA7), o3(0xE3,0x83,0xA8), + o3(0xE3,0x83,0xA9), o3(0xE3,0x83,0xAA), + o3(0xE3,0x83,0xAB), o3(0xE3,0x83,0xAC), + o3(0xE3,0x83,0xAD), o3(0xE3,0x83,0xAE), + o3(0xE3,0x83,0xAF), o3(0xE3,0x83,0xB0), + o3(0xE3,0x83,0xB1), o3(0xE3,0x83,0xB2), + o3(0xE3,0x83,0xB3), o3(0xE3,0x83,0xB4), + o3(0xE3,0x83,0xB5), o3(0xE3,0x83,0xB6), + 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,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,0x83), + o2(0xCF,0x84), o2(0xCF,0x85), + o2(0xCF,0x86), o2(0xCF,0x87), + o2(0xCF,0x88), o2(0xCF,0x89), + UNDEF, +}; +static const BYTE_LOOKUP +from_SHIFT_JIS_83 = { + from_SHIFT_JIS_83_offsets, + from_SHIFT_JIS_83_infos +}; + +static const unsigned char +from_SHIFT_JIS_84_offsets[256] = { + 98, 98, 98, 98, 98, 98, 98, 98, 98, 98, 98, 98, 98, 98, 98, 98, + 98, 98, 98, 98, 98, 98, 98, 98, 98, 98, 98, 98, 98, 98, 98, 98, + 98, 98, 98, 98, 98, 98, 98, 98, 98, 98, 98, 98, 98, 98, 98, 98, + 98, 98, 98, 98, 98, 98, 98, 98, 98, 98, 98, 98, 98, 98, 98, 98, + 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, 98, 98, 98, 98, 98, 98, 98, 98, 98, 98, 98, 98, 98, 98, 98, + 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 98, + 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, + 64, 65, 98, 98, 98, 98, 98, 98, 98, 98, 98, 98, 98, 98, 98, 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, + 98, 98, 98, 98, 98, 98, 98, 98, 98, 98, 98, 98, 98, 98, 98, 98, + 98, 98, 98, 98, 98, 98, 98, 98, 98, 98, 98, 98, 98, 98, 98, 98, + 98, 98, 98, 98, 98, 98, 98, 98, 98, 98, 98, 98, 98, 98, 98, 98, + 98, 98, 98, 98, 98, 98, 98, 98, 98, 98, 98, 98, 98, 98, 98, 98, +}; +static const struct byte_lookup* const +from_SHIFT_JIS_84_infos[99] = { + o2(0xD0,0x90), o2(0xD0,0x91), + o2(0xD0,0x92), o2(0xD0,0x93), + o2(0xD0,0x94), o2(0xD0,0x95), + o2(0xD0,0x81), 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(0xD1,0x91), + 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,0x94,0x80), o3(0xE2,0x94,0x82), + o3(0xE2,0x94,0x8C), o3(0xE2,0x94,0x90), + o3(0xE2,0x94,0x98), o3(0xE2,0x94,0x94), + o3(0xE2,0x94,0x9C), o3(0xE2,0x94,0xAC), + o3(0xE2,0x94,0xA4), o3(0xE2,0x94,0xB4), + o3(0xE2,0x94,0xBC), o3(0xE2,0x94,0x81), + o3(0xE2,0x94,0x83), o3(0xE2,0x94,0x8F), + o3(0xE2,0x94,0x93), o3(0xE2,0x94,0x9B), + o3(0xE2,0x94,0x97), o3(0xE2,0x94,0xA3), + o3(0xE2,0x94,0xB3), o3(0xE2,0x94,0xAB), + o3(0xE2,0x94,0xBB), o3(0xE2,0x95,0x8B), + o3(0xE2,0x94,0xA0), o3(0xE2,0x94,0xAF), + o3(0xE2,0x94,0xA8), o3(0xE2,0x94,0xB7), + o3(0xE2,0x94,0xBF), o3(0xE2,0x94,0x9D), + o3(0xE2,0x94,0xB0), o3(0xE2,0x94,0xA5), + o3(0xE2,0x94,0xB8), o3(0xE2,0x95,0x82), + UNDEF, +}; +static const BYTE_LOOKUP +from_SHIFT_JIS_84 = { + from_SHIFT_JIS_84_offsets, + from_SHIFT_JIS_84_infos +}; + +static const unsigned char +from_SHIFT_JIS_87_offsets[256] = { + 83, 83, 83, 83, 83, 83, 83, 83, 83, 83, 83, 83, 83, 83, 83, 83, + 83, 83, 83, 83, 83, 83, 83, 83, 83, 83, 83, 83, 83, 83, 83, 83, + 83, 83, 83, 83, 83, 83, 83, 83, 83, 83, 83, 83, 83, 83, 83, 83, + 83, 83, 83, 83, 83, 83, 83, 83, 83, 83, 83, 83, 83, 83, 83, 83, + 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, 83, 30, + 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, + 47, 48, 49, 50, 51, 52, 83, 83, 83, 83, 83, 83, 83, 83, 53, 83, + 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, 83, 83, + 83, 83, 83, 83, 83, 83, 83, 83, 83, 83, 83, 83, 83, 83, 83, 83, + 83, 83, 83, 83, 83, 83, 83, 83, 83, 83, 83, 83, 83, 83, 83, 83, + 83, 83, 83, 83, 83, 83, 83, 83, 83, 83, 83, 83, 83, 83, 83, 83, + 83, 83, 83, 83, 83, 83, 83, 83, 83, 83, 83, 83, 83, 83, 83, 83, + 83, 83, 83, 83, 83, 83, 83, 83, 83, 83, 83, 83, 83, 83, 83, 83, + 83, 83, 83, 83, 83, 83, 83, 83, 83, 83, 83, 83, 83, 83, 83, 83, +}; +static const struct byte_lookup* const +from_SHIFT_JIS_87_infos[84] = { + /* used from from_SHIFT_JIS_87 */ + /* used from from_EUC_JP_AD */ + o3(0xE2,0x91,0xA0), o3(0xE2,0x91,0xA1), + o3(0xE2,0x91,0xA2), o3(0xE2,0x91,0xA3), + o3(0xE2,0x91,0xA4), o3(0xE2,0x91,0xA5), + o3(0xE2,0x91,0xA6), o3(0xE2,0x91,0xA7), + o3(0xE2,0x91,0xA8), o3(0xE2,0x91,0xA9), + o3(0xE2,0x91,0xAA), o3(0xE2,0x91,0xAB), + o3(0xE2,0x91,0xAC), o3(0xE2,0x91,0xAD), + o3(0xE2,0x91,0xAE), o3(0xE2,0x91,0xAF), + o3(0xE2,0x91,0xB0), o3(0xE2,0x91,0xB1), + o3(0xE2,0x91,0xB2), o3(0xE2,0x91,0xB3), + o3(0xE2,0x85,0xA0), o3(0xE2,0x85,0xA1), + o3(0xE2,0x85,0xA2), o3(0xE2,0x85,0xA3), + o3(0xE2,0x85,0xA4), o3(0xE2,0x85,0xA5), + o3(0xE2,0x85,0xA6), o3(0xE2,0x85,0xA7), + o3(0xE2,0x85,0xA8), o3(0xE2,0x85,0xA9), + o3(0xE3,0x8D,0x89), o3(0xE3,0x8C,0x94), + o3(0xE3,0x8C,0xA2), o3(0xE3,0x8D,0x8D), + o3(0xE3,0x8C,0x98), o3(0xE3,0x8C,0xA7), + o3(0xE3,0x8C,0x83), o3(0xE3,0x8C,0xB6), + o3(0xE3,0x8D,0x91), o3(0xE3,0x8D,0x97), + o3(0xE3,0x8C,0x8D), o3(0xE3,0x8C,0xA6), + o3(0xE3,0x8C,0xA3), o3(0xE3,0x8C,0xAB), + o3(0xE3,0x8D,0x8A), o3(0xE3,0x8C,0xBB), + o3(0xE3,0x8E,0x9C), o3(0xE3,0x8E,0x9D), + o3(0xE3,0x8E,0x9E), o3(0xE3,0x8E,0x8E), + o3(0xE3,0x8E,0x8F), o3(0xE3,0x8F,0x84), + o3(0xE3,0x8E,0xA1), o3(0xE3,0x8D,0xBB), + o3(0xE3,0x80,0x9D), o3(0xE3,0x80,0x9F), + o3(0xE2,0x84,0x96), o3(0xE3,0x8F,0x8D), + o3(0xE2,0x84,0xA1), o3(0xE3,0x8A,0xA4), + o3(0xE3,0x8A,0xA5), o3(0xE3,0x8A,0xA6), + o3(0xE3,0x8A,0xA7), o3(0xE3,0x8A,0xA8), + o3(0xE3,0x88,0xB1), o3(0xE3,0x88,0xB2), + o3(0xE3,0x88,0xB9), o3(0xE3,0x8D,0xBE), + o3(0xE3,0x8D,0xBD), o3(0xE3,0x8D,0xBC), + o3(0xE2,0x89,0x92), o3(0xE2,0x89,0xA1), + o3(0xE2,0x88,0xAB), o3(0xE2,0x88,0xAE), + o3(0xE2,0x88,0x91), o3(0xE2,0x88,0x9A), + o3(0xE2,0x8A,0xA5), o3(0xE2,0x88,0xA0), + o3(0xE2,0x88,0x9F), o3(0xE2,0x8A,0xBF), + o3(0xE2,0x88,0xB5), o3(0xE2,0x88,0xA9), + o3(0xE2,0x88,0xAA), UNDEF, +}; +static const BYTE_LOOKUP +from_SHIFT_JIS_87 = { + from_SHIFT_JIS_87_offsets, + from_SHIFT_JIS_87_infos +}; + +static const unsigned char +from_SHIFT_JIS_88_offsets[256] = { + 94, 94, 94, 94, 94, 94, 94, 94, 94, 94, 94, 94, 94, 94, 94, 94, + 94, 94, 94, 94, 94, 94, 94, 94, 94, 94, 94, 94, 94, 94, 94, 94, + 94, 94, 94, 94, 94, 94, 94, 94, 94, 94, 94, 94, 94, 94, 94, 94, + 94, 94, 94, 94, 94, 94, 94, 94, 94, 94, 94, 94, 94, 94, 94, 94, + 94, 94, 94, 94, 94, 94, 94, 94, 94, 94, 94, 94, 94, 94, 94, 94, + 94, 94, 94, 94, 94, 94, 94, 94, 94, 94, 94, 94, 94, 94, 94, 94, + 94, 94, 94, 94, 94, 94, 94, 94, 94, 94, 94, 94, 94, 94, 94, 94, + 94, 94, 94, 94, 94, 94, 94, 94, 94, 94, 94, 94, 94, 94, 94, 94, + 94, 94, 94, 94, 94, 94, 94, 94, 94, 94, 94, 94, 94, 94, 94, 94, + 94, 94, 94, 94, 94, 94, 94, 94, 94, 94, 94, 94, 94, 94, 94, 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, 94, 94, +}; +static const struct byte_lookup* const +from_SHIFT_JIS_88_infos[95] = { + /* used from from_SHIFT_JIS_88 */ + /* used from from_EUC_JP_B0 */ + o3(0xE4,0xBA,0x9C), o3(0xE5,0x94,0x96), + o3(0xE5,0xA8,0x83), o3(0xE9,0x98,0xBF), + o3(0xE5,0x93,0x80), o3(0xE6,0x84,0x9B), + o3(0xE6,0x8C,0xA8), o3(0xE5,0xA7,0xB6), + o3(0xE9,0x80,0xA2), o3(0xE8,0x91,0xB5), + o3(0xE8,0x8C,0x9C), o3(0xE7,0xA9,0x90), + o3(0xE6,0x82,0xAA), o3(0xE6,0x8F,0xA1), + o3(0xE6,0xB8,0xA5), o3(0xE6,0x97,0xAD), + o3(0xE8,0x91,0xA6), o3(0xE8,0x8A,0xA6), + o3(0xE9,0xAF,0xB5), o3(0xE6,0xA2,0x93), + o3(0xE5,0x9C,0xA7), o3(0xE6,0x96,0xA1), + o3(0xE6,0x89,0xB1), o3(0xE5,0xAE,0x9B), + o3(0xE5,0xA7,0x90), o3(0xE8,0x99,0xBB), + o3(0xE9,0xA3,0xB4), o3(0xE7,0xB5,0xA2), + o3(0xE7,0xB6,0xBE), o3(0xE9,0xAE,0x8E), + o3(0xE6,0x88,0x96), o3(0xE7,0xB2,0x9F), + o3(0xE8,0xA2,0xB7), o3(0xE5,0xAE,0x89), + o3(0xE5,0xBA,0xB5), o3(0xE6,0x8C,0x89), + o3(0xE6,0x9A,0x97), o3(0xE6,0xA1,0x88), + o3(0xE9,0x97,0x87), o3(0xE9,0x9E,0x8D), + o3(0xE6,0x9D,0x8F), o3(0xE4,0xBB,0xA5), + o3(0xE4,0xBC,0x8A), o3(0xE4,0xBD,0x8D), + o3(0xE4,0xBE,0x9D), o3(0xE5,0x81,0x89), + o3(0xE5,0x9B,0xB2), o3(0xE5,0xA4,0xB7), + o3(0xE5,0xA7,0x94), o3(0xE5,0xA8,0x81), + o3(0xE5,0xB0,0x89), o3(0xE6,0x83,0x9F), + o3(0xE6,0x84,0x8F), o3(0xE6,0x85,0xB0), + o3(0xE6,0x98,0x93), o3(0xE6,0xA4,0x85), + o3(0xE7,0x82,0xBA), o3(0xE7,0x95,0x8F), + o3(0xE7,0x95,0xB0), o3(0xE7,0xA7,0xBB), + o3(0xE7,0xB6,0xAD), o3(0xE7,0xB7,0xAF), + o3(0xE8,0x83,0x83), o3(0xE8,0x90,0x8E), + o3(0xE8,0xA1,0xA3), o3(0xE8,0xAC,0x82), + o3(0xE9,0x81,0x95), o3(0xE9,0x81,0xBA), + o3(0xE5,0x8C,0xBB), o3(0xE4,0xBA,0x95), + o3(0xE4,0xBA,0xA5), o3(0xE5,0x9F,0x9F), + o3(0xE8,0x82,0xB2), o3(0xE9,0x83,0x81), + o3(0xE7,0xA3,0xAF), o3(0xE4,0xB8,0x80), + o3(0xE5,0xA3,0xB1), o3(0xE6,0xBA,0xA2), + o3(0xE9,0x80,0xB8), o3(0xE7,0xA8,0xB2), + o3(0xE8,0x8C,0xA8), o3(0xE8,0x8A,0x8B), + o3(0xE9,0xB0,0xAF), o3(0xE5,0x85,0x81), + o3(0xE5,0x8D,0xB0), o3(0xE5,0x92,0xBD), + o3(0xE5,0x93,0xA1), o3(0xE5,0x9B,0xA0), + o3(0xE5,0xA7,0xBB), o3(0xE5,0xBC,0x95), + o3(0xE9,0xA3,0xB2), o3(0xE6,0xB7,0xAB), + o3(0xE8,0x83,0xA4), o3(0xE8,0x94,0xAD), + UNDEF, +}; +static const BYTE_LOOKUP +from_SHIFT_JIS_88 = { + from_SHIFT_JIS_88_offsets, + from_SHIFT_JIS_88_infos +}; + +static const unsigned char +from_SHIFT_JIS_89_offsets[256] = { + /* used from from_SHIFT_JIS_89 */ + /* used from from_SHIFT_JIS_8A */ + /* used from from_SHIFT_JIS_8B */ + /* used from from_SHIFT_JIS_8C */ + /* used from from_SHIFT_JIS_8D */ + /* used from from_SHIFT_JIS_8E */ + /* used from from_SHIFT_JIS_8F */ + /* used from from_SHIFT_JIS_90 */ + /* used from from_SHIFT_JIS_91 */ + /* used from from_SHIFT_JIS_92 */ + /* used from from_SHIFT_JIS_93 */ + /* used from from_SHIFT_JIS_94 */ + /* used from from_SHIFT_JIS_95 */ + /* used from from_SHIFT_JIS_96 */ + /* used from from_SHIFT_JIS_97 */ + /* used from from_SHIFT_JIS_99 */ + /* used from from_SHIFT_JIS_9A */ + /* used from from_SHIFT_JIS_9B */ + /* used from from_SHIFT_JIS_9C */ + /* used from from_SHIFT_JIS_9D */ + /* used from from_SHIFT_JIS_9E */ + /* used from from_SHIFT_JIS_9F */ + /* used from from_SHIFT_JIS_E0 */ + /* used from from_SHIFT_JIS_E1 */ + /* used from from_SHIFT_JIS_E2 */ + /* used from from_SHIFT_JIS_E3 */ + /* used from from_SHIFT_JIS_E4 */ + /* used from from_SHIFT_JIS_E5 */ + /* used from from_SHIFT_JIS_E6 */ + /* used from from_SHIFT_JIS_E7 */ + /* used from from_SHIFT_JIS_E8 */ + /* used from from_SHIFT_JIS_E9 */ + /* used from from_SHIFT_JIS_FB */ + 188,188,188,188,188,188,188,188, 188,188,188,188,188,188,188,188, + 188,188,188,188,188,188,188,188, 188,188,188,188,188,188,188,188, + 188,188,188,188,188,188,188,188, 188,188,188,188,188,188,188,188, + 188,188,188,188,188,188,188,188, 188,188,188,188,188,188,188,188, + 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,188, + 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,129,130,131,132,133,134, 135,136,137,138,139,140,141,142, + 143,144,145,146,147,148,149,150, 151,152,153,154,155,156,157,158, + 159,160,161,162,163,164,165,166, 167,168,169,170,171,172,173,174, + 175,176,177,178,179,180,181,182, 183,184,185,186,187,188,188,188, +}; +static const struct byte_lookup* const +from_SHIFT_JIS_89_infos[189] = { + o3(0xE9,0x99,0xA2), o3(0xE9,0x99,0xB0), + o3(0xE9,0x9A,0xA0), o3(0xE9,0x9F,0xBB), + o3(0xE5,0x90,0x8B), o3(0xE5,0x8F,0xB3), + o3(0xE5,0xAE,0x87), o3(0xE7,0x83,0x8F), + o3(0xE7,0xBE,0xBD), o3(0xE8,0xBF,0x82), + o3(0xE9,0x9B,0xA8), o3(0xE5,0x8D,0xAF), + o3(0xE9,0xB5,0x9C), o3(0xE7,0xAA,0xBA), + o3(0xE4,0xB8,0x91), o3(0xE7,0xA2,0x93), + o3(0xE8,0x87,0xBC), o3(0xE6,0xB8,0xA6), + o3(0xE5,0x98,0x98), o3(0xE5,0x94,0x84), + o3(0xE6,0xAC,0x9D), o3(0xE8,0x94,0x9A), + o3(0xE9,0xB0,0xBB), o3(0xE5,0xA7,0xA5), + o3(0xE5,0x8E,0xA9), o3(0xE6,0xB5,0xA6), + o3(0xE7,0x93,0x9C), o3(0xE9,0x96,0x8F), + o3(0xE5,0x99,0x82), o3(0xE4,0xBA,0x91), + o3(0xE9,0x81,0x8B), o3(0xE9,0x9B,0xB2), + o3(0xE8,0x8D,0x8F), o3(0xE9,0xA4,0x8C), + o3(0xE5,0x8F,0xA1), o3(0xE5,0x96,0xB6), + o3(0xE5,0xAC,0xB0), o3(0xE5,0xBD,0xB1), + o3(0xE6,0x98,0xA0), o3(0xE6,0x9B,0xB3), + o3(0xE6,0xA0,0x84), o3(0xE6,0xB0,0xB8), + o3(0xE6,0xB3,0xB3), o3(0xE6,0xB4,0xA9), + o3(0xE7,0x91,0x9B), o3(0xE7,0x9B,0x88), + o3(0xE7,0xA9,0x8E), o3(0xE9,0xA0,0xB4), + o3(0xE8,0x8B,0xB1), o3(0xE8,0xA1,0x9B), + o3(0xE8,0xA9,0xA0), o3(0xE9,0x8B,0xAD), + o3(0xE6,0xB6,0xB2), o3(0xE7,0x96,0xAB), + o3(0xE7,0x9B,0x8A), o3(0xE9,0xA7,0x85), + o3(0xE6,0x82,0xA6), o3(0xE8,0xAC,0x81), + o3(0xE8,0xB6,0x8A), o3(0xE9,0x96,0xB2), + o3(0xE6,0xA6,0x8E), o3(0xE5,0x8E,0xAD), + o3(0xE5,0x86,0x86), o3(0xE5,0x9C,0x92), + o3(0xE5,0xA0,0xB0), o3(0xE5,0xA5,0x84), + o3(0xE5,0xAE,0xB4), o3(0xE5,0xBB,0xB6), + o3(0xE6,0x80,0xA8), o3(0xE6,0x8E,0xA9), + o3(0xE6,0x8F,0xB4), o3(0xE6,0xB2,0xBF), + o3(0xE6,0xBC,0x94), o3(0xE7,0x82,0x8E), + o3(0xE7,0x84,0x94), o3(0xE7,0x85,0x99), + o3(0xE7,0x87,0x95), o3(0xE7,0x8C,0xBF), + o3(0xE7,0xB8,0x81), o3(0xE8,0x89,0xB6), + o3(0xE8,0x8B,0x91), o3(0xE8,0x96,0x97), + o3(0xE9,0x81,0xA0), o3(0xE9,0x89,0x9B), + o3(0xE9,0xB4,0x9B), o3(0xE5,0xA1,0xA9), + o3(0xE6,0x96,0xBC), o3(0xE6,0xB1,0x9A), + o3(0xE7,0x94,0xA5), o3(0xE5,0x87,0xB9), + o3(0xE5,0xA4,0xAE), o3(0xE5,0xA5,0xA5), + o3(0xE5,0xBE,0x80), o3(0xE5,0xBF,0x9C), + o3(0xE6,0x8A,0xBC), o3(0xE6,0x97,0xBA), + o3(0xE6,0xA8,0xAA), o3(0xE6,0xAC,0xA7), + o3(0xE6,0xAE,0xB4), o3(0xE7,0x8E,0x8B), + o3(0xE7,0xBF,0x81), o3(0xE8,0xA5,0x96), + o3(0xE9,0xB4,0xAC), o3(0xE9,0xB4,0x8E), + o3(0xE9,0xBB,0x84), o3(0xE5,0xB2,0xA1), + o3(0xE6,0xB2,0x96), o3(0xE8,0x8D,0xBB), + o3(0xE5,0x84,0x84), o3(0xE5,0xB1,0x8B), + o3(0xE6,0x86,0xB6), o3(0xE8,0x87,0x86), + o3(0xE6,0xA1,0xB6), o3(0xE7,0x89,0xA1), + o3(0xE4,0xB9,0x99), o3(0xE4,0xBF,0xBA), + o3(0xE5,0x8D,0xB8), o3(0xE6,0x81,0xA9), + o3(0xE6,0xB8,0xA9), o3(0xE7,0xA9,0x8F), + o3(0xE9,0x9F,0xB3), o3(0xE4,0xB8,0x8B), + o3(0xE5,0x8C,0x96), o3(0xE4,0xBB,0xAE), + o3(0xE4,0xBD,0x95), o3(0xE4,0xBC,0xBD), + o3(0xE4,0xBE,0xA1), o3(0xE4,0xBD,0xB3), + o3(0xE5,0x8A,0xA0), o3(0xE5,0x8F,0xAF), + o3(0xE5,0x98,0x89), o3(0xE5,0xA4,0x8F), + o3(0xE5,0xAB,0x81), o3(0xE5,0xAE,0xB6), + o3(0xE5,0xAF,0xA1), o3(0xE7,0xA7,0x91), + o3(0xE6,0x9A,0x87), o3(0xE6,0x9E,0x9C), + o3(0xE6,0x9E,0xB6), o3(0xE6,0xAD,0x8C), + o3(0xE6,0xB2,0xB3), o3(0xE7,0x81,0xAB), + o3(0xE7,0x8F,0x82), o3(0xE7,0xA6,0x8D), + o3(0xE7,0xA6,0xBE), o3(0xE7,0xA8,0xBC), + o3(0xE7,0xAE,0x87), o3(0xE8,0x8A,0xB1), + o3(0xE8,0x8B,0x9B), o3(0xE8,0x8C,0x84), + o3(0xE8,0x8D,0xB7), o3(0xE8,0x8F,0xAF), + o3(0xE8,0x8F,0x93), o3(0xE8,0x9D,0xA6), + o3(0xE8,0xAA,0xB2), o3(0xE5,0x98,0xA9), + o3(0xE8,0xB2,0xA8), o3(0xE8,0xBF,0xA6), + o3(0xE9,0x81,0x8E), o3(0xE9,0x9C,0x9E), + o3(0xE8,0x9A,0x8A), o3(0xE4,0xBF,0x84), + o3(0xE5,0xB3,0xA8), o3(0xE6,0x88,0x91), + o3(0xE7,0x89,0x99), o3(0xE7,0x94,0xBB), + o3(0xE8,0x87,0xA5), o3(0xE8,0x8A,0xBD), + o3(0xE8,0x9B,0xBE), o3(0xE8,0xB3,0x80), + o3(0xE9,0x9B,0x85), o3(0xE9,0xA4,0x93), + o3(0xE9,0xA7,0x95), o3(0xE4,0xBB,0x8B), + o3(0xE4,0xBC,0x9A), o3(0xE8,0xA7,0xA3), + o3(0xE5,0x9B,0x9E), o3(0xE5,0xA1,0x8A), + o3(0xE5,0xA3,0x8A), o3(0xE5,0xBB,0xBB), + o3(0xE5,0xBF,0xAB), o3(0xE6,0x80,0xAA), + o3(0xE6,0x82,0x94), o3(0xE6,0x81,0xA2), + o3(0xE6,0x87,0x90), o3(0xE6,0x88,0x92), + o3(0xE6,0x8B,0x90), o3(0xE6,0x94,0xB9), + UNDEF, +}; +static const BYTE_LOOKUP +from_SHIFT_JIS_89 = { + from_SHIFT_JIS_89_offsets, + from_SHIFT_JIS_89_infos +}; + +static const struct byte_lookup* const +from_SHIFT_JIS_8A_infos[189] = { + o3(0xE9,0xAD,0x81), o3(0xE6,0x99,0xA6), + o3(0xE6,0xA2,0xB0), o3(0xE6,0xB5,0xB7), + o3(0xE7,0x81,0xB0), o3(0xE7,0x95,0x8C), + o3(0xE7,0x9A,0x86), o3(0xE7,0xB5,0xB5), + o3(0xE8,0x8A,0xA5), o3(0xE8,0x9F,0xB9), + o3(0xE9,0x96,0x8B), o3(0xE9,0x9A,0x8E), + o3(0xE8,0xB2,0x9D), o3(0xE5,0x87,0xB1), + o3(0xE5,0x8A,0xBE), o3(0xE5,0xA4,0x96), + o3(0xE5,0x92,0xB3), o3(0xE5,0xAE,0xB3), + o3(0xE5,0xB4,0x96), o3(0xE6,0x85,0xA8), + o3(0xE6,0xA6,0x82), o3(0xE6,0xB6,0xAF), + o3(0xE7,0xA2,0x8D), o3(0xE8,0x93,0x8B), + o3(0xE8,0xA1,0x97), o3(0xE8,0xA9,0xB2), + o3(0xE9,0x8E,0xA7), o3(0xE9,0xAA,0xB8), + o3(0xE6,0xB5,0xAC), o3(0xE9,0xA6,0xA8), + o3(0xE8,0x9B,0x99), o3(0xE5,0x9E,0xA3), + o3(0xE6,0x9F,0xBF), o3(0xE8,0x9B,0x8E), + o3(0xE9,0x88,0x8E), o3(0xE5,0x8A,0x83), + o3(0xE5,0x9A,0x87), o3(0xE5,0x90,0x84), + o3(0xE5,0xBB,0x93), o3(0xE6,0x8B,0xA1), + o3(0xE6,0x92,0xB9), o3(0xE6,0xA0,0xBC), + o3(0xE6,0xA0,0xB8), o3(0xE6,0xAE,0xBB), + o3(0xE7,0x8D,0xB2), o3(0xE7,0xA2,0xBA), + o3(0xE7,0xA9,0xAB), o3(0xE8,0xA6,0x9A), + o3(0xE8,0xA7,0x92), o3(0xE8,0xB5,0xAB), + o3(0xE8,0xBC,0x83), o3(0xE9,0x83,0xAD), + o3(0xE9,0x96,0xA3), o3(0xE9,0x9A,0x94), + o3(0xE9,0x9D,0xA9), o3(0xE5,0xAD,0xA6), + o3(0xE5,0xB2,0xB3), o3(0xE6,0xA5,0xBD), + o3(0xE9,0xA1,0x8D), o3(0xE9,0xA1,0x8E), + o3(0xE6,0x8E,0x9B), o3(0xE7,0xAC,0xA0), + o3(0xE6,0xA8,0xAB), o3(0xE6,0xA9,0xBF), + o3(0xE6,0xA2,0xB6), o3(0xE9,0xB0,0x8D), + o3(0xE6,0xBD,0x9F), o3(0xE5,0x89,0xB2), + o3(0xE5,0x96,0x9D), o3(0xE6,0x81,0xB0), + o3(0xE6,0x8B,0xAC), o3(0xE6,0xB4,0xBB), + o3(0xE6,0xB8,0x87), o3(0xE6,0xBB,0x91), + o3(0xE8,0x91,0x9B), o3(0xE8,0xA4,0x90), + o3(0xE8,0xBD,0x84), o3(0xE4,0xB8,0x94), + o3(0xE9,0xB0,0xB9), o3(0xE5,0x8F,0xB6), + o3(0xE6,0xA4,0x9B), o3(0xE6,0xA8,0xBA), + o3(0xE9,0x9E,0x84), o3(0xE6,0xA0,0xAA), + o3(0xE5,0x85,0x9C), o3(0xE7,0xAB,0x83), + o3(0xE8,0x92,0xB2), o3(0xE9,0x87,0x9C), + o3(0xE9,0x8E,0x8C), o3(0xE5,0x99,0x9B), + o3(0xE9,0xB4,0xA8), o3(0xE6,0xA0,0xA2), + o3(0xE8,0x8C,0x85), o3(0xE8,0x90,0xB1), + o3(0xE7,0xB2,0xA5), o3(0xE5,0x88,0x88), + o3(0xE8,0x8B,0x85), o3(0xE7,0x93,0xA6), + o3(0xE4,0xB9,0xBE), o3(0xE4,0xBE,0x83), + o3(0xE5,0x86,0xA0), o3(0xE5,0xAF,0x92), + o3(0xE5,0x88,0x8A), o3(0xE5,0x8B,0x98), + o3(0xE5,0x8B,0xA7), o3(0xE5,0xB7,0xBB), + o3(0xE5,0x96,0x9A), o3(0xE5,0xA0,0xAA), + o3(0xE5,0xA7,0xA6), o3(0xE5,0xAE,0x8C), + o3(0xE5,0xAE,0x98), o3(0xE5,0xAF,0x9B), + o3(0xE5,0xB9,0xB2), o3(0xE5,0xB9,0xB9), + o3(0xE6,0x82,0xA3), o3(0xE6,0x84,0x9F), + o3(0xE6,0x85,0xA3), o3(0xE6,0x86,0xBE), + o3(0xE6,0x8F,0x9B), o3(0xE6,0x95,0xA2), + o3(0xE6,0x9F,0x91), o3(0xE6,0xA1,0x93), + o3(0xE6,0xA3,0xBA), o3(0xE6,0xAC,0xBE), + o3(0xE6,0xAD,0x93), o3(0xE6,0xB1,0x97), + o3(0xE6,0xBC,0xA2), o3(0xE6,0xBE,0x97), + o3(0xE6,0xBD,0x85), o3(0xE7,0x92,0xB0), + o3(0xE7,0x94,0x98), o3(0xE7,0x9B,0xA3), + o3(0xE7,0x9C,0x8B), o3(0xE7,0xAB,0xBF), + o3(0xE7,0xAE,0xA1), o3(0xE7,0xB0,0xA1), + o3(0xE7,0xB7,0xA9), o3(0xE7,0xBC,0xB6), + o3(0xE7,0xBF,0xB0), o3(0xE8,0x82,0x9D), + o3(0xE8,0x89,0xA6), o3(0xE8,0x8E,0x9E), + o3(0xE8,0xA6,0xB3), o3(0xE8,0xAB,0x8C), + o3(0xE8,0xB2,0xAB), o3(0xE9,0x82,0x84), + o3(0xE9,0x91,0x91), o3(0xE9,0x96,0x93), + o3(0xE9,0x96,0x91), o3(0xE9,0x96,0xA2), + o3(0xE9,0x99,0xA5), o3(0xE9,0x9F,0x93), + o3(0xE9,0xA4,0xA8), o3(0xE8,0x88,0x98), + o3(0xE4,0xB8,0xB8), o3(0xE5,0x90,0xAB), + o3(0xE5,0xB2,0xB8), o3(0xE5,0xB7,0x8C), + o3(0xE7,0x8E,0xA9), o3(0xE7,0x99,0x8C), + o3(0xE7,0x9C,0xBC), o3(0xE5,0xB2,0xA9), + o3(0xE7,0xBF,0xAB), o3(0xE8,0xB4,0x8B), + o3(0xE9,0x9B,0x81), o3(0xE9,0xA0,0x91), + o3(0xE9,0xA1,0x94), o3(0xE9,0xA1,0x98), + o3(0xE4,0xBC,0x81), o3(0xE4,0xBC,0x8E), + o3(0xE5,0x8D,0xB1), o3(0xE5,0x96,0x9C), + o3(0xE5,0x99,0xA8), o3(0xE5,0x9F,0xBA), + o3(0xE5,0xA5,0x87), o3(0xE5,0xAC,0x89), + o3(0xE5,0xAF,0x84), o3(0xE5,0xB2,0x90), + o3(0xE5,0xB8,0x8C), o3(0xE5,0xB9,0xBE), + o3(0xE5,0xBF,0x8C), o3(0xE6,0x8F,0xAE), + o3(0xE6,0x9C,0xBA), o3(0xE6,0x97,0x97), + o3(0xE6,0x97,0xA2), o3(0xE6,0x9C,0x9F), + o3(0xE6,0xA3,0x8B), o3(0xE6,0xA3,0x84), + UNDEF, +}; +static const BYTE_LOOKUP +from_SHIFT_JIS_8A = { + from_SHIFT_JIS_89_offsets, + from_SHIFT_JIS_8A_infos +}; + +static const struct byte_lookup* const +from_SHIFT_JIS_8B_infos[189] = { + o3(0xE6,0xA9,0x9F), o3(0xE5,0xB8,0xB0), + o3(0xE6,0xAF,0x85), o3(0xE6,0xB0,0x97), + o3(0xE6,0xB1,0xBD), o3(0xE7,0x95,0xBF), + o3(0xE7,0xA5,0x88), o3(0xE5,0xAD,0xA3), + o3(0xE7,0xA8,0x80), o3(0xE7,0xB4,0x80), + o3(0xE5,0xBE,0xBD), o3(0xE8,0xA6,0x8F), + o3(0xE8,0xA8,0x98), o3(0xE8,0xB2,0xB4), + o3(0xE8,0xB5,0xB7), o3(0xE8,0xBB,0x8C), + o3(0xE8,0xBC,0x9D), o3(0xE9,0xA3,0xA2), + o3(0xE9,0xA8,0x8E), o3(0xE9,0xAC,0xBC), + o3(0xE4,0xBA,0x80), o3(0xE5,0x81,0xBD), + o3(0xE5,0x84,0x80), o3(0xE5,0xA6,0x93), + o3(0xE5,0xAE,0x9C), o3(0xE6,0x88,0xAF), + o3(0xE6,0x8A,0x80), o3(0xE6,0x93,0xAC), + o3(0xE6,0xAC,0xBA), o3(0xE7,0x8A,0xA0), + o3(0xE7,0x96,0x91), o3(0xE7,0xA5,0x87), + o3(0xE7,0xBE,0xA9), o3(0xE8,0x9F,0xBB), + o3(0xE8,0xAA,0xBC), o3(0xE8,0xAD,0xB0), + o3(0xE6,0x8E,0xAC), o3(0xE8,0x8F,0x8A), + o3(0xE9,0x9E,0xA0), o3(0xE5,0x90,0x89), + o3(0xE5,0x90,0x83), o3(0xE5,0x96,0xAB), + o3(0xE6,0xA1,0x94), o3(0xE6,0xA9,0x98), + o3(0xE8,0xA9,0xB0), o3(0xE7,0xA0,0xA7), + o3(0xE6,0x9D,0xB5), o3(0xE9,0xBB,0x8D), + o3(0xE5,0x8D,0xB4), o3(0xE5,0xAE,0xA2), + o3(0xE8,0x84,0x9A), o3(0xE8,0x99,0x90), + o3(0xE9,0x80,0x86), o3(0xE4,0xB8,0x98), + o3(0xE4,0xB9,0x85), o3(0xE4,0xBB,0x87), + o3(0xE4,0xBC,0x91), o3(0xE5,0x8F,0x8A), + o3(0xE5,0x90,0xB8), o3(0xE5,0xAE,0xAE), + o3(0xE5,0xBC,0x93), o3(0xE6,0x80,0xA5), + o3(0xE6,0x95,0x91), o3(0xE6,0x9C,0xBD), + o3(0xE6,0xB1,0x82), o3(0xE6,0xB1,0xB2), + o3(0xE6,0xB3,0xA3), o3(0xE7,0x81,0xB8), + o3(0xE7,0x90,0x83), o3(0xE7,0xA9,0xB6), + o3(0xE7,0xAA,0xAE), o3(0xE7,0xAC,0x88), + o3(0xE7,0xB4,0x9A), o3(0xE7,0xB3,0xBE), + o3(0xE7,0xB5,0xA6), o3(0xE6,0x97,0xA7), + o3(0xE7,0x89,0x9B), o3(0xE5,0x8E,0xBB), + o3(0xE5,0xB1,0x85), o3(0xE5,0xB7,0xA8), + o3(0xE6,0x8B,0x92), o3(0xE6,0x8B,0xA0), + o3(0xE6,0x8C,0x99), o3(0xE6,0xB8,0xA0), + o3(0xE8,0x99,0x9A), o3(0xE8,0xA8,0xB1), + o3(0xE8,0xB7,0x9D), o3(0xE9,0x8B,0xB8), + o3(0xE6,0xBC,0x81), o3(0xE7,0xA6,0xA6), + o3(0xE9,0xAD,0x9A), o3(0xE4,0xBA,0xA8), + o3(0xE4,0xBA,0xAB), o3(0xE4,0xBA,0xAC), + o3(0xE4,0xBE,0x9B), o3(0xE4,0xBE,0xA0), + o3(0xE5,0x83,0x91), o3(0xE5,0x85,0x87), + o3(0xE7,0xAB,0xB6), o3(0xE5,0x85,0xB1), + o3(0xE5,0x87,0xB6), o3(0xE5,0x8D,0x94), + o3(0xE5,0x8C,0xA1), o3(0xE5,0x8D,0xBF), + o3(0xE5,0x8F,0xAB), o3(0xE5,0x96,0xAC), + o3(0xE5,0xA2,0x83), o3(0xE5,0xB3,0xA1), + o3(0xE5,0xBC,0xB7), o3(0xE5,0xBD,0x8A), + o3(0xE6,0x80,0xAF), o3(0xE6,0x81,0x90), + o3(0xE6,0x81,0xAD), o3(0xE6,0x8C,0x9F), + o3(0xE6,0x95,0x99), o3(0xE6,0xA9,0x8B), + o3(0xE6,0xB3,0x81), o3(0xE7,0x8B,0x82), + o3(0xE7,0x8B,0xAD), o3(0xE7,0x9F,0xAF), + o3(0xE8,0x83,0xB8), o3(0xE8,0x84,0x85), + o3(0xE8,0x88,0x88), o3(0xE8,0x95,0x8E), + o3(0xE9,0x83,0xB7), o3(0xE9,0x8F,0xA1), + o3(0xE9,0x9F,0xBF), o3(0xE9,0xA5,0x97), + o3(0xE9,0xA9,0x9A), o3(0xE4,0xBB,0xB0), + o3(0xE5,0x87,0x9D), o3(0xE5,0xB0,0xAD), + o3(0xE6,0x9A,0x81), o3(0xE6,0xA5,0xAD), + o3(0xE5,0xB1,0x80), o3(0xE6,0x9B,0xB2), + o3(0xE6,0xA5,0xB5), o3(0xE7,0x8E,0x89), + o3(0xE6,0xA1,0x90), o3(0xE7,0xB2,0x81), + o3(0xE5,0x83,0x85), o3(0xE5,0x8B,0xA4), + o3(0xE5,0x9D,0x87), o3(0xE5,0xB7,0xBE), + o3(0xE9,0x8C,0xA6), o3(0xE6,0x96,0xA4), + o3(0xE6,0xAC,0xA3), o3(0xE6,0xAC,0xBD), + o3(0xE7,0x90,0xB4), o3(0xE7,0xA6,0x81), + o3(0xE7,0xA6,0xBD), o3(0xE7,0xAD,0x8B), + o3(0xE7,0xB7,0x8A), o3(0xE8,0x8A,0xB9), + o3(0xE8,0x8F,0x8C), o3(0xE8,0xA1,0xBF), + o3(0xE8,0xA5,0x9F), o3(0xE8,0xAC,0xB9), + o3(0xE8,0xBF,0x91), o3(0xE9,0x87,0x91), + o3(0xE5,0x90,0x9F), o3(0xE9,0x8A,0x80), + o3(0xE4,0xB9,0x9D), o3(0xE5,0x80,0xB6), + o3(0xE5,0x8F,0xA5), o3(0xE5,0x8C,0xBA), + o3(0xE7,0x8B,0x97), o3(0xE7,0x8E,0x96), + o3(0xE7,0x9F,0xA9), o3(0xE8,0x8B,0xA6), + o3(0xE8,0xBA,0xAF), o3(0xE9,0xA7,0x86), + o3(0xE9,0xA7,0x88), o3(0xE9,0xA7,0x92), + o3(0xE5,0x85,0xB7), o3(0xE6,0x84,0x9A), + o3(0xE8,0x99,0x9E), o3(0xE5,0x96,0xB0), + o3(0xE7,0xA9,0xBA), o3(0xE5,0x81,0xB6), + o3(0xE5,0xAF,0x93), o3(0xE9,0x81,0x87), + o3(0xE9,0x9A,0x85), o3(0xE4,0xB8,0xB2), + o3(0xE6,0xAB,0x9B), o3(0xE9,0x87,0xA7), + o3(0xE5,0xB1,0x91), o3(0xE5,0xB1,0x88), + UNDEF, +}; +static const BYTE_LOOKUP +from_SHIFT_JIS_8B = { + from_SHIFT_JIS_89_offsets, + from_SHIFT_JIS_8B_infos +}; + +static const struct byte_lookup* const +from_SHIFT_JIS_8C_infos[189] = { + o3(0xE6,0x8E,0x98), o3(0xE7,0xAA,0x9F), + o3(0xE6,0xB2,0x93), o3(0xE9,0x9D,0xB4), + o3(0xE8,0xBD,0xA1), o3(0xE7,0xAA,0xAA), + o3(0xE7,0x86,0x8A), o3(0xE9,0x9A,0x88), + o3(0xE7,0xB2,0x82), o3(0xE6,0xA0,0x97), + o3(0xE7,0xB9,0xB0), o3(0xE6,0xA1,0x91), + o3(0xE9,0x8D,0xAC), o3(0xE5,0x8B,0xB2), + o3(0xE5,0x90,0x9B), o3(0xE8,0x96,0xAB), + o3(0xE8,0xA8,0x93), o3(0xE7,0xBE,0xA4), + o3(0xE8,0xBB,0x8D), o3(0xE9,0x83,0xA1), + o3(0xE5,0x8D,0xA6), o3(0xE8,0xA2,0x88), + o3(0xE7,0xA5,0x81), o3(0xE4,0xBF,0x82), + o3(0xE5,0x82,0xBE), o3(0xE5,0x88,0x91), + o3(0xE5,0x85,0x84), o3(0xE5,0x95,0x93), + o3(0xE5,0x9C,0xAD), o3(0xE7,0x8F,0xAA), + o3(0xE5,0x9E,0x8B), o3(0xE5,0xA5,0x91), + o3(0xE5,0xBD,0xA2), o3(0xE5,0xBE,0x84), + o3(0xE6,0x81,0xB5), o3(0xE6,0x85,0xB6), + o3(0xE6,0x85,0xA7), o3(0xE6,0x86,0xA9), + o3(0xE6,0x8E,0xB2), o3(0xE6,0x90,0xBA), + o3(0xE6,0x95,0xAC), o3(0xE6,0x99,0xAF), + o3(0xE6,0xA1,0x82), o3(0xE6,0xB8,0x93), + o3(0xE7,0x95,0xA6), o3(0xE7,0xA8,0xBD), + o3(0xE7,0xB3,0xBB), o3(0xE7,0xB5,0x8C), + o3(0xE7,0xB6,0x99), o3(0xE7,0xB9,0x8B), + o3(0xE7,0xBD,0xAB), o3(0xE8,0x8C,0x8E), + o3(0xE8,0x8D,0x8A), o3(0xE8,0x9B,0x8D), + o3(0xE8,0xA8,0x88), o3(0xE8,0xA9,0xA3), + o3(0xE8,0xAD,0xA6), o3(0xE8,0xBB,0xBD), + o3(0xE9,0xA0,0x9A), o3(0xE9,0xB6,0x8F), + o3(0xE8,0x8A,0xB8), o3(0xE8,0xBF,0x8E), + o3(0xE9,0xAF,0xA8), o3(0xE5,0x8A,0x87), + o3(0xE6,0x88,0x9F), o3(0xE6,0x92,0x83), + o3(0xE6,0xBF,0x80), o3(0xE9,0x9A,0x99), + o3(0xE6,0xA1,0x81), o3(0xE5,0x82,0x91), + o3(0xE6,0xAC,0xA0), o3(0xE6,0xB1,0xBA), + o3(0xE6,0xBD,0x94), o3(0xE7,0xA9,0xB4), + o3(0xE7,0xB5,0x90), o3(0xE8,0xA1,0x80), + o3(0xE8,0xA8,0xA3), o3(0xE6,0x9C,0x88), + o3(0xE4,0xBB,0xB6), o3(0xE5,0x80,0xB9), + o3(0xE5,0x80,0xA6), o3(0xE5,0x81,0xA5), + o3(0xE5,0x85,0xBC), o3(0xE5,0x88,0xB8), + o3(0xE5,0x89,0xA3), o3(0xE5,0x96,0xA7), + o3(0xE5,0x9C,0x8F), o3(0xE5,0xA0,0x85), + o3(0xE5,0xAB,0x8C), o3(0xE5,0xBB,0xBA), + o3(0xE6,0x86,0xB2), o3(0xE6,0x87,0xB8), + o3(0xE6,0x8B,0xB3), o3(0xE6,0x8D,0xB2), + o3(0xE6,0xA4,0x9C), o3(0xE6,0xA8,0xA9), + o3(0xE7,0x89,0xBD), o3(0xE7,0x8A,0xAC), + o3(0xE7,0x8C,0xAE), o3(0xE7,0xA0,0x94), + o3(0xE7,0xA1,0xAF), o3(0xE7,0xB5,0xB9), + o3(0xE7,0x9C,0x8C), o3(0xE8,0x82,0xA9), + o3(0xE8,0xA6,0x8B), o3(0xE8,0xAC,0x99), + o3(0xE8,0xB3,0xA2), o3(0xE8,0xBB,0x92), + o3(0xE9,0x81,0xA3), o3(0xE9,0x8D,0xB5), + o3(0xE9,0x99,0xBA), o3(0xE9,0xA1,0x95), + o3(0xE9,0xA8,0x93), o3(0xE9,0xB9,0xB8), + o3(0xE5,0x85,0x83), o3(0xE5,0x8E,0x9F), + o3(0xE5,0x8E,0xB3), o3(0xE5,0xB9,0xBB), + o3(0xE5,0xBC,0xA6), o3(0xE6,0xB8,0x9B), + o3(0xE6,0xBA,0x90), o3(0xE7,0x8E,0x84), + o3(0xE7,0x8F,0xBE), o3(0xE7,0xB5,0x83), + o3(0xE8,0x88,0xB7), o3(0xE8,0xA8,0x80), + o3(0xE8,0xAB,0xBA), o3(0xE9,0x99,0x90), + o3(0xE4,0xB9,0x8E), o3(0xE5,0x80,0x8B), + o3(0xE5,0x8F,0xA4), o3(0xE5,0x91,0xBC), + o3(0xE5,0x9B,0xBA), o3(0xE5,0xA7,0x91), + o3(0xE5,0xAD,0xA4), o3(0xE5,0xB7,0xB1), + o3(0xE5,0xBA,0xAB), o3(0xE5,0xBC,0xA7), + o3(0xE6,0x88,0xB8), o3(0xE6,0x95,0x85), + o3(0xE6,0x9E,0xAF), o3(0xE6,0xB9,0x96), + o3(0xE7,0x8B,0x90), o3(0xE7,0xB3,0x8A), + o3(0xE8,0xA2,0xB4), o3(0xE8,0x82,0xA1), + o3(0xE8,0x83,0xA1), o3(0xE8,0x8F,0xB0), + o3(0xE8,0x99,0x8E), o3(0xE8,0xAA,0x87), + o3(0xE8,0xB7,0xA8), o3(0xE9,0x88,0xB7), + o3(0xE9,0x9B,0x87), o3(0xE9,0xA1,0xA7), + o3(0xE9,0xBC,0x93), o3(0xE4,0xBA,0x94), + o3(0xE4,0xBA,0x92), o3(0xE4,0xBC,0x8D), + o3(0xE5,0x8D,0x88), o3(0xE5,0x91,0x89), + o3(0xE5,0x90,0xBE), o3(0xE5,0xA8,0xAF), + o3(0xE5,0xBE,0x8C), o3(0xE5,0xBE,0xA1), + o3(0xE6,0x82,0x9F), o3(0xE6,0xA2,0xA7), + o3(0xE6,0xAA,0x8E), o3(0xE7,0x91,0x9A), + o3(0xE7,0xA2,0x81), o3(0xE8,0xAA,0x9E), + o3(0xE8,0xAA,0xA4), o3(0xE8,0xAD,0xB7), + o3(0xE9,0x86,0x90), o3(0xE4,0xB9,0x9E), + o3(0xE9,0xAF,0x89), o3(0xE4,0xBA,0xA4), + o3(0xE4,0xBD,0xBC), o3(0xE4,0xBE,0xAF), + o3(0xE5,0x80,0x99), o3(0xE5,0x80,0x96), + o3(0xE5,0x85,0x89), o3(0xE5,0x85,0xAC), + o3(0xE5,0x8A,0x9F), o3(0xE5,0x8A,0xB9), + o3(0xE5,0x8B,0xBE), o3(0xE5,0x8E,0x9A), + o3(0xE5,0x8F,0xA3), o3(0xE5,0x90,0x91), + UNDEF, +}; +static const BYTE_LOOKUP +from_SHIFT_JIS_8C = { + from_SHIFT_JIS_89_offsets, + from_SHIFT_JIS_8C_infos +}; + +static const struct byte_lookup* const +from_SHIFT_JIS_8D_infos[189] = { + o3(0xE5,0x90,0x8E), o3(0xE5,0x96,0x89), + o3(0xE5,0x9D,0x91), o3(0xE5,0x9E,0xA2), + o3(0xE5,0xA5,0xBD), o3(0xE5,0xAD,0x94), + o3(0xE5,0xAD,0x9D), o3(0xE5,0xAE,0x8F), + o3(0xE5,0xB7,0xA5), o3(0xE5,0xB7,0xA7), + o3(0xE5,0xB7,0xB7), o3(0xE5,0xB9,0xB8), + o3(0xE5,0xBA,0x83), o3(0xE5,0xBA,0x9A), + o3(0xE5,0xBA,0xB7), o3(0xE5,0xBC,0x98), + o3(0xE6,0x81,0x92), o3(0xE6,0x85,0x8C), + o3(0xE6,0x8A,0x97), o3(0xE6,0x8B,0x98), + o3(0xE6,0x8E,0xA7), o3(0xE6,0x94,0xBB), + o3(0xE6,0x98,0x82), o3(0xE6,0x99,0x83), + o3(0xE6,0x9B,0xB4), o3(0xE6,0x9D,0xAD), + o3(0xE6,0xA0,0xA1), o3(0xE6,0xA2,0x97), + o3(0xE6,0xA7,0x8B), o3(0xE6,0xB1,0x9F), + o3(0xE6,0xB4,0xAA), o3(0xE6,0xB5,0xA9), + o3(0xE6,0xB8,0xAF), o3(0xE6,0xBA,0x9D), + o3(0xE7,0x94,0xB2), o3(0xE7,0x9A,0x87), + o3(0xE7,0xA1,0xAC), o3(0xE7,0xA8,0xBF), + o3(0xE7,0xB3,0xA0), o3(0xE7,0xB4,0x85), + o3(0xE7,0xB4,0x98), o3(0xE7,0xB5,0x9E), + o3(0xE7,0xB6,0xB1), o3(0xE8,0x80,0x95), + o3(0xE8,0x80,0x83), o3(0xE8,0x82,0xAF), + o3(0xE8,0x82,0xB1), o3(0xE8,0x85,0x94), + o3(0xE8,0x86,0x8F), o3(0xE8,0x88,0xAA), + o3(0xE8,0x8D,0x92), o3(0xE8,0xA1,0x8C), + o3(0xE8,0xA1,0xA1), o3(0xE8,0xAC,0x9B), + o3(0xE8,0xB2,0xA2), o3(0xE8,0xB3,0xBC), + o3(0xE9,0x83,0x8A), o3(0xE9,0x85,0xB5), + o3(0xE9,0x89,0xB1), o3(0xE7,0xA0,0xBF), + o3(0xE9,0x8B,0xBC), o3(0xE9,0x96,0xA4), + o3(0xE9,0x99,0x8D), o3(0xE9,0xA0,0x85), + o3(0xE9,0xA6,0x99), o3(0xE9,0xAB,0x98), + o3(0xE9,0xB4,0xBB), o3(0xE5,0x89,0x9B), + o3(0xE5,0x8A,0xAB), o3(0xE5,0x8F,0xB7), + o3(0xE5,0x90,0x88), o3(0xE5,0xA3,0x95), + o3(0xE6,0x8B,0xB7), o3(0xE6,0xBF,0xA0), + o3(0xE8,0xB1,0xAA), o3(0xE8,0xBD,0x9F), + o3(0xE9,0xBA,0xB9), o3(0xE5,0x85,0x8B), + o3(0xE5,0x88,0xBB), o3(0xE5,0x91,0x8A), + o3(0xE5,0x9B,0xBD), o3(0xE7,0xA9,0x80), + o3(0xE9,0x85,0xB7), o3(0xE9,0xB5,0xA0), + o3(0xE9,0xBB,0x92), o3(0xE7,0x8D,0x84), + o3(0xE6,0xBC,0x89), o3(0xE8,0x85,0xB0), + o3(0xE7,0x94,0x91), o3(0xE5,0xBF,0xBD), + o3(0xE6,0x83,0x9A), o3(0xE9,0xAA,0xA8), + o3(0xE7,0x8B,0x9B), o3(0xE8,0xBE,0xBC), + o3(0xE6,0xAD,0xA4), o3(0xE9,0xA0,0x83), + o3(0xE4,0xBB,0x8A), o3(0xE5,0x9B,0xB0), + o3(0xE5,0x9D,0xA4), o3(0xE5,0xA2,0xBE), + o3(0xE5,0xA9,0x9A), o3(0xE6,0x81,0xA8), + o3(0xE6,0x87,0x87), o3(0xE6,0x98,0x8F), + o3(0xE6,0x98,0x86), o3(0xE6,0xA0,0xB9), + o3(0xE6,0xA2,0xB1), o3(0xE6,0xB7,0xB7), + o3(0xE7,0x97,0x95), o3(0xE7,0xB4,0xBA), + o3(0xE8,0x89,0xAE), o3(0xE9,0xAD,0x82), + o3(0xE4,0xBA,0x9B), o3(0xE4,0xBD,0x90), + o3(0xE5,0x8F,0x89), o3(0xE5,0x94,0x86), + o3(0xE5,0xB5,0xAF), o3(0xE5,0xB7,0xA6), + o3(0xE5,0xB7,0xAE), o3(0xE6,0x9F,0xBB), + o3(0xE6,0xB2,0x99), o3(0xE7,0x91,0xB3), + o3(0xE7,0xA0,0x82), o3(0xE8,0xA9,0x90), + o3(0xE9,0x8E,0x96), o3(0xE8,0xA3,0x9F), + o3(0xE5,0x9D,0x90), o3(0xE5,0xBA,0xA7), + o3(0xE6,0x8C,0xAB), o3(0xE5,0x82,0xB5), + o3(0xE5,0x82,0xAC), o3(0xE5,0x86,0x8D), + o3(0xE6,0x9C,0x80), o3(0xE5,0x93,0x89), + o3(0xE5,0xA1,0x9E), o3(0xE5,0xA6,0xBB), + o3(0xE5,0xAE,0xB0), o3(0xE5,0xBD,0xA9), + o3(0xE6,0x89,0x8D), o3(0xE6,0x8E,0xA1), + o3(0xE6,0xA0,0xBD), o3(0xE6,0xAD,0xB3), + o3(0xE6,0xB8,0x88), o3(0xE7,0x81,0xBD), + o3(0xE9,0x87,0x87), o3(0xE7,0x8A,0x80), + o3(0xE7,0xA0,0x95), o3(0xE7,0xA0,0xA6), + o3(0xE7,0xA5,0xAD), o3(0xE6,0x96,0x8E), + o3(0xE7,0xB4,0xB0), o3(0xE8,0x8F,0x9C), + o3(0xE8,0xA3,0x81), o3(0xE8,0xBC,0x89), + o3(0xE9,0x9A,0x9B), o3(0xE5,0x89,0xA4), + o3(0xE5,0x9C,0xA8), o3(0xE6,0x9D,0x90), + o3(0xE7,0xBD,0xAA), o3(0xE8,0xB2,0xA1), + o3(0xE5,0x86,0xB4), o3(0xE5,0x9D,0x82), + o3(0xE9,0x98,0xAA), o3(0xE5,0xA0,0xBA), + o3(0xE6,0xA6,0x8A), o3(0xE8,0x82,0xB4), + o3(0xE5,0x92,0xB2), o3(0xE5,0xB4,0x8E), + o3(0xE5,0x9F,0xBC), o3(0xE7,0xA2,0x95), + o3(0xE9,0xB7,0xBA), o3(0xE4,0xBD,0x9C), + o3(0xE5,0x89,0x8A), o3(0xE5,0x92,0x8B), + o3(0xE6,0x90,0xBE), o3(0xE6,0x98,0xA8), + o3(0xE6,0x9C,0x94), o3(0xE6,0x9F,0xB5), + o3(0xE7,0xAA,0x84), o3(0xE7,0xAD,0x96), + o3(0xE7,0xB4,0xA2), o3(0xE9,0x8C,0xAF), + o3(0xE6,0xA1,0x9C), o3(0xE9,0xAE,0xAD), + o3(0xE7,0xAC,0xB9), o3(0xE5,0x8C,0x99), + o3(0xE5,0x86,0x8A), o3(0xE5,0x88,0xB7), + UNDEF, +}; +static const BYTE_LOOKUP +from_SHIFT_JIS_8D = { + from_SHIFT_JIS_89_offsets, + from_SHIFT_JIS_8D_infos +}; + +static const struct byte_lookup* const +from_SHIFT_JIS_8E_infos[189] = { + o3(0xE5,0xAF,0x9F), o3(0xE6,0x8B,0xB6), + o3(0xE6,0x92,0xAE), o3(0xE6,0x93,0xA6), + o3(0xE6,0x9C,0xAD), o3(0xE6,0xAE,0xBA), + o3(0xE8,0x96,0xA9), o3(0xE9,0x9B,0x91), + o3(0xE7,0x9A,0x90), o3(0xE9,0xAF,0x96), + o3(0xE6,0x8D,0x8C), o3(0xE9,0x8C,0x86), + o3(0xE9,0xAE,0xAB), o3(0xE7,0x9A,0xBF), + o3(0xE6,0x99,0x92), o3(0xE4,0xB8,0x89), + o3(0xE5,0x82,0x98), o3(0xE5,0x8F,0x82), + o3(0xE5,0xB1,0xB1), o3(0xE6,0x83,0xA8), + o3(0xE6,0x92,0x92), o3(0xE6,0x95,0xA3), + o3(0xE6,0xA1,0x9F), o3(0xE7,0x87,0xA6), + o3(0xE7,0x8F,0x8A), o3(0xE7,0x94,0xA3), + o3(0xE7,0xAE,0x97), o3(0xE7,0xBA,0x82), + o3(0xE8,0x9A,0x95), o3(0xE8,0xAE,0x83), + o3(0xE8,0xB3,0x9B), o3(0xE9,0x85,0xB8), + o3(0xE9,0xA4,0x90), o3(0xE6,0x96,0xAC), + o3(0xE6,0x9A,0xAB), o3(0xE6,0xAE,0x8B), + o3(0xE4,0xBB,0x95), o3(0xE4,0xBB,0x94), + o3(0xE4,0xBC,0xBA), o3(0xE4,0xBD,0xBF), + o3(0xE5,0x88,0xBA), o3(0xE5,0x8F,0xB8), + o3(0xE5,0x8F,0xB2), o3(0xE5,0x97,0xA3), + o3(0xE5,0x9B,0x9B), o3(0xE5,0xA3,0xAB), + o3(0xE5,0xA7,0x8B), o3(0xE5,0xA7,0x89), + o3(0xE5,0xA7,0xBF), o3(0xE5,0xAD,0x90), + o3(0xE5,0xB1,0x8D), o3(0xE5,0xB8,0x82), + o3(0xE5,0xB8,0xAB), o3(0xE5,0xBF,0x97), + o3(0xE6,0x80,0x9D), o3(0xE6,0x8C,0x87), + o3(0xE6,0x94,0xAF), o3(0xE5,0xAD,0x9C), + o3(0xE6,0x96,0xAF), o3(0xE6,0x96,0xBD), + o3(0xE6,0x97,0xA8), o3(0xE6,0x9E,0x9D), + o3(0xE6,0xAD,0xA2), o3(0xE6,0xAD,0xBB), + o3(0xE6,0xB0,0x8F), o3(0xE7,0x8D,0x85), + o3(0xE7,0xA5,0x89), o3(0xE7,0xA7,0x81), + o3(0xE7,0xB3,0xB8), o3(0xE7,0xB4,0x99), + o3(0xE7,0xB4,0xAB), o3(0xE8,0x82,0xA2), + o3(0xE8,0x84,0x82), o3(0xE8,0x87,0xB3), + o3(0xE8,0xA6,0x96), o3(0xE8,0xA9,0x9E), + o3(0xE8,0xA9,0xA9), o3(0xE8,0xA9,0xA6), + o3(0xE8,0xAA,0x8C), o3(0xE8,0xAB,0xAE), + o3(0xE8,0xB3,0x87), o3(0xE8,0xB3,0x9C), + o3(0xE9,0x9B,0x8C), o3(0xE9,0xA3,0xBC), + o3(0xE6,0xAD,0xAF), o3(0xE4,0xBA,0x8B), + o3(0xE4,0xBC,0xBC), o3(0xE4,0xBE,0x8D), + o3(0xE5,0x85,0x90), o3(0xE5,0xAD,0x97), + o3(0xE5,0xAF,0xBA), o3(0xE6,0x85,0x88), + o3(0xE6,0x8C,0x81), o3(0xE6,0x99,0x82), + o3(0xE6,0xAC,0xA1), o3(0xE6,0xBB,0x8B), + o3(0xE6,0xB2,0xBB), o3(0xE7,0x88,0xBE), + o3(0xE7,0x92,0xBD), o3(0xE7,0x97,0x94), + o3(0xE7,0xA3,0x81), o3(0xE7,0xA4,0xBA), + o3(0xE8,0x80,0x8C), o3(0xE8,0x80,0xB3), + o3(0xE8,0x87,0xAA), o3(0xE8,0x92,0x94), + o3(0xE8,0xBE,0x9E), o3(0xE6,0xB1,0x90), + o3(0xE9,0xB9,0xBF), o3(0xE5,0xBC,0x8F), + o3(0xE8,0xAD,0x98), o3(0xE9,0xB4,0xAB), + o3(0xE7,0xAB,0xBA), o3(0xE8,0xBB,0xB8), + o3(0xE5,0xAE,0x8D), o3(0xE9,0x9B,0xAB), + o3(0xE4,0xB8,0x83), o3(0xE5,0x8F,0xB1), + o3(0xE5,0x9F,0xB7), o3(0xE5,0xA4,0xB1), + o3(0xE5,0xAB,0x89), o3(0xE5,0xAE,0xA4), + o3(0xE6,0x82,0x89), o3(0xE6,0xB9,0xBF), + o3(0xE6,0xBC,0x86), o3(0xE7,0x96,0xBE), + o3(0xE8,0xB3,0xAA), o3(0xE5,0xAE,0x9F), + o3(0xE8,0x94,0x80), o3(0xE7,0xAF,0xA0), + o3(0xE5,0x81,0xB2), o3(0xE6,0x9F,0xB4), + o3(0xE8,0x8A,0x9D), o3(0xE5,0xB1,0xA1), + o3(0xE8,0x95,0x8A), o3(0xE7,0xB8,0x9E), + o3(0xE8,0x88,0x8E), o3(0xE5,0x86,0x99), + o3(0xE5,0xB0,0x84), o3(0xE6,0x8D,0xA8), + o3(0xE8,0xB5,0xA6), o3(0xE6,0x96,0x9C), + o3(0xE7,0x85,0xAE), o3(0xE7,0xA4,0xBE), + o3(0xE7,0xB4,0x97), o3(0xE8,0x80,0x85), + o3(0xE8,0xAC,0x9D), o3(0xE8,0xBB,0x8A), + o3(0xE9,0x81,0xAE), o3(0xE8,0x9B,0x87), + o3(0xE9,0x82,0xAA), o3(0xE5,0x80,0x9F), + o3(0xE5,0x8B,0xBA), o3(0xE5,0xB0,0xBA), + o3(0xE6,0x9D,0x93), o3(0xE7,0x81,0xBC), + o3(0xE7,0x88,0xB5), o3(0xE9,0x85,0x8C), + o3(0xE9,0x87,0x88), o3(0xE9,0x8C,0xAB), + o3(0xE8,0x8B,0xA5), o3(0xE5,0xAF,0x82), + o3(0xE5,0xBC,0xB1), o3(0xE6,0x83,0xB9), + o3(0xE4,0xB8,0xBB), o3(0xE5,0x8F,0x96), + o3(0xE5,0xAE,0x88), o3(0xE6,0x89,0x8B), + o3(0xE6,0x9C,0xB1), o3(0xE6,0xAE,0x8A), + o3(0xE7,0x8B,0xA9), o3(0xE7,0x8F,0xA0), + o3(0xE7,0xA8,0xAE), o3(0xE8,0x85,0xAB), + o3(0xE8,0xB6,0xA3), o3(0xE9,0x85,0x92), + o3(0xE9,0xA6,0x96), o3(0xE5,0x84,0x92), + o3(0xE5,0x8F,0x97), o3(0xE5,0x91,0xAA), + o3(0xE5,0xAF,0xBF), o3(0xE6,0x8E,0x88), + o3(0xE6,0xA8,0xB9), o3(0xE7,0xB6,0xAC), + o3(0xE9,0x9C,0x80), o3(0xE5,0x9B,0x9A), + o3(0xE5,0x8F,0x8E), o3(0xE5,0x91,0xA8), + UNDEF, +}; +static const BYTE_LOOKUP +from_SHIFT_JIS_8E = { + from_SHIFT_JIS_89_offsets, + from_SHIFT_JIS_8E_infos +}; + +static const struct byte_lookup* const +from_SHIFT_JIS_8F_infos[189] = { + o3(0xE5,0xAE,0x97), o3(0xE5,0xB0,0xB1), + o3(0xE5,0xB7,0x9E), o3(0xE4,0xBF,0xAE), + o3(0xE6,0x84,0x81), o3(0xE6,0x8B,0xBE), + o3(0xE6,0xB4,0xB2), o3(0xE7,0xA7,0x80), + o3(0xE7,0xA7,0x8B), o3(0xE7,0xB5,0x82), + o3(0xE7,0xB9,0x8D), o3(0xE7,0xBF,0x92), + o3(0xE8,0x87,0xAD), o3(0xE8,0x88,0x9F), + o3(0xE8,0x92,0x90), o3(0xE8,0xA1,0x86), + o3(0xE8,0xA5,0xB2), o3(0xE8,0xAE,0x90), + o3(0xE8,0xB9,0xB4), o3(0xE8,0xBC,0xAF), + o3(0xE9,0x80,0xB1), o3(0xE9,0x85,0x8B), + o3(0xE9,0x85,0xAC), o3(0xE9,0x9B,0x86), + o3(0xE9,0x86,0x9C), o3(0xE4,0xBB,0x80), + o3(0xE4,0xBD,0x8F), o3(0xE5,0x85,0x85), + o3(0xE5,0x8D,0x81), o3(0xE5,0xBE,0x93), + o3(0xE6,0x88,0x8E), o3(0xE6,0x9F,0x94), + o3(0xE6,0xB1,0x81), o3(0xE6,0xB8,0x8B), + o3(0xE7,0x8D,0xA3), o3(0xE7,0xB8,0xA6), + o3(0xE9,0x87,0x8D), o3(0xE9,0x8A,0x83), + o3(0xE5,0x8F,0x94), o3(0xE5,0xA4,0x99), + o3(0xE5,0xAE,0xBF), o3(0xE6,0xB7,0x91), + o3(0xE7,0xA5,0x9D), o3(0xE7,0xB8,0xAE), + o3(0xE7,0xB2,0x9B), o3(0xE5,0xA1,0xBE), + o3(0xE7,0x86,0x9F), o3(0xE5,0x87,0xBA), + o3(0xE8,0xA1,0x93), o3(0xE8,0xBF,0xB0), + o3(0xE4,0xBF,0x8A), o3(0xE5,0xB3,0xBB), + o3(0xE6,0x98,0xA5), o3(0xE7,0x9E,0xAC), + o3(0xE7,0xAB,0xA3), o3(0xE8,0x88,0x9C), + o3(0xE9,0xA7,0xBF), o3(0xE5,0x87,0x86), + o3(0xE5,0xBE,0xAA), o3(0xE6,0x97,0xAC), + o3(0xE6,0xA5,0xAF), o3(0xE6,0xAE,0x89), + o3(0xE6,0xB7,0xB3), o3(0xE6,0xBA,0x96), + o3(0xE6,0xBD,0xA4), o3(0xE7,0x9B,0xBE), + o3(0xE7,0xB4,0x94), o3(0xE5,0xB7,0xA1), + o3(0xE9,0x81,0xB5), o3(0xE9,0x86,0x87), + o3(0xE9,0xA0,0x86), o3(0xE5,0x87,0xA6), + o3(0xE5,0x88,0x9D), o3(0xE6,0x89,0x80), + o3(0xE6,0x9A,0x91), o3(0xE6,0x9B,0x99), + o3(0xE6,0xB8,0x9A), o3(0xE5,0xBA,0xB6), + o3(0xE7,0xB7,0x92), o3(0xE7,0xBD,0xB2), + o3(0xE6,0x9B,0xB8), o3(0xE8,0x96,0xAF), + o3(0xE8,0x97,0xB7), o3(0xE8,0xAB,0xB8), + o3(0xE5,0x8A,0xA9), o3(0xE5,0x8F,0x99), + o3(0xE5,0xA5,0xB3), o3(0xE5,0xBA,0x8F), + o3(0xE5,0xBE,0x90), o3(0xE6,0x81,0x95), + o3(0xE9,0x8B,0xA4), o3(0xE9,0x99,0xA4), + o3(0xE5,0x82,0xB7), o3(0xE5,0x84,0x9F), + o3(0xE5,0x8B,0x9D), o3(0xE5,0x8C,0xA0), + o3(0xE5,0x8D,0x87), o3(0xE5,0x8F,0xAC), + o3(0xE5,0x93,0xA8), o3(0xE5,0x95,0x86), + o3(0xE5,0x94,0xB1), o3(0xE5,0x98,0x97), + o3(0xE5,0xA5,0xA8), o3(0xE5,0xA6,0xBE), + o3(0xE5,0xA8,0xBC), o3(0xE5,0xAE,0xB5), + o3(0xE5,0xB0,0x86), o3(0xE5,0xB0,0x8F), + o3(0xE5,0xB0,0x91), o3(0xE5,0xB0,0x9A), + o3(0xE5,0xBA,0x84), o3(0xE5,0xBA,0x8A), + o3(0xE5,0xBB,0xA0), o3(0xE5,0xBD,0xB0), + o3(0xE6,0x89,0xBF), o3(0xE6,0x8A,0x84), + o3(0xE6,0x8B,0x9B), o3(0xE6,0x8E,0x8C), + o3(0xE6,0x8D,0xB7), o3(0xE6,0x98,0x87), + o3(0xE6,0x98,0x8C), o3(0xE6,0x98,0xAD), + o3(0xE6,0x99,0xB6), o3(0xE6,0x9D,0xBE), + o3(0xE6,0xA2,0xA2), o3(0xE6,0xA8,0x9F), + o3(0xE6,0xA8,0xB5), o3(0xE6,0xB2,0xBC), + o3(0xE6,0xB6,0x88), o3(0xE6,0xB8,0x89), + o3(0xE6,0xB9,0x98), o3(0xE7,0x84,0xBC), + o3(0xE7,0x84,0xA6), o3(0xE7,0x85,0xA7), + o3(0xE7,0x97,0x87), o3(0xE7,0x9C,0x81), + o3(0xE7,0xA1,0x9D), o3(0xE7,0xA4,0x81), + o3(0xE7,0xA5,0xA5), o3(0xE7,0xA7,0xB0), + o3(0xE7,0xAB,0xA0), o3(0xE7,0xAC,0x91), + o3(0xE7,0xB2,0xA7), o3(0xE7,0xB4,0xB9), + o3(0xE8,0x82,0x96), o3(0xE8,0x8F,0x96), + o3(0xE8,0x92,0x8B), o3(0xE8,0x95,0x89), + o3(0xE8,0xA1,0x9D), o3(0xE8,0xA3,0xB3), + o3(0xE8,0xA8,0x9F), o3(0xE8,0xA8,0xBC), + o3(0xE8,0xA9,0x94), o3(0xE8,0xA9,0xB3), + o3(0xE8,0xB1,0xA1), o3(0xE8,0xB3,0x9E), + o3(0xE9,0x86,0xA4), o3(0xE9,0x89,0xA6), + o3(0xE9,0x8D,0xBE), o3(0xE9,0x90,0x98), + o3(0xE9,0x9A,0x9C), o3(0xE9,0x9E,0x98), + o3(0xE4,0xB8,0x8A), o3(0xE4,0xB8,0x88), + o3(0xE4,0xB8,0x9E), o3(0xE4,0xB9,0x97), + o3(0xE5,0x86,0x97), o3(0xE5,0x89,0xB0), + o3(0xE5,0x9F,0x8E), o3(0xE5,0xA0,0xB4), + o3(0xE5,0xA3,0x8C), o3(0xE5,0xAC,0xA2), + o3(0xE5,0xB8,0xB8), o3(0xE6,0x83,0x85), + o3(0xE6,0x93,0xBE), o3(0xE6,0x9D,0xA1), + o3(0xE6,0x9D,0x96), o3(0xE6,0xB5,0x84), + o3(0xE7,0x8A,0xB6), o3(0xE7,0x95,0xB3), + o3(0xE7,0xA9,0xA3), o3(0xE8,0x92,0xB8), + o3(0xE8,0xAD,0xB2), o3(0xE9,0x86,0xB8), + o3(0xE9,0x8C,0xA0), o3(0xE5,0x98,0xB1), + o3(0xE5,0x9F,0xB4), o3(0xE9,0xA3,0xBE), + UNDEF, +}; +static const BYTE_LOOKUP +from_SHIFT_JIS_8F = { + from_SHIFT_JIS_89_offsets, + from_SHIFT_JIS_8F_infos +}; + +static const struct byte_lookup* const +from_SHIFT_JIS_90_infos[189] = { + o3(0xE6,0x8B,0xAD), o3(0xE6,0xA4,0x8D), + o3(0xE6,0xAE,0x96), o3(0xE7,0x87,0xAD), + o3(0xE7,0xB9,0x94), o3(0xE8,0x81,0xB7), + o3(0xE8,0x89,0xB2), o3(0xE8,0xA7,0xA6), + o3(0xE9,0xA3,0x9F), o3(0xE8,0x9D,0x95), + o3(0xE8,0xBE,0xB1), o3(0xE5,0xB0,0xBB), + o3(0xE4,0xBC,0xB8), o3(0xE4,0xBF,0xA1), + o3(0xE4,0xBE,0xB5), o3(0xE5,0x94,0x87), + o3(0xE5,0xA8,0xA0), o3(0xE5,0xAF,0x9D), + o3(0xE5,0xAF,0xA9), o3(0xE5,0xBF,0x83), + o3(0xE6,0x85,0x8E), o3(0xE6,0x8C,0xAF), + o3(0xE6,0x96,0xB0), o3(0xE6,0x99,0x8B), + o3(0xE6,0xA3,0xAE), o3(0xE6,0xA6,0x9B), + o3(0xE6,0xB5,0xB8), o3(0xE6,0xB7,0xB1), + o3(0xE7,0x94,0xB3), o3(0xE7,0x96,0xB9), + o3(0xE7,0x9C,0x9F), o3(0xE7,0xA5,0x9E), + o3(0xE7,0xA7,0xA6), o3(0xE7,0xB4,0xB3), + o3(0xE8,0x87,0xA3), o3(0xE8,0x8A,0xAF), + o3(0xE8,0x96,0xAA), o3(0xE8,0xA6,0xAA), + o3(0xE8,0xA8,0xBA), o3(0xE8,0xBA,0xAB), + o3(0xE8,0xBE,0x9B), o3(0xE9,0x80,0xB2), + o3(0xE9,0x87,0x9D), o3(0xE9,0x9C,0x87), + o3(0xE4,0xBA,0xBA), o3(0xE4,0xBB,0x81), + o3(0xE5,0x88,0x83), o3(0xE5,0xA1,0xB5), + o3(0xE5,0xA3,0xAC), o3(0xE5,0xB0,0x8B), + o3(0xE7,0x94,0x9A), o3(0xE5,0xB0,0xBD), + o3(0xE8,0x85,0x8E), o3(0xE8,0xA8,0x8A), + o3(0xE8,0xBF,0x85), o3(0xE9,0x99,0xA3), + o3(0xE9,0x9D,0xAD), o3(0xE7,0xAC,0xA5), + o3(0xE8,0xAB,0x8F), o3(0xE9,0xA0,0x88), + o3(0xE9,0x85,0xA2), o3(0xE5,0x9B,0xB3), + o3(0xE5,0x8E,0xA8), o3(0xE9,0x80,0x97), + o3(0xE5,0x90,0xB9), o3(0xE5,0x9E,0x82), + o3(0xE5,0xB8,0xA5), o3(0xE6,0x8E,0xA8), + o3(0xE6,0xB0,0xB4), o3(0xE7,0x82,0x8A), + o3(0xE7,0x9D,0xA1), o3(0xE7,0xB2,0x8B), + o3(0xE7,0xBF,0xA0), o3(0xE8,0xA1,0xB0), + o3(0xE9,0x81,0x82), o3(0xE9,0x85,0x94), + o3(0xE9,0x8C,0x90), o3(0xE9,0x8C,0x98), + o3(0xE9,0x9A,0x8F), o3(0xE7,0x91,0x9E), + o3(0xE9,0xAB,0x84), o3(0xE5,0xB4,0x87), + o3(0xE5,0xB5,0xA9), o3(0xE6,0x95,0xB0), + o3(0xE6,0x9E,0xA2), o3(0xE8,0xB6,0xA8), + o3(0xE9,0x9B,0x9B), o3(0xE6,0x8D,0xAE), + o3(0xE6,0x9D,0x89), o3(0xE6,0xA4,0x99), + o3(0xE8,0x8F,0x85), o3(0xE9,0xA0,0x97), + o3(0xE9,0x9B,0x80), o3(0xE8,0xA3,0xBE), + o3(0xE6,0xBE,0x84), o3(0xE6,0x91,0xBA), + o3(0xE5,0xAF,0xB8), o3(0xE4,0xB8,0x96), + o3(0xE7,0x80,0xAC), o3(0xE7,0x95,0x9D), + o3(0xE6,0x98,0xAF), o3(0xE5,0x87,0x84), + o3(0xE5,0x88,0xB6), o3(0xE5,0x8B,0xA2), + o3(0xE5,0xA7,0x93), o3(0xE5,0xBE,0x81), + o3(0xE6,0x80,0xA7), o3(0xE6,0x88,0x90), + o3(0xE6,0x94,0xBF), o3(0xE6,0x95,0xB4), + o3(0xE6,0x98,0x9F), o3(0xE6,0x99,0xB4), + o3(0xE6,0xA3,0xB2), o3(0xE6,0xA0,0x96), + o3(0xE6,0xAD,0xA3), o3(0xE6,0xB8,0x85), + o3(0xE7,0x89,0xB2), o3(0xE7,0x94,0x9F), + o3(0xE7,0x9B,0x9B), o3(0xE7,0xB2,0xBE), + o3(0xE8,0x81,0x96), o3(0xE5,0xA3,0xB0), + o3(0xE8,0xA3,0xBD), o3(0xE8,0xA5,0xBF), + o3(0xE8,0xAA,0xA0), o3(0xE8,0xAA,0x93), + o3(0xE8,0xAB,0x8B), o3(0xE9,0x80,0x9D), + o3(0xE9,0x86,0x92), o3(0xE9,0x9D,0x92), + o3(0xE9,0x9D,0x99), o3(0xE6,0x96,0x89), + o3(0xE7,0xA8,0x8E), o3(0xE8,0x84,0x86), + o3(0xE9,0x9A,0xBB), o3(0xE5,0xB8,0xAD), + o3(0xE6,0x83,0x9C), o3(0xE6,0x88,0x9A), + o3(0xE6,0x96,0xA5), o3(0xE6,0x98,0x94), + o3(0xE6,0x9E,0x90), o3(0xE7,0x9F,0xB3), + o3(0xE7,0xA9,0x8D), o3(0xE7,0xB1,0x8D), + o3(0xE7,0xB8,0xBE), o3(0xE8,0x84,0x8A), + o3(0xE8,0xB2,0xAC), o3(0xE8,0xB5,0xA4), + o3(0xE8,0xB7,0xA1), o3(0xE8,0xB9,0x9F), + o3(0xE7,0xA2,0xA9), o3(0xE5,0x88,0x87), + o3(0xE6,0x8B,0x99), o3(0xE6,0x8E,0xA5), + o3(0xE6,0x91,0x82), o3(0xE6,0x8A,0x98), + o3(0xE8,0xA8,0xAD), o3(0xE7,0xAA,0x83), + o3(0xE7,0xAF,0x80), o3(0xE8,0xAA,0xAC), + o3(0xE9,0x9B,0xAA), o3(0xE7,0xB5,0xB6), + o3(0xE8,0x88,0x8C), o3(0xE8,0x9D,0x89), + o3(0xE4,0xBB,0x99), o3(0xE5,0x85,0x88), + o3(0xE5,0x8D,0x83), o3(0xE5,0x8D,0xA0), + o3(0xE5,0xAE,0xA3), o3(0xE5,0xB0,0x82), + o3(0xE5,0xB0,0x96), o3(0xE5,0xB7,0x9D), + o3(0xE6,0x88,0xA6), o3(0xE6,0x89,0x87), + o3(0xE6,0x92,0xB0), o3(0xE6,0xA0,0x93), + o3(0xE6,0xA0,0xB4), o3(0xE6,0xB3,0x89), + o3(0xE6,0xB5,0x85), o3(0xE6,0xB4,0x97), + o3(0xE6,0x9F,0x93), o3(0xE6,0xBD,0x9C), + o3(0xE7,0x85,0x8E), o3(0xE7,0x85,0xBD), + o3(0xE6,0x97,0x8B), o3(0xE7,0xA9,0xBF), + o3(0xE7,0xAE,0xAD), o3(0xE7,0xB7,0x9A), + UNDEF, +}; +static const BYTE_LOOKUP +from_SHIFT_JIS_90 = { + from_SHIFT_JIS_89_offsets, + from_SHIFT_JIS_90_infos +}; + +static const struct byte_lookup* const +from_SHIFT_JIS_91_infos[189] = { + o3(0xE7,0xB9,0x8A), o3(0xE7,0xBE,0xA8), + o3(0xE8,0x85,0xBA), o3(0xE8,0x88,0x9B), + o3(0xE8,0x88,0xB9), o3(0xE8,0x96,0xA6), + o3(0xE8,0xA9,0xAE), o3(0xE8,0xB3,0x8E), + o3(0xE8,0xB7,0xB5), o3(0xE9,0x81,0xB8), + o3(0xE9,0x81,0xB7), o3(0xE9,0x8A,0xAD), + o3(0xE9,0x8A,0x91), o3(0xE9,0x96,0x83), + o3(0xE9,0xAE,0xAE), o3(0xE5,0x89,0x8D), + o3(0xE5,0x96,0x84), o3(0xE6,0xBC,0xB8), + o3(0xE7,0x84,0xB6), o3(0xE5,0x85,0xA8), + o3(0xE7,0xA6,0x85), o3(0xE7,0xB9,0x95), + o3(0xE8,0x86,0xB3), o3(0xE7,0xB3,0x8E), + o3(0xE5,0x99,0x8C), o3(0xE5,0xA1,0x91), + o3(0xE5,0xB2,0xA8), o3(0xE6,0x8E,0xAA), + o3(0xE6,0x9B,0xBE), o3(0xE6,0x9B,0xBD), + o3(0xE6,0xA5,0x9A), o3(0xE7,0x8B,0x99), + o3(0xE7,0x96,0x8F), o3(0xE7,0x96,0x8E), + o3(0xE7,0xA4,0x8E), o3(0xE7,0xA5,0x96), + o3(0xE7,0xA7,0x9F), o3(0xE7,0xB2,0x97), + o3(0xE7,0xB4,0xA0), o3(0xE7,0xB5,0x84), + o3(0xE8,0x98,0x87), o3(0xE8,0xA8,0xB4), + o3(0xE9,0x98,0xBB), o3(0xE9,0x81,0xA1), + o3(0xE9,0xBC,0xA0), o3(0xE5,0x83,0xA7), + o3(0xE5,0x89,0xB5), o3(0xE5,0x8F,0x8C), + o3(0xE5,0x8F,0xA2), o3(0xE5,0x80,0x89), + o3(0xE5,0x96,0xAA), o3(0xE5,0xA3,0xAE), + o3(0xE5,0xA5,0x8F), o3(0xE7,0x88,0xBD), + o3(0xE5,0xAE,0x8B), o3(0xE5,0xB1,0xA4), + o3(0xE5,0x8C,0x9D), o3(0xE6,0x83,0xA3), + o3(0xE6,0x83,0xB3), o3(0xE6,0x8D,0x9C), + o3(0xE6,0x8E,0x83), o3(0xE6,0x8C,0xBF), + o3(0xE6,0x8E,0xBB), o3(0xE6,0x93,0x8D), + o3(0xE6,0x97,0xA9), o3(0xE6,0x9B,0xB9), + o3(0xE5,0xB7,0xA3), o3(0xE6,0xA7,0x8D), + o3(0xE6,0xA7,0xBD), o3(0xE6,0xBC,0x95), + o3(0xE7,0x87,0xA5), o3(0xE4,0xBA,0x89), + o3(0xE7,0x97,0xA9), o3(0xE7,0x9B,0xB8), + o3(0xE7,0xAA,0x93), o3(0xE7,0xB3,0x9F), + o3(0xE7,0xB7,0x8F), o3(0xE7,0xB6,0x9C), + o3(0xE8,0x81,0xA1), o3(0xE8,0x8D,0x89), + o3(0xE8,0x8D,0x98), o3(0xE8,0x91,0xAC), + o3(0xE8,0x92,0xBC), o3(0xE8,0x97,0xBB), + o3(0xE8,0xA3,0x85), o3(0xE8,0xB5,0xB0), + o3(0xE9,0x80,0x81), o3(0xE9,0x81,0xAD), + o3(0xE9,0x8E,0x97), o3(0xE9,0x9C,0x9C), + o3(0xE9,0xA8,0x92), o3(0xE5,0x83,0x8F), + o3(0xE5,0xA2,0x97), o3(0xE6,0x86,0x8E), + o3(0xE8,0x87,0x93), o3(0xE8,0x94,0xB5), + o3(0xE8,0xB4,0x88), o3(0xE9,0x80,0xA0), + o3(0xE4,0xBF,0x83), o3(0xE5,0x81,0xB4), + o3(0xE5,0x89,0x87), o3(0xE5,0x8D,0xB3), + o3(0xE6,0x81,0xAF), o3(0xE6,0x8D,0x89), + o3(0xE6,0x9D,0x9F), o3(0xE6,0xB8,0xAC), + o3(0xE8,0xB6,0xB3), o3(0xE9,0x80,0x9F), + o3(0xE4,0xBF,0x97), o3(0xE5,0xB1,0x9E), + o3(0xE8,0xB3,0x8A), o3(0xE6,0x97,0x8F), + o3(0xE7,0xB6,0x9A), o3(0xE5,0x8D,0x92), + o3(0xE8,0xA2,0x96), o3(0xE5,0x85,0xB6), + o3(0xE6,0x8F,0x83), o3(0xE5,0xAD,0x98), + o3(0xE5,0xAD,0xAB), o3(0xE5,0xB0,0x8A), + o3(0xE6,0x90,0x8D), o3(0xE6,0x9D,0x91), + o3(0xE9,0x81,0x9C), o3(0xE4,0xBB,0x96), + o3(0xE5,0xA4,0x9A), o3(0xE5,0xA4,0xAA), + o3(0xE6,0xB1,0xB0), o3(0xE8,0xA9,0x91), + o3(0xE5,0x94,0xBE), o3(0xE5,0xA0,0x95), + o3(0xE5,0xA6,0xA5), o3(0xE6,0x83,0xB0), + o3(0xE6,0x89,0x93), o3(0xE6,0x9F,0x81), + o3(0xE8,0x88,0xB5), o3(0xE6,0xA5,0x95), + o3(0xE9,0x99,0x80), o3(0xE9,0xA7,0x84), + o3(0xE9,0xA8,0xA8), o3(0xE4,0xBD,0x93), + o3(0xE5,0xA0,0x86), o3(0xE5,0xAF,0xBE), + o3(0xE8,0x80,0x90), o3(0xE5,0xB2,0xB1), + o3(0xE5,0xB8,0xAF), o3(0xE5,0xBE,0x85), + o3(0xE6,0x80,0xA0), o3(0xE6,0x85,0x8B), + o3(0xE6,0x88,0xB4), o3(0xE6,0x9B,0xBF), + o3(0xE6,0xB3,0xB0), o3(0xE6,0xBB,0x9E), + o3(0xE8,0x83,0x8E), o3(0xE8,0x85,0xBF), + o3(0xE8,0x8B,0x94), o3(0xE8,0xA2,0x8B), + o3(0xE8,0xB2,0xB8), o3(0xE9,0x80,0x80), + o3(0xE9,0x80,0xAE), o3(0xE9,0x9A,0x8A), + o3(0xE9,0xBB,0x9B), o3(0xE9,0xAF,0x9B), + o3(0xE4,0xBB,0xA3), o3(0xE5,0x8F,0xB0), + o3(0xE5,0xA4,0xA7), o3(0xE7,0xAC,0xAC), + o3(0xE9,0x86,0x8D), o3(0xE9,0xA1,0x8C), + o3(0xE9,0xB7,0xB9), o3(0xE6,0xBB,0x9D), + o3(0xE7,0x80,0xA7), o3(0xE5,0x8D,0x93), + o3(0xE5,0x95,0x84), o3(0xE5,0xAE,0x85), + o3(0xE6,0x89,0x98), o3(0xE6,0x8A,0x9E), + o3(0xE6,0x8B,0x93), o3(0xE6,0xB2,0xA2), + o3(0xE6,0xBF,0xAF), o3(0xE7,0x90,0xA2), + o3(0xE8,0xA8,0x97), o3(0xE9,0x90,0xB8), + o3(0xE6,0xBF,0x81), o3(0xE8,0xAB,0xBE), + o3(0xE8,0x8C,0xB8), o3(0xE5,0x87,0xA7), + o3(0xE8,0x9B,0xB8), o3(0xE5,0x8F,0xAA), + UNDEF, +}; +static const BYTE_LOOKUP +from_SHIFT_JIS_91 = { + from_SHIFT_JIS_89_offsets, + from_SHIFT_JIS_91_infos +}; + +static const struct byte_lookup* const +from_SHIFT_JIS_92_infos[189] = { + o3(0xE5,0x8F,0xA9), o3(0xE4,0xBD,0x86), + o3(0xE9,0x81,0x94), o3(0xE8,0xBE,0xB0), + o3(0xE5,0xA5,0xAA), o3(0xE8,0x84,0xB1), + o3(0xE5,0xB7,0xBD), o3(0xE7,0xAB,0xAA), + o3(0xE8,0xBE,0xBF), o3(0xE6,0xA3,0x9A), + o3(0xE8,0xB0,0xB7), o3(0xE7,0x8B,0xB8), + o3(0xE9,0xB1,0x88), o3(0xE6,0xA8,0xBD), + o3(0xE8,0xAA,0xB0), o3(0xE4,0xB8,0xB9), + o3(0xE5,0x8D,0x98), o3(0xE5,0x98,0x86), + o3(0xE5,0x9D,0xA6), o3(0xE6,0x8B,0x85), + o3(0xE6,0x8E,0xA2), o3(0xE6,0x97,0xA6), + o3(0xE6,0xAD,0x8E), o3(0xE6,0xB7,0xA1), + o3(0xE6,0xB9,0x9B), o3(0xE7,0x82,0xAD), + o3(0xE7,0x9F,0xAD), o3(0xE7,0xAB,0xAF), + o3(0xE7,0xAE,0xAA), o3(0xE7,0xB6,0xBB), + o3(0xE8,0x80,0xBD), o3(0xE8,0x83,0x86), + o3(0xE8,0x9B,0x8B), o3(0xE8,0xAA,0x95), + o3(0xE9,0x8D,0x9B), o3(0xE5,0x9B,0xA3), + o3(0xE5,0xA3,0x87), o3(0xE5,0xBC,0xBE), + o3(0xE6,0x96,0xAD), o3(0xE6,0x9A,0x96), + o3(0xE6,0xAA,0x80), o3(0xE6,0xAE,0xB5), + o3(0xE7,0x94,0xB7), o3(0xE8,0xAB,0x87), + o3(0xE5,0x80,0xA4), o3(0xE7,0x9F,0xA5), + o3(0xE5,0x9C,0xB0), o3(0xE5,0xBC,0x9B), + o3(0xE6,0x81,0xA5), o3(0xE6,0x99,0xBA), + o3(0xE6,0xB1,0xA0), o3(0xE7,0x97,0xB4), + o3(0xE7,0xA8,0x9A), o3(0xE7,0xBD,0xAE), + o3(0xE8,0x87,0xB4), o3(0xE8,0x9C,0x98), + o3(0xE9,0x81,0x85), o3(0xE9,0xA6,0xB3), + o3(0xE7,0xAF,0x89), o3(0xE7,0x95,0x9C), + o3(0xE7,0xAB,0xB9), o3(0xE7,0xAD,0x91), + o3(0xE8,0x93,0x84), o3(0xE9,0x80,0x90), + o3(0xE7,0xA7,0xA9), o3(0xE7,0xAA,0x92), + o3(0xE8,0x8C,0xB6), o3(0xE5,0xAB,0xA1), + o3(0xE7,0x9D,0x80), o3(0xE4,0xB8,0xAD), + o3(0xE4,0xBB,0xB2), o3(0xE5,0xAE,0x99), + o3(0xE5,0xBF,0xA0), o3(0xE6,0x8A,0xBD), + o3(0xE6,0x98,0xBC), o3(0xE6,0x9F,0xB1), + o3(0xE6,0xB3,0xA8), o3(0xE8,0x99,0xAB), + o3(0xE8,0xA1,0xB7), o3(0xE8,0xA8,0xBB), + o3(0xE9,0x85,0x8E), o3(0xE9,0x8B,0xB3), + o3(0xE9,0xA7,0x90), o3(0xE6,0xA8,0x97), + o3(0xE7,0x80,0xA6), o3(0xE7,0x8C,0xAA), + o3(0xE8,0x8B,0xA7), o3(0xE8,0x91,0x97), + o3(0xE8,0xB2,0xAF), o3(0xE4,0xB8,0x81), + o3(0xE5,0x85,0x86), o3(0xE5,0x87,0x8B), + o3(0xE5,0x96,0x8B), o3(0xE5,0xAF,0xB5), + o3(0xE5,0xB8,0x96), o3(0xE5,0xB8,0xB3), + o3(0xE5,0xBA,0x81), o3(0xE5,0xBC,0x94), + o3(0xE5,0xBC,0xB5), o3(0xE5,0xBD,0xAB), + o3(0xE5,0xBE,0xB4), o3(0xE6,0x87,0xB2), + o3(0xE6,0x8C,0x91), o3(0xE6,0x9A,0xA2), + o3(0xE6,0x9C,0x9D), o3(0xE6,0xBD,0xAE), + o3(0xE7,0x89,0x92), o3(0xE7,0x94,0xBA), + o3(0xE7,0x9C,0xBA), o3(0xE8,0x81,0xB4), + o3(0xE8,0x84,0xB9), o3(0xE8,0x85,0xB8), + o3(0xE8,0x9D,0xB6), o3(0xE8,0xAA,0xBF), + o3(0xE8,0xAB,0x9C), o3(0xE8,0xB6,0x85), + o3(0xE8,0xB7,0xB3), o3(0xE9,0x8A,0x9A), + o3(0xE9,0x95,0xB7), o3(0xE9,0xA0,0x82), + o3(0xE9,0xB3,0xA5), o3(0xE5,0x8B,0x85), + o3(0xE6,0x8D,0x97), o3(0xE7,0x9B,0xB4), + o3(0xE6,0x9C,0x95), o3(0xE6,0xB2,0x88), + o3(0xE7,0x8F,0x8D), o3(0xE8,0xB3,0x83), + o3(0xE9,0x8E,0xAE), o3(0xE9,0x99,0xB3), + o3(0xE6,0xB4,0xA5), o3(0xE5,0xA2,0x9C), + o3(0xE6,0xA4,0x8E), o3(0xE6,0xA7,0x8C), + o3(0xE8,0xBF,0xBD), o3(0xE9,0x8E,0x9A), + o3(0xE7,0x97,0x9B), o3(0xE9,0x80,0x9A), + o3(0xE5,0xA1,0x9A), o3(0xE6,0xA0,0x82), + o3(0xE6,0x8E,0xB4), o3(0xE6,0xA7,0xBB), + o3(0xE4,0xBD,0x83), o3(0xE6,0xBC,0xAC), + o3(0xE6,0x9F,0x98), o3(0xE8,0xBE,0xBB), + o3(0xE8,0x94,0xA6), o3(0xE7,0xB6,0xB4), + o3(0xE9,0x8D,0x94), o3(0xE6,0xA4,0xBF), + o3(0xE6,0xBD,0xB0), o3(0xE5,0x9D,0xAA), + o3(0xE5,0xA3,0xB7), o3(0xE5,0xAC,0xAC), + o3(0xE7,0xB4,0xAC), o3(0xE7,0x88,0xAA), + o3(0xE5,0x90,0x8A), o3(0xE9,0x87,0xA3), + o3(0xE9,0xB6,0xB4), o3(0xE4,0xBA,0xAD), + o3(0xE4,0xBD,0x8E), o3(0xE5,0x81,0x9C), + o3(0xE5,0x81,0xB5), o3(0xE5,0x89,0x83), + o3(0xE8,0xB2,0x9E), o3(0xE5,0x91,0x88), + o3(0xE5,0xA0,0xA4), o3(0xE5,0xAE,0x9A), + o3(0xE5,0xB8,0x9D), o3(0xE5,0xBA,0x95), + o3(0xE5,0xBA,0xAD), o3(0xE5,0xBB,0xB7), + o3(0xE5,0xBC,0x9F), o3(0xE6,0x82,0x8C), + o3(0xE6,0x8A,0xB5), o3(0xE6,0x8C,0xBA), + o3(0xE6,0x8F,0x90), o3(0xE6,0xA2,0xAF), + o3(0xE6,0xB1,0x80), o3(0xE7,0xA2,0x87), + o3(0xE7,0xA6,0x8E), o3(0xE7,0xA8,0x8B), + o3(0xE7,0xB7,0xA0), o3(0xE8,0x89,0x87), + o3(0xE8,0xA8,0x82), o3(0xE8,0xAB,0xA6), + o3(0xE8,0xB9,0x84), o3(0xE9,0x80,0x93), + UNDEF, +}; +static const BYTE_LOOKUP +from_SHIFT_JIS_92 = { + from_SHIFT_JIS_89_offsets, + from_SHIFT_JIS_92_infos +}; + +static const struct byte_lookup* const +from_SHIFT_JIS_93_infos[189] = { + o3(0xE9,0x82,0xB8), o3(0xE9,0x84,0xAD), + o3(0xE9,0x87,0x98), o3(0xE9,0xBC,0x8E), + o3(0xE6,0xB3,0xA5), o3(0xE6,0x91,0x98), + o3(0xE6,0x93,0xA2), o3(0xE6,0x95,0xB5), + o3(0xE6,0xBB,0xB4), o3(0xE7,0x9A,0x84), + o3(0xE7,0xAC,0x9B), o3(0xE9,0x81,0xA9), + o3(0xE9,0x8F,0x91), o3(0xE6,0xBA,0xBA), + o3(0xE5,0x93,0xB2), o3(0xE5,0xBE,0xB9), + o3(0xE6,0x92,0xA4), o3(0xE8,0xBD,0x8D), + o3(0xE8,0xBF,0xAD), o3(0xE9,0x89,0x84), + o3(0xE5,0x85,0xB8), o3(0xE5,0xA1,0xAB), + o3(0xE5,0xA4,0xA9), o3(0xE5,0xB1,0x95), + o3(0xE5,0xBA,0x97), o3(0xE6,0xB7,0xBB), + o3(0xE7,0xBA,0x8F), o3(0xE7,0x94,0x9C), + o3(0xE8,0xB2,0xBC), o3(0xE8,0xBB,0xA2), + o3(0xE9,0xA1,0x9B), o3(0xE7,0x82,0xB9), + o3(0xE4,0xBC,0x9D), o3(0xE6,0xAE,0xBF), + o3(0xE6,0xBE,0xB1), o3(0xE7,0x94,0xB0), + o3(0xE9,0x9B,0xBB), o3(0xE5,0x85,0x8E), + o3(0xE5,0x90,0x90), o3(0xE5,0xA0,0xB5), + o3(0xE5,0xA1,0x97), o3(0xE5,0xA6,0xAC), + o3(0xE5,0xB1,0xA0), o3(0xE5,0xBE,0x92), + o3(0xE6,0x96,0x97), o3(0xE6,0x9D,0x9C), + o3(0xE6,0xB8,0xA1), o3(0xE7,0x99,0xBB), + o3(0xE8,0x8F,0x9F), o3(0xE8,0xB3,0xAD), + o3(0xE9,0x80,0x94), o3(0xE9,0x83,0xBD), + o3(0xE9,0x8D,0x8D), o3(0xE7,0xA0,0xA5), + o3(0xE7,0xA0,0xBA), o3(0xE5,0x8A,0xAA), + o3(0xE5,0xBA,0xA6), o3(0xE5,0x9C,0x9F), + o3(0xE5,0xA5,0xB4), o3(0xE6,0x80,0x92), + o3(0xE5,0x80,0x92), o3(0xE5,0x85,0x9A), + o3(0xE5,0x86,0xAC), o3(0xE5,0x87,0x8D), + o3(0xE5,0x88,0x80), o3(0xE5,0x94,0x90), + o3(0xE5,0xA1,0x94), o3(0xE5,0xA1,0x98), + o3(0xE5,0xA5,0x97), o3(0xE5,0xAE,0x95), + o3(0xE5,0xB3,0xB6), o3(0xE5,0xB6,0x8B), + o3(0xE6,0x82,0xBC), o3(0xE6,0x8A,0x95), + o3(0xE6,0x90,0xAD), o3(0xE6,0x9D,0xB1), + o3(0xE6,0xA1,0x83), o3(0xE6,0xA2,0xBC), + o3(0xE6,0xA3,0x9F), o3(0xE7,0x9B,0x97), + o3(0xE6,0xB7,0x98), o3(0xE6,0xB9,0xAF), + o3(0xE6,0xB6,0x9B), o3(0xE7,0x81,0xAF), + o3(0xE7,0x87,0x88), o3(0xE5,0xBD,0x93), + o3(0xE7,0x97,0x98), o3(0xE7,0xA5,0xB7), + o3(0xE7,0xAD,0x89), o3(0xE7,0xAD,0x94), + o3(0xE7,0xAD,0x92), o3(0xE7,0xB3,0x96), + o3(0xE7,0xB5,0xB1), o3(0xE5,0x88,0xB0), + o3(0xE8,0x91,0xA3), o3(0xE8,0x95,0xA9), + o3(0xE8,0x97,0xA4), o3(0xE8,0xA8,0x8E), + o3(0xE8,0xAC,0x84), o3(0xE8,0xB1,0x86), + o3(0xE8,0xB8,0x8F), o3(0xE9,0x80,0x83), + o3(0xE9,0x80,0x8F), o3(0xE9,0x90,0x99), + o3(0xE9,0x99,0xB6), o3(0xE9,0xA0,0xAD), + o3(0xE9,0xA8,0xB0), o3(0xE9,0x97,0x98), + o3(0xE5,0x83,0x8D), o3(0xE5,0x8B,0x95), + o3(0xE5,0x90,0x8C), o3(0xE5,0xA0,0x82), + o3(0xE5,0xB0,0x8E), o3(0xE6,0x86,0xA7), + o3(0xE6,0x92,0x9E), o3(0xE6,0xB4,0x9E), + o3(0xE7,0x9E,0xB3), o3(0xE7,0xAB,0xA5), + o3(0xE8,0x83,0xB4), o3(0xE8,0x90,0x84), + o3(0xE9,0x81,0x93), o3(0xE9,0x8A,0x85), + o3(0xE5,0xB3,0xA0), o3(0xE9,0xB4,0x87), + o3(0xE5,0x8C,0xBF), o3(0xE5,0xBE,0x97), + o3(0xE5,0xBE,0xB3), o3(0xE6,0xB6,0x9C), + o3(0xE7,0x89,0xB9), o3(0xE7,0x9D,0xA3), + o3(0xE7,0xA6,0xBF), o3(0xE7,0xAF,0xA4), + o3(0xE6,0xAF,0x92), o3(0xE7,0x8B,0xAC), + o3(0xE8,0xAA,0xAD), o3(0xE6,0xA0,0x83), + o3(0xE6,0xA9,0xA1), o3(0xE5,0x87,0xB8), + o3(0xE7,0xAA,0x81), o3(0xE6,0xA4,0xB4), + o3(0xE5,0xB1,0x8A), o3(0xE9,0xB3,0xB6), + o3(0xE8,0x8B,0xAB), o3(0xE5,0xAF,0x85), + o3(0xE9,0x85,0x89), o3(0xE7,0x80,0x9E), + o3(0xE5,0x99,0xB8), o3(0xE5,0xB1,0xAF), + o3(0xE6,0x83,0x87), o3(0xE6,0x95,0xA6), + o3(0xE6,0xB2,0x8C), o3(0xE8,0xB1,0x9A), + o3(0xE9,0x81,0x81), o3(0xE9,0xA0,0x93), + o3(0xE5,0x91,0x91), o3(0xE6,0x9B,0x87), + o3(0xE9,0x88,0x8D), o3(0xE5,0xA5,0x88), + o3(0xE9,0x82,0xA3), o3(0xE5,0x86,0x85), + o3(0xE4,0xB9,0x8D), o3(0xE5,0x87,0xAA), + o3(0xE8,0x96,0x99), o3(0xE8,0xAC,0x8E), + o3(0xE7,0x81,0x98), o3(0xE6,0x8D,0xBA), + o3(0xE9,0x8D,0x8B), o3(0xE6,0xA5,0xA2), + o3(0xE9,0xA6,0xB4), o3(0xE7,0xB8,0x84), + o3(0xE7,0x95,0xB7), o3(0xE5,0x8D,0x97), + o3(0xE6,0xA5,0xA0), o3(0xE8,0xBB,0x9F), + o3(0xE9,0x9B,0xA3), o3(0xE6,0xB1,0x9D), + o3(0xE4,0xBA,0x8C), o3(0xE5,0xB0,0xBC), + o3(0xE5,0xBC,0x90), o3(0xE8,0xBF,0xA9), + o3(0xE5,0x8C,0x82), o3(0xE8,0xB3,0x91), + o3(0xE8,0x82,0x89), o3(0xE8,0x99,0xB9), + o3(0xE5,0xBB,0xBF), o3(0xE6,0x97,0xA5), + o3(0xE4,0xB9,0xB3), o3(0xE5,0x85,0xA5), + UNDEF, +}; +static const BYTE_LOOKUP +from_SHIFT_JIS_93 = { + from_SHIFT_JIS_89_offsets, + from_SHIFT_JIS_93_infos +}; + +static const struct byte_lookup* const +from_SHIFT_JIS_94_infos[189] = { + o3(0xE5,0xA6,0x82), o3(0xE5,0xB0,0xBF), + o3(0xE9,0x9F,0xAE), o3(0xE4,0xBB,0xBB), + o3(0xE5,0xA6,0x8A), o3(0xE5,0xBF,0x8D), + o3(0xE8,0xAA,0x8D), o3(0xE6,0xBF,0xA1), + o3(0xE7,0xA6,0xB0), o3(0xE7,0xA5,0xA2), + o3(0xE5,0xAF,0xA7), o3(0xE8,0x91,0xB1), + o3(0xE7,0x8C,0xAB), o3(0xE7,0x86,0xB1), + o3(0xE5,0xB9,0xB4), o3(0xE5,0xBF,0xB5), + o3(0xE6,0x8D,0xBB), o3(0xE6,0x92,0x9A), + o3(0xE7,0x87,0x83), o3(0xE7,0xB2,0x98), + o3(0xE4,0xB9,0x83), o3(0xE5,0xBB,0xBC), + o3(0xE4,0xB9,0x8B), o3(0xE5,0x9F,0x9C), + o3(0xE5,0x9A,0xA2), o3(0xE6,0x82,0xA9), + o3(0xE6,0xBF,0x83), o3(0xE7,0xB4,0x8D), + o3(0xE8,0x83,0xBD), o3(0xE8,0x84,0xB3), + o3(0xE8,0x86,0xBF), o3(0xE8,0xBE,0xB2), + o3(0xE8,0xA6,0x97), o3(0xE8,0x9A,0xA4), + o3(0xE5,0xB7,0xB4), o3(0xE6,0x8A,0x8A), + o3(0xE6,0x92,0xAD), o3(0xE8,0xA6,0x87), + o3(0xE6,0x9D,0xB7), o3(0xE6,0xB3,0xA2), + o3(0xE6,0xB4,0xBE), o3(0xE7,0x90,0xB6), + o3(0xE7,0xA0,0xB4), o3(0xE5,0xA9,0x86), + o3(0xE7,0xBD,0xB5), o3(0xE8,0x8A,0xAD), + o3(0xE9,0xA6,0xAC), o3(0xE4,0xBF,0xB3), + o3(0xE5,0xBB,0x83), o3(0xE6,0x8B,0x9D), + o3(0xE6,0x8E,0x92), o3(0xE6,0x95,0x97), + o3(0xE6,0x9D,0xAF), o3(0xE7,0x9B,0x83), + o3(0xE7,0x89,0x8C), o3(0xE8,0x83,0x8C), + o3(0xE8,0x82,0xBA), o3(0xE8,0xBC,0xA9), + o3(0xE9,0x85,0x8D), o3(0xE5,0x80,0x8D), + o3(0xE5,0x9F,0xB9), o3(0xE5,0xAA,0x92), + o3(0xE6,0xA2,0x85), o3(0xE6,0xA5,0xB3), + o3(0xE7,0x85,0xA4), o3(0xE7,0x8B,0xBD), + o3(0xE8,0xB2,0xB7), o3(0xE5,0xA3,0xB2), + o3(0xE8,0xB3,0xA0), o3(0xE9,0x99,0xAA), + o3(0xE9,0x80,0x99), o3(0xE8,0x9D,0xBF), + o3(0xE7,0xA7,0xA4), o3(0xE7,0x9F,0xA7), + o3(0xE8,0x90,0xA9), o3(0xE4,0xBC,0xAF), + o3(0xE5,0x89,0xA5), o3(0xE5,0x8D,0x9A), + o3(0xE6,0x8B,0x8D), o3(0xE6,0x9F,0x8F), + o3(0xE6,0xB3,0x8A), o3(0xE7,0x99,0xBD), + o3(0xE7,0xAE,0x94), o3(0xE7,0xB2,0x95), + o3(0xE8,0x88,0xB6), o3(0xE8,0x96,0x84), + o3(0xE8,0xBF,0xAB), o3(0xE6,0x9B,0x9D), + o3(0xE6,0xBC,0xA0), o3(0xE7,0x88,0x86), + o3(0xE7,0xB8,0x9B), o3(0xE8,0x8E,0xAB), + o3(0xE9,0xA7,0x81), o3(0xE9,0xBA,0xA6), + o3(0xE5,0x87,0xBD), o3(0xE7,0xAE,0xB1), + o3(0xE7,0xA1,0xB2), o3(0xE7,0xAE,0xB8), + o3(0xE8,0x82,0x87), o3(0xE7,0xAD,0x88), + o3(0xE6,0xAB,0xA8), o3(0xE5,0xB9,0xA1), + o3(0xE8,0x82,0x8C), o3(0xE7,0x95,0x91), + o3(0xE7,0x95,0xA0), o3(0xE5,0x85,0xAB), + o3(0xE9,0x89,0xA2), o3(0xE6,0xBA,0x8C), + o3(0xE7,0x99,0xBA), o3(0xE9,0x86,0x97), + o3(0xE9,0xAB,0xAA), o3(0xE4,0xBC,0x90), + o3(0xE7,0xBD,0xB0), o3(0xE6,0x8A,0x9C), + o3(0xE7,0xAD,0x8F), o3(0xE9,0x96,0xA5), + o3(0xE9,0xB3,0xA9), o3(0xE5,0x99,0xBA), + o3(0xE5,0xA1,0x99), o3(0xE8,0x9B,0xA4), + o3(0xE9,0x9A,0xBC), o3(0xE4,0xBC,0xB4), + o3(0xE5,0x88,0xA4), o3(0xE5,0x8D,0x8A), + o3(0xE5,0x8F,0x8D), o3(0xE5,0x8F,0x9B), + o3(0xE5,0xB8,0x86), o3(0xE6,0x90,0xAC), + o3(0xE6,0x96,0x91), o3(0xE6,0x9D,0xBF), + o3(0xE6,0xB0,0xBE), o3(0xE6,0xB1,0x8E), + o3(0xE7,0x89,0x88), o3(0xE7,0x8A,0xAF), + o3(0xE7,0x8F,0xAD), o3(0xE7,0x95,0x94), + o3(0xE7,0xB9,0x81), o3(0xE8,0x88,0xAC), + o3(0xE8,0x97,0xA9), o3(0xE8,0xB2,0xA9), + o3(0xE7,0xAF,0x84), o3(0xE9,0x87,0x86), + o3(0xE7,0x85,0xA9), o3(0xE9,0xA0,0x92), + o3(0xE9,0xA3,0xAF), o3(0xE6,0x8C,0xBD), + o3(0xE6,0x99,0xA9), o3(0xE7,0x95,0xAA), + o3(0xE7,0x9B,0xA4), o3(0xE7,0xA3,0x90), + o3(0xE8,0x95,0x83), o3(0xE8,0x9B,0xAE), + o3(0xE5,0x8C,0xAA), o3(0xE5,0x8D,0x91), + o3(0xE5,0x90,0xA6), o3(0xE5,0xA6,0x83), + o3(0xE5,0xBA,0x87), o3(0xE5,0xBD,0xBC), + o3(0xE6,0x82,0xB2), o3(0xE6,0x89,0x89), + o3(0xE6,0x89,0xB9), o3(0xE6,0x8A,0xAB), + o3(0xE6,0x96,0x90), o3(0xE6,0xAF,0x94), + o3(0xE6,0xB3,0x8C), o3(0xE7,0x96,0xB2), + o3(0xE7,0x9A,0xAE), o3(0xE7,0xA2,0x91), + o3(0xE7,0xA7,0x98), o3(0xE7,0xB7,0x8B), + o3(0xE7,0xBD,0xB7), o3(0xE8,0x82,0xA5), + o3(0xE8,0xA2,0xAB), o3(0xE8,0xAA,0xB9), + o3(0xE8,0xB2,0xBB), o3(0xE9,0x81,0xBF), + o3(0xE9,0x9D,0x9E), o3(0xE9,0xA3,0x9B), + o3(0xE6,0xA8,0x8B), o3(0xE7,0xB0,0xB8), + o3(0xE5,0x82,0x99), o3(0xE5,0xB0,0xBE), + o3(0xE5,0xBE,0xAE), o3(0xE6,0x9E,0x87), + o3(0xE6,0xAF,0x98), o3(0xE7,0x90,0xB5), + o3(0xE7,0x9C,0x89), o3(0xE7,0xBE,0x8E), + UNDEF, +}; +static const BYTE_LOOKUP +from_SHIFT_JIS_94 = { + from_SHIFT_JIS_89_offsets, + from_SHIFT_JIS_94_infos +}; + +static const struct byte_lookup* const +from_SHIFT_JIS_95_infos[189] = { + o3(0xE9,0xBC,0xBB), o3(0xE6,0x9F,0x8A), + o3(0xE7,0xA8,0x97), o3(0xE5,0x8C,0xB9), + o3(0xE7,0x96,0x8B), o3(0xE9,0xAB,0xAD), + o3(0xE5,0xBD,0xA6), o3(0xE8,0x86,0x9D), + o3(0xE8,0x8F,0xB1), o3(0xE8,0x82,0x98), + o3(0xE5,0xBC,0xBC), o3(0xE5,0xBF,0x85), + o3(0xE7,0x95,0xA2), o3(0xE7,0xAD,0x86), + o3(0xE9,0x80,0xBC), o3(0xE6,0xA1,0xA7), + o3(0xE5,0xA7,0xAB), o3(0xE5,0xAA,0x9B), + o3(0xE7,0xB4,0x90), o3(0xE7,0x99,0xBE), + o3(0xE8,0xAC,0xAC), o3(0xE4,0xBF,0xB5), + o3(0xE5,0xBD,0xAA), o3(0xE6,0xA8,0x99), + o3(0xE6,0xB0,0xB7), o3(0xE6,0xBC,0x82), + o3(0xE7,0x93,0xA2), o3(0xE7,0xA5,0xA8), + o3(0xE8,0xA1,0xA8), o3(0xE8,0xA9,0x95), + o3(0xE8,0xB1,0xB9), o3(0xE5,0xBB,0x9F), + o3(0xE6,0x8F,0x8F), o3(0xE7,0x97,0x85), + o3(0xE7,0xA7,0x92), o3(0xE8,0x8B,0x97), + o3(0xE9,0x8C,0xA8), o3(0xE9,0x8B,0xB2), + o3(0xE8,0x92,0x9C), o3(0xE8,0x9B,0xAD), + o3(0xE9,0xB0,0xAD), o3(0xE5,0x93,0x81), + o3(0xE5,0xBD,0xAC), o3(0xE6,0x96,0x8C), + o3(0xE6,0xB5,0x9C), o3(0xE7,0x80,0x95), + o3(0xE8,0xB2,0xA7), o3(0xE8,0xB3,0x93), + o3(0xE9,0xA0,0xBB), o3(0xE6,0x95,0x8F), + o3(0xE7,0x93,0xB6), o3(0xE4,0xB8,0x8D), + o3(0xE4,0xBB,0x98), o3(0xE5,0x9F,0xA0), + o3(0xE5,0xA4,0xAB), o3(0xE5,0xA9,0xA6), + o3(0xE5,0xAF,0x8C), o3(0xE5,0x86,0xA8), + o3(0xE5,0xB8,0x83), o3(0xE5,0xBA,0x9C), + o3(0xE6,0x80,0x96), o3(0xE6,0x89,0xB6), + o3(0xE6,0x95,0xB7), o3(0xE6,0x96,0xA7), + o3(0xE6,0x99,0xAE), o3(0xE6,0xB5,0xAE), + o3(0xE7,0x88,0xB6), o3(0xE7,0xAC,0xA6), + o3(0xE8,0x85,0x90), o3(0xE8,0x86,0x9A), + o3(0xE8,0x8A,0x99), o3(0xE8,0xAD,0x9C), + o3(0xE8,0xB2,0xA0), o3(0xE8,0xB3,0xA6), + o3(0xE8,0xB5,0xB4), o3(0xE9,0x98,0x9C), + o3(0xE9,0x99,0x84), o3(0xE4,0xBE,0xAE), + o3(0xE6,0x92,0xAB), o3(0xE6,0xAD,0xA6), + o3(0xE8,0x88,0x9E), o3(0xE8,0x91,0xA1), + o3(0xE8,0x95,0xAA), o3(0xE9,0x83,0xA8), + o3(0xE5,0xB0,0x81), o3(0xE6,0xA5,0x93), + o3(0xE9,0xA2,0xA8), o3(0xE8,0x91,0xBA), + o3(0xE8,0x95,0x97), o3(0xE4,0xBC,0x8F), + o3(0xE5,0x89,0xAF), o3(0xE5,0xBE,0xA9), + o3(0xE5,0xB9,0x85), o3(0xE6,0x9C,0x8D), + o3(0xE7,0xA6,0x8F), o3(0xE8,0x85,0xB9), + o3(0xE8,0xA4,0x87), o3(0xE8,0xA6,0x86), + o3(0xE6,0xB7,0xB5), o3(0xE5,0xBC,0x97), + o3(0xE6,0x89,0x95), o3(0xE6,0xB2,0xB8), + o3(0xE4,0xBB,0x8F), o3(0xE7,0x89,0xA9), + o3(0xE9,0xAE,0x92), o3(0xE5,0x88,0x86), + o3(0xE5,0x90,0xBB), o3(0xE5,0x99,0xB4), + o3(0xE5,0xA2,0xB3), o3(0xE6,0x86,0xA4), + o3(0xE6,0x89,0xAE), o3(0xE7,0x84,0x9A), + o3(0xE5,0xA5,0xAE), o3(0xE7,0xB2,0x89), + o3(0xE7,0xB3,0x9E), o3(0xE7,0xB4,0x9B), + o3(0xE9,0x9B,0xB0), o3(0xE6,0x96,0x87), + o3(0xE8,0x81,0x9E), o3(0xE4,0xB8,0x99), + o3(0xE4,0xBD,0xB5), o3(0xE5,0x85,0xB5), + o3(0xE5,0xA1,0x80), o3(0xE5,0xB9,0xA3), + o3(0xE5,0xB9,0xB3), o3(0xE5,0xBC,0x8A), + o3(0xE6,0x9F,0x84), o3(0xE4,0xB8,0xA6), + o3(0xE8,0x94,0xBD), o3(0xE9,0x96,0x89), + o3(0xE9,0x99,0x9B), o3(0xE7,0xB1,0xB3), + o3(0xE9,0xA0,0x81), o3(0xE5,0x83,0xBB), + o3(0xE5,0xA3,0x81), o3(0xE7,0x99,0x96), + o3(0xE7,0xA2,0xA7), o3(0xE5,0x88,0xA5), + o3(0xE7,0x9E,0xA5), o3(0xE8,0x94,0x91), + o3(0xE7,0xAE,0x86), o3(0xE5,0x81,0x8F), + o3(0xE5,0xA4,0x89), o3(0xE7,0x89,0x87), + o3(0xE7,0xAF,0x87), o3(0xE7,0xB7,0xA8), + o3(0xE8,0xBE,0xBA), o3(0xE8,0xBF,0x94), + o3(0xE9,0x81,0x8D), o3(0xE4,0xBE,0xBF), + o3(0xE5,0x8B,0x89), o3(0xE5,0xA8,0xA9), + o3(0xE5,0xBC,0x81), o3(0xE9,0x9E,0xAD), + o3(0xE4,0xBF,0x9D), o3(0xE8,0x88,0x97), + o3(0xE9,0x8B,0xAA), o3(0xE5,0x9C,0x83), + o3(0xE6,0x8D,0x95), o3(0xE6,0xAD,0xA9), + o3(0xE7,0x94,0xAB), o3(0xE8,0xA3,0x9C), + o3(0xE8,0xBC,0x94), o3(0xE7,0xA9,0x82), + o3(0xE5,0x8B,0x9F), o3(0xE5,0xA2,0x93), + o3(0xE6,0x85,0x95), o3(0xE6,0x88,0x8A), + o3(0xE6,0x9A,0xAE), o3(0xE6,0xAF,0x8D), + o3(0xE7,0xB0,0xBF), o3(0xE8,0x8F,0xA9), + o3(0xE5,0x80,0xA3), o3(0xE4,0xBF,0xB8), + o3(0xE5,0x8C,0x85), o3(0xE5,0x91,0x86), + o3(0xE5,0xA0,0xB1), o3(0xE5,0xA5,0x89), + o3(0xE5,0xAE,0x9D), o3(0xE5,0xB3,0xB0), + o3(0xE5,0xB3,0xAF), o3(0xE5,0xB4,0xA9), + o3(0xE5,0xBA,0x96), o3(0xE6,0x8A,0xB1), + o3(0xE6,0x8D,0xA7), o3(0xE6,0x94,0xBE), + o3(0xE6,0x96,0xB9), o3(0xE6,0x9C,0x8B), + UNDEF, +}; +static const BYTE_LOOKUP +from_SHIFT_JIS_95 = { + from_SHIFT_JIS_89_offsets, + from_SHIFT_JIS_95_infos +}; + +static const struct byte_lookup* const +from_SHIFT_JIS_96_infos[189] = { + o3(0xE6,0xB3,0x95), o3(0xE6,0xB3,0xA1), + o3(0xE7,0x83,0xB9), o3(0xE7,0xA0,0xB2), + o3(0xE7,0xB8,0xAB), o3(0xE8,0x83,0x9E), + o3(0xE8,0x8A,0xB3), o3(0xE8,0x90,0x8C), + o3(0xE8,0x93,0xAC), o3(0xE8,0x9C,0x82), + o3(0xE8,0xA4,0x92), o3(0xE8,0xA8,0xAA), + o3(0xE8,0xB1,0x8A), o3(0xE9,0x82,0xA6), + o3(0xE9,0x8B,0x92), o3(0xE9,0xA3,0xBD), + o3(0xE9,0xB3,0xB3), o3(0xE9,0xB5,0xAC), + o3(0xE4,0xB9,0x8F), o3(0xE4,0xBA,0xA1), + o3(0xE5,0x82,0x8D), o3(0xE5,0x89,0x96), + o3(0xE5,0x9D,0x8A), o3(0xE5,0xA6,0xA8), + o3(0xE5,0xB8,0xBD), o3(0xE5,0xBF,0x98), + o3(0xE5,0xBF,0x99), o3(0xE6,0x88,0xBF), + o3(0xE6,0x9A,0xB4), o3(0xE6,0x9C,0x9B), + o3(0xE6,0x9F,0x90), o3(0xE6,0xA3,0x92), + o3(0xE5,0x86,0x92), o3(0xE7,0xB4,0xA1), + o3(0xE8,0x82,0xAA), o3(0xE8,0x86,0xA8), + o3(0xE8,0xAC,0x80), o3(0xE8,0xB2,0x8C), + o3(0xE8,0xB2,0xBF), o3(0xE9,0x89,0xBE), + o3(0xE9,0x98,0xB2), o3(0xE5,0x90,0xA0), + o3(0xE9,0xA0,0xAC), o3(0xE5,0x8C,0x97), + o3(0xE5,0x83,0x95), o3(0xE5,0x8D,0x9C), + o3(0xE5,0xA2,0xA8), o3(0xE6,0x92,0xB2), + o3(0xE6,0x9C,0xB4), o3(0xE7,0x89,0xA7), + o3(0xE7,0x9D,0xA6), o3(0xE7,0xA9,0x86), + o3(0xE9,0x87,0xA6), o3(0xE5,0x8B,0x83), + o3(0xE6,0xB2,0xA1), o3(0xE6,0xAE,0x86), + o3(0xE5,0xA0,0x80), o3(0xE5,0xB9,0x8C), + o3(0xE5,0xA5,0x94), o3(0xE6,0x9C,0xAC), + o3(0xE7,0xBF,0xBB), o3(0xE5,0x87,0xA1), + o3(0xE7,0x9B,0x86), o3(0xE6,0x91,0xA9), + o3(0xE7,0xA3,0xA8), o3(0xE9,0xAD,0x94), + o3(0xE9,0xBA,0xBB), o3(0xE5,0x9F,0x8B), + o3(0xE5,0xA6,0xB9), o3(0xE6,0x98,0xA7), + o3(0xE6,0x9E,0x9A), o3(0xE6,0xAF,0x8E), + o3(0xE5,0x93,0xA9), o3(0xE6,0xA7,0x99), + o3(0xE5,0xB9,0x95), o3(0xE8,0x86,0x9C), + o3(0xE6,0x9E,0x95), o3(0xE9,0xAE,0xAA), + o3(0xE6,0x9F,0xBE), o3(0xE9,0xB1,0x92), + o3(0xE6,0xA1,0x9D), o3(0xE4,0xBA,0xA6), + o3(0xE4,0xBF,0xA3), o3(0xE5,0x8F,0x88), + o3(0xE6,0x8A,0xB9), o3(0xE6,0x9C,0xAB), + o3(0xE6,0xB2,0xAB), o3(0xE8,0xBF,0x84), + o3(0xE4,0xBE,0xAD), o3(0xE7,0xB9,0xAD), + o3(0xE9,0xBA,0xBF), o3(0xE4,0xB8,0x87), + o3(0xE6,0x85,0xA2), o3(0xE6,0xBA,0x80), + o3(0xE6,0xBC,0xAB), o3(0xE8,0x94,0x93), + o3(0xE5,0x91,0xB3), o3(0xE6,0x9C,0xAA), + o3(0xE9,0xAD,0x85), o3(0xE5,0xB7,0xB3), + o3(0xE7,0xAE,0x95), o3(0xE5,0xB2,0xAC), + o3(0xE5,0xAF,0x86), o3(0xE8,0x9C,0x9C), + o3(0xE6,0xB9,0x8A), o3(0xE8,0x93,0x91), + o3(0xE7,0xA8,0x94), o3(0xE8,0x84,0x88), + o3(0xE5,0xA6,0x99), o3(0xE7,0xB2,0x8D), + o3(0xE6,0xB0,0x91), o3(0xE7,0x9C,0xA0), + o3(0xE5,0x8B,0x99), o3(0xE5,0xA4,0xA2), + o3(0xE7,0x84,0xA1), o3(0xE7,0x89,0x9F), + o3(0xE7,0x9F,0x9B), o3(0xE9,0x9C,0xA7), + o3(0xE9,0xB5,0xA1), o3(0xE6,0xA4,0x8B), + o3(0xE5,0xA9,0xBF), o3(0xE5,0xA8,0x98), + o3(0xE5,0x86,0xA5), o3(0xE5,0x90,0x8D), + o3(0xE5,0x91,0xBD), o3(0xE6,0x98,0x8E), + o3(0xE7,0x9B,0x9F), o3(0xE8,0xBF,0xB7), + o3(0xE9,0x8A,0x98), o3(0xE9,0xB3,0xB4), + o3(0xE5,0xA7,0xAA), o3(0xE7,0x89,0x9D), + o3(0xE6,0xBB,0x85), o3(0xE5,0x85,0x8D), + o3(0xE6,0xA3,0x89), o3(0xE7,0xB6,0xBF), + o3(0xE7,0xB7,0xAC), o3(0xE9,0x9D,0xA2), + o3(0xE9,0xBA,0xBA), o3(0xE6,0x91,0xB8), + o3(0xE6,0xA8,0xA1), o3(0xE8,0x8C,0x82), + o3(0xE5,0xA6,0x84), o3(0xE5,0xAD,0x9F), + o3(0xE6,0xAF,0x9B), o3(0xE7,0x8C,0x9B), + o3(0xE7,0x9B,0xB2), o3(0xE7,0xB6,0xB2), + o3(0xE8,0x80,0x97), o3(0xE8,0x92,0x99), + o3(0xE5,0x84,0xB2), o3(0xE6,0x9C,0xA8), + o3(0xE9,0xBB,0x99), o3(0xE7,0x9B,0xAE), + o3(0xE6,0x9D,0xA2), o3(0xE5,0x8B,0xBF), + o3(0xE9,0xA4,0x85), o3(0xE5,0xB0,0xA4), + o3(0xE6,0x88,0xBB), o3(0xE7,0xB1,0xBE), + o3(0xE8,0xB2,0xB0), o3(0xE5,0x95,0x8F), + o3(0xE6,0x82,0xB6), o3(0xE7,0xB4,0x8B), + o3(0xE9,0x96,0x80), o3(0xE5,0x8C,0x81), + o3(0xE4,0xB9,0x9F), o3(0xE5,0x86,0xB6), + o3(0xE5,0xA4,0x9C), o3(0xE7,0x88,0xBA), + o3(0xE8,0x80,0xB6), o3(0xE9,0x87,0x8E), + o3(0xE5,0xBC,0xA5), o3(0xE7,0x9F,0xA2), + o3(0xE5,0x8E,0x84), o3(0xE5,0xBD,0xB9), + o3(0xE7,0xB4,0x84), o3(0xE8,0x96,0xAC), + o3(0xE8,0xA8,0xB3), o3(0xE8,0xBA,0x8D), + o3(0xE9,0x9D,0x96), o3(0xE6,0x9F,0xB3), + o3(0xE8,0x96,0xAE), o3(0xE9,0x91,0x93), + o3(0xE6,0x84,0x89), o3(0xE6,0x84,0x88), + o3(0xE6,0xB2,0xB9), o3(0xE7,0x99,0x92), + UNDEF, +}; +static const BYTE_LOOKUP +from_SHIFT_JIS_96 = { + from_SHIFT_JIS_89_offsets, + from_SHIFT_JIS_96_infos +}; + +static const struct byte_lookup* const +from_SHIFT_JIS_97_infos[189] = { + o3(0xE8,0xAB,0xAD), o3(0xE8,0xBC,0xB8), + o3(0xE5,0x94,0xAF), o3(0xE4,0xBD,0x91), + o3(0xE5,0x84,0xAA), o3(0xE5,0x8B,0x87), + o3(0xE5,0x8F,0x8B), o3(0xE5,0xAE,0xA5), + o3(0xE5,0xB9,0xBD), o3(0xE6,0x82,0xA0), + o3(0xE6,0x86,0x82), o3(0xE6,0x8F,0x96), + o3(0xE6,0x9C,0x89), o3(0xE6,0x9F,0x9A), + o3(0xE6,0xB9,0xA7), o3(0xE6,0xB6,0x8C), + o3(0xE7,0x8C,0xB6), o3(0xE7,0x8C,0xB7), + o3(0xE7,0x94,0xB1), o3(0xE7,0xA5,0x90), + o3(0xE8,0xA3,0x95), o3(0xE8,0xAA,0x98), + o3(0xE9,0x81,0x8A), o3(0xE9,0x82,0x91), + o3(0xE9,0x83,0xB5), o3(0xE9,0x9B,0x84), + o3(0xE8,0x9E,0x8D), o3(0xE5,0xA4,0x95), + o3(0xE4,0xBA,0x88), o3(0xE4,0xBD,0x99), + o3(0xE4,0xB8,0x8E), o3(0xE8,0xAA,0x89), + o3(0xE8,0xBC,0xBF), o3(0xE9,0xA0,0x90), + o3(0xE5,0x82,0xAD), o3(0xE5,0xB9,0xBC), + o3(0xE5,0xA6,0x96), o3(0xE5,0xAE,0xB9), + o3(0xE5,0xBA,0xB8), o3(0xE6,0x8F,0x9A), + o3(0xE6,0x8F,0xBA), o3(0xE6,0x93,0x81), + o3(0xE6,0x9B,0x9C), o3(0xE6,0xA5,0x8A), + o3(0xE6,0xA7,0x98), o3(0xE6,0xB4,0x8B), + o3(0xE6,0xBA,0xB6), o3(0xE7,0x86,0x94), + o3(0xE7,0x94,0xA8), o3(0xE7,0xAA,0xAF), + o3(0xE7,0xBE,0x8A), o3(0xE8,0x80,0x80), + o3(0xE8,0x91,0x89), o3(0xE8,0x93,0x89), + o3(0xE8,0xA6,0x81), o3(0xE8,0xAC,0xA1), + o3(0xE8,0xB8,0x8A), o3(0xE9,0x81,0xA5), + o3(0xE9,0x99,0xBD), o3(0xE9,0xA4,0x8A), + o3(0xE6,0x85,0xBE), o3(0xE6,0x8A,0x91), + o3(0xE6,0xAC,0xB2), o3(0xE6,0xB2,0x83), + o3(0xE6,0xB5,0xB4), o3(0xE7,0xBF,0x8C), + o3(0xE7,0xBF,0xBC), o3(0xE6,0xB7,0x80), + o3(0xE7,0xBE,0x85), o3(0xE8,0x9E,0xBA), + o3(0xE8,0xA3,0xB8), o3(0xE6,0x9D,0xA5), + o3(0xE8,0x8E,0xB1), o3(0xE9,0xA0,0xBC), + o3(0xE9,0x9B,0xB7), o3(0xE6,0xB4,0x9B), + o3(0xE7,0xB5,0xA1), o3(0xE8,0x90,0xBD), + o3(0xE9,0x85,0xAA), o3(0xE4,0xB9,0xB1), + o3(0xE5,0x8D,0xB5), o3(0xE5,0xB5,0x90), + o3(0xE6,0xAC,0x84), o3(0xE6,0xBF,0xAB), + o3(0xE8,0x97,0x8D), o3(0xE8,0x98,0xAD), + o3(0xE8,0xA6,0xA7), o3(0xE5,0x88,0xA9), + o3(0xE5,0x90,0x8F), o3(0xE5,0xB1,0xA5), + o3(0xE6,0x9D,0x8E), o3(0xE6,0xA2,0xA8), + o3(0xE7,0x90,0x86), o3(0xE7,0x92,0x83), + o3(0xE7,0x97,0xA2), o3(0xE8,0xA3,0x8F), + o3(0xE8,0xA3,0xA1), o3(0xE9,0x87,0x8C), + o3(0xE9,0x9B,0xA2), o3(0xE9,0x99,0xB8), + o3(0xE5,0xBE,0x8B), o3(0xE7,0x8E,0x87), + o3(0xE7,0xAB,0x8B), o3(0xE8,0x91,0x8E), + o3(0xE6,0x8E,0xA0), o3(0xE7,0x95,0xA5), + o3(0xE5,0x8A,0x89), o3(0xE6,0xB5,0x81), + o3(0xE6,0xBA,0x9C), o3(0xE7,0x90,0x89), + o3(0xE7,0x95,0x99), o3(0xE7,0xA1,0xAB), + o3(0xE7,0xB2,0x92), o3(0xE9,0x9A,0x86), + o3(0xE7,0xAB,0x9C), o3(0xE9,0xBE,0x8D), + o3(0xE4,0xBE,0xB6), o3(0xE6,0x85,0xAE), + o3(0xE6,0x97,0x85), o3(0xE8,0x99,0x9C), + o3(0xE4,0xBA,0x86), o3(0xE4,0xBA,0xAE), + o3(0xE5,0x83,0x9A), o3(0xE4,0xB8,0xA1), + o3(0xE5,0x87,0x8C), o3(0xE5,0xAF,0xAE), + o3(0xE6,0x96,0x99), o3(0xE6,0xA2,0x81), + o3(0xE6,0xB6,0xBC), o3(0xE7,0x8C,0x9F), + o3(0xE7,0x99,0x82), o3(0xE7,0x9E,0xAD), + o3(0xE7,0xA8,0x9C), o3(0xE7,0xB3,0xA7), + o3(0xE8,0x89,0xAF), o3(0xE8,0xAB,0x92), + o3(0xE9,0x81,0xBC), o3(0xE9,0x87,0x8F), + o3(0xE9,0x99,0xB5), o3(0xE9,0xA0,0x98), + o3(0xE5,0x8A,0x9B), o3(0xE7,0xB7,0x91), + o3(0xE5,0x80,0xAB), o3(0xE5,0x8E,0x98), + o3(0xE6,0x9E,0x97), o3(0xE6,0xB7,0x8B), + o3(0xE7,0x87,0x90), o3(0xE7,0x90,0xB3), + o3(0xE8,0x87,0xA8), o3(0xE8,0xBC,0xAA), + o3(0xE9,0x9A,0xA3), o3(0xE9,0xB1,0x97), + o3(0xE9,0xBA,0x9F), o3(0xE7,0x91,0xA0), + o3(0xE5,0xA1,0x81), o3(0xE6,0xB6,0x99), + o3(0xE7,0xB4,0xAF), o3(0xE9,0xA1,0x9E), + o3(0xE4,0xBB,0xA4), o3(0xE4,0xBC,0xB6), + o3(0xE4,0xBE,0x8B), o3(0xE5,0x86,0xB7), + o3(0xE5,0x8A,0xB1), o3(0xE5,0xB6,0xBA), + o3(0xE6,0x80,0x9C), o3(0xE7,0x8E,0xB2), + o3(0xE7,0xA4,0xBC), o3(0xE8,0x8B,0x93), + o3(0xE9,0x88,0xB4), o3(0xE9,0x9A,0xB7), + o3(0xE9,0x9B,0xB6), o3(0xE9,0x9C,0x8A), + o3(0xE9,0xBA,0x97), o3(0xE9,0xBD,0xA2), + o3(0xE6,0x9A,0xA6), o3(0xE6,0xAD,0xB4), + o3(0xE5,0x88,0x97), o3(0xE5,0x8A,0xA3), + o3(0xE7,0x83,0x88), o3(0xE8,0xA3,0x82), + o3(0xE5,0xBB,0x89), o3(0xE6,0x81,0x8B), + o3(0xE6,0x86,0x90), o3(0xE6,0xBC,0xA3), + o3(0xE7,0x85,0x89), o3(0xE7,0xB0,0xBE), + o3(0xE7,0xB7,0xB4), o3(0xE8,0x81,0xAF), + UNDEF, +}; +static const BYTE_LOOKUP +from_SHIFT_JIS_97 = { + from_SHIFT_JIS_89_offsets, + from_SHIFT_JIS_97_infos +}; + +static const unsigned char +from_SHIFT_JIS_98_offsets[256] = { + 145,145,145,145,145,145,145,145, 145,145,145,145,145,145,145,145, + 145,145,145,145,145,145,145,145, 145,145,145,145,145,145,145,145, + 145,145,145,145,145,145,145,145, 145,145,145,145,145,145,145,145, + 145,145,145,145,145,145,145,145, 145,145,145,145,145,145,145,145, + 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,145,145,145,145,145, 145,145,145,145,145,145,145,145, + 145,145,145,145,145,145,145,145, 145,145,145,145,145,145,145,145, + 145,145,145,145,145,145,145,145, 145,145,145,145,145,145,145, 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,129,130,131, + 132,133,134,135,136,137,138,139, 140,141,142,143,144,145,145,145, +}; +static const struct byte_lookup* const +from_SHIFT_JIS_98_infos[146] = { + o3(0xE8,0x93,0xAE), o3(0xE9,0x80,0xA3), + o3(0xE9,0x8C,0xAC), o3(0xE5,0x91,0x82), + o3(0xE9,0xAD,0xAF), o3(0xE6,0xAB,0x93), + o3(0xE7,0x82,0x89), o3(0xE8,0xB3,0x82), + o3(0xE8,0xB7,0xAF), o3(0xE9,0x9C,0xB2), + o3(0xE5,0x8A,0xB4), o3(0xE5,0xA9,0x81), + o3(0xE5,0xBB,0x8A), o3(0xE5,0xBC,0x84), + o3(0xE6,0x9C,0x97), o3(0xE6,0xA5,0xBC), + o3(0xE6,0xA6,0x94), o3(0xE6,0xB5,0xAA), + o3(0xE6,0xBC,0x8F), o3(0xE7,0x89,0xA2), + o3(0xE7,0x8B,0xBC), o3(0xE7,0xAF,0xAD), + o3(0xE8,0x80,0x81), o3(0xE8,0x81,0xBE), + o3(0xE8,0x9D,0x8B), o3(0xE9,0x83,0x8E), + o3(0xE5,0x85,0xAD), o3(0xE9,0xBA,0x93), + o3(0xE7,0xA6,0x84), o3(0xE8,0x82,0x8B), + o3(0xE9,0x8C,0xB2), o3(0xE8,0xAB,0x96), + o3(0xE5,0x80,0xAD), o3(0xE5,0x92,0x8C), + o3(0xE8,0xA9,0xB1), o3(0xE6,0xAD,0xAA), + o3(0xE8,0xB3,0x84), o3(0xE8,0x84,0x87), + o3(0xE6,0x83,0x91), o3(0xE6,0x9E,0xA0), + o3(0xE9,0xB7,0xB2), o3(0xE4,0xBA,0x99), + o3(0xE4,0xBA,0x98), o3(0xE9,0xB0,0x90), + o3(0xE8,0xA9,0xAB), o3(0xE8,0x97,0x81), + o3(0xE8,0x95,0xA8), o3(0xE6,0xA4,0x80), + o3(0xE6,0xB9,0xBE), o3(0xE7,0xA2,0x97), + o3(0xE8,0x85,0x95), o3(0xE5,0xBC,0x8C), + o3(0xE4,0xB8,0x90), o3(0xE4,0xB8,0x95), + o3(0xE4,0xB8,0xAA), o3(0xE4,0xB8,0xB1), + o3(0xE4,0xB8,0xB6), o3(0xE4,0xB8,0xBC), + o3(0xE4,0xB8,0xBF), o3(0xE4,0xB9,0x82), + o3(0xE4,0xB9,0x96), o3(0xE4,0xB9,0x98), + o3(0xE4,0xBA,0x82), o3(0xE4,0xBA,0x85), + o3(0xE8,0xB1,0xAB), o3(0xE4,0xBA,0x8A), + o3(0xE8,0x88,0x92), o3(0xE5,0xBC,0x8D), + o3(0xE4,0xBA,0x8E), o3(0xE4,0xBA,0x9E), + o3(0xE4,0xBA,0x9F), o3(0xE4,0xBA,0xA0), + o3(0xE4,0xBA,0xA2), o3(0xE4,0xBA,0xB0), + o3(0xE4,0xBA,0xB3), o3(0xE4,0xBA,0xB6), + o3(0xE4,0xBB,0x8E), o3(0xE4,0xBB,0x8D), + o3(0xE4,0xBB,0x84), o3(0xE4,0xBB,0x86), + o3(0xE4,0xBB,0x82), o3(0xE4,0xBB,0x97), + o3(0xE4,0xBB,0x9E), o3(0xE4,0xBB,0xAD), + o3(0xE4,0xBB,0x9F), o3(0xE4,0xBB,0xB7), + o3(0xE4,0xBC,0x89), o3(0xE4,0xBD,0x9A), + o3(0xE4,0xBC,0xB0), o3(0xE4,0xBD,0x9B), + o3(0xE4,0xBD,0x9D), o3(0xE4,0xBD,0x97), + o3(0xE4,0xBD,0x87), o3(0xE4,0xBD,0xB6), + o3(0xE4,0xBE,0x88), o3(0xE4,0xBE,0x8F), + o3(0xE4,0xBE,0x98), o3(0xE4,0xBD,0xBB), + o3(0xE4,0xBD,0xA9), o3(0xE4,0xBD,0xB0), + o3(0xE4,0xBE,0x91), o3(0xE4,0xBD,0xAF), + o3(0xE4,0xBE,0x86), o3(0xE4,0xBE,0x96), + o3(0xE5,0x84,0x98), o3(0xE4,0xBF,0x94), + o3(0xE4,0xBF,0x9F), o3(0xE4,0xBF,0x8E), + o3(0xE4,0xBF,0x98), o3(0xE4,0xBF,0x9B), + o3(0xE4,0xBF,0x91), o3(0xE4,0xBF,0x9A), + o3(0xE4,0xBF,0x90), o3(0xE4,0xBF,0xA4), + o3(0xE4,0xBF,0xA5), o3(0xE5,0x80,0x9A), + o3(0xE5,0x80,0xA8), o3(0xE5,0x80,0x94), + o3(0xE5,0x80,0xAA), o3(0xE5,0x80,0xA5), + o3(0xE5,0x80,0x85), o3(0xE4,0xBC,0x9C), + o3(0xE4,0xBF,0xB6), o3(0xE5,0x80,0xA1), + o3(0xE5,0x80,0xA9), o3(0xE5,0x80,0xAC), + o3(0xE4,0xBF,0xBE), o3(0xE4,0xBF,0xAF), + o3(0xE5,0x80,0x91), o3(0xE5,0x80,0x86), + o3(0xE5,0x81,0x83), o3(0xE5,0x81,0x87), + o3(0xE6,0x9C,0x83), o3(0xE5,0x81,0x95), + o3(0xE5,0x81,0x90), o3(0xE5,0x81,0x88), + o3(0xE5,0x81,0x9A), o3(0xE5,0x81,0x96), + o3(0xE5,0x81,0xAC), o3(0xE5,0x81,0xB8), + o3(0xE5,0x82,0x80), o3(0xE5,0x82,0x9A), + o3(0xE5,0x82,0x85), o3(0xE5,0x82,0xB4), + o3(0xE5,0x82,0xB2), UNDEF, +}; +static const BYTE_LOOKUP +from_SHIFT_JIS_98 = { + from_SHIFT_JIS_98_offsets, + from_SHIFT_JIS_98_infos +}; + +static const struct byte_lookup* const +from_SHIFT_JIS_99_infos[189] = { + o3(0xE5,0x83,0x89), o3(0xE5,0x83,0x8A), + o3(0xE5,0x82,0xB3), o3(0xE5,0x83,0x82), + o3(0xE5,0x83,0x96), o3(0xE5,0x83,0x9E), + o3(0xE5,0x83,0xA5), o3(0xE5,0x83,0xAD), + o3(0xE5,0x83,0xA3), o3(0xE5,0x83,0xAE), + o3(0xE5,0x83,0xB9), o3(0xE5,0x83,0xB5), + o3(0xE5,0x84,0x89), o3(0xE5,0x84,0x81), + o3(0xE5,0x84,0x82), o3(0xE5,0x84,0x96), + o3(0xE5,0x84,0x95), o3(0xE5,0x84,0x94), + o3(0xE5,0x84,0x9A), o3(0xE5,0x84,0xA1), + o3(0xE5,0x84,0xBA), o3(0xE5,0x84,0xB7), + o3(0xE5,0x84,0xBC), o3(0xE5,0x84,0xBB), + o3(0xE5,0x84,0xBF), o3(0xE5,0x85,0x80), + o3(0xE5,0x85,0x92), o3(0xE5,0x85,0x8C), + o3(0xE5,0x85,0x94), o3(0xE5,0x85,0xA2), + o3(0xE7,0xAB,0xB8), o3(0xE5,0x85,0xA9), + o3(0xE5,0x85,0xAA), o3(0xE5,0x85,0xAE), + o3(0xE5,0x86,0x80), o3(0xE5,0x86,0x82), + o3(0xE5,0x9B,0x98), o3(0xE5,0x86,0x8C), + o3(0xE5,0x86,0x89), o3(0xE5,0x86,0x8F), + o3(0xE5,0x86,0x91), o3(0xE5,0x86,0x93), + o3(0xE5,0x86,0x95), o3(0xE5,0x86,0x96), + o3(0xE5,0x86,0xA4), o3(0xE5,0x86,0xA6), + o3(0xE5,0x86,0xA2), o3(0xE5,0x86,0xA9), + o3(0xE5,0x86,0xAA), o3(0xE5,0x86,0xAB), + o3(0xE5,0x86,0xB3), o3(0xE5,0x86,0xB1), + o3(0xE5,0x86,0xB2), o3(0xE5,0x86,0xB0), + o3(0xE5,0x86,0xB5), o3(0xE5,0x86,0xBD), + o3(0xE5,0x87,0x85), o3(0xE5,0x87,0x89), + o3(0xE5,0x87,0x9B), o3(0xE5,0x87,0xA0), + o3(0xE8,0x99,0x95), o3(0xE5,0x87,0xA9), + o3(0xE5,0x87,0xAD), o3(0xE5,0x87,0xB0), + o3(0xE5,0x87,0xB5), o3(0xE5,0x87,0xBE), + o3(0xE5,0x88,0x84), o3(0xE5,0x88,0x8B), + o3(0xE5,0x88,0x94), o3(0xE5,0x88,0x8E), + o3(0xE5,0x88,0xA7), o3(0xE5,0x88,0xAA), + o3(0xE5,0x88,0xAE), o3(0xE5,0x88,0xB3), + o3(0xE5,0x88,0xB9), o3(0xE5,0x89,0x8F), + o3(0xE5,0x89,0x84), o3(0xE5,0x89,0x8B), + o3(0xE5,0x89,0x8C), o3(0xE5,0x89,0x9E), + o3(0xE5,0x89,0x94), o3(0xE5,0x89,0xAA), + o3(0xE5,0x89,0xB4), o3(0xE5,0x89,0xA9), + o3(0xE5,0x89,0xB3), o3(0xE5,0x89,0xBF), + o3(0xE5,0x89,0xBD), o3(0xE5,0x8A,0x8D), + o3(0xE5,0x8A,0x94), o3(0xE5,0x8A,0x92), + o3(0xE5,0x89,0xB1), o3(0xE5,0x8A,0x88), + o3(0xE5,0x8A,0x91), o3(0xE8,0xBE,0xA8), + o3(0xE8,0xBE,0xA7), o3(0xE5,0x8A,0xAC), + o3(0xE5,0x8A,0xAD), o3(0xE5,0x8A,0xBC), + o3(0xE5,0x8A,0xB5), o3(0xE5,0x8B,0x81), + o3(0xE5,0x8B,0x8D), o3(0xE5,0x8B,0x97), + o3(0xE5,0x8B,0x9E), o3(0xE5,0x8B,0xA3), + o3(0xE5,0x8B,0xA6), o3(0xE9,0xA3,0xAD), + o3(0xE5,0x8B,0xA0), o3(0xE5,0x8B,0xB3), + o3(0xE5,0x8B,0xB5), o3(0xE5,0x8B,0xB8), + o3(0xE5,0x8B,0xB9), o3(0xE5,0x8C,0x86), + o3(0xE5,0x8C,0x88), o3(0xE7,0x94,0xB8), + o3(0xE5,0x8C,0x8D), o3(0xE5,0x8C,0x90), + o3(0xE5,0x8C,0x8F), o3(0xE5,0x8C,0x95), + o3(0xE5,0x8C,0x9A), o3(0xE5,0x8C,0xA3), + o3(0xE5,0x8C,0xAF), o3(0xE5,0x8C,0xB1), + o3(0xE5,0x8C,0xB3), o3(0xE5,0x8C,0xB8), + o3(0xE5,0x8D,0x80), o3(0xE5,0x8D,0x86), + o3(0xE5,0x8D,0x85), o3(0xE4,0xB8,0x97), + o3(0xE5,0x8D,0x89), o3(0xE5,0x8D,0x8D), + o3(0xE5,0x87,0x96), o3(0xE5,0x8D,0x9E), + o3(0xE5,0x8D,0xA9), o3(0xE5,0x8D,0xAE), + o3(0xE5,0xA4,0x98), o3(0xE5,0x8D,0xBB), + o3(0xE5,0x8D,0xB7), o3(0xE5,0x8E,0x82), + o3(0xE5,0x8E,0x96), o3(0xE5,0x8E,0xA0), + o3(0xE5,0x8E,0xA6), o3(0xE5,0x8E,0xA5), + o3(0xE5,0x8E,0xAE), o3(0xE5,0x8E,0xB0), + o3(0xE5,0x8E,0xB6), o3(0xE5,0x8F,0x83), + o3(0xE7,0xB0,0x92), o3(0xE9,0x9B,0x99), + o3(0xE5,0x8F,0x9F), o3(0xE6,0x9B,0xBC), + o3(0xE7,0x87,0xAE), o3(0xE5,0x8F,0xAE), + o3(0xE5,0x8F,0xA8), o3(0xE5,0x8F,0xAD), + o3(0xE5,0x8F,0xBA), o3(0xE5,0x90,0x81), + o3(0xE5,0x90,0xBD), o3(0xE5,0x91,0x80), + o3(0xE5,0x90,0xAC), o3(0xE5,0x90,0xAD), + o3(0xE5,0x90,0xBC), o3(0xE5,0x90,0xAE), + o3(0xE5,0x90,0xB6), o3(0xE5,0x90,0xA9), + o3(0xE5,0x90,0x9D), o3(0xE5,0x91,0x8E), + o3(0xE5,0x92,0x8F), o3(0xE5,0x91,0xB5), + o3(0xE5,0x92,0x8E), o3(0xE5,0x91,0x9F), + o3(0xE5,0x91,0xB1), o3(0xE5,0x91,0xB7), + o3(0xE5,0x91,0xB0), o3(0xE5,0x92,0x92), + o3(0xE5,0x91,0xBB), o3(0xE5,0x92,0x80), + o3(0xE5,0x91,0xB6), o3(0xE5,0x92,0x84), + o3(0xE5,0x92,0x90), o3(0xE5,0x92,0x86), + o3(0xE5,0x93,0x87), o3(0xE5,0x92,0xA2), + o3(0xE5,0x92,0xB8), o3(0xE5,0x92,0xA5), + o3(0xE5,0x92,0xAC), o3(0xE5,0x93,0x84), + o3(0xE5,0x93,0x88), o3(0xE5,0x92,0xA8), + UNDEF, +}; +static const BYTE_LOOKUP +from_SHIFT_JIS_99 = { + from_SHIFT_JIS_89_offsets, + from_SHIFT_JIS_99_infos +}; + +static const struct byte_lookup* const +from_SHIFT_JIS_9A_infos[189] = { + o3(0xE5,0x92,0xAB), o3(0xE5,0x93,0x82), + o3(0xE5,0x92,0xA4), o3(0xE5,0x92,0xBE), + o3(0xE5,0x92,0xBC), o3(0xE5,0x93,0x98), + o3(0xE5,0x93,0xA5), o3(0xE5,0x93,0xA6), + o3(0xE5,0x94,0x8F), o3(0xE5,0x94,0x94), + o3(0xE5,0x93,0xBD), o3(0xE5,0x93,0xAE), + o3(0xE5,0x93,0xAD), o3(0xE5,0x93,0xBA), + o3(0xE5,0x93,0xA2), o3(0xE5,0x94,0xB9), + o3(0xE5,0x95,0x80), o3(0xE5,0x95,0xA3), + o3(0xE5,0x95,0x8C), o3(0xE5,0x94,0xAE), + o3(0xE5,0x95,0x9C), o3(0xE5,0x95,0x85), + o3(0xE5,0x95,0x96), o3(0xE5,0x95,0x97), + o3(0xE5,0x94,0xB8), o3(0xE5,0x94,0xB3), + o3(0xE5,0x95,0x9D), o3(0xE5,0x96,0x99), + o3(0xE5,0x96,0x80), o3(0xE5,0x92,0xAF), + o3(0xE5,0x96,0x8A), o3(0xE5,0x96,0x9F), + o3(0xE5,0x95,0xBB), o3(0xE5,0x95,0xBE), + o3(0xE5,0x96,0x98), o3(0xE5,0x96,0x9E), + o3(0xE5,0x96,0xAE), o3(0xE5,0x95,0xBC), + o3(0xE5,0x96,0x83), o3(0xE5,0x96,0xA9), + o3(0xE5,0x96,0x87), o3(0xE5,0x96,0xA8), + o3(0xE5,0x97,0x9A), o3(0xE5,0x97,0x85), + o3(0xE5,0x97,0x9F), o3(0xE5,0x97,0x84), + o3(0xE5,0x97,0x9C), o3(0xE5,0x97,0xA4), + o3(0xE5,0x97,0x94), o3(0xE5,0x98,0x94), + o3(0xE5,0x97,0xB7), o3(0xE5,0x98,0x96), + o3(0xE5,0x97,0xBE), o3(0xE5,0x97,0xBD), + o3(0xE5,0x98,0x9B), o3(0xE5,0x97,0xB9), + o3(0xE5,0x99,0x8E), o3(0xE5,0x99,0x90), + o3(0xE7,0x87,0x9F), o3(0xE5,0x98,0xB4), + o3(0xE5,0x98,0xB6), o3(0xE5,0x98,0xB2), + o3(0xE5,0x98,0xB8), o3(0xE5,0x99,0xAB), + o3(0xE5,0x99,0xA4), o3(0xE5,0x98,0xAF), + o3(0xE5,0x99,0xAC), o3(0xE5,0x99,0xAA), + o3(0xE5,0x9A,0x86), o3(0xE5,0x9A,0x80), + o3(0xE5,0x9A,0x8A), o3(0xE5,0x9A,0xA0), + o3(0xE5,0x9A,0x94), o3(0xE5,0x9A,0x8F), + o3(0xE5,0x9A,0xA5), o3(0xE5,0x9A,0xAE), + o3(0xE5,0x9A,0xB6), o3(0xE5,0x9A,0xB4), + o3(0xE5,0x9B,0x82), o3(0xE5,0x9A,0xBC), + o3(0xE5,0x9B,0x81), o3(0xE5,0x9B,0x83), + o3(0xE5,0x9B,0x80), o3(0xE5,0x9B,0x88), + o3(0xE5,0x9B,0x8E), o3(0xE5,0x9B,0x91), + o3(0xE5,0x9B,0x93), o3(0xE5,0x9B,0x97), + o3(0xE5,0x9B,0xAE), o3(0xE5,0x9B,0xB9), + o3(0xE5,0x9C,0x80), o3(0xE5,0x9B,0xBF), + o3(0xE5,0x9C,0x84), o3(0xE5,0x9C,0x89), + o3(0xE5,0x9C,0x88), o3(0xE5,0x9C,0x8B), + o3(0xE5,0x9C,0x8D), o3(0xE5,0x9C,0x93), + o3(0xE5,0x9C,0x98), o3(0xE5,0x9C,0x96), + o3(0xE5,0x97,0x87), o3(0xE5,0x9C,0x9C), + o3(0xE5,0x9C,0xA6), o3(0xE5,0x9C,0xB7), + o3(0xE5,0x9C,0xB8), o3(0xE5,0x9D,0x8E), + o3(0xE5,0x9C,0xBB), o3(0xE5,0x9D,0x80), + o3(0xE5,0x9D,0x8F), o3(0xE5,0x9D,0xA9), + o3(0xE5,0x9F,0x80), o3(0xE5,0x9E,0x88), + o3(0xE5,0x9D,0xA1), o3(0xE5,0x9D,0xBF), + o3(0xE5,0x9E,0x89), o3(0xE5,0x9E,0x93), + o3(0xE5,0x9E,0xA0), o3(0xE5,0x9E,0xB3), + o3(0xE5,0x9E,0xA4), o3(0xE5,0x9E,0xAA), + o3(0xE5,0x9E,0xB0), o3(0xE5,0x9F,0x83), + o3(0xE5,0x9F,0x86), o3(0xE5,0x9F,0x94), + o3(0xE5,0x9F,0x92), o3(0xE5,0x9F,0x93), + o3(0xE5,0xA0,0x8A), o3(0xE5,0x9F,0x96), + o3(0xE5,0x9F,0xA3), o3(0xE5,0xA0,0x8B), + o3(0xE5,0xA0,0x99), o3(0xE5,0xA0,0x9D), + o3(0xE5,0xA1,0xB2), o3(0xE5,0xA0,0xA1), + o3(0xE5,0xA1,0xA2), o3(0xE5,0xA1,0x8B), + o3(0xE5,0xA1,0xB0), o3(0xE6,0xAF,0x80), + o3(0xE5,0xA1,0x92), o3(0xE5,0xA0,0xBD), + o3(0xE5,0xA1,0xB9), o3(0xE5,0xA2,0x85), + o3(0xE5,0xA2,0xB9), o3(0xE5,0xA2,0x9F), + o3(0xE5,0xA2,0xAB), o3(0xE5,0xA2,0xBA), + o3(0xE5,0xA3,0x9E), o3(0xE5,0xA2,0xBB), + o3(0xE5,0xA2,0xB8), o3(0xE5,0xA2,0xAE), + o3(0xE5,0xA3,0x85), o3(0xE5,0xA3,0x93), + o3(0xE5,0xA3,0x91), o3(0xE5,0xA3,0x97), + o3(0xE5,0xA3,0x99), o3(0xE5,0xA3,0x98), + o3(0xE5,0xA3,0xA5), o3(0xE5,0xA3,0x9C), + o3(0xE5,0xA3,0xA4), o3(0xE5,0xA3,0x9F), + o3(0xE5,0xA3,0xAF), o3(0xE5,0xA3,0xBA), + o3(0xE5,0xA3,0xB9), o3(0xE5,0xA3,0xBB), + o3(0xE5,0xA3,0xBC), o3(0xE5,0xA3,0xBD), + o3(0xE5,0xA4,0x82), o3(0xE5,0xA4,0x8A), + o3(0xE5,0xA4,0x90), o3(0xE5,0xA4,0x9B), + o3(0xE6,0xA2,0xA6), o3(0xE5,0xA4,0xA5), + o3(0xE5,0xA4,0xAC), o3(0xE5,0xA4,0xAD), + o3(0xE5,0xA4,0xB2), o3(0xE5,0xA4,0xB8), + o3(0xE5,0xA4,0xBE), o3(0xE7,0xAB,0x92), + o3(0xE5,0xA5,0x95), o3(0xE5,0xA5,0x90), + o3(0xE5,0xA5,0x8E), o3(0xE5,0xA5,0x9A), + o3(0xE5,0xA5,0x98), o3(0xE5,0xA5,0xA2), + o3(0xE5,0xA5,0xA0), o3(0xE5,0xA5,0xA7), + o3(0xE5,0xA5,0xAC), o3(0xE5,0xA5,0xA9), + UNDEF, +}; +static const BYTE_LOOKUP +from_SHIFT_JIS_9A = { + from_SHIFT_JIS_89_offsets, + from_SHIFT_JIS_9A_infos +}; + +static const struct byte_lookup* const +from_SHIFT_JIS_9B_infos[189] = { + o3(0xE5,0xA5,0xB8), o3(0xE5,0xA6,0x81), + o3(0xE5,0xA6,0x9D), o3(0xE4,0xBD,0x9E), + o3(0xE4,0xBE,0xAB), o3(0xE5,0xA6,0xA3), + o3(0xE5,0xA6,0xB2), o3(0xE5,0xA7,0x86), + o3(0xE5,0xA7,0xA8), o3(0xE5,0xA7,0x9C), + o3(0xE5,0xA6,0x8D), o3(0xE5,0xA7,0x99), + o3(0xE5,0xA7,0x9A), o3(0xE5,0xA8,0xA5), + o3(0xE5,0xA8,0x9F), o3(0xE5,0xA8,0x91), + o3(0xE5,0xA8,0x9C), o3(0xE5,0xA8,0x89), + o3(0xE5,0xA8,0x9A), o3(0xE5,0xA9,0x80), + o3(0xE5,0xA9,0xAC), o3(0xE5,0xA9,0x89), + o3(0xE5,0xA8,0xB5), o3(0xE5,0xA8,0xB6), + o3(0xE5,0xA9,0xA2), o3(0xE5,0xA9,0xAA), + o3(0xE5,0xAA,0x9A), o3(0xE5,0xAA,0xBC), + o3(0xE5,0xAA,0xBE), o3(0xE5,0xAB,0x8B), + o3(0xE5,0xAB,0x82), o3(0xE5,0xAA,0xBD), + o3(0xE5,0xAB,0xA3), o3(0xE5,0xAB,0x97), + o3(0xE5,0xAB,0xA6), o3(0xE5,0xAB,0xA9), + o3(0xE5,0xAB,0x96), o3(0xE5,0xAB,0xBA), + o3(0xE5,0xAB,0xBB), o3(0xE5,0xAC,0x8C), + o3(0xE5,0xAC,0x8B), o3(0xE5,0xAC,0x96), + o3(0xE5,0xAC,0xB2), o3(0xE5,0xAB,0x90), + o3(0xE5,0xAC,0xAA), o3(0xE5,0xAC,0xB6), + o3(0xE5,0xAC,0xBE), o3(0xE5,0xAD,0x83), + o3(0xE5,0xAD,0x85), o3(0xE5,0xAD,0x80), + o3(0xE5,0xAD,0x91), o3(0xE5,0xAD,0x95), + o3(0xE5,0xAD,0x9A), o3(0xE5,0xAD,0x9B), + o3(0xE5,0xAD,0xA5), o3(0xE5,0xAD,0xA9), + o3(0xE5,0xAD,0xB0), o3(0xE5,0xAD,0xB3), + o3(0xE5,0xAD,0xB5), o3(0xE5,0xAD,0xB8), + o3(0xE6,0x96,0x88), o3(0xE5,0xAD,0xBA), + o3(0xE5,0xAE,0x80), o3(0xE5,0xAE,0x83), + o3(0xE5,0xAE,0xA6), o3(0xE5,0xAE,0xB8), + o3(0xE5,0xAF,0x83), o3(0xE5,0xAF,0x87), + o3(0xE5,0xAF,0x89), o3(0xE5,0xAF,0x94), + o3(0xE5,0xAF,0x90), o3(0xE5,0xAF,0xA4), + o3(0xE5,0xAF,0xA6), o3(0xE5,0xAF,0xA2), + o3(0xE5,0xAF,0x9E), o3(0xE5,0xAF,0xA5), + o3(0xE5,0xAF,0xAB), o3(0xE5,0xAF,0xB0), + o3(0xE5,0xAF,0xB6), o3(0xE5,0xAF,0xB3), + o3(0xE5,0xB0,0x85), o3(0xE5,0xB0,0x87), + o3(0xE5,0xB0,0x88), o3(0xE5,0xB0,0x8D), + o3(0xE5,0xB0,0x93), o3(0xE5,0xB0,0xA0), + o3(0xE5,0xB0,0xA2), o3(0xE5,0xB0,0xA8), + o3(0xE5,0xB0,0xB8), o3(0xE5,0xB0,0xB9), + o3(0xE5,0xB1,0x81), o3(0xE5,0xB1,0x86), + o3(0xE5,0xB1,0x8E), o3(0xE5,0xB1,0x93), + o3(0xE5,0xB1,0x90), o3(0xE5,0xB1,0x8F), + o3(0xE5,0xAD,0xB1), o3(0xE5,0xB1,0xAC), + o3(0xE5,0xB1,0xAE), o3(0xE4,0xB9,0xA2), + o3(0xE5,0xB1,0xB6), o3(0xE5,0xB1,0xB9), + o3(0xE5,0xB2,0x8C), o3(0xE5,0xB2,0x91), + o3(0xE5,0xB2,0x94), o3(0xE5,0xA6,0x9B), + o3(0xE5,0xB2,0xAB), o3(0xE5,0xB2,0xBB), + o3(0xE5,0xB2,0xB6), o3(0xE5,0xB2,0xBC), + o3(0xE5,0xB2,0xB7), o3(0xE5,0xB3,0x85), + o3(0xE5,0xB2,0xBE), o3(0xE5,0xB3,0x87), + o3(0xE5,0xB3,0x99), o3(0xE5,0xB3,0xA9), + o3(0xE5,0xB3,0xBD), o3(0xE5,0xB3,0xBA), + o3(0xE5,0xB3,0xAD), o3(0xE5,0xB6,0x8C), + o3(0xE5,0xB3,0xAA), o3(0xE5,0xB4,0x8B), + o3(0xE5,0xB4,0x95), o3(0xE5,0xB4,0x97), + o3(0xE5,0xB5,0x9C), o3(0xE5,0xB4,0x9F), + o3(0xE5,0xB4,0x9B), o3(0xE5,0xB4,0x91), + o3(0xE5,0xB4,0x94), o3(0xE5,0xB4,0xA2), + o3(0xE5,0xB4,0x9A), o3(0xE5,0xB4,0x99), + o3(0xE5,0xB4,0x98), o3(0xE5,0xB5,0x8C), + o3(0xE5,0xB5,0x92), o3(0xE5,0xB5,0x8E), + o3(0xE5,0xB5,0x8B), o3(0xE5,0xB5,0xAC), + o3(0xE5,0xB5,0xB3), o3(0xE5,0xB5,0xB6), + o3(0xE5,0xB6,0x87), o3(0xE5,0xB6,0x84), + o3(0xE5,0xB6,0x82), o3(0xE5,0xB6,0xA2), + o3(0xE5,0xB6,0x9D), o3(0xE5,0xB6,0xAC), + o3(0xE5,0xB6,0xAE), o3(0xE5,0xB6,0xBD), + o3(0xE5,0xB6,0x90), o3(0xE5,0xB6,0xB7), + o3(0xE5,0xB6,0xBC), o3(0xE5,0xB7,0x89), + o3(0xE5,0xB7,0x8D), o3(0xE5,0xB7,0x93), + o3(0xE5,0xB7,0x92), o3(0xE5,0xB7,0x96), + o3(0xE5,0xB7,0x9B), o3(0xE5,0xB7,0xAB), + o3(0xE5,0xB7,0xB2), o3(0xE5,0xB7,0xB5), + o3(0xE5,0xB8,0x8B), o3(0xE5,0xB8,0x9A), + o3(0xE5,0xB8,0x99), o3(0xE5,0xB8,0x91), + o3(0xE5,0xB8,0x9B), o3(0xE5,0xB8,0xB6), + o3(0xE5,0xB8,0xB7), o3(0xE5,0xB9,0x84), + o3(0xE5,0xB9,0x83), o3(0xE5,0xB9,0x80), + o3(0xE5,0xB9,0x8E), o3(0xE5,0xB9,0x97), + o3(0xE5,0xB9,0x94), o3(0xE5,0xB9,0x9F), + o3(0xE5,0xB9,0xA2), o3(0xE5,0xB9,0xA4), + o3(0xE5,0xB9,0x87), o3(0xE5,0xB9,0xB5), + o3(0xE5,0xB9,0xB6), o3(0xE5,0xB9,0xBA), + o3(0xE9,0xBA,0xBC), o3(0xE5,0xB9,0xBF), + o3(0xE5,0xBA,0xA0), o3(0xE5,0xBB,0x81), + o3(0xE5,0xBB,0x82), o3(0xE5,0xBB,0x88), + o3(0xE5,0xBB,0x90), o3(0xE5,0xBB,0x8F), + UNDEF, +}; +static const BYTE_LOOKUP +from_SHIFT_JIS_9B = { + from_SHIFT_JIS_89_offsets, + from_SHIFT_JIS_9B_infos +}; + +static const struct byte_lookup* const +from_SHIFT_JIS_9C_infos[189] = { + o3(0xE5,0xBB,0x96), o3(0xE5,0xBB,0xA3), + o3(0xE5,0xBB,0x9D), o3(0xE5,0xBB,0x9A), + o3(0xE5,0xBB,0x9B), o3(0xE5,0xBB,0xA2), + o3(0xE5,0xBB,0xA1), o3(0xE5,0xBB,0xA8), + o3(0xE5,0xBB,0xA9), o3(0xE5,0xBB,0xAC), + o3(0xE5,0xBB,0xB1), o3(0xE5,0xBB,0xB3), + o3(0xE5,0xBB,0xB0), o3(0xE5,0xBB,0xB4), + o3(0xE5,0xBB,0xB8), o3(0xE5,0xBB,0xBE), + o3(0xE5,0xBC,0x83), o3(0xE5,0xBC,0x89), + o3(0xE5,0xBD,0x9D), o3(0xE5,0xBD,0x9C), + o3(0xE5,0xBC,0x8B), o3(0xE5,0xBC,0x91), + o3(0xE5,0xBC,0x96), o3(0xE5,0xBC,0xA9), + o3(0xE5,0xBC,0xAD), o3(0xE5,0xBC,0xB8), + o3(0xE5,0xBD,0x81), o3(0xE5,0xBD,0x88), + o3(0xE5,0xBD,0x8C), o3(0xE5,0xBD,0x8E), + o3(0xE5,0xBC,0xAF), o3(0xE5,0xBD,0x91), + o3(0xE5,0xBD,0x96), o3(0xE5,0xBD,0x97), + o3(0xE5,0xBD,0x99), o3(0xE5,0xBD,0xA1), + o3(0xE5,0xBD,0xAD), o3(0xE5,0xBD,0xB3), + o3(0xE5,0xBD,0xB7), o3(0xE5,0xBE,0x83), + o3(0xE5,0xBE,0x82), o3(0xE5,0xBD,0xBF), + o3(0xE5,0xBE,0x8A), o3(0xE5,0xBE,0x88), + o3(0xE5,0xBE,0x91), o3(0xE5,0xBE,0x87), + o3(0xE5,0xBE,0x9E), o3(0xE5,0xBE,0x99), + o3(0xE5,0xBE,0x98), o3(0xE5,0xBE,0xA0), + o3(0xE5,0xBE,0xA8), o3(0xE5,0xBE,0xAD), + o3(0xE5,0xBE,0xBC), o3(0xE5,0xBF,0x96), + o3(0xE5,0xBF,0xBB), o3(0xE5,0xBF,0xA4), + o3(0xE5,0xBF,0xB8), o3(0xE5,0xBF,0xB1), + o3(0xE5,0xBF,0x9D), o3(0xE6,0x82,0xB3), + o3(0xE5,0xBF,0xBF), o3(0xE6,0x80,0xA1), + o3(0xE6,0x81,0xA0), o3(0xE6,0x80,0x99), + o3(0xE6,0x80,0x90), o3(0xE6,0x80,0xA9), + o3(0xE6,0x80,0x8E), o3(0xE6,0x80,0xB1), + o3(0xE6,0x80,0x9B), o3(0xE6,0x80,0x95), + o3(0xE6,0x80,0xAB), o3(0xE6,0x80,0xA6), + o3(0xE6,0x80,0x8F), o3(0xE6,0x80,0xBA), + o3(0xE6,0x81,0x9A), o3(0xE6,0x81,0x81), + o3(0xE6,0x81,0xAA), o3(0xE6,0x81,0xB7), + o3(0xE6,0x81,0x9F), o3(0xE6,0x81,0x8A), + o3(0xE6,0x81,0x86), o3(0xE6,0x81,0x8D), + o3(0xE6,0x81,0xA3), o3(0xE6,0x81,0x83), + o3(0xE6,0x81,0xA4), o3(0xE6,0x81,0x82), + o3(0xE6,0x81,0xAC), o3(0xE6,0x81,0xAB), + o3(0xE6,0x81,0x99), o3(0xE6,0x82,0x81), + o3(0xE6,0x82,0x8D), o3(0xE6,0x83,0xA7), + o3(0xE6,0x82,0x83), o3(0xE6,0x82,0x9A), + o3(0xE6,0x82,0x84), o3(0xE6,0x82,0x9B), + o3(0xE6,0x82,0x96), o3(0xE6,0x82,0x97), + o3(0xE6,0x82,0x92), o3(0xE6,0x82,0xA7), + o3(0xE6,0x82,0x8B), o3(0xE6,0x83,0xA1), + o3(0xE6,0x82,0xB8), o3(0xE6,0x83,0xA0), + o3(0xE6,0x83,0x93), o3(0xE6,0x82,0xB4), + o3(0xE5,0xBF,0xB0), o3(0xE6,0x82,0xBD), + o3(0xE6,0x83,0x86), o3(0xE6,0x82,0xB5), + o3(0xE6,0x83,0x98), o3(0xE6,0x85,0x8D), + o3(0xE6,0x84,0x95), o3(0xE6,0x84,0x86), + o3(0xE6,0x83,0xB6), o3(0xE6,0x83,0xB7), + o3(0xE6,0x84,0x80), o3(0xE6,0x83,0xB4), + o3(0xE6,0x83,0xBA), o3(0xE6,0x84,0x83), + o3(0xE6,0x84,0xA1), o3(0xE6,0x83,0xBB), + o3(0xE6,0x83,0xB1), o3(0xE6,0x84,0x8D), + o3(0xE6,0x84,0x8E), o3(0xE6,0x85,0x87), + o3(0xE6,0x84,0xBE), o3(0xE6,0x84,0xA8), + o3(0xE6,0x84,0xA7), o3(0xE6,0x85,0x8A), + o3(0xE6,0x84,0xBF), o3(0xE6,0x84,0xBC), + o3(0xE6,0x84,0xAC), o3(0xE6,0x84,0xB4), + o3(0xE6,0x84,0xBD), o3(0xE6,0x85,0x82), + o3(0xE6,0x85,0x84), o3(0xE6,0x85,0xB3), + o3(0xE6,0x85,0xB7), o3(0xE6,0x85,0x98), + o3(0xE6,0x85,0x99), o3(0xE6,0x85,0x9A), + o3(0xE6,0x85,0xAB), o3(0xE6,0x85,0xB4), + o3(0xE6,0x85,0xAF), o3(0xE6,0x85,0xA5), + o3(0xE6,0x85,0xB1), o3(0xE6,0x85,0x9F), + o3(0xE6,0x85,0x9D), o3(0xE6,0x85,0x93), + o3(0xE6,0x85,0xB5), o3(0xE6,0x86,0x99), + o3(0xE6,0x86,0x96), o3(0xE6,0x86,0x87), + o3(0xE6,0x86,0xAC), o3(0xE6,0x86,0x94), + o3(0xE6,0x86,0x9A), o3(0xE6,0x86,0x8A), + o3(0xE6,0x86,0x91), o3(0xE6,0x86,0xAB), + o3(0xE6,0x86,0xAE), o3(0xE6,0x87,0x8C), + o3(0xE6,0x87,0x8A), o3(0xE6,0x87,0x89), + o3(0xE6,0x87,0xB7), o3(0xE6,0x87,0x88), + o3(0xE6,0x87,0x83), o3(0xE6,0x87,0x86), + o3(0xE6,0x86,0xBA), o3(0xE6,0x87,0x8B), + o3(0xE7,0xBD,0xB9), o3(0xE6,0x87,0x8D), + o3(0xE6,0x87,0xA6), o3(0xE6,0x87,0xA3), + o3(0xE6,0x87,0xB6), o3(0xE6,0x87,0xBA), + o3(0xE6,0x87,0xB4), o3(0xE6,0x87,0xBF), + o3(0xE6,0x87,0xBD), o3(0xE6,0x87,0xBC), + o3(0xE6,0x87,0xBE), o3(0xE6,0x88,0x80), + o3(0xE6,0x88,0x88), o3(0xE6,0x88,0x89), + o3(0xE6,0x88,0x8D), o3(0xE6,0x88,0x8C), + o3(0xE6,0x88,0x94), o3(0xE6,0x88,0x9B), + UNDEF, +}; +static const BYTE_LOOKUP +from_SHIFT_JIS_9C = { + from_SHIFT_JIS_89_offsets, + from_SHIFT_JIS_9C_infos +}; + +static const struct byte_lookup* const +from_SHIFT_JIS_9D_infos[189] = { + o3(0xE6,0x88,0x9E), o3(0xE6,0x88,0xA1), + o3(0xE6,0x88,0xAA), o3(0xE6,0x88,0xAE), + o3(0xE6,0x88,0xB0), o3(0xE6,0x88,0xB2), + o3(0xE6,0x88,0xB3), o3(0xE6,0x89,0x81), + o3(0xE6,0x89,0x8E), o3(0xE6,0x89,0x9E), + o3(0xE6,0x89,0xA3), o3(0xE6,0x89,0x9B), + o3(0xE6,0x89,0xA0), o3(0xE6,0x89,0xA8), + o3(0xE6,0x89,0xBC), o3(0xE6,0x8A,0x82), + o3(0xE6,0x8A,0x89), o3(0xE6,0x89,0xBE), + o3(0xE6,0x8A,0x92), o3(0xE6,0x8A,0x93), + o3(0xE6,0x8A,0x96), o3(0xE6,0x8B,0x94), + o3(0xE6,0x8A,0x83), o3(0xE6,0x8A,0x94), + o3(0xE6,0x8B,0x97), o3(0xE6,0x8B,0x91), + o3(0xE6,0x8A,0xBB), o3(0xE6,0x8B,0x8F), + o3(0xE6,0x8B,0xBF), o3(0xE6,0x8B,0x86), + o3(0xE6,0x93,0x94), o3(0xE6,0x8B,0x88), + o3(0xE6,0x8B,0x9C), o3(0xE6,0x8B,0x8C), + o3(0xE6,0x8B,0x8A), o3(0xE6,0x8B,0x82), + o3(0xE6,0x8B,0x87), o3(0xE6,0x8A,0x9B), + o3(0xE6,0x8B,0x89), o3(0xE6,0x8C,0x8C), + o3(0xE6,0x8B,0xAE), o3(0xE6,0x8B,0xB1), + o3(0xE6,0x8C,0xA7), o3(0xE6,0x8C,0x82), + o3(0xE6,0x8C,0x88), o3(0xE6,0x8B,0xAF), + o3(0xE6,0x8B,0xB5), o3(0xE6,0x8D,0x90), + o3(0xE6,0x8C,0xBE), o3(0xE6,0x8D,0x8D), + o3(0xE6,0x90,0x9C), o3(0xE6,0x8D,0x8F), + o3(0xE6,0x8E,0x96), o3(0xE6,0x8E,0x8E), + o3(0xE6,0x8E,0x80), o3(0xE6,0x8E,0xAB), + o3(0xE6,0x8D,0xB6), o3(0xE6,0x8E,0xA3), + o3(0xE6,0x8E,0x8F), o3(0xE6,0x8E,0x89), + o3(0xE6,0x8E,0x9F), o3(0xE6,0x8E,0xB5), + o3(0xE6,0x8D,0xAB), o3(0xE6,0x8D,0xA9), + o3(0xE6,0x8E,0xBE), o3(0xE6,0x8F,0xA9), + o3(0xE6,0x8F,0x80), o3(0xE6,0x8F,0x86), + o3(0xE6,0x8F,0xA3), o3(0xE6,0x8F,0x89), + o3(0xE6,0x8F,0x92), o3(0xE6,0x8F,0xB6), + o3(0xE6,0x8F,0x84), o3(0xE6,0x90,0x96), + o3(0xE6,0x90,0xB4), o3(0xE6,0x90,0x86), + o3(0xE6,0x90,0x93), o3(0xE6,0x90,0xA6), + o3(0xE6,0x90,0xB6), o3(0xE6,0x94,0x9D), + o3(0xE6,0x90,0x97), o3(0xE6,0x90,0xA8), + o3(0xE6,0x90,0x8F), o3(0xE6,0x91,0xA7), + o3(0xE6,0x91,0xAF), o3(0xE6,0x91,0xB6), + o3(0xE6,0x91,0x8E), o3(0xE6,0x94,0xAA), + o3(0xE6,0x92,0x95), o3(0xE6,0x92,0x93), + o3(0xE6,0x92,0xA5), o3(0xE6,0x92,0xA9), + o3(0xE6,0x92,0x88), o3(0xE6,0x92,0xBC), + o3(0xE6,0x93,0x9A), o3(0xE6,0x93,0x92), + o3(0xE6,0x93,0x85), o3(0xE6,0x93,0x87), + o3(0xE6,0x92,0xBB), o3(0xE6,0x93,0x98), + o3(0xE6,0x93,0x82), o3(0xE6,0x93,0xB1), + o3(0xE6,0x93,0xA7), o3(0xE8,0x88,0x89), + o3(0xE6,0x93,0xA0), o3(0xE6,0x93,0xA1), + o3(0xE6,0x8A,0xAC), o3(0xE6,0x93,0xA3), + o3(0xE6,0x93,0xAF), o3(0xE6,0x94,0xAC), + o3(0xE6,0x93,0xB6), o3(0xE6,0x93,0xB4), + o3(0xE6,0x93,0xB2), o3(0xE6,0x93,0xBA), + o3(0xE6,0x94,0x80), o3(0xE6,0x93,0xBD), + o3(0xE6,0x94,0x98), o3(0xE6,0x94,0x9C), + o3(0xE6,0x94,0x85), o3(0xE6,0x94,0xA4), + o3(0xE6,0x94,0xA3), o3(0xE6,0x94,0xAB), + o3(0xE6,0x94,0xB4), o3(0xE6,0x94,0xB5), + o3(0xE6,0x94,0xB7), o3(0xE6,0x94,0xB6), + o3(0xE6,0x94,0xB8), o3(0xE7,0x95,0x8B), + o3(0xE6,0x95,0x88), o3(0xE6,0x95,0x96), + o3(0xE6,0x95,0x95), o3(0xE6,0x95,0x8D), + o3(0xE6,0x95,0x98), o3(0xE6,0x95,0x9E), + o3(0xE6,0x95,0x9D), o3(0xE6,0x95,0xB2), + o3(0xE6,0x95,0xB8), o3(0xE6,0x96,0x82), + o3(0xE6,0x96,0x83), o3(0xE8,0xAE,0x8A), + o3(0xE6,0x96,0x9B), o3(0xE6,0x96,0x9F), + o3(0xE6,0x96,0xAB), o3(0xE6,0x96,0xB7), + o3(0xE6,0x97,0x83), o3(0xE6,0x97,0x86), + o3(0xE6,0x97,0x81), o3(0xE6,0x97,0x84), + o3(0xE6,0x97,0x8C), o3(0xE6,0x97,0x92), + o3(0xE6,0x97,0x9B), o3(0xE6,0x97,0x99), + o3(0xE6,0x97,0xA0), o3(0xE6,0x97,0xA1), + o3(0xE6,0x97,0xB1), o3(0xE6,0x9D,0xB2), + o3(0xE6,0x98,0x8A), o3(0xE6,0x98,0x83), + o3(0xE6,0x97,0xBB), o3(0xE6,0x9D,0xB3), + o3(0xE6,0x98,0xB5), o3(0xE6,0x98,0xB6), + o3(0xE6,0x98,0xB4), o3(0xE6,0x98,0x9C), + o3(0xE6,0x99,0x8F), o3(0xE6,0x99,0x84), + o3(0xE6,0x99,0x89), o3(0xE6,0x99,0x81), + o3(0xE6,0x99,0x9E), o3(0xE6,0x99,0x9D), + o3(0xE6,0x99,0xA4), o3(0xE6,0x99,0xA7), + o3(0xE6,0x99,0xA8), o3(0xE6,0x99,0x9F), + o3(0xE6,0x99,0xA2), o3(0xE6,0x99,0xB0), + o3(0xE6,0x9A,0x83), o3(0xE6,0x9A,0x88), + o3(0xE6,0x9A,0x8E), o3(0xE6,0x9A,0x89), + o3(0xE6,0x9A,0x84), o3(0xE6,0x9A,0x98), + o3(0xE6,0x9A,0x9D), o3(0xE6,0x9B,0x81), + o3(0xE6,0x9A,0xB9), o3(0xE6,0x9B,0x89), + o3(0xE6,0x9A,0xBE), o3(0xE6,0x9A,0xBC), + UNDEF, +}; +static const BYTE_LOOKUP +from_SHIFT_JIS_9D = { + from_SHIFT_JIS_89_offsets, + from_SHIFT_JIS_9D_infos +}; + +static const struct byte_lookup* const +from_SHIFT_JIS_9E_infos[189] = { + o3(0xE6,0x9B,0x84), o3(0xE6,0x9A,0xB8), + o3(0xE6,0x9B,0x96), o3(0xE6,0x9B,0x9A), + o3(0xE6,0x9B,0xA0), o3(0xE6,0x98,0xBF), + o3(0xE6,0x9B,0xA6), o3(0xE6,0x9B,0xA9), + o3(0xE6,0x9B,0xB0), o3(0xE6,0x9B,0xB5), + o3(0xE6,0x9B,0xB7), o3(0xE6,0x9C,0x8F), + o3(0xE6,0x9C,0x96), o3(0xE6,0x9C,0x9E), + o3(0xE6,0x9C,0xA6), o3(0xE6,0x9C,0xA7), + o3(0xE9,0x9C,0xB8), o3(0xE6,0x9C,0xAE), + o3(0xE6,0x9C,0xBF), o3(0xE6,0x9C,0xB6), + o3(0xE6,0x9D,0x81), o3(0xE6,0x9C,0xB8), + o3(0xE6,0x9C,0xB7), o3(0xE6,0x9D,0x86), + o3(0xE6,0x9D,0x9E), o3(0xE6,0x9D,0xA0), + o3(0xE6,0x9D,0x99), o3(0xE6,0x9D,0xA3), + o3(0xE6,0x9D,0xA4), o3(0xE6,0x9E,0x89), + o3(0xE6,0x9D,0xB0), o3(0xE6,0x9E,0xA9), + o3(0xE6,0x9D,0xBC), o3(0xE6,0x9D,0xAA), + o3(0xE6,0x9E,0x8C), o3(0xE6,0x9E,0x8B), + o3(0xE6,0x9E,0xA6), o3(0xE6,0x9E,0xA1), + o3(0xE6,0x9E,0x85), o3(0xE6,0x9E,0xB7), + o3(0xE6,0x9F,0xAF), o3(0xE6,0x9E,0xB4), + o3(0xE6,0x9F,0xAC), o3(0xE6,0x9E,0xB3), + o3(0xE6,0x9F,0xA9), o3(0xE6,0x9E,0xB8), + o3(0xE6,0x9F,0xA4), o3(0xE6,0x9F,0x9E), + o3(0xE6,0x9F,0x9D), o3(0xE6,0x9F,0xA2), + o3(0xE6,0x9F,0xAE), o3(0xE6,0x9E,0xB9), + o3(0xE6,0x9F,0x8E), o3(0xE6,0x9F,0x86), + o3(0xE6,0x9F,0xA7), o3(0xE6,0xAA,0x9C), + o3(0xE6,0xA0,0x9E), o3(0xE6,0xA1,0x86), + o3(0xE6,0xA0,0xA9), o3(0xE6,0xA1,0x80), + o3(0xE6,0xA1,0x8D), o3(0xE6,0xA0,0xB2), + o3(0xE6,0xA1,0x8E), o3(0xE6,0xA2,0xB3), + o3(0xE6,0xA0,0xAB), o3(0xE6,0xA1,0x99), + o3(0xE6,0xA1,0xA3), o3(0xE6,0xA1,0xB7), + o3(0xE6,0xA1,0xBF), o3(0xE6,0xA2,0x9F), + o3(0xE6,0xA2,0x8F), o3(0xE6,0xA2,0xAD), + o3(0xE6,0xA2,0x94), o3(0xE6,0xA2,0x9D), + o3(0xE6,0xA2,0x9B), o3(0xE6,0xA2,0x83), + o3(0xE6,0xAA,0xAE), o3(0xE6,0xA2,0xB9), + o3(0xE6,0xA1,0xB4), o3(0xE6,0xA2,0xB5), + o3(0xE6,0xA2,0xA0), o3(0xE6,0xA2,0xBA), + o3(0xE6,0xA4,0x8F), o3(0xE6,0xA2,0x8D), + o3(0xE6,0xA1,0xBE), o3(0xE6,0xA4,0x81), + o3(0xE6,0xA3,0x8A), o3(0xE6,0xA4,0x88), + o3(0xE6,0xA3,0x98), o3(0xE6,0xA4,0xA2), + o3(0xE6,0xA4,0xA6), o3(0xE6,0xA3,0xA1), + o3(0xE6,0xA4,0x8C), o3(0xE6,0xA3,0x8D), + o3(0xE6,0xA3,0x94), o3(0xE6,0xA3,0xA7), + o3(0xE6,0xA3,0x95), o3(0xE6,0xA4,0xB6), + o3(0xE6,0xA4,0x92), o3(0xE6,0xA4,0x84), + o3(0xE6,0xA3,0x97), o3(0xE6,0xA3,0xA3), + o3(0xE6,0xA4,0xA5), o3(0xE6,0xA3,0xB9), + o3(0xE6,0xA3,0xA0), o3(0xE6,0xA3,0xAF), + o3(0xE6,0xA4,0xA8), o3(0xE6,0xA4,0xAA), + o3(0xE6,0xA4,0x9A), o3(0xE6,0xA4,0xA3), + o3(0xE6,0xA4,0xA1), o3(0xE6,0xA3,0x86), + o3(0xE6,0xA5,0xB9), o3(0xE6,0xA5,0xB7), + o3(0xE6,0xA5,0x9C), o3(0xE6,0xA5,0xB8), + o3(0xE6,0xA5,0xAB), o3(0xE6,0xA5,0x94), + o3(0xE6,0xA5,0xBE), o3(0xE6,0xA5,0xAE), + o3(0xE6,0xA4,0xB9), o3(0xE6,0xA5,0xB4), + o3(0xE6,0xA4,0xBD), o3(0xE6,0xA5,0x99), + o3(0xE6,0xA4,0xB0), o3(0xE6,0xA5,0xA1), + o3(0xE6,0xA5,0x9E), o3(0xE6,0xA5,0x9D), + o3(0xE6,0xA6,0x81), o3(0xE6,0xA5,0xAA), + o3(0xE6,0xA6,0xB2), o3(0xE6,0xA6,0xAE), + o3(0xE6,0xA7,0x90), o3(0xE6,0xA6,0xBF), + o3(0xE6,0xA7,0x81), o3(0xE6,0xA7,0x93), + o3(0xE6,0xA6,0xBE), o3(0xE6,0xA7,0x8E), + o3(0xE5,0xAF,0xA8), o3(0xE6,0xA7,0x8A), + o3(0xE6,0xA7,0x9D), o3(0xE6,0xA6,0xBB), + o3(0xE6,0xA7,0x83), o3(0xE6,0xA6,0xA7), + o3(0xE6,0xA8,0xAE), o3(0xE6,0xA6,0x91), + o3(0xE6,0xA6,0xA0), o3(0xE6,0xA6,0x9C), + o3(0xE6,0xA6,0x95), o3(0xE6,0xA6,0xB4), + o3(0xE6,0xA7,0x9E), o3(0xE6,0xA7,0xA8), + o3(0xE6,0xA8,0x82), o3(0xE6,0xA8,0x9B), + o3(0xE6,0xA7,0xBF), o3(0xE6,0xAC,0x8A), + o3(0xE6,0xA7,0xB9), o3(0xE6,0xA7,0xB2), + o3(0xE6,0xA7,0xA7), o3(0xE6,0xA8,0x85), + o3(0xE6,0xA6,0xB1), o3(0xE6,0xA8,0x9E), + o3(0xE6,0xA7,0xAD), o3(0xE6,0xA8,0x94), + o3(0xE6,0xA7,0xAB), o3(0xE6,0xA8,0x8A), + o3(0xE6,0xA8,0x92), o3(0xE6,0xAB,0x81), + o3(0xE6,0xA8,0xA3), o3(0xE6,0xA8,0x93), + o3(0xE6,0xA9,0x84), o3(0xE6,0xA8,0x8C), + o3(0xE6,0xA9,0xB2), o3(0xE6,0xA8,0xB6), + o3(0xE6,0xA9,0xB8), o3(0xE6,0xA9,0x87), + o3(0xE6,0xA9,0xA2), o3(0xE6,0xA9,0x99), + o3(0xE6,0xA9,0xA6), o3(0xE6,0xA9,0x88), + o3(0xE6,0xA8,0xB8), o3(0xE6,0xA8,0xA2), + o3(0xE6,0xAA,0x90), o3(0xE6,0xAA,0x8D), + o3(0xE6,0xAA,0xA0), o3(0xE6,0xAA,0x84), + o3(0xE6,0xAA,0xA2), o3(0xE6,0xAA,0xA3), + UNDEF, +}; +static const BYTE_LOOKUP +from_SHIFT_JIS_9E = { + from_SHIFT_JIS_89_offsets, + from_SHIFT_JIS_9E_infos +}; + +static const struct byte_lookup* const +from_SHIFT_JIS_9F_infos[189] = { + o3(0xE6,0xAA,0x97), o3(0xE8,0x98,0x97), + o3(0xE6,0xAA,0xBB), o3(0xE6,0xAB,0x83), + o3(0xE6,0xAB,0x82), o3(0xE6,0xAA,0xB8), + o3(0xE6,0xAA,0xB3), o3(0xE6,0xAA,0xAC), + o3(0xE6,0xAB,0x9E), o3(0xE6,0xAB,0x91), + o3(0xE6,0xAB,0x9F), o3(0xE6,0xAA,0xAA), + o3(0xE6,0xAB,0x9A), o3(0xE6,0xAB,0xAA), + o3(0xE6,0xAB,0xBB), o3(0xE6,0xAC,0x85), + o3(0xE8,0x98,0x96), o3(0xE6,0xAB,0xBA), + o3(0xE6,0xAC,0x92), o3(0xE6,0xAC,0x96), + o3(0xE9,0xAC,0xB1), o3(0xE6,0xAC,0x9F), + o3(0xE6,0xAC,0xB8), o3(0xE6,0xAC,0xB7), + o3(0xE7,0x9B,0x9C), o3(0xE6,0xAC,0xB9), + o3(0xE9,0xA3,0xAE), o3(0xE6,0xAD,0x87), + o3(0xE6,0xAD,0x83), o3(0xE6,0xAD,0x89), + o3(0xE6,0xAD,0x90), o3(0xE6,0xAD,0x99), + o3(0xE6,0xAD,0x94), o3(0xE6,0xAD,0x9B), + o3(0xE6,0xAD,0x9F), o3(0xE6,0xAD,0xA1), + o3(0xE6,0xAD,0xB8), o3(0xE6,0xAD,0xB9), + o3(0xE6,0xAD,0xBF), o3(0xE6,0xAE,0x80), + o3(0xE6,0xAE,0x84), o3(0xE6,0xAE,0x83), + o3(0xE6,0xAE,0x8D), o3(0xE6,0xAE,0x98), + o3(0xE6,0xAE,0x95), o3(0xE6,0xAE,0x9E), + o3(0xE6,0xAE,0xA4), o3(0xE6,0xAE,0xAA), + o3(0xE6,0xAE,0xAB), o3(0xE6,0xAE,0xAF), + o3(0xE6,0xAE,0xB2), o3(0xE6,0xAE,0xB1), + o3(0xE6,0xAE,0xB3), o3(0xE6,0xAE,0xB7), + o3(0xE6,0xAE,0xBC), o3(0xE6,0xAF,0x86), + o3(0xE6,0xAF,0x8B), o3(0xE6,0xAF,0x93), + o3(0xE6,0xAF,0x9F), o3(0xE6,0xAF,0xAC), + o3(0xE6,0xAF,0xAB), o3(0xE6,0xAF,0xB3), + o3(0xE6,0xAF,0xAF), o3(0xE9,0xBA,0xBE), + o3(0xE6,0xB0,0x88), o3(0xE6,0xB0,0x93), + o3(0xE6,0xB0,0x94), o3(0xE6,0xB0,0x9B), + o3(0xE6,0xB0,0xA4), o3(0xE6,0xB0,0xA3), + o3(0xE6,0xB1,0x9E), o3(0xE6,0xB1,0x95), + o3(0xE6,0xB1,0xA2), o3(0xE6,0xB1,0xAA), + o3(0xE6,0xB2,0x82), o3(0xE6,0xB2,0x8D), + o3(0xE6,0xB2,0x9A), o3(0xE6,0xB2,0x81), + o3(0xE6,0xB2,0x9B), o3(0xE6,0xB1,0xBE), + o3(0xE6,0xB1,0xA8), o3(0xE6,0xB1,0xB3), + o3(0xE6,0xB2,0x92), o3(0xE6,0xB2,0x90), + o3(0xE6,0xB3,0x84), o3(0xE6,0xB3,0xB1), + o3(0xE6,0xB3,0x93), o3(0xE6,0xB2,0xBD), + o3(0xE6,0xB3,0x97), o3(0xE6,0xB3,0x85), + o3(0xE6,0xB3,0x9D), o3(0xE6,0xB2,0xAE), + o3(0xE6,0xB2,0xB1), o3(0xE6,0xB2,0xBE), + o3(0xE6,0xB2,0xBA), o3(0xE6,0xB3,0x9B), + o3(0xE6,0xB3,0xAF), o3(0xE6,0xB3,0x99), + o3(0xE6,0xB3,0xAA), o3(0xE6,0xB4,0x9F), + o3(0xE8,0xA1,0x8D), o3(0xE6,0xB4,0xB6), + o3(0xE6,0xB4,0xAB), o3(0xE6,0xB4,0xBD), + o3(0xE6,0xB4,0xB8), o3(0xE6,0xB4,0x99), + o3(0xE6,0xB4,0xB5), o3(0xE6,0xB4,0xB3), + o3(0xE6,0xB4,0x92), o3(0xE6,0xB4,0x8C), + o3(0xE6,0xB5,0xA3), o3(0xE6,0xB6,0x93), + o3(0xE6,0xB5,0xA4), o3(0xE6,0xB5,0x9A), + o3(0xE6,0xB5,0xB9), o3(0xE6,0xB5,0x99), + o3(0xE6,0xB6,0x8E), o3(0xE6,0xB6,0x95), + o3(0xE6,0xBF,0xA4), o3(0xE6,0xB6,0x85), + o3(0xE6,0xB7,0xB9), o3(0xE6,0xB8,0x95), + o3(0xE6,0xB8,0x8A), o3(0xE6,0xB6,0xB5), + o3(0xE6,0xB7,0x87), o3(0xE6,0xB7,0xA6), + o3(0xE6,0xB6,0xB8), o3(0xE6,0xB7,0x86), + o3(0xE6,0xB7,0xAC), o3(0xE6,0xB7,0x9E), + o3(0xE6,0xB7,0x8C), o3(0xE6,0xB7,0xA8), + o3(0xE6,0xB7,0x92), o3(0xE6,0xB7,0x85), + o3(0xE6,0xB7,0xBA), o3(0xE6,0xB7,0x99), + o3(0xE6,0xB7,0xA4), o3(0xE6,0xB7,0x95), + o3(0xE6,0xB7,0xAA), o3(0xE6,0xB7,0xAE), + o3(0xE6,0xB8,0xAD), o3(0xE6,0xB9,0xAE), + o3(0xE6,0xB8,0xAE), o3(0xE6,0xB8,0x99), + o3(0xE6,0xB9,0xB2), o3(0xE6,0xB9,0x9F), + o3(0xE6,0xB8,0xBE), o3(0xE6,0xB8,0xA3), + o3(0xE6,0xB9,0xAB), o3(0xE6,0xB8,0xAB), + o3(0xE6,0xB9,0xB6), o3(0xE6,0xB9,0x8D), + o3(0xE6,0xB8,0x9F), o3(0xE6,0xB9,0x83), + o3(0xE6,0xB8,0xBA), o3(0xE6,0xB9,0x8E), + o3(0xE6,0xB8,0xA4), o3(0xE6,0xBB,0xBF), + o3(0xE6,0xB8,0x9D), o3(0xE6,0xB8,0xB8), + o3(0xE6,0xBA,0x82), o3(0xE6,0xBA,0xAA), + o3(0xE6,0xBA,0x98), o3(0xE6,0xBB,0x89), + o3(0xE6,0xBA,0xB7), o3(0xE6,0xBB,0x93), + o3(0xE6,0xBA,0xBD), o3(0xE6,0xBA,0xAF), + o3(0xE6,0xBB,0x84), o3(0xE6,0xBA,0xB2), + o3(0xE6,0xBB,0x94), o3(0xE6,0xBB,0x95), + o3(0xE6,0xBA,0x8F), o3(0xE6,0xBA,0xA5), + o3(0xE6,0xBB,0x82), o3(0xE6,0xBA,0x9F), + o3(0xE6,0xBD,0x81), o3(0xE6,0xBC,0x91), + o3(0xE7,0x81,0x8C), o3(0xE6,0xBB,0xAC), + o3(0xE6,0xBB,0xB8), o3(0xE6,0xBB,0xBE), + o3(0xE6,0xBC,0xBF), o3(0xE6,0xBB,0xB2), + o3(0xE6,0xBC,0xB1), o3(0xE6,0xBB,0xAF), + o3(0xE6,0xBC,0xB2), o3(0xE6,0xBB,0x8C), + UNDEF, +}; +static const BYTE_LOOKUP +from_SHIFT_JIS_9F = { + from_SHIFT_JIS_89_offsets, + from_SHIFT_JIS_9F_infos +}; + +static const struct byte_lookup* const +from_SHIFT_JIS_E0_infos[189] = { + o3(0xE6,0xBC,0xBE), o3(0xE6,0xBC,0x93), + o3(0xE6,0xBB,0xB7), o3(0xE6,0xBE,0x86), + o3(0xE6,0xBD,0xBA), o3(0xE6,0xBD,0xB8), + o3(0xE6,0xBE,0x81), o3(0xE6,0xBE,0x80), + o3(0xE6,0xBD,0xAF), o3(0xE6,0xBD,0x9B), + o3(0xE6,0xBF,0xB3), o3(0xE6,0xBD,0xAD), + o3(0xE6,0xBE,0x82), o3(0xE6,0xBD,0xBC), + o3(0xE6,0xBD,0x98), o3(0xE6,0xBE,0x8E), + o3(0xE6,0xBE,0x91), o3(0xE6,0xBF,0x82), + o3(0xE6,0xBD,0xA6), o3(0xE6,0xBE,0xB3), + o3(0xE6,0xBE,0xA3), o3(0xE6,0xBE,0xA1), + o3(0xE6,0xBE,0xA4), o3(0xE6,0xBE,0xB9), + o3(0xE6,0xBF,0x86), o3(0xE6,0xBE,0xAA), + o3(0xE6,0xBF,0x9F), o3(0xE6,0xBF,0x95), + o3(0xE6,0xBF,0xAC), o3(0xE6,0xBF,0x94), + o3(0xE6,0xBF,0x98), o3(0xE6,0xBF,0xB1), + o3(0xE6,0xBF,0xAE), o3(0xE6,0xBF,0x9B), + o3(0xE7,0x80,0x89), o3(0xE7,0x80,0x8B), + o3(0xE6,0xBF,0xBA), o3(0xE7,0x80,0x91), + o3(0xE7,0x80,0x81), o3(0xE7,0x80,0x8F), + o3(0xE6,0xBF,0xBE), o3(0xE7,0x80,0x9B), + o3(0xE7,0x80,0x9A), o3(0xE6,0xBD,0xB4), + o3(0xE7,0x80,0x9D), o3(0xE7,0x80,0x98), + o3(0xE7,0x80,0x9F), o3(0xE7,0x80,0xB0), + o3(0xE7,0x80,0xBE), o3(0xE7,0x80,0xB2), + o3(0xE7,0x81,0x91), o3(0xE7,0x81,0xA3), + o3(0xE7,0x82,0x99), o3(0xE7,0x82,0x92), + o3(0xE7,0x82,0xAF), o3(0xE7,0x83,0xB1), + o3(0xE7,0x82,0xAC), o3(0xE7,0x82,0xB8), + o3(0xE7,0x82,0xB3), o3(0xE7,0x82,0xAE), + o3(0xE7,0x83,0x9F), o3(0xE7,0x83,0x8B), + o3(0xE7,0x83,0x9D), o3(0xE7,0x83,0x99), + o3(0xE7,0x84,0x89), o3(0xE7,0x83,0xBD), + o3(0xE7,0x84,0x9C), o3(0xE7,0x84,0x99), + o3(0xE7,0x85,0xA5), o3(0xE7,0x85,0x95), + o3(0xE7,0x86,0x88), o3(0xE7,0x85,0xA6), + o3(0xE7,0x85,0xA2), o3(0xE7,0x85,0x8C), + o3(0xE7,0x85,0x96), o3(0xE7,0x85,0xAC), + o3(0xE7,0x86,0x8F), o3(0xE7,0x87,0xBB), + o3(0xE7,0x86,0x84), o3(0xE7,0x86,0x95), + o3(0xE7,0x86,0xA8), o3(0xE7,0x86,0xAC), + o3(0xE7,0x87,0x97), o3(0xE7,0x86,0xB9), + o3(0xE7,0x86,0xBE), o3(0xE7,0x87,0x92), + o3(0xE7,0x87,0x89), o3(0xE7,0x87,0x94), + o3(0xE7,0x87,0x8E), o3(0xE7,0x87,0xA0), + o3(0xE7,0x87,0xAC), o3(0xE7,0x87,0xA7), + o3(0xE7,0x87,0xB5), o3(0xE7,0x87,0xBC), + o3(0xE7,0x87,0xB9), o3(0xE7,0x87,0xBF), + o3(0xE7,0x88,0x8D), o3(0xE7,0x88,0x90), + o3(0xE7,0x88,0x9B), o3(0xE7,0x88,0xA8), + o3(0xE7,0x88,0xAD), o3(0xE7,0x88,0xAC), + o3(0xE7,0x88,0xB0), o3(0xE7,0x88,0xB2), + o3(0xE7,0x88,0xBB), o3(0xE7,0x88,0xBC), + o3(0xE7,0x88,0xBF), o3(0xE7,0x89,0x80), + o3(0xE7,0x89,0x86), o3(0xE7,0x89,0x8B), + o3(0xE7,0x89,0x98), o3(0xE7,0x89,0xB4), + o3(0xE7,0x89,0xBE), o3(0xE7,0x8A,0x82), + o3(0xE7,0x8A,0x81), o3(0xE7,0x8A,0x87), + o3(0xE7,0x8A,0x92), o3(0xE7,0x8A,0x96), + o3(0xE7,0x8A,0xA2), o3(0xE7,0x8A,0xA7), + o3(0xE7,0x8A,0xB9), o3(0xE7,0x8A,0xB2), + o3(0xE7,0x8B,0x83), o3(0xE7,0x8B,0x86), + o3(0xE7,0x8B,0x84), o3(0xE7,0x8B,0x8E), + o3(0xE7,0x8B,0x92), o3(0xE7,0x8B,0xA2), + o3(0xE7,0x8B,0xA0), o3(0xE7,0x8B,0xA1), + o3(0xE7,0x8B,0xB9), o3(0xE7,0x8B,0xB7), + o3(0xE5,0x80,0x8F), o3(0xE7,0x8C,0x97), + o3(0xE7,0x8C,0x8A), o3(0xE7,0x8C,0x9C), + o3(0xE7,0x8C,0x96), o3(0xE7,0x8C,0x9D), + o3(0xE7,0x8C,0xB4), o3(0xE7,0x8C,0xAF), + o3(0xE7,0x8C,0xA9), o3(0xE7,0x8C,0xA5), + o3(0xE7,0x8C,0xBE), o3(0xE7,0x8D,0x8E), + o3(0xE7,0x8D,0x8F), o3(0xE9,0xBB,0x98), + o3(0xE7,0x8D,0x97), o3(0xE7,0x8D,0xAA), + o3(0xE7,0x8D,0xA8), o3(0xE7,0x8D,0xB0), + o3(0xE7,0x8D,0xB8), o3(0xE7,0x8D,0xB5), + o3(0xE7,0x8D,0xBB), o3(0xE7,0x8D,0xBA), + o3(0xE7,0x8F,0x88), o3(0xE7,0x8E,0xB3), + o3(0xE7,0x8F,0x8E), o3(0xE7,0x8E,0xBB), + o3(0xE7,0x8F,0x80), o3(0xE7,0x8F,0xA5), + o3(0xE7,0x8F,0xAE), o3(0xE7,0x8F,0x9E), + o3(0xE7,0x92,0xA2), o3(0xE7,0x90,0x85), + o3(0xE7,0x91,0xAF), o3(0xE7,0x90,0xA5), + o3(0xE7,0x8F,0xB8), o3(0xE7,0x90,0xB2), + o3(0xE7,0x90,0xBA), o3(0xE7,0x91,0x95), + o3(0xE7,0x90,0xBF), o3(0xE7,0x91,0x9F), + o3(0xE7,0x91,0x99), o3(0xE7,0x91,0x81), + o3(0xE7,0x91,0x9C), o3(0xE7,0x91,0xA9), + o3(0xE7,0x91,0xB0), o3(0xE7,0x91,0xA3), + o3(0xE7,0x91,0xAA), o3(0xE7,0x91,0xB6), + o3(0xE7,0x91,0xBE), o3(0xE7,0x92,0x8B), + o3(0xE7,0x92,0x9E), o3(0xE7,0x92,0xA7), + o3(0xE7,0x93,0x8A), o3(0xE7,0x93,0x8F), + o3(0xE7,0x93,0x94), o3(0xE7,0x8F,0xB1), + UNDEF, +}; +static const BYTE_LOOKUP +from_SHIFT_JIS_E0 = { + from_SHIFT_JIS_89_offsets, + from_SHIFT_JIS_E0_infos +}; + +static const struct byte_lookup* const +from_SHIFT_JIS_E1_infos[189] = { + o3(0xE7,0x93,0xA0), o3(0xE7,0x93,0xA3), + o3(0xE7,0x93,0xA7), o3(0xE7,0x93,0xA9), + o3(0xE7,0x93,0xAE), o3(0xE7,0x93,0xB2), + o3(0xE7,0x93,0xB0), o3(0xE7,0x93,0xB1), + o3(0xE7,0x93,0xB8), o3(0xE7,0x93,0xB7), + o3(0xE7,0x94,0x84), o3(0xE7,0x94,0x83), + o3(0xE7,0x94,0x85), o3(0xE7,0x94,0x8C), + o3(0xE7,0x94,0x8E), o3(0xE7,0x94,0x8D), + o3(0xE7,0x94,0x95), o3(0xE7,0x94,0x93), + o3(0xE7,0x94,0x9E), o3(0xE7,0x94,0xA6), + o3(0xE7,0x94,0xAC), o3(0xE7,0x94,0xBC), + o3(0xE7,0x95,0x84), o3(0xE7,0x95,0x8D), + o3(0xE7,0x95,0x8A), o3(0xE7,0x95,0x89), + o3(0xE7,0x95,0x9B), o3(0xE7,0x95,0x86), + o3(0xE7,0x95,0x9A), o3(0xE7,0x95,0xA9), + o3(0xE7,0x95,0xA4), o3(0xE7,0x95,0xA7), + o3(0xE7,0x95,0xAB), o3(0xE7,0x95,0xAD), + o3(0xE7,0x95,0xB8), o3(0xE7,0x95,0xB6), + o3(0xE7,0x96,0x86), o3(0xE7,0x96,0x87), + o3(0xE7,0x95,0xB4), o3(0xE7,0x96,0x8A), + o3(0xE7,0x96,0x89), o3(0xE7,0x96,0x82), + o3(0xE7,0x96,0x94), o3(0xE7,0x96,0x9A), + o3(0xE7,0x96,0x9D), o3(0xE7,0x96,0xA5), + o3(0xE7,0x96,0xA3), o3(0xE7,0x97,0x82), + o3(0xE7,0x96,0xB3), o3(0xE7,0x97,0x83), + o3(0xE7,0x96,0xB5), o3(0xE7,0x96,0xBD), + o3(0xE7,0x96,0xB8), o3(0xE7,0x96,0xBC), + o3(0xE7,0x96,0xB1), o3(0xE7,0x97,0x8D), + o3(0xE7,0x97,0x8A), o3(0xE7,0x97,0x92), + o3(0xE7,0x97,0x99), o3(0xE7,0x97,0xA3), + o3(0xE7,0x97,0x9E), o3(0xE7,0x97,0xBE), + o3(0xE7,0x97,0xBF), o3(0xE7,0x97,0xBC), + o3(0xE7,0x98,0x81), o3(0xE7,0x97,0xB0), + o3(0xE7,0x97,0xBA), o3(0xE7,0x97,0xB2), + o3(0xE7,0x97,0xB3), o3(0xE7,0x98,0x8B), + o3(0xE7,0x98,0x8D), o3(0xE7,0x98,0x89), + o3(0xE7,0x98,0x9F), o3(0xE7,0x98,0xA7), + o3(0xE7,0x98,0xA0), o3(0xE7,0x98,0xA1), + o3(0xE7,0x98,0xA2), o3(0xE7,0x98,0xA4), + o3(0xE7,0x98,0xB4), o3(0xE7,0x98,0xB0), + o3(0xE7,0x98,0xBB), o3(0xE7,0x99,0x87), + o3(0xE7,0x99,0x88), o3(0xE7,0x99,0x86), + o3(0xE7,0x99,0x9C), o3(0xE7,0x99,0x98), + o3(0xE7,0x99,0xA1), o3(0xE7,0x99,0xA2), + o3(0xE7,0x99,0xA8), o3(0xE7,0x99,0xA9), + o3(0xE7,0x99,0xAA), o3(0xE7,0x99,0xA7), + o3(0xE7,0x99,0xAC), o3(0xE7,0x99,0xB0), + o3(0xE7,0x99,0xB2), o3(0xE7,0x99,0xB6), + o3(0xE7,0x99,0xB8), o3(0xE7,0x99,0xBC), + o3(0xE7,0x9A,0x80), o3(0xE7,0x9A,0x83), + o3(0xE7,0x9A,0x88), o3(0xE7,0x9A,0x8B), + o3(0xE7,0x9A,0x8E), o3(0xE7,0x9A,0x96), + o3(0xE7,0x9A,0x93), o3(0xE7,0x9A,0x99), + o3(0xE7,0x9A,0x9A), o3(0xE7,0x9A,0xB0), + o3(0xE7,0x9A,0xB4), o3(0xE7,0x9A,0xB8), + o3(0xE7,0x9A,0xB9), o3(0xE7,0x9A,0xBA), + o3(0xE7,0x9B,0x82), o3(0xE7,0x9B,0x8D), + o3(0xE7,0x9B,0x96), o3(0xE7,0x9B,0x92), + o3(0xE7,0x9B,0x9E), o3(0xE7,0x9B,0xA1), + o3(0xE7,0x9B,0xA5), o3(0xE7,0x9B,0xA7), + o3(0xE7,0x9B,0xAA), o3(0xE8,0x98,0xAF), + o3(0xE7,0x9B,0xBB), o3(0xE7,0x9C,0x88), + o3(0xE7,0x9C,0x87), o3(0xE7,0x9C,0x84), + o3(0xE7,0x9C,0xA9), o3(0xE7,0x9C,0xA4), + o3(0xE7,0x9C,0x9E), o3(0xE7,0x9C,0xA5), + o3(0xE7,0x9C,0xA6), o3(0xE7,0x9C,0x9B), + o3(0xE7,0x9C,0xB7), o3(0xE7,0x9C,0xB8), + o3(0xE7,0x9D,0x87), o3(0xE7,0x9D,0x9A), + o3(0xE7,0x9D,0xA8), o3(0xE7,0x9D,0xAB), + o3(0xE7,0x9D,0x9B), o3(0xE7,0x9D,0xA5), + o3(0xE7,0x9D,0xBF), o3(0xE7,0x9D,0xBE), + o3(0xE7,0x9D,0xB9), o3(0xE7,0x9E,0x8E), + o3(0xE7,0x9E,0x8B), o3(0xE7,0x9E,0x91), + o3(0xE7,0x9E,0xA0), o3(0xE7,0x9E,0x9E), + o3(0xE7,0x9E,0xB0), o3(0xE7,0x9E,0xB6), + o3(0xE7,0x9E,0xB9), o3(0xE7,0x9E,0xBF), + o3(0xE7,0x9E,0xBC), o3(0xE7,0x9E,0xBD), + o3(0xE7,0x9E,0xBB), o3(0xE7,0x9F,0x87), + o3(0xE7,0x9F,0x8D), o3(0xE7,0x9F,0x97), + o3(0xE7,0x9F,0x9A), o3(0xE7,0x9F,0x9C), + o3(0xE7,0x9F,0xA3), o3(0xE7,0x9F,0xAE), + o3(0xE7,0x9F,0xBC), o3(0xE7,0xA0,0x8C), + o3(0xE7,0xA0,0x92), o3(0xE7,0xA4,0xA6), + o3(0xE7,0xA0,0xA0), o3(0xE7,0xA4,0xAA), + o3(0xE7,0xA1,0x85), o3(0xE7,0xA2,0x8E), + o3(0xE7,0xA1,0xB4), o3(0xE7,0xA2,0x86), + o3(0xE7,0xA1,0xBC), o3(0xE7,0xA2,0x9A), + o3(0xE7,0xA2,0x8C), o3(0xE7,0xA2,0xA3), + o3(0xE7,0xA2,0xB5), o3(0xE7,0xA2,0xAA), + o3(0xE7,0xA2,0xAF), o3(0xE7,0xA3,0x91), + o3(0xE7,0xA3,0x86), o3(0xE7,0xA3,0x8B), + o3(0xE7,0xA3,0x94), o3(0xE7,0xA2,0xBE), + o3(0xE7,0xA2,0xBC), o3(0xE7,0xA3,0x85), + o3(0xE7,0xA3,0x8A), o3(0xE7,0xA3,0xAC), + UNDEF, +}; +static const BYTE_LOOKUP +from_SHIFT_JIS_E1 = { + from_SHIFT_JIS_89_offsets, + from_SHIFT_JIS_E1_infos +}; + +static const struct byte_lookup* const +from_SHIFT_JIS_E2_infos[189] = { + o3(0xE7,0xA3,0xA7), o3(0xE7,0xA3,0x9A), + o3(0xE7,0xA3,0xBD), o3(0xE7,0xA3,0xB4), + o3(0xE7,0xA4,0x87), o3(0xE7,0xA4,0x92), + o3(0xE7,0xA4,0x91), o3(0xE7,0xA4,0x99), + o3(0xE7,0xA4,0xAC), o3(0xE7,0xA4,0xAB), + o3(0xE7,0xA5,0x80), o3(0xE7,0xA5,0xA0), + o3(0xE7,0xA5,0x97), o3(0xE7,0xA5,0x9F), + o3(0xE7,0xA5,0x9A), o3(0xE7,0xA5,0x95), + o3(0xE7,0xA5,0x93), o3(0xE7,0xA5,0xBA), + o3(0xE7,0xA5,0xBF), o3(0xE7,0xA6,0x8A), + o3(0xE7,0xA6,0x9D), o3(0xE7,0xA6,0xA7), + o3(0xE9,0xBD,0x8B), o3(0xE7,0xA6,0xAA), + o3(0xE7,0xA6,0xAE), o3(0xE7,0xA6,0xB3), + o3(0xE7,0xA6,0xB9), o3(0xE7,0xA6,0xBA), + o3(0xE7,0xA7,0x89), o3(0xE7,0xA7,0x95), + o3(0xE7,0xA7,0xA7), o3(0xE7,0xA7,0xAC), + o3(0xE7,0xA7,0xA1), o3(0xE7,0xA7,0xA3), + o3(0xE7,0xA8,0x88), o3(0xE7,0xA8,0x8D), + o3(0xE7,0xA8,0x98), o3(0xE7,0xA8,0x99), + o3(0xE7,0xA8,0xA0), o3(0xE7,0xA8,0x9F), + o3(0xE7,0xA6,0x80), o3(0xE7,0xA8,0xB1), + o3(0xE7,0xA8,0xBB), o3(0xE7,0xA8,0xBE), + o3(0xE7,0xA8,0xB7), o3(0xE7,0xA9,0x83), + o3(0xE7,0xA9,0x97), o3(0xE7,0xA9,0x89), + o3(0xE7,0xA9,0xA1), o3(0xE7,0xA9,0xA2), + o3(0xE7,0xA9,0xA9), o3(0xE9,0xBE,0x9D), + o3(0xE7,0xA9,0xB0), o3(0xE7,0xA9,0xB9), + o3(0xE7,0xA9,0xBD), o3(0xE7,0xAA,0x88), + o3(0xE7,0xAA,0x97), o3(0xE7,0xAA,0x95), + o3(0xE7,0xAA,0x98), o3(0xE7,0xAA,0x96), + o3(0xE7,0xAA,0xA9), o3(0xE7,0xAB,0x88), + o3(0xE7,0xAA,0xB0), o3(0xE7,0xAA,0xB6), + o3(0xE7,0xAB,0x85), o3(0xE7,0xAB,0x84), + o3(0xE7,0xAA,0xBF), o3(0xE9,0x82,0x83), + o3(0xE7,0xAB,0x87), o3(0xE7,0xAB,0x8A), + o3(0xE7,0xAB,0x8D), o3(0xE7,0xAB,0x8F), + o3(0xE7,0xAB,0x95), o3(0xE7,0xAB,0x93), + o3(0xE7,0xAB,0x99), o3(0xE7,0xAB,0x9A), + o3(0xE7,0xAB,0x9D), o3(0xE7,0xAB,0xA1), + o3(0xE7,0xAB,0xA2), o3(0xE7,0xAB,0xA6), + o3(0xE7,0xAB,0xAD), o3(0xE7,0xAB,0xB0), + o3(0xE7,0xAC,0x82), o3(0xE7,0xAC,0x8F), + o3(0xE7,0xAC,0x8A), o3(0xE7,0xAC,0x86), + o3(0xE7,0xAC,0xB3), o3(0xE7,0xAC,0x98), + o3(0xE7,0xAC,0x99), o3(0xE7,0xAC,0x9E), + o3(0xE7,0xAC,0xB5), o3(0xE7,0xAC,0xA8), + o3(0xE7,0xAC,0xB6), o3(0xE7,0xAD,0x90), + o3(0xE7,0xAD,0xBA), o3(0xE7,0xAC,0x84), + o3(0xE7,0xAD,0x8D), o3(0xE7,0xAC,0x8B), + o3(0xE7,0xAD,0x8C), o3(0xE7,0xAD,0x85), + o3(0xE7,0xAD,0xB5), o3(0xE7,0xAD,0xA5), + o3(0xE7,0xAD,0xB4), o3(0xE7,0xAD,0xA7), + o3(0xE7,0xAD,0xB0), o3(0xE7,0xAD,0xB1), + o3(0xE7,0xAD,0xAC), o3(0xE7,0xAD,0xAE), + o3(0xE7,0xAE,0x9D), o3(0xE7,0xAE,0x98), + o3(0xE7,0xAE,0x9F), o3(0xE7,0xAE,0x8D), + o3(0xE7,0xAE,0x9C), o3(0xE7,0xAE,0x9A), + o3(0xE7,0xAE,0x8B), o3(0xE7,0xAE,0x92), + o3(0xE7,0xAE,0x8F), o3(0xE7,0xAD,0x9D), + o3(0xE7,0xAE,0x99), o3(0xE7,0xAF,0x8B), + o3(0xE7,0xAF,0x81), o3(0xE7,0xAF,0x8C), + o3(0xE7,0xAF,0x8F), o3(0xE7,0xAE,0xB4), + o3(0xE7,0xAF,0x86), o3(0xE7,0xAF,0x9D), + o3(0xE7,0xAF,0xA9), o3(0xE7,0xB0,0x91), + o3(0xE7,0xB0,0x94), o3(0xE7,0xAF,0xA6), + o3(0xE7,0xAF,0xA5), o3(0xE7,0xB1,0xA0), + o3(0xE7,0xB0,0x80), o3(0xE7,0xB0,0x87), + o3(0xE7,0xB0,0x93), o3(0xE7,0xAF,0xB3), + o3(0xE7,0xAF,0xB7), o3(0xE7,0xB0,0x97), + o3(0xE7,0xB0,0x8D), o3(0xE7,0xAF,0xB6), + o3(0xE7,0xB0,0xA3), o3(0xE7,0xB0,0xA7), + o3(0xE7,0xB0,0xAA), o3(0xE7,0xB0,0x9F), + o3(0xE7,0xB0,0xB7), o3(0xE7,0xB0,0xAB), + o3(0xE7,0xB0,0xBD), o3(0xE7,0xB1,0x8C), + o3(0xE7,0xB1,0x83), o3(0xE7,0xB1,0x94), + o3(0xE7,0xB1,0x8F), o3(0xE7,0xB1,0x80), + o3(0xE7,0xB1,0x90), o3(0xE7,0xB1,0x98), + o3(0xE7,0xB1,0x9F), o3(0xE7,0xB1,0xA4), + o3(0xE7,0xB1,0x96), o3(0xE7,0xB1,0xA5), + o3(0xE7,0xB1,0xAC), o3(0xE7,0xB1,0xB5), + o3(0xE7,0xB2,0x83), o3(0xE7,0xB2,0x90), + o3(0xE7,0xB2,0xA4), o3(0xE7,0xB2,0xAD), + o3(0xE7,0xB2,0xA2), o3(0xE7,0xB2,0xAB), + o3(0xE7,0xB2,0xA1), o3(0xE7,0xB2,0xA8), + o3(0xE7,0xB2,0xB3), o3(0xE7,0xB2,0xB2), + o3(0xE7,0xB2,0xB1), o3(0xE7,0xB2,0xAE), + o3(0xE7,0xB2,0xB9), o3(0xE7,0xB2,0xBD), + o3(0xE7,0xB3,0x80), o3(0xE7,0xB3,0x85), + o3(0xE7,0xB3,0x82), o3(0xE7,0xB3,0x98), + o3(0xE7,0xB3,0x92), o3(0xE7,0xB3,0x9C), + o3(0xE7,0xB3,0xA2), o3(0xE9,0xAC,0xBB), + o3(0xE7,0xB3,0xAF), o3(0xE7,0xB3,0xB2), + o3(0xE7,0xB3,0xB4), o3(0xE7,0xB3,0xB6), + o3(0xE7,0xB3,0xBA), o3(0xE7,0xB4,0x86), + UNDEF, +}; +static const BYTE_LOOKUP +from_SHIFT_JIS_E2 = { + from_SHIFT_JIS_89_offsets, + from_SHIFT_JIS_E2_infos +}; + +static const struct byte_lookup* const +from_SHIFT_JIS_E3_infos[189] = { + o3(0xE7,0xB4,0x82), o3(0xE7,0xB4,0x9C), + o3(0xE7,0xB4,0x95), o3(0xE7,0xB4,0x8A), + o3(0xE7,0xB5,0x85), o3(0xE7,0xB5,0x8B), + o3(0xE7,0xB4,0xAE), o3(0xE7,0xB4,0xB2), + o3(0xE7,0xB4,0xBF), o3(0xE7,0xB4,0xB5), + o3(0xE7,0xB5,0x86), o3(0xE7,0xB5,0xB3), + o3(0xE7,0xB5,0x96), o3(0xE7,0xB5,0x8E), + o3(0xE7,0xB5,0xB2), o3(0xE7,0xB5,0xA8), + o3(0xE7,0xB5,0xAE), o3(0xE7,0xB5,0x8F), + o3(0xE7,0xB5,0xA3), o3(0xE7,0xB6,0x93), + o3(0xE7,0xB6,0x89), o3(0xE7,0xB5,0x9B), + o3(0xE7,0xB6,0x8F), o3(0xE7,0xB5,0xBD), + o3(0xE7,0xB6,0x9B), o3(0xE7,0xB6,0xBA), + o3(0xE7,0xB6,0xAE), o3(0xE7,0xB6,0xA3), + o3(0xE7,0xB6,0xB5), o3(0xE7,0xB7,0x87), + o3(0xE7,0xB6,0xBD), o3(0xE7,0xB6,0xAB), + o3(0xE7,0xB8,0xBD), o3(0xE7,0xB6,0xA2), + o3(0xE7,0xB6,0xAF), o3(0xE7,0xB7,0x9C), + o3(0xE7,0xB6,0xB8), o3(0xE7,0xB6,0x9F), + o3(0xE7,0xB6,0xB0), o3(0xE7,0xB7,0x98), + o3(0xE7,0xB7,0x9D), o3(0xE7,0xB7,0xA4), + o3(0xE7,0xB7,0x9E), o3(0xE7,0xB7,0xBB), + o3(0xE7,0xB7,0xB2), o3(0xE7,0xB7,0xA1), + o3(0xE7,0xB8,0x85), o3(0xE7,0xB8,0x8A), + o3(0xE7,0xB8,0xA3), o3(0xE7,0xB8,0xA1), + o3(0xE7,0xB8,0x92), o3(0xE7,0xB8,0xB1), + o3(0xE7,0xB8,0x9F), o3(0xE7,0xB8,0x89), + o3(0xE7,0xB8,0x8B), o3(0xE7,0xB8,0xA2), + o3(0xE7,0xB9,0x86), o3(0xE7,0xB9,0xA6), + o3(0xE7,0xB8,0xBB), o3(0xE7,0xB8,0xB5), + o3(0xE7,0xB8,0xB9), o3(0xE7,0xB9,0x83), + o3(0xE7,0xB8,0xB7), o3(0xE7,0xB8,0xB2), + o3(0xE7,0xB8,0xBA), o3(0xE7,0xB9,0xA7), + o3(0xE7,0xB9,0x9D), o3(0xE7,0xB9,0x96), + o3(0xE7,0xB9,0x9E), o3(0xE7,0xB9,0x99), + o3(0xE7,0xB9,0x9A), o3(0xE7,0xB9,0xB9), + o3(0xE7,0xB9,0xAA), o3(0xE7,0xB9,0xA9), + o3(0xE7,0xB9,0xBC), o3(0xE7,0xB9,0xBB), + o3(0xE7,0xBA,0x83), o3(0xE7,0xB7,0x95), + o3(0xE7,0xB9,0xBD), o3(0xE8,0xBE,0xAE), + o3(0xE7,0xB9,0xBF), o3(0xE7,0xBA,0x88), + o3(0xE7,0xBA,0x89), o3(0xE7,0xBA,0x8C), + o3(0xE7,0xBA,0x92), o3(0xE7,0xBA,0x90), + o3(0xE7,0xBA,0x93), o3(0xE7,0xBA,0x94), + o3(0xE7,0xBA,0x96), o3(0xE7,0xBA,0x8E), + o3(0xE7,0xBA,0x9B), o3(0xE7,0xBA,0x9C), + o3(0xE7,0xBC,0xB8), o3(0xE7,0xBC,0xBA), + o3(0xE7,0xBD,0x85), o3(0xE7,0xBD,0x8C), + o3(0xE7,0xBD,0x8D), o3(0xE7,0xBD,0x8E), + o3(0xE7,0xBD,0x90), o3(0xE7,0xBD,0x91), + o3(0xE7,0xBD,0x95), o3(0xE7,0xBD,0x94), + o3(0xE7,0xBD,0x98), o3(0xE7,0xBD,0x9F), + o3(0xE7,0xBD,0xA0), o3(0xE7,0xBD,0xA8), + o3(0xE7,0xBD,0xA9), o3(0xE7,0xBD,0xA7), + o3(0xE7,0xBD,0xB8), o3(0xE7,0xBE,0x82), + o3(0xE7,0xBE,0x86), o3(0xE7,0xBE,0x83), + o3(0xE7,0xBE,0x88), o3(0xE7,0xBE,0x87), + o3(0xE7,0xBE,0x8C), o3(0xE7,0xBE,0x94), + o3(0xE7,0xBE,0x9E), o3(0xE7,0xBE,0x9D), + o3(0xE7,0xBE,0x9A), o3(0xE7,0xBE,0xA3), + o3(0xE7,0xBE,0xAF), o3(0xE7,0xBE,0xB2), + o3(0xE7,0xBE,0xB9), o3(0xE7,0xBE,0xAE), + o3(0xE7,0xBE,0xB6), o3(0xE7,0xBE,0xB8), + o3(0xE8,0xAD,0xB1), o3(0xE7,0xBF,0x85), + o3(0xE7,0xBF,0x86), o3(0xE7,0xBF,0x8A), + o3(0xE7,0xBF,0x95), o3(0xE7,0xBF,0x94), + o3(0xE7,0xBF,0xA1), o3(0xE7,0xBF,0xA6), + o3(0xE7,0xBF,0xA9), o3(0xE7,0xBF,0xB3), + o3(0xE7,0xBF,0xB9), o3(0xE9,0xA3,0x9C), + o3(0xE8,0x80,0x86), o3(0xE8,0x80,0x84), + o3(0xE8,0x80,0x8B), o3(0xE8,0x80,0x92), + o3(0xE8,0x80,0x98), o3(0xE8,0x80,0x99), + o3(0xE8,0x80,0x9C), o3(0xE8,0x80,0xA1), + o3(0xE8,0x80,0xA8), o3(0xE8,0x80,0xBF), + o3(0xE8,0x80,0xBB), o3(0xE8,0x81,0x8A), + o3(0xE8,0x81,0x86), o3(0xE8,0x81,0x92), + o3(0xE8,0x81,0x98), o3(0xE8,0x81,0x9A), + o3(0xE8,0x81,0x9F), o3(0xE8,0x81,0xA2), + o3(0xE8,0x81,0xA8), o3(0xE8,0x81,0xB3), + o3(0xE8,0x81,0xB2), o3(0xE8,0x81,0xB0), + o3(0xE8,0x81,0xB6), o3(0xE8,0x81,0xB9), + o3(0xE8,0x81,0xBD), o3(0xE8,0x81,0xBF), + o3(0xE8,0x82,0x84), o3(0xE8,0x82,0x86), + o3(0xE8,0x82,0x85), o3(0xE8,0x82,0x9B), + o3(0xE8,0x82,0x93), o3(0xE8,0x82,0x9A), + o3(0xE8,0x82,0xAD), o3(0xE5,0x86,0x90), + o3(0xE8,0x82,0xAC), o3(0xE8,0x83,0x9B), + o3(0xE8,0x83,0xA5), o3(0xE8,0x83,0x99), + o3(0xE8,0x83,0x9D), o3(0xE8,0x83,0x84), + o3(0xE8,0x83,0x9A), o3(0xE8,0x83,0x96), + o3(0xE8,0x84,0x89), o3(0xE8,0x83,0xAF), + o3(0xE8,0x83,0xB1), o3(0xE8,0x84,0x9B), + o3(0xE8,0x84,0xA9), o3(0xE8,0x84,0xA3), + o3(0xE8,0x84,0xAF), o3(0xE8,0x85,0x8B), + UNDEF, +}; +static const BYTE_LOOKUP +from_SHIFT_JIS_E3 = { + from_SHIFT_JIS_89_offsets, + from_SHIFT_JIS_E3_infos +}; + +static const struct byte_lookup* const +from_SHIFT_JIS_E4_infos[189] = { + o3(0xE9,0x9A,0x8B), o3(0xE8,0x85,0x86), + o3(0xE8,0x84,0xBE), o3(0xE8,0x85,0x93), + o3(0xE8,0x85,0x91), o3(0xE8,0x83,0xBC), + o3(0xE8,0x85,0xB1), o3(0xE8,0x85,0xAE), + o3(0xE8,0x85,0xA5), o3(0xE8,0x85,0xA6), + o3(0xE8,0x85,0xB4), o3(0xE8,0x86,0x83), + o3(0xE8,0x86,0x88), o3(0xE8,0x86,0x8A), + o3(0xE8,0x86,0x80), o3(0xE8,0x86,0x82), + o3(0xE8,0x86,0xA0), o3(0xE8,0x86,0x95), + o3(0xE8,0x86,0xA4), o3(0xE8,0x86,0xA3), + o3(0xE8,0x85,0x9F), o3(0xE8,0x86,0x93), + o3(0xE8,0x86,0xA9), o3(0xE8,0x86,0xB0), + o3(0xE8,0x86,0xB5), o3(0xE8,0x86,0xBE), + o3(0xE8,0x86,0xB8), o3(0xE8,0x86,0xBD), + o3(0xE8,0x87,0x80), o3(0xE8,0x87,0x82), + o3(0xE8,0x86,0xBA), o3(0xE8,0x87,0x89), + o3(0xE8,0x87,0x8D), o3(0xE8,0x87,0x91), + o3(0xE8,0x87,0x99), o3(0xE8,0x87,0x98), + o3(0xE8,0x87,0x88), o3(0xE8,0x87,0x9A), + o3(0xE8,0x87,0x9F), o3(0xE8,0x87,0xA0), + o3(0xE8,0x87,0xA7), o3(0xE8,0x87,0xBA), + o3(0xE8,0x87,0xBB), o3(0xE8,0x87,0xBE), + o3(0xE8,0x88,0x81), o3(0xE8,0x88,0x82), + o3(0xE8,0x88,0x85), o3(0xE8,0x88,0x87), + o3(0xE8,0x88,0x8A), o3(0xE8,0x88,0x8D), + o3(0xE8,0x88,0x90), o3(0xE8,0x88,0x96), + o3(0xE8,0x88,0xA9), o3(0xE8,0x88,0xAB), + o3(0xE8,0x88,0xB8), o3(0xE8,0x88,0xB3), + o3(0xE8,0x89,0x80), o3(0xE8,0x89,0x99), + o3(0xE8,0x89,0x98), o3(0xE8,0x89,0x9D), + o3(0xE8,0x89,0x9A), o3(0xE8,0x89,0x9F), + o3(0xE8,0x89,0xA4), o3(0xE8,0x89,0xA2), + o3(0xE8,0x89,0xA8), o3(0xE8,0x89,0xAA), + o3(0xE8,0x89,0xAB), o3(0xE8,0x88,0xAE), + o3(0xE8,0x89,0xB1), o3(0xE8,0x89,0xB7), + o3(0xE8,0x89,0xB8), o3(0xE8,0x89,0xBE), + o3(0xE8,0x8A,0x8D), o3(0xE8,0x8A,0x92), + o3(0xE8,0x8A,0xAB), o3(0xE8,0x8A,0x9F), + o3(0xE8,0x8A,0xBB), o3(0xE8,0x8A,0xAC), + o3(0xE8,0x8B,0xA1), o3(0xE8,0x8B,0xA3), + o3(0xE8,0x8B,0x9F), o3(0xE8,0x8B,0x92), + o3(0xE8,0x8B,0xB4), o3(0xE8,0x8B,0xB3), + o3(0xE8,0x8B,0xBA), o3(0xE8,0x8E,0x93), + o3(0xE8,0x8C,0x83), o3(0xE8,0x8B,0xBB), + o3(0xE8,0x8B,0xB9), o3(0xE8,0x8B,0x9E), + o3(0xE8,0x8C,0x86), o3(0xE8,0x8B,0x9C), + o3(0xE8,0x8C,0x89), o3(0xE8,0x8B,0x99), + o3(0xE8,0x8C,0xB5), o3(0xE8,0x8C,0xB4), + o3(0xE8,0x8C,0x96), o3(0xE8,0x8C,0xB2), + o3(0xE8,0x8C,0xB1), o3(0xE8,0x8D,0x80), + o3(0xE8,0x8C,0xB9), o3(0xE8,0x8D,0x90), + o3(0xE8,0x8D,0x85), o3(0xE8,0x8C,0xAF), + o3(0xE8,0x8C,0xAB), o3(0xE8,0x8C,0x97), + o3(0xE8,0x8C,0x98), o3(0xE8,0x8E,0x85), + o3(0xE8,0x8E,0x9A), o3(0xE8,0x8E,0xAA), + o3(0xE8,0x8E,0x9F), o3(0xE8,0x8E,0xA2), + o3(0xE8,0x8E,0x96), o3(0xE8,0x8C,0xA3), + o3(0xE8,0x8E,0x8E), o3(0xE8,0x8E,0x87), + o3(0xE8,0x8E,0x8A), o3(0xE8,0x8D,0xBC), + o3(0xE8,0x8E,0xB5), o3(0xE8,0x8D,0xB3), + o3(0xE8,0x8D,0xB5), o3(0xE8,0x8E,0xA0), + o3(0xE8,0x8E,0x89), o3(0xE8,0x8E,0xA8), + o3(0xE8,0x8F,0xB4), o3(0xE8,0x90,0x93), + o3(0xE8,0x8F,0xAB), o3(0xE8,0x8F,0x8E), + o3(0xE8,0x8F,0xBD), o3(0xE8,0x90,0x83), + o3(0xE8,0x8F,0x98), o3(0xE8,0x90,0x8B), + o3(0xE8,0x8F,0x81), o3(0xE8,0x8F,0xB7), + o3(0xE8,0x90,0x87), o3(0xE8,0x8F,0xA0), + o3(0xE8,0x8F,0xB2), o3(0xE8,0x90,0x8D), + o3(0xE8,0x90,0xA2), o3(0xE8,0x90,0xA0), + o3(0xE8,0x8E,0xBD), o3(0xE8,0x90,0xB8), + o3(0xE8,0x94,0x86), o3(0xE8,0x8F,0xBB), + o3(0xE8,0x91,0xAD), o3(0xE8,0x90,0xAA), + o3(0xE8,0x90,0xBC), o3(0xE8,0x95,0x9A), + o3(0xE8,0x92,0x84), o3(0xE8,0x91,0xB7), + o3(0xE8,0x91,0xAB), o3(0xE8,0x92,0xAD), + o3(0xE8,0x91,0xAE), o3(0xE8,0x92,0x82), + o3(0xE8,0x91,0xA9), o3(0xE8,0x91,0x86), + o3(0xE8,0x90,0xAC), o3(0xE8,0x91,0xAF), + o3(0xE8,0x91,0xB9), o3(0xE8,0x90,0xB5), + o3(0xE8,0x93,0x8A), o3(0xE8,0x91,0xA2), + o3(0xE8,0x92,0xB9), o3(0xE8,0x92,0xBF), + o3(0xE8,0x92,0x9F), o3(0xE8,0x93,0x99), + o3(0xE8,0x93,0x8D), o3(0xE8,0x92,0xBB), + o3(0xE8,0x93,0x9A), o3(0xE8,0x93,0x90), + o3(0xE8,0x93,0x81), o3(0xE8,0x93,0x86), + o3(0xE8,0x93,0x96), o3(0xE8,0x92,0xA1), + o3(0xE8,0x94,0xA1), o3(0xE8,0x93,0xBF), + o3(0xE8,0x93,0xB4), o3(0xE8,0x94,0x97), + o3(0xE8,0x94,0x98), o3(0xE8,0x94,0xAC), + o3(0xE8,0x94,0x9F), o3(0xE8,0x94,0x95), + o3(0xE8,0x94,0x94), o3(0xE8,0x93,0xBC), + o3(0xE8,0x95,0x80), o3(0xE8,0x95,0xA3), + o3(0xE8,0x95,0x98), o3(0xE8,0x95,0x88), + UNDEF, +}; +static const BYTE_LOOKUP +from_SHIFT_JIS_E4 = { + from_SHIFT_JIS_89_offsets, + from_SHIFT_JIS_E4_infos +}; + +static const struct byte_lookup* const +from_SHIFT_JIS_E5_infos[189] = { + o3(0xE8,0x95,0x81), o3(0xE8,0x98,0x82), + o3(0xE8,0x95,0x8B), o3(0xE8,0x95,0x95), + o3(0xE8,0x96,0x80), o3(0xE8,0x96,0xA4), + o3(0xE8,0x96,0x88), o3(0xE8,0x96,0x91), + o3(0xE8,0x96,0x8A), o3(0xE8,0x96,0xA8), + o3(0xE8,0x95,0xAD), o3(0xE8,0x96,0x94), + o3(0xE8,0x96,0x9B), o3(0xE8,0x97,0xAA), + o3(0xE8,0x96,0x87), o3(0xE8,0x96,0x9C), + o3(0xE8,0x95,0xB7), o3(0xE8,0x95,0xBE), + o3(0xE8,0x96,0x90), o3(0xE8,0x97,0x89), + o3(0xE8,0x96,0xBA), o3(0xE8,0x97,0x8F), + o3(0xE8,0x96,0xB9), o3(0xE8,0x97,0x90), + o3(0xE8,0x97,0x95), o3(0xE8,0x97,0x9D), + o3(0xE8,0x97,0xA5), o3(0xE8,0x97,0x9C), + o3(0xE8,0x97,0xB9), o3(0xE8,0x98,0x8A), + o3(0xE8,0x98,0x93), o3(0xE8,0x98,0x8B), + o3(0xE8,0x97,0xBE), o3(0xE8,0x97,0xBA), + o3(0xE8,0x98,0x86), o3(0xE8,0x98,0xA2), + o3(0xE8,0x98,0x9A), o3(0xE8,0x98,0xB0), + o3(0xE8,0x98,0xBF), o3(0xE8,0x99,0x8D), + o3(0xE4,0xB9,0x95), o3(0xE8,0x99,0x94), + o3(0xE8,0x99,0x9F), o3(0xE8,0x99,0xA7), + o3(0xE8,0x99,0xB1), o3(0xE8,0x9A,0x93), + o3(0xE8,0x9A,0xA3), o3(0xE8,0x9A,0xA9), + o3(0xE8,0x9A,0xAA), o3(0xE8,0x9A,0x8B), + o3(0xE8,0x9A,0x8C), o3(0xE8,0x9A,0xB6), + o3(0xE8,0x9A,0xAF), o3(0xE8,0x9B,0x84), + o3(0xE8,0x9B,0x86), o3(0xE8,0x9A,0xB0), + o3(0xE8,0x9B,0x89), o3(0xE8,0xA0,0xA3), + o3(0xE8,0x9A,0xAB), o3(0xE8,0x9B,0x94), + o3(0xE8,0x9B,0x9E), o3(0xE8,0x9B,0xA9), + o3(0xE8,0x9B,0xAC), o3(0xE8,0x9B,0x9F), + o3(0xE8,0x9B,0x9B), o3(0xE8,0x9B,0xAF), + o3(0xE8,0x9C,0x92), o3(0xE8,0x9C,0x86), + o3(0xE8,0x9C,0x88), o3(0xE8,0x9C,0x80), + o3(0xE8,0x9C,0x83), o3(0xE8,0x9B,0xBB), + o3(0xE8,0x9C,0x91), o3(0xE8,0x9C,0x89), + o3(0xE8,0x9C,0x8D), o3(0xE8,0x9B,0xB9), + o3(0xE8,0x9C,0x8A), o3(0xE8,0x9C,0xB4), + o3(0xE8,0x9C,0xBF), o3(0xE8,0x9C,0xB7), + o3(0xE8,0x9C,0xBB), o3(0xE8,0x9C,0xA5), + o3(0xE8,0x9C,0xA9), o3(0xE8,0x9C,0x9A), + o3(0xE8,0x9D,0xA0), o3(0xE8,0x9D,0x9F), + o3(0xE8,0x9D,0xB8), o3(0xE8,0x9D,0x8C), + o3(0xE8,0x9D,0x8E), o3(0xE8,0x9D,0xB4), + o3(0xE8,0x9D,0x97), o3(0xE8,0x9D,0xA8), + o3(0xE8,0x9D,0xAE), o3(0xE8,0x9D,0x99), + o3(0xE8,0x9D,0x93), o3(0xE8,0x9D,0xA3), + o3(0xE8,0x9D,0xAA), o3(0xE8,0xA0,0x85), + o3(0xE8,0x9E,0xA2), o3(0xE8,0x9E,0x9F), + o3(0xE8,0x9E,0x82), o3(0xE8,0x9E,0xAF), + o3(0xE8,0x9F,0x8B), o3(0xE8,0x9E,0xBD), + o3(0xE8,0x9F,0x80), o3(0xE8,0x9F,0x90), + o3(0xE9,0x9B,0x96), o3(0xE8,0x9E,0xAB), + o3(0xE8,0x9F,0x84), o3(0xE8,0x9E,0xB3), + o3(0xE8,0x9F,0x87), o3(0xE8,0x9F,0x86), + o3(0xE8,0x9E,0xBB), o3(0xE8,0x9F,0xAF), + o3(0xE8,0x9F,0xB2), o3(0xE8,0x9F,0xA0), + o3(0xE8,0xA0,0x8F), o3(0xE8,0xA0,0x8D), + o3(0xE8,0x9F,0xBE), o3(0xE8,0x9F,0xB6), + o3(0xE8,0x9F,0xB7), o3(0xE8,0xA0,0x8E), + o3(0xE8,0x9F,0x92), o3(0xE8,0xA0,0x91), + o3(0xE8,0xA0,0x96), o3(0xE8,0xA0,0x95), + o3(0xE8,0xA0,0xA2), o3(0xE8,0xA0,0xA1), + o3(0xE8,0xA0,0xB1), o3(0xE8,0xA0,0xB6), + o3(0xE8,0xA0,0xB9), o3(0xE8,0xA0,0xA7), + o3(0xE8,0xA0,0xBB), o3(0xE8,0xA1,0x84), + o3(0xE8,0xA1,0x82), o3(0xE8,0xA1,0x92), + o3(0xE8,0xA1,0x99), o3(0xE8,0xA1,0x9E), + o3(0xE8,0xA1,0xA2), o3(0xE8,0xA1,0xAB), + o3(0xE8,0xA2,0x81), o3(0xE8,0xA1,0xBE), + o3(0xE8,0xA2,0x9E), o3(0xE8,0xA1,0xB5), + o3(0xE8,0xA1,0xBD), o3(0xE8,0xA2,0xB5), + o3(0xE8,0xA1,0xB2), o3(0xE8,0xA2,0x82), + o3(0xE8,0xA2,0x97), o3(0xE8,0xA2,0x92), + o3(0xE8,0xA2,0xAE), o3(0xE8,0xA2,0x99), + o3(0xE8,0xA2,0xA2), o3(0xE8,0xA2,0x8D), + o3(0xE8,0xA2,0xA4), o3(0xE8,0xA2,0xB0), + o3(0xE8,0xA2,0xBF), o3(0xE8,0xA2,0xB1), + o3(0xE8,0xA3,0x83), o3(0xE8,0xA3,0x84), + o3(0xE8,0xA3,0x94), o3(0xE8,0xA3,0x98), + o3(0xE8,0xA3,0x99), o3(0xE8,0xA3,0x9D), + o3(0xE8,0xA3,0xB9), o3(0xE8,0xA4,0x82), + o3(0xE8,0xA3,0xBC), o3(0xE8,0xA3,0xB4), + o3(0xE8,0xA3,0xA8), o3(0xE8,0xA3,0xB2), + o3(0xE8,0xA4,0x84), o3(0xE8,0xA4,0x8C), + o3(0xE8,0xA4,0x8A), o3(0xE8,0xA4,0x93), + o3(0xE8,0xA5,0x83), o3(0xE8,0xA4,0x9E), + o3(0xE8,0xA4,0xA5), o3(0xE8,0xA4,0xAA), + o3(0xE8,0xA4,0xAB), o3(0xE8,0xA5,0x81), + o3(0xE8,0xA5,0x84), o3(0xE8,0xA4,0xBB), + o3(0xE8,0xA4,0xB6), o3(0xE8,0xA4,0xB8), + o3(0xE8,0xA5,0x8C), o3(0xE8,0xA4,0x9D), + o3(0xE8,0xA5,0xA0), o3(0xE8,0xA5,0x9E), + UNDEF, +}; +static const BYTE_LOOKUP +from_SHIFT_JIS_E5 = { + from_SHIFT_JIS_89_offsets, + from_SHIFT_JIS_E5_infos +}; + +static const struct byte_lookup* const +from_SHIFT_JIS_E6_infos[189] = { + o3(0xE8,0xA5,0xA6), o3(0xE8,0xA5,0xA4), + o3(0xE8,0xA5,0xAD), o3(0xE8,0xA5,0xAA), + o3(0xE8,0xA5,0xAF), o3(0xE8,0xA5,0xB4), + o3(0xE8,0xA5,0xB7), o3(0xE8,0xA5,0xBE), + o3(0xE8,0xA6,0x83), o3(0xE8,0xA6,0x88), + o3(0xE8,0xA6,0x8A), o3(0xE8,0xA6,0x93), + o3(0xE8,0xA6,0x98), o3(0xE8,0xA6,0xA1), + o3(0xE8,0xA6,0xA9), o3(0xE8,0xA6,0xA6), + o3(0xE8,0xA6,0xAC), o3(0xE8,0xA6,0xAF), + o3(0xE8,0xA6,0xB2), o3(0xE8,0xA6,0xBA), + o3(0xE8,0xA6,0xBD), o3(0xE8,0xA6,0xBF), + o3(0xE8,0xA7,0x80), o3(0xE8,0xA7,0x9A), + o3(0xE8,0xA7,0x9C), o3(0xE8,0xA7,0x9D), + o3(0xE8,0xA7,0xA7), o3(0xE8,0xA7,0xB4), + o3(0xE8,0xA7,0xB8), o3(0xE8,0xA8,0x83), + o3(0xE8,0xA8,0x96), o3(0xE8,0xA8,0x90), + o3(0xE8,0xA8,0x8C), o3(0xE8,0xA8,0x9B), + o3(0xE8,0xA8,0x9D), o3(0xE8,0xA8,0xA5), + o3(0xE8,0xA8,0xB6), o3(0xE8,0xA9,0x81), + o3(0xE8,0xA9,0x9B), o3(0xE8,0xA9,0x92), + o3(0xE8,0xA9,0x86), o3(0xE8,0xA9,0x88), + o3(0xE8,0xA9,0xBC), o3(0xE8,0xA9,0xAD), + o3(0xE8,0xA9,0xAC), o3(0xE8,0xA9,0xA2), + o3(0xE8,0xAA,0x85), o3(0xE8,0xAA,0x82), + o3(0xE8,0xAA,0x84), o3(0xE8,0xAA,0xA8), + o3(0xE8,0xAA,0xA1), o3(0xE8,0xAA,0x91), + o3(0xE8,0xAA,0xA5), o3(0xE8,0xAA,0xA6), + o3(0xE8,0xAA,0x9A), o3(0xE8,0xAA,0xA3), + o3(0xE8,0xAB,0x84), o3(0xE8,0xAB,0x8D), + o3(0xE8,0xAB,0x82), o3(0xE8,0xAB,0x9A), + o3(0xE8,0xAB,0xAB), o3(0xE8,0xAB,0xB3), + o3(0xE8,0xAB,0xA7), o3(0xE8,0xAB,0xA4), + o3(0xE8,0xAB,0xB1), o3(0xE8,0xAC,0x94), + o3(0xE8,0xAB,0xA0), o3(0xE8,0xAB,0xA2), + o3(0xE8,0xAB,0xB7), o3(0xE8,0xAB,0x9E), + o3(0xE8,0xAB,0x9B), o3(0xE8,0xAC,0x8C), + o3(0xE8,0xAC,0x87), o3(0xE8,0xAC,0x9A), + o3(0xE8,0xAB,0xA1), o3(0xE8,0xAC,0x96), + o3(0xE8,0xAC,0x90), o3(0xE8,0xAC,0x97), + o3(0xE8,0xAC,0xA0), o3(0xE8,0xAC,0xB3), + o3(0xE9,0x9E,0xAB), o3(0xE8,0xAC,0xA6), + o3(0xE8,0xAC,0xAB), o3(0xE8,0xAC,0xBE), + o3(0xE8,0xAC,0xA8), o3(0xE8,0xAD,0x81), + o3(0xE8,0xAD,0x8C), o3(0xE8,0xAD,0x8F), + o3(0xE8,0xAD,0x8E), o3(0xE8,0xAD,0x89), + o3(0xE8,0xAD,0x96), o3(0xE8,0xAD,0x9B), + o3(0xE8,0xAD,0x9A), o3(0xE8,0xAD,0xAB), + o3(0xE8,0xAD,0x9F), o3(0xE8,0xAD,0xAC), + o3(0xE8,0xAD,0xAF), o3(0xE8,0xAD,0xB4), + o3(0xE8,0xAD,0xBD), o3(0xE8,0xAE,0x80), + o3(0xE8,0xAE,0x8C), o3(0xE8,0xAE,0x8E), + o3(0xE8,0xAE,0x92), o3(0xE8,0xAE,0x93), + o3(0xE8,0xAE,0x96), o3(0xE8,0xAE,0x99), + o3(0xE8,0xAE,0x9A), o3(0xE8,0xB0,0xBA), + o3(0xE8,0xB1,0x81), o3(0xE8,0xB0,0xBF), + o3(0xE8,0xB1,0x88), o3(0xE8,0xB1,0x8C), + o3(0xE8,0xB1,0x8E), o3(0xE8,0xB1,0x90), + o3(0xE8,0xB1,0x95), o3(0xE8,0xB1,0xA2), + o3(0xE8,0xB1,0xAC), o3(0xE8,0xB1,0xB8), + o3(0xE8,0xB1,0xBA), o3(0xE8,0xB2,0x82), + o3(0xE8,0xB2,0x89), o3(0xE8,0xB2,0x85), + o3(0xE8,0xB2,0x8A), o3(0xE8,0xB2,0x8D), + o3(0xE8,0xB2,0x8E), o3(0xE8,0xB2,0x94), + o3(0xE8,0xB1,0xBC), o3(0xE8,0xB2,0x98), + o3(0xE6,0x88,0x9D), o3(0xE8,0xB2,0xAD), + o3(0xE8,0xB2,0xAA), o3(0xE8,0xB2,0xBD), + o3(0xE8,0xB2,0xB2), o3(0xE8,0xB2,0xB3), + o3(0xE8,0xB2,0xAE), o3(0xE8,0xB2,0xB6), + o3(0xE8,0xB3,0x88), o3(0xE8,0xB3,0x81), + o3(0xE8,0xB3,0xA4), o3(0xE8,0xB3,0xA3), + o3(0xE8,0xB3,0x9A), o3(0xE8,0xB3,0xBD), + o3(0xE8,0xB3,0xBA), o3(0xE8,0xB3,0xBB), + o3(0xE8,0xB4,0x84), o3(0xE8,0xB4,0x85), + o3(0xE8,0xB4,0x8A), o3(0xE8,0xB4,0x87), + o3(0xE8,0xB4,0x8F), o3(0xE8,0xB4,0x8D), + o3(0xE8,0xB4,0x90), o3(0xE9,0xBD,0x8E), + o3(0xE8,0xB4,0x93), o3(0xE8,0xB3,0x8D), + o3(0xE8,0xB4,0x94), o3(0xE8,0xB4,0x96), + o3(0xE8,0xB5,0xA7), o3(0xE8,0xB5,0xAD), + o3(0xE8,0xB5,0xB1), o3(0xE8,0xB5,0xB3), + o3(0xE8,0xB6,0x81), o3(0xE8,0xB6,0x99), + o3(0xE8,0xB7,0x82), o3(0xE8,0xB6,0xBE), + o3(0xE8,0xB6,0xBA), o3(0xE8,0xB7,0x8F), + o3(0xE8,0xB7,0x9A), o3(0xE8,0xB7,0x96), + o3(0xE8,0xB7,0x8C), o3(0xE8,0xB7,0x9B), + o3(0xE8,0xB7,0x8B), o3(0xE8,0xB7,0xAA), + o3(0xE8,0xB7,0xAB), o3(0xE8,0xB7,0x9F), + o3(0xE8,0xB7,0xA3), o3(0xE8,0xB7,0xBC), + o3(0xE8,0xB8,0x88), o3(0xE8,0xB8,0x89), + o3(0xE8,0xB7,0xBF), o3(0xE8,0xB8,0x9D), + o3(0xE8,0xB8,0x9E), o3(0xE8,0xB8,0x90), + o3(0xE8,0xB8,0x9F), o3(0xE8,0xB9,0x82), + o3(0xE8,0xB8,0xB5), o3(0xE8,0xB8,0xB0), + o3(0xE8,0xB8,0xB4), o3(0xE8,0xB9,0x8A), + UNDEF, +}; +static const BYTE_LOOKUP +from_SHIFT_JIS_E6 = { + from_SHIFT_JIS_89_offsets, + from_SHIFT_JIS_E6_infos +}; + +static const struct byte_lookup* const +from_SHIFT_JIS_E7_infos[189] = { + o3(0xE8,0xB9,0x87), o3(0xE8,0xB9,0x89), + o3(0xE8,0xB9,0x8C), o3(0xE8,0xB9,0x90), + o3(0xE8,0xB9,0x88), o3(0xE8,0xB9,0x99), + o3(0xE8,0xB9,0xA4), o3(0xE8,0xB9,0xA0), + o3(0xE8,0xB8,0xAA), o3(0xE8,0xB9,0xA3), + o3(0xE8,0xB9,0x95), o3(0xE8,0xB9,0xB6), + o3(0xE8,0xB9,0xB2), o3(0xE8,0xB9,0xBC), + o3(0xE8,0xBA,0x81), o3(0xE8,0xBA,0x87), + o3(0xE8,0xBA,0x85), o3(0xE8,0xBA,0x84), + o3(0xE8,0xBA,0x8B), o3(0xE8,0xBA,0x8A), + o3(0xE8,0xBA,0x93), o3(0xE8,0xBA,0x91), + o3(0xE8,0xBA,0x94), o3(0xE8,0xBA,0x99), + o3(0xE8,0xBA,0xAA), o3(0xE8,0xBA,0xA1), + o3(0xE8,0xBA,0xAC), o3(0xE8,0xBA,0xB0), + o3(0xE8,0xBB,0x86), o3(0xE8,0xBA,0xB1), + o3(0xE8,0xBA,0xBE), o3(0xE8,0xBB,0x85), + o3(0xE8,0xBB,0x88), o3(0xE8,0xBB,0x8B), + o3(0xE8,0xBB,0x9B), o3(0xE8,0xBB,0xA3), + o3(0xE8,0xBB,0xBC), o3(0xE8,0xBB,0xBB), + o3(0xE8,0xBB,0xAB), o3(0xE8,0xBB,0xBE), + o3(0xE8,0xBC,0x8A), o3(0xE8,0xBC,0x85), + o3(0xE8,0xBC,0x95), o3(0xE8,0xBC,0x92), + o3(0xE8,0xBC,0x99), o3(0xE8,0xBC,0x93), + o3(0xE8,0xBC,0x9C), o3(0xE8,0xBC,0x9F), + o3(0xE8,0xBC,0x9B), o3(0xE8,0xBC,0x8C), + o3(0xE8,0xBC,0xA6), o3(0xE8,0xBC,0xB3), + o3(0xE8,0xBC,0xBB), o3(0xE8,0xBC,0xB9), + o3(0xE8,0xBD,0x85), o3(0xE8,0xBD,0x82), + o3(0xE8,0xBC,0xBE), o3(0xE8,0xBD,0x8C), + o3(0xE8,0xBD,0x89), o3(0xE8,0xBD,0x86), + o3(0xE8,0xBD,0x8E), o3(0xE8,0xBD,0x97), + o3(0xE8,0xBD,0x9C), o3(0xE8,0xBD,0xA2), + o3(0xE8,0xBD,0xA3), o3(0xE8,0xBD,0xA4), + o3(0xE8,0xBE,0x9C), o3(0xE8,0xBE,0x9F), + o3(0xE8,0xBE,0xA3), o3(0xE8,0xBE,0xAD), + o3(0xE8,0xBE,0xAF), o3(0xE8,0xBE,0xB7), + o3(0xE8,0xBF,0x9A), o3(0xE8,0xBF,0xA5), + o3(0xE8,0xBF,0xA2), o3(0xE8,0xBF,0xAA), + o3(0xE8,0xBF,0xAF), o3(0xE9,0x82,0x87), + o3(0xE8,0xBF,0xB4), o3(0xE9,0x80,0x85), + o3(0xE8,0xBF,0xB9), o3(0xE8,0xBF,0xBA), + o3(0xE9,0x80,0x91), o3(0xE9,0x80,0x95), + o3(0xE9,0x80,0xA1), o3(0xE9,0x80,0x8D), + o3(0xE9,0x80,0x9E), o3(0xE9,0x80,0x96), + o3(0xE9,0x80,0x8B), o3(0xE9,0x80,0xA7), + o3(0xE9,0x80,0xB6), o3(0xE9,0x80,0xB5), + o3(0xE9,0x80,0xB9), o3(0xE8,0xBF,0xB8), + o3(0xE9,0x81,0x8F), o3(0xE9,0x81,0x90), + o3(0xE9,0x81,0x91), o3(0xE9,0x81,0x92), + o3(0xE9,0x80,0x8E), o3(0xE9,0x81,0x89), + o3(0xE9,0x80,0xBE), o3(0xE9,0x81,0x96), + o3(0xE9,0x81,0x98), o3(0xE9,0x81,0x9E), + o3(0xE9,0x81,0xA8), o3(0xE9,0x81,0xAF), + o3(0xE9,0x81,0xB6), o3(0xE9,0x9A,0xA8), + o3(0xE9,0x81,0xB2), o3(0xE9,0x82,0x82), + o3(0xE9,0x81,0xBD), o3(0xE9,0x82,0x81), + o3(0xE9,0x82,0x80), o3(0xE9,0x82,0x8A), + o3(0xE9,0x82,0x89), o3(0xE9,0x82,0x8F), + o3(0xE9,0x82,0xA8), o3(0xE9,0x82,0xAF), + o3(0xE9,0x82,0xB1), o3(0xE9,0x82,0xB5), + o3(0xE9,0x83,0xA2), o3(0xE9,0x83,0xA4), + o3(0xE6,0x89,0x88), o3(0xE9,0x83,0x9B), + o3(0xE9,0x84,0x82), o3(0xE9,0x84,0x92), + o3(0xE9,0x84,0x99), o3(0xE9,0x84,0xB2), + o3(0xE9,0x84,0xB0), o3(0xE9,0x85,0x8A), + o3(0xE9,0x85,0x96), o3(0xE9,0x85,0x98), + o3(0xE9,0x85,0xA3), o3(0xE9,0x85,0xA5), + o3(0xE9,0x85,0xA9), o3(0xE9,0x85,0xB3), + o3(0xE9,0x85,0xB2), o3(0xE9,0x86,0x8B), + o3(0xE9,0x86,0x89), o3(0xE9,0x86,0x82), + o3(0xE9,0x86,0xA2), o3(0xE9,0x86,0xAB), + o3(0xE9,0x86,0xAF), o3(0xE9,0x86,0xAA), + o3(0xE9,0x86,0xB5), o3(0xE9,0x86,0xB4), + o3(0xE9,0x86,0xBA), o3(0xE9,0x87,0x80), + o3(0xE9,0x87,0x81), o3(0xE9,0x87,0x89), + o3(0xE9,0x87,0x8B), o3(0xE9,0x87,0x90), + o3(0xE9,0x87,0x96), o3(0xE9,0x87,0x9F), + o3(0xE9,0x87,0xA1), o3(0xE9,0x87,0x9B), + o3(0xE9,0x87,0xBC), o3(0xE9,0x87,0xB5), + o3(0xE9,0x87,0xB6), o3(0xE9,0x88,0x9E), + o3(0xE9,0x87,0xBF), o3(0xE9,0x88,0x94), + o3(0xE9,0x88,0xAC), o3(0xE9,0x88,0x95), + o3(0xE9,0x88,0x91), o3(0xE9,0x89,0x9E), + o3(0xE9,0x89,0x97), o3(0xE9,0x89,0x85), + o3(0xE9,0x89,0x89), o3(0xE9,0x89,0xA4), + o3(0xE9,0x89,0x88), o3(0xE9,0x8A,0x95), + o3(0xE9,0x88,0xBF), o3(0xE9,0x89,0x8B), + o3(0xE9,0x89,0x90), o3(0xE9,0x8A,0x9C), + o3(0xE9,0x8A,0x96), o3(0xE9,0x8A,0x93), + o3(0xE9,0x8A,0x9B), o3(0xE9,0x89,0x9A), + o3(0xE9,0x8B,0x8F), o3(0xE9,0x8A,0xB9), + o3(0xE9,0x8A,0xB7), o3(0xE9,0x8B,0xA9), + o3(0xE9,0x8C,0x8F), o3(0xE9,0x8B,0xBA), + o3(0xE9,0x8D,0x84), o3(0xE9,0x8C,0xAE), + UNDEF, +}; +static const BYTE_LOOKUP +from_SHIFT_JIS_E7 = { + from_SHIFT_JIS_89_offsets, + from_SHIFT_JIS_E7_infos +}; + +static const struct byte_lookup* const +from_SHIFT_JIS_E8_infos[189] = { + o3(0xE9,0x8C,0x99), o3(0xE9,0x8C,0xA2), + o3(0xE9,0x8C,0x9A), o3(0xE9,0x8C,0xA3), + o3(0xE9,0x8C,0xBA), o3(0xE9,0x8C,0xB5), + o3(0xE9,0x8C,0xBB), o3(0xE9,0x8D,0x9C), + o3(0xE9,0x8D,0xA0), o3(0xE9,0x8D,0xBC), + o3(0xE9,0x8D,0xAE), o3(0xE9,0x8D,0x96), + o3(0xE9,0x8E,0xB0), o3(0xE9,0x8E,0xAC), + o3(0xE9,0x8E,0xAD), o3(0xE9,0x8E,0x94), + o3(0xE9,0x8E,0xB9), o3(0xE9,0x8F,0x96), + o3(0xE9,0x8F,0x97), o3(0xE9,0x8F,0xA8), + o3(0xE9,0x8F,0xA5), o3(0xE9,0x8F,0x98), + o3(0xE9,0x8F,0x83), o3(0xE9,0x8F,0x9D), + o3(0xE9,0x8F,0x90), o3(0xE9,0x8F,0x88), + o3(0xE9,0x8F,0xA4), o3(0xE9,0x90,0x9A), + o3(0xE9,0x90,0x94), o3(0xE9,0x90,0x93), + o3(0xE9,0x90,0x83), o3(0xE9,0x90,0x87), + o3(0xE9,0x90,0x90), o3(0xE9,0x90,0xB6), + o3(0xE9,0x90,0xAB), o3(0xE9,0x90,0xB5), + o3(0xE9,0x90,0xA1), o3(0xE9,0x90,0xBA), + o3(0xE9,0x91,0x81), o3(0xE9,0x91,0x92), + o3(0xE9,0x91,0x84), o3(0xE9,0x91,0x9B), + o3(0xE9,0x91,0xA0), o3(0xE9,0x91,0xA2), + o3(0xE9,0x91,0x9E), o3(0xE9,0x91,0xAA), + o3(0xE9,0x88,0xA9), o3(0xE9,0x91,0xB0), + o3(0xE9,0x91,0xB5), o3(0xE9,0x91,0xB7), + o3(0xE9,0x91,0xBD), o3(0xE9,0x91,0x9A), + o3(0xE9,0x91,0xBC), o3(0xE9,0x91,0xBE), + o3(0xE9,0x92,0x81), o3(0xE9,0x91,0xBF), + o3(0xE9,0x96,0x82), o3(0xE9,0x96,0x87), + o3(0xE9,0x96,0x8A), o3(0xE9,0x96,0x94), + o3(0xE9,0x96,0x96), o3(0xE9,0x96,0x98), + o3(0xE9,0x96,0x99), o3(0xE9,0x96,0xA0), + o3(0xE9,0x96,0xA8), o3(0xE9,0x96,0xA7), + o3(0xE9,0x96,0xAD), o3(0xE9,0x96,0xBC), + o3(0xE9,0x96,0xBB), o3(0xE9,0x96,0xB9), + o3(0xE9,0x96,0xBE), o3(0xE9,0x97,0x8A), + o3(0xE6,0xBF,0xB6), o3(0xE9,0x97,0x83), + o3(0xE9,0x97,0x8D), o3(0xE9,0x97,0x8C), + o3(0xE9,0x97,0x95), o3(0xE9,0x97,0x94), + o3(0xE9,0x97,0x96), o3(0xE9,0x97,0x9C), + o3(0xE9,0x97,0xA1), o3(0xE9,0x97,0xA5), + o3(0xE9,0x97,0xA2), o3(0xE9,0x98,0xA1), + o3(0xE9,0x98,0xA8), o3(0xE9,0x98,0xAE), + o3(0xE9,0x98,0xAF), o3(0xE9,0x99,0x82), + o3(0xE9,0x99,0x8C), o3(0xE9,0x99,0x8F), + o3(0xE9,0x99,0x8B), o3(0xE9,0x99,0xB7), + o3(0xE9,0x99,0x9C), o3(0xE9,0x99,0x9E), + o3(0xE9,0x99,0x9D), o3(0xE9,0x99,0x9F), + o3(0xE9,0x99,0xA6), o3(0xE9,0x99,0xB2), + o3(0xE9,0x99,0xAC), o3(0xE9,0x9A,0x8D), + o3(0xE9,0x9A,0x98), o3(0xE9,0x9A,0x95), + o3(0xE9,0x9A,0x97), o3(0xE9,0x9A,0xAA), + o3(0xE9,0x9A,0xA7), o3(0xE9,0x9A,0xB1), + o3(0xE9,0x9A,0xB2), o3(0xE9,0x9A,0xB0), + o3(0xE9,0x9A,0xB4), o3(0xE9,0x9A,0xB6), + o3(0xE9,0x9A,0xB8), o3(0xE9,0x9A,0xB9), + o3(0xE9,0x9B,0x8E), o3(0xE9,0x9B,0x8B), + o3(0xE9,0x9B,0x89), o3(0xE9,0x9B,0x8D), + o3(0xE8,0xA5,0x8D), o3(0xE9,0x9B,0x9C), + o3(0xE9,0x9C,0x8D), o3(0xE9,0x9B,0x95), + o3(0xE9,0x9B,0xB9), o3(0xE9,0x9C,0x84), + o3(0xE9,0x9C,0x86), o3(0xE9,0x9C,0x88), + o3(0xE9,0x9C,0x93), o3(0xE9,0x9C,0x8E), + o3(0xE9,0x9C,0x91), o3(0xE9,0x9C,0x8F), + o3(0xE9,0x9C,0x96), o3(0xE9,0x9C,0x99), + o3(0xE9,0x9C,0xA4), o3(0xE9,0x9C,0xAA), + o3(0xE9,0x9C,0xB0), o3(0xE9,0x9C,0xB9), + o3(0xE9,0x9C,0xBD), o3(0xE9,0x9C,0xBE), + o3(0xE9,0x9D,0x84), o3(0xE9,0x9D,0x86), + o3(0xE9,0x9D,0x88), o3(0xE9,0x9D,0x82), + o3(0xE9,0x9D,0x89), o3(0xE9,0x9D,0x9C), + o3(0xE9,0x9D,0xA0), o3(0xE9,0x9D,0xA4), + o3(0xE9,0x9D,0xA6), o3(0xE9,0x9D,0xA8), + o3(0xE5,0x8B,0x92), o3(0xE9,0x9D,0xAB), + o3(0xE9,0x9D,0xB1), o3(0xE9,0x9D,0xB9), + o3(0xE9,0x9E,0x85), o3(0xE9,0x9D,0xBC), + o3(0xE9,0x9E,0x81), o3(0xE9,0x9D,0xBA), + o3(0xE9,0x9E,0x86), o3(0xE9,0x9E,0x8B), + o3(0xE9,0x9E,0x8F), o3(0xE9,0x9E,0x90), + o3(0xE9,0x9E,0x9C), o3(0xE9,0x9E,0xA8), + o3(0xE9,0x9E,0xA6), o3(0xE9,0x9E,0xA3), + o3(0xE9,0x9E,0xB3), o3(0xE9,0x9E,0xB4), + o3(0xE9,0x9F,0x83), o3(0xE9,0x9F,0x86), + o3(0xE9,0x9F,0x88), o3(0xE9,0x9F,0x8B), + o3(0xE9,0x9F,0x9C), o3(0xE9,0x9F,0xAD), + o3(0xE9,0xBD,0x8F), o3(0xE9,0x9F,0xB2), + o3(0xE7,0xAB,0x9F), o3(0xE9,0x9F,0xB6), + o3(0xE9,0x9F,0xB5), o3(0xE9,0xA0,0x8F), + o3(0xE9,0xA0,0x8C), o3(0xE9,0xA0,0xB8), + o3(0xE9,0xA0,0xA4), o3(0xE9,0xA0,0xA1), + o3(0xE9,0xA0,0xB7), o3(0xE9,0xA0,0xBD), + o3(0xE9,0xA1,0x86), o3(0xE9,0xA1,0x8F), + o3(0xE9,0xA1,0x8B), o3(0xE9,0xA1,0xAB), + o3(0xE9,0xA1,0xAF), o3(0xE9,0xA1,0xB0), + UNDEF, +}; +static const BYTE_LOOKUP +from_SHIFT_JIS_E8 = { + from_SHIFT_JIS_89_offsets, + from_SHIFT_JIS_E8_infos +}; + +static const struct byte_lookup* const +from_SHIFT_JIS_E9_infos[189] = { + o3(0xE9,0xA1,0xB1), o3(0xE9,0xA1,0xB4), + o3(0xE9,0xA1,0xB3), o3(0xE9,0xA2,0xAA), + o3(0xE9,0xA2,0xAF), o3(0xE9,0xA2,0xB1), + o3(0xE9,0xA2,0xB6), o3(0xE9,0xA3,0x84), + o3(0xE9,0xA3,0x83), o3(0xE9,0xA3,0x86), + o3(0xE9,0xA3,0xA9), o3(0xE9,0xA3,0xAB), + o3(0xE9,0xA4,0x83), o3(0xE9,0xA4,0x89), + o3(0xE9,0xA4,0x92), o3(0xE9,0xA4,0x94), + o3(0xE9,0xA4,0x98), o3(0xE9,0xA4,0xA1), + o3(0xE9,0xA4,0x9D), o3(0xE9,0xA4,0x9E), + o3(0xE9,0xA4,0xA4), o3(0xE9,0xA4,0xA0), + o3(0xE9,0xA4,0xAC), o3(0xE9,0xA4,0xAE), + o3(0xE9,0xA4,0xBD), o3(0xE9,0xA4,0xBE), + o3(0xE9,0xA5,0x82), o3(0xE9,0xA5,0x89), + o3(0xE9,0xA5,0x85), o3(0xE9,0xA5,0x90), + o3(0xE9,0xA5,0x8B), o3(0xE9,0xA5,0x91), + o3(0xE9,0xA5,0x92), o3(0xE9,0xA5,0x8C), + o3(0xE9,0xA5,0x95), o3(0xE9,0xA6,0x97), + o3(0xE9,0xA6,0x98), o3(0xE9,0xA6,0xA5), + o3(0xE9,0xA6,0xAD), o3(0xE9,0xA6,0xAE), + o3(0xE9,0xA6,0xBC), o3(0xE9,0xA7,0x9F), + o3(0xE9,0xA7,0x9B), o3(0xE9,0xA7,0x9D), + o3(0xE9,0xA7,0x98), o3(0xE9,0xA7,0x91), + o3(0xE9,0xA7,0xAD), o3(0xE9,0xA7,0xAE), + o3(0xE9,0xA7,0xB1), o3(0xE9,0xA7,0xB2), + o3(0xE9,0xA7,0xBB), o3(0xE9,0xA7,0xB8), + o3(0xE9,0xA8,0x81), o3(0xE9,0xA8,0x8F), + o3(0xE9,0xA8,0x85), o3(0xE9,0xA7,0xA2), + o3(0xE9,0xA8,0x99), o3(0xE9,0xA8,0xAB), + o3(0xE9,0xA8,0xB7), o3(0xE9,0xA9,0x85), + o3(0xE9,0xA9,0x82), o3(0xE9,0xA9,0x80), + o3(0xE9,0xA9,0x83), o3(0xE9,0xA8,0xBE), + o3(0xE9,0xA9,0x95), o3(0xE9,0xA9,0x8D), + o3(0xE9,0xA9,0x9B), o3(0xE9,0xA9,0x97), + o3(0xE9,0xA9,0x9F), o3(0xE9,0xA9,0xA2), + o3(0xE9,0xA9,0xA5), o3(0xE9,0xA9,0xA4), + o3(0xE9,0xA9,0xA9), o3(0xE9,0xA9,0xAB), + o3(0xE9,0xA9,0xAA), o3(0xE9,0xAA,0xAD), + o3(0xE9,0xAA,0xB0), o3(0xE9,0xAA,0xBC), + o3(0xE9,0xAB,0x80), o3(0xE9,0xAB,0x8F), + o3(0xE9,0xAB,0x91), o3(0xE9,0xAB,0x93), + o3(0xE9,0xAB,0x94), o3(0xE9,0xAB,0x9E), + o3(0xE9,0xAB,0x9F), o3(0xE9,0xAB,0xA2), + o3(0xE9,0xAB,0xA3), o3(0xE9,0xAB,0xA6), + o3(0xE9,0xAB,0xAF), o3(0xE9,0xAB,0xAB), + o3(0xE9,0xAB,0xAE), o3(0xE9,0xAB,0xB4), + o3(0xE9,0xAB,0xB1), o3(0xE9,0xAB,0xB7), + o3(0xE9,0xAB,0xBB), o3(0xE9,0xAC,0x86), + o3(0xE9,0xAC,0x98), o3(0xE9,0xAC,0x9A), + o3(0xE9,0xAC,0x9F), o3(0xE9,0xAC,0xA2), + o3(0xE9,0xAC,0xA3), o3(0xE9,0xAC,0xA5), + o3(0xE9,0xAC,0xA7), o3(0xE9,0xAC,0xA8), + o3(0xE9,0xAC,0xA9), o3(0xE9,0xAC,0xAA), + o3(0xE9,0xAC,0xAE), o3(0xE9,0xAC,0xAF), + o3(0xE9,0xAC,0xB2), o3(0xE9,0xAD,0x84), + o3(0xE9,0xAD,0x83), o3(0xE9,0xAD,0x8F), + o3(0xE9,0xAD,0x8D), o3(0xE9,0xAD,0x8E), + o3(0xE9,0xAD,0x91), o3(0xE9,0xAD,0x98), + o3(0xE9,0xAD,0xB4), o3(0xE9,0xAE,0x93), + o3(0xE9,0xAE,0x83), o3(0xE9,0xAE,0x91), + o3(0xE9,0xAE,0x96), o3(0xE9,0xAE,0x97), + o3(0xE9,0xAE,0x9F), o3(0xE9,0xAE,0xA0), + o3(0xE9,0xAE,0xA8), o3(0xE9,0xAE,0xB4), + o3(0xE9,0xAF,0x80), o3(0xE9,0xAF,0x8A), + o3(0xE9,0xAE,0xB9), o3(0xE9,0xAF,0x86), + o3(0xE9,0xAF,0x8F), o3(0xE9,0xAF,0x91), + o3(0xE9,0xAF,0x92), o3(0xE9,0xAF,0xA3), + o3(0xE9,0xAF,0xA2), o3(0xE9,0xAF,0xA4), + o3(0xE9,0xAF,0x94), o3(0xE9,0xAF,0xA1), + o3(0xE9,0xB0,0xBA), o3(0xE9,0xAF,0xB2), + o3(0xE9,0xAF,0xB1), o3(0xE9,0xAF,0xB0), + o3(0xE9,0xB0,0x95), o3(0xE9,0xB0,0x94), + o3(0xE9,0xB0,0x89), o3(0xE9,0xB0,0x93), + o3(0xE9,0xB0,0x8C), o3(0xE9,0xB0,0x86), + o3(0xE9,0xB0,0x88), o3(0xE9,0xB0,0x92), + o3(0xE9,0xB0,0x8A), o3(0xE9,0xB0,0x84), + o3(0xE9,0xB0,0xAE), o3(0xE9,0xB0,0x9B), + o3(0xE9,0xB0,0xA5), o3(0xE9,0xB0,0xA4), + o3(0xE9,0xB0,0xA1), o3(0xE9,0xB0,0xB0), + o3(0xE9,0xB1,0x87), o3(0xE9,0xB0,0xB2), + o3(0xE9,0xB1,0x86), o3(0xE9,0xB0,0xBE), + o3(0xE9,0xB1,0x9A), o3(0xE9,0xB1,0xA0), + o3(0xE9,0xB1,0xA7), o3(0xE9,0xB1,0xB6), + o3(0xE9,0xB1,0xB8), o3(0xE9,0xB3,0xA7), + o3(0xE9,0xB3,0xAC), o3(0xE9,0xB3,0xB0), + o3(0xE9,0xB4,0x89), o3(0xE9,0xB4,0x88), + o3(0xE9,0xB3,0xAB), o3(0xE9,0xB4,0x83), + o3(0xE9,0xB4,0x86), o3(0xE9,0xB4,0xAA), + o3(0xE9,0xB4,0xA6), o3(0xE9,0xB6,0xAF), + o3(0xE9,0xB4,0xA3), o3(0xE9,0xB4,0x9F), + o3(0xE9,0xB5,0x84), o3(0xE9,0xB4,0x95), + o3(0xE9,0xB4,0x92), o3(0xE9,0xB5,0x81), + o3(0xE9,0xB4,0xBF), o3(0xE9,0xB4,0xBE), + o3(0xE9,0xB5,0x86), o3(0xE9,0xB5,0x88), + UNDEF, +}; +static const BYTE_LOOKUP +from_SHIFT_JIS_E9 = { + from_SHIFT_JIS_89_offsets, + from_SHIFT_JIS_E9_infos +}; + +static const unsigned char +from_SHIFT_JIS_EA_offsets[256] = { + 100,100,100,100,100,100,100,100, 100,100,100,100,100,100,100,100, + 100,100,100,100,100,100,100,100, 100,100,100,100,100,100,100,100, + 100,100,100,100,100,100,100,100, 100,100,100,100,100,100,100,100, + 100,100,100,100,100,100,100,100, 100,100,100,100,100,100,100,100, + 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,100, + 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,100,100, 100,100,100,100,100,100,100,100, + 100,100,100,100,100,100,100,100, 100,100,100,100,100,100,100,100, + 100,100,100,100,100,100,100,100, 100,100,100,100,100,100,100,100, + 100,100,100,100,100,100,100,100, 100,100,100,100,100,100,100,100, + 100,100,100,100,100,100,100,100, 100,100,100,100,100,100,100,100, + 100,100,100,100,100,100,100,100, 100,100,100,100,100,100,100,100, +}; +static const struct byte_lookup* const +from_SHIFT_JIS_EA_infos[101] = { + o3(0xE9,0xB5,0x9D), o3(0xE9,0xB5,0x9E), + o3(0xE9,0xB5,0xA4), o3(0xE9,0xB5,0x91), + o3(0xE9,0xB5,0x90), o3(0xE9,0xB5,0x99), + o3(0xE9,0xB5,0xB2), o3(0xE9,0xB6,0x89), + o3(0xE9,0xB6,0x87), o3(0xE9,0xB6,0xAB), + o3(0xE9,0xB5,0xAF), o3(0xE9,0xB5,0xBA), + o3(0xE9,0xB6,0x9A), o3(0xE9,0xB6,0xA4), + o3(0xE9,0xB6,0xA9), o3(0xE9,0xB6,0xB2), + o3(0xE9,0xB7,0x84), o3(0xE9,0xB7,0x81), + o3(0xE9,0xB6,0xBB), o3(0xE9,0xB6,0xB8), + o3(0xE9,0xB6,0xBA), o3(0xE9,0xB7,0x86), + o3(0xE9,0xB7,0x8F), o3(0xE9,0xB7,0x82), + o3(0xE9,0xB7,0x99), o3(0xE9,0xB7,0x93), + o3(0xE9,0xB7,0xB8), o3(0xE9,0xB7,0xA6), + o3(0xE9,0xB7,0xAD), o3(0xE9,0xB7,0xAF), + o3(0xE9,0xB7,0xBD), o3(0xE9,0xB8,0x9A), + o3(0xE9,0xB8,0x9B), o3(0xE9,0xB8,0x9E), + o3(0xE9,0xB9,0xB5), o3(0xE9,0xB9,0xB9), + o3(0xE9,0xB9,0xBD), o3(0xE9,0xBA,0x81), + o3(0xE9,0xBA,0x88), o3(0xE9,0xBA,0x8B), + o3(0xE9,0xBA,0x8C), o3(0xE9,0xBA,0x92), + o3(0xE9,0xBA,0x95), o3(0xE9,0xBA,0x91), + o3(0xE9,0xBA,0x9D), o3(0xE9,0xBA,0xA5), + o3(0xE9,0xBA,0xA9), o3(0xE9,0xBA,0xB8), + o3(0xE9,0xBA,0xAA), o3(0xE9,0xBA,0xAD), + o3(0xE9,0x9D,0xA1), o3(0xE9,0xBB,0x8C), + o3(0xE9,0xBB,0x8E), o3(0xE9,0xBB,0x8F), + o3(0xE9,0xBB,0x90), o3(0xE9,0xBB,0x94), + o3(0xE9,0xBB,0x9C), o3(0xE9,0xBB,0x9E), + o3(0xE9,0xBB,0x9D), o3(0xE9,0xBB,0xA0), + o3(0xE9,0xBB,0xA5), o3(0xE9,0xBB,0xA8), + o3(0xE9,0xBB,0xAF), o3(0xE9,0xBB,0xB4), + o3(0xE9,0xBB,0xB6), o3(0xE9,0xBB,0xB7), + o3(0xE9,0xBB,0xB9), o3(0xE9,0xBB,0xBB), + o3(0xE9,0xBB,0xBC), o3(0xE9,0xBB,0xBD), + o3(0xE9,0xBC,0x87), o3(0xE9,0xBC,0x88), + o3(0xE7,0x9A,0xB7), o3(0xE9,0xBC,0x95), + o3(0xE9,0xBC,0xA1), o3(0xE9,0xBC,0xAC), + o3(0xE9,0xBC,0xBE), o3(0xE9,0xBD,0x8A), + o3(0xE9,0xBD,0x92), o3(0xE9,0xBD,0x94), + o3(0xE9,0xBD,0xA3), o3(0xE9,0xBD,0x9F), + o3(0xE9,0xBD,0xA0), o3(0xE9,0xBD,0xA1), + o3(0xE9,0xBD,0xA6), o3(0xE9,0xBD,0xA7), + o3(0xE9,0xBD,0xAC), o3(0xE9,0xBD,0xAA), + o3(0xE9,0xBD,0xB7), o3(0xE9,0xBD,0xB2), + o3(0xE9,0xBD,0xB6), o3(0xE9,0xBE,0x95), + o3(0xE9,0xBE,0x9C), o3(0xE9,0xBE,0xA0), + o3(0xE5,0xA0,0xAF), o3(0xE6,0xA7,0x87), + o3(0xE9,0x81,0x99), o3(0xE7,0x91,0xA4), + o3(0xE5,0x87,0x9C), o3(0xE7,0x86,0x99), + UNDEF, +}; +static const BYTE_LOOKUP +from_SHIFT_JIS_EA = { + from_SHIFT_JIS_EA_offsets, + from_SHIFT_JIS_EA_infos +}; + +static const unsigned char +from_SHIFT_JIS_FA_offsets[256] = { + 173,173,173,173,173,173,173,173, 173,173,173,173,173,173,173,173, + 173,173,173,173,173,173,173,173, 173,173,173,173,173,173,173,173, + 173,173,173,173,173,173,173,173, 173,173,173,173,173,173,173,173, + 173,173,173,173,173,173,173,173, 173,173,173,173,173,173,173,173, + 0, 1, 2, 3, 4, 5, 6, 7, 8, 9,173,173,173,173,173,173, + 173,173,173,173,173, 10, 11, 12, 173,173,173,173, 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,173, + 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,129,130,131,132,133,134,135, 136,137,138,139,140,141,142,143, + 144,145,146,147,148,149,150,151, 152,153,154,155,156,157,158,159, + 160,161,162,163,164,165,166,167, 168,169,170,171,172,173,173,173, +}; +static const struct byte_lookup* const +from_SHIFT_JIS_FA_infos[174] = { + o3(0xE2,0x85,0xB0), o3(0xE2,0x85,0xB1), + o3(0xE2,0x85,0xB2), o3(0xE2,0x85,0xB3), + o3(0xE2,0x85,0xB4), o3(0xE2,0x85,0xB5), + o3(0xE2,0x85,0xB6), o3(0xE2,0x85,0xB7), + o3(0xE2,0x85,0xB8), o3(0xE2,0x85,0xB9), + o3(0xEF,0xBF,0xA4), o3(0xEF,0xBC,0x87), + o3(0xEF,0xBC,0x82), o3(0xE7,0xBA,0x8A), + o3(0xE8,0xA4,0x9C), o3(0xE9,0x8D,0x88), + o3(0xE9,0x8A,0x88), o3(0xE8,0x93,0x9C), + o3(0xE4,0xBF,0x89), o3(0xE7,0x82,0xBB), + o3(0xE6,0x98,0xB1), o3(0xE6,0xA3,0x88), + o3(0xE9,0x8B,0xB9), o3(0xE6,0x9B,0xBB), + o3(0xE5,0xBD,0x85), o3(0xE4,0xB8,0xA8), + o3(0xE4,0xBB,0xA1), o3(0xE4,0xBB,0xBC), + o3(0xE4,0xBC,0x80), o3(0xE4,0xBC,0x83), + o3(0xE4,0xBC,0xB9), o3(0xE4,0xBD,0x96), + o3(0xE4,0xBE,0x92), o3(0xE4,0xBE,0x8A), + o3(0xE4,0xBE,0x9A), o3(0xE4,0xBE,0x94), + o3(0xE4,0xBF,0x8D), o3(0xE5,0x81,0x80), + o3(0xE5,0x80,0xA2), o3(0xE4,0xBF,0xBF), + o3(0xE5,0x80,0x9E), o3(0xE5,0x81,0x86), + o3(0xE5,0x81,0xB0), o3(0xE5,0x81,0x82), + o3(0xE5,0x82,0x94), o3(0xE5,0x83,0xB4), + o3(0xE5,0x83,0x98), o3(0xE5,0x85,0x8A), + o3(0xE5,0x85,0xA4), o3(0xE5,0x86,0x9D), + o3(0xE5,0x86,0xBE), o3(0xE5,0x87,0xAC), + o3(0xE5,0x88,0x95), o3(0xE5,0x8A,0x9C), + o3(0xE5,0x8A,0xA6), o3(0xE5,0x8B,0x80), + o3(0xE5,0x8B,0x9B), o3(0xE5,0x8C,0x80), + o3(0xE5,0x8C,0x87), o3(0xE5,0x8C,0xA4), + o3(0xE5,0x8D,0xB2), o3(0xE5,0x8E,0x93), + o3(0xE5,0x8E,0xB2), o3(0xE5,0x8F,0x9D), + o3(0xEF,0xA8,0x8E), o3(0xE5,0x92,0x9C), + o3(0xE5,0x92,0x8A), o3(0xE5,0x92,0xA9), + o3(0xE5,0x93,0xBF), o3(0xE5,0x96,0x86), + o3(0xE5,0x9D,0x99), o3(0xE5,0x9D,0xA5), + o3(0xE5,0x9E,0xAC), o3(0xE5,0x9F,0x88), + o3(0xE5,0x9F,0x87), o3(0xEF,0xA8,0x8F), + o3(0xEF,0xA8,0x90), o3(0xE5,0xA2,0x9E), + o3(0xE5,0xA2,0xB2), o3(0xE5,0xA4,0x8B), + o3(0xE5,0xA5,0x93), o3(0xE5,0xA5,0x9B), + o3(0xE5,0xA5,0x9D), o3(0xE5,0xA5,0xA3), + o3(0xE5,0xA6,0xA4), o3(0xE5,0xA6,0xBA), + o3(0xE5,0xAD,0x96), o3(0xE5,0xAF,0x80), + o3(0xE7,0x94,0xAF), o3(0xE5,0xAF,0x98), + o3(0xE5,0xAF,0xAC), o3(0xE5,0xB0,0x9E), + o3(0xE5,0xB2,0xA6), o3(0xE5,0xB2,0xBA), + o3(0xE5,0xB3,0xB5), o3(0xE5,0xB4,0xA7), + o3(0xE5,0xB5,0x93), o3(0xEF,0xA8,0x91), + o3(0xE5,0xB5,0x82), o3(0xE5,0xB5,0xAD), + o3(0xE5,0xB6,0xB8), o3(0xE5,0xB6,0xB9), + o3(0xE5,0xB7,0x90), o3(0xE5,0xBC,0xA1), + o3(0xE5,0xBC,0xB4), o3(0xE5,0xBD,0xA7), + o3(0xE5,0xBE,0xB7), o3(0xE5,0xBF,0x9E), + o3(0xE6,0x81,0x9D), o3(0xE6,0x82,0x85), + o3(0xE6,0x82,0x8A), o3(0xE6,0x83,0x9E), + o3(0xE6,0x83,0x95), o3(0xE6,0x84,0xA0), + o3(0xE6,0x83,0xB2), o3(0xE6,0x84,0x91), + o3(0xE6,0x84,0xB7), o3(0xE6,0x84,0xB0), + o3(0xE6,0x86,0x98), o3(0xE6,0x88,0x93), + o3(0xE6,0x8A,0xA6), o3(0xE6,0x8F,0xB5), + o3(0xE6,0x91,0xA0), o3(0xE6,0x92,0x9D), + o3(0xE6,0x93,0x8E), o3(0xE6,0x95,0x8E), + o3(0xE6,0x98,0x80), o3(0xE6,0x98,0x95), + o3(0xE6,0x98,0xBB), o3(0xE6,0x98,0x89), + o3(0xE6,0x98,0xAE), o3(0xE6,0x98,0x9E), + o3(0xE6,0x98,0xA4), o3(0xE6,0x99,0xA5), + o3(0xE6,0x99,0x97), o3(0xE6,0x99,0x99), + o3(0xEF,0xA8,0x92), o3(0xE6,0x99,0xB3), + o3(0xE6,0x9A,0x99), o3(0xE6,0x9A,0xA0), + o3(0xE6,0x9A,0xB2), o3(0xE6,0x9A,0xBF), + o3(0xE6,0x9B,0xBA), o3(0xE6,0x9C,0x8E), + o3(0xEF,0xA4,0xA9), o3(0xE6,0x9D,0xA6), + o3(0xE6,0x9E,0xBB), o3(0xE6,0xA1,0x92), + o3(0xE6,0x9F,0x80), o3(0xE6,0xA0,0x81), + o3(0xE6,0xA1,0x84), o3(0xE6,0xA3,0x8F), + o3(0xEF,0xA8,0x93), o3(0xE6,0xA5,0xA8), + o3(0xEF,0xA8,0x94), o3(0xE6,0xA6,0x98), + o3(0xE6,0xA7,0xA2), o3(0xE6,0xA8,0xB0), + o3(0xE6,0xA9,0xAB), o3(0xE6,0xA9,0x86), + o3(0xE6,0xA9,0xB3), o3(0xE6,0xA9,0xBE), + o3(0xE6,0xAB,0xA2), o3(0xE6,0xAB,0xA4), + o3(0xE6,0xAF,0x96), o3(0xE6,0xB0,0xBF), + o3(0xE6,0xB1,0x9C), o3(0xE6,0xB2,0x86), + o3(0xE6,0xB1,0xAF), o3(0xE6,0xB3,0x9A), + o3(0xE6,0xB4,0x84), o3(0xE6,0xB6,0x87), + o3(0xE6,0xB5,0xAF), UNDEF, +}; +static const BYTE_LOOKUP +from_SHIFT_JIS_FA = { + from_SHIFT_JIS_FA_offsets, + from_SHIFT_JIS_FA_infos +}; + +static const struct byte_lookup* const +from_SHIFT_JIS_FB_infos[189] = { + o3(0xE6,0xB6,0x96), o3(0xE6,0xB6,0xAC), + o3(0xE6,0xB7,0x8F), o3(0xE6,0xB7,0xB8), + o3(0xE6,0xB7,0xB2), o3(0xE6,0xB7,0xBC), + o3(0xE6,0xB8,0xB9), o3(0xE6,0xB9,0x9C), + o3(0xE6,0xB8,0xA7), o3(0xE6,0xB8,0xBC), + o3(0xE6,0xBA,0xBF), o3(0xE6,0xBE,0x88), + o3(0xE6,0xBE,0xB5), o3(0xE6,0xBF,0xB5), + o3(0xE7,0x80,0x85), o3(0xE7,0x80,0x87), + o3(0xE7,0x80,0xA8), o3(0xE7,0x82,0x85), + o3(0xE7,0x82,0xAB), o3(0xE7,0x84,0x8F), + o3(0xE7,0x84,0x84), o3(0xE7,0x85,0x9C), + o3(0xE7,0x85,0x86), o3(0xE7,0x85,0x87), + o3(0xEF,0xA8,0x95), o3(0xE7,0x87,0x81), + o3(0xE7,0x87,0xBE), o3(0xE7,0x8A,0xB1), + o3(0xE7,0x8A,0xBE), o3(0xE7,0x8C,0xA4), + o3(0xEF,0xA8,0x96), o3(0xE7,0x8D,0xB7), + o3(0xE7,0x8E,0xBD), o3(0xE7,0x8F,0x89), + o3(0xE7,0x8F,0x96), o3(0xE7,0x8F,0xA3), + o3(0xE7,0x8F,0x92), o3(0xE7,0x90,0x87), + o3(0xE7,0x8F,0xB5), o3(0xE7,0x90,0xA6), + o3(0xE7,0x90,0xAA), o3(0xE7,0x90,0xA9), + o3(0xE7,0x90,0xAE), o3(0xE7,0x91,0xA2), + o3(0xE7,0x92,0x89), o3(0xE7,0x92,0x9F), + o3(0xE7,0x94,0x81), o3(0xE7,0x95,0xAF), + o3(0xE7,0x9A,0x82), o3(0xE7,0x9A,0x9C), + o3(0xE7,0x9A,0x9E), o3(0xE7,0x9A,0x9B), + o3(0xE7,0x9A,0xA6), o3(0xEF,0xA8,0x97), + o3(0xE7,0x9D,0x86), o3(0xE5,0x8A,0xAF), + o3(0xE7,0xA0,0xA1), o3(0xE7,0xA1,0x8E), + o3(0xE7,0xA1,0xA4), o3(0xE7,0xA1,0xBA), + o3(0xE7,0xA4,0xB0), o3(0xEF,0xA8,0x98), + o3(0xEF,0xA8,0x99), o3(0xEF,0xA8,0x9A), + o3(0xE7,0xA6,0x94), o3(0xEF,0xA8,0x9B), + o3(0xE7,0xA6,0x9B), o3(0xE7,0xAB,0x91), + o3(0xE7,0xAB,0xA7), o3(0xEF,0xA8,0x9C), + o3(0xE7,0xAB,0xAB), o3(0xE7,0xAE,0x9E), + o3(0xEF,0xA8,0x9D), o3(0xE7,0xB5,0x88), + o3(0xE7,0xB5,0x9C), o3(0xE7,0xB6,0xB7), + o3(0xE7,0xB6,0xA0), o3(0xE7,0xB7,0x96), + o3(0xE7,0xB9,0x92), o3(0xE7,0xBD,0x87), + o3(0xE7,0xBE,0xA1), o3(0xEF,0xA8,0x9E), + o3(0xE8,0x8C,0x81), o3(0xE8,0x8D,0xA2), + o3(0xE8,0x8D,0xBF), o3(0xE8,0x8F,0x87), + o3(0xE8,0x8F,0xB6), o3(0xE8,0x91,0x88), + o3(0xE8,0x92,0xB4), o3(0xE8,0x95,0x93), + o3(0xE8,0x95,0x99), o3(0xE8,0x95,0xAB), + o3(0xEF,0xA8,0x9F), o3(0xE8,0x96,0xB0), + o3(0xEF,0xA8,0xA0), o3(0xEF,0xA8,0xA1), + o3(0xE8,0xA0,0x87), o3(0xE8,0xA3,0xB5), + o3(0xE8,0xA8,0x92), o3(0xE8,0xA8,0xB7), + o3(0xE8,0xA9,0xB9), o3(0xE8,0xAA,0xA7), + o3(0xE8,0xAA,0xBE), o3(0xE8,0xAB,0x9F), + o3(0xEF,0xA8,0xA2), o3(0xE8,0xAB,0xB6), + o3(0xE8,0xAD,0x93), o3(0xE8,0xAD,0xBF), + o3(0xE8,0xB3,0xB0), o3(0xE8,0xB3,0xB4), + o3(0xE8,0xB4,0x92), o3(0xE8,0xB5,0xB6), + o3(0xEF,0xA8,0xA3), o3(0xE8,0xBB,0x8F), + o3(0xEF,0xA8,0xA4), o3(0xEF,0xA8,0xA5), + o3(0xE9,0x81,0xA7), o3(0xE9,0x83,0x9E), + o3(0xEF,0xA8,0xA6), o3(0xE9,0x84,0x95), + o3(0xE9,0x84,0xA7), o3(0xE9,0x87,0x9A), + o3(0xE9,0x87,0x97), o3(0xE9,0x87,0x9E), + o3(0xE9,0x87,0xAD), o3(0xE9,0x87,0xAE), + o3(0xE9,0x87,0xA4), o3(0xE9,0x87,0xA5), + o3(0xE9,0x88,0x86), o3(0xE9,0x88,0x90), + o3(0xE9,0x88,0x8A), o3(0xE9,0x88,0xBA), + o3(0xE9,0x89,0x80), o3(0xE9,0x88,0xBC), + o3(0xE9,0x89,0x8E), o3(0xE9,0x89,0x99), + o3(0xE9,0x89,0x91), o3(0xE9,0x88,0xB9), + o3(0xE9,0x89,0xA7), o3(0xE9,0x8A,0xA7), + o3(0xE9,0x89,0xB7), o3(0xE9,0x89,0xB8), + o3(0xE9,0x8B,0xA7), o3(0xE9,0x8B,0x97), + o3(0xE9,0x8B,0x99), o3(0xE9,0x8B,0x90), + o3(0xEF,0xA8,0xA7), o3(0xE9,0x8B,0x95), + o3(0xE9,0x8B,0xA0), o3(0xE9,0x8B,0x93), + o3(0xE9,0x8C,0xA5), o3(0xE9,0x8C,0xA1), + o3(0xE9,0x8B,0xBB), o3(0xEF,0xA8,0xA8), + o3(0xE9,0x8C,0x9E), o3(0xE9,0x8B,0xBF), + o3(0xE9,0x8C,0x9D), o3(0xE9,0x8C,0x82), + o3(0xE9,0x8D,0xB0), o3(0xE9,0x8D,0x97), + o3(0xE9,0x8E,0xA4), o3(0xE9,0x8F,0x86), + o3(0xE9,0x8F,0x9E), o3(0xE9,0x8F,0xB8), + o3(0xE9,0x90,0xB1), o3(0xE9,0x91,0x85), + o3(0xE9,0x91,0x88), o3(0xE9,0x96,0x92), + o3(0xEF,0xA7,0x9C), o3(0xEF,0xA8,0xA9), + o3(0xE9,0x9A,0x9D), o3(0xE9,0x9A,0xAF), + o3(0xE9,0x9C,0xB3), o3(0xE9,0x9C,0xBB), + o3(0xE9,0x9D,0x83), o3(0xE9,0x9D,0x8D), + o3(0xE9,0x9D,0x8F), o3(0xE9,0x9D,0x91), + o3(0xE9,0x9D,0x95), o3(0xE9,0xA1,0x97), + o3(0xE9,0xA1,0xA5), o3(0xEF,0xA8,0xAA), + o3(0xEF,0xA8,0xAB), o3(0xE9,0xA4,0xA7), + o3(0xEF,0xA8,0xAC), o3(0xE9,0xA6,0x9E), + o3(0xE9,0xA9,0x8E), o3(0xE9,0xAB,0x99), + UNDEF, +}; +static const BYTE_LOOKUP +from_SHIFT_JIS_FB = { + from_SHIFT_JIS_89_offsets, + from_SHIFT_JIS_FB_infos +}; + +static const unsigned char +from_SHIFT_JIS_FC_offsets[256] = { + 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, + 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, + 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, + 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, + 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 12, 12, 12, + 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, + 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, + 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, + 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, + 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, + 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, + 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, + 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, + 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, + 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, + 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, +}; +static const struct byte_lookup* const +from_SHIFT_JIS_FC_infos[13] = { + o3(0xE9,0xAB,0x9C), o3(0xE9,0xAD,0xB5), + o3(0xE9,0xAD,0xB2), o3(0xE9,0xAE,0x8F), + o3(0xE9,0xAE,0xB1), o3(0xE9,0xAE,0xBB), + o3(0xE9,0xB0,0x80), o3(0xE9,0xB5,0xB0), + o3(0xE9,0xB5,0xAB), o3(0xEF,0xA8,0xAD), + o3(0xE9,0xB8,0x99), o3(0xE9,0xBB,0x91), + UNDEF, +}; +static const BYTE_LOOKUP +from_SHIFT_JIS_FC = { + from_SHIFT_JIS_FC_offsets, + from_SHIFT_JIS_FC_infos +}; + +static const unsigned char +from_SHIFT_JIS_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, + 107, 1, 2, 3, 4,107,107, 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, + 107, 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,107,107,107,107,107, + 107,107,107,107,107,107,107,107, 107,107,104,105,106,107,107,107, +}; +static const struct byte_lookup* const +from_SHIFT_JIS_infos[108] = { + NOMAP, &from_SHIFT_JIS_81, + &from_SHIFT_JIS_82, &from_SHIFT_JIS_83, + &from_SHIFT_JIS_84, &from_SHIFT_JIS_87, + &from_SHIFT_JIS_88, &from_SHIFT_JIS_89, + &from_SHIFT_JIS_8A, &from_SHIFT_JIS_8B, + &from_SHIFT_JIS_8C, &from_SHIFT_JIS_8D, + &from_SHIFT_JIS_8E, &from_SHIFT_JIS_8F, + &from_SHIFT_JIS_90, &from_SHIFT_JIS_91, + &from_SHIFT_JIS_92, &from_SHIFT_JIS_93, + &from_SHIFT_JIS_94, &from_SHIFT_JIS_95, + &from_SHIFT_JIS_96, &from_SHIFT_JIS_97, + &from_SHIFT_JIS_98, &from_SHIFT_JIS_99, + &from_SHIFT_JIS_9A, &from_SHIFT_JIS_9B, + &from_SHIFT_JIS_9C, &from_SHIFT_JIS_9D, + &from_SHIFT_JIS_9E, &from_SHIFT_JIS_9F, + o3(0xEF,0xBD,0xA1), o3(0xEF,0xBD,0xA2), + o3(0xEF,0xBD,0xA3), o3(0xEF,0xBD,0xA4), + o3(0xEF,0xBD,0xA5), o3(0xEF,0xBD,0xA6), + o3(0xEF,0xBD,0xA7), o3(0xEF,0xBD,0xA8), + o3(0xEF,0xBD,0xA9), o3(0xEF,0xBD,0xAA), + o3(0xEF,0xBD,0xAB), o3(0xEF,0xBD,0xAC), + o3(0xEF,0xBD,0xAD), o3(0xEF,0xBD,0xAE), + o3(0xEF,0xBD,0xAF), o3(0xEF,0xBD,0xB0), + o3(0xEF,0xBD,0xB1), o3(0xEF,0xBD,0xB2), + o3(0xEF,0xBD,0xB3), o3(0xEF,0xBD,0xB4), + o3(0xEF,0xBD,0xB5), o3(0xEF,0xBD,0xB6), + o3(0xEF,0xBD,0xB7), o3(0xEF,0xBD,0xB8), + o3(0xEF,0xBD,0xB9), o3(0xEF,0xBD,0xBA), + o3(0xEF,0xBD,0xBB), o3(0xEF,0xBD,0xBC), + o3(0xEF,0xBD,0xBD), o3(0xEF,0xBD,0xBE), + o3(0xEF,0xBD,0xBF), o3(0xEF,0xBE,0x80), + o3(0xEF,0xBE,0x81), o3(0xEF,0xBE,0x82), + o3(0xEF,0xBE,0x83), o3(0xEF,0xBE,0x84), + o3(0xEF,0xBE,0x85), o3(0xEF,0xBE,0x86), + o3(0xEF,0xBE,0x87), o3(0xEF,0xBE,0x88), + o3(0xEF,0xBE,0x89), o3(0xEF,0xBE,0x8A), + o3(0xEF,0xBE,0x8B), o3(0xEF,0xBE,0x8C), + o3(0xEF,0xBE,0x8D), o3(0xEF,0xBE,0x8E), + o3(0xEF,0xBE,0x8F), o3(0xEF,0xBE,0x90), + o3(0xEF,0xBE,0x91), o3(0xEF,0xBE,0x92), + o3(0xEF,0xBE,0x93), o3(0xEF,0xBE,0x94), + o3(0xEF,0xBE,0x95), o3(0xEF,0xBE,0x96), + o3(0xEF,0xBE,0x97), o3(0xEF,0xBE,0x98), + o3(0xEF,0xBE,0x99), o3(0xEF,0xBE,0x9A), + o3(0xEF,0xBE,0x9B), o3(0xEF,0xBE,0x9C), + o3(0xEF,0xBE,0x9D), o3(0xEF,0xBE,0x9E), + o3(0xEF,0xBE,0x9F), &from_SHIFT_JIS_E0, + &from_SHIFT_JIS_E1, &from_SHIFT_JIS_E2, + &from_SHIFT_JIS_E3, &from_SHIFT_JIS_E4, + &from_SHIFT_JIS_E5, &from_SHIFT_JIS_E6, + &from_SHIFT_JIS_E7, &from_SHIFT_JIS_E8, + &from_SHIFT_JIS_E9, &from_SHIFT_JIS_EA, + &from_SHIFT_JIS_FA, &from_SHIFT_JIS_FB, + &from_SHIFT_JIS_FC, UNDEF, +}; +static const BYTE_LOOKUP +from_SHIFT_JIS = { + from_SHIFT_JIS_offsets, + from_SHIFT_JIS_infos +}; +static rb_transcoder +rb_from_SHIFT_JIS = { + "UTF-8", "SHIFT_JIS", &from_SHIFT_JIS, 3, 0, + NULL, NULL, +}; + +static const unsigned char +to_SHIFT_JIS_C2_offsets[64] = { + /* used from to_SHIFT_JIS_C2 */ + /* used from to_EUC_JP_C2 */ + 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, + 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, + 13, 13, 0, 1, 13, 2, 3, 4, 5, 13, 13, 13, 6, 13, 13, 7, + 8, 9, 13, 13, 10, 13, 11, 13, 12, 13, 13, 13, 13, 13, 13, 13, +}; +static const struct byte_lookup* const +to_SHIFT_JIS_C2_infos[14] = { + o2(0x81,0x91), o2(0x81,0x92), o2(0x81,0x8F), o2(0xFA,0x55), + o2(0x81,0x98), o2(0x81,0x4E), o2(0x81,0xCA), o2(0x81,0x50), + o2(0x81,0x8B), o2(0x81,0x7D), o2(0x81,0x4C), o2(0x81,0xF7), + o2(0x81,0x43), UNDEF, +}; +static const BYTE_LOOKUP +to_SHIFT_JIS_C2 = { + to_SHIFT_JIS_C2_offsets, + to_SHIFT_JIS_C2_infos +}; + +static const unsigned char +to_SHIFT_JIS_C3_offsets[64] = { + /* used from to_SHIFT_JIS_C3 */ + /* used from to_EUC_JP_C3 */ + 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_SHIFT_JIS_C3_infos[3] = { + o2(0x81,0x7E), o2(0x81,0x80), UNDEF, +}; +static const BYTE_LOOKUP +to_SHIFT_JIS_C3 = { + to_SHIFT_JIS_C3_offsets, + to_SHIFT_JIS_C3_infos +}; + +static const unsigned char +to_SHIFT_JIS_CE_offsets[64] = { + /* used from to_SHIFT_JIS_CE */ + /* used from to_EUC_JP_CE */ + 39, 39, 39, 39, 39, 39, 39, 39, 39, 39, 39, 39, 39, 39, 39, 39, + 39, 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, + 15, 16, 39, 17, 18, 19, 20, 21, 22, 23, 39, 39, 39, 39, 39, 39, + 39, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, +}; +static const struct byte_lookup* const +to_SHIFT_JIS_CE_infos[40] = { + o2(0x83,0x9F), o2(0x83,0xA0), o2(0x83,0xA1), o2(0x83,0xA2), + o2(0x83,0xA3), o2(0x83,0xA4), o2(0x83,0xA5), o2(0x83,0xA6), + o2(0x83,0xA7), o2(0x83,0xA8), o2(0x83,0xA9), o2(0x83,0xAA), + o2(0x83,0xAB), o2(0x83,0xAC), o2(0x83,0xAD), o2(0x83,0xAE), + o2(0x83,0xAF), o2(0x83,0xB0), o2(0x83,0xB1), o2(0x83,0xB2), + o2(0x83,0xB3), o2(0x83,0xB4), o2(0x83,0xB5), o2(0x83,0xB6), + o2(0x83,0xBF), o2(0x83,0xC0), o2(0x83,0xC1), o2(0x83,0xC2), + o2(0x83,0xC3), o2(0x83,0xC4), o2(0x83,0xC5), o2(0x83,0xC6), + o2(0x83,0xC7), o2(0x83,0xC8), o2(0x83,0xC9), o2(0x83,0xCA), + o2(0x83,0xCB), o2(0x83,0xCC), o2(0x83,0xCD), UNDEF, +}; +static const BYTE_LOOKUP +to_SHIFT_JIS_CE = { + to_SHIFT_JIS_CE_offsets, + to_SHIFT_JIS_CE_infos +}; + +static const unsigned char +to_SHIFT_JIS_CF_offsets[64] = { + /* used from to_SHIFT_JIS_CF */ + /* used from to_EUC_JP_CF */ + 0, 1, 9, 2, 3, 4, 5, 6, 7, 8, 9, 9, 9, 9, 9, 9, + 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, + 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, + 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, +}; +static const struct byte_lookup* const +to_SHIFT_JIS_CF_infos[10] = { + o2(0x83,0xCE), o2(0x83,0xCF), o2(0x83,0xD0), o2(0x83,0xD1), + o2(0x83,0xD2), o2(0x83,0xD3), o2(0x83,0xD4), o2(0x83,0xD5), + o2(0x83,0xD6), UNDEF, +}; +static const BYTE_LOOKUP +to_SHIFT_JIS_CF = { + to_SHIFT_JIS_CF_offsets, + to_SHIFT_JIS_CF_infos +}; + +static const unsigned char +to_SHIFT_JIS_D0_offsets[64] = { + /* used from to_SHIFT_JIS_D0 */ + /* used from to_EUC_JP_D0 */ + 49, 0, 49, 49, 49, 49, 49, 49, 49, 49, 49, 49, 49, 49, 49, 49, + 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, +}; +static const struct byte_lookup* const +to_SHIFT_JIS_D0_infos[50] = { + o2(0x84,0x46), o2(0x84,0x40), o2(0x84,0x41), o2(0x84,0x42), + o2(0x84,0x43), o2(0x84,0x44), o2(0x84,0x45), o2(0x84,0x47), + o2(0x84,0x48), o2(0x84,0x49), o2(0x84,0x4A), o2(0x84,0x4B), + o2(0x84,0x4C), o2(0x84,0x4D), o2(0x84,0x4E), o2(0x84,0x4F), + o2(0x84,0x50), o2(0x84,0x51), o2(0x84,0x52), o2(0x84,0x53), + o2(0x84,0x54), o2(0x84,0x55), o2(0x84,0x56), o2(0x84,0x57), + o2(0x84,0x58), o2(0x84,0x59), o2(0x84,0x5A), o2(0x84,0x5B), + o2(0x84,0x5C), o2(0x84,0x5D), o2(0x84,0x5E), o2(0x84,0x5F), + o2(0x84,0x60), o2(0x84,0x70), o2(0x84,0x71), o2(0x84,0x72), + o2(0x84,0x73), o2(0x84,0x74), o2(0x84,0x75), o2(0x84,0x77), + o2(0x84,0x78), o2(0x84,0x79), o2(0x84,0x7A), o2(0x84,0x7B), + o2(0x84,0x7C), o2(0x84,0x7D), o2(0x84,0x7E), o2(0x84,0x80), + o2(0x84,0x81), UNDEF, +}; +static const BYTE_LOOKUP +to_SHIFT_JIS_D0 = { + to_SHIFT_JIS_D0_offsets, + to_SHIFT_JIS_D0_infos +}; + +static const unsigned char +to_SHIFT_JIS_D1_offsets[64] = { + /* used from to_SHIFT_JIS_D1 */ + /* used from to_EUC_JP_D1 */ + 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, + 17, 16, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, + 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, + 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, +}; +static const struct byte_lookup* const +to_SHIFT_JIS_D1_infos[18] = { + o2(0x84,0x82), o2(0x84,0x83), o2(0x84,0x84), o2(0x84,0x85), + o2(0x84,0x86), o2(0x84,0x87), o2(0x84,0x88), o2(0x84,0x89), + o2(0x84,0x8A), o2(0x84,0x8B), o2(0x84,0x8C), o2(0x84,0x8D), + o2(0x84,0x8E), o2(0x84,0x8F), o2(0x84,0x90), o2(0x84,0x91), + o2(0x84,0x76), UNDEF, +}; +static const BYTE_LOOKUP +to_SHIFT_JIS_D1 = { + to_SHIFT_JIS_D1_offsets, + to_SHIFT_JIS_D1_infos +}; + +static const unsigned char +to_SHIFT_JIS_E2_80_offsets[64] = { + /* used from to_SHIFT_JIS_E2_80 */ + /* used from to_EUC_JP_E2_80 */ + 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, + 0, 15, 15, 15, 1, 15, 2, 15, 3, 4, 15, 15, 5, 6, 15, 15, + 7, 8, 15, 15, 15, 9, 10, 15, 15, 15, 15, 15, 15, 15, 15, 15, + 11, 15, 12, 13, 15, 15, 15, 15, 15, 15, 15, 14, 15, 15, 15, 15, +}; +static const struct byte_lookup* const +to_SHIFT_JIS_E2_80_infos[16] = { + o2(0x81,0x5D), o2(0x81,0x5C), o2(0x81,0x61), o2(0x81,0x65), + o2(0x81,0x66), o2(0x81,0x67), o2(0x81,0x68), o2(0x81,0xF5), + o2(0x81,0xF6), o2(0x81,0x64), o2(0x81,0x63), o2(0x81,0xF1), + o2(0x81,0x8C), o2(0x81,0x8D), o2(0x81,0xA6), UNDEF, +}; +static const BYTE_LOOKUP +to_SHIFT_JIS_E2_80 = { + to_SHIFT_JIS_E2_80_offsets, + to_SHIFT_JIS_E2_80_infos +}; + +static const unsigned char +to_SHIFT_JIS_E2_84_offsets[64] = { + /* used from to_SHIFT_JIS_E2_84 */ + /* used from to_EUC_JP_E2_84 */ + 4, 4, 4, 0, 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, 2, 4, 4, 4, 4, 4, 4, 4, 4, 4, 3, 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_SHIFT_JIS_E2_84_infos[5] = { + o2(0x81,0x8E), o2(0x87,0x82), o2(0x87,0x84), o2(0x81,0xF0), + UNDEF, +}; +static const BYTE_LOOKUP +to_SHIFT_JIS_E2_84 = { + to_SHIFT_JIS_E2_84_offsets, + to_SHIFT_JIS_E2_84_infos +}; + +static const unsigned char +to_SHIFT_JIS_E2_85_offsets[64] = { + /* used from to_SHIFT_JIS_E2_85 */ + /* used from to_EUC_JP_E2_85 */ + 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, 20, 20, 20, + 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 20, 20, 20, 20, 20, 20, + 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 20, 20, 20, 20, 20, +}; +static const struct byte_lookup* const +to_SHIFT_JIS_E2_85_infos[21] = { + o2(0x87,0x54), o2(0x87,0x55), o2(0x87,0x56), o2(0x87,0x57), + o2(0x87,0x58), o2(0x87,0x59), o2(0x87,0x5A), o2(0x87,0x5B), + o2(0x87,0x5C), o2(0x87,0x5D), o2(0xFA,0x40), o2(0xFA,0x41), + o2(0xFA,0x42), o2(0xFA,0x43), o2(0xFA,0x44), o2(0xFA,0x45), + o2(0xFA,0x46), o2(0xFA,0x47), o2(0xFA,0x48), o2(0xFA,0x49), + UNDEF, +}; +static const BYTE_LOOKUP +to_SHIFT_JIS_E2_85 = { + to_SHIFT_JIS_E2_85_offsets, + to_SHIFT_JIS_E2_85_infos +}; + +static const unsigned char +to_SHIFT_JIS_E2_86_offsets[64] = { + /* used from to_SHIFT_JIS_E2_86 */ + /* used from to_EUC_JP_E2_86 */ + 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, + 0, 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, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, +}; +static const struct byte_lookup* const +to_SHIFT_JIS_E2_86_infos[5] = { + o2(0x81,0xA9), o2(0x81,0xAA), o2(0x81,0xA8), o2(0x81,0xAB), + UNDEF, +}; +static const BYTE_LOOKUP +to_SHIFT_JIS_E2_86 = { + to_SHIFT_JIS_E2_86_offsets, + to_SHIFT_JIS_E2_86_infos +}; + +static const unsigned char +to_SHIFT_JIS_E2_87_offsets[64] = { + /* used from to_SHIFT_JIS_E2_87 */ + /* used from to_EUC_JP_E2_87 */ + 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, + 2, 2, 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, +}; +static const struct byte_lookup* const +to_SHIFT_JIS_E2_87_infos[3] = { + o2(0x81,0xCB), o2(0x81,0xCC), UNDEF, +}; +static const BYTE_LOOKUP +to_SHIFT_JIS_E2_87 = { + to_SHIFT_JIS_E2_87_offsets, + to_SHIFT_JIS_E2_87_infos +}; + +static const unsigned char +to_SHIFT_JIS_E2_88_offsets[64] = { + /* used from to_SHIFT_JIS_E2_88 */ + /* used from to_EUC_JP_E2_88 */ + 0, 23, 1, 2, 23, 23, 23, 3, 4, 23, 23, 5, 23, 23, 23, 23, + 23, 6, 7, 23, 23, 23, 23, 23, 23, 23, 8, 23, 23, 9, 10, 11, + 12, 23, 23, 23, 23, 23, 23, 13, 14, 15, 16, 17, 18, 23, 19, 23, + 23, 23, 23, 23, 20, 21, 23, 23, 23, 23, 23, 23, 23, 22, 23, 23, +}; +static const struct byte_lookup* const +to_SHIFT_JIS_E2_88_infos[24] = { + o2(0x81,0xCD), o2(0x81,0xDD), o2(0x81,0xCE), o2(0x81,0xDE), + o2(0x81,0xB8), o2(0x81,0xB9), o2(0x87,0x94), o2(0x81,0x7C), + o2(0x87,0x95), o2(0x81,0xE5), o2(0x81,0x87), o2(0x87,0x98), + o2(0x87,0x97), o2(0x81,0xC8), o2(0x81,0xC9), o2(0x87,0x9B), + o2(0x87,0x9C), o2(0x87,0x92), o2(0x81,0xE8), o2(0x87,0x93), + o2(0x81,0x88), o2(0x87,0x9A), o2(0x81,0xE4), UNDEF, +}; +static const BYTE_LOOKUP +to_SHIFT_JIS_E2_88 = { + to_SHIFT_JIS_E2_88_offsets, + to_SHIFT_JIS_E2_88_infos +}; + +static const unsigned char +to_SHIFT_JIS_E2_89_offsets[64] = { + /* used from to_SHIFT_JIS_E2_89 */ + /* used from to_EUC_JP_E2_89 */ + 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, + 7, 7, 0, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, + 1, 2, 7, 7, 7, 7, 3, 4, 7, 7, 5, 6, 7, 7, 7, 7, + 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, +}; +static const struct byte_lookup* const +to_SHIFT_JIS_E2_89_infos[8] = { + o2(0x87,0x90), o2(0x81,0x82), o2(0x87,0x91), o2(0x81,0x85), + o2(0x81,0x86), o2(0x81,0xE1), o2(0x81,0xE2), UNDEF, +}; +static const BYTE_LOOKUP +to_SHIFT_JIS_E2_89 = { + to_SHIFT_JIS_E2_89_offsets, + to_SHIFT_JIS_E2_89_infos +}; + +static const unsigned char +to_SHIFT_JIS_E2_8A_offsets[64] = { + /* used from to_SHIFT_JIS_E2_8A */ + /* used from to_EUC_JP_E2_8A */ + 6, 6, 0, 1, 6, 6, 2, 3, 6, 6, 6, 6, 6, 6, 6, 6, + 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, + 6, 6, 6, 6, 6, 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, 5, +}; +static const struct byte_lookup* const +to_SHIFT_JIS_E2_8A_infos[7] = { + o2(0x81,0xBC), o2(0x81,0xBD), o2(0x81,0xBA), o2(0x81,0xBB), + o2(0x87,0x96), o2(0x87,0x99), UNDEF, +}; +static const BYTE_LOOKUP +to_SHIFT_JIS_E2_8A = { + to_SHIFT_JIS_E2_8A_offsets, + to_SHIFT_JIS_E2_8A_infos +}; + +static const unsigned char +to_SHIFT_JIS_E2_8C_offsets[64] = { + /* used from to_SHIFT_JIS_E2_8C */ + /* used from to_EUC_JP_E2_8C */ + 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, + 1, 1, 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, + 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, + 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, +}; +static const struct byte_lookup* const +to_SHIFT_JIS_E2_8C_infos[2] = { + o2(0x81,0xDC), UNDEF, +}; +static const BYTE_LOOKUP +to_SHIFT_JIS_E2_8C = { + to_SHIFT_JIS_E2_8C_offsets, + to_SHIFT_JIS_E2_8C_infos +}; + +static const unsigned char +to_SHIFT_JIS_E2_91_offsets[64] = { + /* used from to_SHIFT_JIS_E2_91 */ + /* used from to_EUC_JP_E2_91 */ + 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, 20, 20, 20, + 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, + 16, 17, 18, 19, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, +}; +static const struct byte_lookup* const +to_SHIFT_JIS_E2_91_infos[21] = { + o2(0x87,0x40), o2(0x87,0x41), o2(0x87,0x42), o2(0x87,0x43), + o2(0x87,0x44), o2(0x87,0x45), o2(0x87,0x46), o2(0x87,0x47), + o2(0x87,0x48), o2(0x87,0x49), o2(0x87,0x4A), o2(0x87,0x4B), + o2(0x87,0x4C), o2(0x87,0x4D), o2(0x87,0x4E), o2(0x87,0x4F), + o2(0x87,0x50), o2(0x87,0x51), o2(0x87,0x52), o2(0x87,0x53), + UNDEF, +}; +static const BYTE_LOOKUP +to_SHIFT_JIS_E2_91 = { + to_SHIFT_JIS_E2_91_offsets, + to_SHIFT_JIS_E2_91_infos +}; + +static const unsigned char +to_SHIFT_JIS_E2_94_offsets[64] = { + /* used from to_SHIFT_JIS_E2_94 */ + /* used from to_EUC_JP_E2_94 */ + 0, 1, 2, 3, 30, 30, 30, 30, 30, 30, 30, 30, 4, 30, 30, 5, + 6, 30, 30, 7, 8, 30, 30, 9, 10, 30, 30, 11, 12, 13, 30, 30, + 14, 30, 30, 15, 16, 17, 30, 30, 18, 30, 30, 19, 20, 30, 30, 21, + 22, 30, 30, 23, 24, 30, 30, 25, 26, 30, 30, 27, 28, 30, 30, 29, +}; +static const struct byte_lookup* const +to_SHIFT_JIS_E2_94_infos[31] = { + o2(0x84,0x9F), o2(0x84,0xAA), o2(0x84,0xA0), o2(0x84,0xAB), + o2(0x84,0xA1), o2(0x84,0xAC), o2(0x84,0xA2), o2(0x84,0xAD), + o2(0x84,0xA4), o2(0x84,0xAF), o2(0x84,0xA3), o2(0x84,0xAE), + o2(0x84,0xA5), o2(0x84,0xBA), o2(0x84,0xB5), o2(0x84,0xB0), + o2(0x84,0xA7), o2(0x84,0xBC), o2(0x84,0xB7), o2(0x84,0xB2), + o2(0x84,0xA6), o2(0x84,0xB6), o2(0x84,0xBB), o2(0x84,0xB1), + o2(0x84,0xA8), o2(0x84,0xB8), o2(0x84,0xBD), o2(0x84,0xB3), + o2(0x84,0xA9), o2(0x84,0xB9), UNDEF, +}; +static const BYTE_LOOKUP +to_SHIFT_JIS_E2_94 = { + to_SHIFT_JIS_E2_94_offsets, + to_SHIFT_JIS_E2_94_infos +}; + +static const unsigned char +to_SHIFT_JIS_E2_95_offsets[64] = { + /* used from to_SHIFT_JIS_E2_95 */ + /* used from to_EUC_JP_E2_95 */ + 2, 2, 0, 2, 2, 2, 2, 2, 2, 2, 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, +}; +static const struct byte_lookup* const +to_SHIFT_JIS_E2_95_infos[3] = { + o2(0x84,0xBE), o2(0x84,0xB4), UNDEF, +}; +static const BYTE_LOOKUP +to_SHIFT_JIS_E2_95 = { + to_SHIFT_JIS_E2_95_offsets, + to_SHIFT_JIS_E2_95_infos +}; + +static const unsigned char +to_SHIFT_JIS_E2_96_offsets[64] = { + /* used from to_SHIFT_JIS_E2_96 */ + /* used from to_EUC_JP_E2_96 */ + 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, + 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, + 0, 1, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, + 6, 6, 2, 3, 6, 6, 6, 6, 6, 6, 6, 6, 4, 5, 6, 6, +}; +static const struct byte_lookup* const +to_SHIFT_JIS_E2_96_infos[7] = { + o2(0x81,0xA1), o2(0x81,0xA0), o2(0x81,0xA3), o2(0x81,0xA2), + o2(0x81,0xA5), o2(0x81,0xA4), UNDEF, +}; +static const BYTE_LOOKUP +to_SHIFT_JIS_E2_96 = { + to_SHIFT_JIS_E2_96_offsets, + to_SHIFT_JIS_E2_96_infos +}; + +static const unsigned char +to_SHIFT_JIS_E2_97_offsets[64] = { + /* used from to_SHIFT_JIS_E2_97 */ + /* used from to_EUC_JP_E2_97 */ + 6, 6, 6, 6, 6, 6, 0, 1, 6, 6, 6, 2, 6, 6, 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, 6, 6, 6, 5, + 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, +}; +static const struct byte_lookup* const +to_SHIFT_JIS_E2_97_infos[7] = { + o2(0x81,0x9F), o2(0x81,0x9E), o2(0x81,0x9B), o2(0x81,0x9D), + o2(0x81,0x9C), o2(0x81,0xFC), UNDEF, +}; +static const BYTE_LOOKUP +to_SHIFT_JIS_E2_97 = { + to_SHIFT_JIS_E2_97_offsets, + to_SHIFT_JIS_E2_97_infos +}; + +static const unsigned char +to_SHIFT_JIS_E2_98_offsets[64] = { + /* used from to_SHIFT_JIS_E2_98 */ + /* used from to_EUC_JP_E2_98 */ + 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, 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_SHIFT_JIS_E2_98_infos[3] = { + o2(0x81,0x9A), o2(0x81,0x99), UNDEF, +}; +static const BYTE_LOOKUP +to_SHIFT_JIS_E2_98 = { + to_SHIFT_JIS_E2_98_offsets, + to_SHIFT_JIS_E2_98_infos +}; + +static const unsigned char +to_SHIFT_JIS_E2_99_offsets[64] = { + /* used from to_SHIFT_JIS_E2_99 */ + /* used from to_EUC_JP_E2_99 */ + 0, 5, 1, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, + 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, + 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 2, 5, 5, 3, 5, 4, + 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, +}; +static const struct byte_lookup* const +to_SHIFT_JIS_E2_99_infos[6] = { + o2(0x81,0x8A), o2(0x81,0x89), o2(0x81,0xF4), o2(0x81,0xF3), + o2(0x81,0xF2), UNDEF, +}; +static const BYTE_LOOKUP +to_SHIFT_JIS_E2_99 = { + to_SHIFT_JIS_E2_99_offsets, + to_SHIFT_JIS_E2_99_infos +}; + +static const unsigned char +to_SHIFT_JIS_E2_offsets[64] = { + /* used from to_SHIFT_JIS_E2 */ + /* used from to_EUC_JP_E2 */ + 0, 16, 16, 16, 1, 2, 3, 4, 5, 6, 7, 16, 8, 16, 16, 16, + 16, 9, 16, 16, 10, 11, 12, 13, 14, 15, 16, 16, 16, 16, 16, 16, + 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, + 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, +}; +static const struct byte_lookup* const +to_SHIFT_JIS_E2_infos[17] = { + &to_SHIFT_JIS_E2_80, &to_SHIFT_JIS_E2_84, + &to_SHIFT_JIS_E2_85, &to_SHIFT_JIS_E2_86, + &to_SHIFT_JIS_E2_87, &to_SHIFT_JIS_E2_88, + &to_SHIFT_JIS_E2_89, &to_SHIFT_JIS_E2_8A, + &to_SHIFT_JIS_E2_8C, &to_SHIFT_JIS_E2_91, + &to_SHIFT_JIS_E2_94, &to_SHIFT_JIS_E2_95, + &to_SHIFT_JIS_E2_96, &to_SHIFT_JIS_E2_97, + &to_SHIFT_JIS_E2_98, &to_SHIFT_JIS_E2_99, + UNDEF, +}; +static const BYTE_LOOKUP +to_SHIFT_JIS_E2 = { + to_SHIFT_JIS_E2_offsets, + to_SHIFT_JIS_E2_infos +}; + +static const unsigned char +to_SHIFT_JIS_E3_80_offsets[64] = { + /* used from to_SHIFT_JIS_E3_80 */ + /* used from to_EUC_JP_E3_80 */ + 0, 1, 2, 3, 24, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, + 15, 16, 17, 18, 19, 20, 24, 24, 24, 24, 24, 24, 21, 22, 24, 23, + 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, + 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, +}; +static const struct byte_lookup* const +to_SHIFT_JIS_E3_80_infos[25] = { + o2(0x81,0x40), o2(0x81,0x41), o2(0x81,0x42), o2(0x81,0x56), + o2(0x81,0x58), o2(0x81,0x59), o2(0x81,0x5A), o2(0x81,0x71), + o2(0x81,0x72), o2(0x81,0x73), o2(0x81,0x74), o2(0x81,0x75), + o2(0x81,0x76), o2(0x81,0x77), o2(0x81,0x78), o2(0x81,0x79), + o2(0x81,0x7A), o2(0x81,0xA7), o2(0x81,0xAC), o2(0x81,0x6B), + o2(0x81,0x6C), o2(0x81,0x60), o2(0x87,0x80), o2(0x87,0x81), + UNDEF, +}; +static const BYTE_LOOKUP +to_SHIFT_JIS_E3_80 = { + to_SHIFT_JIS_E3_80_offsets, + to_SHIFT_JIS_E3_80_infos +}; + +static const unsigned char +to_SHIFT_JIS_E3_81_offsets[64] = { + /* used from to_SHIFT_JIS_E3_81 */ + /* used from to_EUC_JP_E3_81 */ + 63, 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, +}; +static const struct byte_lookup* const +to_SHIFT_JIS_E3_81_infos[64] = { + o2(0x82,0x9F), o2(0x82,0xA0), o2(0x82,0xA1), o2(0x82,0xA2), + o2(0x82,0xA3), o2(0x82,0xA4), o2(0x82,0xA5), o2(0x82,0xA6), + o2(0x82,0xA7), o2(0x82,0xA8), o2(0x82,0xA9), o2(0x82,0xAA), + o2(0x82,0xAB), o2(0x82,0xAC), o2(0x82,0xAD), o2(0x82,0xAE), + o2(0x82,0xAF), o2(0x82,0xB0), o2(0x82,0xB1), o2(0x82,0xB2), + o2(0x82,0xB3), o2(0x82,0xB4), o2(0x82,0xB5), o2(0x82,0xB6), + o2(0x82,0xB7), o2(0x82,0xB8), o2(0x82,0xB9), o2(0x82,0xBA), + o2(0x82,0xBB), o2(0x82,0xBC), o2(0x82,0xBD), o2(0x82,0xBE), + o2(0x82,0xBF), o2(0x82,0xC0), o2(0x82,0xC1), o2(0x82,0xC2), + o2(0x82,0xC3), o2(0x82,0xC4), o2(0x82,0xC5), o2(0x82,0xC6), + o2(0x82,0xC7), o2(0x82,0xC8), o2(0x82,0xC9), o2(0x82,0xCA), + o2(0x82,0xCB), o2(0x82,0xCC), o2(0x82,0xCD), o2(0x82,0xCE), + o2(0x82,0xCF), o2(0x82,0xD0), o2(0x82,0xD1), o2(0x82,0xD2), + o2(0x82,0xD3), o2(0x82,0xD4), o2(0x82,0xD5), o2(0x82,0xD6), + o2(0x82,0xD7), o2(0x82,0xD8), o2(0x82,0xD9), o2(0x82,0xDA), + o2(0x82,0xDB), o2(0x82,0xDC), o2(0x82,0xDD), UNDEF, +}; +static const BYTE_LOOKUP +to_SHIFT_JIS_E3_81 = { + to_SHIFT_JIS_E3_81_offsets, + to_SHIFT_JIS_E3_81_infos +}; + +static const unsigned char +to_SHIFT_JIS_E3_82_offsets[64] = { + /* used from to_SHIFT_JIS_E3_82 */ + /* used from to_EUC_JP_E3_82 */ + 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, + 16, 17, 18, 19, 55, 55, 55, 55, 55, 55, 55, 20, 21, 22, 23, 55, + 55, 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, +}; +static const struct byte_lookup* const +to_SHIFT_JIS_E3_82_infos[56] = { + o2(0x82,0xDE), o2(0x82,0xDF), o2(0x82,0xE0), o2(0x82,0xE1), + o2(0x82,0xE2), o2(0x82,0xE3), o2(0x82,0xE4), o2(0x82,0xE5), + o2(0x82,0xE6), o2(0x82,0xE7), o2(0x82,0xE8), o2(0x82,0xE9), + o2(0x82,0xEA), o2(0x82,0xEB), o2(0x82,0xEC), o2(0x82,0xED), + o2(0x82,0xEE), o2(0x82,0xEF), o2(0x82,0xF0), o2(0x82,0xF1), + o2(0x81,0x4A), o2(0x81,0x4B), o2(0x81,0x54), o2(0x81,0x55), + o2(0x83,0x40), o2(0x83,0x41), o2(0x83,0x42), o2(0x83,0x43), + o2(0x83,0x44), o2(0x83,0x45), o2(0x83,0x46), o2(0x83,0x47), + o2(0x83,0x48), o2(0x83,0x49), o2(0x83,0x4A), o2(0x83,0x4B), + o2(0x83,0x4C), o2(0x83,0x4D), o2(0x83,0x4E), o2(0x83,0x4F), + o2(0x83,0x50), o2(0x83,0x51), o2(0x83,0x52), o2(0x83,0x53), + o2(0x83,0x54), o2(0x83,0x55), o2(0x83,0x56), o2(0x83,0x57), + o2(0x83,0x58), o2(0x83,0x59), o2(0x83,0x5A), o2(0x83,0x5B), + o2(0x83,0x5C), o2(0x83,0x5D), o2(0x83,0x5E), UNDEF, +}; +static const BYTE_LOOKUP +to_SHIFT_JIS_E3_82 = { + to_SHIFT_JIS_E3_82_offsets, + to_SHIFT_JIS_E3_82_infos +}; + +static const unsigned char +to_SHIFT_JIS_E3_83_offsets[64] = { + /* used from to_SHIFT_JIS_E3_83 */ + /* used from to_EUC_JP_E3_83 */ + 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, 59, 59, 59, 59, 55, 56, 57, 58, 59, +}; +static const struct byte_lookup* const +to_SHIFT_JIS_E3_83_infos[60] = { + o2(0x83,0x5F), o2(0x83,0x60), o2(0x83,0x61), o2(0x83,0x62), + o2(0x83,0x63), o2(0x83,0x64), o2(0x83,0x65), o2(0x83,0x66), + o2(0x83,0x67), o2(0x83,0x68), o2(0x83,0x69), o2(0x83,0x6A), + o2(0x83,0x6B), o2(0x83,0x6C), o2(0x83,0x6D), o2(0x83,0x6E), + o2(0x83,0x6F), o2(0x83,0x70), o2(0x83,0x71), o2(0x83,0x72), + o2(0x83,0x73), o2(0x83,0x74), o2(0x83,0x75), o2(0x83,0x76), + o2(0x83,0x77), o2(0x83,0x78), o2(0x83,0x79), o2(0x83,0x7A), + o2(0x83,0x7B), o2(0x83,0x7C), o2(0x83,0x7D), o2(0x83,0x7E), + o2(0x83,0x80), o2(0x83,0x81), o2(0x83,0x82), o2(0x83,0x83), + o2(0x83,0x84), o2(0x83,0x85), o2(0x83,0x86), o2(0x83,0x87), + o2(0x83,0x88), o2(0x83,0x89), o2(0x83,0x8A), o2(0x83,0x8B), + o2(0x83,0x8C), o2(0x83,0x8D), o2(0x83,0x8E), o2(0x83,0x8F), + o2(0x83,0x90), o2(0x83,0x91), o2(0x83,0x92), o2(0x83,0x93), + o2(0x83,0x94), o2(0x83,0x95), o2(0x83,0x96), o2(0x81,0x45), + o2(0x81,0x5B), o2(0x81,0x52), o2(0x81,0x53), UNDEF, +}; +static const BYTE_LOOKUP +to_SHIFT_JIS_E3_83 = { + to_SHIFT_JIS_E3_83_offsets, + to_SHIFT_JIS_E3_83_infos +}; + +static const unsigned char +to_SHIFT_JIS_E3_88_offsets[64] = { + /* used from to_SHIFT_JIS_E3_88 */ + /* used from to_EUC_JP_E3_88 */ + 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, + 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, + 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, + 3, 0, 1, 3, 3, 3, 3, 3, 3, 2, 3, 3, 3, 3, 3, 3, +}; +static const struct byte_lookup* const +to_SHIFT_JIS_E3_88_infos[4] = { + o2(0x87,0x8A), o2(0x87,0x8B), o2(0x87,0x8C), UNDEF, +}; +static const BYTE_LOOKUP +to_SHIFT_JIS_E3_88 = { + to_SHIFT_JIS_E3_88_offsets, + to_SHIFT_JIS_E3_88_infos +}; + +static const unsigned char +to_SHIFT_JIS_E3_8A_offsets[64] = { + /* used from to_SHIFT_JIS_E3_8A */ + /* used from to_EUC_JP_E3_8A */ + 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 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, + 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, +}; +static const struct byte_lookup* const +to_SHIFT_JIS_E3_8A_infos[6] = { + o2(0x87,0x85), o2(0x87,0x86), o2(0x87,0x87), o2(0x87,0x88), + o2(0x87,0x89), UNDEF, +}; +static const BYTE_LOOKUP +to_SHIFT_JIS_E3_8A = { + to_SHIFT_JIS_E3_8A_offsets, + to_SHIFT_JIS_E3_8A_infos +}; + +static const unsigned char +to_SHIFT_JIS_E3_8C_offsets[64] = { + /* used from to_SHIFT_JIS_E3_8C */ + /* used from to_EUC_JP_E3_8C */ + 11, 11, 11, 0, 11, 11, 11, 11, 11, 11, 11, 11, 11, 1, 11, 11, + 11, 11, 11, 11, 2, 11, 11, 11, 3, 11, 11, 11, 11, 11, 11, 11, + 11, 11, 4, 5, 11, 11, 6, 7, 11, 11, 11, 8, 11, 11, 11, 11, + 11, 11, 11, 11, 11, 11, 9, 11, 11, 11, 11, 10, 11, 11, 11, 11, +}; +static const struct byte_lookup* const +to_SHIFT_JIS_E3_8C_infos[12] = { + o2(0x87,0x65), o2(0x87,0x69), o2(0x87,0x60), o2(0x87,0x63), + o2(0x87,0x61), o2(0x87,0x6B), o2(0x87,0x6A), o2(0x87,0x64), + o2(0x87,0x6C), o2(0x87,0x66), o2(0x87,0x6E), UNDEF, +}; +static const BYTE_LOOKUP +to_SHIFT_JIS_E3_8C = { + to_SHIFT_JIS_E3_8C_offsets, + to_SHIFT_JIS_E3_8C_infos +}; + +static const unsigned char +to_SHIFT_JIS_E3_8D_offsets[64] = { + /* used from to_SHIFT_JIS_E3_8D */ + /* used from to_EUC_JP_E3_8D */ + 9, 9, 9, 9, 9, 9, 9, 9, 9, 0, 1, 9, 9, 2, 9, 9, + 9, 3, 9, 9, 9, 9, 9, 4, 9, 9, 9, 9, 9, 9, 9, 9, + 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, + 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 5, 6, 7, 8, 9, +}; +static const struct byte_lookup* const +to_SHIFT_JIS_E3_8D_infos[10] = { + o2(0x87,0x5F), o2(0x87,0x6D), o2(0x87,0x62), o2(0x87,0x67), + o2(0x87,0x68), o2(0x87,0x7E), o2(0x87,0x8F), o2(0x87,0x8E), + o2(0x87,0x8D), UNDEF, +}; +static const BYTE_LOOKUP +to_SHIFT_JIS_E3_8D = { + to_SHIFT_JIS_E3_8D_offsets, + to_SHIFT_JIS_E3_8D_infos +}; + +static const unsigned char +to_SHIFT_JIS_E3_8E_offsets[64] = { + /* used from to_SHIFT_JIS_E3_8E */ + /* used from to_EUC_JP_E3_8E */ + 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 0, 1, + 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 2, 3, 4, 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_SHIFT_JIS_E3_8E_infos[7] = { + o2(0x87,0x72), o2(0x87,0x73), o2(0x87,0x6F), o2(0x87,0x70), + o2(0x87,0x71), o2(0x87,0x75), UNDEF, +}; +static const BYTE_LOOKUP +to_SHIFT_JIS_E3_8E = { + to_SHIFT_JIS_E3_8E_offsets, + to_SHIFT_JIS_E3_8E_infos +}; + +static const unsigned char +to_SHIFT_JIS_E3_8F_offsets[64] = { + /* used from to_SHIFT_JIS_E3_8F */ + /* used from to_EUC_JP_E3_8F */ + 2, 2, 2, 2, 0, 2, 2, 2, 2, 2, 2, 2, 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, +}; +static const struct byte_lookup* const +to_SHIFT_JIS_E3_8F_infos[3] = { + o2(0x87,0x74), o2(0x87,0x83), UNDEF, +}; +static const BYTE_LOOKUP +to_SHIFT_JIS_E3_8F = { + to_SHIFT_JIS_E3_8F_offsets, + to_SHIFT_JIS_E3_8F_infos +}; + +static const unsigned char +to_SHIFT_JIS_E3_offsets[64] = { + /* used from to_SHIFT_JIS_E3 */ + /* used from to_EUC_JP_E3 */ + 0, 1, 2, 3, 10, 10, 10, 10, 4, 10, 5, 10, 6, 7, 8, 9, + 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, + 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, + 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, +}; +static const struct byte_lookup* const +to_SHIFT_JIS_E3_infos[11] = { + &to_SHIFT_JIS_E3_80, &to_SHIFT_JIS_E3_81, + &to_SHIFT_JIS_E3_82, &to_SHIFT_JIS_E3_83, + &to_SHIFT_JIS_E3_88, &to_SHIFT_JIS_E3_8A, + &to_SHIFT_JIS_E3_8C, &to_SHIFT_JIS_E3_8D, + &to_SHIFT_JIS_E3_8E, &to_SHIFT_JIS_E3_8F, + UNDEF, +}; +static const BYTE_LOOKUP +to_SHIFT_JIS_E3 = { + to_SHIFT_JIS_E3_offsets, + to_SHIFT_JIS_E3_infos +}; + +static const unsigned char +to_SHIFT_JIS_E4_B8_offsets[64] = { + /* used from to_SHIFT_JIS_E4_B8 */ + /* used from to_EUC_JP_E4_B8 */ + 0, 1, 32, 2, 32, 32, 32, 3, 4, 5, 6, 7, 32, 8, 9, 32, + 10, 11, 32, 32, 12, 13, 14, 15, 16, 17, 32, 32, 32, 32, 18, 32, + 32, 19, 32, 32, 32, 32, 20, 32, 21, 32, 22, 32, 32, 23, 32, 32, + 32, 24, 25, 32, 32, 32, 26, 32, 27, 28, 32, 29, 30, 32, 32, 31, +}; +static const struct byte_lookup* const +to_SHIFT_JIS_E4_B8_infos[33] = { + o2(0x88,0xEA), o2(0x92,0x9A), o2(0x8E,0xB5), o2(0x96,0x9C), + o2(0x8F,0xE4), o2(0x8E,0x4F), o2(0x8F,0xE3), o2(0x89,0xBA), + o2(0x95,0x73), o2(0x97,0x5E), o2(0x98,0xA0), o2(0x89,0x4E), + o2(0x8A,0x8E), o2(0x98,0xA1), o2(0x90,0xA2), o2(0x99,0xC0), + o2(0x8B,0x75), o2(0x95,0xB8), o2(0x8F,0xE5), o2(0x97,0xBC), + o2(0x95,0xC0), o2(0xFA,0x68), o2(0x98,0xA2), o2(0x92,0x86), + o2(0x98,0xA3), o2(0x8B,0xF8), o2(0x98,0xA4), o2(0x8A,0xDB), + o2(0x92,0x4F), o2(0x8E,0xE5), o2(0x98,0xA5), o2(0x98,0xA6), + UNDEF, +}; +static const BYTE_LOOKUP +to_SHIFT_JIS_E4_B8 = { + to_SHIFT_JIS_E4_B8_offsets, + to_SHIFT_JIS_E4_B8_infos +}; + +static const unsigned char +to_SHIFT_JIS_E4_B9_offsets[64] = { + /* used from to_SHIFT_JIS_E4_B9 */ + /* used from to_EUC_JP_E4_B9 */ + 19, 19, 0, 1, 19, 2, 19, 19, 19, 19, 19, 3, 19, 4, 5, 6, + 19, 19, 19, 19, 19, 7, 8, 9, 10, 11, 19, 19, 19, 12, 13, 14, + 19, 19, 15, 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, + 19, 16, 19, 17, 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, 18, 19, +}; +static const struct byte_lookup* const +to_SHIFT_JIS_E4_B9_infos[20] = { + o2(0x98,0xA7), o2(0x94,0x54), o2(0x8B,0x76), o2(0x94,0x56), + o2(0x93,0xE1), o2(0x8C,0xC1), o2(0x96,0x52), o2(0xE5,0x68), + o2(0x98,0xA8), o2(0x8F,0xE6), o2(0x98,0xA9), o2(0x89,0xB3), + o2(0x8B,0xE3), o2(0x8C,0xEE), o2(0x96,0xE7), o2(0x9B,0xA4), + o2(0x97,0x90), o2(0x93,0xFB), o2(0x8A,0xA3), UNDEF, +}; +static const BYTE_LOOKUP +to_SHIFT_JIS_E4_B9 = { + to_SHIFT_JIS_E4_B9_offsets, + to_SHIFT_JIS_E4_B9_infos +}; + +static const unsigned char +to_SHIFT_JIS_E4_BA_offsets[64] = { + /* used from to_SHIFT_JIS_E4_BA */ + /* used from to_EUC_JP_E4_BA */ + 0, 35, 1, 35, 35, 2, 3, 35, 4, 5, 6, 7, 8, 35, 9, 35, + 35, 10, 11, 35, 12, 13, 35, 35, 14, 15, 35, 16, 17, 35, 18, 19, + 20, 21, 22, 35, 23, 24, 25, 35, 26, 35, 35, 27, 28, 29, 30, 35, + 31, 35, 35, 32, 35, 35, 33, 35, 35, 35, 34, 35, 35, 35, 35, 35, +}; +static const struct byte_lookup* const +to_SHIFT_JIS_E4_BA_infos[36] = { + o2(0x8B,0x54), o2(0x98,0xAA), o2(0x98,0xAB), o2(0x97,0xB9), + o2(0x97,0x5C), o2(0x91,0x88), o2(0x98,0xAD), o2(0x8E,0x96), + o2(0x93,0xF1), o2(0x98,0xB0), o2(0x89,0x5D), o2(0x8C,0xDD), + o2(0x8C,0xDC), o2(0x88,0xE4), o2(0x98,0x6A), o2(0x98,0x69), + o2(0x8D,0xB1), o2(0x88,0x9F), o2(0x98,0xB1), o2(0x98,0xB2), + o2(0x98,0xB3), o2(0x96,0x53), o2(0x98,0xB4), o2(0x8C,0xF0), + o2(0x88,0xE5), o2(0x96,0x92), o2(0x8B,0x9C), o2(0x8B,0x9D), + o2(0x8B,0x9E), o2(0x92,0xE0), o2(0x97,0xBA), o2(0x98,0xB5), + o2(0x98,0xB6), o2(0x98,0xB7), o2(0x90,0x6C), UNDEF, +}; +static const BYTE_LOOKUP +to_SHIFT_JIS_E4_BA = { + to_SHIFT_JIS_E4_BA_offsets, + to_SHIFT_JIS_E4_BA_infos +}; + +static const unsigned char +to_SHIFT_JIS_E4_BB_offsets[64] = { + /* used from to_SHIFT_JIS_E4_BB */ + /* used from to_EUC_JP_E4_BB */ + 0, 1, 2, 32, 3, 32, 4, 5, 32, 32, 6, 7, 32, 8, 9, 10, + 32, 32, 32, 32, 11, 12, 13, 14, 15, 16, 32, 32, 32, 17, 18, 19, + 32, 20, 32, 21, 22, 23, 32, 32, 32, 32, 32, 32, 32, 24, 25, 32, + 26, 32, 27, 32, 32, 32, 28, 29, 32, 32, 32, 30, 31, 32, 32, 32, +}; +static const struct byte_lookup* const +to_SHIFT_JIS_E4_BB_infos[33] = { + o2(0x8F,0x59), o2(0x90,0x6D), o2(0x98,0xBC), o2(0x98,0xBA), + o2(0x98,0xBB), o2(0x8B,0x77), o2(0x8D,0xA1), o2(0x89,0xEE), + o2(0x98,0xB9), o2(0x98,0xB8), o2(0x95,0xA7), o2(0x8E,0x65), + o2(0x8E,0x64), o2(0x91,0xBC), o2(0x98,0xBD), o2(0x95,0x74), + o2(0x90,0xE5), o2(0x81,0x57), o2(0x98,0xBE), o2(0x98,0xC0), + o2(0xFA,0x69), o2(0x91,0xE3), o2(0x97,0xDF), o2(0x88,0xC8), + o2(0x98,0xBF), o2(0x89,0xBC), o2(0x8B,0xC2), o2(0x92,0x87), + o2(0x8C,0x8F), o2(0x98,0xC1), o2(0x94,0x43), o2(0xFA,0x6A), + UNDEF, +}; +static const BYTE_LOOKUP +to_SHIFT_JIS_E4_BB = { + to_SHIFT_JIS_E4_BB_offsets, + to_SHIFT_JIS_E4_BB_infos +}; + +static const unsigned char +to_SHIFT_JIS_E4_BC_offsets[64] = { + /* used from to_SHIFT_JIS_E4_BC */ + /* used from to_EUC_JP_E4_BC */ + 0, 1, 22, 2, 22, 22, 22, 22, 22, 3, 4, 22, 22, 5, 6, 7, + 8, 9, 22, 22, 22, 22, 22, 22, 22, 22, 10, 22, 11, 12, 22, 22, + 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 13, + 14, 22, 22, 22, 15, 22, 16, 22, 17, 18, 19, 22, 20, 21, 22, 22, +}; +static const struct byte_lookup* const +to_SHIFT_JIS_E4_BC_infos[23] = { + o2(0xFA,0x6B), o2(0x8A,0xE9), o2(0xFA,0x6C), o2(0x98,0xC2), + o2(0x88,0xC9), o2(0x8C,0xDE), o2(0x8A,0xEA), o2(0x95,0x9A), + o2(0x94,0xB0), o2(0x8B,0x78), o2(0x89,0xEF), o2(0x98,0xE5), + o2(0x93,0x60), o2(0x94,0x8C), o2(0x98,0xC4), o2(0x94,0xBA), + o2(0x97,0xE0), o2(0x90,0x4C), o2(0xFA,0x6D), o2(0x8E,0x66), + o2(0x8E,0x97), o2(0x89,0xBE), UNDEF, +}; +static const BYTE_LOOKUP +to_SHIFT_JIS_E4_BC = { + to_SHIFT_JIS_E4_BC_offsets, + to_SHIFT_JIS_E4_BC_infos +}; + +static const unsigned char +to_SHIFT_JIS_E4_BD_offsets[64] = { + /* used from to_SHIFT_JIS_E4_BD */ + /* used from to_EUC_JP_E4_BD */ + 27, 27, 27, 0, 27, 27, 1, 2, 27, 27, 27, 27, 27, 3, 4, 5, + 6, 7, 27, 8, 27, 9, 10, 11, 27, 12, 13, 14, 15, 16, 17, 27, + 27, 27, 27, 27, 27, 27, 27, 27, 27, 18, 27, 27, 27, 27, 27, 19, + 20, 27, 27, 21, 27, 22, 23, 27, 27, 27, 27, 24, 25, 27, 27, 26, +}; +static const struct byte_lookup* const +to_SHIFT_JIS_E4_BD_infos[28] = { + o2(0x92,0xCF), o2(0x92,0x41), o2(0x98,0xC8), o2(0x88,0xCA), + o2(0x92,0xE1), o2(0x8F,0x5A), o2(0x8D,0xB2), o2(0x97,0x43), + o2(0x91,0xCC), o2(0x89,0xBD), o2(0xFA,0x6E), o2(0x98,0xC7), + o2(0x97,0x5D), o2(0x98,0xC3), o2(0x98,0xC5), o2(0x8D,0xEC), + o2(0x98,0xC6), o2(0x9B,0x43), o2(0x98,0xCE), o2(0x98,0xD1), + o2(0x98,0xCF), o2(0x89,0xC0), o2(0x95,0xB9), o2(0x98,0xC9), + o2(0x98,0xCD), o2(0x8C,0xF1), o2(0x8E,0x67), UNDEF, +}; +static const BYTE_LOOKUP +to_SHIFT_JIS_E4_BD = { + to_SHIFT_JIS_E4_BD_offsets, + to_SHIFT_JIS_E4_BD_infos +}; + +static const unsigned char +to_SHIFT_JIS_E4_BE_offsets[64] = { + /* used from to_SHIFT_JIS_E4_BE */ + /* used from to_EUC_JP_E4_BE */ + 24, 24, 24, 0, 24, 24, 1, 24, 2, 24, 3, 4, 24, 5, 24, 6, + 24, 7, 8, 24, 9, 24, 10, 24, 11, 24, 12, 13, 24, 14, 24, 24, + 15, 16, 24, 24, 24, 24, 24, 24, 24, 24, 24, 17, 24, 18, 19, 20, + 24, 24, 24, 24, 24, 21, 22, 24, 24, 24, 24, 24, 24, 24, 24, 23, +}; +static const struct byte_lookup* const +to_SHIFT_JIS_E4_BE_infos[25] = { + o2(0x8A,0xA4), o2(0x98,0xD2), o2(0x98,0xCA), o2(0xFA,0x70), + o2(0x97,0xE1), o2(0x8E,0x98), o2(0x98,0xCB), o2(0x98,0xD0), + o2(0xFA,0x6F), o2(0xFA,0x72), o2(0x98,0xD3), o2(0x98,0xCC), + o2(0xFA,0x71), o2(0x8B,0x9F), o2(0x88,0xCB), o2(0x8B,0xA0), + o2(0x89,0xBF), o2(0x9B,0x44), o2(0x96,0x99), o2(0x95,0x8E), + o2(0x8C,0xF2), o2(0x90,0x4E), o2(0x97,0xB5), o2(0x95,0xD6), + UNDEF, +}; +static const BYTE_LOOKUP +to_SHIFT_JIS_E4_BE = { + to_SHIFT_JIS_E4_BE_offsets, + to_SHIFT_JIS_E4_BE_infos +}; + +static const unsigned char +to_SHIFT_JIS_E4_BF_offsets[64] = { + /* used from to_SHIFT_JIS_E4_BF */ + /* used from to_EUC_JP_E4_BF */ + 29, 29, 0, 1, 2, 29, 29, 29, 29, 3, 4, 29, 29, 5, 6, 29, + 7, 8, 29, 29, 9, 29, 29, 10, 11, 29, 12, 13, 29, 14, 29, 15, + 29, 16, 29, 17, 18, 19, 29, 29, 29, 29, 29, 29, 29, 29, 20, 21, + 29, 29, 29, 22, 29, 23, 24, 29, 25, 29, 26, 29, 29, 29, 27, 28, +}; +static const struct byte_lookup* const +to_SHIFT_JIS_E4_BF_infos[30] = { + o2(0x8C,0x57), o2(0x91,0xA3), o2(0x89,0xE2), o2(0xFA,0x61), + o2(0x8F,0x72), o2(0xFA,0x73), o2(0x98,0xD7), o2(0x98,0xDC), + o2(0x98,0xDA), o2(0x98,0xD5), o2(0x91,0xAD), o2(0x98,0xD8), + o2(0x98,0xDB), o2(0x98,0xD9), o2(0x95,0xDB), o2(0x98,0xD6), + o2(0x90,0x4D), o2(0x96,0x93), o2(0x98,0xDD), o2(0x98,0xDE), + o2(0x8F,0x43), o2(0x98,0xEB), o2(0x94,0x6F), o2(0x95,0x55), + o2(0x98,0xE6), o2(0x95,0xEE), o2(0x89,0xB4), o2(0x98,0xEA), + o2(0xFA,0x76), UNDEF, +}; +static const BYTE_LOOKUP +to_SHIFT_JIS_E4_BF = { + to_SHIFT_JIS_E4_BF_offsets, + to_SHIFT_JIS_E4_BF_infos +}; + +static const unsigned char +to_SHIFT_JIS_E4_offsets[64] = { + /* used from to_SHIFT_JIS_E4 */ + /* used from to_EUC_JP_E4 */ + 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, 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, 4, 5, 6, 7, +}; +static const struct byte_lookup* const +to_SHIFT_JIS_E4_infos[9] = { + &to_SHIFT_JIS_E4_B8, &to_SHIFT_JIS_E4_B9, + &to_SHIFT_JIS_E4_BA, &to_SHIFT_JIS_E4_BB, + &to_SHIFT_JIS_E4_BC, &to_SHIFT_JIS_E4_BD, + &to_SHIFT_JIS_E4_BE, &to_SHIFT_JIS_E4_BF, + UNDEF, +}; +static const BYTE_LOOKUP +to_SHIFT_JIS_E4 = { + to_SHIFT_JIS_E4_offsets, + to_SHIFT_JIS_E4_infos +}; + +static const unsigned char +to_SHIFT_JIS_E5_80_offsets[64] = { + /* used from to_SHIFT_JIS_E5_80 */ + /* used from to_EUC_JP_E5_80 */ + 28, 28, 28, 28, 28, 0, 1, 28, 28, 2, 28, 3, 28, 4, 28, 5, + 28, 6, 7, 28, 8, 28, 9, 28, 28, 10, 11, 28, 28, 28, 12, 13, + 28, 14, 15, 16, 17, 18, 19, 28, 20, 21, 22, 23, 24, 25, 28, 28, + 28, 28, 28, 28, 28, 28, 26, 28, 28, 27, 28, 28, 28, 28, 28, 28, +}; +static const struct byte_lookup* const +to_SHIFT_JIS_E5_80_infos[29] = { + o2(0x98,0xE4), o2(0x98,0xED), o2(0x91,0x71), o2(0x8C,0xC2), + o2(0x94,0x7B), o2(0xE0,0xC5), o2(0x98,0xEC), o2(0x93,0x7C), + o2(0x98,0xE1), o2(0x8C,0xF4), o2(0x8C,0xF3), o2(0x98,0xDF), + o2(0xFA,0x77), o2(0x8E,0xD8), o2(0x98,0xE7), o2(0xFA,0x75), + o2(0x95,0xED), o2(0x92,0x6C), o2(0x98,0xE3), o2(0x8C,0x91), + o2(0x98,0xE0), o2(0x98,0xE8), o2(0x98,0xE2), o2(0x97,0xCF), + o2(0x98,0xE9), o2(0x98,0x60), o2(0x8B,0xE4), o2(0x8C,0x90), + UNDEF, +}; +static const BYTE_LOOKUP +to_SHIFT_JIS_E5_80 = { + to_SHIFT_JIS_E5_80_offsets, + to_SHIFT_JIS_E5_80_infos +}; + +static const unsigned char +to_SHIFT_JIS_E5_81_offsets[64] = { + /* used from to_SHIFT_JIS_E5_81 */ + /* used from to_EUC_JP_E5_81 */ + 0, 22, 1, 2, 22, 22, 3, 4, 5, 6, 22, 22, 22, 22, 22, 7, + 8, 22, 22, 22, 22, 9, 10, 22, 22, 22, 11, 22, 12, 22, 22, 22, + 22, 22, 22, 22, 22, 13, 22, 22, 22, 22, 22, 22, 14, 22, 22, 22, + 15, 22, 16, 22, 17, 18, 19, 22, 20, 22, 22, 22, 22, 21, 22, 22, +}; +static const struct byte_lookup* const +to_SHIFT_JIS_E5_81_infos[23] = { + o2(0xFA,0x74), o2(0xFA,0x7A), o2(0x98,0xEE), o2(0xFA,0x78), + o2(0x98,0xEF), o2(0x98,0xF3), o2(0x88,0xCC), o2(0x95,0xCE), + o2(0x98,0xF2), o2(0x98,0xF1), o2(0x98,0xF5), o2(0x98,0xF4), + o2(0x92,0xE2), o2(0x8C,0x92), o2(0x98,0xF6), o2(0xFA,0x79), + o2(0x8E,0xC3), o2(0x91,0xA4), o2(0x92,0xE3), o2(0x8B,0xF4), + o2(0x98,0xF7), o2(0x8B,0x55), UNDEF, +}; +static const BYTE_LOOKUP +to_SHIFT_JIS_E5_81 = { + to_SHIFT_JIS_E5_81_offsets, + to_SHIFT_JIS_E5_81_infos +}; + +static const unsigned char +to_SHIFT_JIS_E5_82_offsets[64] = { + /* used from to_SHIFT_JIS_E5_82 */ + /* used from to_EUC_JP_E5_82 */ + 0, 16, 16, 16, 16, 1, 16, 16, 16, 16, 16, 16, 16, 2, 16, 16, + 16, 3, 16, 16, 4, 16, 16, 16, 5, 6, 7, 16, 16, 16, 16, 16, + 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 8, 9, 16, 16, + 16, 16, 10, 11, 12, 13, 16, 14, 16, 16, 16, 16, 16, 16, 15, 16, +}; +static const struct byte_lookup* const +to_SHIFT_JIS_E5_82_infos[17] = { + o2(0x98,0xF8), o2(0x98,0xFA), o2(0x96,0x54), o2(0x8C,0x86), + o2(0xFA,0x7B), o2(0x8E,0x50), o2(0x94,0xF5), o2(0x98,0xF9), + o2(0x8D,0xC3), o2(0x97,0x62), o2(0x98,0xFC), o2(0x99,0x42), + o2(0x98,0xFB), o2(0x8D,0xC2), o2(0x8F,0x9D), o2(0x8C,0x58), + UNDEF, +}; +static const BYTE_LOOKUP +to_SHIFT_JIS_E5_82 = { + to_SHIFT_JIS_E5_82_offsets, + to_SHIFT_JIS_E5_82_infos +}; + +static const unsigned char +to_SHIFT_JIS_E5_83_offsets[64] = { + /* used from to_SHIFT_JIS_E5_83 */ + /* used from to_EUC_JP_E5_83 */ + 21, 21, 0, 21, 21, 1, 21, 21, 21, 2, 3, 21, 21, 4, 21, 5, + 21, 6, 21, 21, 21, 7, 8, 21, 9, 21, 10, 21, 21, 21, 11, 21, + 21, 21, 21, 12, 21, 13, 21, 14, 21, 21, 21, 21, 21, 15, 16, 21, + 21, 21, 21, 21, 17, 18, 21, 21, 21, 19, 21, 20, 21, 21, 21, 21, +}; +static const struct byte_lookup* const +to_SHIFT_JIS_E5_83_infos[22] = { + o2(0x99,0x43), o2(0x8B,0xCD), o2(0x99,0x40), o2(0x99,0x41), + o2(0x93,0xAD), o2(0x91,0x9C), o2(0x8B,0xA1), o2(0x96,0x6C), + o2(0x99,0x44), o2(0xFA,0x7D), o2(0x97,0xBB), o2(0x99,0x45), + o2(0x99,0x48), o2(0x99,0x46), o2(0x91,0x6D), o2(0x99,0x47), + o2(0x99,0x49), o2(0xFA,0x7C), o2(0x99,0x4B), o2(0x99,0x4A), + o2(0x95,0xC6), UNDEF, +}; +static const BYTE_LOOKUP +to_SHIFT_JIS_E5_83 = { + to_SHIFT_JIS_E5_83_offsets, + to_SHIFT_JIS_E5_83_infos +}; + +static const unsigned char +to_SHIFT_JIS_E5_84_offsets[64] = { + /* used from to_SHIFT_JIS_E5_84 */ + /* used from to_EUC_JP_E5_84 */ + 0, 1, 2, 20, 3, 20, 20, 20, 20, 4, 20, 20, 20, 20, 20, 20, + 20, 20, 5, 20, 6, 7, 8, 20, 9, 20, 10, 20, 20, 20, 20, 11, + 20, 12, 20, 20, 20, 20, 20, 20, 20, 20, 13, 20, 20, 20, 20, 20, + 20, 20, 14, 20, 20, 20, 20, 15, 20, 20, 16, 17, 18, 20, 20, 19, +}; +static const struct byte_lookup* const +to_SHIFT_JIS_E5_84_infos[21] = { + o2(0x8B,0x56), o2(0x99,0x4D), o2(0x99,0x4E), o2(0x89,0xAD), + o2(0x99,0x4C), o2(0x8E,0xF2), o2(0x99,0x51), o2(0x99,0x50), + o2(0x99,0x4F), o2(0x98,0xD4), o2(0x99,0x52), o2(0x8F,0x9E), + o2(0x99,0x53), o2(0x97,0x44), o2(0x96,0xD7), o2(0x99,0x55), + o2(0x99,0x54), o2(0x99,0x57), o2(0x99,0x56), o2(0x99,0x58), + UNDEF, +}; +static const BYTE_LOOKUP +to_SHIFT_JIS_E5_84 = { + to_SHIFT_JIS_E5_84_offsets, + to_SHIFT_JIS_E5_84_infos +}; + +static const unsigned char +to_SHIFT_JIS_E5_85_offsets[64] = { + /* used from to_SHIFT_JIS_E5_85 */ + /* used from to_EUC_JP_E5_85 */ + 0, 1, 35, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 35, + 14, 35, 15, 35, 16, 35, 35, 35, 35, 35, 17, 35, 18, 35, 35, 35, + 35, 35, 19, 35, 20, 21, 35, 35, 22, 23, 24, 25, 26, 27, 28, 35, + 35, 29, 35, 35, 35, 30, 31, 32, 33, 35, 35, 35, 34, 35, 35, 35, +}; +static const struct byte_lookup* const +to_SHIFT_JIS_E5_85_infos[36] = { + o2(0x99,0x59), o2(0x88,0xF2), o2(0x8C,0xB3), o2(0x8C,0x5A), + o2(0x8F,0x5B), o2(0x92,0x9B), o2(0x8B,0xA2), o2(0x90,0xE6), + o2(0x8C,0xF5), o2(0xFA,0x7E), o2(0x8D,0x8E), o2(0x99,0x5B), + o2(0x96,0xC6), o2(0x93,0x65), o2(0x8E,0x99), o2(0x99,0x5A), + o2(0x99,0x5C), o2(0x93,0x7D), o2(0x8A,0x95), o2(0x99,0x5D), + o2(0xFA,0x80), o2(0x93,0xFC), o2(0x91,0x53), o2(0x99,0x5F), + o2(0x99,0x60), o2(0x94,0xAA), o2(0x8C,0xF6), o2(0x98,0x5A), + o2(0x99,0x61), o2(0x8B,0xA4), o2(0x95,0xBA), o2(0x91,0xB4), + o2(0x8B,0xEF), o2(0x93,0x54), o2(0x8C,0x93), UNDEF, +}; +static const BYTE_LOOKUP +to_SHIFT_JIS_E5_85 = { + to_SHIFT_JIS_E5_85_offsets, + to_SHIFT_JIS_E5_85_infos +}; + +static const unsigned char +to_SHIFT_JIS_E5_86_offsets[64] = { + /* used from to_SHIFT_JIS_E5_86 */ + /* used from to_EUC_JP_E5_86 */ + 0, 38, 1, 38, 38, 2, 3, 38, 38, 4, 5, 38, 6, 7, 38, 8, + 9, 10, 11, 12, 38, 13, 14, 15, 38, 16, 38, 38, 38, 17, 38, 38, + 18, 38, 19, 38, 20, 21, 22, 38, 23, 24, 25, 26, 27, 38, 38, 38, + 28, 29, 30, 31, 32, 33, 34, 35, 38, 38, 38, 38, 38, 36, 37, 38, +}; +static const struct byte_lookup* const +to_SHIFT_JIS_E5_86_infos[39] = { + o2(0x99,0x62), o2(0x99,0x63), o2(0x93,0xE0), o2(0x89,0x7E), + o2(0x99,0x66), o2(0x8D,0xFB), o2(0x99,0x65), o2(0x8D,0xC4), + o2(0x99,0x67), o2(0xE3,0xEC), o2(0x99,0x68), o2(0x96,0x60), + o2(0x99,0x69), o2(0x99,0x6A), o2(0x99,0x6B), o2(0x8F,0xE7), + o2(0x8E,0xCA), o2(0xFA,0x81), o2(0x8A,0xA5), o2(0x99,0x6E), + o2(0x99,0x6C), o2(0x96,0xBB), o2(0x99,0x6D), o2(0x95,0x79), + o2(0x99,0x6F), o2(0x99,0x70), o2(0x99,0x71), o2(0x93,0x7E), + o2(0x99,0x75), o2(0x99,0x73), o2(0x99,0x74), o2(0x99,0x72), + o2(0x8D,0xE1), o2(0x99,0x76), o2(0x96,0xE8), o2(0x97,0xE2), + o2(0x99,0x77), o2(0xFA,0x82), UNDEF, +}; +static const BYTE_LOOKUP +to_SHIFT_JIS_E5_86 = { + to_SHIFT_JIS_E5_86_offsets, + to_SHIFT_JIS_E5_86_infos +}; + +static const unsigned char +to_SHIFT_JIS_E5_87_offsets[64] = { + /* used from to_SHIFT_JIS_E5_87 */ + /* used from to_EUC_JP_E5_87 */ + 28, 28, 28, 28, 0, 1, 2, 28, 28, 3, 28, 4, 5, 6, 28, 28, + 28, 28, 28, 28, 28, 28, 7, 28, 28, 28, 28, 8, 9, 10, 28, 28, + 11, 12, 28, 28, 28, 28, 13, 14, 28, 15, 16, 28, 17, 18, 28, 28, + 19, 20, 28, 28, 28, 21, 22, 28, 23, 24, 25, 28, 28, 26, 27, 28, +}; +static const struct byte_lookup* const +to_SHIFT_JIS_E5_87_infos[29] = { + o2(0x90,0xA6), o2(0x99,0x78), o2(0x8F,0x79), o2(0x99,0x79), + o2(0x92,0x9C), o2(0x97,0xBD), o2(0x93,0x80), o2(0x99,0xC3), + o2(0x99,0x7A), o2(0xEA,0xA3), o2(0x8B,0xC3), o2(0x99,0x7B), + o2(0x96,0x7D), o2(0x8F,0x88), o2(0x91,0xFA), o2(0x99,0x7D), + o2(0x93,0xE2), o2(0xFA,0x83), o2(0x99,0x7E), o2(0x99,0x80), + o2(0x8A,0x4D), o2(0x99,0x81), o2(0x8B,0xA5), o2(0x93,0xCA), + o2(0x89,0x9A), o2(0x8F,0x6F), o2(0x94,0x9F), o2(0x99,0x82), + UNDEF, +}; +static const BYTE_LOOKUP +to_SHIFT_JIS_E5_87 = { + to_SHIFT_JIS_E5_87_offsets, + to_SHIFT_JIS_E5_87_infos +}; + +static const unsigned char +to_SHIFT_JIS_E5_88_offsets[64] = { + /* used from to_SHIFT_JIS_E5_88 */ + /* used from to_EUC_JP_E5_88 */ + 0, 28, 28, 1, 2, 28, 3, 4, 5, 28, 6, 7, 28, 28, 8, 28, + 28, 9, 28, 28, 10, 11, 28, 12, 28, 28, 28, 28, 28, 13, 28, 28, + 28, 28, 28, 28, 14, 15, 28, 16, 28, 17, 18, 28, 28, 28, 19, 28, + 20, 28, 28, 21, 28, 28, 22, 23, 24, 25, 26, 27, 28, 28, 28, 28, +}; +static const struct byte_lookup* const +to_SHIFT_JIS_E5_88_infos[29] = { + o2(0x93,0x81), o2(0x90,0x6E), o2(0x99,0x83), o2(0x95,0xAA), + o2(0x90,0xD8), o2(0x8A,0xA0), o2(0x8A,0xA7), o2(0x99,0x84), + o2(0x99,0x86), o2(0x8C,0x59), o2(0x99,0x85), o2(0xFA,0x84), + o2(0x97,0xF1), o2(0x8F,0x89), o2(0x94,0xBB), o2(0x95,0xCA), + o2(0x99,0x87), o2(0x97,0x98), o2(0x99,0x88), o2(0x99,0x89), + o2(0x93,0x9E), o2(0x99,0x8A), o2(0x90,0xA7), o2(0x8D,0xFC), + o2(0x8C,0x94), o2(0x99,0x8B), o2(0x8E,0x68), o2(0x8D,0x8F), + UNDEF, +}; +static const BYTE_LOOKUP +to_SHIFT_JIS_E5_88 = { + to_SHIFT_JIS_E5_88_offsets, + to_SHIFT_JIS_E5_88_infos +}; + +static const unsigned char +to_SHIFT_JIS_E5_89_offsets[64] = { + /* used from to_SHIFT_JIS_E5_89 */ + /* used from to_EUC_JP_E5_89 */ + 26, 26, 26, 0, 1, 26, 26, 2, 26, 26, 3, 4, 5, 6, 26, 7, + 26, 26, 26, 26, 8, 26, 9, 26, 26, 26, 26, 10, 26, 26, 11, 26, + 26, 26, 26, 12, 13, 14, 26, 26, 26, 15, 16, 26, 26, 26, 26, 17, + 18, 19, 20, 21, 22, 23, 26, 26, 26, 26, 26, 26, 26, 24, 26, 25, +}; +static const struct byte_lookup* const +to_SHIFT_JIS_E5_89_infos[27] = { + o2(0x92,0xE4), o2(0x99,0x8D), o2(0x91,0xA5), o2(0x8D,0xED), + o2(0x99,0x8E), o2(0x99,0x8F), o2(0x91,0x4F), o2(0x99,0x8C), + o2(0x99,0x91), o2(0x96,0x55), o2(0x8D,0x84), o2(0x99,0x90), + o2(0x8C,0x95), o2(0x8D,0xDC), o2(0x94,0x8D), o2(0x99,0x94), + o2(0x99,0x92), o2(0x95,0x9B), o2(0x8F,0xE8), o2(0x99,0x9B), + o2(0x8A,0x84), o2(0x99,0x95), o2(0x99,0x93), o2(0x91,0x6E), + o2(0x99,0x97), o2(0x99,0x96), UNDEF, +}; +static const BYTE_LOOKUP +to_SHIFT_JIS_E5_89 = { + to_SHIFT_JIS_E5_89_offsets, + to_SHIFT_JIS_E5_89_infos +}; + +static const unsigned char +to_SHIFT_JIS_E5_8A_offsets[64] = { + /* used from to_SHIFT_JIS_E5_8A */ + /* used from to_EUC_JP_E5_8A */ + 26, 26, 26, 0, 26, 26, 26, 1, 2, 3, 26, 26, 26, 4, 26, 26, + 26, 5, 6, 26, 7, 26, 26, 26, 26, 26, 26, 8, 9, 26, 26, 10, + 11, 26, 26, 12, 26, 26, 13, 26, 26, 14, 15, 16, 17, 18, 26, 19, + 26, 20, 26, 26, 21, 22, 26, 26, 26, 23, 26, 26, 24, 26, 25, 26, +}; +static const struct byte_lookup* const +to_SHIFT_JIS_E5_8A_infos[27] = { + o2(0x8A,0x63), o2(0x8C,0x80), o2(0x99,0x9C), o2(0x97,0xAB), + o2(0x99,0x98), o2(0x99,0x9D), o2(0x99,0x9A), o2(0x99,0x99), + o2(0x97,0xCD), o2(0xFA,0x85), o2(0x8C,0xF7), o2(0x89,0xC1), + o2(0x97,0xF2), o2(0xFA,0x86), o2(0x8F,0x95), o2(0x93,0x77), + o2(0x8D,0x85), o2(0x99,0xA0), o2(0x99,0xA1), o2(0xFB,0x77), + o2(0x97,0xE3), o2(0x98,0x4A), o2(0x99,0xA3), o2(0x8C,0xF8), + o2(0x99,0xA2), o2(0x8A,0x4E), UNDEF, +}; +static const BYTE_LOOKUP +to_SHIFT_JIS_E5_8A = { + to_SHIFT_JIS_E5_8A_offsets, + to_SHIFT_JIS_E5_8A_infos +}; + +static const unsigned char +to_SHIFT_JIS_E5_8B_offsets[64] = { + /* used from to_SHIFT_JIS_E5_8B */ + /* used from to_EUC_JP_E5_8B */ + 0, 1, 30, 2, 30, 3, 30, 4, 30, 5, 30, 30, 30, 6, 30, 30, + 30, 30, 7, 30, 30, 8, 30, 9, 10, 11, 30, 12, 30, 13, 14, 15, + 16, 30, 17, 18, 19, 30, 20, 21, 30, 30, 30, 30, 30, 30, 30, 30, + 30, 30, 22, 23, 30, 24, 30, 30, 25, 26, 27, 30, 30, 30, 28, 29, +}; +static const struct byte_lookup* const +to_SHIFT_JIS_E5_8B_infos[31] = { + o2(0xFA,0x87), o2(0x99,0xA4), o2(0x96,0x75), o2(0x92,0xBA), + o2(0x97,0x45), o2(0x95,0xD7), o2(0x99,0xA5), o2(0xE8,0xD3), + o2(0x93,0xAE), o2(0x99,0xA6), o2(0x8A,0xA8), o2(0x96,0xB1), + o2(0xFA,0x88), o2(0x8F,0x9F), o2(0x99,0xA7), o2(0x95,0xE5), + o2(0x99,0xAB), o2(0x90,0xA8), o2(0x99,0xA8), o2(0x8B,0xCE), + o2(0x99,0xA9), o2(0x8A,0xA9), o2(0x8C,0x4D), o2(0x99,0xAC), + o2(0x99,0xAD), o2(0x99,0xAE), o2(0x99,0xAF), o2(0x8E,0xD9), + o2(0x8C,0xF9), o2(0x96,0xDC), UNDEF, +}; +static const BYTE_LOOKUP +to_SHIFT_JIS_E5_8B = { + to_SHIFT_JIS_E5_8B_offsets, + to_SHIFT_JIS_E5_8B_infos +}; + +static const unsigned char +to_SHIFT_JIS_E5_8C_offsets[64] = { + /* used from to_SHIFT_JIS_E5_8C */ + /* used from to_EUC_JP_E5_8C */ + 0, 1, 2, 29, 29, 3, 4, 5, 6, 29, 29, 29, 29, 7, 29, 8, + 9, 29, 29, 29, 29, 10, 11, 12, 29, 13, 14, 29, 29, 15, 29, 29, + 16, 17, 29, 18, 19, 29, 29, 29, 29, 29, 20, 29, 29, 29, 29, 21, + 29, 22, 29, 23, 29, 29, 29, 29, 24, 25, 26, 27, 29, 29, 29, 28, +}; +static const struct byte_lookup* const +to_SHIFT_JIS_E5_8C_infos[30] = { + o2(0xFA,0x89), o2(0x96,0xE6), o2(0x93,0xF5), o2(0x95,0xEF), + o2(0x99,0xB0), o2(0xFA,0x8A), o2(0x99,0xB1), o2(0x99,0xB3), + o2(0x99,0xB5), o2(0x99,0xB4), o2(0x99,0xB6), o2(0x89,0xBB), + o2(0x96,0x6B), o2(0x8D,0xFA), o2(0x99,0xB7), o2(0x91,0x78), + o2(0x8F,0xA0), o2(0x8B,0xA7), o2(0x99,0xB8), o2(0xFA,0x8B), + o2(0x94,0xD9), o2(0x99,0xB9), o2(0x99,0xBA), o2(0x99,0xBB), + o2(0x99,0xBC), o2(0x95,0x43), o2(0x8B,0xE6), o2(0x88,0xE3), + o2(0x93,0xBD), UNDEF, +}; +static const BYTE_LOOKUP +to_SHIFT_JIS_E5_8C = { + to_SHIFT_JIS_E5_8C_offsets, + to_SHIFT_JIS_E5_8C_infos +}; + +static const unsigned char +to_SHIFT_JIS_E5_8D_offsets[64] = { + /* used from to_SHIFT_JIS_E5_8D */ + /* used from to_EUC_JP_E5_8D */ + 0, 1, 34, 2, 34, 3, 4, 5, 6, 7, 8, 34, 34, 9, 34, 34, + 34, 10, 11, 12, 13, 34, 34, 14, 15, 34, 16, 34, 17, 34, 18, 34, + 19, 34, 34, 34, 34, 34, 20, 34, 34, 21, 34, 34, 34, 34, 22, 23, + 24, 25, 26, 27, 28, 29, 34, 30, 31, 34, 34, 32, 34, 34, 34, 33, +}; +static const struct byte_lookup* const +to_SHIFT_JIS_E5_8D_infos[35] = { + o2(0x99,0xBD), o2(0x8F,0x5C), o2(0x90,0xE7), o2(0x99,0xBF), + o2(0x99,0xBE), o2(0x8F,0xA1), o2(0x8C,0xDF), o2(0x99,0xC1), + o2(0x94,0xBC), o2(0x99,0xC2), o2(0x94,0xDA), o2(0x91,0xB2), + o2(0x91,0xEC), o2(0x8B,0xA6), o2(0x93,0xEC), o2(0x92,0x50), + o2(0x94,0x8E), o2(0x96,0x6D), o2(0x99,0xC4), o2(0x90,0xE8), + o2(0x8C,0x54), o2(0x99,0xC5), o2(0x99,0xC6), o2(0x89,0x4B), + o2(0x88,0xF3), o2(0x8A,0xEB), o2(0xFA,0x8C), o2(0x91,0xA6), + o2(0x8B,0x70), o2(0x97,0x91), o2(0x99,0xC9), o2(0x89,0xB5), + o2(0x99,0xC8), o2(0x8B,0xA8), UNDEF, +}; +static const BYTE_LOOKUP +to_SHIFT_JIS_E5_8D = { + to_SHIFT_JIS_E5_8D_offsets, + to_SHIFT_JIS_E5_8D_infos +}; + +static const unsigned char +to_SHIFT_JIS_E5_8E_offsets[64] = { + /* used from to_SHIFT_JIS_E5_8E */ + /* used from to_EUC_JP_E5_8E */ + 19, 19, 0, 19, 1, 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, + 19, 19, 19, 2, 19, 19, 3, 19, 4, 19, 5, 19, 19, 19, 19, 6, + 7, 19, 19, 19, 19, 8, 9, 19, 10, 11, 19, 19, 19, 12, 13, 19, + 14, 19, 15, 16, 19, 19, 17, 19, 19, 19, 19, 18, 19, 19, 19, 19, +}; +static const struct byte_lookup* const +to_SHIFT_JIS_E5_8E_infos[20] = { + o2(0x99,0xCA), o2(0x96,0xEF), o2(0xFA,0x8D), o2(0x99,0xCB), + o2(0x97,0xD0), o2(0x8C,0xFA), o2(0x8C,0xB4), o2(0x99,0xCC), + o2(0x99,0xCE), o2(0x99,0xCD), o2(0x90,0x7E), o2(0x89,0x58), + o2(0x89,0x7D), o2(0x99,0xCF), o2(0x99,0xD0), o2(0xFA,0x8E), + o2(0x8C,0xB5), o2(0x99,0xD1), o2(0x8B,0x8E), UNDEF, +}; +static const BYTE_LOOKUP +to_SHIFT_JIS_E5_8E = { + to_SHIFT_JIS_E5_8E_offsets, + to_SHIFT_JIS_E5_8E_infos +}; + +static const unsigned char +to_SHIFT_JIS_E5_8F_offsets[64] = { + /* used from to_SHIFT_JIS_E5_8F */ + /* used from to_EUC_JP_E5_8F */ + 37, 37, 0, 1, 37, 37, 37, 37, 2, 3, 4, 5, 6, 7, 8, 37, + 37, 37, 37, 37, 9, 37, 10, 11, 37, 12, 37, 13, 37, 14, 37, 15, + 37, 16, 17, 18, 19, 20, 37, 37, 21, 22, 23, 24, 25, 26, 27, 28, + 29, 30, 31, 32, 37, 37, 33, 34, 35, 37, 36, 37, 37, 37, 37, 37, +}; +static const struct byte_lookup* const +to_SHIFT_JIS_E5_8F_infos[38] = { + o2(0x8E,0x51), o2(0x99,0xD2), o2(0x96,0x94), o2(0x8D,0xB3), + o2(0x8B,0x79), o2(0x97,0x46), o2(0x91,0x6F), o2(0x94,0xBD), + o2(0x8E,0xFB), o2(0x8F,0x66), o2(0x8E,0xE6), o2(0x8E,0xF3), + o2(0x8F,0x96), o2(0x94,0xBE), o2(0xFA,0x8F), o2(0x99,0xD5), + o2(0x89,0x62), o2(0x91,0x70), o2(0x8C,0xFB), o2(0x8C,0xC3), + o2(0x8B,0xE5), o2(0x99,0xD9), o2(0x92,0x40), o2(0x91,0xFC), + o2(0x8B,0xA9), o2(0x8F,0xA2), o2(0x99,0xDA), o2(0x99,0xD8), + o2(0x89,0xC2), o2(0x91,0xE4), o2(0x8E,0xB6), o2(0x8E,0x6A), + o2(0x89,0x45), o2(0x8A,0x90), o2(0x8D,0x86), o2(0x8E,0x69), + o2(0x99,0xDB), UNDEF, +}; +static const BYTE_LOOKUP +to_SHIFT_JIS_E5_8F = { + to_SHIFT_JIS_E5_8F_offsets, + to_SHIFT_JIS_E5_8F_infos +}; + +static const unsigned char +to_SHIFT_JIS_E5_90_offsets[64] = { + /* used from to_SHIFT_JIS_E5_90 */ + /* used from to_EUC_JP_E5_90 */ + 30, 0, 30, 1, 2, 30, 30, 30, 3, 4, 5, 6, 7, 8, 9, 10, + 11, 12, 30, 30, 30, 30, 30, 30, 30, 30, 30, 13, 30, 14, 30, 15, + 16, 30, 30, 30, 30, 30, 17, 30, 30, 18, 30, 19, 20, 21, 22, 30, + 30, 30, 30, 30, 30, 30, 23, 30, 24, 25, 30, 26, 27, 28, 29, 30, +}; +static const struct byte_lookup* const +to_SHIFT_JIS_E5_90_infos[31] = { + o2(0x99,0xDC), o2(0x8B,0x68), o2(0x8A,0x65), o2(0x8D,0x87), + o2(0x8B,0x67), o2(0x92,0xDD), o2(0x89,0x44), o2(0x93,0xAF), + o2(0x96,0xBC), o2(0x8D,0x40), o2(0x97,0x99), o2(0x93,0x66), + o2(0x8C,0xFC), o2(0x8C,0x4E), o2(0x99,0xE5), o2(0x8B,0xE1), + o2(0x96,0x69), o2(0x94,0xDB), o2(0x99,0xE4), o2(0x8A,0xDC), + o2(0x99,0xDF), o2(0x99,0xE0), o2(0x99,0xE2), o2(0x99,0xE3), + o2(0x8B,0x7A), o2(0x90,0x81), o2(0x95,0xAB), o2(0x99,0xE1), + o2(0x99,0xDD), o2(0x8C,0xE1), UNDEF, +}; +static const BYTE_LOOKUP +to_SHIFT_JIS_E5_90 = { + to_SHIFT_JIS_E5_90_offsets, + to_SHIFT_JIS_E5_90_infos +}; + +static const unsigned char +to_SHIFT_JIS_E5_91_offsets[64] = { + /* used from to_SHIFT_JIS_E5_91 */ + /* used from to_EUC_JP_E5_91 */ + 0, 20, 1, 20, 20, 20, 2, 20, 3, 4, 5, 20, 20, 20, 6, 20, + 20, 7, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 8, + 20, 20, 20, 20, 20, 20, 20, 20, 9, 20, 10, 20, 20, 20, 20, 20, + 11, 12, 20, 13, 20, 14, 15, 16, 20, 20, 20, 17, 18, 19, 20, 20, +}; +static const struct byte_lookup* const +to_SHIFT_JIS_E5_91_infos[21] = { + o2(0x99,0xDE), o2(0x98,0x43), o2(0x95,0xF0), o2(0x92,0xE6), + o2(0x8C,0xE0), o2(0x8D,0x90), o2(0x99,0xE6), o2(0x93,0xDB), + o2(0x99,0xEA), o2(0x8E,0xFC), o2(0x8E,0xF4), o2(0x99,0xED), + o2(0x99,0xEB), o2(0x96,0xA1), o2(0x99,0xE8), o2(0x99,0xF1), + o2(0x99,0xEC), o2(0x99,0xEF), o2(0x8C,0xC4), o2(0x96,0xBD), + UNDEF, +}; +static const BYTE_LOOKUP +to_SHIFT_JIS_E5_91 = { + to_SHIFT_JIS_E5_91_offsets, + to_SHIFT_JIS_E5_91_infos +}; + +static const unsigned char +to_SHIFT_JIS_E5_92_offsets[64] = { + /* used from to_SHIFT_JIS_E5_92 */ + /* used from to_EUC_JP_E5_92 */ + 0, 25, 25, 25, 1, 25, 2, 25, 25, 25, 3, 4, 5, 25, 6, 7, + 8, 25, 9, 25, 25, 25, 25, 25, 25, 25, 25, 25, 10, 25, 25, 25, + 25, 25, 11, 25, 12, 13, 25, 25, 14, 15, 25, 16, 17, 25, 25, 18, + 25, 25, 19, 20, 25, 25, 25, 25, 21, 25, 25, 25, 22, 23, 24, 25, +}; +static const struct byte_lookup* const +to_SHIFT_JIS_E5_92_infos[26] = { + o2(0x99,0xF0), o2(0x99,0xF2), o2(0x99,0xF4), o2(0xFA,0x92), + o2(0x8D,0xEE), o2(0x98,0x61), o2(0x99,0xE9), o2(0x99,0xE7), + o2(0x99,0xF3), o2(0x99,0xEE), o2(0xFA,0x91), o2(0x99,0xF6), + o2(0x9A,0x42), o2(0x99,0xF8), o2(0x99,0xFC), o2(0xFA,0x93), + o2(0x9A,0x40), o2(0x99,0xF9), o2(0x9A,0x5D), o2(0x8D,0xE7), + o2(0x8A,0x50), o2(0x99,0xF7), o2(0x9A,0x44), o2(0x88,0xF4), + o2(0x9A,0x43), UNDEF, +}; +static const BYTE_LOOKUP +to_SHIFT_JIS_E5_92 = { + to_SHIFT_JIS_E5_92_offsets, + to_SHIFT_JIS_E5_92_infos +}; + +static const unsigned char +to_SHIFT_JIS_E5_93_offsets[64] = { + /* used from to_SHIFT_JIS_E5_93 */ + /* used from to_EUC_JP_E5_93 */ + 0, 1, 2, 20, 3, 20, 20, 4, 5, 6, 20, 20, 20, 20, 20, 20, + 20, 20, 20, 20, 20, 20, 20, 20, 7, 20, 20, 20, 20, 20, 20, 20, + 20, 8, 9, 20, 20, 10, 11, 20, 12, 13, 20, 20, 20, 14, 15, 20, + 20, 20, 16, 20, 20, 20, 20, 20, 20, 20, 17, 20, 20, 18, 20, 19, +}; +static const struct byte_lookup* const +to_SHIFT_JIS_E5_93_infos[21] = { + o2(0x88,0xA3), o2(0x95,0x69), o2(0x9A,0x41), o2(0x99,0xFA), + o2(0x99,0xF5), o2(0x99,0xFB), o2(0x8D,0xC6), o2(0x9A,0x45), + o2(0x88,0xF5), o2(0x9A,0x4E), o2(0x9A,0x46), o2(0x9A,0x47), + o2(0x8F,0xA3), o2(0x96,0x89), o2(0x9A,0x4C), o2(0x9A,0x4B), + o2(0x93,0x4E), o2(0x9A,0x4D), o2(0x9A,0x4A), o2(0xFA,0x94), + UNDEF, +}; +static const BYTE_LOOKUP +to_SHIFT_JIS_E5_93 = { + to_SHIFT_JIS_E5_93_offsets, + to_SHIFT_JIS_E5_93_infos +}; + +static const unsigned char +to_SHIFT_JIS_E5_94_offsets[64] = { + /* used from to_SHIFT_JIS_E5_94 */ + /* used from to_EUC_JP_E5_94 */ + 14, 14, 14, 14, 0, 14, 1, 2, 14, 14, 14, 14, 14, 14, 14, 3, + 4, 14, 14, 14, 5, 14, 6, 14, 14, 14, 14, 14, 14, 14, 14, 14, + 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 7, 8, + 14, 9, 14, 10, 14, 14, 14, 14, 11, 12, 14, 14, 14, 14, 13, 14, +}; +static const struct byte_lookup* const +to_SHIFT_JIS_E5_94_infos[15] = { + o2(0x89,0x53), o2(0x8D,0xB4), o2(0x90,0x4F), o2(0x9A,0x48), + o2(0x93,0x82), o2(0x9A,0x49), o2(0x88,0xA0), o2(0x9A,0x53), + o2(0x97,0x42), o2(0x8F,0xA5), o2(0x9A,0x59), o2(0x9A,0x58), + o2(0x9A,0x4F), o2(0x91,0xC1), UNDEF, +}; +static const BYTE_LOOKUP +to_SHIFT_JIS_E5_94 = { + to_SHIFT_JIS_E5_94_offsets, + to_SHIFT_JIS_E5_94_infos +}; + +static const unsigned char +to_SHIFT_JIS_E5_95_offsets[64] = { + /* used from to_SHIFT_JIS_E5_95 */ + /* used from to_EUC_JP_E5_95 */ + 0, 15, 15, 15, 1, 2, 3, 15, 15, 15, 15, 15, 4, 15, 15, 5, + 15, 15, 15, 6, 15, 15, 7, 8, 15, 15, 15, 15, 9, 10, 15, 15, + 15, 15, 15, 11, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, + 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 12, 13, 15, 14, 15, +}; +static const struct byte_lookup* const +to_SHIFT_JIS_E5_95_infos[16] = { + o2(0x9A,0x50), o2(0x91,0xED), o2(0x9A,0x55), o2(0x8F,0xA4), + o2(0x9A,0x52), o2(0x96,0xE2), o2(0x8C,0x5B), o2(0x9A,0x56), + o2(0x9A,0x57), o2(0x9A,0x54), o2(0x9A,0x5A), o2(0x9A,0x51), + o2(0x9A,0x60), o2(0x9A,0x65), o2(0x9A,0x61), UNDEF, +}; +static const BYTE_LOOKUP +to_SHIFT_JIS_E5_95 = { + to_SHIFT_JIS_E5_95_offsets, + to_SHIFT_JIS_E5_95_infos +}; + +static const unsigned char +to_SHIFT_JIS_E5_96_offsets[64] = { + /* used from to_SHIFT_JIS_E5_96 */ + /* used from to_EUC_JP_E5_96 */ + 0, 24, 24, 1, 2, 24, 3, 4, 24, 5, 6, 7, 24, 24, 24, 24, + 24, 24, 24, 24, 24, 24, 24, 24, 8, 9, 10, 24, 11, 12, 13, 14, + 24, 24, 24, 24, 24, 24, 24, 15, 16, 17, 18, 19, 20, 24, 21, 24, + 22, 24, 24, 24, 24, 24, 23, 24, 24, 24, 24, 24, 24, 24, 24, 24, +}; +static const struct byte_lookup* const +to_SHIFT_JIS_E5_96_infos[25] = { + o2(0x9A,0x5C), o2(0x9A,0x66), o2(0x91,0x50), o2(0xFA,0x95), + o2(0x9A,0x68), o2(0x8D,0x41), o2(0x9A,0x5E), o2(0x92,0x9D), + o2(0x9A,0x62), o2(0x9A,0x5B), o2(0x8A,0xAB), o2(0x8A,0xEC), + o2(0x8A,0x85), o2(0x9A,0x63), o2(0x9A,0x5F), o2(0x8C,0x96), + o2(0x9A,0x69), o2(0x9A,0x67), o2(0x91,0x72), o2(0x8B,0x69), + o2(0x8B,0xAA), o2(0x9A,0x64), o2(0x8B,0xF2), o2(0x89,0x63), + UNDEF, +}; +static const BYTE_LOOKUP +to_SHIFT_JIS_E5_96 = { + to_SHIFT_JIS_E5_96_offsets, + to_SHIFT_JIS_E5_96_infos +}; + +static const unsigned char +to_SHIFT_JIS_E5_97_offsets[64] = { + /* used from to_SHIFT_JIS_E5_97 */ + /* used from to_EUC_JP_E5_97 */ + 13, 13, 13, 13, 0, 1, 13, 2, 13, 13, 13, 13, 13, 13, 13, 13, + 13, 13, 13, 13, 3, 13, 13, 13, 13, 13, 4, 13, 5, 13, 13, 6, + 13, 13, 13, 7, 8, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, + 13, 13, 13, 13, 13, 13, 13, 9, 13, 10, 13, 13, 13, 11, 12, 13, +}; +static const struct byte_lookup* const +to_SHIFT_JIS_E5_97_infos[14] = { + o2(0x9A,0x6D), o2(0x9A,0x6B), o2(0x9A,0xA5), o2(0x9A,0x70), + o2(0x9A,0x6A), o2(0x9A,0x6E), o2(0x9A,0x6C), o2(0x8E,0x6B), + o2(0x9A,0x6F), o2(0x9A,0x72), o2(0x9A,0x77), o2(0x9A,0x75), + o2(0x9A,0x74), UNDEF, +}; +static const BYTE_LOOKUP +to_SHIFT_JIS_E5_97 = { + to_SHIFT_JIS_E5_97_offsets, + to_SHIFT_JIS_E5_97_infos +}; + +static const unsigned char +to_SHIFT_JIS_E5_98_offsets[64] = { + /* used from to_SHIFT_JIS_E5_98 */ + /* used from to_EUC_JP_E5_98 */ + 14, 14, 14, 14, 14, 14, 0, 14, 14, 1, 14, 14, 14, 14, 14, 14, + 14, 14, 14, 14, 2, 14, 3, 4, 5, 14, 14, 6, 14, 14, 14, 14, + 14, 14, 14, 14, 14, 14, 14, 14, 14, 7, 14, 14, 14, 14, 14, 8, + 14, 9, 10, 14, 11, 14, 12, 14, 13, 14, 14, 14, 14, 14, 14, 14, +}; +static const struct byte_lookup* const +to_SHIFT_JIS_E5_98_infos[15] = { + o2(0x92,0x51), o2(0x89,0xC3), o2(0x9A,0x71), o2(0x9A,0x73), + o2(0x8F,0xA6), o2(0x89,0x52), o2(0x9A,0x76), o2(0x89,0xDC), + o2(0x9A,0x82), o2(0x8F,0xFA), o2(0x9A,0x7D), o2(0x9A,0x7B), + o2(0x9A,0x7C), o2(0x9A,0x7E), UNDEF, +}; +static const BYTE_LOOKUP +to_SHIFT_JIS_E5_98 = { + to_SHIFT_JIS_E5_98_offsets, + to_SHIFT_JIS_E5_98_infos +}; + +static const unsigned char +to_SHIFT_JIS_E5_99_offsets[64] = { + /* used from to_SHIFT_JIS_E5_99 */ + /* used from to_EUC_JP_E5_99 */ + 13, 13, 0, 13, 13, 13, 13, 13, 13, 13, 13, 13, 1, 13, 2, 13, + 3, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 4, 13, 13, 13, 13, + 13, 13, 13, 13, 5, 13, 13, 13, 6, 13, 7, 8, 9, 13, 13, 13, + 13, 13, 13, 13, 10, 13, 13, 13, 11, 13, 12, 13, 13, 13, 13, 13, +}; +static const struct byte_lookup* const +to_SHIFT_JIS_E5_99_infos[14] = { + o2(0x89,0x5C), o2(0x91,0x58), o2(0x9A,0x78), o2(0x9A,0x79), + o2(0x8A,0x9A), o2(0x9A,0x81), o2(0x8A,0xED), o2(0x9A,0x84), + o2(0x9A,0x80), o2(0x9A,0x83), o2(0x95,0xAC), o2(0x93,0xD3), + o2(0x94,0xB6), UNDEF, +}; +static const BYTE_LOOKUP +to_SHIFT_JIS_E5_99 = { + to_SHIFT_JIS_E5_99_offsets, + to_SHIFT_JIS_E5_99_infos +}; + +static const unsigned char +to_SHIFT_JIS_E5_9A_offsets[64] = { + /* used from to_SHIFT_JIS_E5_9A */ + /* used from to_EUC_JP_E5_9A */ + 0, 13, 13, 13, 13, 13, 1, 2, 13, 13, 3, 13, 13, 13, 13, 4, + 13, 13, 13, 13, 5, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, + 6, 13, 7, 13, 13, 8, 13, 13, 13, 13, 13, 13, 13, 13, 9, 13, + 13, 13, 13, 13, 10, 13, 11, 13, 13, 13, 13, 13, 12, 13, 13, 13, +}; +static const struct byte_lookup* const +to_SHIFT_JIS_E5_9A_infos[14] = { + o2(0x9A,0x86), o2(0x9A,0x85), o2(0x8A,0x64), o2(0x9A,0x87), + o2(0x9A,0x8A), o2(0x9A,0x89), o2(0x9A,0x88), o2(0x94,0x58), + o2(0x9A,0x8B), o2(0x9A,0x8C), o2(0x9A,0x8E), o2(0x9A,0x8D), + o2(0x9A,0x90), UNDEF, +}; +static const BYTE_LOOKUP +to_SHIFT_JIS_E5_9A = { + to_SHIFT_JIS_E5_9A_offsets, + to_SHIFT_JIS_E5_9A_infos +}; + +static const unsigned char +to_SHIFT_JIS_E5_9B_offsets[64] = { + /* used from to_SHIFT_JIS_E5_9B */ + /* used from to_EUC_JP_E5_9B */ + 0, 1, 2, 3, 23, 23, 23, 23, 4, 23, 23, 23, 23, 23, 5, 23, + 23, 6, 23, 7, 23, 23, 23, 8, 9, 23, 10, 11, 23, 23, 12, 23, + 13, 23, 23, 14, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 15, 23, + 16, 23, 17, 18, 23, 23, 23, 23, 23, 19, 20, 23, 23, 21, 23, 22, +}; +static const struct byte_lookup* const +to_SHIFT_JIS_E5_9B_infos[24] = { + o2(0x9A,0x93), o2(0x9A,0x91), o2(0x9A,0x8F), o2(0x9A,0x92), + o2(0x9A,0x94), o2(0x9A,0x95), o2(0x9A,0x96), o2(0x9A,0x97), + o2(0x9A,0x98), o2(0x99,0x64), o2(0x8E,0xFA), o2(0x8E,0x6C), + o2(0x89,0xF1), o2(0x88,0xF6), o2(0x92,0x63), o2(0x9A,0x99), + o2(0x8D,0xA2), o2(0x88,0xCD), o2(0x90,0x7D), o2(0x9A,0x9A), + o2(0x8C,0xC5), o2(0x8D,0x91), o2(0x9A,0x9C), UNDEF, +}; +static const BYTE_LOOKUP +to_SHIFT_JIS_E5_9B = { + to_SHIFT_JIS_E5_9B_offsets, + to_SHIFT_JIS_E5_9B_infos +}; + +static const unsigned char +to_SHIFT_JIS_E5_9C_offsets[64] = { + /* used from to_SHIFT_JIS_E5_9C */ + /* used from to_EUC_JP_E5_9C */ + 0, 22, 22, 1, 2, 22, 22, 22, 3, 4, 22, 5, 22, 6, 22, 7, + 22, 22, 8, 9, 22, 22, 10, 22, 11, 22, 22, 22, 12, 22, 22, 13, + 22, 22, 22, 22, 22, 22, 14, 15, 16, 22, 22, 22, 22, 17, 22, 22, + 18, 22, 22, 22, 22, 22, 22, 19, 20, 22, 22, 21, 22, 22, 22, 22, +}; +static const struct byte_lookup* const +to_SHIFT_JIS_E5_9C_infos[23] = { + o2(0x9A,0x9B), o2(0x95,0xDE), o2(0x9A,0x9D), o2(0x9A,0x9F), + o2(0x9A,0x9E), o2(0x9A,0xA0), o2(0x9A,0xA1), o2(0x8C,0x97), + o2(0x89,0x80), o2(0x9A,0xA2), o2(0x9A,0xA4), o2(0x9A,0xA3), + o2(0x9A,0xA6), o2(0x93,0x79), o2(0x9A,0xA7), o2(0x88,0xB3), + o2(0x8D,0xDD), o2(0x8C,0x5C), o2(0x92,0x6E), o2(0x9A,0xA8), + o2(0x9A,0xA9), o2(0x9A,0xAB), UNDEF, +}; +static const BYTE_LOOKUP +to_SHIFT_JIS_E5_9C = { + to_SHIFT_JIS_E5_9C_offsets, + to_SHIFT_JIS_E5_9C_infos +}; + +static const unsigned char +to_SHIFT_JIS_E5_9D_offsets[64] = { + /* used from to_SHIFT_JIS_E5_9D */ + /* used from to_EUC_JP_E5_9D */ + 0, 16, 1, 16, 16, 16, 16, 2, 16, 16, 3, 16, 16, 16, 4, 5, + 6, 7, 16, 16, 16, 16, 16, 16, 16, 8, 16, 16, 16, 16, 16, 16, + 16, 9, 16, 16, 10, 11, 12, 16, 16, 13, 14, 16, 16, 16, 16, 16, + 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 15, +}; +static const struct byte_lookup* const +to_SHIFT_JIS_E5_9D_infos[17] = { + o2(0x9A,0xAC), o2(0x8D,0xE2), o2(0x8B,0xCF), o2(0x96,0x56), + o2(0x9A,0xAA), o2(0x9A,0xAD), o2(0x8D,0xBF), o2(0x8D,0x42), + o2(0xFA,0x96), o2(0x9A,0xB1), o2(0x8D,0xA3), o2(0xFA,0x97), + o2(0x92,0x52), o2(0x9A,0xAE), o2(0x92,0xD8), o2(0x9A,0xB2), + UNDEF, +}; +static const BYTE_LOOKUP +to_SHIFT_JIS_E5_9D = { + to_SHIFT_JIS_E5_9D_offsets, + to_SHIFT_JIS_E5_9D_infos +}; + +static const unsigned char +to_SHIFT_JIS_E5_9E_offsets[64] = { + /* used from to_SHIFT_JIS_E5_9E */ + /* used from to_EUC_JP_E5_9E */ + 13, 13, 0, 13, 13, 13, 13, 13, 1, 2, 13, 3, 13, 13, 13, 13, + 13, 13, 13, 4, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, + 5, 13, 6, 7, 8, 13, 13, 13, 13, 13, 9, 13, 10, 13, 13, 13, + 11, 13, 13, 12, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, +}; +static const struct byte_lookup* const +to_SHIFT_JIS_E5_9E_infos[14] = { + o2(0x90,0x82), o2(0x9A,0xB0), o2(0x9A,0xB3), o2(0x8C,0x5E), + o2(0x9A,0xB4), o2(0x9A,0xB5), o2(0x8D,0x43), o2(0x8A,0x5F), + o2(0x9A,0xB7), o2(0x9A,0xB8), o2(0xFA,0x98), o2(0x9A,0xB9), + o2(0x9A,0xB6), UNDEF, +}; +static const BYTE_LOOKUP +to_SHIFT_JIS_E5_9E = { + to_SHIFT_JIS_E5_9E_offsets, + to_SHIFT_JIS_E5_9E_infos +}; + +static const unsigned char +to_SHIFT_JIS_E5_9F_offsets[64] = { + /* used from to_SHIFT_JIS_E5_9F */ + /* used from to_EUC_JP_E5_9F */ + 0, 20, 20, 1, 20, 20, 2, 3, 4, 20, 20, 5, 20, 20, 6, 20, + 20, 20, 7, 8, 9, 20, 10, 20, 20, 20, 20, 20, 11, 20, 20, 12, + 13, 20, 20, 14, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, + 20, 20, 20, 20, 15, 20, 20, 16, 20, 17, 18, 20, 19, 20, 20, 20, +}; +static const struct byte_lookup* const +to_SHIFT_JIS_E5_9F_infos[21] = { + o2(0x9A,0xAF), o2(0x9A,0xBA), o2(0x9A,0xBB), o2(0xFA,0x9A), + o2(0xFA,0x99), o2(0x96,0x84), o2(0x8F,0xE9), o2(0x9A,0xBD), + o2(0x9A,0xBE), o2(0x9A,0xBC), o2(0x9A,0xC0), o2(0x94,0x57), + o2(0x88,0xE6), o2(0x95,0x75), o2(0x9A,0xC1), o2(0x8F,0xFB), + o2(0x8E,0xB7), o2(0x94,0x7C), o2(0x8A,0xEE), o2(0x8D,0xE9), + UNDEF, +}; +static const BYTE_LOOKUP +to_SHIFT_JIS_E5_9F = { + to_SHIFT_JIS_E5_9F_offsets, + to_SHIFT_JIS_E5_9F_infos +}; + +static const unsigned char +to_SHIFT_JIS_E5_A0_offsets[64] = { + /* used from to_SHIFT_JIS_E5_A0 */ + /* used from to_EUC_JP_E5_A0 */ + 0, 19, 1, 19, 19, 2, 3, 19, 19, 19, 4, 5, 19, 19, 19, 19, + 19, 19, 19, 19, 19, 6, 19, 19, 19, 7, 19, 19, 19, 8, 19, 19, + 19, 9, 19, 19, 10, 19, 19, 19, 19, 19, 11, 19, 19, 19, 19, 12, + 13, 14, 19, 19, 15, 16, 19, 19, 19, 19, 17, 19, 19, 18, 19, 19, +}; +static const struct byte_lookup* const +to_SHIFT_JIS_E5_A0_infos[20] = { + o2(0x96,0x78), o2(0x93,0xB0), o2(0x8C,0x98), o2(0x91,0xCD), + o2(0x9A,0xBF), o2(0x9A,0xC2), o2(0x91,0xC2), o2(0x9A,0xC3), + o2(0x9A,0xC4), o2(0x9A,0xC6), o2(0x92,0xE7), o2(0x8A,0xAC), + o2(0xEA,0x9F), o2(0x89,0x81), o2(0x95,0xF1), o2(0x8F,0xEA), + o2(0x93,0x67), o2(0x8D,0xE4), o2(0x9A,0xCC), UNDEF, +}; +static const BYTE_LOOKUP +to_SHIFT_JIS_E5_A0 = { + to_SHIFT_JIS_E5_A0_offsets, + to_SHIFT_JIS_E5_A0_infos +}; + +static const unsigned char +to_SHIFT_JIS_E5_A1_offsets[64] = { + /* used from to_SHIFT_JIS_E5_A1 */ + /* used from to_EUC_JP_E5_A1 */ + 0, 1, 20, 20, 20, 20, 20, 20, 20, 20, 2, 3, 20, 20, 20, 20, + 20, 4, 5, 20, 6, 20, 20, 7, 8, 9, 10, 20, 20, 20, 11, 20, + 20, 20, 12, 20, 20, 20, 20, 20, 20, 13, 20, 14, 20, 20, 20, 20, + 15, 20, 16, 20, 20, 17, 20, 20, 20, 18, 20, 20, 20, 20, 19, 20, +}; +static const struct byte_lookup* const +to_SHIFT_JIS_E5_A1_infos[21] = { + o2(0x95,0xBB), o2(0x97,0xDB), o2(0x89,0xF2), o2(0x9A,0xC8), + o2(0x91,0x59), o2(0x9A,0xCB), o2(0x93,0x83), o2(0x93,0x68), + o2(0x93,0x84), o2(0x94,0xB7), o2(0x92,0xCB), o2(0x8D,0xC7), + o2(0x9A,0xC7), o2(0x89,0x96), o2(0x93,0x55), o2(0x9A,0xC9), + o2(0x9A,0xC5), o2(0x90,0x6F), o2(0x9A,0xCD), o2(0x8F,0x6D), + UNDEF, +}; +static const BYTE_LOOKUP +to_SHIFT_JIS_E5_A1 = { + to_SHIFT_JIS_E5_A1_offsets, + to_SHIFT_JIS_E5_A1_infos +}; + +static const unsigned char +to_SHIFT_JIS_E5_A2_offsets[64] = { + /* used from to_SHIFT_JIS_E5_A2 */ + /* used from to_EUC_JP_E5_A2 */ + 17, 17, 17, 0, 17, 1, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, + 17, 17, 17, 2, 17, 17, 17, 3, 17, 17, 17, 17, 4, 17, 5, 6, + 17, 17, 17, 17, 17, 17, 17, 17, 7, 17, 17, 8, 17, 17, 9, 17, + 17, 17, 10, 11, 17, 17, 17, 17, 12, 13, 14, 15, 17, 17, 16, 17, +}; +static const struct byte_lookup* const +to_SHIFT_JIS_E5_A2_infos[18] = { + o2(0x8B,0xAB), o2(0x9A,0xCE), o2(0x95,0xE6), o2(0x91,0x9D), + o2(0x92,0xC4), o2(0xFA,0x9D), o2(0x9A,0xD0), o2(0x96,0x6E), + o2(0x9A,0xD1), o2(0x9A,0xD6), o2(0xFA,0x9E), o2(0x95,0xAD), + o2(0x9A,0xD5), o2(0x9A,0xCF), o2(0x9A,0xD2), o2(0x9A,0xD4), + o2(0x8D,0xA4), UNDEF, +}; +static const BYTE_LOOKUP +to_SHIFT_JIS_E5_A2 = { + to_SHIFT_JIS_E5_A2_offsets, + to_SHIFT_JIS_E5_A2_infos +}; + +static const unsigned char +to_SHIFT_JIS_E5_A3_offsets[64] = { + /* used from to_SHIFT_JIS_E5_A3 */ + /* used from to_EUC_JP_E5_A3 */ + 29, 0, 29, 29, 29, 1, 29, 2, 29, 29, 3, 29, 4, 29, 29, 29, + 29, 5, 29, 6, 29, 7, 29, 8, 9, 10, 29, 29, 11, 29, 12, 13, + 29, 29, 29, 29, 14, 15, 29, 29, 29, 29, 29, 16, 17, 29, 18, 19, + 20, 21, 22, 29, 29, 29, 29, 23, 29, 24, 25, 26, 27, 28, 29, 29, +}; +static const struct byte_lookup* const +to_SHIFT_JIS_E5_A3_infos[30] = { + o2(0x95,0xC7), o2(0x9A,0xD7), o2(0x92,0x64), o2(0x89,0xF3), + o2(0x8F,0xEB), o2(0x9A,0xD9), o2(0x9A,0xD8), o2(0x8D,0x88), + o2(0x9A,0xDA), o2(0x9A,0xDC), o2(0x9A,0xDB), o2(0x9A,0xDE), + o2(0x9A,0xD3), o2(0x9A,0xE0), o2(0x9A,0xDF), o2(0x9A,0xDD), + o2(0x8E,0x6D), o2(0x90,0x70), o2(0x91,0x73), o2(0x9A,0xE1), + o2(0x90,0xBA), o2(0x88,0xEB), o2(0x94,0x84), o2(0x92,0xD9), + o2(0x9A,0xE3), o2(0x9A,0xE2), o2(0x9A,0xE4), o2(0x9A,0xE5), + o2(0x9A,0xE6), UNDEF, +}; +static const BYTE_LOOKUP +to_SHIFT_JIS_E5_A3 = { + to_SHIFT_JIS_E5_A3_offsets, + to_SHIFT_JIS_E5_A3_infos +}; + +static const unsigned char +to_SHIFT_JIS_E5_A4_offsets[64] = { + /* used from to_SHIFT_JIS_E5_A4 */ + /* used from to_EUC_JP_E5_A4 */ + 27, 27, 0, 27, 27, 27, 27, 27, 27, 1, 2, 3, 27, 27, 27, 4, + 5, 27, 27, 27, 27, 6, 7, 27, 8, 9, 10, 11, 12, 27, 27, 27, + 27, 27, 13, 27, 27, 14, 27, 15, 27, 16, 17, 18, 19, 20, 21, 27, + 27, 22, 23, 27, 27, 27, 27, 24, 25, 27, 27, 27, 27, 27, 26, 27, +}; +static const struct byte_lookup* const +to_SHIFT_JIS_E5_A4_infos[28] = { + o2(0x9A,0xE7), o2(0x95,0xCF), o2(0x9A,0xE8), o2(0xFA,0x9F), + o2(0x89,0xC4), o2(0x9A,0xE9), o2(0x97,0x5B), o2(0x8A,0x4F), + o2(0x99,0xC7), o2(0x8F,0x67), o2(0x91,0xBD), o2(0x9A,0xEA), + o2(0x96,0xE9), o2(0x96,0xB2), o2(0x9A,0xEC), o2(0x91,0xE5), + o2(0x93,0x56), o2(0x91,0xBE), o2(0x95,0x76), o2(0x9A,0xED), + o2(0x9A,0xEE), o2(0x89,0x9B), o2(0x8E,0xB8), o2(0x9A,0xEF), + o2(0x88,0xCE), o2(0x9A,0xF0), o2(0x9A,0xF1), UNDEF, +}; +static const BYTE_LOOKUP +to_SHIFT_JIS_E5_A4 = { + to_SHIFT_JIS_E5_A4_offsets, + to_SHIFT_JIS_E5_A4_infos +}; + +static const unsigned char +to_SHIFT_JIS_E5_A5_offsets[64] = { + /* used from to_SHIFT_JIS_E5_A5 */ + /* used from to_EUC_JP_E5_A5 */ + 30, 30, 30, 30, 0, 30, 30, 1, 2, 3, 30, 30, 30, 30, 4, 5, + 6, 7, 30, 8, 9, 10, 30, 11, 12, 30, 13, 14, 30, 15, 30, 30, + 16, 30, 17, 18, 30, 19, 30, 20, 21, 22, 23, 30, 24, 30, 25, 30, + 30, 30, 30, 26, 27, 30, 30, 30, 28, 30, 30, 30, 30, 29, 30, 30, +}; +static const struct byte_lookup* const +to_SHIFT_JIS_E5_A5_infos[31] = { + o2(0x89,0x82), o2(0x8A,0xEF), o2(0x93,0xDE), o2(0x95,0xF2), + o2(0x9A,0xF5), o2(0x91,0x74), o2(0x9A,0xF4), o2(0x8C,0x5F), + o2(0xFA,0xA0), o2(0x96,0x7A), o2(0x9A,0xF3), o2(0x93,0x85), + o2(0x9A,0xF7), o2(0x9A,0xF6), o2(0xFA,0xA1), o2(0xFA,0xA2), + o2(0x9A,0xF9), o2(0x9A,0xF8), o2(0xFA,0xA3), o2(0x89,0x9C), + o2(0x9A,0xFA), o2(0x8F,0xA7), o2(0x9A,0xFC), o2(0x92,0x44), + o2(0x9A,0xFB), o2(0x95,0xB1), o2(0x8F,0x97), o2(0x93,0x7A), + o2(0x9B,0x40), o2(0x8D,0x44), UNDEF, +}; +static const BYTE_LOOKUP +to_SHIFT_JIS_E5_A5 = { + to_SHIFT_JIS_E5_A5_offsets, + to_SHIFT_JIS_E5_A5_infos +}; + +static const unsigned char +to_SHIFT_JIS_E5_A6_offsets[64] = { + /* used from to_SHIFT_JIS_E5_A6 */ + /* used from to_EUC_JP_E5_A6 */ + 21, 0, 1, 2, 3, 21, 21, 21, 21, 21, 4, 21, 21, 5, 21, 21, + 21, 21, 21, 6, 21, 21, 7, 21, 21, 8, 21, 9, 21, 10, 21, 21, + 21, 21, 21, 11, 12, 13, 21, 21, 14, 21, 21, 21, 15, 21, 21, 21, + 21, 21, 16, 21, 21, 21, 21, 21, 21, 17, 18, 19, 21, 21, 20, 21, +}; +static const struct byte_lookup* const +to_SHIFT_JIS_E5_A6_infos[22] = { + o2(0x9B,0x41), o2(0x94,0x40), o2(0x94,0xDC), o2(0x96,0xCF), + o2(0x94,0x44), o2(0x9B,0x4A), o2(0x8B,0x57), o2(0x97,0x64), + o2(0x96,0xAD), o2(0x9B,0xAA), o2(0x9B,0x42), o2(0x9B,0x45), + o2(0xFA,0xA4), o2(0x91,0xC3), o2(0x96,0x57), o2(0x93,0x69), + o2(0x9B,0x46), o2(0x96,0x85), o2(0xFA,0xA5), o2(0x8D,0xC8), + o2(0x8F,0xA8), UNDEF, +}; +static const BYTE_LOOKUP +to_SHIFT_JIS_E5_A6 = { + to_SHIFT_JIS_E5_A6_offsets, + to_SHIFT_JIS_E5_A6_infos +}; + +static const unsigned char +to_SHIFT_JIS_E5_A7_offsets[64] = { + /* used from to_SHIFT_JIS_E5_A7 */ + /* used from to_EUC_JP_E5_A7 */ + 18, 18, 18, 18, 18, 18, 0, 18, 18, 1, 18, 2, 18, 18, 18, 18, + 3, 4, 18, 5, 6, 18, 18, 18, 18, 7, 8, 18, 9, 18, 18, 18, + 18, 18, 18, 18, 18, 10, 11, 18, 12, 18, 13, 14, 18, 18, 18, 18, + 18, 18, 18, 18, 18, 18, 15, 18, 18, 18, 18, 16, 18, 18, 18, 17, +}; +static const struct byte_lookup* const +to_SHIFT_JIS_E5_A7_infos[19] = { + o2(0x9B,0x47), o2(0x8E,0x6F), o2(0x8E,0x6E), o2(0x88,0xB7), + o2(0x8C,0xC6), o2(0x90,0xA9), o2(0x88,0xCF), o2(0x9B,0x4B), + o2(0x9B,0x4C), o2(0x9B,0x49), o2(0x89,0x57), o2(0x8A,0xAD), + o2(0x9B,0x48), o2(0x96,0xC3), o2(0x95,0x50), o2(0x88,0xA6), + o2(0x88,0xF7), o2(0x8E,0x70), UNDEF, +}; +static const BYTE_LOOKUP +to_SHIFT_JIS_E5_A7 = { + to_SHIFT_JIS_E5_A7_offsets, + to_SHIFT_JIS_E5_A7_infos +}; + +static const unsigned char +to_SHIFT_JIS_E5_A8_offsets[64] = { + /* used from to_SHIFT_JIS_E5_A8 */ + /* used from to_EUC_JP_E5_A8 */ + 15, 0, 15, 1, 15, 15, 15, 15, 15, 2, 15, 15, 15, 15, 15, 15, + 15, 3, 15, 15, 15, 15, 15, 15, 4, 15, 5, 15, 6, 15, 15, 7, + 8, 15, 15, 15, 15, 9, 15, 15, 15, 10, 15, 15, 15, 15, 15, 11, + 15, 15, 15, 15, 15, 12, 13, 15, 15, 15, 15, 15, 14, 15, 15, 15, +}; +static const struct byte_lookup* const +to_SHIFT_JIS_E5_A8_infos[16] = { + o2(0x88,0xD0), o2(0x88,0xA1), o2(0x9B,0x51), o2(0x9B,0x4F), + o2(0x96,0xBA), o2(0x9B,0x52), o2(0x9B,0x50), o2(0x9B,0x4E), + o2(0x90,0x50), o2(0x9B,0x4D), o2(0x95,0xD8), o2(0x8C,0xE2), + o2(0x9B,0x56), o2(0x9B,0x57), o2(0x8F,0xA9), UNDEF, +}; +static const BYTE_LOOKUP +to_SHIFT_JIS_E5_A8 = { + to_SHIFT_JIS_E5_A8_offsets, + to_SHIFT_JIS_E5_A8_infos +}; + +static const unsigned char +to_SHIFT_JIS_E5_A9_offsets[64] = { + /* used from to_SHIFT_JIS_E5_A9 */ + /* used from to_EUC_JP_E5_A9 */ + 0, 1, 10, 10, 10, 10, 2, 10, 10, 3, 10, 10, 10, 10, 10, 10, + 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 4, 10, 10, 10, 10, 10, + 10, 10, 5, 10, 10, 10, 6, 10, 10, 10, 7, 10, 8, 10, 10, 10, + 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 9, +}; +static const struct byte_lookup* const +to_SHIFT_JIS_E5_A9_infos[11] = { + o2(0x9B,0x53), o2(0x98,0x4B), o2(0x94,0x6B), o2(0x9B,0x55), + o2(0x8D,0xA5), o2(0x9B,0x58), o2(0x95,0x77), o2(0x9B,0x59), + o2(0x9B,0x54), o2(0x96,0xB9), UNDEF, +}; +static const BYTE_LOOKUP +to_SHIFT_JIS_E5_A9 = { + to_SHIFT_JIS_E5_A9_offsets, + to_SHIFT_JIS_E5_A9_infos +}; + +static const unsigned char +to_SHIFT_JIS_E5_AA_offsets[64] = { + /* used from to_SHIFT_JIS_E5_AA */ + /* used from to_EUC_JP_E5_AA */ + 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, + 6, 6, 0, 6, 6, 6, 6, 6, 6, 6, 1, 2, 6, 6, 6, 6, + 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, + 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 3, 4, 5, 6, +}; +static const struct byte_lookup* const +to_SHIFT_JIS_E5_AA_infos[7] = { + o2(0x94,0x7D), o2(0x9B,0x5A), o2(0x95,0x51), o2(0x9B,0x5B), + o2(0x9B,0x5F), o2(0x9B,0x5C), UNDEF, +}; +static const BYTE_LOOKUP +to_SHIFT_JIS_E5_AA = { + to_SHIFT_JIS_E5_AA_offsets, + to_SHIFT_JIS_E5_AA_infos +}; + +static const unsigned char +to_SHIFT_JIS_E5_AB_offsets[64] = { + /* used from to_SHIFT_JIS_E5_AB */ + /* used from to_EUC_JP_E5_AB */ + 14, 0, 1, 14, 14, 14, 14, 14, 14, 2, 14, 3, 4, 14, 14, 14, + 5, 14, 14, 14, 14, 14, 6, 7, 14, 14, 14, 14, 14, 14, 14, 14, + 14, 8, 14, 9, 14, 14, 10, 14, 14, 11, 14, 14, 14, 14, 14, 14, + 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 12, 13, 14, 14, 14, 14, +}; +static const struct byte_lookup* const +to_SHIFT_JIS_E5_AB_infos[15] = { + o2(0x89,0xC5), o2(0x9B,0x5E), o2(0x8E,0xB9), o2(0x9B,0x5D), + o2(0x8C,0x99), o2(0x9B,0x6B), o2(0x9B,0x64), o2(0x9B,0x61), + o2(0x92,0x84), o2(0x9B,0x60), o2(0x9B,0x62), o2(0x9B,0x63), + o2(0x9B,0x65), o2(0x9B,0x66), UNDEF, +}; +static const BYTE_LOOKUP +to_SHIFT_JIS_E5_AB = { + to_SHIFT_JIS_E5_AB_offsets, + to_SHIFT_JIS_E5_AB_infos +}; + +static const unsigned char +to_SHIFT_JIS_E5_AC_offsets[64] = { + /* used from to_SHIFT_JIS_E5_AC */ + /* used from to_EUC_JP_E5_AC */ + 11, 11, 11, 11, 11, 11, 11, 11, 11, 0, 11, 1, 2, 11, 11, 11, + 11, 11, 11, 11, 11, 11, 3, 11, 11, 11, 11, 11, 11, 11, 11, 11, + 11, 11, 4, 11, 11, 11, 11, 11, 11, 11, 5, 11, 6, 11, 11, 11, + 7, 11, 8, 11, 11, 11, 9, 11, 11, 11, 11, 11, 11, 11, 10, 11, +}; +static const struct byte_lookup* const +to_SHIFT_JIS_E5_AC_infos[12] = { + o2(0x8A,0xF0), o2(0x9B,0x68), o2(0x9B,0x67), o2(0x9B,0x69), + o2(0x8F,0xEC), o2(0x9B,0x6C), o2(0x92,0xDA), o2(0x89,0x64), + o2(0x9B,0x6A), o2(0x9B,0x6D), o2(0x9B,0x6E), UNDEF, +}; +static const BYTE_LOOKUP +to_SHIFT_JIS_E5_AC = { + to_SHIFT_JIS_E5_AC_offsets, + to_SHIFT_JIS_E5_AC_infos +}; + +static const unsigned char +to_SHIFT_JIS_E5_AD_offsets[64] = { + /* used from to_SHIFT_JIS_E5_AD */ + /* used from to_EUC_JP_E5_AD */ + 0, 27, 27, 1, 27, 2, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, + 3, 4, 27, 27, 5, 6, 7, 8, 9, 27, 10, 11, 12, 13, 27, 14, + 27, 27, 27, 15, 16, 17, 18, 27, 27, 19, 27, 20, 27, 27, 27, 27, + 21, 22, 27, 23, 27, 24, 27, 27, 25, 27, 26, 27, 27, 27, 27, 27, +}; +static const struct byte_lookup* const +to_SHIFT_JIS_E5_AD_infos[28] = { + o2(0x9B,0x71), o2(0x9B,0x6F), o2(0x9B,0x70), o2(0x8E,0x71), + o2(0x9B,0x72), o2(0x8D,0x45), o2(0x9B,0x73), o2(0xFA,0xA6), + o2(0x8E,0x9A), o2(0x91,0xB6), o2(0x9B,0x74), o2(0x9B,0x75), + o2(0x8E,0x79), o2(0x8D,0x46), o2(0x96,0xD0), o2(0x8B,0x47), + o2(0x8C,0xC7), o2(0x9B,0x76), o2(0x8A,0x77), o2(0x9B,0x77), + o2(0x91,0xB7), o2(0x9B,0x78), o2(0x9B,0xA1), o2(0x9B,0x79), + o2(0x9B,0x7A), o2(0x9B,0x7B), o2(0x9B,0x7D), UNDEF, +}; +static const BYTE_LOOKUP +to_SHIFT_JIS_E5_AD = { + to_SHIFT_JIS_E5_AD_offsets, + to_SHIFT_JIS_E5_AD_infos +}; + +static const unsigned char +to_SHIFT_JIS_E5_AE_offsets[64] = { + /* used from to_SHIFT_JIS_E5_AE */ + /* used from to_EUC_JP_E5_AE */ + 0, 33, 33, 1, 33, 2, 33, 3, 4, 5, 33, 6, 7, 8, 33, 9, + 33, 33, 33, 33, 33, 10, 33, 11, 12, 13, 14, 15, 16, 17, 33, 18, + 33, 33, 19, 20, 21, 22, 23, 33, 33, 33, 33, 33, 33, 33, 24, 33, + 25, 33, 33, 26, 27, 28, 29, 33, 30, 31, 33, 33, 33, 33, 33, 32, +}; +static const struct byte_lookup* const +to_SHIFT_JIS_E5_AE_infos[34] = { + o2(0x9B,0x7E), o2(0x9B,0x80), o2(0x91,0xEE), o2(0x89,0x46), + o2(0x8E,0xE7), o2(0x88,0xC0), o2(0x91,0x76), o2(0x8A,0xAE), + o2(0x8E,0xB3), o2(0x8D,0x47), o2(0x93,0x86), o2(0x8F,0x40), + o2(0x8A,0xAF), o2(0x92,0x88), o2(0x92,0xE8), o2(0x88,0xB6), + o2(0x8B,0x58), o2(0x95,0xF3), o2(0x8E,0xC0), o2(0x8B,0x71), + o2(0x90,0xE9), o2(0x8E,0xBA), o2(0x97,0x47), o2(0x9B,0x81), + o2(0x8B,0x7B), o2(0x8D,0xC9), o2(0x8A,0x51), o2(0x89,0x83), + o2(0x8F,0xAA), o2(0x89,0xC6), o2(0x9B,0x82), o2(0x97,0x65), + o2(0x8F,0x68), UNDEF, +}; +static const BYTE_LOOKUP +to_SHIFT_JIS_E5_AE = { + to_SHIFT_JIS_E5_AE_offsets, + to_SHIFT_JIS_E5_AE_infos +}; + +static const unsigned char +to_SHIFT_JIS_E5_AF_offsets[64] = { + /* used from to_SHIFT_JIS_E5_AF */ + /* used from to_EUC_JP_E5_AF */ + 0, 37, 1, 2, 3, 4, 5, 6, 37, 7, 37, 37, 8, 37, 37, 37, + 9, 37, 10, 11, 12, 37, 37, 37, 13, 37, 37, 14, 37, 15, 16, 17, + 37, 18, 19, 37, 20, 21, 22, 23, 24, 25, 37, 26, 27, 37, 28, 37, + 29, 37, 37, 30, 37, 31, 32, 37, 33, 37, 34, 37, 37, 37, 35, 36, +}; +static const struct byte_lookup* const +to_SHIFT_JIS_E5_AF_infos[38] = { + o2(0xFA,0xA7), o2(0x8E,0xE2), o2(0x9B,0x83), o2(0x8A,0xF1), + o2(0x93,0xD0), o2(0x96,0xA7), o2(0x9B,0x84), o2(0x9B,0x85), + o2(0x95,0x78), o2(0x9B,0x87), o2(0x8A,0xA6), o2(0x8B,0xF5), + o2(0x9B,0x86), o2(0xFA,0xA9), o2(0x8A,0xB0), o2(0x90,0x51), + o2(0x9B,0x8B), o2(0x8E,0x40), o2(0x89,0xC7), o2(0x9B,0x8A), + o2(0x9B,0x88), o2(0x9B,0x8C), o2(0x9B,0x89), o2(0x94,0x4A), + o2(0x9E,0xCB), o2(0x90,0x52), o2(0x9B,0x8D), o2(0xFA,0xAA), + o2(0x97,0xBE), o2(0x9B,0x8E), o2(0x9B,0x90), o2(0x92,0x9E), + o2(0x9B,0x8F), o2(0x90,0xA1), o2(0x8E,0x9B), o2(0x91,0xCE), + o2(0x8E,0xF5), UNDEF, +}; +static const BYTE_LOOKUP +to_SHIFT_JIS_E5_AF = { + to_SHIFT_JIS_E5_AF_offsets, + to_SHIFT_JIS_E5_AF_infos +}; + +static const unsigned char +to_SHIFT_JIS_E5_B0_offsets[64] = { + /* used from to_SHIFT_JIS_E5_B0 */ + /* used from to_EUC_JP_E5_B0 */ + 32, 0, 1, 32, 2, 3, 4, 5, 6, 7, 8, 9, 32, 10, 11, 12, + 32, 13, 32, 14, 32, 32, 15, 32, 32, 32, 16, 32, 32, 32, 17, 32, + 18, 32, 19, 32, 20, 32, 32, 32, 21, 32, 32, 32, 32, 22, 32, 32, + 32, 23, 32, 32, 32, 32, 32, 32, 24, 25, 26, 27, 28, 29, 30, 31, +}; +static const struct byte_lookup* const +to_SHIFT_JIS_E5_B0_infos[33] = { + o2(0x95,0x95), o2(0x90,0xEA), o2(0x8E,0xCB), o2(0x9B,0x91), + o2(0x8F,0xAB), o2(0x9B,0x92), o2(0x9B,0x93), o2(0x88,0xD1), + o2(0x91,0xB8), o2(0x90,0x71), o2(0x9B,0x94), o2(0x93,0xB1), + o2(0x8F,0xAC), o2(0x8F,0xAD), o2(0x9B,0x95), o2(0x90,0xEB), + o2(0x8F,0xAE), o2(0xFA,0xAB), o2(0x9B,0x96), o2(0x9B,0x97), + o2(0x96,0xDE), o2(0x9B,0x98), o2(0x8B,0xC4), o2(0x8F,0x41), + o2(0x9B,0x99), o2(0x9B,0x9A), o2(0x8E,0xDA), o2(0x90,0x4B), + o2(0x93,0xF2), o2(0x90,0x73), o2(0x94,0xF6), o2(0x94,0x41), + UNDEF, +}; +static const BYTE_LOOKUP +to_SHIFT_JIS_E5_B0 = { + to_SHIFT_JIS_E5_B0_offsets, + to_SHIFT_JIS_E5_B0_infos +}; + +static const unsigned char +to_SHIFT_JIS_E5_B1_offsets[64] = { + /* used from to_SHIFT_JIS_E5_B1 */ + /* used from to_EUC_JP_E5_B1 */ + 0, 1, 25, 25, 25, 2, 3, 25, 4, 25, 5, 6, 25, 7, 8, 9, + 10, 11, 25, 12, 25, 13, 25, 25, 25, 25, 25, 25, 25, 25, 14, 25, + 15, 16, 25, 25, 17, 18, 25, 25, 25, 25, 25, 25, 19, 25, 20, 21, + 25, 22, 25, 25, 25, 25, 23, 25, 25, 24, 25, 25, 25, 25, 25, 25, +}; +static const struct byte_lookup* const +to_SHIFT_JIS_E5_B1_infos[26] = { + o2(0x8B,0xC7), o2(0x9B,0x9B), o2(0x8B,0x8F), o2(0x9B,0x9C), + o2(0x8B,0xFC), o2(0x93,0xCD), o2(0x89,0xAE), o2(0x8E,0x72), + o2(0x9B,0x9D), o2(0x9B,0xA0), o2(0x9B,0x9F), o2(0x8B,0xFB), + o2(0x9B,0x9E), o2(0x93,0x57), o2(0x91,0xAE), o2(0x93,0x6A), + o2(0x8E,0xC6), o2(0x91,0x77), o2(0x97,0x9A), o2(0x9B,0xA2), + o2(0x9B,0xA3), o2(0x93,0xD4), o2(0x8E,0x52), o2(0x9B,0xA5), + o2(0x9B,0xA6), UNDEF, +}; +static const BYTE_LOOKUP +to_SHIFT_JIS_E5_B1 = { + to_SHIFT_JIS_E5_B1_offsets, + to_SHIFT_JIS_E5_B1_infos +}; + +static const unsigned char +to_SHIFT_JIS_E5_B2_offsets[64] = { + /* used from to_SHIFT_JIS_E5_B2 */ + /* used from to_EUC_JP_E5_B2 */ + 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, 0, 19, 19, 19, + 1, 2, 19, 19, 3, 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, + 19, 4, 19, 19, 19, 19, 5, 19, 6, 7, 19, 8, 9, 19, 19, 19, + 19, 10, 19, 11, 19, 19, 12, 13, 14, 19, 15, 16, 17, 19, 18, 19, +}; +static const struct byte_lookup* const +to_SHIFT_JIS_E5_B2_infos[20] = { + o2(0x9B,0xA7), o2(0x8A,0xF2), o2(0x9B,0xA8), o2(0x9B,0xA9), + o2(0x89,0xAA), o2(0xFA,0xAC), o2(0x91,0x5A), o2(0x8A,0xE2), + o2(0x9B,0xAB), o2(0x96,0xA6), o2(0x91,0xD0), o2(0x8A,0x78), + o2(0x9B,0xAD), o2(0x9B,0xAF), o2(0x8A,0xDD), o2(0xFA,0xAD), + o2(0x9B,0xAC), o2(0x9B,0xAE), o2(0x9B,0xB1), UNDEF, +}; +static const BYTE_LOOKUP +to_SHIFT_JIS_E5_B2 = { + to_SHIFT_JIS_E5_B2_offsets, + to_SHIFT_JIS_E5_B2_infos +}; + +static const unsigned char +to_SHIFT_JIS_E5_B3_offsets[64] = { + /* used from to_SHIFT_JIS_E5_B3 */ + /* used from to_EUC_JP_E5_B3 */ + 16, 16, 16, 16, 16, 0, 16, 1, 16, 16, 16, 16, 16, 16, 16, 16, + 16, 16, 16, 16, 16, 16, 16, 16, 16, 2, 16, 16, 16, 16, 16, 16, + 3, 4, 16, 16, 16, 16, 16, 16, 5, 6, 7, 16, 16, 8, 16, 9, + 10, 16, 16, 16, 16, 11, 12, 16, 16, 16, 13, 14, 16, 15, 16, 16, +}; +static const struct byte_lookup* const +to_SHIFT_JIS_E5_B3_infos[17] = { + o2(0x9B,0xB0), o2(0x9B,0xB2), o2(0x9B,0xB3), o2(0x93,0xBB), + o2(0x8B,0xAC), o2(0x89,0xE3), o2(0x9B,0xB4), o2(0x9B,0xB9), + o2(0x9B,0xB7), o2(0x95,0xF5), o2(0x95,0xF4), o2(0xFA,0xAE), + o2(0x93,0x87), o2(0x9B,0xB6), o2(0x8F,0x73), o2(0x9B,0xB5), + UNDEF, +}; +static const BYTE_LOOKUP +to_SHIFT_JIS_E5_B3 = { + to_SHIFT_JIS_E5_B3_offsets, + to_SHIFT_JIS_E5_B3_infos +}; + +static const unsigned char +to_SHIFT_JIS_E5_B4_offsets[64] = { + /* used from to_SHIFT_JIS_E5_B4 */ + /* used from to_EUC_JP_E5_B4 */ + 16, 16, 16, 16, 16, 16, 16, 0, 16, 16, 16, 1, 16, 16, 2, 16, + 16, 3, 16, 16, 4, 5, 6, 7, 8, 9, 10, 11, 16, 16, 16, 12, + 16, 16, 13, 16, 16, 16, 16, 14, 16, 15, 16, 16, 16, 16, 16, 16, + 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, +}; +static const struct byte_lookup* const +to_SHIFT_JIS_E5_B4_infos[17] = { + o2(0x90,0x92), o2(0x9B,0xBA), o2(0x8D,0xE8), o2(0x9B,0xC0), + o2(0x9B,0xC1), o2(0x9B,0xBB), o2(0x8A,0x52), o2(0x9B,0xBC), + o2(0x9B,0xC5), o2(0x9B,0xC4), o2(0x9B,0xC3), o2(0x9B,0xBF), + o2(0x9B,0xBE), o2(0x9B,0xC2), o2(0xFA,0xAF), o2(0x95,0xF6), + UNDEF, +}; +static const BYTE_LOOKUP +to_SHIFT_JIS_E5_B4 = { + to_SHIFT_JIS_E5_B4_offsets, + to_SHIFT_JIS_E5_B4_infos +}; + +static const unsigned char +to_SHIFT_JIS_E5_B5_offsets[64] = { + /* used from to_SHIFT_JIS_E5_B5 */ + /* used from to_EUC_JP_E5_B5 */ + 14, 14, 0, 14, 14, 14, 14, 14, 14, 14, 14, 1, 2, 14, 3, 14, + 4, 14, 5, 6, 14, 14, 14, 14, 14, 14, 14, 14, 7, 14, 14, 14, + 14, 14, 14, 14, 14, 14, 14, 14, 14, 8, 14, 14, 9, 10, 14, 11, + 14, 14, 14, 12, 14, 14, 13, 14, 14, 14, 14, 14, 14, 14, 14, 14, +}; +static const struct byte_lookup* const +to_SHIFT_JIS_E5_B5_infos[15] = { + o2(0xFA,0xB2), o2(0x9B,0xC9), o2(0x9B,0xC6), o2(0x9B,0xC8), + o2(0x97,0x92), o2(0x9B,0xC7), o2(0xFA,0xB0), o2(0x9B,0xBD), + o2(0x90,0x93), o2(0x9B,0xCA), o2(0xFA,0xB3), o2(0x8D,0xB5), + o2(0x9B,0xCB), o2(0x9B,0xCC), UNDEF, +}; +static const BYTE_LOOKUP +to_SHIFT_JIS_E5_B5 = { + to_SHIFT_JIS_E5_B5_offsets, + to_SHIFT_JIS_E5_B5_infos +}; + +static const unsigned char +to_SHIFT_JIS_E5_B6_offsets[64] = { + /* used from to_SHIFT_JIS_E5_B6 */ + /* used from to_EUC_JP_E5_B6 */ + 16, 16, 0, 16, 1, 16, 16, 2, 16, 16, 16, 3, 4, 16, 16, 16, + 5, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 6, 16, 16, + 16, 16, 7, 16, 16, 16, 16, 16, 16, 16, 16, 16, 8, 16, 9, 16, + 16, 16, 16, 16, 16, 16, 16, 10, 11, 12, 13, 16, 14, 15, 16, 16, +}; +static const struct byte_lookup* const +to_SHIFT_JIS_E5_B6_infos[17] = { + o2(0x9B,0xCF), o2(0x9B,0xCE), o2(0x9B,0xCD), o2(0x93,0x88), + o2(0x9B,0xB8), o2(0x9B,0xD5), o2(0x9B,0xD1), o2(0x9B,0xD0), + o2(0x9B,0xD2), o2(0x9B,0xD3), o2(0x9B,0xD6), o2(0xFA,0xB4), + o2(0xFA,0xB5), o2(0x97,0xE4), o2(0x9B,0xD7), o2(0x9B,0xD4), + UNDEF, +}; +static const BYTE_LOOKUP +to_SHIFT_JIS_E5_B6 = { + to_SHIFT_JIS_E5_B6_offsets, + to_SHIFT_JIS_E5_B6_infos +}; + +static const unsigned char +to_SHIFT_JIS_E5_B7_offsets[64] = { + /* used from to_SHIFT_JIS_E5_B7 */ + /* used from to_EUC_JP_E5_B7 */ + 27, 27, 27, 27, 27, 27, 27, 27, 27, 0, 27, 27, 1, 2, 27, 27, + 3, 27, 4, 5, 27, 27, 6, 27, 27, 27, 27, 7, 27, 8, 9, 27, + 27, 10, 27, 11, 27, 12, 13, 14, 15, 27, 27, 16, 27, 27, 17, 27, + 27, 18, 19, 20, 21, 22, 27, 23, 27, 27, 27, 24, 27, 25, 26, 27, +}; +static const struct byte_lookup* const +to_SHIFT_JIS_E5_B7_infos[28] = { + o2(0x9B,0xD8), o2(0x8A,0xDE), o2(0x9B,0xD9), o2(0xFA,0xB6), + o2(0x9B,0xDB), o2(0x9B,0xDA), o2(0x9B,0xDC), o2(0x9B,0xDD), + o2(0x90,0xEC), o2(0x8F,0x42), o2(0x8F,0x84), o2(0x91,0x83), + o2(0x8D,0x48), o2(0x8D,0xB6), o2(0x8D,0x49), o2(0x8B,0x90), + o2(0x9B,0xDE), o2(0x8D,0xB7), o2(0x8C,0xC8), o2(0x9B,0xDF), + o2(0x96,0xA4), o2(0x94,0x62), o2(0x9B,0xE0), o2(0x8D,0x4A), + o2(0x8A,0xAA), o2(0x92,0x46), o2(0x8B,0xD0), UNDEF, +}; +static const BYTE_LOOKUP +to_SHIFT_JIS_E5_B7 = { + to_SHIFT_JIS_E5_B7_offsets, + to_SHIFT_JIS_E5_B7_infos +}; + +static const unsigned char +to_SHIFT_JIS_E5_B8_offsets[64] = { + /* used from to_SHIFT_JIS_E5_B8 */ + /* used from to_EUC_JP_E5_B8 */ + 21, 21, 0, 1, 21, 21, 2, 21, 21, 21, 21, 3, 4, 21, 21, 21, + 21, 5, 21, 21, 21, 21, 6, 21, 21, 7, 8, 9, 21, 10, 21, 21, + 21, 21, 21, 21, 21, 11, 21, 21, 21, 21, 21, 12, 21, 13, 21, 14, + 15, 21, 21, 16, 21, 21, 17, 18, 19, 21, 21, 21, 21, 20, 21, 21, +}; +static const struct byte_lookup* const +to_SHIFT_JIS_E5_B8_infos[22] = { + o2(0x8E,0x73), o2(0x95,0x7A), o2(0x94,0xBF), o2(0x9B,0xE1), + o2(0x8A,0xF3), o2(0x9B,0xE4), o2(0x92,0x9F), o2(0x9B,0xE3), + o2(0x9B,0xE2), o2(0x9B,0xE5), o2(0x92,0xE9), o2(0x90,0x83), + o2(0x8E,0x74), o2(0x90,0xC8), o2(0x91,0xD1), o2(0x8B,0x41), + o2(0x92,0xA0), o2(0x9B,0xE6), o2(0x9B,0xE7), o2(0x8F,0xED), + o2(0x96,0x58), UNDEF, +}; +static const BYTE_LOOKUP +to_SHIFT_JIS_E5_B8 = { + to_SHIFT_JIS_E5_B8_offsets, + to_SHIFT_JIS_E5_B8_infos +}; + +static const unsigned char +to_SHIFT_JIS_E5_B9_offsets[64] = { + /* used from to_SHIFT_JIS_E5_B9 */ + /* used from to_EUC_JP_E5_B9 */ + 0, 28, 28, 1, 2, 3, 28, 4, 28, 28, 28, 28, 5, 28, 6, 28, + 28, 28, 28, 28, 7, 8, 28, 9, 28, 28, 28, 28, 28, 28, 28, 10, + 28, 11, 12, 13, 14, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, + 28, 28, 15, 16, 17, 18, 19, 28, 20, 21, 22, 23, 24, 25, 26, 27, +}; +static const struct byte_lookup* const +to_SHIFT_JIS_E5_B9_infos[29] = { + o2(0x9B,0xEA), o2(0x9B,0xE9), o2(0x9B,0xE8), o2(0x95,0x9D), + o2(0x9B,0xF1), o2(0x96,0x79), o2(0x9B,0xEB), o2(0x9B,0xED), + o2(0x96,0x8B), o2(0x9B,0xEC), o2(0x9B,0xEE), o2(0x94,0xA6), + o2(0x9B,0xEF), o2(0x95,0xBC), o2(0x9B,0xF0), o2(0x8A,0xB1), + o2(0x95,0xBD), o2(0x94,0x4E), o2(0x9B,0xF2), o2(0x9B,0xF3), + o2(0x8D,0x4B), o2(0x8A,0xB2), o2(0x9B,0xF4), o2(0x8C,0xB6), + o2(0x97,0x63), o2(0x97,0x48), o2(0x8A,0xF4), o2(0x9B,0xF6), + UNDEF, +}; +static const BYTE_LOOKUP +to_SHIFT_JIS_E5_B9 = { + to_SHIFT_JIS_E5_B9_offsets, + to_SHIFT_JIS_E5_B9_infos +}; + +static const unsigned char +to_SHIFT_JIS_E5_BA_offsets[64] = { + /* used from to_SHIFT_JIS_E5_BA */ + /* used from to_EUC_JP_E5_BA */ + 20, 0, 20, 1, 2, 20, 20, 3, 20, 20, 4, 20, 20, 20, 20, 5, + 20, 20, 20, 20, 20, 6, 7, 8, 20, 20, 9, 20, 10, 20, 20, 20, + 11, 20, 20, 20, 20, 20, 12, 13, 20, 20, 20, 14, 20, 15, 20, 20, + 20, 20, 20, 20, 20, 16, 17, 18, 19, 20, 20, 20, 20, 20, 20, 20, +}; +static const struct byte_lookup* const +to_SHIFT_JIS_E5_BA_infos[21] = { + o2(0x92,0xA1), o2(0x8D,0x4C), o2(0x8F,0xAF), o2(0x94,0xDD), + o2(0x8F,0xB0), o2(0x8F,0x98), o2(0x92,0xEA), o2(0x95,0xF7), + o2(0x93,0x58), o2(0x8D,0x4D), o2(0x95,0x7B), o2(0x9B,0xF7), + o2(0x93,0x78), o2(0x8D,0xC0), o2(0x8C,0xC9), o2(0x92,0xEB), + o2(0x88,0xC1), o2(0x8F,0x8E), o2(0x8D,0x4E), o2(0x97,0x66), + UNDEF, +}; +static const BYTE_LOOKUP +to_SHIFT_JIS_E5_BA = { + to_SHIFT_JIS_E5_BA_offsets, + to_SHIFT_JIS_E5_BA_infos +}; + +static const unsigned char +to_SHIFT_JIS_E5_BB_offsets[64] = { + /* used from to_SHIFT_JIS_E5_BB */ + /* used from to_EUC_JP_E5_BB */ + 33, 0, 1, 2, 33, 33, 33, 33, 3, 4, 5, 33, 33, 33, 33, 6, + 7, 33, 33, 8, 33, 33, 9, 33, 33, 33, 10, 11, 33, 12, 33, 13, + 14, 15, 16, 17, 33, 33, 33, 33, 18, 19, 33, 33, 20, 33, 33, 33, + 21, 22, 33, 23, 24, 33, 25, 26, 27, 33, 28, 29, 30, 33, 31, 32, +}; +static const struct byte_lookup* const +to_SHIFT_JIS_E5_BB_infos[34] = { + o2(0x9B,0xF8), o2(0x9B,0xF9), o2(0x94,0x70), o2(0x9B,0xFA), + o2(0x97,0xF5), o2(0x98,0x4C), o2(0x9B,0xFC), o2(0x9B,0xFB), + o2(0x8A,0x66), o2(0x9C,0x40), o2(0x9C,0x43), o2(0x9C,0x44), + o2(0x9C,0x42), o2(0x95,0x5F), o2(0x8F,0xB1), o2(0x9C,0x46), + o2(0x9C,0x45), o2(0x9C,0x41), o2(0x9C,0x47), o2(0x9C,0x48), + o2(0x9C,0x49), o2(0x9C,0x4C), o2(0x9C,0x4A), o2(0x9C,0x4B), + o2(0x9C,0x4D), o2(0x89,0x84), o2(0x92,0xEC), o2(0x9C,0x4E), + o2(0x8C,0x9A), o2(0x89,0xF4), o2(0x94,0x55), o2(0x9C,0x4F), + o2(0x93,0xF9), UNDEF, +}; +static const BYTE_LOOKUP +to_SHIFT_JIS_E5_BB = { + to_SHIFT_JIS_E5_BB_offsets, + to_SHIFT_JIS_E5_BB_infos +}; + +static const unsigned char +to_SHIFT_JIS_E5_BC_offsets[64] = { + /* used from to_SHIFT_JIS_E5_BC */ + /* used from to_EUC_JP_E5_BC */ + 33, 0, 33, 1, 2, 33, 33, 33, 33, 3, 4, 5, 6, 7, 33, 8, + 9, 10, 33, 11, 12, 13, 14, 15, 16, 33, 33, 17, 33, 33, 33, 18, + 33, 19, 33, 33, 33, 20, 21, 22, 33, 23, 33, 33, 33, 24, 33, 25, + 33, 26, 33, 33, 27, 28, 33, 29, 30, 33, 33, 33, 31, 33, 32, 33, +}; +static const struct byte_lookup* const +to_SHIFT_JIS_E5_BC_infos[34] = { + o2(0x95,0xD9), o2(0x9C,0x50), o2(0x98,0x4D), o2(0x9C,0x51), + o2(0x95,0xBE), o2(0x9C,0x54), o2(0x98,0x9F), o2(0x98,0xAF), + o2(0x8E,0xAE), o2(0x93,0xF3), o2(0x9C,0x55), o2(0x8B,0x7C), + o2(0x92,0xA2), o2(0x88,0xF8), o2(0x9C,0x56), o2(0x95,0xA4), + o2(0x8D,0x4F), o2(0x92,0x6F), o2(0x92,0xED), o2(0xFA,0xB7), + o2(0x96,0xED), o2(0x8C,0xB7), o2(0x8C,0xCA), o2(0x9C,0x57), + o2(0x9C,0x58), o2(0x9C,0x5E), o2(0x8E,0xE3), o2(0xFA,0xB8), + o2(0x92,0xA3), o2(0x8B,0xAD), o2(0x9C,0x59), o2(0x95,0x4A), + o2(0x92,0x65), UNDEF, +}; +static const BYTE_LOOKUP +to_SHIFT_JIS_E5_BC = { + to_SHIFT_JIS_E5_BC_offsets, + to_SHIFT_JIS_E5_BC_infos +}; + +static const unsigned char +to_SHIFT_JIS_E5_BD_offsets[64] = { + /* used from to_SHIFT_JIS_E5_BD */ + /* used from to_EUC_JP_E5_BD */ + 29, 0, 29, 29, 29, 1, 29, 29, 2, 29, 3, 29, 4, 29, 5, 29, + 29, 6, 29, 7, 29, 29, 8, 9, 29, 10, 29, 29, 11, 12, 29, 29, + 29, 13, 14, 29, 29, 29, 15, 16, 29, 17, 18, 19, 20, 21, 29, 29, + 22, 23, 29, 24, 29, 29, 29, 25, 29, 26, 29, 29, 27, 29, 29, 28, +}; +static const struct byte_lookup* const +to_SHIFT_JIS_E5_BD_infos[30] = { + o2(0x9C,0x5A), o2(0xFA,0x67), o2(0x9C,0x5B), o2(0x8B,0xAE), + o2(0x9C,0x5C), o2(0x9C,0x5D), o2(0x9C,0x5F), o2(0x93,0x96), + o2(0x9C,0x60), o2(0x9C,0x61), o2(0x9C,0x62), o2(0x9C,0x53), + o2(0x9C,0x52), o2(0x9C,0x63), o2(0x8C,0x60), o2(0x95,0x46), + o2(0xFA,0xB9), o2(0x8D,0xCA), o2(0x95,0x56), o2(0x92,0xA4), + o2(0x95,0x6A), o2(0x9C,0x64), o2(0x8F,0xB2), o2(0x89,0x65), + o2(0x9C,0x65), o2(0x9C,0x66), o2(0x96,0xF0), o2(0x94,0xDE), + o2(0x9C,0x69), UNDEF, +}; +static const BYTE_LOOKUP +to_SHIFT_JIS_E5_BD = { + to_SHIFT_JIS_E5_BD_offsets, + to_SHIFT_JIS_E5_BD_infos +}; + +static const unsigned char +to_SHIFT_JIS_E5_BE_offsets[64] = { + /* used from to_SHIFT_JIS_E5_BE */ + /* used from to_EUC_JP_E5_BE */ + 0, 1, 2, 3, 4, 5, 32, 6, 7, 32, 8, 9, 10, 32, 32, 32, + 11, 12, 13, 14, 32, 32, 32, 15, 16, 17, 32, 32, 32, 32, 18, 32, + 19, 20, 32, 32, 32, 32, 32, 32, 21, 22, 23, 32, 32, 24, 25, 32, + 32, 32, 32, 26, 27, 32, 32, 28, 32, 29, 32, 32, 30, 31, 32, 32, +}; +static const struct byte_lookup* const +to_SHIFT_JIS_E5_BE_infos[33] = { + o2(0x89,0x9D), o2(0x90,0xAA), o2(0x9C,0x68), o2(0x9C,0x67), + o2(0x8C,0x61), o2(0x91,0xD2), o2(0x9C,0x6D), o2(0x9C,0x6B), + o2(0x9C,0x6A), o2(0x97,0xA5), o2(0x8C,0xE3), o2(0x8F,0x99), + o2(0x9C,0x6C), o2(0x93,0x6B), o2(0x8F,0x5D), o2(0x93,0xBE), + o2(0x9C,0x70), o2(0x9C,0x6F), o2(0x9C,0x6E), o2(0x9C,0x71), + o2(0x8C,0xE4), o2(0x9C,0x72), o2(0x95,0x9C), o2(0x8F,0x7A), + o2(0x9C,0x73), o2(0x94,0xF7), o2(0x93,0xBF), o2(0x92,0xA5), + o2(0xFA,0xBA), o2(0x93,0x4F), o2(0x9C,0x74), o2(0x8B,0x4A), + UNDEF, +}; +static const BYTE_LOOKUP +to_SHIFT_JIS_E5_BE = { + to_SHIFT_JIS_E5_BE_offsets, + to_SHIFT_JIS_E5_BE_infos +}; + +static const unsigned char +to_SHIFT_JIS_E5_BF_offsets[64] = { + /* used from to_SHIFT_JIS_E5_BF */ + /* used from to_EUC_JP_E5_BF */ + 21, 21, 21, 0, 21, 1, 21, 21, 21, 21, 21, 21, 2, 3, 21, 21, + 21, 21, 21, 21, 21, 21, 4, 5, 6, 7, 21, 21, 8, 9, 10, 21, + 11, 21, 21, 21, 12, 21, 21, 21, 21, 21, 21, 13, 21, 21, 21, 21, + 14, 15, 21, 21, 21, 16, 21, 21, 17, 21, 21, 18, 21, 19, 21, 20, +}; +static const struct byte_lookup* const +to_SHIFT_JIS_E5_BF_infos[22] = { + o2(0x90,0x53), o2(0x95,0x4B), o2(0x8A,0xF5), o2(0x94,0x45), + o2(0x9C,0x75), o2(0x8E,0x75), o2(0x96,0x59), o2(0x96,0x5A), + o2(0x89,0x9E), o2(0x9C,0x7A), o2(0xFA,0xBB), o2(0x92,0x89), + o2(0x9C,0x77), o2(0x89,0xF5), o2(0x9C,0xAB), o2(0x9C,0x79), + o2(0x94,0x4F), o2(0x9C,0x78), o2(0x9C,0x76), o2(0x8D,0x9A), + o2(0x9C,0x7C), UNDEF, +}; +static const BYTE_LOOKUP +to_SHIFT_JIS_E5_BF = { + to_SHIFT_JIS_E5_BF_offsets, + to_SHIFT_JIS_E5_BF_infos +}; + +static const unsigned char +to_SHIFT_JIS_E5_offsets[64] = { + /* used from to_SHIFT_JIS_E5 */ + /* used from to_SHIFT_JIS_E6 */ + /* used from to_EUC_JP_E5 */ + /* used from to_EUC_JP_E6 */ + 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_SHIFT_JIS_E5_infos[64] = { + &to_SHIFT_JIS_E5_80, &to_SHIFT_JIS_E5_81, + &to_SHIFT_JIS_E5_82, &to_SHIFT_JIS_E5_83, + &to_SHIFT_JIS_E5_84, &to_SHIFT_JIS_E5_85, + &to_SHIFT_JIS_E5_86, &to_SHIFT_JIS_E5_87, + &to_SHIFT_JIS_E5_88, &to_SHIFT_JIS_E5_89, + &to_SHIFT_JIS_E5_8A, &to_SHIFT_JIS_E5_8B, + &to_SHIFT_JIS_E5_8C, &to_SHIFT_JIS_E5_8D, + &to_SHIFT_JIS_E5_8E, &to_SHIFT_JIS_E5_8F, + &to_SHIFT_JIS_E5_90, &to_SHIFT_JIS_E5_91, + &to_SHIFT_JIS_E5_92, &to_SHIFT_JIS_E5_93, + &to_SHIFT_JIS_E5_94, &to_SHIFT_JIS_E5_95, + &to_SHIFT_JIS_E5_96, &to_SHIFT_JIS_E5_97, + &to_SHIFT_JIS_E5_98, &to_SHIFT_JIS_E5_99, + &to_SHIFT_JIS_E5_9A, &to_SHIFT_JIS_E5_9B, + &to_SHIFT_JIS_E5_9C, &to_SHIFT_JIS_E5_9D, + &to_SHIFT_JIS_E5_9E, &to_SHIFT_JIS_E5_9F, + &to_SHIFT_JIS_E5_A0, &to_SHIFT_JIS_E5_A1, + &to_SHIFT_JIS_E5_A2, &to_SHIFT_JIS_E5_A3, + &to_SHIFT_JIS_E5_A4, &to_SHIFT_JIS_E5_A5, + &to_SHIFT_JIS_E5_A6, &to_SHIFT_JIS_E5_A7, + &to_SHIFT_JIS_E5_A8, &to_SHIFT_JIS_E5_A9, + &to_SHIFT_JIS_E5_AA, &to_SHIFT_JIS_E5_AB, + &to_SHIFT_JIS_E5_AC, &to_SHIFT_JIS_E5_AD, + &to_SHIFT_JIS_E5_AE, &to_SHIFT_JIS_E5_AF, + &to_SHIFT_JIS_E5_B0, &to_SHIFT_JIS_E5_B1, + &to_SHIFT_JIS_E5_B2, &to_SHIFT_JIS_E5_B3, + &to_SHIFT_JIS_E5_B4, &to_SHIFT_JIS_E5_B5, + &to_SHIFT_JIS_E5_B6, &to_SHIFT_JIS_E5_B7, + &to_SHIFT_JIS_E5_B8, &to_SHIFT_JIS_E5_B9, + &to_SHIFT_JIS_E5_BA, &to_SHIFT_JIS_E5_BB, + &to_SHIFT_JIS_E5_BC, &to_SHIFT_JIS_E5_BD, + &to_SHIFT_JIS_E5_BE, &to_SHIFT_JIS_E5_BF, +}; +static const BYTE_LOOKUP +to_SHIFT_JIS_E5 = { + to_SHIFT_JIS_E5_offsets, + to_SHIFT_JIS_E5_infos +}; + +static const unsigned char +to_SHIFT_JIS_E6_80_offsets[64] = { + /* used from to_SHIFT_JIS_E6_80 */ + /* used from to_EUC_JP_E6_80 */ + 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 0, 1, + 2, 22, 3, 22, 22, 4, 5, 22, 22, 6, 22, 7, 8, 9, 22, 22, + 10, 11, 22, 22, 22, 12, 13, 14, 15, 16, 17, 18, 22, 22, 22, 19, + 22, 20, 22, 22, 22, 22, 22, 22, 22, 22, 21, 22, 22, 22, 22, 22, +}; +static const struct byte_lookup* const +to_SHIFT_JIS_E6_80_infos[23] = { + o2(0x9C,0x83), o2(0x9C,0x89), o2(0x9C,0x81), o2(0x93,0x7B), + o2(0x9C,0x86), o2(0x95,0x7C), o2(0x9C,0x80), o2(0x9C,0x85), + o2(0x97,0xE5), o2(0x8E,0x76), o2(0x91,0xD3), o2(0x9C,0x7D), + o2(0x8B,0x7D), o2(0x9C,0x88), o2(0x90,0xAB), o2(0x89,0x85), + o2(0x9C,0x82), o2(0x89,0xF6), o2(0x9C,0x87), o2(0x8B,0xAF), + o2(0x9C,0x84), o2(0x9C,0x8A), UNDEF, +}; +static const BYTE_LOOKUP +to_SHIFT_JIS_E6_80 = { + to_SHIFT_JIS_E6_80_offsets, + to_SHIFT_JIS_E6_80_infos +}; + +static const unsigned char +to_SHIFT_JIS_E6_81_offsets[64] = { + /* used from to_SHIFT_JIS_E6_81 */ + /* used from to_EUC_JP_E6_81 */ + 29, 0, 1, 2, 29, 29, 3, 29, 29, 29, 4, 5, 29, 6, 29, 29, + 7, 29, 8, 29, 29, 9, 29, 29, 29, 10, 11, 29, 29, 12, 29, 13, + 14, 29, 15, 16, 17, 18, 29, 29, 19, 20, 21, 22, 23, 24, 29, 25, + 26, 29, 29, 29, 29, 27, 29, 28, 29, 29, 29, 29, 29, 29, 29, 29, +}; +static const struct byte_lookup* const +to_SHIFT_JIS_E6_81_infos[30] = { + o2(0x9C,0x8C), o2(0x9C,0x96), o2(0x9C,0x94), o2(0x9C,0x91), + o2(0x9C,0x90), o2(0x97,0xF6), o2(0x9C,0x92), o2(0x8B,0xB0), + o2(0x8D,0x50), o2(0x8F,0x9A), o2(0x9C,0x99), o2(0x9C,0x8B), + o2(0xFA,0xBC), o2(0x9C,0x8F), o2(0x9C,0x7E), o2(0x89,0xF8), + o2(0x9C,0x93), o2(0x9C,0x95), o2(0x92,0x70), o2(0x8D,0xA6), + o2(0x89,0xB6), o2(0x9C,0x8D), o2(0x9C,0x98), o2(0x9C,0x97), + o2(0x8B,0xB1), o2(0x91,0xA7), o2(0x8A,0x86), o2(0x8C,0x62), + o2(0x9C,0x8E), UNDEF, +}; +static const BYTE_LOOKUP +to_SHIFT_JIS_E6_81 = { + to_SHIFT_JIS_E6_81_offsets, + to_SHIFT_JIS_E6_81_infos +}; + +static const unsigned char +to_SHIFT_JIS_E6_82_offsets[64] = { + /* used from to_SHIFT_JIS_E6_82 */ + /* used from to_EUC_JP_E6_82 */ + 30, 0, 30, 1, 2, 3, 30, 30, 30, 4, 5, 6, 7, 8, 30, 30, + 30, 30, 9, 30, 10, 30, 11, 12, 30, 30, 13, 14, 30, 30, 30, 15, + 16, 30, 30, 17, 30, 30, 18, 19, 30, 20, 21, 30, 30, 30, 30, 30, + 30, 30, 22, 23, 24, 25, 26, 30, 27, 30, 30, 30, 28, 29, 30, 30, +}; +static const struct byte_lookup* const +to_SHIFT_JIS_E6_82_infos[31] = { + o2(0x9C,0x9A), o2(0x9C,0x9D), o2(0x9C,0x9F), o2(0xFA,0xBD), + o2(0x8E,0xBB), o2(0xFA,0xBE), o2(0x9C,0xA5), o2(0x92,0xEE), + o2(0x9C,0x9B), o2(0x9C,0xA3), o2(0x89,0xF7), o2(0x9C,0xA1), + o2(0x9C,0xA2), o2(0x9C,0x9E), o2(0x9C,0xA0), o2(0x8C,0xE5), + o2(0x97,0x49), o2(0x8A,0xB3), o2(0x89,0x78), o2(0x9C,0xA4), + o2(0x94,0x59), o2(0x88,0xAB), o2(0x94,0xDF), o2(0x9C,0x7B), + o2(0x9C,0xAA), o2(0x9C,0xAE), o2(0x96,0xE3), o2(0x9C,0xA7), + o2(0x93,0x89), o2(0x9C,0xAC), UNDEF, +}; +static const BYTE_LOOKUP +to_SHIFT_JIS_E6_82 = { + to_SHIFT_JIS_E6_82_offsets, + to_SHIFT_JIS_E6_82_infos +}; + +static const unsigned char +to_SHIFT_JIS_E6_83_offsets[64] = { + /* used from to_SHIFT_JIS_E6_83 */ + /* used from to_EUC_JP_E6_83 */ + 26, 26, 26, 26, 26, 0, 1, 2, 26, 26, 26, 26, 26, 26, 26, 26, + 26, 3, 26, 4, 26, 5, 26, 26, 6, 26, 7, 26, 8, 26, 9, 10, + 11, 12, 26, 13, 26, 26, 26, 14, 15, 26, 26, 26, 26, 26, 26, 26, + 16, 17, 18, 19, 20, 26, 21, 22, 26, 23, 24, 25, 26, 26, 26, 26, +}; +static const struct byte_lookup* const +to_SHIFT_JIS_E6_83_infos[27] = { + o2(0x8F,0xEE), o2(0x9C,0xAD), o2(0x93,0xD5), o2(0x98,0x66), + o2(0x9C,0xA9), o2(0xFA,0xC0), o2(0x9C,0xAF), o2(0x8D,0x9B), + o2(0x90,0xC9), o2(0xFA,0xBF), o2(0x88,0xD2), o2(0x9C,0xA8), + o2(0x9C,0xA6), o2(0x91,0x79), o2(0x9C,0x9C), o2(0x8E,0x53), + o2(0x91,0xC4), o2(0x9C,0xBB), o2(0xFA,0xC2), o2(0x91,0x7A), + o2(0x9C,0xB6), o2(0x9C,0xB3), o2(0x9C,0xB4), o2(0x8E,0xE4), + o2(0x9C,0xB7), o2(0x9C,0xBA), UNDEF, +}; +static const BYTE_LOOKUP +to_SHIFT_JIS_E6_83 = { + to_SHIFT_JIS_E6_83_offsets, + to_SHIFT_JIS_E6_83_infos +}; + +static const unsigned char +to_SHIFT_JIS_E6_84_offsets[64] = { + /* used from to_SHIFT_JIS_E6_84 */ + /* used from to_EUC_JP_E6_84 */ + 0, 1, 26, 2, 26, 26, 3, 26, 4, 5, 26, 26, 26, 6, 7, 8, + 26, 9, 26, 26, 26, 10, 26, 26, 26, 26, 11, 12, 26, 26, 26, 13, + 14, 15, 26, 26, 26, 26, 26, 16, 17, 26, 26, 26, 18, 26, 26, 26, + 19, 26, 26, 26, 20, 26, 26, 21, 26, 26, 26, 26, 22, 23, 24, 25, +}; +static const struct byte_lookup* const +to_SHIFT_JIS_E6_84_infos[27] = { + o2(0x9C,0xB5), o2(0x8F,0x44), o2(0x9C,0xB8), o2(0x9C,0xB2), + o2(0x96,0xFA), o2(0x96,0xF9), o2(0x9C,0xBC), o2(0x9C,0xBD), + o2(0x88,0xD3), o2(0xFA,0xC3), o2(0x9C,0xB1), o2(0x8B,0xF0), + o2(0x88,0xA4), o2(0x8A,0xB4), o2(0xFA,0xC1), o2(0x9C,0xB9), + o2(0x9C,0xC1), o2(0x9C,0xC0), o2(0x9C,0xC5), o2(0xFA,0xC5), + o2(0x9C,0xC6), o2(0xFA,0xC4), o2(0x9C,0xC4), o2(0x9C,0xC7), + o2(0x9C,0xBF), o2(0x9C,0xC3), UNDEF, +}; +static const BYTE_LOOKUP +to_SHIFT_JIS_E6_84 = { + to_SHIFT_JIS_E6_84_offsets, + to_SHIFT_JIS_E6_84_infos +}; + +static const unsigned char +to_SHIFT_JIS_E6_85_offsets[64] = { + /* used from to_SHIFT_JIS_E6_85 */ + /* used from to_EUC_JP_E6_85 */ + 32, 32, 0, 32, 1, 32, 32, 2, 3, 32, 4, 5, 6, 7, 8, 32, + 32, 32, 32, 9, 32, 10, 32, 32, 11, 12, 13, 32, 32, 14, 32, 15, + 32, 32, 16, 17, 32, 18, 32, 19, 20, 32, 32, 21, 32, 32, 22, 23, + 24, 25, 32, 26, 27, 28, 29, 30, 32, 32, 32, 32, 32, 32, 31, 32, +}; +static const struct byte_lookup* const +to_SHIFT_JIS_E6_85_infos[33] = { + o2(0x9C,0xC8), o2(0x9C,0xC9), o2(0x9C,0xBE), o2(0x8E,0x9C), + o2(0x9C,0xC2), o2(0x91,0xD4), o2(0x8D,0x51), o2(0x9C,0xB0), + o2(0x90,0x54), o2(0x9C,0xD6), o2(0x95,0xE7), o2(0x9C,0xCC), + o2(0x9C,0xCD), o2(0x9C,0xCE), o2(0x9C,0xD5), o2(0x9C,0xD4), + o2(0x96,0x9D), o2(0x8A,0xB5), o2(0x9C,0xD2), o2(0x8C,0x64), + o2(0x8A,0x53), o2(0x9C,0xCF), o2(0x97,0xB6), o2(0x9C,0xD1), + o2(0x88,0xD4), o2(0x9C,0xD3), o2(0x9C,0xCA), o2(0x9C,0xD0), + o2(0x9C,0xD7), o2(0x8C,0x63), o2(0x9C,0xCB), o2(0x97,0x7C), + UNDEF, +}; +static const BYTE_LOOKUP +to_SHIFT_JIS_E6_85 = { + to_SHIFT_JIS_E6_85_offsets, + to_SHIFT_JIS_E6_85_infos +}; + +static const unsigned char +to_SHIFT_JIS_E6_86_offsets[64] = { + /* used from to_SHIFT_JIS_E6_86 */ + /* used from to_EUC_JP_E6_86 */ + 21, 21, 0, 21, 21, 21, 21, 1, 21, 21, 2, 21, 21, 21, 3, 21, + 4, 5, 21, 21, 6, 21, 7, 21, 8, 9, 10, 21, 21, 21, 21, 21, + 21, 21, 21, 21, 11, 21, 21, 12, 21, 13, 21, 14, 15, 21, 16, 21, + 21, 21, 17, 21, 21, 21, 18, 21, 21, 21, 19, 21, 21, 21, 20, 21, +}; +static const struct byte_lookup* const +to_SHIFT_JIS_E6_86_infos[22] = { + o2(0x97,0x4A), o2(0x9C,0xDA), o2(0x9C,0xDE), o2(0x91,0x9E), + o2(0x97,0xF7), o2(0x9C,0xDF), o2(0x9C,0xDC), o2(0x9C,0xD9), + o2(0xFA,0xC6), o2(0x9C,0xD8), o2(0x9C,0xDD), o2(0x95,0xAE), + o2(0x93,0xB2), o2(0x8C,0x65), o2(0x9C,0xE0), o2(0x9C,0xDB), + o2(0x9C,0xE1), o2(0x8C,0x9B), o2(0x89,0xAF), o2(0x9C,0xE9), + o2(0x8A,0xB6), UNDEF, +}; +static const BYTE_LOOKUP +to_SHIFT_JIS_E6_86 = { + to_SHIFT_JIS_E6_86_offsets, + to_SHIFT_JIS_E6_86_infos +}; + +static const unsigned char +to_SHIFT_JIS_E6_87_offsets[64] = { + /* used from to_SHIFT_JIS_E6_87 */ + /* used from to_EUC_JP_E6_87 */ + 22, 22, 22, 0, 22, 22, 1, 2, 3, 4, 5, 6, 7, 8, 22, 22, + 9, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, + 22, 22, 22, 10, 22, 22, 11, 22, 22, 22, 22, 22, 22, 22, 22, 22, + 22, 22, 12, 22, 13, 22, 14, 15, 16, 22, 17, 22, 18, 19, 20, 21, +}; +static const struct byte_lookup* const +to_SHIFT_JIS_E6_87_infos[23] = { + o2(0x9C,0xE7), o2(0x9C,0xE8), o2(0x8D,0xA7), o2(0x9C,0xE6), + o2(0x9C,0xE4), o2(0x9C,0xE3), o2(0x9C,0xEA), o2(0x9C,0xE2), + o2(0x9C,0xEC), o2(0x89,0xF9), o2(0x9C,0xEE), o2(0x9C,0xED), + o2(0x92,0xA6), o2(0x9C,0xF1), o2(0x9C,0xEF), o2(0x9C,0xE5), + o2(0x8C,0x9C), o2(0x9C,0xF0), o2(0x9C,0xF4), o2(0x9C,0xF3), + o2(0x9C,0xF5), o2(0x9C,0xF2), UNDEF, +}; +static const BYTE_LOOKUP +to_SHIFT_JIS_E6_87 = { + to_SHIFT_JIS_E6_87_offsets, + to_SHIFT_JIS_E6_87_infos +}; + +static const unsigned char +to_SHIFT_JIS_E6_88_offsets[64] = { + /* used from to_SHIFT_JIS_E6_88 */ + /* used from to_EUC_JP_E6_88 */ + 0, 30, 30, 30, 30, 30, 30, 30, 1, 2, 3, 30, 4, 5, 6, 30, + 7, 8, 9, 10, 11, 30, 12, 30, 30, 30, 13, 14, 30, 15, 16, 17, + 30, 18, 30, 30, 30, 30, 19, 30, 30, 30, 20, 30, 30, 30, 21, 22, + 23, 30, 24, 25, 26, 30, 30, 30, 27, 30, 30, 28, 30, 30, 30, 29, +}; +static const struct byte_lookup* const +to_SHIFT_JIS_E6_88_infos[31] = { + o2(0x9C,0xF6), o2(0x9C,0xF7), o2(0x9C,0xF8), o2(0x95,0xE8), + o2(0x9C,0xFA), o2(0x9C,0xF9), o2(0x8F,0x5E), o2(0x90,0xAC), + o2(0x89,0xE4), o2(0x89,0xFA), o2(0xFA,0xC7), o2(0x9C,0xFB), + o2(0x88,0xBD), o2(0x90,0xCA), o2(0x9C,0xFC), o2(0xE6,0xC1), + o2(0x9D,0x40), o2(0x8C,0x81), o2(0x9D,0x41), o2(0x90,0xED), + o2(0x9D,0x42), o2(0x9D,0x43), o2(0x8B,0x59), o2(0x9D,0x44), + o2(0x9D,0x45), o2(0x9D,0x46), o2(0x91,0xD5), o2(0x8C,0xCB), + o2(0x96,0xDF), o2(0x96,0x5B), UNDEF, +}; +static const BYTE_LOOKUP +to_SHIFT_JIS_E6_88 = { + to_SHIFT_JIS_E6_88_offsets, + to_SHIFT_JIS_E6_88_infos +}; + +static const unsigned char +to_SHIFT_JIS_E6_89_offsets[64] = { + /* used from to_SHIFT_JIS_E6_89 */ + /* used from to_EUC_JP_E6_89 */ + 0, 1, 23, 23, 23, 23, 23, 2, 3, 4, 23, 5, 23, 6, 7, 23, + 23, 23, 23, 8, 23, 9, 23, 23, 10, 23, 23, 11, 23, 23, 12, 23, + 13, 23, 23, 14, 23, 23, 23, 23, 15, 23, 23, 23, 23, 23, 16, 23, + 23, 17, 23, 23, 23, 23, 18, 23, 23, 19, 23, 23, 20, 23, 21, 22, +}; +static const struct byte_lookup* const +to_SHIFT_JIS_E6_89_infos[24] = { + o2(0x8F,0x8A), o2(0x9D,0x47), o2(0x90,0xEE), o2(0xE7,0xBB), + o2(0x94,0xE0), o2(0x8E,0xE8), o2(0x8D,0xCB), o2(0x9D,0x48), + o2(0x91,0xC5), o2(0x95,0xA5), o2(0x91,0xEF), o2(0x9D,0x4B), + o2(0x9D,0x49), o2(0x9D,0x4C), o2(0x9D,0x4A), o2(0x9D,0x4D), + o2(0x95,0xAF), o2(0x88,0xB5), o2(0x95,0x7D), o2(0x94,0xE1), + o2(0x9D,0x4E), o2(0x9D,0x51), o2(0x8F,0xB3), UNDEF, +}; +static const BYTE_LOOKUP +to_SHIFT_JIS_E6_89 = { + to_SHIFT_JIS_E6_89_offsets, + to_SHIFT_JIS_E6_89_infos +}; + +static const unsigned char +to_SHIFT_JIS_E6_8A_offsets[64] = { + /* used from to_SHIFT_JIS_E6_8A */ + /* used from to_EUC_JP_E6_8A */ + 0, 26, 1, 2, 3, 26, 26, 26, 26, 4, 5, 26, 26, 26, 26, 26, + 26, 6, 7, 8, 9, 10, 11, 12, 13, 26, 26, 14, 15, 26, 16, 26, + 26, 26, 26, 26, 26, 26, 17, 26, 26, 26, 26, 18, 19, 26, 26, 26, + 26, 20, 26, 26, 26, 21, 26, 26, 26, 22, 26, 23, 24, 25, 26, 26, +}; +static const struct byte_lookup* const +to_SHIFT_JIS_E6_8A_infos[27] = { + o2(0x8B,0x5A), o2(0x9D,0x4F), o2(0x9D,0x56), o2(0x8F,0xB4), + o2(0x9D,0x50), o2(0x94,0x63), o2(0x97,0x7D), o2(0x9D,0x52), + o2(0x9D,0x53), o2(0x9D,0x57), o2(0x93,0x8A), o2(0x9D,0x54), + o2(0x8D,0x52), o2(0x90,0xDC), o2(0x9D,0x65), o2(0x94,0xB2), + o2(0x91,0xF0), o2(0xFA,0xC8), o2(0x94,0xE2), o2(0x9D,0xAB), + o2(0x95,0xF8), o2(0x92,0xEF), o2(0x96,0x95), o2(0x9D,0x5A), + o2(0x89,0x9F), o2(0x92,0x8A), UNDEF, +}; +static const BYTE_LOOKUP +to_SHIFT_JIS_E6_8A = { + to_SHIFT_JIS_E6_8A_offsets, + to_SHIFT_JIS_E6_8A_infos +}; + +static const unsigned char +to_SHIFT_JIS_E6_8B_offsets[64] = { + /* used from to_SHIFT_JIS_E6_8B */ + /* used from to_EUC_JP_E6_8B */ + 34, 34, 0, 34, 34, 1, 2, 3, 4, 5, 6, 34, 7, 8, 34, 9, + 10, 11, 12, 13, 14, 34, 34, 15, 16, 17, 34, 18, 19, 20, 34, 34, + 21, 22, 34, 34, 34, 34, 34, 34, 34, 34, 34, 34, 23, 24, 25, 26, + 34, 27, 34, 28, 34, 29, 30, 31, 34, 34, 34, 34, 34, 34, 32, 33, +}; +static const struct byte_lookup* const +to_SHIFT_JIS_E6_8B_infos[35] = { + o2(0x9D,0x63), o2(0x92,0x53), o2(0x9D,0x5D), o2(0x9D,0x64), + o2(0x9D,0x5F), o2(0x9D,0x66), o2(0x9D,0x62), o2(0x9D,0x61), + o2(0x94,0x8F), o2(0x9D,0x5B), o2(0x89,0xFB), o2(0x9D,0x59), + o2(0x8B,0x91), o2(0x91,0xF1), o2(0x9D,0x55), o2(0x9D,0x58), + o2(0x8D,0x53), o2(0x90,0xD9), o2(0x8F,0xB5), o2(0x9D,0x60), + o2(0x94,0x71), o2(0x8B,0x92), o2(0x8A,0x67), o2(0x8A,0x87), + o2(0x90,0x40), o2(0x9D,0x68), o2(0x9D,0x6D), o2(0x9D,0x69), + o2(0x8C,0x9D), o2(0x9D,0x6E), o2(0x8E,0x41), o2(0x8D,0x89), + o2(0x8F,0x45), o2(0x9D,0x5C), UNDEF, +}; +static const BYTE_LOOKUP +to_SHIFT_JIS_E6_8B = { + to_SHIFT_JIS_E6_8B_offsets, + to_SHIFT_JIS_E6_8B_infos +}; + +static const unsigned char +to_SHIFT_JIS_E6_8C_offsets[64] = { + /* used from to_SHIFT_JIS_E6_8C */ + /* used from to_EUC_JP_E6_8C */ + 17, 0, 1, 17, 17, 17, 17, 2, 3, 4, 17, 17, 5, 17, 17, 17, + 17, 6, 17, 17, 17, 17, 17, 17, 17, 7, 17, 17, 17, 17, 17, 8, + 17, 17, 17, 17, 17, 17, 17, 9, 10, 17, 17, 11, 17, 17, 17, 12, + 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 13, 17, 17, 14, 15, 16, +}; +static const struct byte_lookup* const +to_SHIFT_JIS_E6_8C_infos[18] = { + o2(0x8E,0x9D), o2(0x9D,0x6B), o2(0x8E,0x77), o2(0x9D,0x6C), + o2(0x88,0xC2), o2(0x9D,0x67), o2(0x92,0xA7), o2(0x8B,0x93), + o2(0x8B,0xB2), o2(0x9D,0x6A), o2(0x88,0xA5), o2(0x8D,0xC1), + o2(0x90,0x55), o2(0x92,0xF0), o2(0x94,0xD2), o2(0x9D,0x70), + o2(0x91,0x7D), UNDEF, +}; +static const BYTE_LOOKUP +to_SHIFT_JIS_E6_8C = { + to_SHIFT_JIS_E6_8C_offsets, + to_SHIFT_JIS_E6_8C_infos +}; + +static const unsigned char +to_SHIFT_JIS_E6_8D_offsets[64] = { + /* used from to_SHIFT_JIS_E6_8D */ + /* used from to_EUC_JP_E6_8D */ + 18, 18, 18, 18, 18, 18, 18, 18, 18, 0, 18, 18, 1, 2, 18, 3, + 4, 18, 18, 18, 18, 5, 18, 6, 18, 18, 18, 18, 7, 18, 18, 18, + 18, 18, 18, 18, 18, 18, 18, 8, 9, 10, 18, 11, 18, 18, 12, 18, + 18, 18, 13, 18, 18, 18, 14, 15, 18, 18, 16, 17, 18, 18, 18, 18, +}; +static const struct byte_lookup* const +to_SHIFT_JIS_E6_8D_infos[19] = { + o2(0x91,0xA8), o2(0x8E,0x4A), o2(0x9D,0x71), o2(0x9D,0x73), + o2(0x9D,0x6F), o2(0x95,0xDF), o2(0x92,0xBB), o2(0x91,0x7B), + o2(0x95,0xF9), o2(0x8E,0xCC), o2(0x9D,0x80), o2(0x9D,0x7E), + o2(0x90,0x98), o2(0x8C,0x9E), o2(0x9D,0x78), o2(0x8F,0xB7), + o2(0x93,0xE6), o2(0x94,0x50), UNDEF, +}; +static const BYTE_LOOKUP +to_SHIFT_JIS_E6_8D = { + to_SHIFT_JIS_E6_8D_offsets, + to_SHIFT_JIS_E6_8D_infos +}; + +static const unsigned char +to_SHIFT_JIS_E6_8E_offsets[64] = { + /* used from to_SHIFT_JIS_E6_8E */ + /* used from to_EUC_JP_E6_8E */ + 0, 28, 28, 1, 28, 28, 28, 28, 2, 3, 28, 28, 4, 28, 5, 6, + 28, 28, 7, 28, 28, 28, 8, 28, 9, 28, 28, 10, 28, 28, 28, 11, + 12, 13, 14, 15, 28, 16, 28, 17, 18, 19, 20, 21, 22, 28, 28, 28, + 28, 28, 23, 28, 24, 25, 28, 28, 28, 28, 28, 26, 28, 28, 27, 28, +}; +static const struct byte_lookup* const +to_SHIFT_JIS_E6_8E_infos[29] = { + o2(0x9D,0x76), o2(0x91,0x7C), o2(0x8E,0xF6), o2(0x9D,0x7B), + o2(0x8F,0xB6), o2(0x9D,0x75), o2(0x9D,0x7A), o2(0x94,0x72), + o2(0x9D,0x74), o2(0x8C,0x40), o2(0x8A,0x7C), o2(0x9D,0x7C), + o2(0x97,0xA9), o2(0x8D,0xCC), o2(0x92,0x54), o2(0x9D,0x79), + o2(0x90,0xDA), o2(0x8D,0x54), o2(0x90,0x84), o2(0x89,0x86), + o2(0x91,0x5B), o2(0x9D,0x77), o2(0x8B,0x64), o2(0x8C,0x66), + o2(0x92,0xCD), o2(0x9D,0x7D), o2(0x91,0x7E), o2(0x9D,0x81), + UNDEF, +}; +static const BYTE_LOOKUP +to_SHIFT_JIS_E6_8E = { + to_SHIFT_JIS_E6_8E_offsets, + to_SHIFT_JIS_E6_8E_infos +}; + +static const unsigned char +to_SHIFT_JIS_E6_8F_offsets[64] = { + /* used from to_SHIFT_JIS_E6_8F */ + /* used from to_EUC_JP_E6_8F */ + 0, 19, 19, 1, 2, 19, 3, 19, 19, 4, 19, 19, 19, 19, 19, 5, + 6, 19, 7, 19, 19, 19, 8, 19, 19, 19, 9, 10, 19, 19, 19, 19, + 19, 11, 19, 12, 19, 19, 19, 19, 19, 13, 19, 19, 19, 19, 14, 19, + 19, 19, 19, 19, 15, 16, 17, 19, 19, 19, 18, 19, 19, 19, 19, 19, +}; +static const struct byte_lookup* const +to_SHIFT_JIS_E6_8F_infos[20] = { + o2(0x9D,0x83), o2(0x91,0xB5), o2(0x9D,0x89), o2(0x9D,0x84), + o2(0x9D,0x86), o2(0x95,0x60), o2(0x92,0xF1), o2(0x9D,0x87), + o2(0x97,0x4B), o2(0x97,0x67), o2(0x8A,0xB7), o2(0x88,0xAC), + o2(0x9D,0x85), o2(0x9D,0x82), o2(0x8A,0xF6), o2(0x89,0x87), + o2(0xFA,0xC9), o2(0x9D,0x88), o2(0x97,0x68), UNDEF, +}; +static const BYTE_LOOKUP +to_SHIFT_JIS_E6_8F = { + to_SHIFT_JIS_E6_8F_offsets, + to_SHIFT_JIS_E6_8F_infos +}; + +static const unsigned char +to_SHIFT_JIS_E6_90_offsets[64] = { + /* used from to_SHIFT_JIS_E6_90 */ + /* used from to_EUC_JP_E6_90 */ + 15, 15, 15, 15, 15, 15, 0, 15, 15, 15, 15, 15, 15, 1, 15, 2, + 15, 15, 15, 3, 15, 15, 4, 5, 15, 15, 15, 15, 6, 15, 15, 15, + 15, 15, 15, 15, 15, 15, 7, 15, 8, 15, 15, 15, 9, 10, 15, 15, + 15, 15, 15, 15, 11, 15, 12, 15, 15, 15, 13, 15, 15, 15, 14, 15, +}; +static const struct byte_lookup* const +to_SHIFT_JIS_E6_90_infos[16] = { + o2(0x9D,0x8C), o2(0x91,0xB9), o2(0x9D,0x93), o2(0x9D,0x8D), + o2(0x9D,0x8A), o2(0x9D,0x91), o2(0x9D,0x72), o2(0x9D,0x8E), + o2(0x9D,0x92), o2(0x94,0xC0), o2(0x93,0x8B), o2(0x9D,0x8B), + o2(0x9D,0x8F), o2(0x8C,0x67), o2(0x8D,0xEF), UNDEF, +}; +static const BYTE_LOOKUP +to_SHIFT_JIS_E6_90 = { + to_SHIFT_JIS_E6_90_offsets, + to_SHIFT_JIS_E6_90_infos +}; + +static const unsigned char +to_SHIFT_JIS_E6_91_offsets[64] = { + /* used from to_SHIFT_JIS_E6_91 */ + /* used from to_EUC_JP_E6_91 */ + 10, 10, 0, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 1, 10, + 10, 10, 10, 10, 10, 10, 10, 10, 2, 10, 10, 10, 10, 10, 10, 10, + 3, 10, 10, 10, 10, 10, 10, 4, 10, 5, 10, 10, 10, 10, 10, 6, + 10, 10, 10, 10, 10, 10, 7, 10, 8, 10, 9, 10, 10, 10, 10, 10, +}; +static const struct byte_lookup* const +to_SHIFT_JIS_E6_91_infos[11] = { + o2(0x90,0xDB), o2(0x9D,0x97), o2(0x93,0x45), o2(0xFA,0xCA), + o2(0x9D,0x94), o2(0x96,0x80), o2(0x9D,0x95), o2(0x9D,0x96), + o2(0x96,0xCC), o2(0x90,0xA0), UNDEF, +}; +static const BYTE_LOOKUP +to_SHIFT_JIS_E6_91 = { + to_SHIFT_JIS_E6_91_offsets, + to_SHIFT_JIS_E6_91_infos +}; + +static const unsigned char +to_SHIFT_JIS_E6_92_offsets[64] = { + /* used from to_SHIFT_JIS_E6_92 */ + /* used from to_EUC_JP_E6_92 */ + 19, 19, 19, 0, 19, 19, 19, 19, 1, 19, 19, 19, 19, 19, 19, 19, + 19, 19, 2, 3, 19, 4, 19, 19, 19, 19, 5, 19, 19, 6, 7, 19, + 19, 19, 19, 19, 8, 9, 19, 19, 19, 10, 19, 11, 19, 12, 13, 19, + 14, 19, 15, 19, 19, 19, 19, 19, 19, 16, 19, 17, 18, 19, 19, 19, +}; +static const struct byte_lookup* const +to_SHIFT_JIS_E6_92_infos[20] = { + o2(0x8C,0x82), o2(0x9D,0x9D), o2(0x8E,0x54), o2(0x9D,0x9A), + o2(0x9D,0x99), o2(0x94,0x51), o2(0xFA,0xCB), o2(0x93,0xB3), + o2(0x93,0x50), o2(0x9D,0x9B), o2(0x9D,0x9C), o2(0x95,0x8F), + o2(0x94,0x64), o2(0x8E,0x42), o2(0x90,0xEF), o2(0x96,0x6F), + o2(0x8A,0x68), o2(0x9D,0xA3), o2(0x9D,0x9E), UNDEF, +}; +static const BYTE_LOOKUP +to_SHIFT_JIS_E6_92 = { + to_SHIFT_JIS_E6_92_offsets, + to_SHIFT_JIS_E6_92_infos +}; + +static const unsigned char +to_SHIFT_JIS_E6_93_offsets[64] = { + /* used from to_SHIFT_JIS_E6_93 */ + /* used from to_EUC_JP_E6_93 */ + 25, 0, 1, 25, 25, 2, 25, 3, 25, 25, 25, 25, 25, 4, 5, 25, + 25, 25, 6, 25, 7, 25, 25, 25, 8, 25, 9, 25, 25, 25, 25, 25, + 10, 11, 12, 13, 25, 25, 14, 15, 25, 25, 25, 25, 16, 25, 25, 17, + 25, 18, 19, 25, 20, 25, 21, 25, 25, 25, 22, 25, 25, 23, 24, 25, +}; +static const struct byte_lookup* const +to_SHIFT_JIS_E6_93_infos[26] = { + o2(0x97,0x69), o2(0x9D,0xA5), o2(0x9D,0xA1), o2(0x9D,0xA2), + o2(0x91,0x80), o2(0xFA,0xCC), o2(0x9D,0xA0), o2(0x9D,0x5E), + o2(0x9D,0xA4), o2(0x9D,0x9F), o2(0x9D,0xA9), o2(0x9D,0xAA), + o2(0x93,0x46), o2(0x9D,0xAC), o2(0x8E,0x43), o2(0x9D,0xA7), + o2(0x8B,0x5B), o2(0x9D,0xAD), o2(0x9D,0xA6), o2(0x9D,0xB1), + o2(0x9D,0xB0), o2(0x9D,0xAF), o2(0x9D,0xB2), o2(0x9D,0xB4), + o2(0x8F,0xEF), UNDEF, +}; +static const BYTE_LOOKUP +to_SHIFT_JIS_E6_93 = { + to_SHIFT_JIS_E6_93_offsets, + to_SHIFT_JIS_E6_93_infos +}; + +static const unsigned char +to_SHIFT_JIS_E6_94_offsets[64] = { + /* used from to_SHIFT_JIS_E6_94 */ + /* used from to_EUC_JP_E6_94 */ + 0, 20, 20, 20, 20, 1, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, + 20, 20, 20, 20, 20, 20, 20, 20, 2, 20, 20, 20, 3, 4, 20, 20, + 20, 20, 20, 5, 6, 20, 20, 20, 20, 20, 7, 8, 9, 20, 20, 10, + 20, 20, 20, 20, 11, 12, 13, 14, 15, 16, 20, 17, 20, 20, 18, 19, +}; +static const struct byte_lookup* const +to_SHIFT_JIS_E6_94_infos[21] = { + o2(0x9D,0xB3), o2(0x9D,0xB7), o2(0x9D,0xB5), o2(0x9D,0xB6), + o2(0x9D,0x90), o2(0x9D,0xB9), o2(0x9D,0xB8), o2(0x9D,0x98), + o2(0x9D,0xBA), o2(0x9D,0xAE), o2(0x8E,0x78), o2(0x9D,0xBB), + o2(0x9D,0xBC), o2(0x9D,0xBE), o2(0x9D,0xBD), o2(0x9D,0xBF), + o2(0x89,0xFC), o2(0x8D,0x55), o2(0x95,0xFA), o2(0x90,0xAD), + UNDEF, +}; +static const BYTE_LOOKUP +to_SHIFT_JIS_E6_94 = { + to_SHIFT_JIS_E6_94_offsets, + to_SHIFT_JIS_E6_94_infos +}; + +static const unsigned char +to_SHIFT_JIS_E6_95_offsets[64] = { + /* used from to_SHIFT_JIS_E6_95 */ + /* used from to_EUC_JP_E6_95 */ + 23, 23, 23, 23, 23, 0, 23, 23, 1, 23, 23, 23, 23, 2, 3, 4, + 23, 5, 23, 23, 23, 6, 7, 8, 9, 10, 23, 23, 23, 11, 12, 23, + 23, 23, 13, 14, 23, 23, 15, 23, 23, 23, 23, 23, 16, 23, 23, 23, + 17, 23, 18, 23, 19, 20, 23, 21, 22, 23, 23, 23, 23, 23, 23, 23, +}; +static const struct byte_lookup* const +to_SHIFT_JIS_E6_95_infos[24] = { + o2(0x8C,0xCC), o2(0x9D,0xC1), o2(0x9D,0xC4), o2(0xFA,0xCD), + o2(0x95,0x71), o2(0x8B,0x7E), o2(0x9D,0xC3), o2(0x9D,0xC2), + o2(0x94,0x73), o2(0x9D,0xC5), o2(0x8B,0xB3), o2(0x9D,0xC7), + o2(0x9D,0xC6), o2(0x8A,0xB8), o2(0x8E,0x55), o2(0x93,0xD6), + o2(0x8C,0x68), o2(0x90,0x94), o2(0x9D,0xC8), o2(0x90,0xAE), + o2(0x93,0x47), o2(0x95,0x7E), o2(0x9D,0xC9), UNDEF, +}; +static const BYTE_LOOKUP +to_SHIFT_JIS_E6_95 = { + to_SHIFT_JIS_E6_95_offsets, + to_SHIFT_JIS_E6_95_infos +}; + +static const unsigned char +to_SHIFT_JIS_E6_96_offsets[64] = { + /* used from to_SHIFT_JIS_E6_96 */ + /* used from to_EUC_JP_E6_96 */ + 27, 27, 0, 1, 27, 27, 27, 2, 3, 4, 27, 27, 5, 27, 6, 27, + 7, 8, 27, 27, 27, 27, 27, 9, 27, 10, 27, 11, 12, 27, 27, 13, + 27, 14, 27, 27, 15, 16, 27, 17, 27, 27, 27, 18, 19, 20, 27, 21, + 22, 27, 27, 27, 27, 27, 27, 23, 27, 24, 27, 27, 25, 26, 27, 27, +}; +static const struct byte_lookup* const +to_SHIFT_JIS_E6_96_infos[28] = { + o2(0x9D,0xCA), o2(0x9D,0xCB), o2(0x95,0xB6), o2(0x9B,0x7C), + o2(0x90,0xC4), o2(0x95,0x6B), o2(0x8D,0xD6), o2(0x94,0xE3), + o2(0x94,0xC1), o2(0x93,0x6C), o2(0x97,0xBF), o2(0x9D,0xCD), + o2(0x8E,0xCE), o2(0x9D,0xCE), o2(0x88,0xB4), o2(0x8B,0xD2), + o2(0x90,0xCB), o2(0x95,0x80), o2(0x9D,0xCF), o2(0x8E,0x61), + o2(0x92,0x66), o2(0x8E,0x7A), o2(0x90,0x56), o2(0x9D,0xD0), + o2(0x95,0xFB), o2(0x89,0x97), o2(0x8E,0x7B), UNDEF, +}; +static const BYTE_LOOKUP +to_SHIFT_JIS_E6_96 = { + to_SHIFT_JIS_E6_96_offsets, + to_SHIFT_JIS_E6_96_infos +}; + +static const unsigned char +to_SHIFT_JIS_E6_97_offsets[64] = { + /* used from to_SHIFT_JIS_E6_97 */ + /* used from to_EUC_JP_E6_97 */ + 25, 0, 25, 1, 2, 3, 4, 25, 25, 25, 25, 5, 6, 25, 25, 7, + 25, 25, 8, 25, 25, 25, 25, 9, 25, 10, 25, 11, 25, 25, 25, 25, + 12, 13, 14, 25, 25, 15, 16, 17, 18, 19, 25, 25, 20, 21, 25, 25, + 25, 22, 25, 25, 25, 25, 25, 25, 25, 25, 23, 24, 25, 25, 25, 25, +}; +static const struct byte_lookup* const +to_SHIFT_JIS_E6_97_infos[26] = { + o2(0x9D,0xD3), o2(0x9D,0xD1), o2(0x9D,0xD4), o2(0x97,0xB7), + o2(0x9D,0xD2), o2(0x90,0xF9), o2(0x9D,0xD5), o2(0x91,0xB0), + o2(0x9D,0xD6), o2(0x8A,0xF8), o2(0x9D,0xD8), o2(0x9D,0xD7), + o2(0x9D,0xD9), o2(0x9D,0xDA), o2(0x8A,0xF9), o2(0x93,0xFA), + o2(0x92,0x55), o2(0x8B,0x8C), o2(0x8E,0x7C), o2(0x91,0x81), + o2(0x8F,0x7B), o2(0x88,0xAE), o2(0x9D,0xDB), o2(0x89,0xA0), + o2(0x9D,0xDF), UNDEF, +}; +static const BYTE_LOOKUP +to_SHIFT_JIS_E6_97 = { + to_SHIFT_JIS_E6_97_offsets, + to_SHIFT_JIS_E6_97_infos +}; + +static const unsigned char +to_SHIFT_JIS_E6_98_offsets[64] = { + /* used from to_SHIFT_JIS_E6_98 */ + /* used from to_EUC_JP_E6_98 */ + 0, 31, 1, 2, 31, 31, 3, 4, 31, 5, 6, 31, 7, 31, 8, 9, + 31, 31, 31, 10, 11, 12, 31, 31, 31, 31, 31, 31, 13, 31, 14, 15, + 16, 31, 31, 31, 17, 18, 31, 19, 20, 31, 31, 31, 31, 21, 22, 23, + 31, 24, 31, 31, 25, 26, 27, 31, 31, 31, 31, 28, 29, 31, 31, 30, +}; +static const struct byte_lookup* const +to_SHIFT_JIS_E6_98_infos[32] = { + o2(0xFA,0xCE), o2(0x8D,0x56), o2(0x9D,0xDE), o2(0x8D,0xA9), + o2(0x8F,0xB8), o2(0xFA,0xD1), o2(0x9D,0xDD), o2(0x8F,0xB9), + o2(0x96,0xBE), o2(0x8D,0xA8), o2(0x88,0xD5), o2(0x90,0xCC), + o2(0xFA,0xCF), o2(0x9D,0xE4), o2(0xFA,0xD3), o2(0x90,0xAF), + o2(0x89,0x66), o2(0xFA,0xD4), o2(0x8F,0x74), o2(0x96,0x86), + o2(0x8D,0xF0), o2(0x8F,0xBA), o2(0xFA,0xD2), o2(0x90,0xA5), + o2(0xFA,0x63), o2(0x9D,0xE3), o2(0x9D,0xE1), o2(0x9D,0xE2), + o2(0xFA,0xD0), o2(0x92,0x8B), o2(0x9E,0x45), UNDEF, +}; +static const BYTE_LOOKUP +to_SHIFT_JIS_E6_98 = { + to_SHIFT_JIS_E6_98_offsets, + to_SHIFT_JIS_E6_98_infos +}; + +static const unsigned char +to_SHIFT_JIS_E6_99_offsets[64] = { + /* used from to_SHIFT_JIS_E6_99 */ + /* used from to_EUC_JP_E6_99 */ + 27, 0, 1, 2, 3, 27, 27, 27, 27, 4, 27, 5, 27, 27, 27, 6, + 27, 27, 7, 27, 27, 27, 27, 8, 27, 9, 27, 27, 27, 10, 11, 12, + 27, 27, 13, 27, 14, 15, 16, 17, 18, 19, 27, 27, 27, 27, 20, 21, + 22, 27, 27, 23, 24, 27, 25, 27, 27, 27, 26, 27, 27, 27, 27, 27, +}; +static const struct byte_lookup* const +to_SHIFT_JIS_E6_99_infos[28] = { + o2(0x9D,0xE8), o2(0x8E,0x9E), o2(0x8D,0x57), o2(0x9D,0xE6), + o2(0x9D,0xE7), o2(0x90,0x57), o2(0x9D,0xE5), o2(0x8E,0x4E), + o2(0xFA,0xD6), o2(0xFA,0xD7), o2(0x9D,0xEA), o2(0x9D,0xE9), + o2(0x9D,0xEE), o2(0x9D,0xEF), o2(0x9D,0xEB), o2(0xFA,0xD5), + o2(0x8A,0x41), o2(0x9D,0xEC), o2(0x9D,0xED), o2(0x94,0xD3), + o2(0x95,0x81), o2(0x8C,0x69), o2(0x9D,0xF0), o2(0xFA,0xD9), + o2(0x90,0xB0), o2(0x8F,0xBB), o2(0x92,0x71), UNDEF, +}; +static const BYTE_LOOKUP +to_SHIFT_JIS_E6_99 = { + to_SHIFT_JIS_E6_99_offsets, + to_SHIFT_JIS_E6_99_infos +}; + +static const unsigned char +to_SHIFT_JIS_E6_9A_offsets[64] = { + /* used from to_SHIFT_JIS_E6_9A */ + /* used from to_EUC_JP_E6_9A */ + 25, 0, 25, 1, 2, 25, 25, 3, 4, 5, 25, 25, 25, 25, 6, 25, + 25, 7, 25, 25, 25, 25, 8, 9, 10, 11, 25, 25, 25, 12, 25, 25, + 13, 25, 14, 25, 25, 25, 15, 25, 25, 25, 25, 16, 25, 25, 17, 25, + 25, 25, 18, 25, 19, 25, 25, 25, 20, 21, 25, 25, 22, 25, 23, 24, +}; +static const struct byte_lookup* const +to_SHIFT_JIS_E6_9A_infos[26] = { + o2(0x8B,0xC5), o2(0x9D,0xF1), o2(0x9D,0xF5), o2(0x89,0xC9), + o2(0x9D,0xF2), o2(0x9D,0xF4), o2(0x9D,0xF3), o2(0x8F,0x8B), + o2(0x92,0x67), o2(0x88,0xC3), o2(0x9D,0xF6), o2(0xFA,0xDA), + o2(0x9D,0xF7), o2(0xFA,0xDB), o2(0x92,0xA8), o2(0x97,0xEF), + o2(0x8E,0x62), o2(0x95,0xE9), o2(0xFA,0xDC), o2(0x96,0x5C), + o2(0x9E,0x41), o2(0x9D,0xF9), o2(0x9D,0xFC), o2(0x9D,0xFB), + o2(0xFA,0xDD), UNDEF, +}; +static const BYTE_LOOKUP +to_SHIFT_JIS_E6_9A = { + to_SHIFT_JIS_E6_9A_offsets, + to_SHIFT_JIS_E6_9A_infos +}; + +static const unsigned char +to_SHIFT_JIS_E6_9B_offsets[64] = { + /* used from to_SHIFT_JIS_E6_9B */ + /* used from to_EUC_JP_E6_9B */ + 26, 0, 26, 26, 1, 26, 26, 2, 26, 3, 26, 26, 26, 26, 26, 26, + 26, 26, 26, 26, 26, 26, 4, 26, 26, 5, 6, 26, 7, 8, 26, 26, + 9, 26, 26, 26, 26, 26, 10, 26, 26, 11, 26, 26, 26, 26, 26, 26, + 12, 26, 13, 14, 15, 16, 26, 17, 18, 19, 20, 21, 22, 23, 24, 25, +}; +static const struct byte_lookup* const +to_SHIFT_JIS_E6_9B_infos[27] = { + o2(0x9D,0xF8), o2(0x9E,0x40), o2(0x93,0xDC), o2(0x9D,0xFA), + o2(0x9E,0x42), o2(0x8F,0x8C), o2(0x9E,0x43), o2(0x97,0x6A), + o2(0x94,0x98), o2(0x9E,0x44), o2(0x9E,0x46), o2(0x9E,0x47), + o2(0x9E,0x48), o2(0x8B,0xC8), o2(0x89,0x67), o2(0x8D,0x58), + o2(0x9E,0x49), o2(0x9E,0x4A), o2(0x8F,0x91), o2(0x91,0x82), + o2(0xFA,0xDE), o2(0xFA,0x66), o2(0x99,0xD6), o2(0x91,0x5D), + o2(0x91,0x5C), o2(0x91,0xD6), UNDEF, +}; +static const BYTE_LOOKUP +to_SHIFT_JIS_E6_9B = { + to_SHIFT_JIS_E6_9B_offsets, + to_SHIFT_JIS_E6_9B_infos +}; + +static const unsigned char +to_SHIFT_JIS_E6_9C_offsets[64] = { + /* used from to_SHIFT_JIS_E6_9C */ + /* used from to_EUC_JP_E6_9C */ + 0, 32, 32, 1, 32, 32, 32, 32, 2, 3, 32, 4, 32, 5, 6, 7, + 32, 32, 32, 32, 8, 9, 10, 11, 32, 32, 32, 12, 32, 13, 14, 15, + 32, 32, 32, 32, 32, 32, 16, 17, 18, 32, 19, 20, 21, 22, 23, 32, + 32, 24, 32, 32, 25, 32, 26, 27, 28, 32, 29, 32, 32, 30, 32, 31, +}; +static const struct byte_lookup* const +to_SHIFT_JIS_E6_9C_infos[33] = { + o2(0x8D,0xC5), o2(0x98,0xF0), o2(0x8C,0x8E), o2(0x97,0x4C), + o2(0x95,0xFC), o2(0x95,0x9E), o2(0xFA,0xDF), o2(0x9E,0x4B), + o2(0x8D,0xF1), o2(0x92,0xBD), o2(0x9E,0x4C), o2(0x98,0x4E), + o2(0x96,0x5D), o2(0x92,0xA9), o2(0x9E,0x4D), o2(0x8A,0xFA), + o2(0x9E,0x4E), o2(0x9E,0x4F), o2(0x96,0xD8), o2(0x96,0xA2), + o2(0x96,0x96), o2(0x96,0x7B), o2(0x8E,0x44), o2(0x9E,0x51), + o2(0x8E,0xE9), o2(0x96,0x70), o2(0x9E,0x53), o2(0x9E,0x56), + o2(0x9E,0x55), o2(0x8A,0xF7), o2(0x8B,0x80), o2(0x9E,0x52), + UNDEF, +}; +static const BYTE_LOOKUP +to_SHIFT_JIS_E6_9C = { + to_SHIFT_JIS_E6_9C_offsets, + to_SHIFT_JIS_E6_9C_infos +}; + +static const unsigned char +to_SHIFT_JIS_E6_9D_offsets[64] = { + /* used from to_SHIFT_JIS_E6_9D */ + /* used from to_EUC_JP_E6_9D */ + 32, 0, 32, 32, 32, 32, 1, 32, 32, 2, 32, 32, 32, 32, 3, 4, + 5, 6, 32, 7, 32, 32, 8, 32, 32, 9, 32, 32, 10, 32, 11, 12, + 13, 14, 15, 16, 17, 18, 19, 32, 32, 32, 20, 32, 32, 21, 32, 22, + 23, 24, 25, 26, 32, 27, 32, 28, 32, 32, 32, 32, 29, 32, 30, 31, +}; +static const struct byte_lookup* const +to_SHIFT_JIS_E6_9D_infos[33] = { + o2(0x9E,0x54), o2(0x9E,0x57), o2(0x90,0x99), o2(0x97,0x9B), + o2(0x88,0xC7), o2(0x8D,0xDE), o2(0x91,0xBA), o2(0x8E,0xDB), + o2(0x8F,0xF1), o2(0x9E,0x5A), o2(0x93,0x6D), o2(0x9E,0x58), + o2(0x91,0xA9), o2(0x9E,0x59), o2(0x8F,0xF0), o2(0x96,0xDB), + o2(0x9E,0x5B), o2(0x9E,0x5C), o2(0x97,0x88), o2(0xFA,0xE1), + o2(0x9E,0x61), o2(0x8D,0x59), o2(0x94,0x74), o2(0x9E,0x5E), + o2(0x93,0x8C), o2(0x9D,0xDC), o2(0x9D,0xE0), o2(0x8B,0x6E), + o2(0x94,0x66), o2(0x9E,0x60), o2(0x8F,0xBC), o2(0x94,0xC2), + UNDEF, +}; +static const BYTE_LOOKUP +to_SHIFT_JIS_E6_9D = { + to_SHIFT_JIS_E6_9D_offsets, + to_SHIFT_JIS_E6_9D_infos +}; + +static const unsigned char +to_SHIFT_JIS_E6_9E_offsets[64] = { + /* used from to_SHIFT_JIS_E6_9E */ + /* used from to_EUC_JP_E6_9E */ + 24, 24, 24, 24, 24, 0, 24, 1, 24, 2, 24, 3, 4, 24, 24, 24, + 5, 24, 24, 24, 24, 6, 24, 7, 24, 24, 8, 24, 9, 10, 24, 24, + 11, 12, 13, 24, 24, 24, 14, 24, 24, 15, 24, 24, 24, 24, 24, 16, + 24, 24, 24, 17, 18, 24, 19, 20, 21, 22, 24, 23, 24, 24, 24, 24, +}; +static const struct byte_lookup* const +to_SHIFT_JIS_E6_9E_infos[25] = { + o2(0x9E,0x66), o2(0x94,0xF8), o2(0x9E,0x5D), o2(0x9E,0x63), + o2(0x9E,0x62), o2(0x90,0xCD), o2(0x96,0x8D), o2(0x97,0xD1), + o2(0x96,0x87), o2(0x89,0xCA), o2(0x8E,0x7D), o2(0x98,0x67), + o2(0x9E,0x65), o2(0x90,0x95), o2(0x9E,0x64), o2(0x9E,0x5F), + o2(0x8C,0xCD), o2(0x9E,0x6B), o2(0x9E,0x69), o2(0x89,0xCB), + o2(0x9E,0x67), o2(0x9E,0x6D), o2(0x9E,0x73), o2(0xFA,0xE2), + UNDEF, +}; +static const BYTE_LOOKUP +to_SHIFT_JIS_E6_9E = { + to_SHIFT_JIS_E6_9E_offsets, + to_SHIFT_JIS_E6_9E_infos +}; + +static const unsigned char +to_SHIFT_JIS_E6_9F_offsets[64] = { + /* used from to_SHIFT_JIS_E6_9F */ + /* used from to_EUC_JP_E6_9F */ + 0, 1, 29, 29, 2, 29, 3, 29, 29, 29, 4, 29, 29, 29, 5, 6, + 7, 8, 29, 9, 10, 29, 29, 29, 11, 29, 12, 29, 29, 13, 14, 29, + 29, 29, 15, 29, 16, 29, 29, 17, 29, 18, 29, 29, 19, 29, 20, 21, + 29, 22, 29, 23, 24, 25, 29, 29, 29, 29, 29, 26, 29, 29, 27, 28, +}; +static const struct byte_lookup* const +to_SHIFT_JIS_E6_9F_infos[30] = { + o2(0xFA,0xE4), o2(0x91,0xC6), o2(0x95,0xBF), o2(0x9E,0x75), + o2(0x95,0x41), o2(0x9E,0x74), o2(0x94,0x90), o2(0x96,0x5E), + o2(0x8A,0xB9), o2(0x90,0xF5), o2(0x8F,0x5F), o2(0x92,0xD1), + o2(0x97,0x4D), o2(0x9E,0x70), o2(0x9E,0x6F), o2(0x9E,0x71), + o2(0x9E,0x6E), o2(0x9E,0x76), o2(0x9E,0x6C), o2(0x9E,0x6A), + o2(0x9E,0x72), o2(0x9E,0x68), o2(0x92,0x8C), o2(0x96,0xF6), + o2(0x8E,0xC4), o2(0x8D,0xF2), o2(0x8D,0xB8), o2(0x96,0x8F), + o2(0x8A,0x60), UNDEF, +}; +static const BYTE_LOOKUP +to_SHIFT_JIS_E6_9F = { + to_SHIFT_JIS_E6_9F_offsets, + to_SHIFT_JIS_E6_9F_infos +}; + +static const unsigned char +to_SHIFT_JIS_E6_A0_offsets[64] = { + /* used from to_SHIFT_JIS_E6_A0 */ + /* used from to_EUC_JP_E6_A0 */ + 19, 0, 1, 2, 3, 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, + 19, 19, 19, 4, 19, 19, 5, 6, 19, 19, 19, 19, 19, 19, 7, 19, + 19, 8, 9, 19, 19, 19, 19, 19, 19, 10, 11, 12, 19, 19, 19, 19, + 19, 19, 13, 19, 14, 19, 19, 19, 15, 16, 19, 19, 17, 18, 19, 19, +}; +static const struct byte_lookup* const +to_SHIFT_JIS_E6_A0_infos[20] = { + o2(0xFA,0xE5), o2(0x92,0xCC), o2(0x93,0xC8), o2(0x89,0x68), + o2(0x90,0xF0), o2(0x90,0xB2), o2(0x8C,0x49), o2(0x9E,0x78), + o2(0x8D,0x5A), o2(0x8A,0x9C), o2(0x9E,0x7A), o2(0x8A,0x94), + o2(0x9E,0x81), o2(0x9E,0x7D), o2(0x90,0xF1), o2(0x8A,0x6A), + o2(0x8D,0xAA), o2(0x8A,0x69), o2(0x8D,0xCD), UNDEF, +}; +static const BYTE_LOOKUP +to_SHIFT_JIS_E6_A0 = { + to_SHIFT_JIS_E6_A0_offsets, + to_SHIFT_JIS_E6_A0_infos +}; + +static const unsigned char +to_SHIFT_JIS_E6_A1_offsets[64] = { + /* used from to_SHIFT_JIS_E6_A1 */ + /* used from to_EUC_JP_E6_A1 */ + 0, 1, 2, 3, 4, 25, 5, 25, 6, 25, 25, 25, 25, 7, 8, 25, + 9, 10, 11, 12, 13, 25, 25, 25, 25, 14, 25, 25, 15, 16, 25, 17, + 25, 25, 25, 18, 25, 25, 25, 19, 25, 25, 25, 25, 25, 25, 25, 25, + 25, 25, 25, 25, 20, 25, 21, 22, 25, 25, 25, 25, 25, 25, 23, 24, +}; +static const struct byte_lookup* const +to_SHIFT_JIS_E6_A1_infos[26] = { + o2(0x9E,0x7B), o2(0x8C,0x85), o2(0x8C,0x6A), o2(0x93,0x8D), + o2(0xFA,0xE6), o2(0x9E,0x79), o2(0x88,0xC4), o2(0x9E,0x7C), + o2(0x9E,0x7E), o2(0x8B,0xCB), o2(0x8C,0x4B), o2(0xFA,0xE3), + o2(0x8A,0xBA), o2(0x8B,0x6A), o2(0x9E,0x82), o2(0x8D,0xF7), + o2(0x96,0x91), o2(0x8E,0x56), o2(0x9E,0x83), o2(0x95,0x4F), + o2(0x9E,0x8F), o2(0x89,0xB1), o2(0x9E,0x84), o2(0x9E,0x95), + o2(0x9E,0x85), UNDEF, +}; +static const BYTE_LOOKUP +to_SHIFT_JIS_E6_A1 = { + to_SHIFT_JIS_E6_A1_offsets, + to_SHIFT_JIS_E6_A1_infos +}; + +static const unsigned char +to_SHIFT_JIS_E6_A2_offsets[64] = { + /* used from to_SHIFT_JIS_E6_A2 */ + /* used from to_EUC_JP_E6_A2 */ + 26, 0, 26, 1, 26, 2, 26, 26, 26, 26, 26, 26, 26, 3, 26, 4, + 26, 26, 26, 5, 6, 26, 26, 7, 26, 26, 26, 8, 26, 9, 26, 10, + 11, 26, 12, 26, 26, 26, 13, 14, 15, 26, 26, 26, 26, 16, 26, 17, + 18, 19, 26, 20, 26, 21, 22, 26, 26, 23, 24, 26, 25, 26, 26, 26, +}; +static const struct byte_lookup* const +to_SHIFT_JIS_E6_A2_infos[27] = { + o2(0x97,0xC0), o2(0x9E,0x8C), o2(0x94,0x7E), o2(0x9E,0x94), + o2(0x9E,0x87), o2(0x88,0xB2), o2(0x9E,0x89), o2(0x8D,0x5B), + o2(0x9E,0x8B), o2(0x9E,0x8A), o2(0x9E,0x86), o2(0x9E,0x91), + o2(0x8F,0xBD), o2(0x9A,0xEB), o2(0x8C,0xE6), o2(0x97,0x9C), + o2(0x9E,0x88), o2(0x92,0xF2), o2(0x8A,0x42), o2(0x8D,0xAB), + o2(0x9E,0x80), o2(0x9E,0x90), o2(0x8A,0x81), o2(0x9E,0x8E), + o2(0x9E,0x92), o2(0x93,0x8E), UNDEF, +}; +static const BYTE_LOOKUP +to_SHIFT_JIS_E6_A2 = { + to_SHIFT_JIS_E6_A2_offsets, + to_SHIFT_JIS_E6_A2_infos +}; + +static const unsigned char +to_SHIFT_JIS_E6_A3_offsets[64] = { + /* used from to_SHIFT_JIS_E6_A3 */ + /* used from to_EUC_JP_E6_A3 */ + 24, 24, 24, 24, 0, 24, 1, 24, 2, 3, 4, 5, 24, 6, 24, 7, + 24, 24, 8, 24, 9, 10, 24, 11, 12, 24, 13, 24, 24, 24, 24, 14, + 15, 16, 24, 17, 24, 24, 24, 18, 24, 24, 24, 24, 24, 24, 19, 20, + 24, 24, 21, 24, 24, 24, 24, 24, 24, 22, 23, 24, 24, 24, 24, 24, +}; +static const struct byte_lookup* const +to_SHIFT_JIS_E6_A3_infos[25] = { + o2(0x8A,0xFC), o2(0x9E,0xB0), o2(0xFA,0x64), o2(0x96,0xC7), + o2(0x9E,0x97), o2(0x8A,0xFB), o2(0x9E,0x9E), o2(0xFA,0xE7), + o2(0x96,0x5F), o2(0x9E,0x9F), o2(0x9E,0xA1), o2(0x9E,0xA5), + o2(0x9E,0x99), o2(0x92,0x49), o2(0x93,0x8F), o2(0x9E,0xA9), + o2(0x9E,0x9C), o2(0x9E,0xA6), o2(0x9E,0xA0), o2(0x90,0x58), + o2(0x9E,0xAA), o2(0x90,0xB1), o2(0x9E,0xA8), o2(0x8A,0xBB), + UNDEF, +}; +static const BYTE_LOOKUP +to_SHIFT_JIS_E6_A3 = { + to_SHIFT_JIS_E6_A3_offsets, + to_SHIFT_JIS_E6_A3_infos +}; + +static const unsigned char +to_SHIFT_JIS_E6_A4_offsets[64] = { + /* used from to_SHIFT_JIS_E6_A4 */ + /* used from to_EUC_JP_E6_A4 */ + 0, 1, 28, 28, 2, 3, 28, 28, 4, 28, 28, 5, 6, 7, 8, 9, + 28, 28, 10, 28, 28, 28, 28, 28, 28, 11, 12, 13, 14, 28, 28, 28, + 28, 15, 16, 17, 28, 18, 19, 28, 20, 28, 21, 28, 28, 28, 28, 28, + 22, 28, 28, 28, 23, 28, 24, 28, 28, 25, 28, 28, 28, 26, 28, 27, +}; +static const struct byte_lookup* const +to_SHIFT_JIS_E6_A4_infos[29] = { + o2(0x98,0x6F), o2(0x9E,0x96), o2(0x9E,0xA4), o2(0x88,0xD6), + o2(0x9E,0x98), o2(0x96,0xB8), o2(0x9E,0x9D), o2(0x90,0x41), + o2(0x92,0xC5), o2(0x9E,0x93), o2(0x9E,0xA3), o2(0x90,0x9A), + o2(0x9E,0xAD), o2(0x8A,0x91), o2(0x8C,0x9F), o2(0x9E,0xAF), + o2(0x9E,0x9A), o2(0x9E,0xAE), o2(0x9E,0xA7), o2(0x9E,0x9B), + o2(0x9E,0xAB), o2(0x9E,0xAC), o2(0x9E,0xBD), o2(0x93,0xCC), + o2(0x9E,0xA2), o2(0x9E,0xB9), o2(0x9E,0xBB), o2(0x92,0xD6), + UNDEF, +}; +static const BYTE_LOOKUP +to_SHIFT_JIS_E6_A4 = { + to_SHIFT_JIS_E6_A4_offsets, + to_SHIFT_JIS_E6_A4_infos +}; + +static const unsigned char +to_SHIFT_JIS_E6_A5_offsets[64] = { + /* used from to_SHIFT_JIS_E6_A5 */ + /* used from to_EUC_JP_E6_A5 */ + 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 0, 27, 27, 27, 27, 27, + 27, 27, 27, 1, 2, 3, 27, 27, 27, 4, 5, 27, 6, 7, 8, 27, + 9, 10, 11, 27, 27, 27, 27, 27, 12, 27, 13, 14, 27, 15, 16, 17, + 27, 27, 27, 18, 19, 20, 27, 21, 22, 23, 27, 27, 24, 25, 26, 27, +}; +static const struct byte_lookup* const +to_SHIFT_JIS_E6_A5_infos[28] = { + o2(0x97,0x6B), o2(0x95,0x96), o2(0x9E,0xB6), o2(0x91,0xC8), + o2(0x9E,0xBC), o2(0x91,0x5E), o2(0x9E,0xB3), o2(0x9E,0xC0), + o2(0x9E,0xBF), o2(0x93,0xED), o2(0x9E,0xBE), o2(0x93,0xE8), + o2(0xFA,0xE9), o2(0x9E,0xC2), o2(0x9E,0xB5), o2(0x8B,0xC6), + o2(0x9E,0xB8), o2(0x8F,0x7C), o2(0x94,0x80), o2(0x9E,0xBA), + o2(0x8B,0xC9), o2(0x9E,0xB2), o2(0x9E,0xB4), o2(0x9E,0xB1), + o2(0x98,0x4F), o2(0x8A,0x79), o2(0x9E,0xB7), UNDEF, +}; +static const BYTE_LOOKUP +to_SHIFT_JIS_E6_A5 = { + to_SHIFT_JIS_E6_A5_offsets, + to_SHIFT_JIS_E6_A5_infos +}; + +static const unsigned char +to_SHIFT_JIS_E6_A6_offsets[64] = { + /* used from to_SHIFT_JIS_E6_A6 */ + /* used from to_EUC_JP_E6_A6 */ + 19, 0, 1, 19, 19, 19, 19, 19, 19, 19, 2, 19, 19, 19, 3, 19, + 19, 4, 19, 19, 5, 6, 19, 19, 7, 19, 19, 8, 9, 19, 19, 19, + 10, 19, 19, 19, 19, 19, 19, 11, 19, 19, 19, 19, 19, 19, 12, 19, + 19, 13, 14, 19, 15, 19, 19, 19, 19, 19, 19, 16, 19, 19, 17, 18, +}; +static const struct byte_lookup* const +to_SHIFT_JIS_E6_A6_infos[20] = { + o2(0x9E,0xC1), o2(0x8A,0x54), o2(0x8D,0xE5), o2(0x89,0x7C), + o2(0x9E,0xD2), o2(0x98,0x50), o2(0x9E,0xD5), o2(0xFA,0xEB), + o2(0x90,0x59), o2(0x9E,0xD4), o2(0x9E,0xD3), o2(0x9E,0xD0), + o2(0x9E,0xC4), o2(0x9E,0xE1), o2(0x9E,0xC3), o2(0x9E,0xD6), + o2(0x9E,0xCE), o2(0x9E,0xC9), o2(0x9E,0xC6), UNDEF, +}; +static const BYTE_LOOKUP +to_SHIFT_JIS_E6_A6 = { + to_SHIFT_JIS_E6_A6_offsets, + to_SHIFT_JIS_E6_A6_infos +}; + +static const unsigned char +to_SHIFT_JIS_E6_A7_offsets[64] = { + /* used from to_SHIFT_JIS_E6_A7 */ + /* used from to_EUC_JP_E6_A7 */ + 24, 0, 24, 1, 24, 24, 24, 2, 24, 24, 3, 4, 5, 6, 7, 24, + 8, 24, 24, 9, 24, 24, 24, 24, 10, 11, 24, 24, 24, 12, 13, 24, + 24, 24, 14, 24, 24, 24, 24, 15, 16, 24, 24, 17, 24, 18, 24, 24, + 24, 24, 19, 24, 24, 24, 24, 24, 24, 20, 24, 21, 24, 22, 24, 23, +}; +static const struct byte_lookup* const +to_SHIFT_JIS_E6_A7_infos[25] = { + o2(0x9E,0xC7), o2(0x9E,0xCF), o2(0xEA,0xA0), o2(0x9E,0xCC), + o2(0x8D,0x5C), o2(0x92,0xC6), o2(0x91,0x84), o2(0x9E,0xCA), + o2(0x9E,0xC5), o2(0x9E,0xC8), o2(0x97,0x6C), o2(0x96,0x8A), + o2(0x9E,0xCD), o2(0x9E,0xD7), o2(0xFA,0xEC), o2(0x9E,0xDF), + o2(0x9E,0xD8), o2(0x9E,0xE5), o2(0x9E,0xE3), o2(0x9E,0xDE), + o2(0x9E,0xDD), o2(0x92,0xCE), o2(0x91,0x85), o2(0x9E,0xDB), + UNDEF, +}; +static const BYTE_LOOKUP +to_SHIFT_JIS_E6_A7 = { + to_SHIFT_JIS_E6_A7_offsets, + to_SHIFT_JIS_E6_A7_infos +}; + +static const unsigned char +to_SHIFT_JIS_E6_A8_offsets[64] = { + /* used from to_SHIFT_JIS_E6_A8 */ + /* used from to_EUC_JP_E6_A8 */ + 27, 27, 0, 27, 27, 1, 27, 27, 27, 27, 2, 3, 4, 27, 27, 27, + 27, 27, 5, 6, 7, 27, 27, 8, 27, 9, 27, 10, 27, 27, 11, 12, + 27, 13, 14, 15, 27, 27, 27, 27, 27, 16, 17, 18, 27, 27, 19, 27, + 20, 27, 27, 27, 27, 21, 22, 27, 23, 24, 25, 27, 27, 26, 27, 27, +}; +static const struct byte_lookup* const +to_SHIFT_JIS_E6_A8_infos[28] = { + o2(0x9E,0xD9), o2(0x9E,0xE0), o2(0x9E,0xE6), o2(0x94,0xF3), + o2(0x9E,0xEC), o2(0x9E,0xE7), o2(0x9E,0xEA), o2(0x9E,0xE4), + o2(0x92,0x94), o2(0x95,0x57), o2(0x9E,0xDA), o2(0x9E,0xE2), + o2(0x8F,0xBE), o2(0x96,0xCD), o2(0x9E,0xF6), o2(0x9E,0xE9), + o2(0x8C,0xA0), o2(0x89,0xA1), o2(0x8A,0x7E), o2(0x9E,0xD1), + o2(0xFA,0xED), o2(0x8F,0xBF), o2(0x9E,0xEE), o2(0x9E,0xF5), + o2(0x8E,0xF7), o2(0x8A,0x92), o2(0x92,0x4D), UNDEF, +}; +static const BYTE_LOOKUP +to_SHIFT_JIS_E6_A8 = { + to_SHIFT_JIS_E6_A8_offsets, + to_SHIFT_JIS_E6_A8_infos +}; + +static const unsigned char +to_SHIFT_JIS_E6_A9_offsets[64] = { + /* used from to_SHIFT_JIS_E6_A9 */ + /* used from to_EUC_JP_E6_A9 */ + 17, 17, 17, 17, 0, 17, 1, 2, 3, 17, 17, 4, 17, 17, 17, 17, + 17, 17, 17, 17, 17, 17, 17, 17, 5, 6, 17, 17, 17, 17, 17, 7, + 17, 8, 9, 17, 17, 17, 10, 17, 17, 17, 17, 11, 17, 17, 17, 17, + 17, 17, 12, 13, 17, 17, 17, 17, 14, 17, 17, 17, 17, 17, 15, 16, +}; +static const struct byte_lookup* const +to_SHIFT_JIS_E6_A9_infos[18] = { + o2(0x9E,0xEB), o2(0xFA,0xEF), o2(0x9E,0xF0), o2(0x9E,0xF4), + o2(0x8B,0xB4), o2(0x8B,0x6B), o2(0x9E,0xF2), o2(0x8B,0x40), + o2(0x93,0xC9), o2(0x9E,0xF1), o2(0x9E,0xF3), o2(0xFA,0xEE), + o2(0x9E,0xED), o2(0xFA,0xF0), o2(0x9E,0xEF), o2(0xFA,0xF1), + o2(0x8A,0x80), UNDEF, +}; +static const BYTE_LOOKUP +to_SHIFT_JIS_E6_A9 = { + to_SHIFT_JIS_E6_A9_offsets, + to_SHIFT_JIS_E6_A9_infos +}; + +static const unsigned char +to_SHIFT_JIS_E6_AA_offsets[64] = { + /* used from to_SHIFT_JIS_E6_AA */ + /* used from to_EUC_JP_E6_AA */ + 0, 16, 16, 16, 1, 16, 16, 16, 16, 16, 16, 16, 16, 2, 3, 16, + 4, 16, 16, 16, 16, 16, 16, 5, 16, 16, 16, 16, 6, 16, 16, 16, + 7, 16, 8, 9, 16, 16, 16, 16, 16, 16, 10, 16, 11, 16, 12, 16, + 16, 16, 16, 13, 16, 16, 16, 16, 14, 16, 16, 15, 16, 16, 16, 16, +}; +static const struct byte_lookup* const +to_SHIFT_JIS_E6_AA_infos[17] = { + o2(0x92,0x68), o2(0x9E,0xFA), o2(0x9E,0xF8), o2(0x8C,0xE7), + o2(0x9E,0xF7), o2(0x9F,0x40), o2(0x9E,0x77), o2(0x9E,0xF9), + o2(0x9E,0xFB), o2(0x9E,0xFC), o2(0x9F,0x4B), o2(0x9F,0x47), + o2(0x9E,0x8D), o2(0x9F,0x46), o2(0x9F,0x45), o2(0x9F,0x42), + UNDEF, +}; +static const BYTE_LOOKUP +to_SHIFT_JIS_E6_AA = { + to_SHIFT_JIS_E6_AA_offsets, + to_SHIFT_JIS_E6_AA_infos +}; + +static const unsigned char +to_SHIFT_JIS_E6_AB_offsets[64] = { + /* used from to_SHIFT_JIS_E6_AB */ + /* used from to_EUC_JP_E6_AB */ + 15, 0, 1, 2, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, + 15, 3, 15, 4, 15, 15, 15, 15, 15, 15, 5, 6, 15, 15, 7, 8, + 15, 15, 9, 15, 10, 15, 15, 15, 11, 15, 12, 15, 15, 15, 15, 15, + 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 13, 14, 15, 15, 15, 15, +}; +static const struct byte_lookup* const +to_SHIFT_JIS_E6_AB_infos[16] = { + o2(0x9E,0xE8), o2(0x9F,0x44), o2(0x9F,0x43), o2(0x9F,0x49), + o2(0x98,0x45), o2(0x9F,0x4C), o2(0x8B,0xF9), o2(0x9F,0x48), + o2(0x9F,0x4A), o2(0xFA,0xF2), o2(0xFA,0xF3), o2(0x94,0xA5), + o2(0x9F,0x4D), o2(0x9F,0x51), o2(0x9F,0x4E), UNDEF, +}; +static const BYTE_LOOKUP +to_SHIFT_JIS_E6_AB = { + to_SHIFT_JIS_E6_AB_offsets, + to_SHIFT_JIS_E6_AB_infos +}; + +static const unsigned char +to_SHIFT_JIS_E6_AC_offsets[64] = { + /* used from to_SHIFT_JIS_E6_AC */ + /* used from to_EUC_JP_E6_AC */ + 18, 18, 18, 18, 0, 1, 18, 18, 18, 18, 2, 18, 18, 18, 18, 18, + 18, 18, 3, 18, 18, 18, 4, 18, 18, 18, 18, 18, 18, 5, 18, 6, + 7, 8, 18, 9, 18, 18, 18, 10, 18, 18, 18, 18, 18, 18, 18, 18, + 18, 18, 11, 18, 18, 18, 18, 12, 13, 14, 15, 18, 18, 16, 17, 18, +}; +static const struct byte_lookup* const +to_SHIFT_JIS_E6_AC_infos[19] = { + o2(0x97,0x93), o2(0x9F,0x4F), o2(0x9E,0xDC), o2(0x9F,0x52), + o2(0x9F,0x53), o2(0x89,0x54), o2(0x9F,0x55), o2(0x8C,0x87), + o2(0x8E,0x9F), o2(0x8B,0xD3), o2(0x89,0xA2), o2(0x97,0x7E), + o2(0x9F,0x57), o2(0x9F,0x56), o2(0x9F,0x59), o2(0x8B,0x5C), + o2(0x8B,0xD4), o2(0x8A,0xBC), UNDEF, +}; +static const BYTE_LOOKUP +to_SHIFT_JIS_E6_AC = { + to_SHIFT_JIS_E6_AC_offsets, + to_SHIFT_JIS_E6_AC_infos +}; + +static const unsigned char +to_SHIFT_JIS_E6_AD_offsets[64] = { + /* used from to_SHIFT_JIS_E6_AD */ + /* used from to_EUC_JP_E6_AD */ + 25, 25, 25, 0, 25, 25, 25, 1, 25, 2, 25, 25, 3, 25, 4, 25, + 5, 25, 25, 6, 7, 25, 25, 25, 25, 8, 25, 9, 25, 25, 25, 10, + 25, 11, 12, 13, 14, 25, 15, 25, 25, 16, 17, 25, 25, 25, 25, 18, + 25, 25, 25, 19, 20, 25, 25, 25, 21, 22, 25, 23, 25, 25, 25, 24, +}; +static const struct byte_lookup* const +to_SHIFT_JIS_E6_AD_infos[26] = { + o2(0x9F,0x5C), o2(0x9F,0x5B), o2(0x9F,0x5D), o2(0x89,0xCC), + o2(0x92,0x56), o2(0x9F,0x5E), o2(0x8A,0xBD), o2(0x9F,0x60), + o2(0x9F,0x5F), o2(0x9F,0x61), o2(0x9F,0x62), o2(0x9F,0x63), + o2(0x8E,0x7E), o2(0x90,0xB3), o2(0x8D,0x9F), o2(0x95,0x90), + o2(0x95,0xE0), o2(0x98,0x63), o2(0x8E,0x95), o2(0x8D,0xCE), + o2(0x97,0xF0), o2(0x9F,0x64), o2(0x9F,0x65), o2(0x8E,0x80), + o2(0x9F,0x66), UNDEF, +}; +static const BYTE_LOOKUP +to_SHIFT_JIS_E6_AD = { + to_SHIFT_JIS_E6_AD_offsets, + to_SHIFT_JIS_E6_AD_infos +}; + +static const unsigned char +to_SHIFT_JIS_E6_AE_offsets[64] = { + /* used from to_SHIFT_JIS_E6_AE */ + /* used from to_EUC_JP_E6_AE */ + 0, 26, 26, 1, 2, 26, 3, 26, 26, 4, 5, 6, 26, 7, 26, 26, + 26, 26, 26, 26, 26, 8, 9, 26, 10, 26, 26, 26, 26, 26, 11, 26, + 26, 26, 26, 26, 12, 26, 26, 26, 26, 26, 13, 14, 26, 26, 26, 15, + 26, 16, 17, 18, 19, 20, 26, 21, 26, 26, 22, 23, 24, 26, 26, 25, +}; +static const struct byte_lookup* const +to_SHIFT_JIS_E6_AE_infos[27] = { + o2(0x9F,0x67), o2(0x9F,0x69), o2(0x9F,0x68), o2(0x96,0x77), + o2(0x8F,0x7D), o2(0x8E,0xEA), o2(0x8E,0x63), o2(0x9F,0x6A), + o2(0x9F,0x6C), o2(0x90,0x42), o2(0x9F,0x6B), o2(0x9F,0x6D), + o2(0x9F,0x6E), o2(0x9F,0x6F), o2(0x9F,0x70), o2(0x9F,0x71), + o2(0x9F,0x73), o2(0x9F,0x72), o2(0x9F,0x74), o2(0x89,0xA3), + o2(0x92,0x69), o2(0x9F,0x75), o2(0x8E,0x45), o2(0x8A,0x6B), + o2(0x9F,0x76), o2(0x93,0x61), UNDEF, +}; +static const BYTE_LOOKUP +to_SHIFT_JIS_E6_AE = { + to_SHIFT_JIS_E6_AE_offsets, + to_SHIFT_JIS_E6_AE_infos +}; + +static const unsigned char +to_SHIFT_JIS_E6_AF_offsets[64] = { + /* used from to_SHIFT_JIS_E6_AF */ + /* used from to_EUC_JP_E6_AF */ + 0, 17, 17, 17, 17, 1, 2, 17, 17, 17, 17, 3, 17, 4, 5, 17, + 17, 17, 6, 7, 8, 17, 9, 17, 10, 17, 17, 11, 17, 17, 17, 12, + 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 13, 14, 17, 17, 15, + 17, 17, 17, 16, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, +}; +static const struct byte_lookup* const +to_SHIFT_JIS_E6_AF_infos[18] = { + o2(0x9A,0xCA), o2(0x8B,0x42), o2(0x9F,0x77), o2(0x9F,0x78), + o2(0x95,0xEA), o2(0x96,0x88), o2(0x93,0xC5), o2(0x9F,0x79), + o2(0x94,0xE4), o2(0xFA,0xF4), o2(0x94,0xF9), o2(0x96,0xD1), + o2(0x9F,0x7A), o2(0x9F,0x7C), o2(0x9F,0x7B), o2(0x9F,0x7E), + o2(0x9F,0x7D), UNDEF, +}; +static const BYTE_LOOKUP +to_SHIFT_JIS_E6_AF = { + to_SHIFT_JIS_E6_AF_offsets, + to_SHIFT_JIS_E6_AF_infos +}; + +static const unsigned char +to_SHIFT_JIS_E6_B0_offsets[64] = { + /* used from to_SHIFT_JIS_E6_B0 */ + /* used from to_EUC_JP_E6_B0 */ + 14, 14, 14, 14, 14, 14, 14, 14, 0, 14, 14, 14, 14, 14, 14, 1, + 14, 2, 14, 3, 4, 14, 14, 5, 14, 14, 14, 6, 14, 14, 14, 14, + 14, 14, 14, 7, 8, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, + 14, 14, 14, 14, 9, 14, 14, 10, 11, 14, 14, 14, 14, 14, 12, 13, +}; +static const struct byte_lookup* const +to_SHIFT_JIS_E6_B0_infos[15] = { + o2(0x9F,0x81), o2(0x8E,0x81), o2(0x96,0xAF), o2(0x9F,0x82), + o2(0x9F,0x83), o2(0x8B,0x43), o2(0x9F,0x84), o2(0x9F,0x86), + o2(0x9F,0x85), o2(0x90,0x85), o2(0x95,0x58), o2(0x89,0x69), + o2(0x94,0xC3), o2(0xFA,0xF5), UNDEF, +}; +static const BYTE_LOOKUP +to_SHIFT_JIS_E6_B0 = { + to_SHIFT_JIS_E6_B0_offsets, + to_SHIFT_JIS_E6_B0_infos +}; + +static const unsigned char +to_SHIFT_JIS_E6_B1_offsets[64] = { + /* used from to_SHIFT_JIS_E6_B1 */ + /* used from to_EUC_JP_E6_B1 */ + 0, 1, 2, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 3, 23, + 4, 23, 23, 23, 23, 5, 23, 6, 23, 23, 7, 23, 8, 9, 10, 11, + 12, 23, 13, 23, 23, 23, 23, 23, 14, 23, 15, 23, 23, 23, 23, 16, + 17, 23, 18, 19, 23, 23, 23, 23, 23, 23, 20, 23, 23, 21, 22, 23, +}; +static const struct byte_lookup* const +to_SHIFT_JIS_E6_B1_infos[24] = { + o2(0x92,0xF3), o2(0x8F,0x60), o2(0x8B,0x81), o2(0x94,0xC4), + o2(0x8E,0xAC), o2(0x9F,0x88), o2(0x8A,0xBE), o2(0x89,0x98), + o2(0xFA,0xF6), o2(0x93,0xF0), o2(0x9F,0x87), o2(0x8D,0x5D), + o2(0x92,0x72), o2(0x9F,0x89), o2(0x9F,0x91), o2(0x9F,0x8A), + o2(0xFA,0xF8), o2(0x91,0xBF), o2(0x8B,0x82), o2(0x9F,0x92), + o2(0x8C,0x88), o2(0x8B,0x44), o2(0x9F,0x90), UNDEF, +}; +static const BYTE_LOOKUP +to_SHIFT_JIS_E6_B1 = { + to_SHIFT_JIS_E6_B1_offsets, + to_SHIFT_JIS_E6_B1_infos +}; + +static const unsigned char +to_SHIFT_JIS_E6_B2_offsets[64] = { + /* used from to_SHIFT_JIS_E6_B2 */ + /* used from to_EUC_JP_E6_B2 */ + 28, 0, 1, 2, 28, 28, 3, 28, 4, 28, 28, 28, 5, 6, 28, 28, + 7, 28, 8, 9, 28, 28, 10, 28, 28, 11, 12, 13, 28, 28, 28, 28, + 28, 14, 15, 28, 28, 28, 28, 28, 28, 28, 28, 16, 28, 28, 17, 28, + 28, 18, 28, 19, 28, 28, 28, 28, 20, 21, 22, 23, 24, 25, 26, 27, +}; +static const struct byte_lookup* const +to_SHIFT_JIS_E6_B2_infos[29] = { + o2(0x9F,0x8E), o2(0x9F,0x8B), o2(0x97,0x80), o2(0xFA,0xF7), + o2(0x92,0xBE), o2(0x93,0xD7), o2(0x9F,0x8C), o2(0x9F,0x94), + o2(0x9F,0x93), o2(0x8C,0x42), o2(0x89,0xAB), o2(0x8D,0xB9), + o2(0x9F,0x8D), o2(0x9F,0x8F), o2(0x96,0x76), o2(0x91,0xF2), + o2(0x96,0x97), o2(0x9F,0x9C), o2(0x9F,0x9D), o2(0x89,0xCD), + o2(0x95,0xA6), o2(0x96,0xFB), o2(0x9F,0x9F), o2(0x8E,0xA1), + o2(0x8F,0xC0), o2(0x9F,0x98), o2(0x9F,0x9E), o2(0x89,0x88), + UNDEF, +}; +static const BYTE_LOOKUP +to_SHIFT_JIS_E6_B2 = { + to_SHIFT_JIS_E6_B2_offsets, + to_SHIFT_JIS_E6_B2_infos +}; + +static const unsigned char +to_SHIFT_JIS_E6_B3_offsets[64] = { + /* used from to_SHIFT_JIS_E6_B3 */ + /* used from to_EUC_JP_E6_B3 */ + 23, 0, 23, 23, 1, 2, 23, 23, 23, 3, 4, 23, 5, 23, 23, 23, + 23, 23, 23, 6, 23, 7, 23, 8, 23, 9, 10, 11, 23, 12, 23, 23, + 23, 13, 14, 15, 23, 16, 23, 23, 17, 23, 18, 23, 23, 23, 23, 19, + 20, 21, 23, 22, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, +}; +static const struct byte_lookup* const +to_SHIFT_JIS_E6_B3_infos[24] = { + o2(0x8B,0xB5), o2(0x9F,0x95), o2(0x9F,0x9A), o2(0x90,0xF2), + o2(0x94,0x91), o2(0x94,0xE5), o2(0x9F,0x97), o2(0x96,0x40), + o2(0x9F,0x99), o2(0x9F,0xA2), o2(0xFA,0xF9), o2(0x9F,0xA0), + o2(0x9F,0x9B), o2(0x96,0x41), o2(0x94,0x67), o2(0x8B,0x83), + o2(0x93,0x44), o2(0x92,0x8D), o2(0x9F,0xA3), o2(0x9F,0xA1), + o2(0x91,0xD7), o2(0x9F,0x96), o2(0x89,0x6A), UNDEF, +}; +static const BYTE_LOOKUP +to_SHIFT_JIS_E6_B3 = { + to_SHIFT_JIS_E6_B3_offsets, + to_SHIFT_JIS_E6_B3_infos +}; + +static const unsigned char +to_SHIFT_JIS_E6_B4_offsets[64] = { + /* used from to_SHIFT_JIS_E6_B4 */ + /* used from to_EUC_JP_E6_B4 */ + 21, 21, 21, 21, 0, 21, 21, 21, 21, 21, 21, 1, 2, 21, 21, 21, + 21, 21, 3, 21, 21, 21, 21, 4, 21, 5, 21, 6, 21, 21, 7, 8, + 21, 21, 21, 21, 21, 9, 21, 21, 21, 10, 11, 12, 21, 21, 21, 21, + 21, 21, 13, 14, 21, 15, 16, 21, 17, 21, 21, 18, 21, 19, 20, 21, +}; +static const struct byte_lookup* const +to_SHIFT_JIS_E6_B4_infos[22] = { + o2(0xFA,0xFA), o2(0x97,0x6D), o2(0x9F,0xAE), o2(0x9F,0xAD), + o2(0x90,0xF4), o2(0x9F,0xAA), o2(0x97,0x8C), o2(0x93,0xB4), + o2(0x9F,0xA4), o2(0x92,0xC3), o2(0x89,0x6B), o2(0x8D,0x5E), + o2(0x9F,0xA7), o2(0x8F,0x46), o2(0x9F,0xAC), o2(0x9F,0xAB), + o2(0x9F,0xA6), o2(0x9F,0xA9), o2(0x8A,0x88), o2(0x9F,0xA8), + o2(0x94,0x68), UNDEF, +}; +static const BYTE_LOOKUP +to_SHIFT_JIS_E6_B4 = { + to_SHIFT_JIS_E6_B4_offsets, + to_SHIFT_JIS_E6_B4_infos +}; + +static const unsigned char +to_SHIFT_JIS_E6_B5_offsets[64] = { + /* used from to_SHIFT_JIS_E6_B5 */ + /* used from to_EUC_JP_E6_B5 */ + 18, 0, 18, 18, 1, 2, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, + 18, 18, 18, 18, 18, 18, 18, 18, 18, 3, 4, 18, 5, 18, 18, 18, + 18, 18, 18, 6, 7, 18, 8, 18, 18, 9, 10, 18, 11, 18, 12, 13, + 18, 18, 18, 18, 14, 18, 18, 15, 16, 17, 18, 18, 18, 18, 18, 18, +}; +static const struct byte_lookup* const +to_SHIFT_JIS_E6_B5_infos[19] = { + o2(0x97,0xAC), o2(0x8F,0xF2), o2(0x90,0xF3), o2(0x9F,0xB4), + o2(0x9F,0xB2), o2(0x95,0x6C), o2(0x9F,0xAF), o2(0x9F,0xB1), + o2(0x89,0x59), o2(0x8D,0x5F), o2(0x98,0x51), o2(0x8A,0x5C), + o2(0x95,0x82), o2(0xFA,0xFC), o2(0x97,0x81), o2(0x8A,0x43), + o2(0x90,0x5A), o2(0x9F,0xB3), UNDEF, +}; +static const BYTE_LOOKUP +to_SHIFT_JIS_E6_B5 = { + to_SHIFT_JIS_E6_B5_offsets, + to_SHIFT_JIS_E6_B5_infos +}; + +static const unsigned char +to_SHIFT_JIS_E6_B6_offsets[64] = { + /* used from to_SHIFT_JIS_E6_B6 */ + /* used from to_EUC_JP_E6_B6 */ + 17, 17, 17, 17, 17, 0, 17, 1, 2, 17, 17, 17, 3, 17, 4, 17, + 17, 17, 17, 5, 17, 6, 7, 17, 17, 8, 17, 9, 10, 17, 17, 17, + 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 11, 17, 17, 12, + 17, 17, 13, 17, 17, 14, 17, 17, 15, 17, 17, 17, 16, 17, 17, 17, +}; +static const struct byte_lookup* const +to_SHIFT_JIS_E6_B6_infos[18] = { + o2(0x9F,0xB8), o2(0xFA,0xFB), o2(0x8F,0xC1), o2(0x97,0x4F), + o2(0x9F,0xB5), o2(0x9F,0xB0), o2(0x9F,0xB6), o2(0xFB,0x40), + o2(0x97,0xDC), o2(0x93,0x93), o2(0x93,0xC0), o2(0xFB,0x41), + o2(0x8A,0x55), o2(0x89,0x74), o2(0x9F,0xBC), o2(0x9F,0xBF), + o2(0x97,0xC1), UNDEF, +}; +static const BYTE_LOOKUP +to_SHIFT_JIS_E6_B6 = { + to_SHIFT_JIS_E6_B6_offsets, + to_SHIFT_JIS_E6_B6_infos +}; + +static const unsigned char +to_SHIFT_JIS_E6_B7_offsets[64] = { + /* used from to_SHIFT_JIS_E6_B7 */ + /* used from to_EUC_JP_E6_B7 */ + 0, 31, 31, 31, 31, 1, 2, 3, 31, 31, 31, 4, 5, 31, 31, 6, + 31, 7, 8, 31, 31, 9, 31, 31, 10, 11, 31, 31, 31, 31, 12, 31, + 31, 13, 31, 31, 14, 31, 15, 31, 16, 31, 17, 18, 19, 31, 20, 31, + 31, 21, 22, 23, 31, 24, 31, 25, 26, 27, 28, 29, 30, 31, 31, 31, +}; +static const struct byte_lookup* const +to_SHIFT_JIS_E6_B7_infos[32] = { + o2(0x97,0x84), o2(0x9F,0xC6), o2(0x9F,0xC0), o2(0x9F,0xBD), + o2(0x97,0xD2), o2(0x9F,0xC3), o2(0xFB,0x42), o2(0x8F,0x69), + o2(0x9F,0xC5), o2(0x9F,0xCA), o2(0x93,0x91), o2(0x9F,0xC8), + o2(0x9F,0xC2), o2(0x92,0x57), o2(0x9F,0xC9), o2(0x9F,0xBE), + o2(0x9F,0xC4), o2(0x9F,0xCB), o2(0x88,0xFA), o2(0x9F,0xC1), + o2(0x9F,0xCC), o2(0x90,0x5B), o2(0xFB,0x44), o2(0x8F,0x7E), + o2(0x95,0xA3), o2(0x8D,0xAC), o2(0xFB,0x43), o2(0x9F,0xB9), + o2(0x9F,0xC7), o2(0x93,0x59), o2(0xFB,0x45), UNDEF, +}; +static const BYTE_LOOKUP +to_SHIFT_JIS_E6_B7 = { + to_SHIFT_JIS_E6_B7_offsets, + to_SHIFT_JIS_E6_B7_infos +}; + +static const unsigned char +to_SHIFT_JIS_E6_B8_offsets[64] = { + /* used from to_SHIFT_JIS_E6_B8 */ + /* used from to_EUC_JP_E6_B8 */ + 31, 31, 31, 31, 31, 0, 31, 1, 2, 3, 4, 5, 31, 31, 31, 31, + 31, 31, 31, 6, 31, 7, 31, 31, 31, 8, 9, 10, 31, 11, 31, 12, + 13, 14, 31, 15, 16, 17, 18, 19, 31, 20, 31, 21, 22, 23, 24, 25, + 31, 31, 31, 31, 31, 31, 31, 31, 26, 27, 28, 31, 29, 31, 30, 31, +}; +static const struct byte_lookup* const +to_SHIFT_JIS_E6_B8_infos[32] = { + o2(0x90,0xB4), o2(0x8A,0x89), o2(0x8D,0xCF), o2(0x8F,0xC2), + o2(0x9F,0xBB), o2(0x8F,0x61), o2(0x8C,0x6B), o2(0x9F,0xBA), + o2(0x9F,0xD0), o2(0x8F,0x8D), o2(0x8C,0xB8), o2(0x9F,0xDF), + o2(0x9F,0xD9), o2(0x8B,0x94), o2(0x93,0x6E), o2(0x9F,0xD4), + o2(0x9F,0xDD), o2(0x88,0xAD), o2(0x89,0x51), o2(0xFB,0x48), + o2(0x89,0xB7), o2(0x9F,0xD6), o2(0x91,0xAA), o2(0x9F,0xCD), + o2(0x9F,0xCF), o2(0x8D,0x60), o2(0x9F,0xE0), o2(0xFB,0x46), + o2(0x9F,0xDB), o2(0xFB,0x49), o2(0x9F,0xD3), UNDEF, +}; +static const BYTE_LOOKUP +to_SHIFT_JIS_E6_B8 = { + to_SHIFT_JIS_E6_B8_offsets, + to_SHIFT_JIS_E6_B8_infos +}; + +static const unsigned char +to_SHIFT_JIS_E6_B9_offsets[64] = { + /* used from to_SHIFT_JIS_E6_B9 */ + /* used from to_EUC_JP_E6_B9 */ + 17, 17, 17, 0, 17, 17, 17, 17, 17, 17, 1, 17, 17, 2, 3, 17, + 17, 17, 17, 17, 17, 17, 4, 17, 5, 17, 17, 6, 7, 17, 17, 8, + 17, 17, 17, 17, 17, 17, 17, 9, 17, 17, 17, 10, 17, 17, 11, 12, + 17, 17, 13, 17, 17, 17, 14, 17, 17, 17, 17, 17, 17, 17, 15, 16, +}; +static const struct byte_lookup* const +to_SHIFT_JIS_E6_B9_infos[18] = { + o2(0x9F,0xDA), o2(0x96,0xA9), o2(0x9F,0xD8), o2(0x9F,0xDC), + o2(0x8C,0xCE), o2(0x8F,0xC3), o2(0x92,0x58), o2(0xFB,0x47), + o2(0x9F,0xD2), o2(0x97,0x4E), o2(0x9F,0xD5), o2(0x9F,0xCE), + o2(0x93,0x92), o2(0x9F,0xD1), o2(0x9F,0xD7), o2(0x98,0x70), + o2(0x8E,0xBC), UNDEF, +}; +static const BYTE_LOOKUP +to_SHIFT_JIS_E6_B9 = { + to_SHIFT_JIS_E6_B9_offsets, + to_SHIFT_JIS_E6_B9_infos +}; + +static const unsigned char +to_SHIFT_JIS_E6_BA_offsets[64] = { + /* used from to_SHIFT_JIS_E6_BA */ + /* used from to_EUC_JP_E6_BA */ + 0, 20, 1, 20, 20, 20, 20, 20, 20, 20, 20, 20, 2, 20, 20, 3, + 4, 20, 20, 20, 20, 20, 5, 20, 6, 20, 20, 20, 7, 8, 20, 9, + 20, 20, 10, 20, 20, 11, 20, 20, 20, 20, 12, 20, 20, 20, 20, 13, + 20, 20, 14, 20, 20, 20, 15, 16, 20, 20, 17, 20, 20, 18, 20, 19, +}; +static const struct byte_lookup* const +to_SHIFT_JIS_E6_BA_infos[21] = { + o2(0x96,0x9E), o2(0x9F,0xE1), o2(0x94,0xAC), o2(0x9F,0xED), + o2(0x8C,0xB9), o2(0x8F,0x80), o2(0x9F,0xE3), o2(0x97,0xAD), + o2(0x8D,0x61), o2(0x9F,0xF0), o2(0x88,0xEC), o2(0x9F,0xEE), + o2(0x9F,0xE2), o2(0x9F,0xE8), o2(0x9F,0xEA), o2(0x97,0x6E), + o2(0x9F,0xE5), o2(0x93,0x4D), o2(0x9F,0xE7), o2(0xFB,0x4A), + UNDEF, +}; +static const BYTE_LOOKUP +to_SHIFT_JIS_E6_BA = { + to_SHIFT_JIS_E6_BA_offsets, + to_SHIFT_JIS_E6_BA_infos +}; + +static const unsigned char +to_SHIFT_JIS_E6_BB_offsets[64] = { + /* used from to_SHIFT_JIS_E6_BB */ + /* used from to_EUC_JP_E6_BB */ + 20, 20, 0, 20, 1, 2, 20, 20, 20, 3, 20, 4, 5, 20, 20, 20, + 20, 6, 20, 7, 8, 9, 20, 20, 20, 20, 20, 20, 20, 10, 11, 20, + 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 12, 20, 20, 13, + 20, 20, 14, 20, 15, 20, 20, 16, 17, 20, 20, 20, 20, 20, 18, 19, +}; +static const struct byte_lookup* const +to_SHIFT_JIS_E6_BB_infos[21] = { + o2(0x9F,0xEF), o2(0x9F,0xE9), o2(0x96,0xC5), o2(0x9F,0xE4), + o2(0x8E,0xA0), o2(0x9F,0xFC), o2(0x8A,0x8A), o2(0x9F,0xE6), + o2(0x9F,0xEB), o2(0x9F,0xEC), o2(0x91,0xEA), o2(0x91,0xD8), + o2(0x9F,0xF4), o2(0x9F,0xFA), o2(0x9F,0xF8), o2(0x93,0x48), + o2(0xE0,0x42), o2(0x9F,0xF5), o2(0x9F,0xF6), o2(0x9F,0xDE), + UNDEF, +}; +static const BYTE_LOOKUP +to_SHIFT_JIS_E6_BB = { + to_SHIFT_JIS_E6_BB_offsets, + to_SHIFT_JIS_E6_BB_infos +}; + +static const unsigned char +to_SHIFT_JIS_E6_BC_offsets[64] = { + /* used from to_SHIFT_JIS_E6_BC */ + /* used from to_EUC_JP_E6_BC */ + 19, 0, 1, 19, 19, 19, 2, 19, 19, 3, 19, 19, 19, 19, 19, 4, + 19, 5, 19, 6, 7, 8, 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, + 9, 19, 10, 11, 19, 19, 19, 19, 19, 19, 19, 12, 13, 19, 19, 19, + 19, 14, 15, 19, 19, 19, 19, 19, 16, 19, 19, 19, 19, 19, 17, 18, +}; +static const struct byte_lookup* const +to_SHIFT_JIS_E6_BC_infos[20] = { + o2(0x8B,0x99), o2(0x95,0x59), o2(0x8E,0xBD), o2(0x8D,0x97), + o2(0x98,0x52), o2(0x9F,0xF2), o2(0xE0,0x41), o2(0x89,0x89), + o2(0x91,0x86), o2(0x94,0x99), o2(0x8A,0xBF), o2(0x97,0xF8), + o2(0x96,0x9F), o2(0x92,0xD0), o2(0x9F,0xF9), o2(0x9F,0xFB), + o2(0x91,0x51), o2(0xE0,0x40), o2(0x9F,0xF7), UNDEF, +}; +static const BYTE_LOOKUP +to_SHIFT_JIS_E6_BC = { + to_SHIFT_JIS_E6_BC_offsets, + to_SHIFT_JIS_E6_BC_infos +}; + +static const unsigned char +to_SHIFT_JIS_E6_BD_offsets[64] = { + /* used from to_SHIFT_JIS_E6_BD */ + /* used from to_EUC_JP_E6_BD */ + 17, 0, 17, 17, 17, 1, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, + 17, 17, 17, 17, 2, 17, 17, 17, 3, 17, 17, 4, 5, 17, 17, 6, + 17, 17, 17, 17, 7, 17, 8, 17, 17, 17, 17, 17, 17, 9, 10, 11, + 12, 17, 17, 17, 13, 17, 17, 17, 14, 17, 15, 17, 16, 17, 17, 17, +}; +static const struct byte_lookup* const +to_SHIFT_JIS_E6_BD_infos[18] = { + o2(0x9F,0xF1), o2(0x8A,0xC1), o2(0x8C,0x89), o2(0xE0,0x4E), + o2(0xE0,0x49), o2(0x90,0xF6), o2(0x8A,0x83), o2(0x8F,0x81), + o2(0xE0,0x52), o2(0xE0,0x4B), o2(0x92,0xAA), o2(0xE0,0x48), + o2(0x92,0xD7), o2(0xE0,0x6B), o2(0xE0,0x45), o2(0xE0,0x44), + o2(0xE0,0x4D), UNDEF, +}; +static const BYTE_LOOKUP +to_SHIFT_JIS_E6_BD = { + to_SHIFT_JIS_E6_BD_offsets, + to_SHIFT_JIS_E6_BD_infos +}; + +static const unsigned char +to_SHIFT_JIS_E6_BE_offsets[64] = { + /* used from to_SHIFT_JIS_E6_BE */ + /* used from to_EUC_JP_E6_BE */ + 0, 1, 2, 17, 3, 17, 4, 17, 5, 17, 17, 17, 17, 17, 6, 17, + 17, 7, 17, 17, 17, 17, 17, 8, 17, 17, 17, 17, 17, 17, 17, 17, + 17, 9, 17, 10, 11, 17, 17, 17, 17, 17, 12, 17, 17, 17, 17, 17, + 17, 13, 17, 14, 17, 15, 17, 17, 17, 16, 17, 17, 17, 17, 17, 17, +}; +static const struct byte_lookup* const +to_SHIFT_JIS_E6_BE_infos[18] = { + o2(0xE0,0x47), o2(0xE0,0x46), o2(0xE0,0x4C), o2(0x90,0x9F), + o2(0xE0,0x43), o2(0xFB,0x4B), o2(0xE0,0x4F), o2(0xE0,0x50), + o2(0x8A,0xC0), o2(0xE0,0x55), o2(0xE0,0x54), o2(0xE0,0x56), + o2(0xE0,0x59), o2(0x93,0x62), o2(0xE0,0x53), o2(0xFB,0x4C), + o2(0xE0,0x57), UNDEF, +}; +static const BYTE_LOOKUP +to_SHIFT_JIS_E6_BE = { + to_SHIFT_JIS_E6_BE_offsets, + to_SHIFT_JIS_E6_BE_infos +}; + +static const unsigned char +to_SHIFT_JIS_E6_BF_offsets[64] = { + /* used from to_SHIFT_JIS_E6_BF */ + /* used from to_EUC_JP_E6_BF */ + 0, 1, 2, 3, 23, 23, 4, 23, 23, 23, 23, 23, 23, 23, 23, 23, + 23, 23, 23, 23, 5, 6, 23, 23, 7, 23, 23, 8, 23, 23, 23, 9, + 10, 11, 23, 23, 12, 23, 23, 23, 23, 23, 23, 13, 14, 23, 15, 16, + 23, 17, 23, 18, 23, 19, 20, 23, 23, 23, 21, 23, 23, 23, 22, 23, +}; +static const struct byte_lookup* const +to_SHIFT_JIS_E6_BF_infos[24] = { + o2(0x8C,0x83), o2(0x91,0xF7), o2(0xE0,0x51), o2(0x94,0x5A), + o2(0xE0,0x58), o2(0xE0,0x5D), o2(0xE0,0x5B), o2(0xE0,0x5E), + o2(0xE0,0x61), o2(0xE0,0x5A), o2(0x8D,0x8A), o2(0x94,0x47), + o2(0x9F,0xB7), o2(0x97,0x94), o2(0xE0,0x5C), o2(0xE0,0x60), + o2(0x91,0xF3), o2(0xE0,0x5F), o2(0xE0,0x4A), o2(0xFB,0x4D), + o2(0xE8,0x89), o2(0xE0,0x64), o2(0xE0,0x68), UNDEF, +}; +static const BYTE_LOOKUP +to_SHIFT_JIS_E6_BF = { + to_SHIFT_JIS_E6_BF_offsets, + to_SHIFT_JIS_E6_BF_infos +}; + +static const struct byte_lookup* const +to_SHIFT_JIS_E6_infos[64] = { + &to_SHIFT_JIS_E6_80, &to_SHIFT_JIS_E6_81, + &to_SHIFT_JIS_E6_82, &to_SHIFT_JIS_E6_83, + &to_SHIFT_JIS_E6_84, &to_SHIFT_JIS_E6_85, + &to_SHIFT_JIS_E6_86, &to_SHIFT_JIS_E6_87, + &to_SHIFT_JIS_E6_88, &to_SHIFT_JIS_E6_89, + &to_SHIFT_JIS_E6_8A, &to_SHIFT_JIS_E6_8B, + &to_SHIFT_JIS_E6_8C, &to_SHIFT_JIS_E6_8D, + &to_SHIFT_JIS_E6_8E, &to_SHIFT_JIS_E6_8F, + &to_SHIFT_JIS_E6_90, &to_SHIFT_JIS_E6_91, + &to_SHIFT_JIS_E6_92, &to_SHIFT_JIS_E6_93, + &to_SHIFT_JIS_E6_94, &to_SHIFT_JIS_E6_95, + &to_SHIFT_JIS_E6_96, &to_SHIFT_JIS_E6_97, + &to_SHIFT_JIS_E6_98, &to_SHIFT_JIS_E6_99, + &to_SHIFT_JIS_E6_9A, &to_SHIFT_JIS_E6_9B, + &to_SHIFT_JIS_E6_9C, &to_SHIFT_JIS_E6_9D, + &to_SHIFT_JIS_E6_9E, &to_SHIFT_JIS_E6_9F, + &to_SHIFT_JIS_E6_A0, &to_SHIFT_JIS_E6_A1, + &to_SHIFT_JIS_E6_A2, &to_SHIFT_JIS_E6_A3, + &to_SHIFT_JIS_E6_A4, &to_SHIFT_JIS_E6_A5, + &to_SHIFT_JIS_E6_A6, &to_SHIFT_JIS_E6_A7, + &to_SHIFT_JIS_E6_A8, &to_SHIFT_JIS_E6_A9, + &to_SHIFT_JIS_E6_AA, &to_SHIFT_JIS_E6_AB, + &to_SHIFT_JIS_E6_AC, &to_SHIFT_JIS_E6_AD, + &to_SHIFT_JIS_E6_AE, &to_SHIFT_JIS_E6_AF, + &to_SHIFT_JIS_E6_B0, &to_SHIFT_JIS_E6_B1, + &to_SHIFT_JIS_E6_B2, &to_SHIFT_JIS_E6_B3, + &to_SHIFT_JIS_E6_B4, &to_SHIFT_JIS_E6_B5, + &to_SHIFT_JIS_E6_B6, &to_SHIFT_JIS_E6_B7, + &to_SHIFT_JIS_E6_B8, &to_SHIFT_JIS_E6_B9, + &to_SHIFT_JIS_E6_BA, &to_SHIFT_JIS_E6_BB, + &to_SHIFT_JIS_E6_BC, &to_SHIFT_JIS_E6_BD, + &to_SHIFT_JIS_E6_BE, &to_SHIFT_JIS_E6_BF, +}; +static const BYTE_LOOKUP +to_SHIFT_JIS_E6 = { + to_SHIFT_JIS_E5_offsets, + to_SHIFT_JIS_E6_infos +}; + +static const unsigned char +to_SHIFT_JIS_E7_80_offsets[64] = { + /* used from to_SHIFT_JIS_E7_80 */ + /* used from to_EUC_JP_E7_80 */ + 21, 0, 21, 21, 21, 1, 21, 2, 21, 3, 21, 4, 21, 21, 21, 5, + 21, 6, 21, 21, 21, 7, 21, 21, 8, 21, 9, 10, 21, 11, 12, 13, + 21, 21, 21, 21, 21, 21, 14, 15, 16, 21, 21, 21, 17, 21, 21, 21, + 18, 21, 19, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 20, 21, +}; +static const struct byte_lookup* const +to_SHIFT_JIS_E7_80_infos[22] = { + o2(0xE0,0x66), o2(0xFB,0x4E), o2(0xFB,0x4F), o2(0xE0,0x62), + o2(0xE0,0x63), o2(0xE0,0x67), o2(0xE0,0x65), o2(0x95,0x6D), + o2(0xE0,0x6D), o2(0xE0,0x6A), o2(0xE0,0x69), o2(0xE0,0x6C), + o2(0x93,0xD2), o2(0xE0,0x6E), o2(0x92,0x95), o2(0x91,0xEB), + o2(0xFB,0x50), o2(0x90,0xA3), o2(0xE0,0x6F), o2(0xE0,0x71), + o2(0xE0,0x70), UNDEF, +}; +static const BYTE_LOOKUP +to_SHIFT_JIS_E7_80 = { + to_SHIFT_JIS_E7_80_offsets, + to_SHIFT_JIS_E7_80_infos +}; + +static const unsigned char +to_SHIFT_JIS_E7_81_offsets[64] = { + /* used from to_SHIFT_JIS_E7_81 */ + /* used from to_EUC_JP_E7_81 */ + 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 0, 10, 10, 10, + 10, 1, 10, 10, 10, 10, 10, 10, 2, 10, 10, 10, 10, 10, 10, 10, + 10, 10, 10, 3, 10, 10, 10, 10, 10, 10, 10, 4, 10, 10, 10, 5, + 6, 10, 10, 10, 10, 10, 10, 10, 7, 10, 10, 10, 8, 9, 10, 10, +}; +static const struct byte_lookup* const +to_SHIFT_JIS_E7_81_infos[11] = { + o2(0x9F,0xF3), o2(0xE0,0x72), o2(0x93,0xE5), o2(0xE0,0x73), + o2(0x89,0xCE), o2(0x93,0x94), o2(0x8A,0x44), o2(0x8B,0x84), + o2(0x8E,0xDC), o2(0x8D,0xD0), UNDEF, +}; +static const BYTE_LOOKUP +to_SHIFT_JIS_E7_81 = { + to_SHIFT_JIS_E7_81_offsets, + to_SHIFT_JIS_E7_81_infos +}; + +static const unsigned char +to_SHIFT_JIS_E7_82_offsets[64] = { + /* used from to_SHIFT_JIS_E7_82 */ + /* used from to_EUC_JP_E7_82 */ + 16, 16, 16, 16, 16, 0, 16, 16, 16, 1, 2, 16, 16, 16, 3, 16, + 16, 16, 4, 16, 16, 16, 16, 16, 16, 5, 16, 16, 16, 16, 16, 16, + 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 6, 7, 8, 9, 10, + 16, 16, 16, 11, 16, 16, 16, 16, 12, 13, 14, 15, 16, 16, 16, 16, +}; +static const struct byte_lookup* const +to_SHIFT_JIS_E7_82_infos[17] = { + o2(0xFB,0x51), o2(0x98,0x46), o2(0x90,0x86), o2(0x89,0x8A), + o2(0xE0,0x75), o2(0xE0,0x74), o2(0xFB,0x52), o2(0xE0,0x78), + o2(0x92,0x59), o2(0xE0,0x7B), o2(0xE0,0x76), o2(0xE0,0x7A), + o2(0xE0,0x79), o2(0x93,0x5F), o2(0x88,0xD7), o2(0xFA,0x62), + UNDEF, +}; +static const BYTE_LOOKUP +to_SHIFT_JIS_E7_82 = { + to_SHIFT_JIS_E7_82_offsets, + to_SHIFT_JIS_E7_82_infos +}; + +static const unsigned char +to_SHIFT_JIS_E7_83_offsets[64] = { + /* used from to_SHIFT_JIS_E7_83 */ + /* used from to_EUC_JP_E7_83 */ + 9, 9, 9, 9, 9, 9, 9, 9, 0, 9, 9, 1, 9, 9, 9, 2, + 9, 9, 9, 9, 9, 9, 9, 9, 9, 3, 9, 9, 9, 4, 9, 5, + 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, + 9, 6, 9, 9, 9, 9, 9, 9, 9, 7, 9, 9, 9, 8, 9, 9, +}; +static const struct byte_lookup* const +to_SHIFT_JIS_E7_83_infos[10] = { + o2(0x97,0xF3), o2(0xE0,0x7D), o2(0x89,0x47), o2(0xE0,0x80), + o2(0xE0,0x7E), o2(0xE0,0x7C), o2(0xE0,0x77), o2(0x96,0x42), + o2(0xE0,0x82), UNDEF, +}; +static const BYTE_LOOKUP +to_SHIFT_JIS_E7_83 = { + to_SHIFT_JIS_E7_83_offsets, + to_SHIFT_JIS_E7_83_infos +}; + +static const unsigned char +to_SHIFT_JIS_E7_84_offsets[64] = { + /* used from to_SHIFT_JIS_E7_84 */ + /* used from to_EUC_JP_E7_84 */ + 11, 11, 11, 11, 0, 11, 11, 11, 11, 1, 11, 11, 11, 11, 11, 2, + 11, 11, 11, 11, 3, 11, 11, 11, 11, 4, 5, 11, 6, 11, 11, 11, + 11, 7, 11, 11, 11, 11, 8, 11, 11, 11, 11, 11, 11, 11, 11, 11, + 11, 11, 11, 11, 11, 11, 9, 11, 11, 11, 11, 11, 10, 11, 11, 11, +}; +static const struct byte_lookup* const +to_SHIFT_JIS_E7_84_infos[12] = { + o2(0xFB,0x54), o2(0xE0,0x81), o2(0xFB,0x53), o2(0x89,0x8B), + o2(0xE0,0x84), o2(0x95,0xB0), o2(0xE0,0x83), o2(0x96,0xB3), + o2(0x8F,0xC5), o2(0x91,0x52), o2(0x8F,0xC4), UNDEF, +}; +static const BYTE_LOOKUP +to_SHIFT_JIS_E7_84 = { + to_SHIFT_JIS_E7_84_offsets, + to_SHIFT_JIS_E7_84_infos +}; + +static const unsigned char +to_SHIFT_JIS_E7_85_offsets[64] = { + /* used from to_SHIFT_JIS_E7_85 */ + /* used from to_EUC_JP_E7_85 */ + 18, 18, 18, 18, 18, 18, 0, 1, 18, 2, 18, 18, 3, 18, 4, 18, + 18, 18, 18, 18, 18, 5, 6, 18, 18, 7, 18, 18, 8, 18, 18, 18, + 18, 18, 9, 18, 10, 11, 12, 13, 18, 14, 18, 18, 15, 18, 16, 18, + 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 17, 18, 18, +}; +static const struct byte_lookup* const +to_SHIFT_JIS_E7_85_infos[19] = { + o2(0xFB,0x56), o2(0xFB,0x57), o2(0x97,0xF9), o2(0xE0,0x8A), + o2(0x90,0xF7), o2(0xE0,0x86), o2(0xE0,0x8B), o2(0x89,0x8C), + o2(0xFB,0x55), o2(0xE0,0x89), o2(0x94,0x81), o2(0xE0,0x85), + o2(0xE0,0x88), o2(0x8F,0xC6), o2(0x94,0xCF), o2(0xE0,0x8C), + o2(0x8E,0xCF), o2(0x90,0xF8), UNDEF, +}; +static const BYTE_LOOKUP +to_SHIFT_JIS_E7_85 = { + to_SHIFT_JIS_E7_85_offsets, + to_SHIFT_JIS_E7_85_infos +}; + +static const unsigned char +to_SHIFT_JIS_E7_86_offsets[64] = { + /* used from to_SHIFT_JIS_E7_86 */ + /* used from to_EUC_JP_E7_86 */ + 13, 13, 13, 13, 0, 13, 13, 13, 1, 13, 2, 13, 13, 13, 13, 3, + 13, 13, 13, 13, 4, 5, 13, 13, 13, 6, 13, 13, 13, 13, 13, 7, + 13, 13, 13, 13, 13, 13, 13, 13, 8, 13, 13, 13, 9, 13, 13, 13, + 13, 10, 13, 13, 13, 13, 13, 13, 13, 11, 13, 13, 13, 13, 12, 13, +}; +static const struct byte_lookup* const +to_SHIFT_JIS_E7_86_infos[14] = { + o2(0xE0,0x8F), o2(0xE0,0x87), o2(0x8C,0x46), o2(0xE0,0x8D), + o2(0x97,0x6F), o2(0xE0,0x90), o2(0xEA,0xA4), o2(0x8F,0x6E), + o2(0xE0,0x91), o2(0xE0,0x92), o2(0x94,0x4D), o2(0xE0,0x94), + o2(0xE0,0x95), UNDEF, +}; +static const BYTE_LOOKUP +to_SHIFT_JIS_E7_86 = { + to_SHIFT_JIS_E7_86_offsets, + to_SHIFT_JIS_E7_86_infos +}; + +static const unsigned char +to_SHIFT_JIS_E7_87_offsets[64] = { + /* used from to_SHIFT_JIS_E7_87 */ + /* used from to_EUC_JP_E7_87 */ + 24, 0, 24, 1, 24, 24, 24, 24, 2, 3, 24, 24, 24, 24, 4, 24, + 5, 24, 6, 24, 7, 8, 24, 9, 24, 24, 24, 24, 24, 24, 24, 10, + 11, 24, 24, 24, 24, 12, 13, 14, 24, 24, 24, 24, 15, 16, 17, 24, + 24, 24, 24, 24, 24, 18, 24, 24, 24, 19, 24, 20, 21, 24, 22, 23, +}; +static const struct byte_lookup* const +to_SHIFT_JIS_E7_87_infos[25] = { + o2(0xFB,0x59), o2(0x94,0x52), o2(0x93,0x95), o2(0xE0,0x97), + o2(0xE0,0x99), o2(0x97,0xD3), o2(0xE0,0x96), o2(0xE0,0x98), + o2(0x89,0x8D), o2(0xE0,0x93), o2(0x9A,0x7A), o2(0xE0,0x9A), + o2(0x91,0x87), o2(0x8E,0x57), o2(0xE0,0x9C), o2(0xE0,0x9B), + o2(0x90,0x43), o2(0x99,0xD7), o2(0xE0,0x9D), o2(0xE0,0x9F), + o2(0xE0,0x8E), o2(0xE0,0x9E), o2(0xFB,0x5A), o2(0xE0,0xA0), + UNDEF, +}; +static const BYTE_LOOKUP +to_SHIFT_JIS_E7_87 = { + to_SHIFT_JIS_E7_87_offsets, + to_SHIFT_JIS_E7_87_infos +}; + +static const unsigned char +to_SHIFT_JIS_E7_88_offsets[64] = { + /* used from to_SHIFT_JIS_E7_88 */ + /* used from to_EUC_JP_E7_88 */ + 18, 18, 18, 18, 18, 18, 0, 18, 18, 18, 18, 18, 18, 1, 18, 18, + 2, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 3, 18, 18, 18, 18, + 18, 18, 18, 18, 18, 18, 18, 18, 4, 18, 5, 18, 6, 7, 18, 18, + 8, 18, 9, 18, 18, 10, 11, 18, 18, 18, 12, 13, 14, 15, 16, 17, +}; +static const struct byte_lookup* const +to_SHIFT_JIS_E7_88_infos[19] = { + o2(0x94,0x9A), o2(0xE0,0xA1), o2(0xE0,0xA2), o2(0xE0,0xA3), + o2(0xE0,0xA4), o2(0x92,0xDC), o2(0xE0,0xA6), o2(0xE0,0xA5), + o2(0xE0,0xA7), o2(0xE0,0xA8), o2(0x8E,0xDD), o2(0x95,0x83), + o2(0x96,0xEA), o2(0xE0,0xA9), o2(0xE0,0xAA), o2(0x91,0x75), + o2(0x8E,0xA2), o2(0xE0,0xAB), UNDEF, +}; +static const BYTE_LOOKUP +to_SHIFT_JIS_E7_88 = { + to_SHIFT_JIS_E7_88_offsets, + to_SHIFT_JIS_E7_88_infos +}; + +static const unsigned char +to_SHIFT_JIS_E7_89_offsets[64] = { + /* used from to_SHIFT_JIS_E7_89 */ + /* used from to_EUC_JP_E7_89 */ + 0, 21, 21, 21, 21, 21, 1, 2, 3, 21, 21, 4, 5, 21, 21, 21, + 21, 21, 6, 21, 21, 21, 21, 21, 7, 8, 21, 9, 21, 10, 21, 11, + 21, 12, 13, 21, 21, 21, 21, 14, 21, 15, 21, 21, 21, 21, 21, 21, + 21, 21, 16, 21, 17, 21, 21, 21, 21, 18, 21, 21, 21, 19, 20, 21, +}; +static const struct byte_lookup* const +to_SHIFT_JIS_E7_89_infos[22] = { + o2(0xE0,0xAC), o2(0xE0,0xAD), o2(0x95,0xD0), o2(0x94,0xC5), + o2(0xE0,0xAE), o2(0x94,0x76), o2(0x92,0xAB), o2(0xE0,0xAF), + o2(0x89,0xE5), o2(0x8B,0x8D), o2(0x96,0xC4), o2(0x96,0xB4), + o2(0x89,0xB2), o2(0x98,0x53), o2(0x96,0x71), o2(0x95,0xA8), + o2(0x90,0xB5), o2(0xE0,0xB0), o2(0x93,0xC1), o2(0x8C,0xA1), + o2(0xE0,0xB1), UNDEF, +}; +static const BYTE_LOOKUP +to_SHIFT_JIS_E7_89 = { + to_SHIFT_JIS_E7_89_offsets, + to_SHIFT_JIS_E7_89_infos +}; + +static const unsigned char +to_SHIFT_JIS_E7_8A_offsets[64] = { + /* used from to_SHIFT_JIS_E7_8A */ + /* used from to_EUC_JP_E7_8A */ + 0, 1, 2, 16, 16, 16, 16, 3, 16, 16, 16, 16, 16, 16, 16, 16, + 16, 16, 4, 16, 16, 16, 5, 16, 16, 16, 16, 16, 16, 16, 16, 16, + 6, 16, 7, 16, 16, 16, 16, 8, 16, 16, 16, 16, 9, 16, 16, 10, + 16, 11, 12, 16, 16, 16, 13, 16, 16, 14, 16, 16, 16, 16, 15, 16, +}; +static const struct byte_lookup* const +to_SHIFT_JIS_E7_8A_infos[17] = { + o2(0x8D,0xD2), o2(0xE0,0xB3), o2(0xE0,0xB2), o2(0xE0,0xB4), + o2(0xE0,0xB5), o2(0xE0,0xB6), o2(0x8B,0x5D), o2(0xE0,0xB7), + o2(0xE0,0xB8), o2(0x8C,0xA2), o2(0x94,0xC6), o2(0xFB,0x5B), + o2(0xE0,0xBA), o2(0x8F,0xF3), o2(0xE0,0xB9), o2(0xFB,0x5C), + UNDEF, +}; +static const BYTE_LOOKUP +to_SHIFT_JIS_E7_8A = { + to_SHIFT_JIS_E7_8A_offsets, + to_SHIFT_JIS_E7_8A_infos +}; + +static const unsigned char +to_SHIFT_JIS_E7_8B_offsets[64] = { + /* used from to_SHIFT_JIS_E7_8B */ + /* used from to_EUC_JP_E7_8B */ + 21, 21, 0, 1, 2, 21, 3, 21, 21, 21, 21, 21, 21, 21, 4, 21, + 5, 21, 6, 21, 21, 21, 21, 7, 21, 8, 21, 9, 21, 21, 21, 21, + 10, 11, 12, 21, 21, 21, 21, 21, 21, 13, 21, 21, 14, 15, 21, 21, + 21, 21, 21, 21, 21, 21, 21, 16, 17, 18, 21, 21, 19, 20, 21, 21, +}; +static const struct byte_lookup* const +to_SHIFT_JIS_E7_8B_infos[22] = { + o2(0x8B,0xB6), o2(0xE0,0xBB), o2(0xE0,0xBD), o2(0xE0,0xBC), + o2(0xE0,0xBE), o2(0x8C,0xCF), o2(0xE0,0xBF), o2(0x8B,0xE7), + o2(0x91,0x5F), o2(0x8D,0x9D), o2(0xE0,0xC1), o2(0xE0,0xC2), + o2(0xE0,0xC0), o2(0x8E,0xEB), o2(0x93,0xC6), o2(0x8B,0xB7), + o2(0xE0,0xC4), o2(0x92,0x4B), o2(0xE0,0xC3), o2(0x98,0x54), + o2(0x94,0x82), UNDEF, +}; +static const BYTE_LOOKUP +to_SHIFT_JIS_E7_8B = { + to_SHIFT_JIS_E7_8B_offsets, + to_SHIFT_JIS_E7_8B_infos +}; + +static const unsigned char +to_SHIFT_JIS_E7_8C_offsets[64] = { + /* used from to_SHIFT_JIS_E7_8C */ + /* used from to_EUC_JP_E7_8C */ + 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, 0, 19, 19, 19, 19, 19, + 19, 19, 19, 19, 19, 19, 1, 2, 19, 19, 19, 3, 4, 5, 19, 6, + 19, 19, 19, 19, 7, 8, 19, 19, 19, 9, 10, 11, 19, 19, 12, 13, + 19, 19, 19, 19, 14, 19, 15, 16, 19, 19, 19, 19, 19, 19, 17, 18, +}; +static const struct byte_lookup* const +to_SHIFT_JIS_E7_8C_infos[20] = { + o2(0xE0,0xC7), o2(0xE0,0xC9), o2(0xE0,0xC6), o2(0x96,0xD2), + o2(0xE0,0xC8), o2(0xE0,0xCA), o2(0x97,0xC2), o2(0xFB,0x5D), + o2(0xE0,0xCE), o2(0xE0,0xCD), o2(0x92,0x96), o2(0x94,0x4C), + o2(0x8C,0xA3), o2(0xE0,0xCC), o2(0xE0,0xCB), o2(0x97,0x50), + o2(0x97,0x51), o2(0xE0,0xCF), o2(0x89,0x8E), UNDEF, +}; +static const BYTE_LOOKUP +to_SHIFT_JIS_E7_8C = { + to_SHIFT_JIS_E7_8C_offsets, + to_SHIFT_JIS_E7_8C_infos +}; + +static const unsigned char +to_SHIFT_JIS_E7_8D_offsets[64] = { + /* used from to_SHIFT_JIS_E7_8D */ + /* used from to_EUC_JP_E7_8D */ + 15, 15, 15, 15, 0, 1, 15, 15, 15, 15, 15, 15, 15, 15, 2, 3, + 15, 15, 15, 15, 15, 15, 15, 4, 15, 15, 15, 15, 15, 15, 15, 15, + 15, 15, 15, 5, 15, 15, 15, 15, 6, 15, 7, 15, 15, 15, 15, 15, + 8, 15, 9, 15, 15, 10, 15, 11, 12, 15, 13, 14, 15, 15, 15, 15, +}; +static const struct byte_lookup* const +to_SHIFT_JIS_E7_8D_infos[16] = { + o2(0x8D,0x96), o2(0x8E,0x82), o2(0xE0,0xD0), o2(0xE0,0xD1), + o2(0xE0,0xD3), o2(0x8F,0x62), o2(0xE0,0xD5), o2(0xE0,0xD4), + o2(0xE0,0xD6), o2(0x8A,0x6C), o2(0xE0,0xD8), o2(0xFB,0x5F), + o2(0xE0,0xD7), o2(0xE0,0xDA), o2(0xE0,0xD9), UNDEF, +}; +static const BYTE_LOOKUP +to_SHIFT_JIS_E7_8D = { + to_SHIFT_JIS_E7_8D_offsets, + to_SHIFT_JIS_E7_8D_infos +}; + +static const unsigned char +to_SHIFT_JIS_E7_8E_offsets[64] = { + /* used from to_SHIFT_JIS_E7_8E */ + /* used from to_EUC_JP_E7_8E */ + 10, 10, 10, 10, 0, 10, 10, 1, 10, 2, 10, 3, 10, 10, 10, 10, + 10, 10, 10, 10, 10, 10, 4, 10, 10, 10, 10, 10, 10, 10, 10, 10, + 10, 10, 10, 10, 10, 10, 10, 10, 10, 5, 10, 10, 10, 10, 10, 10, + 10, 10, 6, 7, 10, 10, 10, 10, 10, 10, 10, 8, 10, 9, 10, 10, +}; +static const struct byte_lookup* const +to_SHIFT_JIS_E7_8E_infos[11] = { + o2(0x8C,0xBA), o2(0x97,0xA6), o2(0x8B,0xCA), o2(0x89,0xA4), + o2(0x8B,0xE8), o2(0x8A,0xDF), o2(0x97,0xE6), o2(0xE0,0xDC), + o2(0xE0,0xDE), o2(0xFB,0x60), UNDEF, +}; +static const BYTE_LOOKUP +to_SHIFT_JIS_E7_8E = { + to_SHIFT_JIS_E7_8E_offsets, + to_SHIFT_JIS_E7_8E_infos +}; + +static const unsigned char +to_SHIFT_JIS_E7_8F_offsets[64] = { + /* used from to_SHIFT_JIS_E7_8F */ + /* used from to_EUC_JP_E7_8F */ + 0, 20, 1, 20, 20, 20, 20, 20, 2, 3, 4, 20, 20, 5, 6, 20, + 20, 20, 7, 20, 20, 20, 8, 20, 20, 20, 20, 20, 20, 20, 9, 20, + 10, 20, 20, 11, 20, 12, 20, 20, 20, 20, 13, 20, 20, 14, 15, 20, + 20, 16, 20, 20, 20, 17, 20, 20, 18, 20, 20, 20, 20, 20, 19, 20, +}; +static const struct byte_lookup* const +to_SHIFT_JIS_E7_8F_infos[21] = { + o2(0xE0,0xDF), o2(0x89,0xCF), o2(0xE0,0xDB), o2(0xFB,0x61), + o2(0x8E,0x58), o2(0x92,0xBF), o2(0xE0,0xDD), o2(0xFB,0x64), + o2(0xFB,0x62), o2(0xE0,0xE2), o2(0x8E,0xEC), o2(0xFB,0x63), + o2(0xE0,0xE0), o2(0x8C,0x5D), o2(0x94,0xC7), o2(0xE0,0xE1), + o2(0xE0,0xFC), o2(0xFB,0x66), o2(0xE0,0xE7), o2(0x8C,0xBB), + UNDEF, +}; +static const BYTE_LOOKUP +to_SHIFT_JIS_E7_8F = { + to_SHIFT_JIS_E7_8F_offsets, + to_SHIFT_JIS_E7_8F_infos +}; + +static const unsigned char +to_SHIFT_JIS_E7_90_offsets[64] = { + /* used from to_SHIFT_JIS_E7_90 */ + /* used from to_EUC_JP_E7_90 */ + 18, 18, 18, 0, 18, 1, 2, 3, 18, 4, 18, 18, 18, 18, 18, 18, + 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, + 18, 18, 5, 18, 18, 6, 7, 18, 18, 8, 9, 18, 18, 18, 10, 18, + 18, 18, 11, 12, 13, 14, 15, 18, 18, 18, 16, 18, 18, 18, 18, 17, +}; +static const struct byte_lookup* const +to_SHIFT_JIS_E7_90_infos[19] = { + o2(0x8B,0x85), o2(0xE0,0xE4), o2(0x97,0x9D), o2(0xFB,0x65), + o2(0x97,0xAE), o2(0x91,0xF4), o2(0xE0,0xE6), o2(0xFB,0x67), + o2(0xFB,0x69), o2(0xFB,0x68), o2(0xFB,0x6A), o2(0xE0,0xE8), + o2(0x97,0xD4), o2(0x8B,0xD5), o2(0x94,0xFA), o2(0x94,0x69), + o2(0xE0,0xE9), o2(0xE0,0xEB), UNDEF, +}; +static const BYTE_LOOKUP +to_SHIFT_JIS_E7_90 = { + to_SHIFT_JIS_E7_90_offsets, + to_SHIFT_JIS_E7_90_infos +}; + +static const unsigned char +to_SHIFT_JIS_E7_91_offsets[64] = { + /* used from to_SHIFT_JIS_E7_91 */ + /* used from to_EUC_JP_E7_91 */ + 19, 0, 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, + 19, 19, 19, 19, 19, 1, 19, 19, 19, 2, 3, 4, 5, 19, 6, 7, + 8, 19, 9, 10, 11, 19, 19, 19, 19, 12, 13, 19, 19, 19, 19, 14, + 15, 19, 19, 16, 19, 19, 17, 19, 19, 19, 19, 19, 19, 19, 18, 19, +}; +static const struct byte_lookup* const +to_SHIFT_JIS_E7_91_infos[20] = { + o2(0xE0,0xEE), o2(0xE0,0xEA), o2(0xE0,0xED), o2(0x8C,0xE8), + o2(0x89,0x6C), o2(0xE0,0xEF), o2(0x90,0x90), o2(0xE0,0xEC), + o2(0x97,0xDA), o2(0xFB,0x6B), o2(0xE0,0xF2), o2(0xEA,0xA2), + o2(0xE0,0xF0), o2(0xE0,0xF3), o2(0xE0,0xE5), o2(0xE0,0xF1), + o2(0x8D,0xBA), o2(0xE0,0xF4), o2(0xE0,0xF5), UNDEF, +}; +static const BYTE_LOOKUP +to_SHIFT_JIS_E7_91 = { + to_SHIFT_JIS_E7_91_offsets, + to_SHIFT_JIS_E7_91_infos +}; + +static const unsigned char +to_SHIFT_JIS_E7_92_offsets[64] = { + /* used from to_SHIFT_JIS_E7_92 */ + /* used from to_EUC_JP_E7_92 */ + 9, 9, 9, 0, 9, 9, 9, 9, 9, 1, 9, 2, 9, 9, 9, 9, + 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 3, 4, + 9, 9, 5, 9, 9, 9, 9, 6, 9, 9, 9, 9, 9, 9, 9, 9, + 7, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 8, 9, 9, +}; +static const struct byte_lookup* const +to_SHIFT_JIS_E7_92_infos[10] = { + o2(0x97,0x9E), o2(0xFB,0x6C), o2(0xE0,0xF6), o2(0xE0,0xF7), + o2(0xFB,0x6D), o2(0xE0,0xE3), o2(0xE0,0xF8), o2(0x8A,0xC2), + o2(0x8E,0xA3), UNDEF, +}; +static const BYTE_LOOKUP +to_SHIFT_JIS_E7_92 = { + to_SHIFT_JIS_E7_92_offsets, + to_SHIFT_JIS_E7_92_infos +}; + +static const unsigned char +to_SHIFT_JIS_E7_93_offsets[64] = { + /* used from to_SHIFT_JIS_E7_93 */ + /* used from to_EUC_JP_E7_93 */ + 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 0, 17, 17, 17, 17, 1, + 17, 17, 17, 17, 2, 17, 17, 17, 17, 17, 17, 17, 3, 17, 17, 17, + 4, 17, 5, 6, 17, 17, 7, 8, 17, 9, 17, 17, 17, 17, 10, 17, + 11, 12, 13, 17, 17, 17, 14, 15, 16, 17, 17, 17, 17, 17, 17, 17, +}; +static const struct byte_lookup* const +to_SHIFT_JIS_E7_93_infos[18] = { + o2(0xE0,0xF9), o2(0xE0,0xFA), o2(0xE0,0xFB), o2(0x89,0x5A), + o2(0xE1,0x40), o2(0x95,0x5A), o2(0xE1,0x41), o2(0x8A,0xA2), + o2(0xE1,0x42), o2(0xE1,0x43), o2(0xE1,0x44), o2(0xE1,0x46), + o2(0xE1,0x47), o2(0xE1,0x45), o2(0x95,0x72), o2(0xE1,0x49), + o2(0xE1,0x48), UNDEF, +}; +static const BYTE_LOOKUP +to_SHIFT_JIS_E7_93 = { + to_SHIFT_JIS_E7_93_offsets, + to_SHIFT_JIS_E7_93_infos +}; + +static const unsigned char +to_SHIFT_JIS_E7_94_offsets[64] = { + /* used from to_SHIFT_JIS_E7_94 */ + /* used from to_EUC_JP_E7_94 */ + 31, 0, 31, 1, 2, 3, 31, 31, 31, 31, 31, 31, 4, 5, 6, 31, + 31, 7, 31, 8, 31, 9, 31, 31, 10, 31, 11, 31, 12, 31, 13, 14, + 31, 31, 31, 15, 31, 16, 17, 31, 18, 31, 31, 19, 20, 31, 31, 21, + 22, 23, 24, 25, 31, 31, 31, 26, 27, 31, 28, 29, 30, 31, 31, 31, +}; +static const struct byte_lookup* const +to_SHIFT_JIS_E7_94_infos[32] = { + o2(0xFB,0x6E), o2(0xE1,0x4B), o2(0xE1,0x4A), o2(0xE1,0x4C), + o2(0xE1,0x4D), o2(0xE1,0x4F), o2(0xE1,0x4E), o2(0x8D,0x99), + o2(0xE1,0x51), o2(0xE1,0x50), o2(0x8A,0xC3), o2(0x90,0x72), + o2(0x93,0x5B), o2(0xE1,0x52), o2(0x90,0xB6), o2(0x8E,0x59), + o2(0x89,0x99), o2(0xE1,0x53), o2(0x97,0x70), o2(0x95,0xE1), + o2(0xE1,0x54), o2(0xFA,0xA8), o2(0x93,0x63), o2(0x97,0x52), + o2(0x8D,0x62), o2(0x90,0x5C), o2(0x92,0x6A), o2(0x99,0xB2), + o2(0x92,0xAC), o2(0x89,0xE6), o2(0xE1,0x55), UNDEF, +}; +static const BYTE_LOOKUP +to_SHIFT_JIS_E7_94 = { + to_SHIFT_JIS_E7_94_offsets, + to_SHIFT_JIS_E7_94_infos +}; + +static const unsigned char +to_SHIFT_JIS_E7_95_offsets[64] = { + /* used from to_SHIFT_JIS_E7_95 */ + /* used from to_EUC_JP_E7_95 */ + 33, 33, 33, 33, 0, 33, 1, 33, 33, 2, 3, 4, 5, 6, 33, 7, + 33, 8, 33, 33, 9, 33, 33, 33, 33, 10, 11, 12, 13, 14, 33, 33, + 15, 33, 16, 33, 17, 18, 19, 20, 33, 21, 22, 23, 33, 24, 33, 25, + 26, 33, 33, 27, 28, 33, 29, 30, 31, 33, 33, 33, 33, 33, 33, 32, +}; +static const struct byte_lookup* const +to_SHIFT_JIS_E7_95_infos[34] = { + o2(0xE1,0x56), o2(0xE1,0x5B), o2(0xE1,0x59), o2(0xE1,0x58), + o2(0x9D,0xC0), o2(0x8A,0x45), o2(0xE1,0x57), o2(0x88,0xD8), + o2(0x94,0xA8), o2(0x94,0xC8), o2(0x97,0xAF), o2(0xE1,0x5C), + o2(0xE1,0x5A), o2(0x92,0x7B), o2(0x90,0xA4), o2(0x94,0xA9), + o2(0x95,0x4C), o2(0xE1,0x5E), o2(0x97,0xAA), o2(0x8C,0x6C), + o2(0xE1,0x5F), o2(0xE1,0x5D), o2(0x94,0xD4), o2(0xE1,0x60), + o2(0xE1,0x61), o2(0xFB,0x6F), o2(0x88,0xD9), o2(0x8F,0xF4), + o2(0xE1,0x66), o2(0xE1,0x63), o2(0x93,0xEB), o2(0xE1,0x62), + o2(0x8B,0x45), UNDEF, +}; +static const BYTE_LOOKUP +to_SHIFT_JIS_E7_95 = { + to_SHIFT_JIS_E7_95_offsets, + to_SHIFT_JIS_E7_95_infos +}; + +static const unsigned char +to_SHIFT_JIS_E7_96_offsets[64] = { + /* used from to_SHIFT_JIS_E7_96 */ + /* used from to_EUC_JP_E7_96 */ + 24, 24, 0, 24, 24, 24, 1, 2, 24, 3, 4, 5, 24, 24, 6, 7, + 24, 8, 24, 24, 9, 24, 24, 24, 24, 24, 10, 24, 24, 11, 24, 24, + 24, 24, 24, 12, 24, 13, 24, 24, 24, 24, 24, 14, 24, 24, 24, 24, + 24, 15, 16, 17, 24, 18, 24, 24, 19, 20, 24, 24, 21, 22, 23, 24, +}; +static const struct byte_lookup* const +to_SHIFT_JIS_E7_96_infos[25] = { + o2(0xE1,0x69), o2(0xE1,0x64), o2(0xE1,0x65), o2(0xE1,0x68), + o2(0xE1,0x67), o2(0x95,0x44), o2(0x91,0x61), o2(0x91,0x60), + o2(0x8B,0x5E), o2(0xE1,0x6A), o2(0xE1,0x6B), o2(0xE1,0x6C), + o2(0xE1,0x6E), o2(0xE1,0x6D), o2(0x89,0x75), o2(0xE1,0x76), + o2(0x94,0xE6), o2(0xE1,0x70), o2(0xE1,0x72), o2(0xE1,0x74), + o2(0x90,0x5D), o2(0xE1,0x75), o2(0xE1,0x73), o2(0x8E,0xBE), + UNDEF, +}; +static const BYTE_LOOKUP +to_SHIFT_JIS_E7_96 = { + to_SHIFT_JIS_E7_96_offsets, + to_SHIFT_JIS_E7_96_infos +}; + +static const unsigned char +to_SHIFT_JIS_E7_97_offsets[64] = { + /* used from to_SHIFT_JIS_E7_97 */ + /* used from to_EUC_JP_E7_97 */ + 24, 24, 0, 1, 24, 2, 24, 3, 24, 24, 4, 24, 24, 5, 24, 24, + 24, 24, 6, 24, 7, 8, 24, 24, 9, 10, 24, 11, 24, 24, 12, 24, + 24, 24, 13, 14, 24, 24, 24, 24, 24, 15, 24, 24, 24, 24, 24, 24, + 16, 24, 17, 18, 19, 24, 24, 24, 24, 24, 20, 24, 21, 24, 22, 23, +}; +static const struct byte_lookup* const +to_SHIFT_JIS_E7_97_infos[25] = { + o2(0xE1,0x6F), o2(0xE1,0x71), o2(0x95,0x61), o2(0x8F,0xC7), + o2(0xE1,0x78), o2(0xE1,0x77), o2(0xE1,0x79), o2(0x8E,0xA4), + o2(0x8D,0xAD), o2(0x93,0x97), o2(0xE1,0x7A), o2(0x92,0xC9), + o2(0xE1,0x7C), o2(0x97,0x9F), o2(0xE1,0x7B), o2(0x91,0x89), + o2(0xE1,0x82), o2(0xE1,0x84), o2(0xE1,0x85), o2(0x92,0x73), + o2(0xE1,0x83), o2(0xE1,0x80), o2(0xE1,0x7D), o2(0xE1,0x7E), + UNDEF, +}; +static const BYTE_LOOKUP +to_SHIFT_JIS_E7_97 = { + to_SHIFT_JIS_E7_97_offsets, + to_SHIFT_JIS_E7_97_infos +}; + +static const unsigned char +to_SHIFT_JIS_E7_98_offsets[64] = { + /* used from to_SHIFT_JIS_E7_98 */ + /* used from to_EUC_JP_E7_98 */ + 13, 0, 13, 13, 13, 13, 13, 13, 13, 1, 13, 2, 13, 3, 13, 13, + 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 4, + 5, 6, 7, 13, 8, 13, 13, 9, 13, 13, 13, 13, 13, 13, 13, 13, + 10, 13, 13, 13, 11, 13, 13, 13, 13, 13, 13, 12, 13, 13, 13, 13, +}; +static const struct byte_lookup* const +to_SHIFT_JIS_E7_98_infos[14] = { + o2(0xE1,0x81), o2(0xE1,0x88), o2(0xE1,0x86), o2(0xE1,0x87), + o2(0xE1,0x89), o2(0xE1,0x8B), o2(0xE1,0x8C), o2(0xE1,0x8D), + o2(0xE1,0x8E), o2(0xE1,0x8A), o2(0xE1,0x90), o2(0xE1,0x8F), + o2(0xE1,0x91), UNDEF, +}; +static const BYTE_LOOKUP +to_SHIFT_JIS_E7_98 = { + to_SHIFT_JIS_E7_98_offsets, + to_SHIFT_JIS_E7_98_infos +}; + +static const unsigned char +to_SHIFT_JIS_E7_99_offsets[64] = { + /* used from to_SHIFT_JIS_E7_99 */ + /* used from to_EUC_JP_E7_99 */ + 25, 25, 0, 25, 25, 25, 1, 2, 3, 25, 25, 25, 4, 25, 25, 25, + 25, 25, 5, 25, 25, 25, 6, 25, 7, 25, 25, 25, 8, 25, 25, 25, + 25, 9, 10, 25, 25, 25, 25, 11, 12, 13, 14, 25, 15, 25, 25, 25, + 16, 25, 17, 25, 25, 25, 18, 25, 19, 25, 20, 21, 22, 23, 24, 25, +}; +static const struct byte_lookup* const +to_SHIFT_JIS_E7_99_infos[26] = { + o2(0x97,0xC3), o2(0xE1,0x94), o2(0xE1,0x92), o2(0xE1,0x93), + o2(0x8A,0xE0), o2(0x96,0xFC), o2(0x95,0xC8), o2(0xE1,0x96), + o2(0xE1,0x95), o2(0xE1,0x97), o2(0xE1,0x98), o2(0xE1,0x9C), + o2(0xE1,0x99), o2(0xE1,0x9A), o2(0xE1,0x9B), o2(0xE1,0x9D), + o2(0xE1,0x9E), o2(0xE1,0x9F), o2(0xE1,0xA0), o2(0xE1,0xA1), + o2(0x94,0xAD), o2(0x93,0x6F), o2(0xE1,0xA2), o2(0x94,0x92), + o2(0x95,0x53), UNDEF, +}; +static const BYTE_LOOKUP +to_SHIFT_JIS_E7_99 = { + to_SHIFT_JIS_E7_99_offsets, + to_SHIFT_JIS_E7_99_infos +}; + +static const unsigned char +to_SHIFT_JIS_E7_9A_offsets[64] = { + /* used from to_SHIFT_JIS_E7_9A */ + /* used from to_EUC_JP_E7_9A */ + 0, 26, 1, 2, 3, 26, 4, 5, 6, 26, 26, 7, 26, 26, 8, 26, + 9, 26, 26, 10, 26, 26, 11, 26, 26, 12, 13, 14, 15, 26, 16, 26, + 26, 26, 26, 26, 26, 26, 17, 26, 26, 26, 26, 26, 26, 26, 18, 26, + 19, 26, 26, 26, 20, 26, 26, 21, 22, 23, 24, 26, 26, 26, 26, 25, +}; +static const struct byte_lookup* const +to_SHIFT_JIS_E7_9A_infos[27] = { + o2(0xE1,0xA3), o2(0xFB,0x70), o2(0xE1,0xA4), o2(0x93,0x49), + o2(0x8A,0x46), o2(0x8D,0x63), o2(0xE1,0xA5), o2(0xE1,0xA6), + o2(0xE1,0xA7), o2(0x8E,0x48), o2(0xE1,0xA9), o2(0xE1,0xA8), + o2(0xE1,0xAA), o2(0xE1,0xAB), o2(0xFB,0x73), o2(0xFB,0x71), + o2(0xFB,0x72), o2(0xFB,0x74), o2(0x94,0xE7), o2(0xE1,0xAC), + o2(0xE1,0xAD), o2(0xEA,0x89), o2(0xE1,0xAE), o2(0xE1,0xAF), + o2(0xE1,0xB0), o2(0x8E,0x4D), UNDEF, +}; +static const BYTE_LOOKUP +to_SHIFT_JIS_E7_9A = { + to_SHIFT_JIS_E7_9A_offsets, + to_SHIFT_JIS_E7_9A_infos +}; + +static const unsigned char +to_SHIFT_JIS_E7_9B_offsets[64] = { + /* used from to_SHIFT_JIS_E7_9B */ + /* used from to_EUC_JP_E7_9B */ + 25, 25, 0, 1, 25, 25, 2, 25, 3, 25, 4, 25, 25, 5, 25, 25, + 25, 25, 6, 25, 25, 25, 7, 8, 25, 25, 25, 9, 10, 25, 11, 12, + 25, 13, 25, 14, 15, 16, 25, 17, 25, 25, 18, 25, 25, 25, 19, 25, + 25, 25, 20, 25, 21, 25, 25, 25, 22, 25, 25, 23, 25, 25, 24, 25, +}; +static const struct byte_lookup* const +to_SHIFT_JIS_E7_9B_infos[26] = { + o2(0xE1,0xB1), o2(0x94,0x75), o2(0x96,0x7E), o2(0x89,0x6D), + o2(0x89,0x76), o2(0xE1,0xB2), o2(0xE1,0xB4), o2(0xE1,0xB3), + o2(0x93,0x90), o2(0x90,0xB7), o2(0x9F,0x58), o2(0xE1,0xB5), + o2(0x96,0xBF), o2(0xE1,0xB6), o2(0x8A,0xC4), o2(0x94,0xD5), + o2(0xE1,0xB7), o2(0xE1,0xB8), o2(0xE1,0xB9), o2(0x96,0xDA), + o2(0x96,0xD3), o2(0x92,0xBC), o2(0x91,0x8A), o2(0xE1,0xBB), + o2(0x8F,0x82), UNDEF, +}; +static const BYTE_LOOKUP +to_SHIFT_JIS_E7_9B = { + to_SHIFT_JIS_E7_9B_offsets, + to_SHIFT_JIS_E7_9B_infos +}; + +static const unsigned char +to_SHIFT_JIS_E7_9C_offsets[64] = { + /* used from to_SHIFT_JIS_E7_9C */ + /* used from to_EUC_JP_E7_9C */ + 19, 0, 19, 19, 1, 19, 19, 2, 3, 4, 19, 5, 6, 19, 19, 19, + 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, 7, 19, 19, 8, 9, + 10, 19, 19, 19, 11, 12, 13, 19, 19, 14, 19, 19, 19, 19, 19, 19, + 19, 19, 19, 19, 19, 19, 19, 15, 16, 19, 17, 19, 18, 19, 19, 19, +}; +static const struct byte_lookup* const +to_SHIFT_JIS_E7_9C_infos[20] = { + o2(0x8F,0xC8), o2(0xE1,0xBE), o2(0xE1,0xBD), o2(0xE1,0xBC), + o2(0x94,0xFB), o2(0x8A,0xC5), o2(0x8C,0xA7), o2(0xE1,0xC4), + o2(0xE1,0xC1), o2(0x90,0x5E), o2(0x96,0xB0), o2(0xE1,0xC0), + o2(0xE1,0xC2), o2(0xE1,0xC3), o2(0xE1,0xBF), o2(0xE1,0xC5), + o2(0xE1,0xC6), o2(0x92,0xAD), o2(0x8A,0xE1), UNDEF, +}; +static const BYTE_LOOKUP +to_SHIFT_JIS_E7_9C = { + to_SHIFT_JIS_E7_9C_offsets, + to_SHIFT_JIS_E7_9C_infos +}; + +static const unsigned char +to_SHIFT_JIS_E7_9D_offsets[64] = { + /* used from to_SHIFT_JIS_E7_9D */ + /* used from to_EUC_JP_E7_9D */ + 0, 14, 14, 14, 14, 14, 1, 2, 14, 14, 14, 14, 14, 14, 14, 14, + 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 3, 4, 14, 14, 14, 14, + 14, 5, 14, 6, 14, 7, 8, 14, 9, 14, 14, 10, 14, 14, 14, 14, + 14, 14, 14, 14, 14, 14, 14, 14, 14, 11, 14, 14, 14, 14, 12, 13, +}; +static const struct byte_lookup* const +to_SHIFT_JIS_E7_9D_infos[15] = { + o2(0x92,0x85), o2(0xFB,0x76), o2(0xE1,0xC7), o2(0xE1,0xC8), + o2(0xE1,0xCB), o2(0x90,0x87), o2(0x93,0xC2), o2(0xE1,0xCC), + o2(0x96,0x72), o2(0xE1,0xC9), o2(0xE1,0xCA), o2(0xE1,0xCF), + o2(0xE1,0xCE), o2(0xE1,0xCD), UNDEF, +}; +static const BYTE_LOOKUP +to_SHIFT_JIS_E7_9D = { + to_SHIFT_JIS_E7_9D_offsets, + to_SHIFT_JIS_E7_9D_infos +}; + +static const unsigned char +to_SHIFT_JIS_E7_9E_offsets[64] = { + /* used from to_SHIFT_JIS_E7_9E */ + /* used from to_EUC_JP_E7_9E */ + 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 0, 16, 16, 1, 16, + 16, 2, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 3, 16, + 4, 16, 16, 16, 16, 5, 16, 16, 16, 16, 16, 16, 6, 7, 16, 16, + 8, 16, 16, 9, 16, 16, 10, 16, 16, 11, 16, 12, 13, 14, 16, 15, +}; +static const struct byte_lookup* const +to_SHIFT_JIS_E7_9E_infos[17] = { + o2(0xE1,0xD1), o2(0xE1,0xD0), o2(0xE1,0xD2), o2(0xE1,0xD4), + o2(0xE1,0xD3), o2(0x95,0xCB), o2(0x8F,0x75), o2(0x97,0xC4), + o2(0xE1,0xD5), o2(0x93,0xB5), o2(0xE1,0xD6), o2(0xE1,0xD7), + o2(0xE1,0xDB), o2(0xE1,0xD9), o2(0xE1,0xDA), o2(0xE1,0xD8), + UNDEF, +}; +static const BYTE_LOOKUP +to_SHIFT_JIS_E7_9E = { + to_SHIFT_JIS_E7_9E_offsets, + to_SHIFT_JIS_E7_9E_infos +}; + +static const unsigned char +to_SHIFT_JIS_E7_9F_offsets[64] = { + /* used from to_SHIFT_JIS_E7_9F */ + /* used from to_EUC_JP_E7_9F */ + 16, 16, 16, 16, 16, 16, 16, 0, 16, 16, 16, 16, 16, 1, 16, 16, + 16, 16, 16, 16, 16, 16, 16, 2, 16, 16, 3, 4, 5, 16, 16, 16, + 16, 16, 6, 7, 16, 8, 16, 9, 16, 10, 16, 16, 16, 11, 12, 13, + 16, 16, 16, 14, 16, 16, 16, 16, 16, 16, 16, 16, 15, 16, 16, 16, +}; +static const struct byte_lookup* const +to_SHIFT_JIS_E7_9F_infos[17] = { + o2(0xE1,0xDC), o2(0xE1,0xDD), o2(0xE1,0xDE), o2(0xE1,0xDF), + o2(0x96,0xB5), o2(0xE1,0xE0), o2(0x96,0xEE), o2(0xE1,0xE1), + o2(0x92,0x6D), o2(0x94,0x8A), o2(0x8B,0xE9), o2(0x92,0x5A), + o2(0xE1,0xE2), o2(0x8B,0xB8), o2(0x90,0xCE), o2(0xE1,0xE3), + UNDEF, +}; +static const BYTE_LOOKUP +to_SHIFT_JIS_E7_9F = { + to_SHIFT_JIS_E7_9F_offsets, + to_SHIFT_JIS_E7_9F_infos +}; + +static const unsigned char +to_SHIFT_JIS_E7_A0_offsets[64] = { + /* used from to_SHIFT_JIS_E7_A0 */ + /* used from to_EUC_JP_E7_A0 */ + 14, 14, 0, 14, 14, 14, 14, 14, 14, 14, 14, 14, 1, 14, 14, 14, + 14, 14, 2, 14, 3, 4, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, + 5, 6, 14, 14, 14, 7, 8, 9, 14, 14, 14, 14, 14, 14, 14, 14, + 14, 14, 10, 14, 11, 14, 14, 14, 14, 14, 12, 14, 14, 14, 14, 13, +}; +static const struct byte_lookup* const +to_SHIFT_JIS_E7_A0_infos[15] = { + o2(0x8D,0xBB), o2(0xE1,0xE4), o2(0xE1,0xE5), o2(0x8C,0xA4), + o2(0x8D,0xD3), o2(0xE1,0xE7), o2(0xFB,0x78), o2(0x93,0x75), + o2(0x8D,0xD4), o2(0x8B,0x6D), o2(0x96,0x43), o2(0x94,0x6A), + o2(0x93,0x76), o2(0x8D,0x7B), UNDEF, +}; +static const BYTE_LOOKUP +to_SHIFT_JIS_E7_A0 = { + to_SHIFT_JIS_E7_A0_offsets, + to_SHIFT_JIS_E7_A0_infos +}; + +static const unsigned char +to_SHIFT_JIS_E7_A1_offsets[64] = { + /* used from to_SHIFT_JIS_E7_A1 */ + /* used from to_EUC_JP_E7_A1 */ + 11, 11, 11, 11, 11, 0, 11, 11, 11, 11, 11, 11, 11, 11, 1, 11, + 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 2, 11, 11, + 11, 11, 11, 11, 3, 11, 11, 11, 11, 11, 11, 4, 5, 11, 11, 6, + 11, 11, 7, 11, 8, 11, 11, 11, 11, 11, 9, 11, 10, 11, 11, 11, +}; +static const struct byte_lookup* const +to_SHIFT_JIS_E7_A1_infos[12] = { + o2(0xE1,0xE9), o2(0xFB,0x79), o2(0x8F,0xC9), o2(0xFB,0x7A), + o2(0x97,0xB0), o2(0x8D,0x64), o2(0x8C,0xA5), o2(0x94,0xA1), + o2(0xE1,0xEB), o2(0xFB,0x7B), o2(0xE1,0xED), UNDEF, +}; +static const BYTE_LOOKUP +to_SHIFT_JIS_E7_A1 = { + to_SHIFT_JIS_E7_A1_offsets, + to_SHIFT_JIS_E7_A1_infos +}; + +static const unsigned char +to_SHIFT_JIS_E7_A2_offsets[64] = { + /* used from to_SHIFT_JIS_E7_A2 */ + /* used from to_EUC_JP_E7_A2 */ + 20, 0, 20, 20, 20, 20, 1, 2, 20, 20, 20, 20, 3, 4, 5, 20, + 20, 6, 20, 7, 20, 8, 20, 9, 20, 20, 10, 20, 20, 20, 20, 20, + 20, 20, 20, 11, 20, 20, 20, 12, 20, 13, 14, 20, 20, 20, 20, 15, + 20, 20, 20, 20, 20, 16, 20, 20, 20, 20, 17, 20, 18, 20, 19, 20, +}; +static const struct byte_lookup* const +to_SHIFT_JIS_E7_A2_infos[21] = { + o2(0x8C,0xE9), o2(0xE1,0xEC), o2(0x92,0xF4), o2(0xE1,0xEF), + o2(0x8A,0x56), o2(0xE1,0xEA), o2(0x94,0xE8), o2(0x89,0x4F), + o2(0x8D,0xEA), o2(0x98,0x71), o2(0xE1,0xEE), o2(0xE1,0xF0), + o2(0x95,0xC9), o2(0x90,0xD7), o2(0xE1,0xF2), o2(0xE1,0xF3), + o2(0xE1,0xF1), o2(0x8A,0x6D), o2(0xE1,0xF9), o2(0xE1,0xF8), + UNDEF, +}; +static const BYTE_LOOKUP +to_SHIFT_JIS_E7_A2 = { + to_SHIFT_JIS_E7_A2_offsets, + to_SHIFT_JIS_E7_A2_infos +}; + +static const unsigned char +to_SHIFT_JIS_E7_A3_offsets[64] = { + /* used from to_SHIFT_JIS_E7_A3 */ + /* used from to_EUC_JP_E7_A3 */ + 15, 0, 15, 15, 15, 1, 2, 15, 15, 15, 3, 4, 15, 15, 15, 15, + 5, 6, 15, 15, 7, 15, 15, 15, 15, 15, 8, 15, 15, 15, 15, 15, + 15, 15, 15, 15, 15, 15, 15, 9, 10, 15, 15, 15, 11, 15, 15, 12, + 15, 15, 15, 15, 13, 15, 15, 15, 15, 15, 15, 15, 15, 14, 15, 15, +}; +static const struct byte_lookup* const +to_SHIFT_JIS_E7_A3_infos[16] = { + o2(0x8E,0xA5), o2(0xE1,0xFA), o2(0xE1,0xF5), o2(0xE1,0xFB), + o2(0xE1,0xF6), o2(0x94,0xD6), o2(0xE1,0xF4), o2(0xE1,0xF7), + o2(0xE2,0x41), o2(0xE2,0x40), o2(0x96,0x81), o2(0xE1,0xFC), + o2(0x88,0xE9), o2(0xE2,0x43), o2(0xE2,0x42), UNDEF, +}; +static const BYTE_LOOKUP +to_SHIFT_JIS_E7_A3 = { + to_SHIFT_JIS_E7_A3_offsets, + to_SHIFT_JIS_E7_A3_infos +}; + +static const unsigned char +to_SHIFT_JIS_E7_A4_offsets[64] = { + /* used from to_SHIFT_JIS_E7_A4 */ + /* used from to_EUC_JP_E7_A4 */ + 14, 0, 14, 14, 14, 14, 14, 1, 14, 14, 14, 14, 14, 14, 2, 14, + 14, 3, 4, 14, 14, 14, 14, 14, 14, 5, 14, 14, 14, 14, 14, 14, + 14, 14, 14, 14, 14, 14, 6, 14, 14, 14, 7, 8, 9, 14, 14, 14, + 10, 14, 14, 14, 14, 14, 14, 14, 14, 14, 11, 14, 12, 14, 13, 14, +}; +static const struct byte_lookup* const +to_SHIFT_JIS_E7_A4_infos[15] = { + o2(0x8F,0xCA), o2(0xE2,0x44), o2(0x91,0x62), o2(0xE2,0x46), + o2(0xE2,0x45), o2(0xE2,0x47), o2(0xE1,0xE6), o2(0xE1,0xE8), + o2(0xE2,0x49), o2(0xE2,0x48), o2(0xFB,0x7C), o2(0x8E,0xA6), + o2(0x97,0xE7), o2(0x8E,0xD0), UNDEF, +}; +static const BYTE_LOOKUP +to_SHIFT_JIS_E7_A4 = { + to_SHIFT_JIS_E7_A4_offsets, + to_SHIFT_JIS_E7_A4_infos +}; + +static const unsigned char +to_SHIFT_JIS_E7_A5_offsets[64] = { + /* used from to_SHIFT_JIS_E7_A5 */ + /* used from to_EUC_JP_E7_A5 */ + 0, 1, 22, 22, 22, 22, 22, 2, 3, 4, 22, 22, 22, 22, 22, 22, + 5, 22, 22, 6, 22, 7, 8, 9, 22, 22, 10, 22, 22, 11, 12, 13, + 14, 22, 15, 22, 22, 16, 22, 22, 17, 22, 22, 22, 22, 18, 22, 22, + 22, 22, 22, 22, 22, 22, 22, 19, 22, 22, 20, 22, 22, 22, 22, 21, +}; +static const struct byte_lookup* const +to_SHIFT_JIS_E7_A5_infos[23] = { + o2(0xE2,0x4A), o2(0x8C,0x56), o2(0x8B,0x5F), o2(0x8B,0x46), + o2(0x8E,0x83), o2(0x97,0x53), o2(0xE2,0x50), o2(0xE2,0x4F), + o2(0x91,0x63), o2(0xE2,0x4C), o2(0xE2,0x4E), o2(0x8F,0x6A), + o2(0x90,0x5F), o2(0xE2,0x4D), o2(0xE2,0x4B), o2(0x94,0x49), + o2(0x8F,0xCB), o2(0x95,0x5B), o2(0x8D,0xD5), o2(0x93,0x98), + o2(0xE2,0x51), o2(0xE2,0x52), UNDEF, +}; +static const BYTE_LOOKUP +to_SHIFT_JIS_E7_A5 = { + to_SHIFT_JIS_E7_A5_offsets, + to_SHIFT_JIS_E7_A5_infos +}; + +static const unsigned char +to_SHIFT_JIS_E7_A6_offsets[64] = { + /* used from to_SHIFT_JIS_E7_A6 */ + /* used from to_EUC_JP_E7_A6 */ + 0, 1, 22, 22, 2, 3, 22, 22, 22, 22, 4, 22, 22, 5, 6, 7, + 22, 22, 22, 22, 8, 22, 22, 22, 22, 22, 22, 9, 22, 10, 22, 22, + 22, 22, 22, 22, 22, 22, 11, 12, 22, 22, 13, 22, 22, 22, 14, 22, + 15, 22, 22, 16, 22, 22, 22, 22, 22, 17, 18, 22, 22, 19, 20, 21, +}; +static const struct byte_lookup* const +to_SHIFT_JIS_E7_A6_infos[23] = { + o2(0xE2,0x68), o2(0x8B,0xD6), o2(0x98,0x5C), o2(0x91,0x54), + o2(0xE2,0x53), o2(0x89,0xD0), o2(0x92,0xF5), o2(0x95,0x9F), + o2(0xFB,0x81), o2(0xFB,0x83), o2(0xE2,0x54), o2(0x8B,0x9A), + o2(0xE2,0x55), o2(0xE2,0x57), o2(0xE2,0x58), o2(0x94,0x48), + o2(0xE2,0x59), o2(0xE2,0x5A), o2(0xE2,0x5B), o2(0x8B,0xD7), + o2(0x89,0xD1), o2(0x93,0xC3), UNDEF, +}; +static const BYTE_LOOKUP +to_SHIFT_JIS_E7_A6 = { + to_SHIFT_JIS_E7_A6_offsets, + to_SHIFT_JIS_E7_A6_infos +}; + +static const unsigned char +to_SHIFT_JIS_E7_A7_offsets[64] = { + /* used from to_SHIFT_JIS_E7_A7 */ + /* used from to_EUC_JP_E7_A7 */ + 0, 1, 18, 18, 18, 18, 18, 18, 18, 2, 18, 3, 18, 18, 18, 18, + 18, 4, 5, 18, 18, 6, 18, 18, 7, 18, 18, 18, 18, 18, 18, 8, + 18, 9, 18, 10, 11, 18, 12, 13, 18, 14, 18, 18, 15, 18, 18, 18, + 16, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 17, 18, 18, 18, 18, +}; +static const struct byte_lookup* const +to_SHIFT_JIS_E7_A7_infos[19] = { + o2(0x8F,0x47), o2(0x8E,0x84), o2(0xE2,0x5C), o2(0x8F,0x48), + o2(0x89,0xC8), o2(0x95,0x62), o2(0xE2,0x5D), o2(0x94,0xE9), + o2(0x91,0x64), o2(0xE2,0x60), o2(0xE2,0x61), o2(0x94,0x89), + o2(0x90,0x60), o2(0xE2,0x5E), o2(0x92,0x81), o2(0xE2,0x5F), + o2(0x8F,0xCC), o2(0x88,0xDA), UNDEF, +}; +static const BYTE_LOOKUP +to_SHIFT_JIS_E7_A7 = { + to_SHIFT_JIS_E7_A7_offsets, + to_SHIFT_JIS_E7_A7_infos +}; + +static const unsigned char +to_SHIFT_JIS_E7_A8_offsets[64] = { + /* used from to_SHIFT_JIS_E7_A8 */ + /* used from to_EUC_JP_E7_A8 */ + 0, 22, 22, 22, 22, 22, 22, 22, 1, 22, 22, 2, 22, 3, 4, 22, + 22, 22, 22, 22, 5, 22, 22, 6, 7, 8, 9, 22, 10, 22, 22, 11, + 12, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 13, 22, + 22, 14, 15, 22, 22, 22, 22, 16, 22, 22, 22, 17, 18, 19, 20, 21, +}; +static const struct byte_lookup* const +to_SHIFT_JIS_E7_A8_infos[23] = { + o2(0x8B,0x48), o2(0xE2,0x62), o2(0x92,0xF6), o2(0xE2,0x63), + o2(0x90,0xC5), o2(0x96,0xAB), o2(0x95,0x42), o2(0xE2,0x64), + o2(0xE2,0x65), o2(0x92,0x74), o2(0x97,0xC5), o2(0xE2,0x67), + o2(0xE2,0x66), o2(0x8E,0xED), o2(0xE2,0x69), o2(0x88,0xEE), + o2(0xE2,0x6C), o2(0xE2,0x6A), o2(0x89,0xD2), o2(0x8C,0x6D), + o2(0xE2,0x6B), o2(0x8D,0x65), UNDEF, +}; +static const BYTE_LOOKUP +to_SHIFT_JIS_E7_A8 = { + to_SHIFT_JIS_E7_A8_offsets, + to_SHIFT_JIS_E7_A8_infos +}; + +static const unsigned char +to_SHIFT_JIS_E7_A9_offsets[64] = { + /* used from to_SHIFT_JIS_E7_A9 */ + /* used from to_EUC_JP_E7_A9 */ + 0, 22, 1, 2, 22, 22, 3, 22, 22, 4, 22, 22, 22, 5, 6, 7, + 8, 22, 22, 22, 22, 22, 22, 9, 22, 22, 22, 22, 22, 22, 22, 22, + 22, 10, 11, 12, 22, 22, 22, 22, 22, 13, 22, 14, 22, 22, 22, 22, + 15, 22, 22, 22, 16, 22, 17, 22, 22, 18, 19, 22, 22, 20, 22, 21, +}; +static const struct byte_lookup* const +to_SHIFT_JIS_E7_A9_infos[23] = { + o2(0x8D,0x92), o2(0x95,0xE4), o2(0xE2,0x6D), o2(0x96,0x73), + o2(0xE2,0x6F), o2(0x90,0xCF), o2(0x89,0x6E), o2(0x89,0xB8), + o2(0x88,0xAA), o2(0xE2,0x6E), o2(0xE2,0x70), o2(0xE2,0x71), + o2(0x8F,0xF5), o2(0xE2,0x72), o2(0x8A,0x6E), o2(0xE2,0x74), + o2(0x8C,0x8A), o2(0x8B,0x86), o2(0xE2,0x75), o2(0x8B,0xF3), + o2(0xE2,0x76), o2(0x90,0xFA), UNDEF, +}; +static const BYTE_LOOKUP +to_SHIFT_JIS_E7_A9 = { + to_SHIFT_JIS_E7_A9_offsets, + to_SHIFT_JIS_E7_A9_infos +}; + +static const unsigned char +to_SHIFT_JIS_E7_AA_offsets[64] = { + /* used from to_SHIFT_JIS_E7_AA */ + /* used from to_EUC_JP_E7_AA */ + 19, 0, 19, 1, 2, 19, 19, 19, 3, 19, 19, 19, 19, 19, 19, 19, + 19, 19, 4, 5, 19, 6, 7, 8, 9, 19, 19, 19, 19, 19, 19, 10, + 19, 19, 19, 19, 19, 19, 19, 19, 19, 11, 12, 19, 19, 19, 13, 14, + 15, 19, 19, 19, 19, 19, 16, 19, 19, 19, 17, 19, 19, 19, 19, 18, +}; +static const struct byte_lookup* const +to_SHIFT_JIS_E7_AA_infos[20] = { + o2(0x93,0xCB), o2(0x90,0xDE), o2(0x8D,0xF3), o2(0xE2,0x77), + o2(0x92,0x82), o2(0x91,0x8B), o2(0xE2,0x79), o2(0xE2,0x7B), + o2(0xE2,0x78), o2(0xE2,0x7A), o2(0x8C,0x41), o2(0xE2,0x7C), + o2(0x8C,0x45), o2(0x8B,0x87), o2(0x97,0x71), o2(0xE2,0x7E), + o2(0xE2,0x80), o2(0x89,0x4D), o2(0xE2,0x83), UNDEF, +}; +static const BYTE_LOOKUP +to_SHIFT_JIS_E7_AA = { + to_SHIFT_JIS_E7_AA_offsets, + to_SHIFT_JIS_E7_AA_infos +}; + +static const unsigned char +to_SHIFT_JIS_E7_AB_offsets[64] = { + /* used from to_SHIFT_JIS_E7_AB */ + /* used from to_EUC_JP_E7_AB */ + 35, 35, 35, 0, 1, 2, 35, 3, 4, 35, 5, 6, 35, 7, 35, 8, + 35, 9, 10, 11, 35, 12, 35, 35, 35, 13, 14, 35, 15, 16, 35, 17, + 18, 19, 20, 21, 35, 22, 23, 24, 35, 35, 25, 26, 35, 27, 35, 28, + 29, 35, 35, 35, 35, 35, 30, 35, 31, 32, 33, 35, 35, 35, 35, 34, +}; +static const struct byte_lookup* const +to_SHIFT_JIS_E7_AB_infos[36] = { + o2(0x8A,0x96), o2(0xE2,0x82), o2(0xE2,0x81), o2(0xE2,0x85), + o2(0xE2,0x7D), o2(0xE2,0x86), o2(0x97,0xA7), o2(0xE2,0x87), + o2(0xE2,0x88), o2(0xFB,0x84), o2(0x9A,0xF2), o2(0xE2,0x8A), + o2(0xE2,0x89), o2(0xE2,0x8B), o2(0xE2,0x8C), o2(0x97,0xB3), + o2(0xE2,0x8D), o2(0xE8,0xED), o2(0x8F,0xCD), o2(0xE2,0x8E), + o2(0xE2,0x8F), o2(0x8F,0x76), o2(0x93,0xB6), o2(0xE2,0x90), + o2(0xFB,0x85), o2(0x92,0x47), o2(0xFB,0x87), o2(0xE2,0x91), + o2(0x92,0x5B), o2(0xE2,0x92), o2(0x8B,0xA3), o2(0x99,0x5E), + o2(0x92,0x7C), o2(0x8E,0xB1), o2(0x8A,0xC6), UNDEF, +}; +static const BYTE_LOOKUP +to_SHIFT_JIS_E7_AB = { + to_SHIFT_JIS_E7_AB_offsets, + to_SHIFT_JIS_E7_AB_infos +}; + +static const unsigned char +to_SHIFT_JIS_E7_AC_offsets[64] = { + /* used from to_SHIFT_JIS_E7_AC */ + /* used from to_EUC_JP_E7_AC */ + 21, 21, 0, 21, 1, 21, 2, 21, 3, 21, 4, 5, 21, 21, 21, 6, + 21, 7, 21, 21, 21, 21, 21, 21, 8, 9, 21, 10, 21, 21, 11, 21, + 12, 21, 21, 21, 21, 13, 14, 21, 15, 21, 21, 21, 16, 21, 21, 21, + 21, 21, 21, 17, 21, 18, 19, 21, 21, 20, 21, 21, 21, 21, 21, 21, +}; +static const struct byte_lookup* const +to_SHIFT_JIS_E7_AC_infos[22] = { + o2(0xE2,0x93), o2(0xE2,0xA0), o2(0xE2,0x96), o2(0x8B,0x88), + o2(0xE2,0x95), o2(0xE2,0xA2), o2(0xE2,0x94), o2(0x8F,0xCE), + o2(0xE2,0x98), o2(0xE2,0x99), o2(0x93,0x4A), o2(0xE2,0x9A), + o2(0x8A,0x7D), o2(0x90,0x79), o2(0x95,0x84), o2(0xE2,0x9C), + o2(0x91,0xE6), o2(0xE2,0x97), o2(0xE2,0x9B), o2(0xE2,0x9D), + o2(0x8D,0xF9), UNDEF, +}; +static const BYTE_LOOKUP +to_SHIFT_JIS_E7_AC = { + to_SHIFT_JIS_E7_AC_offsets, + to_SHIFT_JIS_E7_AC_infos +}; + +static const unsigned char +to_SHIFT_JIS_E7_AD_offsets[64] = { + /* used from to_SHIFT_JIS_E7_AD */ + /* used from to_EUC_JP_E7_AD */ + 23, 23, 23, 23, 23, 0, 1, 23, 2, 3, 23, 4, 5, 6, 23, 7, + 8, 9, 10, 23, 11, 23, 12, 23, 23, 23, 23, 23, 23, 13, 23, 23, + 23, 23, 23, 23, 23, 14, 23, 15, 23, 23, 23, 23, 16, 23, 17, 23, + 18, 19, 23, 23, 20, 21, 23, 23, 23, 23, 22, 23, 23, 23, 23, 23, +}; +static const struct byte_lookup* const +to_SHIFT_JIS_E7_AD_infos[24] = { + o2(0xE2,0xA4), o2(0x95,0x4D), o2(0x94,0xA4), o2(0x93,0x99), + o2(0x8B,0xD8), o2(0xE2,0xA3), o2(0xE2,0xA1), o2(0x94,0xB3), + o2(0xE2,0x9E), o2(0x92,0x7D), o2(0x93,0x9B), o2(0x93,0x9A), + o2(0x8D,0xF4), o2(0xE2,0xB6), o2(0xE2,0xA6), o2(0xE2,0xA8), + o2(0xE2,0xAB), o2(0xE2,0xAC), o2(0xE2,0xA9), o2(0xE2,0xAA), + o2(0xE2,0xA7), o2(0xE2,0xA5), o2(0xE2,0x9F), UNDEF, +}; +static const BYTE_LOOKUP +to_SHIFT_JIS_E7_AD = { + to_SHIFT_JIS_E7_AD_offsets, + to_SHIFT_JIS_E7_AD_infos +}; + +static const unsigned char +to_SHIFT_JIS_E7_AE_offsets[64] = { + /* used from to_SHIFT_JIS_E7_AE */ + /* used from to_EUC_JP_E7_AE */ + 22, 22, 22, 22, 22, 22, 0, 1, 22, 22, 22, 2, 22, 3, 22, 4, + 22, 22, 5, 22, 6, 7, 22, 8, 9, 10, 11, 22, 12, 13, 14, 15, + 22, 16, 22, 22, 22, 22, 22, 22, 22, 22, 17, 22, 22, 18, 22, 22, + 22, 19, 22, 22, 20, 22, 22, 22, 21, 22, 22, 22, 22, 22, 22, 22, +}; +static const struct byte_lookup* const +to_SHIFT_JIS_E7_AE_infos[23] = { + o2(0x95,0xCD), o2(0x89,0xD3), o2(0xE2,0xB3), o2(0xE2,0xB0), + o2(0xE2,0xB5), o2(0xE2,0xB4), o2(0x94,0x93), o2(0x96,0xA5), + o2(0x8E,0x5A), o2(0xE2,0xAE), o2(0xE2,0xB7), o2(0xE2,0xB2), + o2(0xE2,0xB1), o2(0xE2,0xAD), o2(0xFB,0x88), o2(0xE2,0xAF), + o2(0x8A,0xC7), o2(0x92,0x5C), o2(0x90,0xFB), o2(0x94,0xA0), + o2(0xE2,0xBC), o2(0x94,0xA2), UNDEF, +}; +static const BYTE_LOOKUP +to_SHIFT_JIS_E7_AE = { + to_SHIFT_JIS_E7_AE_offsets, + to_SHIFT_JIS_E7_AE_infos +}; + +static const unsigned char +to_SHIFT_JIS_E7_AF_offsets[64] = { + /* used from to_SHIFT_JIS_E7_AF */ + /* used from to_EUC_JP_E7_AF */ + 0, 1, 19, 19, 2, 19, 3, 4, 19, 5, 19, 6, 7, 19, 19, 8, + 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, 9, 19, 19, + 10, 19, 19, 19, 11, 12, 13, 19, 19, 14, 19, 19, 19, 15, 19, 19, + 19, 19, 19, 16, 19, 19, 17, 18, 19, 19, 19, 19, 19, 19, 19, 19, +}; +static const struct byte_lookup* const +to_SHIFT_JIS_E7_AF_infos[20] = { + o2(0x90,0xDF), o2(0xE2,0xB9), o2(0x94,0xCD), o2(0xE2,0xBD), + o2(0x95,0xD1), o2(0x92,0x7A), o2(0xE2,0xB8), o2(0xE2,0xBA), + o2(0xE2,0xBB), o2(0xE2,0xBE), o2(0x8E,0xC2), o2(0x93,0xC4), + o2(0xE2,0xC3), o2(0xE2,0xC2), o2(0xE2,0xBF), o2(0x98,0x55), + o2(0xE2,0xC8), o2(0xE2,0xCC), o2(0xE2,0xC9), UNDEF, +}; +static const BYTE_LOOKUP +to_SHIFT_JIS_E7_AF = { + to_SHIFT_JIS_E7_AF_offsets, + to_SHIFT_JIS_E7_AF_infos +}; + +static const unsigned char +to_SHIFT_JIS_E7_B0_offsets[64] = { + /* used from to_SHIFT_JIS_E7_B0 */ + /* used from to_EUC_JP_E7_B0 */ + 0, 19, 19, 19, 19, 19, 19, 1, 19, 19, 19, 19, 19, 2, 19, 19, + 19, 3, 4, 5, 6, 19, 19, 7, 19, 19, 19, 19, 19, 19, 19, 8, + 19, 9, 19, 10, 19, 19, 19, 11, 19, 19, 12, 13, 19, 19, 19, 19, + 19, 19, 19, 19, 19, 19, 19, 14, 15, 19, 19, 19, 19, 16, 17, 18, +}; +static const struct byte_lookup* const +to_SHIFT_JIS_E7_B0_infos[20] = { + o2(0xE2,0xC5), o2(0xE2,0xC6), o2(0xE2,0xCB), o2(0xE2,0xC0), + o2(0x99,0xD3), o2(0xE2,0xC7), o2(0xE2,0xC1), o2(0xE2,0xCA), + o2(0xE2,0xD0), o2(0x8A,0xC8), o2(0xE2,0xCD), o2(0xE2,0xCE), + o2(0xE2,0xCF), o2(0xE2,0xD2), o2(0xE2,0xD1), o2(0x94,0xF4), + o2(0xE2,0xD3), o2(0x97,0xFA), o2(0x95,0xEB), UNDEF, +}; +static const BYTE_LOOKUP +to_SHIFT_JIS_E7_B0 = { + to_SHIFT_JIS_E7_B0_offsets, + to_SHIFT_JIS_E7_B0_infos +}; + +static const unsigned char +to_SHIFT_JIS_E7_B1_offsets[64] = { + /* used from to_SHIFT_JIS_E7_B1 */ + /* used from to_EUC_JP_E7_B1 */ + 0, 17, 17, 1, 17, 17, 17, 17, 17, 17, 17, 17, 2, 3, 17, 4, + 5, 17, 17, 17, 6, 17, 7, 17, 8, 17, 17, 17, 17, 17, 17, 9, + 10, 17, 17, 17, 11, 12, 17, 17, 17, 17, 17, 17, 13, 17, 17, 17, + 17, 17, 17, 14, 17, 15, 17, 17, 17, 17, 17, 17, 17, 17, 16, 17, +}; +static const struct byte_lookup* const +to_SHIFT_JIS_E7_B1_infos[18] = { + o2(0xE2,0xD8), o2(0xE2,0xD5), o2(0xE2,0xD4), o2(0x90,0xD0), + o2(0xE2,0xD7), o2(0xE2,0xD9), o2(0xE2,0xD6), o2(0xE2,0xDD), + o2(0xE2,0xDA), o2(0xE2,0xDB), o2(0xE2,0xC4), o2(0xE2,0xDC), + o2(0xE2,0xDE), o2(0xE2,0xDF), o2(0x95,0xC4), o2(0xE2,0xE0), + o2(0x96,0xE0), UNDEF, +}; +static const BYTE_LOOKUP +to_SHIFT_JIS_E7_B1 = { + to_SHIFT_JIS_E7_B1_offsets, + to_SHIFT_JIS_E7_B1_infos +}; + +static const unsigned char +to_SHIFT_JIS_E7_B2_offsets[64] = { + /* used from to_SHIFT_JIS_E7_B2 */ + /* used from to_EUC_JP_E7_B2 */ + 28, 0, 1, 2, 28, 28, 28, 28, 28, 3, 28, 4, 28, 5, 28, 28, + 6, 28, 7, 28, 28, 8, 28, 9, 10, 28, 28, 11, 28, 28, 28, 12, + 28, 13, 14, 28, 15, 16, 28, 17, 18, 28, 28, 19, 28, 20, 21, 28, + 28, 22, 23, 24, 28, 28, 28, 28, 28, 25, 28, 28, 28, 26, 27, 28, +}; +static const struct byte_lookup* const +to_SHIFT_JIS_E7_B2_infos[29] = { + o2(0x8B,0xCC), o2(0x8C,0x48), o2(0xE2,0xE1), o2(0x95,0xB2), + o2(0x90,0x88), o2(0x96,0xAE), o2(0xE2,0xE2), o2(0x97,0xB1), + o2(0x94,0x94), o2(0x91,0x65), o2(0x94,0x53), o2(0x8F,0x6C), + o2(0x88,0xBE), o2(0xE2,0xE7), o2(0xE2,0xE5), o2(0xE2,0xE3), + o2(0x8A,0x9F), o2(0x8F,0xCF), o2(0xE2,0xE8), o2(0xE2,0xE6), + o2(0xE2,0xE4), o2(0xE2,0xEC), o2(0xE2,0xEB), o2(0xE2,0xEA), + o2(0xE2,0xE9), o2(0xE2,0xED), o2(0xE2,0xEE), o2(0x90,0xB8), + UNDEF, +}; +static const BYTE_LOOKUP +to_SHIFT_JIS_E7_B2 = { + to_SHIFT_JIS_E7_B2_offsets, + to_SHIFT_JIS_E7_B2_infos +}; + +static const unsigned char +to_SHIFT_JIS_E7_B3_offsets[64] = { + /* used from to_SHIFT_JIS_E7_B3 */ + /* used from to_EUC_JP_E7_B3 */ + 0, 22, 1, 22, 22, 2, 22, 22, 22, 22, 3, 22, 22, 22, 4, 22, + 22, 22, 5, 22, 22, 22, 6, 22, 7, 22, 22, 22, 8, 22, 9, 10, + 11, 22, 12, 22, 22, 22, 22, 13, 22, 22, 22, 22, 22, 22, 22, 14, + 22, 22, 15, 22, 16, 22, 17, 22, 18, 22, 19, 20, 22, 22, 21, 22, +}; +static const struct byte_lookup* const +to_SHIFT_JIS_E7_B3_infos[23] = { + o2(0xE2,0xEF), o2(0xE2,0xF1), o2(0xE2,0xF0), o2(0x8C,0xD0), + o2(0x91,0x57), o2(0xE2,0xF3), o2(0x93,0x9C), o2(0xE2,0xF2), + o2(0xE2,0xF4), o2(0x95,0xB3), o2(0x91,0x8C), o2(0x8D,0x66), + o2(0xE2,0xF5), o2(0x97,0xC6), o2(0xE2,0xF7), o2(0xE2,0xF8), + o2(0xE2,0xF9), o2(0xE2,0xFA), o2(0x8E,0x85), o2(0xE2,0xFB), + o2(0x8C,0x6E), o2(0x8B,0x8A), UNDEF, +}; +static const BYTE_LOOKUP +to_SHIFT_JIS_E7_B3 = { + to_SHIFT_JIS_E7_B3_offsets, + to_SHIFT_JIS_E7_B3_infos +}; + +static const unsigned char +to_SHIFT_JIS_E7_B4_offsets[64] = { + /* used from to_SHIFT_JIS_E7_B4 */ + /* used from to_EUC_JP_E7_B4 */ + 0, 31, 1, 31, 2, 3, 4, 31, 31, 31, 5, 6, 31, 7, 31, 31, + 8, 31, 31, 31, 9, 10, 31, 11, 12, 13, 14, 15, 16, 31, 31, 31, + 17, 18, 19, 31, 31, 31, 31, 31, 31, 31, 31, 20, 21, 31, 22, 23, + 24, 31, 25, 26, 31, 27, 31, 31, 31, 28, 29, 31, 31, 31, 31, 30, +}; +static const struct byte_lookup* const +to_SHIFT_JIS_E7_B4_infos[32] = { + o2(0x8B,0x49), o2(0xE3,0x40), o2(0x96,0xF1), o2(0x8D,0x67), + o2(0xE2,0xFC), o2(0xE3,0x43), o2(0x96,0xE4), o2(0x94,0x5B), + o2(0x95,0x52), o2(0x8F,0x83), o2(0xE3,0x42), o2(0x8E,0xD1), + o2(0x8D,0x68), o2(0x8E,0x86), o2(0x8B,0x89), o2(0x95,0xB4), + o2(0xE3,0x41), o2(0x91,0x66), o2(0x96,0x61), o2(0x8D,0xF5), + o2(0x8E,0x87), o2(0x92,0xDB), o2(0xE3,0x46), o2(0x97,0xDD), + o2(0x8D,0xD7), o2(0xE3,0x47), o2(0x90,0x61), o2(0xE3,0x49), + o2(0x8F,0xD0), o2(0x8D,0xAE), o2(0xE3,0x48), UNDEF, +}; +static const BYTE_LOOKUP +to_SHIFT_JIS_E7_B4 = { + to_SHIFT_JIS_E7_B4_offsets, + to_SHIFT_JIS_E7_B4_infos +}; + +static const unsigned char +to_SHIFT_JIS_E7_B5_offsets[64] = { + /* used from to_SHIFT_JIS_E7_B5 */ + /* used from to_EUC_JP_E7_B5 */ + 28, 28, 0, 1, 2, 3, 4, 28, 5, 28, 28, 6, 7, 28, 8, 9, + 10, 28, 28, 28, 28, 28, 11, 28, 28, 28, 28, 12, 13, 28, 14, 28, + 28, 15, 16, 17, 28, 28, 18, 28, 19, 28, 28, 28, 28, 28, 20, 28, + 28, 21, 22, 23, 28, 24, 25, 28, 28, 26, 28, 28, 28, 27, 28, 28, +}; +static const struct byte_lookup* const +to_SHIFT_JIS_E7_B5_infos[29] = { + o2(0x8F,0x49), o2(0x8C,0xBC), o2(0x91,0x67), o2(0xE3,0x44), + o2(0xE3,0x4A), o2(0xFB,0x8A), o2(0xE3,0x45), o2(0x8C,0x6F), + o2(0xE3,0x4D), o2(0xE3,0x51), o2(0x8C,0x8B), o2(0xE3,0x4C), + o2(0xE3,0x55), o2(0xFB,0x8B), o2(0x8D,0x69), o2(0x97,0x8D), + o2(0x88,0xBA), o2(0xE3,0x52), o2(0x8B,0x8B), o2(0xE3,0x4F), + o2(0xE3,0x50), o2(0x93,0x9D), o2(0xE3,0x4E), o2(0xE3,0x4B), + o2(0x8A,0x47), o2(0x90,0xE2), o2(0x8C,0xA6), o2(0xE3,0x57), + UNDEF, +}; +static const BYTE_LOOKUP +to_SHIFT_JIS_E7_B5 = { + to_SHIFT_JIS_E7_B5_offsets, + to_SHIFT_JIS_E7_B5_infos +}; + +static const unsigned char +to_SHIFT_JIS_E7_B6_offsets[64] = { + /* used from to_SHIFT_JIS_E7_B6 */ + /* used from to_EUC_JP_E7_B6 */ + 28, 28, 28, 28, 28, 28, 28, 28, 28, 0, 28, 28, 28, 28, 28, 1, + 28, 28, 28, 2, 28, 28, 28, 28, 28, 3, 4, 5, 6, 28, 28, 7, + 8, 28, 9, 10, 28, 28, 28, 28, 28, 28, 28, 11, 12, 13, 14, 15, + 16, 17, 18, 28, 19, 20, 28, 21, 22, 28, 23, 24, 28, 25, 26, 27, +}; +static const struct byte_lookup* const +to_SHIFT_JIS_E7_B6_infos[29] = { + o2(0xE3,0x54), o2(0xE3,0x56), o2(0xE3,0x53), o2(0x8C,0x70), + o2(0x91,0xB1), o2(0xE3,0x58), o2(0x91,0x8E), o2(0xE3,0x65), + o2(0xFB,0x8D), o2(0xE3,0x61), o2(0xE3,0x5B), o2(0xE3,0x5F), + o2(0x8E,0xF8), o2(0x88,0xDB), o2(0xE3,0x5A), o2(0xE3,0x62), + o2(0xE3,0x66), o2(0x8D,0x6A), o2(0x96,0xD4), o2(0x92,0xD4), + o2(0xE3,0x5C), o2(0xFB,0x8C), o2(0xE3,0x64), o2(0xE3,0x59), + o2(0x92,0x5D), o2(0xE3,0x5E), o2(0x88,0xBB), o2(0x96,0xC8), + UNDEF, +}; +static const BYTE_LOOKUP +to_SHIFT_JIS_E7_B6 = { + to_SHIFT_JIS_E7_B6_offsets, + to_SHIFT_JIS_E7_B6_infos +}; + +static const unsigned char +to_SHIFT_JIS_E7_B7_offsets[64] = { + /* used from to_SHIFT_JIS_E7_B7 */ + /* used from to_EUC_JP_E7_B7 */ + 23, 23, 23, 23, 23, 23, 23, 0, 23, 23, 1, 2, 23, 23, 23, 3, + 23, 4, 5, 23, 23, 6, 7, 23, 8, 23, 9, 23, 10, 11, 12, 23, + 13, 14, 23, 23, 15, 23, 23, 23, 16, 17, 23, 23, 18, 23, 23, 19, + 23, 23, 20, 23, 21, 23, 23, 23, 23, 23, 23, 22, 23, 23, 23, 23, +}; +static const struct byte_lookup* const +to_SHIFT_JIS_E7_B7_infos[24] = { + o2(0xE3,0x5D), o2(0x8B,0xD9), o2(0x94,0xEA), o2(0x91,0x8D), + o2(0x97,0xCE), o2(0x8F,0x8F), o2(0xE3,0x8E), o2(0xFB,0x8E), + o2(0xE3,0x67), o2(0x90,0xFC), o2(0xE3,0x63), o2(0xE3,0x68), + o2(0xE3,0x6A), o2(0x92,0xF7), o2(0xE3,0x6D), o2(0xE3,0x69), + o2(0x95,0xD2), o2(0x8A,0xC9), o2(0x96,0xC9), o2(0x88,0xDC), + o2(0xE3,0x6C), o2(0x97,0xFB), o2(0xE3,0x6B), UNDEF, +}; +static const BYTE_LOOKUP +to_SHIFT_JIS_E7_B7 = { + to_SHIFT_JIS_E7_B7_offsets, + to_SHIFT_JIS_E7_B7_infos +}; + +static const unsigned char +to_SHIFT_JIS_E7_B8_offsets[64] = { + /* used from to_SHIFT_JIS_E7_B8 */ + /* used from to_EUC_JP_E7_B8 */ + 25, 0, 25, 25, 1, 2, 25, 25, 25, 3, 4, 5, 25, 25, 25, 25, + 25, 25, 6, 25, 25, 25, 25, 25, 25, 25, 25, 7, 25, 25, 8, 9, + 25, 10, 11, 12, 25, 25, 13, 25, 25, 25, 25, 14, 25, 25, 15, 25, + 25, 16, 17, 25, 25, 18, 25, 19, 25, 20, 21, 22, 25, 23, 24, 25, +}; +static const struct byte_lookup* const +to_SHIFT_JIS_E7_B8_infos[26] = { + o2(0x89,0x8F), o2(0x93,0xEA), o2(0xE3,0x6E), o2(0xE3,0x75), + o2(0xE3,0x6F), o2(0xE3,0x76), o2(0xE3,0x72), o2(0x94,0x9B), + o2(0x8E,0xC8), o2(0xE3,0x74), o2(0xE3,0x71), o2(0xE3,0x77), + o2(0xE3,0x70), o2(0x8F,0x63), o2(0x96,0x44), o2(0x8F,0x6B), + o2(0xE3,0x73), o2(0xE3,0x80), o2(0xE3,0x7B), o2(0xE3,0x7E), + o2(0xE3,0x7C), o2(0xE3,0x81), o2(0xE3,0x7A), o2(0xE3,0x60), + o2(0x90,0xD1), UNDEF, +}; +static const BYTE_LOOKUP +to_SHIFT_JIS_E7_B8 = { + to_SHIFT_JIS_E7_B8_offsets, + to_SHIFT_JIS_E7_B8_infos +}; + +static const unsigned char +to_SHIFT_JIS_E7_B9_offsets[64] = { + /* used from to_SHIFT_JIS_E7_B9 */ + /* used from to_EUC_JP_E7_B9 */ + 25, 0, 25, 1, 25, 25, 2, 25, 25, 25, 3, 4, 25, 5, 25, 25, + 25, 25, 6, 25, 7, 8, 9, 25, 25, 10, 11, 25, 25, 12, 13, 25, + 25, 25, 25, 25, 25, 25, 14, 15, 25, 16, 17, 25, 25, 18, 25, 25, + 19, 25, 25, 25, 25, 25, 25, 25, 25, 20, 25, 21, 22, 23, 25, 24, +}; +static const struct byte_lookup* const +to_SHIFT_JIS_E7_B9_infos[26] = { + o2(0x94,0xC9), o2(0xE3,0x7D), o2(0xE3,0x78), o2(0x91,0x40), + o2(0x8C,0x71), o2(0x8F,0x4A), o2(0xFB,0x8F), o2(0x90,0x44), + o2(0x91,0x55), o2(0xE3,0x84), o2(0xE3,0x86), o2(0xE3,0x87), + o2(0xE3,0x83), o2(0xE3,0x85), o2(0xE3,0x79), o2(0xE3,0x82), + o2(0xE3,0x8A), o2(0xE3,0x89), o2(0x96,0x9A), o2(0x8C,0x4A), + o2(0xE3,0x88), o2(0xE3,0x8C), o2(0xE3,0x8B), o2(0xE3,0x8F), + o2(0xE3,0x91), UNDEF, +}; +static const BYTE_LOOKUP +to_SHIFT_JIS_E7_B9 = { + to_SHIFT_JIS_E7_B9_offsets, + to_SHIFT_JIS_E7_B9_infos +}; + +static const unsigned char +to_SHIFT_JIS_E7_BA_offsets[64] = { + /* used from to_SHIFT_JIS_E7_BA */ + /* used from to_EUC_JP_E7_BA */ + 15, 15, 0, 1, 15, 15, 15, 15, 2, 3, 4, 15, 5, 15, 6, 7, + 8, 15, 9, 10, 11, 15, 12, 15, 15, 15, 15, 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, +}; +static const struct byte_lookup* const +to_SHIFT_JIS_E7_BA_infos[16] = { + o2(0x8E,0x5B), o2(0xE3,0x8D), o2(0xE3,0x92), o2(0xE3,0x93), + o2(0xFA,0x5C), o2(0xE3,0x94), o2(0xE3,0x9A), o2(0x93,0x5A), + o2(0xE3,0x96), o2(0xE3,0x95), o2(0xE3,0x97), o2(0xE3,0x98), + o2(0xE3,0x99), o2(0xE3,0x9B), o2(0xE3,0x9C), UNDEF, +}; +static const BYTE_LOOKUP +to_SHIFT_JIS_E7_BA = { + to_SHIFT_JIS_E7_BA_offsets, + to_SHIFT_JIS_E7_BA_infos +}; + +static const unsigned char +to_SHIFT_JIS_E7_BC_offsets[64] = { + /* used from to_SHIFT_JIS_E7_BC */ + /* used from to_EUC_JP_E7_BC */ + 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, + 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, + 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, + 3, 3, 3, 3, 3, 3, 0, 3, 1, 3, 2, 3, 3, 3, 3, 3, +}; +static const struct byte_lookup* const +to_SHIFT_JIS_E7_BC_infos[4] = { + o2(0x8A,0xCA), o2(0xE3,0x9D), o2(0xE3,0x9E), UNDEF, +}; +static const BYTE_LOOKUP +to_SHIFT_JIS_E7_BC = { + to_SHIFT_JIS_E7_BC_offsets, + to_SHIFT_JIS_E7_BC_infos +}; + +static const unsigned char +to_SHIFT_JIS_E7_BD_offsets[64] = { + /* used from to_SHIFT_JIS_E7_BD */ + /* used from to_EUC_JP_E7_BD */ + 24, 24, 24, 24, 24, 0, 24, 1, 24, 24, 24, 24, 2, 3, 4, 24, + 5, 6, 24, 24, 7, 8, 24, 24, 9, 24, 24, 24, 24, 24, 24, 10, + 11, 24, 24, 24, 24, 24, 24, 12, 13, 14, 15, 16, 24, 24, 17, 24, + 18, 24, 19, 24, 24, 20, 24, 21, 22, 23, 24, 24, 24, 24, 24, 24, +}; +static const struct byte_lookup* const +to_SHIFT_JIS_E7_BD_infos[25] = { + o2(0xE3,0x9F), o2(0xFB,0x90), o2(0xE3,0xA0), o2(0xE3,0xA1), + o2(0xE3,0xA2), o2(0xE3,0xA3), o2(0xE3,0xA4), o2(0xE3,0xA6), + o2(0xE3,0xA5), o2(0xE3,0xA7), o2(0xE3,0xA8), o2(0xE3,0xA9), + o2(0xE3,0xAC), o2(0xE3,0xAA), o2(0xE3,0xAB), o2(0x8D,0xDF), + o2(0x8C,0x72), o2(0x92,0x75), o2(0x94,0xB1), o2(0x8F,0x90), + o2(0x94,0x6C), o2(0x94,0xEB), o2(0xE3,0xAD), o2(0x9C,0xEB), + UNDEF, +}; +static const BYTE_LOOKUP +to_SHIFT_JIS_E7_BD = { + to_SHIFT_JIS_E7_BD_offsets, + to_SHIFT_JIS_E7_BD_infos +}; + +static const unsigned char +to_SHIFT_JIS_E7_BE_offsets[64] = { + /* used from to_SHIFT_JIS_E7_BE */ + /* used from to_EUC_JP_E7_BE */ + 25, 25, 0, 1, 25, 2, 3, 4, 5, 25, 6, 25, 7, 25, 8, 25, + 25, 25, 25, 25, 9, 25, 25, 25, 25, 25, 10, 25, 25, 11, 12, 25, + 25, 13, 25, 14, 15, 25, 25, 25, 16, 17, 25, 25, 25, 25, 18, 19, + 25, 25, 20, 25, 25, 25, 21, 25, 22, 23, 25, 25, 25, 24, 25, 25, +}; +static const struct byte_lookup* const +to_SHIFT_JIS_E7_BE_infos[26] = { + o2(0xE3,0xAE), o2(0xE3,0xB0), o2(0x97,0x85), o2(0xE3,0xAF), + o2(0xE3,0xB2), o2(0xE3,0xB1), o2(0x97,0x72), o2(0xE3,0xB3), + o2(0x94,0xFC), o2(0xE3,0xB4), o2(0xE3,0xB7), o2(0xE3,0xB6), + o2(0xE3,0xB5), o2(0xFB,0x91), o2(0xE3,0xB8), o2(0x8C,0x51), + o2(0x91,0x41), o2(0x8B,0x60), o2(0xE3,0xBC), o2(0xE3,0xB9), + o2(0xE3,0xBA), o2(0xE3,0xBD), o2(0xE3,0xBE), o2(0xE3,0xBB), + o2(0x89,0x48), UNDEF, +}; +static const BYTE_LOOKUP +to_SHIFT_JIS_E7_BE = { + to_SHIFT_JIS_E7_BE_offsets, + to_SHIFT_JIS_E7_BE_infos +}; + +static const unsigned char +to_SHIFT_JIS_E7_BF_offsets[64] = { + /* used from to_SHIFT_JIS_E7_BF */ + /* used from to_EUC_JP_E7_BF */ + 18, 0, 18, 18, 18, 1, 2, 18, 18, 18, 3, 18, 4, 18, 18, 18, + 18, 18, 5, 18, 6, 7, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, + 8, 9, 18, 18, 18, 18, 10, 18, 18, 11, 18, 12, 18, 18, 18, 18, + 13, 18, 18, 14, 18, 18, 18, 18, 18, 15, 18, 16, 17, 18, 18, 18, +}; +static const struct byte_lookup* const +to_SHIFT_JIS_E7_BF_infos[19] = { + o2(0x89,0xA5), o2(0xE3,0xC0), o2(0xE3,0xC1), o2(0xE3,0xC2), + o2(0x97,0x82), o2(0x8F,0x4B), o2(0xE3,0xC4), o2(0xE3,0xC3), + o2(0x90,0x89), o2(0xE3,0xC5), o2(0xE3,0xC6), o2(0xE3,0xC7), + o2(0x8A,0xE3), o2(0x8A,0xCB), o2(0xE3,0xC8), o2(0xE3,0xC9), + o2(0x96,0x7C), o2(0x97,0x83), UNDEF, +}; +static const BYTE_LOOKUP +to_SHIFT_JIS_E7_BF = { + to_SHIFT_JIS_E7_BF_offsets, + to_SHIFT_JIS_E7_BF_infos +}; + +static const unsigned char +to_SHIFT_JIS_E7_offsets[64] = { + /* used from to_SHIFT_JIS_E7 */ + /* used from to_EUC_JP_E7 */ + 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, 63, 59, 60, 61, 62, +}; +static const struct byte_lookup* const +to_SHIFT_JIS_E7_infos[64] = { + &to_SHIFT_JIS_E7_80, &to_SHIFT_JIS_E7_81, + &to_SHIFT_JIS_E7_82, &to_SHIFT_JIS_E7_83, + &to_SHIFT_JIS_E7_84, &to_SHIFT_JIS_E7_85, + &to_SHIFT_JIS_E7_86, &to_SHIFT_JIS_E7_87, + &to_SHIFT_JIS_E7_88, &to_SHIFT_JIS_E7_89, + &to_SHIFT_JIS_E7_8A, &to_SHIFT_JIS_E7_8B, + &to_SHIFT_JIS_E7_8C, &to_SHIFT_JIS_E7_8D, + &to_SHIFT_JIS_E7_8E, &to_SHIFT_JIS_E7_8F, + &to_SHIFT_JIS_E7_90, &to_SHIFT_JIS_E7_91, + &to_SHIFT_JIS_E7_92, &to_SHIFT_JIS_E7_93, + &to_SHIFT_JIS_E7_94, &to_SHIFT_JIS_E7_95, + &to_SHIFT_JIS_E7_96, &to_SHIFT_JIS_E7_97, + &to_SHIFT_JIS_E7_98, &to_SHIFT_JIS_E7_99, + &to_SHIFT_JIS_E7_9A, &to_SHIFT_JIS_E7_9B, + &to_SHIFT_JIS_E7_9C, &to_SHIFT_JIS_E7_9D, + &to_SHIFT_JIS_E7_9E, &to_SHIFT_JIS_E7_9F, + &to_SHIFT_JIS_E7_A0, &to_SHIFT_JIS_E7_A1, + &to_SHIFT_JIS_E7_A2, &to_SHIFT_JIS_E7_A3, + &to_SHIFT_JIS_E7_A4, &to_SHIFT_JIS_E7_A5, + &to_SHIFT_JIS_E7_A6, &to_SHIFT_JIS_E7_A7, + &to_SHIFT_JIS_E7_A8, &to_SHIFT_JIS_E7_A9, + &to_SHIFT_JIS_E7_AA, &to_SHIFT_JIS_E7_AB, + &to_SHIFT_JIS_E7_AC, &to_SHIFT_JIS_E7_AD, + &to_SHIFT_JIS_E7_AE, &to_SHIFT_JIS_E7_AF, + &to_SHIFT_JIS_E7_B0, &to_SHIFT_JIS_E7_B1, + &to_SHIFT_JIS_E7_B2, &to_SHIFT_JIS_E7_B3, + &to_SHIFT_JIS_E7_B4, &to_SHIFT_JIS_E7_B5, + &to_SHIFT_JIS_E7_B6, &to_SHIFT_JIS_E7_B7, + &to_SHIFT_JIS_E7_B8, &to_SHIFT_JIS_E7_B9, + &to_SHIFT_JIS_E7_BA, &to_SHIFT_JIS_E7_BC, + &to_SHIFT_JIS_E7_BD, &to_SHIFT_JIS_E7_BE, + &to_SHIFT_JIS_E7_BF, UNDEF, +}; +static const BYTE_LOOKUP +to_SHIFT_JIS_E7 = { + to_SHIFT_JIS_E7_offsets, + to_SHIFT_JIS_E7_infos +}; + +static const unsigned char +to_SHIFT_JIS_E8_80_offsets[64] = { + /* used from to_SHIFT_JIS_E8_80 */ + /* used from to_EUC_JP_E8_80 */ + 0, 1, 22, 2, 3, 4, 5, 22, 22, 22, 22, 6, 7, 22, 22, 22, + 8, 22, 9, 22, 22, 10, 22, 11, 12, 13, 22, 22, 14, 22, 22, 22, + 22, 15, 22, 22, 22, 22, 22, 22, 16, 22, 22, 22, 22, 22, 22, 22, + 22, 22, 22, 17, 22, 22, 18, 22, 22, 22, 22, 19, 22, 20, 22, 21, +}; +static const struct byte_lookup* const +to_SHIFT_JIS_E8_80_infos[23] = { + o2(0x97,0x73), o2(0x98,0x56), o2(0x8D,0x6C), o2(0xE3,0xCC), + o2(0x8E,0xD2), o2(0xE3,0xCB), o2(0xE3,0xCD), o2(0x8E,0xA7), + o2(0x91,0xCF), o2(0xE3,0xCE), o2(0x8D,0x6B), o2(0x96,0xD5), + o2(0xE3,0xCF), o2(0xE3,0xD0), o2(0xE3,0xD1), o2(0xE3,0xD2), + o2(0xE3,0xD3), o2(0x8E,0xA8), o2(0x96,0xEB), o2(0xE3,0xD5), + o2(0x92,0x5E), o2(0xE3,0xD4), UNDEF, +}; +static const BYTE_LOOKUP +to_SHIFT_JIS_E8_80 = { + to_SHIFT_JIS_E8_80_offsets, + to_SHIFT_JIS_E8_80_infos +}; + +static const unsigned char +to_SHIFT_JIS_E8_81_offsets[64] = { + /* used from to_SHIFT_JIS_E8_81 */ + /* used from to_EUC_JP_E8_81 */ + 22, 22, 22, 22, 22, 22, 0, 22, 22, 22, 1, 22, 22, 22, 22, 22, + 22, 22, 2, 22, 22, 22, 3, 22, 4, 22, 5, 22, 22, 22, 6, 7, + 22, 8, 9, 22, 22, 22, 22, 22, 10, 22, 22, 22, 22, 22, 22, 11, + 12, 22, 13, 14, 15, 22, 16, 17, 22, 18, 22, 22, 22, 19, 20, 21, +}; +static const struct byte_lookup* const +to_SHIFT_JIS_E8_81_infos[23] = { + o2(0xE3,0xD7), o2(0xE3,0xD6), o2(0xE3,0xD8), o2(0x90,0xB9), + o2(0xE3,0xD9), o2(0xE3,0xDA), o2(0x95,0xB7), o2(0xE3,0xDB), + o2(0x91,0x8F), o2(0xE3,0xDC), o2(0xE3,0xDD), o2(0x97,0xFC), + o2(0xE3,0xE0), o2(0xE3,0xDF), o2(0xE3,0xDE), o2(0x92,0xAE), + o2(0xE3,0xE1), o2(0x90,0x45), o2(0xE3,0xE2), o2(0xE3,0xE3), + o2(0x98,0x57), o2(0xE3,0xE4), UNDEF, +}; +static const BYTE_LOOKUP +to_SHIFT_JIS_E8_81 = { + to_SHIFT_JIS_E8_81_offsets, + to_SHIFT_JIS_E8_81_infos +}; + +static const unsigned char +to_SHIFT_JIS_E8_82_offsets[64] = { + /* used from to_SHIFT_JIS_E8_82 */ + /* used from to_EUC_JP_E8_82 */ + 25, 25, 25, 25, 0, 1, 2, 3, 25, 4, 25, 5, 6, 25, 25, 25, + 25, 25, 25, 7, 25, 25, 8, 25, 9, 25, 10, 11, 25, 12, 25, 25, + 25, 13, 14, 25, 25, 15, 25, 25, 25, 16, 17, 25, 18, 19, 25, 20, + 25, 21, 22, 25, 23, 25, 25, 25, 25, 25, 24, 25, 25, 25, 25, 25, +}; +static const struct byte_lookup* const +to_SHIFT_JIS_E8_82_infos[26] = { + o2(0xE3,0xE5), o2(0xE3,0xE7), o2(0xE3,0xE6), o2(0x94,0xA3), + o2(0x93,0xF7), o2(0x98,0x5D), o2(0x94,0xA7), o2(0xE3,0xE9), + o2(0x8F,0xD1), o2(0x95,0x49), o2(0xE3,0xEA), o2(0xE3,0xE8), + o2(0x8A,0xCC), o2(0x8C,0xD2), o2(0x8E,0x88), o2(0x94,0xEC), + o2(0x8C,0xA8), o2(0x96,0x62), o2(0xE3,0xED), o2(0xE3,0xEB), + o2(0x8D,0x6D), o2(0x8D,0x6E), o2(0x88,0xE7), o2(0x8D,0xE6), + o2(0x94,0x78), UNDEF, +}; +static const BYTE_LOOKUP +to_SHIFT_JIS_E8_82 = { + to_SHIFT_JIS_E8_82_offsets, + to_SHIFT_JIS_E8_82_infos +}; + +static const unsigned char +to_SHIFT_JIS_E8_83_offsets[64] = { + /* used from to_SHIFT_JIS_E8_83 */ + /* used from to_EUC_JP_E8_83 */ + 20, 20, 20, 0, 1, 20, 2, 20, 20, 20, 20, 20, 3, 20, 4, 20, + 20, 20, 20, 20, 20, 20, 5, 20, 20, 6, 7, 8, 20, 9, 10, 20, + 20, 11, 20, 20, 12, 13, 20, 20, 20, 20, 20, 20, 20, 20, 20, 14, + 20, 15, 20, 20, 16, 20, 20, 20, 17, 20, 20, 20, 18, 19, 20, 20, +}; +static const struct byte_lookup* const +to_SHIFT_JIS_E8_83_infos[21] = { + o2(0x88,0xDD), o2(0xE3,0xF2), o2(0x92,0x5F), o2(0x94,0x77), + o2(0x91,0xD9), o2(0xE3,0xF4), o2(0xE3,0xF0), o2(0xE3,0xF3), + o2(0xE3,0xEE), o2(0xE3,0xF1), o2(0x96,0x45), o2(0x8C,0xD3), + o2(0x88,0xFB), o2(0xE3,0xEF), o2(0xE3,0xF6), o2(0xE3,0xF7), + o2(0x93,0xB7), o2(0x8B,0xB9), o2(0xE4,0x45), o2(0x94,0x5C), + UNDEF, +}; +static const BYTE_LOOKUP +to_SHIFT_JIS_E8_83 = { + to_SHIFT_JIS_E8_83_offsets, + to_SHIFT_JIS_E8_83_infos +}; + +static const unsigned char +to_SHIFT_JIS_E8_84_offsets[64] = { + /* used from to_SHIFT_JIS_E8_84 */ + /* used from to_EUC_JP_E8_84 */ + 16, 16, 0, 16, 16, 1, 2, 3, 4, 5, 6, 16, 16, 16, 16, 16, + 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 7, 8, 16, 16, 16, 16, + 16, 16, 16, 9, 16, 16, 16, 16, 16, 10, 16, 16, 16, 16, 16, 11, + 16, 12, 16, 13, 16, 16, 16, 16, 16, 14, 16, 16, 16, 16, 15, 16, +}; +static const struct byte_lookup* const +to_SHIFT_JIS_E8_84_infos[17] = { + o2(0x8E,0x89), o2(0x8B,0xBA), o2(0x90,0xC6), o2(0x98,0x65), + o2(0x96,0xAC), o2(0xE3,0xF5), o2(0x90,0xD2), o2(0x8B,0x72), + o2(0xE3,0xF8), o2(0xE3,0xFA), o2(0xE3,0xF9), o2(0xE3,0xFB), + o2(0x92,0x45), o2(0x94,0x5D), o2(0x92,0xAF), o2(0xE4,0x42), + UNDEF, +}; +static const BYTE_LOOKUP +to_SHIFT_JIS_E8_84 = { + to_SHIFT_JIS_E8_84_offsets, + to_SHIFT_JIS_E8_84_infos +}; + +static const unsigned char +to_SHIFT_JIS_E8_85_offsets[64] = { + /* used from to_SHIFT_JIS_E8_85 */ + /* used from to_EUC_JP_E8_85 */ + 20, 20, 20, 20, 20, 20, 0, 20, 20, 20, 20, 1, 20, 20, 2, 20, + 3, 4, 20, 5, 6, 7, 20, 20, 20, 20, 20, 20, 20, 20, 20, 8, + 20, 20, 20, 20, 20, 9, 10, 20, 20, 20, 20, 11, 20, 20, 12, 20, + 13, 14, 20, 20, 15, 20, 20, 20, 16, 17, 18, 20, 20, 20, 20, 19, +}; +static const struct byte_lookup* const +to_SHIFT_JIS_E8_85_infos[21] = { + o2(0xE4,0x41), o2(0xE3,0xFC), o2(0x90,0x74), o2(0x95,0x85), + o2(0xE4,0x44), o2(0xE4,0x43), o2(0x8D,0x6F), o2(0x98,0x72), + o2(0xE4,0x54), o2(0xE4,0x48), o2(0xE4,0x49), o2(0x8E,0xEE), + o2(0xE4,0x47), o2(0x8D,0x98), o2(0xE4,0x46), o2(0xE4,0x4A), + o2(0x92,0xB0), o2(0x95,0xA0), o2(0x91,0x42), o2(0x91,0xDA), + UNDEF, +}; +static const BYTE_LOOKUP +to_SHIFT_JIS_E8_85 = { + to_SHIFT_JIS_E8_85_offsets, + to_SHIFT_JIS_E8_85_infos +}; + +static const unsigned char +to_SHIFT_JIS_E8_86_offsets[64] = { + /* used from to_SHIFT_JIS_E8_86 */ + /* used from to_EUC_JP_E8_86 */ + 0, 24, 1, 2, 24, 24, 24, 24, 3, 24, 4, 24, 24, 24, 24, 5, + 24, 24, 24, 6, 24, 7, 24, 24, 24, 24, 8, 24, 9, 10, 24, 24, + 11, 24, 24, 12, 13, 24, 24, 24, 14, 15, 24, 24, 24, 24, 24, 24, + 16, 24, 24, 17, 24, 18, 24, 24, 19, 24, 20, 24, 24, 21, 22, 23, +}; +static const struct byte_lookup* const +to_SHIFT_JIS_E8_86_infos[25] = { + o2(0xE4,0x4E), o2(0xE4,0x4F), o2(0xE4,0x4B), o2(0xE4,0x4C), + o2(0xE4,0x4D), o2(0x8D,0x70), o2(0xE4,0x55), o2(0xE4,0x51), + o2(0x95,0x86), o2(0x96,0x8C), o2(0x95,0x47), o2(0xE4,0x50), + o2(0xE4,0x53), o2(0xE4,0x52), o2(0x96,0x63), o2(0xE4,0x56), + o2(0xE4,0x57), o2(0x91,0x56), o2(0xE4,0x58), o2(0xE4,0x5A), + o2(0xE4,0x5E), o2(0xE4,0x5B), o2(0xE4,0x59), o2(0x94,0x5E), + UNDEF, +}; +static const BYTE_LOOKUP +to_SHIFT_JIS_E8_86 = { + to_SHIFT_JIS_E8_86_offsets, + to_SHIFT_JIS_E8_86_infos +}; + +static const unsigned char +to_SHIFT_JIS_E8_87_offsets[64] = { + /* used from to_SHIFT_JIS_E8_87 */ + /* used from to_EUC_JP_E8_87 */ + 0, 25, 1, 25, 25, 25, 2, 25, 3, 4, 25, 25, 25, 5, 25, 25, + 25, 6, 25, 7, 25, 25, 25, 25, 8, 9, 10, 25, 25, 25, 25, 11, + 12, 25, 25, 13, 25, 14, 25, 15, 16, 25, 17, 25, 25, 18, 25, 25, + 25, 25, 25, 19, 20, 25, 25, 25, 25, 25, 21, 22, 23, 25, 24, 25, +}; +static const struct byte_lookup* const +to_SHIFT_JIS_E8_87_infos[26] = { + o2(0xE4,0x5C), o2(0xE4,0x5D), o2(0x89,0xB0), o2(0xE4,0x64), + o2(0xE4,0x5F), o2(0xE4,0x60), o2(0xE4,0x61), o2(0x91,0x9F), + o2(0xE4,0x63), o2(0xE4,0x62), o2(0xE4,0x65), o2(0xE4,0x66), + o2(0xE4,0x67), o2(0x90,0x62), o2(0x89,0xE7), o2(0xE4,0x68), + o2(0x97,0xD5), o2(0x8E,0xA9), o2(0x8F,0x4C), o2(0x8E,0x8A), + o2(0x92,0x76), o2(0xE4,0x69), o2(0xE4,0x6A), o2(0x89,0x50), + o2(0xE4,0x6B), UNDEF, +}; +static const BYTE_LOOKUP +to_SHIFT_JIS_E8_87 = { + to_SHIFT_JIS_E8_87_offsets, + to_SHIFT_JIS_E8_87_infos +}; + +static const unsigned char +to_SHIFT_JIS_E8_88_offsets[64] = { + /* used from to_SHIFT_JIS_E8_88 */ + /* used from to_EUC_JP_E8_88 */ + 30, 0, 1, 30, 30, 2, 30, 3, 4, 5, 6, 30, 7, 8, 9, 30, + 10, 30, 11, 30, 30, 30, 12, 13, 14, 30, 30, 15, 16, 30, 17, 18, + 30, 30, 30, 30, 30, 30, 30, 30, 30, 19, 20, 21, 22, 30, 23, 30, + 30, 30, 30, 24, 30, 25, 26, 27, 28, 29, 30, 30, 30, 30, 30, 30, +}; +static const struct byte_lookup* const +to_SHIFT_JIS_E8_88_infos[31] = { + o2(0xE4,0x6C), o2(0xE4,0x6D), o2(0xE4,0x6E), o2(0xE4,0x6F), + o2(0x8B,0xBB), o2(0x9D,0xA8), o2(0xE4,0x70), o2(0x90,0xE3), + o2(0xE4,0x71), o2(0x8E,0xC9), o2(0xE4,0x72), o2(0x98,0xAE), + o2(0xE4,0x73), o2(0x95,0xDC), o2(0x8A,0xDA), o2(0x91,0x43), + o2(0x8F,0x77), o2(0x95,0x91), o2(0x8F,0x4D), o2(0xE4,0x74), + o2(0x8D,0x71), o2(0xE4,0x75), o2(0x94,0xCA), o2(0xE4,0x84), + o2(0xE4,0x77), o2(0x91,0xC7), o2(0x94,0x95), o2(0x8C,0xBD), + o2(0xE4,0x76), o2(0x91,0x44), UNDEF, +}; +static const BYTE_LOOKUP +to_SHIFT_JIS_E8_88 = { + to_SHIFT_JIS_E8_88_offsets, + to_SHIFT_JIS_E8_88_infos +}; + +static const unsigned char +to_SHIFT_JIS_E8_89_offsets[64] = { + /* used from to_SHIFT_JIS_E8_89 */ + /* used from to_EUC_JP_E8_89 */ + 0, 21, 21, 21, 21, 21, 21, 1, 21, 21, 21, 21, 21, 21, 21, 21, + 21, 21, 21, 21, 21, 21, 21, 21, 2, 3, 4, 21, 21, 5, 21, 6, + 21, 21, 7, 21, 8, 21, 9, 21, 10, 21, 11, 12, 21, 21, 13, 14, + 21, 15, 16, 21, 21, 21, 17, 18, 19, 21, 21, 21, 21, 21, 20, 21, +}; +static const struct byte_lookup* const +to_SHIFT_JIS_E8_89_infos[22] = { + o2(0xE4,0x78), o2(0x92,0xF8), o2(0xE4,0x7A), o2(0xE4,0x79), + o2(0xE4,0x7C), o2(0xE4,0x7B), o2(0xE4,0x7D), o2(0xE4,0x80), + o2(0xE4,0x7E), o2(0x8A,0xCD), o2(0xE4,0x81), o2(0xE4,0x82), + o2(0xE4,0x83), o2(0x8D,0xAF), o2(0x97,0xC7), o2(0xE4,0x85), + o2(0x90,0x46), o2(0x89,0x90), o2(0xE4,0x86), o2(0xE4,0x87), + o2(0xE4,0x88), UNDEF, +}; +static const BYTE_LOOKUP +to_SHIFT_JIS_E8_89 = { + to_SHIFT_JIS_E8_89_offsets, + to_SHIFT_JIS_E8_89_infos +}; + +static const unsigned char +to_SHIFT_JIS_E8_8A_offsets[64] = { + /* used from to_SHIFT_JIS_E8_8A */ + /* used from to_EUC_JP_E8_8A */ + 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 0, 18, 1, 18, 18, + 18, 18, 2, 18, 18, 18, 18, 18, 18, 3, 18, 18, 18, 4, 18, 5, + 18, 18, 18, 18, 18, 6, 7, 18, 18, 18, 18, 8, 9, 10, 18, 11, + 18, 12, 18, 13, 18, 18, 18, 18, 14, 15, 18, 16, 18, 17, 18, 18, +}; +static const struct byte_lookup* const +to_SHIFT_JIS_E8_8A_infos[19] = { + o2(0x88,0xF0), o2(0xE4,0x89), o2(0xE4,0x8A), o2(0x95,0x87), + o2(0x8E,0xC5), o2(0xE4,0x8C), o2(0x8A,0x48), o2(0x88,0xB0), + o2(0xE4,0x8B), o2(0xE4,0x8E), o2(0x94,0x6D), o2(0x90,0x63), + o2(0x89,0xD4), o2(0x96,0x46), o2(0x8C,0x7C), o2(0x8B,0xDA), + o2(0xE4,0x8D), o2(0x89,0xE8), UNDEF, +}; +static const BYTE_LOOKUP +to_SHIFT_JIS_E8_8A = { + to_SHIFT_JIS_E8_8A_offsets, + to_SHIFT_JIS_E8_8A_infos +}; + +static const unsigned char +to_SHIFT_JIS_E8_8B_offsets[64] = { + /* used from to_SHIFT_JIS_E8_8B */ + /* used from to_EUC_JP_E8_8B */ + 23, 23, 23, 23, 23, 0, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, + 23, 1, 2, 3, 4, 23, 23, 5, 23, 6, 23, 7, 8, 23, 9, 10, + 23, 11, 23, 12, 23, 13, 14, 15, 23, 23, 23, 16, 23, 23, 23, 23, + 23, 17, 23, 18, 19, 23, 23, 23, 23, 20, 21, 22, 23, 23, 23, 23, +}; +static const struct byte_lookup* const +to_SHIFT_JIS_E8_8B_infos[24] = { + o2(0x8A,0xA1), o2(0x89,0x91), o2(0xE4,0x92), o2(0x97,0xE8), + o2(0x91,0xDB), o2(0x95,0x63), o2(0xE4,0x9E), o2(0x89,0xD5), + o2(0xE4,0x9C), o2(0xE4,0x9A), o2(0xE4,0x91), o2(0xE4,0x8F), + o2(0xE4,0x90), o2(0x8E,0xE1), o2(0x8B,0xEA), o2(0x92,0x97), + o2(0x93,0xCF), o2(0x89,0x70), o2(0xE4,0x94), o2(0xE4,0x93), + o2(0xE4,0x99), o2(0xE4,0x95), o2(0xE4,0x98), UNDEF, +}; +static const BYTE_LOOKUP +to_SHIFT_JIS_E8_8B = { + to_SHIFT_JIS_E8_8B_offsets, + to_SHIFT_JIS_E8_8B_infos +}; + +static const unsigned char +to_SHIFT_JIS_E8_8C_offsets[64] = { + /* used from to_SHIFT_JIS_E8_8C */ + /* used from to_EUC_JP_E8_8C */ + 23, 0, 1, 2, 3, 4, 5, 23, 23, 6, 23, 23, 23, 23, 7, 23, + 23, 23, 23, 23, 23, 23, 8, 9, 10, 23, 23, 23, 11, 23, 23, 23, + 23, 23, 23, 12, 23, 23, 23, 23, 13, 23, 23, 14, 23, 23, 23, 15, + 23, 16, 17, 23, 18, 19, 20, 23, 21, 22, 23, 23, 23, 23, 23, 23, +}; +static const struct byte_lookup* const +to_SHIFT_JIS_E8_8C_infos[24] = { + o2(0xFB,0x93), o2(0x96,0xCE), o2(0xE4,0x97), o2(0x89,0xD6), + o2(0x8A,0x9D), o2(0xE4,0x9B), o2(0xE4,0x9D), o2(0x8C,0x73), + o2(0xE4,0xA1), o2(0xE4,0xAA), o2(0xE4,0xAB), o2(0x88,0xA9), + o2(0xE4,0xB2), o2(0x88,0xEF), o2(0xE4,0xA9), o2(0xE4,0xA8), + o2(0xE4,0xA3), o2(0xE4,0xA2), o2(0xE4,0xA0), o2(0xE4,0x9F), + o2(0x92,0x83), o2(0x91,0xF9), o2(0xE4,0xA5), UNDEF, +}; +static const BYTE_LOOKUP +to_SHIFT_JIS_E8_8C = { + to_SHIFT_JIS_E8_8C_offsets, + to_SHIFT_JIS_E8_8C_infos +}; + +static const unsigned char +to_SHIFT_JIS_E8_8D_offsets[64] = { + /* used from to_SHIFT_JIS_E8_8D */ + /* used from to_EUC_JP_E8_8D */ + 0, 15, 15, 15, 15, 1, 15, 15, 15, 2, 3, 15, 15, 15, 15, 4, + 5, 15, 6, 15, 15, 15, 15, 15, 7, 15, 15, 15, 15, 15, 15, 15, + 15, 15, 8, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, + 15, 15, 15, 9, 15, 10, 15, 11, 15, 15, 15, 12, 13, 15, 15, 14, +}; +static const struct byte_lookup* const +to_SHIFT_JIS_E8_8D_infos[16] = { + o2(0xE4,0xA4), o2(0xE4,0xA7), o2(0x91,0x90), o2(0x8C,0x74), + o2(0x89,0x60), o2(0xE4,0xA6), o2(0x8D,0x72), o2(0x91,0x91), + o2(0xFB,0x94), o2(0xE4,0xB8), o2(0xE4,0xB9), o2(0x89,0xD7), + o2(0x89,0xAC), o2(0xE4,0xB6), o2(0xFB,0x95), UNDEF, +}; +static const BYTE_LOOKUP +to_SHIFT_JIS_E8_8D = { + to_SHIFT_JIS_E8_8D_offsets, + to_SHIFT_JIS_E8_8D_infos +}; + +static const unsigned char +to_SHIFT_JIS_E8_8E_offsets[64] = { + /* used from to_SHIFT_JIS_E8_8E */ + /* used from to_EUC_JP_E8_8E */ + 18, 18, 18, 18, 18, 0, 18, 1, 18, 2, 3, 18, 18, 18, 4, 18, + 18, 18, 18, 5, 18, 18, 6, 18, 18, 18, 7, 18, 18, 18, 8, 9, + 10, 18, 11, 18, 18, 18, 18, 18, 12, 18, 13, 14, 18, 18, 18, 18, + 18, 15, 18, 18, 18, 16, 18, 18, 18, 18, 18, 18, 18, 17, 18, 18, +}; +static const struct byte_lookup* const +to_SHIFT_JIS_E8_8E_infos[19] = { + o2(0xE4,0xAC), o2(0xE4,0xB4), o2(0xE4,0xBB), o2(0xE4,0xB5), + o2(0xE4,0xB3), o2(0xE4,0x96), o2(0xE4,0xB1), o2(0xE4,0xAD), + o2(0x8A,0xCE), o2(0xE4,0xAF), o2(0xE4,0xBA), o2(0xE4,0xB0), + o2(0xE4,0xBC), o2(0xE4,0xAE), o2(0x94,0x9C), o2(0x97,0x89), + o2(0xE4,0xB7), o2(0xE4,0xCD), UNDEF, +}; +static const BYTE_LOOKUP +to_SHIFT_JIS_E8_8E = { + to_SHIFT_JIS_E8_8E_offsets, + to_SHIFT_JIS_E8_8E_infos +}; + +static const unsigned char +to_SHIFT_JIS_E8_8F_offsets[64] = { + /* used from to_SHIFT_JIS_E8_8F */ + /* used from to_EUC_JP_E8_8F */ + 23, 0, 23, 23, 23, 1, 23, 2, 23, 23, 3, 23, 4, 23, 5, 23, + 23, 23, 23, 6, 23, 23, 7, 23, 8, 23, 23, 23, 9, 23, 23, 10, + 11, 23, 23, 23, 23, 23, 23, 23, 23, 12, 23, 13, 23, 23, 23, 14, + 15, 16, 17, 23, 18, 23, 19, 20, 23, 23, 23, 21, 23, 22, 23, 23, +}; +static const struct byte_lookup* const +to_SHIFT_JIS_E8_8F_infos[24] = { + o2(0xE4,0xC5), o2(0x90,0x9B), o2(0xFB,0x96), o2(0x8B,0x65), + o2(0x8B,0xDB), o2(0xE4,0xC0), o2(0x89,0xD9), o2(0x8F,0xD2), + o2(0xE4,0xC3), o2(0x8D,0xD8), o2(0x93,0x70), o2(0xE4,0xC8), + o2(0x95,0xEC), o2(0xE4,0xBF), o2(0x89,0xD8), o2(0x8C,0xD4), + o2(0x95,0x48), o2(0xE4,0xC9), o2(0xE4,0xBD), o2(0xFB,0x97), + o2(0xE4,0xC6), o2(0xE4,0xD0), o2(0xE4,0xC1), UNDEF, +}; +static const BYTE_LOOKUP +to_SHIFT_JIS_E8_8F = { + to_SHIFT_JIS_E8_8F_offsets, + to_SHIFT_JIS_E8_8F_infos +}; + +static const unsigned char +to_SHIFT_JIS_E8_90_offsets[64] = { + /* used from to_SHIFT_JIS_E8_90 */ + /* used from to_EUC_JP_E8_90 */ + 18, 18, 18, 0, 1, 18, 18, 2, 18, 18, 18, 3, 4, 5, 6, 18, + 18, 18, 18, 7, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, + 8, 18, 9, 18, 18, 18, 18, 18, 18, 10, 11, 18, 12, 18, 18, 18, + 18, 13, 18, 18, 18, 14, 18, 18, 15, 18, 18, 18, 16, 17, 18, 18, +}; +static const struct byte_lookup* const +to_SHIFT_JIS_E8_90_infos[19] = { + o2(0xE4,0xC2), o2(0x93,0xB8), o2(0xE4,0xC7), o2(0xE4,0xC4), + o2(0x96,0x47), o2(0xE4,0xCA), o2(0x88,0xDE), o2(0xE4,0xBE), + o2(0xE4,0xCC), o2(0xE4,0xCB), o2(0x94,0x8B), o2(0xE4,0xD2), + o2(0xE4,0xDD), o2(0x8A,0x9E), o2(0xE4,0xE0), o2(0xE4,0xCE), + o2(0xE4,0xD3), o2(0x97,0x8E), UNDEF, +}; +static const BYTE_LOOKUP +to_SHIFT_JIS_E8_90 = { + to_SHIFT_JIS_E8_90_offsets, + to_SHIFT_JIS_E8_90_infos +}; + +static const unsigned char +to_SHIFT_JIS_E8_91_offsets[64] = { + /* used from to_SHIFT_JIS_E8_91 */ + /* used from to_EUC_JP_E8_91 */ + 21, 21, 21, 21, 21, 21, 0, 21, 1, 2, 21, 21, 21, 21, 3, 21, + 21, 21, 21, 21, 21, 21, 21, 4, 21, 21, 21, 5, 21, 21, 21, 21, + 21, 6, 7, 8, 21, 21, 9, 21, 21, 10, 21, 11, 12, 13, 14, 15, + 21, 16, 21, 21, 21, 17, 21, 18, 21, 19, 20, 21, 21, 21, 21, 21, +}; +static const struct byte_lookup* const +to_SHIFT_JIS_E8_91_infos[22] = { + o2(0xE4,0xDC), o2(0xFB,0x98), o2(0x97,0x74), o2(0x97,0xA8), + o2(0x92,0x98), o2(0x8A,0x8B), o2(0x95,0x92), o2(0xE4,0xE2), + o2(0x93,0x9F), o2(0x88,0xAF), o2(0xE4,0xDB), o2(0xE4,0xD7), + o2(0x91,0x92), o2(0xE4,0xD1), o2(0xE4,0xD9), o2(0xE4,0xDE), + o2(0x94,0x4B), o2(0x88,0xA8), o2(0xE4,0xD6), o2(0xE4,0xDF), + o2(0x95,0x98), UNDEF, +}; +static const BYTE_LOOKUP +to_SHIFT_JIS_E8_91 = { + to_SHIFT_JIS_E8_91_offsets, + to_SHIFT_JIS_E8_91_infos +}; + +static const unsigned char +to_SHIFT_JIS_E8_92_offsets[64] = { + /* used from to_SHIFT_JIS_E8_92 */ + /* used from to_EUC_JP_E8_92 */ + 17, 17, 0, 17, 1, 17, 17, 17, 17, 17, 17, 2, 17, 17, 17, 17, + 3, 17, 17, 17, 4, 17, 17, 17, 17, 5, 17, 17, 6, 17, 17, 7, + 17, 8, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 9, 17, 17, + 17, 17, 10, 17, 11, 17, 17, 17, 12, 13, 17, 14, 15, 17, 17, 16, +}; +static const struct byte_lookup* const +to_SHIFT_JIS_E8_92_infos[18] = { + o2(0xE4,0xDA), o2(0xE4,0xD5), o2(0x8F,0xD3), o2(0x8F,0x4E), + o2(0x8E,0xAA), o2(0x96,0xD6), o2(0x95,0x66), o2(0xE4,0xE5), + o2(0xE4,0xEE), o2(0xE4,0xD8), o2(0x8A,0x97), o2(0xFB,0x99), + o2(0x8F,0xF6), o2(0xE4,0xE3), o2(0xE4,0xE8), o2(0x91,0x93), + o2(0xE4,0xE4), UNDEF, +}; +static const BYTE_LOOKUP +to_SHIFT_JIS_E8_92 = { + to_SHIFT_JIS_E8_92_offsets, + to_SHIFT_JIS_E8_92_infos +}; + +static const unsigned char +to_SHIFT_JIS_E8_93_offsets[64] = { + /* used from to_SHIFT_JIS_E8_93 */ + /* used from to_EUC_JP_E8_93 */ + 18, 0, 18, 18, 1, 18, 2, 18, 18, 3, 4, 5, 18, 6, 18, 18, + 7, 8, 18, 18, 18, 18, 9, 18, 18, 10, 11, 18, 12, 18, 18, 18, + 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 13, 18, 14, 18, + 18, 18, 18, 18, 15, 18, 18, 18, 18, 18, 18, 18, 16, 18, 18, 17, +}; +static const struct byte_lookup* const +to_SHIFT_JIS_E8_93_infos[19] = { + o2(0xE4,0xEB), o2(0x92,0x7E), o2(0xE4,0xEC), o2(0x97,0x75), + o2(0xE4,0xE1), o2(0x8A,0x57), o2(0xE4,0xE7), o2(0xE4,0xEA), + o2(0x96,0xAA), o2(0xE4,0xED), o2(0xE4,0xE6), o2(0xE4,0xE9), + o2(0xFA,0x60), o2(0x96,0x48), o2(0x98,0x40), o2(0xE4,0xF1), + o2(0xE4,0xF8), o2(0xE4,0xF0), UNDEF, +}; +static const BYTE_LOOKUP +to_SHIFT_JIS_E8_93 = { + to_SHIFT_JIS_E8_93_offsets, + to_SHIFT_JIS_E8_93_infos +}; + +static const unsigned char +to_SHIFT_JIS_E8_94_offsets[64] = { + /* used from to_SHIFT_JIS_E8_94 */ + /* used from to_EUC_JP_E8_94 */ + 0, 16, 16, 16, 16, 16, 1, 16, 16, 16, 16, 16, 16, 16, 16, 16, + 16, 2, 16, 3, 4, 5, 16, 6, 7, 16, 8, 16, 16, 16, 16, 9, + 16, 10, 16, 16, 16, 16, 11, 16, 16, 16, 16, 16, 12, 13, 16, 16, + 16, 16, 16, 16, 16, 14, 16, 16, 16, 16, 16, 16, 16, 15, 16, 16, +}; +static const struct byte_lookup* const +to_SHIFT_JIS_E8_94_infos[17] = { + o2(0x8E,0xC1), o2(0xE4,0xCF), o2(0x95,0xCC), o2(0x96,0xA0), + o2(0xE4,0xF7), o2(0xE4,0xF6), o2(0xE4,0xF2), o2(0xE4,0xF3), + o2(0x89,0x55), o2(0xE4,0xF5), o2(0xE4,0xEF), o2(0x92,0xD3), + o2(0xE4,0xF4), o2(0x88,0xFC), o2(0x91,0xA0), o2(0x95,0xC1), + UNDEF, +}; +static const BYTE_LOOKUP +to_SHIFT_JIS_E8_94 = { + to_SHIFT_JIS_E8_94_offsets, + to_SHIFT_JIS_E8_94_infos +}; + +static const unsigned char +to_SHIFT_JIS_E8_95_offsets[64] = { + /* used from to_SHIFT_JIS_E8_95 */ + /* used from to_EUC_JP_E8_95 */ + 0, 1, 22, 2, 22, 22, 22, 22, 3, 4, 5, 6, 22, 22, 7, 22, + 22, 22, 22, 8, 22, 9, 22, 10, 11, 12, 13, 22, 22, 22, 22, 22, + 22, 22, 22, 14, 22, 22, 22, 22, 15, 16, 17, 18, 22, 19, 22, 22, + 22, 22, 22, 22, 22, 22, 22, 20, 22, 22, 22, 22, 22, 22, 21, 22, +}; +static const struct byte_lookup* const +to_SHIFT_JIS_E8_95_infos[23] = { + o2(0xE4,0xF9), o2(0xE5,0x40), o2(0x94,0xD7), o2(0xE4,0xFC), + o2(0x8F,0xD4), o2(0x8E,0xC7), o2(0xE5,0x42), o2(0x8B,0xBC), + o2(0xFB,0x9A), o2(0xE5,0x43), o2(0x95,0x99), o2(0xE4,0xFB), + o2(0xFB,0x9B), o2(0xE4,0xD4), o2(0xE4,0xFA), o2(0x98,0x6E), + o2(0x93,0xA0), o2(0x95,0x93), o2(0xFB,0x9C), o2(0xE5,0x4A), + o2(0xE5,0x50), o2(0xE5,0x51), UNDEF, +}; +static const BYTE_LOOKUP +to_SHIFT_JIS_E8_95 = { + to_SHIFT_JIS_E8_95_offsets, + to_SHIFT_JIS_E8_95_infos +}; + +static const unsigned char +to_SHIFT_JIS_E8_96_offsets[64] = { + /* used from to_SHIFT_JIS_E8_96 */ + /* used from to_EUC_JP_E8_96 */ + 0, 24, 24, 24, 1, 24, 24, 2, 3, 24, 4, 24, 24, 24, 24, 24, + 5, 6, 24, 24, 7, 24, 24, 8, 24, 9, 24, 10, 11, 24, 24, 24, + 24, 24, 24, 24, 12, 24, 13, 24, 14, 15, 16, 17, 18, 24, 19, 20, + 21, 24, 24, 24, 24, 24, 24, 24, 24, 22, 23, 24, 24, 24, 24, 24, +}; +static const struct byte_lookup* const +to_SHIFT_JIS_E8_96_infos[25] = { + o2(0xE5,0x44), o2(0x94,0x96), o2(0xE5,0x4E), o2(0xE5,0x46), + o2(0xE5,0x48), o2(0xE5,0x52), o2(0xE5,0x47), o2(0xE5,0x4B), + o2(0x89,0x92), o2(0x93,0xE3), o2(0xE5,0x4C), o2(0xE5,0x4F), + o2(0xE5,0x45), o2(0x91,0x45), o2(0xE5,0x49), o2(0x8E,0x46), + o2(0x90,0x64), o2(0x8C,0x4F), o2(0x96,0xF2), o2(0x96,0xF7), + o2(0x8F,0x92), o2(0xFB,0x9E), o2(0xE5,0x56), o2(0xE5,0x54), + UNDEF, +}; +static const BYTE_LOOKUP +to_SHIFT_JIS_E8_96 = { + to_SHIFT_JIS_E8_96_offsets, + to_SHIFT_JIS_E8_96_infos +}; + +static const unsigned char +to_SHIFT_JIS_E8_97_offsets[64] = { + /* used from to_SHIFT_JIS_E8_97 */ + /* used from to_EUC_JP_E8_97 */ + 17, 0, 17, 17, 17, 17, 17, 17, 17, 1, 17, 17, 17, 2, 17, 3, + 4, 17, 17, 17, 17, 5, 17, 17, 17, 17, 17, 17, 6, 7, 17, 17, + 17, 17, 17, 17, 8, 9, 17, 17, 17, 10, 11, 17, 17, 17, 17, 17, + 17, 17, 17, 17, 17, 17, 17, 12, 17, 13, 14, 15, 17, 17, 16, 17, +}; +static const struct byte_lookup* const +to_SHIFT_JIS_E8_97_infos[18] = { + o2(0x98,0x6D), o2(0xE5,0x53), o2(0x97,0x95), o2(0xE5,0x55), + o2(0xE5,0x57), o2(0xE5,0x58), o2(0xE5,0x5B), o2(0xE5,0x59), + o2(0x93,0xA1), o2(0xE5,0x5A), o2(0x94,0xCB), o2(0xE5,0x4D), + o2(0x8F,0x93), o2(0xE5,0x5C), o2(0xE5,0x61), o2(0x91,0x94), + o2(0xE5,0x60), UNDEF, +}; +static const BYTE_LOOKUP +to_SHIFT_JIS_E8_97 = { + to_SHIFT_JIS_E8_97_offsets, + to_SHIFT_JIS_E8_97_infos +}; + +static const unsigned char +to_SHIFT_JIS_E8_98_offsets[64] = { + /* used from to_SHIFT_JIS_E8_98 */ + /* used from to_EUC_JP_E8_98 */ + 14, 14, 0, 14, 14, 14, 1, 2, 14, 14, 3, 4, 14, 14, 14, 14, + 14, 14, 14, 5, 14, 14, 6, 7, 14, 14, 8, 14, 14, 14, 14, 14, + 14, 14, 9, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 10, 14, 11, + 12, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 13, +}; +static const struct byte_lookup* const +to_SHIFT_JIS_E8_98_infos[15] = { + o2(0xE5,0x41), o2(0xE5,0x62), o2(0x91,0x68), o2(0xE5,0x5D), + o2(0xE5,0x5F), o2(0xE5,0x5E), o2(0x9F,0x50), o2(0x9F,0x41), + o2(0xE5,0x64), o2(0xE5,0x63), o2(0x97,0x96), o2(0xE1,0xBA), + o2(0xE5,0x65), o2(0xE5,0x66), UNDEF, +}; +static const BYTE_LOOKUP +to_SHIFT_JIS_E8_98 = { + to_SHIFT_JIS_E8_98_offsets, + to_SHIFT_JIS_E8_98_infos +}; + +static const unsigned char +to_SHIFT_JIS_E8_99_offsets[64] = { + /* used from to_SHIFT_JIS_E8_99 */ + /* used from to_EUC_JP_E8_99 */ + 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 0, 1, 14, + 2, 14, 14, 14, 3, 4, 14, 14, 14, 14, 5, 14, 6, 14, 7, 8, + 14, 14, 14, 14, 14, 14, 14, 9, 14, 14, 14, 10, 14, 14, 14, 14, + 14, 11, 14, 14, 14, 14, 14, 14, 14, 12, 14, 13, 14, 14, 14, 14, +}; +static const struct byte_lookup* const +to_SHIFT_JIS_E8_99_infos[15] = { + o2(0xE5,0x67), o2(0x8C,0xD5), o2(0x8B,0x73), o2(0xE5,0x69), + o2(0x99,0x7C), o2(0x8B,0x95), o2(0x97,0xB8), o2(0x8B,0xF1), + o2(0xE5,0x6A), o2(0xE5,0x6B), o2(0x92,0x8E), o2(0xE5,0x6C), + o2(0x93,0xF8), o2(0x88,0xB8), UNDEF, +}; +static const BYTE_LOOKUP +to_SHIFT_JIS_E8_99 = { + to_SHIFT_JIS_E8_99_offsets, + to_SHIFT_JIS_E8_99_infos +}; + +static const unsigned char +to_SHIFT_JIS_E8_9A_offsets[64] = { + /* used from to_SHIFT_JIS_E8_9A */ + /* used from to_EUC_JP_E8_9A */ + 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 0, 1, 2, 13, 13, 13, + 13, 13, 13, 3, 13, 4, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, + 13, 13, 13, 5, 6, 13, 13, 13, 13, 7, 8, 9, 13, 13, 13, 10, + 11, 13, 13, 13, 13, 13, 12, 13, 13, 13, 13, 13, 13, 13, 13, 13, +}; +static const struct byte_lookup* const +to_SHIFT_JIS_E8_9A_infos[14] = { + o2(0x89,0xE1), o2(0xE5,0x71), o2(0xE5,0x72), o2(0xE5,0x6D), + o2(0x8E,0x5C), o2(0xE5,0x6E), o2(0x94,0x61), o2(0xE5,0x6F), + o2(0xE5,0x70), o2(0xE5,0x7A), o2(0xE5,0x74), o2(0xE5,0x77), + o2(0xE5,0x73), UNDEF, +}; +static const BYTE_LOOKUP +to_SHIFT_JIS_E8_9A = { + to_SHIFT_JIS_E8_9A_offsets, + to_SHIFT_JIS_E8_9A_infos +}; + +static const unsigned char +to_SHIFT_JIS_E8_9B_offsets[64] = { + /* used from to_SHIFT_JIS_E8_9B */ + /* used from to_EUC_JP_E8_9B */ + 22, 22, 22, 22, 0, 22, 1, 2, 22, 3, 22, 4, 22, 5, 6, 22, + 22, 22, 22, 22, 7, 22, 22, 22, 22, 8, 22, 9, 22, 22, 10, 11, + 22, 22, 22, 22, 12, 22, 22, 22, 22, 13, 22, 22, 14, 15, 16, 17, + 22, 22, 22, 22, 22, 22, 22, 22, 18, 19, 22, 20, 22, 22, 21, 22, +}; +static const struct byte_lookup* const +to_SHIFT_JIS_E8_9B_infos[23] = { + o2(0xE5,0x75), o2(0xE5,0x76), o2(0x8E,0xD6), o2(0xE5,0x78), + o2(0x92,0x60), o2(0x8C,0x75), o2(0x8A,0x61), o2(0xE5,0x7B), + o2(0x8A,0x5E), o2(0xE5,0x81), o2(0xE5,0x7C), o2(0xE5,0x80), + o2(0x94,0xB8), o2(0xE5,0x7D), o2(0xE5,0x7E), o2(0x95,0x67), + o2(0x94,0xD8), o2(0xE5,0x82), o2(0x91,0xFB), o2(0xE5,0x8C), + o2(0xE5,0x88), o2(0x89,0xE9), UNDEF, +}; +static const BYTE_LOOKUP +to_SHIFT_JIS_E8_9B = { + to_SHIFT_JIS_E8_9B_offsets, + to_SHIFT_JIS_E8_9B_infos +}; + +static const unsigned char +to_SHIFT_JIS_E8_9C_offsets[64] = { + /* used from to_SHIFT_JIS_E8_9C */ + /* used from to_EUC_JP_E8_9C */ + 0, 19, 1, 2, 19, 19, 3, 19, 4, 5, 6, 19, 19, 7, 19, 19, + 19, 8, 9, 19, 19, 19, 19, 19, 10, 19, 11, 19, 12, 19, 19, 19, + 19, 19, 19, 19, 19, 13, 19, 19, 19, 14, 19, 19, 19, 19, 19, 19, + 19, 19, 19, 19, 15, 19, 19, 16, 19, 19, 19, 17, 19, 19, 19, 18, +}; +static const struct byte_lookup* const +to_SHIFT_JIS_E8_9C_infos[20] = { + o2(0xE5,0x86), o2(0x96,0x49), o2(0xE5,0x87), o2(0xE5,0x84), + o2(0xE5,0x85), o2(0xE5,0x8A), o2(0xE5,0x8D), o2(0xE5,0x8B), + o2(0xE5,0x89), o2(0xE5,0x83), o2(0x92,0x77), o2(0xE5,0x94), + o2(0x96,0xA8), o2(0xE5,0x92), o2(0xE5,0x93), o2(0xE5,0x8E), + o2(0xE5,0x90), o2(0xE5,0x91), o2(0xE5,0x8F), UNDEF, +}; +static const BYTE_LOOKUP +to_SHIFT_JIS_E8_9C = { + to_SHIFT_JIS_E8_9C_offsets, + to_SHIFT_JIS_E8_9C_infos +}; + +static const unsigned char +to_SHIFT_JIS_E8_9D_offsets[64] = { + /* used from to_SHIFT_JIS_E8_9D */ + /* used from to_EUC_JP_E8_9D */ + 19, 19, 19, 19, 19, 19, 19, 19, 19, 0, 19, 1, 2, 19, 3, 19, + 19, 19, 19, 4, 19, 5, 19, 6, 19, 7, 19, 19, 19, 19, 19, 8, + 9, 19, 19, 10, 19, 19, 11, 19, 12, 19, 13, 19, 19, 19, 14, 19, + 19, 19, 19, 19, 15, 19, 16, 19, 17, 19, 19, 19, 19, 19, 19, 18, +}; +static const struct byte_lookup* const +to_SHIFT_JIS_E8_9D_infos[20] = { + o2(0x90,0xE4), o2(0x98,0x58), o2(0xE5,0x98), o2(0xE5,0x99), + o2(0xE5,0x9F), o2(0x90,0x49), o2(0xE5,0x9B), o2(0xE5,0x9E), + o2(0xE5,0x96), o2(0xE5,0x95), o2(0xE5,0xA0), o2(0x89,0xDA), + o2(0xE5,0x9C), o2(0xE5,0xA1), o2(0xE5,0x9D), o2(0xE5,0x9A), + o2(0x92,0xB1), o2(0xE5,0x97), o2(0x94,0x88), UNDEF, +}; +static const BYTE_LOOKUP +to_SHIFT_JIS_E8_9D = { + to_SHIFT_JIS_E8_9D_offsets, + to_SHIFT_JIS_E8_9D_infos +}; + +static const unsigned char +to_SHIFT_JIS_E8_9E_offsets[64] = { + /* used from to_SHIFT_JIS_E8_9E */ + /* used from to_EUC_JP_E8_9E */ + 10, 10, 0, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 1, 10, 10, + 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 2, + 10, 10, 3, 10, 10, 10, 10, 10, 10, 10, 10, 4, 10, 10, 10, 5, + 10, 10, 10, 6, 10, 10, 10, 10, 10, 10, 7, 8, 10, 9, 10, 10, +}; +static const struct byte_lookup* const +to_SHIFT_JIS_E8_9E_infos[11] = { + o2(0xE5,0xA5), o2(0x97,0x5A), o2(0xE5,0xA4), o2(0xE5,0xA3), + o2(0xE5,0xAC), o2(0xE5,0xA6), o2(0xE5,0xAE), o2(0x97,0x86), + o2(0xE5,0xB1), o2(0xE5,0xA8), UNDEF, +}; +static const BYTE_LOOKUP +to_SHIFT_JIS_E8_9E = { + to_SHIFT_JIS_E8_9E_offsets, + to_SHIFT_JIS_E8_9E_infos +}; + +static const unsigned char +to_SHIFT_JIS_E8_9F_offsets[64] = { + /* used from to_SHIFT_JIS_E8_9F */ + /* used from to_EUC_JP_E8_9F */ + 0, 15, 15, 15, 1, 15, 2, 3, 15, 15, 15, 4, 15, 15, 15, 15, + 5, 15, 6, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, + 7, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 8, + 15, 15, 9, 15, 15, 15, 10, 11, 15, 12, 15, 13, 15, 15, 14, 15, +}; +static const struct byte_lookup* const +to_SHIFT_JIS_E8_9F_infos[16] = { + o2(0xE5,0xA9), o2(0xE5,0xAD), o2(0xE5,0xB0), o2(0xE5,0xAF), + o2(0xE5,0xA7), o2(0xE5,0xAA), o2(0xE5,0xBB), o2(0xE5,0xB4), + o2(0xE5,0xB2), o2(0xE5,0xB3), o2(0xE5,0xB8), o2(0xE5,0xB9), + o2(0x8A,0x49), o2(0x8B,0x61), o2(0xE5,0xB7), UNDEF, +}; +static const BYTE_LOOKUP +to_SHIFT_JIS_E8_9F = { + to_SHIFT_JIS_E8_9F_offsets, + to_SHIFT_JIS_E8_9F_infos +}; + +static const unsigned char +to_SHIFT_JIS_E8_A0_offsets[64] = { + /* used from to_SHIFT_JIS_E8_A0 */ + /* used from to_EUC_JP_E8_A0 */ + 16, 16, 16, 16, 16, 0, 16, 1, 16, 16, 16, 16, 16, 2, 3, 4, + 16, 5, 16, 16, 16, 6, 7, 16, 16, 16, 16, 16, 16, 16, 16, 16, + 16, 8, 9, 10, 16, 16, 16, 11, 16, 16, 16, 16, 16, 16, 16, 16, + 16, 12, 16, 16, 16, 16, 13, 16, 16, 14, 16, 15, 16, 16, 16, 16, +}; +static const struct byte_lookup* const +to_SHIFT_JIS_E8_A0_infos[17] = { + o2(0xE5,0xA2), o2(0xFB,0xA1), o2(0xE5,0xB6), o2(0xE5,0xBA), + o2(0xE5,0xB5), o2(0xE5,0xBC), o2(0xE5,0xBE), o2(0xE5,0xBD), + o2(0xE5,0xC0), o2(0xE5,0xBF), o2(0xE5,0x79), o2(0xE5,0xC4), + o2(0xE5,0xC1), o2(0xE5,0xC2), o2(0xE5,0xC3), o2(0xE5,0xC5), + UNDEF, +}; +static const BYTE_LOOKUP +to_SHIFT_JIS_E8_A0 = { + to_SHIFT_JIS_E8_A0_offsets, + to_SHIFT_JIS_E8_A0_infos +}; + +static const unsigned char +to_SHIFT_JIS_E8_A1_offsets[64] = { + /* used from to_SHIFT_JIS_E8_A1 */ + /* used from to_EUC_JP_E8_A1 */ + 0, 25, 1, 25, 2, 25, 3, 25, 25, 25, 25, 25, 4, 5, 25, 25, + 25, 25, 6, 7, 25, 25, 25, 8, 25, 9, 25, 10, 25, 11, 12, 25, + 25, 13, 14, 15, 25, 25, 25, 25, 16, 25, 25, 17, 25, 25, 25, 25, + 18, 25, 19, 25, 25, 20, 25, 21, 25, 25, 25, 25, 25, 22, 23, 24, +}; +static const struct byte_lookup* const +to_SHIFT_JIS_E8_A1_infos[26] = { + o2(0x8C,0x8C), o2(0xE5,0xC7), o2(0xE5,0xC6), o2(0x8F,0x4F), + o2(0x8D,0x73), o2(0x9F,0xA5), o2(0xE5,0xC8), o2(0x8F,0x70), + o2(0x8A,0x58), o2(0xE5,0xC9), o2(0x89,0x71), o2(0x8F,0xD5), + o2(0xE5,0xCA), o2(0x8D,0x74), o2(0xE5,0xCB), o2(0x88,0xDF), + o2(0x95,0x5C), o2(0xE5,0xCC), o2(0x90,0x8A), o2(0xE5,0xD3), + o2(0xE5,0xD0), o2(0x92,0x8F), o2(0xE5,0xD1), o2(0xE5,0xCE), + o2(0x8B,0xDC), UNDEF, +}; +static const BYTE_LOOKUP +to_SHIFT_JIS_E8_A1 = { + to_SHIFT_JIS_E8_A1_offsets, + to_SHIFT_JIS_E8_A1_infos +}; + +static const unsigned char +to_SHIFT_JIS_E8_A2_offsets[64] = { + /* used from to_SHIFT_JIS_E8_A2 */ + /* used from to_EUC_JP_E8_A2 */ + 20, 0, 1, 20, 20, 20, 20, 20, 2, 20, 20, 3, 20, 4, 20, 20, + 20, 20, 5, 20, 20, 20, 6, 7, 20, 8, 20, 20, 20, 20, 9, 20, + 20, 20, 10, 20, 11, 20, 20, 20, 20, 20, 20, 12, 20, 20, 13, 20, + 14, 15, 20, 20, 16, 17, 20, 18, 20, 20, 20, 20, 20, 20, 20, 19, +}; +static const struct byte_lookup* const +to_SHIFT_JIS_E8_A2_infos[21] = { + o2(0xE5,0xCD), o2(0xE5,0xD4), o2(0x8C,0x55), o2(0x91,0xDC), + o2(0xE5,0xDA), o2(0xE5,0xD6), o2(0x91,0xB3), o2(0xE5,0xD5), + o2(0xE5,0xD8), o2(0xE5,0xCF), o2(0xE5,0xD9), o2(0xE5,0xDB), + o2(0x94,0xED), o2(0xE5,0xD7), o2(0xE5,0xDC), o2(0xE5,0xDE), + o2(0x8C,0xD1), o2(0xE5,0xD2), o2(0x88,0xBF), o2(0xE5,0xDD), + UNDEF, +}; +static const BYTE_LOOKUP +to_SHIFT_JIS_E8_A2 = { + to_SHIFT_JIS_E8_A2_offsets, + to_SHIFT_JIS_E8_A2_infos +}; + +static const unsigned char +to_SHIFT_JIS_E8_A3_offsets[64] = { + /* used from to_SHIFT_JIS_E8_A3 */ + /* used from to_EUC_JP_E8_A3 */ + 24, 0, 1, 2, 3, 4, 24, 24, 24, 24, 24, 24, 24, 24, 24, 5, + 24, 24, 24, 24, 6, 7, 24, 24, 8, 9, 24, 24, 10, 11, 24, 12, + 24, 13, 24, 24, 24, 24, 24, 24, 14, 24, 24, 24, 24, 24, 24, 24, + 24, 24, 15, 16, 17, 18, 24, 24, 19, 20, 24, 24, 21, 22, 23, 24, +}; +static const struct byte_lookup* const +to_SHIFT_JIS_E8_A3_infos[25] = { + o2(0x8D,0xD9), o2(0x97,0xF4), o2(0xE5,0xDF), o2(0xE5,0xE0), + o2(0x91,0x95), o2(0x97,0xA0), o2(0xE5,0xE1), o2(0x97,0x54), + o2(0xE5,0xE2), o2(0xE5,0xE3), o2(0x95,0xE2), o2(0xE5,0xE4), + o2(0x8D,0xBE), o2(0x97,0xA1), o2(0xE5,0xE9), o2(0xE5,0xEA), + o2(0x8F,0xD6), o2(0xE5,0xE8), o2(0xFB,0xA2), o2(0x97,0x87), + o2(0xE5,0xE5), o2(0xE5,0xE7), o2(0x90,0xBB), o2(0x90,0x9E), + UNDEF, +}; +static const BYTE_LOOKUP +to_SHIFT_JIS_E8_A3 = { + to_SHIFT_JIS_E8_A3_offsets, + to_SHIFT_JIS_E8_A3_infos +}; + +static const unsigned char +to_SHIFT_JIS_E8_A4_offsets[64] = { + /* used from to_SHIFT_JIS_E8_A4 */ + /* used from to_EUC_JP_E8_A4 */ + 17, 17, 0, 17, 1, 17, 17, 2, 17, 17, 3, 17, 4, 17, 17, 17, + 5, 17, 6, 7, 17, 17, 17, 17, 17, 17, 17, 17, 8, 9, 10, 17, + 17, 17, 17, 17, 17, 11, 17, 17, 17, 17, 12, 13, 17, 17, 17, 17, + 17, 17, 17, 17, 17, 17, 14, 17, 15, 17, 17, 16, 17, 17, 17, 17, +}; +static const struct byte_lookup* const +to_SHIFT_JIS_E8_A4_infos[18] = { + o2(0xE5,0xE6), o2(0xE5,0xEB), o2(0x95,0xA1), o2(0xE5,0xED), + o2(0xE5,0xEC), o2(0x8A,0x8C), o2(0x96,0x4A), o2(0xE5,0xEE), + o2(0xFA,0x5D), o2(0xE5,0xFA), o2(0xE5,0xF0), o2(0xE5,0xF1), + o2(0xE5,0xF2), o2(0xE5,0xF3), o2(0xE5,0xF7), o2(0xE5,0xF8), + o2(0xE5,0xF6), UNDEF, +}; +static const BYTE_LOOKUP +to_SHIFT_JIS_E8_A4 = { + to_SHIFT_JIS_E8_A4_offsets, + to_SHIFT_JIS_E8_A4_infos +}; + +static const unsigned char +to_SHIFT_JIS_E8_A5_offsets[64] = { + /* used from to_SHIFT_JIS_E8_A5 */ + /* used from to_EUC_JP_E8_A5 */ + 19, 0, 19, 1, 2, 19, 19, 19, 19, 19, 19, 19, 3, 4, 19, 19, + 19, 19, 19, 19, 19, 19, 5, 19, 19, 19, 19, 19, 19, 19, 6, 7, + 8, 19, 19, 19, 9, 19, 10, 19, 19, 19, 11, 19, 19, 12, 19, 13, + 19, 19, 14, 19, 15, 19, 19, 16, 19, 19, 19, 19, 19, 19, 17, 18, +}; +static const struct byte_lookup* const +to_SHIFT_JIS_E8_A5_infos[20] = { + o2(0xE5,0xF4), o2(0xE5,0xEF), o2(0xE5,0xF5), o2(0xE5,0xF9), + o2(0xE8,0xB5), o2(0x89,0xA6), o2(0xE5,0xFC), o2(0x8B,0xDD), + o2(0xE5,0xFB), o2(0xE6,0x41), o2(0xE6,0x40), o2(0xE6,0x43), + o2(0xE6,0x42), o2(0xE6,0x44), o2(0x8F,0x50), o2(0xE6,0x45), + o2(0xE6,0x46), o2(0xE6,0x47), o2(0x90,0xBC), UNDEF, +}; +static const BYTE_LOOKUP +to_SHIFT_JIS_E8_A5 = { + to_SHIFT_JIS_E8_A5_offsets, + to_SHIFT_JIS_E8_A5_infos +}; + +static const unsigned char +to_SHIFT_JIS_E8_A6_offsets[64] = { + /* used from to_SHIFT_JIS_E8_A6 */ + /* used from to_EUC_JP_E8_A6 */ + 25, 0, 25, 1, 25, 25, 2, 3, 4, 25, 5, 6, 25, 25, 25, 7, + 25, 25, 25, 8, 25, 25, 9, 10, 11, 25, 12, 25, 25, 25, 25, 25, + 25, 13, 25, 25, 25, 25, 14, 15, 25, 16, 17, 25, 18, 25, 25, 19, + 25, 25, 20, 21, 25, 25, 25, 25, 25, 25, 22, 25, 25, 23, 25, 24, +}; +static const struct byte_lookup* const +to_SHIFT_JIS_E8_A6_infos[26] = { + o2(0x97,0x76), o2(0xE6,0x48), o2(0x95,0xA2), o2(0x94,0x65), + o2(0xE6,0x49), o2(0xE6,0x4A), o2(0x8C,0xA9), o2(0x8B,0x4B), + o2(0xE6,0x4B), o2(0x8E,0x8B), o2(0x94,0x60), o2(0xE6,0x4C), + o2(0x8A,0x6F), o2(0xE6,0x4D), o2(0xE6,0x4F), o2(0x97,0x97), + o2(0xE6,0x4E), o2(0x90,0x65), o2(0xE6,0x50), o2(0xE6,0x51), + o2(0xE6,0x52), o2(0x8A,0xCF), o2(0xE6,0x53), o2(0xE6,0x54), + o2(0xE6,0x55), UNDEF, +}; +static const BYTE_LOOKUP +to_SHIFT_JIS_E8_A6 = { + to_SHIFT_JIS_E8_A6_offsets, + to_SHIFT_JIS_E8_A6_infos +}; + +static const unsigned char +to_SHIFT_JIS_E8_A7_offsets[64] = { + /* used from to_SHIFT_JIS_E8_A7 */ + /* used from to_EUC_JP_E8_A7 */ + 0, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, + 10, 10, 1, 10, 10, 10, 10, 10, 10, 10, 2, 10, 3, 4, 10, 10, + 10, 10, 10, 5, 10, 10, 6, 7, 10, 10, 10, 10, 10, 10, 10, 10, + 10, 10, 10, 10, 8, 10, 10, 10, 9, 10, 10, 10, 10, 10, 10, 10, +}; +static const struct byte_lookup* const +to_SHIFT_JIS_E8_A7_infos[11] = { + o2(0xE6,0x56), o2(0x8A,0x70), o2(0xE6,0x57), o2(0xE6,0x58), + o2(0xE6,0x59), o2(0x89,0xF0), o2(0x90,0x47), o2(0xE6,0x5A), + o2(0xE6,0x5B), o2(0xE6,0x5C), UNDEF, +}; +static const BYTE_LOOKUP +to_SHIFT_JIS_E8_A7 = { + to_SHIFT_JIS_E8_A7_offsets, + to_SHIFT_JIS_E8_A7_infos +}; + +static const unsigned char +to_SHIFT_JIS_E8_A8_offsets[64] = { + /* used from to_SHIFT_JIS_E8_A8 */ + /* used from to_EUC_JP_E8_A8 */ + 0, 28, 1, 2, 28, 28, 28, 28, 3, 28, 4, 28, 5, 28, 6, 28, + 7, 28, 8, 9, 28, 28, 10, 11, 12, 28, 28, 13, 28, 14, 28, 15, + 28, 28, 28, 16, 28, 17, 28, 28, 28, 28, 18, 28, 28, 19, 28, 28, + 28, 20, 28, 21, 22, 28, 23, 24, 28, 28, 25, 26, 27, 28, 28, 28, +}; +static const struct byte_lookup* const +to_SHIFT_JIS_E8_A8_infos[29] = { + o2(0x8C,0xBE), o2(0x92,0xF9), o2(0xE6,0x5D), o2(0x8C,0x76), + o2(0x90,0x75), o2(0xE6,0x60), o2(0x93,0xA2), o2(0xE6,0x5F), + o2(0xFB,0xA3), o2(0x8C,0x50), o2(0xE6,0x5E), o2(0x91,0xF5), + o2(0x8B,0x4C), o2(0xE6,0x61), o2(0xE6,0x62), o2(0x8F,0xD7), + o2(0x8C,0x8D), o2(0xE6,0x63), o2(0x96,0x4B), o2(0x90,0xDD), + o2(0x8B,0x96), o2(0x96,0xF3), o2(0x91,0x69), o2(0xE6,0x64), + o2(0xFB,0xA4), o2(0x90,0x66), o2(0x92,0x90), o2(0x8F,0xD8), + UNDEF, +}; +static const BYTE_LOOKUP +to_SHIFT_JIS_E8_A8 = { + to_SHIFT_JIS_E8_A8_offsets, + to_SHIFT_JIS_E8_A8_infos +}; + +static const unsigned char +to_SHIFT_JIS_E8_A9_offsets[64] = { + /* used from to_SHIFT_JIS_E8_A9 */ + /* used from to_EUC_JP_E8_A9 */ + 25, 0, 25, 25, 25, 25, 1, 25, 2, 25, 25, 25, 25, 25, 25, 25, + 3, 4, 5, 25, 6, 7, 25, 25, 25, 25, 25, 8, 25, 25, 9, 25, + 10, 25, 11, 12, 25, 25, 13, 25, 25, 14, 25, 15, 16, 17, 18, 25, + 19, 20, 21, 22, 25, 25, 25, 25, 25, 23, 25, 25, 24, 25, 25, 25, +}; +static const struct byte_lookup* const +to_SHIFT_JIS_E8_A9_infos[26] = { + o2(0xE6,0x65), o2(0xE6,0x68), o2(0xE6,0x69), o2(0x8D,0xBC), + o2(0x91,0xC0), o2(0xE6,0x67), o2(0x8F,0xD9), o2(0x95,0x5D), + o2(0xE6,0x66), o2(0x8E,0x8C), o2(0x89,0x72), o2(0xE6,0x6D), + o2(0x8C,0x77), o2(0x8E,0x8E), o2(0x8E,0x8D), o2(0x98,0x6C), + o2(0xE6,0x6C), o2(0xE6,0x6B), o2(0x91,0x46), o2(0x8B,0x6C), + o2(0x98,0x62), o2(0x8A,0x59), o2(0x8F,0xDA), o2(0xFB,0xA5), + o2(0xE6,0x6A), UNDEF, +}; +static const BYTE_LOOKUP +to_SHIFT_JIS_E8_A9 = { + to_SHIFT_JIS_E8_A9_offsets, + to_SHIFT_JIS_E8_A9_infos +}; + +static const unsigned char +to_SHIFT_JIS_E8_AA_offsets[64] = { + /* used from to_SHIFT_JIS_E8_AA */ + /* used from to_EUC_JP_E8_AA */ + 29, 29, 0, 29, 1, 2, 29, 3, 29, 4, 29, 29, 5, 6, 29, 29, + 29, 7, 29, 8, 29, 9, 29, 29, 10, 29, 11, 29, 29, 29, 12, 29, + 13, 14, 29, 15, 16, 17, 18, 19, 20, 29, 29, 29, 21, 22, 29, 29, + 23, 29, 24, 29, 29, 29, 29, 29, 29, 25, 29, 29, 26, 29, 27, 28, +}; +static const struct byte_lookup* const +to_SHIFT_JIS_E8_AA_infos[30] = { + o2(0xE6,0x6F), o2(0xE6,0x70), o2(0xE6,0x6E), o2(0x8C,0xD6), + o2(0x97,0x5F), o2(0x8E,0x8F), o2(0x94,0x46), o2(0xE6,0x73), + o2(0x90,0xBE), o2(0x92,0x61), o2(0x97,0x55), o2(0xE6,0x76), + o2(0x8C,0xEA), o2(0x90,0xBD), o2(0xE6,0x72), o2(0xE6,0x77), + o2(0x8C,0xEB), o2(0xE6,0x74), o2(0xE6,0x75), o2(0xFB,0xA6), + o2(0xE6,0x71), o2(0x90,0xE0), o2(0x93,0xC7), o2(0x92,0x4E), + o2(0x89,0xDB), o2(0x94,0xEE), o2(0x8B,0x62), o2(0xFB,0xA7), + o2(0x92,0xB2), UNDEF, +}; +static const BYTE_LOOKUP +to_SHIFT_JIS_E8_AA = { + to_SHIFT_JIS_E8_AA_offsets, + to_SHIFT_JIS_E8_AA_infos +}; + +static const unsigned char +to_SHIFT_JIS_E8_AB_offsets[64] = { + /* used from to_SHIFT_JIS_E8_AB */ + /* used from to_EUC_JP_E8_AB */ + 30, 30, 0, 30, 1, 30, 30, 2, 30, 30, 30, 3, 4, 5, 30, 6, + 30, 30, 7, 30, 30, 30, 8, 30, 30, 30, 9, 10, 11, 30, 12, 13, + 14, 15, 16, 30, 17, 30, 18, 19, 30, 30, 30, 20, 30, 21, 22, 30, + 30, 23, 30, 24, 30, 30, 25, 26, 27, 30, 28, 30, 30, 30, 29, 30, +}; +static const struct byte_lookup* const +to_SHIFT_JIS_E8_AB_infos[31] = { + o2(0xE6,0x7A), o2(0xE6,0x78), o2(0x92,0x6B), o2(0x90,0xBF), + o2(0x8A,0xD0), o2(0xE6,0x79), o2(0x90,0x7A), o2(0x97,0xC8), + o2(0x98,0x5F), o2(0xE6,0x7B), o2(0xE6,0x87), o2(0x92,0xB3), + o2(0xE6,0x86), o2(0xFB,0xA8), o2(0xE6,0x83), o2(0xE6,0x8B), + o2(0xE6,0x84), o2(0xE6,0x80), o2(0x92,0xFA), o2(0xE6,0x7E), + o2(0xE6,0x7C), o2(0x97,0x40), o2(0x8E,0x90), o2(0xE6,0x81), + o2(0xE6,0x7D), o2(0xFB,0xAA), o2(0xE6,0x85), o2(0x8F,0x94), + o2(0x8C,0xBF), o2(0x91,0xF8), UNDEF, +}; +static const BYTE_LOOKUP +to_SHIFT_JIS_E8_AB = { + to_SHIFT_JIS_E8_AB_offsets, + to_SHIFT_JIS_E8_AB_infos +}; + +static const unsigned char +to_SHIFT_JIS_E8_AC_offsets[64] = { + /* used from to_SHIFT_JIS_E8_AC */ + /* used from to_EUC_JP_E8_AC */ + 0, 1, 2, 24, 3, 24, 24, 4, 24, 24, 24, 24, 5, 24, 6, 24, + 7, 24, 24, 24, 8, 24, 9, 10, 24, 11, 12, 13, 24, 14, 24, 24, + 15, 16, 24, 24, 24, 24, 17, 24, 18, 24, 24, 19, 20, 24, 24, 24, + 24, 24, 24, 21, 24, 24, 24, 24, 24, 22, 24, 24, 24, 24, 23, 24, +}; +static const struct byte_lookup* const +to_SHIFT_JIS_E8_AC_infos[25] = { + o2(0x96,0x64), o2(0x89,0x79), o2(0x88,0xE0), o2(0x93,0xA3), + o2(0xE6,0x89), o2(0xE6,0x88), o2(0x93,0xE4), o2(0xE6,0x8D), + o2(0xE6,0x82), o2(0xE6,0x8C), o2(0xE6,0x8E), o2(0x8C,0xAA), + o2(0xE6,0x8A), o2(0x8D,0x75), o2(0x8E,0xD3), o2(0xE6,0x8F), + o2(0x97,0x77), o2(0xE6,0x92), o2(0xE6,0x95), o2(0xE6,0x93), + o2(0x95,0x54), o2(0xE6,0x90), o2(0x8B,0xDE), o2(0xE6,0x94), + UNDEF, +}; +static const BYTE_LOOKUP +to_SHIFT_JIS_E8_AC = { + to_SHIFT_JIS_E8_AC_offsets, + to_SHIFT_JIS_E8_AC_infos +}; + +static const unsigned char +to_SHIFT_JIS_E8_AD_offsets[64] = { + /* used from to_SHIFT_JIS_E8_AD */ + /* used from to_EUC_JP_E8_AD */ + 23, 0, 23, 23, 23, 23, 23, 23, 23, 1, 23, 23, 2, 23, 3, 4, + 23, 23, 23, 5, 23, 23, 6, 23, 7, 23, 8, 9, 10, 23, 23, 11, + 23, 23, 23, 23, 23, 23, 12, 23, 23, 23, 23, 13, 14, 23, 23, 15, + 16, 17, 18, 23, 19, 23, 23, 20, 23, 23, 23, 23, 23, 21, 23, 22, +}; +static const struct byte_lookup* const +to_SHIFT_JIS_E8_AD_infos[24] = { + o2(0xE6,0x96), o2(0xE6,0x9A), o2(0xE6,0x97), o2(0xE6,0x99), + o2(0xE6,0x98), o2(0xFB,0xAB), o2(0xE6,0x9B), o2(0x8E,0xAF), + o2(0xE6,0x9D), o2(0xE6,0x9C), o2(0x95,0x88), o2(0xE6,0x9F), + o2(0x8C,0x78), o2(0xE6,0x9E), o2(0xE6,0xA0), o2(0xE6,0xA1), + o2(0x8B,0x63), o2(0xE3,0xBF), o2(0x8F,0xF7), o2(0xE6,0xA2), + o2(0x8C,0xEC), o2(0xE6,0xA3), o2(0xFB,0xAC), UNDEF, +}; +static const BYTE_LOOKUP +to_SHIFT_JIS_E8_AD = { + to_SHIFT_JIS_E8_AD_offsets, + to_SHIFT_JIS_E8_AD_infos +}; + +static const unsigned char +to_SHIFT_JIS_E8_AE_offsets[64] = { + /* used from to_SHIFT_JIS_E8_AE */ + /* used from to_EUC_JP_E8_AE */ + 0, 11, 11, 1, 11, 11, 11, 11, 11, 11, 2, 11, 3, 11, 4, 11, + 5, 11, 6, 7, 11, 11, 8, 11, 11, 9, 10, 11, 11, 11, 11, 11, + 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, + 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, +}; +static const struct byte_lookup* const +to_SHIFT_JIS_E8_AE_infos[12] = { + o2(0xE6,0xA4), o2(0x8E,0x5D), o2(0x9D,0xCC), o2(0xE6,0xA5), + o2(0xE6,0xA6), o2(0x8F,0x51), o2(0xE6,0xA7), o2(0xE6,0xA8), + o2(0xE6,0xA9), o2(0xE6,0xAA), o2(0xE6,0xAB), UNDEF, +}; +static const BYTE_LOOKUP +to_SHIFT_JIS_E8_AE = { + to_SHIFT_JIS_E8_AE_offsets, + to_SHIFT_JIS_E8_AE_infos +}; + +static const unsigned char +to_SHIFT_JIS_E8_B0_offsets[64] = { + /* used from to_SHIFT_JIS_E8_B0 */ + /* used from to_EUC_JP_E8_B0 */ + 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, + 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, + 3, 3, 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, 3, 3, 3, 3, 2, +}; +static const struct byte_lookup* const +to_SHIFT_JIS_E8_B0_infos[4] = { + o2(0x92,0x4A), o2(0xE6,0xAC), o2(0xE6,0xAE), UNDEF, +}; +static const BYTE_LOOKUP +to_SHIFT_JIS_E8_B0 = { + to_SHIFT_JIS_E8_B0_offsets, + to_SHIFT_JIS_E8_B0_infos +}; + +static const unsigned char +to_SHIFT_JIS_E8_B1_offsets[64] = { + /* used from to_SHIFT_JIS_E8_B1 */ + /* used from to_EUC_JP_E8_B1 */ + 18, 0, 18, 18, 18, 18, 1, 18, 2, 18, 3, 18, 4, 18, 5, 18, + 6, 18, 18, 18, 18, 7, 18, 18, 18, 18, 8, 18, 18, 18, 18, 18, + 18, 9, 10, 18, 18, 18, 18, 18, 18, 18, 11, 12, 13, 18, 18, 18, + 18, 18, 18, 18, 18, 18, 18, 18, 14, 15, 16, 18, 17, 18, 18, 18, +}; +static const struct byte_lookup* const +to_SHIFT_JIS_E8_B1_infos[19] = { + o2(0xE6,0xAD), o2(0x93,0xA4), o2(0xE6,0xAF), o2(0x96,0x4C), + o2(0xE6,0xB0), o2(0xE6,0xB1), o2(0xE6,0xB2), o2(0xE6,0xB3), + o2(0x93,0xD8), o2(0x8F,0xDB), o2(0xE6,0xB4), o2(0x8D,0x8B), + o2(0x98,0xAC), o2(0xE6,0xB5), o2(0xE6,0xB6), o2(0x95,0x5E), + o2(0xE6,0xB7), o2(0xE6,0xBF), UNDEF, +}; +static const BYTE_LOOKUP +to_SHIFT_JIS_E8_B1 = { + to_SHIFT_JIS_E8_B1_offsets, + to_SHIFT_JIS_E8_B1_infos +}; + +static const unsigned char +to_SHIFT_JIS_E8_B2_offsets[64] = { + /* used from to_SHIFT_JIS_E8_B2 */ + /* used from to_EUC_JP_E8_B2 */ + 34, 34, 0, 34, 34, 1, 34, 34, 34, 2, 3, 34, 4, 5, 6, 34, + 34, 34, 34, 34, 7, 34, 34, 34, 8, 34, 34, 34, 34, 9, 10, 34, + 11, 12, 13, 34, 34, 34, 34, 14, 15, 16, 17, 18, 19, 20, 21, 22, + 23, 34, 24, 25, 26, 34, 27, 28, 29, 34, 34, 30, 31, 32, 34, 33, +}; +static const struct byte_lookup* const +to_SHIFT_JIS_E8_B2_infos[35] = { + o2(0xE6,0xB8), o2(0xE6,0xBA), o2(0xE6,0xB9), o2(0xE6,0xBB), + o2(0x96,0x65), o2(0xE6,0xBC), o2(0xE6,0xBD), o2(0xE6,0xBE), + o2(0xE6,0xC0), o2(0x8A,0x4C), o2(0x92,0xE5), o2(0x95,0x89), + o2(0x8D,0xE0), o2(0x8D,0x76), o2(0x95,0x6E), o2(0x89,0xDD), + o2(0x94,0xCC), o2(0xE6,0xC3), o2(0x8A,0xD1), o2(0x90,0xD3), + o2(0xE6,0xC2), o2(0xE6,0xC7), o2(0x92,0x99), o2(0x96,0xE1), + o2(0xE6,0xC5), o2(0xE6,0xC6), o2(0x8B,0x4D), o2(0xE6,0xC8), + o2(0x94,0x83), o2(0x91,0xDD), o2(0x94,0xEF), o2(0x93,0x5C), + o2(0xE6,0xC4), o2(0x96,0x66), UNDEF, +}; +static const BYTE_LOOKUP +to_SHIFT_JIS_E8_B2 = { + to_SHIFT_JIS_E8_B2_offsets, + to_SHIFT_JIS_E8_B2_infos +}; + +static const unsigned char +to_SHIFT_JIS_E8_B3_offsets[64] = { + /* used from to_SHIFT_JIS_E8_B3 */ + /* used from to_EUC_JP_E8_B3 */ + 0, 1, 2, 3, 4, 29, 29, 5, 6, 29, 7, 29, 29, 8, 9, 29, + 29, 10, 29, 11, 29, 29, 29, 29, 29, 29, 12, 13, 14, 29, 15, 29, + 16, 29, 17, 18, 19, 29, 20, 29, 29, 29, 21, 29, 29, 22, 29, 29, + 23, 29, 29, 29, 24, 29, 29, 29, 29, 29, 25, 26, 27, 28, 29, 29, +}; +static const struct byte_lookup* const +to_SHIFT_JIS_E8_B3_infos[30] = { + o2(0x89,0xEA), o2(0xE6,0xCA), o2(0x98,0x47), o2(0x92,0xC0), + o2(0x98,0x64), o2(0x8E,0x91), o2(0xE6,0xC9), o2(0x91,0xAF), + o2(0xE6,0xDA), o2(0x91,0x47), o2(0x93,0xF6), o2(0x95,0x6F), + o2(0xE6,0xCD), o2(0x8E,0x5E), o2(0x8E,0x92), o2(0x8F,0xDC), + o2(0x94,0x85), o2(0x8C,0xAB), o2(0xE6,0xCC), o2(0xE6,0xCB), + o2(0x95,0x8A), o2(0x8E,0xBF), o2(0x93,0x71), o2(0xFB,0xAD), + o2(0xFB,0xAE), o2(0xE6,0xCF), o2(0xE6,0xD0), o2(0x8D,0x77), + o2(0xE6,0xCE), UNDEF, +}; +static const BYTE_LOOKUP +to_SHIFT_JIS_E8_B3 = { + to_SHIFT_JIS_E8_B3_offsets, + to_SHIFT_JIS_E8_B3_infos +}; + +static const unsigned char +to_SHIFT_JIS_E8_B4_offsets[64] = { + /* used from to_SHIFT_JIS_E8_B4 */ + /* used from to_EUC_JP_E8_B4 */ + 13, 13, 13, 13, 0, 1, 13, 2, 3, 13, 4, 5, 13, 6, 13, 7, + 8, 13, 9, 10, 11, 13, 12, 13, 13, 13, 13, 13, 13, 13, 13, 13, + 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, + 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, +}; +static const struct byte_lookup* const +to_SHIFT_JIS_E8_B4_infos[14] = { + o2(0xE6,0xD1), o2(0xE6,0xD2), o2(0xE6,0xD4), o2(0x91,0xA1), + o2(0xE6,0xD3), o2(0x8A,0xE4), o2(0xE6,0xD6), o2(0xE6,0xD5), + o2(0xE6,0xD7), o2(0xFB,0xAF), o2(0xE6,0xD9), o2(0xE6,0xDB), + o2(0xE6,0xDC), UNDEF, +}; +static const BYTE_LOOKUP +to_SHIFT_JIS_E8_B4 = { + to_SHIFT_JIS_E8_B4_offsets, + to_SHIFT_JIS_E8_B4_infos +}; + +static const unsigned char +to_SHIFT_JIS_E8_B5_offsets[64] = { + /* used from to_SHIFT_JIS_E8_B5 */ + /* used from to_EUC_JP_E8_B5 */ + 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, + 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, + 11, 11, 11, 11, 0, 11, 1, 2, 11, 11, 11, 3, 11, 4, 11, 11, + 5, 6, 11, 7, 8, 11, 9, 10, 11, 11, 11, 11, 11, 11, 11, 11, +}; +static const struct byte_lookup* const +to_SHIFT_JIS_E8_B5_infos[12] = { + o2(0x90,0xD4), o2(0x8E,0xCD), o2(0xE6,0xDD), o2(0x8A,0x71), + o2(0xE6,0xDE), o2(0x91,0x96), o2(0xE6,0xDF), o2(0xE6,0xE0), + o2(0x95,0x8B), o2(0xFB,0xB0), o2(0x8B,0x4E), UNDEF, +}; +static const BYTE_LOOKUP +to_SHIFT_JIS_E8_B5 = { + to_SHIFT_JIS_E8_B5_offsets, + to_SHIFT_JIS_E8_B5_infos +}; + +static const unsigned char +to_SHIFT_JIS_E8_B6_offsets[64] = { + /* used from to_SHIFT_JIS_E8_B6 */ + /* used from to_EUC_JP_E8_B6 */ + 9, 0, 9, 9, 9, 1, 9, 9, 9, 9, 2, 9, 9, 9, 9, 9, + 9, 9, 9, 9, 9, 9, 9, 9, 9, 3, 9, 9, 9, 9, 9, 9, + 9, 9, 9, 4, 9, 9, 9, 9, 5, 9, 9, 9, 9, 9, 9, 9, + 9, 9, 9, 6, 9, 9, 9, 9, 9, 9, 7, 9, 9, 9, 8, 9, +}; +static const struct byte_lookup* const +to_SHIFT_JIS_E8_B6_infos[10] = { + o2(0xE6,0xE1), o2(0x92,0xB4), o2(0x89,0x7A), o2(0xE6,0xE2), + o2(0x8E,0xEF), o2(0x90,0x96), o2(0x91,0xAB), o2(0xE6,0xE5), + o2(0xE6,0xE4), UNDEF, +}; +static const BYTE_LOOKUP +to_SHIFT_JIS_E8_B6 = { + to_SHIFT_JIS_E8_B6_offsets, + to_SHIFT_JIS_E8_B6_infos +}; + +static const unsigned char +to_SHIFT_JIS_E8_B7_offsets[64] = { + /* used from to_SHIFT_JIS_E8_B7 */ + /* used from to_EUC_JP_E8_B7 */ + 19, 19, 0, 19, 19, 19, 19, 19, 19, 19, 19, 1, 2, 19, 19, 3, + 19, 19, 19, 19, 19, 19, 4, 19, 19, 19, 5, 6, 19, 7, 19, 8, + 19, 9, 19, 10, 19, 19, 19, 19, 11, 19, 12, 13, 19, 19, 19, 14, + 19, 19, 19, 15, 19, 16, 19, 19, 19, 19, 19, 19, 17, 19, 19, 18, +}; +static const struct byte_lookup* const +to_SHIFT_JIS_E8_B7_infos[20] = { + o2(0xE6,0xE3), o2(0xE6,0xEB), o2(0xE6,0xE9), o2(0xE6,0xE6), + o2(0xE6,0xE8), o2(0xE6,0xE7), o2(0xE6,0xEA), o2(0x8B,0x97), + o2(0xE6,0xEE), o2(0x90,0xD5), o2(0xE6,0xEF), o2(0x8C,0xD7), + o2(0xE6,0xEC), o2(0xE6,0xED), o2(0x98,0x48), o2(0x92,0xB5), + o2(0x91,0x48), o2(0xE6,0xF0), o2(0xE6,0xF3), UNDEF, +}; +static const BYTE_LOOKUP +to_SHIFT_JIS_E8_B7 = { + to_SHIFT_JIS_E8_B7_offsets, + to_SHIFT_JIS_E8_B7_infos +}; + +static const unsigned char +to_SHIFT_JIS_E8_B8_offsets[64] = { + /* used from to_SHIFT_JIS_E8_B8 */ + /* used from to_EUC_JP_E8_B8 */ + 12, 12, 12, 12, 12, 12, 12, 12, 0, 1, 2, 12, 12, 12, 12, 3, + 4, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 5, 6, 7, + 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 8, 12, 12, 12, 12, 12, + 9, 12, 12, 12, 10, 11, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, +}; +static const struct byte_lookup* const +to_SHIFT_JIS_E8_B8_infos[13] = { + o2(0xE6,0xF1), o2(0xE6,0xF2), o2(0x97,0x78), o2(0x93,0xA5), + o2(0xE6,0xF6), o2(0xE6,0xF4), o2(0xE6,0xF5), o2(0xE6,0xF7), + o2(0xE7,0x48), o2(0xE6,0xFA), o2(0xE6,0xFB), o2(0xE6,0xF9), + UNDEF, +}; +static const BYTE_LOOKUP +to_SHIFT_JIS_E8_B8 = { + to_SHIFT_JIS_E8_B8_offsets, + to_SHIFT_JIS_E8_B8_infos +}; + +static const unsigned char +to_SHIFT_JIS_E8_B9_offsets[64] = { + /* used from to_SHIFT_JIS_E8_B9 */ + /* used from to_EUC_JP_E8_B9 */ + 18, 18, 0, 18, 1, 18, 18, 2, 3, 4, 5, 18, 6, 18, 18, 18, + 7, 18, 18, 18, 18, 8, 18, 18, 18, 9, 18, 18, 18, 18, 18, 10, + 11, 18, 18, 12, 13, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, + 18, 18, 14, 18, 15, 18, 16, 18, 18, 18, 18, 18, 17, 18, 18, 18, +}; +static const struct byte_lookup* const +to_SHIFT_JIS_E8_B9_infos[19] = { + o2(0xE6,0xF8), o2(0x92,0xFB), o2(0xE7,0x40), o2(0xE7,0x44), + o2(0xE7,0x41), o2(0xE6,0xFC), o2(0xE7,0x42), o2(0xE7,0x43), + o2(0xE7,0x4A), o2(0xE7,0x45), o2(0x90,0xD6), o2(0xE7,0x47), + o2(0xE7,0x49), o2(0xE7,0x46), o2(0xE7,0x4C), o2(0x8F,0x52), + o2(0xE7,0x4B), o2(0xE7,0x4D), UNDEF, +}; +static const BYTE_LOOKUP +to_SHIFT_JIS_E8_B9 = { + to_SHIFT_JIS_E8_B9_offsets, + to_SHIFT_JIS_E8_B9_infos +}; + +static const unsigned char +to_SHIFT_JIS_E8_BA_offsets[64] = { + /* used from to_SHIFT_JIS_E8_BA */ + /* used from to_EUC_JP_E8_BA */ + 19, 0, 19, 19, 1, 2, 19, 3, 19, 19, 4, 5, 19, 6, 19, 19, + 19, 7, 19, 8, 9, 19, 19, 19, 19, 10, 19, 19, 19, 19, 19, 19, + 19, 11, 19, 19, 19, 19, 19, 19, 19, 19, 12, 13, 14, 19, 19, 15, + 16, 17, 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, 18, 19, +}; +static const struct byte_lookup* const +to_SHIFT_JIS_E8_BA_infos[20] = { + o2(0xE7,0x4E), o2(0xE7,0x51), o2(0xE7,0x50), o2(0xE7,0x4F), + o2(0xE7,0x53), o2(0xE7,0x52), o2(0x96,0xF4), o2(0xE7,0x55), + o2(0xE7,0x54), o2(0xE7,0x56), o2(0xE7,0x57), o2(0xE7,0x59), + o2(0xE7,0x58), o2(0x90,0x67), o2(0xE7,0x5A), o2(0x8B,0xEB), + o2(0xE7,0x5B), o2(0xE7,0x5D), o2(0xE7,0x5E), UNDEF, +}; +static const BYTE_LOOKUP +to_SHIFT_JIS_E8_BA = { + to_SHIFT_JIS_E8_BA_offsets, + to_SHIFT_JIS_E8_BA_infos +}; + +static const unsigned char +to_SHIFT_JIS_E8_BB_offsets[64] = { + /* used from to_SHIFT_JIS_E8_BB */ + /* used from to_EUC_JP_E8_BB */ + 19, 19, 19, 19, 19, 0, 1, 19, 2, 19, 3, 4, 5, 6, 19, 7, + 19, 19, 8, 19, 19, 19, 19, 19, 19, 19, 19, 9, 19, 19, 19, 10, + 19, 19, 11, 12, 19, 19, 19, 19, 19, 19, 19, 13, 19, 19, 19, 19, + 19, 19, 19, 19, 19, 19, 19, 19, 14, 19, 19, 15, 16, 17, 18, 19, +}; +static const struct byte_lookup* const +to_SHIFT_JIS_E8_BB_infos[20] = { + o2(0xE7,0x5F), o2(0xE7,0x5C), o2(0xE7,0x60), o2(0x8E,0xD4), + o2(0xE7,0x61), o2(0x8B,0x4F), o2(0x8C,0x52), o2(0xFB,0xB2), + o2(0x8C,0xAC), o2(0xE7,0x62), o2(0x93,0xEE), o2(0x93,0x5D), + o2(0xE7,0x63), o2(0xE7,0x66), o2(0x8E,0xB2), o2(0xE7,0x65), + o2(0xE7,0x64), o2(0x8C,0x79), o2(0xE7,0x67), UNDEF, +}; +static const BYTE_LOOKUP +to_SHIFT_JIS_E8_BB = { + to_SHIFT_JIS_E8_BB_offsets, + to_SHIFT_JIS_E8_BB_infos +}; + +static const unsigned char +to_SHIFT_JIS_E8_BC_offsets[64] = { + /* used from to_SHIFT_JIS_E8_BC */ + /* used from to_EUC_JP_E8_BC */ + 24, 24, 24, 0, 24, 1, 24, 24, 24, 2, 3, 24, 4, 24, 24, 24, + 24, 24, 5, 6, 7, 8, 24, 24, 24, 9, 24, 10, 11, 12, 24, 13, + 24, 24, 24, 24, 24, 24, 14, 24, 24, 15, 16, 24, 24, 24, 24, 17, + 24, 24, 24, 18, 24, 24, 24, 24, 19, 20, 24, 21, 24, 24, 22, 23, +}; +static const struct byte_lookup* const +to_SHIFT_JIS_E8_BC_infos[25] = { + o2(0x8A,0x72), o2(0xE7,0x69), o2(0x8D,0xDA), o2(0xE7,0x68), + o2(0xE7,0x71), o2(0xE7,0x6B), o2(0xE7,0x6D), o2(0x95,0xE3), + o2(0xE7,0x6A), o2(0xE7,0x6C), o2(0xE7,0x70), o2(0xE7,0x6E), + o2(0x8B,0x50), o2(0xE7,0x6F), o2(0xE7,0x72), o2(0x94,0x79), + o2(0x97,0xD6), o2(0x8F,0x53), o2(0xE7,0x73), o2(0x97,0x41), + o2(0xE7,0x75), o2(0xE7,0x74), o2(0xE7,0x78), o2(0x97,0x60), + UNDEF, +}; +static const BYTE_LOOKUP +to_SHIFT_JIS_E8_BC = { + to_SHIFT_JIS_E8_BC_offsets, + to_SHIFT_JIS_E8_BC_infos +}; + +static const unsigned char +to_SHIFT_JIS_E8_BD_offsets[64] = { + /* used from to_SHIFT_JIS_E8_BD */ + /* used from to_EUC_JP_E8_BD */ + 15, 15, 0, 15, 1, 2, 3, 15, 15, 4, 15, 15, 5, 6, 7, 15, + 15, 15, 15, 15, 15, 15, 15, 8, 15, 15, 15, 15, 9, 15, 15, 10, + 15, 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, +}; +static const struct byte_lookup* const +to_SHIFT_JIS_E8_BD_infos[16] = { + o2(0xE7,0x77), o2(0x8A,0x8D), o2(0xE7,0x76), o2(0xE7,0x7B), + o2(0xE7,0x7A), o2(0xE7,0x79), o2(0x93,0x51), o2(0xE7,0x7C), + o2(0xE7,0x7D), o2(0xE7,0x7E), o2(0x8D,0x8C), o2(0x8C,0x44), + o2(0xE7,0x80), o2(0xE7,0x81), o2(0xE7,0x82), UNDEF, +}; +static const BYTE_LOOKUP +to_SHIFT_JIS_E8_BD = { + to_SHIFT_JIS_E8_BD_offsets, + to_SHIFT_JIS_E8_BD_infos +}; + +static const unsigned char +to_SHIFT_JIS_E8_BE_offsets[64] = { + /* used from to_SHIFT_JIS_E8_BE */ + /* used from to_EUC_JP_E8_BE */ + 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, + 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 0, 1, 18, 2, 3, + 18, 18, 18, 4, 18, 18, 18, 5, 6, 18, 18, 18, 18, 7, 8, 9, + 10, 11, 12, 18, 18, 18, 18, 13, 18, 18, 14, 15, 16, 18, 18, 17, +}; +static const struct byte_lookup* const +to_SHIFT_JIS_E8_BE_infos[19] = { + o2(0x90,0x68), o2(0xE7,0x83), o2(0x8E,0xAB), o2(0xE7,0x84), + o2(0xE7,0x85), o2(0x99,0x9F), o2(0x99,0x9E), o2(0xE7,0x86), + o2(0xE3,0x90), o2(0xE7,0x87), o2(0x92,0x43), o2(0x90,0x4A), + o2(0x94,0x5F), o2(0xE7,0x88), o2(0x95,0xD3), o2(0x92,0xD2), + o2(0x8D,0x9E), o2(0x92,0x48), UNDEF, +}; +static const BYTE_LOOKUP +to_SHIFT_JIS_E8_BE = { + to_SHIFT_JIS_E8_BE_offsets, + to_SHIFT_JIS_E8_BE_infos +}; + +static const unsigned char +to_SHIFT_JIS_E8_BF_offsets[64] = { + /* used from to_SHIFT_JIS_E8_BF */ + /* used from to_EUC_JP_E8_BF */ + 22, 22, 0, 22, 1, 2, 22, 22, 22, 22, 22, 22, 22, 22, 3, 22, + 22, 4, 22, 22, 5, 22, 22, 22, 22, 22, 6, 22, 22, 22, 22, 22, + 22, 22, 7, 22, 22, 8, 9, 22, 22, 10, 11, 12, 22, 13, 22, 14, + 15, 22, 22, 22, 16, 22, 22, 17, 18, 19, 20, 22, 22, 21, 22, 22, +}; +static const struct byte_lookup* const +to_SHIFT_JIS_E8_BF_infos[23] = { + o2(0x89,0x49), o2(0x96,0x98), o2(0x90,0x76), o2(0x8C,0x7D), + o2(0x8B,0xDF), o2(0x95,0xD4), o2(0xE7,0x89), o2(0xE7,0x8B), + o2(0xE7,0x8A), o2(0x89,0xDE), o2(0x93,0xF4), o2(0xE7,0x8C), + o2(0x94,0x97), o2(0x93,0x52), o2(0xE7,0x8D), o2(0x8F,0x71), + o2(0xE7,0x8F), o2(0x96,0xC0), o2(0xE7,0x9E), o2(0xE7,0x91), + o2(0xE7,0x92), o2(0x92,0xC7), UNDEF, +}; +static const BYTE_LOOKUP +to_SHIFT_JIS_E8_BF = { + to_SHIFT_JIS_E8_BF_offsets, + to_SHIFT_JIS_E8_BF_infos +}; + +static const unsigned char +to_SHIFT_JIS_E8_offsets[64] = { + /* used from to_SHIFT_JIS_E8 */ + /* used from to_EUC_JP_E8 */ + 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, 63, + 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, +}; +static const struct byte_lookup* const +to_SHIFT_JIS_E8_infos[64] = { + &to_SHIFT_JIS_E8_80, &to_SHIFT_JIS_E8_81, + &to_SHIFT_JIS_E8_82, &to_SHIFT_JIS_E8_83, + &to_SHIFT_JIS_E8_84, &to_SHIFT_JIS_E8_85, + &to_SHIFT_JIS_E8_86, &to_SHIFT_JIS_E8_87, + &to_SHIFT_JIS_E8_88, &to_SHIFT_JIS_E8_89, + &to_SHIFT_JIS_E8_8A, &to_SHIFT_JIS_E8_8B, + &to_SHIFT_JIS_E8_8C, &to_SHIFT_JIS_E8_8D, + &to_SHIFT_JIS_E8_8E, &to_SHIFT_JIS_E8_8F, + &to_SHIFT_JIS_E8_90, &to_SHIFT_JIS_E8_91, + &to_SHIFT_JIS_E8_92, &to_SHIFT_JIS_E8_93, + &to_SHIFT_JIS_E8_94, &to_SHIFT_JIS_E8_95, + &to_SHIFT_JIS_E8_96, &to_SHIFT_JIS_E8_97, + &to_SHIFT_JIS_E8_98, &to_SHIFT_JIS_E8_99, + &to_SHIFT_JIS_E8_9A, &to_SHIFT_JIS_E8_9B, + &to_SHIFT_JIS_E8_9C, &to_SHIFT_JIS_E8_9D, + &to_SHIFT_JIS_E8_9E, &to_SHIFT_JIS_E8_9F, + &to_SHIFT_JIS_E8_A0, &to_SHIFT_JIS_E8_A1, + &to_SHIFT_JIS_E8_A2, &to_SHIFT_JIS_E8_A3, + &to_SHIFT_JIS_E8_A4, &to_SHIFT_JIS_E8_A5, + &to_SHIFT_JIS_E8_A6, &to_SHIFT_JIS_E8_A7, + &to_SHIFT_JIS_E8_A8, &to_SHIFT_JIS_E8_A9, + &to_SHIFT_JIS_E8_AA, &to_SHIFT_JIS_E8_AB, + &to_SHIFT_JIS_E8_AC, &to_SHIFT_JIS_E8_AD, + &to_SHIFT_JIS_E8_AE, &to_SHIFT_JIS_E8_B0, + &to_SHIFT_JIS_E8_B1, &to_SHIFT_JIS_E8_B2, + &to_SHIFT_JIS_E8_B3, &to_SHIFT_JIS_E8_B4, + &to_SHIFT_JIS_E8_B5, &to_SHIFT_JIS_E8_B6, + &to_SHIFT_JIS_E8_B7, &to_SHIFT_JIS_E8_B8, + &to_SHIFT_JIS_E8_B9, &to_SHIFT_JIS_E8_BA, + &to_SHIFT_JIS_E8_BB, &to_SHIFT_JIS_E8_BC, + &to_SHIFT_JIS_E8_BD, &to_SHIFT_JIS_E8_BE, + &to_SHIFT_JIS_E8_BF, UNDEF, +}; +static const BYTE_LOOKUP +to_SHIFT_JIS_E8 = { + to_SHIFT_JIS_E8_offsets, + to_SHIFT_JIS_E8_infos +}; + +static const unsigned char +to_SHIFT_JIS_E9_80_offsets[64] = { + /* used from to_SHIFT_JIS_E9_80 */ + /* used from to_EUC_JP_E9_80 */ + 0, 1, 35, 2, 35, 3, 4, 35, 35, 35, 35, 5, 35, 6, 7, 8, + 9, 10, 35, 11, 12, 13, 14, 15, 35, 16, 17, 35, 35, 18, 19, 20, + 21, 22, 23, 24, 35, 35, 35, 25, 35, 35, 35, 35, 35, 35, 26, 35, + 35, 27, 28, 35, 35, 29, 30, 35, 31, 32, 35, 35, 33, 35, 34, 35, +}; +static const struct byte_lookup* const +to_SHIFT_JIS_E9_80_infos[36] = { + o2(0x91,0xDE), o2(0x91,0x97), o2(0x93,0xA6), o2(0xE7,0x90), + o2(0x8B,0x74), o2(0xE7,0x99), o2(0xE7,0x96), o2(0xE7,0xA3), + o2(0x93,0xA7), o2(0x92,0x80), o2(0xE7,0x93), o2(0x92,0xFC), + o2(0x93,0x72), o2(0xE7,0x94), o2(0xE7,0x98), o2(0x90,0x80), + o2(0x94,0x87), o2(0x92,0xCA), o2(0x90,0xC0), o2(0xE7,0x97), + o2(0x91,0xAC), o2(0x91,0xA2), o2(0xE7,0x95), o2(0x88,0xA7), + o2(0x98,0x41), o2(0xE7,0x9A), o2(0x91,0xDF), o2(0x8F,0x54), + o2(0x90,0x69), o2(0xE7,0x9C), o2(0xE7,0x9B), o2(0x88,0xED), + o2(0xE7,0x9D), o2(0x95,0x4E), o2(0xE7,0xA5), UNDEF, +}; +static const BYTE_LOOKUP +to_SHIFT_JIS_E9_80 = { + to_SHIFT_JIS_E9_80_offsets, + to_SHIFT_JIS_E9_80_infos +}; + +static const unsigned char +to_SHIFT_JIS_E9_81_offsets[64] = { + /* used from to_SHIFT_JIS_E9_81 */ + /* used from to_EUC_JP_E9_81 */ + 40, 0, 1, 40, 40, 2, 40, 3, 40, 4, 5, 6, 40, 7, 8, 9, + 10, 11, 12, 13, 14, 15, 16, 40, 17, 18, 40, 40, 19, 40, 20, 40, + 21, 22, 40, 23, 40, 24, 40, 25, 26, 27, 40, 40, 40, 28, 29, 30, + 40, 40, 31, 40, 40, 32, 33, 34, 35, 40, 36, 40, 37, 38, 40, 39, +}; +static const struct byte_lookup* const +to_SHIFT_JIS_E9_81_infos[41] = { + o2(0x93,0xD9), o2(0x90,0x8B), o2(0x92,0x78), o2(0x8B,0xF6), + o2(0xE7,0xA4), o2(0x97,0x56), o2(0x89,0x5E), o2(0x95,0xD5), + o2(0x89,0xDF), o2(0xE7,0x9F), o2(0xE7,0xA0), o2(0xE7,0xA1), + o2(0xE7,0xA2), o2(0x93,0xB9), o2(0x92,0x42), o2(0x88,0xE1), + o2(0xE7,0xA6), o2(0xE7,0xA7), o2(0xEA,0xA1), o2(0x91,0xBB), + o2(0xE7,0xA8), o2(0x89,0x93), o2(0x91,0x6B), o2(0x8C,0xAD), + o2(0x97,0x79), o2(0xFB,0xB5), o2(0xE7,0xA9), o2(0x93,0x4B), + o2(0x91,0x98), o2(0x8E,0xD5), o2(0xE7,0xAA), o2(0xE7,0xAD), + o2(0x8F,0x85), o2(0xE7,0xAB), o2(0x91,0x4A), o2(0x91,0x49), + o2(0x88,0xE2), o2(0x97,0xC9), o2(0xE7,0xAF), o2(0x94,0xF0), + UNDEF, +}; +static const BYTE_LOOKUP +to_SHIFT_JIS_E9_81 = { + to_SHIFT_JIS_E9_81_offsets, + to_SHIFT_JIS_E9_81_infos +}; + +static const unsigned char +to_SHIFT_JIS_E9_82_offsets[64] = { + /* used from to_SHIFT_JIS_E9_82 */ + /* used from to_EUC_JP_E9_82 */ + 0, 1, 2, 3, 4, 18, 18, 5, 18, 6, 7, 18, 18, 18, 18, 8, + 18, 9, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, + 18, 18, 18, 10, 18, 18, 11, 18, 12, 18, 13, 18, 18, 18, 18, 14, + 18, 15, 18, 18, 18, 16, 18, 18, 17, 18, 18, 18, 18, 18, 18, 18, +}; +static const struct byte_lookup* const +to_SHIFT_JIS_E9_82_infos[19] = { + o2(0xE7,0xB1), o2(0xE7,0xB0), o2(0xE7,0xAE), o2(0xE2,0x84), + o2(0x8A,0xD2), o2(0xE7,0x8E), o2(0xE7,0xB3), o2(0xE7,0xB2), + o2(0xE7,0xB4), o2(0x97,0x57), o2(0x93,0xDF), o2(0x96,0x4D), + o2(0xE7,0xB5), o2(0x8E,0xD7), o2(0xE7,0xB6), o2(0xE7,0xB7), + o2(0xE7,0xB8), o2(0x93,0x40), UNDEF, +}; +static const BYTE_LOOKUP +to_SHIFT_JIS_E9_82 = { + to_SHIFT_JIS_E9_82_offsets, + to_SHIFT_JIS_E9_82_infos +}; + +static const unsigned char +to_SHIFT_JIS_E9_83_offsets[64] = { + /* used from to_SHIFT_JIS_E9_83 */ + /* used from to_EUC_JP_E9_83 */ + 13, 0, 13, 13, 13, 13, 13, 13, 13, 13, 1, 13, 13, 13, 2, 13, + 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 3, 13, 13, 4, 13, + 13, 5, 6, 13, 7, 13, 13, 13, 8, 13, 13, 13, 13, 9, 13, 13, + 13, 13, 13, 13, 13, 10, 13, 11, 13, 13, 13, 13, 13, 12, 13, 13, +}; +static const struct byte_lookup* const +to_SHIFT_JIS_E9_83_infos[14] = { + o2(0x88,0xE8), o2(0x8D,0x78), o2(0x98,0x59), o2(0xE7,0xBC), + o2(0xFB,0xB6), o2(0x8C,0x53), o2(0xE7,0xB9), o2(0xE7,0xBA), + o2(0x95,0x94), o2(0x8A,0x73), o2(0x97,0x58), o2(0x8B,0xBD), + o2(0x93,0x73), UNDEF, +}; +static const BYTE_LOOKUP +to_SHIFT_JIS_E9_83 = { + to_SHIFT_JIS_E9_83_offsets, + to_SHIFT_JIS_E9_83_infos +}; + +static const unsigned char +to_SHIFT_JIS_E9_84_offsets[64] = { + /* used from to_SHIFT_JIS_E9_84 */ + /* used from to_EUC_JP_E9_84 */ + 8, 8, 0, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, + 8, 8, 1, 8, 8, 2, 8, 8, 8, 3, 8, 8, 8, 8, 8, 8, + 8, 8, 8, 8, 8, 8, 8, 4, 8, 8, 8, 8, 8, 5, 8, 8, + 6, 8, 7, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, +}; +static const struct byte_lookup* const +to_SHIFT_JIS_E9_84_infos[9] = { + o2(0xE7,0xBD), o2(0xE7,0xBE), o2(0xFB,0xB8), o2(0xE7,0xBF), + o2(0xFB,0xB9), o2(0x93,0x41), o2(0xE7,0xC1), o2(0xE7,0xC0), + UNDEF, +}; +static const BYTE_LOOKUP +to_SHIFT_JIS_E9_84 = { + to_SHIFT_JIS_E9_84_offsets, + to_SHIFT_JIS_E9_84_infos +}; + +static const unsigned char +to_SHIFT_JIS_E9_85_offsets[64] = { + /* used from to_SHIFT_JIS_E9_85 */ + /* used from to_EUC_JP_E9_85 */ + 21, 21, 21, 21, 21, 21, 21, 21, 21, 0, 1, 2, 3, 4, 5, 21, + 21, 21, 6, 21, 7, 21, 8, 21, 9, 21, 21, 21, 21, 21, 21, 21, + 21, 21, 10, 11, 21, 12, 21, 21, 21, 13, 14, 21, 15, 21, 21, 21, + 21, 21, 16, 17, 21, 18, 21, 19, 20, 21, 21, 21, 21, 21, 21, 21, +}; +static const struct byte_lookup* const +to_SHIFT_JIS_E9_85_infos[22] = { + o2(0x93,0xD1), o2(0xE7,0xC2), o2(0x8F,0x55), o2(0x8E,0xDE), + o2(0x94,0x7A), o2(0x92,0x91), o2(0x8E,0xF0), o2(0x90,0x8C), + o2(0xE7,0xC3), o2(0xE7,0xC4), o2(0x90,0x7C), o2(0xE7,0xC5), + o2(0xE7,0xC6), o2(0xE7,0xC7), o2(0x97,0x8F), o2(0x8F,0x56), + o2(0xE7,0xC9), o2(0xE7,0xC8), o2(0x8D,0x79), o2(0x8D,0x93), + o2(0x8E,0x5F), UNDEF, +}; +static const BYTE_LOOKUP +to_SHIFT_JIS_E9_85 = { + to_SHIFT_JIS_E9_85_offsets, + to_SHIFT_JIS_E9_85_infos +}; + +static const unsigned char +to_SHIFT_JIS_E9_86_offsets[64] = { + /* used from to_SHIFT_JIS_E9_86 */ + /* used from to_EUC_JP_E9_86 */ + 18, 18, 0, 18, 18, 18, 18, 1, 18, 2, 18, 3, 18, 4, 18, 18, + 5, 18, 6, 18, 18, 18, 18, 7, 18, 18, 18, 18, 8, 18, 18, 18, + 18, 18, 9, 18, 10, 18, 18, 18, 18, 18, 11, 12, 18, 18, 18, 13, + 18, 18, 18, 18, 14, 15, 18, 18, 16, 18, 17, 18, 18, 18, 18, 18, +}; +static const struct byte_lookup* const +to_SHIFT_JIS_E9_86_infos[19] = { + o2(0xE7,0xCC), o2(0x8F,0x86), o2(0xE7,0xCB), o2(0xE7,0xCA), + o2(0x91,0xE7), o2(0x8C,0xED), o2(0x90,0xC1), o2(0x94,0xAE), + o2(0x8F,0x58), o2(0xE7,0xCD), o2(0x8F,0xDD), o2(0xE7,0xD0), + o2(0xE7,0xCE), o2(0xE7,0xCF), o2(0xE7,0xD2), o2(0xE7,0xD1), + o2(0x8F,0xF8), o2(0xE7,0xD3), UNDEF, +}; +static const BYTE_LOOKUP +to_SHIFT_JIS_E9_86 = { + to_SHIFT_JIS_E9_86_offsets, + to_SHIFT_JIS_E9_86_infos +}; + +static const unsigned char +to_SHIFT_JIS_E9_87_offsets[64] = { + /* used from to_SHIFT_JIS_E9_87 */ + /* used from to_EUC_JP_E9_87 */ + 0, 1, 34, 34, 34, 34, 2, 3, 4, 5, 34, 6, 7, 8, 9, 10, + 11, 12, 34, 34, 34, 34, 13, 14, 15, 34, 16, 17, 18, 19, 20, 21, + 34, 22, 34, 23, 24, 25, 26, 27, 34, 34, 34, 34, 34, 28, 29, 34, + 34, 34, 34, 34, 34, 30, 31, 34, 34, 34, 34, 34, 32, 34, 34, 33, +}; +static const struct byte_lookup* const +to_SHIFT_JIS_E9_87_infos[35] = { + o2(0xE7,0xD4), o2(0xE7,0xD5), o2(0x94,0xCE), o2(0x8D,0xD1), + o2(0x8E,0xDF), o2(0xE7,0xD6), o2(0xE7,0xD7), o2(0x97,0xA2), + o2(0x8F,0x64), o2(0x96,0xEC), o2(0x97,0xCA), o2(0xE7,0xD8), + o2(0x8B,0xE0), o2(0xE7,0xD9), o2(0xFB,0xBB), o2(0x93,0x42), + o2(0xFB,0xBA), o2(0xE7,0xDC), o2(0x8A,0x98), o2(0x90,0x6A), + o2(0xFB,0xBC), o2(0xE7,0xDA), o2(0xE7,0xDB), o2(0x92,0xDE), + o2(0xFB,0xBF), o2(0xFB,0xC0), o2(0x96,0x74), o2(0x8B,0xFA), + o2(0xFB,0xBD), o2(0xFB,0xBE), o2(0xE7,0xDE), o2(0xE7,0xDF), + o2(0xE7,0xDD), o2(0xE7,0xE1), UNDEF, +}; +static const BYTE_LOOKUP +to_SHIFT_JIS_E9_87 = { + to_SHIFT_JIS_E9_87_offsets, + to_SHIFT_JIS_E9_87_infos +}; + +static const unsigned char +to_SHIFT_JIS_E9_88_offsets[64] = { + /* used from to_SHIFT_JIS_E9_88 */ + /* used from to_EUC_JP_E9_88 */ + 17, 17, 17, 17, 17, 17, 0, 17, 17, 17, 1, 17, 17, 2, 3, 17, + 4, 5, 17, 17, 6, 7, 17, 17, 17, 17, 17, 17, 17, 17, 8, 17, + 17, 17, 17, 17, 17, 17, 17, 17, 17, 9, 17, 17, 10, 17, 17, 17, + 17, 17, 17, 17, 11, 17, 17, 12, 17, 13, 14, 17, 15, 17, 17, 16, +}; +static const struct byte_lookup* const +to_SHIFT_JIS_E9_88_infos[18] = { + o2(0xFB,0xC1), o2(0xFB,0xC3), o2(0x93,0xDD), o2(0x8A,0x62), + o2(0xFB,0xC2), o2(0xE7,0xE5), o2(0xE7,0xE2), o2(0xE7,0xE4), + o2(0xE7,0xE0), o2(0xE8,0x6E), o2(0xE7,0xE3), o2(0x97,0xE9), + o2(0x8C,0xD8), o2(0xFB,0xCA), o2(0xFB,0xC4), o2(0xFB,0xC6), + o2(0xE7,0xED), UNDEF, +}; +static const BYTE_LOOKUP +to_SHIFT_JIS_E9_88 = { + to_SHIFT_JIS_E9_88_offsets, + to_SHIFT_JIS_E9_88_infos +}; + +static const unsigned char +to_SHIFT_JIS_E9_89_offsets[64] = { + /* used from to_SHIFT_JIS_E9_89 */ + /* used from to_EUC_JP_E9_89 */ + 0, 22, 22, 22, 1, 2, 22, 22, 3, 4, 22, 5, 22, 22, 6, 22, + 7, 8, 22, 22, 22, 22, 22, 9, 22, 10, 11, 12, 22, 22, 13, 22, + 22, 22, 14, 22, 15, 22, 16, 17, 22, 22, 22, 22, 22, 22, 22, 22, + 22, 18, 22, 22, 22, 22, 22, 19, 20, 22, 22, 22, 22, 22, 21, 22, +}; +static const struct byte_lookup* const +to_SHIFT_JIS_E9_89_infos[23] = { + o2(0xFB,0xC5), o2(0x93,0x53), o2(0xE7,0xE8), o2(0xE7,0xEB), + o2(0xE7,0xE9), o2(0xE7,0xEE), o2(0xFB,0xC7), o2(0xE7,0xEF), + o2(0xFB,0xC9), o2(0xE7,0xE7), o2(0xFB,0xC8), o2(0xE7,0xF4), + o2(0x89,0x94), o2(0xE7,0xE6), o2(0x94,0xAB), o2(0xE7,0xEA), + o2(0x8F,0xDE), o2(0xFB,0xCB), o2(0x8D,0x7A), o2(0xFB,0xCD), + o2(0xFB,0xCE), o2(0x96,0x67), UNDEF, +}; +static const BYTE_LOOKUP +to_SHIFT_JIS_E9_89 = { + to_SHIFT_JIS_E9_89_offsets, + to_SHIFT_JIS_E9_89_infos +}; + +static const unsigned char +to_SHIFT_JIS_E9_8A_offsets[64] = { + /* used from to_SHIFT_JIS_E9_8A */ + /* used from to_EUC_JP_E9_8A */ + 0, 16, 16, 1, 16, 2, 16, 16, 3, 16, 16, 16, 16, 16, 16, 16, + 16, 4, 16, 5, 16, 6, 7, 16, 8, 16, 9, 10, 11, 16, 16, 16, + 16, 16, 16, 16, 16, 16, 16, 12, 16, 16, 16, 16, 16, 13, 16, 16, + 16, 16, 16, 16, 16, 16, 16, 14, 16, 15, 16, 16, 16, 16, 16, 16, +}; +static const struct byte_lookup* const +to_SHIFT_JIS_E9_8A_infos[17] = { + o2(0x8B,0xE2), o2(0x8F,0x65), o2(0x93,0xBA), o2(0xFA,0x5F), + o2(0x91,0x4C), o2(0xE7,0xF2), o2(0xE7,0xEC), o2(0xE7,0xF1), + o2(0x96,0xC1), o2(0x92,0xB6), o2(0xE7,0xF3), o2(0xE7,0xF0), + o2(0xFB,0xCC), o2(0x91,0x4B), o2(0xE7,0xF7), o2(0xE7,0xF6), + UNDEF, +}; +static const BYTE_LOOKUP +to_SHIFT_JIS_E9_8A = { + to_SHIFT_JIS_E9_8A_offsets, + to_SHIFT_JIS_E9_8A_infos +}; + +static const unsigned char +to_SHIFT_JIS_E9_8B_offsets[64] = { + /* used from to_SHIFT_JIS_E9_8B */ + /* used from to_EUC_JP_E9_8B */ + 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 0, + 1, 21, 2, 3, 21, 4, 21, 5, 21, 6, 21, 21, 21, 21, 21, 21, + 7, 21, 21, 21, 8, 21, 21, 9, 21, 10, 11, 21, 21, 12, 21, 21, + 21, 21, 13, 14, 21, 21, 21, 21, 15, 16, 17, 18, 19, 21, 21, 20, +}; +static const struct byte_lookup* const +to_SHIFT_JIS_E9_8B_infos[22] = { + o2(0xE7,0xF5), o2(0xFB,0xD2), o2(0x96,0x4E), o2(0xFB,0xD6), + o2(0xFB,0xD4), o2(0xFB,0xD0), o2(0xFB,0xD1), o2(0xFB,0xD5), + o2(0x8F,0x9B), o2(0xFB,0xCF), o2(0xE7,0xF8), o2(0x95,0xDD), + o2(0x89,0x73), o2(0x95,0x65), o2(0x92,0x92), o2(0x8B,0x98), + o2(0xFA,0x65), o2(0xE7,0xFA), o2(0xFB,0xD9), o2(0x8D,0x7C), + o2(0xFB,0xDC), UNDEF, +}; +static const BYTE_LOOKUP +to_SHIFT_JIS_E9_8B = { + to_SHIFT_JIS_E9_8B_offsets, + to_SHIFT_JIS_E9_8B_infos +}; + +static const unsigned char +to_SHIFT_JIS_E9_8C_offsets[64] = { + /* used from to_SHIFT_JIS_E9_8C */ + /* used from to_EUC_JP_E9_8C */ + 24, 24, 0, 24, 24, 24, 1, 24, 24, 24, 24, 24, 24, 24, 24, 2, + 3, 24, 24, 24, 24, 24, 24, 24, 4, 5, 6, 24, 24, 7, 8, 24, + 9, 10, 11, 12, 24, 13, 14, 24, 15, 24, 24, 16, 17, 24, 18, 19, + 24, 24, 20, 24, 24, 21, 24, 24, 24, 24, 22, 23, 24, 24, 24, 24, +}; +static const struct byte_lookup* const +to_SHIFT_JIS_E9_8C_infos[25] = { + o2(0xFB,0xDE), o2(0x8E,0x4B), o2(0xE7,0xF9), o2(0x90,0x8D), + o2(0x90,0x8E), o2(0xE8,0x40), o2(0xE8,0x42), o2(0xFB,0xDD), + o2(0xFB,0xDB), o2(0x8F,0xF9), o2(0xFB,0xD8), o2(0xE8,0x41), + o2(0xE8,0x43), o2(0xFB,0xD7), o2(0x8B,0xD1), o2(0x95,0x64), + o2(0x8E,0xE0), o2(0x98,0x42), o2(0xE7,0xFC), o2(0x8D,0xF6), + o2(0x98,0x5E), o2(0xE8,0x45), o2(0xE8,0x44), o2(0xE8,0x46), + UNDEF, +}; +static const BYTE_LOOKUP +to_SHIFT_JIS_E9_8C = { + to_SHIFT_JIS_E9_8C_offsets, + to_SHIFT_JIS_E9_8C_infos +}; + +static const unsigned char +to_SHIFT_JIS_E9_8D_offsets[64] = { + /* used from to_SHIFT_JIS_E9_8D */ + /* used from to_EUC_JP_E9_8D */ + 16, 16, 16, 16, 0, 16, 16, 16, 1, 16, 16, 2, 16, 3, 16, 16, + 16, 16, 16, 16, 4, 16, 5, 6, 16, 16, 16, 7, 8, 16, 16, 16, + 9, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 10, 16, 11, 16, + 12, 16, 16, 16, 16, 13, 16, 16, 16, 16, 16, 16, 14, 16, 15, 16, +}; +static const struct byte_lookup* const +to_SHIFT_JIS_E9_8D_infos[17] = { + o2(0xE7,0xFB), o2(0xFA,0x5E), o2(0x93,0xE7), o2(0x93,0x74), + o2(0x92,0xD5), o2(0xE8,0x4B), o2(0xFB,0xE0), o2(0x92,0x62), + o2(0xE8,0x47), o2(0xE8,0x48), o2(0x8C,0x4C), o2(0xE8,0x4A), + o2(0xFB,0xDF), o2(0x8C,0xAE), o2(0xE8,0x49), o2(0x8F,0xDF), + UNDEF, +}; +static const BYTE_LOOKUP +to_SHIFT_JIS_E9_8D = { + to_SHIFT_JIS_E9_8D_offsets, + to_SHIFT_JIS_E9_8D_infos +}; + +static const unsigned char +to_SHIFT_JIS_E9_8E_offsets[64] = { + /* used from to_SHIFT_JIS_E9_8E */ + /* used from to_EUC_JP_E9_8E */ + 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 0, 12, 12, 12, + 12, 12, 12, 12, 1, 12, 2, 3, 12, 12, 4, 12, 12, 12, 12, 12, + 12, 12, 12, 12, 5, 12, 12, 6, 12, 12, 12, 12, 7, 8, 9, 12, + 10, 12, 12, 12, 12, 12, 12, 12, 12, 11, 12, 12, 12, 12, 12, 12, +}; +static const struct byte_lookup* const +to_SHIFT_JIS_E9_8E_infos[13] = { + o2(0x8A,0x99), o2(0xE8,0x4F), o2(0x8D,0xBD), o2(0x91,0x99), + o2(0x92,0xC8), o2(0xFB,0xE1), o2(0x8A,0x5A), o2(0xE8,0x4D), + o2(0xE8,0x4E), o2(0x92,0xC1), o2(0xE8,0x4C), o2(0xE8,0x50), + UNDEF, +}; +static const BYTE_LOOKUP +to_SHIFT_JIS_E9_8E = { + to_SHIFT_JIS_E9_8E_offsets, + to_SHIFT_JIS_E9_8E_infos +}; + +static const unsigned char +to_SHIFT_JIS_E9_8F_offsets[64] = { + /* used from to_SHIFT_JIS_E9_8F */ + /* used from to_EUC_JP_E9_8F */ + 15, 15, 15, 0, 15, 15, 1, 15, 2, 15, 15, 15, 15, 15, 15, 15, + 3, 4, 15, 15, 15, 15, 5, 6, 7, 15, 15, 15, 15, 8, 9, 15, + 15, 10, 15, 15, 11, 12, 15, 15, 13, 15, 15, 15, 15, 15, 15, 15, + 15, 15, 15, 15, 15, 15, 15, 15, 14, 15, 15, 15, 15, 15, 15, 15, +}; +static const struct byte_lookup* const +to_SHIFT_JIS_E9_8F_infos[16] = { + o2(0xE8,0x56), o2(0xFB,0xE2), o2(0xE8,0x59), o2(0xE8,0x58), + o2(0x93,0x4C), o2(0xE8,0x51), o2(0xE8,0x52), o2(0xE8,0x55), + o2(0xE8,0x57), o2(0xFB,0xE3), o2(0x8B,0xBE), o2(0xE8,0x5A), + o2(0xE8,0x54), o2(0xE8,0x53), o2(0xFB,0xE4), UNDEF, +}; +static const BYTE_LOOKUP +to_SHIFT_JIS_E9_8F = { + to_SHIFT_JIS_E9_8F_offsets, + to_SHIFT_JIS_E9_8F_infos +}; + +static const unsigned char +to_SHIFT_JIS_E9_90_offsets[64] = { + /* used from to_SHIFT_JIS_E9_90 */ + /* used from to_EUC_JP_E9_90 */ + 15, 15, 15, 0, 15, 15, 15, 1, 15, 15, 15, 15, 15, 15, 15, 15, + 2, 15, 15, 3, 4, 15, 15, 15, 5, 6, 7, 15, 15, 15, 15, 15, + 15, 8, 15, 15, 15, 15, 15, 15, 15, 15, 15, 9, 15, 15, 15, 15, + 15, 10, 15, 15, 15, 11, 12, 15, 13, 15, 14, 15, 15, 15, 15, 15, +}; +static const struct byte_lookup* const +to_SHIFT_JIS_E9_90_infos[16] = { + o2(0xE8,0x5E), o2(0xE8,0x5F), o2(0xE8,0x60), o2(0xE8,0x5D), + o2(0xE8,0x5C), o2(0x8F,0xE0), o2(0x93,0xA8), o2(0xE8,0x5B), + o2(0xE8,0x64), o2(0xE8,0x62), o2(0xFB,0xE5), o2(0xE8,0x63), + o2(0xE8,0x61), o2(0x91,0xF6), o2(0xE8,0x65), UNDEF, +}; +static const BYTE_LOOKUP +to_SHIFT_JIS_E9_90 = { + to_SHIFT_JIS_E9_90_offsets, + to_SHIFT_JIS_E9_90_infos +}; + +static const unsigned char +to_SHIFT_JIS_E9_91_offsets[64] = { + /* used from to_SHIFT_JIS_E9_91 */ + /* used from to_EUC_JP_E9_91 */ + 20, 0, 20, 20, 1, 2, 20, 20, 3, 20, 20, 20, 20, 20, 20, 20, + 20, 4, 5, 6, 20, 20, 20, 20, 20, 20, 7, 8, 20, 20, 9, 20, + 10, 20, 11, 20, 20, 20, 20, 20, 20, 20, 12, 20, 20, 20, 20, 20, + 13, 20, 20, 20, 20, 14, 20, 15, 20, 20, 20, 20, 16, 17, 18, 19, +}; +static const struct byte_lookup* const +to_SHIFT_JIS_E9_91_infos[21] = { + o2(0xE8,0x66), o2(0xE8,0x68), o2(0xFB,0xE6), o2(0xFB,0xE7), + o2(0x8A,0xD3), o2(0xE8,0x67), o2(0x96,0xF8), o2(0xE8,0x73), + o2(0xE8,0x69), o2(0xE8,0x6C), o2(0xE8,0x6A), o2(0xE8,0x6B), + o2(0xE8,0x6D), o2(0xE8,0x6F), o2(0xE8,0x70), o2(0xE8,0x71), + o2(0xE8,0x74), o2(0xE8,0x72), o2(0xE8,0x75), o2(0xE8,0x77), + UNDEF, +}; +static const BYTE_LOOKUP +to_SHIFT_JIS_E9_91 = { + to_SHIFT_JIS_E9_91_offsets, + to_SHIFT_JIS_E9_91_infos +}; + +static const unsigned char +to_SHIFT_JIS_E9_92_offsets[64] = { + /* used from to_SHIFT_JIS_E9_92 */ + /* used from to_EUC_JP_E9_92 */ + 1, 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, + 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, + 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, + 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, +}; +static const struct byte_lookup* const +to_SHIFT_JIS_E9_92_infos[2] = { + o2(0xE8,0x76), UNDEF, +}; +static const BYTE_LOOKUP +to_SHIFT_JIS_E9_92 = { + to_SHIFT_JIS_E9_92_offsets, + to_SHIFT_JIS_E9_92_infos +}; + +static const unsigned char +to_SHIFT_JIS_E9_95_offsets[64] = { + /* used from to_SHIFT_JIS_E9_95 */ + /* used from to_EUC_JP_E9_95 */ + 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, + 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 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, +}; +static const struct byte_lookup* const +to_SHIFT_JIS_E9_95_infos[2] = { + o2(0x92,0xB7), UNDEF, +}; +static const BYTE_LOOKUP +to_SHIFT_JIS_E9_95 = { + to_SHIFT_JIS_E9_95_offsets, + to_SHIFT_JIS_E9_95_infos +}; + +static const unsigned char +to_SHIFT_JIS_E9_96_offsets[64] = { + /* used from to_SHIFT_JIS_E9_96 */ + /* used from to_EUC_JP_E9_96 */ + 0, 28, 1, 2, 28, 28, 28, 3, 28, 4, 5, 6, 28, 28, 28, 7, + 28, 8, 9, 10, 11, 28, 12, 28, 13, 14, 28, 28, 28, 28, 28, 28, + 15, 28, 16, 17, 18, 19, 28, 20, 21, 28, 28, 28, 28, 22, 28, 28, + 28, 28, 23, 28, 28, 28, 28, 28, 28, 24, 28, 25, 26, 28, 27, 28, +}; +static const struct byte_lookup* const +to_SHIFT_JIS_E9_96_infos[29] = { + o2(0x96,0xE5), o2(0xE8,0x78), o2(0x91,0x4D), o2(0xE8,0x79), + o2(0x95,0xC2), o2(0xE8,0x7A), o2(0x8A,0x4A), o2(0x89,0x5B), + o2(0x8A,0xD5), o2(0xFB,0xE8), o2(0x8A,0xD4), o2(0xE8,0x7B), + o2(0xE8,0x7C), o2(0xE8,0x7D), o2(0xE8,0x7E), o2(0xE8,0x80), + o2(0x8A,0xD6), o2(0x8A,0x74), o2(0x8D,0x7D), o2(0x94,0xB4), + o2(0xE8,0x82), o2(0xE8,0x81), o2(0xE8,0x83), o2(0x89,0x7B), + o2(0xE8,0x86), o2(0xE8,0x85), o2(0xE8,0x84), o2(0xE8,0x87), + UNDEF, +}; +static const BYTE_LOOKUP +to_SHIFT_JIS_E9_96 = { + to_SHIFT_JIS_E9_96_offsets, + to_SHIFT_JIS_E9_96_infos +}; + +static const unsigned char +to_SHIFT_JIS_E9_97_offsets[64] = { + /* used from to_SHIFT_JIS_E9_97 */ + /* used from to_EUC_JP_E9_97 */ + 13, 13, 13, 0, 13, 13, 13, 1, 13, 13, 2, 13, 3, 4, 13, 13, + 13, 13, 13, 13, 5, 6, 7, 13, 8, 13, 13, 13, 9, 13, 13, 13, + 13, 10, 11, 13, 13, 12, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, + 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, +}; +static const struct byte_lookup* const +to_SHIFT_JIS_E9_97_infos[14] = { + o2(0xE8,0x8A), o2(0x88,0xC5), o2(0xE8,0x88), o2(0xE8,0x8C), + o2(0xE8,0x8B), o2(0xE8,0x8E), o2(0xE8,0x8D), o2(0xE8,0x8F), + o2(0x93,0xAC), o2(0xE8,0x90), o2(0xE8,0x91), o2(0xE8,0x93), + o2(0xE8,0x92), UNDEF, +}; +static const BYTE_LOOKUP +to_SHIFT_JIS_E9_97 = { + to_SHIFT_JIS_E9_97_offsets, + to_SHIFT_JIS_E9_97_infos +}; + +static const unsigned char +to_SHIFT_JIS_E9_98_offsets[64] = { + /* used from to_SHIFT_JIS_E9_98 */ + /* used from to_EUC_JP_E9_98 */ + 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, + 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 0, 9, 9, 9, + 9, 1, 9, 9, 9, 9, 9, 9, 2, 9, 3, 9, 9, 9, 4, 5, + 9, 9, 6, 9, 9, 9, 9, 9, 9, 9, 9, 7, 9, 9, 9, 8, +}; +static const struct byte_lookup* const +to_SHIFT_JIS_E9_98_infos[10] = { + o2(0x95,0x8C), o2(0xE8,0x94), o2(0xE8,0x95), o2(0x8D,0xE3), + o2(0xE8,0x96), o2(0xE8,0x97), o2(0x96,0x68), o2(0x91,0x6A), + o2(0x88,0xA2), UNDEF, +}; +static const BYTE_LOOKUP +to_SHIFT_JIS_E9_98 = { + to_SHIFT_JIS_E9_98_offsets, + to_SHIFT_JIS_E9_98_infos +}; + +static const unsigned char +to_SHIFT_JIS_E9_99_offsets[64] = { + /* used from to_SHIFT_JIS_E9_99 */ + /* used from to_EUC_JP_E9_99 */ + 0, 29, 1, 29, 2, 29, 29, 29, 29, 29, 29, 3, 4, 5, 29, 6, + 7, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 8, 9, 10, 11, 12, + 29, 29, 13, 14, 15, 16, 17, 29, 29, 29, 18, 29, 19, 29, 29, 29, + 20, 29, 21, 22, 29, 23, 24, 25, 26, 29, 27, 29, 29, 28, 29, 29, +}; +static const struct byte_lookup* const +to_SHIFT_JIS_E9_99_infos[30] = { + o2(0x91,0xC9), o2(0xE8,0x98), o2(0x95,0x8D), o2(0xE8,0x9B), + o2(0xE8,0x99), o2(0x8D,0x7E), o2(0xE8,0x9A), o2(0x8C,0xC0), + o2(0x95,0xC3), o2(0xE8,0x9D), o2(0xE8,0x9F), o2(0xE8,0x9E), + o2(0xE8,0xA0), o2(0x89,0x40), o2(0x90,0x77), o2(0x8F,0x9C), + o2(0x8A,0xD7), o2(0xE8,0xA1), o2(0x94,0x86), o2(0xE8,0xA3), + o2(0x89,0x41), o2(0xE8,0xA2), o2(0x92,0xC2), o2(0x97,0xCB), + o2(0x93,0xA9), o2(0xE8,0x9C), o2(0x97,0xA4), o2(0x8C,0xAF), + o2(0x97,0x7A), UNDEF, +}; +static const BYTE_LOOKUP +to_SHIFT_JIS_E9_99 = { + to_SHIFT_JIS_E9_99_offsets, + to_SHIFT_JIS_E9_99_infos +}; + +static const unsigned char +to_SHIFT_JIS_E9_9A_offsets[64] = { + /* used from to_SHIFT_JIS_E9_9A */ + /* used from to_EUC_JP_E9_9A */ + 32, 32, 32, 32, 32, 0, 1, 32, 2, 32, 3, 4, 32, 5, 6, 7, + 32, 32, 32, 32, 8, 9, 32, 10, 11, 12, 32, 13, 14, 15, 32, 32, + 16, 32, 32, 17, 32, 32, 32, 18, 19, 32, 20, 32, 32, 32, 32, 21, + 22, 23, 24, 32, 25, 32, 26, 27, 28, 29, 32, 30, 31, 32, 32, 32, +}; +static const struct byte_lookup* const +to_SHIFT_JIS_E9_9A_infos[33] = { + o2(0x8B,0xF7), o2(0x97,0xB2), o2(0x8C,0x47), o2(0x91,0xE0), + o2(0xE4,0x40), o2(0xE8,0xA4), o2(0x8A,0x4B), o2(0x90,0x8F), + o2(0x8A,0x75), o2(0xE8,0xA6), o2(0xE8,0xA7), o2(0xE8,0xA5), + o2(0x8C,0x84), o2(0x8D,0xDB), o2(0x8F,0xE1), o2(0xFB,0xEB), + o2(0x89,0x42), o2(0x97,0xD7), o2(0xE8,0xA9), o2(0xE7,0xAC), + o2(0xE8,0xA8), o2(0xFB,0xEC), o2(0xE8,0xAC), o2(0xE8,0xAA), + o2(0xE8,0xAB), o2(0xE8,0xAD), o2(0xE8,0xAE), o2(0x97,0xEA), + o2(0xE8,0xAF), o2(0xE8,0xB0), o2(0x90,0xC7), o2(0x94,0xB9), + UNDEF, +}; +static const BYTE_LOOKUP +to_SHIFT_JIS_E9_9A = { + to_SHIFT_JIS_E9_9A_offsets, + to_SHIFT_JIS_E9_9A_infos +}; + +static const unsigned char +to_SHIFT_JIS_E9_9B_offsets[64] = { + /* used from to_SHIFT_JIS_E9_9B */ + /* used from to_EUC_JP_E9_9B */ + 0, 1, 28, 28, 2, 3, 4, 5, 28, 6, 28, 7, 8, 9, 10, 28, + 28, 11, 28, 28, 28, 12, 13, 28, 28, 14, 28, 15, 16, 28, 28, 28, + 28, 28, 17, 18, 28, 28, 28, 28, 19, 28, 20, 21, 28, 28, 28, 28, + 22, 28, 23, 28, 28, 28, 24, 25, 28, 26, 28, 27, 28, 28, 28, 28, +}; +static const struct byte_lookup* const +to_SHIFT_JIS_E9_9B_infos[29] = { + o2(0x90,0x9D), o2(0x8A,0xE5), o2(0x97,0x59), o2(0x89,0xEB), + o2(0x8F,0x57), o2(0x8C,0xD9), o2(0xE8,0xB3), o2(0xE8,0xB2), + o2(0x8E,0x93), o2(0xE8,0xB4), o2(0xE8,0xB1), o2(0x8E,0x47), + o2(0xE8,0xB8), o2(0xE5,0xAB), o2(0x99,0xD4), o2(0x90,0x97), + o2(0xE8,0xB6), o2(0x97,0xA3), o2(0x93,0xEF), o2(0x89,0x4A), + o2(0x90,0xE1), o2(0x8E,0xB4), o2(0x95,0xB5), o2(0x89,0x5F), + o2(0x97,0xEB), o2(0x97,0x8B), o2(0xE8,0xB9), o2(0x93,0x64), + UNDEF, +}; +static const BYTE_LOOKUP +to_SHIFT_JIS_E9_9B = { + to_SHIFT_JIS_E9_9B_offsets, + to_SHIFT_JIS_E9_9B_infos +}; + +static const unsigned char +to_SHIFT_JIS_E9_9C_offsets[64] = { + /* used from to_SHIFT_JIS_E9_9C */ + /* used from to_EUC_JP_E9_9C */ + 0, 26, 26, 26, 1, 26, 2, 3, 4, 26, 5, 26, 26, 6, 7, 8, + 26, 9, 26, 10, 26, 26, 11, 26, 26, 12, 26, 26, 13, 26, 14, 26, + 26, 26, 26, 26, 15, 26, 26, 16, 26, 26, 17, 26, 26, 26, 26, 26, + 18, 26, 19, 20, 26, 26, 26, 26, 21, 22, 26, 23, 26, 24, 25, 26, +}; +static const struct byte_lookup* const +to_SHIFT_JIS_E9_9C_infos[27] = { + o2(0x8E,0xF9), o2(0xE8,0xBA), o2(0xE8,0xBB), o2(0x90,0x6B), + o2(0xE8,0xBC), o2(0x97,0xEC), o2(0xE8,0xB7), o2(0xE8,0xBE), + o2(0xE8,0xC0), o2(0xE8,0xBF), o2(0xE8,0xBD), o2(0xE8,0xC1), + o2(0xE8,0xC2), o2(0x91,0x9A), o2(0x89,0xE0), o2(0xE8,0xC3), + o2(0x96,0xB6), o2(0xE8,0xC4), o2(0xE8,0xC5), o2(0x98,0x49), + o2(0xFB,0xED), o2(0x9E,0x50), o2(0xE8,0xC6), o2(0xFB,0xEE), + o2(0xE8,0xC7), o2(0xE8,0xC8), UNDEF, +}; +static const BYTE_LOOKUP +to_SHIFT_JIS_E9_9C = { + to_SHIFT_JIS_E9_9C_offsets, + to_SHIFT_JIS_E9_9C_infos +}; + +static const unsigned char +to_SHIFT_JIS_E9_9D_offsets[64] = { + /* used from to_SHIFT_JIS_E9_9D */ + /* used from to_EUC_JP_E9_9D */ + 29, 29, 0, 1, 2, 29, 3, 29, 4, 5, 29, 29, 29, 6, 29, 7, + 29, 8, 9, 29, 29, 10, 11, 29, 29, 12, 29, 29, 13, 29, 14, 29, + 15, 16, 17, 29, 18, 29, 19, 29, 20, 21, 29, 22, 29, 23, 29, 29, + 29, 24, 29, 29, 25, 29, 29, 29, 29, 26, 27, 29, 28, 29, 29, 29, +}; +static const struct byte_lookup* const +to_SHIFT_JIS_E9_9D_infos[30] = { + o2(0xE8,0xCC), o2(0xFB,0xEF), o2(0xE8,0xC9), o2(0xE8,0xCA), + o2(0xE8,0xCB), o2(0xE8,0xCD), o2(0xFB,0xF0), o2(0xFB,0xF1), + o2(0xFB,0xF2), o2(0x90,0xC2), o2(0xFB,0xF3), o2(0x96,0xF5), + o2(0x90,0xC3), o2(0xE8,0xCE), o2(0x94,0xF1), o2(0xE8,0xCF), + o2(0xEA,0x72), o2(0x96,0xCA), o2(0xE8,0xD0), o2(0xE8,0xD1), + o2(0xE8,0xD2), o2(0x8A,0x76), o2(0xE8,0xD4), o2(0x90,0x78), + o2(0xE8,0xD5), o2(0x8C,0x43), o2(0xE8,0xD6), o2(0xE8,0xDA), + o2(0xE8,0xD8), UNDEF, +}; +static const BYTE_LOOKUP +to_SHIFT_JIS_E9_9D = { + to_SHIFT_JIS_E9_9D_offsets, + to_SHIFT_JIS_E9_9D_infos +}; + +static const unsigned char +to_SHIFT_JIS_E9_9E_offsets[64] = { + /* used from to_SHIFT_JIS_E9_9E */ + /* used from to_EUC_JP_E9_9E */ + 18, 0, 18, 18, 1, 2, 3, 18, 18, 18, 18, 4, 18, 5, 18, 6, + 7, 18, 18, 18, 18, 18, 18, 18, 8, 18, 18, 18, 9, 18, 18, 18, + 10, 18, 18, 11, 18, 18, 12, 18, 13, 18, 18, 14, 18, 15, 18, 18, + 18, 18, 18, 16, 17, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, +}; +static const struct byte_lookup* const +to_SHIFT_JIS_E9_9E_infos[19] = { + o2(0xE8,0xD9), o2(0x8A,0x93), o2(0xE8,0xD7), o2(0xE8,0xDB), + o2(0xE8,0xDC), o2(0x88,0xC6), o2(0xE8,0xDD), o2(0xE8,0xDE), + o2(0x8F,0xE2), o2(0xE8,0xDF), o2(0x8B,0x66), o2(0xE8,0xE2), + o2(0xE8,0xE1), o2(0xE8,0xE0), o2(0xE6,0x91), o2(0x95,0xDA), + o2(0xE8,0xE3), o2(0xE8,0xE4), UNDEF, +}; +static const BYTE_LOOKUP +to_SHIFT_JIS_E9_9E = { + to_SHIFT_JIS_E9_9E_offsets, + to_SHIFT_JIS_E9_9E_infos +}; + +static const unsigned char +to_SHIFT_JIS_E9_9F_offsets[64] = { + /* used from to_SHIFT_JIS_E9_9F */ + /* used from to_EUC_JP_E9_9F */ + 14, 14, 14, 0, 14, 14, 1, 14, 2, 14, 14, 3, 14, 14, 14, 14, + 14, 14, 14, 4, 14, 14, 14, 14, 14, 14, 14, 14, 5, 14, 14, 14, + 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 6, 7, 14, + 14, 14, 8, 9, 14, 10, 11, 14, 14, 14, 14, 12, 14, 14, 14, 13, +}; +static const struct byte_lookup* const +to_SHIFT_JIS_E9_9F_infos[15] = { + o2(0xE8,0xE5), o2(0xE8,0xE6), o2(0xE8,0xE7), o2(0xE8,0xE8), + o2(0x8A,0xD8), o2(0xE8,0xE9), o2(0xE8,0xEA), o2(0x94,0x42), + o2(0xE8,0xEC), o2(0x89,0xB9), o2(0xE8,0xEF), o2(0xE8,0xEE), + o2(0x89,0x43), o2(0x8B,0xBF), UNDEF, +}; +static const BYTE_LOOKUP +to_SHIFT_JIS_E9_9F = { + to_SHIFT_JIS_E9_9F_offsets, + to_SHIFT_JIS_E9_9F_infos +}; + +static const unsigned char +to_SHIFT_JIS_E9_A0_offsets[64] = { + /* used from to_SHIFT_JIS_E9_A0 */ + /* used from to_EUC_JP_E9_A0 */ + 25, 0, 1, 2, 25, 3, 4, 25, 5, 25, 25, 25, 6, 25, 25, 7, + 8, 9, 10, 11, 25, 25, 25, 12, 13, 25, 14, 25, 25, 25, 25, 25, + 25, 15, 25, 25, 16, 25, 25, 25, 25, 25, 25, 25, 17, 18, 25, 25, + 25, 25, 25, 25, 19, 25, 25, 20, 21, 25, 25, 22, 23, 24, 25, 25, +}; +static const struct byte_lookup* const +to_SHIFT_JIS_E9_A0_infos[26] = { + o2(0x95,0xC5), o2(0x92,0xB8), o2(0x8D,0xA0), o2(0x8D,0x80), + o2(0x8F,0x87), o2(0x90,0x7B), o2(0xE8,0xF1), o2(0xE8,0xF0), + o2(0x97,0x61), o2(0x8A,0xE6), o2(0x94,0xD0), o2(0x93,0xDA), + o2(0x90,0x9C), o2(0x97,0xCC), o2(0x8C,0x7A), o2(0xE8,0xF4), + o2(0xE8,0xF3), o2(0x96,0x6A), o2(0x93,0xAA), o2(0x89,0x6F), + o2(0xE8,0xF5), o2(0xE8,0xF2), o2(0x95,0x70), o2(0x97,0x8A), + o2(0xE8,0xF6), UNDEF, +}; +static const BYTE_LOOKUP +to_SHIFT_JIS_E9_A0 = { + to_SHIFT_JIS_E9_A0_offsets, + to_SHIFT_JIS_E9_A0_infos +}; + +static const unsigned char +to_SHIFT_JIS_E9_A1_offsets[64] = { + /* used from to_SHIFT_JIS_E9_A1 */ + /* used from to_EUC_JP_E9_A1 */ + 20, 20, 20, 20, 20, 20, 0, 20, 20, 20, 20, 1, 2, 3, 4, 5, + 20, 20, 20, 20, 6, 7, 20, 8, 9, 20, 20, 10, 20, 20, 11, 20, + 20, 20, 20, 20, 20, 12, 20, 13, 20, 20, 20, 14, 20, 20, 20, 15, + 16, 17, 20, 18, 19, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, +}; +static const struct byte_lookup* const +to_SHIFT_JIS_E9_A1_infos[21] = { + o2(0xE8,0xF7), o2(0xE8,0xF9), o2(0x91,0xE8), o2(0x8A,0x7A), + o2(0x8A,0x7B), o2(0xE8,0xF8), o2(0x8A,0xE7), o2(0x8C,0xB0), + o2(0xFB,0xF4), o2(0x8A,0xE8), o2(0x93,0x5E), o2(0x97,0xDE), + o2(0xFB,0xF5), o2(0x8C,0xDA), o2(0xE8,0xFA), o2(0xE8,0xFB), + o2(0xE8,0xFC), o2(0xE9,0x40), o2(0xE9,0x42), o2(0xE9,0x41), + UNDEF, +}; +static const BYTE_LOOKUP +to_SHIFT_JIS_E9_A1 = { + to_SHIFT_JIS_E9_A1_offsets, + to_SHIFT_JIS_E9_A1_infos +}; + +static const unsigned char +to_SHIFT_JIS_E9_A2_offsets[64] = { + /* used from to_SHIFT_JIS_E9_A2 */ + /* used from to_EUC_JP_E9_A2 */ + 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, + 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, 5, 1, 5, 5, 5, 5, 2, + 5, 3, 5, 5, 5, 5, 4, 5, 5, 5, 5, 5, 5, 5, 5, 5, +}; +static const struct byte_lookup* const +to_SHIFT_JIS_E9_A2_infos[6] = { + o2(0x95,0x97), o2(0xE9,0x43), o2(0xE9,0x44), o2(0xE9,0x45), + o2(0xE9,0x46), UNDEF, +}; +static const BYTE_LOOKUP +to_SHIFT_JIS_E9_A2 = { + to_SHIFT_JIS_E9_A2_offsets, + to_SHIFT_JIS_E9_A2_infos +}; + +static const unsigned char +to_SHIFT_JIS_E9_A3_offsets[64] = { + /* used from to_SHIFT_JIS_E9_A3 */ + /* used from to_EUC_JP_E9_A3 */ + 17, 17, 17, 0, 1, 17, 2, 17, 17, 17, 17, 17, 17, 17, 17, 17, + 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 3, 4, 17, 17, 5, + 17, 17, 6, 17, 17, 17, 17, 17, 17, 7, 17, 8, 17, 9, 10, 11, + 17, 17, 12, 17, 13, 17, 17, 17, 17, 17, 17, 17, 14, 15, 16, 17, +}; +static const struct byte_lookup* const +to_SHIFT_JIS_E9_A3_infos[18] = { + o2(0xE9,0x48), o2(0xE9,0x47), o2(0xE9,0x49), o2(0x94,0xF2), + o2(0xE3,0xCA), o2(0x90,0x48), o2(0x8B,0x51), o2(0xE9,0x4A), + o2(0xE9,0x4B), o2(0x99,0xAA), o2(0x9F,0x5A), o2(0x94,0xD1), + o2(0x88,0xF9), o2(0x88,0xB9), o2(0x8E,0x94), o2(0x96,0x4F), + o2(0x8F,0xFC), UNDEF, +}; +static const BYTE_LOOKUP +to_SHIFT_JIS_E9_A3 = { + to_SHIFT_JIS_E9_A3_offsets, + to_SHIFT_JIS_E9_A3_infos +}; + +static const unsigned char +to_SHIFT_JIS_E9_A4_offsets[64] = { + /* used from to_SHIFT_JIS_E9_A4 */ + /* used from to_EUC_JP_E9_A4 */ + 21, 21, 21, 0, 21, 1, 21, 21, 21, 2, 3, 21, 4, 21, 21, 21, + 5, 21, 6, 7, 8, 21, 21, 21, 9, 21, 21, 21, 21, 10, 11, 21, + 12, 13, 21, 21, 14, 21, 21, 15, 16, 21, 21, 21, 17, 21, 18, 21, + 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 19, 20, 21, +}; +static const struct byte_lookup* const +to_SHIFT_JIS_E9_A4_infos[22] = { + o2(0xE9,0x4C), o2(0x96,0xDD), o2(0xE9,0x4D), o2(0x97,0x7B), + o2(0x89,0x61), o2(0x8E,0x60), o2(0xE9,0x4E), o2(0x89,0xEC), + o2(0xE9,0x4F), o2(0xE9,0x50), o2(0xE9,0x52), o2(0xE9,0x53), + o2(0xE9,0x55), o2(0xE9,0x51), o2(0xE9,0x54), o2(0xFB,0xF8), + o2(0x8A,0xD9), o2(0xE9,0x56), o2(0xE9,0x57), o2(0xE9,0x58), + o2(0xE9,0x59), UNDEF, +}; +static const BYTE_LOOKUP +to_SHIFT_JIS_E9_A4 = { + to_SHIFT_JIS_E9_A4_offsets, + to_SHIFT_JIS_E9_A4_infos +}; + +static const unsigned char +to_SHIFT_JIS_E9_A5_offsets[64] = { + /* used from to_SHIFT_JIS_E9_A5 */ + /* used from to_EUC_JP_E9_A5 */ + 10, 10, 0, 10, 10, 1, 10, 10, 10, 2, 10, 3, 4, 10, 10, 10, + 5, 6, 7, 10, 10, 8, 10, 9, 10, 10, 10, 10, 10, 10, 10, 10, + 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, + 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, +}; +static const struct byte_lookup* const +to_SHIFT_JIS_E9_A5_infos[11] = { + o2(0xE9,0x5A), o2(0xE9,0x5C), o2(0xE9,0x5B), o2(0xE9,0x5E), + o2(0xE9,0x61), o2(0xE9,0x5D), o2(0xE9,0x5F), o2(0xE9,0x60), + o2(0xE9,0x62), o2(0x8B,0xC0), UNDEF, +}; +static const BYTE_LOOKUP +to_SHIFT_JIS_E9_A5 = { + to_SHIFT_JIS_E9_A5_offsets, + to_SHIFT_JIS_E9_A5_infos +}; + +static const unsigned char +to_SHIFT_JIS_E9_A6_offsets[64] = { + /* used from to_SHIFT_JIS_E9_A6 */ + /* used from to_EUC_JP_E9_A6 */ + 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, + 13, 13, 13, 13, 13, 13, 0, 1, 2, 3, 13, 13, 13, 13, 4, 13, + 13, 13, 13, 13, 13, 5, 13, 13, 6, 13, 13, 13, 7, 8, 9, 13, + 13, 13, 13, 10, 11, 13, 13, 13, 13, 13, 13, 13, 12, 13, 13, 13, +}; +static const struct byte_lookup* const +to_SHIFT_JIS_E9_A6_infos[14] = { + o2(0x8E,0xF1), o2(0xE9,0x63), o2(0xE9,0x64), o2(0x8D,0x81), + o2(0xFB,0xFA), o2(0xE9,0x65), o2(0x8A,0x5D), o2(0x94,0x6E), + o2(0xE9,0x66), o2(0xE9,0x67), o2(0x92,0x79), o2(0x93,0xE9), + o2(0xE9,0x68), UNDEF, +}; +static const BYTE_LOOKUP +to_SHIFT_JIS_E9_A6 = { + to_SHIFT_JIS_E9_A6_offsets, + to_SHIFT_JIS_E9_A6_infos +}; + +static const unsigned char +to_SHIFT_JIS_E9_A7_offsets[64] = { + /* used from to_SHIFT_JIS_E9_A7 */ + /* used from to_EUC_JP_E9_A7 */ + 21, 0, 21, 21, 1, 2, 3, 21, 4, 21, 21, 21, 21, 21, 21, 21, + 5, 6, 7, 21, 21, 8, 21, 21, 9, 21, 21, 10, 21, 11, 21, 12, + 21, 21, 13, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 14, 15, 21, + 21, 16, 17, 21, 21, 21, 21, 21, 18, 21, 21, 19, 21, 21, 21, 20, +}; +static const struct byte_lookup* const +to_SHIFT_JIS_E9_A7_infos[22] = { + o2(0x94,0x9D), o2(0x91,0xCA), o2(0x89,0x77), o2(0x8B,0xEC), + o2(0x8B,0xED), o2(0x92,0x93), o2(0xE9,0x6D), o2(0x8B,0xEE), + o2(0x89,0xED), o2(0xE9,0x6C), o2(0xE9,0x6A), o2(0xE9,0x6B), + o2(0xE9,0x69), o2(0xE9,0x77), o2(0xE9,0x6E), o2(0xE9,0x6F), + o2(0xE9,0x70), o2(0xE9,0x71), o2(0xE9,0x73), o2(0xE9,0x72), + o2(0x8F,0x78), UNDEF, +}; +static const BYTE_LOOKUP +to_SHIFT_JIS_E9_A7 = { + to_SHIFT_JIS_E9_A7_offsets, + to_SHIFT_JIS_E9_A7_infos +}; + +static const unsigned char +to_SHIFT_JIS_E9_A8_offsets[64] = { + /* used from to_SHIFT_JIS_E9_A8 */ + /* used from to_EUC_JP_E9_A8 */ + 12, 0, 12, 12, 12, 1, 12, 12, 12, 12, 12, 12, 12, 12, 2, 3, + 12, 12, 4, 5, 12, 12, 12, 12, 12, 6, 12, 12, 12, 12, 12, 12, + 12, 12, 12, 12, 12, 12, 12, 12, 7, 12, 12, 8, 12, 12, 12, 12, + 9, 12, 12, 12, 12, 12, 12, 10, 12, 12, 12, 12, 12, 12, 11, 12, +}; +static const struct byte_lookup* const +to_SHIFT_JIS_E9_A8_infos[13] = { + o2(0xE9,0x74), o2(0xE9,0x76), o2(0x8B,0x52), o2(0xE9,0x75), + o2(0x91,0x9B), o2(0x8C,0xB1), o2(0xE9,0x78), o2(0x91,0xCB), + o2(0xE9,0x79), o2(0x93,0xAB), o2(0xE9,0x7A), o2(0xE9,0x80), + UNDEF, +}; +static const BYTE_LOOKUP +to_SHIFT_JIS_E9_A8 = { + to_SHIFT_JIS_E9_A8_offsets, + to_SHIFT_JIS_E9_A8_infos +}; + +static const unsigned char +to_SHIFT_JIS_E9_A9_offsets[64] = { + /* used from to_SHIFT_JIS_E9_A9 */ + /* used from to_EUC_JP_E9_A9 */ + 0, 17, 1, 2, 17, 3, 17, 17, 17, 17, 17, 17, 17, 4, 5, 17, + 17, 17, 17, 17, 17, 6, 17, 7, 17, 17, 8, 9, 17, 17, 17, 10, + 17, 17, 11, 17, 12, 13, 17, 17, 17, 14, 15, 16, 17, 17, 17, 17, + 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, +}; +static const struct byte_lookup* const +to_SHIFT_JIS_E9_A9_infos[18] = { + o2(0xE9,0x7D), o2(0xE9,0x7C), o2(0xE9,0x7E), o2(0xE9,0x7B), + o2(0xE9,0x82), o2(0xFB,0xFB), o2(0xE9,0x81), o2(0xE9,0x84), + o2(0x8B,0xC1), o2(0xE9,0x83), o2(0xE9,0x85), o2(0xE9,0x86), + o2(0xE9,0x88), o2(0xE9,0x87), o2(0xE9,0x89), o2(0xE9,0x8B), + o2(0xE9,0x8A), UNDEF, +}; +static const BYTE_LOOKUP +to_SHIFT_JIS_E9_A9 = { + to_SHIFT_JIS_E9_A9_offsets, + to_SHIFT_JIS_E9_A9_infos +}; + +static const unsigned char +to_SHIFT_JIS_E9_AA_offsets[64] = { + /* used from to_SHIFT_JIS_E9_AA */ + /* used from to_EUC_JP_E9_AA */ + 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, + 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, 5, 5, 5, 5, 1, 5, 5, + 2, 5, 5, 5, 5, 5, 5, 5, 3, 5, 5, 5, 4, 5, 5, 5, +}; +static const struct byte_lookup* const +to_SHIFT_JIS_E9_AA_infos[6] = { + o2(0x8D,0x9C), o2(0xE9,0x8C), o2(0xE9,0x8D), o2(0x8A,0x5B), + o2(0xE9,0x8E), UNDEF, +}; +static const BYTE_LOOKUP +to_SHIFT_JIS_E9_AA = { + to_SHIFT_JIS_E9_AA_offsets, + to_SHIFT_JIS_E9_AA_infos +}; + +static const unsigned char +to_SHIFT_JIS_E9_AB_offsets[64] = { + /* used from to_SHIFT_JIS_E9_AB */ + /* used from to_EUC_JP_E9_AB */ + 0, 23, 23, 23, 1, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 2, + 23, 3, 23, 4, 5, 23, 23, 23, 6, 7, 23, 23, 8, 23, 9, 10, + 23, 23, 11, 12, 23, 23, 13, 23, 23, 23, 14, 15, 23, 16, 17, 18, + 23, 19, 23, 23, 20, 23, 23, 21, 23, 23, 23, 22, 23, 23, 23, 23, +}; +static const struct byte_lookup* const +to_SHIFT_JIS_E9_AB_infos[24] = { + o2(0xE9,0x8F), o2(0x90,0x91), o2(0xE9,0x90), o2(0xE9,0x91), + o2(0xE9,0x92), o2(0xE9,0x93), o2(0x8D,0x82), o2(0xFB,0xFC), + o2(0xFC,0x40), o2(0xE9,0x94), o2(0xE9,0x95), o2(0xE9,0x96), + o2(0xE9,0x97), o2(0xE9,0x98), o2(0x94,0xAF), o2(0xE9,0x9A), + o2(0x95,0x45), o2(0xE9,0x9B), o2(0xE9,0x99), o2(0xE9,0x9D), + o2(0xE9,0x9C), o2(0xE9,0x9E), o2(0xE9,0x9F), UNDEF, +}; +static const BYTE_LOOKUP +to_SHIFT_JIS_E9_AB = { + to_SHIFT_JIS_E9_AB_offsets, + to_SHIFT_JIS_E9_AB_infos +}; + +static const unsigned char +to_SHIFT_JIS_E9_AC_offsets[64] = { + /* used from to_SHIFT_JIS_E9_AC */ + /* used from to_EUC_JP_E9_AC */ + 17, 17, 17, 17, 17, 17, 0, 17, 17, 17, 17, 17, 17, 17, 17, 17, + 17, 17, 17, 17, 17, 17, 17, 17, 1, 17, 2, 17, 17, 17, 17, 3, + 17, 17, 4, 5, 17, 6, 17, 7, 8, 9, 10, 17, 17, 17, 11, 12, + 17, 13, 14, 17, 17, 17, 17, 17, 17, 17, 17, 15, 16, 17, 17, 17, +}; +static const struct byte_lookup* const +to_SHIFT_JIS_E9_AC_infos[18] = { + o2(0xE9,0xA0), o2(0xE9,0xA1), o2(0xE9,0xA2), o2(0xE9,0xA3), + o2(0xE9,0xA4), o2(0xE9,0xA5), o2(0xE9,0xA6), o2(0xE9,0xA7), + o2(0xE9,0xA8), o2(0xE9,0xA9), o2(0xE9,0xAA), o2(0xE9,0xAB), + o2(0xE9,0xAC), o2(0x9F,0x54), o2(0xE9,0xAD), o2(0xE2,0xF6), + o2(0x8B,0x53), UNDEF, +}; +static const BYTE_LOOKUP +to_SHIFT_JIS_E9_AC = { + to_SHIFT_JIS_E9_AC_offsets, + to_SHIFT_JIS_E9_AC_infos +}; + +static const unsigned char +to_SHIFT_JIS_E9_AD_offsets[64] = { + /* used from to_SHIFT_JIS_E9_AD */ + /* used from to_EUC_JP_E9_AD */ + 16, 0, 1, 2, 3, 4, 16, 16, 16, 16, 16, 16, 16, 5, 6, 7, + 16, 8, 16, 16, 9, 16, 16, 16, 10, 16, 11, 16, 16, 16, 16, 16, + 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 12, + 16, 16, 13, 16, 14, 15, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, +}; +static const struct byte_lookup* const +to_SHIFT_JIS_E9_AD_infos[17] = { + o2(0x8A,0x40), o2(0x8D,0xB0), o2(0xE9,0xAF), o2(0xE9,0xAE), + o2(0x96,0xA3), o2(0xE9,0xB1), o2(0xE9,0xB2), o2(0xE9,0xB0), + o2(0xE9,0xB3), o2(0x96,0x82), o2(0xE9,0xB4), o2(0x8B,0x9B), + o2(0x98,0x44), o2(0xFC,0x42), o2(0xE9,0xB5), o2(0xFC,0x41), + UNDEF, +}; +static const BYTE_LOOKUP +to_SHIFT_JIS_E9_AD = { + to_SHIFT_JIS_E9_AD_offsets, + to_SHIFT_JIS_E9_AD_infos +}; + +static const unsigned char +to_SHIFT_JIS_E9_AE_offsets[64] = { + /* used from to_SHIFT_JIS_E9_AE */ + /* used from to_EUC_JP_E9_AE */ + 19, 19, 19, 0, 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, 1, 2, + 19, 3, 4, 5, 19, 19, 6, 7, 19, 19, 19, 19, 19, 19, 19, 8, + 9, 19, 19, 19, 19, 19, 19, 19, 10, 19, 11, 12, 19, 13, 14, 19, + 19, 15, 19, 19, 16, 19, 19, 19, 19, 17, 19, 18, 19, 19, 19, 19, +}; +static const struct byte_lookup* const +to_SHIFT_JIS_E9_AE_infos[20] = { + o2(0xE9,0xB7), o2(0x88,0xBC), o2(0xFC,0x43), o2(0xE9,0xB8), + o2(0x95,0xA9), o2(0xE9,0xB6), o2(0xE9,0xB9), o2(0xE9,0xBA), + o2(0xE9,0xBB), o2(0xE9,0xBC), o2(0xE9,0xBD), o2(0x96,0x8E), + o2(0x8E,0x4C), o2(0x8D,0xF8), o2(0x91,0x4E), o2(0xFC,0x44), + o2(0xE9,0xBE), o2(0xE9,0xC1), o2(0xFC,0x45), UNDEF, +}; +static const BYTE_LOOKUP +to_SHIFT_JIS_E9_AE = { + to_SHIFT_JIS_E9_AE_offsets, + to_SHIFT_JIS_E9_AE_infos +}; + +static const unsigned char +to_SHIFT_JIS_E9_AF_offsets[64] = { + /* used from to_SHIFT_JIS_E9_AF */ + /* used from to_EUC_JP_E9_AF */ + 0, 19, 19, 19, 19, 19, 1, 19, 19, 2, 3, 19, 19, 19, 19, 4, + 19, 5, 6, 19, 7, 19, 8, 19, 19, 19, 19, 9, 19, 19, 19, 19, + 19, 10, 11, 12, 13, 19, 19, 19, 14, 19, 19, 19, 19, 19, 19, 19, + 15, 16, 17, 19, 19, 18, 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, +}; +static const struct byte_lookup* const +to_SHIFT_JIS_E9_AF_infos[20] = { + o2(0xE9,0xBF), o2(0xE9,0xC2), o2(0x8C,0xEF), o2(0xE9,0xC0), + o2(0xE9,0xC3), o2(0xE9,0xC4), o2(0xE9,0xC5), o2(0xE9,0xC9), + o2(0x8E,0x49), o2(0x91,0xE2), o2(0xE9,0xCA), o2(0xE9,0xC7), + o2(0xE9,0xC6), o2(0xE9,0xC8), o2(0x8C,0x7E), o2(0xE9,0xCE), + o2(0xE9,0xCD), o2(0xE9,0xCC), o2(0x88,0xB1), UNDEF, +}; +static const BYTE_LOOKUP +to_SHIFT_JIS_E9_AF = { + to_SHIFT_JIS_E9_AF_offsets, + to_SHIFT_JIS_E9_AF_infos +}; + +static const unsigned char +to_SHIFT_JIS_E9_B0_offsets[64] = { + /* used from to_SHIFT_JIS_E9_B0 */ + /* used from to_EUC_JP_E9_B0 */ + 0, 26, 26, 26, 1, 26, 2, 26, 3, 4, 5, 26, 6, 7, 26, 26, + 8, 26, 9, 10, 11, 12, 26, 26, 26, 26, 26, 13, 26, 26, 26, 26, + 26, 14, 26, 26, 15, 16, 26, 26, 26, 26, 26, 26, 26, 17, 18, 19, + 20, 26, 21, 26, 26, 26, 26, 26, 26, 22, 23, 24, 26, 26, 25, 26, +}; +static const struct byte_lookup* const +to_SHIFT_JIS_E9_B0_infos[27] = { + o2(0xFC,0x46), o2(0xE9,0xD8), o2(0xE9,0xD4), o2(0xE9,0xD5), + o2(0xE9,0xD1), o2(0xE9,0xD7), o2(0xE9,0xD3), o2(0x8A,0x82), + o2(0x98,0x6B), o2(0xE9,0xD6), o2(0xE9,0xD2), o2(0xE9,0xD0), + o2(0xE9,0xCF), o2(0xE9,0xDA), o2(0xE9,0xDD), o2(0xE9,0xDC), + o2(0xE9,0xDB), o2(0x95,0x68), o2(0xE9,0xD9), o2(0x88,0xF1), + o2(0xE9,0xDE), o2(0xE9,0xE0), o2(0x8A,0x8F), o2(0xE9,0xCB), + o2(0x89,0x56), o2(0xE9,0xE2), UNDEF, +}; +static const BYTE_LOOKUP +to_SHIFT_JIS_E9_B0 = { + to_SHIFT_JIS_E9_B0_offsets, + to_SHIFT_JIS_E9_B0_infos +}; + +static const unsigned char +to_SHIFT_JIS_E9_B1_offsets[64] = { + /* used from to_SHIFT_JIS_E9_B1 */ + /* used from to_EUC_JP_E9_B1 */ + 10, 10, 10, 10, 10, 10, 0, 1, 2, 10, 10, 10, 10, 10, 10, 10, + 10, 10, 3, 10, 10, 10, 10, 4, 10, 10, 5, 10, 10, 10, 10, 10, + 6, 10, 10, 10, 10, 10, 10, 7, 10, 10, 10, 10, 10, 10, 10, 10, + 10, 10, 10, 10, 10, 10, 8, 10, 9, 10, 10, 10, 10, 10, 10, 10, +}; +static const struct byte_lookup* const +to_SHIFT_JIS_E9_B1_infos[11] = { + o2(0xE9,0xE1), o2(0xE9,0xDF), o2(0x92,0x4C), o2(0x96,0x90), + o2(0x97,0xD8), o2(0xE9,0xE3), o2(0xE9,0xE4), o2(0xE9,0xE5), + o2(0xE9,0xE6), o2(0xE9,0xE7), UNDEF, +}; +static const BYTE_LOOKUP +to_SHIFT_JIS_E9_B1 = { + to_SHIFT_JIS_E9_B1_offsets, + to_SHIFT_JIS_E9_B1_infos +}; + +static const unsigned char +to_SHIFT_JIS_E9_B3_offsets[64] = { + /* used from to_SHIFT_JIS_E9_B3 */ + /* used from to_EUC_JP_E9_B3 */ + 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, + 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, + 9, 9, 9, 9, 9, 0, 9, 1, 9, 2, 9, 3, 4, 9, 9, 9, + 5, 9, 9, 6, 7, 9, 8, 9, 9, 9, 9, 9, 9, 9, 9, 9, +}; +static const struct byte_lookup* const +to_SHIFT_JIS_E9_B3_infos[10] = { + o2(0x92,0xB9), o2(0xE9,0xE8), o2(0x94,0xB5), o2(0xE9,0xED), + o2(0xE9,0xE9), o2(0xE9,0xEA), o2(0x96,0x50), o2(0x96,0xC2), + o2(0x93,0xCE), UNDEF, +}; +static const BYTE_LOOKUP +to_SHIFT_JIS_E9_B3 = { + to_SHIFT_JIS_E9_B3_offsets, + to_SHIFT_JIS_E9_B3_infos +}; + +static const unsigned char +to_SHIFT_JIS_E9_B4_offsets[64] = { + /* used from to_SHIFT_JIS_E9_B4 */ + /* used from to_EUC_JP_E9_B4 */ + 19, 19, 19, 0, 19, 19, 1, 2, 3, 4, 19, 19, 19, 19, 5, 19, + 19, 19, 6, 19, 19, 7, 19, 19, 19, 19, 19, 8, 19, 19, 19, 9, + 19, 19, 19, 10, 19, 19, 11, 19, 12, 19, 13, 14, 15, 19, 19, 19, + 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, 16, 19, 19, 17, 18, +}; +static const struct byte_lookup* const +to_SHIFT_JIS_E9_B4_infos[20] = { + o2(0xE9,0xEE), o2(0xE9,0xEF), o2(0x93,0xBC), o2(0xE9,0xEC), + o2(0xE9,0xEB), o2(0x89,0xA8), o2(0xE9,0xF7), o2(0xE9,0xF6), + o2(0x89,0x95), o2(0xE9,0xF4), o2(0xE9,0xF3), o2(0xE9,0xF1), + o2(0x8A,0x9B), o2(0xE9,0xF0), o2(0x8E,0xB0), o2(0x89,0xA7), + o2(0x8D,0x83), o2(0xE9,0xFA), o2(0xE9,0xF9), UNDEF, +}; +static const BYTE_LOOKUP +to_SHIFT_JIS_E9_B4 = { + to_SHIFT_JIS_E9_B4_offsets, + to_SHIFT_JIS_E9_B4_infos +}; + +static const unsigned char +to_SHIFT_JIS_E9_B5_offsets[64] = { + /* used from to_SHIFT_JIS_E9_B5 */ + /* used from to_EUC_JP_E9_B5 */ + 19, 0, 19, 19, 1, 19, 2, 19, 3, 19, 19, 19, 19, 19, 19, 19, + 4, 5, 19, 19, 19, 19, 19, 19, 19, 6, 19, 19, 7, 8, 9, 19, + 10, 11, 19, 19, 12, 19, 19, 19, 19, 19, 19, 13, 14, 19, 19, 15, + 16, 19, 17, 19, 19, 19, 19, 19, 19, 19, 18, 19, 19, 19, 19, 19, +}; +static const struct byte_lookup* const +to_SHIFT_JIS_E9_B5_infos[20] = { + o2(0xE9,0xF8), o2(0xE9,0xF5), o2(0xE9,0xFB), o2(0xE9,0xFC), + o2(0xEA,0x44), o2(0xEA,0x43), o2(0xEA,0x45), o2(0x89,0x4C), + o2(0xEA,0x40), o2(0xEA,0x41), o2(0x8D,0x94), o2(0x96,0xB7), + o2(0xEA,0x42), o2(0xFC,0x48), o2(0x96,0x51), o2(0xEA,0x4A), + o2(0xFC,0x47), o2(0xEA,0x46), o2(0xEA,0x4B), UNDEF, +}; +static const BYTE_LOOKUP +to_SHIFT_JIS_E9_B5 = { + to_SHIFT_JIS_E9_B5_offsets, + to_SHIFT_JIS_E9_B5_infos +}; + +static const unsigned char +to_SHIFT_JIS_E9_B6_offsets[64] = { + /* used from to_SHIFT_JIS_E9_B6 */ + /* used from to_EUC_JP_E9_B6 */ + 13, 13, 13, 13, 13, 13, 13, 0, 13, 1, 13, 13, 13, 13, 13, 2, + 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 3, 13, 13, 13, 13, 13, + 13, 13, 13, 13, 4, 13, 13, 13, 13, 5, 13, 6, 13, 13, 13, 7, + 13, 13, 8, 13, 9, 13, 13, 13, 10, 13, 11, 12, 13, 13, 13, 13, +}; +static const struct byte_lookup* const +to_SHIFT_JIS_E9_B6_infos[14] = { + o2(0xEA,0x48), o2(0xEA,0x47), o2(0x8C,0x7B), o2(0xEA,0x4C), + o2(0xEA,0x4D), o2(0xEA,0x4E), o2(0xEA,0x49), o2(0xE9,0xF2), + o2(0xEA,0x4F), o2(0x92,0xDF), o2(0xEA,0x53), o2(0xEA,0x54), + o2(0xEA,0x52), UNDEF, +}; +static const BYTE_LOOKUP +to_SHIFT_JIS_E9_B6 = { + to_SHIFT_JIS_E9_B6_offsets, + to_SHIFT_JIS_E9_B6_infos +}; + +static const unsigned char +to_SHIFT_JIS_E9_B7_offsets[64] = { + /* used from to_SHIFT_JIS_E9_B7 */ + /* used from to_EUC_JP_E9_B7 */ + 15, 0, 1, 15, 2, 15, 3, 15, 15, 15, 15, 15, 15, 15, 15, 4, + 15, 15, 15, 5, 15, 15, 15, 15, 15, 6, 15, 15, 15, 15, 15, 15, + 15, 15, 15, 15, 15, 15, 7, 15, 15, 15, 15, 15, 15, 8, 15, 9, + 15, 15, 10, 15, 15, 15, 15, 15, 11, 12, 13, 15, 15, 14, 15, 15, +}; +static const struct byte_lookup* const +to_SHIFT_JIS_E9_B7_infos[16] = { + o2(0xEA,0x51), o2(0xEA,0x57), o2(0xEA,0x50), o2(0xEA,0x55), + o2(0xEA,0x56), o2(0xEA,0x59), o2(0xEA,0x58), o2(0xEA,0x5B), + o2(0xEA,0x5C), o2(0xEA,0x5D), o2(0x98,0x68), o2(0xEA,0x5A), + o2(0x91,0xE9), o2(0x8D,0xEB), o2(0xEA,0x5E), UNDEF, +}; +static const BYTE_LOOKUP +to_SHIFT_JIS_E9_B7 = { + to_SHIFT_JIS_E9_B7_offsets, + to_SHIFT_JIS_E9_B7_infos +}; + +static const unsigned char +to_SHIFT_JIS_E9_B8_offsets[64] = { + /* used from to_SHIFT_JIS_E9_B8 */ + /* used from to_EUC_JP_E9_B8 */ + 4, 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, 4, 4, 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_SHIFT_JIS_E9_B8_infos[5] = { + o2(0xFC,0x4A), o2(0xEA,0x5F), o2(0xEA,0x60), o2(0xEA,0x61), + UNDEF, +}; +static const BYTE_LOOKUP +to_SHIFT_JIS_E9_B8 = { + to_SHIFT_JIS_E9_B8_offsets, + to_SHIFT_JIS_E9_B8_infos +}; + +static const unsigned char +to_SHIFT_JIS_E9_B9_offsets[64] = { + /* used from to_SHIFT_JIS_E9_B9 */ + /* used from to_EUC_JP_E9_B9 */ + 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, + 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 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, 5, 5, 1, 2, 5, 5, 5, 3, 5, 4, +}; +static const struct byte_lookup* const +to_SHIFT_JIS_E9_B9_infos[6] = { + o2(0xEA,0x62), o2(0x8C,0xB2), o2(0xEA,0x63), o2(0xEA,0x64), + o2(0x8E,0xAD), UNDEF, +}; +static const BYTE_LOOKUP +to_SHIFT_JIS_E9_B9 = { + to_SHIFT_JIS_E9_B9_offsets, + to_SHIFT_JIS_E9_B9_infos +}; + +static const unsigned char +to_SHIFT_JIS_E9_BA_offsets[64] = { + /* used from to_SHIFT_JIS_E9_BA */ + /* used from to_EUC_JP_E9_BA */ + 23, 0, 23, 23, 23, 23, 23, 23, 1, 23, 23, 2, 3, 23, 23, 23, + 23, 4, 5, 6, 23, 7, 23, 8, 23, 23, 23, 23, 23, 9, 23, 10, + 23, 23, 23, 23, 23, 11, 12, 23, 23, 13, 14, 23, 23, 15, 23, 23, + 23, 23, 23, 23, 23, 23, 23, 23, 16, 17, 18, 19, 20, 23, 21, 22, +}; +static const struct byte_lookup* const +to_SHIFT_JIS_E9_BA_infos[24] = { + o2(0xEA,0x65), o2(0xEA,0x66), o2(0xEA,0x67), o2(0xEA,0x68), + o2(0xEA,0x6B), o2(0xEA,0x69), o2(0x98,0x5B), o2(0xEA,0x6A), + o2(0x97,0xED), o2(0xEA,0x6C), o2(0x97,0xD9), o2(0xEA,0x6D), + o2(0x94,0x9E), o2(0xEA,0x6E), o2(0xEA,0x70), o2(0xEA,0x71), + o2(0xEA,0x6F), o2(0x8D,0x8D), o2(0x96,0xCB), o2(0x96,0x83), + o2(0x9B,0xF5), o2(0x9F,0x80), o2(0x96,0x9B), UNDEF, +}; +static const BYTE_LOOKUP +to_SHIFT_JIS_E9_BA = { + to_SHIFT_JIS_E9_BA_offsets, + to_SHIFT_JIS_E9_BA_infos +}; + +static const unsigned char +to_SHIFT_JIS_E9_BB_offsets[64] = { + /* used from to_SHIFT_JIS_E9_BB */ + /* used from to_EUC_JP_E9_BB */ + 26, 26, 26, 26, 0, 26, 26, 26, 26, 26, 26, 26, 1, 2, 3, 4, + 5, 6, 7, 26, 8, 26, 26, 26, 9, 10, 26, 11, 12, 13, 14, 26, + 15, 26, 26, 26, 26, 16, 26, 26, 17, 26, 26, 26, 26, 26, 26, 18, + 26, 26, 26, 26, 19, 26, 20, 21, 26, 22, 26, 23, 24, 25, 26, 26, +}; +static const struct byte_lookup* const +to_SHIFT_JIS_E9_BB_infos[27] = { + o2(0x89,0xA9), o2(0xEA,0x73), o2(0x8B,0x6F), o2(0xEA,0x74), + o2(0xEA,0x75), o2(0xEA,0x76), o2(0xFC,0x4B), o2(0x8D,0x95), + o2(0xEA,0x77), o2(0xE0,0xD2), o2(0x96,0xD9), o2(0x91,0xE1), + o2(0xEA,0x78), o2(0xEA,0x7A), o2(0xEA,0x79), o2(0xEA,0x7B), + o2(0xEA,0x7C), o2(0xEA,0x7D), o2(0xEA,0x7E), o2(0xEA,0x80), + o2(0xEA,0x81), o2(0xEA,0x82), o2(0xEA,0x83), o2(0xEA,0x84), + o2(0xEA,0x85), o2(0xEA,0x86), UNDEF, +}; +static const BYTE_LOOKUP +to_SHIFT_JIS_E9_BB = { + to_SHIFT_JIS_E9_BB_offsets, + to_SHIFT_JIS_E9_BB_infos +}; + +static const unsigned char +to_SHIFT_JIS_E9_BC_offsets[64] = { + /* used from to_SHIFT_JIS_E9_BC */ + /* used from to_EUC_JP_E9_BC */ + 10, 10, 10, 10, 10, 10, 10, 0, 1, 10, 10, 10, 10, 10, 2, 10, + 10, 10, 10, 3, 10, 4, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, + 5, 6, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 7, 10, 10, 10, + 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 8, 10, 10, 9, 10, +}; +static const struct byte_lookup* const +to_SHIFT_JIS_E9_BC_infos[11] = { + o2(0xEA,0x87), o2(0xEA,0x88), o2(0x93,0x43), o2(0x8C,0xDB), + o2(0xEA,0x8A), o2(0x91,0x6C), o2(0xEA,0x8B), o2(0xEA,0x8C), + o2(0x95,0x40), o2(0xEA,0x8D), UNDEF, +}; +static const BYTE_LOOKUP +to_SHIFT_JIS_E9_BC = { + to_SHIFT_JIS_E9_BC_offsets, + to_SHIFT_JIS_E9_BC_infos +}; + +static const unsigned char +to_SHIFT_JIS_E9_BD_offsets[64] = { + /* used from to_SHIFT_JIS_E9_BD */ + /* used from to_EUC_JP_E9_BD */ + 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 0, 1, 18, 18, 2, 3, + 18, 18, 4, 18, 5, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 6, + 7, 8, 9, 10, 18, 18, 11, 12, 18, 18, 13, 18, 14, 18, 18, 18, + 18, 18, 15, 18, 18, 18, 16, 17, 18, 18, 18, 18, 18, 18, 18, 18, +}; +static const struct byte_lookup* const +to_SHIFT_JIS_E9_BD_infos[19] = { + o2(0xEA,0x8E), o2(0xE2,0x56), o2(0xE6,0xD8), o2(0xE8,0xEB), + o2(0xEA,0x8F), o2(0xEA,0x90), o2(0xEA,0x92), o2(0xEA,0x93), + o2(0xEA,0x94), o2(0x97,0xEE), o2(0xEA,0x91), o2(0xEA,0x95), + o2(0xEA,0x96), o2(0xEA,0x98), o2(0xEA,0x97), o2(0xEA,0x9A), + o2(0xEA,0x9B), o2(0xEA,0x99), UNDEF, +}; +static const BYTE_LOOKUP +to_SHIFT_JIS_E9_BD = { + to_SHIFT_JIS_E9_BD_offsets, + to_SHIFT_JIS_E9_BD_infos +}; + +static const unsigned char +to_SHIFT_JIS_E9_BE_offsets[64] = { + /* used from to_SHIFT_JIS_E9_BE */ + /* used from to_EUC_JP_E9_BE */ + 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 0, 5, 5, + 5, 5, 5, 5, 5, 1, 5, 5, 5, 5, 5, 5, 2, 3, 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, 5, 5, +}; +static const struct byte_lookup* const +to_SHIFT_JIS_E9_BE_infos[6] = { + o2(0x97,0xB4), o2(0xEA,0x9C), o2(0xEA,0x9D), o2(0xE2,0x73), + o2(0xEA,0x9E), UNDEF, +}; +static const BYTE_LOOKUP +to_SHIFT_JIS_E9_BE = { + to_SHIFT_JIS_E9_BE_offsets, + to_SHIFT_JIS_E9_BE_infos +}; + +static const unsigned char +to_SHIFT_JIS_E9_offsets[64] = { + /* used from to_SHIFT_JIS_E9 */ + /* used from to_EUC_JP_E9 */ + 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, + 16, 17, 18, 60, 60, 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, 60, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, +}; +static const struct byte_lookup* const +to_SHIFT_JIS_E9_infos[61] = { + &to_SHIFT_JIS_E9_80, &to_SHIFT_JIS_E9_81, + &to_SHIFT_JIS_E9_82, &to_SHIFT_JIS_E9_83, + &to_SHIFT_JIS_E9_84, &to_SHIFT_JIS_E9_85, + &to_SHIFT_JIS_E9_86, &to_SHIFT_JIS_E9_87, + &to_SHIFT_JIS_E9_88, &to_SHIFT_JIS_E9_89, + &to_SHIFT_JIS_E9_8A, &to_SHIFT_JIS_E9_8B, + &to_SHIFT_JIS_E9_8C, &to_SHIFT_JIS_E9_8D, + &to_SHIFT_JIS_E9_8E, &to_SHIFT_JIS_E9_8F, + &to_SHIFT_JIS_E9_90, &to_SHIFT_JIS_E9_91, + &to_SHIFT_JIS_E9_92, &to_SHIFT_JIS_E9_95, + &to_SHIFT_JIS_E9_96, &to_SHIFT_JIS_E9_97, + &to_SHIFT_JIS_E9_98, &to_SHIFT_JIS_E9_99, + &to_SHIFT_JIS_E9_9A, &to_SHIFT_JIS_E9_9B, + &to_SHIFT_JIS_E9_9C, &to_SHIFT_JIS_E9_9D, + &to_SHIFT_JIS_E9_9E, &to_SHIFT_JIS_E9_9F, + &to_SHIFT_JIS_E9_A0, &to_SHIFT_JIS_E9_A1, + &to_SHIFT_JIS_E9_A2, &to_SHIFT_JIS_E9_A3, + &to_SHIFT_JIS_E9_A4, &to_SHIFT_JIS_E9_A5, + &to_SHIFT_JIS_E9_A6, &to_SHIFT_JIS_E9_A7, + &to_SHIFT_JIS_E9_A8, &to_SHIFT_JIS_E9_A9, + &to_SHIFT_JIS_E9_AA, &to_SHIFT_JIS_E9_AB, + &to_SHIFT_JIS_E9_AC, &to_SHIFT_JIS_E9_AD, + &to_SHIFT_JIS_E9_AE, &to_SHIFT_JIS_E9_AF, + &to_SHIFT_JIS_E9_B0, &to_SHIFT_JIS_E9_B1, + &to_SHIFT_JIS_E9_B3, &to_SHIFT_JIS_E9_B4, + &to_SHIFT_JIS_E9_B5, &to_SHIFT_JIS_E9_B6, + &to_SHIFT_JIS_E9_B7, &to_SHIFT_JIS_E9_B8, + &to_SHIFT_JIS_E9_B9, &to_SHIFT_JIS_E9_BA, + &to_SHIFT_JIS_E9_BB, &to_SHIFT_JIS_E9_BC, + &to_SHIFT_JIS_E9_BD, &to_SHIFT_JIS_E9_BE, + UNDEF, +}; +static const BYTE_LOOKUP +to_SHIFT_JIS_E9 = { + to_SHIFT_JIS_E9_offsets, + to_SHIFT_JIS_E9_infos +}; + +static const unsigned char +to_SHIFT_JIS_EF_A4_offsets[64] = { + /* used from to_SHIFT_JIS_EF_A4 */ + /* used from to_EUC_JP_EF_A4 */ + 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, + 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, + 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 1, 1, 1, 1, 1, 1, + 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, +}; +static const struct byte_lookup* const +to_SHIFT_JIS_EF_A4_infos[2] = { + o2(0xFA,0xE0), UNDEF, +}; +static const BYTE_LOOKUP +to_SHIFT_JIS_EF_A4 = { + to_SHIFT_JIS_EF_A4_offsets, + to_SHIFT_JIS_EF_A4_infos +}; + +static const unsigned char +to_SHIFT_JIS_EF_A7_offsets[64] = { + /* used from to_SHIFT_JIS_EF_A7 */ + /* used from to_EUC_JP_EF_A7 */ + 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, + 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 1, 1, 1, + 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, + 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, +}; +static const struct byte_lookup* const +to_SHIFT_JIS_EF_A7_infos[2] = { + o2(0xFB,0xE9), UNDEF, +}; +static const BYTE_LOOKUP +to_SHIFT_JIS_EF_A7 = { + to_SHIFT_JIS_EF_A7_offsets, + to_SHIFT_JIS_EF_A7_infos +}; + +static const unsigned char +to_SHIFT_JIS_EF_A8_offsets[64] = { + /* used from to_SHIFT_JIS_EF_A8 */ + /* used from to_EUC_JP_EF_A8 */ + 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 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, 32, + 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, +}; +static const struct byte_lookup* const +to_SHIFT_JIS_EF_A8_infos[33] = { + o2(0xFA,0x90), o2(0xFA,0x9B), o2(0xFA,0x9C), o2(0xFA,0xB1), + o2(0xFA,0xD8), o2(0xFA,0xE8), o2(0xFA,0xEA), o2(0xFB,0x58), + o2(0xFB,0x5E), o2(0xFB,0x75), o2(0xFB,0x7D), o2(0xFB,0x7E), + o2(0xFB,0x80), o2(0xFB,0x82), o2(0xFB,0x86), o2(0xFB,0x89), + o2(0xFB,0x92), o2(0xFB,0x9D), o2(0xFB,0x9F), o2(0xFB,0xA0), + o2(0xFB,0xA9), o2(0xFB,0xB1), o2(0xFB,0xB3), o2(0xFB,0xB4), + o2(0xFB,0xB7), o2(0xFB,0xD3), o2(0xFB,0xDA), o2(0xFB,0xEA), + o2(0xFB,0xF6), o2(0xFB,0xF7), o2(0xFB,0xF9), o2(0xFC,0x49), + UNDEF, +}; +static const BYTE_LOOKUP +to_SHIFT_JIS_EF_A8 = { + to_SHIFT_JIS_EF_A8_offsets, + to_SHIFT_JIS_EF_A8_infos +}; + +static const unsigned char +to_SHIFT_JIS_EF_BC_offsets[64] = { + /* used from to_SHIFT_JIS_EF_BC */ + /* used from to_EUC_JP_EF_BC */ + 61, 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 61, 61, 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, +}; +static const struct byte_lookup* const +to_SHIFT_JIS_EF_BC_infos[62] = { + o2(0x81,0x49), o2(0xFA,0x57), o2(0x81,0x94), o2(0x81,0x90), + o2(0x81,0x93), o2(0x81,0x95), o2(0xFA,0x56), o2(0x81,0x69), + o2(0x81,0x6A), o2(0x81,0x96), o2(0x81,0x7B), o2(0x81,0x44), + o2(0x81,0x5E), o2(0x82,0x4F), o2(0x82,0x50), o2(0x82,0x51), + o2(0x82,0x52), o2(0x82,0x53), o2(0x82,0x54), o2(0x82,0x55), + o2(0x82,0x56), o2(0x82,0x57), o2(0x82,0x58), o2(0x81,0x46), + o2(0x81,0x47), o2(0x81,0x83), o2(0x81,0x81), o2(0x81,0x84), + o2(0x81,0x48), o2(0x81,0x97), o2(0x82,0x60), o2(0x82,0x61), + o2(0x82,0x62), o2(0x82,0x63), o2(0x82,0x64), o2(0x82,0x65), + o2(0x82,0x66), o2(0x82,0x67), o2(0x82,0x68), o2(0x82,0x69), + o2(0x82,0x6A), o2(0x82,0x6B), o2(0x82,0x6C), o2(0x82,0x6D), + o2(0x82,0x6E), o2(0x82,0x6F), o2(0x82,0x70), o2(0x82,0x71), + o2(0x82,0x72), o2(0x82,0x73), o2(0x82,0x74), o2(0x82,0x75), + o2(0x82,0x76), o2(0x82,0x77), o2(0x82,0x78), o2(0x82,0x79), + o2(0x81,0x6D), o2(0x81,0x5F), o2(0x81,0x6E), o2(0x81,0x4F), + o2(0x81,0x51), UNDEF, +}; +static const BYTE_LOOKUP +to_SHIFT_JIS_EF_BC = { + to_SHIFT_JIS_EF_BC_offsets, + to_SHIFT_JIS_EF_BC_infos +}; + +static const unsigned char +to_SHIFT_JIS_EF_BD_offsets[64] = { + /* used from to_SHIFT_JIS_EF_BD */ + /* used from to_EUC_JP_EF_BD */ + 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, 61, 61, + 61, 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, +}; +static const struct byte_lookup* const +to_SHIFT_JIS_EF_BD_infos[62] = { + o2(0x81,0x4D), o2(0x82,0x81), o2(0x82,0x82), o2(0x82,0x83), + o2(0x82,0x84), o2(0x82,0x85), o2(0x82,0x86), o2(0x82,0x87), + o2(0x82,0x88), o2(0x82,0x89), o2(0x82,0x8A), o2(0x82,0x8B), + o2(0x82,0x8C), o2(0x82,0x8D), o2(0x82,0x8E), o2(0x82,0x8F), + o2(0x82,0x90), o2(0x82,0x91), o2(0x82,0x92), o2(0x82,0x93), + o2(0x82,0x94), o2(0x82,0x95), o2(0x82,0x96), o2(0x82,0x97), + o2(0x82,0x98), o2(0x82,0x99), o2(0x82,0x9A), o2(0x81,0x6F), + o2(0x81,0x62), o2(0x81,0x70), 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), UNDEF, +}; +static const BYTE_LOOKUP +to_SHIFT_JIS_EF_BD = { + to_SHIFT_JIS_EF_BD_offsets, + to_SHIFT_JIS_EF_BD_infos +}; + +static const unsigned char +to_SHIFT_JIS_EF_BE_offsets[64] = { + /* used from to_SHIFT_JIS_EF_BE */ + /* used from to_EUC_JP_EF_BE */ + 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, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, + 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, +}; +static const struct byte_lookup* const +to_SHIFT_JIS_EF_BE_infos[33] = { + 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_SHIFT_JIS_EF_BE = { + to_SHIFT_JIS_EF_BE_offsets, + to_SHIFT_JIS_EF_BE_infos +}; + +static const unsigned char +to_SHIFT_JIS_EF_offsets[64] = { + /* used from to_SHIFT_JIS_EF */ + /* used from to_EUC_JP_EF */ + 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, + 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, + 6, 6, 6, 6, 0, 6, 6, 1, 2, 6, 6, 6, 6, 6, 6, 6, + 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 3, 4, 5, 6, +}; +static const struct byte_lookup* const +to_SHIFT_JIS_EF_infos[7] = { + &to_SHIFT_JIS_EF_A4, &to_SHIFT_JIS_EF_A7, + &to_SHIFT_JIS_EF_A8, &to_SHIFT_JIS_EF_BC, + &to_SHIFT_JIS_EF_BD, &to_SHIFT_JIS_EF_BE, + UNDEF, +}; +static const BYTE_LOOKUP +to_SHIFT_JIS_EF = { + to_SHIFT_JIS_EF_offsets, + to_SHIFT_JIS_EF_infos +}; + +static const unsigned char +to_SHIFT_JIS_offsets[256] = { + /* used from to_SHIFT_JIS */ + /* used from to_EUC_JP */ + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, + 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, + 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, + 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, + 16, 16, 1, 2, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 3, 4, + 5, 6, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, + 16, 16, 7, 8, 9, 10, 11, 12, 13, 14, 16, 16, 16, 16, 16, 15, + 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, +}; +static const struct byte_lookup* const +to_SHIFT_JIS_infos[17] = { + NOMAP, &to_SHIFT_JIS_C2, &to_SHIFT_JIS_C3, &to_SHIFT_JIS_CE, + &to_SHIFT_JIS_CF, &to_SHIFT_JIS_D0, &to_SHIFT_JIS_D1, &to_SHIFT_JIS_E2, + &to_SHIFT_JIS_E3, &to_SHIFT_JIS_E4, &to_SHIFT_JIS_E5, &to_SHIFT_JIS_E6, + &to_SHIFT_JIS_E7, &to_SHIFT_JIS_E8, &to_SHIFT_JIS_E9, &to_SHIFT_JIS_EF, + UNDEF, +}; +static const BYTE_LOOKUP +to_SHIFT_JIS = { + to_SHIFT_JIS_offsets, + to_SHIFT_JIS_infos +}; +static rb_transcoder +rb_to_SHIFT_JIS = { + "SHIFT_JIS", "UTF-8", &to_SHIFT_JIS, 2, 1, + NULL, NULL, +}; + +static const unsigned char +from_EUC_JP_8E_offsets[256] = { + 63, 63, 63, 63, 63, 63, 63, 63, 63, 63, 63, 63, 63, 63, 63, 63, + 63, 63, 63, 63, 63, 63, 63, 63, 63, 63, 63, 63, 63, 63, 63, 63, + 63, 63, 63, 63, 63, 63, 63, 63, 63, 63, 63, 63, 63, 63, 63, 63, + 63, 63, 63, 63, 63, 63, 63, 63, 63, 63, 63, 63, 63, 63, 63, 63, + 63, 63, 63, 63, 63, 63, 63, 63, 63, 63, 63, 63, 63, 63, 63, 63, + 63, 63, 63, 63, 63, 63, 63, 63, 63, 63, 63, 63, 63, 63, 63, 63, + 63, 63, 63, 63, 63, 63, 63, 63, 63, 63, 63, 63, 63, 63, 63, 63, + 63, 63, 63, 63, 63, 63, 63, 63, 63, 63, 63, 63, 63, 63, 63, 63, + 63, 63, 63, 63, 63, 63, 63, 63, 63, 63, 63, 63, 63, 63, 63, 63, + 63, 63, 63, 63, 63, 63, 63, 63, 63, 63, 63, 63, 63, 63, 63, 63, + 63, 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, 63, 63, 63, 63, 63, 63, 63, 63, 63, 63, 63, 63, 63, 63, 63, + 63, 63, 63, 63, 63, 63, 63, 63, 63, 63, 63, 63, 63, 63, 63, 63, +}; +static const struct byte_lookup* const +from_EUC_JP_8E_infos[64] = { + o3(0xEF,0xBD,0xA1), o3(0xEF,0xBD,0xA2), + o3(0xEF,0xBD,0xA3), o3(0xEF,0xBD,0xA4), + o3(0xEF,0xBD,0xA5), o3(0xEF,0xBD,0xA6), + o3(0xEF,0xBD,0xA7), o3(0xEF,0xBD,0xA8), + o3(0xEF,0xBD,0xA9), o3(0xEF,0xBD,0xAA), + o3(0xEF,0xBD,0xAB), o3(0xEF,0xBD,0xAC), + o3(0xEF,0xBD,0xAD), o3(0xEF,0xBD,0xAE), + o3(0xEF,0xBD,0xAF), o3(0xEF,0xBD,0xB0), + o3(0xEF,0xBD,0xB1), o3(0xEF,0xBD,0xB2), + o3(0xEF,0xBD,0xB3), o3(0xEF,0xBD,0xB4), + o3(0xEF,0xBD,0xB5), o3(0xEF,0xBD,0xB6), + o3(0xEF,0xBD,0xB7), o3(0xEF,0xBD,0xB8), + o3(0xEF,0xBD,0xB9), o3(0xEF,0xBD,0xBA), + o3(0xEF,0xBD,0xBB), o3(0xEF,0xBD,0xBC), + o3(0xEF,0xBD,0xBD), o3(0xEF,0xBD,0xBE), + o3(0xEF,0xBD,0xBF), o3(0xEF,0xBE,0x80), + o3(0xEF,0xBE,0x81), o3(0xEF,0xBE,0x82), + o3(0xEF,0xBE,0x83), o3(0xEF,0xBE,0x84), + o3(0xEF,0xBE,0x85), o3(0xEF,0xBE,0x86), + o3(0xEF,0xBE,0x87), o3(0xEF,0xBE,0x88), + o3(0xEF,0xBE,0x89), o3(0xEF,0xBE,0x8A), + o3(0xEF,0xBE,0x8B), o3(0xEF,0xBE,0x8C), + o3(0xEF,0xBE,0x8D), o3(0xEF,0xBE,0x8E), + o3(0xEF,0xBE,0x8F), o3(0xEF,0xBE,0x90), + o3(0xEF,0xBE,0x91), o3(0xEF,0xBE,0x92), + o3(0xEF,0xBE,0x93), o3(0xEF,0xBE,0x94), + o3(0xEF,0xBE,0x95), o3(0xEF,0xBE,0x96), + o3(0xEF,0xBE,0x97), o3(0xEF,0xBE,0x98), + o3(0xEF,0xBE,0x99), o3(0xEF,0xBE,0x9A), + o3(0xEF,0xBE,0x9B), o3(0xEF,0xBE,0x9C), + o3(0xEF,0xBE,0x9D), o3(0xEF,0xBE,0x9E), + o3(0xEF,0xBE,0x9F), UNDEF, +}; +static const BYTE_LOOKUP +from_EUC_JP_8E = { + from_EUC_JP_8E_offsets, + from_EUC_JP_8E_infos +}; + +static const unsigned char +from_EUC_JP_A1_offsets[256] = { + /* used from from_EUC_JP_A1 */ + /* used from from_EUC_JP_B0 */ + /* used from from_EUC_JP_B1 */ + /* used from from_EUC_JP_B2 */ + /* used from from_EUC_JP_B3 */ + /* used from from_EUC_JP_B4 */ + /* used from from_EUC_JP_B5 */ + /* used from from_EUC_JP_B6 */ + /* used from from_EUC_JP_B7 */ + /* used from from_EUC_JP_B8 */ + /* used from from_EUC_JP_B9 */ + /* used from from_EUC_JP_BA */ + /* used from from_EUC_JP_BB */ + /* used from from_EUC_JP_BC */ + /* used from from_EUC_JP_BD */ + /* used from from_EUC_JP_BE */ + /* used from from_EUC_JP_BF */ + /* used from from_EUC_JP_C0 */ + /* used from from_EUC_JP_C1 */ + /* used from from_EUC_JP_C2 */ + /* used from from_EUC_JP_C3 */ + /* used from from_EUC_JP_C4 */ + /* used from from_EUC_JP_C5 */ + /* used from from_EUC_JP_C6 */ + /* used from from_EUC_JP_C7 */ + /* used from from_EUC_JP_C8 */ + /* used from from_EUC_JP_C9 */ + /* used from from_EUC_JP_CA */ + /* used from from_EUC_JP_CB */ + /* used from from_EUC_JP_CC */ + /* used from from_EUC_JP_CD */ + /* used from from_EUC_JP_CE */ + /* used from from_EUC_JP_D0 */ + /* used from from_EUC_JP_D1 */ + /* used from from_EUC_JP_D2 */ + /* used from from_EUC_JP_D3 */ + /* used from from_EUC_JP_D4 */ + /* used from from_EUC_JP_D5 */ + /* used from from_EUC_JP_D6 */ + /* used from from_EUC_JP_D7 */ + /* used from from_EUC_JP_D8 */ + /* used from from_EUC_JP_D9 */ + /* used from from_EUC_JP_DA */ + /* used from from_EUC_JP_DB */ + /* used from from_EUC_JP_DC */ + /* used from from_EUC_JP_DD */ + /* used from from_EUC_JP_DE */ + /* used from from_EUC_JP_DF */ + /* used from from_EUC_JP_E0 */ + /* used from from_EUC_JP_E1 */ + /* used from from_EUC_JP_E2 */ + /* used from from_EUC_JP_E3 */ + /* used from from_EUC_JP_E4 */ + /* used from from_EUC_JP_E5 */ + /* used from from_EUC_JP_E6 */ + /* used from from_EUC_JP_E7 */ + /* used from from_EUC_JP_E8 */ + /* used from from_EUC_JP_E9 */ + /* used from from_EUC_JP_EA */ + /* used from from_EUC_JP_EB */ + /* used from from_EUC_JP_EC */ + /* used from from_EUC_JP_ED */ + /* used from from_EUC_JP_EE */ + /* used from from_EUC_JP_EF */ + /* used from from_EUC_JP_F0 */ + /* used from from_EUC_JP_F1 */ + /* used from from_EUC_JP_F2 */ + /* used from from_EUC_JP_F3 */ + /* used from from_EUC_JP_F9 */ + /* used from from_EUC_JP_FA */ + /* used from from_EUC_JP_FB */ + 94, 94, 94, 94, 94, 94, 94, 94, 94, 94, 94, 94, 94, 94, 94, 94, + 94, 94, 94, 94, 94, 94, 94, 94, 94, 94, 94, 94, 94, 94, 94, 94, + 94, 94, 94, 94, 94, 94, 94, 94, 94, 94, 94, 94, 94, 94, 94, 94, + 94, 94, 94, 94, 94, 94, 94, 94, 94, 94, 94, 94, 94, 94, 94, 94, + 94, 94, 94, 94, 94, 94, 94, 94, 94, 94, 94, 94, 94, 94, 94, 94, + 94, 94, 94, 94, 94, 94, 94, 94, 94, 94, 94, 94, 94, 94, 94, 94, + 94, 94, 94, 94, 94, 94, 94, 94, 94, 94, 94, 94, 94, 94, 94, 94, + 94, 94, 94, 94, 94, 94, 94, 94, 94, 94, 94, 94, 94, 94, 94, 94, + 94, 94, 94, 94, 94, 94, 94, 94, 94, 94, 94, 94, 94, 94, 94, 94, + 94, 94, 94, 94, 94, 94, 94, 94, 94, 94, 94, 94, 94, 94, 94, 94, + 94, 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, +}; +static const struct byte_lookup* const +from_EUC_JP_A1_infos[95] = { + o3(0xE3,0x80,0x80), o3(0xE3,0x80,0x81), + o3(0xE3,0x80,0x82), o3(0xEF,0xBC,0x8C), + o3(0xEF,0xBC,0x8E), o3(0xE3,0x83,0xBB), + o3(0xEF,0xBC,0x9A), o3(0xEF,0xBC,0x9B), + o3(0xEF,0xBC,0x9F), o3(0xEF,0xBC,0x81), + o3(0xE3,0x82,0x9B), o3(0xE3,0x82,0x9C), + o2(0xC2,0xB4), o3(0xEF,0xBD,0x80), + o2(0xC2,0xA8), o3(0xEF,0xBC,0xBE), + o3(0xEF,0xBF,0xA3), o3(0xEF,0xBC,0xBF), + o3(0xE3,0x83,0xBD), o3(0xE3,0x83,0xBE), + o3(0xE3,0x82,0x9D), o3(0xE3,0x82,0x9E), + o3(0xE3,0x80,0x83), o3(0xE4,0xBB,0x9D), + o3(0xE3,0x80,0x85), o3(0xE3,0x80,0x86), + o3(0xE3,0x80,0x87), o3(0xE3,0x83,0xBC), + o3(0xE2,0x80,0x95), o3(0xE2,0x80,0x90), + o3(0xEF,0xBC,0x8F), o3(0xEF,0xBC,0xBC), + o3(0xEF,0xBD,0x9E), o3(0xE2,0x88,0xA5), + o3(0xEF,0xBD,0x9C), o3(0xE2,0x80,0xA6), + o3(0xE2,0x80,0xA5), o3(0xE2,0x80,0x98), + o3(0xE2,0x80,0x99), o3(0xE2,0x80,0x9C), + o3(0xE2,0x80,0x9D), o3(0xEF,0xBC,0x88), + o3(0xEF,0xBC,0x89), o3(0xE3,0x80,0x94), + o3(0xE3,0x80,0x95), o3(0xEF,0xBC,0xBB), + o3(0xEF,0xBC,0xBD), o3(0xEF,0xBD,0x9B), + o3(0xEF,0xBD,0x9D), o3(0xE3,0x80,0x88), + o3(0xE3,0x80,0x89), o3(0xE3,0x80,0x8A), + o3(0xE3,0x80,0x8B), o3(0xE3,0x80,0x8C), + o3(0xE3,0x80,0x8D), o3(0xE3,0x80,0x8E), + o3(0xE3,0x80,0x8F), o3(0xE3,0x80,0x90), + o3(0xE3,0x80,0x91), o3(0xEF,0xBC,0x8B), + o3(0xEF,0xBC,0x8D), o2(0xC2,0xB1), + o2(0xC3,0x97), o2(0xC3,0xB7), + o3(0xEF,0xBC,0x9D), o3(0xE2,0x89,0xA0), + o3(0xEF,0xBC,0x9C), o3(0xEF,0xBC,0x9E), + o3(0xE2,0x89,0xA6), o3(0xE2,0x89,0xA7), + o3(0xE2,0x88,0x9E), o3(0xE2,0x88,0xB4), + o3(0xE2,0x99,0x82), o3(0xE2,0x99,0x80), + o2(0xC2,0xB0), o3(0xE2,0x80,0xB2), + o3(0xE2,0x80,0xB3), o3(0xE2,0x84,0x83), + o3(0xEF,0xBF,0xA5), o3(0xEF,0xBC,0x84), + o3(0xEF,0xBF,0xA0), o3(0xEF,0xBF,0xA1), + o3(0xEF,0xBC,0x85), o3(0xEF,0xBC,0x83), + o3(0xEF,0xBC,0x86), o3(0xEF,0xBC,0x8A), + o3(0xEF,0xBC,0xA0), o2(0xC2,0xA7), + o3(0xE2,0x98,0x86), o3(0xE2,0x98,0x85), + o3(0xE2,0x97,0x8B), o3(0xE2,0x97,0x8F), + o3(0xE2,0x97,0x8E), o3(0xE2,0x97,0x87), + UNDEF, +}; +static const BYTE_LOOKUP +from_EUC_JP_A1 = { + from_EUC_JP_A1_offsets, + from_EUC_JP_A1_infos +}; + +static const unsigned char +from_EUC_JP_A2_offsets[256] = { + 53, 53, 53, 53, 53, 53, 53, 53, 53, 53, 53, 53, 53, 53, 53, 53, + 53, 53, 53, 53, 53, 53, 53, 53, 53, 53, 53, 53, 53, 53, 53, 53, + 53, 53, 53, 53, 53, 53, 53, 53, 53, 53, 53, 53, 53, 53, 53, 53, + 53, 53, 53, 53, 53, 53, 53, 53, 53, 53, 53, 53, 53, 53, 53, 53, + 53, 53, 53, 53, 53, 53, 53, 53, 53, 53, 53, 53, 53, 53, 53, 53, + 53, 53, 53, 53, 53, 53, 53, 53, 53, 53, 53, 53, 53, 53, 53, 53, + 53, 53, 53, 53, 53, 53, 53, 53, 53, 53, 53, 53, 53, 53, 53, 53, + 53, 53, 53, 53, 53, 53, 53, 53, 53, 53, 53, 53, 53, 53, 53, 53, + 53, 53, 53, 53, 53, 53, 53, 53, 53, 53, 53, 53, 53, 53, 53, 53, + 53, 53, 53, 53, 53, 53, 53, 53, 53, 53, 53, 53, 53, 53, 53, 53, + 53, 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 53, + 53, 53, 53, 53, 53, 53, 53, 53, 53, 53, 14, 15, 16, 17, 18, 19, + 20, 21, 53, 53, 53, 53, 53, 53, 53, 53, 22, 23, 24, 25, 26, 27, + 28, 53, 53, 53, 53, 53, 53, 53, 53, 53, 53, 53, 29, 30, 31, 32, + 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 53, 53, 53, 53, 53, + 53, 53, 44, 45, 46, 47, 48, 49, 50, 51, 53, 53, 53, 53, 52, 53, +}; +static const struct byte_lookup* const +from_EUC_JP_A2_infos[54] = { + o3(0xE2,0x97,0x86), o3(0xE2,0x96,0xA1), + o3(0xE2,0x96,0xA0), o3(0xE2,0x96,0xB3), + o3(0xE2,0x96,0xB2), o3(0xE2,0x96,0xBD), + o3(0xE2,0x96,0xBC), o3(0xE2,0x80,0xBB), + o3(0xE3,0x80,0x92), o3(0xE2,0x86,0x92), + o3(0xE2,0x86,0x90), o3(0xE2,0x86,0x91), + o3(0xE2,0x86,0x93), o3(0xE3,0x80,0x93), + o3(0xE2,0x88,0x88), o3(0xE2,0x88,0x8B), + o3(0xE2,0x8A,0x86), o3(0xE2,0x8A,0x87), + o3(0xE2,0x8A,0x82), o3(0xE2,0x8A,0x83), + o3(0xE2,0x88,0xAA), o3(0xE2,0x88,0xA9), + o3(0xE2,0x88,0xA7), o3(0xE2,0x88,0xA8), + o3(0xEF,0xBF,0xA2), o3(0xE2,0x87,0x92), + o3(0xE2,0x87,0x94), o3(0xE2,0x88,0x80), + o3(0xE2,0x88,0x83), o3(0xE2,0x88,0xA0), + o3(0xE2,0x8A,0xA5), o3(0xE2,0x8C,0x92), + o3(0xE2,0x88,0x82), o3(0xE2,0x88,0x87), + o3(0xE2,0x89,0xA1), o3(0xE2,0x89,0x92), + o3(0xE2,0x89,0xAA), o3(0xE2,0x89,0xAB), + o3(0xE2,0x88,0x9A), o3(0xE2,0x88,0xBD), + o3(0xE2,0x88,0x9D), o3(0xE2,0x88,0xB5), + o3(0xE2,0x88,0xAB), o3(0xE2,0x88,0xAC), + o3(0xE2,0x84,0xAB), o3(0xE2,0x80,0xB0), + o3(0xE2,0x99,0xAF), o3(0xE2,0x99,0xAD), + o3(0xE2,0x99,0xAA), o3(0xE2,0x80,0xA0), + o3(0xE2,0x80,0xA1), o2(0xC2,0xB6), + o3(0xE2,0x97,0xAF), UNDEF, +}; +static const BYTE_LOOKUP +from_EUC_JP_A2 = { + from_EUC_JP_A2_offsets, + from_EUC_JP_A2_infos +}; + +static const unsigned char +from_EUC_JP_A3_offsets[256] = { + 62, 62, 62, 62, 62, 62, 62, 62, 62, 62, 62, 62, 62, 62, 62, 62, + 62, 62, 62, 62, 62, 62, 62, 62, 62, 62, 62, 62, 62, 62, 62, 62, + 62, 62, 62, 62, 62, 62, 62, 62, 62, 62, 62, 62, 62, 62, 62, 62, + 62, 62, 62, 62, 62, 62, 62, 62, 62, 62, 62, 62, 62, 62, 62, 62, + 62, 62, 62, 62, 62, 62, 62, 62, 62, 62, 62, 62, 62, 62, 62, 62, + 62, 62, 62, 62, 62, 62, 62, 62, 62, 62, 62, 62, 62, 62, 62, 62, + 62, 62, 62, 62, 62, 62, 62, 62, 62, 62, 62, 62, 62, 62, 62, 62, + 62, 62, 62, 62, 62, 62, 62, 62, 62, 62, 62, 62, 62, 62, 62, 62, + 62, 62, 62, 62, 62, 62, 62, 62, 62, 62, 62, 62, 62, 62, 62, 62, + 62, 62, 62, 62, 62, 62, 62, 62, 62, 62, 62, 62, 62, 62, 62, 62, + 62, 62, 62, 62, 62, 62, 62, 62, 62, 62, 62, 62, 62, 62, 62, 62, + 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 62, 62, 62, 62, 62, 62, + 62, 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, 62, 62, 62, 62, 62, + 62, 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, 62, 62, 62, 62, +}; +static const struct byte_lookup* const +from_EUC_JP_A3_infos[63] = { + o3(0xEF,0xBC,0x90), o3(0xEF,0xBC,0x91), + o3(0xEF,0xBC,0x92), o3(0xEF,0xBC,0x93), + o3(0xEF,0xBC,0x94), o3(0xEF,0xBC,0x95), + o3(0xEF,0xBC,0x96), o3(0xEF,0xBC,0x97), + o3(0xEF,0xBC,0x98), o3(0xEF,0xBC,0x99), + o3(0xEF,0xBC,0xA1), o3(0xEF,0xBC,0xA2), + o3(0xEF,0xBC,0xA3), o3(0xEF,0xBC,0xA4), + o3(0xEF,0xBC,0xA5), o3(0xEF,0xBC,0xA6), + o3(0xEF,0xBC,0xA7), o3(0xEF,0xBC,0xA8), + o3(0xEF,0xBC,0xA9), o3(0xEF,0xBC,0xAA), + o3(0xEF,0xBC,0xAB), o3(0xEF,0xBC,0xAC), + o3(0xEF,0xBC,0xAD), o3(0xEF,0xBC,0xAE), + o3(0xEF,0xBC,0xAF), o3(0xEF,0xBC,0xB0), + o3(0xEF,0xBC,0xB1), o3(0xEF,0xBC,0xB2), + o3(0xEF,0xBC,0xB3), o3(0xEF,0xBC,0xB4), + o3(0xEF,0xBC,0xB5), o3(0xEF,0xBC,0xB6), + o3(0xEF,0xBC,0xB7), o3(0xEF,0xBC,0xB8), + o3(0xEF,0xBC,0xB9), o3(0xEF,0xBC,0xBA), + o3(0xEF,0xBD,0x81), o3(0xEF,0xBD,0x82), + o3(0xEF,0xBD,0x83), o3(0xEF,0xBD,0x84), + o3(0xEF,0xBD,0x85), o3(0xEF,0xBD,0x86), + o3(0xEF,0xBD,0x87), o3(0xEF,0xBD,0x88), + o3(0xEF,0xBD,0x89), o3(0xEF,0xBD,0x8A), + o3(0xEF,0xBD,0x8B), o3(0xEF,0xBD,0x8C), + o3(0xEF,0xBD,0x8D), o3(0xEF,0xBD,0x8E), + o3(0xEF,0xBD,0x8F), o3(0xEF,0xBD,0x90), + o3(0xEF,0xBD,0x91), o3(0xEF,0xBD,0x92), + o3(0xEF,0xBD,0x93), o3(0xEF,0xBD,0x94), + o3(0xEF,0xBD,0x95), o3(0xEF,0xBD,0x96), + o3(0xEF,0xBD,0x97), o3(0xEF,0xBD,0x98), + o3(0xEF,0xBD,0x99), o3(0xEF,0xBD,0x9A), + UNDEF, +}; +static const BYTE_LOOKUP +from_EUC_JP_A3 = { + from_EUC_JP_A3_offsets, + from_EUC_JP_A3_infos +}; + +static const unsigned char +from_EUC_JP_A4_offsets[256] = { + 83, 83, 83, 83, 83, 83, 83, 83, 83, 83, 83, 83, 83, 83, 83, 83, + 83, 83, 83, 83, 83, 83, 83, 83, 83, 83, 83, 83, 83, 83, 83, 83, + 83, 83, 83, 83, 83, 83, 83, 83, 83, 83, 83, 83, 83, 83, 83, 83, + 83, 83, 83, 83, 83, 83, 83, 83, 83, 83, 83, 83, 83, 83, 83, 83, + 83, 83, 83, 83, 83, 83, 83, 83, 83, 83, 83, 83, 83, 83, 83, 83, + 83, 83, 83, 83, 83, 83, 83, 83, 83, 83, 83, 83, 83, 83, 83, 83, + 83, 83, 83, 83, 83, 83, 83, 83, 83, 83, 83, 83, 83, 83, 83, 83, + 83, 83, 83, 83, 83, 83, 83, 83, 83, 83, 83, 83, 83, 83, 83, 83, + 83, 83, 83, 83, 83, 83, 83, 83, 83, 83, 83, 83, 83, 83, 83, 83, + 83, 83, 83, 83, 83, 83, 83, 83, 83, 83, 83, 83, 83, 83, 83, 83, + 83, 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, 83, 83, 83, 83, 83, 83, 83, 83, 83, 83, 83, +}; +static const struct byte_lookup* const +from_EUC_JP_A4_infos[84] = { + o3(0xE3,0x81,0x81), o3(0xE3,0x81,0x82), + o3(0xE3,0x81,0x83), o3(0xE3,0x81,0x84), + o3(0xE3,0x81,0x85), o3(0xE3,0x81,0x86), + o3(0xE3,0x81,0x87), o3(0xE3,0x81,0x88), + o3(0xE3,0x81,0x89), o3(0xE3,0x81,0x8A), + o3(0xE3,0x81,0x8B), o3(0xE3,0x81,0x8C), + o3(0xE3,0x81,0x8D), o3(0xE3,0x81,0x8E), + o3(0xE3,0x81,0x8F), o3(0xE3,0x81,0x90), + o3(0xE3,0x81,0x91), o3(0xE3,0x81,0x92), + o3(0xE3,0x81,0x93), o3(0xE3,0x81,0x94), + o3(0xE3,0x81,0x95), o3(0xE3,0x81,0x96), + o3(0xE3,0x81,0x97), o3(0xE3,0x81,0x98), + o3(0xE3,0x81,0x99), o3(0xE3,0x81,0x9A), + o3(0xE3,0x81,0x9B), o3(0xE3,0x81,0x9C), + o3(0xE3,0x81,0x9D), o3(0xE3,0x81,0x9E), + o3(0xE3,0x81,0x9F), o3(0xE3,0x81,0xA0), + o3(0xE3,0x81,0xA1), o3(0xE3,0x81,0xA2), + o3(0xE3,0x81,0xA3), o3(0xE3,0x81,0xA4), + o3(0xE3,0x81,0xA5), o3(0xE3,0x81,0xA6), + o3(0xE3,0x81,0xA7), o3(0xE3,0x81,0xA8), + o3(0xE3,0x81,0xA9), o3(0xE3,0x81,0xAA), + o3(0xE3,0x81,0xAB), o3(0xE3,0x81,0xAC), + o3(0xE3,0x81,0xAD), o3(0xE3,0x81,0xAE), + o3(0xE3,0x81,0xAF), o3(0xE3,0x81,0xB0), + o3(0xE3,0x81,0xB1), o3(0xE3,0x81,0xB2), + o3(0xE3,0x81,0xB3), o3(0xE3,0x81,0xB4), + o3(0xE3,0x81,0xB5), o3(0xE3,0x81,0xB6), + o3(0xE3,0x81,0xB7), o3(0xE3,0x81,0xB8), + o3(0xE3,0x81,0xB9), o3(0xE3,0x81,0xBA), + o3(0xE3,0x81,0xBB), o3(0xE3,0x81,0xBC), + o3(0xE3,0x81,0xBD), o3(0xE3,0x81,0xBE), + o3(0xE3,0x81,0xBF), o3(0xE3,0x82,0x80), + o3(0xE3,0x82,0x81), o3(0xE3,0x82,0x82), + o3(0xE3,0x82,0x83), o3(0xE3,0x82,0x84), + o3(0xE3,0x82,0x85), o3(0xE3,0x82,0x86), + o3(0xE3,0x82,0x87), o3(0xE3,0x82,0x88), + o3(0xE3,0x82,0x89), o3(0xE3,0x82,0x8A), + o3(0xE3,0x82,0x8B), o3(0xE3,0x82,0x8C), + o3(0xE3,0x82,0x8D), o3(0xE3,0x82,0x8E), + o3(0xE3,0x82,0x8F), o3(0xE3,0x82,0x90), + o3(0xE3,0x82,0x91), o3(0xE3,0x82,0x92), + o3(0xE3,0x82,0x93), UNDEF, +}; +static const BYTE_LOOKUP +from_EUC_JP_A4 = { + from_EUC_JP_A4_offsets, + from_EUC_JP_A4_infos +}; + +static const unsigned char +from_EUC_JP_A5_offsets[256] = { + 86, 86, 86, 86, 86, 86, 86, 86, 86, 86, 86, 86, 86, 86, 86, 86, + 86, 86, 86, 86, 86, 86, 86, 86, 86, 86, 86, 86, 86, 86, 86, 86, + 86, 86, 86, 86, 86, 86, 86, 86, 86, 86, 86, 86, 86, 86, 86, 86, + 86, 86, 86, 86, 86, 86, 86, 86, 86, 86, 86, 86, 86, 86, 86, 86, + 86, 86, 86, 86, 86, 86, 86, 86, 86, 86, 86, 86, 86, 86, 86, 86, + 86, 86, 86, 86, 86, 86, 86, 86, 86, 86, 86, 86, 86, 86, 86, 86, + 86, 86, 86, 86, 86, 86, 86, 86, 86, 86, 86, 86, 86, 86, 86, 86, + 86, 86, 86, 86, 86, 86, 86, 86, 86, 86, 86, 86, 86, 86, 86, 86, + 86, 86, 86, 86, 86, 86, 86, 86, 86, 86, 86, 86, 86, 86, 86, 86, + 86, 86, 86, 86, 86, 86, 86, 86, 86, 86, 86, 86, 86, 86, 86, 86, + 86, 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, 86, 86, 86, 86, 86, 86, 86, 86, +}; +static const struct byte_lookup* const +from_EUC_JP_A5_infos[87] = { + o3(0xE3,0x82,0xA1), o3(0xE3,0x82,0xA2), + o3(0xE3,0x82,0xA3), o3(0xE3,0x82,0xA4), + o3(0xE3,0x82,0xA5), o3(0xE3,0x82,0xA6), + o3(0xE3,0x82,0xA7), o3(0xE3,0x82,0xA8), + o3(0xE3,0x82,0xA9), o3(0xE3,0x82,0xAA), + o3(0xE3,0x82,0xAB), o3(0xE3,0x82,0xAC), + o3(0xE3,0x82,0xAD), o3(0xE3,0x82,0xAE), + o3(0xE3,0x82,0xAF), o3(0xE3,0x82,0xB0), + o3(0xE3,0x82,0xB1), o3(0xE3,0x82,0xB2), + o3(0xE3,0x82,0xB3), o3(0xE3,0x82,0xB4), + o3(0xE3,0x82,0xB5), o3(0xE3,0x82,0xB6), + o3(0xE3,0x82,0xB7), o3(0xE3,0x82,0xB8), + o3(0xE3,0x82,0xB9), o3(0xE3,0x82,0xBA), + o3(0xE3,0x82,0xBB), o3(0xE3,0x82,0xBC), + o3(0xE3,0x82,0xBD), o3(0xE3,0x82,0xBE), + o3(0xE3,0x82,0xBF), o3(0xE3,0x83,0x80), + o3(0xE3,0x83,0x81), o3(0xE3,0x83,0x82), + o3(0xE3,0x83,0x83), o3(0xE3,0x83,0x84), + o3(0xE3,0x83,0x85), o3(0xE3,0x83,0x86), + o3(0xE3,0x83,0x87), o3(0xE3,0x83,0x88), + o3(0xE3,0x83,0x89), o3(0xE3,0x83,0x8A), + o3(0xE3,0x83,0x8B), o3(0xE3,0x83,0x8C), + o3(0xE3,0x83,0x8D), o3(0xE3,0x83,0x8E), + o3(0xE3,0x83,0x8F), o3(0xE3,0x83,0x90), + o3(0xE3,0x83,0x91), o3(0xE3,0x83,0x92), + o3(0xE3,0x83,0x93), o3(0xE3,0x83,0x94), + o3(0xE3,0x83,0x95), o3(0xE3,0x83,0x96), + o3(0xE3,0x83,0x97), o3(0xE3,0x83,0x98), + o3(0xE3,0x83,0x99), o3(0xE3,0x83,0x9A), + o3(0xE3,0x83,0x9B), o3(0xE3,0x83,0x9C), + o3(0xE3,0x83,0x9D), o3(0xE3,0x83,0x9E), + o3(0xE3,0x83,0x9F), o3(0xE3,0x83,0xA0), + o3(0xE3,0x83,0xA1), o3(0xE3,0x83,0xA2), + o3(0xE3,0x83,0xA3), o3(0xE3,0x83,0xA4), + o3(0xE3,0x83,0xA5), o3(0xE3,0x83,0xA6), + o3(0xE3,0x83,0xA7), o3(0xE3,0x83,0xA8), + o3(0xE3,0x83,0xA9), o3(0xE3,0x83,0xAA), + o3(0xE3,0x83,0xAB), o3(0xE3,0x83,0xAC), + o3(0xE3,0x83,0xAD), o3(0xE3,0x83,0xAE), + o3(0xE3,0x83,0xAF), o3(0xE3,0x83,0xB0), + o3(0xE3,0x83,0xB1), o3(0xE3,0x83,0xB2), + o3(0xE3,0x83,0xB3), o3(0xE3,0x83,0xB4), + o3(0xE3,0x83,0xB5), o3(0xE3,0x83,0xB6), + UNDEF, +}; +static const BYTE_LOOKUP +from_EUC_JP_A5 = { + from_EUC_JP_A5_offsets, + from_EUC_JP_A5_infos +}; + +static const unsigned char +from_EUC_JP_A6_offsets[256] = { + 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, + 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, + 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, + 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, + 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, + 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, + 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, + 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, + 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, + 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, + 48, 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, + 15, 16, 17, 18, 19, 20, 21, 22, 23, 48, 48, 48, 48, 48, 48, 48, + 48, 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, 48, 48, 48, 48, 48, 48, + 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, + 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, +}; +static const struct byte_lookup* const +from_EUC_JP_A6_infos[49] = { + 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,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,0x83), o2(0xCF,0x84), o2(0xCF,0x85), + o2(0xCF,0x86), o2(0xCF,0x87), o2(0xCF,0x88), o2(0xCF,0x89), + UNDEF, +}; +static const BYTE_LOOKUP +from_EUC_JP_A6 = { + from_EUC_JP_A6_offsets, + from_EUC_JP_A6_infos +}; + +static const unsigned char +from_EUC_JP_A7_offsets[256] = { + 66, 66, 66, 66, 66, 66, 66, 66, 66, 66, 66, 66, 66, 66, 66, 66, + 66, 66, 66, 66, 66, 66, 66, 66, 66, 66, 66, 66, 66, 66, 66, 66, + 66, 66, 66, 66, 66, 66, 66, 66, 66, 66, 66, 66, 66, 66, 66, 66, + 66, 66, 66, 66, 66, 66, 66, 66, 66, 66, 66, 66, 66, 66, 66, 66, + 66, 66, 66, 66, 66, 66, 66, 66, 66, 66, 66, 66, 66, 66, 66, 66, + 66, 66, 66, 66, 66, 66, 66, 66, 66, 66, 66, 66, 66, 66, 66, 66, + 66, 66, 66, 66, 66, 66, 66, 66, 66, 66, 66, 66, 66, 66, 66, 66, + 66, 66, 66, 66, 66, 66, 66, 66, 66, 66, 66, 66, 66, 66, 66, 66, + 66, 66, 66, 66, 66, 66, 66, 66, 66, 66, 66, 66, 66, 66, 66, 66, + 66, 66, 66, 66, 66, 66, 66, 66, 66, 66, 66, 66, 66, 66, 66, 66, + 66, 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, 66, 66, 66, 66, 66, 66, 66, 66, 66, 66, 66, 66, 66, 66, + 66, 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, 66, 66, 66, 66, 66, 66, 66, 66, 66, 66, 66, 66, 66, +}; +static const struct byte_lookup* const +from_EUC_JP_A7_infos[67] = { + o2(0xD0,0x90), o2(0xD0,0x91), o2(0xD0,0x92), o2(0xD0,0x93), + o2(0xD0,0x94), o2(0xD0,0x95), o2(0xD0,0x81), 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(0xD1,0x91), + 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), UNDEF, +}; +static const BYTE_LOOKUP +from_EUC_JP_A7 = { + from_EUC_JP_A7_offsets, + from_EUC_JP_A7_infos +}; + +static const unsigned char +from_EUC_JP_A8_offsets[256] = { + 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, + 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, + 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, + 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, + 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, + 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, + 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, + 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, + 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, + 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, + 32, 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, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, + 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, + 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, + 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, +}; +static const struct byte_lookup* const +from_EUC_JP_A8_infos[33] = { + o3(0xE2,0x94,0x80), o3(0xE2,0x94,0x82), + o3(0xE2,0x94,0x8C), o3(0xE2,0x94,0x90), + o3(0xE2,0x94,0x98), o3(0xE2,0x94,0x94), + o3(0xE2,0x94,0x9C), o3(0xE2,0x94,0xAC), + o3(0xE2,0x94,0xA4), o3(0xE2,0x94,0xB4), + o3(0xE2,0x94,0xBC), o3(0xE2,0x94,0x81), + o3(0xE2,0x94,0x83), o3(0xE2,0x94,0x8F), + o3(0xE2,0x94,0x93), o3(0xE2,0x94,0x9B), + o3(0xE2,0x94,0x97), o3(0xE2,0x94,0xA3), + o3(0xE2,0x94,0xB3), o3(0xE2,0x94,0xAB), + o3(0xE2,0x94,0xBB), o3(0xE2,0x95,0x8B), + o3(0xE2,0x94,0xA0), o3(0xE2,0x94,0xAF), + o3(0xE2,0x94,0xA8), o3(0xE2,0x94,0xB7), + o3(0xE2,0x94,0xBF), o3(0xE2,0x94,0x9D), + o3(0xE2,0x94,0xB0), o3(0xE2,0x94,0xA5), + o3(0xE2,0x94,0xB8), o3(0xE2,0x95,0x82), + UNDEF, +}; +static const BYTE_LOOKUP +from_EUC_JP_A8 = { + from_EUC_JP_A8_offsets, + from_EUC_JP_A8_infos +}; + +static const unsigned char +from_EUC_JP_AD_offsets[256] = { + 83, 83, 83, 83, 83, 83, 83, 83, 83, 83, 83, 83, 83, 83, 83, 83, + 83, 83, 83, 83, 83, 83, 83, 83, 83, 83, 83, 83, 83, 83, 83, 83, + 83, 83, 83, 83, 83, 83, 83, 83, 83, 83, 83, 83, 83, 83, 83, 83, + 83, 83, 83, 83, 83, 83, 83, 83, 83, 83, 83, 83, 83, 83, 83, 83, + 83, 83, 83, 83, 83, 83, 83, 83, 83, 83, 83, 83, 83, 83, 83, 83, + 83, 83, 83, 83, 83, 83, 83, 83, 83, 83, 83, 83, 83, 83, 83, 83, + 83, 83, 83, 83, 83, 83, 83, 83, 83, 83, 83, 83, 83, 83, 83, 83, + 83, 83, 83, 83, 83, 83, 83, 83, 83, 83, 83, 83, 83, 83, 83, 83, + 83, 83, 83, 83, 83, 83, 83, 83, 83, 83, 83, 83, 83, 83, 83, 83, + 83, 83, 83, 83, 83, 83, 83, 83, 83, 83, 83, 83, 83, 83, 83, 83, + 83, 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, 83, + 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, + 46, 47, 48, 49, 50, 51, 52, 83, 83, 83, 83, 83, 83, 83, 83, 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, 83, 83, +}; +static const BYTE_LOOKUP +from_EUC_JP_AD = { + from_EUC_JP_AD_offsets, + from_SHIFT_JIS_87_infos +}; + +static const BYTE_LOOKUP +from_EUC_JP_B0 = { + from_EUC_JP_A1_offsets, + from_SHIFT_JIS_88_infos +}; + +static const struct byte_lookup* const +from_EUC_JP_B1_infos[95] = { + o3(0xE9,0x99,0xA2), o3(0xE9,0x99,0xB0), + o3(0xE9,0x9A,0xA0), o3(0xE9,0x9F,0xBB), + o3(0xE5,0x90,0x8B), o3(0xE5,0x8F,0xB3), + o3(0xE5,0xAE,0x87), o3(0xE7,0x83,0x8F), + o3(0xE7,0xBE,0xBD), o3(0xE8,0xBF,0x82), + o3(0xE9,0x9B,0xA8), o3(0xE5,0x8D,0xAF), + o3(0xE9,0xB5,0x9C), o3(0xE7,0xAA,0xBA), + o3(0xE4,0xB8,0x91), o3(0xE7,0xA2,0x93), + o3(0xE8,0x87,0xBC), o3(0xE6,0xB8,0xA6), + o3(0xE5,0x98,0x98), o3(0xE5,0x94,0x84), + o3(0xE6,0xAC,0x9D), o3(0xE8,0x94,0x9A), + o3(0xE9,0xB0,0xBB), o3(0xE5,0xA7,0xA5), + o3(0xE5,0x8E,0xA9), o3(0xE6,0xB5,0xA6), + o3(0xE7,0x93,0x9C), o3(0xE9,0x96,0x8F), + o3(0xE5,0x99,0x82), o3(0xE4,0xBA,0x91), + o3(0xE9,0x81,0x8B), o3(0xE9,0x9B,0xB2), + o3(0xE8,0x8D,0x8F), o3(0xE9,0xA4,0x8C), + o3(0xE5,0x8F,0xA1), o3(0xE5,0x96,0xB6), + o3(0xE5,0xAC,0xB0), o3(0xE5,0xBD,0xB1), + o3(0xE6,0x98,0xA0), o3(0xE6,0x9B,0xB3), + o3(0xE6,0xA0,0x84), o3(0xE6,0xB0,0xB8), + o3(0xE6,0xB3,0xB3), o3(0xE6,0xB4,0xA9), + o3(0xE7,0x91,0x9B), o3(0xE7,0x9B,0x88), + o3(0xE7,0xA9,0x8E), o3(0xE9,0xA0,0xB4), + o3(0xE8,0x8B,0xB1), o3(0xE8,0xA1,0x9B), + o3(0xE8,0xA9,0xA0), o3(0xE9,0x8B,0xAD), + o3(0xE6,0xB6,0xB2), o3(0xE7,0x96,0xAB), + o3(0xE7,0x9B,0x8A), o3(0xE9,0xA7,0x85), + o3(0xE6,0x82,0xA6), o3(0xE8,0xAC,0x81), + o3(0xE8,0xB6,0x8A), o3(0xE9,0x96,0xB2), + o3(0xE6,0xA6,0x8E), o3(0xE5,0x8E,0xAD), + o3(0xE5,0x86,0x86), o3(0xE5,0x9C,0x92), + o3(0xE5,0xA0,0xB0), o3(0xE5,0xA5,0x84), + o3(0xE5,0xAE,0xB4), o3(0xE5,0xBB,0xB6), + o3(0xE6,0x80,0xA8), o3(0xE6,0x8E,0xA9), + o3(0xE6,0x8F,0xB4), o3(0xE6,0xB2,0xBF), + o3(0xE6,0xBC,0x94), o3(0xE7,0x82,0x8E), + o3(0xE7,0x84,0x94), o3(0xE7,0x85,0x99), + o3(0xE7,0x87,0x95), o3(0xE7,0x8C,0xBF), + o3(0xE7,0xB8,0x81), o3(0xE8,0x89,0xB6), + o3(0xE8,0x8B,0x91), o3(0xE8,0x96,0x97), + o3(0xE9,0x81,0xA0), o3(0xE9,0x89,0x9B), + o3(0xE9,0xB4,0x9B), o3(0xE5,0xA1,0xA9), + o3(0xE6,0x96,0xBC), o3(0xE6,0xB1,0x9A), + o3(0xE7,0x94,0xA5), o3(0xE5,0x87,0xB9), + o3(0xE5,0xA4,0xAE), o3(0xE5,0xA5,0xA5), + o3(0xE5,0xBE,0x80), o3(0xE5,0xBF,0x9C), + UNDEF, +}; +static const BYTE_LOOKUP +from_EUC_JP_B1 = { + from_EUC_JP_A1_offsets, + from_EUC_JP_B1_infos +}; + +static const struct byte_lookup* const +from_EUC_JP_B2_infos[95] = { + o3(0xE6,0x8A,0xBC), o3(0xE6,0x97,0xBA), + o3(0xE6,0xA8,0xAA), o3(0xE6,0xAC,0xA7), + o3(0xE6,0xAE,0xB4), o3(0xE7,0x8E,0x8B), + o3(0xE7,0xBF,0x81), o3(0xE8,0xA5,0x96), + o3(0xE9,0xB4,0xAC), o3(0xE9,0xB4,0x8E), + o3(0xE9,0xBB,0x84), o3(0xE5,0xB2,0xA1), + o3(0xE6,0xB2,0x96), o3(0xE8,0x8D,0xBB), + o3(0xE5,0x84,0x84), o3(0xE5,0xB1,0x8B), + o3(0xE6,0x86,0xB6), o3(0xE8,0x87,0x86), + o3(0xE6,0xA1,0xB6), o3(0xE7,0x89,0xA1), + o3(0xE4,0xB9,0x99), o3(0xE4,0xBF,0xBA), + o3(0xE5,0x8D,0xB8), o3(0xE6,0x81,0xA9), + o3(0xE6,0xB8,0xA9), o3(0xE7,0xA9,0x8F), + o3(0xE9,0x9F,0xB3), o3(0xE4,0xB8,0x8B), + o3(0xE5,0x8C,0x96), o3(0xE4,0xBB,0xAE), + o3(0xE4,0xBD,0x95), o3(0xE4,0xBC,0xBD), + o3(0xE4,0xBE,0xA1), o3(0xE4,0xBD,0xB3), + o3(0xE5,0x8A,0xA0), o3(0xE5,0x8F,0xAF), + o3(0xE5,0x98,0x89), o3(0xE5,0xA4,0x8F), + o3(0xE5,0xAB,0x81), o3(0xE5,0xAE,0xB6), + o3(0xE5,0xAF,0xA1), o3(0xE7,0xA7,0x91), + o3(0xE6,0x9A,0x87), o3(0xE6,0x9E,0x9C), + o3(0xE6,0x9E,0xB6), o3(0xE6,0xAD,0x8C), + o3(0xE6,0xB2,0xB3), o3(0xE7,0x81,0xAB), + o3(0xE7,0x8F,0x82), o3(0xE7,0xA6,0x8D), + o3(0xE7,0xA6,0xBE), o3(0xE7,0xA8,0xBC), + o3(0xE7,0xAE,0x87), o3(0xE8,0x8A,0xB1), + o3(0xE8,0x8B,0x9B), o3(0xE8,0x8C,0x84), + o3(0xE8,0x8D,0xB7), o3(0xE8,0x8F,0xAF), + o3(0xE8,0x8F,0x93), o3(0xE8,0x9D,0xA6), + o3(0xE8,0xAA,0xB2), o3(0xE5,0x98,0xA9), + o3(0xE8,0xB2,0xA8), o3(0xE8,0xBF,0xA6), + o3(0xE9,0x81,0x8E), o3(0xE9,0x9C,0x9E), + o3(0xE8,0x9A,0x8A), o3(0xE4,0xBF,0x84), + o3(0xE5,0xB3,0xA8), o3(0xE6,0x88,0x91), + o3(0xE7,0x89,0x99), o3(0xE7,0x94,0xBB), + o3(0xE8,0x87,0xA5), o3(0xE8,0x8A,0xBD), + o3(0xE8,0x9B,0xBE), o3(0xE8,0xB3,0x80), + o3(0xE9,0x9B,0x85), o3(0xE9,0xA4,0x93), + o3(0xE9,0xA7,0x95), o3(0xE4,0xBB,0x8B), + o3(0xE4,0xBC,0x9A), o3(0xE8,0xA7,0xA3), + o3(0xE5,0x9B,0x9E), o3(0xE5,0xA1,0x8A), + o3(0xE5,0xA3,0x8A), o3(0xE5,0xBB,0xBB), + o3(0xE5,0xBF,0xAB), o3(0xE6,0x80,0xAA), + o3(0xE6,0x82,0x94), o3(0xE6,0x81,0xA2), + o3(0xE6,0x87,0x90), o3(0xE6,0x88,0x92), + o3(0xE6,0x8B,0x90), o3(0xE6,0x94,0xB9), + UNDEF, +}; +static const BYTE_LOOKUP +from_EUC_JP_B2 = { + from_EUC_JP_A1_offsets, + from_EUC_JP_B2_infos +}; + +static const struct byte_lookup* const +from_EUC_JP_B3_infos[95] = { + o3(0xE9,0xAD,0x81), o3(0xE6,0x99,0xA6), + o3(0xE6,0xA2,0xB0), o3(0xE6,0xB5,0xB7), + o3(0xE7,0x81,0xB0), o3(0xE7,0x95,0x8C), + o3(0xE7,0x9A,0x86), o3(0xE7,0xB5,0xB5), + o3(0xE8,0x8A,0xA5), o3(0xE8,0x9F,0xB9), + o3(0xE9,0x96,0x8B), o3(0xE9,0x9A,0x8E), + o3(0xE8,0xB2,0x9D), o3(0xE5,0x87,0xB1), + o3(0xE5,0x8A,0xBE), o3(0xE5,0xA4,0x96), + o3(0xE5,0x92,0xB3), o3(0xE5,0xAE,0xB3), + o3(0xE5,0xB4,0x96), o3(0xE6,0x85,0xA8), + o3(0xE6,0xA6,0x82), o3(0xE6,0xB6,0xAF), + o3(0xE7,0xA2,0x8D), o3(0xE8,0x93,0x8B), + o3(0xE8,0xA1,0x97), o3(0xE8,0xA9,0xB2), + o3(0xE9,0x8E,0xA7), o3(0xE9,0xAA,0xB8), + o3(0xE6,0xB5,0xAC), o3(0xE9,0xA6,0xA8), + o3(0xE8,0x9B,0x99), o3(0xE5,0x9E,0xA3), + o3(0xE6,0x9F,0xBF), o3(0xE8,0x9B,0x8E), + o3(0xE9,0x88,0x8E), o3(0xE5,0x8A,0x83), + o3(0xE5,0x9A,0x87), o3(0xE5,0x90,0x84), + o3(0xE5,0xBB,0x93), o3(0xE6,0x8B,0xA1), + o3(0xE6,0x92,0xB9), o3(0xE6,0xA0,0xBC), + o3(0xE6,0xA0,0xB8), o3(0xE6,0xAE,0xBB), + o3(0xE7,0x8D,0xB2), o3(0xE7,0xA2,0xBA), + o3(0xE7,0xA9,0xAB), o3(0xE8,0xA6,0x9A), + o3(0xE8,0xA7,0x92), o3(0xE8,0xB5,0xAB), + o3(0xE8,0xBC,0x83), o3(0xE9,0x83,0xAD), + o3(0xE9,0x96,0xA3), o3(0xE9,0x9A,0x94), + o3(0xE9,0x9D,0xA9), o3(0xE5,0xAD,0xA6), + o3(0xE5,0xB2,0xB3), o3(0xE6,0xA5,0xBD), + o3(0xE9,0xA1,0x8D), o3(0xE9,0xA1,0x8E), + o3(0xE6,0x8E,0x9B), o3(0xE7,0xAC,0xA0), + o3(0xE6,0xA8,0xAB), o3(0xE6,0xA9,0xBF), + o3(0xE6,0xA2,0xB6), o3(0xE9,0xB0,0x8D), + o3(0xE6,0xBD,0x9F), o3(0xE5,0x89,0xB2), + o3(0xE5,0x96,0x9D), o3(0xE6,0x81,0xB0), + o3(0xE6,0x8B,0xAC), o3(0xE6,0xB4,0xBB), + o3(0xE6,0xB8,0x87), o3(0xE6,0xBB,0x91), + o3(0xE8,0x91,0x9B), o3(0xE8,0xA4,0x90), + o3(0xE8,0xBD,0x84), o3(0xE4,0xB8,0x94), + o3(0xE9,0xB0,0xB9), o3(0xE5,0x8F,0xB6), + o3(0xE6,0xA4,0x9B), o3(0xE6,0xA8,0xBA), + o3(0xE9,0x9E,0x84), o3(0xE6,0xA0,0xAA), + o3(0xE5,0x85,0x9C), o3(0xE7,0xAB,0x83), + o3(0xE8,0x92,0xB2), o3(0xE9,0x87,0x9C), + o3(0xE9,0x8E,0x8C), o3(0xE5,0x99,0x9B), + o3(0xE9,0xB4,0xA8), o3(0xE6,0xA0,0xA2), + o3(0xE8,0x8C,0x85), o3(0xE8,0x90,0xB1), + UNDEF, +}; +static const BYTE_LOOKUP +from_EUC_JP_B3 = { + from_EUC_JP_A1_offsets, + from_EUC_JP_B3_infos +}; + +static const struct byte_lookup* const +from_EUC_JP_B4_infos[95] = { + o3(0xE7,0xB2,0xA5), o3(0xE5,0x88,0x88), + o3(0xE8,0x8B,0x85), o3(0xE7,0x93,0xA6), + o3(0xE4,0xB9,0xBE), o3(0xE4,0xBE,0x83), + o3(0xE5,0x86,0xA0), o3(0xE5,0xAF,0x92), + o3(0xE5,0x88,0x8A), o3(0xE5,0x8B,0x98), + o3(0xE5,0x8B,0xA7), o3(0xE5,0xB7,0xBB), + o3(0xE5,0x96,0x9A), o3(0xE5,0xA0,0xAA), + o3(0xE5,0xA7,0xA6), o3(0xE5,0xAE,0x8C), + o3(0xE5,0xAE,0x98), o3(0xE5,0xAF,0x9B), + o3(0xE5,0xB9,0xB2), o3(0xE5,0xB9,0xB9), + o3(0xE6,0x82,0xA3), o3(0xE6,0x84,0x9F), + o3(0xE6,0x85,0xA3), o3(0xE6,0x86,0xBE), + o3(0xE6,0x8F,0x9B), o3(0xE6,0x95,0xA2), + o3(0xE6,0x9F,0x91), o3(0xE6,0xA1,0x93), + o3(0xE6,0xA3,0xBA), o3(0xE6,0xAC,0xBE), + o3(0xE6,0xAD,0x93), o3(0xE6,0xB1,0x97), + o3(0xE6,0xBC,0xA2), o3(0xE6,0xBE,0x97), + o3(0xE6,0xBD,0x85), o3(0xE7,0x92,0xB0), + o3(0xE7,0x94,0x98), o3(0xE7,0x9B,0xA3), + o3(0xE7,0x9C,0x8B), o3(0xE7,0xAB,0xBF), + o3(0xE7,0xAE,0xA1), o3(0xE7,0xB0,0xA1), + o3(0xE7,0xB7,0xA9), o3(0xE7,0xBC,0xB6), + o3(0xE7,0xBF,0xB0), o3(0xE8,0x82,0x9D), + o3(0xE8,0x89,0xA6), o3(0xE8,0x8E,0x9E), + o3(0xE8,0xA6,0xB3), o3(0xE8,0xAB,0x8C), + o3(0xE8,0xB2,0xAB), o3(0xE9,0x82,0x84), + o3(0xE9,0x91,0x91), o3(0xE9,0x96,0x93), + o3(0xE9,0x96,0x91), o3(0xE9,0x96,0xA2), + o3(0xE9,0x99,0xA5), o3(0xE9,0x9F,0x93), + o3(0xE9,0xA4,0xA8), o3(0xE8,0x88,0x98), + o3(0xE4,0xB8,0xB8), o3(0xE5,0x90,0xAB), + o3(0xE5,0xB2,0xB8), o3(0xE5,0xB7,0x8C), + o3(0xE7,0x8E,0xA9), o3(0xE7,0x99,0x8C), + o3(0xE7,0x9C,0xBC), o3(0xE5,0xB2,0xA9), + o3(0xE7,0xBF,0xAB), o3(0xE8,0xB4,0x8B), + o3(0xE9,0x9B,0x81), o3(0xE9,0xA0,0x91), + o3(0xE9,0xA1,0x94), o3(0xE9,0xA1,0x98), + o3(0xE4,0xBC,0x81), o3(0xE4,0xBC,0x8E), + o3(0xE5,0x8D,0xB1), o3(0xE5,0x96,0x9C), + o3(0xE5,0x99,0xA8), o3(0xE5,0x9F,0xBA), + o3(0xE5,0xA5,0x87), o3(0xE5,0xAC,0x89), + o3(0xE5,0xAF,0x84), o3(0xE5,0xB2,0x90), + o3(0xE5,0xB8,0x8C), o3(0xE5,0xB9,0xBE), + o3(0xE5,0xBF,0x8C), o3(0xE6,0x8F,0xAE), + o3(0xE6,0x9C,0xBA), o3(0xE6,0x97,0x97), + o3(0xE6,0x97,0xA2), o3(0xE6,0x9C,0x9F), + o3(0xE6,0xA3,0x8B), o3(0xE6,0xA3,0x84), + UNDEF, +}; +static const BYTE_LOOKUP +from_EUC_JP_B4 = { + from_EUC_JP_A1_offsets, + from_EUC_JP_B4_infos +}; + +static const struct byte_lookup* const +from_EUC_JP_B5_infos[95] = { + o3(0xE6,0xA9,0x9F), o3(0xE5,0xB8,0xB0), + o3(0xE6,0xAF,0x85), o3(0xE6,0xB0,0x97), + o3(0xE6,0xB1,0xBD), o3(0xE7,0x95,0xBF), + o3(0xE7,0xA5,0x88), o3(0xE5,0xAD,0xA3), + o3(0xE7,0xA8,0x80), o3(0xE7,0xB4,0x80), + o3(0xE5,0xBE,0xBD), o3(0xE8,0xA6,0x8F), + o3(0xE8,0xA8,0x98), o3(0xE8,0xB2,0xB4), + o3(0xE8,0xB5,0xB7), o3(0xE8,0xBB,0x8C), + o3(0xE8,0xBC,0x9D), o3(0xE9,0xA3,0xA2), + o3(0xE9,0xA8,0x8E), o3(0xE9,0xAC,0xBC), + o3(0xE4,0xBA,0x80), o3(0xE5,0x81,0xBD), + o3(0xE5,0x84,0x80), o3(0xE5,0xA6,0x93), + o3(0xE5,0xAE,0x9C), o3(0xE6,0x88,0xAF), + o3(0xE6,0x8A,0x80), o3(0xE6,0x93,0xAC), + o3(0xE6,0xAC,0xBA), o3(0xE7,0x8A,0xA0), + o3(0xE7,0x96,0x91), o3(0xE7,0xA5,0x87), + o3(0xE7,0xBE,0xA9), o3(0xE8,0x9F,0xBB), + o3(0xE8,0xAA,0xBC), o3(0xE8,0xAD,0xB0), + o3(0xE6,0x8E,0xAC), o3(0xE8,0x8F,0x8A), + o3(0xE9,0x9E,0xA0), o3(0xE5,0x90,0x89), + o3(0xE5,0x90,0x83), o3(0xE5,0x96,0xAB), + o3(0xE6,0xA1,0x94), o3(0xE6,0xA9,0x98), + o3(0xE8,0xA9,0xB0), o3(0xE7,0xA0,0xA7), + o3(0xE6,0x9D,0xB5), o3(0xE9,0xBB,0x8D), + o3(0xE5,0x8D,0xB4), o3(0xE5,0xAE,0xA2), + o3(0xE8,0x84,0x9A), o3(0xE8,0x99,0x90), + o3(0xE9,0x80,0x86), o3(0xE4,0xB8,0x98), + o3(0xE4,0xB9,0x85), o3(0xE4,0xBB,0x87), + o3(0xE4,0xBC,0x91), o3(0xE5,0x8F,0x8A), + o3(0xE5,0x90,0xB8), o3(0xE5,0xAE,0xAE), + o3(0xE5,0xBC,0x93), o3(0xE6,0x80,0xA5), + o3(0xE6,0x95,0x91), o3(0xE6,0x9C,0xBD), + o3(0xE6,0xB1,0x82), o3(0xE6,0xB1,0xB2), + o3(0xE6,0xB3,0xA3), o3(0xE7,0x81,0xB8), + o3(0xE7,0x90,0x83), o3(0xE7,0xA9,0xB6), + o3(0xE7,0xAA,0xAE), o3(0xE7,0xAC,0x88), + o3(0xE7,0xB4,0x9A), o3(0xE7,0xB3,0xBE), + o3(0xE7,0xB5,0xA6), o3(0xE6,0x97,0xA7), + o3(0xE7,0x89,0x9B), o3(0xE5,0x8E,0xBB), + o3(0xE5,0xB1,0x85), o3(0xE5,0xB7,0xA8), + o3(0xE6,0x8B,0x92), o3(0xE6,0x8B,0xA0), + o3(0xE6,0x8C,0x99), o3(0xE6,0xB8,0xA0), + o3(0xE8,0x99,0x9A), o3(0xE8,0xA8,0xB1), + o3(0xE8,0xB7,0x9D), o3(0xE9,0x8B,0xB8), + o3(0xE6,0xBC,0x81), o3(0xE7,0xA6,0xA6), + o3(0xE9,0xAD,0x9A), o3(0xE4,0xBA,0xA8), + o3(0xE4,0xBA,0xAB), o3(0xE4,0xBA,0xAC), + UNDEF, +}; +static const BYTE_LOOKUP +from_EUC_JP_B5 = { + from_EUC_JP_A1_offsets, + from_EUC_JP_B5_infos +}; + +static const struct byte_lookup* const +from_EUC_JP_B6_infos[95] = { + o3(0xE4,0xBE,0x9B), o3(0xE4,0xBE,0xA0), + o3(0xE5,0x83,0x91), o3(0xE5,0x85,0x87), + o3(0xE7,0xAB,0xB6), o3(0xE5,0x85,0xB1), + o3(0xE5,0x87,0xB6), o3(0xE5,0x8D,0x94), + o3(0xE5,0x8C,0xA1), o3(0xE5,0x8D,0xBF), + o3(0xE5,0x8F,0xAB), o3(0xE5,0x96,0xAC), + o3(0xE5,0xA2,0x83), o3(0xE5,0xB3,0xA1), + o3(0xE5,0xBC,0xB7), o3(0xE5,0xBD,0x8A), + o3(0xE6,0x80,0xAF), o3(0xE6,0x81,0x90), + o3(0xE6,0x81,0xAD), o3(0xE6,0x8C,0x9F), + o3(0xE6,0x95,0x99), o3(0xE6,0xA9,0x8B), + o3(0xE6,0xB3,0x81), o3(0xE7,0x8B,0x82), + o3(0xE7,0x8B,0xAD), o3(0xE7,0x9F,0xAF), + o3(0xE8,0x83,0xB8), o3(0xE8,0x84,0x85), + o3(0xE8,0x88,0x88), o3(0xE8,0x95,0x8E), + o3(0xE9,0x83,0xB7), o3(0xE9,0x8F,0xA1), + o3(0xE9,0x9F,0xBF), o3(0xE9,0xA5,0x97), + o3(0xE9,0xA9,0x9A), o3(0xE4,0xBB,0xB0), + o3(0xE5,0x87,0x9D), o3(0xE5,0xB0,0xAD), + o3(0xE6,0x9A,0x81), o3(0xE6,0xA5,0xAD), + o3(0xE5,0xB1,0x80), o3(0xE6,0x9B,0xB2), + o3(0xE6,0xA5,0xB5), o3(0xE7,0x8E,0x89), + o3(0xE6,0xA1,0x90), o3(0xE7,0xB2,0x81), + o3(0xE5,0x83,0x85), o3(0xE5,0x8B,0xA4), + o3(0xE5,0x9D,0x87), o3(0xE5,0xB7,0xBE), + o3(0xE9,0x8C,0xA6), o3(0xE6,0x96,0xA4), + o3(0xE6,0xAC,0xA3), o3(0xE6,0xAC,0xBD), + o3(0xE7,0x90,0xB4), o3(0xE7,0xA6,0x81), + o3(0xE7,0xA6,0xBD), o3(0xE7,0xAD,0x8B), + o3(0xE7,0xB7,0x8A), o3(0xE8,0x8A,0xB9), + o3(0xE8,0x8F,0x8C), o3(0xE8,0xA1,0xBF), + o3(0xE8,0xA5,0x9F), o3(0xE8,0xAC,0xB9), + o3(0xE8,0xBF,0x91), o3(0xE9,0x87,0x91), + o3(0xE5,0x90,0x9F), o3(0xE9,0x8A,0x80), + o3(0xE4,0xB9,0x9D), o3(0xE5,0x80,0xB6), + o3(0xE5,0x8F,0xA5), o3(0xE5,0x8C,0xBA), + o3(0xE7,0x8B,0x97), o3(0xE7,0x8E,0x96), + o3(0xE7,0x9F,0xA9), o3(0xE8,0x8B,0xA6), + o3(0xE8,0xBA,0xAF), o3(0xE9,0xA7,0x86), + o3(0xE9,0xA7,0x88), o3(0xE9,0xA7,0x92), + o3(0xE5,0x85,0xB7), o3(0xE6,0x84,0x9A), + o3(0xE8,0x99,0x9E), o3(0xE5,0x96,0xB0), + o3(0xE7,0xA9,0xBA), o3(0xE5,0x81,0xB6), + o3(0xE5,0xAF,0x93), o3(0xE9,0x81,0x87), + o3(0xE9,0x9A,0x85), o3(0xE4,0xB8,0xB2), + o3(0xE6,0xAB,0x9B), o3(0xE9,0x87,0xA7), + o3(0xE5,0xB1,0x91), o3(0xE5,0xB1,0x88), + UNDEF, +}; +static const BYTE_LOOKUP +from_EUC_JP_B6 = { + from_EUC_JP_A1_offsets, + from_EUC_JP_B6_infos +}; + +static const struct byte_lookup* const +from_EUC_JP_B7_infos[95] = { + o3(0xE6,0x8E,0x98), o3(0xE7,0xAA,0x9F), + o3(0xE6,0xB2,0x93), o3(0xE9,0x9D,0xB4), + o3(0xE8,0xBD,0xA1), o3(0xE7,0xAA,0xAA), + o3(0xE7,0x86,0x8A), o3(0xE9,0x9A,0x88), + o3(0xE7,0xB2,0x82), o3(0xE6,0xA0,0x97), + o3(0xE7,0xB9,0xB0), o3(0xE6,0xA1,0x91), + o3(0xE9,0x8D,0xAC), o3(0xE5,0x8B,0xB2), + o3(0xE5,0x90,0x9B), o3(0xE8,0x96,0xAB), + o3(0xE8,0xA8,0x93), o3(0xE7,0xBE,0xA4), + o3(0xE8,0xBB,0x8D), o3(0xE9,0x83,0xA1), + o3(0xE5,0x8D,0xA6), o3(0xE8,0xA2,0x88), + o3(0xE7,0xA5,0x81), o3(0xE4,0xBF,0x82), + o3(0xE5,0x82,0xBE), o3(0xE5,0x88,0x91), + o3(0xE5,0x85,0x84), o3(0xE5,0x95,0x93), + o3(0xE5,0x9C,0xAD), o3(0xE7,0x8F,0xAA), + o3(0xE5,0x9E,0x8B), o3(0xE5,0xA5,0x91), + o3(0xE5,0xBD,0xA2), o3(0xE5,0xBE,0x84), + o3(0xE6,0x81,0xB5), o3(0xE6,0x85,0xB6), + o3(0xE6,0x85,0xA7), o3(0xE6,0x86,0xA9), + o3(0xE6,0x8E,0xB2), o3(0xE6,0x90,0xBA), + o3(0xE6,0x95,0xAC), o3(0xE6,0x99,0xAF), + o3(0xE6,0xA1,0x82), o3(0xE6,0xB8,0x93), + o3(0xE7,0x95,0xA6), o3(0xE7,0xA8,0xBD), + o3(0xE7,0xB3,0xBB), o3(0xE7,0xB5,0x8C), + o3(0xE7,0xB6,0x99), o3(0xE7,0xB9,0x8B), + o3(0xE7,0xBD,0xAB), o3(0xE8,0x8C,0x8E), + o3(0xE8,0x8D,0x8A), o3(0xE8,0x9B,0x8D), + o3(0xE8,0xA8,0x88), o3(0xE8,0xA9,0xA3), + o3(0xE8,0xAD,0xA6), o3(0xE8,0xBB,0xBD), + o3(0xE9,0xA0,0x9A), o3(0xE9,0xB6,0x8F), + o3(0xE8,0x8A,0xB8), o3(0xE8,0xBF,0x8E), + o3(0xE9,0xAF,0xA8), o3(0xE5,0x8A,0x87), + o3(0xE6,0x88,0x9F), o3(0xE6,0x92,0x83), + o3(0xE6,0xBF,0x80), o3(0xE9,0x9A,0x99), + o3(0xE6,0xA1,0x81), o3(0xE5,0x82,0x91), + o3(0xE6,0xAC,0xA0), o3(0xE6,0xB1,0xBA), + o3(0xE6,0xBD,0x94), o3(0xE7,0xA9,0xB4), + o3(0xE7,0xB5,0x90), o3(0xE8,0xA1,0x80), + o3(0xE8,0xA8,0xA3), o3(0xE6,0x9C,0x88), + o3(0xE4,0xBB,0xB6), o3(0xE5,0x80,0xB9), + o3(0xE5,0x80,0xA6), o3(0xE5,0x81,0xA5), + o3(0xE5,0x85,0xBC), o3(0xE5,0x88,0xB8), + o3(0xE5,0x89,0xA3), o3(0xE5,0x96,0xA7), + o3(0xE5,0x9C,0x8F), o3(0xE5,0xA0,0x85), + o3(0xE5,0xAB,0x8C), o3(0xE5,0xBB,0xBA), + o3(0xE6,0x86,0xB2), o3(0xE6,0x87,0xB8), + o3(0xE6,0x8B,0xB3), o3(0xE6,0x8D,0xB2), + UNDEF, +}; +static const BYTE_LOOKUP +from_EUC_JP_B7 = { + from_EUC_JP_A1_offsets, + from_EUC_JP_B7_infos +}; + +static const struct byte_lookup* const +from_EUC_JP_B8_infos[95] = { + o3(0xE6,0xA4,0x9C), o3(0xE6,0xA8,0xA9), + o3(0xE7,0x89,0xBD), o3(0xE7,0x8A,0xAC), + o3(0xE7,0x8C,0xAE), o3(0xE7,0xA0,0x94), + o3(0xE7,0xA1,0xAF), o3(0xE7,0xB5,0xB9), + o3(0xE7,0x9C,0x8C), o3(0xE8,0x82,0xA9), + o3(0xE8,0xA6,0x8B), o3(0xE8,0xAC,0x99), + o3(0xE8,0xB3,0xA2), o3(0xE8,0xBB,0x92), + o3(0xE9,0x81,0xA3), o3(0xE9,0x8D,0xB5), + o3(0xE9,0x99,0xBA), o3(0xE9,0xA1,0x95), + o3(0xE9,0xA8,0x93), o3(0xE9,0xB9,0xB8), + o3(0xE5,0x85,0x83), o3(0xE5,0x8E,0x9F), + o3(0xE5,0x8E,0xB3), o3(0xE5,0xB9,0xBB), + o3(0xE5,0xBC,0xA6), o3(0xE6,0xB8,0x9B), + o3(0xE6,0xBA,0x90), o3(0xE7,0x8E,0x84), + o3(0xE7,0x8F,0xBE), o3(0xE7,0xB5,0x83), + o3(0xE8,0x88,0xB7), o3(0xE8,0xA8,0x80), + o3(0xE8,0xAB,0xBA), o3(0xE9,0x99,0x90), + o3(0xE4,0xB9,0x8E), o3(0xE5,0x80,0x8B), + o3(0xE5,0x8F,0xA4), o3(0xE5,0x91,0xBC), + o3(0xE5,0x9B,0xBA), o3(0xE5,0xA7,0x91), + o3(0xE5,0xAD,0xA4), o3(0xE5,0xB7,0xB1), + o3(0xE5,0xBA,0xAB), o3(0xE5,0xBC,0xA7), + o3(0xE6,0x88,0xB8), o3(0xE6,0x95,0x85), + o3(0xE6,0x9E,0xAF), o3(0xE6,0xB9,0x96), + o3(0xE7,0x8B,0x90), o3(0xE7,0xB3,0x8A), + o3(0xE8,0xA2,0xB4), o3(0xE8,0x82,0xA1), + o3(0xE8,0x83,0xA1), o3(0xE8,0x8F,0xB0), + o3(0xE8,0x99,0x8E), o3(0xE8,0xAA,0x87), + o3(0xE8,0xB7,0xA8), o3(0xE9,0x88,0xB7), + o3(0xE9,0x9B,0x87), o3(0xE9,0xA1,0xA7), + o3(0xE9,0xBC,0x93), o3(0xE4,0xBA,0x94), + o3(0xE4,0xBA,0x92), o3(0xE4,0xBC,0x8D), + o3(0xE5,0x8D,0x88), o3(0xE5,0x91,0x89), + o3(0xE5,0x90,0xBE), o3(0xE5,0xA8,0xAF), + o3(0xE5,0xBE,0x8C), o3(0xE5,0xBE,0xA1), + o3(0xE6,0x82,0x9F), o3(0xE6,0xA2,0xA7), + o3(0xE6,0xAA,0x8E), o3(0xE7,0x91,0x9A), + o3(0xE7,0xA2,0x81), o3(0xE8,0xAA,0x9E), + o3(0xE8,0xAA,0xA4), o3(0xE8,0xAD,0xB7), + o3(0xE9,0x86,0x90), o3(0xE4,0xB9,0x9E), + o3(0xE9,0xAF,0x89), o3(0xE4,0xBA,0xA4), + o3(0xE4,0xBD,0xBC), o3(0xE4,0xBE,0xAF), + o3(0xE5,0x80,0x99), o3(0xE5,0x80,0x96), + o3(0xE5,0x85,0x89), o3(0xE5,0x85,0xAC), + o3(0xE5,0x8A,0x9F), o3(0xE5,0x8A,0xB9), + o3(0xE5,0x8B,0xBE), o3(0xE5,0x8E,0x9A), + o3(0xE5,0x8F,0xA3), o3(0xE5,0x90,0x91), + UNDEF, +}; +static const BYTE_LOOKUP +from_EUC_JP_B8 = { + from_EUC_JP_A1_offsets, + from_EUC_JP_B8_infos +}; + +static const struct byte_lookup* const +from_EUC_JP_B9_infos[95] = { + o3(0xE5,0x90,0x8E), o3(0xE5,0x96,0x89), + o3(0xE5,0x9D,0x91), o3(0xE5,0x9E,0xA2), + o3(0xE5,0xA5,0xBD), o3(0xE5,0xAD,0x94), + o3(0xE5,0xAD,0x9D), o3(0xE5,0xAE,0x8F), + o3(0xE5,0xB7,0xA5), o3(0xE5,0xB7,0xA7), + o3(0xE5,0xB7,0xB7), o3(0xE5,0xB9,0xB8), + o3(0xE5,0xBA,0x83), o3(0xE5,0xBA,0x9A), + o3(0xE5,0xBA,0xB7), o3(0xE5,0xBC,0x98), + o3(0xE6,0x81,0x92), o3(0xE6,0x85,0x8C), + o3(0xE6,0x8A,0x97), o3(0xE6,0x8B,0x98), + o3(0xE6,0x8E,0xA7), o3(0xE6,0x94,0xBB), + o3(0xE6,0x98,0x82), o3(0xE6,0x99,0x83), + o3(0xE6,0x9B,0xB4), o3(0xE6,0x9D,0xAD), + o3(0xE6,0xA0,0xA1), o3(0xE6,0xA2,0x97), + o3(0xE6,0xA7,0x8B), o3(0xE6,0xB1,0x9F), + o3(0xE6,0xB4,0xAA), o3(0xE6,0xB5,0xA9), + o3(0xE6,0xB8,0xAF), o3(0xE6,0xBA,0x9D), + o3(0xE7,0x94,0xB2), o3(0xE7,0x9A,0x87), + o3(0xE7,0xA1,0xAC), o3(0xE7,0xA8,0xBF), + o3(0xE7,0xB3,0xA0), o3(0xE7,0xB4,0x85), + o3(0xE7,0xB4,0x98), o3(0xE7,0xB5,0x9E), + o3(0xE7,0xB6,0xB1), o3(0xE8,0x80,0x95), + o3(0xE8,0x80,0x83), o3(0xE8,0x82,0xAF), + o3(0xE8,0x82,0xB1), o3(0xE8,0x85,0x94), + o3(0xE8,0x86,0x8F), o3(0xE8,0x88,0xAA), + o3(0xE8,0x8D,0x92), o3(0xE8,0xA1,0x8C), + o3(0xE8,0xA1,0xA1), o3(0xE8,0xAC,0x9B), + o3(0xE8,0xB2,0xA2), o3(0xE8,0xB3,0xBC), + o3(0xE9,0x83,0x8A), o3(0xE9,0x85,0xB5), + o3(0xE9,0x89,0xB1), o3(0xE7,0xA0,0xBF), + o3(0xE9,0x8B,0xBC), o3(0xE9,0x96,0xA4), + o3(0xE9,0x99,0x8D), o3(0xE9,0xA0,0x85), + o3(0xE9,0xA6,0x99), o3(0xE9,0xAB,0x98), + o3(0xE9,0xB4,0xBB), o3(0xE5,0x89,0x9B), + o3(0xE5,0x8A,0xAB), o3(0xE5,0x8F,0xB7), + o3(0xE5,0x90,0x88), o3(0xE5,0xA3,0x95), + o3(0xE6,0x8B,0xB7), o3(0xE6,0xBF,0xA0), + o3(0xE8,0xB1,0xAA), o3(0xE8,0xBD,0x9F), + o3(0xE9,0xBA,0xB9), o3(0xE5,0x85,0x8B), + o3(0xE5,0x88,0xBB), o3(0xE5,0x91,0x8A), + o3(0xE5,0x9B,0xBD), o3(0xE7,0xA9,0x80), + o3(0xE9,0x85,0xB7), o3(0xE9,0xB5,0xA0), + o3(0xE9,0xBB,0x92), o3(0xE7,0x8D,0x84), + o3(0xE6,0xBC,0x89), o3(0xE8,0x85,0xB0), + o3(0xE7,0x94,0x91), o3(0xE5,0xBF,0xBD), + o3(0xE6,0x83,0x9A), o3(0xE9,0xAA,0xA8), + o3(0xE7,0x8B,0x9B), o3(0xE8,0xBE,0xBC), + UNDEF, +}; +static const BYTE_LOOKUP +from_EUC_JP_B9 = { + from_EUC_JP_A1_offsets, + from_EUC_JP_B9_infos +}; + +static const struct byte_lookup* const +from_EUC_JP_BA_infos[95] = { + o3(0xE6,0xAD,0xA4), o3(0xE9,0xA0,0x83), + o3(0xE4,0xBB,0x8A), o3(0xE5,0x9B,0xB0), + o3(0xE5,0x9D,0xA4), o3(0xE5,0xA2,0xBE), + o3(0xE5,0xA9,0x9A), o3(0xE6,0x81,0xA8), + o3(0xE6,0x87,0x87), o3(0xE6,0x98,0x8F), + o3(0xE6,0x98,0x86), o3(0xE6,0xA0,0xB9), + o3(0xE6,0xA2,0xB1), o3(0xE6,0xB7,0xB7), + o3(0xE7,0x97,0x95), o3(0xE7,0xB4,0xBA), + o3(0xE8,0x89,0xAE), o3(0xE9,0xAD,0x82), + o3(0xE4,0xBA,0x9B), o3(0xE4,0xBD,0x90), + o3(0xE5,0x8F,0x89), o3(0xE5,0x94,0x86), + o3(0xE5,0xB5,0xAF), o3(0xE5,0xB7,0xA6), + o3(0xE5,0xB7,0xAE), o3(0xE6,0x9F,0xBB), + o3(0xE6,0xB2,0x99), o3(0xE7,0x91,0xB3), + o3(0xE7,0xA0,0x82), o3(0xE8,0xA9,0x90), + o3(0xE9,0x8E,0x96), o3(0xE8,0xA3,0x9F), + o3(0xE5,0x9D,0x90), o3(0xE5,0xBA,0xA7), + o3(0xE6,0x8C,0xAB), o3(0xE5,0x82,0xB5), + o3(0xE5,0x82,0xAC), o3(0xE5,0x86,0x8D), + o3(0xE6,0x9C,0x80), o3(0xE5,0x93,0x89), + o3(0xE5,0xA1,0x9E), o3(0xE5,0xA6,0xBB), + o3(0xE5,0xAE,0xB0), o3(0xE5,0xBD,0xA9), + o3(0xE6,0x89,0x8D), o3(0xE6,0x8E,0xA1), + o3(0xE6,0xA0,0xBD), o3(0xE6,0xAD,0xB3), + o3(0xE6,0xB8,0x88), o3(0xE7,0x81,0xBD), + o3(0xE9,0x87,0x87), o3(0xE7,0x8A,0x80), + o3(0xE7,0xA0,0x95), o3(0xE7,0xA0,0xA6), + o3(0xE7,0xA5,0xAD), o3(0xE6,0x96,0x8E), + o3(0xE7,0xB4,0xB0), o3(0xE8,0x8F,0x9C), + o3(0xE8,0xA3,0x81), o3(0xE8,0xBC,0x89), + o3(0xE9,0x9A,0x9B), o3(0xE5,0x89,0xA4), + o3(0xE5,0x9C,0xA8), o3(0xE6,0x9D,0x90), + o3(0xE7,0xBD,0xAA), o3(0xE8,0xB2,0xA1), + o3(0xE5,0x86,0xB4), o3(0xE5,0x9D,0x82), + o3(0xE9,0x98,0xAA), o3(0xE5,0xA0,0xBA), + o3(0xE6,0xA6,0x8A), o3(0xE8,0x82,0xB4), + o3(0xE5,0x92,0xB2), o3(0xE5,0xB4,0x8E), + o3(0xE5,0x9F,0xBC), o3(0xE7,0xA2,0x95), + o3(0xE9,0xB7,0xBA), o3(0xE4,0xBD,0x9C), + o3(0xE5,0x89,0x8A), o3(0xE5,0x92,0x8B), + o3(0xE6,0x90,0xBE), o3(0xE6,0x98,0xA8), + o3(0xE6,0x9C,0x94), o3(0xE6,0x9F,0xB5), + o3(0xE7,0xAA,0x84), o3(0xE7,0xAD,0x96), + o3(0xE7,0xB4,0xA2), o3(0xE9,0x8C,0xAF), + o3(0xE6,0xA1,0x9C), o3(0xE9,0xAE,0xAD), + o3(0xE7,0xAC,0xB9), o3(0xE5,0x8C,0x99), + o3(0xE5,0x86,0x8A), o3(0xE5,0x88,0xB7), + UNDEF, +}; +static const BYTE_LOOKUP +from_EUC_JP_BA = { + from_EUC_JP_A1_offsets, + from_EUC_JP_BA_infos +}; + +static const struct byte_lookup* const +from_EUC_JP_BB_infos[95] = { + o3(0xE5,0xAF,0x9F), o3(0xE6,0x8B,0xB6), + o3(0xE6,0x92,0xAE), o3(0xE6,0x93,0xA6), + o3(0xE6,0x9C,0xAD), o3(0xE6,0xAE,0xBA), + o3(0xE8,0x96,0xA9), o3(0xE9,0x9B,0x91), + o3(0xE7,0x9A,0x90), o3(0xE9,0xAF,0x96), + o3(0xE6,0x8D,0x8C), o3(0xE9,0x8C,0x86), + o3(0xE9,0xAE,0xAB), o3(0xE7,0x9A,0xBF), + o3(0xE6,0x99,0x92), o3(0xE4,0xB8,0x89), + o3(0xE5,0x82,0x98), o3(0xE5,0x8F,0x82), + o3(0xE5,0xB1,0xB1), o3(0xE6,0x83,0xA8), + o3(0xE6,0x92,0x92), o3(0xE6,0x95,0xA3), + o3(0xE6,0xA1,0x9F), o3(0xE7,0x87,0xA6), + o3(0xE7,0x8F,0x8A), o3(0xE7,0x94,0xA3), + o3(0xE7,0xAE,0x97), o3(0xE7,0xBA,0x82), + o3(0xE8,0x9A,0x95), o3(0xE8,0xAE,0x83), + o3(0xE8,0xB3,0x9B), o3(0xE9,0x85,0xB8), + o3(0xE9,0xA4,0x90), o3(0xE6,0x96,0xAC), + o3(0xE6,0x9A,0xAB), o3(0xE6,0xAE,0x8B), + o3(0xE4,0xBB,0x95), o3(0xE4,0xBB,0x94), + o3(0xE4,0xBC,0xBA), o3(0xE4,0xBD,0xBF), + o3(0xE5,0x88,0xBA), o3(0xE5,0x8F,0xB8), + o3(0xE5,0x8F,0xB2), o3(0xE5,0x97,0xA3), + o3(0xE5,0x9B,0x9B), o3(0xE5,0xA3,0xAB), + o3(0xE5,0xA7,0x8B), o3(0xE5,0xA7,0x89), + o3(0xE5,0xA7,0xBF), o3(0xE5,0xAD,0x90), + o3(0xE5,0xB1,0x8D), o3(0xE5,0xB8,0x82), + o3(0xE5,0xB8,0xAB), o3(0xE5,0xBF,0x97), + o3(0xE6,0x80,0x9D), o3(0xE6,0x8C,0x87), + o3(0xE6,0x94,0xAF), o3(0xE5,0xAD,0x9C), + o3(0xE6,0x96,0xAF), o3(0xE6,0x96,0xBD), + o3(0xE6,0x97,0xA8), o3(0xE6,0x9E,0x9D), + o3(0xE6,0xAD,0xA2), o3(0xE6,0xAD,0xBB), + o3(0xE6,0xB0,0x8F), o3(0xE7,0x8D,0x85), + o3(0xE7,0xA5,0x89), o3(0xE7,0xA7,0x81), + o3(0xE7,0xB3,0xB8), o3(0xE7,0xB4,0x99), + o3(0xE7,0xB4,0xAB), o3(0xE8,0x82,0xA2), + o3(0xE8,0x84,0x82), o3(0xE8,0x87,0xB3), + o3(0xE8,0xA6,0x96), o3(0xE8,0xA9,0x9E), + o3(0xE8,0xA9,0xA9), o3(0xE8,0xA9,0xA6), + o3(0xE8,0xAA,0x8C), o3(0xE8,0xAB,0xAE), + o3(0xE8,0xB3,0x87), o3(0xE8,0xB3,0x9C), + o3(0xE9,0x9B,0x8C), o3(0xE9,0xA3,0xBC), + o3(0xE6,0xAD,0xAF), o3(0xE4,0xBA,0x8B), + o3(0xE4,0xBC,0xBC), o3(0xE4,0xBE,0x8D), + o3(0xE5,0x85,0x90), o3(0xE5,0xAD,0x97), + o3(0xE5,0xAF,0xBA), o3(0xE6,0x85,0x88), + o3(0xE6,0x8C,0x81), o3(0xE6,0x99,0x82), + UNDEF, +}; +static const BYTE_LOOKUP +from_EUC_JP_BB = { + from_EUC_JP_A1_offsets, + from_EUC_JP_BB_infos +}; + +static const struct byte_lookup* const +from_EUC_JP_BC_infos[95] = { + o3(0xE6,0xAC,0xA1), o3(0xE6,0xBB,0x8B), + o3(0xE6,0xB2,0xBB), o3(0xE7,0x88,0xBE), + o3(0xE7,0x92,0xBD), o3(0xE7,0x97,0x94), + o3(0xE7,0xA3,0x81), o3(0xE7,0xA4,0xBA), + o3(0xE8,0x80,0x8C), o3(0xE8,0x80,0xB3), + o3(0xE8,0x87,0xAA), o3(0xE8,0x92,0x94), + o3(0xE8,0xBE,0x9E), o3(0xE6,0xB1,0x90), + o3(0xE9,0xB9,0xBF), o3(0xE5,0xBC,0x8F), + o3(0xE8,0xAD,0x98), o3(0xE9,0xB4,0xAB), + o3(0xE7,0xAB,0xBA), o3(0xE8,0xBB,0xB8), + o3(0xE5,0xAE,0x8D), o3(0xE9,0x9B,0xAB), + o3(0xE4,0xB8,0x83), o3(0xE5,0x8F,0xB1), + o3(0xE5,0x9F,0xB7), o3(0xE5,0xA4,0xB1), + o3(0xE5,0xAB,0x89), o3(0xE5,0xAE,0xA4), + o3(0xE6,0x82,0x89), o3(0xE6,0xB9,0xBF), + o3(0xE6,0xBC,0x86), o3(0xE7,0x96,0xBE), + o3(0xE8,0xB3,0xAA), o3(0xE5,0xAE,0x9F), + o3(0xE8,0x94,0x80), o3(0xE7,0xAF,0xA0), + o3(0xE5,0x81,0xB2), o3(0xE6,0x9F,0xB4), + o3(0xE8,0x8A,0x9D), o3(0xE5,0xB1,0xA1), + o3(0xE8,0x95,0x8A), o3(0xE7,0xB8,0x9E), + o3(0xE8,0x88,0x8E), o3(0xE5,0x86,0x99), + o3(0xE5,0xB0,0x84), o3(0xE6,0x8D,0xA8), + o3(0xE8,0xB5,0xA6), o3(0xE6,0x96,0x9C), + o3(0xE7,0x85,0xAE), o3(0xE7,0xA4,0xBE), + o3(0xE7,0xB4,0x97), o3(0xE8,0x80,0x85), + o3(0xE8,0xAC,0x9D), o3(0xE8,0xBB,0x8A), + o3(0xE9,0x81,0xAE), o3(0xE8,0x9B,0x87), + o3(0xE9,0x82,0xAA), o3(0xE5,0x80,0x9F), + o3(0xE5,0x8B,0xBA), o3(0xE5,0xB0,0xBA), + o3(0xE6,0x9D,0x93), o3(0xE7,0x81,0xBC), + o3(0xE7,0x88,0xB5), o3(0xE9,0x85,0x8C), + o3(0xE9,0x87,0x88), o3(0xE9,0x8C,0xAB), + o3(0xE8,0x8B,0xA5), o3(0xE5,0xAF,0x82), + o3(0xE5,0xBC,0xB1), o3(0xE6,0x83,0xB9), + o3(0xE4,0xB8,0xBB), o3(0xE5,0x8F,0x96), + o3(0xE5,0xAE,0x88), o3(0xE6,0x89,0x8B), + o3(0xE6,0x9C,0xB1), o3(0xE6,0xAE,0x8A), + o3(0xE7,0x8B,0xA9), o3(0xE7,0x8F,0xA0), + o3(0xE7,0xA8,0xAE), o3(0xE8,0x85,0xAB), + o3(0xE8,0xB6,0xA3), o3(0xE9,0x85,0x92), + o3(0xE9,0xA6,0x96), o3(0xE5,0x84,0x92), + o3(0xE5,0x8F,0x97), o3(0xE5,0x91,0xAA), + o3(0xE5,0xAF,0xBF), o3(0xE6,0x8E,0x88), + o3(0xE6,0xA8,0xB9), o3(0xE7,0xB6,0xAC), + o3(0xE9,0x9C,0x80), o3(0xE5,0x9B,0x9A), + o3(0xE5,0x8F,0x8E), o3(0xE5,0x91,0xA8), + UNDEF, +}; +static const BYTE_LOOKUP +from_EUC_JP_BC = { + from_EUC_JP_A1_offsets, + from_EUC_JP_BC_infos +}; + +static const struct byte_lookup* const +from_EUC_JP_BD_infos[95] = { + o3(0xE5,0xAE,0x97), o3(0xE5,0xB0,0xB1), + o3(0xE5,0xB7,0x9E), o3(0xE4,0xBF,0xAE), + o3(0xE6,0x84,0x81), o3(0xE6,0x8B,0xBE), + o3(0xE6,0xB4,0xB2), o3(0xE7,0xA7,0x80), + o3(0xE7,0xA7,0x8B), o3(0xE7,0xB5,0x82), + o3(0xE7,0xB9,0x8D), o3(0xE7,0xBF,0x92), + o3(0xE8,0x87,0xAD), o3(0xE8,0x88,0x9F), + o3(0xE8,0x92,0x90), o3(0xE8,0xA1,0x86), + o3(0xE8,0xA5,0xB2), o3(0xE8,0xAE,0x90), + o3(0xE8,0xB9,0xB4), o3(0xE8,0xBC,0xAF), + o3(0xE9,0x80,0xB1), o3(0xE9,0x85,0x8B), + o3(0xE9,0x85,0xAC), o3(0xE9,0x9B,0x86), + o3(0xE9,0x86,0x9C), o3(0xE4,0xBB,0x80), + o3(0xE4,0xBD,0x8F), o3(0xE5,0x85,0x85), + o3(0xE5,0x8D,0x81), o3(0xE5,0xBE,0x93), + o3(0xE6,0x88,0x8E), o3(0xE6,0x9F,0x94), + o3(0xE6,0xB1,0x81), o3(0xE6,0xB8,0x8B), + o3(0xE7,0x8D,0xA3), o3(0xE7,0xB8,0xA6), + o3(0xE9,0x87,0x8D), o3(0xE9,0x8A,0x83), + o3(0xE5,0x8F,0x94), o3(0xE5,0xA4,0x99), + o3(0xE5,0xAE,0xBF), o3(0xE6,0xB7,0x91), + o3(0xE7,0xA5,0x9D), o3(0xE7,0xB8,0xAE), + o3(0xE7,0xB2,0x9B), o3(0xE5,0xA1,0xBE), + o3(0xE7,0x86,0x9F), o3(0xE5,0x87,0xBA), + o3(0xE8,0xA1,0x93), o3(0xE8,0xBF,0xB0), + o3(0xE4,0xBF,0x8A), o3(0xE5,0xB3,0xBB), + o3(0xE6,0x98,0xA5), o3(0xE7,0x9E,0xAC), + o3(0xE7,0xAB,0xA3), o3(0xE8,0x88,0x9C), + o3(0xE9,0xA7,0xBF), o3(0xE5,0x87,0x86), + o3(0xE5,0xBE,0xAA), o3(0xE6,0x97,0xAC), + o3(0xE6,0xA5,0xAF), o3(0xE6,0xAE,0x89), + o3(0xE6,0xB7,0xB3), o3(0xE6,0xBA,0x96), + o3(0xE6,0xBD,0xA4), o3(0xE7,0x9B,0xBE), + o3(0xE7,0xB4,0x94), o3(0xE5,0xB7,0xA1), + o3(0xE9,0x81,0xB5), o3(0xE9,0x86,0x87), + o3(0xE9,0xA0,0x86), o3(0xE5,0x87,0xA6), + o3(0xE5,0x88,0x9D), o3(0xE6,0x89,0x80), + o3(0xE6,0x9A,0x91), o3(0xE6,0x9B,0x99), + o3(0xE6,0xB8,0x9A), o3(0xE5,0xBA,0xB6), + o3(0xE7,0xB7,0x92), o3(0xE7,0xBD,0xB2), + o3(0xE6,0x9B,0xB8), o3(0xE8,0x96,0xAF), + o3(0xE8,0x97,0xB7), o3(0xE8,0xAB,0xB8), + o3(0xE5,0x8A,0xA9), o3(0xE5,0x8F,0x99), + o3(0xE5,0xA5,0xB3), o3(0xE5,0xBA,0x8F), + o3(0xE5,0xBE,0x90), o3(0xE6,0x81,0x95), + o3(0xE9,0x8B,0xA4), o3(0xE9,0x99,0xA4), + o3(0xE5,0x82,0xB7), o3(0xE5,0x84,0x9F), + UNDEF, +}; +static const BYTE_LOOKUP +from_EUC_JP_BD = { + from_EUC_JP_A1_offsets, + from_EUC_JP_BD_infos +}; + +static const struct byte_lookup* const +from_EUC_JP_BE_infos[95] = { + o3(0xE5,0x8B,0x9D), o3(0xE5,0x8C,0xA0), + o3(0xE5,0x8D,0x87), o3(0xE5,0x8F,0xAC), + o3(0xE5,0x93,0xA8), o3(0xE5,0x95,0x86), + o3(0xE5,0x94,0xB1), o3(0xE5,0x98,0x97), + o3(0xE5,0xA5,0xA8), o3(0xE5,0xA6,0xBE), + o3(0xE5,0xA8,0xBC), o3(0xE5,0xAE,0xB5), + o3(0xE5,0xB0,0x86), o3(0xE5,0xB0,0x8F), + o3(0xE5,0xB0,0x91), o3(0xE5,0xB0,0x9A), + o3(0xE5,0xBA,0x84), o3(0xE5,0xBA,0x8A), + o3(0xE5,0xBB,0xA0), o3(0xE5,0xBD,0xB0), + o3(0xE6,0x89,0xBF), o3(0xE6,0x8A,0x84), + o3(0xE6,0x8B,0x9B), o3(0xE6,0x8E,0x8C), + o3(0xE6,0x8D,0xB7), o3(0xE6,0x98,0x87), + o3(0xE6,0x98,0x8C), o3(0xE6,0x98,0xAD), + o3(0xE6,0x99,0xB6), o3(0xE6,0x9D,0xBE), + o3(0xE6,0xA2,0xA2), o3(0xE6,0xA8,0x9F), + o3(0xE6,0xA8,0xB5), o3(0xE6,0xB2,0xBC), + o3(0xE6,0xB6,0x88), o3(0xE6,0xB8,0x89), + o3(0xE6,0xB9,0x98), o3(0xE7,0x84,0xBC), + o3(0xE7,0x84,0xA6), o3(0xE7,0x85,0xA7), + o3(0xE7,0x97,0x87), o3(0xE7,0x9C,0x81), + o3(0xE7,0xA1,0x9D), o3(0xE7,0xA4,0x81), + o3(0xE7,0xA5,0xA5), o3(0xE7,0xA7,0xB0), + o3(0xE7,0xAB,0xA0), o3(0xE7,0xAC,0x91), + o3(0xE7,0xB2,0xA7), o3(0xE7,0xB4,0xB9), + o3(0xE8,0x82,0x96), o3(0xE8,0x8F,0x96), + o3(0xE8,0x92,0x8B), o3(0xE8,0x95,0x89), + o3(0xE8,0xA1,0x9D), o3(0xE8,0xA3,0xB3), + o3(0xE8,0xA8,0x9F), o3(0xE8,0xA8,0xBC), + o3(0xE8,0xA9,0x94), o3(0xE8,0xA9,0xB3), + o3(0xE8,0xB1,0xA1), o3(0xE8,0xB3,0x9E), + o3(0xE9,0x86,0xA4), o3(0xE9,0x89,0xA6), + o3(0xE9,0x8D,0xBE), o3(0xE9,0x90,0x98), + o3(0xE9,0x9A,0x9C), o3(0xE9,0x9E,0x98), + o3(0xE4,0xB8,0x8A), o3(0xE4,0xB8,0x88), + o3(0xE4,0xB8,0x9E), o3(0xE4,0xB9,0x97), + o3(0xE5,0x86,0x97), o3(0xE5,0x89,0xB0), + o3(0xE5,0x9F,0x8E), o3(0xE5,0xA0,0xB4), + o3(0xE5,0xA3,0x8C), o3(0xE5,0xAC,0xA2), + o3(0xE5,0xB8,0xB8), o3(0xE6,0x83,0x85), + o3(0xE6,0x93,0xBE), o3(0xE6,0x9D,0xA1), + o3(0xE6,0x9D,0x96), o3(0xE6,0xB5,0x84), + o3(0xE7,0x8A,0xB6), o3(0xE7,0x95,0xB3), + o3(0xE7,0xA9,0xA3), o3(0xE8,0x92,0xB8), + o3(0xE8,0xAD,0xB2), o3(0xE9,0x86,0xB8), + o3(0xE9,0x8C,0xA0), o3(0xE5,0x98,0xB1), + o3(0xE5,0x9F,0xB4), o3(0xE9,0xA3,0xBE), + UNDEF, +}; +static const BYTE_LOOKUP +from_EUC_JP_BE = { + from_EUC_JP_A1_offsets, + from_EUC_JP_BE_infos +}; + +static const struct byte_lookup* const +from_EUC_JP_BF_infos[95] = { + o3(0xE6,0x8B,0xAD), o3(0xE6,0xA4,0x8D), + o3(0xE6,0xAE,0x96), o3(0xE7,0x87,0xAD), + o3(0xE7,0xB9,0x94), o3(0xE8,0x81,0xB7), + o3(0xE8,0x89,0xB2), o3(0xE8,0xA7,0xA6), + o3(0xE9,0xA3,0x9F), o3(0xE8,0x9D,0x95), + o3(0xE8,0xBE,0xB1), o3(0xE5,0xB0,0xBB), + o3(0xE4,0xBC,0xB8), o3(0xE4,0xBF,0xA1), + o3(0xE4,0xBE,0xB5), o3(0xE5,0x94,0x87), + o3(0xE5,0xA8,0xA0), o3(0xE5,0xAF,0x9D), + o3(0xE5,0xAF,0xA9), o3(0xE5,0xBF,0x83), + o3(0xE6,0x85,0x8E), o3(0xE6,0x8C,0xAF), + o3(0xE6,0x96,0xB0), o3(0xE6,0x99,0x8B), + o3(0xE6,0xA3,0xAE), o3(0xE6,0xA6,0x9B), + o3(0xE6,0xB5,0xB8), o3(0xE6,0xB7,0xB1), + o3(0xE7,0x94,0xB3), o3(0xE7,0x96,0xB9), + o3(0xE7,0x9C,0x9F), o3(0xE7,0xA5,0x9E), + o3(0xE7,0xA7,0xA6), o3(0xE7,0xB4,0xB3), + o3(0xE8,0x87,0xA3), o3(0xE8,0x8A,0xAF), + o3(0xE8,0x96,0xAA), o3(0xE8,0xA6,0xAA), + o3(0xE8,0xA8,0xBA), o3(0xE8,0xBA,0xAB), + o3(0xE8,0xBE,0x9B), o3(0xE9,0x80,0xB2), + o3(0xE9,0x87,0x9D), o3(0xE9,0x9C,0x87), + o3(0xE4,0xBA,0xBA), o3(0xE4,0xBB,0x81), + o3(0xE5,0x88,0x83), o3(0xE5,0xA1,0xB5), + o3(0xE5,0xA3,0xAC), o3(0xE5,0xB0,0x8B), + o3(0xE7,0x94,0x9A), o3(0xE5,0xB0,0xBD), + o3(0xE8,0x85,0x8E), o3(0xE8,0xA8,0x8A), + o3(0xE8,0xBF,0x85), o3(0xE9,0x99,0xA3), + o3(0xE9,0x9D,0xAD), o3(0xE7,0xAC,0xA5), + o3(0xE8,0xAB,0x8F), o3(0xE9,0xA0,0x88), + o3(0xE9,0x85,0xA2), o3(0xE5,0x9B,0xB3), + o3(0xE5,0x8E,0xA8), o3(0xE9,0x80,0x97), + o3(0xE5,0x90,0xB9), o3(0xE5,0x9E,0x82), + o3(0xE5,0xB8,0xA5), o3(0xE6,0x8E,0xA8), + o3(0xE6,0xB0,0xB4), o3(0xE7,0x82,0x8A), + o3(0xE7,0x9D,0xA1), o3(0xE7,0xB2,0x8B), + o3(0xE7,0xBF,0xA0), o3(0xE8,0xA1,0xB0), + o3(0xE9,0x81,0x82), o3(0xE9,0x85,0x94), + o3(0xE9,0x8C,0x90), o3(0xE9,0x8C,0x98), + o3(0xE9,0x9A,0x8F), o3(0xE7,0x91,0x9E), + o3(0xE9,0xAB,0x84), o3(0xE5,0xB4,0x87), + o3(0xE5,0xB5,0xA9), o3(0xE6,0x95,0xB0), + o3(0xE6,0x9E,0xA2), o3(0xE8,0xB6,0xA8), + o3(0xE9,0x9B,0x9B), o3(0xE6,0x8D,0xAE), + o3(0xE6,0x9D,0x89), o3(0xE6,0xA4,0x99), + o3(0xE8,0x8F,0x85), o3(0xE9,0xA0,0x97), + o3(0xE9,0x9B,0x80), o3(0xE8,0xA3,0xBE), + UNDEF, +}; +static const BYTE_LOOKUP +from_EUC_JP_BF = { + from_EUC_JP_A1_offsets, + from_EUC_JP_BF_infos +}; + +static const struct byte_lookup* const +from_EUC_JP_C0_infos[95] = { + o3(0xE6,0xBE,0x84), o3(0xE6,0x91,0xBA), + o3(0xE5,0xAF,0xB8), o3(0xE4,0xB8,0x96), + o3(0xE7,0x80,0xAC), o3(0xE7,0x95,0x9D), + o3(0xE6,0x98,0xAF), o3(0xE5,0x87,0x84), + o3(0xE5,0x88,0xB6), o3(0xE5,0x8B,0xA2), + o3(0xE5,0xA7,0x93), o3(0xE5,0xBE,0x81), + o3(0xE6,0x80,0xA7), o3(0xE6,0x88,0x90), + o3(0xE6,0x94,0xBF), o3(0xE6,0x95,0xB4), + o3(0xE6,0x98,0x9F), o3(0xE6,0x99,0xB4), + o3(0xE6,0xA3,0xB2), o3(0xE6,0xA0,0x96), + o3(0xE6,0xAD,0xA3), o3(0xE6,0xB8,0x85), + o3(0xE7,0x89,0xB2), o3(0xE7,0x94,0x9F), + o3(0xE7,0x9B,0x9B), o3(0xE7,0xB2,0xBE), + o3(0xE8,0x81,0x96), o3(0xE5,0xA3,0xB0), + o3(0xE8,0xA3,0xBD), o3(0xE8,0xA5,0xBF), + o3(0xE8,0xAA,0xA0), o3(0xE8,0xAA,0x93), + o3(0xE8,0xAB,0x8B), o3(0xE9,0x80,0x9D), + o3(0xE9,0x86,0x92), o3(0xE9,0x9D,0x92), + o3(0xE9,0x9D,0x99), o3(0xE6,0x96,0x89), + o3(0xE7,0xA8,0x8E), o3(0xE8,0x84,0x86), + o3(0xE9,0x9A,0xBB), o3(0xE5,0xB8,0xAD), + o3(0xE6,0x83,0x9C), o3(0xE6,0x88,0x9A), + o3(0xE6,0x96,0xA5), o3(0xE6,0x98,0x94), + o3(0xE6,0x9E,0x90), o3(0xE7,0x9F,0xB3), + o3(0xE7,0xA9,0x8D), o3(0xE7,0xB1,0x8D), + o3(0xE7,0xB8,0xBE), o3(0xE8,0x84,0x8A), + o3(0xE8,0xB2,0xAC), o3(0xE8,0xB5,0xA4), + o3(0xE8,0xB7,0xA1), o3(0xE8,0xB9,0x9F), + o3(0xE7,0xA2,0xA9), o3(0xE5,0x88,0x87), + o3(0xE6,0x8B,0x99), o3(0xE6,0x8E,0xA5), + o3(0xE6,0x91,0x82), o3(0xE6,0x8A,0x98), + o3(0xE8,0xA8,0xAD), o3(0xE7,0xAA,0x83), + o3(0xE7,0xAF,0x80), o3(0xE8,0xAA,0xAC), + o3(0xE9,0x9B,0xAA), o3(0xE7,0xB5,0xB6), + o3(0xE8,0x88,0x8C), o3(0xE8,0x9D,0x89), + o3(0xE4,0xBB,0x99), o3(0xE5,0x85,0x88), + o3(0xE5,0x8D,0x83), o3(0xE5,0x8D,0xA0), + o3(0xE5,0xAE,0xA3), o3(0xE5,0xB0,0x82), + o3(0xE5,0xB0,0x96), o3(0xE5,0xB7,0x9D), + o3(0xE6,0x88,0xA6), o3(0xE6,0x89,0x87), + o3(0xE6,0x92,0xB0), o3(0xE6,0xA0,0x93), + o3(0xE6,0xA0,0xB4), o3(0xE6,0xB3,0x89), + o3(0xE6,0xB5,0x85), o3(0xE6,0xB4,0x97), + o3(0xE6,0x9F,0x93), o3(0xE6,0xBD,0x9C), + o3(0xE7,0x85,0x8E), o3(0xE7,0x85,0xBD), + o3(0xE6,0x97,0x8B), o3(0xE7,0xA9,0xBF), + o3(0xE7,0xAE,0xAD), o3(0xE7,0xB7,0x9A), + UNDEF, +}; +static const BYTE_LOOKUP +from_EUC_JP_C0 = { + from_EUC_JP_A1_offsets, + from_EUC_JP_C0_infos +}; + +static const struct byte_lookup* const +from_EUC_JP_C1_infos[95] = { + o3(0xE7,0xB9,0x8A), o3(0xE7,0xBE,0xA8), + o3(0xE8,0x85,0xBA), o3(0xE8,0x88,0x9B), + o3(0xE8,0x88,0xB9), o3(0xE8,0x96,0xA6), + o3(0xE8,0xA9,0xAE), o3(0xE8,0xB3,0x8E), + o3(0xE8,0xB7,0xB5), o3(0xE9,0x81,0xB8), + o3(0xE9,0x81,0xB7), o3(0xE9,0x8A,0xAD), + o3(0xE9,0x8A,0x91), o3(0xE9,0x96,0x83), + o3(0xE9,0xAE,0xAE), o3(0xE5,0x89,0x8D), + o3(0xE5,0x96,0x84), o3(0xE6,0xBC,0xB8), + o3(0xE7,0x84,0xB6), o3(0xE5,0x85,0xA8), + o3(0xE7,0xA6,0x85), o3(0xE7,0xB9,0x95), + o3(0xE8,0x86,0xB3), o3(0xE7,0xB3,0x8E), + o3(0xE5,0x99,0x8C), o3(0xE5,0xA1,0x91), + o3(0xE5,0xB2,0xA8), o3(0xE6,0x8E,0xAA), + o3(0xE6,0x9B,0xBE), o3(0xE6,0x9B,0xBD), + o3(0xE6,0xA5,0x9A), o3(0xE7,0x8B,0x99), + o3(0xE7,0x96,0x8F), o3(0xE7,0x96,0x8E), + o3(0xE7,0xA4,0x8E), o3(0xE7,0xA5,0x96), + o3(0xE7,0xA7,0x9F), o3(0xE7,0xB2,0x97), + o3(0xE7,0xB4,0xA0), o3(0xE7,0xB5,0x84), + o3(0xE8,0x98,0x87), o3(0xE8,0xA8,0xB4), + o3(0xE9,0x98,0xBB), o3(0xE9,0x81,0xA1), + o3(0xE9,0xBC,0xA0), o3(0xE5,0x83,0xA7), + o3(0xE5,0x89,0xB5), o3(0xE5,0x8F,0x8C), + o3(0xE5,0x8F,0xA2), o3(0xE5,0x80,0x89), + o3(0xE5,0x96,0xAA), o3(0xE5,0xA3,0xAE), + o3(0xE5,0xA5,0x8F), o3(0xE7,0x88,0xBD), + o3(0xE5,0xAE,0x8B), o3(0xE5,0xB1,0xA4), + o3(0xE5,0x8C,0x9D), o3(0xE6,0x83,0xA3), + o3(0xE6,0x83,0xB3), o3(0xE6,0x8D,0x9C), + o3(0xE6,0x8E,0x83), o3(0xE6,0x8C,0xBF), + o3(0xE6,0x8E,0xBB), o3(0xE6,0x93,0x8D), + o3(0xE6,0x97,0xA9), o3(0xE6,0x9B,0xB9), + o3(0xE5,0xB7,0xA3), o3(0xE6,0xA7,0x8D), + o3(0xE6,0xA7,0xBD), o3(0xE6,0xBC,0x95), + o3(0xE7,0x87,0xA5), o3(0xE4,0xBA,0x89), + o3(0xE7,0x97,0xA9), o3(0xE7,0x9B,0xB8), + o3(0xE7,0xAA,0x93), o3(0xE7,0xB3,0x9F), + o3(0xE7,0xB7,0x8F), o3(0xE7,0xB6,0x9C), + o3(0xE8,0x81,0xA1), o3(0xE8,0x8D,0x89), + o3(0xE8,0x8D,0x98), o3(0xE8,0x91,0xAC), + o3(0xE8,0x92,0xBC), o3(0xE8,0x97,0xBB), + o3(0xE8,0xA3,0x85), o3(0xE8,0xB5,0xB0), + o3(0xE9,0x80,0x81), o3(0xE9,0x81,0xAD), + o3(0xE9,0x8E,0x97), o3(0xE9,0x9C,0x9C), + o3(0xE9,0xA8,0x92), o3(0xE5,0x83,0x8F), + o3(0xE5,0xA2,0x97), o3(0xE6,0x86,0x8E), + UNDEF, +}; +static const BYTE_LOOKUP +from_EUC_JP_C1 = { + from_EUC_JP_A1_offsets, + from_EUC_JP_C1_infos +}; + +static const struct byte_lookup* const +from_EUC_JP_C2_infos[95] = { + o3(0xE8,0x87,0x93), o3(0xE8,0x94,0xB5), + o3(0xE8,0xB4,0x88), o3(0xE9,0x80,0xA0), + o3(0xE4,0xBF,0x83), o3(0xE5,0x81,0xB4), + o3(0xE5,0x89,0x87), o3(0xE5,0x8D,0xB3), + o3(0xE6,0x81,0xAF), o3(0xE6,0x8D,0x89), + o3(0xE6,0x9D,0x9F), o3(0xE6,0xB8,0xAC), + o3(0xE8,0xB6,0xB3), o3(0xE9,0x80,0x9F), + o3(0xE4,0xBF,0x97), o3(0xE5,0xB1,0x9E), + o3(0xE8,0xB3,0x8A), o3(0xE6,0x97,0x8F), + o3(0xE7,0xB6,0x9A), o3(0xE5,0x8D,0x92), + o3(0xE8,0xA2,0x96), o3(0xE5,0x85,0xB6), + o3(0xE6,0x8F,0x83), o3(0xE5,0xAD,0x98), + o3(0xE5,0xAD,0xAB), o3(0xE5,0xB0,0x8A), + o3(0xE6,0x90,0x8D), o3(0xE6,0x9D,0x91), + o3(0xE9,0x81,0x9C), o3(0xE4,0xBB,0x96), + o3(0xE5,0xA4,0x9A), o3(0xE5,0xA4,0xAA), + o3(0xE6,0xB1,0xB0), o3(0xE8,0xA9,0x91), + o3(0xE5,0x94,0xBE), o3(0xE5,0xA0,0x95), + o3(0xE5,0xA6,0xA5), o3(0xE6,0x83,0xB0), + o3(0xE6,0x89,0x93), o3(0xE6,0x9F,0x81), + o3(0xE8,0x88,0xB5), o3(0xE6,0xA5,0x95), + o3(0xE9,0x99,0x80), o3(0xE9,0xA7,0x84), + o3(0xE9,0xA8,0xA8), o3(0xE4,0xBD,0x93), + o3(0xE5,0xA0,0x86), o3(0xE5,0xAF,0xBE), + o3(0xE8,0x80,0x90), o3(0xE5,0xB2,0xB1), + o3(0xE5,0xB8,0xAF), o3(0xE5,0xBE,0x85), + o3(0xE6,0x80,0xA0), o3(0xE6,0x85,0x8B), + o3(0xE6,0x88,0xB4), o3(0xE6,0x9B,0xBF), + o3(0xE6,0xB3,0xB0), o3(0xE6,0xBB,0x9E), + o3(0xE8,0x83,0x8E), o3(0xE8,0x85,0xBF), + o3(0xE8,0x8B,0x94), o3(0xE8,0xA2,0x8B), + o3(0xE8,0xB2,0xB8), o3(0xE9,0x80,0x80), + o3(0xE9,0x80,0xAE), o3(0xE9,0x9A,0x8A), + o3(0xE9,0xBB,0x9B), o3(0xE9,0xAF,0x9B), + o3(0xE4,0xBB,0xA3), o3(0xE5,0x8F,0xB0), + o3(0xE5,0xA4,0xA7), o3(0xE7,0xAC,0xAC), + o3(0xE9,0x86,0x8D), o3(0xE9,0xA1,0x8C), + o3(0xE9,0xB7,0xB9), o3(0xE6,0xBB,0x9D), + o3(0xE7,0x80,0xA7), o3(0xE5,0x8D,0x93), + o3(0xE5,0x95,0x84), o3(0xE5,0xAE,0x85), + o3(0xE6,0x89,0x98), o3(0xE6,0x8A,0x9E), + o3(0xE6,0x8B,0x93), o3(0xE6,0xB2,0xA2), + o3(0xE6,0xBF,0xAF), o3(0xE7,0x90,0xA2), + o3(0xE8,0xA8,0x97), o3(0xE9,0x90,0xB8), + o3(0xE6,0xBF,0x81), o3(0xE8,0xAB,0xBE), + o3(0xE8,0x8C,0xB8), o3(0xE5,0x87,0xA7), + o3(0xE8,0x9B,0xB8), o3(0xE5,0x8F,0xAA), + UNDEF, +}; +static const BYTE_LOOKUP +from_EUC_JP_C2 = { + from_EUC_JP_A1_offsets, + from_EUC_JP_C2_infos +}; + +static const struct byte_lookup* const +from_EUC_JP_C3_infos[95] = { + o3(0xE5,0x8F,0xA9), o3(0xE4,0xBD,0x86), + o3(0xE9,0x81,0x94), o3(0xE8,0xBE,0xB0), + o3(0xE5,0xA5,0xAA), o3(0xE8,0x84,0xB1), + o3(0xE5,0xB7,0xBD), o3(0xE7,0xAB,0xAA), + o3(0xE8,0xBE,0xBF), o3(0xE6,0xA3,0x9A), + o3(0xE8,0xB0,0xB7), o3(0xE7,0x8B,0xB8), + o3(0xE9,0xB1,0x88), o3(0xE6,0xA8,0xBD), + o3(0xE8,0xAA,0xB0), o3(0xE4,0xB8,0xB9), + o3(0xE5,0x8D,0x98), o3(0xE5,0x98,0x86), + o3(0xE5,0x9D,0xA6), o3(0xE6,0x8B,0x85), + o3(0xE6,0x8E,0xA2), o3(0xE6,0x97,0xA6), + o3(0xE6,0xAD,0x8E), o3(0xE6,0xB7,0xA1), + o3(0xE6,0xB9,0x9B), o3(0xE7,0x82,0xAD), + o3(0xE7,0x9F,0xAD), o3(0xE7,0xAB,0xAF), + o3(0xE7,0xAE,0xAA), o3(0xE7,0xB6,0xBB), + o3(0xE8,0x80,0xBD), o3(0xE8,0x83,0x86), + o3(0xE8,0x9B,0x8B), o3(0xE8,0xAA,0x95), + o3(0xE9,0x8D,0x9B), o3(0xE5,0x9B,0xA3), + o3(0xE5,0xA3,0x87), o3(0xE5,0xBC,0xBE), + o3(0xE6,0x96,0xAD), o3(0xE6,0x9A,0x96), + o3(0xE6,0xAA,0x80), o3(0xE6,0xAE,0xB5), + o3(0xE7,0x94,0xB7), o3(0xE8,0xAB,0x87), + o3(0xE5,0x80,0xA4), o3(0xE7,0x9F,0xA5), + o3(0xE5,0x9C,0xB0), o3(0xE5,0xBC,0x9B), + o3(0xE6,0x81,0xA5), o3(0xE6,0x99,0xBA), + o3(0xE6,0xB1,0xA0), o3(0xE7,0x97,0xB4), + o3(0xE7,0xA8,0x9A), o3(0xE7,0xBD,0xAE), + o3(0xE8,0x87,0xB4), o3(0xE8,0x9C,0x98), + o3(0xE9,0x81,0x85), o3(0xE9,0xA6,0xB3), + o3(0xE7,0xAF,0x89), o3(0xE7,0x95,0x9C), + o3(0xE7,0xAB,0xB9), o3(0xE7,0xAD,0x91), + o3(0xE8,0x93,0x84), o3(0xE9,0x80,0x90), + o3(0xE7,0xA7,0xA9), o3(0xE7,0xAA,0x92), + o3(0xE8,0x8C,0xB6), o3(0xE5,0xAB,0xA1), + o3(0xE7,0x9D,0x80), o3(0xE4,0xB8,0xAD), + o3(0xE4,0xBB,0xB2), o3(0xE5,0xAE,0x99), + o3(0xE5,0xBF,0xA0), o3(0xE6,0x8A,0xBD), + o3(0xE6,0x98,0xBC), o3(0xE6,0x9F,0xB1), + o3(0xE6,0xB3,0xA8), o3(0xE8,0x99,0xAB), + o3(0xE8,0xA1,0xB7), o3(0xE8,0xA8,0xBB), + o3(0xE9,0x85,0x8E), o3(0xE9,0x8B,0xB3), + o3(0xE9,0xA7,0x90), o3(0xE6,0xA8,0x97), + o3(0xE7,0x80,0xA6), o3(0xE7,0x8C,0xAA), + o3(0xE8,0x8B,0xA7), o3(0xE8,0x91,0x97), + o3(0xE8,0xB2,0xAF), o3(0xE4,0xB8,0x81), + o3(0xE5,0x85,0x86), o3(0xE5,0x87,0x8B), + o3(0xE5,0x96,0x8B), o3(0xE5,0xAF,0xB5), + UNDEF, +}; +static const BYTE_LOOKUP +from_EUC_JP_C3 = { + from_EUC_JP_A1_offsets, + from_EUC_JP_C3_infos +}; + +static const struct byte_lookup* const +from_EUC_JP_C4_infos[95] = { + o3(0xE5,0xB8,0x96), o3(0xE5,0xB8,0xB3), + o3(0xE5,0xBA,0x81), o3(0xE5,0xBC,0x94), + o3(0xE5,0xBC,0xB5), o3(0xE5,0xBD,0xAB), + o3(0xE5,0xBE,0xB4), o3(0xE6,0x87,0xB2), + o3(0xE6,0x8C,0x91), o3(0xE6,0x9A,0xA2), + o3(0xE6,0x9C,0x9D), o3(0xE6,0xBD,0xAE), + o3(0xE7,0x89,0x92), o3(0xE7,0x94,0xBA), + o3(0xE7,0x9C,0xBA), o3(0xE8,0x81,0xB4), + o3(0xE8,0x84,0xB9), o3(0xE8,0x85,0xB8), + o3(0xE8,0x9D,0xB6), o3(0xE8,0xAA,0xBF), + o3(0xE8,0xAB,0x9C), o3(0xE8,0xB6,0x85), + o3(0xE8,0xB7,0xB3), o3(0xE9,0x8A,0x9A), + o3(0xE9,0x95,0xB7), o3(0xE9,0xA0,0x82), + o3(0xE9,0xB3,0xA5), o3(0xE5,0x8B,0x85), + o3(0xE6,0x8D,0x97), o3(0xE7,0x9B,0xB4), + o3(0xE6,0x9C,0x95), o3(0xE6,0xB2,0x88), + o3(0xE7,0x8F,0x8D), o3(0xE8,0xB3,0x83), + o3(0xE9,0x8E,0xAE), o3(0xE9,0x99,0xB3), + o3(0xE6,0xB4,0xA5), o3(0xE5,0xA2,0x9C), + o3(0xE6,0xA4,0x8E), o3(0xE6,0xA7,0x8C), + o3(0xE8,0xBF,0xBD), o3(0xE9,0x8E,0x9A), + o3(0xE7,0x97,0x9B), o3(0xE9,0x80,0x9A), + o3(0xE5,0xA1,0x9A), o3(0xE6,0xA0,0x82), + o3(0xE6,0x8E,0xB4), o3(0xE6,0xA7,0xBB), + o3(0xE4,0xBD,0x83), o3(0xE6,0xBC,0xAC), + o3(0xE6,0x9F,0x98), o3(0xE8,0xBE,0xBB), + o3(0xE8,0x94,0xA6), o3(0xE7,0xB6,0xB4), + o3(0xE9,0x8D,0x94), o3(0xE6,0xA4,0xBF), + o3(0xE6,0xBD,0xB0), o3(0xE5,0x9D,0xAA), + o3(0xE5,0xA3,0xB7), o3(0xE5,0xAC,0xAC), + o3(0xE7,0xB4,0xAC), o3(0xE7,0x88,0xAA), + o3(0xE5,0x90,0x8A), o3(0xE9,0x87,0xA3), + o3(0xE9,0xB6,0xB4), o3(0xE4,0xBA,0xAD), + o3(0xE4,0xBD,0x8E), o3(0xE5,0x81,0x9C), + o3(0xE5,0x81,0xB5), o3(0xE5,0x89,0x83), + o3(0xE8,0xB2,0x9E), o3(0xE5,0x91,0x88), + o3(0xE5,0xA0,0xA4), o3(0xE5,0xAE,0x9A), + o3(0xE5,0xB8,0x9D), o3(0xE5,0xBA,0x95), + o3(0xE5,0xBA,0xAD), o3(0xE5,0xBB,0xB7), + o3(0xE5,0xBC,0x9F), o3(0xE6,0x82,0x8C), + o3(0xE6,0x8A,0xB5), o3(0xE6,0x8C,0xBA), + o3(0xE6,0x8F,0x90), o3(0xE6,0xA2,0xAF), + o3(0xE6,0xB1,0x80), o3(0xE7,0xA2,0x87), + o3(0xE7,0xA6,0x8E), o3(0xE7,0xA8,0x8B), + o3(0xE7,0xB7,0xA0), o3(0xE8,0x89,0x87), + o3(0xE8,0xA8,0x82), o3(0xE8,0xAB,0xA6), + o3(0xE8,0xB9,0x84), o3(0xE9,0x80,0x93), + UNDEF, +}; +static const BYTE_LOOKUP +from_EUC_JP_C4 = { + from_EUC_JP_A1_offsets, + from_EUC_JP_C4_infos +}; + +static const struct byte_lookup* const +from_EUC_JP_C5_infos[95] = { + o3(0xE9,0x82,0xB8), o3(0xE9,0x84,0xAD), + o3(0xE9,0x87,0x98), o3(0xE9,0xBC,0x8E), + o3(0xE6,0xB3,0xA5), o3(0xE6,0x91,0x98), + o3(0xE6,0x93,0xA2), o3(0xE6,0x95,0xB5), + o3(0xE6,0xBB,0xB4), o3(0xE7,0x9A,0x84), + o3(0xE7,0xAC,0x9B), o3(0xE9,0x81,0xA9), + o3(0xE9,0x8F,0x91), o3(0xE6,0xBA,0xBA), + o3(0xE5,0x93,0xB2), o3(0xE5,0xBE,0xB9), + o3(0xE6,0x92,0xA4), o3(0xE8,0xBD,0x8D), + o3(0xE8,0xBF,0xAD), o3(0xE9,0x89,0x84), + o3(0xE5,0x85,0xB8), o3(0xE5,0xA1,0xAB), + o3(0xE5,0xA4,0xA9), o3(0xE5,0xB1,0x95), + o3(0xE5,0xBA,0x97), o3(0xE6,0xB7,0xBB), + o3(0xE7,0xBA,0x8F), o3(0xE7,0x94,0x9C), + o3(0xE8,0xB2,0xBC), o3(0xE8,0xBB,0xA2), + o3(0xE9,0xA1,0x9B), o3(0xE7,0x82,0xB9), + o3(0xE4,0xBC,0x9D), o3(0xE6,0xAE,0xBF), + o3(0xE6,0xBE,0xB1), o3(0xE7,0x94,0xB0), + o3(0xE9,0x9B,0xBB), o3(0xE5,0x85,0x8E), + o3(0xE5,0x90,0x90), o3(0xE5,0xA0,0xB5), + o3(0xE5,0xA1,0x97), o3(0xE5,0xA6,0xAC), + o3(0xE5,0xB1,0xA0), o3(0xE5,0xBE,0x92), + o3(0xE6,0x96,0x97), o3(0xE6,0x9D,0x9C), + o3(0xE6,0xB8,0xA1), o3(0xE7,0x99,0xBB), + o3(0xE8,0x8F,0x9F), o3(0xE8,0xB3,0xAD), + o3(0xE9,0x80,0x94), o3(0xE9,0x83,0xBD), + o3(0xE9,0x8D,0x8D), o3(0xE7,0xA0,0xA5), + o3(0xE7,0xA0,0xBA), o3(0xE5,0x8A,0xAA), + o3(0xE5,0xBA,0xA6), o3(0xE5,0x9C,0x9F), + o3(0xE5,0xA5,0xB4), o3(0xE6,0x80,0x92), + o3(0xE5,0x80,0x92), o3(0xE5,0x85,0x9A), + o3(0xE5,0x86,0xAC), o3(0xE5,0x87,0x8D), + o3(0xE5,0x88,0x80), o3(0xE5,0x94,0x90), + o3(0xE5,0xA1,0x94), o3(0xE5,0xA1,0x98), + o3(0xE5,0xA5,0x97), o3(0xE5,0xAE,0x95), + o3(0xE5,0xB3,0xB6), o3(0xE5,0xB6,0x8B), + o3(0xE6,0x82,0xBC), o3(0xE6,0x8A,0x95), + o3(0xE6,0x90,0xAD), o3(0xE6,0x9D,0xB1), + o3(0xE6,0xA1,0x83), o3(0xE6,0xA2,0xBC), + o3(0xE6,0xA3,0x9F), o3(0xE7,0x9B,0x97), + o3(0xE6,0xB7,0x98), o3(0xE6,0xB9,0xAF), + o3(0xE6,0xB6,0x9B), o3(0xE7,0x81,0xAF), + o3(0xE7,0x87,0x88), o3(0xE5,0xBD,0x93), + o3(0xE7,0x97,0x98), o3(0xE7,0xA5,0xB7), + o3(0xE7,0xAD,0x89), o3(0xE7,0xAD,0x94), + o3(0xE7,0xAD,0x92), o3(0xE7,0xB3,0x96), + o3(0xE7,0xB5,0xB1), o3(0xE5,0x88,0xB0), + UNDEF, +}; +static const BYTE_LOOKUP +from_EUC_JP_C5 = { + from_EUC_JP_A1_offsets, + from_EUC_JP_C5_infos +}; + +static const struct byte_lookup* const +from_EUC_JP_C6_infos[95] = { + o3(0xE8,0x91,0xA3), o3(0xE8,0x95,0xA9), + o3(0xE8,0x97,0xA4), o3(0xE8,0xA8,0x8E), + o3(0xE8,0xAC,0x84), o3(0xE8,0xB1,0x86), + o3(0xE8,0xB8,0x8F), o3(0xE9,0x80,0x83), + o3(0xE9,0x80,0x8F), o3(0xE9,0x90,0x99), + o3(0xE9,0x99,0xB6), o3(0xE9,0xA0,0xAD), + o3(0xE9,0xA8,0xB0), o3(0xE9,0x97,0x98), + o3(0xE5,0x83,0x8D), o3(0xE5,0x8B,0x95), + o3(0xE5,0x90,0x8C), o3(0xE5,0xA0,0x82), + o3(0xE5,0xB0,0x8E), o3(0xE6,0x86,0xA7), + o3(0xE6,0x92,0x9E), o3(0xE6,0xB4,0x9E), + o3(0xE7,0x9E,0xB3), o3(0xE7,0xAB,0xA5), + o3(0xE8,0x83,0xB4), o3(0xE8,0x90,0x84), + o3(0xE9,0x81,0x93), o3(0xE9,0x8A,0x85), + o3(0xE5,0xB3,0xA0), o3(0xE9,0xB4,0x87), + o3(0xE5,0x8C,0xBF), o3(0xE5,0xBE,0x97), + o3(0xE5,0xBE,0xB3), o3(0xE6,0xB6,0x9C), + o3(0xE7,0x89,0xB9), o3(0xE7,0x9D,0xA3), + o3(0xE7,0xA6,0xBF), o3(0xE7,0xAF,0xA4), + o3(0xE6,0xAF,0x92), o3(0xE7,0x8B,0xAC), + o3(0xE8,0xAA,0xAD), o3(0xE6,0xA0,0x83), + o3(0xE6,0xA9,0xA1), o3(0xE5,0x87,0xB8), + o3(0xE7,0xAA,0x81), o3(0xE6,0xA4,0xB4), + o3(0xE5,0xB1,0x8A), o3(0xE9,0xB3,0xB6), + o3(0xE8,0x8B,0xAB), o3(0xE5,0xAF,0x85), + o3(0xE9,0x85,0x89), o3(0xE7,0x80,0x9E), + o3(0xE5,0x99,0xB8), o3(0xE5,0xB1,0xAF), + o3(0xE6,0x83,0x87), o3(0xE6,0x95,0xA6), + o3(0xE6,0xB2,0x8C), o3(0xE8,0xB1,0x9A), + o3(0xE9,0x81,0x81), o3(0xE9,0xA0,0x93), + o3(0xE5,0x91,0x91), o3(0xE6,0x9B,0x87), + o3(0xE9,0x88,0x8D), o3(0xE5,0xA5,0x88), + o3(0xE9,0x82,0xA3), o3(0xE5,0x86,0x85), + o3(0xE4,0xB9,0x8D), o3(0xE5,0x87,0xAA), + o3(0xE8,0x96,0x99), o3(0xE8,0xAC,0x8E), + o3(0xE7,0x81,0x98), o3(0xE6,0x8D,0xBA), + o3(0xE9,0x8D,0x8B), o3(0xE6,0xA5,0xA2), + o3(0xE9,0xA6,0xB4), o3(0xE7,0xB8,0x84), + o3(0xE7,0x95,0xB7), o3(0xE5,0x8D,0x97), + o3(0xE6,0xA5,0xA0), o3(0xE8,0xBB,0x9F), + o3(0xE9,0x9B,0xA3), o3(0xE6,0xB1,0x9D), + o3(0xE4,0xBA,0x8C), o3(0xE5,0xB0,0xBC), + o3(0xE5,0xBC,0x90), o3(0xE8,0xBF,0xA9), + o3(0xE5,0x8C,0x82), o3(0xE8,0xB3,0x91), + o3(0xE8,0x82,0x89), o3(0xE8,0x99,0xB9), + o3(0xE5,0xBB,0xBF), o3(0xE6,0x97,0xA5), + o3(0xE4,0xB9,0xB3), o3(0xE5,0x85,0xA5), + UNDEF, +}; +static const BYTE_LOOKUP +from_EUC_JP_C6 = { + from_EUC_JP_A1_offsets, + from_EUC_JP_C6_infos +}; + +static const struct byte_lookup* const +from_EUC_JP_C7_infos[95] = { + o3(0xE5,0xA6,0x82), o3(0xE5,0xB0,0xBF), + o3(0xE9,0x9F,0xAE), o3(0xE4,0xBB,0xBB), + o3(0xE5,0xA6,0x8A), o3(0xE5,0xBF,0x8D), + o3(0xE8,0xAA,0x8D), o3(0xE6,0xBF,0xA1), + o3(0xE7,0xA6,0xB0), o3(0xE7,0xA5,0xA2), + o3(0xE5,0xAF,0xA7), o3(0xE8,0x91,0xB1), + o3(0xE7,0x8C,0xAB), o3(0xE7,0x86,0xB1), + o3(0xE5,0xB9,0xB4), o3(0xE5,0xBF,0xB5), + o3(0xE6,0x8D,0xBB), o3(0xE6,0x92,0x9A), + o3(0xE7,0x87,0x83), o3(0xE7,0xB2,0x98), + o3(0xE4,0xB9,0x83), o3(0xE5,0xBB,0xBC), + o3(0xE4,0xB9,0x8B), o3(0xE5,0x9F,0x9C), + o3(0xE5,0x9A,0xA2), o3(0xE6,0x82,0xA9), + o3(0xE6,0xBF,0x83), o3(0xE7,0xB4,0x8D), + o3(0xE8,0x83,0xBD), o3(0xE8,0x84,0xB3), + o3(0xE8,0x86,0xBF), o3(0xE8,0xBE,0xB2), + o3(0xE8,0xA6,0x97), o3(0xE8,0x9A,0xA4), + o3(0xE5,0xB7,0xB4), o3(0xE6,0x8A,0x8A), + o3(0xE6,0x92,0xAD), o3(0xE8,0xA6,0x87), + o3(0xE6,0x9D,0xB7), o3(0xE6,0xB3,0xA2), + o3(0xE6,0xB4,0xBE), o3(0xE7,0x90,0xB6), + o3(0xE7,0xA0,0xB4), o3(0xE5,0xA9,0x86), + o3(0xE7,0xBD,0xB5), o3(0xE8,0x8A,0xAD), + o3(0xE9,0xA6,0xAC), o3(0xE4,0xBF,0xB3), + o3(0xE5,0xBB,0x83), o3(0xE6,0x8B,0x9D), + o3(0xE6,0x8E,0x92), o3(0xE6,0x95,0x97), + o3(0xE6,0x9D,0xAF), o3(0xE7,0x9B,0x83), + o3(0xE7,0x89,0x8C), o3(0xE8,0x83,0x8C), + o3(0xE8,0x82,0xBA), o3(0xE8,0xBC,0xA9), + o3(0xE9,0x85,0x8D), o3(0xE5,0x80,0x8D), + o3(0xE5,0x9F,0xB9), o3(0xE5,0xAA,0x92), + o3(0xE6,0xA2,0x85), o3(0xE6,0xA5,0xB3), + o3(0xE7,0x85,0xA4), o3(0xE7,0x8B,0xBD), + o3(0xE8,0xB2,0xB7), o3(0xE5,0xA3,0xB2), + o3(0xE8,0xB3,0xA0), o3(0xE9,0x99,0xAA), + o3(0xE9,0x80,0x99), o3(0xE8,0x9D,0xBF), + o3(0xE7,0xA7,0xA4), o3(0xE7,0x9F,0xA7), + o3(0xE8,0x90,0xA9), o3(0xE4,0xBC,0xAF), + o3(0xE5,0x89,0xA5), o3(0xE5,0x8D,0x9A), + o3(0xE6,0x8B,0x8D), o3(0xE6,0x9F,0x8F), + o3(0xE6,0xB3,0x8A), o3(0xE7,0x99,0xBD), + o3(0xE7,0xAE,0x94), o3(0xE7,0xB2,0x95), + o3(0xE8,0x88,0xB6), o3(0xE8,0x96,0x84), + o3(0xE8,0xBF,0xAB), o3(0xE6,0x9B,0x9D), + o3(0xE6,0xBC,0xA0), o3(0xE7,0x88,0x86), + o3(0xE7,0xB8,0x9B), o3(0xE8,0x8E,0xAB), + o3(0xE9,0xA7,0x81), o3(0xE9,0xBA,0xA6), + UNDEF, +}; +static const BYTE_LOOKUP +from_EUC_JP_C7 = { + from_EUC_JP_A1_offsets, + from_EUC_JP_C7_infos +}; + +static const struct byte_lookup* const +from_EUC_JP_C8_infos[95] = { + o3(0xE5,0x87,0xBD), o3(0xE7,0xAE,0xB1), + o3(0xE7,0xA1,0xB2), o3(0xE7,0xAE,0xB8), + o3(0xE8,0x82,0x87), o3(0xE7,0xAD,0x88), + o3(0xE6,0xAB,0xA8), o3(0xE5,0xB9,0xA1), + o3(0xE8,0x82,0x8C), o3(0xE7,0x95,0x91), + o3(0xE7,0x95,0xA0), o3(0xE5,0x85,0xAB), + o3(0xE9,0x89,0xA2), o3(0xE6,0xBA,0x8C), + o3(0xE7,0x99,0xBA), o3(0xE9,0x86,0x97), + o3(0xE9,0xAB,0xAA), o3(0xE4,0xBC,0x90), + o3(0xE7,0xBD,0xB0), o3(0xE6,0x8A,0x9C), + o3(0xE7,0xAD,0x8F), o3(0xE9,0x96,0xA5), + o3(0xE9,0xB3,0xA9), o3(0xE5,0x99,0xBA), + o3(0xE5,0xA1,0x99), o3(0xE8,0x9B,0xA4), + o3(0xE9,0x9A,0xBC), o3(0xE4,0xBC,0xB4), + o3(0xE5,0x88,0xA4), o3(0xE5,0x8D,0x8A), + o3(0xE5,0x8F,0x8D), o3(0xE5,0x8F,0x9B), + o3(0xE5,0xB8,0x86), o3(0xE6,0x90,0xAC), + o3(0xE6,0x96,0x91), o3(0xE6,0x9D,0xBF), + o3(0xE6,0xB0,0xBE), o3(0xE6,0xB1,0x8E), + o3(0xE7,0x89,0x88), o3(0xE7,0x8A,0xAF), + o3(0xE7,0x8F,0xAD), o3(0xE7,0x95,0x94), + o3(0xE7,0xB9,0x81), o3(0xE8,0x88,0xAC), + o3(0xE8,0x97,0xA9), o3(0xE8,0xB2,0xA9), + o3(0xE7,0xAF,0x84), o3(0xE9,0x87,0x86), + o3(0xE7,0x85,0xA9), o3(0xE9,0xA0,0x92), + o3(0xE9,0xA3,0xAF), o3(0xE6,0x8C,0xBD), + o3(0xE6,0x99,0xA9), o3(0xE7,0x95,0xAA), + o3(0xE7,0x9B,0xA4), o3(0xE7,0xA3,0x90), + o3(0xE8,0x95,0x83), o3(0xE8,0x9B,0xAE), + o3(0xE5,0x8C,0xAA), o3(0xE5,0x8D,0x91), + o3(0xE5,0x90,0xA6), o3(0xE5,0xA6,0x83), + o3(0xE5,0xBA,0x87), o3(0xE5,0xBD,0xBC), + o3(0xE6,0x82,0xB2), o3(0xE6,0x89,0x89), + o3(0xE6,0x89,0xB9), o3(0xE6,0x8A,0xAB), + o3(0xE6,0x96,0x90), o3(0xE6,0xAF,0x94), + o3(0xE6,0xB3,0x8C), o3(0xE7,0x96,0xB2), + o3(0xE7,0x9A,0xAE), o3(0xE7,0xA2,0x91), + o3(0xE7,0xA7,0x98), o3(0xE7,0xB7,0x8B), + o3(0xE7,0xBD,0xB7), o3(0xE8,0x82,0xA5), + o3(0xE8,0xA2,0xAB), o3(0xE8,0xAA,0xB9), + o3(0xE8,0xB2,0xBB), o3(0xE9,0x81,0xBF), + o3(0xE9,0x9D,0x9E), o3(0xE9,0xA3,0x9B), + o3(0xE6,0xA8,0x8B), o3(0xE7,0xB0,0xB8), + o3(0xE5,0x82,0x99), o3(0xE5,0xB0,0xBE), + o3(0xE5,0xBE,0xAE), o3(0xE6,0x9E,0x87), + o3(0xE6,0xAF,0x98), o3(0xE7,0x90,0xB5), + o3(0xE7,0x9C,0x89), o3(0xE7,0xBE,0x8E), + UNDEF, +}; +static const BYTE_LOOKUP +from_EUC_JP_C8 = { + from_EUC_JP_A1_offsets, + from_EUC_JP_C8_infos +}; + +static const struct byte_lookup* const +from_EUC_JP_C9_infos[95] = { + o3(0xE9,0xBC,0xBB), o3(0xE6,0x9F,0x8A), + o3(0xE7,0xA8,0x97), o3(0xE5,0x8C,0xB9), + o3(0xE7,0x96,0x8B), o3(0xE9,0xAB,0xAD), + o3(0xE5,0xBD,0xA6), o3(0xE8,0x86,0x9D), + o3(0xE8,0x8F,0xB1), o3(0xE8,0x82,0x98), + o3(0xE5,0xBC,0xBC), o3(0xE5,0xBF,0x85), + o3(0xE7,0x95,0xA2), o3(0xE7,0xAD,0x86), + o3(0xE9,0x80,0xBC), o3(0xE6,0xA1,0xA7), + o3(0xE5,0xA7,0xAB), o3(0xE5,0xAA,0x9B), + o3(0xE7,0xB4,0x90), o3(0xE7,0x99,0xBE), + o3(0xE8,0xAC,0xAC), o3(0xE4,0xBF,0xB5), + o3(0xE5,0xBD,0xAA), o3(0xE6,0xA8,0x99), + o3(0xE6,0xB0,0xB7), o3(0xE6,0xBC,0x82), + o3(0xE7,0x93,0xA2), o3(0xE7,0xA5,0xA8), + o3(0xE8,0xA1,0xA8), o3(0xE8,0xA9,0x95), + o3(0xE8,0xB1,0xB9), o3(0xE5,0xBB,0x9F), + o3(0xE6,0x8F,0x8F), o3(0xE7,0x97,0x85), + o3(0xE7,0xA7,0x92), o3(0xE8,0x8B,0x97), + o3(0xE9,0x8C,0xA8), o3(0xE9,0x8B,0xB2), + o3(0xE8,0x92,0x9C), o3(0xE8,0x9B,0xAD), + o3(0xE9,0xB0,0xAD), o3(0xE5,0x93,0x81), + o3(0xE5,0xBD,0xAC), o3(0xE6,0x96,0x8C), + o3(0xE6,0xB5,0x9C), o3(0xE7,0x80,0x95), + o3(0xE8,0xB2,0xA7), o3(0xE8,0xB3,0x93), + o3(0xE9,0xA0,0xBB), o3(0xE6,0x95,0x8F), + o3(0xE7,0x93,0xB6), o3(0xE4,0xB8,0x8D), + o3(0xE4,0xBB,0x98), o3(0xE5,0x9F,0xA0), + o3(0xE5,0xA4,0xAB), o3(0xE5,0xA9,0xA6), + o3(0xE5,0xAF,0x8C), o3(0xE5,0x86,0xA8), + o3(0xE5,0xB8,0x83), o3(0xE5,0xBA,0x9C), + o3(0xE6,0x80,0x96), o3(0xE6,0x89,0xB6), + o3(0xE6,0x95,0xB7), o3(0xE6,0x96,0xA7), + o3(0xE6,0x99,0xAE), o3(0xE6,0xB5,0xAE), + o3(0xE7,0x88,0xB6), o3(0xE7,0xAC,0xA6), + o3(0xE8,0x85,0x90), o3(0xE8,0x86,0x9A), + o3(0xE8,0x8A,0x99), o3(0xE8,0xAD,0x9C), + o3(0xE8,0xB2,0xA0), o3(0xE8,0xB3,0xA6), + o3(0xE8,0xB5,0xB4), o3(0xE9,0x98,0x9C), + o3(0xE9,0x99,0x84), o3(0xE4,0xBE,0xAE), + o3(0xE6,0x92,0xAB), o3(0xE6,0xAD,0xA6), + o3(0xE8,0x88,0x9E), o3(0xE8,0x91,0xA1), + o3(0xE8,0x95,0xAA), o3(0xE9,0x83,0xA8), + o3(0xE5,0xB0,0x81), o3(0xE6,0xA5,0x93), + o3(0xE9,0xA2,0xA8), o3(0xE8,0x91,0xBA), + o3(0xE8,0x95,0x97), o3(0xE4,0xBC,0x8F), + o3(0xE5,0x89,0xAF), o3(0xE5,0xBE,0xA9), + o3(0xE5,0xB9,0x85), o3(0xE6,0x9C,0x8D), + UNDEF, +}; +static const BYTE_LOOKUP +from_EUC_JP_C9 = { + from_EUC_JP_A1_offsets, + from_EUC_JP_C9_infos +}; + +static const struct byte_lookup* const +from_EUC_JP_CA_infos[95] = { + o3(0xE7,0xA6,0x8F), o3(0xE8,0x85,0xB9), + o3(0xE8,0xA4,0x87), o3(0xE8,0xA6,0x86), + o3(0xE6,0xB7,0xB5), o3(0xE5,0xBC,0x97), + o3(0xE6,0x89,0x95), o3(0xE6,0xB2,0xB8), + o3(0xE4,0xBB,0x8F), o3(0xE7,0x89,0xA9), + o3(0xE9,0xAE,0x92), o3(0xE5,0x88,0x86), + o3(0xE5,0x90,0xBB), o3(0xE5,0x99,0xB4), + o3(0xE5,0xA2,0xB3), o3(0xE6,0x86,0xA4), + o3(0xE6,0x89,0xAE), o3(0xE7,0x84,0x9A), + o3(0xE5,0xA5,0xAE), o3(0xE7,0xB2,0x89), + o3(0xE7,0xB3,0x9E), o3(0xE7,0xB4,0x9B), + o3(0xE9,0x9B,0xB0), o3(0xE6,0x96,0x87), + o3(0xE8,0x81,0x9E), o3(0xE4,0xB8,0x99), + o3(0xE4,0xBD,0xB5), o3(0xE5,0x85,0xB5), + o3(0xE5,0xA1,0x80), o3(0xE5,0xB9,0xA3), + o3(0xE5,0xB9,0xB3), o3(0xE5,0xBC,0x8A), + o3(0xE6,0x9F,0x84), o3(0xE4,0xB8,0xA6), + o3(0xE8,0x94,0xBD), o3(0xE9,0x96,0x89), + o3(0xE9,0x99,0x9B), o3(0xE7,0xB1,0xB3), + o3(0xE9,0xA0,0x81), o3(0xE5,0x83,0xBB), + o3(0xE5,0xA3,0x81), o3(0xE7,0x99,0x96), + o3(0xE7,0xA2,0xA7), o3(0xE5,0x88,0xA5), + o3(0xE7,0x9E,0xA5), o3(0xE8,0x94,0x91), + o3(0xE7,0xAE,0x86), o3(0xE5,0x81,0x8F), + o3(0xE5,0xA4,0x89), o3(0xE7,0x89,0x87), + o3(0xE7,0xAF,0x87), o3(0xE7,0xB7,0xA8), + o3(0xE8,0xBE,0xBA), o3(0xE8,0xBF,0x94), + o3(0xE9,0x81,0x8D), o3(0xE4,0xBE,0xBF), + o3(0xE5,0x8B,0x89), o3(0xE5,0xA8,0xA9), + o3(0xE5,0xBC,0x81), o3(0xE9,0x9E,0xAD), + o3(0xE4,0xBF,0x9D), o3(0xE8,0x88,0x97), + o3(0xE9,0x8B,0xAA), o3(0xE5,0x9C,0x83), + o3(0xE6,0x8D,0x95), o3(0xE6,0xAD,0xA9), + o3(0xE7,0x94,0xAB), o3(0xE8,0xA3,0x9C), + o3(0xE8,0xBC,0x94), o3(0xE7,0xA9,0x82), + o3(0xE5,0x8B,0x9F), o3(0xE5,0xA2,0x93), + o3(0xE6,0x85,0x95), o3(0xE6,0x88,0x8A), + o3(0xE6,0x9A,0xAE), o3(0xE6,0xAF,0x8D), + o3(0xE7,0xB0,0xBF), o3(0xE8,0x8F,0xA9), + o3(0xE5,0x80,0xA3), o3(0xE4,0xBF,0xB8), + o3(0xE5,0x8C,0x85), o3(0xE5,0x91,0x86), + o3(0xE5,0xA0,0xB1), o3(0xE5,0xA5,0x89), + o3(0xE5,0xAE,0x9D), o3(0xE5,0xB3,0xB0), + o3(0xE5,0xB3,0xAF), o3(0xE5,0xB4,0xA9), + o3(0xE5,0xBA,0x96), o3(0xE6,0x8A,0xB1), + o3(0xE6,0x8D,0xA7), o3(0xE6,0x94,0xBE), + o3(0xE6,0x96,0xB9), o3(0xE6,0x9C,0x8B), + UNDEF, +}; +static const BYTE_LOOKUP +from_EUC_JP_CA = { + from_EUC_JP_A1_offsets, + from_EUC_JP_CA_infos +}; + +static const struct byte_lookup* const +from_EUC_JP_CB_infos[95] = { + o3(0xE6,0xB3,0x95), o3(0xE6,0xB3,0xA1), + o3(0xE7,0x83,0xB9), o3(0xE7,0xA0,0xB2), + o3(0xE7,0xB8,0xAB), o3(0xE8,0x83,0x9E), + o3(0xE8,0x8A,0xB3), o3(0xE8,0x90,0x8C), + o3(0xE8,0x93,0xAC), o3(0xE8,0x9C,0x82), + o3(0xE8,0xA4,0x92), o3(0xE8,0xA8,0xAA), + o3(0xE8,0xB1,0x8A), o3(0xE9,0x82,0xA6), + o3(0xE9,0x8B,0x92), o3(0xE9,0xA3,0xBD), + o3(0xE9,0xB3,0xB3), o3(0xE9,0xB5,0xAC), + o3(0xE4,0xB9,0x8F), o3(0xE4,0xBA,0xA1), + o3(0xE5,0x82,0x8D), o3(0xE5,0x89,0x96), + o3(0xE5,0x9D,0x8A), o3(0xE5,0xA6,0xA8), + o3(0xE5,0xB8,0xBD), o3(0xE5,0xBF,0x98), + o3(0xE5,0xBF,0x99), o3(0xE6,0x88,0xBF), + o3(0xE6,0x9A,0xB4), o3(0xE6,0x9C,0x9B), + o3(0xE6,0x9F,0x90), o3(0xE6,0xA3,0x92), + o3(0xE5,0x86,0x92), o3(0xE7,0xB4,0xA1), + o3(0xE8,0x82,0xAA), o3(0xE8,0x86,0xA8), + o3(0xE8,0xAC,0x80), o3(0xE8,0xB2,0x8C), + o3(0xE8,0xB2,0xBF), o3(0xE9,0x89,0xBE), + o3(0xE9,0x98,0xB2), o3(0xE5,0x90,0xA0), + o3(0xE9,0xA0,0xAC), o3(0xE5,0x8C,0x97), + o3(0xE5,0x83,0x95), o3(0xE5,0x8D,0x9C), + o3(0xE5,0xA2,0xA8), o3(0xE6,0x92,0xB2), + o3(0xE6,0x9C,0xB4), o3(0xE7,0x89,0xA7), + o3(0xE7,0x9D,0xA6), o3(0xE7,0xA9,0x86), + o3(0xE9,0x87,0xA6), o3(0xE5,0x8B,0x83), + o3(0xE6,0xB2,0xA1), o3(0xE6,0xAE,0x86), + o3(0xE5,0xA0,0x80), o3(0xE5,0xB9,0x8C), + o3(0xE5,0xA5,0x94), o3(0xE6,0x9C,0xAC), + o3(0xE7,0xBF,0xBB), o3(0xE5,0x87,0xA1), + o3(0xE7,0x9B,0x86), o3(0xE6,0x91,0xA9), + o3(0xE7,0xA3,0xA8), o3(0xE9,0xAD,0x94), + o3(0xE9,0xBA,0xBB), o3(0xE5,0x9F,0x8B), + o3(0xE5,0xA6,0xB9), o3(0xE6,0x98,0xA7), + o3(0xE6,0x9E,0x9A), o3(0xE6,0xAF,0x8E), + o3(0xE5,0x93,0xA9), o3(0xE6,0xA7,0x99), + o3(0xE5,0xB9,0x95), o3(0xE8,0x86,0x9C), + o3(0xE6,0x9E,0x95), o3(0xE9,0xAE,0xAA), + o3(0xE6,0x9F,0xBE), o3(0xE9,0xB1,0x92), + o3(0xE6,0xA1,0x9D), o3(0xE4,0xBA,0xA6), + o3(0xE4,0xBF,0xA3), o3(0xE5,0x8F,0x88), + o3(0xE6,0x8A,0xB9), o3(0xE6,0x9C,0xAB), + o3(0xE6,0xB2,0xAB), o3(0xE8,0xBF,0x84), + o3(0xE4,0xBE,0xAD), o3(0xE7,0xB9,0xAD), + o3(0xE9,0xBA,0xBF), o3(0xE4,0xB8,0x87), + o3(0xE6,0x85,0xA2), o3(0xE6,0xBA,0x80), + UNDEF, +}; +static const BYTE_LOOKUP +from_EUC_JP_CB = { + from_EUC_JP_A1_offsets, + from_EUC_JP_CB_infos +}; + +static const struct byte_lookup* const +from_EUC_JP_CC_infos[95] = { + o3(0xE6,0xBC,0xAB), o3(0xE8,0x94,0x93), + o3(0xE5,0x91,0xB3), o3(0xE6,0x9C,0xAA), + o3(0xE9,0xAD,0x85), o3(0xE5,0xB7,0xB3), + o3(0xE7,0xAE,0x95), o3(0xE5,0xB2,0xAC), + o3(0xE5,0xAF,0x86), o3(0xE8,0x9C,0x9C), + o3(0xE6,0xB9,0x8A), o3(0xE8,0x93,0x91), + o3(0xE7,0xA8,0x94), o3(0xE8,0x84,0x88), + o3(0xE5,0xA6,0x99), o3(0xE7,0xB2,0x8D), + o3(0xE6,0xB0,0x91), o3(0xE7,0x9C,0xA0), + o3(0xE5,0x8B,0x99), o3(0xE5,0xA4,0xA2), + o3(0xE7,0x84,0xA1), o3(0xE7,0x89,0x9F), + o3(0xE7,0x9F,0x9B), o3(0xE9,0x9C,0xA7), + o3(0xE9,0xB5,0xA1), o3(0xE6,0xA4,0x8B), + o3(0xE5,0xA9,0xBF), o3(0xE5,0xA8,0x98), + o3(0xE5,0x86,0xA5), o3(0xE5,0x90,0x8D), + o3(0xE5,0x91,0xBD), o3(0xE6,0x98,0x8E), + o3(0xE7,0x9B,0x9F), o3(0xE8,0xBF,0xB7), + o3(0xE9,0x8A,0x98), o3(0xE9,0xB3,0xB4), + o3(0xE5,0xA7,0xAA), o3(0xE7,0x89,0x9D), + o3(0xE6,0xBB,0x85), o3(0xE5,0x85,0x8D), + o3(0xE6,0xA3,0x89), o3(0xE7,0xB6,0xBF), + o3(0xE7,0xB7,0xAC), o3(0xE9,0x9D,0xA2), + o3(0xE9,0xBA,0xBA), o3(0xE6,0x91,0xB8), + o3(0xE6,0xA8,0xA1), o3(0xE8,0x8C,0x82), + o3(0xE5,0xA6,0x84), o3(0xE5,0xAD,0x9F), + o3(0xE6,0xAF,0x9B), o3(0xE7,0x8C,0x9B), + o3(0xE7,0x9B,0xB2), o3(0xE7,0xB6,0xB2), + o3(0xE8,0x80,0x97), o3(0xE8,0x92,0x99), + o3(0xE5,0x84,0xB2), o3(0xE6,0x9C,0xA8), + o3(0xE9,0xBB,0x99), o3(0xE7,0x9B,0xAE), + o3(0xE6,0x9D,0xA2), o3(0xE5,0x8B,0xBF), + o3(0xE9,0xA4,0x85), o3(0xE5,0xB0,0xA4), + o3(0xE6,0x88,0xBB), o3(0xE7,0xB1,0xBE), + o3(0xE8,0xB2,0xB0), o3(0xE5,0x95,0x8F), + o3(0xE6,0x82,0xB6), o3(0xE7,0xB4,0x8B), + o3(0xE9,0x96,0x80), o3(0xE5,0x8C,0x81), + o3(0xE4,0xB9,0x9F), o3(0xE5,0x86,0xB6), + o3(0xE5,0xA4,0x9C), o3(0xE7,0x88,0xBA), + o3(0xE8,0x80,0xB6), o3(0xE9,0x87,0x8E), + o3(0xE5,0xBC,0xA5), o3(0xE7,0x9F,0xA2), + o3(0xE5,0x8E,0x84), o3(0xE5,0xBD,0xB9), + o3(0xE7,0xB4,0x84), o3(0xE8,0x96,0xAC), + o3(0xE8,0xA8,0xB3), o3(0xE8,0xBA,0x8D), + o3(0xE9,0x9D,0x96), o3(0xE6,0x9F,0xB3), + o3(0xE8,0x96,0xAE), o3(0xE9,0x91,0x93), + o3(0xE6,0x84,0x89), o3(0xE6,0x84,0x88), + o3(0xE6,0xB2,0xB9), o3(0xE7,0x99,0x92), + UNDEF, +}; +static const BYTE_LOOKUP +from_EUC_JP_CC = { + from_EUC_JP_A1_offsets, + from_EUC_JP_CC_infos +}; + +static const struct byte_lookup* const +from_EUC_JP_CD_infos[95] = { + o3(0xE8,0xAB,0xAD), o3(0xE8,0xBC,0xB8), + o3(0xE5,0x94,0xAF), o3(0xE4,0xBD,0x91), + o3(0xE5,0x84,0xAA), o3(0xE5,0x8B,0x87), + o3(0xE5,0x8F,0x8B), o3(0xE5,0xAE,0xA5), + o3(0xE5,0xB9,0xBD), o3(0xE6,0x82,0xA0), + o3(0xE6,0x86,0x82), o3(0xE6,0x8F,0x96), + o3(0xE6,0x9C,0x89), o3(0xE6,0x9F,0x9A), + o3(0xE6,0xB9,0xA7), o3(0xE6,0xB6,0x8C), + o3(0xE7,0x8C,0xB6), o3(0xE7,0x8C,0xB7), + o3(0xE7,0x94,0xB1), o3(0xE7,0xA5,0x90), + o3(0xE8,0xA3,0x95), o3(0xE8,0xAA,0x98), + o3(0xE9,0x81,0x8A), o3(0xE9,0x82,0x91), + o3(0xE9,0x83,0xB5), o3(0xE9,0x9B,0x84), + o3(0xE8,0x9E,0x8D), o3(0xE5,0xA4,0x95), + o3(0xE4,0xBA,0x88), o3(0xE4,0xBD,0x99), + o3(0xE4,0xB8,0x8E), o3(0xE8,0xAA,0x89), + o3(0xE8,0xBC,0xBF), o3(0xE9,0xA0,0x90), + o3(0xE5,0x82,0xAD), o3(0xE5,0xB9,0xBC), + o3(0xE5,0xA6,0x96), o3(0xE5,0xAE,0xB9), + o3(0xE5,0xBA,0xB8), o3(0xE6,0x8F,0x9A), + o3(0xE6,0x8F,0xBA), o3(0xE6,0x93,0x81), + o3(0xE6,0x9B,0x9C), o3(0xE6,0xA5,0x8A), + o3(0xE6,0xA7,0x98), o3(0xE6,0xB4,0x8B), + o3(0xE6,0xBA,0xB6), o3(0xE7,0x86,0x94), + o3(0xE7,0x94,0xA8), o3(0xE7,0xAA,0xAF), + o3(0xE7,0xBE,0x8A), o3(0xE8,0x80,0x80), + o3(0xE8,0x91,0x89), o3(0xE8,0x93,0x89), + o3(0xE8,0xA6,0x81), o3(0xE8,0xAC,0xA1), + o3(0xE8,0xB8,0x8A), o3(0xE9,0x81,0xA5), + o3(0xE9,0x99,0xBD), o3(0xE9,0xA4,0x8A), + o3(0xE6,0x85,0xBE), o3(0xE6,0x8A,0x91), + o3(0xE6,0xAC,0xB2), o3(0xE6,0xB2,0x83), + o3(0xE6,0xB5,0xB4), o3(0xE7,0xBF,0x8C), + o3(0xE7,0xBF,0xBC), o3(0xE6,0xB7,0x80), + o3(0xE7,0xBE,0x85), o3(0xE8,0x9E,0xBA), + o3(0xE8,0xA3,0xB8), o3(0xE6,0x9D,0xA5), + o3(0xE8,0x8E,0xB1), o3(0xE9,0xA0,0xBC), + o3(0xE9,0x9B,0xB7), o3(0xE6,0xB4,0x9B), + o3(0xE7,0xB5,0xA1), o3(0xE8,0x90,0xBD), + o3(0xE9,0x85,0xAA), o3(0xE4,0xB9,0xB1), + o3(0xE5,0x8D,0xB5), o3(0xE5,0xB5,0x90), + o3(0xE6,0xAC,0x84), o3(0xE6,0xBF,0xAB), + o3(0xE8,0x97,0x8D), o3(0xE8,0x98,0xAD), + o3(0xE8,0xA6,0xA7), o3(0xE5,0x88,0xA9), + o3(0xE5,0x90,0x8F), o3(0xE5,0xB1,0xA5), + o3(0xE6,0x9D,0x8E), o3(0xE6,0xA2,0xA8), + o3(0xE7,0x90,0x86), o3(0xE7,0x92,0x83), + UNDEF, +}; +static const BYTE_LOOKUP +from_EUC_JP_CD = { + from_EUC_JP_A1_offsets, + from_EUC_JP_CD_infos +}; + +static const struct byte_lookup* const +from_EUC_JP_CE_infos[95] = { + o3(0xE7,0x97,0xA2), o3(0xE8,0xA3,0x8F), + o3(0xE8,0xA3,0xA1), o3(0xE9,0x87,0x8C), + o3(0xE9,0x9B,0xA2), o3(0xE9,0x99,0xB8), + o3(0xE5,0xBE,0x8B), o3(0xE7,0x8E,0x87), + o3(0xE7,0xAB,0x8B), o3(0xE8,0x91,0x8E), + o3(0xE6,0x8E,0xA0), o3(0xE7,0x95,0xA5), + o3(0xE5,0x8A,0x89), o3(0xE6,0xB5,0x81), + o3(0xE6,0xBA,0x9C), o3(0xE7,0x90,0x89), + o3(0xE7,0x95,0x99), o3(0xE7,0xA1,0xAB), + o3(0xE7,0xB2,0x92), o3(0xE9,0x9A,0x86), + o3(0xE7,0xAB,0x9C), o3(0xE9,0xBE,0x8D), + o3(0xE4,0xBE,0xB6), o3(0xE6,0x85,0xAE), + o3(0xE6,0x97,0x85), o3(0xE8,0x99,0x9C), + o3(0xE4,0xBA,0x86), o3(0xE4,0xBA,0xAE), + o3(0xE5,0x83,0x9A), o3(0xE4,0xB8,0xA1), + o3(0xE5,0x87,0x8C), o3(0xE5,0xAF,0xAE), + o3(0xE6,0x96,0x99), o3(0xE6,0xA2,0x81), + o3(0xE6,0xB6,0xBC), o3(0xE7,0x8C,0x9F), + o3(0xE7,0x99,0x82), o3(0xE7,0x9E,0xAD), + o3(0xE7,0xA8,0x9C), o3(0xE7,0xB3,0xA7), + o3(0xE8,0x89,0xAF), o3(0xE8,0xAB,0x92), + o3(0xE9,0x81,0xBC), o3(0xE9,0x87,0x8F), + o3(0xE9,0x99,0xB5), o3(0xE9,0xA0,0x98), + o3(0xE5,0x8A,0x9B), o3(0xE7,0xB7,0x91), + o3(0xE5,0x80,0xAB), o3(0xE5,0x8E,0x98), + o3(0xE6,0x9E,0x97), o3(0xE6,0xB7,0x8B), + o3(0xE7,0x87,0x90), o3(0xE7,0x90,0xB3), + o3(0xE8,0x87,0xA8), o3(0xE8,0xBC,0xAA), + o3(0xE9,0x9A,0xA3), o3(0xE9,0xB1,0x97), + o3(0xE9,0xBA,0x9F), o3(0xE7,0x91,0xA0), + o3(0xE5,0xA1,0x81), o3(0xE6,0xB6,0x99), + o3(0xE7,0xB4,0xAF), o3(0xE9,0xA1,0x9E), + o3(0xE4,0xBB,0xA4), o3(0xE4,0xBC,0xB6), + o3(0xE4,0xBE,0x8B), o3(0xE5,0x86,0xB7), + o3(0xE5,0x8A,0xB1), o3(0xE5,0xB6,0xBA), + o3(0xE6,0x80,0x9C), o3(0xE7,0x8E,0xB2), + o3(0xE7,0xA4,0xBC), o3(0xE8,0x8B,0x93), + o3(0xE9,0x88,0xB4), o3(0xE9,0x9A,0xB7), + o3(0xE9,0x9B,0xB6), o3(0xE9,0x9C,0x8A), + o3(0xE9,0xBA,0x97), o3(0xE9,0xBD,0xA2), + o3(0xE6,0x9A,0xA6), o3(0xE6,0xAD,0xB4), + o3(0xE5,0x88,0x97), o3(0xE5,0x8A,0xA3), + o3(0xE7,0x83,0x88), o3(0xE8,0xA3,0x82), + o3(0xE5,0xBB,0x89), o3(0xE6,0x81,0x8B), + o3(0xE6,0x86,0x90), o3(0xE6,0xBC,0xA3), + o3(0xE7,0x85,0x89), o3(0xE7,0xB0,0xBE), + o3(0xE7,0xB7,0xB4), o3(0xE8,0x81,0xAF), + UNDEF, +}; +static const BYTE_LOOKUP +from_EUC_JP_CE = { + from_EUC_JP_A1_offsets, + from_EUC_JP_CE_infos +}; + +static const unsigned char +from_EUC_JP_CF_offsets[256] = { + 51, 51, 51, 51, 51, 51, 51, 51, 51, 51, 51, 51, 51, 51, 51, 51, + 51, 51, 51, 51, 51, 51, 51, 51, 51, 51, 51, 51, 51, 51, 51, 51, + 51, 51, 51, 51, 51, 51, 51, 51, 51, 51, 51, 51, 51, 51, 51, 51, + 51, 51, 51, 51, 51, 51, 51, 51, 51, 51, 51, 51, 51, 51, 51, 51, + 51, 51, 51, 51, 51, 51, 51, 51, 51, 51, 51, 51, 51, 51, 51, 51, + 51, 51, 51, 51, 51, 51, 51, 51, 51, 51, 51, 51, 51, 51, 51, 51, + 51, 51, 51, 51, 51, 51, 51, 51, 51, 51, 51, 51, 51, 51, 51, 51, + 51, 51, 51, 51, 51, 51, 51, 51, 51, 51, 51, 51, 51, 51, 51, 51, + 51, 51, 51, 51, 51, 51, 51, 51, 51, 51, 51, 51, 51, 51, 51, 51, + 51, 51, 51, 51, 51, 51, 51, 51, 51, 51, 51, 51, 51, 51, 51, 51, + 51, 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, 51, 51, 51, 51, 51, 51, 51, 51, 51, 51, 51, + 51, 51, 51, 51, 51, 51, 51, 51, 51, 51, 51, 51, 51, 51, 51, 51, + 51, 51, 51, 51, 51, 51, 51, 51, 51, 51, 51, 51, 51, 51, 51, 51, +}; +static const struct byte_lookup* const +from_EUC_JP_CF_infos[52] = { + o3(0xE8,0x93,0xAE), o3(0xE9,0x80,0xA3), + o3(0xE9,0x8C,0xAC), o3(0xE5,0x91,0x82), + o3(0xE9,0xAD,0xAF), o3(0xE6,0xAB,0x93), + o3(0xE7,0x82,0x89), o3(0xE8,0xB3,0x82), + o3(0xE8,0xB7,0xAF), o3(0xE9,0x9C,0xB2), + o3(0xE5,0x8A,0xB4), o3(0xE5,0xA9,0x81), + o3(0xE5,0xBB,0x8A), o3(0xE5,0xBC,0x84), + o3(0xE6,0x9C,0x97), o3(0xE6,0xA5,0xBC), + o3(0xE6,0xA6,0x94), o3(0xE6,0xB5,0xAA), + o3(0xE6,0xBC,0x8F), o3(0xE7,0x89,0xA2), + o3(0xE7,0x8B,0xBC), o3(0xE7,0xAF,0xAD), + o3(0xE8,0x80,0x81), o3(0xE8,0x81,0xBE), + o3(0xE8,0x9D,0x8B), o3(0xE9,0x83,0x8E), + o3(0xE5,0x85,0xAD), o3(0xE9,0xBA,0x93), + o3(0xE7,0xA6,0x84), o3(0xE8,0x82,0x8B), + o3(0xE9,0x8C,0xB2), o3(0xE8,0xAB,0x96), + o3(0xE5,0x80,0xAD), o3(0xE5,0x92,0x8C), + o3(0xE8,0xA9,0xB1), o3(0xE6,0xAD,0xAA), + o3(0xE8,0xB3,0x84), o3(0xE8,0x84,0x87), + o3(0xE6,0x83,0x91), o3(0xE6,0x9E,0xA0), + o3(0xE9,0xB7,0xB2), o3(0xE4,0xBA,0x99), + o3(0xE4,0xBA,0x98), o3(0xE9,0xB0,0x90), + o3(0xE8,0xA9,0xAB), o3(0xE8,0x97,0x81), + o3(0xE8,0x95,0xA8), o3(0xE6,0xA4,0x80), + o3(0xE6,0xB9,0xBE), o3(0xE7,0xA2,0x97), + o3(0xE8,0x85,0x95), UNDEF, +}; +static const BYTE_LOOKUP +from_EUC_JP_CF = { + from_EUC_JP_CF_offsets, + from_EUC_JP_CF_infos +}; + +static const struct byte_lookup* const +from_EUC_JP_D0_infos[95] = { + o3(0xE5,0xBC,0x8C), o3(0xE4,0xB8,0x90), + o3(0xE4,0xB8,0x95), o3(0xE4,0xB8,0xAA), + o3(0xE4,0xB8,0xB1), o3(0xE4,0xB8,0xB6), + o3(0xE4,0xB8,0xBC), o3(0xE4,0xB8,0xBF), + o3(0xE4,0xB9,0x82), o3(0xE4,0xB9,0x96), + o3(0xE4,0xB9,0x98), o3(0xE4,0xBA,0x82), + o3(0xE4,0xBA,0x85), o3(0xE8,0xB1,0xAB), + o3(0xE4,0xBA,0x8A), o3(0xE8,0x88,0x92), + o3(0xE5,0xBC,0x8D), o3(0xE4,0xBA,0x8E), + o3(0xE4,0xBA,0x9E), o3(0xE4,0xBA,0x9F), + o3(0xE4,0xBA,0xA0), o3(0xE4,0xBA,0xA2), + o3(0xE4,0xBA,0xB0), o3(0xE4,0xBA,0xB3), + o3(0xE4,0xBA,0xB6), o3(0xE4,0xBB,0x8E), + o3(0xE4,0xBB,0x8D), o3(0xE4,0xBB,0x84), + o3(0xE4,0xBB,0x86), o3(0xE4,0xBB,0x82), + o3(0xE4,0xBB,0x97), o3(0xE4,0xBB,0x9E), + o3(0xE4,0xBB,0xAD), o3(0xE4,0xBB,0x9F), + o3(0xE4,0xBB,0xB7), o3(0xE4,0xBC,0x89), + o3(0xE4,0xBD,0x9A), o3(0xE4,0xBC,0xB0), + o3(0xE4,0xBD,0x9B), o3(0xE4,0xBD,0x9D), + o3(0xE4,0xBD,0x97), o3(0xE4,0xBD,0x87), + o3(0xE4,0xBD,0xB6), o3(0xE4,0xBE,0x88), + o3(0xE4,0xBE,0x8F), o3(0xE4,0xBE,0x98), + o3(0xE4,0xBD,0xBB), o3(0xE4,0xBD,0xA9), + o3(0xE4,0xBD,0xB0), o3(0xE4,0xBE,0x91), + o3(0xE4,0xBD,0xAF), o3(0xE4,0xBE,0x86), + o3(0xE4,0xBE,0x96), o3(0xE5,0x84,0x98), + o3(0xE4,0xBF,0x94), o3(0xE4,0xBF,0x9F), + o3(0xE4,0xBF,0x8E), o3(0xE4,0xBF,0x98), + o3(0xE4,0xBF,0x9B), o3(0xE4,0xBF,0x91), + o3(0xE4,0xBF,0x9A), o3(0xE4,0xBF,0x90), + o3(0xE4,0xBF,0xA4), o3(0xE4,0xBF,0xA5), + o3(0xE5,0x80,0x9A), o3(0xE5,0x80,0xA8), + o3(0xE5,0x80,0x94), o3(0xE5,0x80,0xAA), + o3(0xE5,0x80,0xA5), o3(0xE5,0x80,0x85), + o3(0xE4,0xBC,0x9C), o3(0xE4,0xBF,0xB6), + o3(0xE5,0x80,0xA1), o3(0xE5,0x80,0xA9), + o3(0xE5,0x80,0xAC), o3(0xE4,0xBF,0xBE), + o3(0xE4,0xBF,0xAF), o3(0xE5,0x80,0x91), + o3(0xE5,0x80,0x86), o3(0xE5,0x81,0x83), + o3(0xE5,0x81,0x87), o3(0xE6,0x9C,0x83), + o3(0xE5,0x81,0x95), o3(0xE5,0x81,0x90), + o3(0xE5,0x81,0x88), o3(0xE5,0x81,0x9A), + o3(0xE5,0x81,0x96), o3(0xE5,0x81,0xAC), + o3(0xE5,0x81,0xB8), o3(0xE5,0x82,0x80), + o3(0xE5,0x82,0x9A), o3(0xE5,0x82,0x85), + o3(0xE5,0x82,0xB4), o3(0xE5,0x82,0xB2), + UNDEF, +}; +static const BYTE_LOOKUP +from_EUC_JP_D0 = { + from_EUC_JP_A1_offsets, + from_EUC_JP_D0_infos +}; + +static const struct byte_lookup* const +from_EUC_JP_D1_infos[95] = { + o3(0xE5,0x83,0x89), o3(0xE5,0x83,0x8A), + o3(0xE5,0x82,0xB3), o3(0xE5,0x83,0x82), + o3(0xE5,0x83,0x96), o3(0xE5,0x83,0x9E), + o3(0xE5,0x83,0xA5), o3(0xE5,0x83,0xAD), + o3(0xE5,0x83,0xA3), o3(0xE5,0x83,0xAE), + o3(0xE5,0x83,0xB9), o3(0xE5,0x83,0xB5), + o3(0xE5,0x84,0x89), o3(0xE5,0x84,0x81), + o3(0xE5,0x84,0x82), o3(0xE5,0x84,0x96), + o3(0xE5,0x84,0x95), o3(0xE5,0x84,0x94), + o3(0xE5,0x84,0x9A), o3(0xE5,0x84,0xA1), + o3(0xE5,0x84,0xBA), o3(0xE5,0x84,0xB7), + o3(0xE5,0x84,0xBC), o3(0xE5,0x84,0xBB), + o3(0xE5,0x84,0xBF), o3(0xE5,0x85,0x80), + o3(0xE5,0x85,0x92), o3(0xE5,0x85,0x8C), + o3(0xE5,0x85,0x94), o3(0xE5,0x85,0xA2), + o3(0xE7,0xAB,0xB8), o3(0xE5,0x85,0xA9), + o3(0xE5,0x85,0xAA), o3(0xE5,0x85,0xAE), + o3(0xE5,0x86,0x80), o3(0xE5,0x86,0x82), + o3(0xE5,0x9B,0x98), o3(0xE5,0x86,0x8C), + o3(0xE5,0x86,0x89), o3(0xE5,0x86,0x8F), + o3(0xE5,0x86,0x91), o3(0xE5,0x86,0x93), + o3(0xE5,0x86,0x95), o3(0xE5,0x86,0x96), + o3(0xE5,0x86,0xA4), o3(0xE5,0x86,0xA6), + o3(0xE5,0x86,0xA2), o3(0xE5,0x86,0xA9), + o3(0xE5,0x86,0xAA), o3(0xE5,0x86,0xAB), + o3(0xE5,0x86,0xB3), o3(0xE5,0x86,0xB1), + o3(0xE5,0x86,0xB2), o3(0xE5,0x86,0xB0), + o3(0xE5,0x86,0xB5), o3(0xE5,0x86,0xBD), + o3(0xE5,0x87,0x85), o3(0xE5,0x87,0x89), + o3(0xE5,0x87,0x9B), o3(0xE5,0x87,0xA0), + o3(0xE8,0x99,0x95), o3(0xE5,0x87,0xA9), + o3(0xE5,0x87,0xAD), o3(0xE5,0x87,0xB0), + o3(0xE5,0x87,0xB5), o3(0xE5,0x87,0xBE), + o3(0xE5,0x88,0x84), o3(0xE5,0x88,0x8B), + o3(0xE5,0x88,0x94), o3(0xE5,0x88,0x8E), + o3(0xE5,0x88,0xA7), o3(0xE5,0x88,0xAA), + o3(0xE5,0x88,0xAE), o3(0xE5,0x88,0xB3), + o3(0xE5,0x88,0xB9), o3(0xE5,0x89,0x8F), + o3(0xE5,0x89,0x84), o3(0xE5,0x89,0x8B), + o3(0xE5,0x89,0x8C), o3(0xE5,0x89,0x9E), + o3(0xE5,0x89,0x94), o3(0xE5,0x89,0xAA), + o3(0xE5,0x89,0xB4), o3(0xE5,0x89,0xA9), + o3(0xE5,0x89,0xB3), o3(0xE5,0x89,0xBF), + o3(0xE5,0x89,0xBD), o3(0xE5,0x8A,0x8D), + o3(0xE5,0x8A,0x94), o3(0xE5,0x8A,0x92), + o3(0xE5,0x89,0xB1), o3(0xE5,0x8A,0x88), + o3(0xE5,0x8A,0x91), o3(0xE8,0xBE,0xA8), + UNDEF, +}; +static const BYTE_LOOKUP +from_EUC_JP_D1 = { + from_EUC_JP_A1_offsets, + from_EUC_JP_D1_infos +}; + +static const struct byte_lookup* const +from_EUC_JP_D2_infos[95] = { + o3(0xE8,0xBE,0xA7), o3(0xE5,0x8A,0xAC), + o3(0xE5,0x8A,0xAD), o3(0xE5,0x8A,0xBC), + o3(0xE5,0x8A,0xB5), o3(0xE5,0x8B,0x81), + o3(0xE5,0x8B,0x8D), o3(0xE5,0x8B,0x97), + o3(0xE5,0x8B,0x9E), o3(0xE5,0x8B,0xA3), + o3(0xE5,0x8B,0xA6), o3(0xE9,0xA3,0xAD), + o3(0xE5,0x8B,0xA0), o3(0xE5,0x8B,0xB3), + o3(0xE5,0x8B,0xB5), o3(0xE5,0x8B,0xB8), + o3(0xE5,0x8B,0xB9), o3(0xE5,0x8C,0x86), + o3(0xE5,0x8C,0x88), o3(0xE7,0x94,0xB8), + o3(0xE5,0x8C,0x8D), o3(0xE5,0x8C,0x90), + o3(0xE5,0x8C,0x8F), o3(0xE5,0x8C,0x95), + o3(0xE5,0x8C,0x9A), o3(0xE5,0x8C,0xA3), + o3(0xE5,0x8C,0xAF), o3(0xE5,0x8C,0xB1), + o3(0xE5,0x8C,0xB3), o3(0xE5,0x8C,0xB8), + o3(0xE5,0x8D,0x80), o3(0xE5,0x8D,0x86), + o3(0xE5,0x8D,0x85), o3(0xE4,0xB8,0x97), + o3(0xE5,0x8D,0x89), o3(0xE5,0x8D,0x8D), + o3(0xE5,0x87,0x96), o3(0xE5,0x8D,0x9E), + o3(0xE5,0x8D,0xA9), o3(0xE5,0x8D,0xAE), + o3(0xE5,0xA4,0x98), o3(0xE5,0x8D,0xBB), + o3(0xE5,0x8D,0xB7), o3(0xE5,0x8E,0x82), + o3(0xE5,0x8E,0x96), o3(0xE5,0x8E,0xA0), + o3(0xE5,0x8E,0xA6), o3(0xE5,0x8E,0xA5), + o3(0xE5,0x8E,0xAE), o3(0xE5,0x8E,0xB0), + o3(0xE5,0x8E,0xB6), o3(0xE5,0x8F,0x83), + o3(0xE7,0xB0,0x92), o3(0xE9,0x9B,0x99), + o3(0xE5,0x8F,0x9F), o3(0xE6,0x9B,0xBC), + o3(0xE7,0x87,0xAE), o3(0xE5,0x8F,0xAE), + o3(0xE5,0x8F,0xA8), o3(0xE5,0x8F,0xAD), + o3(0xE5,0x8F,0xBA), o3(0xE5,0x90,0x81), + o3(0xE5,0x90,0xBD), o3(0xE5,0x91,0x80), + o3(0xE5,0x90,0xAC), o3(0xE5,0x90,0xAD), + o3(0xE5,0x90,0xBC), o3(0xE5,0x90,0xAE), + o3(0xE5,0x90,0xB6), o3(0xE5,0x90,0xA9), + o3(0xE5,0x90,0x9D), o3(0xE5,0x91,0x8E), + o3(0xE5,0x92,0x8F), o3(0xE5,0x91,0xB5), + o3(0xE5,0x92,0x8E), o3(0xE5,0x91,0x9F), + o3(0xE5,0x91,0xB1), o3(0xE5,0x91,0xB7), + o3(0xE5,0x91,0xB0), o3(0xE5,0x92,0x92), + o3(0xE5,0x91,0xBB), o3(0xE5,0x92,0x80), + o3(0xE5,0x91,0xB6), o3(0xE5,0x92,0x84), + o3(0xE5,0x92,0x90), o3(0xE5,0x92,0x86), + o3(0xE5,0x93,0x87), o3(0xE5,0x92,0xA2), + o3(0xE5,0x92,0xB8), o3(0xE5,0x92,0xA5), + o3(0xE5,0x92,0xAC), o3(0xE5,0x93,0x84), + o3(0xE5,0x93,0x88), o3(0xE5,0x92,0xA8), + UNDEF, +}; +static const BYTE_LOOKUP +from_EUC_JP_D2 = { + from_EUC_JP_A1_offsets, + from_EUC_JP_D2_infos +}; + +static const struct byte_lookup* const +from_EUC_JP_D3_infos[95] = { + o3(0xE5,0x92,0xAB), o3(0xE5,0x93,0x82), + o3(0xE5,0x92,0xA4), o3(0xE5,0x92,0xBE), + o3(0xE5,0x92,0xBC), o3(0xE5,0x93,0x98), + o3(0xE5,0x93,0xA5), o3(0xE5,0x93,0xA6), + o3(0xE5,0x94,0x8F), o3(0xE5,0x94,0x94), + o3(0xE5,0x93,0xBD), o3(0xE5,0x93,0xAE), + o3(0xE5,0x93,0xAD), o3(0xE5,0x93,0xBA), + o3(0xE5,0x93,0xA2), o3(0xE5,0x94,0xB9), + o3(0xE5,0x95,0x80), o3(0xE5,0x95,0xA3), + o3(0xE5,0x95,0x8C), o3(0xE5,0x94,0xAE), + o3(0xE5,0x95,0x9C), o3(0xE5,0x95,0x85), + o3(0xE5,0x95,0x96), o3(0xE5,0x95,0x97), + o3(0xE5,0x94,0xB8), o3(0xE5,0x94,0xB3), + o3(0xE5,0x95,0x9D), o3(0xE5,0x96,0x99), + o3(0xE5,0x96,0x80), o3(0xE5,0x92,0xAF), + o3(0xE5,0x96,0x8A), o3(0xE5,0x96,0x9F), + o3(0xE5,0x95,0xBB), o3(0xE5,0x95,0xBE), + o3(0xE5,0x96,0x98), o3(0xE5,0x96,0x9E), + o3(0xE5,0x96,0xAE), o3(0xE5,0x95,0xBC), + o3(0xE5,0x96,0x83), o3(0xE5,0x96,0xA9), + o3(0xE5,0x96,0x87), o3(0xE5,0x96,0xA8), + o3(0xE5,0x97,0x9A), o3(0xE5,0x97,0x85), + o3(0xE5,0x97,0x9F), o3(0xE5,0x97,0x84), + o3(0xE5,0x97,0x9C), o3(0xE5,0x97,0xA4), + o3(0xE5,0x97,0x94), o3(0xE5,0x98,0x94), + o3(0xE5,0x97,0xB7), o3(0xE5,0x98,0x96), + o3(0xE5,0x97,0xBE), o3(0xE5,0x97,0xBD), + o3(0xE5,0x98,0x9B), o3(0xE5,0x97,0xB9), + o3(0xE5,0x99,0x8E), o3(0xE5,0x99,0x90), + o3(0xE7,0x87,0x9F), o3(0xE5,0x98,0xB4), + o3(0xE5,0x98,0xB6), o3(0xE5,0x98,0xB2), + o3(0xE5,0x98,0xB8), o3(0xE5,0x99,0xAB), + o3(0xE5,0x99,0xA4), o3(0xE5,0x98,0xAF), + o3(0xE5,0x99,0xAC), o3(0xE5,0x99,0xAA), + o3(0xE5,0x9A,0x86), o3(0xE5,0x9A,0x80), + o3(0xE5,0x9A,0x8A), o3(0xE5,0x9A,0xA0), + o3(0xE5,0x9A,0x94), o3(0xE5,0x9A,0x8F), + o3(0xE5,0x9A,0xA5), o3(0xE5,0x9A,0xAE), + o3(0xE5,0x9A,0xB6), o3(0xE5,0x9A,0xB4), + o3(0xE5,0x9B,0x82), o3(0xE5,0x9A,0xBC), + o3(0xE5,0x9B,0x81), o3(0xE5,0x9B,0x83), + o3(0xE5,0x9B,0x80), o3(0xE5,0x9B,0x88), + o3(0xE5,0x9B,0x8E), o3(0xE5,0x9B,0x91), + o3(0xE5,0x9B,0x93), o3(0xE5,0x9B,0x97), + o3(0xE5,0x9B,0xAE), o3(0xE5,0x9B,0xB9), + o3(0xE5,0x9C,0x80), o3(0xE5,0x9B,0xBF), + o3(0xE5,0x9C,0x84), o3(0xE5,0x9C,0x89), + UNDEF, +}; +static const BYTE_LOOKUP +from_EUC_JP_D3 = { + from_EUC_JP_A1_offsets, + from_EUC_JP_D3_infos +}; + +static const struct byte_lookup* const +from_EUC_JP_D4_infos[95] = { + o3(0xE5,0x9C,0x88), o3(0xE5,0x9C,0x8B), + o3(0xE5,0x9C,0x8D), o3(0xE5,0x9C,0x93), + o3(0xE5,0x9C,0x98), o3(0xE5,0x9C,0x96), + o3(0xE5,0x97,0x87), o3(0xE5,0x9C,0x9C), + o3(0xE5,0x9C,0xA6), o3(0xE5,0x9C,0xB7), + o3(0xE5,0x9C,0xB8), o3(0xE5,0x9D,0x8E), + o3(0xE5,0x9C,0xBB), o3(0xE5,0x9D,0x80), + o3(0xE5,0x9D,0x8F), o3(0xE5,0x9D,0xA9), + o3(0xE5,0x9F,0x80), o3(0xE5,0x9E,0x88), + o3(0xE5,0x9D,0xA1), o3(0xE5,0x9D,0xBF), + o3(0xE5,0x9E,0x89), o3(0xE5,0x9E,0x93), + o3(0xE5,0x9E,0xA0), o3(0xE5,0x9E,0xB3), + o3(0xE5,0x9E,0xA4), o3(0xE5,0x9E,0xAA), + o3(0xE5,0x9E,0xB0), o3(0xE5,0x9F,0x83), + o3(0xE5,0x9F,0x86), o3(0xE5,0x9F,0x94), + o3(0xE5,0x9F,0x92), o3(0xE5,0x9F,0x93), + o3(0xE5,0xA0,0x8A), o3(0xE5,0x9F,0x96), + o3(0xE5,0x9F,0xA3), o3(0xE5,0xA0,0x8B), + o3(0xE5,0xA0,0x99), o3(0xE5,0xA0,0x9D), + o3(0xE5,0xA1,0xB2), o3(0xE5,0xA0,0xA1), + o3(0xE5,0xA1,0xA2), o3(0xE5,0xA1,0x8B), + o3(0xE5,0xA1,0xB0), o3(0xE6,0xAF,0x80), + o3(0xE5,0xA1,0x92), o3(0xE5,0xA0,0xBD), + o3(0xE5,0xA1,0xB9), o3(0xE5,0xA2,0x85), + o3(0xE5,0xA2,0xB9), o3(0xE5,0xA2,0x9F), + o3(0xE5,0xA2,0xAB), o3(0xE5,0xA2,0xBA), + o3(0xE5,0xA3,0x9E), o3(0xE5,0xA2,0xBB), + o3(0xE5,0xA2,0xB8), o3(0xE5,0xA2,0xAE), + o3(0xE5,0xA3,0x85), o3(0xE5,0xA3,0x93), + o3(0xE5,0xA3,0x91), o3(0xE5,0xA3,0x97), + o3(0xE5,0xA3,0x99), o3(0xE5,0xA3,0x98), + o3(0xE5,0xA3,0xA5), o3(0xE5,0xA3,0x9C), + o3(0xE5,0xA3,0xA4), o3(0xE5,0xA3,0x9F), + o3(0xE5,0xA3,0xAF), o3(0xE5,0xA3,0xBA), + o3(0xE5,0xA3,0xB9), o3(0xE5,0xA3,0xBB), + o3(0xE5,0xA3,0xBC), o3(0xE5,0xA3,0xBD), + o3(0xE5,0xA4,0x82), o3(0xE5,0xA4,0x8A), + o3(0xE5,0xA4,0x90), o3(0xE5,0xA4,0x9B), + o3(0xE6,0xA2,0xA6), o3(0xE5,0xA4,0xA5), + o3(0xE5,0xA4,0xAC), o3(0xE5,0xA4,0xAD), + o3(0xE5,0xA4,0xB2), o3(0xE5,0xA4,0xB8), + o3(0xE5,0xA4,0xBE), o3(0xE7,0xAB,0x92), + o3(0xE5,0xA5,0x95), o3(0xE5,0xA5,0x90), + o3(0xE5,0xA5,0x8E), o3(0xE5,0xA5,0x9A), + o3(0xE5,0xA5,0x98), o3(0xE5,0xA5,0xA2), + o3(0xE5,0xA5,0xA0), o3(0xE5,0xA5,0xA7), + o3(0xE5,0xA5,0xAC), o3(0xE5,0xA5,0xA9), + UNDEF, +}; +static const BYTE_LOOKUP +from_EUC_JP_D4 = { + from_EUC_JP_A1_offsets, + from_EUC_JP_D4_infos +}; + +static const struct byte_lookup* const +from_EUC_JP_D5_infos[95] = { + o3(0xE5,0xA5,0xB8), o3(0xE5,0xA6,0x81), + o3(0xE5,0xA6,0x9D), o3(0xE4,0xBD,0x9E), + o3(0xE4,0xBE,0xAB), o3(0xE5,0xA6,0xA3), + o3(0xE5,0xA6,0xB2), o3(0xE5,0xA7,0x86), + o3(0xE5,0xA7,0xA8), o3(0xE5,0xA7,0x9C), + o3(0xE5,0xA6,0x8D), o3(0xE5,0xA7,0x99), + o3(0xE5,0xA7,0x9A), o3(0xE5,0xA8,0xA5), + o3(0xE5,0xA8,0x9F), o3(0xE5,0xA8,0x91), + o3(0xE5,0xA8,0x9C), o3(0xE5,0xA8,0x89), + o3(0xE5,0xA8,0x9A), o3(0xE5,0xA9,0x80), + o3(0xE5,0xA9,0xAC), o3(0xE5,0xA9,0x89), + o3(0xE5,0xA8,0xB5), o3(0xE5,0xA8,0xB6), + o3(0xE5,0xA9,0xA2), o3(0xE5,0xA9,0xAA), + o3(0xE5,0xAA,0x9A), o3(0xE5,0xAA,0xBC), + o3(0xE5,0xAA,0xBE), o3(0xE5,0xAB,0x8B), + o3(0xE5,0xAB,0x82), o3(0xE5,0xAA,0xBD), + o3(0xE5,0xAB,0xA3), o3(0xE5,0xAB,0x97), + o3(0xE5,0xAB,0xA6), o3(0xE5,0xAB,0xA9), + o3(0xE5,0xAB,0x96), o3(0xE5,0xAB,0xBA), + o3(0xE5,0xAB,0xBB), o3(0xE5,0xAC,0x8C), + o3(0xE5,0xAC,0x8B), o3(0xE5,0xAC,0x96), + o3(0xE5,0xAC,0xB2), o3(0xE5,0xAB,0x90), + o3(0xE5,0xAC,0xAA), o3(0xE5,0xAC,0xB6), + o3(0xE5,0xAC,0xBE), o3(0xE5,0xAD,0x83), + o3(0xE5,0xAD,0x85), o3(0xE5,0xAD,0x80), + o3(0xE5,0xAD,0x91), o3(0xE5,0xAD,0x95), + o3(0xE5,0xAD,0x9A), o3(0xE5,0xAD,0x9B), + o3(0xE5,0xAD,0xA5), o3(0xE5,0xAD,0xA9), + o3(0xE5,0xAD,0xB0), o3(0xE5,0xAD,0xB3), + o3(0xE5,0xAD,0xB5), o3(0xE5,0xAD,0xB8), + o3(0xE6,0x96,0x88), o3(0xE5,0xAD,0xBA), + o3(0xE5,0xAE,0x80), o3(0xE5,0xAE,0x83), + o3(0xE5,0xAE,0xA6), o3(0xE5,0xAE,0xB8), + o3(0xE5,0xAF,0x83), o3(0xE5,0xAF,0x87), + o3(0xE5,0xAF,0x89), o3(0xE5,0xAF,0x94), + o3(0xE5,0xAF,0x90), o3(0xE5,0xAF,0xA4), + o3(0xE5,0xAF,0xA6), o3(0xE5,0xAF,0xA2), + o3(0xE5,0xAF,0x9E), o3(0xE5,0xAF,0xA5), + o3(0xE5,0xAF,0xAB), o3(0xE5,0xAF,0xB0), + o3(0xE5,0xAF,0xB6), o3(0xE5,0xAF,0xB3), + o3(0xE5,0xB0,0x85), o3(0xE5,0xB0,0x87), + o3(0xE5,0xB0,0x88), o3(0xE5,0xB0,0x8D), + o3(0xE5,0xB0,0x93), o3(0xE5,0xB0,0xA0), + o3(0xE5,0xB0,0xA2), o3(0xE5,0xB0,0xA8), + o3(0xE5,0xB0,0xB8), o3(0xE5,0xB0,0xB9), + o3(0xE5,0xB1,0x81), o3(0xE5,0xB1,0x86), + o3(0xE5,0xB1,0x8E), o3(0xE5,0xB1,0x93), + UNDEF, +}; +static const BYTE_LOOKUP +from_EUC_JP_D5 = { + from_EUC_JP_A1_offsets, + from_EUC_JP_D5_infos +}; + +static const struct byte_lookup* const +from_EUC_JP_D6_infos[95] = { + o3(0xE5,0xB1,0x90), o3(0xE5,0xB1,0x8F), + o3(0xE5,0xAD,0xB1), o3(0xE5,0xB1,0xAC), + o3(0xE5,0xB1,0xAE), o3(0xE4,0xB9,0xA2), + o3(0xE5,0xB1,0xB6), o3(0xE5,0xB1,0xB9), + o3(0xE5,0xB2,0x8C), o3(0xE5,0xB2,0x91), + o3(0xE5,0xB2,0x94), o3(0xE5,0xA6,0x9B), + o3(0xE5,0xB2,0xAB), o3(0xE5,0xB2,0xBB), + o3(0xE5,0xB2,0xB6), o3(0xE5,0xB2,0xBC), + o3(0xE5,0xB2,0xB7), o3(0xE5,0xB3,0x85), + o3(0xE5,0xB2,0xBE), o3(0xE5,0xB3,0x87), + o3(0xE5,0xB3,0x99), o3(0xE5,0xB3,0xA9), + o3(0xE5,0xB3,0xBD), o3(0xE5,0xB3,0xBA), + o3(0xE5,0xB3,0xAD), o3(0xE5,0xB6,0x8C), + o3(0xE5,0xB3,0xAA), o3(0xE5,0xB4,0x8B), + o3(0xE5,0xB4,0x95), o3(0xE5,0xB4,0x97), + o3(0xE5,0xB5,0x9C), o3(0xE5,0xB4,0x9F), + o3(0xE5,0xB4,0x9B), o3(0xE5,0xB4,0x91), + o3(0xE5,0xB4,0x94), o3(0xE5,0xB4,0xA2), + o3(0xE5,0xB4,0x9A), o3(0xE5,0xB4,0x99), + o3(0xE5,0xB4,0x98), o3(0xE5,0xB5,0x8C), + o3(0xE5,0xB5,0x92), o3(0xE5,0xB5,0x8E), + o3(0xE5,0xB5,0x8B), o3(0xE5,0xB5,0xAC), + o3(0xE5,0xB5,0xB3), o3(0xE5,0xB5,0xB6), + o3(0xE5,0xB6,0x87), o3(0xE5,0xB6,0x84), + o3(0xE5,0xB6,0x82), o3(0xE5,0xB6,0xA2), + o3(0xE5,0xB6,0x9D), o3(0xE5,0xB6,0xAC), + o3(0xE5,0xB6,0xAE), o3(0xE5,0xB6,0xBD), + o3(0xE5,0xB6,0x90), o3(0xE5,0xB6,0xB7), + o3(0xE5,0xB6,0xBC), o3(0xE5,0xB7,0x89), + o3(0xE5,0xB7,0x8D), o3(0xE5,0xB7,0x93), + o3(0xE5,0xB7,0x92), o3(0xE5,0xB7,0x96), + o3(0xE5,0xB7,0x9B), o3(0xE5,0xB7,0xAB), + o3(0xE5,0xB7,0xB2), o3(0xE5,0xB7,0xB5), + o3(0xE5,0xB8,0x8B), o3(0xE5,0xB8,0x9A), + o3(0xE5,0xB8,0x99), o3(0xE5,0xB8,0x91), + o3(0xE5,0xB8,0x9B), o3(0xE5,0xB8,0xB6), + o3(0xE5,0xB8,0xB7), o3(0xE5,0xB9,0x84), + o3(0xE5,0xB9,0x83), o3(0xE5,0xB9,0x80), + o3(0xE5,0xB9,0x8E), o3(0xE5,0xB9,0x97), + o3(0xE5,0xB9,0x94), o3(0xE5,0xB9,0x9F), + o3(0xE5,0xB9,0xA2), o3(0xE5,0xB9,0xA4), + o3(0xE5,0xB9,0x87), o3(0xE5,0xB9,0xB5), + o3(0xE5,0xB9,0xB6), o3(0xE5,0xB9,0xBA), + o3(0xE9,0xBA,0xBC), o3(0xE5,0xB9,0xBF), + o3(0xE5,0xBA,0xA0), o3(0xE5,0xBB,0x81), + o3(0xE5,0xBB,0x82), o3(0xE5,0xBB,0x88), + o3(0xE5,0xBB,0x90), o3(0xE5,0xBB,0x8F), + UNDEF, +}; +static const BYTE_LOOKUP +from_EUC_JP_D6 = { + from_EUC_JP_A1_offsets, + from_EUC_JP_D6_infos +}; + +static const struct byte_lookup* const +from_EUC_JP_D7_infos[95] = { + o3(0xE5,0xBB,0x96), o3(0xE5,0xBB,0xA3), + o3(0xE5,0xBB,0x9D), o3(0xE5,0xBB,0x9A), + o3(0xE5,0xBB,0x9B), o3(0xE5,0xBB,0xA2), + o3(0xE5,0xBB,0xA1), o3(0xE5,0xBB,0xA8), + o3(0xE5,0xBB,0xA9), o3(0xE5,0xBB,0xAC), + o3(0xE5,0xBB,0xB1), o3(0xE5,0xBB,0xB3), + o3(0xE5,0xBB,0xB0), o3(0xE5,0xBB,0xB4), + o3(0xE5,0xBB,0xB8), o3(0xE5,0xBB,0xBE), + o3(0xE5,0xBC,0x83), o3(0xE5,0xBC,0x89), + o3(0xE5,0xBD,0x9D), o3(0xE5,0xBD,0x9C), + o3(0xE5,0xBC,0x8B), o3(0xE5,0xBC,0x91), + o3(0xE5,0xBC,0x96), o3(0xE5,0xBC,0xA9), + o3(0xE5,0xBC,0xAD), o3(0xE5,0xBC,0xB8), + o3(0xE5,0xBD,0x81), o3(0xE5,0xBD,0x88), + o3(0xE5,0xBD,0x8C), o3(0xE5,0xBD,0x8E), + o3(0xE5,0xBC,0xAF), o3(0xE5,0xBD,0x91), + o3(0xE5,0xBD,0x96), o3(0xE5,0xBD,0x97), + o3(0xE5,0xBD,0x99), o3(0xE5,0xBD,0xA1), + o3(0xE5,0xBD,0xAD), o3(0xE5,0xBD,0xB3), + o3(0xE5,0xBD,0xB7), o3(0xE5,0xBE,0x83), + o3(0xE5,0xBE,0x82), o3(0xE5,0xBD,0xBF), + o3(0xE5,0xBE,0x8A), o3(0xE5,0xBE,0x88), + o3(0xE5,0xBE,0x91), o3(0xE5,0xBE,0x87), + o3(0xE5,0xBE,0x9E), o3(0xE5,0xBE,0x99), + o3(0xE5,0xBE,0x98), o3(0xE5,0xBE,0xA0), + o3(0xE5,0xBE,0xA8), o3(0xE5,0xBE,0xAD), + o3(0xE5,0xBE,0xBC), o3(0xE5,0xBF,0x96), + o3(0xE5,0xBF,0xBB), o3(0xE5,0xBF,0xA4), + o3(0xE5,0xBF,0xB8), o3(0xE5,0xBF,0xB1), + o3(0xE5,0xBF,0x9D), o3(0xE6,0x82,0xB3), + o3(0xE5,0xBF,0xBF), o3(0xE6,0x80,0xA1), + o3(0xE6,0x81,0xA0), o3(0xE6,0x80,0x99), + o3(0xE6,0x80,0x90), o3(0xE6,0x80,0xA9), + o3(0xE6,0x80,0x8E), o3(0xE6,0x80,0xB1), + o3(0xE6,0x80,0x9B), o3(0xE6,0x80,0x95), + o3(0xE6,0x80,0xAB), o3(0xE6,0x80,0xA6), + o3(0xE6,0x80,0x8F), o3(0xE6,0x80,0xBA), + o3(0xE6,0x81,0x9A), o3(0xE6,0x81,0x81), + o3(0xE6,0x81,0xAA), o3(0xE6,0x81,0xB7), + o3(0xE6,0x81,0x9F), o3(0xE6,0x81,0x8A), + o3(0xE6,0x81,0x86), o3(0xE6,0x81,0x8D), + o3(0xE6,0x81,0xA3), o3(0xE6,0x81,0x83), + o3(0xE6,0x81,0xA4), o3(0xE6,0x81,0x82), + o3(0xE6,0x81,0xAC), o3(0xE6,0x81,0xAB), + o3(0xE6,0x81,0x99), o3(0xE6,0x82,0x81), + o3(0xE6,0x82,0x8D), o3(0xE6,0x83,0xA7), + o3(0xE6,0x82,0x83), o3(0xE6,0x82,0x9A), + UNDEF, +}; +static const BYTE_LOOKUP +from_EUC_JP_D7 = { + from_EUC_JP_A1_offsets, + from_EUC_JP_D7_infos +}; + +static const struct byte_lookup* const +from_EUC_JP_D8_infos[95] = { + o3(0xE6,0x82,0x84), o3(0xE6,0x82,0x9B), + o3(0xE6,0x82,0x96), o3(0xE6,0x82,0x97), + o3(0xE6,0x82,0x92), o3(0xE6,0x82,0xA7), + o3(0xE6,0x82,0x8B), o3(0xE6,0x83,0xA1), + o3(0xE6,0x82,0xB8), o3(0xE6,0x83,0xA0), + o3(0xE6,0x83,0x93), o3(0xE6,0x82,0xB4), + o3(0xE5,0xBF,0xB0), o3(0xE6,0x82,0xBD), + o3(0xE6,0x83,0x86), o3(0xE6,0x82,0xB5), + o3(0xE6,0x83,0x98), o3(0xE6,0x85,0x8D), + o3(0xE6,0x84,0x95), o3(0xE6,0x84,0x86), + o3(0xE6,0x83,0xB6), o3(0xE6,0x83,0xB7), + o3(0xE6,0x84,0x80), o3(0xE6,0x83,0xB4), + o3(0xE6,0x83,0xBA), o3(0xE6,0x84,0x83), + o3(0xE6,0x84,0xA1), o3(0xE6,0x83,0xBB), + o3(0xE6,0x83,0xB1), o3(0xE6,0x84,0x8D), + o3(0xE6,0x84,0x8E), o3(0xE6,0x85,0x87), + o3(0xE6,0x84,0xBE), o3(0xE6,0x84,0xA8), + o3(0xE6,0x84,0xA7), o3(0xE6,0x85,0x8A), + o3(0xE6,0x84,0xBF), o3(0xE6,0x84,0xBC), + o3(0xE6,0x84,0xAC), o3(0xE6,0x84,0xB4), + o3(0xE6,0x84,0xBD), o3(0xE6,0x85,0x82), + o3(0xE6,0x85,0x84), o3(0xE6,0x85,0xB3), + o3(0xE6,0x85,0xB7), o3(0xE6,0x85,0x98), + o3(0xE6,0x85,0x99), o3(0xE6,0x85,0x9A), + o3(0xE6,0x85,0xAB), o3(0xE6,0x85,0xB4), + o3(0xE6,0x85,0xAF), o3(0xE6,0x85,0xA5), + o3(0xE6,0x85,0xB1), o3(0xE6,0x85,0x9F), + o3(0xE6,0x85,0x9D), o3(0xE6,0x85,0x93), + o3(0xE6,0x85,0xB5), o3(0xE6,0x86,0x99), + o3(0xE6,0x86,0x96), o3(0xE6,0x86,0x87), + o3(0xE6,0x86,0xAC), o3(0xE6,0x86,0x94), + o3(0xE6,0x86,0x9A), o3(0xE6,0x86,0x8A), + o3(0xE6,0x86,0x91), o3(0xE6,0x86,0xAB), + o3(0xE6,0x86,0xAE), o3(0xE6,0x87,0x8C), + o3(0xE6,0x87,0x8A), o3(0xE6,0x87,0x89), + o3(0xE6,0x87,0xB7), o3(0xE6,0x87,0x88), + o3(0xE6,0x87,0x83), o3(0xE6,0x87,0x86), + o3(0xE6,0x86,0xBA), o3(0xE6,0x87,0x8B), + o3(0xE7,0xBD,0xB9), o3(0xE6,0x87,0x8D), + o3(0xE6,0x87,0xA6), o3(0xE6,0x87,0xA3), + o3(0xE6,0x87,0xB6), o3(0xE6,0x87,0xBA), + o3(0xE6,0x87,0xB4), o3(0xE6,0x87,0xBF), + o3(0xE6,0x87,0xBD), o3(0xE6,0x87,0xBC), + o3(0xE6,0x87,0xBE), o3(0xE6,0x88,0x80), + o3(0xE6,0x88,0x88), o3(0xE6,0x88,0x89), + o3(0xE6,0x88,0x8D), o3(0xE6,0x88,0x8C), + o3(0xE6,0x88,0x94), o3(0xE6,0x88,0x9B), + UNDEF, +}; +static const BYTE_LOOKUP +from_EUC_JP_D8 = { + from_EUC_JP_A1_offsets, + from_EUC_JP_D8_infos +}; + +static const struct byte_lookup* const +from_EUC_JP_D9_infos[95] = { + o3(0xE6,0x88,0x9E), o3(0xE6,0x88,0xA1), + o3(0xE6,0x88,0xAA), o3(0xE6,0x88,0xAE), + o3(0xE6,0x88,0xB0), o3(0xE6,0x88,0xB2), + o3(0xE6,0x88,0xB3), o3(0xE6,0x89,0x81), + o3(0xE6,0x89,0x8E), o3(0xE6,0x89,0x9E), + o3(0xE6,0x89,0xA3), o3(0xE6,0x89,0x9B), + o3(0xE6,0x89,0xA0), o3(0xE6,0x89,0xA8), + o3(0xE6,0x89,0xBC), o3(0xE6,0x8A,0x82), + o3(0xE6,0x8A,0x89), o3(0xE6,0x89,0xBE), + o3(0xE6,0x8A,0x92), o3(0xE6,0x8A,0x93), + o3(0xE6,0x8A,0x96), o3(0xE6,0x8B,0x94), + o3(0xE6,0x8A,0x83), o3(0xE6,0x8A,0x94), + o3(0xE6,0x8B,0x97), o3(0xE6,0x8B,0x91), + o3(0xE6,0x8A,0xBB), o3(0xE6,0x8B,0x8F), + o3(0xE6,0x8B,0xBF), o3(0xE6,0x8B,0x86), + o3(0xE6,0x93,0x94), o3(0xE6,0x8B,0x88), + o3(0xE6,0x8B,0x9C), o3(0xE6,0x8B,0x8C), + o3(0xE6,0x8B,0x8A), o3(0xE6,0x8B,0x82), + o3(0xE6,0x8B,0x87), o3(0xE6,0x8A,0x9B), + o3(0xE6,0x8B,0x89), o3(0xE6,0x8C,0x8C), + o3(0xE6,0x8B,0xAE), o3(0xE6,0x8B,0xB1), + o3(0xE6,0x8C,0xA7), o3(0xE6,0x8C,0x82), + o3(0xE6,0x8C,0x88), o3(0xE6,0x8B,0xAF), + o3(0xE6,0x8B,0xB5), o3(0xE6,0x8D,0x90), + o3(0xE6,0x8C,0xBE), o3(0xE6,0x8D,0x8D), + o3(0xE6,0x90,0x9C), o3(0xE6,0x8D,0x8F), + o3(0xE6,0x8E,0x96), o3(0xE6,0x8E,0x8E), + o3(0xE6,0x8E,0x80), o3(0xE6,0x8E,0xAB), + o3(0xE6,0x8D,0xB6), o3(0xE6,0x8E,0xA3), + o3(0xE6,0x8E,0x8F), o3(0xE6,0x8E,0x89), + o3(0xE6,0x8E,0x9F), o3(0xE6,0x8E,0xB5), + o3(0xE6,0x8D,0xAB), o3(0xE6,0x8D,0xA9), + o3(0xE6,0x8E,0xBE), o3(0xE6,0x8F,0xA9), + o3(0xE6,0x8F,0x80), o3(0xE6,0x8F,0x86), + o3(0xE6,0x8F,0xA3), o3(0xE6,0x8F,0x89), + o3(0xE6,0x8F,0x92), o3(0xE6,0x8F,0xB6), + o3(0xE6,0x8F,0x84), o3(0xE6,0x90,0x96), + o3(0xE6,0x90,0xB4), o3(0xE6,0x90,0x86), + o3(0xE6,0x90,0x93), o3(0xE6,0x90,0xA6), + o3(0xE6,0x90,0xB6), o3(0xE6,0x94,0x9D), + o3(0xE6,0x90,0x97), o3(0xE6,0x90,0xA8), + o3(0xE6,0x90,0x8F), o3(0xE6,0x91,0xA7), + o3(0xE6,0x91,0xAF), o3(0xE6,0x91,0xB6), + o3(0xE6,0x91,0x8E), o3(0xE6,0x94,0xAA), + o3(0xE6,0x92,0x95), o3(0xE6,0x92,0x93), + o3(0xE6,0x92,0xA5), o3(0xE6,0x92,0xA9), + o3(0xE6,0x92,0x88), o3(0xE6,0x92,0xBC), + UNDEF, +}; +static const BYTE_LOOKUP +from_EUC_JP_D9 = { + from_EUC_JP_A1_offsets, + from_EUC_JP_D9_infos +}; + +static const struct byte_lookup* const +from_EUC_JP_DA_infos[95] = { + o3(0xE6,0x93,0x9A), o3(0xE6,0x93,0x92), + o3(0xE6,0x93,0x85), o3(0xE6,0x93,0x87), + o3(0xE6,0x92,0xBB), o3(0xE6,0x93,0x98), + o3(0xE6,0x93,0x82), o3(0xE6,0x93,0xB1), + o3(0xE6,0x93,0xA7), o3(0xE8,0x88,0x89), + o3(0xE6,0x93,0xA0), o3(0xE6,0x93,0xA1), + o3(0xE6,0x8A,0xAC), o3(0xE6,0x93,0xA3), + o3(0xE6,0x93,0xAF), o3(0xE6,0x94,0xAC), + o3(0xE6,0x93,0xB6), o3(0xE6,0x93,0xB4), + o3(0xE6,0x93,0xB2), o3(0xE6,0x93,0xBA), + o3(0xE6,0x94,0x80), o3(0xE6,0x93,0xBD), + o3(0xE6,0x94,0x98), o3(0xE6,0x94,0x9C), + o3(0xE6,0x94,0x85), o3(0xE6,0x94,0xA4), + o3(0xE6,0x94,0xA3), o3(0xE6,0x94,0xAB), + o3(0xE6,0x94,0xB4), o3(0xE6,0x94,0xB5), + o3(0xE6,0x94,0xB7), o3(0xE6,0x94,0xB6), + o3(0xE6,0x94,0xB8), o3(0xE7,0x95,0x8B), + o3(0xE6,0x95,0x88), o3(0xE6,0x95,0x96), + o3(0xE6,0x95,0x95), o3(0xE6,0x95,0x8D), + o3(0xE6,0x95,0x98), o3(0xE6,0x95,0x9E), + o3(0xE6,0x95,0x9D), o3(0xE6,0x95,0xB2), + o3(0xE6,0x95,0xB8), o3(0xE6,0x96,0x82), + o3(0xE6,0x96,0x83), o3(0xE8,0xAE,0x8A), + o3(0xE6,0x96,0x9B), o3(0xE6,0x96,0x9F), + o3(0xE6,0x96,0xAB), o3(0xE6,0x96,0xB7), + o3(0xE6,0x97,0x83), o3(0xE6,0x97,0x86), + o3(0xE6,0x97,0x81), o3(0xE6,0x97,0x84), + o3(0xE6,0x97,0x8C), o3(0xE6,0x97,0x92), + o3(0xE6,0x97,0x9B), o3(0xE6,0x97,0x99), + o3(0xE6,0x97,0xA0), o3(0xE6,0x97,0xA1), + o3(0xE6,0x97,0xB1), o3(0xE6,0x9D,0xB2), + o3(0xE6,0x98,0x8A), o3(0xE6,0x98,0x83), + o3(0xE6,0x97,0xBB), o3(0xE6,0x9D,0xB3), + o3(0xE6,0x98,0xB5), o3(0xE6,0x98,0xB6), + o3(0xE6,0x98,0xB4), o3(0xE6,0x98,0x9C), + o3(0xE6,0x99,0x8F), o3(0xE6,0x99,0x84), + o3(0xE6,0x99,0x89), o3(0xE6,0x99,0x81), + o3(0xE6,0x99,0x9E), o3(0xE6,0x99,0x9D), + o3(0xE6,0x99,0xA4), o3(0xE6,0x99,0xA7), + o3(0xE6,0x99,0xA8), o3(0xE6,0x99,0x9F), + o3(0xE6,0x99,0xA2), o3(0xE6,0x99,0xB0), + o3(0xE6,0x9A,0x83), o3(0xE6,0x9A,0x88), + o3(0xE6,0x9A,0x8E), o3(0xE6,0x9A,0x89), + o3(0xE6,0x9A,0x84), o3(0xE6,0x9A,0x98), + o3(0xE6,0x9A,0x9D), o3(0xE6,0x9B,0x81), + o3(0xE6,0x9A,0xB9), o3(0xE6,0x9B,0x89), + o3(0xE6,0x9A,0xBE), o3(0xE6,0x9A,0xBC), + UNDEF, +}; +static const BYTE_LOOKUP +from_EUC_JP_DA = { + from_EUC_JP_A1_offsets, + from_EUC_JP_DA_infos +}; + +static const struct byte_lookup* const +from_EUC_JP_DB_infos[95] = { + o3(0xE6,0x9B,0x84), o3(0xE6,0x9A,0xB8), + o3(0xE6,0x9B,0x96), o3(0xE6,0x9B,0x9A), + o3(0xE6,0x9B,0xA0), o3(0xE6,0x98,0xBF), + o3(0xE6,0x9B,0xA6), o3(0xE6,0x9B,0xA9), + o3(0xE6,0x9B,0xB0), o3(0xE6,0x9B,0xB5), + o3(0xE6,0x9B,0xB7), o3(0xE6,0x9C,0x8F), + o3(0xE6,0x9C,0x96), o3(0xE6,0x9C,0x9E), + o3(0xE6,0x9C,0xA6), o3(0xE6,0x9C,0xA7), + o3(0xE9,0x9C,0xB8), o3(0xE6,0x9C,0xAE), + o3(0xE6,0x9C,0xBF), o3(0xE6,0x9C,0xB6), + o3(0xE6,0x9D,0x81), o3(0xE6,0x9C,0xB8), + o3(0xE6,0x9C,0xB7), o3(0xE6,0x9D,0x86), + o3(0xE6,0x9D,0x9E), o3(0xE6,0x9D,0xA0), + o3(0xE6,0x9D,0x99), o3(0xE6,0x9D,0xA3), + o3(0xE6,0x9D,0xA4), o3(0xE6,0x9E,0x89), + o3(0xE6,0x9D,0xB0), o3(0xE6,0x9E,0xA9), + o3(0xE6,0x9D,0xBC), o3(0xE6,0x9D,0xAA), + o3(0xE6,0x9E,0x8C), o3(0xE6,0x9E,0x8B), + o3(0xE6,0x9E,0xA6), o3(0xE6,0x9E,0xA1), + o3(0xE6,0x9E,0x85), o3(0xE6,0x9E,0xB7), + o3(0xE6,0x9F,0xAF), o3(0xE6,0x9E,0xB4), + o3(0xE6,0x9F,0xAC), o3(0xE6,0x9E,0xB3), + o3(0xE6,0x9F,0xA9), o3(0xE6,0x9E,0xB8), + o3(0xE6,0x9F,0xA4), o3(0xE6,0x9F,0x9E), + o3(0xE6,0x9F,0x9D), o3(0xE6,0x9F,0xA2), + o3(0xE6,0x9F,0xAE), o3(0xE6,0x9E,0xB9), + o3(0xE6,0x9F,0x8E), o3(0xE6,0x9F,0x86), + o3(0xE6,0x9F,0xA7), o3(0xE6,0xAA,0x9C), + o3(0xE6,0xA0,0x9E), o3(0xE6,0xA1,0x86), + o3(0xE6,0xA0,0xA9), o3(0xE6,0xA1,0x80), + o3(0xE6,0xA1,0x8D), o3(0xE6,0xA0,0xB2), + o3(0xE6,0xA1,0x8E), o3(0xE6,0xA2,0xB3), + o3(0xE6,0xA0,0xAB), o3(0xE6,0xA1,0x99), + o3(0xE6,0xA1,0xA3), o3(0xE6,0xA1,0xB7), + o3(0xE6,0xA1,0xBF), o3(0xE6,0xA2,0x9F), + o3(0xE6,0xA2,0x8F), o3(0xE6,0xA2,0xAD), + o3(0xE6,0xA2,0x94), o3(0xE6,0xA2,0x9D), + o3(0xE6,0xA2,0x9B), o3(0xE6,0xA2,0x83), + o3(0xE6,0xAA,0xAE), o3(0xE6,0xA2,0xB9), + o3(0xE6,0xA1,0xB4), o3(0xE6,0xA2,0xB5), + o3(0xE6,0xA2,0xA0), o3(0xE6,0xA2,0xBA), + o3(0xE6,0xA4,0x8F), o3(0xE6,0xA2,0x8D), + o3(0xE6,0xA1,0xBE), o3(0xE6,0xA4,0x81), + o3(0xE6,0xA3,0x8A), o3(0xE6,0xA4,0x88), + o3(0xE6,0xA3,0x98), o3(0xE6,0xA4,0xA2), + o3(0xE6,0xA4,0xA6), o3(0xE6,0xA3,0xA1), + o3(0xE6,0xA4,0x8C), o3(0xE6,0xA3,0x8D), + UNDEF, +}; +static const BYTE_LOOKUP +from_EUC_JP_DB = { + from_EUC_JP_A1_offsets, + from_EUC_JP_DB_infos +}; + +static const struct byte_lookup* const +from_EUC_JP_DC_infos[95] = { + o3(0xE6,0xA3,0x94), o3(0xE6,0xA3,0xA7), + o3(0xE6,0xA3,0x95), o3(0xE6,0xA4,0xB6), + o3(0xE6,0xA4,0x92), o3(0xE6,0xA4,0x84), + o3(0xE6,0xA3,0x97), o3(0xE6,0xA3,0xA3), + o3(0xE6,0xA4,0xA5), o3(0xE6,0xA3,0xB9), + o3(0xE6,0xA3,0xA0), o3(0xE6,0xA3,0xAF), + o3(0xE6,0xA4,0xA8), o3(0xE6,0xA4,0xAA), + o3(0xE6,0xA4,0x9A), o3(0xE6,0xA4,0xA3), + o3(0xE6,0xA4,0xA1), o3(0xE6,0xA3,0x86), + o3(0xE6,0xA5,0xB9), o3(0xE6,0xA5,0xB7), + o3(0xE6,0xA5,0x9C), o3(0xE6,0xA5,0xB8), + o3(0xE6,0xA5,0xAB), o3(0xE6,0xA5,0x94), + o3(0xE6,0xA5,0xBE), o3(0xE6,0xA5,0xAE), + o3(0xE6,0xA4,0xB9), o3(0xE6,0xA5,0xB4), + o3(0xE6,0xA4,0xBD), o3(0xE6,0xA5,0x99), + o3(0xE6,0xA4,0xB0), o3(0xE6,0xA5,0xA1), + o3(0xE6,0xA5,0x9E), o3(0xE6,0xA5,0x9D), + o3(0xE6,0xA6,0x81), o3(0xE6,0xA5,0xAA), + o3(0xE6,0xA6,0xB2), o3(0xE6,0xA6,0xAE), + o3(0xE6,0xA7,0x90), o3(0xE6,0xA6,0xBF), + o3(0xE6,0xA7,0x81), o3(0xE6,0xA7,0x93), + o3(0xE6,0xA6,0xBE), o3(0xE6,0xA7,0x8E), + o3(0xE5,0xAF,0xA8), o3(0xE6,0xA7,0x8A), + o3(0xE6,0xA7,0x9D), o3(0xE6,0xA6,0xBB), + o3(0xE6,0xA7,0x83), o3(0xE6,0xA6,0xA7), + o3(0xE6,0xA8,0xAE), o3(0xE6,0xA6,0x91), + o3(0xE6,0xA6,0xA0), o3(0xE6,0xA6,0x9C), + o3(0xE6,0xA6,0x95), o3(0xE6,0xA6,0xB4), + o3(0xE6,0xA7,0x9E), o3(0xE6,0xA7,0xA8), + o3(0xE6,0xA8,0x82), o3(0xE6,0xA8,0x9B), + o3(0xE6,0xA7,0xBF), o3(0xE6,0xAC,0x8A), + o3(0xE6,0xA7,0xB9), o3(0xE6,0xA7,0xB2), + o3(0xE6,0xA7,0xA7), o3(0xE6,0xA8,0x85), + o3(0xE6,0xA6,0xB1), o3(0xE6,0xA8,0x9E), + o3(0xE6,0xA7,0xAD), o3(0xE6,0xA8,0x94), + o3(0xE6,0xA7,0xAB), o3(0xE6,0xA8,0x8A), + o3(0xE6,0xA8,0x92), o3(0xE6,0xAB,0x81), + o3(0xE6,0xA8,0xA3), o3(0xE6,0xA8,0x93), + o3(0xE6,0xA9,0x84), o3(0xE6,0xA8,0x8C), + o3(0xE6,0xA9,0xB2), o3(0xE6,0xA8,0xB6), + o3(0xE6,0xA9,0xB8), o3(0xE6,0xA9,0x87), + o3(0xE6,0xA9,0xA2), o3(0xE6,0xA9,0x99), + o3(0xE6,0xA9,0xA6), o3(0xE6,0xA9,0x88), + o3(0xE6,0xA8,0xB8), o3(0xE6,0xA8,0xA2), + o3(0xE6,0xAA,0x90), o3(0xE6,0xAA,0x8D), + o3(0xE6,0xAA,0xA0), o3(0xE6,0xAA,0x84), + o3(0xE6,0xAA,0xA2), o3(0xE6,0xAA,0xA3), + UNDEF, +}; +static const BYTE_LOOKUP +from_EUC_JP_DC = { + from_EUC_JP_A1_offsets, + from_EUC_JP_DC_infos +}; + +static const struct byte_lookup* const +from_EUC_JP_DD_infos[95] = { + o3(0xE6,0xAA,0x97), o3(0xE8,0x98,0x97), + o3(0xE6,0xAA,0xBB), o3(0xE6,0xAB,0x83), + o3(0xE6,0xAB,0x82), o3(0xE6,0xAA,0xB8), + o3(0xE6,0xAA,0xB3), o3(0xE6,0xAA,0xAC), + o3(0xE6,0xAB,0x9E), o3(0xE6,0xAB,0x91), + o3(0xE6,0xAB,0x9F), o3(0xE6,0xAA,0xAA), + o3(0xE6,0xAB,0x9A), o3(0xE6,0xAB,0xAA), + o3(0xE6,0xAB,0xBB), o3(0xE6,0xAC,0x85), + o3(0xE8,0x98,0x96), o3(0xE6,0xAB,0xBA), + o3(0xE6,0xAC,0x92), o3(0xE6,0xAC,0x96), + o3(0xE9,0xAC,0xB1), o3(0xE6,0xAC,0x9F), + o3(0xE6,0xAC,0xB8), o3(0xE6,0xAC,0xB7), + o3(0xE7,0x9B,0x9C), o3(0xE6,0xAC,0xB9), + o3(0xE9,0xA3,0xAE), o3(0xE6,0xAD,0x87), + o3(0xE6,0xAD,0x83), o3(0xE6,0xAD,0x89), + o3(0xE6,0xAD,0x90), o3(0xE6,0xAD,0x99), + o3(0xE6,0xAD,0x94), o3(0xE6,0xAD,0x9B), + o3(0xE6,0xAD,0x9F), o3(0xE6,0xAD,0xA1), + o3(0xE6,0xAD,0xB8), o3(0xE6,0xAD,0xB9), + o3(0xE6,0xAD,0xBF), o3(0xE6,0xAE,0x80), + o3(0xE6,0xAE,0x84), o3(0xE6,0xAE,0x83), + o3(0xE6,0xAE,0x8D), o3(0xE6,0xAE,0x98), + o3(0xE6,0xAE,0x95), o3(0xE6,0xAE,0x9E), + o3(0xE6,0xAE,0xA4), o3(0xE6,0xAE,0xAA), + o3(0xE6,0xAE,0xAB), o3(0xE6,0xAE,0xAF), + o3(0xE6,0xAE,0xB2), o3(0xE6,0xAE,0xB1), + o3(0xE6,0xAE,0xB3), o3(0xE6,0xAE,0xB7), + o3(0xE6,0xAE,0xBC), o3(0xE6,0xAF,0x86), + o3(0xE6,0xAF,0x8B), o3(0xE6,0xAF,0x93), + o3(0xE6,0xAF,0x9F), o3(0xE6,0xAF,0xAC), + o3(0xE6,0xAF,0xAB), o3(0xE6,0xAF,0xB3), + o3(0xE6,0xAF,0xAF), o3(0xE9,0xBA,0xBE), + o3(0xE6,0xB0,0x88), o3(0xE6,0xB0,0x93), + o3(0xE6,0xB0,0x94), o3(0xE6,0xB0,0x9B), + o3(0xE6,0xB0,0xA4), o3(0xE6,0xB0,0xA3), + o3(0xE6,0xB1,0x9E), o3(0xE6,0xB1,0x95), + o3(0xE6,0xB1,0xA2), o3(0xE6,0xB1,0xAA), + o3(0xE6,0xB2,0x82), o3(0xE6,0xB2,0x8D), + o3(0xE6,0xB2,0x9A), o3(0xE6,0xB2,0x81), + o3(0xE6,0xB2,0x9B), o3(0xE6,0xB1,0xBE), + o3(0xE6,0xB1,0xA8), o3(0xE6,0xB1,0xB3), + o3(0xE6,0xB2,0x92), o3(0xE6,0xB2,0x90), + o3(0xE6,0xB3,0x84), o3(0xE6,0xB3,0xB1), + o3(0xE6,0xB3,0x93), o3(0xE6,0xB2,0xBD), + o3(0xE6,0xB3,0x97), o3(0xE6,0xB3,0x85), + o3(0xE6,0xB3,0x9D), o3(0xE6,0xB2,0xAE), + o3(0xE6,0xB2,0xB1), o3(0xE6,0xB2,0xBE), + UNDEF, +}; +static const BYTE_LOOKUP +from_EUC_JP_DD = { + from_EUC_JP_A1_offsets, + from_EUC_JP_DD_infos +}; + +static const struct byte_lookup* const +from_EUC_JP_DE_infos[95] = { + o3(0xE6,0xB2,0xBA), o3(0xE6,0xB3,0x9B), + o3(0xE6,0xB3,0xAF), o3(0xE6,0xB3,0x99), + o3(0xE6,0xB3,0xAA), o3(0xE6,0xB4,0x9F), + o3(0xE8,0xA1,0x8D), o3(0xE6,0xB4,0xB6), + o3(0xE6,0xB4,0xAB), o3(0xE6,0xB4,0xBD), + o3(0xE6,0xB4,0xB8), o3(0xE6,0xB4,0x99), + o3(0xE6,0xB4,0xB5), o3(0xE6,0xB4,0xB3), + o3(0xE6,0xB4,0x92), o3(0xE6,0xB4,0x8C), + o3(0xE6,0xB5,0xA3), o3(0xE6,0xB6,0x93), + o3(0xE6,0xB5,0xA4), o3(0xE6,0xB5,0x9A), + o3(0xE6,0xB5,0xB9), o3(0xE6,0xB5,0x99), + o3(0xE6,0xB6,0x8E), o3(0xE6,0xB6,0x95), + o3(0xE6,0xBF,0xA4), o3(0xE6,0xB6,0x85), + o3(0xE6,0xB7,0xB9), o3(0xE6,0xB8,0x95), + o3(0xE6,0xB8,0x8A), o3(0xE6,0xB6,0xB5), + o3(0xE6,0xB7,0x87), o3(0xE6,0xB7,0xA6), + o3(0xE6,0xB6,0xB8), o3(0xE6,0xB7,0x86), + o3(0xE6,0xB7,0xAC), o3(0xE6,0xB7,0x9E), + o3(0xE6,0xB7,0x8C), o3(0xE6,0xB7,0xA8), + o3(0xE6,0xB7,0x92), o3(0xE6,0xB7,0x85), + o3(0xE6,0xB7,0xBA), o3(0xE6,0xB7,0x99), + o3(0xE6,0xB7,0xA4), o3(0xE6,0xB7,0x95), + o3(0xE6,0xB7,0xAA), o3(0xE6,0xB7,0xAE), + o3(0xE6,0xB8,0xAD), o3(0xE6,0xB9,0xAE), + o3(0xE6,0xB8,0xAE), o3(0xE6,0xB8,0x99), + o3(0xE6,0xB9,0xB2), o3(0xE6,0xB9,0x9F), + o3(0xE6,0xB8,0xBE), o3(0xE6,0xB8,0xA3), + o3(0xE6,0xB9,0xAB), o3(0xE6,0xB8,0xAB), + o3(0xE6,0xB9,0xB6), o3(0xE6,0xB9,0x8D), + o3(0xE6,0xB8,0x9F), o3(0xE6,0xB9,0x83), + o3(0xE6,0xB8,0xBA), o3(0xE6,0xB9,0x8E), + o3(0xE6,0xB8,0xA4), o3(0xE6,0xBB,0xBF), + o3(0xE6,0xB8,0x9D), o3(0xE6,0xB8,0xB8), + o3(0xE6,0xBA,0x82), o3(0xE6,0xBA,0xAA), + o3(0xE6,0xBA,0x98), o3(0xE6,0xBB,0x89), + o3(0xE6,0xBA,0xB7), o3(0xE6,0xBB,0x93), + o3(0xE6,0xBA,0xBD), o3(0xE6,0xBA,0xAF), + o3(0xE6,0xBB,0x84), o3(0xE6,0xBA,0xB2), + o3(0xE6,0xBB,0x94), o3(0xE6,0xBB,0x95), + o3(0xE6,0xBA,0x8F), o3(0xE6,0xBA,0xA5), + o3(0xE6,0xBB,0x82), o3(0xE6,0xBA,0x9F), + o3(0xE6,0xBD,0x81), o3(0xE6,0xBC,0x91), + o3(0xE7,0x81,0x8C), o3(0xE6,0xBB,0xAC), + o3(0xE6,0xBB,0xB8), o3(0xE6,0xBB,0xBE), + o3(0xE6,0xBC,0xBF), o3(0xE6,0xBB,0xB2), + o3(0xE6,0xBC,0xB1), o3(0xE6,0xBB,0xAF), + o3(0xE6,0xBC,0xB2), o3(0xE6,0xBB,0x8C), + UNDEF, +}; +static const BYTE_LOOKUP +from_EUC_JP_DE = { + from_EUC_JP_A1_offsets, + from_EUC_JP_DE_infos +}; + +static const struct byte_lookup* const +from_EUC_JP_DF_infos[95] = { + o3(0xE6,0xBC,0xBE), o3(0xE6,0xBC,0x93), + o3(0xE6,0xBB,0xB7), o3(0xE6,0xBE,0x86), + o3(0xE6,0xBD,0xBA), o3(0xE6,0xBD,0xB8), + o3(0xE6,0xBE,0x81), o3(0xE6,0xBE,0x80), + o3(0xE6,0xBD,0xAF), o3(0xE6,0xBD,0x9B), + o3(0xE6,0xBF,0xB3), o3(0xE6,0xBD,0xAD), + o3(0xE6,0xBE,0x82), o3(0xE6,0xBD,0xBC), + o3(0xE6,0xBD,0x98), o3(0xE6,0xBE,0x8E), + o3(0xE6,0xBE,0x91), o3(0xE6,0xBF,0x82), + o3(0xE6,0xBD,0xA6), o3(0xE6,0xBE,0xB3), + o3(0xE6,0xBE,0xA3), o3(0xE6,0xBE,0xA1), + o3(0xE6,0xBE,0xA4), o3(0xE6,0xBE,0xB9), + o3(0xE6,0xBF,0x86), o3(0xE6,0xBE,0xAA), + o3(0xE6,0xBF,0x9F), o3(0xE6,0xBF,0x95), + o3(0xE6,0xBF,0xAC), o3(0xE6,0xBF,0x94), + o3(0xE6,0xBF,0x98), o3(0xE6,0xBF,0xB1), + o3(0xE6,0xBF,0xAE), o3(0xE6,0xBF,0x9B), + o3(0xE7,0x80,0x89), o3(0xE7,0x80,0x8B), + o3(0xE6,0xBF,0xBA), o3(0xE7,0x80,0x91), + o3(0xE7,0x80,0x81), o3(0xE7,0x80,0x8F), + o3(0xE6,0xBF,0xBE), o3(0xE7,0x80,0x9B), + o3(0xE7,0x80,0x9A), o3(0xE6,0xBD,0xB4), + o3(0xE7,0x80,0x9D), o3(0xE7,0x80,0x98), + o3(0xE7,0x80,0x9F), o3(0xE7,0x80,0xB0), + o3(0xE7,0x80,0xBE), o3(0xE7,0x80,0xB2), + o3(0xE7,0x81,0x91), o3(0xE7,0x81,0xA3), + o3(0xE7,0x82,0x99), o3(0xE7,0x82,0x92), + o3(0xE7,0x82,0xAF), o3(0xE7,0x83,0xB1), + o3(0xE7,0x82,0xAC), o3(0xE7,0x82,0xB8), + o3(0xE7,0x82,0xB3), o3(0xE7,0x82,0xAE), + o3(0xE7,0x83,0x9F), o3(0xE7,0x83,0x8B), + o3(0xE7,0x83,0x9D), o3(0xE7,0x83,0x99), + o3(0xE7,0x84,0x89), o3(0xE7,0x83,0xBD), + o3(0xE7,0x84,0x9C), o3(0xE7,0x84,0x99), + o3(0xE7,0x85,0xA5), o3(0xE7,0x85,0x95), + o3(0xE7,0x86,0x88), o3(0xE7,0x85,0xA6), + o3(0xE7,0x85,0xA2), o3(0xE7,0x85,0x8C), + o3(0xE7,0x85,0x96), o3(0xE7,0x85,0xAC), + o3(0xE7,0x86,0x8F), o3(0xE7,0x87,0xBB), + o3(0xE7,0x86,0x84), o3(0xE7,0x86,0x95), + o3(0xE7,0x86,0xA8), o3(0xE7,0x86,0xAC), + o3(0xE7,0x87,0x97), o3(0xE7,0x86,0xB9), + o3(0xE7,0x86,0xBE), o3(0xE7,0x87,0x92), + o3(0xE7,0x87,0x89), o3(0xE7,0x87,0x94), + o3(0xE7,0x87,0x8E), o3(0xE7,0x87,0xA0), + o3(0xE7,0x87,0xAC), o3(0xE7,0x87,0xA7), + o3(0xE7,0x87,0xB5), o3(0xE7,0x87,0xBC), + UNDEF, +}; +static const BYTE_LOOKUP +from_EUC_JP_DF = { + from_EUC_JP_A1_offsets, + from_EUC_JP_DF_infos +}; + +static const struct byte_lookup* const +from_EUC_JP_E0_infos[95] = { + o3(0xE7,0x87,0xB9), o3(0xE7,0x87,0xBF), + o3(0xE7,0x88,0x8D), o3(0xE7,0x88,0x90), + o3(0xE7,0x88,0x9B), o3(0xE7,0x88,0xA8), + o3(0xE7,0x88,0xAD), o3(0xE7,0x88,0xAC), + o3(0xE7,0x88,0xB0), o3(0xE7,0x88,0xB2), + o3(0xE7,0x88,0xBB), o3(0xE7,0x88,0xBC), + o3(0xE7,0x88,0xBF), o3(0xE7,0x89,0x80), + o3(0xE7,0x89,0x86), o3(0xE7,0x89,0x8B), + o3(0xE7,0x89,0x98), o3(0xE7,0x89,0xB4), + o3(0xE7,0x89,0xBE), o3(0xE7,0x8A,0x82), + o3(0xE7,0x8A,0x81), o3(0xE7,0x8A,0x87), + o3(0xE7,0x8A,0x92), o3(0xE7,0x8A,0x96), + o3(0xE7,0x8A,0xA2), o3(0xE7,0x8A,0xA7), + o3(0xE7,0x8A,0xB9), o3(0xE7,0x8A,0xB2), + o3(0xE7,0x8B,0x83), o3(0xE7,0x8B,0x86), + o3(0xE7,0x8B,0x84), o3(0xE7,0x8B,0x8E), + o3(0xE7,0x8B,0x92), o3(0xE7,0x8B,0xA2), + o3(0xE7,0x8B,0xA0), o3(0xE7,0x8B,0xA1), + o3(0xE7,0x8B,0xB9), o3(0xE7,0x8B,0xB7), + o3(0xE5,0x80,0x8F), o3(0xE7,0x8C,0x97), + o3(0xE7,0x8C,0x8A), o3(0xE7,0x8C,0x9C), + o3(0xE7,0x8C,0x96), o3(0xE7,0x8C,0x9D), + o3(0xE7,0x8C,0xB4), o3(0xE7,0x8C,0xAF), + o3(0xE7,0x8C,0xA9), o3(0xE7,0x8C,0xA5), + o3(0xE7,0x8C,0xBE), o3(0xE7,0x8D,0x8E), + o3(0xE7,0x8D,0x8F), o3(0xE9,0xBB,0x98), + o3(0xE7,0x8D,0x97), o3(0xE7,0x8D,0xAA), + o3(0xE7,0x8D,0xA8), o3(0xE7,0x8D,0xB0), + o3(0xE7,0x8D,0xB8), o3(0xE7,0x8D,0xB5), + o3(0xE7,0x8D,0xBB), o3(0xE7,0x8D,0xBA), + o3(0xE7,0x8F,0x88), o3(0xE7,0x8E,0xB3), + o3(0xE7,0x8F,0x8E), o3(0xE7,0x8E,0xBB), + o3(0xE7,0x8F,0x80), o3(0xE7,0x8F,0xA5), + o3(0xE7,0x8F,0xAE), o3(0xE7,0x8F,0x9E), + o3(0xE7,0x92,0xA2), o3(0xE7,0x90,0x85), + o3(0xE7,0x91,0xAF), o3(0xE7,0x90,0xA5), + o3(0xE7,0x8F,0xB8), o3(0xE7,0x90,0xB2), + o3(0xE7,0x90,0xBA), o3(0xE7,0x91,0x95), + o3(0xE7,0x90,0xBF), o3(0xE7,0x91,0x9F), + o3(0xE7,0x91,0x99), o3(0xE7,0x91,0x81), + o3(0xE7,0x91,0x9C), o3(0xE7,0x91,0xA9), + o3(0xE7,0x91,0xB0), o3(0xE7,0x91,0xA3), + o3(0xE7,0x91,0xAA), o3(0xE7,0x91,0xB6), + o3(0xE7,0x91,0xBE), o3(0xE7,0x92,0x8B), + o3(0xE7,0x92,0x9E), o3(0xE7,0x92,0xA7), + o3(0xE7,0x93,0x8A), o3(0xE7,0x93,0x8F), + o3(0xE7,0x93,0x94), o3(0xE7,0x8F,0xB1), + UNDEF, +}; +static const BYTE_LOOKUP +from_EUC_JP_E0 = { + from_EUC_JP_A1_offsets, + from_EUC_JP_E0_infos +}; + +static const struct byte_lookup* const +from_EUC_JP_E1_infos[95] = { + o3(0xE7,0x93,0xA0), o3(0xE7,0x93,0xA3), + o3(0xE7,0x93,0xA7), o3(0xE7,0x93,0xA9), + o3(0xE7,0x93,0xAE), o3(0xE7,0x93,0xB2), + o3(0xE7,0x93,0xB0), o3(0xE7,0x93,0xB1), + o3(0xE7,0x93,0xB8), o3(0xE7,0x93,0xB7), + o3(0xE7,0x94,0x84), o3(0xE7,0x94,0x83), + o3(0xE7,0x94,0x85), o3(0xE7,0x94,0x8C), + o3(0xE7,0x94,0x8E), o3(0xE7,0x94,0x8D), + o3(0xE7,0x94,0x95), o3(0xE7,0x94,0x93), + o3(0xE7,0x94,0x9E), o3(0xE7,0x94,0xA6), + o3(0xE7,0x94,0xAC), o3(0xE7,0x94,0xBC), + o3(0xE7,0x95,0x84), o3(0xE7,0x95,0x8D), + o3(0xE7,0x95,0x8A), o3(0xE7,0x95,0x89), + o3(0xE7,0x95,0x9B), o3(0xE7,0x95,0x86), + o3(0xE7,0x95,0x9A), o3(0xE7,0x95,0xA9), + o3(0xE7,0x95,0xA4), o3(0xE7,0x95,0xA7), + o3(0xE7,0x95,0xAB), o3(0xE7,0x95,0xAD), + o3(0xE7,0x95,0xB8), o3(0xE7,0x95,0xB6), + o3(0xE7,0x96,0x86), o3(0xE7,0x96,0x87), + o3(0xE7,0x95,0xB4), o3(0xE7,0x96,0x8A), + o3(0xE7,0x96,0x89), o3(0xE7,0x96,0x82), + o3(0xE7,0x96,0x94), o3(0xE7,0x96,0x9A), + o3(0xE7,0x96,0x9D), o3(0xE7,0x96,0xA5), + o3(0xE7,0x96,0xA3), o3(0xE7,0x97,0x82), + o3(0xE7,0x96,0xB3), o3(0xE7,0x97,0x83), + o3(0xE7,0x96,0xB5), o3(0xE7,0x96,0xBD), + o3(0xE7,0x96,0xB8), o3(0xE7,0x96,0xBC), + o3(0xE7,0x96,0xB1), o3(0xE7,0x97,0x8D), + o3(0xE7,0x97,0x8A), o3(0xE7,0x97,0x92), + o3(0xE7,0x97,0x99), o3(0xE7,0x97,0xA3), + o3(0xE7,0x97,0x9E), o3(0xE7,0x97,0xBE), + o3(0xE7,0x97,0xBF), o3(0xE7,0x97,0xBC), + o3(0xE7,0x98,0x81), o3(0xE7,0x97,0xB0), + o3(0xE7,0x97,0xBA), o3(0xE7,0x97,0xB2), + o3(0xE7,0x97,0xB3), o3(0xE7,0x98,0x8B), + o3(0xE7,0x98,0x8D), o3(0xE7,0x98,0x89), + o3(0xE7,0x98,0x9F), o3(0xE7,0x98,0xA7), + o3(0xE7,0x98,0xA0), o3(0xE7,0x98,0xA1), + o3(0xE7,0x98,0xA2), o3(0xE7,0x98,0xA4), + o3(0xE7,0x98,0xB4), o3(0xE7,0x98,0xB0), + o3(0xE7,0x98,0xBB), o3(0xE7,0x99,0x87), + o3(0xE7,0x99,0x88), o3(0xE7,0x99,0x86), + o3(0xE7,0x99,0x9C), o3(0xE7,0x99,0x98), + o3(0xE7,0x99,0xA1), o3(0xE7,0x99,0xA2), + o3(0xE7,0x99,0xA8), o3(0xE7,0x99,0xA9), + o3(0xE7,0x99,0xAA), o3(0xE7,0x99,0xA7), + o3(0xE7,0x99,0xAC), o3(0xE7,0x99,0xB0), + UNDEF, +}; +static const BYTE_LOOKUP +from_EUC_JP_E1 = { + from_EUC_JP_A1_offsets, + from_EUC_JP_E1_infos +}; + +static const struct byte_lookup* const +from_EUC_JP_E2_infos[95] = { + o3(0xE7,0x99,0xB2), o3(0xE7,0x99,0xB6), + o3(0xE7,0x99,0xB8), o3(0xE7,0x99,0xBC), + o3(0xE7,0x9A,0x80), o3(0xE7,0x9A,0x83), + o3(0xE7,0x9A,0x88), o3(0xE7,0x9A,0x8B), + o3(0xE7,0x9A,0x8E), o3(0xE7,0x9A,0x96), + o3(0xE7,0x9A,0x93), o3(0xE7,0x9A,0x99), + o3(0xE7,0x9A,0x9A), o3(0xE7,0x9A,0xB0), + o3(0xE7,0x9A,0xB4), o3(0xE7,0x9A,0xB8), + o3(0xE7,0x9A,0xB9), o3(0xE7,0x9A,0xBA), + o3(0xE7,0x9B,0x82), o3(0xE7,0x9B,0x8D), + o3(0xE7,0x9B,0x96), o3(0xE7,0x9B,0x92), + o3(0xE7,0x9B,0x9E), o3(0xE7,0x9B,0xA1), + o3(0xE7,0x9B,0xA5), o3(0xE7,0x9B,0xA7), + o3(0xE7,0x9B,0xAA), o3(0xE8,0x98,0xAF), + o3(0xE7,0x9B,0xBB), o3(0xE7,0x9C,0x88), + o3(0xE7,0x9C,0x87), o3(0xE7,0x9C,0x84), + o3(0xE7,0x9C,0xA9), o3(0xE7,0x9C,0xA4), + o3(0xE7,0x9C,0x9E), o3(0xE7,0x9C,0xA5), + o3(0xE7,0x9C,0xA6), o3(0xE7,0x9C,0x9B), + o3(0xE7,0x9C,0xB7), o3(0xE7,0x9C,0xB8), + o3(0xE7,0x9D,0x87), o3(0xE7,0x9D,0x9A), + o3(0xE7,0x9D,0xA8), o3(0xE7,0x9D,0xAB), + o3(0xE7,0x9D,0x9B), o3(0xE7,0x9D,0xA5), + o3(0xE7,0x9D,0xBF), o3(0xE7,0x9D,0xBE), + o3(0xE7,0x9D,0xB9), o3(0xE7,0x9E,0x8E), + o3(0xE7,0x9E,0x8B), o3(0xE7,0x9E,0x91), + o3(0xE7,0x9E,0xA0), o3(0xE7,0x9E,0x9E), + o3(0xE7,0x9E,0xB0), o3(0xE7,0x9E,0xB6), + o3(0xE7,0x9E,0xB9), o3(0xE7,0x9E,0xBF), + o3(0xE7,0x9E,0xBC), o3(0xE7,0x9E,0xBD), + o3(0xE7,0x9E,0xBB), o3(0xE7,0x9F,0x87), + o3(0xE7,0x9F,0x8D), o3(0xE7,0x9F,0x97), + o3(0xE7,0x9F,0x9A), o3(0xE7,0x9F,0x9C), + o3(0xE7,0x9F,0xA3), o3(0xE7,0x9F,0xAE), + o3(0xE7,0x9F,0xBC), o3(0xE7,0xA0,0x8C), + o3(0xE7,0xA0,0x92), o3(0xE7,0xA4,0xA6), + o3(0xE7,0xA0,0xA0), o3(0xE7,0xA4,0xAA), + o3(0xE7,0xA1,0x85), o3(0xE7,0xA2,0x8E), + o3(0xE7,0xA1,0xB4), o3(0xE7,0xA2,0x86), + o3(0xE7,0xA1,0xBC), o3(0xE7,0xA2,0x9A), + o3(0xE7,0xA2,0x8C), o3(0xE7,0xA2,0xA3), + o3(0xE7,0xA2,0xB5), o3(0xE7,0xA2,0xAA), + o3(0xE7,0xA2,0xAF), o3(0xE7,0xA3,0x91), + o3(0xE7,0xA3,0x86), o3(0xE7,0xA3,0x8B), + o3(0xE7,0xA3,0x94), o3(0xE7,0xA2,0xBE), + o3(0xE7,0xA2,0xBC), o3(0xE7,0xA3,0x85), + o3(0xE7,0xA3,0x8A), o3(0xE7,0xA3,0xAC), + UNDEF, +}; +static const BYTE_LOOKUP +from_EUC_JP_E2 = { + from_EUC_JP_A1_offsets, + from_EUC_JP_E2_infos +}; + +static const struct byte_lookup* const +from_EUC_JP_E3_infos[95] = { + o3(0xE7,0xA3,0xA7), o3(0xE7,0xA3,0x9A), + o3(0xE7,0xA3,0xBD), o3(0xE7,0xA3,0xB4), + o3(0xE7,0xA4,0x87), o3(0xE7,0xA4,0x92), + o3(0xE7,0xA4,0x91), o3(0xE7,0xA4,0x99), + o3(0xE7,0xA4,0xAC), o3(0xE7,0xA4,0xAB), + o3(0xE7,0xA5,0x80), o3(0xE7,0xA5,0xA0), + o3(0xE7,0xA5,0x97), o3(0xE7,0xA5,0x9F), + o3(0xE7,0xA5,0x9A), o3(0xE7,0xA5,0x95), + o3(0xE7,0xA5,0x93), o3(0xE7,0xA5,0xBA), + o3(0xE7,0xA5,0xBF), o3(0xE7,0xA6,0x8A), + o3(0xE7,0xA6,0x9D), o3(0xE7,0xA6,0xA7), + o3(0xE9,0xBD,0x8B), o3(0xE7,0xA6,0xAA), + o3(0xE7,0xA6,0xAE), o3(0xE7,0xA6,0xB3), + o3(0xE7,0xA6,0xB9), o3(0xE7,0xA6,0xBA), + o3(0xE7,0xA7,0x89), o3(0xE7,0xA7,0x95), + o3(0xE7,0xA7,0xA7), o3(0xE7,0xA7,0xAC), + o3(0xE7,0xA7,0xA1), o3(0xE7,0xA7,0xA3), + o3(0xE7,0xA8,0x88), o3(0xE7,0xA8,0x8D), + o3(0xE7,0xA8,0x98), o3(0xE7,0xA8,0x99), + o3(0xE7,0xA8,0xA0), o3(0xE7,0xA8,0x9F), + o3(0xE7,0xA6,0x80), o3(0xE7,0xA8,0xB1), + o3(0xE7,0xA8,0xBB), o3(0xE7,0xA8,0xBE), + o3(0xE7,0xA8,0xB7), o3(0xE7,0xA9,0x83), + o3(0xE7,0xA9,0x97), o3(0xE7,0xA9,0x89), + o3(0xE7,0xA9,0xA1), o3(0xE7,0xA9,0xA2), + o3(0xE7,0xA9,0xA9), o3(0xE9,0xBE,0x9D), + o3(0xE7,0xA9,0xB0), o3(0xE7,0xA9,0xB9), + o3(0xE7,0xA9,0xBD), o3(0xE7,0xAA,0x88), + o3(0xE7,0xAA,0x97), o3(0xE7,0xAA,0x95), + o3(0xE7,0xAA,0x98), o3(0xE7,0xAA,0x96), + o3(0xE7,0xAA,0xA9), o3(0xE7,0xAB,0x88), + o3(0xE7,0xAA,0xB0), o3(0xE7,0xAA,0xB6), + o3(0xE7,0xAB,0x85), o3(0xE7,0xAB,0x84), + o3(0xE7,0xAA,0xBF), o3(0xE9,0x82,0x83), + o3(0xE7,0xAB,0x87), o3(0xE7,0xAB,0x8A), + o3(0xE7,0xAB,0x8D), o3(0xE7,0xAB,0x8F), + o3(0xE7,0xAB,0x95), o3(0xE7,0xAB,0x93), + o3(0xE7,0xAB,0x99), o3(0xE7,0xAB,0x9A), + o3(0xE7,0xAB,0x9D), o3(0xE7,0xAB,0xA1), + o3(0xE7,0xAB,0xA2), o3(0xE7,0xAB,0xA6), + o3(0xE7,0xAB,0xAD), o3(0xE7,0xAB,0xB0), + o3(0xE7,0xAC,0x82), o3(0xE7,0xAC,0x8F), + o3(0xE7,0xAC,0x8A), o3(0xE7,0xAC,0x86), + o3(0xE7,0xAC,0xB3), o3(0xE7,0xAC,0x98), + o3(0xE7,0xAC,0x99), o3(0xE7,0xAC,0x9E), + o3(0xE7,0xAC,0xB5), o3(0xE7,0xAC,0xA8), + o3(0xE7,0xAC,0xB6), o3(0xE7,0xAD,0x90), + UNDEF, +}; +static const BYTE_LOOKUP +from_EUC_JP_E3 = { + from_EUC_JP_A1_offsets, + from_EUC_JP_E3_infos +}; + +static const struct byte_lookup* const +from_EUC_JP_E4_infos[95] = { + o3(0xE7,0xAD,0xBA), o3(0xE7,0xAC,0x84), + o3(0xE7,0xAD,0x8D), o3(0xE7,0xAC,0x8B), + o3(0xE7,0xAD,0x8C), o3(0xE7,0xAD,0x85), + o3(0xE7,0xAD,0xB5), o3(0xE7,0xAD,0xA5), + o3(0xE7,0xAD,0xB4), o3(0xE7,0xAD,0xA7), + o3(0xE7,0xAD,0xB0), o3(0xE7,0xAD,0xB1), + o3(0xE7,0xAD,0xAC), o3(0xE7,0xAD,0xAE), + o3(0xE7,0xAE,0x9D), o3(0xE7,0xAE,0x98), + o3(0xE7,0xAE,0x9F), o3(0xE7,0xAE,0x8D), + o3(0xE7,0xAE,0x9C), o3(0xE7,0xAE,0x9A), + o3(0xE7,0xAE,0x8B), o3(0xE7,0xAE,0x92), + o3(0xE7,0xAE,0x8F), o3(0xE7,0xAD,0x9D), + o3(0xE7,0xAE,0x99), o3(0xE7,0xAF,0x8B), + o3(0xE7,0xAF,0x81), o3(0xE7,0xAF,0x8C), + o3(0xE7,0xAF,0x8F), o3(0xE7,0xAE,0xB4), + o3(0xE7,0xAF,0x86), o3(0xE7,0xAF,0x9D), + o3(0xE7,0xAF,0xA9), o3(0xE7,0xB0,0x91), + o3(0xE7,0xB0,0x94), o3(0xE7,0xAF,0xA6), + o3(0xE7,0xAF,0xA5), o3(0xE7,0xB1,0xA0), + o3(0xE7,0xB0,0x80), o3(0xE7,0xB0,0x87), + o3(0xE7,0xB0,0x93), o3(0xE7,0xAF,0xB3), + o3(0xE7,0xAF,0xB7), o3(0xE7,0xB0,0x97), + o3(0xE7,0xB0,0x8D), o3(0xE7,0xAF,0xB6), + o3(0xE7,0xB0,0xA3), o3(0xE7,0xB0,0xA7), + o3(0xE7,0xB0,0xAA), o3(0xE7,0xB0,0x9F), + o3(0xE7,0xB0,0xB7), o3(0xE7,0xB0,0xAB), + o3(0xE7,0xB0,0xBD), o3(0xE7,0xB1,0x8C), + o3(0xE7,0xB1,0x83), o3(0xE7,0xB1,0x94), + o3(0xE7,0xB1,0x8F), o3(0xE7,0xB1,0x80), + o3(0xE7,0xB1,0x90), o3(0xE7,0xB1,0x98), + o3(0xE7,0xB1,0x9F), o3(0xE7,0xB1,0xA4), + o3(0xE7,0xB1,0x96), o3(0xE7,0xB1,0xA5), + o3(0xE7,0xB1,0xAC), o3(0xE7,0xB1,0xB5), + o3(0xE7,0xB2,0x83), o3(0xE7,0xB2,0x90), + o3(0xE7,0xB2,0xA4), o3(0xE7,0xB2,0xAD), + o3(0xE7,0xB2,0xA2), o3(0xE7,0xB2,0xAB), + o3(0xE7,0xB2,0xA1), o3(0xE7,0xB2,0xA8), + o3(0xE7,0xB2,0xB3), o3(0xE7,0xB2,0xB2), + o3(0xE7,0xB2,0xB1), o3(0xE7,0xB2,0xAE), + o3(0xE7,0xB2,0xB9), o3(0xE7,0xB2,0xBD), + o3(0xE7,0xB3,0x80), o3(0xE7,0xB3,0x85), + o3(0xE7,0xB3,0x82), o3(0xE7,0xB3,0x98), + o3(0xE7,0xB3,0x92), o3(0xE7,0xB3,0x9C), + o3(0xE7,0xB3,0xA2), o3(0xE9,0xAC,0xBB), + o3(0xE7,0xB3,0xAF), o3(0xE7,0xB3,0xB2), + o3(0xE7,0xB3,0xB4), o3(0xE7,0xB3,0xB6), + o3(0xE7,0xB3,0xBA), o3(0xE7,0xB4,0x86), + UNDEF, +}; +static const BYTE_LOOKUP +from_EUC_JP_E4 = { + from_EUC_JP_A1_offsets, + from_EUC_JP_E4_infos +}; + +static const struct byte_lookup* const +from_EUC_JP_E5_infos[95] = { + o3(0xE7,0xB4,0x82), o3(0xE7,0xB4,0x9C), + o3(0xE7,0xB4,0x95), o3(0xE7,0xB4,0x8A), + o3(0xE7,0xB5,0x85), o3(0xE7,0xB5,0x8B), + o3(0xE7,0xB4,0xAE), o3(0xE7,0xB4,0xB2), + o3(0xE7,0xB4,0xBF), o3(0xE7,0xB4,0xB5), + o3(0xE7,0xB5,0x86), o3(0xE7,0xB5,0xB3), + o3(0xE7,0xB5,0x96), o3(0xE7,0xB5,0x8E), + o3(0xE7,0xB5,0xB2), o3(0xE7,0xB5,0xA8), + o3(0xE7,0xB5,0xAE), o3(0xE7,0xB5,0x8F), + o3(0xE7,0xB5,0xA3), o3(0xE7,0xB6,0x93), + o3(0xE7,0xB6,0x89), o3(0xE7,0xB5,0x9B), + o3(0xE7,0xB6,0x8F), o3(0xE7,0xB5,0xBD), + o3(0xE7,0xB6,0x9B), o3(0xE7,0xB6,0xBA), + o3(0xE7,0xB6,0xAE), o3(0xE7,0xB6,0xA3), + o3(0xE7,0xB6,0xB5), o3(0xE7,0xB7,0x87), + o3(0xE7,0xB6,0xBD), o3(0xE7,0xB6,0xAB), + o3(0xE7,0xB8,0xBD), o3(0xE7,0xB6,0xA2), + o3(0xE7,0xB6,0xAF), o3(0xE7,0xB7,0x9C), + o3(0xE7,0xB6,0xB8), o3(0xE7,0xB6,0x9F), + o3(0xE7,0xB6,0xB0), o3(0xE7,0xB7,0x98), + o3(0xE7,0xB7,0x9D), o3(0xE7,0xB7,0xA4), + o3(0xE7,0xB7,0x9E), o3(0xE7,0xB7,0xBB), + o3(0xE7,0xB7,0xB2), o3(0xE7,0xB7,0xA1), + o3(0xE7,0xB8,0x85), o3(0xE7,0xB8,0x8A), + o3(0xE7,0xB8,0xA3), o3(0xE7,0xB8,0xA1), + o3(0xE7,0xB8,0x92), o3(0xE7,0xB8,0xB1), + o3(0xE7,0xB8,0x9F), o3(0xE7,0xB8,0x89), + o3(0xE7,0xB8,0x8B), o3(0xE7,0xB8,0xA2), + o3(0xE7,0xB9,0x86), o3(0xE7,0xB9,0xA6), + o3(0xE7,0xB8,0xBB), o3(0xE7,0xB8,0xB5), + o3(0xE7,0xB8,0xB9), o3(0xE7,0xB9,0x83), + o3(0xE7,0xB8,0xB7), o3(0xE7,0xB8,0xB2), + o3(0xE7,0xB8,0xBA), o3(0xE7,0xB9,0xA7), + o3(0xE7,0xB9,0x9D), o3(0xE7,0xB9,0x96), + o3(0xE7,0xB9,0x9E), o3(0xE7,0xB9,0x99), + o3(0xE7,0xB9,0x9A), o3(0xE7,0xB9,0xB9), + o3(0xE7,0xB9,0xAA), o3(0xE7,0xB9,0xA9), + o3(0xE7,0xB9,0xBC), o3(0xE7,0xB9,0xBB), + o3(0xE7,0xBA,0x83), o3(0xE7,0xB7,0x95), + o3(0xE7,0xB9,0xBD), o3(0xE8,0xBE,0xAE), + o3(0xE7,0xB9,0xBF), o3(0xE7,0xBA,0x88), + o3(0xE7,0xBA,0x89), o3(0xE7,0xBA,0x8C), + o3(0xE7,0xBA,0x92), o3(0xE7,0xBA,0x90), + o3(0xE7,0xBA,0x93), o3(0xE7,0xBA,0x94), + o3(0xE7,0xBA,0x96), o3(0xE7,0xBA,0x8E), + o3(0xE7,0xBA,0x9B), o3(0xE7,0xBA,0x9C), + o3(0xE7,0xBC,0xB8), o3(0xE7,0xBC,0xBA), + UNDEF, +}; +static const BYTE_LOOKUP +from_EUC_JP_E5 = { + from_EUC_JP_A1_offsets, + from_EUC_JP_E5_infos +}; + +static const struct byte_lookup* const +from_EUC_JP_E6_infos[95] = { + o3(0xE7,0xBD,0x85), o3(0xE7,0xBD,0x8C), + o3(0xE7,0xBD,0x8D), o3(0xE7,0xBD,0x8E), + o3(0xE7,0xBD,0x90), o3(0xE7,0xBD,0x91), + o3(0xE7,0xBD,0x95), o3(0xE7,0xBD,0x94), + o3(0xE7,0xBD,0x98), o3(0xE7,0xBD,0x9F), + o3(0xE7,0xBD,0xA0), o3(0xE7,0xBD,0xA8), + o3(0xE7,0xBD,0xA9), o3(0xE7,0xBD,0xA7), + o3(0xE7,0xBD,0xB8), o3(0xE7,0xBE,0x82), + o3(0xE7,0xBE,0x86), o3(0xE7,0xBE,0x83), + o3(0xE7,0xBE,0x88), o3(0xE7,0xBE,0x87), + o3(0xE7,0xBE,0x8C), o3(0xE7,0xBE,0x94), + o3(0xE7,0xBE,0x9E), o3(0xE7,0xBE,0x9D), + o3(0xE7,0xBE,0x9A), o3(0xE7,0xBE,0xA3), + o3(0xE7,0xBE,0xAF), o3(0xE7,0xBE,0xB2), + o3(0xE7,0xBE,0xB9), o3(0xE7,0xBE,0xAE), + o3(0xE7,0xBE,0xB6), o3(0xE7,0xBE,0xB8), + o3(0xE8,0xAD,0xB1), o3(0xE7,0xBF,0x85), + o3(0xE7,0xBF,0x86), o3(0xE7,0xBF,0x8A), + o3(0xE7,0xBF,0x95), o3(0xE7,0xBF,0x94), + o3(0xE7,0xBF,0xA1), o3(0xE7,0xBF,0xA6), + o3(0xE7,0xBF,0xA9), o3(0xE7,0xBF,0xB3), + o3(0xE7,0xBF,0xB9), o3(0xE9,0xA3,0x9C), + o3(0xE8,0x80,0x86), o3(0xE8,0x80,0x84), + o3(0xE8,0x80,0x8B), o3(0xE8,0x80,0x92), + o3(0xE8,0x80,0x98), o3(0xE8,0x80,0x99), + o3(0xE8,0x80,0x9C), o3(0xE8,0x80,0xA1), + o3(0xE8,0x80,0xA8), o3(0xE8,0x80,0xBF), + o3(0xE8,0x80,0xBB), o3(0xE8,0x81,0x8A), + o3(0xE8,0x81,0x86), o3(0xE8,0x81,0x92), + o3(0xE8,0x81,0x98), o3(0xE8,0x81,0x9A), + o3(0xE8,0x81,0x9F), o3(0xE8,0x81,0xA2), + o3(0xE8,0x81,0xA8), o3(0xE8,0x81,0xB3), + o3(0xE8,0x81,0xB2), o3(0xE8,0x81,0xB0), + o3(0xE8,0x81,0xB6), o3(0xE8,0x81,0xB9), + o3(0xE8,0x81,0xBD), o3(0xE8,0x81,0xBF), + o3(0xE8,0x82,0x84), o3(0xE8,0x82,0x86), + o3(0xE8,0x82,0x85), o3(0xE8,0x82,0x9B), + o3(0xE8,0x82,0x93), o3(0xE8,0x82,0x9A), + o3(0xE8,0x82,0xAD), o3(0xE5,0x86,0x90), + o3(0xE8,0x82,0xAC), o3(0xE8,0x83,0x9B), + o3(0xE8,0x83,0xA5), o3(0xE8,0x83,0x99), + o3(0xE8,0x83,0x9D), o3(0xE8,0x83,0x84), + o3(0xE8,0x83,0x9A), o3(0xE8,0x83,0x96), + o3(0xE8,0x84,0x89), o3(0xE8,0x83,0xAF), + o3(0xE8,0x83,0xB1), o3(0xE8,0x84,0x9B), + o3(0xE8,0x84,0xA9), o3(0xE8,0x84,0xA3), + o3(0xE8,0x84,0xAF), o3(0xE8,0x85,0x8B), + UNDEF, +}; +static const BYTE_LOOKUP +from_EUC_JP_E6 = { + from_EUC_JP_A1_offsets, + from_EUC_JP_E6_infos +}; + +static const struct byte_lookup* const +from_EUC_JP_E7_infos[95] = { + o3(0xE9,0x9A,0x8B), o3(0xE8,0x85,0x86), + o3(0xE8,0x84,0xBE), o3(0xE8,0x85,0x93), + o3(0xE8,0x85,0x91), o3(0xE8,0x83,0xBC), + o3(0xE8,0x85,0xB1), o3(0xE8,0x85,0xAE), + o3(0xE8,0x85,0xA5), o3(0xE8,0x85,0xA6), + o3(0xE8,0x85,0xB4), o3(0xE8,0x86,0x83), + o3(0xE8,0x86,0x88), o3(0xE8,0x86,0x8A), + o3(0xE8,0x86,0x80), o3(0xE8,0x86,0x82), + o3(0xE8,0x86,0xA0), o3(0xE8,0x86,0x95), + o3(0xE8,0x86,0xA4), o3(0xE8,0x86,0xA3), + o3(0xE8,0x85,0x9F), o3(0xE8,0x86,0x93), + o3(0xE8,0x86,0xA9), o3(0xE8,0x86,0xB0), + o3(0xE8,0x86,0xB5), o3(0xE8,0x86,0xBE), + o3(0xE8,0x86,0xB8), o3(0xE8,0x86,0xBD), + o3(0xE8,0x87,0x80), o3(0xE8,0x87,0x82), + o3(0xE8,0x86,0xBA), o3(0xE8,0x87,0x89), + o3(0xE8,0x87,0x8D), o3(0xE8,0x87,0x91), + o3(0xE8,0x87,0x99), o3(0xE8,0x87,0x98), + o3(0xE8,0x87,0x88), o3(0xE8,0x87,0x9A), + o3(0xE8,0x87,0x9F), o3(0xE8,0x87,0xA0), + o3(0xE8,0x87,0xA7), o3(0xE8,0x87,0xBA), + o3(0xE8,0x87,0xBB), o3(0xE8,0x87,0xBE), + o3(0xE8,0x88,0x81), o3(0xE8,0x88,0x82), + o3(0xE8,0x88,0x85), o3(0xE8,0x88,0x87), + o3(0xE8,0x88,0x8A), o3(0xE8,0x88,0x8D), + o3(0xE8,0x88,0x90), o3(0xE8,0x88,0x96), + o3(0xE8,0x88,0xA9), o3(0xE8,0x88,0xAB), + o3(0xE8,0x88,0xB8), o3(0xE8,0x88,0xB3), + o3(0xE8,0x89,0x80), o3(0xE8,0x89,0x99), + o3(0xE8,0x89,0x98), o3(0xE8,0x89,0x9D), + o3(0xE8,0x89,0x9A), o3(0xE8,0x89,0x9F), + o3(0xE8,0x89,0xA4), o3(0xE8,0x89,0xA2), + o3(0xE8,0x89,0xA8), o3(0xE8,0x89,0xAA), + o3(0xE8,0x89,0xAB), o3(0xE8,0x88,0xAE), + o3(0xE8,0x89,0xB1), o3(0xE8,0x89,0xB7), + o3(0xE8,0x89,0xB8), o3(0xE8,0x89,0xBE), + o3(0xE8,0x8A,0x8D), o3(0xE8,0x8A,0x92), + o3(0xE8,0x8A,0xAB), o3(0xE8,0x8A,0x9F), + o3(0xE8,0x8A,0xBB), o3(0xE8,0x8A,0xAC), + o3(0xE8,0x8B,0xA1), o3(0xE8,0x8B,0xA3), + o3(0xE8,0x8B,0x9F), o3(0xE8,0x8B,0x92), + o3(0xE8,0x8B,0xB4), o3(0xE8,0x8B,0xB3), + o3(0xE8,0x8B,0xBA), o3(0xE8,0x8E,0x93), + o3(0xE8,0x8C,0x83), o3(0xE8,0x8B,0xBB), + o3(0xE8,0x8B,0xB9), o3(0xE8,0x8B,0x9E), + o3(0xE8,0x8C,0x86), o3(0xE8,0x8B,0x9C), + o3(0xE8,0x8C,0x89), o3(0xE8,0x8B,0x99), + UNDEF, +}; +static const BYTE_LOOKUP +from_EUC_JP_E7 = { + from_EUC_JP_A1_offsets, + from_EUC_JP_E7_infos +}; + +static const struct byte_lookup* const +from_EUC_JP_E8_infos[95] = { + o3(0xE8,0x8C,0xB5), o3(0xE8,0x8C,0xB4), + o3(0xE8,0x8C,0x96), o3(0xE8,0x8C,0xB2), + o3(0xE8,0x8C,0xB1), o3(0xE8,0x8D,0x80), + o3(0xE8,0x8C,0xB9), o3(0xE8,0x8D,0x90), + o3(0xE8,0x8D,0x85), o3(0xE8,0x8C,0xAF), + o3(0xE8,0x8C,0xAB), o3(0xE8,0x8C,0x97), + o3(0xE8,0x8C,0x98), o3(0xE8,0x8E,0x85), + o3(0xE8,0x8E,0x9A), o3(0xE8,0x8E,0xAA), + o3(0xE8,0x8E,0x9F), o3(0xE8,0x8E,0xA2), + o3(0xE8,0x8E,0x96), o3(0xE8,0x8C,0xA3), + o3(0xE8,0x8E,0x8E), o3(0xE8,0x8E,0x87), + o3(0xE8,0x8E,0x8A), o3(0xE8,0x8D,0xBC), + o3(0xE8,0x8E,0xB5), o3(0xE8,0x8D,0xB3), + o3(0xE8,0x8D,0xB5), o3(0xE8,0x8E,0xA0), + o3(0xE8,0x8E,0x89), o3(0xE8,0x8E,0xA8), + o3(0xE8,0x8F,0xB4), o3(0xE8,0x90,0x93), + o3(0xE8,0x8F,0xAB), o3(0xE8,0x8F,0x8E), + o3(0xE8,0x8F,0xBD), o3(0xE8,0x90,0x83), + o3(0xE8,0x8F,0x98), o3(0xE8,0x90,0x8B), + o3(0xE8,0x8F,0x81), o3(0xE8,0x8F,0xB7), + o3(0xE8,0x90,0x87), o3(0xE8,0x8F,0xA0), + o3(0xE8,0x8F,0xB2), o3(0xE8,0x90,0x8D), + o3(0xE8,0x90,0xA2), o3(0xE8,0x90,0xA0), + o3(0xE8,0x8E,0xBD), o3(0xE8,0x90,0xB8), + o3(0xE8,0x94,0x86), o3(0xE8,0x8F,0xBB), + o3(0xE8,0x91,0xAD), o3(0xE8,0x90,0xAA), + o3(0xE8,0x90,0xBC), o3(0xE8,0x95,0x9A), + o3(0xE8,0x92,0x84), o3(0xE8,0x91,0xB7), + o3(0xE8,0x91,0xAB), o3(0xE8,0x92,0xAD), + o3(0xE8,0x91,0xAE), o3(0xE8,0x92,0x82), + o3(0xE8,0x91,0xA9), o3(0xE8,0x91,0x86), + o3(0xE8,0x90,0xAC), o3(0xE8,0x91,0xAF), + o3(0xE8,0x91,0xB9), o3(0xE8,0x90,0xB5), + o3(0xE8,0x93,0x8A), o3(0xE8,0x91,0xA2), + o3(0xE8,0x92,0xB9), o3(0xE8,0x92,0xBF), + o3(0xE8,0x92,0x9F), o3(0xE8,0x93,0x99), + o3(0xE8,0x93,0x8D), o3(0xE8,0x92,0xBB), + o3(0xE8,0x93,0x9A), o3(0xE8,0x93,0x90), + o3(0xE8,0x93,0x81), o3(0xE8,0x93,0x86), + o3(0xE8,0x93,0x96), o3(0xE8,0x92,0xA1), + o3(0xE8,0x94,0xA1), o3(0xE8,0x93,0xBF), + o3(0xE8,0x93,0xB4), o3(0xE8,0x94,0x97), + o3(0xE8,0x94,0x98), o3(0xE8,0x94,0xAC), + o3(0xE8,0x94,0x9F), o3(0xE8,0x94,0x95), + o3(0xE8,0x94,0x94), o3(0xE8,0x93,0xBC), + o3(0xE8,0x95,0x80), o3(0xE8,0x95,0xA3), + o3(0xE8,0x95,0x98), o3(0xE8,0x95,0x88), + UNDEF, +}; +static const BYTE_LOOKUP +from_EUC_JP_E8 = { + from_EUC_JP_A1_offsets, + from_EUC_JP_E8_infos +}; + +static const struct byte_lookup* const +from_EUC_JP_E9_infos[95] = { + o3(0xE8,0x95,0x81), o3(0xE8,0x98,0x82), + o3(0xE8,0x95,0x8B), o3(0xE8,0x95,0x95), + o3(0xE8,0x96,0x80), o3(0xE8,0x96,0xA4), + o3(0xE8,0x96,0x88), o3(0xE8,0x96,0x91), + o3(0xE8,0x96,0x8A), o3(0xE8,0x96,0xA8), + o3(0xE8,0x95,0xAD), o3(0xE8,0x96,0x94), + o3(0xE8,0x96,0x9B), o3(0xE8,0x97,0xAA), + o3(0xE8,0x96,0x87), o3(0xE8,0x96,0x9C), + o3(0xE8,0x95,0xB7), o3(0xE8,0x95,0xBE), + o3(0xE8,0x96,0x90), o3(0xE8,0x97,0x89), + o3(0xE8,0x96,0xBA), o3(0xE8,0x97,0x8F), + o3(0xE8,0x96,0xB9), o3(0xE8,0x97,0x90), + o3(0xE8,0x97,0x95), o3(0xE8,0x97,0x9D), + o3(0xE8,0x97,0xA5), o3(0xE8,0x97,0x9C), + o3(0xE8,0x97,0xB9), o3(0xE8,0x98,0x8A), + o3(0xE8,0x98,0x93), o3(0xE8,0x98,0x8B), + o3(0xE8,0x97,0xBE), o3(0xE8,0x97,0xBA), + o3(0xE8,0x98,0x86), o3(0xE8,0x98,0xA2), + o3(0xE8,0x98,0x9A), o3(0xE8,0x98,0xB0), + o3(0xE8,0x98,0xBF), o3(0xE8,0x99,0x8D), + o3(0xE4,0xB9,0x95), o3(0xE8,0x99,0x94), + o3(0xE8,0x99,0x9F), o3(0xE8,0x99,0xA7), + o3(0xE8,0x99,0xB1), o3(0xE8,0x9A,0x93), + o3(0xE8,0x9A,0xA3), o3(0xE8,0x9A,0xA9), + o3(0xE8,0x9A,0xAA), o3(0xE8,0x9A,0x8B), + o3(0xE8,0x9A,0x8C), o3(0xE8,0x9A,0xB6), + o3(0xE8,0x9A,0xAF), o3(0xE8,0x9B,0x84), + o3(0xE8,0x9B,0x86), o3(0xE8,0x9A,0xB0), + o3(0xE8,0x9B,0x89), o3(0xE8,0xA0,0xA3), + o3(0xE8,0x9A,0xAB), o3(0xE8,0x9B,0x94), + o3(0xE8,0x9B,0x9E), o3(0xE8,0x9B,0xA9), + o3(0xE8,0x9B,0xAC), o3(0xE8,0x9B,0x9F), + o3(0xE8,0x9B,0x9B), o3(0xE8,0x9B,0xAF), + o3(0xE8,0x9C,0x92), o3(0xE8,0x9C,0x86), + o3(0xE8,0x9C,0x88), o3(0xE8,0x9C,0x80), + o3(0xE8,0x9C,0x83), o3(0xE8,0x9B,0xBB), + o3(0xE8,0x9C,0x91), o3(0xE8,0x9C,0x89), + o3(0xE8,0x9C,0x8D), o3(0xE8,0x9B,0xB9), + o3(0xE8,0x9C,0x8A), o3(0xE8,0x9C,0xB4), + o3(0xE8,0x9C,0xBF), o3(0xE8,0x9C,0xB7), + o3(0xE8,0x9C,0xBB), o3(0xE8,0x9C,0xA5), + o3(0xE8,0x9C,0xA9), o3(0xE8,0x9C,0x9A), + o3(0xE8,0x9D,0xA0), o3(0xE8,0x9D,0x9F), + o3(0xE8,0x9D,0xB8), o3(0xE8,0x9D,0x8C), + o3(0xE8,0x9D,0x8E), o3(0xE8,0x9D,0xB4), + o3(0xE8,0x9D,0x97), o3(0xE8,0x9D,0xA8), + o3(0xE8,0x9D,0xAE), o3(0xE8,0x9D,0x99), + UNDEF, +}; +static const BYTE_LOOKUP +from_EUC_JP_E9 = { + from_EUC_JP_A1_offsets, + from_EUC_JP_E9_infos +}; + +static const struct byte_lookup* const +from_EUC_JP_EA_infos[95] = { + o3(0xE8,0x9D,0x93), o3(0xE8,0x9D,0xA3), + o3(0xE8,0x9D,0xAA), o3(0xE8,0xA0,0x85), + o3(0xE8,0x9E,0xA2), o3(0xE8,0x9E,0x9F), + o3(0xE8,0x9E,0x82), o3(0xE8,0x9E,0xAF), + o3(0xE8,0x9F,0x8B), o3(0xE8,0x9E,0xBD), + o3(0xE8,0x9F,0x80), o3(0xE8,0x9F,0x90), + o3(0xE9,0x9B,0x96), o3(0xE8,0x9E,0xAB), + o3(0xE8,0x9F,0x84), o3(0xE8,0x9E,0xB3), + o3(0xE8,0x9F,0x87), o3(0xE8,0x9F,0x86), + o3(0xE8,0x9E,0xBB), o3(0xE8,0x9F,0xAF), + o3(0xE8,0x9F,0xB2), o3(0xE8,0x9F,0xA0), + o3(0xE8,0xA0,0x8F), o3(0xE8,0xA0,0x8D), + o3(0xE8,0x9F,0xBE), o3(0xE8,0x9F,0xB6), + o3(0xE8,0x9F,0xB7), o3(0xE8,0xA0,0x8E), + o3(0xE8,0x9F,0x92), o3(0xE8,0xA0,0x91), + o3(0xE8,0xA0,0x96), o3(0xE8,0xA0,0x95), + o3(0xE8,0xA0,0xA2), o3(0xE8,0xA0,0xA1), + o3(0xE8,0xA0,0xB1), o3(0xE8,0xA0,0xB6), + o3(0xE8,0xA0,0xB9), o3(0xE8,0xA0,0xA7), + o3(0xE8,0xA0,0xBB), o3(0xE8,0xA1,0x84), + o3(0xE8,0xA1,0x82), o3(0xE8,0xA1,0x92), + o3(0xE8,0xA1,0x99), o3(0xE8,0xA1,0x9E), + o3(0xE8,0xA1,0xA2), o3(0xE8,0xA1,0xAB), + o3(0xE8,0xA2,0x81), o3(0xE8,0xA1,0xBE), + o3(0xE8,0xA2,0x9E), o3(0xE8,0xA1,0xB5), + o3(0xE8,0xA1,0xBD), o3(0xE8,0xA2,0xB5), + o3(0xE8,0xA1,0xB2), o3(0xE8,0xA2,0x82), + o3(0xE8,0xA2,0x97), o3(0xE8,0xA2,0x92), + o3(0xE8,0xA2,0xAE), o3(0xE8,0xA2,0x99), + o3(0xE8,0xA2,0xA2), o3(0xE8,0xA2,0x8D), + o3(0xE8,0xA2,0xA4), o3(0xE8,0xA2,0xB0), + o3(0xE8,0xA2,0xBF), o3(0xE8,0xA2,0xB1), + o3(0xE8,0xA3,0x83), o3(0xE8,0xA3,0x84), + o3(0xE8,0xA3,0x94), o3(0xE8,0xA3,0x98), + o3(0xE8,0xA3,0x99), o3(0xE8,0xA3,0x9D), + o3(0xE8,0xA3,0xB9), o3(0xE8,0xA4,0x82), + o3(0xE8,0xA3,0xBC), o3(0xE8,0xA3,0xB4), + o3(0xE8,0xA3,0xA8), o3(0xE8,0xA3,0xB2), + o3(0xE8,0xA4,0x84), o3(0xE8,0xA4,0x8C), + o3(0xE8,0xA4,0x8A), o3(0xE8,0xA4,0x93), + o3(0xE8,0xA5,0x83), o3(0xE8,0xA4,0x9E), + o3(0xE8,0xA4,0xA5), o3(0xE8,0xA4,0xAA), + o3(0xE8,0xA4,0xAB), o3(0xE8,0xA5,0x81), + o3(0xE8,0xA5,0x84), o3(0xE8,0xA4,0xBB), + o3(0xE8,0xA4,0xB6), o3(0xE8,0xA4,0xB8), + o3(0xE8,0xA5,0x8C), o3(0xE8,0xA4,0x9D), + o3(0xE8,0xA5,0xA0), o3(0xE8,0xA5,0x9E), + UNDEF, +}; +static const BYTE_LOOKUP +from_EUC_JP_EA = { + from_EUC_JP_A1_offsets, + from_EUC_JP_EA_infos +}; + +static const struct byte_lookup* const +from_EUC_JP_EB_infos[95] = { + o3(0xE8,0xA5,0xA6), o3(0xE8,0xA5,0xA4), + o3(0xE8,0xA5,0xAD), o3(0xE8,0xA5,0xAA), + o3(0xE8,0xA5,0xAF), o3(0xE8,0xA5,0xB4), + o3(0xE8,0xA5,0xB7), o3(0xE8,0xA5,0xBE), + o3(0xE8,0xA6,0x83), o3(0xE8,0xA6,0x88), + o3(0xE8,0xA6,0x8A), o3(0xE8,0xA6,0x93), + o3(0xE8,0xA6,0x98), o3(0xE8,0xA6,0xA1), + o3(0xE8,0xA6,0xA9), o3(0xE8,0xA6,0xA6), + o3(0xE8,0xA6,0xAC), o3(0xE8,0xA6,0xAF), + o3(0xE8,0xA6,0xB2), o3(0xE8,0xA6,0xBA), + o3(0xE8,0xA6,0xBD), o3(0xE8,0xA6,0xBF), + o3(0xE8,0xA7,0x80), o3(0xE8,0xA7,0x9A), + o3(0xE8,0xA7,0x9C), o3(0xE8,0xA7,0x9D), + o3(0xE8,0xA7,0xA7), o3(0xE8,0xA7,0xB4), + o3(0xE8,0xA7,0xB8), o3(0xE8,0xA8,0x83), + o3(0xE8,0xA8,0x96), o3(0xE8,0xA8,0x90), + o3(0xE8,0xA8,0x8C), o3(0xE8,0xA8,0x9B), + o3(0xE8,0xA8,0x9D), o3(0xE8,0xA8,0xA5), + o3(0xE8,0xA8,0xB6), o3(0xE8,0xA9,0x81), + o3(0xE8,0xA9,0x9B), o3(0xE8,0xA9,0x92), + o3(0xE8,0xA9,0x86), o3(0xE8,0xA9,0x88), + o3(0xE8,0xA9,0xBC), o3(0xE8,0xA9,0xAD), + o3(0xE8,0xA9,0xAC), o3(0xE8,0xA9,0xA2), + o3(0xE8,0xAA,0x85), o3(0xE8,0xAA,0x82), + o3(0xE8,0xAA,0x84), o3(0xE8,0xAA,0xA8), + o3(0xE8,0xAA,0xA1), o3(0xE8,0xAA,0x91), + o3(0xE8,0xAA,0xA5), o3(0xE8,0xAA,0xA6), + o3(0xE8,0xAA,0x9A), o3(0xE8,0xAA,0xA3), + o3(0xE8,0xAB,0x84), o3(0xE8,0xAB,0x8D), + o3(0xE8,0xAB,0x82), o3(0xE8,0xAB,0x9A), + o3(0xE8,0xAB,0xAB), o3(0xE8,0xAB,0xB3), + o3(0xE8,0xAB,0xA7), o3(0xE8,0xAB,0xA4), + o3(0xE8,0xAB,0xB1), o3(0xE8,0xAC,0x94), + o3(0xE8,0xAB,0xA0), o3(0xE8,0xAB,0xA2), + o3(0xE8,0xAB,0xB7), o3(0xE8,0xAB,0x9E), + o3(0xE8,0xAB,0x9B), o3(0xE8,0xAC,0x8C), + o3(0xE8,0xAC,0x87), o3(0xE8,0xAC,0x9A), + o3(0xE8,0xAB,0xA1), o3(0xE8,0xAC,0x96), + o3(0xE8,0xAC,0x90), o3(0xE8,0xAC,0x97), + o3(0xE8,0xAC,0xA0), o3(0xE8,0xAC,0xB3), + o3(0xE9,0x9E,0xAB), o3(0xE8,0xAC,0xA6), + o3(0xE8,0xAC,0xAB), o3(0xE8,0xAC,0xBE), + o3(0xE8,0xAC,0xA8), o3(0xE8,0xAD,0x81), + o3(0xE8,0xAD,0x8C), o3(0xE8,0xAD,0x8F), + o3(0xE8,0xAD,0x8E), o3(0xE8,0xAD,0x89), + o3(0xE8,0xAD,0x96), o3(0xE8,0xAD,0x9B), + o3(0xE8,0xAD,0x9A), o3(0xE8,0xAD,0xAB), + UNDEF, +}; +static const BYTE_LOOKUP +from_EUC_JP_EB = { + from_EUC_JP_A1_offsets, + from_EUC_JP_EB_infos +}; + +static const struct byte_lookup* const +from_EUC_JP_EC_infos[95] = { + o3(0xE8,0xAD,0x9F), o3(0xE8,0xAD,0xAC), + o3(0xE8,0xAD,0xAF), o3(0xE8,0xAD,0xB4), + o3(0xE8,0xAD,0xBD), o3(0xE8,0xAE,0x80), + o3(0xE8,0xAE,0x8C), o3(0xE8,0xAE,0x8E), + o3(0xE8,0xAE,0x92), o3(0xE8,0xAE,0x93), + o3(0xE8,0xAE,0x96), o3(0xE8,0xAE,0x99), + o3(0xE8,0xAE,0x9A), o3(0xE8,0xB0,0xBA), + o3(0xE8,0xB1,0x81), o3(0xE8,0xB0,0xBF), + o3(0xE8,0xB1,0x88), o3(0xE8,0xB1,0x8C), + o3(0xE8,0xB1,0x8E), o3(0xE8,0xB1,0x90), + o3(0xE8,0xB1,0x95), o3(0xE8,0xB1,0xA2), + o3(0xE8,0xB1,0xAC), o3(0xE8,0xB1,0xB8), + o3(0xE8,0xB1,0xBA), o3(0xE8,0xB2,0x82), + o3(0xE8,0xB2,0x89), o3(0xE8,0xB2,0x85), + o3(0xE8,0xB2,0x8A), o3(0xE8,0xB2,0x8D), + o3(0xE8,0xB2,0x8E), o3(0xE8,0xB2,0x94), + o3(0xE8,0xB1,0xBC), o3(0xE8,0xB2,0x98), + o3(0xE6,0x88,0x9D), o3(0xE8,0xB2,0xAD), + o3(0xE8,0xB2,0xAA), o3(0xE8,0xB2,0xBD), + o3(0xE8,0xB2,0xB2), o3(0xE8,0xB2,0xB3), + o3(0xE8,0xB2,0xAE), o3(0xE8,0xB2,0xB6), + o3(0xE8,0xB3,0x88), o3(0xE8,0xB3,0x81), + o3(0xE8,0xB3,0xA4), o3(0xE8,0xB3,0xA3), + o3(0xE8,0xB3,0x9A), o3(0xE8,0xB3,0xBD), + o3(0xE8,0xB3,0xBA), o3(0xE8,0xB3,0xBB), + o3(0xE8,0xB4,0x84), o3(0xE8,0xB4,0x85), + o3(0xE8,0xB4,0x8A), o3(0xE8,0xB4,0x87), + o3(0xE8,0xB4,0x8F), o3(0xE8,0xB4,0x8D), + o3(0xE8,0xB4,0x90), o3(0xE9,0xBD,0x8E), + o3(0xE8,0xB4,0x93), o3(0xE8,0xB3,0x8D), + o3(0xE8,0xB4,0x94), o3(0xE8,0xB4,0x96), + o3(0xE8,0xB5,0xA7), o3(0xE8,0xB5,0xAD), + o3(0xE8,0xB5,0xB1), o3(0xE8,0xB5,0xB3), + o3(0xE8,0xB6,0x81), o3(0xE8,0xB6,0x99), + o3(0xE8,0xB7,0x82), o3(0xE8,0xB6,0xBE), + o3(0xE8,0xB6,0xBA), o3(0xE8,0xB7,0x8F), + o3(0xE8,0xB7,0x9A), o3(0xE8,0xB7,0x96), + o3(0xE8,0xB7,0x8C), o3(0xE8,0xB7,0x9B), + o3(0xE8,0xB7,0x8B), o3(0xE8,0xB7,0xAA), + o3(0xE8,0xB7,0xAB), o3(0xE8,0xB7,0x9F), + o3(0xE8,0xB7,0xA3), o3(0xE8,0xB7,0xBC), + o3(0xE8,0xB8,0x88), o3(0xE8,0xB8,0x89), + o3(0xE8,0xB7,0xBF), o3(0xE8,0xB8,0x9D), + o3(0xE8,0xB8,0x9E), o3(0xE8,0xB8,0x90), + o3(0xE8,0xB8,0x9F), o3(0xE8,0xB9,0x82), + o3(0xE8,0xB8,0xB5), o3(0xE8,0xB8,0xB0), + o3(0xE8,0xB8,0xB4), o3(0xE8,0xB9,0x8A), + UNDEF, +}; +static const BYTE_LOOKUP +from_EUC_JP_EC = { + from_EUC_JP_A1_offsets, + from_EUC_JP_EC_infos +}; + +static const struct byte_lookup* const +from_EUC_JP_ED_infos[95] = { + o3(0xE8,0xB9,0x87), o3(0xE8,0xB9,0x89), + o3(0xE8,0xB9,0x8C), o3(0xE8,0xB9,0x90), + o3(0xE8,0xB9,0x88), o3(0xE8,0xB9,0x99), + o3(0xE8,0xB9,0xA4), o3(0xE8,0xB9,0xA0), + o3(0xE8,0xB8,0xAA), o3(0xE8,0xB9,0xA3), + o3(0xE8,0xB9,0x95), o3(0xE8,0xB9,0xB6), + o3(0xE8,0xB9,0xB2), o3(0xE8,0xB9,0xBC), + o3(0xE8,0xBA,0x81), o3(0xE8,0xBA,0x87), + o3(0xE8,0xBA,0x85), o3(0xE8,0xBA,0x84), + o3(0xE8,0xBA,0x8B), o3(0xE8,0xBA,0x8A), + o3(0xE8,0xBA,0x93), o3(0xE8,0xBA,0x91), + o3(0xE8,0xBA,0x94), o3(0xE8,0xBA,0x99), + o3(0xE8,0xBA,0xAA), o3(0xE8,0xBA,0xA1), + o3(0xE8,0xBA,0xAC), o3(0xE8,0xBA,0xB0), + o3(0xE8,0xBB,0x86), o3(0xE8,0xBA,0xB1), + o3(0xE8,0xBA,0xBE), o3(0xE8,0xBB,0x85), + o3(0xE8,0xBB,0x88), o3(0xE8,0xBB,0x8B), + o3(0xE8,0xBB,0x9B), o3(0xE8,0xBB,0xA3), + o3(0xE8,0xBB,0xBC), o3(0xE8,0xBB,0xBB), + o3(0xE8,0xBB,0xAB), o3(0xE8,0xBB,0xBE), + o3(0xE8,0xBC,0x8A), o3(0xE8,0xBC,0x85), + o3(0xE8,0xBC,0x95), o3(0xE8,0xBC,0x92), + o3(0xE8,0xBC,0x99), o3(0xE8,0xBC,0x93), + o3(0xE8,0xBC,0x9C), o3(0xE8,0xBC,0x9F), + o3(0xE8,0xBC,0x9B), o3(0xE8,0xBC,0x8C), + o3(0xE8,0xBC,0xA6), o3(0xE8,0xBC,0xB3), + o3(0xE8,0xBC,0xBB), o3(0xE8,0xBC,0xB9), + o3(0xE8,0xBD,0x85), o3(0xE8,0xBD,0x82), + o3(0xE8,0xBC,0xBE), o3(0xE8,0xBD,0x8C), + o3(0xE8,0xBD,0x89), o3(0xE8,0xBD,0x86), + o3(0xE8,0xBD,0x8E), o3(0xE8,0xBD,0x97), + o3(0xE8,0xBD,0x9C), o3(0xE8,0xBD,0xA2), + o3(0xE8,0xBD,0xA3), o3(0xE8,0xBD,0xA4), + o3(0xE8,0xBE,0x9C), o3(0xE8,0xBE,0x9F), + o3(0xE8,0xBE,0xA3), o3(0xE8,0xBE,0xAD), + o3(0xE8,0xBE,0xAF), o3(0xE8,0xBE,0xB7), + o3(0xE8,0xBF,0x9A), o3(0xE8,0xBF,0xA5), + o3(0xE8,0xBF,0xA2), o3(0xE8,0xBF,0xAA), + o3(0xE8,0xBF,0xAF), o3(0xE9,0x82,0x87), + o3(0xE8,0xBF,0xB4), o3(0xE9,0x80,0x85), + o3(0xE8,0xBF,0xB9), o3(0xE8,0xBF,0xBA), + o3(0xE9,0x80,0x91), o3(0xE9,0x80,0x95), + o3(0xE9,0x80,0xA1), o3(0xE9,0x80,0x8D), + o3(0xE9,0x80,0x9E), o3(0xE9,0x80,0x96), + o3(0xE9,0x80,0x8B), o3(0xE9,0x80,0xA7), + o3(0xE9,0x80,0xB6), o3(0xE9,0x80,0xB5), + o3(0xE9,0x80,0xB9), o3(0xE8,0xBF,0xB8), + UNDEF, +}; +static const BYTE_LOOKUP +from_EUC_JP_ED = { + from_EUC_JP_A1_offsets, + from_EUC_JP_ED_infos +}; + +static const struct byte_lookup* const +from_EUC_JP_EE_infos[95] = { + o3(0xE9,0x81,0x8F), o3(0xE9,0x81,0x90), + o3(0xE9,0x81,0x91), o3(0xE9,0x81,0x92), + o3(0xE9,0x80,0x8E), o3(0xE9,0x81,0x89), + o3(0xE9,0x80,0xBE), o3(0xE9,0x81,0x96), + o3(0xE9,0x81,0x98), o3(0xE9,0x81,0x9E), + o3(0xE9,0x81,0xA8), o3(0xE9,0x81,0xAF), + o3(0xE9,0x81,0xB6), o3(0xE9,0x9A,0xA8), + o3(0xE9,0x81,0xB2), o3(0xE9,0x82,0x82), + o3(0xE9,0x81,0xBD), o3(0xE9,0x82,0x81), + o3(0xE9,0x82,0x80), o3(0xE9,0x82,0x8A), + o3(0xE9,0x82,0x89), o3(0xE9,0x82,0x8F), + o3(0xE9,0x82,0xA8), o3(0xE9,0x82,0xAF), + o3(0xE9,0x82,0xB1), o3(0xE9,0x82,0xB5), + o3(0xE9,0x83,0xA2), o3(0xE9,0x83,0xA4), + o3(0xE6,0x89,0x88), o3(0xE9,0x83,0x9B), + o3(0xE9,0x84,0x82), o3(0xE9,0x84,0x92), + o3(0xE9,0x84,0x99), o3(0xE9,0x84,0xB2), + o3(0xE9,0x84,0xB0), o3(0xE9,0x85,0x8A), + o3(0xE9,0x85,0x96), o3(0xE9,0x85,0x98), + o3(0xE9,0x85,0xA3), o3(0xE9,0x85,0xA5), + o3(0xE9,0x85,0xA9), o3(0xE9,0x85,0xB3), + o3(0xE9,0x85,0xB2), o3(0xE9,0x86,0x8B), + o3(0xE9,0x86,0x89), o3(0xE9,0x86,0x82), + o3(0xE9,0x86,0xA2), o3(0xE9,0x86,0xAB), + o3(0xE9,0x86,0xAF), o3(0xE9,0x86,0xAA), + o3(0xE9,0x86,0xB5), o3(0xE9,0x86,0xB4), + o3(0xE9,0x86,0xBA), o3(0xE9,0x87,0x80), + o3(0xE9,0x87,0x81), o3(0xE9,0x87,0x89), + o3(0xE9,0x87,0x8B), o3(0xE9,0x87,0x90), + o3(0xE9,0x87,0x96), o3(0xE9,0x87,0x9F), + o3(0xE9,0x87,0xA1), o3(0xE9,0x87,0x9B), + o3(0xE9,0x87,0xBC), o3(0xE9,0x87,0xB5), + o3(0xE9,0x87,0xB6), o3(0xE9,0x88,0x9E), + o3(0xE9,0x87,0xBF), o3(0xE9,0x88,0x94), + o3(0xE9,0x88,0xAC), o3(0xE9,0x88,0x95), + o3(0xE9,0x88,0x91), o3(0xE9,0x89,0x9E), + o3(0xE9,0x89,0x97), o3(0xE9,0x89,0x85), + o3(0xE9,0x89,0x89), o3(0xE9,0x89,0xA4), + o3(0xE9,0x89,0x88), o3(0xE9,0x8A,0x95), + o3(0xE9,0x88,0xBF), o3(0xE9,0x89,0x8B), + o3(0xE9,0x89,0x90), o3(0xE9,0x8A,0x9C), + o3(0xE9,0x8A,0x96), o3(0xE9,0x8A,0x93), + o3(0xE9,0x8A,0x9B), o3(0xE9,0x89,0x9A), + o3(0xE9,0x8B,0x8F), o3(0xE9,0x8A,0xB9), + o3(0xE9,0x8A,0xB7), o3(0xE9,0x8B,0xA9), + o3(0xE9,0x8C,0x8F), o3(0xE9,0x8B,0xBA), + o3(0xE9,0x8D,0x84), o3(0xE9,0x8C,0xAE), + UNDEF, +}; +static const BYTE_LOOKUP +from_EUC_JP_EE = { + from_EUC_JP_A1_offsets, + from_EUC_JP_EE_infos +}; + +static const struct byte_lookup* const +from_EUC_JP_EF_infos[95] = { + o3(0xE9,0x8C,0x99), o3(0xE9,0x8C,0xA2), + o3(0xE9,0x8C,0x9A), o3(0xE9,0x8C,0xA3), + o3(0xE9,0x8C,0xBA), o3(0xE9,0x8C,0xB5), + o3(0xE9,0x8C,0xBB), o3(0xE9,0x8D,0x9C), + o3(0xE9,0x8D,0xA0), o3(0xE9,0x8D,0xBC), + o3(0xE9,0x8D,0xAE), o3(0xE9,0x8D,0x96), + o3(0xE9,0x8E,0xB0), o3(0xE9,0x8E,0xAC), + o3(0xE9,0x8E,0xAD), o3(0xE9,0x8E,0x94), + o3(0xE9,0x8E,0xB9), o3(0xE9,0x8F,0x96), + o3(0xE9,0x8F,0x97), o3(0xE9,0x8F,0xA8), + o3(0xE9,0x8F,0xA5), o3(0xE9,0x8F,0x98), + o3(0xE9,0x8F,0x83), o3(0xE9,0x8F,0x9D), + o3(0xE9,0x8F,0x90), o3(0xE9,0x8F,0x88), + o3(0xE9,0x8F,0xA4), o3(0xE9,0x90,0x9A), + o3(0xE9,0x90,0x94), o3(0xE9,0x90,0x93), + o3(0xE9,0x90,0x83), o3(0xE9,0x90,0x87), + o3(0xE9,0x90,0x90), o3(0xE9,0x90,0xB6), + o3(0xE9,0x90,0xAB), o3(0xE9,0x90,0xB5), + o3(0xE9,0x90,0xA1), o3(0xE9,0x90,0xBA), + o3(0xE9,0x91,0x81), o3(0xE9,0x91,0x92), + o3(0xE9,0x91,0x84), o3(0xE9,0x91,0x9B), + o3(0xE9,0x91,0xA0), o3(0xE9,0x91,0xA2), + o3(0xE9,0x91,0x9E), o3(0xE9,0x91,0xAA), + o3(0xE9,0x88,0xA9), o3(0xE9,0x91,0xB0), + o3(0xE9,0x91,0xB5), o3(0xE9,0x91,0xB7), + o3(0xE9,0x91,0xBD), o3(0xE9,0x91,0x9A), + o3(0xE9,0x91,0xBC), o3(0xE9,0x91,0xBE), + o3(0xE9,0x92,0x81), o3(0xE9,0x91,0xBF), + o3(0xE9,0x96,0x82), o3(0xE9,0x96,0x87), + o3(0xE9,0x96,0x8A), o3(0xE9,0x96,0x94), + o3(0xE9,0x96,0x96), o3(0xE9,0x96,0x98), + o3(0xE9,0x96,0x99), o3(0xE9,0x96,0xA0), + o3(0xE9,0x96,0xA8), o3(0xE9,0x96,0xA7), + o3(0xE9,0x96,0xAD), o3(0xE9,0x96,0xBC), + o3(0xE9,0x96,0xBB), o3(0xE9,0x96,0xB9), + o3(0xE9,0x96,0xBE), o3(0xE9,0x97,0x8A), + o3(0xE6,0xBF,0xB6), o3(0xE9,0x97,0x83), + o3(0xE9,0x97,0x8D), o3(0xE9,0x97,0x8C), + o3(0xE9,0x97,0x95), o3(0xE9,0x97,0x94), + o3(0xE9,0x97,0x96), o3(0xE9,0x97,0x9C), + o3(0xE9,0x97,0xA1), o3(0xE9,0x97,0xA5), + o3(0xE9,0x97,0xA2), o3(0xE9,0x98,0xA1), + o3(0xE9,0x98,0xA8), o3(0xE9,0x98,0xAE), + o3(0xE9,0x98,0xAF), o3(0xE9,0x99,0x82), + o3(0xE9,0x99,0x8C), o3(0xE9,0x99,0x8F), + o3(0xE9,0x99,0x8B), o3(0xE9,0x99,0xB7), + o3(0xE9,0x99,0x9C), o3(0xE9,0x99,0x9E), + UNDEF, +}; +static const BYTE_LOOKUP +from_EUC_JP_EF = { + from_EUC_JP_A1_offsets, + from_EUC_JP_EF_infos +}; + +static const struct byte_lookup* const +from_EUC_JP_F0_infos[95] = { + o3(0xE9,0x99,0x9D), o3(0xE9,0x99,0x9F), + o3(0xE9,0x99,0xA6), o3(0xE9,0x99,0xB2), + o3(0xE9,0x99,0xAC), o3(0xE9,0x9A,0x8D), + o3(0xE9,0x9A,0x98), o3(0xE9,0x9A,0x95), + o3(0xE9,0x9A,0x97), o3(0xE9,0x9A,0xAA), + o3(0xE9,0x9A,0xA7), o3(0xE9,0x9A,0xB1), + o3(0xE9,0x9A,0xB2), o3(0xE9,0x9A,0xB0), + o3(0xE9,0x9A,0xB4), o3(0xE9,0x9A,0xB6), + o3(0xE9,0x9A,0xB8), o3(0xE9,0x9A,0xB9), + o3(0xE9,0x9B,0x8E), o3(0xE9,0x9B,0x8B), + o3(0xE9,0x9B,0x89), o3(0xE9,0x9B,0x8D), + o3(0xE8,0xA5,0x8D), o3(0xE9,0x9B,0x9C), + o3(0xE9,0x9C,0x8D), o3(0xE9,0x9B,0x95), + o3(0xE9,0x9B,0xB9), o3(0xE9,0x9C,0x84), + o3(0xE9,0x9C,0x86), o3(0xE9,0x9C,0x88), + o3(0xE9,0x9C,0x93), o3(0xE9,0x9C,0x8E), + o3(0xE9,0x9C,0x91), o3(0xE9,0x9C,0x8F), + o3(0xE9,0x9C,0x96), o3(0xE9,0x9C,0x99), + o3(0xE9,0x9C,0xA4), o3(0xE9,0x9C,0xAA), + o3(0xE9,0x9C,0xB0), o3(0xE9,0x9C,0xB9), + o3(0xE9,0x9C,0xBD), o3(0xE9,0x9C,0xBE), + o3(0xE9,0x9D,0x84), o3(0xE9,0x9D,0x86), + o3(0xE9,0x9D,0x88), o3(0xE9,0x9D,0x82), + o3(0xE9,0x9D,0x89), o3(0xE9,0x9D,0x9C), + o3(0xE9,0x9D,0xA0), o3(0xE9,0x9D,0xA4), + o3(0xE9,0x9D,0xA6), o3(0xE9,0x9D,0xA8), + o3(0xE5,0x8B,0x92), o3(0xE9,0x9D,0xAB), + o3(0xE9,0x9D,0xB1), o3(0xE9,0x9D,0xB9), + o3(0xE9,0x9E,0x85), o3(0xE9,0x9D,0xBC), + o3(0xE9,0x9E,0x81), o3(0xE9,0x9D,0xBA), + o3(0xE9,0x9E,0x86), o3(0xE9,0x9E,0x8B), + o3(0xE9,0x9E,0x8F), o3(0xE9,0x9E,0x90), + o3(0xE9,0x9E,0x9C), o3(0xE9,0x9E,0xA8), + o3(0xE9,0x9E,0xA6), o3(0xE9,0x9E,0xA3), + o3(0xE9,0x9E,0xB3), o3(0xE9,0x9E,0xB4), + o3(0xE9,0x9F,0x83), o3(0xE9,0x9F,0x86), + o3(0xE9,0x9F,0x88), o3(0xE9,0x9F,0x8B), + o3(0xE9,0x9F,0x9C), o3(0xE9,0x9F,0xAD), + o3(0xE9,0xBD,0x8F), o3(0xE9,0x9F,0xB2), + o3(0xE7,0xAB,0x9F), o3(0xE9,0x9F,0xB6), + o3(0xE9,0x9F,0xB5), o3(0xE9,0xA0,0x8F), + o3(0xE9,0xA0,0x8C), o3(0xE9,0xA0,0xB8), + o3(0xE9,0xA0,0xA4), o3(0xE9,0xA0,0xA1), + o3(0xE9,0xA0,0xB7), o3(0xE9,0xA0,0xBD), + o3(0xE9,0xA1,0x86), o3(0xE9,0xA1,0x8F), + o3(0xE9,0xA1,0x8B), o3(0xE9,0xA1,0xAB), + o3(0xE9,0xA1,0xAF), o3(0xE9,0xA1,0xB0), + UNDEF, +}; +static const BYTE_LOOKUP +from_EUC_JP_F0 = { + from_EUC_JP_A1_offsets, + from_EUC_JP_F0_infos +}; + +static const struct byte_lookup* const +from_EUC_JP_F1_infos[95] = { + o3(0xE9,0xA1,0xB1), o3(0xE9,0xA1,0xB4), + o3(0xE9,0xA1,0xB3), o3(0xE9,0xA2,0xAA), + o3(0xE9,0xA2,0xAF), o3(0xE9,0xA2,0xB1), + o3(0xE9,0xA2,0xB6), o3(0xE9,0xA3,0x84), + o3(0xE9,0xA3,0x83), o3(0xE9,0xA3,0x86), + o3(0xE9,0xA3,0xA9), o3(0xE9,0xA3,0xAB), + o3(0xE9,0xA4,0x83), o3(0xE9,0xA4,0x89), + o3(0xE9,0xA4,0x92), o3(0xE9,0xA4,0x94), + o3(0xE9,0xA4,0x98), o3(0xE9,0xA4,0xA1), + o3(0xE9,0xA4,0x9D), o3(0xE9,0xA4,0x9E), + o3(0xE9,0xA4,0xA4), o3(0xE9,0xA4,0xA0), + o3(0xE9,0xA4,0xAC), o3(0xE9,0xA4,0xAE), + o3(0xE9,0xA4,0xBD), o3(0xE9,0xA4,0xBE), + o3(0xE9,0xA5,0x82), o3(0xE9,0xA5,0x89), + o3(0xE9,0xA5,0x85), o3(0xE9,0xA5,0x90), + o3(0xE9,0xA5,0x8B), o3(0xE9,0xA5,0x91), + o3(0xE9,0xA5,0x92), o3(0xE9,0xA5,0x8C), + o3(0xE9,0xA5,0x95), o3(0xE9,0xA6,0x97), + o3(0xE9,0xA6,0x98), o3(0xE9,0xA6,0xA5), + o3(0xE9,0xA6,0xAD), o3(0xE9,0xA6,0xAE), + o3(0xE9,0xA6,0xBC), o3(0xE9,0xA7,0x9F), + o3(0xE9,0xA7,0x9B), o3(0xE9,0xA7,0x9D), + o3(0xE9,0xA7,0x98), o3(0xE9,0xA7,0x91), + o3(0xE9,0xA7,0xAD), o3(0xE9,0xA7,0xAE), + o3(0xE9,0xA7,0xB1), o3(0xE9,0xA7,0xB2), + o3(0xE9,0xA7,0xBB), o3(0xE9,0xA7,0xB8), + o3(0xE9,0xA8,0x81), o3(0xE9,0xA8,0x8F), + o3(0xE9,0xA8,0x85), o3(0xE9,0xA7,0xA2), + o3(0xE9,0xA8,0x99), o3(0xE9,0xA8,0xAB), + o3(0xE9,0xA8,0xB7), o3(0xE9,0xA9,0x85), + o3(0xE9,0xA9,0x82), o3(0xE9,0xA9,0x80), + o3(0xE9,0xA9,0x83), o3(0xE9,0xA8,0xBE), + o3(0xE9,0xA9,0x95), o3(0xE9,0xA9,0x8D), + o3(0xE9,0xA9,0x9B), o3(0xE9,0xA9,0x97), + o3(0xE9,0xA9,0x9F), o3(0xE9,0xA9,0xA2), + o3(0xE9,0xA9,0xA5), o3(0xE9,0xA9,0xA4), + o3(0xE9,0xA9,0xA9), o3(0xE9,0xA9,0xAB), + o3(0xE9,0xA9,0xAA), o3(0xE9,0xAA,0xAD), + o3(0xE9,0xAA,0xB0), o3(0xE9,0xAA,0xBC), + o3(0xE9,0xAB,0x80), o3(0xE9,0xAB,0x8F), + o3(0xE9,0xAB,0x91), o3(0xE9,0xAB,0x93), + o3(0xE9,0xAB,0x94), o3(0xE9,0xAB,0x9E), + o3(0xE9,0xAB,0x9F), o3(0xE9,0xAB,0xA2), + o3(0xE9,0xAB,0xA3), o3(0xE9,0xAB,0xA6), + o3(0xE9,0xAB,0xAF), o3(0xE9,0xAB,0xAB), + o3(0xE9,0xAB,0xAE), o3(0xE9,0xAB,0xB4), + o3(0xE9,0xAB,0xB1), o3(0xE9,0xAB,0xB7), + UNDEF, +}; +static const BYTE_LOOKUP +from_EUC_JP_F1 = { + from_EUC_JP_A1_offsets, + from_EUC_JP_F1_infos +}; + +static const struct byte_lookup* const +from_EUC_JP_F2_infos[95] = { + o3(0xE9,0xAB,0xBB), o3(0xE9,0xAC,0x86), + o3(0xE9,0xAC,0x98), o3(0xE9,0xAC,0x9A), + o3(0xE9,0xAC,0x9F), o3(0xE9,0xAC,0xA2), + o3(0xE9,0xAC,0xA3), o3(0xE9,0xAC,0xA5), + o3(0xE9,0xAC,0xA7), o3(0xE9,0xAC,0xA8), + o3(0xE9,0xAC,0xA9), o3(0xE9,0xAC,0xAA), + o3(0xE9,0xAC,0xAE), o3(0xE9,0xAC,0xAF), + o3(0xE9,0xAC,0xB2), o3(0xE9,0xAD,0x84), + o3(0xE9,0xAD,0x83), o3(0xE9,0xAD,0x8F), + o3(0xE9,0xAD,0x8D), o3(0xE9,0xAD,0x8E), + o3(0xE9,0xAD,0x91), o3(0xE9,0xAD,0x98), + o3(0xE9,0xAD,0xB4), o3(0xE9,0xAE,0x93), + o3(0xE9,0xAE,0x83), o3(0xE9,0xAE,0x91), + o3(0xE9,0xAE,0x96), o3(0xE9,0xAE,0x97), + o3(0xE9,0xAE,0x9F), o3(0xE9,0xAE,0xA0), + o3(0xE9,0xAE,0xA8), o3(0xE9,0xAE,0xB4), + o3(0xE9,0xAF,0x80), o3(0xE9,0xAF,0x8A), + o3(0xE9,0xAE,0xB9), o3(0xE9,0xAF,0x86), + o3(0xE9,0xAF,0x8F), o3(0xE9,0xAF,0x91), + o3(0xE9,0xAF,0x92), o3(0xE9,0xAF,0xA3), + o3(0xE9,0xAF,0xA2), o3(0xE9,0xAF,0xA4), + o3(0xE9,0xAF,0x94), o3(0xE9,0xAF,0xA1), + o3(0xE9,0xB0,0xBA), o3(0xE9,0xAF,0xB2), + o3(0xE9,0xAF,0xB1), o3(0xE9,0xAF,0xB0), + o3(0xE9,0xB0,0x95), o3(0xE9,0xB0,0x94), + o3(0xE9,0xB0,0x89), o3(0xE9,0xB0,0x93), + o3(0xE9,0xB0,0x8C), o3(0xE9,0xB0,0x86), + o3(0xE9,0xB0,0x88), o3(0xE9,0xB0,0x92), + o3(0xE9,0xB0,0x8A), o3(0xE9,0xB0,0x84), + o3(0xE9,0xB0,0xAE), o3(0xE9,0xB0,0x9B), + o3(0xE9,0xB0,0xA5), o3(0xE9,0xB0,0xA4), + o3(0xE9,0xB0,0xA1), o3(0xE9,0xB0,0xB0), + o3(0xE9,0xB1,0x87), o3(0xE9,0xB0,0xB2), + o3(0xE9,0xB1,0x86), o3(0xE9,0xB0,0xBE), + o3(0xE9,0xB1,0x9A), o3(0xE9,0xB1,0xA0), + o3(0xE9,0xB1,0xA7), o3(0xE9,0xB1,0xB6), + o3(0xE9,0xB1,0xB8), o3(0xE9,0xB3,0xA7), + o3(0xE9,0xB3,0xAC), o3(0xE9,0xB3,0xB0), + o3(0xE9,0xB4,0x89), o3(0xE9,0xB4,0x88), + o3(0xE9,0xB3,0xAB), o3(0xE9,0xB4,0x83), + o3(0xE9,0xB4,0x86), o3(0xE9,0xB4,0xAA), + o3(0xE9,0xB4,0xA6), o3(0xE9,0xB6,0xAF), + o3(0xE9,0xB4,0xA3), o3(0xE9,0xB4,0x9F), + o3(0xE9,0xB5,0x84), o3(0xE9,0xB4,0x95), + o3(0xE9,0xB4,0x92), o3(0xE9,0xB5,0x81), + o3(0xE9,0xB4,0xBF), o3(0xE9,0xB4,0xBE), + o3(0xE9,0xB5,0x86), o3(0xE9,0xB5,0x88), + UNDEF, +}; +static const BYTE_LOOKUP +from_EUC_JP_F2 = { + from_EUC_JP_A1_offsets, + from_EUC_JP_F2_infos +}; + +static const struct byte_lookup* const +from_EUC_JP_F3_infos[95] = { + o3(0xE9,0xB5,0x9D), o3(0xE9,0xB5,0x9E), + o3(0xE9,0xB5,0xA4), o3(0xE9,0xB5,0x91), + o3(0xE9,0xB5,0x90), o3(0xE9,0xB5,0x99), + o3(0xE9,0xB5,0xB2), o3(0xE9,0xB6,0x89), + o3(0xE9,0xB6,0x87), o3(0xE9,0xB6,0xAB), + o3(0xE9,0xB5,0xAF), o3(0xE9,0xB5,0xBA), + o3(0xE9,0xB6,0x9A), o3(0xE9,0xB6,0xA4), + o3(0xE9,0xB6,0xA9), o3(0xE9,0xB6,0xB2), + o3(0xE9,0xB7,0x84), o3(0xE9,0xB7,0x81), + o3(0xE9,0xB6,0xBB), o3(0xE9,0xB6,0xB8), + o3(0xE9,0xB6,0xBA), o3(0xE9,0xB7,0x86), + o3(0xE9,0xB7,0x8F), o3(0xE9,0xB7,0x82), + o3(0xE9,0xB7,0x99), o3(0xE9,0xB7,0x93), + o3(0xE9,0xB7,0xB8), o3(0xE9,0xB7,0xA6), + o3(0xE9,0xB7,0xAD), o3(0xE9,0xB7,0xAF), + o3(0xE9,0xB7,0xBD), o3(0xE9,0xB8,0x9A), + o3(0xE9,0xB8,0x9B), o3(0xE9,0xB8,0x9E), + o3(0xE9,0xB9,0xB5), o3(0xE9,0xB9,0xB9), + o3(0xE9,0xB9,0xBD), o3(0xE9,0xBA,0x81), + o3(0xE9,0xBA,0x88), o3(0xE9,0xBA,0x8B), + o3(0xE9,0xBA,0x8C), o3(0xE9,0xBA,0x92), + o3(0xE9,0xBA,0x95), o3(0xE9,0xBA,0x91), + o3(0xE9,0xBA,0x9D), o3(0xE9,0xBA,0xA5), + o3(0xE9,0xBA,0xA9), o3(0xE9,0xBA,0xB8), + o3(0xE9,0xBA,0xAA), o3(0xE9,0xBA,0xAD), + o3(0xE9,0x9D,0xA1), o3(0xE9,0xBB,0x8C), + o3(0xE9,0xBB,0x8E), o3(0xE9,0xBB,0x8F), + o3(0xE9,0xBB,0x90), o3(0xE9,0xBB,0x94), + o3(0xE9,0xBB,0x9C), o3(0xE9,0xBB,0x9E), + o3(0xE9,0xBB,0x9D), o3(0xE9,0xBB,0xA0), + o3(0xE9,0xBB,0xA5), o3(0xE9,0xBB,0xA8), + o3(0xE9,0xBB,0xAF), o3(0xE9,0xBB,0xB4), + o3(0xE9,0xBB,0xB6), o3(0xE9,0xBB,0xB7), + o3(0xE9,0xBB,0xB9), o3(0xE9,0xBB,0xBB), + o3(0xE9,0xBB,0xBC), o3(0xE9,0xBB,0xBD), + o3(0xE9,0xBC,0x87), o3(0xE9,0xBC,0x88), + o3(0xE7,0x9A,0xB7), o3(0xE9,0xBC,0x95), + o3(0xE9,0xBC,0xA1), o3(0xE9,0xBC,0xAC), + o3(0xE9,0xBC,0xBE), o3(0xE9,0xBD,0x8A), + o3(0xE9,0xBD,0x92), o3(0xE9,0xBD,0x94), + o3(0xE9,0xBD,0xA3), o3(0xE9,0xBD,0x9F), + o3(0xE9,0xBD,0xA0), o3(0xE9,0xBD,0xA1), + o3(0xE9,0xBD,0xA6), o3(0xE9,0xBD,0xA7), + o3(0xE9,0xBD,0xAC), o3(0xE9,0xBD,0xAA), + o3(0xE9,0xBD,0xB7), o3(0xE9,0xBD,0xB2), + o3(0xE9,0xBD,0xB6), o3(0xE9,0xBE,0x95), + o3(0xE9,0xBE,0x9C), o3(0xE9,0xBE,0xA0), + UNDEF, +}; +static const BYTE_LOOKUP +from_EUC_JP_F3 = { + from_EUC_JP_A1_offsets, + from_EUC_JP_F3_infos +}; + +static const unsigned char +from_EUC_JP_F4_offsets[256] = { + 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, + 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, + 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, + 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, + 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, + 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, + 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, + 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, + 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, + 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, + 6, 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, 6, 6, 6, 6, 6, 6, 6, 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 +from_EUC_JP_F4_infos[7] = { + o3(0xE5,0xA0,0xAF), o3(0xE6,0xA7,0x87), + o3(0xE9,0x81,0x99), o3(0xE7,0x91,0xA4), + o3(0xE5,0x87,0x9C), o3(0xE7,0x86,0x99), + UNDEF, +}; +static const BYTE_LOOKUP +from_EUC_JP_F4 = { + from_EUC_JP_F4_offsets, + from_EUC_JP_F4_infos +}; + +static const struct byte_lookup* const +from_EUC_JP_F9_infos[95] = { + o3(0xE7,0xBA,0x8A), o3(0xE8,0xA4,0x9C), + o3(0xE9,0x8D,0x88), o3(0xE9,0x8A,0x88), + o3(0xE8,0x93,0x9C), o3(0xE4,0xBF,0x89), + o3(0xE7,0x82,0xBB), o3(0xE6,0x98,0xB1), + o3(0xE6,0xA3,0x88), o3(0xE9,0x8B,0xB9), + o3(0xE6,0x9B,0xBB), o3(0xE5,0xBD,0x85), + o3(0xE4,0xB8,0xA8), o3(0xE4,0xBB,0xA1), + o3(0xE4,0xBB,0xBC), o3(0xE4,0xBC,0x80), + o3(0xE4,0xBC,0x83), o3(0xE4,0xBC,0xB9), + o3(0xE4,0xBD,0x96), o3(0xE4,0xBE,0x92), + o3(0xE4,0xBE,0x8A), o3(0xE4,0xBE,0x9A), + o3(0xE4,0xBE,0x94), o3(0xE4,0xBF,0x8D), + o3(0xE5,0x81,0x80), o3(0xE5,0x80,0xA2), + o3(0xE4,0xBF,0xBF), o3(0xE5,0x80,0x9E), + o3(0xE5,0x81,0x86), o3(0xE5,0x81,0xB0), + o3(0xE5,0x81,0x82), o3(0xE5,0x82,0x94), + o3(0xE5,0x83,0xB4), o3(0xE5,0x83,0x98), + o3(0xE5,0x85,0x8A), o3(0xE5,0x85,0xA4), + o3(0xE5,0x86,0x9D), o3(0xE5,0x86,0xBE), + o3(0xE5,0x87,0xAC), o3(0xE5,0x88,0x95), + o3(0xE5,0x8A,0x9C), o3(0xE5,0x8A,0xA6), + o3(0xE5,0x8B,0x80), o3(0xE5,0x8B,0x9B), + o3(0xE5,0x8C,0x80), o3(0xE5,0x8C,0x87), + o3(0xE5,0x8C,0xA4), o3(0xE5,0x8D,0xB2), + o3(0xE5,0x8E,0x93), o3(0xE5,0x8E,0xB2), + o3(0xE5,0x8F,0x9D), o3(0xEF,0xA8,0x8E), + o3(0xE5,0x92,0x9C), o3(0xE5,0x92,0x8A), + o3(0xE5,0x92,0xA9), o3(0xE5,0x93,0xBF), + o3(0xE5,0x96,0x86), o3(0xE5,0x9D,0x99), + o3(0xE5,0x9D,0xA5), o3(0xE5,0x9E,0xAC), + o3(0xE5,0x9F,0x88), o3(0xE5,0x9F,0x87), + o3(0xEF,0xA8,0x8F), o3(0xEF,0xA8,0x90), + o3(0xE5,0xA2,0x9E), o3(0xE5,0xA2,0xB2), + o3(0xE5,0xA4,0x8B), o3(0xE5,0xA5,0x93), + o3(0xE5,0xA5,0x9B), o3(0xE5,0xA5,0x9D), + o3(0xE5,0xA5,0xA3), o3(0xE5,0xA6,0xA4), + o3(0xE5,0xA6,0xBA), o3(0xE5,0xAD,0x96), + o3(0xE5,0xAF,0x80), o3(0xE7,0x94,0xAF), + o3(0xE5,0xAF,0x98), o3(0xE5,0xAF,0xAC), + o3(0xE5,0xB0,0x9E), o3(0xE5,0xB2,0xA6), + o3(0xE5,0xB2,0xBA), o3(0xE5,0xB3,0xB5), + o3(0xE5,0xB4,0xA7), o3(0xE5,0xB5,0x93), + o3(0xEF,0xA8,0x91), o3(0xE5,0xB5,0x82), + o3(0xE5,0xB5,0xAD), o3(0xE5,0xB6,0xB8), + o3(0xE5,0xB6,0xB9), o3(0xE5,0xB7,0x90), + o3(0xE5,0xBC,0xA1), o3(0xE5,0xBC,0xB4), + o3(0xE5,0xBD,0xA7), o3(0xE5,0xBE,0xB7), + UNDEF, +}; +static const BYTE_LOOKUP +from_EUC_JP_F9 = { + from_EUC_JP_A1_offsets, + from_EUC_JP_F9_infos +}; + +static const struct byte_lookup* const +from_EUC_JP_FA_infos[95] = { + o3(0xE5,0xBF,0x9E), o3(0xE6,0x81,0x9D), + o3(0xE6,0x82,0x85), o3(0xE6,0x82,0x8A), + o3(0xE6,0x83,0x9E), o3(0xE6,0x83,0x95), + o3(0xE6,0x84,0xA0), o3(0xE6,0x83,0xB2), + o3(0xE6,0x84,0x91), o3(0xE6,0x84,0xB7), + o3(0xE6,0x84,0xB0), o3(0xE6,0x86,0x98), + o3(0xE6,0x88,0x93), o3(0xE6,0x8A,0xA6), + o3(0xE6,0x8F,0xB5), o3(0xE6,0x91,0xA0), + o3(0xE6,0x92,0x9D), o3(0xE6,0x93,0x8E), + o3(0xE6,0x95,0x8E), o3(0xE6,0x98,0x80), + o3(0xE6,0x98,0x95), o3(0xE6,0x98,0xBB), + o3(0xE6,0x98,0x89), o3(0xE6,0x98,0xAE), + o3(0xE6,0x98,0x9E), o3(0xE6,0x98,0xA4), + o3(0xE6,0x99,0xA5), o3(0xE6,0x99,0x97), + o3(0xE6,0x99,0x99), o3(0xEF,0xA8,0x92), + o3(0xE6,0x99,0xB3), o3(0xE6,0x9A,0x99), + o3(0xE6,0x9A,0xA0), o3(0xE6,0x9A,0xB2), + o3(0xE6,0x9A,0xBF), o3(0xE6,0x9B,0xBA), + o3(0xE6,0x9C,0x8E), o3(0xEF,0xA4,0xA9), + o3(0xE6,0x9D,0xA6), o3(0xE6,0x9E,0xBB), + o3(0xE6,0xA1,0x92), o3(0xE6,0x9F,0x80), + o3(0xE6,0xA0,0x81), o3(0xE6,0xA1,0x84), + o3(0xE6,0xA3,0x8F), o3(0xEF,0xA8,0x93), + o3(0xE6,0xA5,0xA8), o3(0xEF,0xA8,0x94), + o3(0xE6,0xA6,0x98), o3(0xE6,0xA7,0xA2), + o3(0xE6,0xA8,0xB0), o3(0xE6,0xA9,0xAB), + o3(0xE6,0xA9,0x86), o3(0xE6,0xA9,0xB3), + o3(0xE6,0xA9,0xBE), o3(0xE6,0xAB,0xA2), + o3(0xE6,0xAB,0xA4), o3(0xE6,0xAF,0x96), + o3(0xE6,0xB0,0xBF), o3(0xE6,0xB1,0x9C), + o3(0xE6,0xB2,0x86), o3(0xE6,0xB1,0xAF), + o3(0xE6,0xB3,0x9A), o3(0xE6,0xB4,0x84), + o3(0xE6,0xB6,0x87), o3(0xE6,0xB5,0xAF), + o3(0xE6,0xB6,0x96), o3(0xE6,0xB6,0xAC), + o3(0xE6,0xB7,0x8F), o3(0xE6,0xB7,0xB8), + o3(0xE6,0xB7,0xB2), o3(0xE6,0xB7,0xBC), + o3(0xE6,0xB8,0xB9), o3(0xE6,0xB9,0x9C), + o3(0xE6,0xB8,0xA7), o3(0xE6,0xB8,0xBC), + o3(0xE6,0xBA,0xBF), o3(0xE6,0xBE,0x88), + o3(0xE6,0xBE,0xB5), o3(0xE6,0xBF,0xB5), + o3(0xE7,0x80,0x85), o3(0xE7,0x80,0x87), + o3(0xE7,0x80,0xA8), o3(0xE7,0x82,0x85), + o3(0xE7,0x82,0xAB), o3(0xE7,0x84,0x8F), + o3(0xE7,0x84,0x84), o3(0xE7,0x85,0x9C), + o3(0xE7,0x85,0x86), o3(0xE7,0x85,0x87), + o3(0xEF,0xA8,0x95), o3(0xE7,0x87,0x81), + o3(0xE7,0x87,0xBE), o3(0xE7,0x8A,0xB1), + UNDEF, +}; +static const BYTE_LOOKUP +from_EUC_JP_FA = { + from_EUC_JP_A1_offsets, + from_EUC_JP_FA_infos +}; + +static const struct byte_lookup* const +from_EUC_JP_FB_infos[95] = { + o3(0xE7,0x8A,0xBE), o3(0xE7,0x8C,0xA4), + o3(0xEF,0xA8,0x96), o3(0xE7,0x8D,0xB7), + o3(0xE7,0x8E,0xBD), o3(0xE7,0x8F,0x89), + o3(0xE7,0x8F,0x96), o3(0xE7,0x8F,0xA3), + o3(0xE7,0x8F,0x92), o3(0xE7,0x90,0x87), + o3(0xE7,0x8F,0xB5), o3(0xE7,0x90,0xA6), + o3(0xE7,0x90,0xAA), o3(0xE7,0x90,0xA9), + o3(0xE7,0x90,0xAE), o3(0xE7,0x91,0xA2), + o3(0xE7,0x92,0x89), o3(0xE7,0x92,0x9F), + o3(0xE7,0x94,0x81), o3(0xE7,0x95,0xAF), + o3(0xE7,0x9A,0x82), o3(0xE7,0x9A,0x9C), + o3(0xE7,0x9A,0x9E), o3(0xE7,0x9A,0x9B), + o3(0xE7,0x9A,0xA6), o3(0xEF,0xA8,0x97), + o3(0xE7,0x9D,0x86), o3(0xE5,0x8A,0xAF), + o3(0xE7,0xA0,0xA1), o3(0xE7,0xA1,0x8E), + o3(0xE7,0xA1,0xA4), o3(0xE7,0xA1,0xBA), + o3(0xE7,0xA4,0xB0), o3(0xEF,0xA8,0x98), + o3(0xEF,0xA8,0x99), o3(0xEF,0xA8,0x9A), + o3(0xE7,0xA6,0x94), o3(0xEF,0xA8,0x9B), + o3(0xE7,0xA6,0x9B), o3(0xE7,0xAB,0x91), + o3(0xE7,0xAB,0xA7), o3(0xEF,0xA8,0x9C), + o3(0xE7,0xAB,0xAB), o3(0xE7,0xAE,0x9E), + o3(0xEF,0xA8,0x9D), o3(0xE7,0xB5,0x88), + o3(0xE7,0xB5,0x9C), o3(0xE7,0xB6,0xB7), + o3(0xE7,0xB6,0xA0), o3(0xE7,0xB7,0x96), + o3(0xE7,0xB9,0x92), o3(0xE7,0xBD,0x87), + o3(0xE7,0xBE,0xA1), o3(0xEF,0xA8,0x9E), + o3(0xE8,0x8C,0x81), o3(0xE8,0x8D,0xA2), + o3(0xE8,0x8D,0xBF), o3(0xE8,0x8F,0x87), + o3(0xE8,0x8F,0xB6), o3(0xE8,0x91,0x88), + o3(0xE8,0x92,0xB4), o3(0xE8,0x95,0x93), + o3(0xE8,0x95,0x99), o3(0xE8,0x95,0xAB), + o3(0xEF,0xA8,0x9F), o3(0xE8,0x96,0xB0), + o3(0xEF,0xA8,0xA0), o3(0xEF,0xA8,0xA1), + o3(0xE8,0xA0,0x87), o3(0xE8,0xA3,0xB5), + o3(0xE8,0xA8,0x92), o3(0xE8,0xA8,0xB7), + o3(0xE8,0xA9,0xB9), o3(0xE8,0xAA,0xA7), + o3(0xE8,0xAA,0xBE), o3(0xE8,0xAB,0x9F), + o3(0xEF,0xA8,0xA2), o3(0xE8,0xAB,0xB6), + o3(0xE8,0xAD,0x93), o3(0xE8,0xAD,0xBF), + o3(0xE8,0xB3,0xB0), o3(0xE8,0xB3,0xB4), + o3(0xE8,0xB4,0x92), o3(0xE8,0xB5,0xB6), + o3(0xEF,0xA8,0xA3), o3(0xE8,0xBB,0x8F), + o3(0xEF,0xA8,0xA4), o3(0xEF,0xA8,0xA5), + o3(0xE9,0x81,0xA7), o3(0xE9,0x83,0x9E), + o3(0xEF,0xA8,0xA6), o3(0xE9,0x84,0x95), + o3(0xE9,0x84,0xA7), o3(0xE9,0x87,0x9A), + UNDEF, +}; +static const BYTE_LOOKUP +from_EUC_JP_FB = { + from_EUC_JP_A1_offsets, + from_EUC_JP_FB_infos +}; + +static const unsigned char +from_EUC_JP_FC_offsets[256] = { + 91, 91, 91, 91, 91, 91, 91, 91, 91, 91, 91, 91, 91, 91, 91, 91, + 91, 91, 91, 91, 91, 91, 91, 91, 91, 91, 91, 91, 91, 91, 91, 91, + 91, 91, 91, 91, 91, 91, 91, 91, 91, 91, 91, 91, 91, 91, 91, 91, + 91, 91, 91, 91, 91, 91, 91, 91, 91, 91, 91, 91, 91, 91, 91, 91, + 91, 91, 91, 91, 91, 91, 91, 91, 91, 91, 91, 91, 91, 91, 91, 91, + 91, 91, 91, 91, 91, 91, 91, 91, 91, 91, 91, 91, 91, 91, 91, 91, + 91, 91, 91, 91, 91, 91, 91, 91, 91, 91, 91, 91, 91, 91, 91, 91, + 91, 91, 91, 91, 91, 91, 91, 91, 91, 91, 91, 91, 91, 91, 91, 91, + 91, 91, 91, 91, 91, 91, 91, 91, 91, 91, 91, 91, 91, 91, 91, 91, + 91, 91, 91, 91, 91, 91, 91, 91, 91, 91, 91, 91, 91, 91, 91, 91, + 91, 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, 91, + 91, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 91, 88, 89, 90, 91, +}; +static const struct byte_lookup* const +from_EUC_JP_FC_infos[92] = { + o3(0xE9,0x87,0x97), o3(0xE9,0x87,0x9E), + o3(0xE9,0x87,0xAD), o3(0xE9,0x87,0xAE), + o3(0xE9,0x87,0xA4), o3(0xE9,0x87,0xA5), + o3(0xE9,0x88,0x86), o3(0xE9,0x88,0x90), + o3(0xE9,0x88,0x8A), o3(0xE9,0x88,0xBA), + o3(0xE9,0x89,0x80), o3(0xE9,0x88,0xBC), + o3(0xE9,0x89,0x8E), o3(0xE9,0x89,0x99), + o3(0xE9,0x89,0x91), o3(0xE9,0x88,0xB9), + o3(0xE9,0x89,0xA7), o3(0xE9,0x8A,0xA7), + o3(0xE9,0x89,0xB7), o3(0xE9,0x89,0xB8), + o3(0xE9,0x8B,0xA7), o3(0xE9,0x8B,0x97), + o3(0xE9,0x8B,0x99), o3(0xE9,0x8B,0x90), + o3(0xEF,0xA8,0xA7), o3(0xE9,0x8B,0x95), + o3(0xE9,0x8B,0xA0), o3(0xE9,0x8B,0x93), + o3(0xE9,0x8C,0xA5), o3(0xE9,0x8C,0xA1), + o3(0xE9,0x8B,0xBB), o3(0xEF,0xA8,0xA8), + o3(0xE9,0x8C,0x9E), o3(0xE9,0x8B,0xBF), + o3(0xE9,0x8C,0x9D), o3(0xE9,0x8C,0x82), + o3(0xE9,0x8D,0xB0), o3(0xE9,0x8D,0x97), + o3(0xE9,0x8E,0xA4), o3(0xE9,0x8F,0x86), + o3(0xE9,0x8F,0x9E), o3(0xE9,0x8F,0xB8), + o3(0xE9,0x90,0xB1), o3(0xE9,0x91,0x85), + o3(0xE9,0x91,0x88), o3(0xE9,0x96,0x92), + o3(0xEF,0xA7,0x9C), o3(0xEF,0xA8,0xA9), + o3(0xE9,0x9A,0x9D), o3(0xE9,0x9A,0xAF), + o3(0xE9,0x9C,0xB3), o3(0xE9,0x9C,0xBB), + o3(0xE9,0x9D,0x83), o3(0xE9,0x9D,0x8D), + o3(0xE9,0x9D,0x8F), o3(0xE9,0x9D,0x91), + o3(0xE9,0x9D,0x95), o3(0xE9,0xA1,0x97), + o3(0xE9,0xA1,0xA5), o3(0xEF,0xA8,0xAA), + o3(0xEF,0xA8,0xAB), o3(0xE9,0xA4,0xA7), + o3(0xEF,0xA8,0xAC), o3(0xE9,0xA6,0x9E), + o3(0xE9,0xA9,0x8E), o3(0xE9,0xAB,0x99), + o3(0xE9,0xAB,0x9C), o3(0xE9,0xAD,0xB5), + o3(0xE9,0xAD,0xB2), o3(0xE9,0xAE,0x8F), + o3(0xE9,0xAE,0xB1), o3(0xE9,0xAE,0xBB), + o3(0xE9,0xB0,0x80), o3(0xE9,0xB5,0xB0), + o3(0xE9,0xB5,0xAB), o3(0xEF,0xA8,0xAD), + o3(0xE9,0xB8,0x99), o3(0xE9,0xBB,0x91), + o3(0xE2,0x85,0xB0), o3(0xE2,0x85,0xB1), + o3(0xE2,0x85,0xB2), o3(0xE2,0x85,0xB3), + o3(0xE2,0x85,0xB4), o3(0xE2,0x85,0xB5), + o3(0xE2,0x85,0xB6), o3(0xE2,0x85,0xB7), + o3(0xE2,0x85,0xB8), o3(0xE2,0x85,0xB9), + o3(0xEF,0xBF,0xA4), o3(0xEF,0xBC,0x87), + o3(0xEF,0xBC,0x82), UNDEF, +}; +static const BYTE_LOOKUP +from_EUC_JP_FC = { + from_EUC_JP_FC_offsets, + from_EUC_JP_FC_infos +}; + +static const unsigned char +from_EUC_JP_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, + 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 1, 84, + 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, + 84, 2, 3, 4, 5, 6, 7, 8, 9, 84, 84, 84, 84, 10, 84, 84, + 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, 84, 84, 84, 84, 80, 81, 82, 83, 84, 84, 84, +}; +static const struct byte_lookup* const +from_EUC_JP_infos[85] = { + NOMAP, &from_EUC_JP_8E, &from_EUC_JP_A1, &from_EUC_JP_A2, + &from_EUC_JP_A3, &from_EUC_JP_A4, &from_EUC_JP_A5, &from_EUC_JP_A6, + &from_EUC_JP_A7, &from_EUC_JP_A8, &from_EUC_JP_AD, &from_EUC_JP_B0, + &from_EUC_JP_B1, &from_EUC_JP_B2, &from_EUC_JP_B3, &from_EUC_JP_B4, + &from_EUC_JP_B5, &from_EUC_JP_B6, &from_EUC_JP_B7, &from_EUC_JP_B8, + &from_EUC_JP_B9, &from_EUC_JP_BA, &from_EUC_JP_BB, &from_EUC_JP_BC, + &from_EUC_JP_BD, &from_EUC_JP_BE, &from_EUC_JP_BF, &from_EUC_JP_C0, + &from_EUC_JP_C1, &from_EUC_JP_C2, &from_EUC_JP_C3, &from_EUC_JP_C4, + &from_EUC_JP_C5, &from_EUC_JP_C6, &from_EUC_JP_C7, &from_EUC_JP_C8, + &from_EUC_JP_C9, &from_EUC_JP_CA, &from_EUC_JP_CB, &from_EUC_JP_CC, + &from_EUC_JP_CD, &from_EUC_JP_CE, &from_EUC_JP_CF, &from_EUC_JP_D0, + &from_EUC_JP_D1, &from_EUC_JP_D2, &from_EUC_JP_D3, &from_EUC_JP_D4, + &from_EUC_JP_D5, &from_EUC_JP_D6, &from_EUC_JP_D7, &from_EUC_JP_D8, + &from_EUC_JP_D9, &from_EUC_JP_DA, &from_EUC_JP_DB, &from_EUC_JP_DC, + &from_EUC_JP_DD, &from_EUC_JP_DE, &from_EUC_JP_DF, &from_EUC_JP_E0, + &from_EUC_JP_E1, &from_EUC_JP_E2, &from_EUC_JP_E3, &from_EUC_JP_E4, + &from_EUC_JP_E5, &from_EUC_JP_E6, &from_EUC_JP_E7, &from_EUC_JP_E8, + &from_EUC_JP_E9, &from_EUC_JP_EA, &from_EUC_JP_EB, &from_EUC_JP_EC, + &from_EUC_JP_ED, &from_EUC_JP_EE, &from_EUC_JP_EF, &from_EUC_JP_F0, + &from_EUC_JP_F1, &from_EUC_JP_F2, &from_EUC_JP_F3, &from_EUC_JP_F4, + &from_EUC_JP_F9, &from_EUC_JP_FA, &from_EUC_JP_FB, &from_EUC_JP_FC, + UNDEF, +}; +static const BYTE_LOOKUP +from_EUC_JP = { + from_EUC_JP_offsets, + from_EUC_JP_infos +}; +static rb_transcoder +rb_from_EUC_JP = { + "UTF-8", "EUC-JP", &from_EUC_JP, 3, 0, + NULL, NULL, +}; + +static const struct byte_lookup* const +to_EUC_JP_C2_infos[14] = { + o2(0xA1,0xF1), o2(0xA1,0xF2), o2(0xA1,0xEF), o2(0xFC,0xFC), + o2(0xA1,0xF8), o2(0xA1,0xAF), o2(0xA2,0xCC), o2(0xA1,0xB1), + o2(0xA1,0xEB), o2(0xA1,0xDE), o2(0xA1,0xAD), o2(0xA2,0xF9), + o2(0xA1,0xA4), UNDEF, +}; +static const BYTE_LOOKUP +to_EUC_JP_C2 = { + to_SHIFT_JIS_C2_offsets, + to_EUC_JP_C2_infos +}; + +static const struct byte_lookup* const +to_EUC_JP_C3_infos[3] = { + o2(0xA1,0xDF), o2(0xA1,0xE0), UNDEF, +}; +static const BYTE_LOOKUP +to_EUC_JP_C3 = { + to_SHIFT_JIS_C3_offsets, + to_EUC_JP_C3_infos +}; + +static const struct byte_lookup* const +to_EUC_JP_CE_infos[40] = { + o2(0xA6,0xA1), o2(0xA6,0xA2), o2(0xA6,0xA3), o2(0xA6,0xA4), + o2(0xA6,0xA5), o2(0xA6,0xA6), o2(0xA6,0xA7), o2(0xA6,0xA8), + o2(0xA6,0xA9), o2(0xA6,0xAA), o2(0xA6,0xAB), o2(0xA6,0xAC), + o2(0xA6,0xAD), o2(0xA6,0xAE), o2(0xA6,0xAF), o2(0xA6,0xB0), + o2(0xA6,0xB1), o2(0xA6,0xB2), o2(0xA6,0xB3), o2(0xA6,0xB4), + o2(0xA6,0xB5), o2(0xA6,0xB6), o2(0xA6,0xB7), o2(0xA6,0xB8), + o2(0xA6,0xC1), o2(0xA6,0xC2), o2(0xA6,0xC3), o2(0xA6,0xC4), + o2(0xA6,0xC5), o2(0xA6,0xC6), o2(0xA6,0xC7), o2(0xA6,0xC8), + o2(0xA6,0xC9), o2(0xA6,0xCA), o2(0xA6,0xCB), o2(0xA6,0xCC), + o2(0xA6,0xCD), o2(0xA6,0xCE), o2(0xA6,0xCF), UNDEF, +}; +static const BYTE_LOOKUP +to_EUC_JP_CE = { + to_SHIFT_JIS_CE_offsets, + to_EUC_JP_CE_infos +}; + +static const struct byte_lookup* const +to_EUC_JP_CF_infos[10] = { + o2(0xA6,0xD0), o2(0xA6,0xD1), o2(0xA6,0xD2), o2(0xA6,0xD3), + o2(0xA6,0xD4), o2(0xA6,0xD5), o2(0xA6,0xD6), o2(0xA6,0xD7), + o2(0xA6,0xD8), UNDEF, +}; +static const BYTE_LOOKUP +to_EUC_JP_CF = { + to_SHIFT_JIS_CF_offsets, + to_EUC_JP_CF_infos +}; + +static const struct byte_lookup* const +to_EUC_JP_D0_infos[50] = { + o2(0xA7,0xA7), o2(0xA7,0xA1), o2(0xA7,0xA2), o2(0xA7,0xA3), + o2(0xA7,0xA4), o2(0xA7,0xA5), o2(0xA7,0xA6), o2(0xA7,0xA8), + o2(0xA7,0xA9), o2(0xA7,0xAA), o2(0xA7,0xAB), o2(0xA7,0xAC), + o2(0xA7,0xAD), o2(0xA7,0xAE), o2(0xA7,0xAF), o2(0xA7,0xB0), + o2(0xA7,0xB1), o2(0xA7,0xB2), o2(0xA7,0xB3), o2(0xA7,0xB4), + o2(0xA7,0xB5), o2(0xA7,0xB6), o2(0xA7,0xB7), o2(0xA7,0xB8), + o2(0xA7,0xB9), o2(0xA7,0xBA), o2(0xA7,0xBB), o2(0xA7,0xBC), + o2(0xA7,0xBD), o2(0xA7,0xBE), o2(0xA7,0xBF), o2(0xA7,0xC0), + o2(0xA7,0xC1), o2(0xA7,0xD1), o2(0xA7,0xD2), o2(0xA7,0xD3), + o2(0xA7,0xD4), o2(0xA7,0xD5), o2(0xA7,0xD6), o2(0xA7,0xD8), + o2(0xA7,0xD9), o2(0xA7,0xDA), o2(0xA7,0xDB), o2(0xA7,0xDC), + o2(0xA7,0xDD), o2(0xA7,0xDE), o2(0xA7,0xDF), o2(0xA7,0xE0), + o2(0xA7,0xE1), UNDEF, +}; +static const BYTE_LOOKUP +to_EUC_JP_D0 = { + to_SHIFT_JIS_D0_offsets, + to_EUC_JP_D0_infos +}; + +static const struct byte_lookup* const +to_EUC_JP_D1_infos[18] = { + o2(0xA7,0xE2), o2(0xA7,0xE3), o2(0xA7,0xE4), o2(0xA7,0xE5), + o2(0xA7,0xE6), o2(0xA7,0xE7), o2(0xA7,0xE8), o2(0xA7,0xE9), + o2(0xA7,0xEA), o2(0xA7,0xEB), o2(0xA7,0xEC), o2(0xA7,0xED), + o2(0xA7,0xEE), o2(0xA7,0xEF), o2(0xA7,0xF0), o2(0xA7,0xF1), + o2(0xA7,0xD7), UNDEF, +}; +static const BYTE_LOOKUP +to_EUC_JP_D1 = { + to_SHIFT_JIS_D1_offsets, + to_EUC_JP_D1_infos +}; + +static const struct byte_lookup* const +to_EUC_JP_E2_80_infos[16] = { + o2(0xA1,0xBE), o2(0xA1,0xBD), o2(0xA1,0xC2), o2(0xA1,0xC6), + o2(0xA1,0xC7), o2(0xA1,0xC8), o2(0xA1,0xC9), o2(0xA2,0xF7), + o2(0xA2,0xF8), o2(0xA1,0xC5), o2(0xA1,0xC4), o2(0xA2,0xF3), + o2(0xA1,0xEC), o2(0xA1,0xED), o2(0xA2,0xA8), UNDEF, +}; +static const BYTE_LOOKUP +to_EUC_JP_E2_80 = { + to_SHIFT_JIS_E2_80_offsets, + to_EUC_JP_E2_80_infos +}; + +static const struct byte_lookup* const +to_EUC_JP_E2_84_infos[5] = { + o2(0xA1,0xEE), o2(0xAD,0xE2), o2(0xAD,0xE4), o2(0xA2,0xF2), + UNDEF, +}; +static const BYTE_LOOKUP +to_EUC_JP_E2_84 = { + to_SHIFT_JIS_E2_84_offsets, + to_EUC_JP_E2_84_infos +}; + +static const struct byte_lookup* const +to_EUC_JP_E2_85_infos[21] = { + o2(0xAD,0xB5), o2(0xAD,0xB6), o2(0xAD,0xB7), o2(0xAD,0xB8), + o2(0xAD,0xB9), o2(0xAD,0xBA), o2(0xAD,0xBB), o2(0xAD,0xBC), + o2(0xAD,0xBD), o2(0xAD,0xBE), o2(0xFC,0xF1), o2(0xFC,0xF2), + o2(0xFC,0xF3), o2(0xFC,0xF4), o2(0xFC,0xF5), o2(0xFC,0xF6), + o2(0xFC,0xF7), o2(0xFC,0xF8), o2(0xFC,0xF9), o2(0xFC,0xFA), + UNDEF, +}; +static const BYTE_LOOKUP +to_EUC_JP_E2_85 = { + to_SHIFT_JIS_E2_85_offsets, + to_EUC_JP_E2_85_infos +}; + +static const struct byte_lookup* const +to_EUC_JP_E2_86_infos[5] = { + o2(0xA2,0xAB), o2(0xA2,0xAC), o2(0xA2,0xAA), o2(0xA2,0xAD), + UNDEF, +}; +static const BYTE_LOOKUP +to_EUC_JP_E2_86 = { + to_SHIFT_JIS_E2_86_offsets, + to_EUC_JP_E2_86_infos +}; + +static const struct byte_lookup* const +to_EUC_JP_E2_87_infos[3] = { + o2(0xA2,0xCD), o2(0xA2,0xCE), UNDEF, +}; +static const BYTE_LOOKUP +to_EUC_JP_E2_87 = { + to_SHIFT_JIS_E2_87_offsets, + to_EUC_JP_E2_87_infos +}; + +static const struct byte_lookup* const +to_EUC_JP_E2_88_infos[24] = { + o2(0xA2,0xCF), o2(0xA2,0xDF), o2(0xA2,0xD0), o2(0xA2,0xE0), + o2(0xA2,0xBA), o2(0xA2,0xBB), o2(0xAD,0xF4), o2(0xA1,0xDD), + o2(0xAD,0xF5), o2(0xA2,0xE7), o2(0xA1,0xE7), o2(0xAD,0xF8), + o2(0xAD,0xF7), o2(0xA2,0xCA), o2(0xA2,0xCB), o2(0xAD,0xFB), + o2(0xAD,0xFC), o2(0xAD,0xF2), o2(0xA2,0xEA), o2(0xAD,0xF3), + o2(0xA1,0xE8), o2(0xAD,0xFA), o2(0xA2,0xE6), UNDEF, +}; +static const BYTE_LOOKUP +to_EUC_JP_E2_88 = { + to_SHIFT_JIS_E2_88_offsets, + to_EUC_JP_E2_88_infos +}; + +static const struct byte_lookup* const +to_EUC_JP_E2_89_infos[8] = { + o2(0xAD,0xF0), o2(0xA1,0xE2), o2(0xAD,0xF1), o2(0xA1,0xE5), + o2(0xA1,0xE6), o2(0xA2,0xE3), o2(0xA2,0xE4), UNDEF, +}; +static const BYTE_LOOKUP +to_EUC_JP_E2_89 = { + to_SHIFT_JIS_E2_89_offsets, + to_EUC_JP_E2_89_infos +}; + +static const struct byte_lookup* const +to_EUC_JP_E2_8A_infos[7] = { + o2(0xA2,0xBE), o2(0xA2,0xBF), o2(0xA2,0xBC), o2(0xA2,0xBD), + o2(0xAD,0xF6), o2(0xAD,0xF9), UNDEF, +}; +static const BYTE_LOOKUP +to_EUC_JP_E2_8A = { + to_SHIFT_JIS_E2_8A_offsets, + to_EUC_JP_E2_8A_infos +}; + +static const struct byte_lookup* const +to_EUC_JP_E2_8C_infos[2] = { + o2(0xA2,0xDE), UNDEF, +}; +static const BYTE_LOOKUP +to_EUC_JP_E2_8C = { + to_SHIFT_JIS_E2_8C_offsets, + to_EUC_JP_E2_8C_infos +}; + +static const struct byte_lookup* const +to_EUC_JP_E2_91_infos[21] = { + o2(0xAD,0xA1), o2(0xAD,0xA2), o2(0xAD,0xA3), o2(0xAD,0xA4), + o2(0xAD,0xA5), o2(0xAD,0xA6), o2(0xAD,0xA7), o2(0xAD,0xA8), + o2(0xAD,0xA9), o2(0xAD,0xAA), o2(0xAD,0xAB), o2(0xAD,0xAC), + o2(0xAD,0xAD), o2(0xAD,0xAE), o2(0xAD,0xAF), o2(0xAD,0xB0), + o2(0xAD,0xB1), o2(0xAD,0xB2), o2(0xAD,0xB3), o2(0xAD,0xB4), + UNDEF, +}; +static const BYTE_LOOKUP +to_EUC_JP_E2_91 = { + to_SHIFT_JIS_E2_91_offsets, + to_EUC_JP_E2_91_infos +}; + +static const struct byte_lookup* const +to_EUC_JP_E2_94_infos[31] = { + o2(0xA8,0xA1), o2(0xA8,0xAC), o2(0xA8,0xA2), o2(0xA8,0xAD), + o2(0xA8,0xA3), o2(0xA8,0xAE), o2(0xA8,0xA4), o2(0xA8,0xAF), + o2(0xA8,0xA6), o2(0xA8,0xB1), o2(0xA8,0xA5), o2(0xA8,0xB0), + o2(0xA8,0xA7), o2(0xA8,0xBC), o2(0xA8,0xB7), o2(0xA8,0xB2), + o2(0xA8,0xA9), o2(0xA8,0xBE), o2(0xA8,0xB9), o2(0xA8,0xB4), + o2(0xA8,0xA8), o2(0xA8,0xB8), o2(0xA8,0xBD), o2(0xA8,0xB3), + o2(0xA8,0xAA), o2(0xA8,0xBA), o2(0xA8,0xBF), o2(0xA8,0xB5), + o2(0xA8,0xAB), o2(0xA8,0xBB), UNDEF, +}; +static const BYTE_LOOKUP +to_EUC_JP_E2_94 = { + to_SHIFT_JIS_E2_94_offsets, + to_EUC_JP_E2_94_infos +}; + +static const struct byte_lookup* const +to_EUC_JP_E2_95_infos[3] = { + o2(0xA8,0xC0), o2(0xA8,0xB6), UNDEF, +}; +static const BYTE_LOOKUP +to_EUC_JP_E2_95 = { + to_SHIFT_JIS_E2_95_offsets, + to_EUC_JP_E2_95_infos +}; + +static const struct byte_lookup* const +to_EUC_JP_E2_96_infos[7] = { + o2(0xA2,0xA3), o2(0xA2,0xA2), o2(0xA2,0xA5), o2(0xA2,0xA4), + o2(0xA2,0xA7), o2(0xA2,0xA6), UNDEF, +}; +static const BYTE_LOOKUP +to_EUC_JP_E2_96 = { + to_SHIFT_JIS_E2_96_offsets, + to_EUC_JP_E2_96_infos +}; + +static const struct byte_lookup* const +to_EUC_JP_E2_97_infos[7] = { + o2(0xA2,0xA1), o2(0xA1,0xFE), o2(0xA1,0xFB), o2(0xA1,0xFD), + o2(0xA1,0xFC), o2(0xA2,0xFE), UNDEF, +}; +static const BYTE_LOOKUP +to_EUC_JP_E2_97 = { + to_SHIFT_JIS_E2_97_offsets, + to_EUC_JP_E2_97_infos +}; + +static const struct byte_lookup* const +to_EUC_JP_E2_98_infos[3] = { + o2(0xA1,0xFA), o2(0xA1,0xF9), UNDEF, +}; +static const BYTE_LOOKUP +to_EUC_JP_E2_98 = { + to_SHIFT_JIS_E2_98_offsets, + to_EUC_JP_E2_98_infos +}; + +static const struct byte_lookup* const +to_EUC_JP_E2_99_infos[6] = { + o2(0xA1,0xEA), o2(0xA1,0xE9), o2(0xA2,0xF6), o2(0xA2,0xF5), + o2(0xA2,0xF4), UNDEF, +}; +static const BYTE_LOOKUP +to_EUC_JP_E2_99 = { + to_SHIFT_JIS_E2_99_offsets, + to_EUC_JP_E2_99_infos +}; + +static const struct byte_lookup* const +to_EUC_JP_E2_infos[17] = { + &to_EUC_JP_E2_80, &to_EUC_JP_E2_84, &to_EUC_JP_E2_85, &to_EUC_JP_E2_86, + &to_EUC_JP_E2_87, &to_EUC_JP_E2_88, &to_EUC_JP_E2_89, &to_EUC_JP_E2_8A, + &to_EUC_JP_E2_8C, &to_EUC_JP_E2_91, &to_EUC_JP_E2_94, &to_EUC_JP_E2_95, + &to_EUC_JP_E2_96, &to_EUC_JP_E2_97, &to_EUC_JP_E2_98, &to_EUC_JP_E2_99, + UNDEF, +}; +static const BYTE_LOOKUP +to_EUC_JP_E2 = { + to_SHIFT_JIS_E2_offsets, + to_EUC_JP_E2_infos +}; + +static const struct byte_lookup* const +to_EUC_JP_E3_80_infos[25] = { + o2(0xA1,0xA1), o2(0xA1,0xA2), o2(0xA1,0xA3), o2(0xA1,0xB7), + o2(0xA1,0xB9), o2(0xA1,0xBA), o2(0xA1,0xBB), o2(0xA1,0xD2), + o2(0xA1,0xD3), o2(0xA1,0xD4), o2(0xA1,0xD5), o2(0xA1,0xD6), + o2(0xA1,0xD7), o2(0xA1,0xD8), o2(0xA1,0xD9), o2(0xA1,0xDA), + o2(0xA1,0xDB), o2(0xA2,0xA9), o2(0xA2,0xAE), o2(0xA1,0xCC), + o2(0xA1,0xCD), o2(0xA1,0xC1), o2(0xAD,0xE0), o2(0xAD,0xE1), + UNDEF, +}; +static const BYTE_LOOKUP +to_EUC_JP_E3_80 = { + to_SHIFT_JIS_E3_80_offsets, + to_EUC_JP_E3_80_infos +}; + +static const struct byte_lookup* const +to_EUC_JP_E3_81_infos[64] = { + o2(0xA4,0xA1), o2(0xA4,0xA2), o2(0xA4,0xA3), o2(0xA4,0xA4), + o2(0xA4,0xA5), o2(0xA4,0xA6), o2(0xA4,0xA7), o2(0xA4,0xA8), + o2(0xA4,0xA9), o2(0xA4,0xAA), o2(0xA4,0xAB), o2(0xA4,0xAC), + o2(0xA4,0xAD), o2(0xA4,0xAE), o2(0xA4,0xAF), o2(0xA4,0xB0), + o2(0xA4,0xB1), o2(0xA4,0xB2), o2(0xA4,0xB3), o2(0xA4,0xB4), + o2(0xA4,0xB5), o2(0xA4,0xB6), o2(0xA4,0xB7), o2(0xA4,0xB8), + o2(0xA4,0xB9), o2(0xA4,0xBA), o2(0xA4,0xBB), o2(0xA4,0xBC), + o2(0xA4,0xBD), o2(0xA4,0xBE), o2(0xA4,0xBF), o2(0xA4,0xC0), + o2(0xA4,0xC1), o2(0xA4,0xC2), o2(0xA4,0xC3), o2(0xA4,0xC4), + o2(0xA4,0xC5), o2(0xA4,0xC6), o2(0xA4,0xC7), o2(0xA4,0xC8), + o2(0xA4,0xC9), o2(0xA4,0xCA), o2(0xA4,0xCB), o2(0xA4,0xCC), + o2(0xA4,0xCD), o2(0xA4,0xCE), o2(0xA4,0xCF), o2(0xA4,0xD0), + o2(0xA4,0xD1), o2(0xA4,0xD2), o2(0xA4,0xD3), o2(0xA4,0xD4), + o2(0xA4,0xD5), o2(0xA4,0xD6), o2(0xA4,0xD7), o2(0xA4,0xD8), + o2(0xA4,0xD9), o2(0xA4,0xDA), o2(0xA4,0xDB), o2(0xA4,0xDC), + o2(0xA4,0xDD), o2(0xA4,0xDE), o2(0xA4,0xDF), UNDEF, +}; +static const BYTE_LOOKUP +to_EUC_JP_E3_81 = { + to_SHIFT_JIS_E3_81_offsets, + to_EUC_JP_E3_81_infos +}; + +static const struct byte_lookup* const +to_EUC_JP_E3_82_infos[56] = { + o2(0xA4,0xE0), o2(0xA4,0xE1), o2(0xA4,0xE2), o2(0xA4,0xE3), + o2(0xA4,0xE4), o2(0xA4,0xE5), o2(0xA4,0xE6), o2(0xA4,0xE7), + o2(0xA4,0xE8), o2(0xA4,0xE9), o2(0xA4,0xEA), o2(0xA4,0xEB), + o2(0xA4,0xEC), o2(0xA4,0xED), o2(0xA4,0xEE), o2(0xA4,0xEF), + o2(0xA4,0xF0), o2(0xA4,0xF1), o2(0xA4,0xF2), o2(0xA4,0xF3), + o2(0xA1,0xAB), o2(0xA1,0xAC), o2(0xA1,0xB5), o2(0xA1,0xB6), + o2(0xA5,0xA1), o2(0xA5,0xA2), o2(0xA5,0xA3), o2(0xA5,0xA4), + o2(0xA5,0xA5), o2(0xA5,0xA6), o2(0xA5,0xA7), o2(0xA5,0xA8), + o2(0xA5,0xA9), o2(0xA5,0xAA), o2(0xA5,0xAB), o2(0xA5,0xAC), + o2(0xA5,0xAD), o2(0xA5,0xAE), o2(0xA5,0xAF), o2(0xA5,0xB0), + o2(0xA5,0xB1), o2(0xA5,0xB2), o2(0xA5,0xB3), o2(0xA5,0xB4), + o2(0xA5,0xB5), o2(0xA5,0xB6), o2(0xA5,0xB7), o2(0xA5,0xB8), + o2(0xA5,0xB9), o2(0xA5,0xBA), o2(0xA5,0xBB), o2(0xA5,0xBC), + o2(0xA5,0xBD), o2(0xA5,0xBE), o2(0xA5,0xBF), UNDEF, +}; +static const BYTE_LOOKUP +to_EUC_JP_E3_82 = { + to_SHIFT_JIS_E3_82_offsets, + to_EUC_JP_E3_82_infos +}; + +static const struct byte_lookup* const +to_EUC_JP_E3_83_infos[60] = { + o2(0xA5,0xC0), o2(0xA5,0xC1), o2(0xA5,0xC2), o2(0xA5,0xC3), + o2(0xA5,0xC4), o2(0xA5,0xC5), o2(0xA5,0xC6), o2(0xA5,0xC7), + o2(0xA5,0xC8), o2(0xA5,0xC9), o2(0xA5,0xCA), o2(0xA5,0xCB), + o2(0xA5,0xCC), o2(0xA5,0xCD), o2(0xA5,0xCE), o2(0xA5,0xCF), + o2(0xA5,0xD0), o2(0xA5,0xD1), o2(0xA5,0xD2), o2(0xA5,0xD3), + o2(0xA5,0xD4), o2(0xA5,0xD5), o2(0xA5,0xD6), o2(0xA5,0xD7), + o2(0xA5,0xD8), o2(0xA5,0xD9), o2(0xA5,0xDA), o2(0xA5,0xDB), + o2(0xA5,0xDC), o2(0xA5,0xDD), o2(0xA5,0xDE), o2(0xA5,0xDF), + o2(0xA5,0xE0), o2(0xA5,0xE1), o2(0xA5,0xE2), o2(0xA5,0xE3), + o2(0xA5,0xE4), o2(0xA5,0xE5), o2(0xA5,0xE6), o2(0xA5,0xE7), + o2(0xA5,0xE8), o2(0xA5,0xE9), o2(0xA5,0xEA), o2(0xA5,0xEB), + o2(0xA5,0xEC), o2(0xA5,0xED), o2(0xA5,0xEE), o2(0xA5,0xEF), + o2(0xA5,0xF0), o2(0xA5,0xF1), o2(0xA5,0xF2), o2(0xA5,0xF3), + o2(0xA5,0xF4), o2(0xA5,0xF5), o2(0xA5,0xF6), o2(0xA1,0xA6), + o2(0xA1,0xBC), o2(0xA1,0xB3), o2(0xA1,0xB4), UNDEF, +}; +static const BYTE_LOOKUP +to_EUC_JP_E3_83 = { + to_SHIFT_JIS_E3_83_offsets, + to_EUC_JP_E3_83_infos +}; + +static const struct byte_lookup* const +to_EUC_JP_E3_88_infos[4] = { + o2(0xAD,0xEA), o2(0xAD,0xEB), o2(0xAD,0xEC), UNDEF, +}; +static const BYTE_LOOKUP +to_EUC_JP_E3_88 = { + to_SHIFT_JIS_E3_88_offsets, + to_EUC_JP_E3_88_infos +}; + +static const struct byte_lookup* const +to_EUC_JP_E3_8A_infos[6] = { + o2(0xAD,0xE5), o2(0xAD,0xE6), o2(0xAD,0xE7), o2(0xAD,0xE8), + o2(0xAD,0xE9), UNDEF, +}; +static const BYTE_LOOKUP +to_EUC_JP_E3_8A = { + to_SHIFT_JIS_E3_8A_offsets, + to_EUC_JP_E3_8A_infos +}; + +static const struct byte_lookup* const +to_EUC_JP_E3_8C_infos[12] = { + o2(0xAD,0xC6), o2(0xAD,0xCA), o2(0xAD,0xC1), o2(0xAD,0xC4), + o2(0xAD,0xC2), o2(0xAD,0xCC), o2(0xAD,0xCB), o2(0xAD,0xC5), + o2(0xAD,0xCD), o2(0xAD,0xC7), o2(0xAD,0xCF), UNDEF, +}; +static const BYTE_LOOKUP +to_EUC_JP_E3_8C = { + to_SHIFT_JIS_E3_8C_offsets, + to_EUC_JP_E3_8C_infos +}; + +static const struct byte_lookup* const +to_EUC_JP_E3_8D_infos[10] = { + o2(0xAD,0xC0), o2(0xAD,0xCE), o2(0xAD,0xC3), o2(0xAD,0xC8), + o2(0xAD,0xC9), o2(0xAD,0xDF), o2(0xAD,0xEF), o2(0xAD,0xEE), + o2(0xAD,0xED), UNDEF, +}; +static const BYTE_LOOKUP +to_EUC_JP_E3_8D = { + to_SHIFT_JIS_E3_8D_offsets, + to_EUC_JP_E3_8D_infos +}; + +static const struct byte_lookup* const +to_EUC_JP_E3_8E_infos[7] = { + o2(0xAD,0xD3), o2(0xAD,0xD4), o2(0xAD,0xD0), o2(0xAD,0xD1), + o2(0xAD,0xD2), o2(0xAD,0xD6), UNDEF, +}; +static const BYTE_LOOKUP +to_EUC_JP_E3_8E = { + to_SHIFT_JIS_E3_8E_offsets, + to_EUC_JP_E3_8E_infos +}; + +static const struct byte_lookup* const +to_EUC_JP_E3_8F_infos[3] = { + o2(0xAD,0xD5), o2(0xAD,0xE3), UNDEF, +}; +static const BYTE_LOOKUP +to_EUC_JP_E3_8F = { + to_SHIFT_JIS_E3_8F_offsets, + to_EUC_JP_E3_8F_infos +}; + +static const struct byte_lookup* const +to_EUC_JP_E3_infos[11] = { + &to_EUC_JP_E3_80, &to_EUC_JP_E3_81, &to_EUC_JP_E3_82, &to_EUC_JP_E3_83, + &to_EUC_JP_E3_88, &to_EUC_JP_E3_8A, &to_EUC_JP_E3_8C, &to_EUC_JP_E3_8D, + &to_EUC_JP_E3_8E, &to_EUC_JP_E3_8F, UNDEF, +}; +static const BYTE_LOOKUP +to_EUC_JP_E3 = { + to_SHIFT_JIS_E3_offsets, + to_EUC_JP_E3_infos +}; + +static const struct byte_lookup* const +to_EUC_JP_E4_B8_infos[33] = { + o2(0xB0,0xEC), o2(0xC3,0xFA), o2(0xBC,0xB7), o2(0xCB,0xFC), + o2(0xBE,0xE6), o2(0xBB,0xB0), o2(0xBE,0xE5), o2(0xB2,0xBC), + o2(0xC9,0xD4), o2(0xCD,0xBF), o2(0xD0,0xA2), o2(0xB1,0xAF), + o2(0xB3,0xEE), o2(0xD0,0xA3), o2(0xC0,0xA4), o2(0xD2,0xC2), + o2(0xB5,0xD6), o2(0xCA,0xBA), o2(0xBE,0xE7), o2(0xCE,0xBE), + o2(0xCA,0xC2), o2(0xF9,0xAD), o2(0xD0,0xA4), o2(0xC3,0xE6), + o2(0xD0,0xA5), o2(0xB6,0xFA), o2(0xD0,0xA6), o2(0xB4,0xDD), + o2(0xC3,0xB0), o2(0xBC,0xE7), o2(0xD0,0xA7), o2(0xD0,0xA8), + UNDEF, +}; +static const BYTE_LOOKUP +to_EUC_JP_E4_B8 = { + to_SHIFT_JIS_E4_B8_offsets, + to_EUC_JP_E4_B8_infos +}; + +static const struct byte_lookup* const +to_EUC_JP_E4_B9_infos[20] = { + o2(0xD0,0xA9), o2(0xC7,0xB5), o2(0xB5,0xD7), o2(0xC7,0xB7), + o2(0xC6,0xE3), o2(0xB8,0xC3), o2(0xCB,0xB3), o2(0xE9,0xC9), + o2(0xD0,0xAA), o2(0xBE,0xE8), o2(0xD0,0xAB), o2(0xB2,0xB5), + o2(0xB6,0xE5), o2(0xB8,0xF0), o2(0xCC,0xE9), o2(0xD6,0xA6), + o2(0xCD,0xF0), o2(0xC6,0xFD), o2(0xB4,0xA5), UNDEF, +}; +static const BYTE_LOOKUP +to_EUC_JP_E4_B9 = { + to_SHIFT_JIS_E4_B9_offsets, + to_EUC_JP_E4_B9_infos +}; + +static const struct byte_lookup* const +to_EUC_JP_E4_BA_infos[36] = { + o2(0xB5,0xB5), o2(0xD0,0xAC), o2(0xD0,0xAD), o2(0xCE,0xBB), + o2(0xCD,0xBD), o2(0xC1,0xE8), o2(0xD0,0xAF), o2(0xBB,0xF6), + o2(0xC6,0xF3), o2(0xD0,0xB2), o2(0xB1,0xBE), o2(0xB8,0xDF), + o2(0xB8,0xDE), o2(0xB0,0xE6), o2(0xCF,0xCB), o2(0xCF,0xCA), + o2(0xBA,0xB3), o2(0xB0,0xA1), o2(0xD0,0xB3), o2(0xD0,0xB4), + o2(0xD0,0xB5), o2(0xCB,0xB4), o2(0xD0,0xB6), o2(0xB8,0xF2), + o2(0xB0,0xE7), o2(0xCB,0xF2), o2(0xB5,0xFC), o2(0xB5,0xFD), + o2(0xB5,0xFE), o2(0xC4,0xE2), o2(0xCE,0xBC), o2(0xD0,0xB7), + o2(0xD0,0xB8), o2(0xD0,0xB9), o2(0xBF,0xCD), UNDEF, +}; +static const BYTE_LOOKUP +to_EUC_JP_E4_BA = { + to_SHIFT_JIS_E4_BA_offsets, + to_EUC_JP_E4_BA_infos +}; + +static const struct byte_lookup* const +to_EUC_JP_E4_BB_infos[33] = { + o2(0xBD,0xBA), o2(0xBF,0xCE), o2(0xD0,0xBE), o2(0xD0,0xBC), + o2(0xD0,0xBD), o2(0xB5,0xD8), o2(0xBA,0xA3), o2(0xB2,0xF0), + o2(0xD0,0xBB), o2(0xD0,0xBA), o2(0xCA,0xA9), o2(0xBB,0xC6), + o2(0xBB,0xC5), o2(0xC2,0xBE), o2(0xD0,0xBF), o2(0xC9,0xD5), + o2(0xC0,0xE7), o2(0xA1,0xB8), o2(0xD0,0xC0), o2(0xD0,0xC2), + o2(0xF9,0xAE), o2(0xC2,0xE5), o2(0xCE,0xE1), o2(0xB0,0xCA), + o2(0xD0,0xC1), o2(0xB2,0xBE), o2(0xB6,0xC4), o2(0xC3,0xE7), + o2(0xB7,0xEF), o2(0xD0,0xC3), o2(0xC7,0xA4), o2(0xF9,0xAF), + UNDEF, +}; +static const BYTE_LOOKUP +to_EUC_JP_E4_BB = { + to_SHIFT_JIS_E4_BB_offsets, + to_EUC_JP_E4_BB_infos +}; + +static const struct byte_lookup* const +to_EUC_JP_E4_BC_infos[23] = { + o2(0xF9,0xB0), o2(0xB4,0xEB), o2(0xF9,0xB1), o2(0xD0,0xC4), + o2(0xB0,0xCB), o2(0xB8,0xE0), o2(0xB4,0xEC), o2(0xC9,0xFA), + o2(0xC8,0xB2), o2(0xB5,0xD9), o2(0xB2,0xF1), o2(0xD0,0xE7), + o2(0xC5,0xC1), o2(0xC7,0xEC), o2(0xD0,0xC6), o2(0xC8,0xBC), + o2(0xCE,0xE2), o2(0xBF,0xAD), o2(0xF9,0xB2), o2(0xBB,0xC7), + o2(0xBB,0xF7), o2(0xB2,0xC0), UNDEF, +}; +static const BYTE_LOOKUP +to_EUC_JP_E4_BC = { + to_SHIFT_JIS_E4_BC_offsets, + to_EUC_JP_E4_BC_infos +}; + +static const struct byte_lookup* const +to_EUC_JP_E4_BD_infos[28] = { + o2(0xC4,0xD1), o2(0xC3,0xA2), o2(0xD0,0xCA), o2(0xB0,0xCC), + o2(0xC4,0xE3), o2(0xBD,0xBB), o2(0xBA,0xB4), o2(0xCD,0xA4), + o2(0xC2,0xCE), o2(0xB2,0xBF), o2(0xF9,0xB3), o2(0xD0,0xC9), + o2(0xCD,0xBE), o2(0xD0,0xC5), o2(0xD0,0xC7), o2(0xBA,0xEE), + o2(0xD0,0xC8), o2(0xD5,0xA4), o2(0xD0,0xD0), o2(0xD0,0xD3), + o2(0xD0,0xD1), o2(0xB2,0xC2), o2(0xCA,0xBB), o2(0xD0,0xCB), + o2(0xD0,0xCF), o2(0xB8,0xF3), o2(0xBB,0xC8), UNDEF, +}; +static const BYTE_LOOKUP +to_EUC_JP_E4_BD = { + to_SHIFT_JIS_E4_BD_offsets, + to_EUC_JP_E4_BD_infos +}; + +static const struct byte_lookup* const +to_EUC_JP_E4_BE_infos[25] = { + o2(0xB4,0xA6), o2(0xD0,0xD4), o2(0xD0,0xCC), o2(0xF9,0xB5), + o2(0xCE,0xE3), o2(0xBB,0xF8), o2(0xD0,0xCD), o2(0xD0,0xD2), + o2(0xF9,0xB4), o2(0xF9,0xB7), o2(0xD0,0xD5), o2(0xD0,0xCE), + o2(0xF9,0xB6), o2(0xB6,0xA1), o2(0xB0,0xCD), o2(0xB6,0xA2), + o2(0xB2,0xC1), o2(0xD5,0xA5), o2(0xCB,0xF9), o2(0xC9,0xEE), + o2(0xB8,0xF4), o2(0xBF,0xAF), o2(0xCE,0xB7), o2(0xCA,0xD8), + UNDEF, +}; +static const BYTE_LOOKUP +to_EUC_JP_E4_BE = { + to_SHIFT_JIS_E4_BE_offsets, + to_EUC_JP_E4_BE_infos +}; + +static const struct byte_lookup* const +to_EUC_JP_E4_BF_infos[30] = { + o2(0xB7,0xB8), o2(0xC2,0xA5), o2(0xB2,0xE4), o2(0xF9,0xA6), + o2(0xBD,0xD3), o2(0xF9,0xB8), o2(0xD0,0xD9), o2(0xD0,0xDE), + o2(0xD0,0xDC), o2(0xD0,0xD7), o2(0xC2,0xAF), o2(0xD0,0xDA), + o2(0xD0,0xDD), o2(0xD0,0xDB), o2(0xCA,0xDD), o2(0xD0,0xD8), + o2(0xBF,0xAE), o2(0xCB,0xF3), o2(0xD0,0xDF), o2(0xD0,0xE0), + o2(0xBD,0xA4), o2(0xD0,0xED), o2(0xC7,0xD0), o2(0xC9,0xB6), + o2(0xD0,0xE8), o2(0xCA,0xF0), o2(0xB2,0xB6), o2(0xD0,0xEC), + o2(0xF9,0xBB), UNDEF, +}; +static const BYTE_LOOKUP +to_EUC_JP_E4_BF = { + to_SHIFT_JIS_E4_BF_offsets, + to_EUC_JP_E4_BF_infos +}; + +static const struct byte_lookup* const +to_EUC_JP_E4_infos[9] = { + &to_EUC_JP_E4_B8, &to_EUC_JP_E4_B9, &to_EUC_JP_E4_BA, &to_EUC_JP_E4_BB, + &to_EUC_JP_E4_BC, &to_EUC_JP_E4_BD, &to_EUC_JP_E4_BE, &to_EUC_JP_E4_BF, + UNDEF, +}; +static const BYTE_LOOKUP +to_EUC_JP_E4 = { + to_SHIFT_JIS_E4_offsets, + to_EUC_JP_E4_infos +}; + +static const struct byte_lookup* const +to_EUC_JP_E5_80_infos[29] = { + o2(0xD0,0xE6), o2(0xD0,0xEF), o2(0xC1,0xD2), o2(0xB8,0xC4), + o2(0xC7,0xDC), o2(0xE0,0xC7), o2(0xD0,0xEE), o2(0xC5,0xDD), + o2(0xD0,0xE3), o2(0xB8,0xF6), o2(0xB8,0xF5), o2(0xD0,0xE1), + o2(0xF9,0xBC), o2(0xBC,0xDA), o2(0xD0,0xE9), o2(0xF9,0xBA), + o2(0xCA,0xEF), o2(0xC3,0xCD), o2(0xD0,0xE5), o2(0xB7,0xF1), + o2(0xD0,0xE2), o2(0xD0,0xEA), o2(0xD0,0xE4), o2(0xCE,0xD1), + o2(0xD0,0xEB), o2(0xCF,0xC1), o2(0xB6,0xE6), o2(0xB7,0xF0), + UNDEF, +}; +static const BYTE_LOOKUP +to_EUC_JP_E5_80 = { + to_SHIFT_JIS_E5_80_offsets, + to_EUC_JP_E5_80_infos +}; + +static const struct byte_lookup* const +to_EUC_JP_E5_81_infos[23] = { + o2(0xF9,0xB9), o2(0xF9,0xBF), o2(0xD0,0xF0), o2(0xF9,0xBD), + o2(0xD0,0xF1), o2(0xD0,0xF5), o2(0xB0,0xCE), o2(0xCA,0xD0), + o2(0xD0,0xF4), o2(0xD0,0xF3), o2(0xD0,0xF7), o2(0xD0,0xF6), + o2(0xC4,0xE4), o2(0xB7,0xF2), o2(0xD0,0xF8), o2(0xF9,0xBE), + o2(0xBC,0xC5), o2(0xC2,0xA6), o2(0xC4,0xE5), o2(0xB6,0xF6), + o2(0xD0,0xF9), o2(0xB5,0xB6), UNDEF, +}; +static const BYTE_LOOKUP +to_EUC_JP_E5_81 = { + to_SHIFT_JIS_E5_81_offsets, + to_EUC_JP_E5_81_infos +}; + +static const struct byte_lookup* const +to_EUC_JP_E5_82_infos[17] = { + o2(0xD0,0xFA), o2(0xD0,0xFC), o2(0xCB,0xB5), o2(0xB7,0xE6), + o2(0xF9,0xC0), o2(0xBB,0xB1), o2(0xC8,0xF7), o2(0xD0,0xFB), + o2(0xBA,0xC5), o2(0xCD,0xC3), o2(0xD0,0xFE), o2(0xD1,0xA3), + o2(0xD0,0xFD), o2(0xBA,0xC4), o2(0xBD,0xFD), o2(0xB7,0xB9), + UNDEF, +}; +static const BYTE_LOOKUP +to_EUC_JP_E5_82 = { + to_SHIFT_JIS_E5_82_offsets, + to_EUC_JP_E5_82_infos +}; + +static const struct byte_lookup* const +to_EUC_JP_E5_83_infos[22] = { + o2(0xD1,0xA4), o2(0xB6,0xCF), o2(0xD1,0xA1), o2(0xD1,0xA2), + o2(0xC6,0xAF), o2(0xC1,0xFC), o2(0xB6,0xA3), o2(0xCB,0xCD), + o2(0xD1,0xA5), o2(0xF9,0xC2), o2(0xCE,0xBD), o2(0xD1,0xA6), + o2(0xD1,0xA9), o2(0xD1,0xA7), o2(0xC1,0xCE), o2(0xD1,0xA8), + o2(0xD1,0xAA), o2(0xF9,0xC1), o2(0xD1,0xAC), o2(0xD1,0xAB), + o2(0xCA,0xC8), UNDEF, +}; +static const BYTE_LOOKUP +to_EUC_JP_E5_83 = { + to_SHIFT_JIS_E5_83_offsets, + to_EUC_JP_E5_83_infos +}; + +static const struct byte_lookup* const +to_EUC_JP_E5_84_infos[21] = { + o2(0xB5,0xB7), o2(0xD1,0xAE), o2(0xD1,0xAF), o2(0xB2,0xAF), + o2(0xD1,0xAD), o2(0xBC,0xF4), o2(0xD1,0xB2), o2(0xD1,0xB1), + o2(0xD1,0xB0), o2(0xD0,0xD6), o2(0xD1,0xB3), o2(0xBD,0xFE), + o2(0xD1,0xB4), o2(0xCD,0xA5), o2(0xCC,0xD9), o2(0xD1,0xB6), + o2(0xD1,0xB5), o2(0xD1,0xB8), o2(0xD1,0xB7), o2(0xD1,0xB9), + UNDEF, +}; +static const BYTE_LOOKUP +to_EUC_JP_E5_84 = { + to_SHIFT_JIS_E5_84_offsets, + to_EUC_JP_E5_84_infos +}; + +static const struct byte_lookup* const +to_EUC_JP_E5_85_infos[36] = { + o2(0xD1,0xBA), o2(0xB0,0xF4), o2(0xB8,0xB5), o2(0xB7,0xBB), + o2(0xBD,0xBC), o2(0xC3,0xFB), o2(0xB6,0xA4), o2(0xC0,0xE8), + o2(0xB8,0xF7), o2(0xF9,0xC3), o2(0xB9,0xEE), o2(0xD1,0xBC), + o2(0xCC,0xC8), o2(0xC5,0xC6), o2(0xBB,0xF9), o2(0xD1,0xBB), + o2(0xD1,0xBD), o2(0xC5,0xDE), o2(0xB3,0xF5), o2(0xD1,0xBE), + o2(0xF9,0xC4), o2(0xC6,0xFE), o2(0xC1,0xB4), o2(0xD1,0xC0), + o2(0xD1,0xC1), o2(0xC8,0xAC), o2(0xB8,0xF8), o2(0xCF,0xBB), + o2(0xD1,0xC2), o2(0xB6,0xA6), o2(0xCA,0xBC), o2(0xC2,0xB6), + o2(0xB6,0xF1), o2(0xC5,0xB5), o2(0xB7,0xF3), UNDEF, +}; +static const BYTE_LOOKUP +to_EUC_JP_E5_85 = { + to_SHIFT_JIS_E5_85_offsets, + to_EUC_JP_E5_85_infos +}; + +static const struct byte_lookup* const +to_EUC_JP_E5_86_infos[39] = { + o2(0xD1,0xC3), o2(0xD1,0xC4), o2(0xC6,0xE2), o2(0xB1,0xDF), + o2(0xD1,0xC7), o2(0xBA,0xFD), o2(0xD1,0xC6), o2(0xBA,0xC6), + o2(0xD1,0xC8), o2(0xE6,0xEE), o2(0xD1,0xC9), o2(0xCB,0xC1), + o2(0xD1,0xCA), o2(0xD1,0xCB), o2(0xD1,0xCC), o2(0xBE,0xE9), + o2(0xBC,0xCC), o2(0xF9,0xC5), o2(0xB4,0xA7), o2(0xD1,0xCF), + o2(0xD1,0xCD), o2(0xCC,0xBD), o2(0xD1,0xCE), o2(0xC9,0xDA), + o2(0xD1,0xD0), o2(0xD1,0xD1), o2(0xD1,0xD2), o2(0xC5,0xDF), + o2(0xD1,0xD6), o2(0xD1,0xD4), o2(0xD1,0xD5), o2(0xD1,0xD3), + o2(0xBA,0xE3), o2(0xD1,0xD7), o2(0xCC,0xEA), o2(0xCE,0xE4), + o2(0xD1,0xD8), o2(0xF9,0xC6), UNDEF, +}; +static const BYTE_LOOKUP +to_EUC_JP_E5_86 = { + to_SHIFT_JIS_E5_86_offsets, + to_EUC_JP_E5_86_infos +}; + +static const struct byte_lookup* const +to_EUC_JP_E5_87_infos[29] = { + o2(0xC0,0xA8), o2(0xD1,0xD9), o2(0xBD,0xDA), o2(0xD1,0xDA), + o2(0xC3,0xFC), o2(0xCE,0xBF), o2(0xC5,0xE0), o2(0xD2,0xC5), + o2(0xD1,0xDB), o2(0xF4,0xA5), o2(0xB6,0xC5), o2(0xD1,0xDC), + o2(0xCB,0xDE), o2(0xBD,0xE8), o2(0xC2,0xFC), o2(0xD1,0xDE), + o2(0xC6,0xE4), o2(0xF9,0xC7), o2(0xD1,0xDF), o2(0xD1,0xE0), + o2(0xB3,0xAE), o2(0xD1,0xE1), o2(0xB6,0xA7), o2(0xC6,0xCC), + o2(0xB1,0xFA), o2(0xBD,0xD0), o2(0xC8,0xA1), o2(0xD1,0xE2), + UNDEF, +}; +static const BYTE_LOOKUP +to_EUC_JP_E5_87 = { + to_SHIFT_JIS_E5_87_offsets, + to_EUC_JP_E5_87_infos +}; + +static const struct byte_lookup* const +to_EUC_JP_E5_88_infos[29] = { + o2(0xC5,0xE1), o2(0xBF,0xCF), o2(0xD1,0xE3), o2(0xCA,0xAC), + o2(0xC0,0xDA), o2(0xB4,0xA2), o2(0xB4,0xA9), o2(0xD1,0xE4), + o2(0xD1,0xE6), o2(0xB7,0xBA), o2(0xD1,0xE5), o2(0xF9,0xC8), + o2(0xCE,0xF3), o2(0xBD,0xE9), o2(0xC8,0xBD), o2(0xCA,0xCC), + o2(0xD1,0xE7), o2(0xCD,0xF8), o2(0xD1,0xE8), o2(0xD1,0xE9), + o2(0xC5,0xFE), o2(0xD1,0xEA), o2(0xC0,0xA9), o2(0xBA,0xFE), + o2(0xB7,0xF4), o2(0xD1,0xEB), o2(0xBB,0xC9), o2(0xB9,0xEF), + UNDEF, +}; +static const BYTE_LOOKUP +to_EUC_JP_E5_88 = { + to_SHIFT_JIS_E5_88_offsets, + to_EUC_JP_E5_88_infos +}; + +static const struct byte_lookup* const +to_EUC_JP_E5_89_infos[27] = { + o2(0xC4,0xE6), o2(0xD1,0xED), o2(0xC2,0xA7), o2(0xBA,0xEF), + o2(0xD1,0xEE), o2(0xD1,0xEF), o2(0xC1,0xB0), o2(0xD1,0xEC), + o2(0xD1,0xF1), o2(0xCB,0xB6), o2(0xB9,0xE4), o2(0xD1,0xF0), + o2(0xB7,0xF5), o2(0xBA,0xDE), o2(0xC7,0xED), o2(0xD1,0xF4), + o2(0xD1,0xF2), o2(0xC9,0xFB), o2(0xBE,0xEA), o2(0xD1,0xFB), + o2(0xB3,0xE4), o2(0xD1,0xF5), o2(0xD1,0xF3), o2(0xC1,0xCF), + o2(0xD1,0xF7), o2(0xD1,0xF6), UNDEF, +}; +static const BYTE_LOOKUP +to_EUC_JP_E5_89 = { + to_SHIFT_JIS_E5_89_offsets, + to_EUC_JP_E5_89_infos +}; + +static const struct byte_lookup* const +to_EUC_JP_E5_8A_infos[27] = { + o2(0xB3,0xC4), o2(0xB7,0xE0), o2(0xD1,0xFC), o2(0xCE,0xAD), + o2(0xD1,0xF8), o2(0xD1,0xFD), o2(0xD1,0xFA), o2(0xD1,0xF9), + o2(0xCE,0xCF), o2(0xF9,0xC9), o2(0xB8,0xF9), o2(0xB2,0xC3), + o2(0xCE,0xF4), o2(0xF9,0xCA), o2(0xBD,0xF5), o2(0xC5,0xD8), + o2(0xB9,0xE5), o2(0xD2,0xA2), o2(0xD2,0xA3), o2(0xFB,0xBC), + o2(0xCE,0xE5), o2(0xCF,0xAB), o2(0xD2,0xA5), o2(0xB8,0xFA), + o2(0xD2,0xA4), o2(0xB3,0xAF), UNDEF, +}; +static const BYTE_LOOKUP +to_EUC_JP_E5_8A = { + to_SHIFT_JIS_E5_8A_offsets, + to_EUC_JP_E5_8A_infos +}; + +static const struct byte_lookup* const +to_EUC_JP_E5_8B_infos[31] = { + o2(0xF9,0xCB), o2(0xD2,0xA6), o2(0xCB,0xD6), o2(0xC4,0xBC), + o2(0xCD,0xA6), o2(0xCA,0xD9), o2(0xD2,0xA7), o2(0xF0,0xD5), + o2(0xC6,0xB0), o2(0xD2,0xA8), o2(0xB4,0xAA), o2(0xCC,0xB3), + o2(0xF9,0xCC), o2(0xBE,0xA1), o2(0xD2,0xA9), o2(0xCA,0xE7), + o2(0xD2,0xAD), o2(0xC0,0xAA), o2(0xD2,0xAA), o2(0xB6,0xD0), + o2(0xD2,0xAB), o2(0xB4,0xAB), o2(0xB7,0xAE), o2(0xD2,0xAE), + o2(0xD2,0xAF), o2(0xD2,0xB0), o2(0xD2,0xB1), o2(0xBC,0xDB), + o2(0xB8,0xFB), o2(0xCC,0xDE), UNDEF, +}; +static const BYTE_LOOKUP +to_EUC_JP_E5_8B = { + to_SHIFT_JIS_E5_8B_offsets, + to_EUC_JP_E5_8B_infos +}; + +static const struct byte_lookup* const +to_EUC_JP_E5_8C_infos[30] = { + o2(0xF9,0xCD), o2(0xCC,0xE8), o2(0xC6,0xF7), o2(0xCA,0xF1), + o2(0xD2,0xB2), o2(0xF9,0xCE), o2(0xD2,0xB3), o2(0xD2,0xB5), + o2(0xD2,0xB7), o2(0xD2,0xB6), o2(0xD2,0xB8), o2(0xB2,0xBD), + o2(0xCB,0xCC), o2(0xBA,0xFC), o2(0xD2,0xB9), o2(0xC1,0xD9), + o2(0xBE,0xA2), o2(0xB6,0xA9), o2(0xD2,0xBA), o2(0xF9,0xCF), + o2(0xC8,0xDB), o2(0xD2,0xBB), o2(0xD2,0xBC), o2(0xD2,0xBD), + o2(0xD2,0xBE), o2(0xC9,0xA4), o2(0xB6,0xE8), o2(0xB0,0xE5), + o2(0xC6,0xBF), UNDEF, +}; +static const BYTE_LOOKUP +to_EUC_JP_E5_8C = { + to_SHIFT_JIS_E5_8C_offsets, + to_EUC_JP_E5_8C_infos +}; + +static const struct byte_lookup* const +to_EUC_JP_E5_8D_infos[35] = { + o2(0xD2,0xBF), o2(0xBD,0xBD), o2(0xC0,0xE9), o2(0xD2,0xC1), + o2(0xD2,0xC0), o2(0xBE,0xA3), o2(0xB8,0xE1), o2(0xD2,0xC3), + o2(0xC8,0xBE), o2(0xD2,0xC4), o2(0xC8,0xDC), o2(0xC2,0xB4), + o2(0xC2,0xEE), o2(0xB6,0xA8), o2(0xC6,0xEE), o2(0xC3,0xB1), + o2(0xC7,0xEE), o2(0xCB,0xCE), o2(0xD2,0xC6), o2(0xC0,0xEA), + o2(0xB7,0xB5), o2(0xD2,0xC7), o2(0xD2,0xC8), o2(0xB1,0xAC), + o2(0xB0,0xF5), o2(0xB4,0xED), o2(0xF9,0xD0), o2(0xC2,0xA8), + o2(0xB5,0xD1), o2(0xCD,0xF1), o2(0xD2,0xCB), o2(0xB2,0xB7), + o2(0xD2,0xCA), o2(0xB6,0xAA), UNDEF, +}; +static const BYTE_LOOKUP +to_EUC_JP_E5_8D = { + to_SHIFT_JIS_E5_8D_offsets, + to_EUC_JP_E5_8D_infos +}; + +static const struct byte_lookup* const +to_EUC_JP_E5_8E_infos[20] = { + o2(0xD2,0xCC), o2(0xCC,0xF1), o2(0xF9,0xD1), o2(0xD2,0xCD), + o2(0xCE,0xD2), o2(0xB8,0xFC), o2(0xB8,0xB6), o2(0xD2,0xCE), + o2(0xD2,0xD0), o2(0xD2,0xCF), o2(0xBF,0xDF), o2(0xB1,0xB9), + o2(0xB1,0xDE), o2(0xD2,0xD1), o2(0xD2,0xD2), o2(0xF9,0xD2), + o2(0xB8,0xB7), o2(0xD2,0xD3), o2(0xB5,0xEE), UNDEF, +}; +static const BYTE_LOOKUP +to_EUC_JP_E5_8E = { + to_SHIFT_JIS_E5_8E_offsets, + to_EUC_JP_E5_8E_infos +}; + +static const struct byte_lookup* const +to_EUC_JP_E5_8F_infos[38] = { + o2(0xBB,0xB2), o2(0xD2,0xD4), o2(0xCB,0xF4), o2(0xBA,0xB5), + o2(0xB5,0xDA), o2(0xCD,0xA7), o2(0xC1,0xD0), o2(0xC8,0xBF), + o2(0xBC,0xFD), o2(0xBD,0xC7), o2(0xBC,0xE8), o2(0xBC,0xF5), + o2(0xBD,0xF6), o2(0xC8,0xC0), o2(0xF9,0xD3), o2(0xD2,0xD7), + o2(0xB1,0xC3), o2(0xC1,0xD1), o2(0xB8,0xFD), o2(0xB8,0xC5), + o2(0xB6,0xE7), o2(0xD2,0xDB), o2(0xC3,0xA1), o2(0xC2,0xFE), + o2(0xB6,0xAB), o2(0xBE,0xA4), o2(0xD2,0xDC), o2(0xD2,0xDA), + o2(0xB2,0xC4), o2(0xC2,0xE6), o2(0xBC,0xB8), o2(0xBB,0xCB), + o2(0xB1,0xA6), o2(0xB3,0xF0), o2(0xB9,0xE6), o2(0xBB,0xCA), + o2(0xD2,0xDD), UNDEF, +}; +static const BYTE_LOOKUP +to_EUC_JP_E5_8F = { + to_SHIFT_JIS_E5_8F_offsets, + to_EUC_JP_E5_8F_infos +}; + +static const struct byte_lookup* const +to_EUC_JP_E5_90_infos[31] = { + o2(0xD2,0xDE), o2(0xB5,0xC9), o2(0xB3,0xC6), o2(0xB9,0xE7), + o2(0xB5,0xC8), o2(0xC4,0xDF), o2(0xB1,0xA5), o2(0xC6,0xB1), + o2(0xCC,0xBE), o2(0xB9,0xA1), o2(0xCD,0xF9), o2(0xC5,0xC7), + o2(0xB8,0xFE), o2(0xB7,0xAF), o2(0xD2,0xE7), o2(0xB6,0xE3), + o2(0xCB,0xCA), o2(0xC8,0xDD), o2(0xD2,0xE6), o2(0xB4,0xDE), + o2(0xD2,0xE1), o2(0xD2,0xE2), o2(0xD2,0xE4), o2(0xD2,0xE5), + o2(0xB5,0xDB), o2(0xBF,0xE1), o2(0xCA,0xAD), o2(0xD2,0xE3), + o2(0xD2,0xDF), o2(0xB8,0xE3), UNDEF, +}; +static const BYTE_LOOKUP +to_EUC_JP_E5_90 = { + to_SHIFT_JIS_E5_90_offsets, + to_EUC_JP_E5_90_infos +}; + +static const struct byte_lookup* const +to_EUC_JP_E5_91_infos[21] = { + o2(0xD2,0xE0), o2(0xCF,0xA4), o2(0xCA,0xF2), o2(0xC4,0xE8), + o2(0xB8,0xE2), o2(0xB9,0xF0), o2(0xD2,0xE8), o2(0xC6,0xDD), + o2(0xD2,0xEC), o2(0xBC,0xFE), o2(0xBC,0xF6), o2(0xD2,0xEF), + o2(0xD2,0xED), o2(0xCC,0xA3), o2(0xD2,0xEA), o2(0xD2,0xF3), + o2(0xD2,0xEE), o2(0xD2,0xF1), o2(0xB8,0xC6), o2(0xCC,0xBF), + UNDEF, +}; +static const BYTE_LOOKUP +to_EUC_JP_E5_91 = { + to_SHIFT_JIS_E5_91_offsets, + to_EUC_JP_E5_91_infos +}; + +static const struct byte_lookup* const +to_EUC_JP_E5_92_infos[26] = { + o2(0xD2,0xF2), o2(0xD2,0xF4), o2(0xD2,0xF6), o2(0xF9,0xD6), + o2(0xBA,0xF0), o2(0xCF,0xC2), o2(0xD2,0xEB), o2(0xD2,0xE9), + o2(0xD2,0xF5), o2(0xD2,0xF0), o2(0xF9,0xD5), o2(0xD2,0xF8), + o2(0xD3,0xA3), o2(0xD2,0xFA), o2(0xD2,0xFE), o2(0xF9,0xD7), + o2(0xD3,0xA1), o2(0xD2,0xFB), o2(0xD3,0xBE), o2(0xBA,0xE9), + o2(0xB3,0xB1), o2(0xD2,0xF9), o2(0xD3,0xA5), o2(0xB0,0xF6), + o2(0xD3,0xA4), UNDEF, +}; +static const BYTE_LOOKUP +to_EUC_JP_E5_92 = { + to_SHIFT_JIS_E5_92_offsets, + to_EUC_JP_E5_92_infos +}; + +static const struct byte_lookup* const +to_EUC_JP_E5_93_infos[21] = { + o2(0xB0,0xA5), o2(0xC9,0xCA), o2(0xD3,0xA2), o2(0xD2,0xFC), + o2(0xD2,0xF7), o2(0xD2,0xFD), o2(0xBA,0xC8), o2(0xD3,0xA6), + o2(0xB0,0xF7), o2(0xD3,0xAF), o2(0xD3,0xA7), o2(0xD3,0xA8), + o2(0xBE,0xA5), o2(0xCB,0xE9), o2(0xD3,0xAD), o2(0xD3,0xAC), + o2(0xC5,0xAF), o2(0xD3,0xAE), o2(0xD3,0xAB), o2(0xF9,0xD8), + UNDEF, +}; +static const BYTE_LOOKUP +to_EUC_JP_E5_93 = { + to_SHIFT_JIS_E5_93_offsets, + to_EUC_JP_E5_93_infos +}; + +static const struct byte_lookup* const +to_EUC_JP_E5_94_infos[15] = { + o2(0xB1,0xB4), o2(0xBA,0xB6), o2(0xBF,0xB0), o2(0xD3,0xA9), + o2(0xC5,0xE2), o2(0xD3,0xAA), o2(0xB0,0xA2), o2(0xD3,0xB4), + o2(0xCD,0xA3), o2(0xBE,0xA7), o2(0xD3,0xBA), o2(0xD3,0xB9), + o2(0xD3,0xB0), o2(0xC2,0xC3), UNDEF, +}; +static const BYTE_LOOKUP +to_EUC_JP_E5_94 = { + to_SHIFT_JIS_E5_94_offsets, + to_EUC_JP_E5_94_infos +}; + +static const struct byte_lookup* const +to_EUC_JP_E5_95_infos[16] = { + o2(0xD3,0xB1), o2(0xC2,0xEF), o2(0xD3,0xB6), o2(0xBE,0xA6), + o2(0xD3,0xB3), o2(0xCC,0xE4), o2(0xB7,0xBC), o2(0xD3,0xB7), + o2(0xD3,0xB8), o2(0xD3,0xB5), o2(0xD3,0xBB), o2(0xD3,0xB2), + o2(0xD3,0xC1), o2(0xD3,0xC6), o2(0xD3,0xC2), UNDEF, +}; +static const BYTE_LOOKUP +to_EUC_JP_E5_95 = { + to_SHIFT_JIS_E5_95_offsets, + to_EUC_JP_E5_95_infos +}; + +static const struct byte_lookup* const +to_EUC_JP_E5_96_infos[25] = { + o2(0xD3,0xBD), o2(0xD3,0xC7), o2(0xC1,0xB1), o2(0xF9,0xD9), + o2(0xD3,0xC9), o2(0xB9,0xA2), o2(0xD3,0xBF), o2(0xC3,0xFD), + o2(0xD3,0xC3), o2(0xD3,0xBC), o2(0xB4,0xAD), o2(0xB4,0xEE), + o2(0xB3,0xE5), o2(0xD3,0xC4), o2(0xD3,0xC0), o2(0xB7,0xF6), + o2(0xD3,0xCA), o2(0xD3,0xC8), o2(0xC1,0xD3), o2(0xB5,0xCA), + o2(0xB6,0xAC), o2(0xD3,0xC5), o2(0xB6,0xF4), o2(0xB1,0xC4), + UNDEF, +}; +static const BYTE_LOOKUP +to_EUC_JP_E5_96 = { + to_SHIFT_JIS_E5_96_offsets, + to_EUC_JP_E5_96_infos +}; + +static const struct byte_lookup* const +to_EUC_JP_E5_97_infos[14] = { + o2(0xD3,0xCE), o2(0xD3,0xCC), o2(0xD4,0xA7), o2(0xD3,0xD1), + o2(0xD3,0xCB), o2(0xD3,0xCF), o2(0xD3,0xCD), o2(0xBB,0xCC), + o2(0xD3,0xD0), o2(0xD3,0xD3), o2(0xD3,0xD8), o2(0xD3,0xD6), + o2(0xD3,0xD5), UNDEF, +}; +static const BYTE_LOOKUP +to_EUC_JP_E5_97 = { + to_SHIFT_JIS_E5_97_offsets, + to_EUC_JP_E5_97_infos +}; + +static const struct byte_lookup* const +to_EUC_JP_E5_98_infos[15] = { + o2(0xC3,0xB2), o2(0xB2,0xC5), o2(0xD3,0xD2), o2(0xD3,0xD4), + o2(0xBE,0xA8), o2(0xB1,0xB3), o2(0xD3,0xD7), o2(0xB2,0xDE), + o2(0xD3,0xE2), o2(0xBE,0xFC), o2(0xD3,0xDE), o2(0xD3,0xDC), + o2(0xD3,0xDD), o2(0xD3,0xDF), UNDEF, +}; +static const BYTE_LOOKUP +to_EUC_JP_E5_98 = { + to_SHIFT_JIS_E5_98_offsets, + to_EUC_JP_E5_98_infos +}; + +static const struct byte_lookup* const +to_EUC_JP_E5_99_infos[14] = { + o2(0xB1,0xBD), o2(0xC1,0xB9), o2(0xD3,0xD9), o2(0xD3,0xDA), + o2(0xB3,0xFA), o2(0xD3,0xE1), o2(0xB4,0xEF), o2(0xD3,0xE4), + o2(0xD3,0xE0), o2(0xD3,0xE3), o2(0xCA,0xAE), o2(0xC6,0xD5), + o2(0xC8,0xB8), UNDEF, +}; +static const BYTE_LOOKUP +to_EUC_JP_E5_99 = { + to_SHIFT_JIS_E5_99_offsets, + to_EUC_JP_E5_99_infos +}; + +static const struct byte_lookup* const +to_EUC_JP_E5_9A_infos[14] = { + o2(0xD3,0xE6), o2(0xD3,0xE5), o2(0xB3,0xC5), o2(0xD3,0xE7), + o2(0xD3,0xEA), o2(0xD3,0xE9), o2(0xD3,0xE8), o2(0xC7,0xB9), + o2(0xD3,0xEB), o2(0xD3,0xEC), o2(0xD3,0xEE), o2(0xD3,0xED), + o2(0xD3,0xF0), UNDEF, +}; +static const BYTE_LOOKUP +to_EUC_JP_E5_9A = { + to_SHIFT_JIS_E5_9A_offsets, + to_EUC_JP_E5_9A_infos +}; + +static const struct byte_lookup* const +to_EUC_JP_E5_9B_infos[24] = { + o2(0xD3,0xF3), o2(0xD3,0xF1), o2(0xD3,0xEF), o2(0xD3,0xF2), + o2(0xD3,0xF4), o2(0xD3,0xF5), o2(0xD3,0xF6), o2(0xD3,0xF7), + o2(0xD3,0xF8), o2(0xD1,0xC5), o2(0xBC,0xFC), o2(0xBB,0xCD), + o2(0xB2,0xF3), o2(0xB0,0xF8), o2(0xC3,0xC4), o2(0xD3,0xF9), + o2(0xBA,0xA4), o2(0xB0,0xCF), o2(0xBF,0xDE), o2(0xD3,0xFA), + o2(0xB8,0xC7), o2(0xB9,0xF1), o2(0xD3,0xFC), UNDEF, +}; +static const BYTE_LOOKUP +to_EUC_JP_E5_9B = { + to_SHIFT_JIS_E5_9B_offsets, + to_EUC_JP_E5_9B_infos +}; + +static const struct byte_lookup* const +to_EUC_JP_E5_9C_infos[23] = { + o2(0xD3,0xFB), o2(0xCA,0xE0), o2(0xD3,0xFD), o2(0xD4,0xA1), + o2(0xD3,0xFE), o2(0xD4,0xA2), o2(0xD4,0xA3), o2(0xB7,0xF7), + o2(0xB1,0xE0), o2(0xD4,0xA4), o2(0xD4,0xA6), o2(0xD4,0xA5), + o2(0xD4,0xA8), o2(0xC5,0xDA), o2(0xD4,0xA9), o2(0xB0,0xB5), + o2(0xBA,0xDF), o2(0xB7,0xBD), o2(0xC3,0xCF), o2(0xD4,0xAA), + o2(0xD4,0xAB), o2(0xD4,0xAD), UNDEF, +}; +static const BYTE_LOOKUP +to_EUC_JP_E5_9C = { + to_SHIFT_JIS_E5_9C_offsets, + to_EUC_JP_E5_9C_infos +}; + +static const struct byte_lookup* const +to_EUC_JP_E5_9D_infos[17] = { + o2(0xD4,0xAE), o2(0xBA,0xE4), o2(0xB6,0xD1), o2(0xCB,0xB7), + o2(0xD4,0xAC), o2(0xD4,0xAF), o2(0xBA,0xC1), o2(0xB9,0xA3), + o2(0xF9,0xDA), o2(0xD4,0xB3), o2(0xBA,0xA5), o2(0xF9,0xDB), + o2(0xC3,0xB3), o2(0xD4,0xB0), o2(0xC4,0xDA), o2(0xD4,0xB4), + UNDEF, +}; +static const BYTE_LOOKUP +to_EUC_JP_E5_9D = { + to_SHIFT_JIS_E5_9D_offsets, + to_EUC_JP_E5_9D_infos +}; + +static const struct byte_lookup* const +to_EUC_JP_E5_9E_infos[14] = { + o2(0xBF,0xE2), o2(0xD4,0xB2), o2(0xD4,0xB5), o2(0xB7,0xBF), + o2(0xD4,0xB6), o2(0xD4,0xB7), o2(0xB9,0xA4), o2(0xB3,0xC0), + o2(0xD4,0xB9), o2(0xD4,0xBA), o2(0xF9,0xDC), o2(0xD4,0xBB), + o2(0xD4,0xB8), UNDEF, +}; +static const BYTE_LOOKUP +to_EUC_JP_E5_9E = { + to_SHIFT_JIS_E5_9E_offsets, + to_EUC_JP_E5_9E_infos +}; + +static const struct byte_lookup* const +to_EUC_JP_E5_9F_infos[21] = { + o2(0xD4,0xB1), o2(0xD4,0xBC), o2(0xD4,0xBD), o2(0xF9,0xDE), + o2(0xF9,0xDD), o2(0xCB,0xE4), o2(0xBE,0xEB), o2(0xD4,0xBF), + o2(0xD4,0xC0), o2(0xD4,0xBE), o2(0xD4,0xC2), o2(0xC7,0xB8), + o2(0xB0,0xE8), o2(0xC9,0xD6), o2(0xD4,0xC3), o2(0xBE,0xFD), + o2(0xBC,0xB9), o2(0xC7,0xDD), o2(0xB4,0xF0), o2(0xBA,0xEB), + UNDEF, +}; +static const BYTE_LOOKUP +to_EUC_JP_E5_9F = { + to_SHIFT_JIS_E5_9F_offsets, + to_EUC_JP_E5_9F_infos +}; + +static const struct byte_lookup* const +to_EUC_JP_E5_A0_infos[20] = { + o2(0xCB,0xD9), o2(0xC6,0xB2), o2(0xB7,0xF8), o2(0xC2,0xCF), + o2(0xD4,0xC1), o2(0xD4,0xC4), o2(0xC2,0xC4), o2(0xD4,0xC5), + o2(0xD4,0xC6), o2(0xD4,0xC8), o2(0xC4,0xE9), o2(0xB4,0xAE), + o2(0xF4,0xA1), o2(0xB1,0xE1), o2(0xCA,0xF3), o2(0xBE,0xEC), + o2(0xC5,0xC8), o2(0xBA,0xE6), o2(0xD4,0xCE), UNDEF, +}; +static const BYTE_LOOKUP +to_EUC_JP_E5_A0 = { + to_SHIFT_JIS_E5_A0_offsets, + to_EUC_JP_E5_A0_infos +}; + +static const struct byte_lookup* const +to_EUC_JP_E5_A1_infos[21] = { + o2(0xCA,0xBD), o2(0xCE,0xDD), o2(0xB2,0xF4), o2(0xD4,0xCA), + o2(0xC1,0xBA), o2(0xD4,0xCD), o2(0xC5,0xE3), o2(0xC5,0xC9), + o2(0xC5,0xE4), o2(0xC8,0xB9), o2(0xC4,0xCD), o2(0xBA,0xC9), + o2(0xD4,0xC9), o2(0xB1,0xF6), o2(0xC5,0xB6), o2(0xD4,0xCB), + o2(0xD4,0xC7), o2(0xBF,0xD0), o2(0xD4,0xCF), o2(0xBD,0xCE), + UNDEF, +}; +static const BYTE_LOOKUP +to_EUC_JP_E5_A1 = { + to_SHIFT_JIS_E5_A1_offsets, + to_EUC_JP_E5_A1_infos +}; + +static const struct byte_lookup* const +to_EUC_JP_E5_A2_infos[18] = { + o2(0xB6,0xAD), o2(0xD4,0xD0), o2(0xCA,0xE8), o2(0xC1,0xFD), + o2(0xC4,0xC6), o2(0xF9,0xE1), o2(0xD4,0xD2), o2(0xCB,0xCF), + o2(0xD4,0xD3), o2(0xD4,0xD8), o2(0xF9,0xE2), o2(0xCA,0xAF), + o2(0xD4,0xD7), o2(0xD4,0xD1), o2(0xD4,0xD4), o2(0xD4,0xD6), + o2(0xBA,0xA6), UNDEF, +}; +static const BYTE_LOOKUP +to_EUC_JP_E5_A2 = { + to_SHIFT_JIS_E5_A2_offsets, + to_EUC_JP_E5_A2_infos +}; + +static const struct byte_lookup* const +to_EUC_JP_E5_A3_infos[30] = { + o2(0xCA,0xC9), o2(0xD4,0xD9), o2(0xC3,0xC5), o2(0xB2,0xF5), + o2(0xBE,0xED), o2(0xD4,0xDB), o2(0xD4,0xDA), o2(0xB9,0xE8), + o2(0xD4,0xDC), o2(0xD4,0xDE), o2(0xD4,0xDD), o2(0xD4,0xE0), + o2(0xD4,0xD5), o2(0xD4,0xE2), o2(0xD4,0xE1), o2(0xD4,0xDF), + o2(0xBB,0xCE), o2(0xBF,0xD1), o2(0xC1,0xD4), o2(0xD4,0xE3), + o2(0xC0,0xBC), o2(0xB0,0xED), o2(0xC7,0xE4), o2(0xC4,0xDB), + o2(0xD4,0xE5), o2(0xD4,0xE4), o2(0xD4,0xE6), o2(0xD4,0xE7), + o2(0xD4,0xE8), UNDEF, +}; +static const BYTE_LOOKUP +to_EUC_JP_E5_A3 = { + to_SHIFT_JIS_E5_A3_offsets, + to_EUC_JP_E5_A3_infos +}; + +static const struct byte_lookup* const +to_EUC_JP_E5_A4_infos[28] = { + o2(0xD4,0xE9), o2(0xCA,0xD1), o2(0xD4,0xEA), o2(0xF9,0xE3), + o2(0xB2,0xC6), o2(0xD4,0xEB), o2(0xCD,0xBC), o2(0xB3,0xB0), + o2(0xD2,0xC9), o2(0xBD,0xC8), o2(0xC2,0xBF), o2(0xD4,0xEC), + o2(0xCC,0xEB), o2(0xCC,0xB4), o2(0xD4,0xEE), o2(0xC2,0xE7), + o2(0xC5,0xB7), o2(0xC2,0xC0), o2(0xC9,0xD7), o2(0xD4,0xEF), + o2(0xD4,0xF0), o2(0xB1,0xFB), o2(0xBC,0xBA), o2(0xD4,0xF1), + o2(0xB0,0xD0), o2(0xD4,0xF2), o2(0xD4,0xF3), UNDEF, +}; +static const BYTE_LOOKUP +to_EUC_JP_E5_A4 = { + to_SHIFT_JIS_E5_A4_offsets, + to_EUC_JP_E5_A4_infos +}; + +static const struct byte_lookup* const +to_EUC_JP_E5_A5_infos[31] = { + o2(0xB1,0xE2), o2(0xB4,0xF1), o2(0xC6,0xE0), o2(0xCA,0xF4), + o2(0xD4,0xF7), o2(0xC1,0xD5), o2(0xD4,0xF6), o2(0xB7,0xC0), + o2(0xF9,0xE4), o2(0xCB,0xDB), o2(0xD4,0xF5), o2(0xC5,0xE5), + o2(0xD4,0xF9), o2(0xD4,0xF8), o2(0xF9,0xE5), o2(0xF9,0xE6), + o2(0xD4,0xFB), o2(0xD4,0xFA), o2(0xF9,0xE7), o2(0xB1,0xFC), + o2(0xD4,0xFC), o2(0xBE,0xA9), o2(0xD4,0xFE), o2(0xC3,0xA5), + o2(0xD4,0xFD), o2(0xCA,0xB3), o2(0xBD,0xF7), o2(0xC5,0xDB), + o2(0xD5,0xA1), o2(0xB9,0xA5), UNDEF, +}; +static const BYTE_LOOKUP +to_EUC_JP_E5_A5 = { + to_SHIFT_JIS_E5_A5_offsets, + to_EUC_JP_E5_A5_infos +}; + +static const struct byte_lookup* const +to_EUC_JP_E5_A6_infos[22] = { + o2(0xD5,0xA2), o2(0xC7,0xA1), o2(0xC8,0xDE), o2(0xCC,0xD1), + o2(0xC7,0xA5), o2(0xD5,0xAB), o2(0xB5,0xB8), o2(0xCD,0xC5), + o2(0xCC,0xAF), o2(0xD6,0xAC), o2(0xD5,0xA3), o2(0xD5,0xA6), + o2(0xF9,0xE8), o2(0xC2,0xC5), o2(0xCB,0xB8), o2(0xC5,0xCA), + o2(0xD5,0xA7), o2(0xCB,0xE5), o2(0xF9,0xE9), o2(0xBA,0xCA), + o2(0xBE,0xAA), UNDEF, +}; +static const BYTE_LOOKUP +to_EUC_JP_E5_A6 = { + to_SHIFT_JIS_E5_A6_offsets, + to_EUC_JP_E5_A6_infos +}; + +static const struct byte_lookup* const +to_EUC_JP_E5_A7_infos[19] = { + o2(0xD5,0xA8), o2(0xBB,0xD0), o2(0xBB,0xCF), o2(0xB0,0xB9), + o2(0xB8,0xC8), o2(0xC0,0xAB), o2(0xB0,0xD1), o2(0xD5,0xAC), + o2(0xD5,0xAD), o2(0xD5,0xAA), o2(0xB1,0xB8), o2(0xB4,0xAF), + o2(0xD5,0xA9), o2(0xCC,0xC5), o2(0xC9,0xB1), o2(0xB0,0xA8), + o2(0xB0,0xF9), o2(0xBB,0xD1), UNDEF, +}; +static const BYTE_LOOKUP +to_EUC_JP_E5_A7 = { + to_SHIFT_JIS_E5_A7_offsets, + to_EUC_JP_E5_A7_infos +}; + +static const struct byte_lookup* const +to_EUC_JP_E5_A8_infos[16] = { + o2(0xB0,0xD2), o2(0xB0,0xA3), o2(0xD5,0xB2), o2(0xD5,0xB0), + o2(0xCC,0xBC), o2(0xD5,0xB3), o2(0xD5,0xB1), o2(0xD5,0xAF), + o2(0xBF,0xB1), o2(0xD5,0xAE), o2(0xCA,0xDA), o2(0xB8,0xE4), + o2(0xD5,0xB7), o2(0xD5,0xB8), o2(0xBE,0xAB), UNDEF, +}; +static const BYTE_LOOKUP +to_EUC_JP_E5_A8 = { + to_SHIFT_JIS_E5_A8_offsets, + to_EUC_JP_E5_A8_infos +}; + +static const struct byte_lookup* const +to_EUC_JP_E5_A9_infos[11] = { + o2(0xD5,0xB4), o2(0xCF,0xAC), o2(0xC7,0xCC), o2(0xD5,0xB6), + o2(0xBA,0xA7), o2(0xD5,0xB9), o2(0xC9,0xD8), o2(0xD5,0xBA), + o2(0xD5,0xB5), o2(0xCC,0xBB), UNDEF, +}; +static const BYTE_LOOKUP +to_EUC_JP_E5_A9 = { + to_SHIFT_JIS_E5_A9_offsets, + to_EUC_JP_E5_A9_infos +}; + +static const struct byte_lookup* const +to_EUC_JP_E5_AA_infos[7] = { + o2(0xC7,0xDE), o2(0xD5,0xBB), o2(0xC9,0xB2), o2(0xD5,0xBC), + o2(0xD5,0xC0), o2(0xD5,0xBD), UNDEF, +}; +static const BYTE_LOOKUP +to_EUC_JP_E5_AA = { + to_SHIFT_JIS_E5_AA_offsets, + to_EUC_JP_E5_AA_infos +}; + +static const struct byte_lookup* const +to_EUC_JP_E5_AB_infos[15] = { + o2(0xB2,0xC7), o2(0xD5,0xBF), o2(0xBC,0xBB), o2(0xD5,0xBE), + o2(0xB7,0xF9), o2(0xD5,0xCC), o2(0xD5,0xC5), o2(0xD5,0xC2), + o2(0xC3,0xE4), o2(0xD5,0xC1), o2(0xD5,0xC3), o2(0xD5,0xC4), + o2(0xD5,0xC6), o2(0xD5,0xC7), UNDEF, +}; +static const BYTE_LOOKUP +to_EUC_JP_E5_AB = { + to_SHIFT_JIS_E5_AB_offsets, + to_EUC_JP_E5_AB_infos +}; + +static const struct byte_lookup* const +to_EUC_JP_E5_AC_infos[12] = { + o2(0xB4,0xF2), o2(0xD5,0xC9), o2(0xD5,0xC8), o2(0xD5,0xCA), + o2(0xBE,0xEE), o2(0xD5,0xCD), o2(0xC4,0xDC), o2(0xB1,0xC5), + o2(0xD5,0xCB), o2(0xD5,0xCE), o2(0xD5,0xCF), UNDEF, +}; +static const BYTE_LOOKUP +to_EUC_JP_E5_AC = { + to_SHIFT_JIS_E5_AC_offsets, + to_EUC_JP_E5_AC_infos +}; + +static const struct byte_lookup* const +to_EUC_JP_E5_AD_infos[28] = { + o2(0xD5,0xD2), o2(0xD5,0xD0), o2(0xD5,0xD1), o2(0xBB,0xD2), + o2(0xD5,0xD3), o2(0xB9,0xA6), o2(0xD5,0xD4), o2(0xF9,0xEA), + o2(0xBB,0xFA), o2(0xC2,0xB8), o2(0xD5,0xD5), o2(0xD5,0xD6), + o2(0xBB,0xDA), o2(0xB9,0xA7), o2(0xCC,0xD2), o2(0xB5,0xA8), + o2(0xB8,0xC9), o2(0xD5,0xD7), o2(0xB3,0xD8), o2(0xD5,0xD8), + o2(0xC2,0xB9), o2(0xD5,0xD9), o2(0xD6,0xA3), o2(0xD5,0xDA), + o2(0xD5,0xDB), o2(0xD5,0xDC), o2(0xD5,0xDE), UNDEF, +}; +static const BYTE_LOOKUP +to_EUC_JP_E5_AD = { + to_SHIFT_JIS_E5_AD_offsets, + to_EUC_JP_E5_AD_infos +}; + +static const struct byte_lookup* const +to_EUC_JP_E5_AE_infos[34] = { + o2(0xD5,0xDF), o2(0xD5,0xE0), o2(0xC2,0xF0), o2(0xB1,0xA7), + o2(0xBC,0xE9), o2(0xB0,0xC2), o2(0xC1,0xD7), o2(0xB4,0xB0), + o2(0xBC,0xB5), o2(0xB9,0xA8), o2(0xC5,0xE6), o2(0xBD,0xA1), + o2(0xB4,0xB1), o2(0xC3,0xE8), o2(0xC4,0xEA), o2(0xB0,0xB8), + o2(0xB5,0xB9), o2(0xCA,0xF5), o2(0xBC,0xC2), o2(0xB5,0xD2), + o2(0xC0,0xEB), o2(0xBC,0xBC), o2(0xCD,0xA8), o2(0xD5,0xE1), + o2(0xB5,0xDC), o2(0xBA,0xCB), o2(0xB3,0xB2), o2(0xB1,0xE3), + o2(0xBE,0xAC), o2(0xB2,0xC8), o2(0xD5,0xE2), o2(0xCD,0xC6), + o2(0xBD,0xC9), UNDEF, +}; +static const BYTE_LOOKUP +to_EUC_JP_E5_AE = { + to_SHIFT_JIS_E5_AE_offsets, + to_EUC_JP_E5_AE_infos +}; + +static const struct byte_lookup* const +to_EUC_JP_E5_AF_infos[38] = { + o2(0xF9,0xEB), o2(0xBC,0xE4), o2(0xD5,0xE3), o2(0xB4,0xF3), + o2(0xC6,0xD2), o2(0xCC,0xA9), o2(0xD5,0xE4), o2(0xD5,0xE5), + o2(0xC9,0xD9), o2(0xD5,0xE7), o2(0xB4,0xA8), o2(0xB6,0xF7), + o2(0xD5,0xE6), o2(0xF9,0xED), o2(0xB4,0xB2), o2(0xBF,0xB2), + o2(0xD5,0xEB), o2(0xBB,0xA1), o2(0xB2,0xC9), o2(0xD5,0xEA), + o2(0xD5,0xE8), o2(0xD5,0xEC), o2(0xD5,0xE9), o2(0xC7,0xAB), + o2(0xDC,0xCD), o2(0xBF,0xB3), o2(0xD5,0xED), o2(0xF9,0xEE), + o2(0xCE,0xC0), o2(0xD5,0xEE), o2(0xD5,0xF0), o2(0xC3,0xFE), + o2(0xD5,0xEF), o2(0xC0,0xA3), o2(0xBB,0xFB), o2(0xC2,0xD0), + o2(0xBC,0xF7), UNDEF, +}; +static const BYTE_LOOKUP +to_EUC_JP_E5_AF = { + to_SHIFT_JIS_E5_AF_offsets, + to_EUC_JP_E5_AF_infos +}; + +static const struct byte_lookup* const +to_EUC_JP_E5_B0_infos[33] = { + o2(0xC9,0xF5), o2(0xC0,0xEC), o2(0xBC,0xCD), o2(0xD5,0xF1), + o2(0xBE,0xAD), o2(0xD5,0xF2), o2(0xD5,0xF3), o2(0xB0,0xD3), + o2(0xC2,0xBA), o2(0xBF,0xD2), o2(0xD5,0xF4), o2(0xC6,0xB3), + o2(0xBE,0xAE), o2(0xBE,0xAF), o2(0xD5,0xF5), o2(0xC0,0xED), + o2(0xBE,0xB0), o2(0xF9,0xEF), o2(0xD5,0xF6), o2(0xD5,0xF7), + o2(0xCC,0xE0), o2(0xD5,0xF8), o2(0xB6,0xC6), o2(0xBD,0xA2), + o2(0xD5,0xF9), o2(0xD5,0xFA), o2(0xBC,0xDC), o2(0xBF,0xAC), + o2(0xC6,0xF4), o2(0xBF,0xD4), o2(0xC8,0xF8), o2(0xC7,0xA2), + UNDEF, +}; +static const BYTE_LOOKUP +to_EUC_JP_E5_B0 = { + to_SHIFT_JIS_E5_B0_offsets, + to_EUC_JP_E5_B0_infos +}; + +static const struct byte_lookup* const +to_EUC_JP_E5_B1_infos[26] = { + o2(0xB6,0xC9), o2(0xD5,0xFB), o2(0xB5,0xEF), o2(0xD5,0xFC), + o2(0xB6,0xFE), o2(0xC6,0xCF), o2(0xB2,0xB0), o2(0xBB,0xD3), + o2(0xD5,0xFD), o2(0xD6,0xA2), o2(0xD6,0xA1), o2(0xB6,0xFD), + o2(0xD5,0xFE), o2(0xC5,0xB8), o2(0xC2,0xB0), o2(0xC5,0xCB), + o2(0xBC,0xC8), o2(0xC1,0xD8), o2(0xCD,0xFA), o2(0xD6,0xA4), + o2(0xD6,0xA5), o2(0xC6,0xD6), o2(0xBB,0xB3), o2(0xD6,0xA7), + o2(0xD6,0xA8), UNDEF, +}; +static const BYTE_LOOKUP +to_EUC_JP_E5_B1 = { + to_SHIFT_JIS_E5_B1_offsets, + to_EUC_JP_E5_B1_infos +}; + +static const struct byte_lookup* const +to_EUC_JP_E5_B2_infos[20] = { + o2(0xD6,0xA9), o2(0xB4,0xF4), o2(0xD6,0xAA), o2(0xD6,0xAB), + o2(0xB2,0xAC), o2(0xF9,0xF0), o2(0xC1,0xBB), o2(0xB4,0xE4), + o2(0xD6,0xAD), o2(0xCC,0xA8), o2(0xC2,0xD2), o2(0xB3,0xD9), + o2(0xD6,0xAF), o2(0xD6,0xB1), o2(0xB4,0xDF), o2(0xF9,0xF1), + o2(0xD6,0xAE), o2(0xD6,0xB0), o2(0xD6,0xB3), UNDEF, +}; +static const BYTE_LOOKUP +to_EUC_JP_E5_B2 = { + to_SHIFT_JIS_E5_B2_offsets, + to_EUC_JP_E5_B2_infos +}; + +static const struct byte_lookup* const +to_EUC_JP_E5_B3_infos[17] = { + o2(0xD6,0xB2), o2(0xD6,0xB4), o2(0xD6,0xB5), o2(0xC6,0xBD), + o2(0xB6,0xAE), o2(0xB2,0xE5), o2(0xD6,0xB6), o2(0xD6,0xBB), + o2(0xD6,0xB9), o2(0xCA,0xF7), o2(0xCA,0xF6), o2(0xF9,0xF2), + o2(0xC5,0xE7), o2(0xD6,0xB8), o2(0xBD,0xD4), o2(0xD6,0xB7), + UNDEF, +}; +static const BYTE_LOOKUP +to_EUC_JP_E5_B3 = { + to_SHIFT_JIS_E5_B3_offsets, + to_EUC_JP_E5_B3_infos +}; + +static const struct byte_lookup* const +to_EUC_JP_E5_B4_infos[17] = { + o2(0xBF,0xF2), o2(0xD6,0xBC), o2(0xBA,0xEA), o2(0xD6,0xC2), + o2(0xD6,0xC3), o2(0xD6,0xBD), o2(0xB3,0xB3), o2(0xD6,0xBE), + o2(0xD6,0xC7), o2(0xD6,0xC6), o2(0xD6,0xC5), o2(0xD6,0xC1), + o2(0xD6,0xC0), o2(0xD6,0xC4), o2(0xF9,0xF3), o2(0xCA,0xF8), + UNDEF, +}; +static const BYTE_LOOKUP +to_EUC_JP_E5_B4 = { + to_SHIFT_JIS_E5_B4_offsets, + to_EUC_JP_E5_B4_infos +}; + +static const struct byte_lookup* const +to_EUC_JP_E5_B5_infos[15] = { + o2(0xF9,0xF6), o2(0xD6,0xCB), o2(0xD6,0xC8), o2(0xD6,0xCA), + o2(0xCD,0xF2), o2(0xD6,0xC9), o2(0xF9,0xF4), o2(0xD6,0xBF), + o2(0xBF,0xF3), o2(0xD6,0xCC), o2(0xF9,0xF7), o2(0xBA,0xB7), + o2(0xD6,0xCD), o2(0xD6,0xCE), UNDEF, +}; +static const BYTE_LOOKUP +to_EUC_JP_E5_B5 = { + to_SHIFT_JIS_E5_B5_offsets, + to_EUC_JP_E5_B5_infos +}; + +static const struct byte_lookup* const +to_EUC_JP_E5_B6_infos[17] = { + o2(0xD6,0xD1), o2(0xD6,0xD0), o2(0xD6,0xCF), o2(0xC5,0xE8), + o2(0xD6,0xBA), o2(0xD6,0xD7), o2(0xD6,0xD3), o2(0xD6,0xD2), + o2(0xD6,0xD4), o2(0xD6,0xD5), o2(0xD6,0xD8), o2(0xF9,0xF8), + o2(0xF9,0xF9), o2(0xCE,0xE6), o2(0xD6,0xD9), o2(0xD6,0xD6), + UNDEF, +}; +static const BYTE_LOOKUP +to_EUC_JP_E5_B6 = { + to_SHIFT_JIS_E5_B6_offsets, + to_EUC_JP_E5_B6_infos +}; + +static const struct byte_lookup* const +to_EUC_JP_E5_B7_infos[28] = { + o2(0xD6,0xDA), o2(0xB4,0xE0), o2(0xD6,0xDB), o2(0xF9,0xFA), + o2(0xD6,0xDD), o2(0xD6,0xDC), o2(0xD6,0xDE), o2(0xD6,0xDF), + o2(0xC0,0xEE), o2(0xBD,0xA3), o2(0xBD,0xE4), o2(0xC1,0xE3), + o2(0xB9,0xA9), o2(0xBA,0xB8), o2(0xB9,0xAA), o2(0xB5,0xF0), + o2(0xD6,0xE0), o2(0xBA,0xB9), o2(0xB8,0xCA), o2(0xD6,0xE1), + o2(0xCC,0xA6), o2(0xC7,0xC3), o2(0xD6,0xE2), o2(0xB9,0xAB), + o2(0xB4,0xAC), o2(0xC3,0xA7), o2(0xB6,0xD2), UNDEF, +}; +static const BYTE_LOOKUP +to_EUC_JP_E5_B7 = { + to_SHIFT_JIS_E5_B7_offsets, + to_EUC_JP_E5_B7_infos +}; + +static const struct byte_lookup* const +to_EUC_JP_E5_B8_infos[22] = { + o2(0xBB,0xD4), o2(0xC9,0xDB), o2(0xC8,0xC1), o2(0xD6,0xE3), + o2(0xB4,0xF5), o2(0xD6,0xE6), o2(0xC4,0xA1), o2(0xD6,0xE5), + o2(0xD6,0xE4), o2(0xD6,0xE7), o2(0xC4,0xEB), o2(0xBF,0xE3), + o2(0xBB,0xD5), o2(0xC0,0xCA), o2(0xC2,0xD3), o2(0xB5,0xA2), + o2(0xC4,0xA2), o2(0xD6,0xE8), o2(0xD6,0xE9), o2(0xBE,0xEF), + o2(0xCB,0xB9), UNDEF, +}; +static const BYTE_LOOKUP +to_EUC_JP_E5_B8 = { + to_SHIFT_JIS_E5_B8_offsets, + to_EUC_JP_E5_B8_infos +}; + +static const struct byte_lookup* const +to_EUC_JP_E5_B9_infos[29] = { + o2(0xD6,0xEC), o2(0xD6,0xEB), o2(0xD6,0xEA), o2(0xC9,0xFD), + o2(0xD6,0xF3), o2(0xCB,0xDA), o2(0xD6,0xED), o2(0xD6,0xEF), + o2(0xCB,0xEB), o2(0xD6,0xEE), o2(0xD6,0xF0), o2(0xC8,0xA8), + o2(0xD6,0xF1), o2(0xCA,0xBE), o2(0xD6,0xF2), o2(0xB4,0xB3), + o2(0xCA,0xBF), o2(0xC7,0xAF), o2(0xD6,0xF4), o2(0xD6,0xF5), + o2(0xB9,0xAC), o2(0xB4,0xB4), o2(0xD6,0xF6), o2(0xB8,0xB8), + o2(0xCD,0xC4), o2(0xCD,0xA9), o2(0xB4,0xF6), o2(0xD6,0xF8), + UNDEF, +}; +static const BYTE_LOOKUP +to_EUC_JP_E5_B9 = { + to_SHIFT_JIS_E5_B9_offsets, + to_EUC_JP_E5_B9_infos +}; + +static const struct byte_lookup* const +to_EUC_JP_E5_BA_infos[21] = { + o2(0xC4,0xA3), o2(0xB9,0xAD), o2(0xBE,0xB1), o2(0xC8,0xDF), + o2(0xBE,0xB2), o2(0xBD,0xF8), o2(0xC4,0xEC), o2(0xCA,0xF9), + o2(0xC5,0xB9), o2(0xB9,0xAE), o2(0xC9,0xDC), o2(0xD6,0xF9), + o2(0xC5,0xD9), o2(0xBA,0xC2), o2(0xB8,0xCB), o2(0xC4,0xED), + o2(0xB0,0xC3), o2(0xBD,0xEE), o2(0xB9,0xAF), o2(0xCD,0xC7), + UNDEF, +}; +static const BYTE_LOOKUP +to_EUC_JP_E5_BA = { + to_SHIFT_JIS_E5_BA_offsets, + to_EUC_JP_E5_BA_infos +}; + +static const struct byte_lookup* const +to_EUC_JP_E5_BB_infos[34] = { + o2(0xD6,0xFA), o2(0xD6,0xFB), o2(0xC7,0xD1), o2(0xD6,0xFC), + o2(0xCE,0xF7), o2(0xCF,0xAD), o2(0xD6,0xFE), o2(0xD6,0xFD), + o2(0xB3,0xC7), o2(0xD7,0xA1), o2(0xD7,0xA4), o2(0xD7,0xA5), + o2(0xD7,0xA3), o2(0xC9,0xC0), o2(0xBE,0xB3), o2(0xD7,0xA7), + o2(0xD7,0xA6), o2(0xD7,0xA2), o2(0xD7,0xA8), o2(0xD7,0xA9), + o2(0xD7,0xAA), o2(0xD7,0xAD), o2(0xD7,0xAB), o2(0xD7,0xAC), + o2(0xD7,0xAE), o2(0xB1,0xE4), o2(0xC4,0xEE), o2(0xD7,0xAF), + o2(0xB7,0xFA), o2(0xB2,0xF6), o2(0xC7,0xB6), o2(0xD7,0xB0), + o2(0xC6,0xFB), UNDEF, +}; +static const BYTE_LOOKUP +to_EUC_JP_E5_BB = { + to_SHIFT_JIS_E5_BB_offsets, + to_EUC_JP_E5_BB_infos +}; + +static const struct byte_lookup* const +to_EUC_JP_E5_BC_infos[34] = { + o2(0xCA,0xDB), o2(0xD7,0xB1), o2(0xCF,0xAE), o2(0xD7,0xB2), + o2(0xCA,0xC0), o2(0xD7,0xB5), o2(0xD0,0xA1), o2(0xD0,0xB1), + o2(0xBC,0xB0), o2(0xC6,0xF5), o2(0xD7,0xB6), o2(0xB5,0xDD), + o2(0xC4,0xA4), o2(0xB0,0xFA), o2(0xD7,0xB7), o2(0xCA,0xA6), + o2(0xB9,0xB0), o2(0xC3,0xD0), o2(0xC4,0xEF), o2(0xF9,0xFB), + o2(0xCC,0xEF), o2(0xB8,0xB9), o2(0xB8,0xCC), o2(0xD7,0xB8), + o2(0xD7,0xB9), o2(0xD7,0xBF), o2(0xBC,0xE5), o2(0xF9,0xFC), + o2(0xC4,0xA5), o2(0xB6,0xAF), o2(0xD7,0xBA), o2(0xC9,0xAB), + o2(0xC3,0xC6), UNDEF, +}; +static const BYTE_LOOKUP +to_EUC_JP_E5_BC = { + to_SHIFT_JIS_E5_BC_offsets, + to_EUC_JP_E5_BC_infos +}; + +static const struct byte_lookup* const +to_EUC_JP_E5_BD_infos[30] = { + o2(0xD7,0xBB), o2(0xF9,0xAC), o2(0xD7,0xBC), o2(0xB6,0xB0), + o2(0xD7,0xBD), o2(0xD7,0xBE), o2(0xD7,0xC0), o2(0xC5,0xF6), + o2(0xD7,0xC1), o2(0xD7,0xC2), o2(0xD7,0xC3), o2(0xD7,0xB4), + o2(0xD7,0xB3), o2(0xD7,0xC4), o2(0xB7,0xC1), o2(0xC9,0xA7), + o2(0xF9,0xFD), o2(0xBA,0xCC), o2(0xC9,0xB7), o2(0xC4,0xA6), + o2(0xC9,0xCB), o2(0xD7,0xC5), o2(0xBE,0xB4), o2(0xB1,0xC6), + o2(0xD7,0xC6), o2(0xD7,0xC7), o2(0xCC,0xF2), o2(0xC8,0xE0), + o2(0xD7,0xCA), UNDEF, +}; +static const BYTE_LOOKUP +to_EUC_JP_E5_BD = { + to_SHIFT_JIS_E5_BD_offsets, + to_EUC_JP_E5_BD_infos +}; + +static const struct byte_lookup* const +to_EUC_JP_E5_BE_infos[33] = { + o2(0xB1,0xFD), o2(0xC0,0xAC), o2(0xD7,0xC9), o2(0xD7,0xC8), + o2(0xB7,0xC2), o2(0xC2,0xD4), o2(0xD7,0xCE), o2(0xD7,0xCC), + o2(0xD7,0xCB), o2(0xCE,0xA7), o2(0xB8,0xE5), o2(0xBD,0xF9), + o2(0xD7,0xCD), o2(0xC5,0xCC), o2(0xBD,0xBE), o2(0xC6,0xC0), + o2(0xD7,0xD1), o2(0xD7,0xD0), o2(0xD7,0xCF), o2(0xD7,0xD2), + o2(0xB8,0xE6), o2(0xD7,0xD3), o2(0xC9,0xFC), o2(0xBD,0xDB), + o2(0xD7,0xD4), o2(0xC8,0xF9), o2(0xC6,0xC1), o2(0xC4,0xA7), + o2(0xF9,0xFE), o2(0xC5,0xB0), o2(0xD7,0xD5), o2(0xB5,0xAB), + UNDEF, +}; +static const BYTE_LOOKUP +to_EUC_JP_E5_BE = { + to_SHIFT_JIS_E5_BE_offsets, + to_EUC_JP_E5_BE_infos +}; + +static const struct byte_lookup* const +to_EUC_JP_E5_BF_infos[22] = { + o2(0xBF,0xB4), o2(0xC9,0xAC), o2(0xB4,0xF7), o2(0xC7,0xA6), + o2(0xD7,0xD6), o2(0xBB,0xD6), o2(0xCB,0xBA), o2(0xCB,0xBB), + o2(0xB1,0xFE), o2(0xD7,0xDB), o2(0xFA,0xA1), o2(0xC3,0xE9), + o2(0xD7,0xD8), o2(0xB2,0xF7), o2(0xD8,0xAD), o2(0xD7,0xDA), + o2(0xC7,0xB0), o2(0xD7,0xD9), o2(0xD7,0xD7), o2(0xB9,0xFA), + o2(0xD7,0xDD), UNDEF, +}; +static const BYTE_LOOKUP +to_EUC_JP_E5_BF = { + to_SHIFT_JIS_E5_BF_offsets, + to_EUC_JP_E5_BF_infos +}; + +static const struct byte_lookup* const +to_EUC_JP_E5_infos[64] = { + &to_EUC_JP_E5_80, &to_EUC_JP_E5_81, &to_EUC_JP_E5_82, &to_EUC_JP_E5_83, + &to_EUC_JP_E5_84, &to_EUC_JP_E5_85, &to_EUC_JP_E5_86, &to_EUC_JP_E5_87, + &to_EUC_JP_E5_88, &to_EUC_JP_E5_89, &to_EUC_JP_E5_8A, &to_EUC_JP_E5_8B, + &to_EUC_JP_E5_8C, &to_EUC_JP_E5_8D, &to_EUC_JP_E5_8E, &to_EUC_JP_E5_8F, + &to_EUC_JP_E5_90, &to_EUC_JP_E5_91, &to_EUC_JP_E5_92, &to_EUC_JP_E5_93, + &to_EUC_JP_E5_94, &to_EUC_JP_E5_95, &to_EUC_JP_E5_96, &to_EUC_JP_E5_97, + &to_EUC_JP_E5_98, &to_EUC_JP_E5_99, &to_EUC_JP_E5_9A, &to_EUC_JP_E5_9B, + &to_EUC_JP_E5_9C, &to_EUC_JP_E5_9D, &to_EUC_JP_E5_9E, &to_EUC_JP_E5_9F, + &to_EUC_JP_E5_A0, &to_EUC_JP_E5_A1, &to_EUC_JP_E5_A2, &to_EUC_JP_E5_A3, + &to_EUC_JP_E5_A4, &to_EUC_JP_E5_A5, &to_EUC_JP_E5_A6, &to_EUC_JP_E5_A7, + &to_EUC_JP_E5_A8, &to_EUC_JP_E5_A9, &to_EUC_JP_E5_AA, &to_EUC_JP_E5_AB, + &to_EUC_JP_E5_AC, &to_EUC_JP_E5_AD, &to_EUC_JP_E5_AE, &to_EUC_JP_E5_AF, + &to_EUC_JP_E5_B0, &to_EUC_JP_E5_B1, &to_EUC_JP_E5_B2, &to_EUC_JP_E5_B3, + &to_EUC_JP_E5_B4, &to_EUC_JP_E5_B5, &to_EUC_JP_E5_B6, &to_EUC_JP_E5_B7, + &to_EUC_JP_E5_B8, &to_EUC_JP_E5_B9, &to_EUC_JP_E5_BA, &to_EUC_JP_E5_BB, + &to_EUC_JP_E5_BC, &to_EUC_JP_E5_BD, &to_EUC_JP_E5_BE, &to_EUC_JP_E5_BF, +}; +static const BYTE_LOOKUP +to_EUC_JP_E5 = { + to_SHIFT_JIS_E5_offsets, + to_EUC_JP_E5_infos +}; + +static const struct byte_lookup* const +to_EUC_JP_E6_80_infos[23] = { + o2(0xD7,0xE3), o2(0xD7,0xE9), o2(0xD7,0xE1), o2(0xC5,0xDC), + o2(0xD7,0xE6), o2(0xC9,0xDD), o2(0xD7,0xE0), o2(0xD7,0xE5), + o2(0xCE,0xE7), o2(0xBB,0xD7), o2(0xC2,0xD5), o2(0xD7,0xDE), + o2(0xB5,0xDE), o2(0xD7,0xE8), o2(0xC0,0xAD), o2(0xB1,0xE5), + o2(0xD7,0xE2), o2(0xB2,0xF8), o2(0xD7,0xE7), o2(0xB6,0xB1), + o2(0xD7,0xE4), o2(0xD7,0xEA), UNDEF, +}; +static const BYTE_LOOKUP +to_EUC_JP_E6_80 = { + to_SHIFT_JIS_E6_80_offsets, + to_EUC_JP_E6_80_infos +}; + +static const struct byte_lookup* const +to_EUC_JP_E6_81_infos[30] = { + o2(0xD7,0xEC), o2(0xD7,0xF6), o2(0xD7,0xF4), o2(0xD7,0xF1), + o2(0xD7,0xF0), o2(0xCE,0xF8), o2(0xD7,0xF2), o2(0xB6,0xB2), + o2(0xB9,0xB1), o2(0xBD,0xFA), o2(0xD7,0xF9), o2(0xD7,0xEB), + o2(0xFA,0xA2), o2(0xD7,0xEF), o2(0xD7,0xDF), o2(0xB2,0xFA), + o2(0xD7,0xF3), o2(0xD7,0xF5), o2(0xC3,0xD1), o2(0xBA,0xA8), + o2(0xB2,0xB8), o2(0xD7,0xED), o2(0xD7,0xF8), o2(0xD7,0xF7), + o2(0xB6,0xB3), o2(0xC2,0xA9), o2(0xB3,0xE6), o2(0xB7,0xC3), + o2(0xD7,0xEE), UNDEF, +}; +static const BYTE_LOOKUP +to_EUC_JP_E6_81 = { + to_SHIFT_JIS_E6_81_offsets, + to_EUC_JP_E6_81_infos +}; + +static const struct byte_lookup* const +to_EUC_JP_E6_82_infos[31] = { + o2(0xD7,0xFA), o2(0xD7,0xFD), o2(0xD8,0xA1), o2(0xFA,0xA3), + o2(0xBC,0xBD), o2(0xFA,0xA4), o2(0xD8,0xA7), o2(0xC4,0xF0), + o2(0xD7,0xFB), o2(0xD8,0xA5), o2(0xB2,0xF9), o2(0xD8,0xA3), + o2(0xD8,0xA4), o2(0xD7,0xFE), o2(0xD8,0xA2), o2(0xB8,0xE7), + o2(0xCD,0xAA), o2(0xB4,0xB5), o2(0xB1,0xD9), o2(0xD8,0xA6), + o2(0xC7,0xBA), o2(0xB0,0xAD), o2(0xC8,0xE1), o2(0xD7,0xDC), + o2(0xD8,0xAC), o2(0xD8,0xB0), o2(0xCC,0xE5), o2(0xD8,0xA9), + o2(0xC5,0xE9), o2(0xD8,0xAE), UNDEF, +}; +static const BYTE_LOOKUP +to_EUC_JP_E6_82 = { + to_SHIFT_JIS_E6_82_offsets, + to_EUC_JP_E6_82_infos +}; + +static const struct byte_lookup* const +to_EUC_JP_E6_83_infos[27] = { + o2(0xBE,0xF0), o2(0xD8,0xAF), o2(0xC6,0xD7), o2(0xCF,0xC7), + o2(0xD8,0xAB), o2(0xFA,0xA6), o2(0xD8,0xB1), o2(0xB9,0xFB), + o2(0xC0,0xCB), o2(0xFA,0xA5), o2(0xB0,0xD4), o2(0xD8,0xAA), + o2(0xD8,0xA8), o2(0xC1,0xDA), o2(0xD7,0xFC), o2(0xBB,0xB4), + o2(0xC2,0xC6), o2(0xD8,0xBD), o2(0xFA,0xA8), o2(0xC1,0xDB), + o2(0xD8,0xB8), o2(0xD8,0xB5), o2(0xD8,0xB6), o2(0xBC,0xE6), + o2(0xD8,0xB9), o2(0xD8,0xBC), UNDEF, +}; +static const BYTE_LOOKUP +to_EUC_JP_E6_83 = { + to_SHIFT_JIS_E6_83_offsets, + to_EUC_JP_E6_83_infos +}; + +static const struct byte_lookup* const +to_EUC_JP_E6_84_infos[27] = { + o2(0xD8,0xB7), o2(0xBD,0xA5), o2(0xD8,0xBA), o2(0xD8,0xB4), + o2(0xCC,0xFC), o2(0xCC,0xFB), o2(0xD8,0xBE), o2(0xD8,0xBF), + o2(0xB0,0xD5), o2(0xFA,0xA9), o2(0xD8,0xB3), o2(0xB6,0xF2), + o2(0xB0,0xA6), o2(0xB4,0xB6), o2(0xFA,0xA7), o2(0xD8,0xBB), + o2(0xD8,0xC3), o2(0xD8,0xC2), o2(0xD8,0xC7), o2(0xFA,0xAB), + o2(0xD8,0xC8), o2(0xFA,0xAA), o2(0xD8,0xC6), o2(0xD8,0xC9), + o2(0xD8,0xC1), o2(0xD8,0xC5), UNDEF, +}; +static const BYTE_LOOKUP +to_EUC_JP_E6_84 = { + to_SHIFT_JIS_E6_84_offsets, + to_EUC_JP_E6_84_infos +}; + +static const struct byte_lookup* const +to_EUC_JP_E6_85_infos[33] = { + o2(0xD8,0xCA), o2(0xD8,0xCB), o2(0xD8,0xC0), o2(0xBB,0xFC), + o2(0xD8,0xC4), o2(0xC2,0xD6), o2(0xB9,0xB2), o2(0xD8,0xB2), + o2(0xBF,0xB5), o2(0xD8,0xD8), o2(0xCA,0xE9), o2(0xD8,0xCE), + o2(0xD8,0xCF), o2(0xD8,0xD0), o2(0xD8,0xD7), o2(0xD8,0xD6), + o2(0xCB,0xFD), o2(0xB4,0xB7), o2(0xD8,0xD4), o2(0xB7,0xC5), + o2(0xB3,0xB4), o2(0xD8,0xD1), o2(0xCE,0xB8), o2(0xD8,0xD3), + o2(0xB0,0xD6), o2(0xD8,0xD5), o2(0xD8,0xCC), o2(0xD8,0xD2), + o2(0xD8,0xD9), o2(0xB7,0xC4), o2(0xD8,0xCD), o2(0xCD,0xDD), + UNDEF, +}; +static const BYTE_LOOKUP +to_EUC_JP_E6_85 = { + to_SHIFT_JIS_E6_85_offsets, + to_EUC_JP_E6_85_infos +}; + +static const struct byte_lookup* const +to_EUC_JP_E6_86_infos[22] = { + o2(0xCD,0xAB), o2(0xD8,0xDC), o2(0xD8,0xE0), o2(0xC1,0xFE), + o2(0xCE,0xF9), o2(0xD8,0xE1), o2(0xD8,0xDE), o2(0xD8,0xDB), + o2(0xFA,0xAC), o2(0xD8,0xDA), o2(0xD8,0xDF), o2(0xCA,0xB0), + o2(0xC6,0xB4), o2(0xB7,0xC6), o2(0xD8,0xE2), o2(0xD8,0xDD), + o2(0xD8,0xE3), o2(0xB7,0xFB), o2(0xB2,0xB1), o2(0xD8,0xEB), + o2(0xB4,0xB8), UNDEF, +}; +static const BYTE_LOOKUP +to_EUC_JP_E6_86 = { + to_SHIFT_JIS_E6_86_offsets, + to_EUC_JP_E6_86_infos +}; + +static const struct byte_lookup* const +to_EUC_JP_E6_87_infos[23] = { + o2(0xD8,0xE9), o2(0xD8,0xEA), o2(0xBA,0xA9), o2(0xD8,0xE8), + o2(0xD8,0xE6), o2(0xD8,0xE5), o2(0xD8,0xEC), o2(0xD8,0xE4), + o2(0xD8,0xEE), o2(0xB2,0xFB), o2(0xD8,0xF0), o2(0xD8,0xEF), + o2(0xC4,0xA8), o2(0xD8,0xF3), o2(0xD8,0xF1), o2(0xD8,0xE7), + o2(0xB7,0xFC), o2(0xD8,0xF2), o2(0xD8,0xF6), o2(0xD8,0xF5), + o2(0xD8,0xF7), o2(0xD8,0xF4), UNDEF, +}; +static const BYTE_LOOKUP +to_EUC_JP_E6_87 = { + to_SHIFT_JIS_E6_87_offsets, + to_EUC_JP_E6_87_infos +}; + +static const struct byte_lookup* const +to_EUC_JP_E6_88_infos[31] = { + o2(0xD8,0xF8), o2(0xD8,0xF9), o2(0xD8,0xFA), o2(0xCA,0xEA), + o2(0xD8,0xFC), o2(0xD8,0xFB), o2(0xBD,0xBF), o2(0xC0,0xAE), + o2(0xB2,0xE6), o2(0xB2,0xFC), o2(0xFA,0xAD), o2(0xD8,0xFD), + o2(0xB0,0xBF), o2(0xC0,0xCC), o2(0xD8,0xFE), o2(0xEC,0xC3), + o2(0xD9,0xA1), o2(0xB7,0xE1), o2(0xD9,0xA2), o2(0xC0,0xEF), + o2(0xD9,0xA3), o2(0xD9,0xA4), o2(0xB5,0xBA), o2(0xD9,0xA5), + o2(0xD9,0xA6), o2(0xD9,0xA7), o2(0xC2,0xD7), o2(0xB8,0xCD), + o2(0xCC,0xE1), o2(0xCB,0xBC), UNDEF, +}; +static const BYTE_LOOKUP +to_EUC_JP_E6_88 = { + to_SHIFT_JIS_E6_88_offsets, + to_EUC_JP_E6_88_infos +}; + +static const struct byte_lookup* const +to_EUC_JP_E6_89_infos[24] = { + o2(0xBD,0xEA), o2(0xD9,0xA8), o2(0xC0,0xF0), o2(0xEE,0xBD), + o2(0xC8,0xE2), o2(0xBC,0xEA), o2(0xBA,0xCD), o2(0xD9,0xA9), + o2(0xC2,0xC7), o2(0xCA,0xA7), o2(0xC2,0xF1), o2(0xD9,0xAC), + o2(0xD9,0xAA), o2(0xD9,0xAD), o2(0xD9,0xAB), o2(0xD9,0xAE), + o2(0xCA,0xB1), o2(0xB0,0xB7), o2(0xC9,0xDE), o2(0xC8,0xE3), + o2(0xD9,0xAF), o2(0xD9,0xB2), o2(0xBE,0xB5), UNDEF, +}; +static const BYTE_LOOKUP +to_EUC_JP_E6_89 = { + to_SHIFT_JIS_E6_89_offsets, + to_EUC_JP_E6_89_infos +}; + +static const struct byte_lookup* const +to_EUC_JP_E6_8A_infos[27] = { + o2(0xB5,0xBB), o2(0xD9,0xB0), o2(0xD9,0xB7), o2(0xBE,0xB6), + o2(0xD9,0xB1), o2(0xC7,0xC4), o2(0xCD,0xDE), o2(0xD9,0xB3), + o2(0xD9,0xB4), o2(0xD9,0xB8), o2(0xC5,0xEA), o2(0xD9,0xB5), + o2(0xB9,0xB3), o2(0xC0,0xDE), o2(0xD9,0xC6), o2(0xC8,0xB4), + o2(0xC2,0xF2), o2(0xFA,0xAE), o2(0xC8,0xE4), o2(0xDA,0xAD), + o2(0xCA,0xFA), o2(0xC4,0xF1), o2(0xCB,0xF5), o2(0xD9,0xBB), + o2(0xB2,0xA1), o2(0xC3,0xEA), UNDEF, +}; +static const BYTE_LOOKUP +to_EUC_JP_E6_8A = { + to_SHIFT_JIS_E6_8A_offsets, + to_EUC_JP_E6_8A_infos +}; + +static const struct byte_lookup* const +to_EUC_JP_E6_8B_infos[35] = { + o2(0xD9,0xC4), o2(0xC3,0xB4), o2(0xD9,0xBE), o2(0xD9,0xC5), + o2(0xD9,0xC0), o2(0xD9,0xC7), o2(0xD9,0xC3), o2(0xD9,0xC2), + o2(0xC7,0xEF), o2(0xD9,0xBC), o2(0xB2,0xFD), o2(0xD9,0xBA), + o2(0xB5,0xF1), o2(0xC2,0xF3), o2(0xD9,0xB6), o2(0xD9,0xB9), + o2(0xB9,0xB4), o2(0xC0,0xDB), o2(0xBE,0xB7), o2(0xD9,0xC1), + o2(0xC7,0xD2), o2(0xB5,0xF2), o2(0xB3,0xC8), o2(0xB3,0xE7), + o2(0xBF,0xA1), o2(0xD9,0xC9), o2(0xD9,0xCE), o2(0xD9,0xCA), + o2(0xB7,0xFD), o2(0xD9,0xCF), o2(0xBB,0xA2), o2(0xB9,0xE9), + o2(0xBD,0xA6), o2(0xD9,0xBD), UNDEF, +}; +static const BYTE_LOOKUP +to_EUC_JP_E6_8B = { + to_SHIFT_JIS_E6_8B_offsets, + to_EUC_JP_E6_8B_infos +}; + +static const struct byte_lookup* const +to_EUC_JP_E6_8C_infos[18] = { + o2(0xBB,0xFD), o2(0xD9,0xCC), o2(0xBB,0xD8), o2(0xD9,0xCD), + o2(0xB0,0xC4), o2(0xD9,0xC8), o2(0xC4,0xA9), o2(0xB5,0xF3), + o2(0xB6,0xB4), o2(0xD9,0xCB), o2(0xB0,0xA7), o2(0xBA,0xC3), + o2(0xBF,0xB6), o2(0xC4,0xF2), o2(0xC8,0xD4), o2(0xD9,0xD1), + o2(0xC1,0xDE), UNDEF, +}; +static const BYTE_LOOKUP +to_EUC_JP_E6_8C = { + to_SHIFT_JIS_E6_8C_offsets, + to_EUC_JP_E6_8C_infos +}; + +static const struct byte_lookup* const +to_EUC_JP_E6_8D_infos[19] = { + o2(0xC2,0xAA), o2(0xBB,0xAB), o2(0xD9,0xD2), o2(0xD9,0xD4), + o2(0xD9,0xD0), o2(0xCA,0xE1), o2(0xC4,0xBD), o2(0xC1,0xDC), + o2(0xCA,0xFB), o2(0xBC,0xCE), o2(0xD9,0xE0), o2(0xD9,0xDF), + o2(0xBF,0xF8), o2(0xB7,0xFE), o2(0xD9,0xD9), o2(0xBE,0xB9), + o2(0xC6,0xE8), o2(0xC7,0xB1), UNDEF, +}; +static const BYTE_LOOKUP +to_EUC_JP_E6_8D = { + to_SHIFT_JIS_E6_8D_offsets, + to_EUC_JP_E6_8D_infos +}; + +static const struct byte_lookup* const +to_EUC_JP_E6_8E_infos[29] = { + o2(0xD9,0xD7), o2(0xC1,0xDD), o2(0xBC,0xF8), o2(0xD9,0xDC), + o2(0xBE,0xB8), o2(0xD9,0xD6), o2(0xD9,0xDB), o2(0xC7,0xD3), + o2(0xD9,0xD5), o2(0xB7,0xA1), o2(0xB3,0xDD), o2(0xD9,0xDD), + o2(0xCE,0xAB), o2(0xBA,0xCE), o2(0xC3,0xB5), o2(0xD9,0xDA), + o2(0xC0,0xDC), o2(0xB9,0xB5), o2(0xBF,0xE4), o2(0xB1,0xE6), + o2(0xC1,0xBC), o2(0xD9,0xD8), o2(0xB5,0xC5), o2(0xB7,0xC7), + o2(0xC4,0xCF), o2(0xD9,0xDE), o2(0xC1,0xDF), o2(0xD9,0xE1), + UNDEF, +}; +static const BYTE_LOOKUP +to_EUC_JP_E6_8E = { + to_SHIFT_JIS_E6_8E_offsets, + to_EUC_JP_E6_8E_infos +}; + +static const struct byte_lookup* const +to_EUC_JP_E6_8F_infos[20] = { + o2(0xD9,0xE3), o2(0xC2,0xB7), o2(0xD9,0xE9), o2(0xD9,0xE4), + o2(0xD9,0xE6), o2(0xC9,0xC1), o2(0xC4,0xF3), o2(0xD9,0xE7), + o2(0xCD,0xAC), o2(0xCD,0xC8), o2(0xB4,0xB9), o2(0xB0,0xAE), + o2(0xD9,0xE5), o2(0xD9,0xE2), o2(0xB4,0xF8), o2(0xB1,0xE7), + o2(0xFA,0xAF), o2(0xD9,0xE8), o2(0xCD,0xC9), UNDEF, +}; +static const BYTE_LOOKUP +to_EUC_JP_E6_8F = { + to_SHIFT_JIS_E6_8F_offsets, + to_EUC_JP_E6_8F_infos +}; + +static const struct byte_lookup* const +to_EUC_JP_E6_90_infos[16] = { + o2(0xD9,0xEC), o2(0xC2,0xBB), o2(0xD9,0xF3), o2(0xD9,0xED), + o2(0xD9,0xEA), o2(0xD9,0xF1), o2(0xD9,0xD3), o2(0xD9,0xEE), + o2(0xD9,0xF2), o2(0xC8,0xC2), o2(0xC5,0xEB), o2(0xD9,0xEB), + o2(0xD9,0xEF), o2(0xB7,0xC8), o2(0xBA,0xF1), UNDEF, +}; +static const BYTE_LOOKUP +to_EUC_JP_E6_90 = { + to_SHIFT_JIS_E6_90_offsets, + to_EUC_JP_E6_90_infos +}; + +static const struct byte_lookup* const +to_EUC_JP_E6_91_infos[11] = { + o2(0xC0,0xDD), o2(0xD9,0xF7), o2(0xC5,0xA6), o2(0xFA,0xB0), + o2(0xD9,0xF4), o2(0xCB,0xE0), o2(0xD9,0xF5), o2(0xD9,0xF6), + o2(0xCC,0xCE), o2(0xC0,0xA2), UNDEF, +}; +static const BYTE_LOOKUP +to_EUC_JP_E6_91 = { + to_SHIFT_JIS_E6_91_offsets, + to_EUC_JP_E6_91_infos +}; + +static const struct byte_lookup* const +to_EUC_JP_E6_92_infos[20] = { + o2(0xB7,0xE2), o2(0xD9,0xFD), o2(0xBB,0xB5), o2(0xD9,0xFA), + o2(0xD9,0xF9), o2(0xC7,0xB2), o2(0xFA,0xB1), o2(0xC6,0xB5), + o2(0xC5,0xB1), o2(0xD9,0xFB), o2(0xD9,0xFC), o2(0xC9,0xEF), + o2(0xC7,0xC5), o2(0xBB,0xA3), o2(0xC0,0xF1), o2(0xCB,0xD0), + o2(0xB3,0xC9), o2(0xDA,0xA5), o2(0xD9,0xFE), UNDEF, +}; +static const BYTE_LOOKUP +to_EUC_JP_E6_92 = { + to_SHIFT_JIS_E6_92_offsets, + to_EUC_JP_E6_92_infos +}; + +static const struct byte_lookup* const +to_EUC_JP_E6_93_infos[26] = { + o2(0xCD,0xCA), o2(0xDA,0xA7), o2(0xDA,0xA3), o2(0xDA,0xA4), + o2(0xC1,0xE0), o2(0xFA,0xB2), o2(0xDA,0xA2), o2(0xD9,0xBF), + o2(0xDA,0xA6), o2(0xDA,0xA1), o2(0xDA,0xAB), o2(0xDA,0xAC), + o2(0xC5,0xA7), o2(0xDA,0xAE), o2(0xBB,0xA4), o2(0xDA,0xA9), + o2(0xB5,0xBC), o2(0xDA,0xAF), o2(0xDA,0xA8), o2(0xDA,0xB3), + o2(0xDA,0xB2), o2(0xDA,0xB1), o2(0xDA,0xB4), o2(0xDA,0xB6), + o2(0xBE,0xF1), UNDEF, +}; +static const BYTE_LOOKUP +to_EUC_JP_E6_93 = { + to_SHIFT_JIS_E6_93_offsets, + to_EUC_JP_E6_93_infos +}; + +static const struct byte_lookup* const +to_EUC_JP_E6_94_infos[21] = { + o2(0xDA,0xB5), o2(0xDA,0xB9), o2(0xDA,0xB7), o2(0xDA,0xB8), + o2(0xD9,0xF0), o2(0xDA,0xBB), o2(0xDA,0xBA), o2(0xD9,0xF8), + o2(0xDA,0xBC), o2(0xDA,0xB0), o2(0xBB,0xD9), o2(0xDA,0xBD), + o2(0xDA,0xBE), o2(0xDA,0xC0), o2(0xDA,0xBF), o2(0xDA,0xC1), + o2(0xB2,0xFE), o2(0xB9,0xB6), o2(0xCA,0xFC), o2(0xC0,0xAF), + UNDEF, +}; +static const BYTE_LOOKUP +to_EUC_JP_E6_94 = { + to_SHIFT_JIS_E6_94_offsets, + to_EUC_JP_E6_94_infos +}; + +static const struct byte_lookup* const +to_EUC_JP_E6_95_infos[24] = { + o2(0xB8,0xCE), o2(0xDA,0xC3), o2(0xDA,0xC6), o2(0xFA,0xB3), + o2(0xC9,0xD2), o2(0xB5,0xDF), o2(0xDA,0xC5), o2(0xDA,0xC4), + o2(0xC7,0xD4), o2(0xDA,0xC7), o2(0xB6,0xB5), o2(0xDA,0xC9), + o2(0xDA,0xC8), o2(0xB4,0xBA), o2(0xBB,0xB6), o2(0xC6,0xD8), + o2(0xB7,0xC9), o2(0xBF,0xF4), o2(0xDA,0xCA), o2(0xC0,0xB0), + o2(0xC5,0xA8), o2(0xC9,0xDF), o2(0xDA,0xCB), UNDEF, +}; +static const BYTE_LOOKUP +to_EUC_JP_E6_95 = { + to_SHIFT_JIS_E6_95_offsets, + to_EUC_JP_E6_95_infos +}; + +static const struct byte_lookup* const +to_EUC_JP_E6_96_infos[28] = { + o2(0xDA,0xCC), o2(0xDA,0xCD), o2(0xCA,0xB8), o2(0xD5,0xDD), + o2(0xC0,0xC6), o2(0xC9,0xCC), o2(0xBA,0xD8), o2(0xC8,0xE5), + o2(0xC8,0xC3), o2(0xC5,0xCD), o2(0xCE,0xC1), o2(0xDA,0xCF), + o2(0xBC,0xD0), o2(0xDA,0xD0), o2(0xB0,0xB6), o2(0xB6,0xD4), + o2(0xC0,0xCD), o2(0xC9,0xE0), o2(0xDA,0xD1), o2(0xBB,0xC2), + o2(0xC3,0xC7), o2(0xBB,0xDB), o2(0xBF,0xB7), o2(0xDA,0xD2), + o2(0xCA,0xFD), o2(0xB1,0xF7), o2(0xBB,0xDC), UNDEF, +}; +static const BYTE_LOOKUP +to_EUC_JP_E6_96 = { + to_SHIFT_JIS_E6_96_offsets, + to_EUC_JP_E6_96_infos +}; + +static const struct byte_lookup* const +to_EUC_JP_E6_97_infos[26] = { + o2(0xDA,0xD5), o2(0xDA,0xD3), o2(0xDA,0xD6), o2(0xCE,0xB9), + o2(0xDA,0xD4), o2(0xC0,0xFB), o2(0xDA,0xD7), o2(0xC2,0xB2), + o2(0xDA,0xD8), o2(0xB4,0xFA), o2(0xDA,0xDA), o2(0xDA,0xD9), + o2(0xDA,0xDB), o2(0xDA,0xDC), o2(0xB4,0xFB), o2(0xC6,0xFC), + o2(0xC3,0xB6), o2(0xB5,0xEC), o2(0xBB,0xDD), o2(0xC1,0xE1), + o2(0xBD,0xDC), o2(0xB0,0xB0), o2(0xDA,0xDD), o2(0xB2,0xA2), + o2(0xDA,0xE1), UNDEF, +}; +static const BYTE_LOOKUP +to_EUC_JP_E6_97 = { + to_SHIFT_JIS_E6_97_offsets, + to_EUC_JP_E6_97_infos +}; + +static const struct byte_lookup* const +to_EUC_JP_E6_98_infos[32] = { + o2(0xFA,0xB4), o2(0xB9,0xB7), o2(0xDA,0xE0), o2(0xBA,0xAB), + o2(0xBE,0xBA), o2(0xFA,0xB7), o2(0xDA,0xDF), o2(0xBE,0xBB), + o2(0xCC,0xC0), o2(0xBA,0xAA), o2(0xB0,0xD7), o2(0xC0,0xCE), + o2(0xFA,0xB5), o2(0xDA,0xE6), o2(0xFA,0xB9), o2(0xC0,0xB1), + o2(0xB1,0xC7), o2(0xFA,0xBA), o2(0xBD,0xD5), o2(0xCB,0xE6), + o2(0xBA,0xF2), o2(0xBE,0xBC), o2(0xFA,0xB8), o2(0xC0,0xA7), + o2(0xF9,0xA8), o2(0xDA,0xE5), o2(0xDA,0xE3), o2(0xDA,0xE4), + o2(0xFA,0xB6), o2(0xC3,0xEB), o2(0xDB,0xA6), UNDEF, +}; +static const BYTE_LOOKUP +to_EUC_JP_E6_98 = { + to_SHIFT_JIS_E6_98_offsets, + to_EUC_JP_E6_98_infos +}; + +static const struct byte_lookup* const +to_EUC_JP_E6_99_infos[28] = { + o2(0xDA,0xEA), o2(0xBB,0xFE), o2(0xB9,0xB8), o2(0xDA,0xE8), + o2(0xDA,0xE9), o2(0xBF,0xB8), o2(0xDA,0xE7), o2(0xBB,0xAF), + o2(0xFA,0xBC), o2(0xFA,0xBD), o2(0xDA,0xEC), o2(0xDA,0xEB), + o2(0xDA,0xF0), o2(0xDA,0xF1), o2(0xDA,0xED), o2(0xFA,0xBB), + o2(0xB3,0xA2), o2(0xDA,0xEE), o2(0xDA,0xEF), o2(0xC8,0xD5), + o2(0xC9,0xE1), o2(0xB7,0xCA), o2(0xDA,0xF2), o2(0xFA,0xBF), + o2(0xC0,0xB2), o2(0xBE,0xBD), o2(0xC3,0xD2), UNDEF, +}; +static const BYTE_LOOKUP +to_EUC_JP_E6_99 = { + to_SHIFT_JIS_E6_99_offsets, + to_EUC_JP_E6_99_infos +}; + +static const struct byte_lookup* const +to_EUC_JP_E6_9A_infos[26] = { + o2(0xB6,0xC7), o2(0xDA,0xF3), o2(0xDA,0xF7), o2(0xB2,0xCB), + o2(0xDA,0xF4), o2(0xDA,0xF6), o2(0xDA,0xF5), o2(0xBD,0xEB), + o2(0xC3,0xC8), o2(0xB0,0xC5), o2(0xDA,0xF8), o2(0xFA,0xC0), + o2(0xDA,0xF9), o2(0xFA,0xC1), o2(0xC4,0xAA), o2(0xCE,0xF1), + o2(0xBB,0xC3), o2(0xCA,0xEB), o2(0xFA,0xC2), o2(0xCB,0xBD), + o2(0xDB,0xA2), o2(0xDA,0xFB), o2(0xDA,0xFE), o2(0xDA,0xFD), + o2(0xFA,0xC3), UNDEF, +}; +static const BYTE_LOOKUP +to_EUC_JP_E6_9A = { + to_SHIFT_JIS_E6_9A_offsets, + to_EUC_JP_E6_9A_infos +}; + +static const struct byte_lookup* const +to_EUC_JP_E6_9B_infos[27] = { + o2(0xDA,0xFA), o2(0xDB,0xA1), o2(0xC6,0xDE), o2(0xDA,0xFC), + o2(0xDB,0xA3), o2(0xBD,0xEC), o2(0xDB,0xA4), o2(0xCD,0xCB), + o2(0xC7,0xF8), o2(0xDB,0xA5), o2(0xDB,0xA7), o2(0xDB,0xA8), + o2(0xDB,0xA9), o2(0xB6,0xCA), o2(0xB1,0xC8), o2(0xB9,0xB9), + o2(0xDB,0xAA), o2(0xDB,0xAB), o2(0xBD,0xF1), o2(0xC1,0xE2), + o2(0xFA,0xC4), o2(0xF9,0xAB), o2(0xD2,0xD8), o2(0xC1,0xBE), + o2(0xC1,0xBD), o2(0xC2,0xD8), UNDEF, +}; +static const BYTE_LOOKUP +to_EUC_JP_E6_9B = { + to_SHIFT_JIS_E6_9B_offsets, + to_EUC_JP_E6_9B_infos +}; + +static const struct byte_lookup* const +to_EUC_JP_E6_9C_infos[33] = { + o2(0xBA,0xC7), o2(0xD0,0xF2), o2(0xB7,0xEE), o2(0xCD,0xAD), + o2(0xCA,0xFE), o2(0xC9,0xFE), o2(0xFA,0xC5), o2(0xDB,0xAC), + o2(0xBA,0xF3), o2(0xC4,0xBF), o2(0xDB,0xAD), o2(0xCF,0xAF), + o2(0xCB,0xBE), o2(0xC4,0xAB), o2(0xDB,0xAE), o2(0xB4,0xFC), + o2(0xDB,0xAF), o2(0xDB,0xB0), o2(0xCC,0xDA), o2(0xCC,0xA4), + o2(0xCB,0xF6), o2(0xCB,0xDC), o2(0xBB,0xA5), o2(0xDB,0xB2), + o2(0xBC,0xEB), o2(0xCB,0xD1), o2(0xDB,0xB4), o2(0xDB,0xB7), + o2(0xDB,0xB6), o2(0xB4,0xF9), o2(0xB5,0xE0), o2(0xDB,0xB3), + UNDEF, +}; +static const BYTE_LOOKUP +to_EUC_JP_E6_9C = { + to_SHIFT_JIS_E6_9C_offsets, + to_EUC_JP_E6_9C_infos +}; + +static const struct byte_lookup* const +to_EUC_JP_E6_9D_infos[33] = { + o2(0xDB,0xB5), o2(0xDB,0xB8), o2(0xBF,0xF9), o2(0xCD,0xFB), + o2(0xB0,0xC9), o2(0xBA,0xE0), o2(0xC2,0xBC), o2(0xBC,0xDD), + o2(0xBE,0xF3), o2(0xDB,0xBB), o2(0xC5,0xCE), o2(0xDB,0xB9), + o2(0xC2,0xAB), o2(0xDB,0xBA), o2(0xBE,0xF2), o2(0xCC,0xDD), + o2(0xDB,0xBC), o2(0xDB,0xBD), o2(0xCD,0xE8), o2(0xFA,0xC7), + o2(0xDB,0xC2), o2(0xB9,0xBA), o2(0xC7,0xD5), o2(0xDB,0xBF), + o2(0xC5,0xEC), o2(0xDA,0xDE), o2(0xDA,0xE2), o2(0xB5,0xCF), + o2(0xC7,0xC7), o2(0xDB,0xC1), o2(0xBE,0xBE), o2(0xC8,0xC4), + UNDEF, +}; +static const BYTE_LOOKUP +to_EUC_JP_E6_9D = { + to_SHIFT_JIS_E6_9D_offsets, + to_EUC_JP_E6_9D_infos +}; + +static const struct byte_lookup* const +to_EUC_JP_E6_9E_infos[25] = { + o2(0xDB,0xC7), o2(0xC8,0xFA), o2(0xDB,0xBE), o2(0xDB,0xC4), + o2(0xDB,0xC3), o2(0xC0,0xCF), o2(0xCB,0xED), o2(0xCE,0xD3), + o2(0xCB,0xE7), o2(0xB2,0xCC), o2(0xBB,0xDE), o2(0xCF,0xC8), + o2(0xDB,0xC6), o2(0xBF,0xF5), o2(0xDB,0xC5), o2(0xDB,0xC0), + o2(0xB8,0xCF), o2(0xDB,0xCC), o2(0xDB,0xCA), o2(0xB2,0xCD), + o2(0xDB,0xC8), o2(0xDB,0xCE), o2(0xDB,0xD4), o2(0xFA,0xC8), + UNDEF, +}; +static const BYTE_LOOKUP +to_EUC_JP_E6_9E = { + to_SHIFT_JIS_E6_9E_offsets, + to_EUC_JP_E6_9E_infos +}; + +static const struct byte_lookup* const +to_EUC_JP_E6_9F_infos[30] = { + o2(0xFA,0xCA), o2(0xC2,0xC8), o2(0xCA,0xC1), o2(0xDB,0xD6), + o2(0xC9,0xA2), o2(0xDB,0xD5), o2(0xC7,0xF0), o2(0xCB,0xBF), + o2(0xB4,0xBB), o2(0xC0,0xF7), o2(0xBD,0xC0), o2(0xC4,0xD3), + o2(0xCD,0xAE), o2(0xDB,0xD1), o2(0xDB,0xD0), o2(0xDB,0xD2), + o2(0xDB,0xCF), o2(0xDB,0xD7), o2(0xDB,0xCD), o2(0xDB,0xCB), + o2(0xDB,0xD3), o2(0xDB,0xC9), o2(0xC3,0xEC), o2(0xCC,0xF8), + o2(0xBC,0xC6), o2(0xBA,0xF4), o2(0xBA,0xBA), o2(0xCB,0xEF), + o2(0xB3,0xC1), UNDEF, +}; +static const BYTE_LOOKUP +to_EUC_JP_E6_9F = { + to_SHIFT_JIS_E6_9F_offsets, + to_EUC_JP_E6_9F_infos +}; + +static const struct byte_lookup* const +to_EUC_JP_E6_A0_infos[20] = { + o2(0xFA,0xCB), o2(0xC4,0xCE), o2(0xC6,0xCA), o2(0xB1,0xC9), + o2(0xC0,0xF2), o2(0xC0,0xB4), o2(0xB7,0xAA), o2(0xDB,0xD9), + o2(0xB9,0xBB), o2(0xB3,0xFC), o2(0xDB,0xDB), o2(0xB3,0xF4), + o2(0xDB,0xE1), o2(0xDB,0xDE), o2(0xC0,0xF3), o2(0xB3,0xCB), + o2(0xBA,0xAC), o2(0xB3,0xCA), o2(0xBA,0xCF), UNDEF, +}; +static const BYTE_LOOKUP +to_EUC_JP_E6_A0 = { + to_SHIFT_JIS_E6_A0_offsets, + to_EUC_JP_E6_A0_infos +}; + +static const struct byte_lookup* const +to_EUC_JP_E6_A1_infos[26] = { + o2(0xDB,0xDC), o2(0xB7,0xE5), o2(0xB7,0xCB), o2(0xC5,0xED), + o2(0xFA,0xCC), o2(0xDB,0xDA), o2(0xB0,0xC6), o2(0xDB,0xDD), + o2(0xDB,0xDF), o2(0xB6,0xCD), o2(0xB7,0xAC), o2(0xFA,0xC9), + o2(0xB4,0xBC), o2(0xB5,0xCB), o2(0xDB,0xE2), o2(0xBA,0xF9), + o2(0xCB,0xF1), o2(0xBB,0xB7), o2(0xDB,0xE3), o2(0xC9,0xB0), + o2(0xDB,0xEF), o2(0xB2,0xB3), o2(0xDB,0xE4), o2(0xDB,0xF5), + o2(0xDB,0xE5), UNDEF, +}; +static const BYTE_LOOKUP +to_EUC_JP_E6_A1 = { + to_SHIFT_JIS_E6_A1_offsets, + to_EUC_JP_E6_A1_infos +}; + +static const struct byte_lookup* const +to_EUC_JP_E6_A2_infos[27] = { + o2(0xCE,0xC2), o2(0xDB,0xEC), o2(0xC7,0xDF), o2(0xDB,0xF4), + o2(0xDB,0xE7), o2(0xB0,0xB4), o2(0xDB,0xE9), o2(0xB9,0xBC), + o2(0xDB,0xEB), o2(0xDB,0xEA), o2(0xDB,0xE6), o2(0xDB,0xF1), + o2(0xBE,0xBF), o2(0xD4,0xED), o2(0xB8,0xE8), o2(0xCD,0xFC), + o2(0xDB,0xE8), o2(0xC4,0xF4), o2(0xB3,0xA3), o2(0xBA,0xAD), + o2(0xDB,0xE0), o2(0xDB,0xF0), o2(0xB3,0xE1), o2(0xDB,0xEE), + o2(0xDB,0xF2), o2(0xC5,0xEE), UNDEF, +}; +static const BYTE_LOOKUP +to_EUC_JP_E6_A2 = { + to_SHIFT_JIS_E6_A2_offsets, + to_EUC_JP_E6_A2_infos +}; + +static const struct byte_lookup* const +to_EUC_JP_E6_A3_infos[25] = { + o2(0xB4,0xFE), o2(0xDC,0xB2), o2(0xF9,0xA9), o2(0xCC,0xC9), + o2(0xDB,0xF7), o2(0xB4,0xFD), o2(0xDB,0xFE), o2(0xFA,0xCD), + o2(0xCB,0xC0), o2(0xDC,0xA1), o2(0xDC,0xA3), o2(0xDC,0xA7), + o2(0xDB,0xF9), o2(0xC3,0xAA), o2(0xC5,0xEF), o2(0xDC,0xAB), + o2(0xDB,0xFC), o2(0xDC,0xA8), o2(0xDC,0xA2), o2(0xBF,0xB9), + o2(0xDC,0xAC), o2(0xC0,0xB3), o2(0xDC,0xAA), o2(0xB4,0xBD), + UNDEF, +}; +static const BYTE_LOOKUP +to_EUC_JP_E6_A3 = { + to_SHIFT_JIS_E6_A3_offsets, + to_EUC_JP_E6_A3_infos +}; + +static const struct byte_lookup* const +to_EUC_JP_E6_A4_infos[29] = { + o2(0xCF,0xD0), o2(0xDB,0xF6), o2(0xDC,0xA6), o2(0xB0,0xD8), + o2(0xDB,0xF8), o2(0xCC,0xBA), o2(0xDB,0xFD), o2(0xBF,0xA2), + o2(0xC4,0xC7), o2(0xDB,0xF3), o2(0xDC,0xA5), o2(0xBF,0xFA), + o2(0xDC,0xAF), o2(0xB3,0xF1), o2(0xB8,0xA1), o2(0xDC,0xB1), + o2(0xDB,0xFA), o2(0xDC,0xB0), o2(0xDC,0xA9), o2(0xDB,0xFB), + o2(0xDC,0xAD), o2(0xDC,0xAE), o2(0xDC,0xBF), o2(0xC6,0xCE), + o2(0xDC,0xA4), o2(0xDC,0xBB), o2(0xDC,0xBD), o2(0xC4,0xD8), + UNDEF, +}; +static const BYTE_LOOKUP +to_EUC_JP_E6_A4 = { + to_SHIFT_JIS_E6_A4_offsets, + to_EUC_JP_E6_A4_infos +}; + +static const struct byte_lookup* const +to_EUC_JP_E6_A5_infos[28] = { + o2(0xCD,0xCC), o2(0xC9,0xF6), o2(0xDC,0xB8), o2(0xC2,0xCA), + o2(0xDC,0xBE), o2(0xC1,0xBF), o2(0xDC,0xB5), o2(0xDC,0xC2), + o2(0xDC,0xC1), o2(0xC6,0xEF), o2(0xDC,0xC0), o2(0xC6,0xEA), + o2(0xFA,0xCF), o2(0xDC,0xC4), o2(0xDC,0xB7), o2(0xB6,0xC8), + o2(0xDC,0xBA), o2(0xBD,0xDD), o2(0xC7,0xE0), o2(0xDC,0xBC), + o2(0xB6,0xCB), o2(0xDC,0xB4), o2(0xDC,0xB6), o2(0xDC,0xB3), + o2(0xCF,0xB0), o2(0xB3,0xDA), o2(0xDC,0xB9), UNDEF, +}; +static const BYTE_LOOKUP +to_EUC_JP_E6_A5 = { + to_SHIFT_JIS_E6_A5_offsets, + to_EUC_JP_E6_A5_infos +}; + +static const struct byte_lookup* const +to_EUC_JP_E6_A6_infos[20] = { + o2(0xDC,0xC3), o2(0xB3,0xB5), o2(0xBA,0xE7), o2(0xB1,0xDD), + o2(0xDC,0xD4), o2(0xCF,0xB1), o2(0xDC,0xD7), o2(0xFA,0xD1), + o2(0xBF,0xBA), o2(0xDC,0xD6), o2(0xDC,0xD5), o2(0xDC,0xD2), + o2(0xDC,0xC6), o2(0xDC,0xE3), o2(0xDC,0xC5), o2(0xDC,0xD8), + o2(0xDC,0xD0), o2(0xDC,0xCB), o2(0xDC,0xC8), UNDEF, +}; +static const BYTE_LOOKUP +to_EUC_JP_E6_A6 = { + to_SHIFT_JIS_E6_A6_offsets, + to_EUC_JP_E6_A6_infos +}; + +static const struct byte_lookup* const +to_EUC_JP_E6_A7_infos[25] = { + o2(0xDC,0xC9), o2(0xDC,0xD1), o2(0xF4,0xA2), o2(0xDC,0xCE), + o2(0xB9,0xBD), o2(0xC4,0xC8), o2(0xC1,0xE4), o2(0xDC,0xCC), + o2(0xDC,0xC7), o2(0xDC,0xCA), o2(0xCD,0xCD), o2(0xCB,0xEA), + o2(0xDC,0xCF), o2(0xDC,0xD9), o2(0xFA,0xD2), o2(0xDC,0xE1), + o2(0xDC,0xDA), o2(0xDC,0xE7), o2(0xDC,0xE5), o2(0xDC,0xE0), + o2(0xDC,0xDF), o2(0xC4,0xD0), o2(0xC1,0xE5), o2(0xDC,0xDD), + UNDEF, +}; +static const BYTE_LOOKUP +to_EUC_JP_E6_A7 = { + to_SHIFT_JIS_E6_A7_offsets, + to_EUC_JP_E6_A7_infos +}; + +static const struct byte_lookup* const +to_EUC_JP_E6_A8_infos[28] = { + o2(0xDC,0xDB), o2(0xDC,0xE2), o2(0xDC,0xE8), o2(0xC8,0xF5), + o2(0xDC,0xEE), o2(0xDC,0xE9), o2(0xDC,0xEC), o2(0xDC,0xE6), + o2(0xC3,0xF4), o2(0xC9,0xB8), o2(0xDC,0xDC), o2(0xDC,0xE4), + o2(0xBE,0xC0), o2(0xCC,0xCF), o2(0xDC,0xF8), o2(0xDC,0xEB), + o2(0xB8,0xA2), o2(0xB2,0xA3), o2(0xB3,0xDF), o2(0xDC,0xD3), + o2(0xFA,0xD3), o2(0xBE,0xC1), o2(0xDC,0xF0), o2(0xDC,0xF7), + o2(0xBC,0xF9), o2(0xB3,0xF2), o2(0xC3,0xAE), UNDEF, +}; +static const BYTE_LOOKUP +to_EUC_JP_E6_A8 = { + to_SHIFT_JIS_E6_A8_offsets, + to_EUC_JP_E6_A8_infos +}; + +static const struct byte_lookup* const +to_EUC_JP_E6_A9_infos[18] = { + o2(0xDC,0xED), o2(0xFA,0xD5), o2(0xDC,0xF2), o2(0xDC,0xF6), + o2(0xB6,0xB6), o2(0xB5,0xCC), o2(0xDC,0xF4), o2(0xB5,0xA1), + o2(0xC6,0xCB), o2(0xDC,0xF3), o2(0xDC,0xF5), o2(0xFA,0xD4), + o2(0xDC,0xEF), o2(0xFA,0xD6), o2(0xDC,0xF1), o2(0xFA,0xD7), + o2(0xB3,0xE0), UNDEF, +}; +static const BYTE_LOOKUP +to_EUC_JP_E6_A9 = { + to_SHIFT_JIS_E6_A9_offsets, + to_EUC_JP_E6_A9_infos +}; + +static const struct byte_lookup* const +to_EUC_JP_E6_AA_infos[17] = { + o2(0xC3,0xC9), o2(0xDC,0xFC), o2(0xDC,0xFA), o2(0xB8,0xE9), + o2(0xDC,0xF9), o2(0xDD,0xA1), o2(0xDB,0xD8), o2(0xDC,0xFB), + o2(0xDC,0xFD), o2(0xDC,0xFE), o2(0xDD,0xAC), o2(0xDD,0xA8), + o2(0xDB,0xED), o2(0xDD,0xA7), o2(0xDD,0xA6), o2(0xDD,0xA3), + UNDEF, +}; +static const BYTE_LOOKUP +to_EUC_JP_E6_AA = { + to_SHIFT_JIS_E6_AA_offsets, + to_EUC_JP_E6_AA_infos +}; + +static const struct byte_lookup* const +to_EUC_JP_E6_AB_infos[16] = { + o2(0xDC,0xEA), o2(0xDD,0xA5), o2(0xDD,0xA4), o2(0xDD,0xAA), + o2(0xCF,0xA6), o2(0xDD,0xAD), o2(0xB6,0xFB), o2(0xDD,0xA9), + o2(0xDD,0xAB), o2(0xFA,0xD8), o2(0xFA,0xD9), o2(0xC8,0xA7), + o2(0xDD,0xAE), o2(0xDD,0xB2), o2(0xDD,0xAF), UNDEF, +}; +static const BYTE_LOOKUP +to_EUC_JP_E6_AB = { + to_SHIFT_JIS_E6_AB_offsets, + to_EUC_JP_E6_AB_infos +}; + +static const struct byte_lookup* const +to_EUC_JP_E6_AC_infos[19] = { + o2(0xCD,0xF3), o2(0xDD,0xB0), o2(0xDC,0xDE), o2(0xDD,0xB3), + o2(0xDD,0xB4), o2(0xB1,0xB5), o2(0xDD,0xB6), o2(0xB7,0xE7), + o2(0xBC,0xA1), o2(0xB6,0xD5), o2(0xB2,0xA4), o2(0xCD,0xDF), + o2(0xDD,0xB8), o2(0xDD,0xB7), o2(0xDD,0xBA), o2(0xB5,0xBD), + o2(0xB6,0xD6), o2(0xB4,0xBE), UNDEF, +}; +static const BYTE_LOOKUP +to_EUC_JP_E6_AC = { + to_SHIFT_JIS_E6_AC_offsets, + to_EUC_JP_E6_AC_infos +}; + +static const struct byte_lookup* const +to_EUC_JP_E6_AD_infos[26] = { + o2(0xDD,0xBD), o2(0xDD,0xBC), o2(0xDD,0xBE), o2(0xB2,0xCE), + o2(0xC3,0xB7), o2(0xDD,0xBF), o2(0xB4,0xBF), o2(0xDD,0xC1), + o2(0xDD,0xC0), o2(0xDD,0xC2), o2(0xDD,0xC3), o2(0xDD,0xC4), + o2(0xBB,0xDF), o2(0xC0,0xB5), o2(0xBA,0xA1), o2(0xC9,0xF0), + o2(0xCA,0xE2), o2(0xCF,0xC4), o2(0xBB,0xF5), o2(0xBA,0xD0), + o2(0xCE,0xF2), o2(0xDD,0xC5), o2(0xDD,0xC6), o2(0xBB,0xE0), + o2(0xDD,0xC7), UNDEF, +}; +static const BYTE_LOOKUP +to_EUC_JP_E6_AD = { + to_SHIFT_JIS_E6_AD_offsets, + to_EUC_JP_E6_AD_infos +}; + +static const struct byte_lookup* const +to_EUC_JP_E6_AE_infos[27] = { + o2(0xDD,0xC8), o2(0xDD,0xCA), o2(0xDD,0xC9), o2(0xCB,0xD8), + o2(0xBD,0xDE), o2(0xBC,0xEC), o2(0xBB,0xC4), o2(0xDD,0xCB), + o2(0xDD,0xCD), o2(0xBF,0xA3), o2(0xDD,0xCC), o2(0xDD,0xCE), + o2(0xDD,0xCF), o2(0xDD,0xD0), o2(0xDD,0xD1), o2(0xDD,0xD2), + o2(0xDD,0xD4), o2(0xDD,0xD3), o2(0xDD,0xD5), o2(0xB2,0xA5), + o2(0xC3,0xCA), o2(0xDD,0xD6), o2(0xBB,0xA6), o2(0xB3,0xCC), + o2(0xDD,0xD7), o2(0xC5,0xC2), UNDEF, +}; +static const BYTE_LOOKUP +to_EUC_JP_E6_AE = { + to_SHIFT_JIS_E6_AE_offsets, + to_EUC_JP_E6_AE_infos +}; + +static const struct byte_lookup* const +to_EUC_JP_E6_AF_infos[18] = { + o2(0xD4,0xCC), o2(0xB5,0xA3), o2(0xDD,0xD8), o2(0xDD,0xD9), + o2(0xCA,0xEC), o2(0xCB,0xE8), o2(0xC6,0xC7), o2(0xDD,0xDA), + o2(0xC8,0xE6), o2(0xFA,0xDA), o2(0xC8,0xFB), o2(0xCC,0xD3), + o2(0xDD,0xDB), o2(0xDD,0xDD), o2(0xDD,0xDC), o2(0xDD,0xDF), + o2(0xDD,0xDE), UNDEF, +}; +static const BYTE_LOOKUP +to_EUC_JP_E6_AF = { + to_SHIFT_JIS_E6_AF_offsets, + to_EUC_JP_E6_AF_infos +}; + +static const struct byte_lookup* const +to_EUC_JP_E6_B0_infos[15] = { + o2(0xDD,0xE1), o2(0xBB,0xE1), o2(0xCC,0xB1), o2(0xDD,0xE2), + o2(0xDD,0xE3), o2(0xB5,0xA4), o2(0xDD,0xE4), o2(0xDD,0xE6), + o2(0xDD,0xE5), o2(0xBF,0xE5), o2(0xC9,0xB9), o2(0xB1,0xCA), + o2(0xC8,0xC5), o2(0xFA,0xDB), UNDEF, +}; +static const BYTE_LOOKUP +to_EUC_JP_E6_B0 = { + to_SHIFT_JIS_E6_B0_offsets, + to_EUC_JP_E6_B0_infos +}; + +static const struct byte_lookup* const +to_EUC_JP_E6_B1_infos[24] = { + o2(0xC4,0xF5), o2(0xBD,0xC1), o2(0xB5,0xE1), o2(0xC8,0xC6), + o2(0xBC,0xAE), o2(0xDD,0xE8), o2(0xB4,0xC0), o2(0xB1,0xF8), + o2(0xFA,0xDC), o2(0xC6,0xF2), o2(0xDD,0xE7), o2(0xB9,0xBE), + o2(0xC3,0xD3), o2(0xDD,0xE9), o2(0xDD,0xF1), o2(0xDD,0xEA), + o2(0xFA,0xDE), o2(0xC2,0xC1), o2(0xB5,0xE2), o2(0xDD,0xF2), + o2(0xB7,0xE8), o2(0xB5,0xA5), o2(0xDD,0xF0), UNDEF, +}; +static const BYTE_LOOKUP +to_EUC_JP_E6_B1 = { + to_SHIFT_JIS_E6_B1_offsets, + to_EUC_JP_E6_B1_infos +}; + +static const struct byte_lookup* const +to_EUC_JP_E6_B2_infos[29] = { + o2(0xDD,0xEE), o2(0xDD,0xEB), o2(0xCD,0xE0), o2(0xFA,0xDD), + o2(0xC4,0xC0), o2(0xC6,0xD9), o2(0xDD,0xEC), o2(0xDD,0xF4), + o2(0xDD,0xF3), o2(0xB7,0xA3), o2(0xB2,0xAD), o2(0xBA,0xBB), + o2(0xDD,0xED), o2(0xDD,0xEF), o2(0xCB,0xD7), o2(0xC2,0xF4), + o2(0xCB,0xF7), o2(0xDD,0xFC), o2(0xDD,0xFD), o2(0xB2,0xCF), + o2(0xCA,0xA8), o2(0xCC,0xFD), o2(0xDE,0xA1), o2(0xBC,0xA3), + o2(0xBE,0xC2), o2(0xDD,0xF8), o2(0xDD,0xFE), o2(0xB1,0xE8), + UNDEF, +}; +static const BYTE_LOOKUP +to_EUC_JP_E6_B2 = { + to_SHIFT_JIS_E6_B2_offsets, + to_EUC_JP_E6_B2_infos +}; + +static const struct byte_lookup* const +to_EUC_JP_E6_B3_infos[24] = { + o2(0xB6,0xB7), o2(0xDD,0xF5), o2(0xDD,0xFA), o2(0xC0,0xF4), + o2(0xC7,0xF1), o2(0xC8,0xE7), o2(0xDD,0xF7), o2(0xCB,0xA1), + o2(0xDD,0xF9), o2(0xDE,0xA4), o2(0xFA,0xDF), o2(0xDE,0xA2), + o2(0xDD,0xFB), o2(0xCB,0xA2), o2(0xC7,0xC8), o2(0xB5,0xE3), + o2(0xC5,0xA5), o2(0xC3,0xED), o2(0xDE,0xA5), o2(0xDE,0xA3), + o2(0xC2,0xD9), o2(0xDD,0xF6), o2(0xB1,0xCB), UNDEF, +}; +static const BYTE_LOOKUP +to_EUC_JP_E6_B3 = { + to_SHIFT_JIS_E6_B3_offsets, + to_EUC_JP_E6_B3_infos +}; + +static const struct byte_lookup* const +to_EUC_JP_E6_B4_infos[22] = { + o2(0xFA,0xE0), o2(0xCD,0xCE), o2(0xDE,0xB0), o2(0xDE,0xAF), + o2(0xC0,0xF6), o2(0xDE,0xAC), o2(0xCD,0xEC), o2(0xC6,0xB6), + o2(0xDE,0xA6), o2(0xC4,0xC5), o2(0xB1,0xCC), o2(0xB9,0xBF), + o2(0xDE,0xA9), o2(0xBD,0xA7), o2(0xDE,0xAE), o2(0xDE,0xAD), + o2(0xDE,0xA8), o2(0xDE,0xAB), o2(0xB3,0xE8), o2(0xDE,0xAA), + o2(0xC7,0xC9), UNDEF, +}; +static const BYTE_LOOKUP +to_EUC_JP_E6_B4 = { + to_SHIFT_JIS_E6_B4_offsets, + to_EUC_JP_E6_B4_infos +}; + +static const struct byte_lookup* const +to_EUC_JP_E6_B5_infos[19] = { + o2(0xCE,0xAE), o2(0xBE,0xF4), o2(0xC0,0xF5), o2(0xDE,0xB6), + o2(0xDE,0xB4), o2(0xC9,0xCD), o2(0xDE,0xB1), o2(0xDE,0xB3), + o2(0xB1,0xBA), o2(0xB9,0xC0), o2(0xCF,0xB2), o2(0xB3,0xBD), + o2(0xC9,0xE2), o2(0xFA,0xE2), o2(0xCD,0xE1), o2(0xB3,0xA4), + o2(0xBF,0xBB), o2(0xDE,0xB5), UNDEF, +}; +static const BYTE_LOOKUP +to_EUC_JP_E6_B5 = { + to_SHIFT_JIS_E6_B5_offsets, + to_EUC_JP_E6_B5_infos +}; + +static const struct byte_lookup* const +to_EUC_JP_E6_B6_infos[18] = { + o2(0xDE,0xBA), o2(0xFA,0xE1), o2(0xBE,0xC3), o2(0xCD,0xB0), + o2(0xDE,0xB7), o2(0xDE,0xB2), o2(0xDE,0xB8), o2(0xFA,0xE3), + o2(0xCE,0xDE), o2(0xC5,0xF3), o2(0xC6,0xC2), o2(0xFA,0xE4), + o2(0xB3,0xB6), o2(0xB1,0xD5), o2(0xDE,0xBE), o2(0xDE,0xC1), + o2(0xCE,0xC3), UNDEF, +}; +static const BYTE_LOOKUP +to_EUC_JP_E6_B6 = { + to_SHIFT_JIS_E6_B6_offsets, + to_EUC_JP_E6_B6_infos +}; + +static const struct byte_lookup* const +to_EUC_JP_E6_B7_infos[32] = { + o2(0xCD,0xE4), o2(0xDE,0xC8), o2(0xDE,0xC2), o2(0xDE,0xBF), + o2(0xCE,0xD4), o2(0xDE,0xC5), o2(0xFA,0xE5), o2(0xBD,0xCA), + o2(0xDE,0xC7), o2(0xDE,0xCC), o2(0xC5,0xF1), o2(0xDE,0xCA), + o2(0xDE,0xC4), o2(0xC3,0xB8), o2(0xDE,0xCB), o2(0xDE,0xC0), + o2(0xDE,0xC6), o2(0xDE,0xCD), o2(0xB0,0xFC), o2(0xDE,0xC3), + o2(0xDE,0xCE), o2(0xBF,0xBC), o2(0xFA,0xE7), o2(0xBD,0xDF), + o2(0xCA,0xA5), o2(0xBA,0xAE), o2(0xFA,0xE6), o2(0xDE,0xBB), + o2(0xDE,0xC9), o2(0xC5,0xBA), o2(0xFA,0xE8), UNDEF, +}; +static const BYTE_LOOKUP +to_EUC_JP_E6_B7 = { + to_SHIFT_JIS_E6_B7_offsets, + to_EUC_JP_E6_B7_infos +}; + +static const struct byte_lookup* const +to_EUC_JP_E6_B8_infos[32] = { + o2(0xC0,0xB6), o2(0xB3,0xE9), o2(0xBA,0xD1), o2(0xBE,0xC4), + o2(0xDE,0xBD), o2(0xBD,0xC2), o2(0xB7,0xCC), o2(0xDE,0xBC), + o2(0xDE,0xD2), o2(0xBD,0xED), o2(0xB8,0xBA), o2(0xDE,0xE1), + o2(0xDE,0xDB), o2(0xB5,0xF4), o2(0xC5,0xCF), o2(0xDE,0xD6), + o2(0xDE,0xDF), o2(0xB0,0xAF), o2(0xB1,0xB2), o2(0xFA,0xEB), + o2(0xB2,0xB9), o2(0xDE,0xD8), o2(0xC2,0xAC), o2(0xDE,0xCF), + o2(0xDE,0xD1), o2(0xB9,0xC1), o2(0xDE,0xE2), o2(0xFA,0xE9), + o2(0xDE,0xDD), o2(0xFA,0xEC), o2(0xDE,0xD5), UNDEF, +}; +static const BYTE_LOOKUP +to_EUC_JP_E6_B8 = { + to_SHIFT_JIS_E6_B8_offsets, + to_EUC_JP_E6_B8_infos +}; + +static const struct byte_lookup* const +to_EUC_JP_E6_B9_infos[18] = { + o2(0xDE,0xDC), o2(0xCC,0xAB), o2(0xDE,0xDA), o2(0xDE,0xDE), + o2(0xB8,0xD0), o2(0xBE,0xC5), o2(0xC3,0xB9), o2(0xFA,0xEA), + o2(0xDE,0xD4), o2(0xCD,0xAF), o2(0xDE,0xD7), o2(0xDE,0xD0), + o2(0xC5,0xF2), o2(0xDE,0xD3), o2(0xDE,0xD9), o2(0xCF,0xD1), + o2(0xBC,0xBE), UNDEF, +}; +static const BYTE_LOOKUP +to_EUC_JP_E6_B9 = { + to_SHIFT_JIS_E6_B9_offsets, + to_EUC_JP_E6_B9_infos +}; + +static const struct byte_lookup* const +to_EUC_JP_E6_BA_infos[21] = { + o2(0xCB,0xFE), o2(0xDE,0xE3), o2(0xC8,0xAE), o2(0xDE,0xEF), + o2(0xB8,0xBB), o2(0xBD,0xE0), o2(0xDE,0xE5), o2(0xCE,0xAF), + o2(0xB9,0xC2), o2(0xDE,0xF2), o2(0xB0,0xEE), o2(0xDE,0xF0), + o2(0xDE,0xE4), o2(0xDE,0xEA), o2(0xDE,0xEC), o2(0xCD,0xCF), + o2(0xDE,0xE7), o2(0xC5,0xAE), o2(0xDE,0xE9), o2(0xFA,0xED), + UNDEF, +}; +static const BYTE_LOOKUP +to_EUC_JP_E6_BA = { + to_SHIFT_JIS_E6_BA_offsets, + to_EUC_JP_E6_BA_infos +}; + +static const struct byte_lookup* const +to_EUC_JP_E6_BB_infos[21] = { + o2(0xDE,0xF1), o2(0xDE,0xEB), o2(0xCC,0xC7), o2(0xDE,0xE6), + o2(0xBC,0xA2), o2(0xDE,0xFE), o2(0xB3,0xEA), o2(0xDE,0xE8), + o2(0xDE,0xED), o2(0xDE,0xEE), o2(0xC2,0xEC), o2(0xC2,0xDA), + o2(0xDE,0xF6), o2(0xDE,0xFC), o2(0xDE,0xFA), o2(0xC5,0xA9), + o2(0xDF,0xA3), o2(0xDE,0xF7), o2(0xDE,0xF8), o2(0xDE,0xE0), + UNDEF, +}; +static const BYTE_LOOKUP +to_EUC_JP_E6_BB = { + to_SHIFT_JIS_E6_BB_offsets, + to_EUC_JP_E6_BB_infos +}; + +static const struct byte_lookup* const +to_EUC_JP_E6_BC_infos[20] = { + o2(0xB5,0xF9), o2(0xC9,0xBA), o2(0xBC,0xBF), o2(0xB9,0xF7), + o2(0xCF,0xB3), o2(0xDE,0xF4), o2(0xDF,0xA2), o2(0xB1,0xE9), + o2(0xC1,0xE6), o2(0xC7,0xF9), o2(0xB4,0xC1), o2(0xCE,0xFA), + o2(0xCC,0xA1), o2(0xC4,0xD2), o2(0xDE,0xFB), o2(0xDE,0xFD), + o2(0xC1,0xB2), o2(0xDF,0xA1), o2(0xDE,0xF9), UNDEF, +}; +static const BYTE_LOOKUP +to_EUC_JP_E6_BC = { + to_SHIFT_JIS_E6_BC_offsets, + to_EUC_JP_E6_BC_infos +}; + +static const struct byte_lookup* const +to_EUC_JP_E6_BD_infos[18] = { + o2(0xDE,0xF3), o2(0xB4,0xC3), o2(0xB7,0xE9), o2(0xDF,0xAF), + o2(0xDF,0xAA), o2(0xC0,0xF8), o2(0xB3,0xE3), o2(0xBD,0xE1), + o2(0xDF,0xB3), o2(0xDF,0xAC), o2(0xC4,0xAC), o2(0xDF,0xA9), + o2(0xC4,0xD9), o2(0xDF,0xCC), o2(0xDF,0xA6), o2(0xDF,0xA5), + o2(0xDF,0xAE), UNDEF, +}; +static const BYTE_LOOKUP +to_EUC_JP_E6_BD = { + to_SHIFT_JIS_E6_BD_offsets, + to_EUC_JP_E6_BD_infos +}; + +static const struct byte_lookup* const +to_EUC_JP_E6_BE_infos[18] = { + o2(0xDF,0xA8), o2(0xDF,0xA7), o2(0xDF,0xAD), o2(0xC0,0xA1), + o2(0xDF,0xA4), o2(0xFA,0xEE), o2(0xDF,0xB0), o2(0xDF,0xB1), + o2(0xB4,0xC2), o2(0xDF,0xB6), o2(0xDF,0xB5), o2(0xDF,0xB7), + o2(0xDF,0xBA), o2(0xC5,0xC3), o2(0xDF,0xB4), o2(0xFA,0xEF), + o2(0xDF,0xB8), UNDEF, +}; +static const BYTE_LOOKUP +to_EUC_JP_E6_BE = { + to_SHIFT_JIS_E6_BE_offsets, + to_EUC_JP_E6_BE_infos +}; + +static const struct byte_lookup* const +to_EUC_JP_E6_BF_infos[24] = { + o2(0xB7,0xE3), o2(0xC2,0xF9), o2(0xDF,0xB2), o2(0xC7,0xBB), + o2(0xDF,0xB9), o2(0xDF,0xBE), o2(0xDF,0xBC), o2(0xDF,0xBF), + o2(0xDF,0xC2), o2(0xDF,0xBB), o2(0xB9,0xEA), o2(0xC7,0xA8), + o2(0xDE,0xB9), o2(0xCD,0xF4), o2(0xDF,0xBD), o2(0xDF,0xC1), + o2(0xC2,0xF5), o2(0xDF,0xC0), o2(0xDF,0xAB), o2(0xFA,0xF0), + o2(0xEF,0xE9), o2(0xDF,0xC5), o2(0xDF,0xC9), UNDEF, +}; +static const BYTE_LOOKUP +to_EUC_JP_E6_BF = { + to_SHIFT_JIS_E6_BF_offsets, + to_EUC_JP_E6_BF_infos +}; + +static const struct byte_lookup* const +to_EUC_JP_E6_infos[64] = { + &to_EUC_JP_E6_80, &to_EUC_JP_E6_81, &to_EUC_JP_E6_82, &to_EUC_JP_E6_83, + &to_EUC_JP_E6_84, &to_EUC_JP_E6_85, &to_EUC_JP_E6_86, &to_EUC_JP_E6_87, + &to_EUC_JP_E6_88, &to_EUC_JP_E6_89, &to_EUC_JP_E6_8A, &to_EUC_JP_E6_8B, + &to_EUC_JP_E6_8C, &to_EUC_JP_E6_8D, &to_EUC_JP_E6_8E, &to_EUC_JP_E6_8F, + &to_EUC_JP_E6_90, &to_EUC_JP_E6_91, &to_EUC_JP_E6_92, &to_EUC_JP_E6_93, + &to_EUC_JP_E6_94, &to_EUC_JP_E6_95, &to_EUC_JP_E6_96, &to_EUC_JP_E6_97, + &to_EUC_JP_E6_98, &to_EUC_JP_E6_99, &to_EUC_JP_E6_9A, &to_EUC_JP_E6_9B, + &to_EUC_JP_E6_9C, &to_EUC_JP_E6_9D, &to_EUC_JP_E6_9E, &to_EUC_JP_E6_9F, + &to_EUC_JP_E6_A0, &to_EUC_JP_E6_A1, &to_EUC_JP_E6_A2, &to_EUC_JP_E6_A3, + &to_EUC_JP_E6_A4, &to_EUC_JP_E6_A5, &to_EUC_JP_E6_A6, &to_EUC_JP_E6_A7, + &to_EUC_JP_E6_A8, &to_EUC_JP_E6_A9, &to_EUC_JP_E6_AA, &to_EUC_JP_E6_AB, + &to_EUC_JP_E6_AC, &to_EUC_JP_E6_AD, &to_EUC_JP_E6_AE, &to_EUC_JP_E6_AF, + &to_EUC_JP_E6_B0, &to_EUC_JP_E6_B1, &to_EUC_JP_E6_B2, &to_EUC_JP_E6_B3, + &to_EUC_JP_E6_B4, &to_EUC_JP_E6_B5, &to_EUC_JP_E6_B6, &to_EUC_JP_E6_B7, + &to_EUC_JP_E6_B8, &to_EUC_JP_E6_B9, &to_EUC_JP_E6_BA, &to_EUC_JP_E6_BB, + &to_EUC_JP_E6_BC, &to_EUC_JP_E6_BD, &to_EUC_JP_E6_BE, &to_EUC_JP_E6_BF, +}; +static const BYTE_LOOKUP +to_EUC_JP_E6 = { + to_SHIFT_JIS_E5_offsets, + to_EUC_JP_E6_infos +}; + +static const struct byte_lookup* const +to_EUC_JP_E7_80_infos[22] = { + o2(0xDF,0xC7), o2(0xFA,0xF1), o2(0xFA,0xF2), o2(0xDF,0xC3), + o2(0xDF,0xC4), o2(0xDF,0xC8), o2(0xDF,0xC6), o2(0xC9,0xCE), + o2(0xDF,0xCE), o2(0xDF,0xCB), o2(0xDF,0xCA), o2(0xDF,0xCD), + o2(0xC6,0xD4), o2(0xDF,0xCF), o2(0xC3,0xF5), o2(0xC2,0xED), + o2(0xFA,0xF3), o2(0xC0,0xA5), o2(0xDF,0xD0), o2(0xDF,0xD2), + o2(0xDF,0xD1), UNDEF, +}; +static const BYTE_LOOKUP +to_EUC_JP_E7_80 = { + to_SHIFT_JIS_E7_80_offsets, + to_EUC_JP_E7_80_infos +}; + +static const struct byte_lookup* const +to_EUC_JP_E7_81_infos[11] = { + o2(0xDE,0xF5), o2(0xDF,0xD3), o2(0xC6,0xE7), o2(0xDF,0xD4), + o2(0xB2,0xD0), o2(0xC5,0xF4), o2(0xB3,0xA5), o2(0xB5,0xE4), + o2(0xBC,0xDE), o2(0xBA,0xD2), UNDEF, +}; +static const BYTE_LOOKUP +to_EUC_JP_E7_81 = { + to_SHIFT_JIS_E7_81_offsets, + to_EUC_JP_E7_81_infos +}; + +static const struct byte_lookup* const +to_EUC_JP_E7_82_infos[17] = { + o2(0xFA,0xF4), o2(0xCF,0xA7), o2(0xBF,0xE6), o2(0xB1,0xEA), + o2(0xDF,0xD6), o2(0xDF,0xD5), o2(0xFA,0xF5), o2(0xDF,0xD9), + o2(0xC3,0xBA), o2(0xDF,0xDC), o2(0xDF,0xD7), o2(0xDF,0xDB), + o2(0xDF,0xDA), o2(0xC5,0xC0), o2(0xB0,0xD9), o2(0xF9,0xA7), + UNDEF, +}; +static const BYTE_LOOKUP +to_EUC_JP_E7_82 = { + to_SHIFT_JIS_E7_82_offsets, + to_EUC_JP_E7_82_infos +}; + +static const struct byte_lookup* const +to_EUC_JP_E7_83_infos[10] = { + o2(0xCE,0xF5), o2(0xDF,0xDE), o2(0xB1,0xA8), o2(0xDF,0xE0), + o2(0xDF,0xDF), o2(0xDF,0xDD), o2(0xDF,0xD8), o2(0xCB,0xA3), + o2(0xDF,0xE2), UNDEF, +}; +static const BYTE_LOOKUP +to_EUC_JP_E7_83 = { + to_SHIFT_JIS_E7_83_offsets, + to_EUC_JP_E7_83_infos +}; + +static const struct byte_lookup* const +to_EUC_JP_E7_84_infos[12] = { + o2(0xFA,0xF7), o2(0xDF,0xE1), o2(0xFA,0xF6), o2(0xB1,0xEB), + o2(0xDF,0xE4), o2(0xCA,0xB2), o2(0xDF,0xE3), o2(0xCC,0xB5), + o2(0xBE,0xC7), o2(0xC1,0xB3), o2(0xBE,0xC6), UNDEF, +}; +static const BYTE_LOOKUP +to_EUC_JP_E7_84 = { + to_SHIFT_JIS_E7_84_offsets, + to_EUC_JP_E7_84_infos +}; + +static const struct byte_lookup* const +to_EUC_JP_E7_85_infos[19] = { + o2(0xFA,0xF9), o2(0xFA,0xFA), o2(0xCE,0xFB), o2(0xDF,0xEA), + o2(0xC0,0xF9), o2(0xDF,0xE6), o2(0xDF,0xEB), o2(0xB1,0xEC), + o2(0xFA,0xF8), o2(0xDF,0xE9), o2(0xC7,0xE1), o2(0xDF,0xE5), + o2(0xDF,0xE8), o2(0xBE,0xC8), o2(0xC8,0xD1), o2(0xDF,0xEC), + o2(0xBC,0xD1), o2(0xC0,0xFA), UNDEF, +}; +static const BYTE_LOOKUP +to_EUC_JP_E7_85 = { + to_SHIFT_JIS_E7_85_offsets, + to_EUC_JP_E7_85_infos +}; + +static const struct byte_lookup* const +to_EUC_JP_E7_86_infos[14] = { + o2(0xDF,0xEF), o2(0xDF,0xE7), o2(0xB7,0xA7), o2(0xDF,0xED), + o2(0xCD,0xD0), o2(0xDF,0xF0), o2(0xF4,0xA6), o2(0xBD,0xCF), + o2(0xDF,0xF1), o2(0xDF,0xF2), o2(0xC7,0xAE), o2(0xDF,0xF4), + o2(0xDF,0xF5), UNDEF, +}; +static const BYTE_LOOKUP +to_EUC_JP_E7_86 = { + to_SHIFT_JIS_E7_86_offsets, + to_EUC_JP_E7_86_infos +}; + +static const struct byte_lookup* const +to_EUC_JP_E7_87_infos[25] = { + o2(0xFA,0xFC), o2(0xC7,0xB3), o2(0xC5,0xF5), o2(0xDF,0xF7), + o2(0xDF,0xF9), o2(0xCE,0xD5), o2(0xDF,0xF6), o2(0xDF,0xF8), + o2(0xB1,0xED), o2(0xDF,0xF3), o2(0xD3,0xDB), o2(0xDF,0xFA), + o2(0xC1,0xE7), o2(0xBB,0xB8), o2(0xDF,0xFC), o2(0xDF,0xFB), + o2(0xBF,0xA4), o2(0xD2,0xD9), o2(0xDF,0xFD), o2(0xE0,0xA1), + o2(0xDF,0xEE), o2(0xDF,0xFE), o2(0xFA,0xFD), o2(0xE0,0xA2), + UNDEF, +}; +static const BYTE_LOOKUP +to_EUC_JP_E7_87 = { + to_SHIFT_JIS_E7_87_offsets, + to_EUC_JP_E7_87_infos +}; + +static const struct byte_lookup* const +to_EUC_JP_E7_88_infos[19] = { + o2(0xC7,0xFA), o2(0xE0,0xA3), o2(0xE0,0xA4), o2(0xE0,0xA5), + o2(0xE0,0xA6), o2(0xC4,0xDE), o2(0xE0,0xA8), o2(0xE0,0xA7), + o2(0xE0,0xA9), o2(0xE0,0xAA), o2(0xBC,0xDF), o2(0xC9,0xE3), + o2(0xCC,0xEC), o2(0xE0,0xAB), o2(0xE0,0xAC), o2(0xC1,0xD6), + o2(0xBC,0xA4), o2(0xE0,0xAD), UNDEF, +}; +static const BYTE_LOOKUP +to_EUC_JP_E7_88 = { + to_SHIFT_JIS_E7_88_offsets, + to_EUC_JP_E7_88_infos +}; + +static const struct byte_lookup* const +to_EUC_JP_E7_89_infos[22] = { + o2(0xE0,0xAE), o2(0xE0,0xAF), o2(0xCA,0xD2), o2(0xC8,0xC7), + o2(0xE0,0xB0), o2(0xC7,0xD7), o2(0xC4,0xAD), o2(0xE0,0xB1), + o2(0xB2,0xE7), o2(0xB5,0xED), o2(0xCC,0xC6), o2(0xCC,0xB6), + o2(0xB2,0xB4), o2(0xCF,0xB4), o2(0xCB,0xD2), o2(0xCA,0xAA), + o2(0xC0,0xB7), o2(0xE0,0xB2), o2(0xC6,0xC3), o2(0xB8,0xA3), + o2(0xE0,0xB3), UNDEF, +}; +static const BYTE_LOOKUP +to_EUC_JP_E7_89 = { + to_SHIFT_JIS_E7_89_offsets, + to_EUC_JP_E7_89_infos +}; + +static const struct byte_lookup* const +to_EUC_JP_E7_8A_infos[17] = { + o2(0xBA,0xD4), o2(0xE0,0xB5), o2(0xE0,0xB4), o2(0xE0,0xB6), + o2(0xE0,0xB7), o2(0xE0,0xB8), o2(0xB5,0xBE), o2(0xE0,0xB9), + o2(0xE0,0xBA), o2(0xB8,0xA4), o2(0xC8,0xC8), o2(0xFA,0xFE), + o2(0xE0,0xBC), o2(0xBE,0xF5), o2(0xE0,0xBB), o2(0xFB,0xA1), + UNDEF, +}; +static const BYTE_LOOKUP +to_EUC_JP_E7_8A = { + to_SHIFT_JIS_E7_8A_offsets, + to_EUC_JP_E7_8A_infos +}; + +static const struct byte_lookup* const +to_EUC_JP_E7_8B_infos[22] = { + o2(0xB6,0xB8), o2(0xE0,0xBD), o2(0xE0,0xBF), o2(0xE0,0xBE), + o2(0xE0,0xC0), o2(0xB8,0xD1), o2(0xE0,0xC1), o2(0xB6,0xE9), + o2(0xC1,0xC0), o2(0xB9,0xFD), o2(0xE0,0xC3), o2(0xE0,0xC4), + o2(0xE0,0xC2), o2(0xBC,0xED), o2(0xC6,0xC8), o2(0xB6,0xB9), + o2(0xE0,0xC6), o2(0xC3,0xAC), o2(0xE0,0xC5), o2(0xCF,0xB5), + o2(0xC7,0xE2), UNDEF, +}; +static const BYTE_LOOKUP +to_EUC_JP_E7_8B = { + to_SHIFT_JIS_E7_8B_offsets, + to_EUC_JP_E7_8B_infos +}; + +static const struct byte_lookup* const +to_EUC_JP_E7_8C_infos[20] = { + o2(0xE0,0xC9), o2(0xE0,0xCB), o2(0xE0,0xC8), o2(0xCC,0xD4), + o2(0xE0,0xCA), o2(0xE0,0xCC), o2(0xCE,0xC4), o2(0xFB,0xA2), + o2(0xE0,0xD0), o2(0xE0,0xCF), o2(0xC3,0xF6), o2(0xC7,0xAD), + o2(0xB8,0xA5), o2(0xE0,0xCE), o2(0xE0,0xCD), o2(0xCD,0xB1), + o2(0xCD,0xB2), o2(0xE0,0xD1), o2(0xB1,0xEE), UNDEF, +}; +static const BYTE_LOOKUP +to_EUC_JP_E7_8C = { + to_SHIFT_JIS_E7_8C_offsets, + to_EUC_JP_E7_8C_infos +}; + +static const struct byte_lookup* const +to_EUC_JP_E7_8D_infos[16] = { + o2(0xB9,0xF6), o2(0xBB,0xE2), o2(0xE0,0xD2), o2(0xE0,0xD3), + o2(0xE0,0xD5), o2(0xBD,0xC3), o2(0xE0,0xD7), o2(0xE0,0xD6), + o2(0xE0,0xD8), o2(0xB3,0xCD), o2(0xE0,0xDA), o2(0xFB,0xA4), + o2(0xE0,0xD9), o2(0xE0,0xDC), o2(0xE0,0xDB), UNDEF, +}; +static const BYTE_LOOKUP +to_EUC_JP_E7_8D = { + to_SHIFT_JIS_E7_8D_offsets, + to_EUC_JP_E7_8D_infos +}; + +static const struct byte_lookup* const +to_EUC_JP_E7_8E_infos[11] = { + o2(0xB8,0xBC), o2(0xCE,0xA8), o2(0xB6,0xCC), o2(0xB2,0xA6), + o2(0xB6,0xEA), o2(0xB4,0xE1), o2(0xCE,0xE8), o2(0xE0,0xDE), + o2(0xE0,0xE0), o2(0xFB,0xA5), UNDEF, +}; +static const BYTE_LOOKUP +to_EUC_JP_E7_8E = { + to_SHIFT_JIS_E7_8E_offsets, + to_EUC_JP_E7_8E_infos +}; + +static const struct byte_lookup* const +to_EUC_JP_E7_8F_infos[21] = { + o2(0xE0,0xE1), o2(0xB2,0xD1), o2(0xE0,0xDD), o2(0xFB,0xA6), + o2(0xBB,0xB9), o2(0xC4,0xC1), o2(0xE0,0xDF), o2(0xFB,0xA9), + o2(0xFB,0xA7), o2(0xE0,0xE4), o2(0xBC,0xEE), o2(0xFB,0xA8), + o2(0xE0,0xE2), o2(0xB7,0xBE), o2(0xC8,0xC9), o2(0xE0,0xE3), + o2(0xE0,0xFE), o2(0xFB,0xAB), o2(0xE0,0xE9), o2(0xB8,0xBD), + UNDEF, +}; +static const BYTE_LOOKUP +to_EUC_JP_E7_8F = { + to_SHIFT_JIS_E7_8F_offsets, + to_EUC_JP_E7_8F_infos +}; + +static const struct byte_lookup* const +to_EUC_JP_E7_90_infos[19] = { + o2(0xB5,0xE5), o2(0xE0,0xE6), o2(0xCD,0xFD), o2(0xFB,0xAA), + o2(0xCE,0xB0), o2(0xC2,0xF6), o2(0xE0,0xE8), o2(0xFB,0xAC), + o2(0xFB,0xAE), o2(0xFB,0xAD), o2(0xFB,0xAF), o2(0xE0,0xEA), + o2(0xCE,0xD6), o2(0xB6,0xD7), o2(0xC8,0xFC), o2(0xC7,0xCA), + o2(0xE0,0xEB), o2(0xE0,0xED), UNDEF, +}; +static const BYTE_LOOKUP +to_EUC_JP_E7_90 = { + to_SHIFT_JIS_E7_90_offsets, + to_EUC_JP_E7_90_infos +}; + +static const struct byte_lookup* const +to_EUC_JP_E7_91_infos[20] = { + o2(0xE0,0xF0), o2(0xE0,0xEC), o2(0xE0,0xEF), o2(0xB8,0xEA), + o2(0xB1,0xCD), o2(0xE0,0xF1), o2(0xBF,0xF0), o2(0xE0,0xEE), + o2(0xCE,0xDC), o2(0xFB,0xB0), o2(0xE0,0xF4), o2(0xF4,0xA4), + o2(0xE0,0xF2), o2(0xE0,0xF5), o2(0xE0,0xE7), o2(0xE0,0xF3), + o2(0xBA,0xBC), o2(0xE0,0xF6), o2(0xE0,0xF7), UNDEF, +}; +static const BYTE_LOOKUP +to_EUC_JP_E7_91 = { + to_SHIFT_JIS_E7_91_offsets, + to_EUC_JP_E7_91_infos +}; + +static const struct byte_lookup* const +to_EUC_JP_E7_92_infos[10] = { + o2(0xCD,0xFE), o2(0xFB,0xB1), o2(0xE0,0xF8), o2(0xE0,0xF9), + o2(0xFB,0xB2), o2(0xE0,0xE5), o2(0xE0,0xFA), o2(0xB4,0xC4), + o2(0xBC,0xA5), UNDEF, +}; +static const BYTE_LOOKUP +to_EUC_JP_E7_92 = { + to_SHIFT_JIS_E7_92_offsets, + to_EUC_JP_E7_92_infos +}; + +static const struct byte_lookup* const +to_EUC_JP_E7_93_infos[18] = { + o2(0xE0,0xFB), o2(0xE0,0xFC), o2(0xE0,0xFD), o2(0xB1,0xBB), + o2(0xE1,0xA1), o2(0xC9,0xBB), o2(0xE1,0xA2), o2(0xB4,0xA4), + o2(0xE1,0xA3), o2(0xE1,0xA4), o2(0xE1,0xA5), o2(0xE1,0xA7), + o2(0xE1,0xA8), o2(0xE1,0xA6), o2(0xC9,0xD3), o2(0xE1,0xAA), + o2(0xE1,0xA9), UNDEF, +}; +static const BYTE_LOOKUP +to_EUC_JP_E7_93 = { + to_SHIFT_JIS_E7_93_offsets, + to_EUC_JP_E7_93_infos +}; + +static const struct byte_lookup* const +to_EUC_JP_E7_94_infos[32] = { + o2(0xFB,0xB3), o2(0xE1,0xAC), o2(0xE1,0xAB), o2(0xE1,0xAD), + o2(0xE1,0xAE), o2(0xE1,0xB0), o2(0xE1,0xAF), o2(0xB9,0xF9), + o2(0xE1,0xB2), o2(0xE1,0xB1), o2(0xB4,0xC5), o2(0xBF,0xD3), + o2(0xC5,0xBC), o2(0xE1,0xB3), o2(0xC0,0xB8), o2(0xBB,0xBA), + o2(0xB1,0xF9), o2(0xE1,0xB4), o2(0xCD,0xD1), o2(0xCA,0xE3), + o2(0xE1,0xB5), o2(0xF9,0xEC), o2(0xC5,0xC4), o2(0xCD,0xB3), + o2(0xB9,0xC3), o2(0xBF,0xBD), o2(0xC3,0xCB), o2(0xD2,0xB4), + o2(0xC4,0xAE), o2(0xB2,0xE8), o2(0xE1,0xB6), UNDEF, +}; +static const BYTE_LOOKUP +to_EUC_JP_E7_94 = { + to_SHIFT_JIS_E7_94_offsets, + to_EUC_JP_E7_94_infos +}; + +static const struct byte_lookup* const +to_EUC_JP_E7_95_infos[34] = { + o2(0xE1,0xB7), o2(0xE1,0xBC), o2(0xE1,0xBA), o2(0xE1,0xB9), + o2(0xDA,0xC2), o2(0xB3,0xA6), o2(0xE1,0xB8), o2(0xB0,0xDA), + o2(0xC8,0xAA), o2(0xC8,0xCA), o2(0xCE,0xB1), o2(0xE1,0xBD), + o2(0xE1,0xBB), o2(0xC3,0xDC), o2(0xC0,0xA6), o2(0xC8,0xAB), + o2(0xC9,0xAD), o2(0xE1,0xBF), o2(0xCE,0xAC), o2(0xB7,0xCD), + o2(0xE1,0xC0), o2(0xE1,0xBE), o2(0xC8,0xD6), o2(0xE1,0xC1), + o2(0xE1,0xC2), o2(0xFB,0xB4), o2(0xB0,0xDB), o2(0xBE,0xF6), + o2(0xE1,0xC7), o2(0xE1,0xC4), o2(0xC6,0xED), o2(0xE1,0xC3), + o2(0xB5,0xA6), UNDEF, +}; +static const BYTE_LOOKUP +to_EUC_JP_E7_95 = { + to_SHIFT_JIS_E7_95_offsets, + to_EUC_JP_E7_95_infos +}; + +static const struct byte_lookup* const +to_EUC_JP_E7_96_infos[25] = { + o2(0xE1,0xCA), o2(0xE1,0xC5), o2(0xE1,0xC6), o2(0xE1,0xC9), + o2(0xE1,0xC8), o2(0xC9,0xA5), o2(0xC1,0xC2), o2(0xC1,0xC1), + o2(0xB5,0xBF), o2(0xE1,0xCB), o2(0xE1,0xCC), o2(0xE1,0xCD), + o2(0xE1,0xCF), o2(0xE1,0xCE), o2(0xB1,0xD6), o2(0xE1,0xD7), + o2(0xC8,0xE8), o2(0xE1,0xD1), o2(0xE1,0xD3), o2(0xE1,0xD5), + o2(0xBF,0xBE), o2(0xE1,0xD6), o2(0xE1,0xD4), o2(0xBC,0xC0), + UNDEF, +}; +static const BYTE_LOOKUP +to_EUC_JP_E7_96 = { + to_SHIFT_JIS_E7_96_offsets, + to_EUC_JP_E7_96_infos +}; + +static const struct byte_lookup* const +to_EUC_JP_E7_97_infos[25] = { + o2(0xE1,0xD0), o2(0xE1,0xD2), o2(0xC9,0xC2), o2(0xBE,0xC9), + o2(0xE1,0xD9), o2(0xE1,0xD8), o2(0xE1,0xDA), o2(0xBC,0xA6), + o2(0xBA,0xAF), o2(0xC5,0xF7), o2(0xE1,0xDB), o2(0xC4,0xCB), + o2(0xE1,0xDD), o2(0xCE,0xA1), o2(0xE1,0xDC), o2(0xC1,0xE9), + o2(0xE1,0xE2), o2(0xE1,0xE4), o2(0xE1,0xE5), o2(0xC3,0xD4), + o2(0xE1,0xE3), o2(0xE1,0xE0), o2(0xE1,0xDE), o2(0xE1,0xDF), + UNDEF, +}; +static const BYTE_LOOKUP +to_EUC_JP_E7_97 = { + to_SHIFT_JIS_E7_97_offsets, + to_EUC_JP_E7_97_infos +}; + +static const struct byte_lookup* const +to_EUC_JP_E7_98_infos[14] = { + o2(0xE1,0xE1), o2(0xE1,0xE8), o2(0xE1,0xE6), o2(0xE1,0xE7), + o2(0xE1,0xE9), o2(0xE1,0xEB), o2(0xE1,0xEC), o2(0xE1,0xED), + o2(0xE1,0xEE), o2(0xE1,0xEA), o2(0xE1,0xF0), o2(0xE1,0xEF), + o2(0xE1,0xF1), UNDEF, +}; +static const BYTE_LOOKUP +to_EUC_JP_E7_98 = { + to_SHIFT_JIS_E7_98_offsets, + to_EUC_JP_E7_98_infos +}; + +static const struct byte_lookup* const +to_EUC_JP_E7_99_infos[26] = { + o2(0xCE,0xC5), o2(0xE1,0xF4), o2(0xE1,0xF2), o2(0xE1,0xF3), + o2(0xB4,0xE2), o2(0xCC,0xFE), o2(0xCA,0xCA), o2(0xE1,0xF6), + o2(0xE1,0xF5), o2(0xE1,0xF7), o2(0xE1,0xF8), o2(0xE1,0xFC), + o2(0xE1,0xF9), o2(0xE1,0xFA), o2(0xE1,0xFB), o2(0xE1,0xFD), + o2(0xE1,0xFE), o2(0xE2,0xA1), o2(0xE2,0xA2), o2(0xE2,0xA3), + o2(0xC8,0xAF), o2(0xC5,0xD0), o2(0xE2,0xA4), o2(0xC7,0xF2), + o2(0xC9,0xB4), UNDEF, +}; +static const BYTE_LOOKUP +to_EUC_JP_E7_99 = { + to_SHIFT_JIS_E7_99_offsets, + to_EUC_JP_E7_99_infos +}; + +static const struct byte_lookup* const +to_EUC_JP_E7_9A_infos[27] = { + o2(0xE2,0xA5), o2(0xFB,0xB5), o2(0xE2,0xA6), o2(0xC5,0xAA), + o2(0xB3,0xA7), o2(0xB9,0xC4), o2(0xE2,0xA7), o2(0xE2,0xA8), + o2(0xE2,0xA9), o2(0xBB,0xA9), o2(0xE2,0xAB), o2(0xE2,0xAA), + o2(0xE2,0xAC), o2(0xE2,0xAD), o2(0xFB,0xB8), o2(0xFB,0xB6), + o2(0xFB,0xB7), o2(0xFB,0xB9), o2(0xC8,0xE9), o2(0xE2,0xAE), + o2(0xE2,0xAF), o2(0xF3,0xE9), o2(0xE2,0xB0), o2(0xE2,0xB1), + o2(0xE2,0xB2), o2(0xBB,0xAE), UNDEF, +}; +static const BYTE_LOOKUP +to_EUC_JP_E7_9A = { + to_SHIFT_JIS_E7_9A_offsets, + to_EUC_JP_E7_9A_infos +}; + +static const struct byte_lookup* const +to_EUC_JP_E7_9B_infos[26] = { + o2(0xE2,0xB3), o2(0xC7,0xD6), o2(0xCB,0xDF), o2(0xB1,0xCE), + o2(0xB1,0xD7), o2(0xE2,0xB4), o2(0xE2,0xB6), o2(0xE2,0xB5), + o2(0xC5,0xF0), o2(0xC0,0xB9), o2(0xDD,0xB9), o2(0xE2,0xB7), + o2(0xCC,0xC1), o2(0xE2,0xB8), o2(0xB4,0xC6), o2(0xC8,0xD7), + o2(0xE2,0xB9), o2(0xE2,0xBA), o2(0xE2,0xBB), o2(0xCC,0xDC), + o2(0xCC,0xD5), o2(0xC4,0xBE), o2(0xC1,0xEA), o2(0xE2,0xBD), + o2(0xBD,0xE2), UNDEF, +}; +static const BYTE_LOOKUP +to_EUC_JP_E7_9B = { + to_SHIFT_JIS_E7_9B_offsets, + to_EUC_JP_E7_9B_infos +}; + +static const struct byte_lookup* const +to_EUC_JP_E7_9C_infos[20] = { + o2(0xBE,0xCA), o2(0xE2,0xC0), o2(0xE2,0xBF), o2(0xE2,0xBE), + o2(0xC8,0xFD), o2(0xB4,0xC7), o2(0xB8,0xA9), o2(0xE2,0xC6), + o2(0xE2,0xC3), o2(0xBF,0xBF), o2(0xCC,0xB2), o2(0xE2,0xC2), + o2(0xE2,0xC4), o2(0xE2,0xC5), o2(0xE2,0xC1), o2(0xE2,0xC7), + o2(0xE2,0xC8), o2(0xC4,0xAF), o2(0xB4,0xE3), UNDEF, +}; +static const BYTE_LOOKUP +to_EUC_JP_E7_9C = { + to_SHIFT_JIS_E7_9C_offsets, + to_EUC_JP_E7_9C_infos +}; + +static const struct byte_lookup* const +to_EUC_JP_E7_9D_infos[15] = { + o2(0xC3,0xE5), o2(0xFB,0xBB), o2(0xE2,0xC9), o2(0xE2,0xCA), + o2(0xE2,0xCD), o2(0xBF,0xE7), o2(0xC6,0xC4), o2(0xE2,0xCE), + o2(0xCB,0xD3), o2(0xE2,0xCB), o2(0xE2,0xCC), o2(0xE2,0xD1), + o2(0xE2,0xD0), o2(0xE2,0xCF), UNDEF, +}; +static const BYTE_LOOKUP +to_EUC_JP_E7_9D = { + to_SHIFT_JIS_E7_9D_offsets, + to_EUC_JP_E7_9D_infos +}; + +static const struct byte_lookup* const +to_EUC_JP_E7_9E_infos[17] = { + o2(0xE2,0xD3), o2(0xE2,0xD2), o2(0xE2,0xD4), o2(0xE2,0xD6), + o2(0xE2,0xD5), o2(0xCA,0xCD), o2(0xBD,0xD6), o2(0xCE,0xC6), + o2(0xE2,0xD7), o2(0xC6,0xB7), o2(0xE2,0xD8), o2(0xE2,0xD9), + o2(0xE2,0xDD), o2(0xE2,0xDB), o2(0xE2,0xDC), o2(0xE2,0xDA), + UNDEF, +}; +static const BYTE_LOOKUP +to_EUC_JP_E7_9E = { + to_SHIFT_JIS_E7_9E_offsets, + to_EUC_JP_E7_9E_infos +}; + +static const struct byte_lookup* const +to_EUC_JP_E7_9F_infos[17] = { + o2(0xE2,0xDE), o2(0xE2,0xDF), o2(0xE2,0xE0), o2(0xE2,0xE1), + o2(0xCC,0xB7), o2(0xE2,0xE2), o2(0xCC,0xF0), o2(0xE2,0xE3), + o2(0xC3,0xCE), o2(0xC7,0xEA), o2(0xB6,0xEB), o2(0xC3,0xBB), + o2(0xE2,0xE4), o2(0xB6,0xBA), o2(0xC0,0xD0), o2(0xE2,0xE5), + UNDEF, +}; +static const BYTE_LOOKUP +to_EUC_JP_E7_9F = { + to_SHIFT_JIS_E7_9F_offsets, + to_EUC_JP_E7_9F_infos +}; + +static const struct byte_lookup* const +to_EUC_JP_E7_A0_infos[15] = { + o2(0xBA,0xBD), o2(0xE2,0xE6), o2(0xE2,0xE7), o2(0xB8,0xA6), + o2(0xBA,0xD5), o2(0xE2,0xE9), o2(0xFB,0xBD), o2(0xC5,0xD6), + o2(0xBA,0xD6), o2(0xB5,0xCE), o2(0xCB,0xA4), o2(0xC7,0xCB), + o2(0xC5,0xD7), o2(0xB9,0xDC), UNDEF, +}; +static const BYTE_LOOKUP +to_EUC_JP_E7_A0 = { + to_SHIFT_JIS_E7_A0_offsets, + to_EUC_JP_E7_A0_infos +}; + +static const struct byte_lookup* const +to_EUC_JP_E7_A1_infos[12] = { + o2(0xE2,0xEB), o2(0xFB,0xBE), o2(0xBE,0xCB), o2(0xFB,0xBF), + o2(0xCE,0xB2), o2(0xB9,0xC5), o2(0xB8,0xA7), o2(0xC8,0xA3), + o2(0xE2,0xED), o2(0xFB,0xC0), o2(0xE2,0xEF), UNDEF, +}; +static const BYTE_LOOKUP +to_EUC_JP_E7_A1 = { + to_SHIFT_JIS_E7_A1_offsets, + to_EUC_JP_E7_A1_infos +}; + +static const struct byte_lookup* const +to_EUC_JP_E7_A2_infos[21] = { + o2(0xB8,0xEB), o2(0xE2,0xEE), o2(0xC4,0xF6), o2(0xE2,0xF1), + o2(0xB3,0xB7), o2(0xE2,0xEC), o2(0xC8,0xEA), o2(0xB1,0xB0), + o2(0xBA,0xEC), o2(0xCF,0xD2), o2(0xE2,0xF0), o2(0xE2,0xF2), + o2(0xCA,0xCB), o2(0xC0,0xD9), o2(0xE2,0xF4), o2(0xE2,0xF5), + o2(0xE2,0xF3), o2(0xB3,0xCE), o2(0xE2,0xFB), o2(0xE2,0xFA), + UNDEF, +}; +static const BYTE_LOOKUP +to_EUC_JP_E7_A2 = { + to_SHIFT_JIS_E7_A2_offsets, + to_EUC_JP_E7_A2_infos +}; + +static const struct byte_lookup* const +to_EUC_JP_E7_A3_infos[16] = { + o2(0xBC,0xA7), o2(0xE2,0xFC), o2(0xE2,0xF7), o2(0xE2,0xFD), + o2(0xE2,0xF8), o2(0xC8,0xD8), o2(0xE2,0xF6), o2(0xE2,0xF9), + o2(0xE3,0xA2), o2(0xE3,0xA1), o2(0xCB,0xE1), o2(0xE2,0xFE), + o2(0xB0,0xEB), o2(0xE3,0xA4), o2(0xE3,0xA3), UNDEF, +}; +static const BYTE_LOOKUP +to_EUC_JP_E7_A3 = { + to_SHIFT_JIS_E7_A3_offsets, + to_EUC_JP_E7_A3_infos +}; + +static const struct byte_lookup* const +to_EUC_JP_E7_A4_infos[15] = { + o2(0xBE,0xCC), o2(0xE3,0xA5), o2(0xC1,0xC3), o2(0xE3,0xA7), + o2(0xE3,0xA6), o2(0xE3,0xA8), o2(0xE2,0xE8), o2(0xE2,0xEA), + o2(0xE3,0xAA), o2(0xE3,0xA9), o2(0xFB,0xC1), o2(0xBC,0xA8), + o2(0xCE,0xE9), o2(0xBC,0xD2), UNDEF, +}; +static const BYTE_LOOKUP +to_EUC_JP_E7_A4 = { + to_SHIFT_JIS_E7_A4_offsets, + to_EUC_JP_E7_A4_infos +}; + +static const struct byte_lookup* const +to_EUC_JP_E7_A5_infos[23] = { + o2(0xE3,0xAB), o2(0xB7,0xB7), o2(0xB5,0xC0), o2(0xB5,0xA7), + o2(0xBB,0xE3), o2(0xCD,0xB4), o2(0xE3,0xB1), o2(0xE3,0xB0), + o2(0xC1,0xC4), o2(0xE3,0xAD), o2(0xE3,0xAF), o2(0xBD,0xCB), + o2(0xBF,0xC0), o2(0xE3,0xAE), o2(0xE3,0xAC), o2(0xC7,0xAA), + o2(0xBE,0xCD), o2(0xC9,0xBC), o2(0xBA,0xD7), o2(0xC5,0xF8), + o2(0xE3,0xB2), o2(0xE3,0xB3), UNDEF, +}; +static const BYTE_LOOKUP +to_EUC_JP_E7_A5 = { + to_SHIFT_JIS_E7_A5_offsets, + to_EUC_JP_E7_A5_infos +}; + +static const struct byte_lookup* const +to_EUC_JP_E7_A6_infos[23] = { + o2(0xE3,0xC9), o2(0xB6,0xD8), o2(0xCF,0xBD), o2(0xC1,0xB5), + o2(0xE3,0xB4), o2(0xB2,0xD2), o2(0xC4,0xF7), o2(0xCA,0xA1), + o2(0xFB,0xC5), o2(0xFB,0xC7), o2(0xE3,0xB5), o2(0xB5,0xFA), + o2(0xE3,0xB6), o2(0xE3,0xB8), o2(0xE3,0xB9), o2(0xC7,0xA9), + o2(0xE3,0xBA), o2(0xE3,0xBB), o2(0xE3,0xBC), o2(0xB6,0xD9), + o2(0xB2,0xD3), o2(0xC6,0xC5), UNDEF, +}; +static const BYTE_LOOKUP +to_EUC_JP_E7_A6 = { + to_SHIFT_JIS_E7_A6_offsets, + to_EUC_JP_E7_A6_infos +}; + +static const struct byte_lookup* const +to_EUC_JP_E7_A7_infos[19] = { + o2(0xBD,0xA8), o2(0xBB,0xE4), o2(0xE3,0xBD), o2(0xBD,0xA9), + o2(0xB2,0xCA), o2(0xC9,0xC3), o2(0xE3,0xBE), o2(0xC8,0xEB), + o2(0xC1,0xC5), o2(0xE3,0xC1), o2(0xE3,0xC2), o2(0xC7,0xE9), + o2(0xBF,0xC1), o2(0xE3,0xBF), o2(0xC3,0xE1), o2(0xE3,0xC0), + o2(0xBE,0xCE), o2(0xB0,0xDC), UNDEF, +}; +static const BYTE_LOOKUP +to_EUC_JP_E7_A7 = { + to_SHIFT_JIS_E7_A7_offsets, + to_EUC_JP_E7_A7_infos +}; + +static const struct byte_lookup* const +to_EUC_JP_E7_A8_infos[23] = { + o2(0xB5,0xA9), o2(0xE3,0xC3), o2(0xC4,0xF8), o2(0xE3,0xC4), + o2(0xC0,0xC7), o2(0xCC,0xAD), o2(0xC9,0xA3), o2(0xE3,0xC5), + o2(0xE3,0xC6), o2(0xC3,0xD5), o2(0xCE,0xC7), o2(0xE3,0xC8), + o2(0xE3,0xC7), o2(0xBC,0xEF), o2(0xE3,0xCA), o2(0xB0,0xF0), + o2(0xE3,0xCD), o2(0xE3,0xCB), o2(0xB2,0xD4), o2(0xB7,0xCE), + o2(0xE3,0xCC), o2(0xB9,0xC6), UNDEF, +}; +static const BYTE_LOOKUP +to_EUC_JP_E7_A8 = { + to_SHIFT_JIS_E7_A8_offsets, + to_EUC_JP_E7_A8_infos +}; + +static const struct byte_lookup* const +to_EUC_JP_E7_A9_infos[23] = { + o2(0xB9,0xF2), o2(0xCA,0xE6), o2(0xE3,0xCE), o2(0xCB,0xD4), + o2(0xE3,0xD0), o2(0xC0,0xD1), o2(0xB1,0xCF), o2(0xB2,0xBA), + o2(0xB0,0xAC), o2(0xE3,0xCF), o2(0xE3,0xD1), o2(0xE3,0xD2), + o2(0xBE,0xF7), o2(0xE3,0xD3), o2(0xB3,0xCF), o2(0xE3,0xD5), + o2(0xB7,0xEA), o2(0xB5,0xE6), o2(0xE3,0xD6), o2(0xB6,0xF5), + o2(0xE3,0xD7), o2(0xC0,0xFC), UNDEF, +}; +static const BYTE_LOOKUP +to_EUC_JP_E7_A9 = { + to_SHIFT_JIS_E7_A9_offsets, + to_EUC_JP_E7_A9_infos +}; + +static const struct byte_lookup* const +to_EUC_JP_E7_AA_infos[20] = { + o2(0xC6,0xCD), o2(0xC0,0xE0), o2(0xBA,0xF5), o2(0xE3,0xD8), + o2(0xC3,0xE2), o2(0xC1,0xEB), o2(0xE3,0xDA), o2(0xE3,0xDC), + o2(0xE3,0xD9), o2(0xE3,0xDB), o2(0xB7,0xA2), o2(0xE3,0xDD), + o2(0xB7,0xA6), o2(0xB5,0xE7), o2(0xCD,0xD2), o2(0xE3,0xDF), + o2(0xE3,0xE0), o2(0xB1,0xAE), o2(0xE3,0xE3), UNDEF, +}; +static const BYTE_LOOKUP +to_EUC_JP_E7_AA = { + to_SHIFT_JIS_E7_AA_offsets, + to_EUC_JP_E7_AA_infos +}; + +static const struct byte_lookup* const +to_EUC_JP_E7_AB_infos[36] = { + o2(0xB3,0xF6), o2(0xE3,0xE2), o2(0xE3,0xE1), o2(0xE3,0xE5), + o2(0xE3,0xDE), o2(0xE3,0xE6), o2(0xCE,0xA9), o2(0xE3,0xE7), + o2(0xE3,0xE8), o2(0xFB,0xC8), o2(0xD4,0xF4), o2(0xE3,0xEA), + o2(0xE3,0xE9), o2(0xE3,0xEB), o2(0xE3,0xEC), o2(0xCE,0xB5), + o2(0xE3,0xED), o2(0xF0,0xEF), o2(0xBE,0xCF), o2(0xE3,0xEE), + o2(0xE3,0xEF), o2(0xBD,0xD7), o2(0xC6,0xB8), o2(0xE3,0xF0), + o2(0xFB,0xC9), o2(0xC3,0xA8), o2(0xFB,0xCB), o2(0xE3,0xF1), + o2(0xC3,0xBC), o2(0xE3,0xF2), o2(0xB6,0xA5), o2(0xD1,0xBF), + o2(0xC3,0xDD), o2(0xBC,0xB3), o2(0xB4,0xC8), UNDEF, +}; +static const BYTE_LOOKUP +to_EUC_JP_E7_AB = { + to_SHIFT_JIS_E7_AB_offsets, + to_EUC_JP_E7_AB_infos +}; + +static const struct byte_lookup* const +to_EUC_JP_E7_AC_infos[22] = { + o2(0xE3,0xF3), o2(0xE4,0xA2), o2(0xE3,0xF6), o2(0xB5,0xE8), + o2(0xE3,0xF5), o2(0xE4,0xA4), o2(0xE3,0xF4), o2(0xBE,0xD0), + o2(0xE3,0xF8), o2(0xE3,0xF9), o2(0xC5,0xAB), o2(0xE3,0xFA), + o2(0xB3,0xDE), o2(0xBF,0xDA), o2(0xC9,0xE4), o2(0xE3,0xFC), + o2(0xC2,0xE8), o2(0xE3,0xF7), o2(0xE3,0xFB), o2(0xE3,0xFD), + o2(0xBA,0xFB), UNDEF, +}; +static const BYTE_LOOKUP +to_EUC_JP_E7_AC = { + to_SHIFT_JIS_E7_AC_offsets, + to_EUC_JP_E7_AC_infos +}; + +static const struct byte_lookup* const +to_EUC_JP_E7_AD_infos[24] = { + o2(0xE4,0xA6), o2(0xC9,0xAE), o2(0xC8,0xA6), o2(0xC5,0xF9), + o2(0xB6,0xDA), o2(0xE4,0xA5), o2(0xE4,0xA3), o2(0xC8,0xB5), + o2(0xE3,0xFE), o2(0xC3,0xDE), o2(0xC5,0xFB), o2(0xC5,0xFA), + o2(0xBA,0xF6), o2(0xE4,0xB8), o2(0xE4,0xA8), o2(0xE4,0xAA), + o2(0xE4,0xAD), o2(0xE4,0xAE), o2(0xE4,0xAB), o2(0xE4,0xAC), + o2(0xE4,0xA9), o2(0xE4,0xA7), o2(0xE4,0xA1), UNDEF, +}; +static const BYTE_LOOKUP +to_EUC_JP_E7_AD = { + to_SHIFT_JIS_E7_AD_offsets, + to_EUC_JP_E7_AD_infos +}; + +static const struct byte_lookup* const +to_EUC_JP_E7_AE_infos[23] = { + o2(0xCA,0xCF), o2(0xB2,0xD5), o2(0xE4,0xB5), o2(0xE4,0xB2), + o2(0xE4,0xB7), o2(0xE4,0xB6), o2(0xC7,0xF3), o2(0xCC,0xA7), + o2(0xBB,0xBB), o2(0xE4,0xB0), o2(0xE4,0xB9), o2(0xE4,0xB4), + o2(0xE4,0xB3), o2(0xE4,0xAF), o2(0xFB,0xCC), o2(0xE4,0xB1), + o2(0xB4,0xC9), o2(0xC3,0xBD), o2(0xC0,0xFD), o2(0xC8,0xA2), + o2(0xE4,0xBE), o2(0xC8,0xA4), UNDEF, +}; +static const BYTE_LOOKUP +to_EUC_JP_E7_AE = { + to_SHIFT_JIS_E7_AE_offsets, + to_EUC_JP_E7_AE_infos +}; + +static const struct byte_lookup* const +to_EUC_JP_E7_AF_infos[20] = { + o2(0xC0,0xE1), o2(0xE4,0xBB), o2(0xC8,0xCF), o2(0xE4,0xBF), + o2(0xCA,0xD3), o2(0xC3,0xDB), o2(0xE4,0xBA), o2(0xE4,0xBC), + o2(0xE4,0xBD), o2(0xE4,0xC0), o2(0xBC,0xC4), o2(0xC6,0xC6), + o2(0xE4,0xC5), o2(0xE4,0xC4), o2(0xE4,0xC1), o2(0xCF,0xB6), + o2(0xE4,0xCA), o2(0xE4,0xCE), o2(0xE4,0xCB), UNDEF, +}; +static const BYTE_LOOKUP +to_EUC_JP_E7_AF = { + to_SHIFT_JIS_E7_AF_offsets, + to_EUC_JP_E7_AF_infos +}; + +static const struct byte_lookup* const +to_EUC_JP_E7_B0_infos[20] = { + o2(0xE4,0xC7), o2(0xE4,0xC8), o2(0xE4,0xCD), o2(0xE4,0xC2), + o2(0xD2,0xD5), o2(0xE4,0xC9), o2(0xE4,0xC3), o2(0xE4,0xCC), + o2(0xE4,0xD2), o2(0xB4,0xCA), o2(0xE4,0xCF), o2(0xE4,0xD0), + o2(0xE4,0xD1), o2(0xE4,0xD4), o2(0xE4,0xD3), o2(0xC8,0xF6), + o2(0xE4,0xD5), o2(0xCE,0xFC), o2(0xCA,0xED), UNDEF, +}; +static const BYTE_LOOKUP +to_EUC_JP_E7_B0 = { + to_SHIFT_JIS_E7_B0_offsets, + to_EUC_JP_E7_B0_infos +}; + +static const struct byte_lookup* const +to_EUC_JP_E7_B1_infos[18] = { + o2(0xE4,0xDA), o2(0xE4,0xD7), o2(0xE4,0xD6), o2(0xC0,0xD2), + o2(0xE4,0xD9), o2(0xE4,0xDB), o2(0xE4,0xD8), o2(0xE4,0xDF), + o2(0xE4,0xDC), o2(0xE4,0xDD), o2(0xE4,0xC6), o2(0xE4,0xDE), + o2(0xE4,0xE0), o2(0xE4,0xE1), o2(0xCA,0xC6), o2(0xE4,0xE2), + o2(0xCC,0xE2), UNDEF, +}; +static const BYTE_LOOKUP +to_EUC_JP_E7_B1 = { + to_SHIFT_JIS_E7_B1_offsets, + to_EUC_JP_E7_B1_infos +}; + +static const struct byte_lookup* const +to_EUC_JP_E7_B2_infos[29] = { + o2(0xB6,0xCE), o2(0xB7,0xA9), o2(0xE4,0xE3), o2(0xCA,0xB4), + o2(0xBF,0xE8), o2(0xCC,0xB0), o2(0xE4,0xE4), o2(0xCE,0xB3), + o2(0xC7,0xF4), o2(0xC1,0xC6), o2(0xC7,0xB4), o2(0xBD,0xCD), + o2(0xB0,0xC0), o2(0xE4,0xE9), o2(0xE4,0xE7), o2(0xE4,0xE5), + o2(0xB4,0xA1), o2(0xBE,0xD1), o2(0xE4,0xEA), o2(0xE4,0xE8), + o2(0xE4,0xE6), o2(0xE4,0xEE), o2(0xE4,0xED), o2(0xE4,0xEC), + o2(0xE4,0xEB), o2(0xE4,0xEF), o2(0xE4,0xF0), o2(0xC0,0xBA), + UNDEF, +}; +static const BYTE_LOOKUP +to_EUC_JP_E7_B2 = { + to_SHIFT_JIS_E7_B2_offsets, + to_EUC_JP_E7_B2_infos +}; + +static const struct byte_lookup* const +to_EUC_JP_E7_B3_infos[23] = { + o2(0xE4,0xF1), o2(0xE4,0xF3), o2(0xE4,0xF2), o2(0xB8,0xD2), + o2(0xC1,0xB8), o2(0xE4,0xF5), o2(0xC5,0xFC), o2(0xE4,0xF4), + o2(0xE4,0xF6), o2(0xCA,0xB5), o2(0xC1,0xEC), o2(0xB9,0xC7), + o2(0xE4,0xF7), o2(0xCE,0xC8), o2(0xE4,0xF9), o2(0xE4,0xFA), + o2(0xE4,0xFB), o2(0xE4,0xFC), o2(0xBB,0xE5), o2(0xE4,0xFD), + o2(0xB7,0xCF), o2(0xB5,0xEA), UNDEF, +}; +static const BYTE_LOOKUP +to_EUC_JP_E7_B3 = { + to_SHIFT_JIS_E7_B3_offsets, + to_EUC_JP_E7_B3_infos +}; + +static const struct byte_lookup* const +to_EUC_JP_E7_B4_infos[32] = { + o2(0xB5,0xAA), o2(0xE5,0xA1), o2(0xCC,0xF3), o2(0xB9,0xC8), + o2(0xE4,0xFE), o2(0xE5,0xA4), o2(0xCC,0xE6), o2(0xC7,0xBC), + o2(0xC9,0xB3), o2(0xBD,0xE3), o2(0xE5,0xA3), o2(0xBC,0xD3), + o2(0xB9,0xC9), o2(0xBB,0xE6), o2(0xB5,0xE9), o2(0xCA,0xB6), + o2(0xE5,0xA2), o2(0xC1,0xC7), o2(0xCB,0xC2), o2(0xBA,0xF7), + o2(0xBB,0xE7), o2(0xC4,0xDD), o2(0xE5,0xA7), o2(0xCE,0xDF), + o2(0xBA,0xD9), o2(0xE5,0xA8), o2(0xBF,0xC2), o2(0xE5,0xAA), + o2(0xBE,0xD2), o2(0xBA,0xB0), o2(0xE5,0xA9), UNDEF, +}; +static const BYTE_LOOKUP +to_EUC_JP_E7_B4 = { + to_SHIFT_JIS_E7_B4_offsets, + to_EUC_JP_E7_B4_infos +}; + +static const struct byte_lookup* const +to_EUC_JP_E7_B5_infos[29] = { + o2(0xBD,0xAA), o2(0xB8,0xBE), o2(0xC1,0xC8), o2(0xE5,0xA5), + o2(0xE5,0xAB), o2(0xFB,0xCE), o2(0xE5,0xA6), o2(0xB7,0xD0), + o2(0xE5,0xAE), o2(0xE5,0xB2), o2(0xB7,0xEB), o2(0xE5,0xAD), + o2(0xE5,0xB6), o2(0xFB,0xCF), o2(0xB9,0xCA), o2(0xCD,0xED), + o2(0xB0,0xBC), o2(0xE5,0xB3), o2(0xB5,0xEB), o2(0xE5,0xB0), + o2(0xE5,0xB1), o2(0xC5,0xFD), o2(0xE5,0xAF), o2(0xE5,0xAC), + o2(0xB3,0xA8), o2(0xC0,0xE4), o2(0xB8,0xA8), o2(0xE5,0xB8), + UNDEF, +}; +static const BYTE_LOOKUP +to_EUC_JP_E7_B5 = { + to_SHIFT_JIS_E7_B5_offsets, + to_EUC_JP_E7_B5_infos +}; + +static const struct byte_lookup* const +to_EUC_JP_E7_B6_infos[29] = { + o2(0xE5,0xB5), o2(0xE5,0xB7), o2(0xE5,0xB4), o2(0xB7,0xD1), + o2(0xC2,0xB3), o2(0xE5,0xB9), o2(0xC1,0xEE), o2(0xE5,0xC6), + o2(0xFB,0xD1), o2(0xE5,0xC2), o2(0xE5,0xBC), o2(0xE5,0xC0), + o2(0xBC,0xFA), o2(0xB0,0xDD), o2(0xE5,0xBB), o2(0xE5,0xC3), + o2(0xE5,0xC7), o2(0xB9,0xCB), o2(0xCC,0xD6), o2(0xC4,0xD6), + o2(0xE5,0xBD), o2(0xFB,0xD0), o2(0xE5,0xC5), o2(0xE5,0xBA), + o2(0xC3,0xBE), o2(0xE5,0xBF), o2(0xB0,0xBD), o2(0xCC,0xCA), + UNDEF, +}; +static const BYTE_LOOKUP +to_EUC_JP_E7_B6 = { + to_SHIFT_JIS_E7_B6_offsets, + to_EUC_JP_E7_B6_infos +}; + +static const struct byte_lookup* const +to_EUC_JP_E7_B7_infos[24] = { + o2(0xE5,0xBE), o2(0xB6,0xDB), o2(0xC8,0xEC), o2(0xC1,0xED), + o2(0xCE,0xD0), o2(0xBD,0xEF), o2(0xE5,0xEE), o2(0xFB,0xD2), + o2(0xE5,0xC8), o2(0xC0,0xFE), o2(0xE5,0xC4), o2(0xE5,0xC9), + o2(0xE5,0xCB), o2(0xC4,0xF9), o2(0xE5,0xCE), o2(0xE5,0xCA), + o2(0xCA,0xD4), o2(0xB4,0xCB), o2(0xCC,0xCB), o2(0xB0,0xDE), + o2(0xE5,0xCD), o2(0xCE,0xFD), o2(0xE5,0xCC), UNDEF, +}; +static const BYTE_LOOKUP +to_EUC_JP_E7_B7 = { + to_SHIFT_JIS_E7_B7_offsets, + to_EUC_JP_E7_B7_infos +}; + +static const struct byte_lookup* const +to_EUC_JP_E7_B8_infos[26] = { + o2(0xB1,0xEF), o2(0xC6,0xEC), o2(0xE5,0xCF), o2(0xE5,0xD6), + o2(0xE5,0xD0), o2(0xE5,0xD7), o2(0xE5,0xD3), o2(0xC7,0xFB), + o2(0xBC,0xCA), o2(0xE5,0xD5), o2(0xE5,0xD2), o2(0xE5,0xD8), + o2(0xE5,0xD1), o2(0xBD,0xC4), o2(0xCB,0xA5), o2(0xBD,0xCC), + o2(0xE5,0xD4), o2(0xE5,0xE0), o2(0xE5,0xDC), o2(0xE5,0xDF), + o2(0xE5,0xDD), o2(0xE5,0xE1), o2(0xE5,0xDB), o2(0xE5,0xC1), + o2(0xC0,0xD3), UNDEF, +}; +static const BYTE_LOOKUP +to_EUC_JP_E7_B8 = { + to_SHIFT_JIS_E7_B8_offsets, + to_EUC_JP_E7_B8_infos +}; + +static const struct byte_lookup* const +to_EUC_JP_E7_B9_infos[26] = { + o2(0xC8,0xCB), o2(0xE5,0xDE), o2(0xE5,0xD9), o2(0xC1,0xA1), + o2(0xB7,0xD2), o2(0xBD,0xAB), o2(0xFB,0xD3), o2(0xBF,0xA5), + o2(0xC1,0xB6), o2(0xE5,0xE4), o2(0xE5,0xE6), o2(0xE5,0xE7), + o2(0xE5,0xE3), o2(0xE5,0xE5), o2(0xE5,0xDA), o2(0xE5,0xE2), + o2(0xE5,0xEA), o2(0xE5,0xE9), o2(0xCB,0xFA), o2(0xB7,0xAB), + o2(0xE5,0xE8), o2(0xE5,0xEC), o2(0xE5,0xEB), o2(0xE5,0xEF), + o2(0xE5,0xF1), UNDEF, +}; +static const BYTE_LOOKUP +to_EUC_JP_E7_B9 = { + to_SHIFT_JIS_E7_B9_offsets, + to_EUC_JP_E7_B9_infos +}; + +static const struct byte_lookup* const +to_EUC_JP_E7_BA_infos[16] = { + o2(0xBB,0xBC), o2(0xE5,0xED), o2(0xE5,0xF2), o2(0xE5,0xF3), + o2(0xF9,0xA1), o2(0xE5,0xF4), o2(0xE5,0xFA), o2(0xC5,0xBB), + o2(0xE5,0xF6), o2(0xE5,0xF5), o2(0xE5,0xF7), o2(0xE5,0xF8), + o2(0xE5,0xF9), o2(0xE5,0xFB), o2(0xE5,0xFC), UNDEF, +}; +static const BYTE_LOOKUP +to_EUC_JP_E7_BA = { + to_SHIFT_JIS_E7_BA_offsets, + to_EUC_JP_E7_BA_infos +}; + +static const struct byte_lookup* const +to_EUC_JP_E7_BC_infos[4] = { + o2(0xB4,0xCC), o2(0xE5,0xFD), o2(0xE5,0xFE), UNDEF, +}; +static const BYTE_LOOKUP +to_EUC_JP_E7_BC = { + to_SHIFT_JIS_E7_BC_offsets, + to_EUC_JP_E7_BC_infos +}; + +static const struct byte_lookup* const +to_EUC_JP_E7_BD_infos[25] = { + o2(0xE6,0xA1), o2(0xFB,0xD4), o2(0xE6,0xA2), o2(0xE6,0xA3), + o2(0xE6,0xA4), o2(0xE6,0xA5), o2(0xE6,0xA6), o2(0xE6,0xA8), + o2(0xE6,0xA7), o2(0xE6,0xA9), o2(0xE6,0xAA), o2(0xE6,0xAB), + o2(0xE6,0xAE), o2(0xE6,0xAC), o2(0xE6,0xAD), o2(0xBA,0xE1), + o2(0xB7,0xD3), o2(0xC3,0xD6), o2(0xC8,0xB3), o2(0xBD,0xF0), + o2(0xC7,0xCD), o2(0xC8,0xED), o2(0xE6,0xAF), o2(0xD8,0xED), + UNDEF, +}; +static const BYTE_LOOKUP +to_EUC_JP_E7_BD = { + to_SHIFT_JIS_E7_BD_offsets, + to_EUC_JP_E7_BD_infos +}; + +static const struct byte_lookup* const +to_EUC_JP_E7_BE_infos[26] = { + o2(0xE6,0xB0), o2(0xE6,0xB2), o2(0xCD,0xE5), o2(0xE6,0xB1), + o2(0xE6,0xB4), o2(0xE6,0xB3), o2(0xCD,0xD3), o2(0xE6,0xB5), + o2(0xC8,0xFE), o2(0xE6,0xB6), o2(0xE6,0xB9), o2(0xE6,0xB8), + o2(0xE6,0xB7), o2(0xFB,0xD5), o2(0xE6,0xBA), o2(0xB7,0xB2), + o2(0xC1,0xA2), o2(0xB5,0xC1), o2(0xE6,0xBE), o2(0xE6,0xBB), + o2(0xE6,0xBC), o2(0xE6,0xBF), o2(0xE6,0xC0), o2(0xE6,0xBD), + o2(0xB1,0xA9), UNDEF, +}; +static const BYTE_LOOKUP +to_EUC_JP_E7_BE = { + to_SHIFT_JIS_E7_BE_offsets, + to_EUC_JP_E7_BE_infos +}; + +static const struct byte_lookup* const +to_EUC_JP_E7_BF_infos[19] = { + o2(0xB2,0xA7), o2(0xE6,0xC2), o2(0xE6,0xC3), o2(0xE6,0xC4), + o2(0xCD,0xE2), o2(0xBD,0xAC), o2(0xE6,0xC6), o2(0xE6,0xC5), + o2(0xBF,0xE9), o2(0xE6,0xC7), o2(0xE6,0xC8), o2(0xE6,0xC9), + o2(0xB4,0xE5), o2(0xB4,0xCD), o2(0xE6,0xCA), o2(0xE6,0xCB), + o2(0xCB,0xDD), o2(0xCD,0xE3), UNDEF, +}; +static const BYTE_LOOKUP +to_EUC_JP_E7_BF = { + to_SHIFT_JIS_E7_BF_offsets, + to_EUC_JP_E7_BF_infos +}; + +static const struct byte_lookup* const +to_EUC_JP_E7_infos[64] = { + &to_EUC_JP_E7_80, &to_EUC_JP_E7_81, &to_EUC_JP_E7_82, &to_EUC_JP_E7_83, + &to_EUC_JP_E7_84, &to_EUC_JP_E7_85, &to_EUC_JP_E7_86, &to_EUC_JP_E7_87, + &to_EUC_JP_E7_88, &to_EUC_JP_E7_89, &to_EUC_JP_E7_8A, &to_EUC_JP_E7_8B, + &to_EUC_JP_E7_8C, &to_EUC_JP_E7_8D, &to_EUC_JP_E7_8E, &to_EUC_JP_E7_8F, + &to_EUC_JP_E7_90, &to_EUC_JP_E7_91, &to_EUC_JP_E7_92, &to_EUC_JP_E7_93, + &to_EUC_JP_E7_94, &to_EUC_JP_E7_95, &to_EUC_JP_E7_96, &to_EUC_JP_E7_97, + &to_EUC_JP_E7_98, &to_EUC_JP_E7_99, &to_EUC_JP_E7_9A, &to_EUC_JP_E7_9B, + &to_EUC_JP_E7_9C, &to_EUC_JP_E7_9D, &to_EUC_JP_E7_9E, &to_EUC_JP_E7_9F, + &to_EUC_JP_E7_A0, &to_EUC_JP_E7_A1, &to_EUC_JP_E7_A2, &to_EUC_JP_E7_A3, + &to_EUC_JP_E7_A4, &to_EUC_JP_E7_A5, &to_EUC_JP_E7_A6, &to_EUC_JP_E7_A7, + &to_EUC_JP_E7_A8, &to_EUC_JP_E7_A9, &to_EUC_JP_E7_AA, &to_EUC_JP_E7_AB, + &to_EUC_JP_E7_AC, &to_EUC_JP_E7_AD, &to_EUC_JP_E7_AE, &to_EUC_JP_E7_AF, + &to_EUC_JP_E7_B0, &to_EUC_JP_E7_B1, &to_EUC_JP_E7_B2, &to_EUC_JP_E7_B3, + &to_EUC_JP_E7_B4, &to_EUC_JP_E7_B5, &to_EUC_JP_E7_B6, &to_EUC_JP_E7_B7, + &to_EUC_JP_E7_B8, &to_EUC_JP_E7_B9, &to_EUC_JP_E7_BA, &to_EUC_JP_E7_BC, + &to_EUC_JP_E7_BD, &to_EUC_JP_E7_BE, &to_EUC_JP_E7_BF, UNDEF, +}; +static const BYTE_LOOKUP +to_EUC_JP_E7 = { + to_SHIFT_JIS_E7_offsets, + to_EUC_JP_E7_infos +}; + +static const struct byte_lookup* const +to_EUC_JP_E8_80_infos[23] = { + o2(0xCD,0xD4), o2(0xCF,0xB7), o2(0xB9,0xCD), o2(0xE6,0xCE), + o2(0xBC,0xD4), o2(0xE6,0xCD), o2(0xE6,0xCF), o2(0xBC,0xA9), + o2(0xC2,0xD1), o2(0xE6,0xD0), o2(0xB9,0xCC), o2(0xCC,0xD7), + o2(0xE6,0xD1), o2(0xE6,0xD2), o2(0xE6,0xD3), o2(0xE6,0xD4), + o2(0xE6,0xD5), o2(0xBC,0xAA), o2(0xCC,0xED), o2(0xE6,0xD7), + o2(0xC3,0xBF), o2(0xE6,0xD6), UNDEF, +}; +static const BYTE_LOOKUP +to_EUC_JP_E8_80 = { + to_SHIFT_JIS_E8_80_offsets, + to_EUC_JP_E8_80_infos +}; + +static const struct byte_lookup* const +to_EUC_JP_E8_81_infos[23] = { + o2(0xE6,0xD9), o2(0xE6,0xD8), o2(0xE6,0xDA), o2(0xC0,0xBB), + o2(0xE6,0xDB), o2(0xE6,0xDC), o2(0xCA,0xB9), o2(0xE6,0xDD), + o2(0xC1,0xEF), o2(0xE6,0xDE), o2(0xE6,0xDF), o2(0xCE,0xFE), + o2(0xE6,0xE2), o2(0xE6,0xE1), o2(0xE6,0xE0), o2(0xC4,0xB0), + o2(0xE6,0xE3), o2(0xBF,0xA6), o2(0xE6,0xE4), o2(0xE6,0xE5), + o2(0xCF,0xB8), o2(0xE6,0xE6), UNDEF, +}; +static const BYTE_LOOKUP +to_EUC_JP_E8_81 = { + to_SHIFT_JIS_E8_81_offsets, + to_EUC_JP_E8_81_infos +}; + +static const struct byte_lookup* const +to_EUC_JP_E8_82_infos[26] = { + o2(0xE6,0xE7), o2(0xE6,0xE9), o2(0xE6,0xE8), o2(0xC8,0xA5), + o2(0xC6,0xF9), o2(0xCF,0xBE), o2(0xC8,0xA9), o2(0xE6,0xEB), + o2(0xBE,0xD3), o2(0xC9,0xAA), o2(0xE6,0xEC), o2(0xE6,0xEA), + o2(0xB4,0xCE), o2(0xB8,0xD4), o2(0xBB,0xE8), o2(0xC8,0xEE), + o2(0xB8,0xAA), o2(0xCB,0xC3), o2(0xE6,0xEF), o2(0xE6,0xED), + o2(0xB9,0xCE), o2(0xB9,0xCF), o2(0xB0,0xE9), o2(0xBA,0xE8), + o2(0xC7,0xD9), UNDEF, +}; +static const BYTE_LOOKUP +to_EUC_JP_E8_82 = { + to_SHIFT_JIS_E8_82_offsets, + to_EUC_JP_E8_82_infos +}; + +static const struct byte_lookup* const +to_EUC_JP_E8_83_infos[21] = { + o2(0xB0,0xDF), o2(0xE6,0xF4), o2(0xC3,0xC0), o2(0xC7,0xD8), + o2(0xC2,0xDB), o2(0xE6,0xF6), o2(0xE6,0xF2), o2(0xE6,0xF5), + o2(0xE6,0xF0), o2(0xE6,0xF3), o2(0xCB,0xA6), o2(0xB8,0xD5), + o2(0xB0,0xFD), o2(0xE6,0xF1), o2(0xE6,0xF8), o2(0xE6,0xF9), + o2(0xC6,0xB9), o2(0xB6,0xBB), o2(0xE7,0xA6), o2(0xC7,0xBD), + UNDEF, +}; +static const BYTE_LOOKUP +to_EUC_JP_E8_83 = { + to_SHIFT_JIS_E8_83_offsets, + to_EUC_JP_E8_83_infos +}; + +static const struct byte_lookup* const +to_EUC_JP_E8_84_infos[17] = { + o2(0xBB,0xE9), o2(0xB6,0xBC), o2(0xC0,0xC8), o2(0xCF,0xC6), + o2(0xCC,0xAE), o2(0xE6,0xF7), o2(0xC0,0xD4), o2(0xB5,0xD3), + o2(0xE6,0xFA), o2(0xE6,0xFC), o2(0xE6,0xFB), o2(0xE6,0xFD), + o2(0xC3,0xA6), o2(0xC7,0xBE), o2(0xC4,0xB1), o2(0xE7,0xA3), + UNDEF, +}; +static const BYTE_LOOKUP +to_EUC_JP_E8_84 = { + to_SHIFT_JIS_E8_84_offsets, + to_EUC_JP_E8_84_infos +}; + +static const struct byte_lookup* const +to_EUC_JP_E8_85_infos[21] = { + o2(0xE7,0xA2), o2(0xE6,0xFE), o2(0xBF,0xD5), o2(0xC9,0xE5), + o2(0xE7,0xA5), o2(0xE7,0xA4), o2(0xB9,0xD0), o2(0xCF,0xD3), + o2(0xE7,0xB5), o2(0xE7,0xA9), o2(0xE7,0xAA), o2(0xBC,0xF0), + o2(0xE7,0xA8), o2(0xB9,0xF8), o2(0xE7,0xA7), o2(0xE7,0xAB), + o2(0xC4,0xB2), o2(0xCA,0xA2), o2(0xC1,0xA3), o2(0xC2,0xDC), + UNDEF, +}; +static const BYTE_LOOKUP +to_EUC_JP_E8_85 = { + to_SHIFT_JIS_E8_85_offsets, + to_EUC_JP_E8_85_infos +}; + +static const struct byte_lookup* const +to_EUC_JP_E8_86_infos[25] = { + o2(0xE7,0xAF), o2(0xE7,0xB0), o2(0xE7,0xAC), o2(0xE7,0xAD), + o2(0xE7,0xAE), o2(0xB9,0xD1), o2(0xE7,0xB6), o2(0xE7,0xB2), + o2(0xC9,0xE6), o2(0xCB,0xEC), o2(0xC9,0xA8), o2(0xE7,0xB1), + o2(0xE7,0xB4), o2(0xE7,0xB3), o2(0xCB,0xC4), o2(0xE7,0xB7), + o2(0xE7,0xB8), o2(0xC1,0xB7), o2(0xE7,0xB9), o2(0xE7,0xBB), + o2(0xE7,0xBF), o2(0xE7,0xBC), o2(0xE7,0xBA), o2(0xC7,0xBF), + UNDEF, +}; +static const BYTE_LOOKUP +to_EUC_JP_E8_86 = { + to_SHIFT_JIS_E8_86_offsets, + to_EUC_JP_E8_86_infos +}; + +static const struct byte_lookup* const +to_EUC_JP_E8_87_infos[26] = { + o2(0xE7,0xBD), o2(0xE7,0xBE), o2(0xB2,0xB2), o2(0xE7,0xC5), + o2(0xE7,0xC0), o2(0xE7,0xC1), o2(0xE7,0xC2), o2(0xC2,0xA1), + o2(0xE7,0xC4), o2(0xE7,0xC3), o2(0xE7,0xC6), o2(0xE7,0xC7), + o2(0xE7,0xC8), o2(0xBF,0xC3), o2(0xB2,0xE9), o2(0xE7,0xC9), + o2(0xCE,0xD7), o2(0xBC,0xAB), o2(0xBD,0xAD), o2(0xBB,0xEA), + o2(0xC3,0xD7), o2(0xE7,0xCA), o2(0xE7,0xCB), o2(0xB1,0xB1), + o2(0xE7,0xCC), UNDEF, +}; +static const BYTE_LOOKUP +to_EUC_JP_E8_87 = { + to_SHIFT_JIS_E8_87_offsets, + to_EUC_JP_E8_87_infos +}; + +static const struct byte_lookup* const +to_EUC_JP_E8_88_infos[31] = { + o2(0xE7,0xCD), o2(0xE7,0xCE), o2(0xE7,0xCF), o2(0xE7,0xD0), + o2(0xB6,0xBD), o2(0xDA,0xAA), o2(0xE7,0xD1), o2(0xC0,0xE5), + o2(0xE7,0xD2), o2(0xBC,0xCB), o2(0xE7,0xD3), o2(0xD0,0xB0), + o2(0xE7,0xD4), o2(0xCA,0xDE), o2(0xB4,0xDC), o2(0xC1,0xA4), + o2(0xBD,0xD8), o2(0xC9,0xF1), o2(0xBD,0xAE), o2(0xE7,0xD5), + o2(0xB9,0xD2), o2(0xE7,0xD6), o2(0xC8,0xCC), o2(0xE7,0xE4), + o2(0xE7,0xD8), o2(0xC2,0xC9), o2(0xC7,0xF5), o2(0xB8,0xBF), + o2(0xE7,0xD7), o2(0xC1,0xA5), UNDEF, +}; +static const BYTE_LOOKUP +to_EUC_JP_E8_88 = { + to_SHIFT_JIS_E8_88_offsets, + to_EUC_JP_E8_88_infos +}; + +static const struct byte_lookup* const +to_EUC_JP_E8_89_infos[22] = { + o2(0xE7,0xD9), o2(0xC4,0xFA), o2(0xE7,0xDB), o2(0xE7,0xDA), + o2(0xE7,0xDD), o2(0xE7,0xDC), o2(0xE7,0xDE), o2(0xE7,0xE0), + o2(0xE7,0xDF), o2(0xB4,0xCF), o2(0xE7,0xE1), o2(0xE7,0xE2), + o2(0xE7,0xE3), o2(0xBA,0xB1), o2(0xCE,0xC9), o2(0xE7,0xE5), + o2(0xBF,0xA7), o2(0xB1,0xF0), o2(0xE7,0xE6), o2(0xE7,0xE7), + o2(0xE7,0xE8), UNDEF, +}; +static const BYTE_LOOKUP +to_EUC_JP_E8_89 = { + to_SHIFT_JIS_E8_89_offsets, + to_EUC_JP_E8_89_infos +}; + +static const struct byte_lookup* const +to_EUC_JP_E8_8A_infos[19] = { + o2(0xB0,0xF2), o2(0xE7,0xE9), o2(0xE7,0xEA), o2(0xC9,0xE7), + o2(0xBC,0xC7), o2(0xE7,0xEC), o2(0xB3,0xA9), o2(0xB0,0xB2), + o2(0xE7,0xEB), o2(0xE7,0xEE), o2(0xC7,0xCE), o2(0xBF,0xC4), + o2(0xB2,0xD6), o2(0xCB,0xA7), o2(0xB7,0xDD), o2(0xB6,0xDC), + o2(0xE7,0xED), o2(0xB2,0xEA), UNDEF, +}; +static const BYTE_LOOKUP +to_EUC_JP_E8_8A = { + to_SHIFT_JIS_E8_8A_offsets, + to_EUC_JP_E8_8A_infos +}; + +static const struct byte_lookup* const +to_EUC_JP_E8_8B_infos[24] = { + o2(0xB4,0xA3), o2(0xB1,0xF1), o2(0xE7,0xF2), o2(0xCE,0xEA), + o2(0xC2,0xDD), o2(0xC9,0xC4), o2(0xE7,0xFE), o2(0xB2,0xD7), + o2(0xE7,0xFC), o2(0xE7,0xFA), o2(0xE7,0xF1), o2(0xE7,0xEF), + o2(0xE7,0xF0), o2(0xBC,0xE3), o2(0xB6,0xEC), o2(0xC3,0xF7), + o2(0xC6,0xD1), o2(0xB1,0xD1), o2(0xE7,0xF4), o2(0xE7,0xF3), + o2(0xE7,0xF9), o2(0xE7,0xF5), o2(0xE7,0xF8), UNDEF, +}; +static const BYTE_LOOKUP +to_EUC_JP_E8_8B = { + to_SHIFT_JIS_E8_8B_offsets, + to_EUC_JP_E8_8B_infos +}; + +static const struct byte_lookup* const +to_EUC_JP_E8_8C_infos[24] = { + o2(0xFB,0xD7), o2(0xCC,0xD0), o2(0xE7,0xF7), o2(0xB2,0xD8), + o2(0xB3,0xFD), o2(0xE7,0xFB), o2(0xE7,0xFD), o2(0xB7,0xD4), + o2(0xE8,0xA3), o2(0xE8,0xAC), o2(0xE8,0xAD), o2(0xB0,0xAB), + o2(0xE8,0xB4), o2(0xB0,0xF1), o2(0xE8,0xAB), o2(0xE8,0xAA), + o2(0xE8,0xA5), o2(0xE8,0xA4), o2(0xE8,0xA2), o2(0xE8,0xA1), + o2(0xC3,0xE3), o2(0xC2,0xFB), o2(0xE8,0xA7), UNDEF, +}; +static const BYTE_LOOKUP +to_EUC_JP_E8_8C = { + to_SHIFT_JIS_E8_8C_offsets, + to_EUC_JP_E8_8C_infos +}; + +static const struct byte_lookup* const +to_EUC_JP_E8_8D_infos[16] = { + o2(0xE8,0xA6), o2(0xE8,0xA9), o2(0xC1,0xF0), o2(0xB7,0xD5), + o2(0xB1,0xC1), o2(0xE8,0xA8), o2(0xB9,0xD3), o2(0xC1,0xF1), + o2(0xFB,0xD8), o2(0xE8,0xBA), o2(0xE8,0xBB), o2(0xB2,0xD9), + o2(0xB2,0xAE), o2(0xE8,0xB8), o2(0xFB,0xD9), UNDEF, +}; +static const BYTE_LOOKUP +to_EUC_JP_E8_8D = { + to_SHIFT_JIS_E8_8D_offsets, + to_EUC_JP_E8_8D_infos +}; + +static const struct byte_lookup* const +to_EUC_JP_E8_8E_infos[19] = { + o2(0xE8,0xAE), o2(0xE8,0xB6), o2(0xE8,0xBD), o2(0xE8,0xB7), + o2(0xE8,0xB5), o2(0xE7,0xF6), o2(0xE8,0xB3), o2(0xE8,0xAF), + o2(0xB4,0xD0), o2(0xE8,0xB1), o2(0xE8,0xBC), o2(0xE8,0xB2), + o2(0xE8,0xBE), o2(0xE8,0xB0), o2(0xC7,0xFC), o2(0xCD,0xE9), + o2(0xE8,0xB9), o2(0xE8,0xCF), UNDEF, +}; +static const BYTE_LOOKUP +to_EUC_JP_E8_8E = { + to_SHIFT_JIS_E8_8E_offsets, + to_EUC_JP_E8_8E_infos +}; + +static const struct byte_lookup* const +to_EUC_JP_E8_8F_infos[24] = { + o2(0xE8,0xC7), o2(0xBF,0xFB), o2(0xFB,0xDA), o2(0xB5,0xC6), + o2(0xB6,0xDD), o2(0xE8,0xC2), o2(0xB2,0xDB), o2(0xBE,0xD4), + o2(0xE8,0xC5), o2(0xBA,0xDA), o2(0xC5,0xD1), o2(0xE8,0xCA), + o2(0xCA,0xEE), o2(0xE8,0xC1), o2(0xB2,0xDA), o2(0xB8,0xD6), + o2(0xC9,0xA9), o2(0xE8,0xCB), o2(0xE8,0xBF), o2(0xFB,0xDB), + o2(0xE8,0xC8), o2(0xE8,0xD2), o2(0xE8,0xC3), UNDEF, +}; +static const BYTE_LOOKUP +to_EUC_JP_E8_8F = { + to_SHIFT_JIS_E8_8F_offsets, + to_EUC_JP_E8_8F_infos +}; + +static const struct byte_lookup* const +to_EUC_JP_E8_90_infos[19] = { + o2(0xE8,0xC4), o2(0xC6,0xBA), o2(0xE8,0xC9), o2(0xE8,0xC6), + o2(0xCB,0xA8), o2(0xE8,0xCC), o2(0xB0,0xE0), o2(0xE8,0xC0), + o2(0xE8,0xCE), o2(0xE8,0xCD), o2(0xC7,0xEB), o2(0xE8,0xD4), + o2(0xE8,0xDF), o2(0xB3,0xFE), o2(0xE8,0xE2), o2(0xE8,0xD0), + o2(0xE8,0xD5), o2(0xCD,0xEE), UNDEF, +}; +static const BYTE_LOOKUP +to_EUC_JP_E8_90 = { + to_SHIFT_JIS_E8_90_offsets, + to_EUC_JP_E8_90_infos +}; + +static const struct byte_lookup* const +to_EUC_JP_E8_91_infos[22] = { + o2(0xE8,0xDE), o2(0xFB,0xDC), o2(0xCD,0xD5), o2(0xCE,0xAA), + o2(0xC3,0xF8), o2(0xB3,0xEB), o2(0xC9,0xF2), o2(0xE8,0xE4), + o2(0xC6,0xA1), o2(0xB0,0xB1), o2(0xE8,0xDD), o2(0xE8,0xD9), + o2(0xC1,0xF2), o2(0xE8,0xD3), o2(0xE8,0xDB), o2(0xE8,0xE0), + o2(0xC7,0xAC), o2(0xB0,0xAA), o2(0xE8,0xD8), o2(0xE8,0xE1), + o2(0xC9,0xF8), UNDEF, +}; +static const BYTE_LOOKUP +to_EUC_JP_E8_91 = { + to_SHIFT_JIS_E8_91_offsets, + to_EUC_JP_E8_91_infos +}; + +static const struct byte_lookup* const +to_EUC_JP_E8_92_infos[18] = { + o2(0xE8,0xDC), o2(0xE8,0xD7), o2(0xBE,0xD5), o2(0xBD,0xAF), + o2(0xBC,0xAC), o2(0xCC,0xD8), o2(0xC9,0xC7), o2(0xE8,0xE7), + o2(0xE8,0xF0), o2(0xE8,0xDA), o2(0xB3,0xF7), o2(0xFB,0xDD), + o2(0xBE,0xF8), o2(0xE8,0xE5), o2(0xE8,0xEA), o2(0xC1,0xF3), + o2(0xE8,0xE6), UNDEF, +}; +static const BYTE_LOOKUP +to_EUC_JP_E8_92 = { + to_SHIFT_JIS_E8_92_offsets, + to_EUC_JP_E8_92_infos +}; + +static const struct byte_lookup* const +to_EUC_JP_E8_93_infos[19] = { + o2(0xE8,0xED), o2(0xC3,0xDF), o2(0xE8,0xEE), o2(0xCD,0xD6), + o2(0xE8,0xE3), o2(0xB3,0xB8), o2(0xE8,0xE9), o2(0xE8,0xEC), + o2(0xCC,0xAC), o2(0xE8,0xEF), o2(0xE8,0xE8), o2(0xE8,0xEB), + o2(0xF9,0xA5), o2(0xCB,0xA9), o2(0xCF,0xA1), o2(0xE8,0xF3), + o2(0xE8,0xFA), o2(0xE8,0xF2), UNDEF, +}; +static const BYTE_LOOKUP +to_EUC_JP_E8_93 = { + to_SHIFT_JIS_E8_93_offsets, + to_EUC_JP_E8_93_infos +}; + +static const struct byte_lookup* const +to_EUC_JP_E8_94_infos[17] = { + o2(0xBC,0xC3), o2(0xE8,0xD1), o2(0xCA,0xCE), o2(0xCC,0xA2), + o2(0xE8,0xF9), o2(0xE8,0xF8), o2(0xE8,0xF4), o2(0xE8,0xF5), + o2(0xB1,0xB6), o2(0xE8,0xF7), o2(0xE8,0xF1), o2(0xC4,0xD5), + o2(0xE8,0xF6), o2(0xB0,0xFE), o2(0xC2,0xA2), o2(0xCA,0xC3), + UNDEF, +}; +static const BYTE_LOOKUP +to_EUC_JP_E8_94 = { + to_SHIFT_JIS_E8_94_offsets, + to_EUC_JP_E8_94_infos +}; + +static const struct byte_lookup* const +to_EUC_JP_E8_95_infos[23] = { + o2(0xE8,0xFB), o2(0xE9,0xA1), o2(0xC8,0xD9), o2(0xE8,0xFE), + o2(0xBE,0xD6), o2(0xBC,0xC9), o2(0xE9,0xA3), o2(0xB6,0xBE), + o2(0xFB,0xDE), o2(0xE9,0xA4), o2(0xC9,0xF9), o2(0xE8,0xFD), + o2(0xFB,0xDF), o2(0xE8,0xD6), o2(0xE8,0xFC), o2(0xCF,0xCF), + o2(0xC6,0xA2), o2(0xC9,0xF3), o2(0xFB,0xE0), o2(0xE9,0xAB), + o2(0xE9,0xB1), o2(0xE9,0xB2), UNDEF, +}; +static const BYTE_LOOKUP +to_EUC_JP_E8_95 = { + to_SHIFT_JIS_E8_95_offsets, + to_EUC_JP_E8_95_infos +}; + +static const struct byte_lookup* const +to_EUC_JP_E8_96_infos[25] = { + o2(0xE9,0xA5), o2(0xC7,0xF6), o2(0xE9,0xAF), o2(0xE9,0xA7), + o2(0xE9,0xA9), o2(0xE9,0xB3), o2(0xE9,0xA8), o2(0xE9,0xAC), + o2(0xB1,0xF2), o2(0xC6,0xE5), o2(0xE9,0xAD), o2(0xE9,0xB0), + o2(0xE9,0xA6), o2(0xC1,0xA6), o2(0xE9,0xAA), o2(0xBB,0xA7), + o2(0xBF,0xC5), o2(0xB7,0xB0), o2(0xCC,0xF4), o2(0xCC,0xF9), + o2(0xBD,0xF2), o2(0xFB,0xE2), o2(0xE9,0xB7), o2(0xE9,0xB5), + UNDEF, +}; +static const BYTE_LOOKUP +to_EUC_JP_E8_96 = { + to_SHIFT_JIS_E8_96_offsets, + to_EUC_JP_E8_96_infos +}; + +static const struct byte_lookup* const +to_EUC_JP_E8_97_infos[18] = { + o2(0xCF,0xCE), o2(0xE9,0xB4), o2(0xCD,0xF5), o2(0xE9,0xB6), + o2(0xE9,0xB8), o2(0xE9,0xB9), o2(0xE9,0xBC), o2(0xE9,0xBA), + o2(0xC6,0xA3), o2(0xE9,0xBB), o2(0xC8,0xCD), o2(0xE9,0xAE), + o2(0xBD,0xF3), o2(0xE9,0xBD), o2(0xE9,0xC2), o2(0xC1,0xF4), + o2(0xE9,0xC1), UNDEF, +}; +static const BYTE_LOOKUP +to_EUC_JP_E8_97 = { + to_SHIFT_JIS_E8_97_offsets, + to_EUC_JP_E8_97_infos +}; + +static const struct byte_lookup* const +to_EUC_JP_E8_98_infos[15] = { + o2(0xE9,0xA2), o2(0xE9,0xC3), o2(0xC1,0xC9), o2(0xE9,0xBE), + o2(0xE9,0xC0), o2(0xE9,0xBF), o2(0xDD,0xB1), o2(0xDD,0xA2), + o2(0xE9,0xC5), o2(0xE9,0xC4), o2(0xCD,0xF6), o2(0xE2,0xBC), + o2(0xE9,0xC6), o2(0xE9,0xC7), UNDEF, +}; +static const BYTE_LOOKUP +to_EUC_JP_E8_98 = { + to_SHIFT_JIS_E8_98_offsets, + to_EUC_JP_E8_98_infos +}; + +static const struct byte_lookup* const +to_EUC_JP_E8_99_infos[15] = { + o2(0xE9,0xC8), o2(0xB8,0xD7), o2(0xB5,0xD4), o2(0xE9,0xCA), + o2(0xD1,0xDD), o2(0xB5,0xF5), o2(0xCE,0xBA), o2(0xB6,0xF3), + o2(0xE9,0xCB), o2(0xE9,0xCC), o2(0xC3,0xEE), o2(0xE9,0xCD), + o2(0xC6,0xFA), o2(0xB0,0xBA), UNDEF, +}; +static const BYTE_LOOKUP +to_EUC_JP_E8_99 = { + to_SHIFT_JIS_E8_99_offsets, + to_EUC_JP_E8_99_infos +}; + +static const struct byte_lookup* const +to_EUC_JP_E8_9A_infos[14] = { + o2(0xB2,0xE3), o2(0xE9,0xD2), o2(0xE9,0xD3), o2(0xE9,0xCE), + o2(0xBB,0xBD), o2(0xE9,0xCF), o2(0xC7,0xC2), o2(0xE9,0xD0), + o2(0xE9,0xD1), o2(0xE9,0xDB), o2(0xE9,0xD5), o2(0xE9,0xD8), + o2(0xE9,0xD4), UNDEF, +}; +static const BYTE_LOOKUP +to_EUC_JP_E8_9A = { + to_SHIFT_JIS_E8_9A_offsets, + to_EUC_JP_E8_9A_infos +}; + +static const struct byte_lookup* const +to_EUC_JP_E8_9B_infos[23] = { + o2(0xE9,0xD6), o2(0xE9,0xD7), o2(0xBC,0xD8), o2(0xE9,0xD9), + o2(0xC3,0xC1), o2(0xB7,0xD6), o2(0xB3,0xC2), o2(0xE9,0xDC), + o2(0xB3,0xBF), o2(0xE9,0xE1), o2(0xE9,0xDD), o2(0xE9,0xE0), + o2(0xC8,0xBA), o2(0xE9,0xDE), o2(0xE9,0xDF), o2(0xC9,0xC8), + o2(0xC8,0xDA), o2(0xE9,0xE2), o2(0xC2,0xFD), o2(0xE9,0xEC), + o2(0xE9,0xE8), o2(0xB2,0xEB), UNDEF, +}; +static const BYTE_LOOKUP +to_EUC_JP_E8_9B = { + to_SHIFT_JIS_E8_9B_offsets, + to_EUC_JP_E8_9B_infos +}; + +static const struct byte_lookup* const +to_EUC_JP_E8_9C_infos[20] = { + o2(0xE9,0xE6), o2(0xCB,0xAA), o2(0xE9,0xE7), o2(0xE9,0xE4), + o2(0xE9,0xE5), o2(0xE9,0xEA), o2(0xE9,0xED), o2(0xE9,0xEB), + o2(0xE9,0xE9), o2(0xE9,0xE3), o2(0xC3,0xD8), o2(0xE9,0xF4), + o2(0xCC,0xAA), o2(0xE9,0xF2), o2(0xE9,0xF3), o2(0xE9,0xEE), + o2(0xE9,0xF0), o2(0xE9,0xF1), o2(0xE9,0xEF), UNDEF, +}; +static const BYTE_LOOKUP +to_EUC_JP_E8_9C = { + to_SHIFT_JIS_E8_9C_offsets, + to_EUC_JP_E8_9C_infos +}; + +static const struct byte_lookup* const +to_EUC_JP_E8_9D_infos[20] = { + o2(0xC0,0xE6), o2(0xCF,0xB9), o2(0xE9,0xF8), o2(0xE9,0xF9), + o2(0xEA,0xA1), o2(0xBF,0xAA), o2(0xE9,0xFB), o2(0xE9,0xFE), + o2(0xE9,0xF6), o2(0xE9,0xF5), o2(0xEA,0xA2), o2(0xB2,0xDC), + o2(0xE9,0xFC), o2(0xEA,0xA3), o2(0xE9,0xFD), o2(0xE9,0xFA), + o2(0xC4,0xB3), o2(0xE9,0xF7), o2(0xC7,0xE8), UNDEF, +}; +static const BYTE_LOOKUP +to_EUC_JP_E8_9D = { + to_SHIFT_JIS_E8_9D_offsets, + to_EUC_JP_E8_9D_infos +}; + +static const struct byte_lookup* const +to_EUC_JP_E8_9E_infos[11] = { + o2(0xEA,0xA7), o2(0xCD,0xBB), o2(0xEA,0xA6), o2(0xEA,0xA5), + o2(0xEA,0xAE), o2(0xEA,0xA8), o2(0xEA,0xB0), o2(0xCD,0xE6), + o2(0xEA,0xB3), o2(0xEA,0xAA), UNDEF, +}; +static const BYTE_LOOKUP +to_EUC_JP_E8_9E = { + to_SHIFT_JIS_E8_9E_offsets, + to_EUC_JP_E8_9E_infos +}; + +static const struct byte_lookup* const +to_EUC_JP_E8_9F_infos[16] = { + o2(0xEA,0xAB), o2(0xEA,0xAF), o2(0xEA,0xB2), o2(0xEA,0xB1), + o2(0xEA,0xA9), o2(0xEA,0xAC), o2(0xEA,0xBD), o2(0xEA,0xB6), + o2(0xEA,0xB4), o2(0xEA,0xB5), o2(0xEA,0xBA), o2(0xEA,0xBB), + o2(0xB3,0xAA), o2(0xB5,0xC2), o2(0xEA,0xB9), UNDEF, +}; +static const BYTE_LOOKUP +to_EUC_JP_E8_9F = { + to_SHIFT_JIS_E8_9F_offsets, + to_EUC_JP_E8_9F_infos +}; + +static const struct byte_lookup* const +to_EUC_JP_E8_A0_infos[17] = { + o2(0xEA,0xA4), o2(0xFB,0xE5), o2(0xEA,0xB8), o2(0xEA,0xBC), + o2(0xEA,0xB7), o2(0xEA,0xBE), o2(0xEA,0xC0), o2(0xEA,0xBF), + o2(0xEA,0xC2), o2(0xEA,0xC1), o2(0xE9,0xDA), o2(0xEA,0xC6), + o2(0xEA,0xC3), o2(0xEA,0xC4), o2(0xEA,0xC5), o2(0xEA,0xC7), + UNDEF, +}; +static const BYTE_LOOKUP +to_EUC_JP_E8_A0 = { + to_SHIFT_JIS_E8_A0_offsets, + to_EUC_JP_E8_A0_infos +}; + +static const struct byte_lookup* const +to_EUC_JP_E8_A1_infos[26] = { + o2(0xB7,0xEC), o2(0xEA,0xC9), o2(0xEA,0xC8), o2(0xBD,0xB0), + o2(0xB9,0xD4), o2(0xDE,0xA7), o2(0xEA,0xCA), o2(0xBD,0xD1), + o2(0xB3,0xB9), o2(0xEA,0xCB), o2(0xB1,0xD2), o2(0xBE,0xD7), + o2(0xEA,0xCC), o2(0xB9,0xD5), o2(0xEA,0xCD), o2(0xB0,0xE1), + o2(0xC9,0xBD), o2(0xEA,0xCE), o2(0xBF,0xEA), o2(0xEA,0xD5), + o2(0xEA,0xD2), o2(0xC3,0xEF), o2(0xEA,0xD3), o2(0xEA,0xD0), + o2(0xB6,0xDE), UNDEF, +}; +static const BYTE_LOOKUP +to_EUC_JP_E8_A1 = { + to_SHIFT_JIS_E8_A1_offsets, + to_EUC_JP_E8_A1_infos +}; + +static const struct byte_lookup* const +to_EUC_JP_E8_A2_infos[21] = { + o2(0xEA,0xCF), o2(0xEA,0xD6), o2(0xB7,0xB6), o2(0xC2,0xDE), + o2(0xEA,0xDC), o2(0xEA,0xD8), o2(0xC2,0xB5), o2(0xEA,0xD7), + o2(0xEA,0xDA), o2(0xEA,0xD1), o2(0xEA,0xDB), o2(0xEA,0xDD), + o2(0xC8,0xEF), o2(0xEA,0xD9), o2(0xEA,0xDE), o2(0xEA,0xE0), + o2(0xB8,0xD3), o2(0xEA,0xD4), o2(0xB0,0xC1), o2(0xEA,0xDF), + UNDEF, +}; +static const BYTE_LOOKUP +to_EUC_JP_E8_A2 = { + to_SHIFT_JIS_E8_A2_offsets, + to_EUC_JP_E8_A2_infos +}; + +static const struct byte_lookup* const +to_EUC_JP_E8_A3_infos[25] = { + o2(0xBA,0xDB), o2(0xCE,0xF6), o2(0xEA,0xE1), o2(0xEA,0xE2), + o2(0xC1,0xF5), o2(0xCE,0xA2), o2(0xEA,0xE3), o2(0xCD,0xB5), + o2(0xEA,0xE4), o2(0xEA,0xE5), o2(0xCA,0xE4), o2(0xEA,0xE6), + o2(0xBA,0xC0), o2(0xCE,0xA3), o2(0xEA,0xEB), o2(0xEA,0xEC), + o2(0xBE,0xD8), o2(0xEA,0xEA), o2(0xFB,0xE6), o2(0xCD,0xE7), + o2(0xEA,0xE7), o2(0xEA,0xE9), o2(0xC0,0xBD), o2(0xBF,0xFE), + UNDEF, +}; +static const BYTE_LOOKUP +to_EUC_JP_E8_A3 = { + to_SHIFT_JIS_E8_A3_offsets, + to_EUC_JP_E8_A3_infos +}; + +static const struct byte_lookup* const +to_EUC_JP_E8_A4_infos[18] = { + o2(0xEA,0xE8), o2(0xEA,0xED), o2(0xCA,0xA3), o2(0xEA,0xEF), + o2(0xEA,0xEE), o2(0xB3,0xEC), o2(0xCB,0xAB), o2(0xEA,0xF0), + o2(0xF9,0xA2), o2(0xEA,0xFC), o2(0xEA,0xF2), o2(0xEA,0xF3), + o2(0xEA,0xF4), o2(0xEA,0xF5), o2(0xEA,0xF9), o2(0xEA,0xFA), + o2(0xEA,0xF8), UNDEF, +}; +static const BYTE_LOOKUP +to_EUC_JP_E8_A4 = { + to_SHIFT_JIS_E8_A4_offsets, + to_EUC_JP_E8_A4_infos +}; + +static const struct byte_lookup* const +to_EUC_JP_E8_A5_infos[20] = { + o2(0xEA,0xF6), o2(0xEA,0xF1), o2(0xEA,0xF7), o2(0xEA,0xFB), + o2(0xF0,0xB7), o2(0xB2,0xA8), o2(0xEA,0xFE), o2(0xB6,0xDF), + o2(0xEA,0xFD), o2(0xEB,0xA2), o2(0xEB,0xA1), o2(0xEB,0xA4), + o2(0xEB,0xA3), o2(0xEB,0xA5), o2(0xBD,0xB1), o2(0xEB,0xA6), + o2(0xEB,0xA7), o2(0xEB,0xA8), o2(0xC0,0xBE), UNDEF, +}; +static const BYTE_LOOKUP +to_EUC_JP_E8_A5 = { + to_SHIFT_JIS_E8_A5_offsets, + to_EUC_JP_E8_A5_infos +}; + +static const struct byte_lookup* const +to_EUC_JP_E8_A6_infos[26] = { + o2(0xCD,0xD7), o2(0xEB,0xA9), o2(0xCA,0xA4), o2(0xC7,0xC6), + o2(0xEB,0xAA), o2(0xEB,0xAB), o2(0xB8,0xAB), o2(0xB5,0xAC), + o2(0xEB,0xAC), o2(0xBB,0xEB), o2(0xC7,0xC1), o2(0xEB,0xAD), + o2(0xB3,0xD0), o2(0xEB,0xAE), o2(0xEB,0xB0), o2(0xCD,0xF7), + o2(0xEB,0xAF), o2(0xBF,0xC6), o2(0xEB,0xB1), o2(0xEB,0xB2), + o2(0xEB,0xB3), o2(0xB4,0xD1), o2(0xEB,0xB4), o2(0xEB,0xB5), + o2(0xEB,0xB6), UNDEF, +}; +static const BYTE_LOOKUP +to_EUC_JP_E8_A6 = { + to_SHIFT_JIS_E8_A6_offsets, + to_EUC_JP_E8_A6_infos +}; + +static const struct byte_lookup* const +to_EUC_JP_E8_A7_infos[11] = { + o2(0xEB,0xB7), o2(0xB3,0xD1), o2(0xEB,0xB8), o2(0xEB,0xB9), + o2(0xEB,0xBA), o2(0xB2,0xF2), o2(0xBF,0xA8), o2(0xEB,0xBB), + o2(0xEB,0xBC), o2(0xEB,0xBD), UNDEF, +}; +static const BYTE_LOOKUP +to_EUC_JP_E8_A7 = { + to_SHIFT_JIS_E8_A7_offsets, + to_EUC_JP_E8_A7_infos +}; + +static const struct byte_lookup* const +to_EUC_JP_E8_A8_infos[29] = { + o2(0xB8,0xC0), o2(0xC4,0xFB), o2(0xEB,0xBE), o2(0xB7,0xD7), + o2(0xBF,0xD6), o2(0xEB,0xC1), o2(0xC6,0xA4), o2(0xEB,0xC0), + o2(0xFB,0xE7), o2(0xB7,0xB1), o2(0xEB,0xBF), o2(0xC2,0xF7), + o2(0xB5,0xAD), o2(0xEB,0xC2), o2(0xEB,0xC3), o2(0xBE,0xD9), + o2(0xB7,0xED), o2(0xEB,0xC4), o2(0xCB,0xAC), o2(0xC0,0xDF), + o2(0xB5,0xF6), o2(0xCC,0xF5), o2(0xC1,0xCA), o2(0xEB,0xC5), + o2(0xFB,0xE8), o2(0xBF,0xC7), o2(0xC3,0xF0), o2(0xBE,0xDA), + UNDEF, +}; +static const BYTE_LOOKUP +to_EUC_JP_E8_A8 = { + to_SHIFT_JIS_E8_A8_offsets, + to_EUC_JP_E8_A8_infos +}; + +static const struct byte_lookup* const +to_EUC_JP_E8_A9_infos[26] = { + o2(0xEB,0xC6), o2(0xEB,0xC9), o2(0xEB,0xCA), o2(0xBA,0xBE), + o2(0xC2,0xC2), o2(0xEB,0xC8), o2(0xBE,0xDB), o2(0xC9,0xBE), + o2(0xEB,0xC7), o2(0xBB,0xEC), o2(0xB1,0xD3), o2(0xEB,0xCE), + o2(0xB7,0xD8), o2(0xBB,0xEE), o2(0xBB,0xED), o2(0xCF,0xCD), + o2(0xEB,0xCD), o2(0xEB,0xCC), o2(0xC1,0xA7), o2(0xB5,0xCD), + o2(0xCF,0xC3), o2(0xB3,0xBA), o2(0xBE,0xDC), o2(0xFB,0xE9), + o2(0xEB,0xCB), UNDEF, +}; +static const BYTE_LOOKUP +to_EUC_JP_E8_A9 = { + to_SHIFT_JIS_E8_A9_offsets, + to_EUC_JP_E8_A9_infos +}; + +static const struct byte_lookup* const +to_EUC_JP_E8_AA_infos[30] = { + o2(0xEB,0xD0), o2(0xEB,0xD1), o2(0xEB,0xCF), o2(0xB8,0xD8), + o2(0xCD,0xC0), o2(0xBB,0xEF), o2(0xC7,0xA7), o2(0xEB,0xD4), + o2(0xC0,0xC0), o2(0xC3,0xC2), o2(0xCD,0xB6), o2(0xEB,0xD7), + o2(0xB8,0xEC), o2(0xC0,0xBF), o2(0xEB,0xD3), o2(0xEB,0xD8), + o2(0xB8,0xED), o2(0xEB,0xD5), o2(0xEB,0xD6), o2(0xFB,0xEA), + o2(0xEB,0xD2), o2(0xC0,0xE2), o2(0xC6,0xC9), o2(0xC3,0xAF), + o2(0xB2,0xDD), o2(0xC8,0xF0), o2(0xB5,0xC3), o2(0xFB,0xEB), + o2(0xC4,0xB4), UNDEF, +}; +static const BYTE_LOOKUP +to_EUC_JP_E8_AA = { + to_SHIFT_JIS_E8_AA_offsets, + to_EUC_JP_E8_AA_infos +}; + +static const struct byte_lookup* const +to_EUC_JP_E8_AB_infos[31] = { + o2(0xEB,0xDB), o2(0xEB,0xD9), o2(0xC3,0xCC), o2(0xC0,0xC1), + o2(0xB4,0xD2), o2(0xEB,0xDA), o2(0xBF,0xDB), o2(0xCE,0xCA), + o2(0xCF,0xC0), o2(0xEB,0xDC), o2(0xEB,0xE7), o2(0xC4,0xB5), + o2(0xEB,0xE6), o2(0xFB,0xEC), o2(0xEB,0xE3), o2(0xEB,0xEB), + o2(0xEB,0xE4), o2(0xEB,0xE0), o2(0xC4,0xFC), o2(0xEB,0xDF), + o2(0xEB,0xDD), o2(0xCD,0xA1), o2(0xBB,0xF0), o2(0xEB,0xE1), + o2(0xEB,0xDE), o2(0xFB,0xEE), o2(0xEB,0xE5), o2(0xBD,0xF4), + o2(0xB8,0xC1), o2(0xC2,0xFA), UNDEF, +}; +static const BYTE_LOOKUP +to_EUC_JP_E8_AB = { + to_SHIFT_JIS_E8_AB_offsets, + to_EUC_JP_E8_AB_infos +}; + +static const struct byte_lookup* const +to_EUC_JP_E8_AC_infos[25] = { + o2(0xCB,0xC5), o2(0xB1,0xDA), o2(0xB0,0xE2), o2(0xC6,0xA5), + o2(0xEB,0xE9), o2(0xEB,0xE8), o2(0xC6,0xE6), o2(0xEB,0xED), + o2(0xEB,0xE2), o2(0xEB,0xEC), o2(0xEB,0xEE), o2(0xB8,0xAC), + o2(0xEB,0xEA), o2(0xB9,0xD6), o2(0xBC,0xD5), o2(0xEB,0xEF), + o2(0xCD,0xD8), o2(0xEB,0xF2), o2(0xEB,0xF5), o2(0xEB,0xF3), + o2(0xC9,0xB5), o2(0xEB,0xF0), o2(0xB6,0xE0), o2(0xEB,0xF4), + UNDEF, +}; +static const BYTE_LOOKUP +to_EUC_JP_E8_AC = { + to_SHIFT_JIS_E8_AC_offsets, + to_EUC_JP_E8_AC_infos +}; + +static const struct byte_lookup* const +to_EUC_JP_E8_AD_infos[24] = { + o2(0xEB,0xF6), o2(0xEB,0xFA), o2(0xEB,0xF7), o2(0xEB,0xF9), + o2(0xEB,0xF8), o2(0xFB,0xEF), o2(0xEB,0xFB), o2(0xBC,0xB1), + o2(0xEB,0xFD), o2(0xEB,0xFC), o2(0xC9,0xE8), o2(0xEC,0xA1), + o2(0xB7,0xD9), o2(0xEB,0xFE), o2(0xEC,0xA2), o2(0xEC,0xA3), + o2(0xB5,0xC4), o2(0xE6,0xC1), o2(0xBE,0xF9), o2(0xEC,0xA4), + o2(0xB8,0xEE), o2(0xEC,0xA5), o2(0xFB,0xF0), UNDEF, +}; +static const BYTE_LOOKUP +to_EUC_JP_E8_AD = { + to_SHIFT_JIS_E8_AD_offsets, + to_EUC_JP_E8_AD_infos +}; + +static const struct byte_lookup* const +to_EUC_JP_E8_AE_infos[12] = { + o2(0xEC,0xA6), o2(0xBB,0xBE), o2(0xDA,0xCE), o2(0xEC,0xA7), + o2(0xEC,0xA8), o2(0xBD,0xB2), o2(0xEC,0xA9), o2(0xEC,0xAA), + o2(0xEC,0xAB), o2(0xEC,0xAC), o2(0xEC,0xAD), UNDEF, +}; +static const BYTE_LOOKUP +to_EUC_JP_E8_AE = { + to_SHIFT_JIS_E8_AE_offsets, + to_EUC_JP_E8_AE_infos +}; + +static const struct byte_lookup* const +to_EUC_JP_E8_B0_infos[4] = { + o2(0xC3,0xAB), o2(0xEC,0xAE), o2(0xEC,0xB0), UNDEF, +}; +static const BYTE_LOOKUP +to_EUC_JP_E8_B0 = { + to_SHIFT_JIS_E8_B0_offsets, + to_EUC_JP_E8_B0_infos +}; + +static const struct byte_lookup* const +to_EUC_JP_E8_B1_infos[19] = { + o2(0xEC,0xAF), o2(0xC6,0xA6), o2(0xEC,0xB1), o2(0xCB,0xAD), + o2(0xEC,0xB2), o2(0xEC,0xB3), o2(0xEC,0xB4), o2(0xEC,0xB5), + o2(0xC6,0xDA), o2(0xBE,0xDD), o2(0xEC,0xB6), o2(0xB9,0xEB), + o2(0xD0,0xAE), o2(0xEC,0xB7), o2(0xEC,0xB8), o2(0xC9,0xBF), + o2(0xEC,0xB9), o2(0xEC,0xC1), UNDEF, +}; +static const BYTE_LOOKUP +to_EUC_JP_E8_B1 = { + to_SHIFT_JIS_E8_B1_offsets, + to_EUC_JP_E8_B1_infos +}; + +static const struct byte_lookup* const +to_EUC_JP_E8_B2_infos[35] = { + o2(0xEC,0xBA), o2(0xEC,0xBC), o2(0xEC,0xBB), o2(0xEC,0xBD), + o2(0xCB,0xC6), o2(0xEC,0xBE), o2(0xEC,0xBF), o2(0xEC,0xC0), + o2(0xEC,0xC2), o2(0xB3,0xAD), o2(0xC4,0xE7), o2(0xC9,0xE9), + o2(0xBA,0xE2), o2(0xB9,0xD7), o2(0xC9,0xCF), o2(0xB2,0xDF), + o2(0xC8,0xCE), o2(0xEC,0xC5), o2(0xB4,0xD3), o2(0xC0,0xD5), + o2(0xEC,0xC4), o2(0xEC,0xC9), o2(0xC3,0xF9), o2(0xCC,0xE3), + o2(0xEC,0xC7), o2(0xEC,0xC8), o2(0xB5,0xAE), o2(0xEC,0xCA), + o2(0xC7,0xE3), o2(0xC2,0xDF), o2(0xC8,0xF1), o2(0xC5,0xBD), + o2(0xEC,0xC6), o2(0xCB,0xC7), UNDEF, +}; +static const BYTE_LOOKUP +to_EUC_JP_E8_B2 = { + to_SHIFT_JIS_E8_B2_offsets, + to_EUC_JP_E8_B2_infos +}; + +static const struct byte_lookup* const +to_EUC_JP_E8_B3_infos[30] = { + o2(0xB2,0xEC), o2(0xEC,0xCC), o2(0xCF,0xA8), o2(0xC4,0xC2), + o2(0xCF,0xC5), o2(0xBB,0xF1), o2(0xEC,0xCB), o2(0xC2,0xB1), + o2(0xEC,0xDC), o2(0xC1,0xA8), o2(0xC6,0xF8), o2(0xC9,0xD0), + o2(0xEC,0xCF), o2(0xBB,0xBF), o2(0xBB,0xF2), o2(0xBE,0xDE), + o2(0xC7,0xE5), o2(0xB8,0xAD), o2(0xEC,0xCE), o2(0xEC,0xCD), + o2(0xC9,0xEA), o2(0xBC,0xC1), o2(0xC5,0xD2), o2(0xFB,0xF1), + o2(0xFB,0xF2), o2(0xEC,0xD1), o2(0xEC,0xD2), o2(0xB9,0xD8), + o2(0xEC,0xD0), UNDEF, +}; +static const BYTE_LOOKUP +to_EUC_JP_E8_B3 = { + to_SHIFT_JIS_E8_B3_offsets, + to_EUC_JP_E8_B3_infos +}; + +static const struct byte_lookup* const +to_EUC_JP_E8_B4_infos[14] = { + o2(0xEC,0xD3), o2(0xEC,0xD4), o2(0xEC,0xD6), o2(0xC2,0xA3), + o2(0xEC,0xD5), o2(0xB4,0xE6), o2(0xEC,0xD8), o2(0xEC,0xD7), + o2(0xEC,0xD9), o2(0xFB,0xF3), o2(0xEC,0xDB), o2(0xEC,0xDD), + o2(0xEC,0xDE), UNDEF, +}; +static const BYTE_LOOKUP +to_EUC_JP_E8_B4 = { + to_SHIFT_JIS_E8_B4_offsets, + to_EUC_JP_E8_B4_infos +}; + +static const struct byte_lookup* const +to_EUC_JP_E8_B5_infos[12] = { + o2(0xC0,0xD6), o2(0xBC,0xCF), o2(0xEC,0xDF), o2(0xB3,0xD2), + o2(0xEC,0xE0), o2(0xC1,0xF6), o2(0xEC,0xE1), o2(0xEC,0xE2), + o2(0xC9,0xEB), o2(0xFB,0xF4), o2(0xB5,0xAF), UNDEF, +}; +static const BYTE_LOOKUP +to_EUC_JP_E8_B5 = { + to_SHIFT_JIS_E8_B5_offsets, + to_EUC_JP_E8_B5_infos +}; + +static const struct byte_lookup* const +to_EUC_JP_E8_B6_infos[10] = { + o2(0xEC,0xE3), o2(0xC4,0xB6), o2(0xB1,0xDB), o2(0xEC,0xE4), + o2(0xBC,0xF1), o2(0xBF,0xF6), o2(0xC2,0xAD), o2(0xEC,0xE7), + o2(0xEC,0xE6), UNDEF, +}; +static const BYTE_LOOKUP +to_EUC_JP_E8_B6 = { + to_SHIFT_JIS_E8_B6_offsets, + to_EUC_JP_E8_B6_infos +}; + +static const struct byte_lookup* const +to_EUC_JP_E8_B7_infos[20] = { + o2(0xEC,0xE5), o2(0xEC,0xED), o2(0xEC,0xEB), o2(0xEC,0xE8), + o2(0xEC,0xEA), o2(0xEC,0xE9), o2(0xEC,0xEC), o2(0xB5,0xF7), + o2(0xEC,0xF0), o2(0xC0,0xD7), o2(0xEC,0xF1), o2(0xB8,0xD9), + o2(0xEC,0xEE), o2(0xEC,0xEF), o2(0xCF,0xA9), o2(0xC4,0xB7), + o2(0xC1,0xA9), o2(0xEC,0xF2), o2(0xEC,0xF5), UNDEF, +}; +static const BYTE_LOOKUP +to_EUC_JP_E8_B7 = { + to_SHIFT_JIS_E8_B7_offsets, + to_EUC_JP_E8_B7_infos +}; + +static const struct byte_lookup* const +to_EUC_JP_E8_B8_infos[13] = { + o2(0xEC,0xF3), o2(0xEC,0xF4), o2(0xCD,0xD9), o2(0xC6,0xA7), + o2(0xEC,0xF8), o2(0xEC,0xF6), o2(0xEC,0xF7), o2(0xEC,0xF9), + o2(0xED,0xA9), o2(0xEC,0xFC), o2(0xEC,0xFD), o2(0xEC,0xFB), + UNDEF, +}; +static const BYTE_LOOKUP +to_EUC_JP_E8_B8 = { + to_SHIFT_JIS_E8_B8_offsets, + to_EUC_JP_E8_B8_infos +}; + +static const struct byte_lookup* const +to_EUC_JP_E8_B9_infos[19] = { + o2(0xEC,0xFA), o2(0xC4,0xFD), o2(0xED,0xA1), o2(0xED,0xA5), + o2(0xED,0xA2), o2(0xEC,0xFE), o2(0xED,0xA3), o2(0xED,0xA4), + o2(0xED,0xAB), o2(0xED,0xA6), o2(0xC0,0xD8), o2(0xED,0xA8), + o2(0xED,0xAA), o2(0xED,0xA7), o2(0xED,0xAD), o2(0xBD,0xB3), + o2(0xED,0xAC), o2(0xED,0xAE), UNDEF, +}; +static const BYTE_LOOKUP +to_EUC_JP_E8_B9 = { + to_SHIFT_JIS_E8_B9_offsets, + to_EUC_JP_E8_B9_infos +}; + +static const struct byte_lookup* const +to_EUC_JP_E8_BA_infos[20] = { + o2(0xED,0xAF), o2(0xED,0xB2), o2(0xED,0xB1), o2(0xED,0xB0), + o2(0xED,0xB4), o2(0xED,0xB3), o2(0xCC,0xF6), o2(0xED,0xB6), + o2(0xED,0xB5), o2(0xED,0xB7), o2(0xED,0xB8), o2(0xED,0xBA), + o2(0xED,0xB9), o2(0xBF,0xC8), o2(0xED,0xBB), o2(0xB6,0xED), + o2(0xED,0xBC), o2(0xED,0xBE), o2(0xED,0xBF), UNDEF, +}; +static const BYTE_LOOKUP +to_EUC_JP_E8_BA = { + to_SHIFT_JIS_E8_BA_offsets, + to_EUC_JP_E8_BA_infos +}; + +static const struct byte_lookup* const +to_EUC_JP_E8_BB_infos[20] = { + o2(0xED,0xC0), o2(0xED,0xBD), o2(0xED,0xC1), o2(0xBC,0xD6), + o2(0xED,0xC2), o2(0xB5,0xB0), o2(0xB7,0xB3), o2(0xFB,0xF6), + o2(0xB8,0xAE), o2(0xED,0xC3), o2(0xC6,0xF0), o2(0xC5,0xBE), + o2(0xED,0xC4), o2(0xED,0xC7), o2(0xBC,0xB4), o2(0xED,0xC6), + o2(0xED,0xC5), o2(0xB7,0xDA), o2(0xED,0xC8), UNDEF, +}; +static const BYTE_LOOKUP +to_EUC_JP_E8_BB = { + to_SHIFT_JIS_E8_BB_offsets, + to_EUC_JP_E8_BB_infos +}; + +static const struct byte_lookup* const +to_EUC_JP_E8_BC_infos[25] = { + o2(0xB3,0xD3), o2(0xED,0xCA), o2(0xBA,0xDC), o2(0xED,0xC9), + o2(0xED,0xD2), o2(0xED,0xCC), o2(0xED,0xCE), o2(0xCA,0xE5), + o2(0xED,0xCB), o2(0xED,0xCD), o2(0xED,0xD1), o2(0xED,0xCF), + o2(0xB5,0xB1), o2(0xED,0xD0), o2(0xED,0xD3), o2(0xC7,0xDA), + o2(0xCE,0xD8), o2(0xBD,0xB4), o2(0xED,0xD4), o2(0xCD,0xA2), + o2(0xED,0xD6), o2(0xED,0xD5), o2(0xED,0xD9), o2(0xCD,0xC1), + UNDEF, +}; +static const BYTE_LOOKUP +to_EUC_JP_E8_BC = { + to_SHIFT_JIS_E8_BC_offsets, + to_EUC_JP_E8_BC_infos +}; + +static const struct byte_lookup* const +to_EUC_JP_E8_BD_infos[16] = { + o2(0xED,0xD8), o2(0xB3,0xED), o2(0xED,0xD7), o2(0xED,0xDC), + o2(0xED,0xDB), o2(0xED,0xDA), o2(0xC5,0xB2), o2(0xED,0xDD), + o2(0xED,0xDE), o2(0xED,0xDF), o2(0xB9,0xEC), o2(0xB7,0xA5), + o2(0xED,0xE0), o2(0xED,0xE1), o2(0xED,0xE2), UNDEF, +}; +static const BYTE_LOOKUP +to_EUC_JP_E8_BD = { + to_SHIFT_JIS_E8_BD_offsets, + to_EUC_JP_E8_BD_infos +}; + +static const struct byte_lookup* const +to_EUC_JP_E8_BE_infos[19] = { + o2(0xBF,0xC9), o2(0xED,0xE3), o2(0xBC,0xAD), o2(0xED,0xE4), + o2(0xED,0xE5), o2(0xD2,0xA1), o2(0xD1,0xFE), o2(0xED,0xE6), + o2(0xE5,0xF0), o2(0xED,0xE7), o2(0xC3,0xA4), o2(0xBF,0xAB), + o2(0xC7,0xC0), o2(0xED,0xE8), o2(0xCA,0xD5), o2(0xC4,0xD4), + o2(0xB9,0xFE), o2(0xC3,0xA9), UNDEF, +}; +static const BYTE_LOOKUP +to_EUC_JP_E8_BE = { + to_SHIFT_JIS_E8_BE_offsets, + to_EUC_JP_E8_BE_infos +}; + +static const struct byte_lookup* const +to_EUC_JP_E8_BF_infos[23] = { + o2(0xB1,0xAA), o2(0xCB,0xF8), o2(0xBF,0xD7), o2(0xB7,0xDE), + o2(0xB6,0xE1), o2(0xCA,0xD6), o2(0xED,0xE9), o2(0xED,0xEB), + o2(0xED,0xEA), o2(0xB2,0xE0), o2(0xC6,0xF6), o2(0xED,0xEC), + o2(0xC7,0xF7), o2(0xC5,0xB3), o2(0xED,0xED), o2(0xBD,0xD2), + o2(0xED,0xEF), o2(0xCC,0xC2), o2(0xED,0xFE), o2(0xED,0xF1), + o2(0xED,0xF2), o2(0xC4,0xC9), UNDEF, +}; +static const BYTE_LOOKUP +to_EUC_JP_E8_BF = { + to_SHIFT_JIS_E8_BF_offsets, + to_EUC_JP_E8_BF_infos +}; + +static const struct byte_lookup* const +to_EUC_JP_E8_infos[64] = { + &to_EUC_JP_E8_80, &to_EUC_JP_E8_81, &to_EUC_JP_E8_82, &to_EUC_JP_E8_83, + &to_EUC_JP_E8_84, &to_EUC_JP_E8_85, &to_EUC_JP_E8_86, &to_EUC_JP_E8_87, + &to_EUC_JP_E8_88, &to_EUC_JP_E8_89, &to_EUC_JP_E8_8A, &to_EUC_JP_E8_8B, + &to_EUC_JP_E8_8C, &to_EUC_JP_E8_8D, &to_EUC_JP_E8_8E, &to_EUC_JP_E8_8F, + &to_EUC_JP_E8_90, &to_EUC_JP_E8_91, &to_EUC_JP_E8_92, &to_EUC_JP_E8_93, + &to_EUC_JP_E8_94, &to_EUC_JP_E8_95, &to_EUC_JP_E8_96, &to_EUC_JP_E8_97, + &to_EUC_JP_E8_98, &to_EUC_JP_E8_99, &to_EUC_JP_E8_9A, &to_EUC_JP_E8_9B, + &to_EUC_JP_E8_9C, &to_EUC_JP_E8_9D, &to_EUC_JP_E8_9E, &to_EUC_JP_E8_9F, + &to_EUC_JP_E8_A0, &to_EUC_JP_E8_A1, &to_EUC_JP_E8_A2, &to_EUC_JP_E8_A3, + &to_EUC_JP_E8_A4, &to_EUC_JP_E8_A5, &to_EUC_JP_E8_A6, &to_EUC_JP_E8_A7, + &to_EUC_JP_E8_A8, &to_EUC_JP_E8_A9, &to_EUC_JP_E8_AA, &to_EUC_JP_E8_AB, + &to_EUC_JP_E8_AC, &to_EUC_JP_E8_AD, &to_EUC_JP_E8_AE, &to_EUC_JP_E8_B0, + &to_EUC_JP_E8_B1, &to_EUC_JP_E8_B2, &to_EUC_JP_E8_B3, &to_EUC_JP_E8_B4, + &to_EUC_JP_E8_B5, &to_EUC_JP_E8_B6, &to_EUC_JP_E8_B7, &to_EUC_JP_E8_B8, + &to_EUC_JP_E8_B9, &to_EUC_JP_E8_BA, &to_EUC_JP_E8_BB, &to_EUC_JP_E8_BC, + &to_EUC_JP_E8_BD, &to_EUC_JP_E8_BE, &to_EUC_JP_E8_BF, UNDEF, +}; +static const BYTE_LOOKUP +to_EUC_JP_E8 = { + to_SHIFT_JIS_E8_offsets, + to_EUC_JP_E8_infos +}; + +static const struct byte_lookup* const +to_EUC_JP_E9_80_infos[36] = { + o2(0xC2,0xE0), o2(0xC1,0xF7), o2(0xC6,0xA8), o2(0xED,0xF0), + o2(0xB5,0xD5), o2(0xED,0xF9), o2(0xED,0xF6), o2(0xEE,0xA5), + o2(0xC6,0xA9), o2(0xC3,0xE0), o2(0xED,0xF3), o2(0xC4,0xFE), + o2(0xC5,0xD3), o2(0xED,0xF4), o2(0xED,0xF8), o2(0xBF,0xE0), + o2(0xC7,0xE7), o2(0xC4,0xCC), o2(0xC0,0xC2), o2(0xED,0xF7), + o2(0xC2,0xAE), o2(0xC2,0xA4), o2(0xED,0xF5), o2(0xB0,0xA9), + o2(0xCF,0xA2), o2(0xED,0xFA), o2(0xC2,0xE1), o2(0xBD,0xB5), + o2(0xBF,0xCA), o2(0xED,0xFC), o2(0xED,0xFB), o2(0xB0,0xEF), + o2(0xED,0xFD), o2(0xC9,0xAF), o2(0xEE,0xA7), UNDEF, +}; +static const BYTE_LOOKUP +to_EUC_JP_E9_80 = { + to_SHIFT_JIS_E9_80_offsets, + to_EUC_JP_E9_80_infos +}; + +static const struct byte_lookup* const +to_EUC_JP_E9_81_infos[41] = { + o2(0xC6,0xDB), o2(0xBF,0xEB), o2(0xC3,0xD9), o2(0xB6,0xF8), + o2(0xEE,0xA6), o2(0xCD,0xB7), o2(0xB1,0xBF), o2(0xCA,0xD7), + o2(0xB2,0xE1), o2(0xEE,0xA1), o2(0xEE,0xA2), o2(0xEE,0xA3), + o2(0xEE,0xA4), o2(0xC6,0xBB), o2(0xC3,0xA3), o2(0xB0,0xE3), + o2(0xEE,0xA8), o2(0xEE,0xA9), o2(0xF4,0xA3), o2(0xC2,0xBD), + o2(0xEE,0xAA), o2(0xB1,0xF3), o2(0xC1,0xCC), o2(0xB8,0xAF), + o2(0xCD,0xDA), o2(0xFB,0xF9), o2(0xEE,0xAB), o2(0xC5,0xAC), + o2(0xC1,0xF8), o2(0xBC,0xD7), o2(0xEE,0xAC), o2(0xEE,0xAF), + o2(0xBD,0xE5), o2(0xEE,0xAD), o2(0xC1,0xAB), o2(0xC1,0xAA), + o2(0xB0,0xE4), o2(0xCE,0xCB), o2(0xEE,0xB1), o2(0xC8,0xF2), + UNDEF, +}; +static const BYTE_LOOKUP +to_EUC_JP_E9_81 = { + to_SHIFT_JIS_E9_81_offsets, + to_EUC_JP_E9_81_infos +}; + +static const struct byte_lookup* const +to_EUC_JP_E9_82_infos[19] = { + o2(0xEE,0xB3), o2(0xEE,0xB2), o2(0xEE,0xB0), o2(0xE3,0xE4), + o2(0xB4,0xD4), o2(0xED,0xEE), o2(0xEE,0xB5), o2(0xEE,0xB4), + o2(0xEE,0xB6), o2(0xCD,0xB8), o2(0xC6,0xE1), o2(0xCB,0xAE), + o2(0xEE,0xB7), o2(0xBC,0xD9), o2(0xEE,0xB8), o2(0xEE,0xB9), + o2(0xEE,0xBA), o2(0xC5,0xA1), UNDEF, +}; +static const BYTE_LOOKUP +to_EUC_JP_E9_82 = { + to_SHIFT_JIS_E9_82_offsets, + to_EUC_JP_E9_82_infos +}; + +static const struct byte_lookup* const +to_EUC_JP_E9_83_infos[14] = { + o2(0xB0,0xEA), o2(0xB9,0xD9), o2(0xCF,0xBA), o2(0xEE,0xBE), + o2(0xFB,0xFA), o2(0xB7,0xB4), o2(0xEE,0xBB), o2(0xEE,0xBC), + o2(0xC9,0xF4), o2(0xB3,0xD4), o2(0xCD,0xB9), o2(0xB6,0xBF), + o2(0xC5,0xD4), UNDEF, +}; +static const BYTE_LOOKUP +to_EUC_JP_E9_83 = { + to_SHIFT_JIS_E9_83_offsets, + to_EUC_JP_E9_83_infos +}; + +static const struct byte_lookup* const +to_EUC_JP_E9_84_infos[9] = { + o2(0xEE,0xBF), o2(0xEE,0xC0), o2(0xFB,0xFC), o2(0xEE,0xC1), + o2(0xFB,0xFD), o2(0xC5,0xA2), o2(0xEE,0xC3), o2(0xEE,0xC2), + UNDEF, +}; +static const BYTE_LOOKUP +to_EUC_JP_E9_84 = { + to_SHIFT_JIS_E9_84_offsets, + to_EUC_JP_E9_84_infos +}; + +static const struct byte_lookup* const +to_EUC_JP_E9_85_infos[22] = { + o2(0xC6,0xD3), o2(0xEE,0xC4), o2(0xBD,0xB6), o2(0xBC,0xE0), + o2(0xC7,0xDB), o2(0xC3,0xF1), o2(0xBC,0xF2), o2(0xBF,0xEC), + o2(0xEE,0xC5), o2(0xEE,0xC6), o2(0xBF,0xDD), o2(0xEE,0xC7), + o2(0xEE,0xC8), o2(0xEE,0xC9), o2(0xCD,0xEF), o2(0xBD,0xB7), + o2(0xEE,0xCB), o2(0xEE,0xCA), o2(0xB9,0xDA), o2(0xB9,0xF3), + o2(0xBB,0xC0), UNDEF, +}; +static const BYTE_LOOKUP +to_EUC_JP_E9_85 = { + to_SHIFT_JIS_E9_85_offsets, + to_EUC_JP_E9_85_infos +}; + +static const struct byte_lookup* const +to_EUC_JP_E9_86_infos[19] = { + o2(0xEE,0xCE), o2(0xBD,0xE6), o2(0xEE,0xCD), o2(0xEE,0xCC), + o2(0xC2,0xE9), o2(0xB8,0xEF), o2(0xC0,0xC3), o2(0xC8,0xB0), + o2(0xBD,0xB9), o2(0xEE,0xCF), o2(0xBE,0xDF), o2(0xEE,0xD2), + o2(0xEE,0xD0), o2(0xEE,0xD1), o2(0xEE,0xD4), o2(0xEE,0xD3), + o2(0xBE,0xFA), o2(0xEE,0xD5), UNDEF, +}; +static const BYTE_LOOKUP +to_EUC_JP_E9_86 = { + to_SHIFT_JIS_E9_86_offsets, + to_EUC_JP_E9_86_infos +}; + +static const struct byte_lookup* const +to_EUC_JP_E9_87_infos[35] = { + o2(0xEE,0xD6), o2(0xEE,0xD7), o2(0xC8,0xD0), o2(0xBA,0xD3), + o2(0xBC,0xE1), o2(0xEE,0xD8), o2(0xEE,0xD9), o2(0xCE,0xA4), + o2(0xBD,0xC5), o2(0xCC,0xEE), o2(0xCE,0xCC), o2(0xEE,0xDA), + o2(0xB6,0xE2), o2(0xEE,0xDB), o2(0xFC,0xA1), o2(0xC5,0xA3), + o2(0xFB,0xFE), o2(0xEE,0xDE), o2(0xB3,0xF8), o2(0xBF,0xCB), + o2(0xFC,0xA2), o2(0xEE,0xDC), o2(0xEE,0xDD), o2(0xC4,0xE0), + o2(0xFC,0xA5), o2(0xFC,0xA6), o2(0xCB,0xD5), o2(0xB6,0xFC), + o2(0xFC,0xA3), o2(0xFC,0xA4), o2(0xEE,0xE0), o2(0xEE,0xE1), + o2(0xEE,0xDF), o2(0xEE,0xE3), UNDEF, +}; +static const BYTE_LOOKUP +to_EUC_JP_E9_87 = { + to_SHIFT_JIS_E9_87_offsets, + to_EUC_JP_E9_87_infos +}; + +static const struct byte_lookup* const +to_EUC_JP_E9_88_infos[18] = { + o2(0xFC,0xA7), o2(0xFC,0xA9), o2(0xC6,0xDF), o2(0xB3,0xC3), + o2(0xFC,0xA8), o2(0xEE,0xE7), o2(0xEE,0xE4), o2(0xEE,0xE6), + o2(0xEE,0xE2), o2(0xEF,0xCF), o2(0xEE,0xE5), o2(0xCE,0xEB), + o2(0xB8,0xDA), o2(0xFC,0xB0), o2(0xFC,0xAA), o2(0xFC,0xAC), + o2(0xEE,0xEF), UNDEF, +}; +static const BYTE_LOOKUP +to_EUC_JP_E9_88 = { + to_SHIFT_JIS_E9_88_offsets, + to_EUC_JP_E9_88_infos +}; + +static const struct byte_lookup* const +to_EUC_JP_E9_89_infos[23] = { + o2(0xFC,0xAB), o2(0xC5,0xB4), o2(0xEE,0xEA), o2(0xEE,0xED), + o2(0xEE,0xEB), o2(0xEE,0xF0), o2(0xFC,0xAD), o2(0xEE,0xF1), + o2(0xFC,0xAF), o2(0xEE,0xE9), o2(0xFC,0xAE), o2(0xEE,0xF6), + o2(0xB1,0xF4), o2(0xEE,0xE8), o2(0xC8,0xAD), o2(0xEE,0xEC), + o2(0xBE,0xE0), o2(0xFC,0xB1), o2(0xB9,0xDB), o2(0xFC,0xB3), + o2(0xFC,0xB4), o2(0xCB,0xC8), UNDEF, +}; +static const BYTE_LOOKUP +to_EUC_JP_E9_89 = { + to_SHIFT_JIS_E9_89_offsets, + to_EUC_JP_E9_89_infos +}; + +static const struct byte_lookup* const +to_EUC_JP_E9_8A_infos[17] = { + o2(0xB6,0xE4), o2(0xBD,0xC6), o2(0xC6,0xBC), o2(0xF9,0xA4), + o2(0xC1,0xAD), o2(0xEE,0xF4), o2(0xEE,0xEE), o2(0xEE,0xF3), + o2(0xCC,0xC3), o2(0xC4,0xB8), o2(0xEE,0xF5), o2(0xEE,0xF2), + o2(0xFC,0xB2), o2(0xC1,0xAC), o2(0xEE,0xF9), o2(0xEE,0xF8), + UNDEF, +}; +static const BYTE_LOOKUP +to_EUC_JP_E9_8A = { + to_SHIFT_JIS_E9_8A_offsets, + to_EUC_JP_E9_8A_infos +}; + +static const struct byte_lookup* const +to_EUC_JP_E9_8B_infos[22] = { + o2(0xEE,0xF7), o2(0xFC,0xB8), o2(0xCB,0xAF), o2(0xFC,0xBC), + o2(0xFC,0xBA), o2(0xFC,0xB6), o2(0xFC,0xB7), o2(0xFC,0xBB), + o2(0xBD,0xFB), o2(0xFC,0xB5), o2(0xEE,0xFA), o2(0xCA,0xDF), + o2(0xB1,0xD4), o2(0xC9,0xC6), o2(0xC3,0xF2), o2(0xB5,0xF8), + o2(0xF9,0xAA), o2(0xEE,0xFC), o2(0xFC,0xBF), o2(0xB9,0xDD), + o2(0xFC,0xC2), UNDEF, +}; +static const BYTE_LOOKUP +to_EUC_JP_E9_8B = { + to_SHIFT_JIS_E9_8B_offsets, + to_EUC_JP_E9_8B_infos +}; + +static const struct byte_lookup* const +to_EUC_JP_E9_8C_infos[25] = { + o2(0xFC,0xC4), o2(0xBB,0xAC), o2(0xEE,0xFB), o2(0xBF,0xED), + o2(0xBF,0xEE), o2(0xEF,0xA1), o2(0xEF,0xA3), o2(0xFC,0xC3), + o2(0xFC,0xC1), o2(0xBE,0xFB), o2(0xFC,0xBE), o2(0xEF,0xA2), + o2(0xEF,0xA4), o2(0xFC,0xBD), o2(0xB6,0xD3), o2(0xC9,0xC5), + o2(0xBC,0xE2), o2(0xCF,0xA3), o2(0xEE,0xFE), o2(0xBA,0xF8), + o2(0xCF,0xBF), o2(0xEF,0xA6), o2(0xEF,0xA5), o2(0xEF,0xA7), + UNDEF, +}; +static const BYTE_LOOKUP +to_EUC_JP_E9_8C = { + to_SHIFT_JIS_E9_8C_offsets, + to_EUC_JP_E9_8C_infos +}; + +static const struct byte_lookup* const +to_EUC_JP_E9_8D_infos[17] = { + o2(0xEE,0xFD), o2(0xF9,0xA3), o2(0xC6,0xE9), o2(0xC5,0xD5), + o2(0xC4,0xD7), o2(0xEF,0xAC), o2(0xFC,0xC6), o2(0xC3,0xC3), + o2(0xEF,0xA8), o2(0xEF,0xA9), o2(0xB7,0xAD), o2(0xEF,0xAB), + o2(0xFC,0xC5), o2(0xB8,0xB0), o2(0xEF,0xAA), o2(0xBE,0xE1), + UNDEF, +}; +static const BYTE_LOOKUP +to_EUC_JP_E9_8D = { + to_SHIFT_JIS_E9_8D_offsets, + to_EUC_JP_E9_8D_infos +}; + +static const struct byte_lookup* const +to_EUC_JP_E9_8E_infos[13] = { + o2(0xB3,0xF9), o2(0xEF,0xB0), o2(0xBA,0xBF), o2(0xC1,0xF9), + o2(0xC4,0xCA), o2(0xFC,0xC7), o2(0xB3,0xBB), o2(0xEF,0xAE), + o2(0xEF,0xAF), o2(0xC4,0xC3), o2(0xEF,0xAD), o2(0xEF,0xB1), + UNDEF, +}; +static const BYTE_LOOKUP +to_EUC_JP_E9_8E = { + to_SHIFT_JIS_E9_8E_offsets, + to_EUC_JP_E9_8E_infos +}; + +static const struct byte_lookup* const +to_EUC_JP_E9_8F_infos[16] = { + o2(0xEF,0xB7), o2(0xFC,0xC8), o2(0xEF,0xBA), o2(0xEF,0xB9), + o2(0xC5,0xAD), o2(0xEF,0xB2), o2(0xEF,0xB3), o2(0xEF,0xB6), + o2(0xEF,0xB8), o2(0xFC,0xC9), o2(0xB6,0xC0), o2(0xEF,0xBB), + o2(0xEF,0xB5), o2(0xEF,0xB4), o2(0xFC,0xCA), UNDEF, +}; +static const BYTE_LOOKUP +to_EUC_JP_E9_8F = { + to_SHIFT_JIS_E9_8F_offsets, + to_EUC_JP_E9_8F_infos +}; + +static const struct byte_lookup* const +to_EUC_JP_E9_90_infos[16] = { + o2(0xEF,0xBF), o2(0xEF,0xC0), o2(0xEF,0xC1), o2(0xEF,0xBE), + o2(0xEF,0xBD), o2(0xBE,0xE2), o2(0xC6,0xAA), o2(0xEF,0xBC), + o2(0xEF,0xC5), o2(0xEF,0xC3), o2(0xFC,0xCB), o2(0xEF,0xC4), + o2(0xEF,0xC2), o2(0xC2,0xF8), o2(0xEF,0xC6), UNDEF, +}; +static const BYTE_LOOKUP +to_EUC_JP_E9_90 = { + to_SHIFT_JIS_E9_90_offsets, + to_EUC_JP_E9_90_infos +}; + +static const struct byte_lookup* const +to_EUC_JP_E9_91_infos[21] = { + o2(0xEF,0xC7), o2(0xEF,0xC9), o2(0xFC,0xCC), o2(0xFC,0xCD), + o2(0xB4,0xD5), o2(0xEF,0xC8), o2(0xCC,0xFA), o2(0xEF,0xD4), + o2(0xEF,0xCA), o2(0xEF,0xCD), o2(0xEF,0xCB), o2(0xEF,0xCC), + o2(0xEF,0xCE), o2(0xEF,0xD0), o2(0xEF,0xD1), o2(0xEF,0xD2), + o2(0xEF,0xD5), o2(0xEF,0xD3), o2(0xEF,0xD6), o2(0xEF,0xD8), + UNDEF, +}; +static const BYTE_LOOKUP +to_EUC_JP_E9_91 = { + to_SHIFT_JIS_E9_91_offsets, + to_EUC_JP_E9_91_infos +}; + +static const struct byte_lookup* const +to_EUC_JP_E9_92_infos[2] = { + o2(0xEF,0xD7), UNDEF, +}; +static const BYTE_LOOKUP +to_EUC_JP_E9_92 = { + to_SHIFT_JIS_E9_92_offsets, + to_EUC_JP_E9_92_infos +}; + +static const struct byte_lookup* const +to_EUC_JP_E9_95_infos[2] = { + o2(0xC4,0xB9), UNDEF, +}; +static const BYTE_LOOKUP +to_EUC_JP_E9_95 = { + to_SHIFT_JIS_E9_95_offsets, + to_EUC_JP_E9_95_infos +}; + +static const struct byte_lookup* const +to_EUC_JP_E9_96_infos[29] = { + o2(0xCC,0xE7), o2(0xEF,0xD9), o2(0xC1,0xAE), o2(0xEF,0xDA), + o2(0xCA,0xC4), o2(0xEF,0xDB), o2(0xB3,0xAB), o2(0xB1,0xBC), + o2(0xB4,0xD7), o2(0xFC,0xCE), o2(0xB4,0xD6), o2(0xEF,0xDC), + o2(0xEF,0xDD), o2(0xEF,0xDE), o2(0xEF,0xDF), o2(0xEF,0xE0), + o2(0xB4,0xD8), o2(0xB3,0xD5), o2(0xB9,0xDE), o2(0xC8,0xB6), + o2(0xEF,0xE2), o2(0xEF,0xE1), o2(0xEF,0xE3), o2(0xB1,0xDC), + o2(0xEF,0xE6), o2(0xEF,0xE5), o2(0xEF,0xE4), o2(0xEF,0xE7), + UNDEF, +}; +static const BYTE_LOOKUP +to_EUC_JP_E9_96 = { + to_SHIFT_JIS_E9_96_offsets, + to_EUC_JP_E9_96_infos +}; + +static const struct byte_lookup* const +to_EUC_JP_E9_97_infos[14] = { + o2(0xEF,0xEA), o2(0xB0,0xC7), o2(0xEF,0xE8), o2(0xEF,0xEC), + o2(0xEF,0xEB), o2(0xEF,0xEE), o2(0xEF,0xED), o2(0xEF,0xEF), + o2(0xC6,0xAE), o2(0xEF,0xF0), o2(0xEF,0xF1), o2(0xEF,0xF3), + o2(0xEF,0xF2), UNDEF, +}; +static const BYTE_LOOKUP +to_EUC_JP_E9_97 = { + to_SHIFT_JIS_E9_97_offsets, + to_EUC_JP_E9_97_infos +}; + +static const struct byte_lookup* const +to_EUC_JP_E9_98_infos[10] = { + o2(0xC9,0xEC), o2(0xEF,0xF4), o2(0xEF,0xF5), o2(0xBA,0xE5), + o2(0xEF,0xF6), o2(0xEF,0xF7), o2(0xCB,0xC9), o2(0xC1,0xCB), + o2(0xB0,0xA4), UNDEF, +}; +static const BYTE_LOOKUP +to_EUC_JP_E9_98 = { + to_SHIFT_JIS_E9_98_offsets, + to_EUC_JP_E9_98_infos +}; + +static const struct byte_lookup* const +to_EUC_JP_E9_99_infos[30] = { + o2(0xC2,0xCB), o2(0xEF,0xF8), o2(0xC9,0xED), o2(0xEF,0xFB), + o2(0xEF,0xF9), o2(0xB9,0xDF), o2(0xEF,0xFA), o2(0xB8,0xC2), + o2(0xCA,0xC5), o2(0xEF,0xFD), o2(0xF0,0xA1), o2(0xEF,0xFE), + o2(0xF0,0xA2), o2(0xB1,0xA1), o2(0xBF,0xD8), o2(0xBD,0xFC), + o2(0xB4,0xD9), o2(0xF0,0xA3), o2(0xC7,0xE6), o2(0xF0,0xA5), + o2(0xB1,0xA2), o2(0xF0,0xA4), o2(0xC4,0xC4), o2(0xCE,0xCD), + o2(0xC6,0xAB), o2(0xEF,0xFC), o2(0xCE,0xA6), o2(0xB8,0xB1), + o2(0xCD,0xDB), UNDEF, +}; +static const BYTE_LOOKUP +to_EUC_JP_E9_99 = { + to_SHIFT_JIS_E9_99_offsets, + to_EUC_JP_E9_99_infos +}; + +static const struct byte_lookup* const +to_EUC_JP_E9_9A_infos[33] = { + o2(0xB6,0xF9), o2(0xCE,0xB4), o2(0xB7,0xA8), o2(0xC2,0xE2), + o2(0xE7,0xA1), o2(0xF0,0xA6), o2(0xB3,0xAC), o2(0xBF,0xEF), + o2(0xB3,0xD6), o2(0xF0,0xA8), o2(0xF0,0xA9), o2(0xF0,0xA7), + o2(0xB7,0xE4), o2(0xBA,0xDD), o2(0xBE,0xE3), o2(0xFC,0xD1), + o2(0xB1,0xA3), o2(0xCE,0xD9), o2(0xF0,0xAB), o2(0xEE,0xAE), + o2(0xF0,0xAA), o2(0xFC,0xD2), o2(0xF0,0xAE), o2(0xF0,0xAC), + o2(0xF0,0xAD), o2(0xF0,0xAF), o2(0xF0,0xB0), o2(0xCE,0xEC), + o2(0xF0,0xB1), o2(0xF0,0xB2), o2(0xC0,0xC9), o2(0xC8,0xBB), + UNDEF, +}; +static const BYTE_LOOKUP +to_EUC_JP_E9_9A = { + to_SHIFT_JIS_E9_9A_offsets, + to_EUC_JP_E9_9A_infos +}; + +static const struct byte_lookup* const +to_EUC_JP_E9_9B_infos[29] = { + o2(0xBF,0xFD), o2(0xB4,0xE7), o2(0xCD,0xBA), o2(0xB2,0xED), + o2(0xBD,0xB8), o2(0xB8,0xDB), o2(0xF0,0xB5), o2(0xF0,0xB4), + o2(0xBB,0xF3), o2(0xF0,0xB6), o2(0xF0,0xB3), o2(0xBB,0xA8), + o2(0xF0,0xBA), o2(0xEA,0xAD), o2(0xD2,0xD6), o2(0xBF,0xF7), + o2(0xF0,0xB8), o2(0xCE,0xA5), o2(0xC6,0xF1), o2(0xB1,0xAB), + o2(0xC0,0xE3), o2(0xBC,0xB6), o2(0xCA,0xB7), o2(0xB1,0xC0), + o2(0xCE,0xED), o2(0xCD,0xEB), o2(0xF0,0xBB), o2(0xC5,0xC5), + UNDEF, +}; +static const BYTE_LOOKUP +to_EUC_JP_E9_9B = { + to_SHIFT_JIS_E9_9B_offsets, + to_EUC_JP_E9_9B_infos +}; + +static const struct byte_lookup* const +to_EUC_JP_E9_9C_infos[27] = { + o2(0xBC,0xFB), o2(0xF0,0xBC), o2(0xF0,0xBD), o2(0xBF,0xCC), + o2(0xF0,0xBE), o2(0xCE,0xEE), o2(0xF0,0xB9), o2(0xF0,0xC0), + o2(0xF0,0xC2), o2(0xF0,0xC1), o2(0xF0,0xBF), o2(0xF0,0xC3), + o2(0xF0,0xC4), o2(0xC1,0xFA), o2(0xB2,0xE2), o2(0xF0,0xC5), + o2(0xCC,0xB8), o2(0xF0,0xC6), o2(0xF0,0xC7), o2(0xCF,0xAA), + o2(0xFC,0xD3), o2(0xDB,0xB1), o2(0xF0,0xC8), o2(0xFC,0xD4), + o2(0xF0,0xC9), o2(0xF0,0xCA), UNDEF, +}; +static const BYTE_LOOKUP +to_EUC_JP_E9_9C = { + to_SHIFT_JIS_E9_9C_offsets, + to_EUC_JP_E9_9C_infos +}; + +static const struct byte_lookup* const +to_EUC_JP_E9_9D_infos[30] = { + o2(0xF0,0xCE), o2(0xFC,0xD5), o2(0xF0,0xCB), o2(0xF0,0xCC), + o2(0xF0,0xCD), o2(0xF0,0xCF), o2(0xFC,0xD6), o2(0xFC,0xD7), + o2(0xFC,0xD8), o2(0xC0,0xC4), o2(0xFC,0xD9), o2(0xCC,0xF7), + o2(0xC0,0xC5), o2(0xF0,0xD0), o2(0xC8,0xF3), o2(0xF0,0xD1), + o2(0xF3,0xD3), o2(0xCC,0xCC), o2(0xF0,0xD2), o2(0xF0,0xD3), + o2(0xF0,0xD4), o2(0xB3,0xD7), o2(0xF0,0xD6), o2(0xBF,0xD9), + o2(0xF0,0xD7), o2(0xB7,0xA4), o2(0xF0,0xD8), o2(0xF0,0xDC), + o2(0xF0,0xDA), UNDEF, +}; +static const BYTE_LOOKUP +to_EUC_JP_E9_9D = { + to_SHIFT_JIS_E9_9D_offsets, + to_EUC_JP_E9_9D_infos +}; + +static const struct byte_lookup* const +to_EUC_JP_E9_9E_infos[19] = { + o2(0xF0,0xDB), o2(0xB3,0xF3), o2(0xF0,0xD9), o2(0xF0,0xDD), + o2(0xF0,0xDE), o2(0xB0,0xC8), o2(0xF0,0xDF), o2(0xF0,0xE0), + o2(0xBE,0xE4), o2(0xF0,0xE1), o2(0xB5,0xC7), o2(0xF0,0xE4), + o2(0xF0,0xE3), o2(0xF0,0xE2), o2(0xEB,0xF1), o2(0xCA,0xDC), + o2(0xF0,0xE5), o2(0xF0,0xE6), UNDEF, +}; +static const BYTE_LOOKUP +to_EUC_JP_E9_9E = { + to_SHIFT_JIS_E9_9E_offsets, + to_EUC_JP_E9_9E_infos +}; + +static const struct byte_lookup* const +to_EUC_JP_E9_9F_infos[15] = { + o2(0xF0,0xE7), o2(0xF0,0xE8), o2(0xF0,0xE9), o2(0xF0,0xEA), + o2(0xB4,0xDA), o2(0xF0,0xEB), o2(0xF0,0xEC), o2(0xC7,0xA3), + o2(0xF0,0xEE), o2(0xB2,0xBB), o2(0xF0,0xF1), o2(0xF0,0xF0), + o2(0xB1,0xA4), o2(0xB6,0xC1), UNDEF, +}; +static const BYTE_LOOKUP +to_EUC_JP_E9_9F = { + to_SHIFT_JIS_E9_9F_offsets, + to_EUC_JP_E9_9F_infos +}; + +static const struct byte_lookup* const +to_EUC_JP_E9_A0_infos[26] = { + o2(0xCA,0xC7), o2(0xC4,0xBA), o2(0xBA,0xA2), o2(0xB9,0xE0), + o2(0xBD,0xE7), o2(0xBF,0xDC), o2(0xF0,0xF3), o2(0xF0,0xF2), + o2(0xCD,0xC2), o2(0xB4,0xE8), o2(0xC8,0xD2), o2(0xC6,0xDC), + o2(0xBF,0xFC), o2(0xCE,0xCE), o2(0xB7,0xDB), o2(0xF0,0xF6), + o2(0xF0,0xF5), o2(0xCB,0xCB), o2(0xC6,0xAC), o2(0xB1,0xD0), + o2(0xF0,0xF7), o2(0xF0,0xF4), o2(0xC9,0xD1), o2(0xCD,0xEA), + o2(0xF0,0xF8), UNDEF, +}; +static const BYTE_LOOKUP +to_EUC_JP_E9_A0 = { + to_SHIFT_JIS_E9_A0_offsets, + to_EUC_JP_E9_A0_infos +}; + +static const struct byte_lookup* const +to_EUC_JP_E9_A1_infos[21] = { + o2(0xF0,0xF9), o2(0xF0,0xFB), o2(0xC2,0xEA), o2(0xB3,0xDB), + o2(0xB3,0xDC), o2(0xF0,0xFA), o2(0xB4,0xE9), o2(0xB8,0xB2), + o2(0xFC,0xDA), o2(0xB4,0xEA), o2(0xC5,0xBF), o2(0xCE,0xE0), + o2(0xFC,0xDB), o2(0xB8,0xDC), o2(0xF0,0xFC), o2(0xF0,0xFD), + o2(0xF0,0xFE), o2(0xF1,0xA1), o2(0xF1,0xA3), o2(0xF1,0xA2), + UNDEF, +}; +static const BYTE_LOOKUP +to_EUC_JP_E9_A1 = { + to_SHIFT_JIS_E9_A1_offsets, + to_EUC_JP_E9_A1_infos +}; + +static const struct byte_lookup* const +to_EUC_JP_E9_A2_infos[6] = { + o2(0xC9,0xF7), o2(0xF1,0xA4), o2(0xF1,0xA5), o2(0xF1,0xA6), + o2(0xF1,0xA7), UNDEF, +}; +static const BYTE_LOOKUP +to_EUC_JP_E9_A2 = { + to_SHIFT_JIS_E9_A2_offsets, + to_EUC_JP_E9_A2_infos +}; + +static const struct byte_lookup* const +to_EUC_JP_E9_A3_infos[18] = { + o2(0xF1,0xA9), o2(0xF1,0xA8), o2(0xF1,0xAA), o2(0xC8,0xF4), + o2(0xE6,0xCC), o2(0xBF,0xA9), o2(0xB5,0xB2), o2(0xF1,0xAB), + o2(0xF1,0xAC), o2(0xD2,0xAC), o2(0xDD,0xBB), o2(0xC8,0xD3), + o2(0xB0,0xFB), o2(0xB0,0xBB), o2(0xBB,0xF4), o2(0xCB,0xB0), + o2(0xBE,0xFE), UNDEF, +}; +static const BYTE_LOOKUP +to_EUC_JP_E9_A3 = { + to_SHIFT_JIS_E9_A3_offsets, + to_EUC_JP_E9_A3_infos +}; + +static const struct byte_lookup* const +to_EUC_JP_E9_A4_infos[22] = { + o2(0xF1,0xAD), o2(0xCC,0xDF), o2(0xF1,0xAE), o2(0xCD,0xDC), + o2(0xB1,0xC2), o2(0xBB,0xC1), o2(0xF1,0xAF), o2(0xB2,0xEE), + o2(0xF1,0xB0), o2(0xF1,0xB1), o2(0xF1,0xB3), o2(0xF1,0xB4), + o2(0xF1,0xB6), o2(0xF1,0xB2), o2(0xF1,0xB5), o2(0xFC,0xDE), + o2(0xB4,0xDB), o2(0xF1,0xB7), o2(0xF1,0xB8), o2(0xF1,0xB9), + o2(0xF1,0xBA), UNDEF, +}; +static const BYTE_LOOKUP +to_EUC_JP_E9_A4 = { + to_SHIFT_JIS_E9_A4_offsets, + to_EUC_JP_E9_A4_infos +}; + +static const struct byte_lookup* const +to_EUC_JP_E9_A5_infos[11] = { + o2(0xF1,0xBB), o2(0xF1,0xBD), o2(0xF1,0xBC), o2(0xF1,0xBF), + o2(0xF1,0xC2), o2(0xF1,0xBE), o2(0xF1,0xC0), o2(0xF1,0xC1), + o2(0xF1,0xC3), o2(0xB6,0xC2), UNDEF, +}; +static const BYTE_LOOKUP +to_EUC_JP_E9_A5 = { + to_SHIFT_JIS_E9_A5_offsets, + to_EUC_JP_E9_A5_infos +}; + +static const struct byte_lookup* const +to_EUC_JP_E9_A6_infos[14] = { + o2(0xBC,0xF3), o2(0xF1,0xC4), o2(0xF1,0xC5), o2(0xB9,0xE1), + o2(0xFC,0xE0), o2(0xF1,0xC6), o2(0xB3,0xBE), o2(0xC7,0xCF), + o2(0xF1,0xC7), o2(0xF1,0xC8), o2(0xC3,0xDA), o2(0xC6,0xEB), + o2(0xF1,0xC9), UNDEF, +}; +static const BYTE_LOOKUP +to_EUC_JP_E9_A6 = { + to_SHIFT_JIS_E9_A6_offsets, + to_EUC_JP_E9_A6_infos +}; + +static const struct byte_lookup* const +to_EUC_JP_E9_A7_infos[22] = { + o2(0xC7,0xFD), o2(0xC2,0xCC), o2(0xB1,0xD8), o2(0xB6,0xEE), + o2(0xB6,0xEF), o2(0xC3,0xF3), o2(0xF1,0xCE), o2(0xB6,0xF0), + o2(0xB2,0xEF), o2(0xF1,0xCD), o2(0xF1,0xCB), o2(0xF1,0xCC), + o2(0xF1,0xCA), o2(0xF1,0xD8), o2(0xF1,0xCF), o2(0xF1,0xD0), + o2(0xF1,0xD1), o2(0xF1,0xD2), o2(0xF1,0xD4), o2(0xF1,0xD3), + o2(0xBD,0xD9), UNDEF, +}; +static const BYTE_LOOKUP +to_EUC_JP_E9_A7 = { + to_SHIFT_JIS_E9_A7_offsets, + to_EUC_JP_E9_A7_infos +}; + +static const struct byte_lookup* const +to_EUC_JP_E9_A8_infos[13] = { + o2(0xF1,0xD5), o2(0xF1,0xD7), o2(0xB5,0xB3), o2(0xF1,0xD6), + o2(0xC1,0xFB), o2(0xB8,0xB3), o2(0xF1,0xD9), o2(0xC2,0xCD), + o2(0xF1,0xDA), o2(0xC6,0xAD), o2(0xF1,0xDB), o2(0xF1,0xE0), + UNDEF, +}; +static const BYTE_LOOKUP +to_EUC_JP_E9_A8 = { + to_SHIFT_JIS_E9_A8_offsets, + to_EUC_JP_E9_A8_infos +}; + +static const struct byte_lookup* const +to_EUC_JP_E9_A9_infos[18] = { + o2(0xF1,0xDE), o2(0xF1,0xDD), o2(0xF1,0xDF), o2(0xF1,0xDC), + o2(0xF1,0xE2), o2(0xFC,0xE1), o2(0xF1,0xE1), o2(0xF1,0xE4), + o2(0xB6,0xC3), o2(0xF1,0xE3), o2(0xF1,0xE5), o2(0xF1,0xE6), + o2(0xF1,0xE8), o2(0xF1,0xE7), o2(0xF1,0xE9), o2(0xF1,0xEB), + o2(0xF1,0xEA), UNDEF, +}; +static const BYTE_LOOKUP +to_EUC_JP_E9_A9 = { + to_SHIFT_JIS_E9_A9_offsets, + to_EUC_JP_E9_A9_infos +}; + +static const struct byte_lookup* const +to_EUC_JP_E9_AA_infos[6] = { + o2(0xB9,0xFC), o2(0xF1,0xEC), o2(0xF1,0xED), o2(0xB3,0xBC), + o2(0xF1,0xEE), UNDEF, +}; +static const BYTE_LOOKUP +to_EUC_JP_E9_AA = { + to_SHIFT_JIS_E9_AA_offsets, + to_EUC_JP_E9_AA_infos +}; + +static const struct byte_lookup* const +to_EUC_JP_E9_AB_infos[24] = { + o2(0xF1,0xEF), o2(0xBF,0xF1), o2(0xF1,0xF0), o2(0xF1,0xF1), + o2(0xF1,0xF2), o2(0xF1,0xF3), o2(0xB9,0xE2), o2(0xFC,0xE2), + o2(0xFC,0xE3), o2(0xF1,0xF4), o2(0xF1,0xF5), o2(0xF1,0xF6), + o2(0xF1,0xF7), o2(0xF1,0xF8), o2(0xC8,0xB1), o2(0xF1,0xFA), + o2(0xC9,0xA6), o2(0xF1,0xFB), o2(0xF1,0xF9), o2(0xF1,0xFD), + o2(0xF1,0xFC), o2(0xF1,0xFE), o2(0xF2,0xA1), UNDEF, +}; +static const BYTE_LOOKUP +to_EUC_JP_E9_AB = { + to_SHIFT_JIS_E9_AB_offsets, + to_EUC_JP_E9_AB_infos +}; + +static const struct byte_lookup* const +to_EUC_JP_E9_AC_infos[18] = { + o2(0xF2,0xA2), o2(0xF2,0xA3), o2(0xF2,0xA4), o2(0xF2,0xA5), + o2(0xF2,0xA6), o2(0xF2,0xA7), o2(0xF2,0xA8), o2(0xF2,0xA9), + o2(0xF2,0xAA), o2(0xF2,0xAB), o2(0xF2,0xAC), o2(0xF2,0xAD), + o2(0xF2,0xAE), o2(0xDD,0xB5), o2(0xF2,0xAF), o2(0xE4,0xF8), + o2(0xB5,0xB4), UNDEF, +}; +static const BYTE_LOOKUP +to_EUC_JP_E9_AC = { + to_SHIFT_JIS_E9_AC_offsets, + to_EUC_JP_E9_AC_infos +}; + +static const struct byte_lookup* const +to_EUC_JP_E9_AD_infos[17] = { + o2(0xB3,0xA1), o2(0xBA,0xB2), o2(0xF2,0xB1), o2(0xF2,0xB0), + o2(0xCC,0xA5), o2(0xF2,0xB3), o2(0xF2,0xB4), o2(0xF2,0xB2), + o2(0xF2,0xB5), o2(0xCB,0xE2), o2(0xF2,0xB6), o2(0xB5,0xFB), + o2(0xCF,0xA5), o2(0xFC,0xE5), o2(0xF2,0xB7), o2(0xFC,0xE4), + UNDEF, +}; +static const BYTE_LOOKUP +to_EUC_JP_E9_AD = { + to_SHIFT_JIS_E9_AD_offsets, + to_EUC_JP_E9_AD_infos +}; + +static const struct byte_lookup* const +to_EUC_JP_E9_AE_infos[20] = { + o2(0xF2,0xB9), o2(0xB0,0xBE), o2(0xFC,0xE6), o2(0xF2,0xBA), + o2(0xCA,0xAB), o2(0xF2,0xB8), o2(0xF2,0xBB), o2(0xF2,0xBC), + o2(0xF2,0xBD), o2(0xF2,0xBE), o2(0xF2,0xBF), o2(0xCB,0xEE), + o2(0xBB,0xAD), o2(0xBA,0xFA), o2(0xC1,0xAF), o2(0xFC,0xE7), + o2(0xF2,0xC0), o2(0xF2,0xC3), o2(0xFC,0xE8), UNDEF, +}; +static const BYTE_LOOKUP +to_EUC_JP_E9_AE = { + to_SHIFT_JIS_E9_AE_offsets, + to_EUC_JP_E9_AE_infos +}; + +static const struct byte_lookup* const +to_EUC_JP_E9_AF_infos[20] = { + o2(0xF2,0xC1), o2(0xF2,0xC4), o2(0xB8,0xF1), o2(0xF2,0xC2), + o2(0xF2,0xC5), o2(0xF2,0xC6), o2(0xF2,0xC7), o2(0xF2,0xCB), + o2(0xBB,0xAA), o2(0xC2,0xE4), o2(0xF2,0xCC), o2(0xF2,0xC9), + o2(0xF2,0xC8), o2(0xF2,0xCA), o2(0xB7,0xDF), o2(0xF2,0xD0), + o2(0xF2,0xCF), o2(0xF2,0xCE), o2(0xB0,0xB3), UNDEF, +}; +static const BYTE_LOOKUP +to_EUC_JP_E9_AF = { + to_SHIFT_JIS_E9_AF_offsets, + to_EUC_JP_E9_AF_infos +}; + +static const struct byte_lookup* const +to_EUC_JP_E9_B0_infos[27] = { + o2(0xFC,0xE9), o2(0xF2,0xDA), o2(0xF2,0xD6), o2(0xF2,0xD7), + o2(0xF2,0xD3), o2(0xF2,0xD9), o2(0xF2,0xD5), o2(0xB3,0xE2), + o2(0xCF,0xCC), o2(0xF2,0xD8), o2(0xF2,0xD4), o2(0xF2,0xD2), + o2(0xF2,0xD1), o2(0xF2,0xDC), o2(0xF2,0xDF), o2(0xF2,0xDE), + o2(0xF2,0xDD), o2(0xC9,0xC9), o2(0xF2,0xDB), o2(0xB0,0xF3), + o2(0xF2,0xE0), o2(0xF2,0xE2), o2(0xB3,0xEF), o2(0xF2,0xCD), + o2(0xB1,0xB7), o2(0xF2,0xE4), UNDEF, +}; +static const BYTE_LOOKUP +to_EUC_JP_E9_B0 = { + to_SHIFT_JIS_E9_B0_offsets, + to_EUC_JP_E9_B0_infos +}; + +static const struct byte_lookup* const +to_EUC_JP_E9_B1_infos[11] = { + o2(0xF2,0xE3), o2(0xF2,0xE1), o2(0xC3,0xAD), o2(0xCB,0xF0), + o2(0xCE,0xDA), o2(0xF2,0xE5), o2(0xF2,0xE6), o2(0xF2,0xE7), + o2(0xF2,0xE8), o2(0xF2,0xE9), UNDEF, +}; +static const BYTE_LOOKUP +to_EUC_JP_E9_B1 = { + to_SHIFT_JIS_E9_B1_offsets, + to_EUC_JP_E9_B1_infos +}; + +static const struct byte_lookup* const +to_EUC_JP_E9_B3_infos[10] = { + o2(0xC4,0xBB), o2(0xF2,0xEA), o2(0xC8,0xB7), o2(0xF2,0xEF), + o2(0xF2,0xEB), o2(0xF2,0xEC), o2(0xCB,0xB1), o2(0xCC,0xC4), + o2(0xC6,0xD0), UNDEF, +}; +static const BYTE_LOOKUP +to_EUC_JP_E9_B3 = { + to_SHIFT_JIS_E9_B3_offsets, + to_EUC_JP_E9_B3_infos +}; + +static const struct byte_lookup* const +to_EUC_JP_E9_B4_infos[20] = { + o2(0xF2,0xF0), o2(0xF2,0xF1), o2(0xC6,0xBE), o2(0xF2,0xEE), + o2(0xF2,0xED), o2(0xB2,0xAA), o2(0xF2,0xF9), o2(0xF2,0xF8), + o2(0xB1,0xF5), o2(0xF2,0xF6), o2(0xF2,0xF5), o2(0xF2,0xF3), + o2(0xB3,0xFB), o2(0xF2,0xF2), o2(0xBC,0xB2), o2(0xB2,0xA9), + o2(0xB9,0xE3), o2(0xF2,0xFC), o2(0xF2,0xFB), UNDEF, +}; +static const BYTE_LOOKUP +to_EUC_JP_E9_B4 = { + to_SHIFT_JIS_E9_B4_offsets, + to_EUC_JP_E9_B4_infos +}; + +static const struct byte_lookup* const +to_EUC_JP_E9_B5_infos[20] = { + o2(0xF2,0xFA), o2(0xF2,0xF7), o2(0xF2,0xFD), o2(0xF2,0xFE), + o2(0xF3,0xA5), o2(0xF3,0xA4), o2(0xF3,0xA6), o2(0xB1,0xAD), + o2(0xF3,0xA1), o2(0xF3,0xA2), o2(0xB9,0xF4), o2(0xCC,0xB9), + o2(0xF3,0xA3), o2(0xFC,0xEB), o2(0xCB,0xB2), o2(0xF3,0xAB), + o2(0xFC,0xEA), o2(0xF3,0xA7), o2(0xF3,0xAC), UNDEF, +}; +static const BYTE_LOOKUP +to_EUC_JP_E9_B5 = { + to_SHIFT_JIS_E9_B5_offsets, + to_EUC_JP_E9_B5_infos +}; + +static const struct byte_lookup* const +to_EUC_JP_E9_B6_infos[14] = { + o2(0xF3,0xA9), o2(0xF3,0xA8), o2(0xB7,0xDC), o2(0xF3,0xAD), + o2(0xF3,0xAE), o2(0xF3,0xAF), o2(0xF3,0xAA), o2(0xF2,0xF4), + o2(0xF3,0xB0), o2(0xC4,0xE1), o2(0xF3,0xB4), o2(0xF3,0xB5), + o2(0xF3,0xB3), UNDEF, +}; +static const BYTE_LOOKUP +to_EUC_JP_E9_B6 = { + to_SHIFT_JIS_E9_B6_offsets, + to_EUC_JP_E9_B6_infos +}; + +static const struct byte_lookup* const +to_EUC_JP_E9_B7_infos[16] = { + o2(0xF3,0xB2), o2(0xF3,0xB8), o2(0xF3,0xB1), o2(0xF3,0xB6), + o2(0xF3,0xB7), o2(0xF3,0xBA), o2(0xF3,0xB9), o2(0xF3,0xBC), + o2(0xF3,0xBD), o2(0xF3,0xBE), o2(0xCF,0xC9), o2(0xF3,0xBB), + o2(0xC2,0xEB), o2(0xBA,0xED), o2(0xF3,0xBF), UNDEF, +}; +static const BYTE_LOOKUP +to_EUC_JP_E9_B7 = { + to_SHIFT_JIS_E9_B7_offsets, + to_EUC_JP_E9_B7_infos +}; + +static const struct byte_lookup* const +to_EUC_JP_E9_B8_infos[5] = { + o2(0xFC,0xED), o2(0xF3,0xC0), o2(0xF3,0xC1), o2(0xF3,0xC2), + UNDEF, +}; +static const BYTE_LOOKUP +to_EUC_JP_E9_B8 = { + to_SHIFT_JIS_E9_B8_offsets, + to_EUC_JP_E9_B8_infos +}; + +static const struct byte_lookup* const +to_EUC_JP_E9_B9_infos[6] = { + o2(0xF3,0xC3), o2(0xB8,0xB4), o2(0xF3,0xC4), o2(0xF3,0xC5), + o2(0xBC,0xAF), UNDEF, +}; +static const BYTE_LOOKUP +to_EUC_JP_E9_B9 = { + to_SHIFT_JIS_E9_B9_offsets, + to_EUC_JP_E9_B9_infos +}; + +static const struct byte_lookup* const +to_EUC_JP_E9_BA_infos[24] = { + o2(0xF3,0xC6), o2(0xF3,0xC7), o2(0xF3,0xC8), o2(0xF3,0xC9), + o2(0xF3,0xCC), o2(0xF3,0xCA), o2(0xCF,0xBC), o2(0xF3,0xCB), + o2(0xCE,0xEF), o2(0xF3,0xCD), o2(0xCE,0xDB), o2(0xF3,0xCE), + o2(0xC7,0xFE), o2(0xF3,0xCF), o2(0xF3,0xD1), o2(0xF3,0xD2), + o2(0xF3,0xD0), o2(0xB9,0xED), o2(0xCC,0xCD), o2(0xCB,0xE3), + o2(0xD6,0xF7), o2(0xDD,0xE0), o2(0xCB,0xFB), UNDEF, +}; +static const BYTE_LOOKUP +to_EUC_JP_E9_BA = { + to_SHIFT_JIS_E9_BA_offsets, + to_EUC_JP_E9_BA_infos +}; + +static const struct byte_lookup* const +to_EUC_JP_E9_BB_infos[27] = { + o2(0xB2,0xAB), o2(0xF3,0xD4), o2(0xB5,0xD0), o2(0xF3,0xD5), + o2(0xF3,0xD6), o2(0xF3,0xD7), o2(0xFC,0xEE), o2(0xB9,0xF5), + o2(0xF3,0xD8), o2(0xE0,0xD4), o2(0xCC,0xDB), o2(0xC2,0xE3), + o2(0xF3,0xD9), o2(0xF3,0xDB), o2(0xF3,0xDA), o2(0xF3,0xDC), + o2(0xF3,0xDD), o2(0xF3,0xDE), o2(0xF3,0xDF), o2(0xF3,0xE0), + o2(0xF3,0xE1), o2(0xF3,0xE2), o2(0xF3,0xE3), o2(0xF3,0xE4), + o2(0xF3,0xE5), o2(0xF3,0xE6), UNDEF, +}; +static const BYTE_LOOKUP +to_EUC_JP_E9_BB = { + to_SHIFT_JIS_E9_BB_offsets, + to_EUC_JP_E9_BB_infos +}; + +static const struct byte_lookup* const +to_EUC_JP_E9_BC_infos[11] = { + o2(0xF3,0xE7), o2(0xF3,0xE8), o2(0xC5,0xA4), o2(0xB8,0xDD), + o2(0xF3,0xEA), o2(0xC1,0xCD), o2(0xF3,0xEB), o2(0xF3,0xEC), + o2(0xC9,0xA1), o2(0xF3,0xED), UNDEF, +}; +static const BYTE_LOOKUP +to_EUC_JP_E9_BC = { + to_SHIFT_JIS_E9_BC_offsets, + to_EUC_JP_E9_BC_infos +}; + +static const struct byte_lookup* const +to_EUC_JP_E9_BD_infos[19] = { + o2(0xF3,0xEE), o2(0xE3,0xB7), o2(0xEC,0xDA), o2(0xF0,0xED), + o2(0xF3,0xEF), o2(0xF3,0xF0), o2(0xF3,0xF2), o2(0xF3,0xF3), + o2(0xF3,0xF4), o2(0xCE,0xF0), o2(0xF3,0xF1), o2(0xF3,0xF5), + o2(0xF3,0xF6), o2(0xF3,0xF8), o2(0xF3,0xF7), o2(0xF3,0xFA), + o2(0xF3,0xFB), o2(0xF3,0xF9), UNDEF, +}; +static const BYTE_LOOKUP +to_EUC_JP_E9_BD = { + to_SHIFT_JIS_E9_BD_offsets, + to_EUC_JP_E9_BD_infos +}; + +static const struct byte_lookup* const +to_EUC_JP_E9_BE_infos[6] = { + o2(0xCE,0xB6), o2(0xF3,0xFC), o2(0xF3,0xFD), o2(0xE3,0xD4), + o2(0xF3,0xFE), UNDEF, +}; +static const BYTE_LOOKUP +to_EUC_JP_E9_BE = { + to_SHIFT_JIS_E9_BE_offsets, + to_EUC_JP_E9_BE_infos +}; + +static const struct byte_lookup* const +to_EUC_JP_E9_infos[61] = { + &to_EUC_JP_E9_80, &to_EUC_JP_E9_81, &to_EUC_JP_E9_82, &to_EUC_JP_E9_83, + &to_EUC_JP_E9_84, &to_EUC_JP_E9_85, &to_EUC_JP_E9_86, &to_EUC_JP_E9_87, + &to_EUC_JP_E9_88, &to_EUC_JP_E9_89, &to_EUC_JP_E9_8A, &to_EUC_JP_E9_8B, + &to_EUC_JP_E9_8C, &to_EUC_JP_E9_8D, &to_EUC_JP_E9_8E, &to_EUC_JP_E9_8F, + &to_EUC_JP_E9_90, &to_EUC_JP_E9_91, &to_EUC_JP_E9_92, &to_EUC_JP_E9_95, + &to_EUC_JP_E9_96, &to_EUC_JP_E9_97, &to_EUC_JP_E9_98, &to_EUC_JP_E9_99, + &to_EUC_JP_E9_9A, &to_EUC_JP_E9_9B, &to_EUC_JP_E9_9C, &to_EUC_JP_E9_9D, + &to_EUC_JP_E9_9E, &to_EUC_JP_E9_9F, &to_EUC_JP_E9_A0, &to_EUC_JP_E9_A1, + &to_EUC_JP_E9_A2, &to_EUC_JP_E9_A3, &to_EUC_JP_E9_A4, &to_EUC_JP_E9_A5, + &to_EUC_JP_E9_A6, &to_EUC_JP_E9_A7, &to_EUC_JP_E9_A8, &to_EUC_JP_E9_A9, + &to_EUC_JP_E9_AA, &to_EUC_JP_E9_AB, &to_EUC_JP_E9_AC, &to_EUC_JP_E9_AD, + &to_EUC_JP_E9_AE, &to_EUC_JP_E9_AF, &to_EUC_JP_E9_B0, &to_EUC_JP_E9_B1, + &to_EUC_JP_E9_B3, &to_EUC_JP_E9_B4, &to_EUC_JP_E9_B5, &to_EUC_JP_E9_B6, + &to_EUC_JP_E9_B7, &to_EUC_JP_E9_B8, &to_EUC_JP_E9_B9, &to_EUC_JP_E9_BA, + &to_EUC_JP_E9_BB, &to_EUC_JP_E9_BC, &to_EUC_JP_E9_BD, &to_EUC_JP_E9_BE, + UNDEF, +}; +static const BYTE_LOOKUP +to_EUC_JP_E9 = { + to_SHIFT_JIS_E9_offsets, + to_EUC_JP_E9_infos +}; + +static const struct byte_lookup* const +to_EUC_JP_EF_A4_infos[2] = { + o2(0xFA,0xC6), UNDEF, +}; +static const BYTE_LOOKUP +to_EUC_JP_EF_A4 = { + to_SHIFT_JIS_EF_A4_offsets, + to_EUC_JP_EF_A4_infos +}; + +static const struct byte_lookup* const +to_EUC_JP_EF_A7_infos[2] = { + o2(0xFC,0xCF), UNDEF, +}; +static const BYTE_LOOKUP +to_EUC_JP_EF_A7 = { + to_SHIFT_JIS_EF_A7_offsets, + to_EUC_JP_EF_A7_infos +}; + +static const struct byte_lookup* const +to_EUC_JP_EF_A8_infos[33] = { + o2(0xF9,0xD4), o2(0xF9,0xDF), o2(0xF9,0xE0), o2(0xF9,0xF5), + o2(0xFA,0xBE), o2(0xFA,0xCE), o2(0xFA,0xD0), o2(0xFA,0xFB), + o2(0xFB,0xA3), o2(0xFB,0xBA), o2(0xFB,0xC2), o2(0xFB,0xC3), + o2(0xFB,0xC4), o2(0xFB,0xC6), o2(0xFB,0xCA), o2(0xFB,0xCD), + o2(0xFB,0xD6), o2(0xFB,0xE1), o2(0xFB,0xE3), o2(0xFB,0xE4), + o2(0xFB,0xED), o2(0xFB,0xF5), o2(0xFB,0xF7), o2(0xFB,0xF8), + o2(0xFB,0xFB), o2(0xFC,0xB9), o2(0xFC,0xC0), o2(0xFC,0xD0), + o2(0xFC,0xDC), o2(0xFC,0xDD), o2(0xFC,0xDF), o2(0xFC,0xEC), + UNDEF, +}; +static const BYTE_LOOKUP +to_EUC_JP_EF_A8 = { + to_SHIFT_JIS_EF_A8_offsets, + to_EUC_JP_EF_A8_infos +}; + +static const struct byte_lookup* const +to_EUC_JP_EF_BC_infos[62] = { + o2(0xA1,0xAA), o2(0xFC,0xFE), o2(0xA1,0xF4), o2(0xA1,0xF0), + o2(0xA1,0xF3), o2(0xA1,0xF5), o2(0xFC,0xFD), o2(0xA1,0xCA), + o2(0xA1,0xCB), o2(0xA1,0xF6), o2(0xA1,0xDC), o2(0xA1,0xA5), + o2(0xA1,0xBF), o2(0xA3,0xB0), o2(0xA3,0xB1), o2(0xA3,0xB2), + o2(0xA3,0xB3), o2(0xA3,0xB4), o2(0xA3,0xB5), o2(0xA3,0xB6), + o2(0xA3,0xB7), o2(0xA3,0xB8), o2(0xA3,0xB9), o2(0xA1,0xA7), + o2(0xA1,0xA8), o2(0xA1,0xE3), o2(0xA1,0xE1), o2(0xA1,0xE4), + o2(0xA1,0xA9), o2(0xA1,0xF7), o2(0xA3,0xC1), o2(0xA3,0xC2), + o2(0xA3,0xC3), o2(0xA3,0xC4), o2(0xA3,0xC5), o2(0xA3,0xC6), + o2(0xA3,0xC7), o2(0xA3,0xC8), o2(0xA3,0xC9), o2(0xA3,0xCA), + o2(0xA3,0xCB), o2(0xA3,0xCC), o2(0xA3,0xCD), o2(0xA3,0xCE), + o2(0xA3,0xCF), o2(0xA3,0xD0), o2(0xA3,0xD1), o2(0xA3,0xD2), + o2(0xA3,0xD3), o2(0xA3,0xD4), o2(0xA3,0xD5), o2(0xA3,0xD6), + o2(0xA3,0xD7), o2(0xA3,0xD8), o2(0xA3,0xD9), o2(0xA3,0xDA), + o2(0xA1,0xCE), o2(0xA1,0xC0), o2(0xA1,0xCF), o2(0xA1,0xB0), + o2(0xA1,0xB2), UNDEF, +}; +static const BYTE_LOOKUP +to_EUC_JP_EF_BC = { + to_SHIFT_JIS_EF_BC_offsets, + to_EUC_JP_EF_BC_infos +}; + +static const struct byte_lookup* const +to_EUC_JP_EF_BD_infos[62] = { + o2(0xA1,0xAE), o2(0xA3,0xE1), o2(0xA3,0xE2), o2(0xA3,0xE3), + o2(0xA3,0xE4), o2(0xA3,0xE5), o2(0xA3,0xE6), o2(0xA3,0xE7), + o2(0xA3,0xE8), o2(0xA3,0xE9), o2(0xA3,0xEA), o2(0xA3,0xEB), + o2(0xA3,0xEC), o2(0xA3,0xED), o2(0xA3,0xEE), o2(0xA3,0xEF), + o2(0xA3,0xF0), o2(0xA3,0xF1), o2(0xA3,0xF2), o2(0xA3,0xF3), + o2(0xA3,0xF4), o2(0xA3,0xF5), o2(0xA3,0xF6), o2(0xA3,0xF7), + o2(0xA3,0xF8), o2(0xA3,0xF9), o2(0xA3,0xFA), o2(0xA1,0xD0), + o2(0xA1,0xC3), o2(0xA1,0xD1), o2(0x8E,0xA1), o2(0x8E,0xA2), + o2(0x8E,0xA3), o2(0x8E,0xA4), o2(0x8E,0xA5), o2(0x8E,0xA6), + o2(0x8E,0xA7), o2(0x8E,0xA8), o2(0x8E,0xA9), o2(0x8E,0xAA), + o2(0x8E,0xAB), o2(0x8E,0xAC), o2(0x8E,0xAD), o2(0x8E,0xAE), + o2(0x8E,0xAF), o2(0x8E,0xB0), o2(0x8E,0xB1), o2(0x8E,0xB2), + o2(0x8E,0xB3), o2(0x8E,0xB4), o2(0x8E,0xB5), o2(0x8E,0xB6), + o2(0x8E,0xB7), o2(0x8E,0xB8), o2(0x8E,0xB9), o2(0x8E,0xBA), + o2(0x8E,0xBB), o2(0x8E,0xBC), o2(0x8E,0xBD), o2(0x8E,0xBE), + o2(0x8E,0xBF), UNDEF, +}; +static const BYTE_LOOKUP +to_EUC_JP_EF_BD = { + to_SHIFT_JIS_EF_BD_offsets, + to_EUC_JP_EF_BD_infos +}; + +static const struct byte_lookup* const +to_EUC_JP_EF_BE_infos[33] = { + o2(0x8E,0xC0), o2(0x8E,0xC1), o2(0x8E,0xC2), o2(0x8E,0xC3), + o2(0x8E,0xC4), o2(0x8E,0xC5), o2(0x8E,0xC6), o2(0x8E,0xC7), + o2(0x8E,0xC8), o2(0x8E,0xC9), o2(0x8E,0xCA), o2(0x8E,0xCB), + o2(0x8E,0xCC), o2(0x8E,0xCD), o2(0x8E,0xCE), o2(0x8E,0xCF), + o2(0x8E,0xD0), o2(0x8E,0xD1), o2(0x8E,0xD2), o2(0x8E,0xD3), + o2(0x8E,0xD4), o2(0x8E,0xD5), o2(0x8E,0xD6), o2(0x8E,0xD7), + o2(0x8E,0xD8), o2(0x8E,0xD9), o2(0x8E,0xDA), o2(0x8E,0xDB), + o2(0x8E,0xDC), o2(0x8E,0xDD), o2(0x8E,0xDE), o2(0x8E,0xDF), + UNDEF, +}; +static const BYTE_LOOKUP +to_EUC_JP_EF_BE = { + to_SHIFT_JIS_EF_BE_offsets, + to_EUC_JP_EF_BE_infos +}; + +static const struct byte_lookup* const +to_EUC_JP_EF_infos[7] = { + &to_EUC_JP_EF_A4, &to_EUC_JP_EF_A7, &to_EUC_JP_EF_A8, &to_EUC_JP_EF_BC, + &to_EUC_JP_EF_BD, &to_EUC_JP_EF_BE, UNDEF, +}; +static const BYTE_LOOKUP +to_EUC_JP_EF = { + to_SHIFT_JIS_EF_offsets, + to_EUC_JP_EF_infos +}; + +static const struct byte_lookup* const +to_EUC_JP_infos[17] = { + NOMAP, &to_EUC_JP_C2, &to_EUC_JP_C3, &to_EUC_JP_CE, + &to_EUC_JP_CF, &to_EUC_JP_D0, &to_EUC_JP_D1, &to_EUC_JP_E2, + &to_EUC_JP_E3, &to_EUC_JP_E4, &to_EUC_JP_E5, &to_EUC_JP_E6, + &to_EUC_JP_E7, &to_EUC_JP_E8, &to_EUC_JP_E9, &to_EUC_JP_EF, + UNDEF, +}; +static const BYTE_LOOKUP +to_EUC_JP = { + to_SHIFT_JIS_offsets, + to_EUC_JP_infos +}; +static rb_transcoder +rb_to_EUC_JP = { + "EUC_JP", "UTF-8", &to_EUC_JP, 2, 1, + NULL, NULL, +}; + +#define ISO_2022_ENCODING(escseq, byte) ((escseq<<8)|byte) +enum ISO_2022_ESCSEQ { + ISO_2022_CZD = '!', + ISO_2022_C1D = '"', + ISO_2022_GZD4 = '(', + ISO_2022_G1D4 = ')', + ISO_2022_G2D4 = '*', + ISO_2022_G3D4 = '+', + ISO_2022_G1D6 = '-', + ISO_2022_G2D6 = '.', + ISO_2022_G3D6 = '/', + ISO_2022_GZDM4 = ISO_2022_ENCODING('$','('), + ISO_2022_G1DM4 = ISO_2022_ENCODING('$',')'), + ISO_2022_G2DM4 = ISO_2022_ENCODING('$','*'), + ISO_2022_G3DM4 = ISO_2022_ENCODING('$','+'), + ISO_2022_G1DM6 = ISO_2022_ENCODING('$','-'), + ISO_2022_G2DM6 = ISO_2022_ENCODING('$','.'), + ISO_2022_G3DM6 = ISO_2022_ENCODING('$','/'), + ISO_2022_DOCS = ISO_2022_ENCODING('%','I'), + ISO_2022_IRR = '&' +}; + + +#define ISO_2022_GZ_ASCII ISO_2022_ENCODING(ISO_2022_GZD4, 'B') +#define ISO_2022_GZ_JIS_X_0201_Katakana ISO_2022_ENCODING(ISO_2022_GZD4, 'I') +#define ISO_2022_GZ_JIS_X_0201_Roman ISO_2022_ENCODING(ISO_2022_GZD4, 'J') +#define ISO_2022_GZ_JIS_C_6226_1978 ISO_2022_ENCODING(ISO_2022_GZDM4,'@') +#define ISO_2022_GZ_JIS_X_0208_1983 ISO_2022_ENCODING(ISO_2022_GZDM4,'B') +#define ISO_2022_GZ_JIS_X_0212_1990 ISO_2022_ENCODING(ISO_2022_GZDM4,'D') +#define ISO_2022_GZ_JIS_X_0213_2000_1 ISO_2022_ENCODING(ISO_2022_GZDM4,'O') +#define ISO_2022_GZ_JIS_X_0213_2000_2 ISO_2022_ENCODING(ISO_2022_GZDM4,'P') +#define ISO_2022_GZ_JIS_X_0213_2004_1 ISO_2022_ENCODING(ISO_2022_GZDM4,'Q') + +static int +get_iso_2022_mode(char **in_pos) +{ + int new_mode; + char *in_p = *in_pos; + switch (*in_p++) + { + case '(': + switch (*in_p++) + { + case 'B': case 'I': case 'J': + new_mode = ISO_2022_ENCODING(ISO_2022_GZD4, *(in_p-1)); + break; + default: + rb_raise(rb_eRuntimeError /*change exception*/, "this mode is not supported (ESC ( %c)", *(in_p-1)); + break; + } + break; + case '$': + switch (*in_p++) + { + case '@': case 'A': case 'B': + new_mode = ISO_2022_ENCODING(ISO_2022_GZDM4, *(in_p-1)); + break; + case '(': + switch (*in_p++) + { + case 'D': case 'O': case 'P': case 'Q': + new_mode = ISO_2022_ENCODING(ISO_2022_GZDM4, *(in_p-1)); + break; + default: + rb_raise(rb_eRuntimeError /*change exception*/, "this mode is not supported (ESC $ ( %c)", *(in_p-1)); + break; + } + break; + default: + rb_raise(rb_eRuntimeError /*change exception*/, "this mode is not supported (ESC $ %c)", *(in_p-1)); + break; + } + break; + default: + rb_raise(rb_eRuntimeError /*change exception*/, "this mode is not supported (ESC %c)", *(in_p-1)); + break; + } + *in_pos = in_p; + return new_mode; +} + +static void +from_iso_2022_jp_transcoder_preprocessor(char **in_pos, char **out_pos, + char *in_stop, char *out_stop, + rb_transcoder *my_transcoder, + rb_transcoding *my_transcoding) +{ + char *in_p = *in_pos, *out_p = *out_pos; + int cur_mode = ISO_2022_GZ_ASCII; + unsigned char c1; + char *out_s = out_stop - my_transcoder->max_output + 1; + while (in_p < in_stop) { + if (out_p >= out_s) { + int len = (out_p - *out_pos); + int new_len = (len + my_transcoder->max_output) * 2; + *out_pos = (*my_transcoding->flush_func)(my_transcoding, len, new_len); + out_p = *out_pos + len; + out_s = *out_pos + new_len - my_transcoder->max_output; + } + c1 = *in_p++; + if (c1 == 0x1B) { + cur_mode = get_iso_2022_mode(&in_p); + } else if (c1 == 0x1E || c1 == 0x1F) { + /* SHIFT */ + rb_raise(rb_eRuntimeError /*change exception*/, "shift is not supported"); + } else if (c1 >= 0x80) { + rb_raise(rb_eRuntimeError /*change exception*/, "illegal byte sequence"); + } else { + switch (cur_mode) { + case ISO_2022_GZ_ASCII: + case ISO_2022_GZ_JIS_X_0201_Roman: + *out_p++ = c1; + break; + case ISO_2022_GZ_JIS_X_0201_Katakana: + *out_p++ = 0x8E; + *out_p++ = c1 | 0x80; + break; + case ISO_2022_GZ_JIS_X_0212_1990: + *out_p++ = 0x8F; + case ISO_2022_GZ_JIS_C_6226_1978: + case ISO_2022_GZ_JIS_X_0208_1983: + *out_p++ = c1 | 0x80; + *out_p++ = *in_p++ | 0x80; + break; + } + } + } + /* cleanup */ + *in_pos = in_p; + *out_pos = out_p; +} + +static int +select_iso_2022_mode(char **out_pos, int new_mode) +{ + char *out_p = *out_pos; + *out_p++ = '\x1b'; + switch (new_mode>>8) + { + case ISO_2022_GZD4: + *out_p++ = new_mode >> 8; + *out_p++ = new_mode & 0x7F; + break; + case ISO_2022_GZDM4: + *out_p++ = new_mode >> 16; + if ((new_mode & 0x7F) != '@' && + (new_mode & 0x7F) != 'A' && + (new_mode & 0x7F) != 'B') + { + *out_p++ = (new_mode>>8) & 0x7F; + } + *out_p++ = new_mode & 0x7F; + break; + default: + rb_raise(rb_eRuntimeError /*change exception*/, "this mode is not supported."); + break; + } + *out_pos = out_p; + return new_mode; +} + +static void +to_iso_2022_jp_transcoder_postprocessor(char **in_pos, char **out_pos, + char *in_stop, char *out_stop, + rb_transcoder *my_transcoder, + rb_transcoding *my_transcoding) +{ + char *in_p = *in_pos, *out_p = *out_pos; + int cur_mode = ISO_2022_GZ_ASCII, new_mode = 0; + unsigned char next_byte; + char *out_s = out_stop - my_transcoder->max_output + 1; + while (in_p < in_stop) { + if (out_p >= out_s) { + int len = (out_p - *out_pos); + int new_len = (len + my_transcoder->max_output) * 2; + *out_pos = (*my_transcoding->flush_func)(my_transcoding, len, new_len); + out_p = *out_pos + len; + out_s = *out_pos + new_len - my_transcoder->max_output; + } + next_byte = *in_p++; + if (next_byte < 0x80) { + new_mode = ISO_2022_GZ_ASCII; + } else if (next_byte == 0x8E) { + new_mode = ISO_2022_GZ_JIS_X_0201_Katakana; + next_byte = *in_p++; + } else if (next_byte == 0x8F) { + new_mode = ISO_2022_GZ_JIS_X_0212_1990; + next_byte = *in_p++; + } else { + new_mode = ISO_2022_GZ_JIS_X_0208_1983; + } + if (cur_mode != new_mode) + cur_mode = select_iso_2022_mode(&out_p, new_mode); + if (cur_mode < 0xFFFF) { + *out_p++ = next_byte & 0x7F; + } else { + *out_p++ = next_byte & 0x7F; + *out_p++ = *in_p++ & 0x7F; + } + } + if (cur_mode != ISO_2022_GZ_ASCII) + cur_mode = select_iso_2022_mode(&out_p, ISO_2022_GZ_ASCII); + /* cleanup */ + *in_pos = in_p; + *out_pos = out_p; +} + +static rb_transcoder +rb_from_ISO_2022_JP = { + "ISO-2022-JP", "UTF-8", &from_EUC_JP, 8, 0, + &from_iso_2022_jp_transcoder_preprocessor, NULL, +}; + +static rb_transcoder +rb_to_ISO_2022_JP = { + "UTF-8", "ISO-2022-JP", &to_EUC_JP, 8, 1, + NULL, &to_iso_2022_jp_transcoder_postprocessor, +}; + +void +Init_japanese(void) +{ + rb_register_transcoder(&rb_from_SHIFT_JIS); + rb_register_transcoder(&rb_from_EUC_JP); + rb_register_transcoder(&rb_to_SHIFT_JIS); + rb_register_transcoder(&rb_to_EUC_JP); + rb_register_transcoder(&rb_from_ISO_2022_JP); + rb_register_transcoder(&rb_to_ISO_2022_JP); +} diff --git a/enc/trans/single_byte.c b/enc/trans/single_byte.c new file mode 100644 index 0000000000..ca4006d542 --- /dev/null +++ b/enc/trans/single_byte.c @@ -0,0 +1,3020 @@ +#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_2 */ + /* used from from_ISO_8859_4 */ + /* used from from_ISO_8859_5 */ + /* used from from_ISO_8859_9 */ + /* used from from_ISO_8859_10 */ + /* used from from_ISO_8859_13 */ + /* used from from_ISO_8859_14 */ + /* used from from_ISO_8859_15 */ + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 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), +}; +static const BYTE_LOOKUP +from_ISO_8859_1 = { + from_ISO_8859_1_offsets, + from_ISO_8859_1_infos +}; +static rb_transcoder +rb_from_ISO_8859_1 = { + "ISO-8859-1", "UTF-8", &from_ISO_8859_1, 2, 0, + NULL, NULL, +}; + +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] = { + 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 = { + /* used from to_ISO_8859_1 */ + /* used from to_ISO_8859_9 */ + 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] = { + 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 = { + /* used from to_ISO_8859_1 */ + /* used from to_ISO_8859_15 */ + 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, +}; +static const BYTE_LOOKUP +to_ISO_8859_1 = { + to_ISO_8859_1_offsets, + to_ISO_8859_1_infos +}; +static rb_transcoder +rb_to_ISO_8859_1 = { + "UTF-8", "ISO-8859-1", &to_ISO_8859_1, 1, 1, + NULL, NULL, +}; + +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), +}; +static const BYTE_LOOKUP +from_ISO_8859_2 = { + from_ISO_8859_1_offsets, + from_ISO_8859_2_infos +}; +static rb_transcoder +rb_from_ISO_8859_2 = { + "ISO-8859-2", "UTF-8", &from_ISO_8859_2, 2, 0, + NULL, NULL, +}; + +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, +}; +static const BYTE_LOOKUP +to_ISO_8859_2 = { + to_ISO_8859_2_offsets, + to_ISO_8859_2_infos +}; +static rb_transcoder +rb_to_ISO_8859_2 = { + "UTF-8", "ISO-8859-2", &to_ISO_8859_2, 1, 1, + NULL, NULL, +}; + +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, +}; +static const BYTE_LOOKUP +from_ISO_8859_3 = { + from_ISO_8859_3_offsets, + from_ISO_8859_3_infos +}; +static rb_transcoder +rb_from_ISO_8859_3 = { + "ISO-8859-3", "UTF-8", &from_ISO_8859_3, 2, 0, + NULL, NULL, +}; + +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, +}; +static const BYTE_LOOKUP +to_ISO_8859_3 = { + to_ISO_8859_2_offsets, + to_ISO_8859_3_infos +}; +static rb_transcoder +rb_to_ISO_8859_3 = { + "UTF-8", "ISO-8859-3", &to_ISO_8859_3, 1, 1, + NULL, NULL, +}; + +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), +}; +static const BYTE_LOOKUP +from_ISO_8859_4 = { + from_ISO_8859_1_offsets, + from_ISO_8859_4_infos +}; +static rb_transcoder +rb_from_ISO_8859_4 = { + "ISO-8859-4", "UTF-8", &from_ISO_8859_4, 2, 0, + NULL, NULL, +}; + +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_4_C4_offsets[64] = { + /* used from to_ISO_8859_4_C4 */ + /* used from to_ISO_8859_10_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_4_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, +}; +static const BYTE_LOOKUP +to_ISO_8859_4 = { + to_ISO_8859_2_offsets, + to_ISO_8859_4_infos +}; +static rb_transcoder +rb_to_ISO_8859_4 = { + "UTF-8", "ISO-8859-4", &to_ISO_8859_4, 1, 1, + NULL, NULL, +}; + +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), +}; +static const BYTE_LOOKUP +from_ISO_8859_5 = { + from_ISO_8859_1_offsets, + from_ISO_8859_5_infos +}; +static rb_transcoder +rb_from_ISO_8859_5 = { + "ISO-8859-5", "UTF-8", &from_ISO_8859_5, 3, 0, + NULL, NULL, +}; + +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, +}; +static const BYTE_LOOKUP +to_ISO_8859_5 = { + to_ISO_8859_5_offsets, + to_ISO_8859_5_infos +}; +static rb_transcoder +rb_to_ISO_8859_5 = { + "UTF-8", "ISO-8859-5", &to_ISO_8859_5, 1, 1, + NULL, NULL, +}; + +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, +}; +static const BYTE_LOOKUP +from_ISO_8859_6 = { + from_ISO_8859_6_offsets, + from_ISO_8859_6_infos +}; +static rb_transcoder +rb_from_ISO_8859_6 = { + "ISO-8859-6", "UTF-8", &from_ISO_8859_6, 2, 0, + NULL, NULL, +}; + +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, +}; +static const BYTE_LOOKUP +to_ISO_8859_6 = { + to_ISO_8859_6_offsets, + to_ISO_8859_6_infos +}; +static rb_transcoder +rb_to_ISO_8859_6 = { + "UTF-8", "ISO-8859-6", &to_ISO_8859_6, 1, 1, + NULL, NULL, +}; + +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, +}; +static const BYTE_LOOKUP +from_ISO_8859_7 = { + from_ISO_8859_7_offsets, + from_ISO_8859_7_infos +}; +static rb_transcoder +rb_from_ISO_8859_7 = { + "ISO-8859-7", "UTF-8", &from_ISO_8859_7, 3, 0, + NULL, NULL, +}; + +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, +}; +static const BYTE_LOOKUP +to_ISO_8859_7 = { + to_ISO_8859_7_offsets, + to_ISO_8859_7_infos +}; +static rb_transcoder +rb_to_ISO_8859_7 = { + "UTF-8", "ISO-8859-7", &to_ISO_8859_7, 1, 1, + NULL, NULL, +}; + +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, +}; +static const BYTE_LOOKUP +from_ISO_8859_8 = { + from_ISO_8859_8_offsets, + from_ISO_8859_8_infos +}; +static rb_transcoder +rb_from_ISO_8859_8 = { + "ISO-8859-8", "UTF-8", &from_ISO_8859_8, 3, 0, + NULL, NULL, +}; + +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_8_E2_offsets[64] = { + /* used from to_ISO_8859_8_E2 */ + /* used from to_ISO_8859_10_E2 */ + /* used from to_ISO_8859_13_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_8_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, +}; +static const BYTE_LOOKUP +to_ISO_8859_8 = { + to_ISO_8859_8_offsets, + to_ISO_8859_8_infos +}; +static rb_transcoder +rb_to_ISO_8859_8 = { + "UTF-8", "ISO-8859-8", &to_ISO_8859_8, 1, 1, + NULL, NULL, +}; + +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), +}; +static const BYTE_LOOKUP +from_ISO_8859_9 = { + from_ISO_8859_1_offsets, + from_ISO_8859_9_infos +}; +static rb_transcoder +rb_from_ISO_8859_9 = { + "ISO-8859-9", "UTF-8", &from_ISO_8859_9, 2, 0, + NULL, NULL, +}; + +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_1_C2, + &to_ISO_8859_9_C3, &to_ISO_8859_9_C4, + &to_ISO_8859_9_C5, UNDEF, +}; +static const BYTE_LOOKUP +to_ISO_8859_9 = { + to_ISO_8859_9_offsets, + to_ISO_8859_9_infos +}; +static rb_transcoder +rb_to_ISO_8859_9 = { + "UTF-8", "ISO-8859-9", &to_ISO_8859_9, 1, 1, + NULL, NULL, +}; + +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), +}; +static const BYTE_LOOKUP +from_ISO_8859_10 = { + from_ISO_8859_1_offsets, + from_ISO_8859_10_infos +}; +static rb_transcoder +rb_from_ISO_8859_10 = { + "ISO-8859-10", "UTF-8", &from_ISO_8859_10, 3, 0, + NULL, NULL, +}; + +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_4_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 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_8_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, +}; +static const BYTE_LOOKUP +to_ISO_8859_10 = { + to_ISO_8859_10_offsets, + to_ISO_8859_10_infos +}; +static rb_transcoder +rb_to_ISO_8859_10 = { + "UTF-8", "ISO-8859-10", &to_ISO_8859_10, 1, 1, + NULL, NULL, +}; + +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, +}; +static const BYTE_LOOKUP +from_ISO_8859_11 = { + from_ISO_8859_11_offsets, + from_ISO_8859_11_infos +}; +static rb_transcoder +rb_from_ISO_8859_11 = { + "ISO-8859-11", "UTF-8", &from_ISO_8859_11, 3, 0, + NULL, NULL, +}; + +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, +}; +static const BYTE_LOOKUP +to_ISO_8859_11 = { + to_ISO_8859_11_offsets, + to_ISO_8859_11_infos +}; +static rb_transcoder +rb_to_ISO_8859_11 = { + "UTF-8", "ISO-8859-11", &to_ISO_8859_11, 1, 1, + NULL, NULL, +}; + +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), +}; +static const BYTE_LOOKUP +from_ISO_8859_13 = { + from_ISO_8859_1_offsets, + from_ISO_8859_13_infos +}; +static rb_transcoder +rb_from_ISO_8859_13 = { + "ISO-8859-13", "UTF-8", &from_ISO_8859_13, 3, 0, + NULL, NULL, +}; + +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_8_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, +}; +static const BYTE_LOOKUP +to_ISO_8859_13 = { + to_ISO_8859_10_offsets, + to_ISO_8859_13_infos +}; +static rb_transcoder +rb_to_ISO_8859_13 = { + "UTF-8", "ISO-8859-13", &to_ISO_8859_13, 1, 1, + NULL, NULL, +}; + +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), +}; +static const BYTE_LOOKUP +from_ISO_8859_14 = { + from_ISO_8859_1_offsets, + from_ISO_8859_14_infos +}; +static rb_transcoder +rb_from_ISO_8859_14 = { + "ISO-8859-14", "UTF-8", &from_ISO_8859_14, 3, 0, + NULL, NULL, +}; + +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, +}; +static const BYTE_LOOKUP +to_ISO_8859_14 = { + to_ISO_8859_14_offsets, + to_ISO_8859_14_infos +}; +static rb_transcoder +rb_to_ISO_8859_14 = { + "UTF-8", "ISO-8859-14", &to_ISO_8859_14, 1, 1, + NULL, NULL, +}; + +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), +}; +static const BYTE_LOOKUP +from_ISO_8859_15 = { + from_ISO_8859_1_offsets, + from_ISO_8859_15_infos +}; +static rb_transcoder +rb_from_ISO_8859_15 = { + "ISO-8859-15", "UTF-8", &from_ISO_8859_15, 3, 0, + NULL, NULL, +}; + +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 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_1_C3, &to_ISO_8859_15_C5, + &to_ISO_8859_15_E2, UNDEF, +}; +static const BYTE_LOOKUP +to_ISO_8859_15 = { + to_ISO_8859_15_offsets, + to_ISO_8859_15_infos +}; +static rb_transcoder +rb_to_ISO_8859_15 = { + "UTF-8", "ISO-8859-15", &to_ISO_8859_15, 1, 1, + NULL, NULL, +}; + +void +Init_one_byte(void) +{ + rb_register_transcoder(&rb_from_ISO_8859_1); + rb_register_transcoder(&rb_from_ISO_8859_2); + rb_register_transcoder(&rb_from_ISO_8859_3); + rb_register_transcoder(&rb_from_ISO_8859_4); + rb_register_transcoder(&rb_from_ISO_8859_5); + rb_register_transcoder(&rb_from_ISO_8859_6); + rb_register_transcoder(&rb_from_ISO_8859_7); + rb_register_transcoder(&rb_from_ISO_8859_8); + rb_register_transcoder(&rb_from_ISO_8859_9); + rb_register_transcoder(&rb_from_ISO_8859_10); + rb_register_transcoder(&rb_from_ISO_8859_11); + rb_register_transcoder(&rb_from_ISO_8859_13); + rb_register_transcoder(&rb_from_ISO_8859_14); + rb_register_transcoder(&rb_from_ISO_8859_15); + rb_register_transcoder(&rb_to_ISO_8859_1); + rb_register_transcoder(&rb_to_ISO_8859_2); + rb_register_transcoder(&rb_to_ISO_8859_3); + rb_register_transcoder(&rb_to_ISO_8859_4); + rb_register_transcoder(&rb_to_ISO_8859_5); + rb_register_transcoder(&rb_to_ISO_8859_6); + rb_register_transcoder(&rb_to_ISO_8859_7); + rb_register_transcoder(&rb_to_ISO_8859_8); + rb_register_transcoder(&rb_to_ISO_8859_9); + rb_register_transcoder(&rb_to_ISO_8859_10); + rb_register_transcoder(&rb_to_ISO_8859_11); + rb_register_transcoder(&rb_to_ISO_8859_13); + rb_register_transcoder(&rb_to_ISO_8859_14); + rb_register_transcoder(&rb_to_ISO_8859_15); +} +/* Footprint (bytes): gross: 26788, saved: 3728, net: 23060 */ diff --git a/transcode.c b/transcode.c index c915cc299d..e8c6545163 100644 --- a/transcode.c +++ b/transcode.c @@ -12,9 +12,9 @@ #include "ruby/ruby.h" #include "ruby/encoding.h" - +#define PType (int) #include "transcode_data.h" - +#include VALUE rb_str_tmp_new(long); VALUE rb_str_shared_replace(VALUE, VALUE); @@ -23,168 +23,122 @@ VALUE rb_str_shared_replace(VALUE, VALUE); * Dispatch data and logic */ -/* extern declarations, should use some include file here */ -extern const BYTE_LOOKUP rb_from_ISO_8859_1; -extern const BYTE_LOOKUP rb_from_ISO_8859_2; -extern const BYTE_LOOKUP rb_from_ISO_8859_3; -extern const BYTE_LOOKUP rb_from_ISO_8859_4; -extern const BYTE_LOOKUP rb_from_ISO_8859_5; -extern const BYTE_LOOKUP rb_from_ISO_8859_6; -extern const BYTE_LOOKUP rb_from_ISO_8859_7; -extern const BYTE_LOOKUP rb_from_ISO_8859_8; -extern const BYTE_LOOKUP rb_from_ISO_8859_9; -extern const BYTE_LOOKUP rb_from_ISO_8859_10; -extern const BYTE_LOOKUP rb_from_ISO_8859_11; -extern const BYTE_LOOKUP rb_from_ISO_8859_13; -extern const BYTE_LOOKUP rb_from_ISO_8859_14; -extern const BYTE_LOOKUP rb_from_ISO_8859_15; - -extern const BYTE_LOOKUP rb_to_ISO_8859_1; -extern const BYTE_LOOKUP rb_to_ISO_8859_2; -extern const BYTE_LOOKUP rb_to_ISO_8859_3; -extern const BYTE_LOOKUP rb_to_ISO_8859_4; -extern const BYTE_LOOKUP rb_to_ISO_8859_5; -extern const BYTE_LOOKUP rb_to_ISO_8859_6; -extern const BYTE_LOOKUP rb_to_ISO_8859_7; -extern const BYTE_LOOKUP rb_to_ISO_8859_8; -extern const BYTE_LOOKUP rb_to_ISO_8859_9; -extern const BYTE_LOOKUP rb_to_ISO_8859_10; -extern const BYTE_LOOKUP rb_to_ISO_8859_11; -extern const BYTE_LOOKUP rb_to_ISO_8859_13; -extern const BYTE_LOOKUP rb_to_ISO_8859_14; -extern const BYTE_LOOKUP rb_to_ISO_8859_15; - -extern const BYTE_LOOKUP rb_from_SHIFT_JIS; -extern const BYTE_LOOKUP rb_from_EUC_JP; - -extern const BYTE_LOOKUP rb_to_SHIFT_JIS; -extern const BYTE_LOOKUP rb_to_EUC_JP; - -extern void from_iso_2022_jp_transcoder_preprocessor(char**, char**, char*, char*, - struct transcoder_st *transcoder, struct transcoding*); -extern void to_iso_2022_jp_transcoder_postprocessor(char**, char**, char*, char*, - struct transcoder_st *transcoder, struct transcoding*); - -/* declarations probably need to go into separate header file, e.g. transcode.h */ - -/* todo: dynamic structure, one per conversion (stream) */ - -/* in the future, add some mechanism for dynamically adding stuff here */ -#define MAX_TRANSCODERS 35 /* todo: fix: this number has to be adjusted by hand */ -static transcoder transcoder_table[MAX_TRANSCODERS]; -/* variable to work across register_transcoder and register_functional_transcoder */ -static int next_transcoder_position = 0; - -/* not sure why it's not possible to do relocatable initializations */ -/* maybe the code here can be removed (changed to simple initialization) */ -/* if we move this to another file???? */ -static void -register_transcoder(const char *from_e, const char *to_e, - const BYTE_LOOKUP *tree_start, int max_output, int from_utf8) +static st_table *transcoder_table, *transcoder_lib_table; + +#define TRANSCODER_INTERNAL_SEPARATOR '\t' + +static char * +transcoder_key(const char *from_e, const char *to_e) { - if (next_transcoder_position >= MAX_TRANSCODERS) { - /* we are initializing, is it okay to use rb_raise here? */ - rb_raise(rb_eRuntimeError /*change exception*/, "not enough transcoder slots"); - } - transcoder_table[next_transcoder_position].from_encoding = from_e; - transcoder_table[next_transcoder_position].to_encoding = to_e; - transcoder_table[next_transcoder_position].conv_tree_start = tree_start; - transcoder_table[next_transcoder_position].max_output = max_output; - transcoder_table[next_transcoder_position].from_utf8 = from_utf8; + int to_len = strlen(to_e); + int from_len = strlen(from_e); + char *const key = xmalloc(to_len + from_len + 2); + + memcpy(key, to_e, to_len); + memcpy(key + to_len + 1, from_e, from_len + 1); + key[to_len] = TRANSCODER_INTERNAL_SEPARATOR; + return key; +} - next_transcoder_position++; +void +rb_register_transcoder(const rb_transcoder *tr) +{ + st_data_t k, val = 0; + const char *const from_e = tr->from_encoding; + const char *const to_e = tr->to_encoding; + char *const key = transcoder_key(from_e, to_e); + + if (st_lookup(transcoder_table, (st_data_t)key, &val)) { + xfree(key); + rb_raise(rb_eArgError, "transcoder from %s to %s has been already registered", + from_e, to_e); + } + k = (st_data_t)key; + if (st_delete(transcoder_lib_table, &k, &val)) { + xfree((char *)k); + } + st_insert(transcoder_table, (st_data_t)key, (st_data_t)tr); } static void -register_functional_transcoder(const char *from_e, const char *to_e, - const BYTE_LOOKUP *tree_start, int max_output, int from_utf8, - void (*preprocessor)(char**, char**, char*, char*, transcoder*, transcoding*), - void (*postprocessor)(char**, char**, char*, char*, transcoder*, transcoding*)) +declare_transcoder(const char *to, const char *from, const char *lib) { - if (next_transcoder_position >= MAX_TRANSCODERS) { - /* we are initializing, is it okay to use rb_raise here? */ - rb_raise(rb_eRuntimeError /*change exception*/, "not enough transcoder slots"); + const char *const key = transcoder_key(to, from); + st_data_t k = (st_data_t)key, val; + + if (st_delete(transcoder_lib_table, &k, &val)) { + xfree((char *)k); } - transcoder_table[next_transcoder_position].from_encoding = from_e; - transcoder_table[next_transcoder_position].to_encoding = to_e; - transcoder_table[next_transcoder_position].conv_tree_start = tree_start; - transcoder_table[next_transcoder_position].max_output = max_output; - transcoder_table[next_transcoder_position].from_utf8 = from_utf8; - transcoder_table[next_transcoder_position].conv_tree_start = tree_start; - transcoder_table[next_transcoder_position].preprocessor = preprocessor; - transcoder_table[next_transcoder_position].postprocessor = postprocessor; - - next_transcoder_position++; + st_insert(transcoder_lib_table, (st_data_t)key, (st_data_t)lib); } -static void -init_transcoder_table(void) +#define MAX_TRANSCODER_LIBNAME_LEN 64 +static const char transcoder_lib_prefix[] = "enc/trans/"; + +void +rb_declare_transcoder(const char *enc1, const char *enc2, const char *lib) { - register_transcoder("ISO-8859-1", "UTF-8", &rb_from_ISO_8859_1, 2, 0); - register_transcoder("ISO-8859-2", "UTF-8", &rb_from_ISO_8859_2, 2, 0); - register_transcoder("ISO-8859-3", "UTF-8", &rb_from_ISO_8859_3, 2, 0); - register_transcoder("ISO-8859-4", "UTF-8", &rb_from_ISO_8859_4, 2, 0); - register_transcoder("ISO-8859-5", "UTF-8", &rb_from_ISO_8859_5, 3, 0); - register_transcoder("ISO-8859-6", "UTF-8", &rb_from_ISO_8859_6, 2, 0); - register_transcoder("ISO-8859-7", "UTF-8", &rb_from_ISO_8859_7, 3, 0); - register_transcoder("ISO-8859-8", "UTF-8", &rb_from_ISO_8859_8, 3, 0); - register_transcoder("ISO-8859-9", "UTF-8", &rb_from_ISO_8859_9, 2, 0); - register_transcoder("ISO-8859-10", "UTF-8", &rb_from_ISO_8859_10, 3, 0); - register_transcoder("ISO-8859-11", "UTF-8", &rb_from_ISO_8859_11, 3, 0); - register_transcoder("ISO-8859-13", "UTF-8", &rb_from_ISO_8859_13, 3, 0); - register_transcoder("ISO-8859-14", "UTF-8", &rb_from_ISO_8859_14, 3, 0); - register_transcoder("ISO-8859-15", "UTF-8", &rb_from_ISO_8859_15, 3, 0); - register_transcoder("UTF-8", "ISO-8859-1", &rb_to_ISO_8859_1, 1, 1); - register_transcoder("UTF-8", "ISO-8859-2", &rb_to_ISO_8859_2, 1, 1); - register_transcoder("UTF-8", "ISO-8859-3", &rb_to_ISO_8859_3, 1, 1); - register_transcoder("UTF-8", "ISO-8859-4", &rb_to_ISO_8859_4, 1, 1); - register_transcoder("UTF-8", "ISO-8859-5", &rb_to_ISO_8859_5, 1, 1); - register_transcoder("UTF-8", "ISO-8859-6", &rb_to_ISO_8859_6, 1, 1); - register_transcoder("UTF-8", "ISO-8859-7", &rb_to_ISO_8859_7, 1, 1); - register_transcoder("UTF-8", "ISO-8859-8", &rb_to_ISO_8859_8, 1, 1); - register_transcoder("UTF-8", "ISO-8859-9", &rb_to_ISO_8859_9, 1, 1); - register_transcoder("UTF-8", "ISO-8859-10", &rb_to_ISO_8859_10, 1, 1); - register_transcoder("UTF-8", "ISO-8859-11", &rb_to_ISO_8859_11, 1, 1); - register_transcoder("UTF-8", "ISO-8859-13", &rb_to_ISO_8859_13, 1, 1); - register_transcoder("UTF-8", "ISO-8859-14", &rb_to_ISO_8859_14, 1, 1); - register_transcoder("UTF-8", "ISO-8859-15", &rb_to_ISO_8859_15, 1, 1); - - register_transcoder("SHIFT_JIS", "UTF-8", &rb_from_SHIFT_JIS, 3, 0); - register_transcoder("EUC-JP", "UTF-8", &rb_from_EUC_JP, 3, 0); - register_transcoder("UTF-8", "SHIFT_JIS", &rb_to_SHIFT_JIS, 2, 1); - register_transcoder("UTF-8", "EUC-JP", &rb_to_EUC_JP, 2, 1); - register_functional_transcoder("ISO-2022-JP", "UTF-8", &rb_from_EUC_JP, - 8, 0, &from_iso_2022_jp_transcoder_preprocessor, NULL); - register_functional_transcoder("UTF-8", "ISO-2022-JP", &rb_to_EUC_JP, - 8, 1, NULL, &to_iso_2022_jp_transcoder_postprocessor); - - register_transcoder(NULL, NULL, NULL, 0, 0); + if (!lib || strlen(lib) > MAX_TRANSCODER_LIBNAME_LEN) { + rb_raise(rb_eArgError, "invalid library name - %s", + lib ? lib : "(null)"); + } + declare_transcoder(enc1, enc2, lib); + declare_transcoder(enc2, enc1, lib); } -static int -encoding_equal(const char* encoding1, const char* encoding2) +static void +init_transcoder_table(void) { - return 0==strcasecmp(encoding1, encoding2); + rb_declare_transcoder("ISO-8859-1", "UTF-8", "single_byte"); + rb_declare_transcoder("ISO-8859-2", "UTF-8", "single_byte"); + rb_declare_transcoder("ISO-8859-3", "UTF-8", "single_byte"); + rb_declare_transcoder("ISO-8859-4", "UTF-8", "single_byte"); + rb_declare_transcoder("ISO-8859-5", "UTF-8", "single_byte"); + rb_declare_transcoder("ISO-8859-6", "UTF-8", "single_byte"); + rb_declare_transcoder("ISO-8859-7", "UTF-8", "single_byte"); + rb_declare_transcoder("ISO-8859-8", "UTF-8", "single_byte"); + rb_declare_transcoder("ISO-8859-9", "UTF-8", "single_byte"); + rb_declare_transcoder("ISO-8859-10", "UTF-8", "single_byte"); + rb_declare_transcoder("ISO-8859-11", "UTF-8", "single_byte"); + rb_declare_transcoder("ISO-8859-13", "UTF-8", "single_byte"); + rb_declare_transcoder("ISO-8859-14", "UTF-8", "single_byte"); + rb_declare_transcoder("ISO-8859-15", "UTF-8", "single_byte"); + rb_declare_transcoder("SHIFT_JIS", "UTF-8", "japanese"); + rb_declare_transcoder("EUC-JP", "UTF-8", "japanese"); + rb_declare_transcoder("ISO-2022-JP", "UTF-8", "japanese"); } -static transcoder* +#define encoding_equal(enc1, enc2) (strcasecmp(enc1, enc2) == 0) + +static rb_transcoder * transcode_dispatch(const char* from_encoding, const char* to_encoding) { - transcoder *candidate = transcoder_table; - - for (candidate = transcoder_table; candidate->from_encoding; candidate++) { - if (encoding_equal(from_encoding, candidate->from_encoding) - && encoding_equal(to_encoding, candidate->to_encoding)) { - return candidate; + char *const key = transcoder_key(from_encoding, to_encoding); + st_data_t k, val = 0; + + k = (st_data_t)key; + if (!st_lookup(transcoder_table, k, &val) && + st_delete(transcoder_lib_table, &k, &val)) { + const char *const lib = (const char *)val; + int len = strlen(lib); + char path[sizeof(transcoder_lib_prefix) + MAX_TRANSCODER_LIBNAME_LEN]; + + xfree((char *)k); + if (len > MAX_TRANSCODER_LIBNAME_LEN) return NULL; + memcpy(path, transcoder_lib_prefix, sizeof(transcoder_lib_prefix) - 1); + memcpy(path + sizeof(transcoder_lib_prefix) - 1, lib, len + 1); + if (!rb_require(path)) return NULL; + if (!st_lookup(transcoder_table, (st_data_t)key, &val)) { + /* multistep logic, via UTF-8 */ + if (!encoding_equal(from_encoding, "UTF-8") && + !encoding_equal(to_encoding, "UTF-8") && + transcode_dispatch("UTF-8", to_encoding)) { /* check that we have a second step */ + return transcode_dispatch(from_encoding, "UTF-8"); /* return first step */ + } + return NULL; } } - /* multistep logic, via UTF-8 */ - if (!encoding_equal(from_encoding, "UTF-8") - && !encoding_equal(to_encoding, "UTF-8") - && transcode_dispatch("UTF-8", to_encoding)) { /* check that we have a second step */ - return transcode_dispatch(from_encoding, "UTF-8"); /* return first step */ - } - return NULL; + return (rb_transcoder *)val; } @@ -194,8 +148,8 @@ transcode_dispatch(const char* from_encoding, const char* to_encoding) static void transcode_loop(char **in_pos, char **out_pos, char *in_stop, char *out_stop, - transcoder *my_transcoder, - transcoding *my_transcoding) + const rb_transcoder *my_transcoder, + rb_transcoding *my_transcoding) { char *in_p = *in_pos, *out_p = *out_pos; const BYTE_LOOKUP *conv_tree_start = my_transcoder->conv_tree_start; @@ -280,7 +234,7 @@ transcode_loop(char **in_pos, char **out_pos, */ static char * -str_transcoding_resize(transcoding *my_transcoding, int len, int new_len) +str_transcoding_resize(rb_transcoding *my_transcoding, int len, int new_len) { VALUE dest_string = my_transcoding->ruby_string_dest; rb_str_resize(dest_string, new_len); @@ -298,8 +252,8 @@ str_transcode(int argc, VALUE *argv, VALUE *self) const char *from_e, *to_e; int from_encidx, to_encidx; VALUE from_encval, to_encval; - transcoder *my_transcoder; - transcoding my_transcoding; + rb_transcoder *my_transcoder; + rb_transcoding my_transcoding; int final_encoding = 0; if (argc<1 || argc>2) { @@ -307,6 +261,7 @@ str_transcode(int argc, VALUE *argv, VALUE *self) } if ((to_encidx = rb_to_encoding_index(to_encval = argv[0])) < 0) { to_enc = 0; + to_encidx = 0; to_e = StringValueCStr(to_encval); } else { @@ -405,7 +360,7 @@ str_transcode(int argc, VALUE *argv, VALUE *self) } /* set encoding */ if (!to_enc) { - to_encidx = rb_enc_replicate(to_e, rb_ascii8bit_encoding()); + to_encidx = rb_define_dummy_encoding(to_e); } *self = dest; @@ -467,7 +422,10 @@ rb_str_transcode(int argc, VALUE *argv, VALUE str) void Init_transcode(void) { + transcoder_table = st_init_strcasetable(); + transcoder_lib_table = st_init_strcasetable(); init_transcoder_table(); + rb_define_method(rb_cString, "encode", rb_str_transcode, -1); rb_define_method(rb_cString, "encode!", rb_str_transcode_bang, -1); } diff --git a/transcode_data.h b/transcode_data.h index 3131877a41..add954ef74 100644 --- a/transcode_data.h +++ b/transcode_data.h @@ -22,12 +22,9 @@ typedef struct byte_lookup { const struct byte_lookup *const *info; } BYTE_LOOKUP; -#ifdef TRANSCODE_DATA +#ifndef PType /* data file needs to treat this as a pointer, to remove warnings */ #define PType (const BYTE_LOOKUP *) -#else -/* in code, this is treated as just an integer */ -#define PType (int) #endif #define NOMAP (PType 0x01) /* single byte direct map */ @@ -56,23 +53,26 @@ typedef struct byte_lookup { /* dynamic structure, one per conversion (similar to iconv_t) */ /* may carry conversion state (e.g. for iso-2022-jp) */ -typedef struct transcoding { +typedef struct rb_transcoding { VALUE ruby_string_dest; /* the String used as the conversion destination, or NULL if something else is being converted */ - char *(*flush_func)(struct transcoding*, int, int); -} transcoding; + char *(*flush_func)(struct rb_transcoding*, int, int); +} rb_transcoding; /* static structure, one per supported encoding pair */ -typedef struct transcoder_st{ +typedef struct rb_transcoder { const char *from_encoding; const char *to_encoding; const BYTE_LOOKUP *conv_tree_start; int max_output; int from_utf8; void (*preprocessor)(char**, char**, char*, char*, - struct transcoder_st *transcoder, struct transcoding*); + struct rb_transcoder *, struct rb_transcoding *); void (*postprocessor)(char**, char**, char*, char*, - struct transcoder_st *transcoder, struct transcoding*); -} transcoder; + struct rb_transcoder *, struct rb_transcoding *); +} rb_transcoder; + +void rb_declare_transcoder(const char *enc1, const char *enc2, const char *lib); +void rb_register_transcoder(const rb_transcoder *); #endif /* RUBY_TRANSCODE_DATA_H */ diff --git a/transcode_data_japanese.c b/transcode_data_japanese.c deleted file mode 100644 index 860b824221..0000000000 --- a/transcode_data_japanese.c +++ /dev/null @@ -1,23826 +0,0 @@ -#define TRANSCODE_DATA -#include "transcode_data.h" - -static const unsigned char -from_SHIFT_JIS_81_offsets[256] = { - 147,147,147,147,147,147,147,147, 147,147,147,147,147,147,147,147, - 147,147,147,147,147,147,147,147, 147,147,147,147,147,147,147,147, - 147,147,147,147,147,147,147,147, 147,147,147,147,147,147,147,147, - 147,147,147,147,147,147,147,147, 147,147,147,147,147,147,147,147, - 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,147, - 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,147,147,147, - 147,147,147,147,147,147,147,147, 108,109,110,111,112,113,114,115, - 147,147,147,147,147,147,147,147, 116,117,118,119,120,121,122,147, - 147,147,147,147,147,147,147,147, 147,147,123,124,125,126,127,128, - 129,130,131,132,133,134,135,136, 137,147,147,147,147,147,147,147, - 138,139,140,141,142,143,144,145, 147,147,147,147,146,147,147,147, -}; -static const struct byte_lookup* const -from_SHIFT_JIS_81_infos[148] = { - o3(0xE3,0x80,0x80), o3(0xE3,0x80,0x81), - o3(0xE3,0x80,0x82), o3(0xEF,0xBC,0x8C), - o3(0xEF,0xBC,0x8E), o3(0xE3,0x83,0xBB), - o3(0xEF,0xBC,0x9A), o3(0xEF,0xBC,0x9B), - o3(0xEF,0xBC,0x9F), o3(0xEF,0xBC,0x81), - o3(0xE3,0x82,0x9B), o3(0xE3,0x82,0x9C), - o2(0xC2,0xB4), o3(0xEF,0xBD,0x80), - o2(0xC2,0xA8), o3(0xEF,0xBC,0xBE), - o3(0xEF,0xBF,0xA3), o3(0xEF,0xBC,0xBF), - o3(0xE3,0x83,0xBD), o3(0xE3,0x83,0xBE), - o3(0xE3,0x82,0x9D), o3(0xE3,0x82,0x9E), - o3(0xE3,0x80,0x83), o3(0xE4,0xBB,0x9D), - o3(0xE3,0x80,0x85), o3(0xE3,0x80,0x86), - o3(0xE3,0x80,0x87), o3(0xE3,0x83,0xBC), - o3(0xE2,0x80,0x95), o3(0xE2,0x80,0x90), - o3(0xEF,0xBC,0x8F), o3(0xEF,0xBC,0xBC), - o3(0xEF,0xBD,0x9E), o3(0xE2,0x88,0xA5), - o3(0xEF,0xBD,0x9C), o3(0xE2,0x80,0xA6), - o3(0xE2,0x80,0xA5), o3(0xE2,0x80,0x98), - o3(0xE2,0x80,0x99), o3(0xE2,0x80,0x9C), - o3(0xE2,0x80,0x9D), o3(0xEF,0xBC,0x88), - o3(0xEF,0xBC,0x89), o3(0xE3,0x80,0x94), - o3(0xE3,0x80,0x95), o3(0xEF,0xBC,0xBB), - o3(0xEF,0xBC,0xBD), o3(0xEF,0xBD,0x9B), - o3(0xEF,0xBD,0x9D), o3(0xE3,0x80,0x88), - o3(0xE3,0x80,0x89), o3(0xE3,0x80,0x8A), - o3(0xE3,0x80,0x8B), o3(0xE3,0x80,0x8C), - o3(0xE3,0x80,0x8D), o3(0xE3,0x80,0x8E), - o3(0xE3,0x80,0x8F), o3(0xE3,0x80,0x90), - o3(0xE3,0x80,0x91), o3(0xEF,0xBC,0x8B), - o3(0xEF,0xBC,0x8D), o2(0xC2,0xB1), - o2(0xC3,0x97), o2(0xC3,0xB7), - o3(0xEF,0xBC,0x9D), o3(0xE2,0x89,0xA0), - o3(0xEF,0xBC,0x9C), o3(0xEF,0xBC,0x9E), - o3(0xE2,0x89,0xA6), o3(0xE2,0x89,0xA7), - o3(0xE2,0x88,0x9E), o3(0xE2,0x88,0xB4), - o3(0xE2,0x99,0x82), o3(0xE2,0x99,0x80), - o2(0xC2,0xB0), o3(0xE2,0x80,0xB2), - o3(0xE2,0x80,0xB3), o3(0xE2,0x84,0x83), - o3(0xEF,0xBF,0xA5), o3(0xEF,0xBC,0x84), - o3(0xEF,0xBF,0xA0), o3(0xEF,0xBF,0xA1), - o3(0xEF,0xBC,0x85), o3(0xEF,0xBC,0x83), - o3(0xEF,0xBC,0x86), o3(0xEF,0xBC,0x8A), - o3(0xEF,0xBC,0xA0), o2(0xC2,0xA7), - o3(0xE2,0x98,0x86), o3(0xE2,0x98,0x85), - o3(0xE2,0x97,0x8B), o3(0xE2,0x97,0x8F), - o3(0xE2,0x97,0x8E), o3(0xE2,0x97,0x87), - o3(0xE2,0x97,0x86), o3(0xE2,0x96,0xA1), - o3(0xE2,0x96,0xA0), o3(0xE2,0x96,0xB3), - o3(0xE2,0x96,0xB2), o3(0xE2,0x96,0xBD), - o3(0xE2,0x96,0xBC), o3(0xE2,0x80,0xBB), - o3(0xE3,0x80,0x92), o3(0xE2,0x86,0x92), - o3(0xE2,0x86,0x90), o3(0xE2,0x86,0x91), - o3(0xE2,0x86,0x93), o3(0xE3,0x80,0x93), - o3(0xE2,0x88,0x88), o3(0xE2,0x88,0x8B), - o3(0xE2,0x8A,0x86), o3(0xE2,0x8A,0x87), - o3(0xE2,0x8A,0x82), o3(0xE2,0x8A,0x83), - o3(0xE2,0x88,0xAA), o3(0xE2,0x88,0xA9), - o3(0xE2,0x88,0xA7), o3(0xE2,0x88,0xA8), - o3(0xEF,0xBF,0xA2), o3(0xE2,0x87,0x92), - o3(0xE2,0x87,0x94), o3(0xE2,0x88,0x80), - o3(0xE2,0x88,0x83), o3(0xE2,0x88,0xA0), - o3(0xE2,0x8A,0xA5), o3(0xE2,0x8C,0x92), - o3(0xE2,0x88,0x82), o3(0xE2,0x88,0x87), - o3(0xE2,0x89,0xA1), o3(0xE2,0x89,0x92), - o3(0xE2,0x89,0xAA), o3(0xE2,0x89,0xAB), - o3(0xE2,0x88,0x9A), o3(0xE2,0x88,0xBD), - o3(0xE2,0x88,0x9D), o3(0xE2,0x88,0xB5), - o3(0xE2,0x88,0xAB), o3(0xE2,0x88,0xAC), - o3(0xE2,0x84,0xAB), o3(0xE2,0x80,0xB0), - o3(0xE2,0x99,0xAF), o3(0xE2,0x99,0xAD), - o3(0xE2,0x99,0xAA), o3(0xE2,0x80,0xA0), - o3(0xE2,0x80,0xA1), o2(0xC2,0xB6), - o3(0xE2,0x97,0xAF), UNDEF, -}; -static const BYTE_LOOKUP -from_SHIFT_JIS_81 = { - from_SHIFT_JIS_81_offsets, - from_SHIFT_JIS_81_infos -}; - -static const unsigned char -from_SHIFT_JIS_82_offsets[256] = { - 145,145,145,145,145,145,145,145, 145,145,145,145,145,145,145,145, - 145,145,145,145,145,145,145,145, 145,145,145,145,145,145,145,145, - 145,145,145,145,145,145,145,145, 145,145,145,145,145,145,145,145, - 145,145,145,145,145,145,145,145, 145,145,145,145,145,145,145,145, - 145,145,145,145,145,145,145,145, 145,145,145,145,145,145,145, 0, - 1, 2, 3, 4, 5, 6, 7, 8, 9,145,145,145,145,145,145,145, - 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,145,145,145,145,145,145, - 145, 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,145,145,145,145, 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,129,130,131,132,133,134, 135,136,137,138,139,140,141,142, - 143,144,145,145,145,145,145,145, 145,145,145,145,145,145,145,145, -}; -static const struct byte_lookup* const -from_SHIFT_JIS_82_infos[146] = { - o3(0xEF,0xBC,0x90), o3(0xEF,0xBC,0x91), - o3(0xEF,0xBC,0x92), o3(0xEF,0xBC,0x93), - o3(0xEF,0xBC,0x94), o3(0xEF,0xBC,0x95), - o3(0xEF,0xBC,0x96), o3(0xEF,0xBC,0x97), - o3(0xEF,0xBC,0x98), o3(0xEF,0xBC,0x99), - o3(0xEF,0xBC,0xA1), o3(0xEF,0xBC,0xA2), - o3(0xEF,0xBC,0xA3), o3(0xEF,0xBC,0xA4), - o3(0xEF,0xBC,0xA5), o3(0xEF,0xBC,0xA6), - o3(0xEF,0xBC,0xA7), o3(0xEF,0xBC,0xA8), - o3(0xEF,0xBC,0xA9), o3(0xEF,0xBC,0xAA), - o3(0xEF,0xBC,0xAB), o3(0xEF,0xBC,0xAC), - o3(0xEF,0xBC,0xAD), o3(0xEF,0xBC,0xAE), - o3(0xEF,0xBC,0xAF), o3(0xEF,0xBC,0xB0), - o3(0xEF,0xBC,0xB1), o3(0xEF,0xBC,0xB2), - o3(0xEF,0xBC,0xB3), o3(0xEF,0xBC,0xB4), - o3(0xEF,0xBC,0xB5), o3(0xEF,0xBC,0xB6), - o3(0xEF,0xBC,0xB7), o3(0xEF,0xBC,0xB8), - o3(0xEF,0xBC,0xB9), o3(0xEF,0xBC,0xBA), - o3(0xEF,0xBD,0x81), o3(0xEF,0xBD,0x82), - o3(0xEF,0xBD,0x83), o3(0xEF,0xBD,0x84), - o3(0xEF,0xBD,0x85), o3(0xEF,0xBD,0x86), - o3(0xEF,0xBD,0x87), o3(0xEF,0xBD,0x88), - o3(0xEF,0xBD,0x89), o3(0xEF,0xBD,0x8A), - o3(0xEF,0xBD,0x8B), o3(0xEF,0xBD,0x8C), - o3(0xEF,0xBD,0x8D), o3(0xEF,0xBD,0x8E), - o3(0xEF,0xBD,0x8F), o3(0xEF,0xBD,0x90), - o3(0xEF,0xBD,0x91), o3(0xEF,0xBD,0x92), - o3(0xEF,0xBD,0x93), o3(0xEF,0xBD,0x94), - o3(0xEF,0xBD,0x95), o3(0xEF,0xBD,0x96), - o3(0xEF,0xBD,0x97), o3(0xEF,0xBD,0x98), - o3(0xEF,0xBD,0x99), o3(0xEF,0xBD,0x9A), - o3(0xE3,0x81,0x81), o3(0xE3,0x81,0x82), - o3(0xE3,0x81,0x83), o3(0xE3,0x81,0x84), - o3(0xE3,0x81,0x85), o3(0xE3,0x81,0x86), - o3(0xE3,0x81,0x87), o3(0xE3,0x81,0x88), - o3(0xE3,0x81,0x89), o3(0xE3,0x81,0x8A), - o3(0xE3,0x81,0x8B), o3(0xE3,0x81,0x8C), - o3(0xE3,0x81,0x8D), o3(0xE3,0x81,0x8E), - o3(0xE3,0x81,0x8F), o3(0xE3,0x81,0x90), - o3(0xE3,0x81,0x91), o3(0xE3,0x81,0x92), - o3(0xE3,0x81,0x93), o3(0xE3,0x81,0x94), - o3(0xE3,0x81,0x95), o3(0xE3,0x81,0x96), - o3(0xE3,0x81,0x97), o3(0xE3,0x81,0x98), - o3(0xE3,0x81,0x99), o3(0xE3,0x81,0x9A), - o3(0xE3,0x81,0x9B), o3(0xE3,0x81,0x9C), - o3(0xE3,0x81,0x9D), o3(0xE3,0x81,0x9E), - o3(0xE3,0x81,0x9F), o3(0xE3,0x81,0xA0), - o3(0xE3,0x81,0xA1), o3(0xE3,0x81,0xA2), - o3(0xE3,0x81,0xA3), o3(0xE3,0x81,0xA4), - o3(0xE3,0x81,0xA5), o3(0xE3,0x81,0xA6), - o3(0xE3,0x81,0xA7), o3(0xE3,0x81,0xA8), - o3(0xE3,0x81,0xA9), o3(0xE3,0x81,0xAA), - o3(0xE3,0x81,0xAB), o3(0xE3,0x81,0xAC), - o3(0xE3,0x81,0xAD), o3(0xE3,0x81,0xAE), - o3(0xE3,0x81,0xAF), o3(0xE3,0x81,0xB0), - o3(0xE3,0x81,0xB1), o3(0xE3,0x81,0xB2), - o3(0xE3,0x81,0xB3), o3(0xE3,0x81,0xB4), - o3(0xE3,0x81,0xB5), o3(0xE3,0x81,0xB6), - o3(0xE3,0x81,0xB7), o3(0xE3,0x81,0xB8), - o3(0xE3,0x81,0xB9), o3(0xE3,0x81,0xBA), - o3(0xE3,0x81,0xBB), o3(0xE3,0x81,0xBC), - o3(0xE3,0x81,0xBD), o3(0xE3,0x81,0xBE), - o3(0xE3,0x81,0xBF), o3(0xE3,0x82,0x80), - o3(0xE3,0x82,0x81), o3(0xE3,0x82,0x82), - o3(0xE3,0x82,0x83), o3(0xE3,0x82,0x84), - o3(0xE3,0x82,0x85), o3(0xE3,0x82,0x86), - o3(0xE3,0x82,0x87), o3(0xE3,0x82,0x88), - o3(0xE3,0x82,0x89), o3(0xE3,0x82,0x8A), - o3(0xE3,0x82,0x8B), o3(0xE3,0x82,0x8C), - o3(0xE3,0x82,0x8D), o3(0xE3,0x82,0x8E), - o3(0xE3,0x82,0x8F), o3(0xE3,0x82,0x90), - o3(0xE3,0x82,0x91), o3(0xE3,0x82,0x92), - o3(0xE3,0x82,0x93), UNDEF, -}; -static const BYTE_LOOKUP -from_SHIFT_JIS_82 = { - from_SHIFT_JIS_82_offsets, - from_SHIFT_JIS_82_infos -}; - -static const unsigned char -from_SHIFT_JIS_83_offsets[256] = { - 134,134,134,134,134,134,134,134, 134,134,134,134,134,134,134,134, - 134,134,134,134,134,134,134,134, 134,134,134,134,134,134,134,134, - 134,134,134,134,134,134,134,134, 134,134,134,134,134,134,134,134, - 134,134,134,134,134,134,134,134, 134,134,134,134,134,134,134,134, - 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,134, - 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, - 79, 80, 81, 82, 83, 84, 85,134, 134,134,134,134,134,134,134, 86, - 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99,100,101,102, - 103,104,105,106,107,108,109,134, 134,134,134,134,134,134,134,110, - 111,112,113,114,115,116,117,118, 119,120,121,122,123,124,125,126, - 127,128,129,130,131,132,133,134, 134,134,134,134,134,134,134,134, - 134,134,134,134,134,134,134,134, 134,134,134,134,134,134,134,134, - 134,134,134,134,134,134,134,134, 134,134,134,134,134,134,134,134, -}; -static const struct byte_lookup* const -from_SHIFT_JIS_83_infos[135] = { - o3(0xE3,0x82,0xA1), o3(0xE3,0x82,0xA2), - o3(0xE3,0x82,0xA3), o3(0xE3,0x82,0xA4), - o3(0xE3,0x82,0xA5), o3(0xE3,0x82,0xA6), - o3(0xE3,0x82,0xA7), o3(0xE3,0x82,0xA8), - o3(0xE3,0x82,0xA9), o3(0xE3,0x82,0xAA), - o3(0xE3,0x82,0xAB), o3(0xE3,0x82,0xAC), - o3(0xE3,0x82,0xAD), o3(0xE3,0x82,0xAE), - o3(0xE3,0x82,0xAF), o3(0xE3,0x82,0xB0), - o3(0xE3,0x82,0xB1), o3(0xE3,0x82,0xB2), - o3(0xE3,0x82,0xB3), o3(0xE3,0x82,0xB4), - o3(0xE3,0x82,0xB5), o3(0xE3,0x82,0xB6), - o3(0xE3,0x82,0xB7), o3(0xE3,0x82,0xB8), - o3(0xE3,0x82,0xB9), o3(0xE3,0x82,0xBA), - o3(0xE3,0x82,0xBB), o3(0xE3,0x82,0xBC), - o3(0xE3,0x82,0xBD), o3(0xE3,0x82,0xBE), - o3(0xE3,0x82,0xBF), o3(0xE3,0x83,0x80), - o3(0xE3,0x83,0x81), o3(0xE3,0x83,0x82), - o3(0xE3,0x83,0x83), o3(0xE3,0x83,0x84), - o3(0xE3,0x83,0x85), o3(0xE3,0x83,0x86), - o3(0xE3,0x83,0x87), o3(0xE3,0x83,0x88), - o3(0xE3,0x83,0x89), o3(0xE3,0x83,0x8A), - o3(0xE3,0x83,0x8B), o3(0xE3,0x83,0x8C), - o3(0xE3,0x83,0x8D), o3(0xE3,0x83,0x8E), - o3(0xE3,0x83,0x8F), o3(0xE3,0x83,0x90), - o3(0xE3,0x83,0x91), o3(0xE3,0x83,0x92), - o3(0xE3,0x83,0x93), o3(0xE3,0x83,0x94), - o3(0xE3,0x83,0x95), o3(0xE3,0x83,0x96), - o3(0xE3,0x83,0x97), o3(0xE3,0x83,0x98), - o3(0xE3,0x83,0x99), o3(0xE3,0x83,0x9A), - o3(0xE3,0x83,0x9B), o3(0xE3,0x83,0x9C), - o3(0xE3,0x83,0x9D), o3(0xE3,0x83,0x9E), - o3(0xE3,0x83,0x9F), o3(0xE3,0x83,0xA0), - o3(0xE3,0x83,0xA1), o3(0xE3,0x83,0xA2), - o3(0xE3,0x83,0xA3), o3(0xE3,0x83,0xA4), - o3(0xE3,0x83,0xA5), o3(0xE3,0x83,0xA6), - o3(0xE3,0x83,0xA7), o3(0xE3,0x83,0xA8), - o3(0xE3,0x83,0xA9), o3(0xE3,0x83,0xAA), - o3(0xE3,0x83,0xAB), o3(0xE3,0x83,0xAC), - o3(0xE3,0x83,0xAD), o3(0xE3,0x83,0xAE), - o3(0xE3,0x83,0xAF), o3(0xE3,0x83,0xB0), - o3(0xE3,0x83,0xB1), o3(0xE3,0x83,0xB2), - o3(0xE3,0x83,0xB3), o3(0xE3,0x83,0xB4), - o3(0xE3,0x83,0xB5), o3(0xE3,0x83,0xB6), - 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,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,0x83), - o2(0xCF,0x84), o2(0xCF,0x85), - o2(0xCF,0x86), o2(0xCF,0x87), - o2(0xCF,0x88), o2(0xCF,0x89), - UNDEF, -}; -static const BYTE_LOOKUP -from_SHIFT_JIS_83 = { - from_SHIFT_JIS_83_offsets, - from_SHIFT_JIS_83_infos -}; - -static const unsigned char -from_SHIFT_JIS_84_offsets[256] = { - 98, 98, 98, 98, 98, 98, 98, 98, 98, 98, 98, 98, 98, 98, 98, 98, - 98, 98, 98, 98, 98, 98, 98, 98, 98, 98, 98, 98, 98, 98, 98, 98, - 98, 98, 98, 98, 98, 98, 98, 98, 98, 98, 98, 98, 98, 98, 98, 98, - 98, 98, 98, 98, 98, 98, 98, 98, 98, 98, 98, 98, 98, 98, 98, 98, - 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, 98, 98, 98, 98, 98, 98, 98, 98, 98, 98, 98, 98, 98, 98, 98, - 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 98, - 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, - 64, 65, 98, 98, 98, 98, 98, 98, 98, 98, 98, 98, 98, 98, 98, 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, - 98, 98, 98, 98, 98, 98, 98, 98, 98, 98, 98, 98, 98, 98, 98, 98, - 98, 98, 98, 98, 98, 98, 98, 98, 98, 98, 98, 98, 98, 98, 98, 98, - 98, 98, 98, 98, 98, 98, 98, 98, 98, 98, 98, 98, 98, 98, 98, 98, - 98, 98, 98, 98, 98, 98, 98, 98, 98, 98, 98, 98, 98, 98, 98, 98, -}; -static const struct byte_lookup* const -from_SHIFT_JIS_84_infos[99] = { - o2(0xD0,0x90), o2(0xD0,0x91), - o2(0xD0,0x92), o2(0xD0,0x93), - o2(0xD0,0x94), o2(0xD0,0x95), - o2(0xD0,0x81), 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(0xD1,0x91), - 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,0x94,0x80), o3(0xE2,0x94,0x82), - o3(0xE2,0x94,0x8C), o3(0xE2,0x94,0x90), - o3(0xE2,0x94,0x98), o3(0xE2,0x94,0x94), - o3(0xE2,0x94,0x9C), o3(0xE2,0x94,0xAC), - o3(0xE2,0x94,0xA4), o3(0xE2,0x94,0xB4), - o3(0xE2,0x94,0xBC), o3(0xE2,0x94,0x81), - o3(0xE2,0x94,0x83), o3(0xE2,0x94,0x8F), - o3(0xE2,0x94,0x93), o3(0xE2,0x94,0x9B), - o3(0xE2,0x94,0x97), o3(0xE2,0x94,0xA3), - o3(0xE2,0x94,0xB3), o3(0xE2,0x94,0xAB), - o3(0xE2,0x94,0xBB), o3(0xE2,0x95,0x8B), - o3(0xE2,0x94,0xA0), o3(0xE2,0x94,0xAF), - o3(0xE2,0x94,0xA8), o3(0xE2,0x94,0xB7), - o3(0xE2,0x94,0xBF), o3(0xE2,0x94,0x9D), - o3(0xE2,0x94,0xB0), o3(0xE2,0x94,0xA5), - o3(0xE2,0x94,0xB8), o3(0xE2,0x95,0x82), - UNDEF, -}; -static const BYTE_LOOKUP -from_SHIFT_JIS_84 = { - from_SHIFT_JIS_84_offsets, - from_SHIFT_JIS_84_infos -}; - -static const unsigned char -from_SHIFT_JIS_87_offsets[256] = { - 83, 83, 83, 83, 83, 83, 83, 83, 83, 83, 83, 83, 83, 83, 83, 83, - 83, 83, 83, 83, 83, 83, 83, 83, 83, 83, 83, 83, 83, 83, 83, 83, - 83, 83, 83, 83, 83, 83, 83, 83, 83, 83, 83, 83, 83, 83, 83, 83, - 83, 83, 83, 83, 83, 83, 83, 83, 83, 83, 83, 83, 83, 83, 83, 83, - 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, 83, 30, - 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, - 47, 48, 49, 50, 51, 52, 83, 83, 83, 83, 83, 83, 83, 83, 53, 83, - 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, 83, 83, - 83, 83, 83, 83, 83, 83, 83, 83, 83, 83, 83, 83, 83, 83, 83, 83, - 83, 83, 83, 83, 83, 83, 83, 83, 83, 83, 83, 83, 83, 83, 83, 83, - 83, 83, 83, 83, 83, 83, 83, 83, 83, 83, 83, 83, 83, 83, 83, 83, - 83, 83, 83, 83, 83, 83, 83, 83, 83, 83, 83, 83, 83, 83, 83, 83, - 83, 83, 83, 83, 83, 83, 83, 83, 83, 83, 83, 83, 83, 83, 83, 83, - 83, 83, 83, 83, 83, 83, 83, 83, 83, 83, 83, 83, 83, 83, 83, 83, -}; -static const struct byte_lookup* const -from_SHIFT_JIS_87_infos[84] = { - /* used from from_SHIFT_JIS_87 */ - /* used from from_EUC_JP_AD */ - o3(0xE2,0x91,0xA0), o3(0xE2,0x91,0xA1), - o3(0xE2,0x91,0xA2), o3(0xE2,0x91,0xA3), - o3(0xE2,0x91,0xA4), o3(0xE2,0x91,0xA5), - o3(0xE2,0x91,0xA6), o3(0xE2,0x91,0xA7), - o3(0xE2,0x91,0xA8), o3(0xE2,0x91,0xA9), - o3(0xE2,0x91,0xAA), o3(0xE2,0x91,0xAB), - o3(0xE2,0x91,0xAC), o3(0xE2,0x91,0xAD), - o3(0xE2,0x91,0xAE), o3(0xE2,0x91,0xAF), - o3(0xE2,0x91,0xB0), o3(0xE2,0x91,0xB1), - o3(0xE2,0x91,0xB2), o3(0xE2,0x91,0xB3), - o3(0xE2,0x85,0xA0), o3(0xE2,0x85,0xA1), - o3(0xE2,0x85,0xA2), o3(0xE2,0x85,0xA3), - o3(0xE2,0x85,0xA4), o3(0xE2,0x85,0xA5), - o3(0xE2,0x85,0xA6), o3(0xE2,0x85,0xA7), - o3(0xE2,0x85,0xA8), o3(0xE2,0x85,0xA9), - o3(0xE3,0x8D,0x89), o3(0xE3,0x8C,0x94), - o3(0xE3,0x8C,0xA2), o3(0xE3,0x8D,0x8D), - o3(0xE3,0x8C,0x98), o3(0xE3,0x8C,0xA7), - o3(0xE3,0x8C,0x83), o3(0xE3,0x8C,0xB6), - o3(0xE3,0x8D,0x91), o3(0xE3,0x8D,0x97), - o3(0xE3,0x8C,0x8D), o3(0xE3,0x8C,0xA6), - o3(0xE3,0x8C,0xA3), o3(0xE3,0x8C,0xAB), - o3(0xE3,0x8D,0x8A), o3(0xE3,0x8C,0xBB), - o3(0xE3,0x8E,0x9C), o3(0xE3,0x8E,0x9D), - o3(0xE3,0x8E,0x9E), o3(0xE3,0x8E,0x8E), - o3(0xE3,0x8E,0x8F), o3(0xE3,0x8F,0x84), - o3(0xE3,0x8E,0xA1), o3(0xE3,0x8D,0xBB), - o3(0xE3,0x80,0x9D), o3(0xE3,0x80,0x9F), - o3(0xE2,0x84,0x96), o3(0xE3,0x8F,0x8D), - o3(0xE2,0x84,0xA1), o3(0xE3,0x8A,0xA4), - o3(0xE3,0x8A,0xA5), o3(0xE3,0x8A,0xA6), - o3(0xE3,0x8A,0xA7), o3(0xE3,0x8A,0xA8), - o3(0xE3,0x88,0xB1), o3(0xE3,0x88,0xB2), - o3(0xE3,0x88,0xB9), o3(0xE3,0x8D,0xBE), - o3(0xE3,0x8D,0xBD), o3(0xE3,0x8D,0xBC), - o3(0xE2,0x89,0x92), o3(0xE2,0x89,0xA1), - o3(0xE2,0x88,0xAB), o3(0xE2,0x88,0xAE), - o3(0xE2,0x88,0x91), o3(0xE2,0x88,0x9A), - o3(0xE2,0x8A,0xA5), o3(0xE2,0x88,0xA0), - o3(0xE2,0x88,0x9F), o3(0xE2,0x8A,0xBF), - o3(0xE2,0x88,0xB5), o3(0xE2,0x88,0xA9), - o3(0xE2,0x88,0xAA), UNDEF, -}; -static const BYTE_LOOKUP -from_SHIFT_JIS_87 = { - from_SHIFT_JIS_87_offsets, - from_SHIFT_JIS_87_infos -}; - -static const unsigned char -from_SHIFT_JIS_88_offsets[256] = { - 94, 94, 94, 94, 94, 94, 94, 94, 94, 94, 94, 94, 94, 94, 94, 94, - 94, 94, 94, 94, 94, 94, 94, 94, 94, 94, 94, 94, 94, 94, 94, 94, - 94, 94, 94, 94, 94, 94, 94, 94, 94, 94, 94, 94, 94, 94, 94, 94, - 94, 94, 94, 94, 94, 94, 94, 94, 94, 94, 94, 94, 94, 94, 94, 94, - 94, 94, 94, 94, 94, 94, 94, 94, 94, 94, 94, 94, 94, 94, 94, 94, - 94, 94, 94, 94, 94, 94, 94, 94, 94, 94, 94, 94, 94, 94, 94, 94, - 94, 94, 94, 94, 94, 94, 94, 94, 94, 94, 94, 94, 94, 94, 94, 94, - 94, 94, 94, 94, 94, 94, 94, 94, 94, 94, 94, 94, 94, 94, 94, 94, - 94, 94, 94, 94, 94, 94, 94, 94, 94, 94, 94, 94, 94, 94, 94, 94, - 94, 94, 94, 94, 94, 94, 94, 94, 94, 94, 94, 94, 94, 94, 94, 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, 94, 94, -}; -static const struct byte_lookup* const -from_SHIFT_JIS_88_infos[95] = { - /* used from from_SHIFT_JIS_88 */ - /* used from from_EUC_JP_B0 */ - o3(0xE4,0xBA,0x9C), o3(0xE5,0x94,0x96), - o3(0xE5,0xA8,0x83), o3(0xE9,0x98,0xBF), - o3(0xE5,0x93,0x80), o3(0xE6,0x84,0x9B), - o3(0xE6,0x8C,0xA8), o3(0xE5,0xA7,0xB6), - o3(0xE9,0x80,0xA2), o3(0xE8,0x91,0xB5), - o3(0xE8,0x8C,0x9C), o3(0xE7,0xA9,0x90), - o3(0xE6,0x82,0xAA), o3(0xE6,0x8F,0xA1), - o3(0xE6,0xB8,0xA5), o3(0xE6,0x97,0xAD), - o3(0xE8,0x91,0xA6), o3(0xE8,0x8A,0xA6), - o3(0xE9,0xAF,0xB5), o3(0xE6,0xA2,0x93), - o3(0xE5,0x9C,0xA7), o3(0xE6,0x96,0xA1), - o3(0xE6,0x89,0xB1), o3(0xE5,0xAE,0x9B), - o3(0xE5,0xA7,0x90), o3(0xE8,0x99,0xBB), - o3(0xE9,0xA3,0xB4), o3(0xE7,0xB5,0xA2), - o3(0xE7,0xB6,0xBE), o3(0xE9,0xAE,0x8E), - o3(0xE6,0x88,0x96), o3(0xE7,0xB2,0x9F), - o3(0xE8,0xA2,0xB7), o3(0xE5,0xAE,0x89), - o3(0xE5,0xBA,0xB5), o3(0xE6,0x8C,0x89), - o3(0xE6,0x9A,0x97), o3(0xE6,0xA1,0x88), - o3(0xE9,0x97,0x87), o3(0xE9,0x9E,0x8D), - o3(0xE6,0x9D,0x8F), o3(0xE4,0xBB,0xA5), - o3(0xE4,0xBC,0x8A), o3(0xE4,0xBD,0x8D), - o3(0xE4,0xBE,0x9D), o3(0xE5,0x81,0x89), - o3(0xE5,0x9B,0xB2), o3(0xE5,0xA4,0xB7), - o3(0xE5,0xA7,0x94), o3(0xE5,0xA8,0x81), - o3(0xE5,0xB0,0x89), o3(0xE6,0x83,0x9F), - o3(0xE6,0x84,0x8F), o3(0xE6,0x85,0xB0), - o3(0xE6,0x98,0x93), o3(0xE6,0xA4,0x85), - o3(0xE7,0x82,0xBA), o3(0xE7,0x95,0x8F), - o3(0xE7,0x95,0xB0), o3(0xE7,0xA7,0xBB), - o3(0xE7,0xB6,0xAD), o3(0xE7,0xB7,0xAF), - o3(0xE8,0x83,0x83), o3(0xE8,0x90,0x8E), - o3(0xE8,0xA1,0xA3), o3(0xE8,0xAC,0x82), - o3(0xE9,0x81,0x95), o3(0xE9,0x81,0xBA), - o3(0xE5,0x8C,0xBB), o3(0xE4,0xBA,0x95), - o3(0xE4,0xBA,0xA5), o3(0xE5,0x9F,0x9F), - o3(0xE8,0x82,0xB2), o3(0xE9,0x83,0x81), - o3(0xE7,0xA3,0xAF), o3(0xE4,0xB8,0x80), - o3(0xE5,0xA3,0xB1), o3(0xE6,0xBA,0xA2), - o3(0xE9,0x80,0xB8), o3(0xE7,0xA8,0xB2), - o3(0xE8,0x8C,0xA8), o3(0xE8,0x8A,0x8B), - o3(0xE9,0xB0,0xAF), o3(0xE5,0x85,0x81), - o3(0xE5,0x8D,0xB0), o3(0xE5,0x92,0xBD), - o3(0xE5,0x93,0xA1), o3(0xE5,0x9B,0xA0), - o3(0xE5,0xA7,0xBB), o3(0xE5,0xBC,0x95), - o3(0xE9,0xA3,0xB2), o3(0xE6,0xB7,0xAB), - o3(0xE8,0x83,0xA4), o3(0xE8,0x94,0xAD), - UNDEF, -}; -static const BYTE_LOOKUP -from_SHIFT_JIS_88 = { - from_SHIFT_JIS_88_offsets, - from_SHIFT_JIS_88_infos -}; - -static const unsigned char -from_SHIFT_JIS_89_offsets[256] = { - /* used from from_SHIFT_JIS_89 */ - /* used from from_SHIFT_JIS_8A */ - /* used from from_SHIFT_JIS_8B */ - /* used from from_SHIFT_JIS_8C */ - /* used from from_SHIFT_JIS_8D */ - /* used from from_SHIFT_JIS_8E */ - /* used from from_SHIFT_JIS_8F */ - /* used from from_SHIFT_JIS_90 */ - /* used from from_SHIFT_JIS_91 */ - /* used from from_SHIFT_JIS_92 */ - /* used from from_SHIFT_JIS_93 */ - /* used from from_SHIFT_JIS_94 */ - /* used from from_SHIFT_JIS_95 */ - /* used from from_SHIFT_JIS_96 */ - /* used from from_SHIFT_JIS_97 */ - /* used from from_SHIFT_JIS_99 */ - /* used from from_SHIFT_JIS_9A */ - /* used from from_SHIFT_JIS_9B */ - /* used from from_SHIFT_JIS_9C */ - /* used from from_SHIFT_JIS_9D */ - /* used from from_SHIFT_JIS_9E */ - /* used from from_SHIFT_JIS_9F */ - /* used from from_SHIFT_JIS_E0 */ - /* used from from_SHIFT_JIS_E1 */ - /* used from from_SHIFT_JIS_E2 */ - /* used from from_SHIFT_JIS_E3 */ - /* used from from_SHIFT_JIS_E4 */ - /* used from from_SHIFT_JIS_E5 */ - /* used from from_SHIFT_JIS_E6 */ - /* used from from_SHIFT_JIS_E7 */ - /* used from from_SHIFT_JIS_E8 */ - /* used from from_SHIFT_JIS_E9 */ - /* used from from_SHIFT_JIS_FB */ - 188,188,188,188,188,188,188,188, 188,188,188,188,188,188,188,188, - 188,188,188,188,188,188,188,188, 188,188,188,188,188,188,188,188, - 188,188,188,188,188,188,188,188, 188,188,188,188,188,188,188,188, - 188,188,188,188,188,188,188,188, 188,188,188,188,188,188,188,188, - 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,188, - 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,129,130,131,132,133,134, 135,136,137,138,139,140,141,142, - 143,144,145,146,147,148,149,150, 151,152,153,154,155,156,157,158, - 159,160,161,162,163,164,165,166, 167,168,169,170,171,172,173,174, - 175,176,177,178,179,180,181,182, 183,184,185,186,187,188,188,188, -}; -static const struct byte_lookup* const -from_SHIFT_JIS_89_infos[189] = { - o3(0xE9,0x99,0xA2), o3(0xE9,0x99,0xB0), - o3(0xE9,0x9A,0xA0), o3(0xE9,0x9F,0xBB), - o3(0xE5,0x90,0x8B), o3(0xE5,0x8F,0xB3), - o3(0xE5,0xAE,0x87), o3(0xE7,0x83,0x8F), - o3(0xE7,0xBE,0xBD), o3(0xE8,0xBF,0x82), - o3(0xE9,0x9B,0xA8), o3(0xE5,0x8D,0xAF), - o3(0xE9,0xB5,0x9C), o3(0xE7,0xAA,0xBA), - o3(0xE4,0xB8,0x91), o3(0xE7,0xA2,0x93), - o3(0xE8,0x87,0xBC), o3(0xE6,0xB8,0xA6), - o3(0xE5,0x98,0x98), o3(0xE5,0x94,0x84), - o3(0xE6,0xAC,0x9D), o3(0xE8,0x94,0x9A), - o3(0xE9,0xB0,0xBB), o3(0xE5,0xA7,0xA5), - o3(0xE5,0x8E,0xA9), o3(0xE6,0xB5,0xA6), - o3(0xE7,0x93,0x9C), o3(0xE9,0x96,0x8F), - o3(0xE5,0x99,0x82), o3(0xE4,0xBA,0x91), - o3(0xE9,0x81,0x8B), o3(0xE9,0x9B,0xB2), - o3(0xE8,0x8D,0x8F), o3(0xE9,0xA4,0x8C), - o3(0xE5,0x8F,0xA1), o3(0xE5,0x96,0xB6), - o3(0xE5,0xAC,0xB0), o3(0xE5,0xBD,0xB1), - o3(0xE6,0x98,0xA0), o3(0xE6,0x9B,0xB3), - o3(0xE6,0xA0,0x84), o3(0xE6,0xB0,0xB8), - o3(0xE6,0xB3,0xB3), o3(0xE6,0xB4,0xA9), - o3(0xE7,0x91,0x9B), o3(0xE7,0x9B,0x88), - o3(0xE7,0xA9,0x8E), o3(0xE9,0xA0,0xB4), - o3(0xE8,0x8B,0xB1), o3(0xE8,0xA1,0x9B), - o3(0xE8,0xA9,0xA0), o3(0xE9,0x8B,0xAD), - o3(0xE6,0xB6,0xB2), o3(0xE7,0x96,0xAB), - o3(0xE7,0x9B,0x8A), o3(0xE9,0xA7,0x85), - o3(0xE6,0x82,0xA6), o3(0xE8,0xAC,0x81), - o3(0xE8,0xB6,0x8A), o3(0xE9,0x96,0xB2), - o3(0xE6,0xA6,0x8E), o3(0xE5,0x8E,0xAD), - o3(0xE5,0x86,0x86), o3(0xE5,0x9C,0x92), - o3(0xE5,0xA0,0xB0), o3(0xE5,0xA5,0x84), - o3(0xE5,0xAE,0xB4), o3(0xE5,0xBB,0xB6), - o3(0xE6,0x80,0xA8), o3(0xE6,0x8E,0xA9), - o3(0xE6,0x8F,0xB4), o3(0xE6,0xB2,0xBF), - o3(0xE6,0xBC,0x94), o3(0xE7,0x82,0x8E), - o3(0xE7,0x84,0x94), o3(0xE7,0x85,0x99), - o3(0xE7,0x87,0x95), o3(0xE7,0x8C,0xBF), - o3(0xE7,0xB8,0x81), o3(0xE8,0x89,0xB6), - o3(0xE8,0x8B,0x91), o3(0xE8,0x96,0x97), - o3(0xE9,0x81,0xA0), o3(0xE9,0x89,0x9B), - o3(0xE9,0xB4,0x9B), o3(0xE5,0xA1,0xA9), - o3(0xE6,0x96,0xBC), o3(0xE6,0xB1,0x9A), - o3(0xE7,0x94,0xA5), o3(0xE5,0x87,0xB9), - o3(0xE5,0xA4,0xAE), o3(0xE5,0xA5,0xA5), - o3(0xE5,0xBE,0x80), o3(0xE5,0xBF,0x9C), - o3(0xE6,0x8A,0xBC), o3(0xE6,0x97,0xBA), - o3(0xE6,0xA8,0xAA), o3(0xE6,0xAC,0xA7), - o3(0xE6,0xAE,0xB4), o3(0xE7,0x8E,0x8B), - o3(0xE7,0xBF,0x81), o3(0xE8,0xA5,0x96), - o3(0xE9,0xB4,0xAC), o3(0xE9,0xB4,0x8E), - o3(0xE9,0xBB,0x84), o3(0xE5,0xB2,0xA1), - o3(0xE6,0xB2,0x96), o3(0xE8,0x8D,0xBB), - o3(0xE5,0x84,0x84), o3(0xE5,0xB1,0x8B), - o3(0xE6,0x86,0xB6), o3(0xE8,0x87,0x86), - o3(0xE6,0xA1,0xB6), o3(0xE7,0x89,0xA1), - o3(0xE4,0xB9,0x99), o3(0xE4,0xBF,0xBA), - o3(0xE5,0x8D,0xB8), o3(0xE6,0x81,0xA9), - o3(0xE6,0xB8,0xA9), o3(0xE7,0xA9,0x8F), - o3(0xE9,0x9F,0xB3), o3(0xE4,0xB8,0x8B), - o3(0xE5,0x8C,0x96), o3(0xE4,0xBB,0xAE), - o3(0xE4,0xBD,0x95), o3(0xE4,0xBC,0xBD), - o3(0xE4,0xBE,0xA1), o3(0xE4,0xBD,0xB3), - o3(0xE5,0x8A,0xA0), o3(0xE5,0x8F,0xAF), - o3(0xE5,0x98,0x89), o3(0xE5,0xA4,0x8F), - o3(0xE5,0xAB,0x81), o3(0xE5,0xAE,0xB6), - o3(0xE5,0xAF,0xA1), o3(0xE7,0xA7,0x91), - o3(0xE6,0x9A,0x87), o3(0xE6,0x9E,0x9C), - o3(0xE6,0x9E,0xB6), o3(0xE6,0xAD,0x8C), - o3(0xE6,0xB2,0xB3), o3(0xE7,0x81,0xAB), - o3(0xE7,0x8F,0x82), o3(0xE7,0xA6,0x8D), - o3(0xE7,0xA6,0xBE), o3(0xE7,0xA8,0xBC), - o3(0xE7,0xAE,0x87), o3(0xE8,0x8A,0xB1), - o3(0xE8,0x8B,0x9B), o3(0xE8,0x8C,0x84), - o3(0xE8,0x8D,0xB7), o3(0xE8,0x8F,0xAF), - o3(0xE8,0x8F,0x93), o3(0xE8,0x9D,0xA6), - o3(0xE8,0xAA,0xB2), o3(0xE5,0x98,0xA9), - o3(0xE8,0xB2,0xA8), o3(0xE8,0xBF,0xA6), - o3(0xE9,0x81,0x8E), o3(0xE9,0x9C,0x9E), - o3(0xE8,0x9A,0x8A), o3(0xE4,0xBF,0x84), - o3(0xE5,0xB3,0xA8), o3(0xE6,0x88,0x91), - o3(0xE7,0x89,0x99), o3(0xE7,0x94,0xBB), - o3(0xE8,0x87,0xA5), o3(0xE8,0x8A,0xBD), - o3(0xE8,0x9B,0xBE), o3(0xE8,0xB3,0x80), - o3(0xE9,0x9B,0x85), o3(0xE9,0xA4,0x93), - o3(0xE9,0xA7,0x95), o3(0xE4,0xBB,0x8B), - o3(0xE4,0xBC,0x9A), o3(0xE8,0xA7,0xA3), - o3(0xE5,0x9B,0x9E), o3(0xE5,0xA1,0x8A), - o3(0xE5,0xA3,0x8A), o3(0xE5,0xBB,0xBB), - o3(0xE5,0xBF,0xAB), o3(0xE6,0x80,0xAA), - o3(0xE6,0x82,0x94), o3(0xE6,0x81,0xA2), - o3(0xE6,0x87,0x90), o3(0xE6,0x88,0x92), - o3(0xE6,0x8B,0x90), o3(0xE6,0x94,0xB9), - UNDEF, -}; -static const BYTE_LOOKUP -from_SHIFT_JIS_89 = { - from_SHIFT_JIS_89_offsets, - from_SHIFT_JIS_89_infos -}; - -static const struct byte_lookup* const -from_SHIFT_JIS_8A_infos[189] = { - o3(0xE9,0xAD,0x81), o3(0xE6,0x99,0xA6), - o3(0xE6,0xA2,0xB0), o3(0xE6,0xB5,0xB7), - o3(0xE7,0x81,0xB0), o3(0xE7,0x95,0x8C), - o3(0xE7,0x9A,0x86), o3(0xE7,0xB5,0xB5), - o3(0xE8,0x8A,0xA5), o3(0xE8,0x9F,0xB9), - o3(0xE9,0x96,0x8B), o3(0xE9,0x9A,0x8E), - o3(0xE8,0xB2,0x9D), o3(0xE5,0x87,0xB1), - o3(0xE5,0x8A,0xBE), o3(0xE5,0xA4,0x96), - o3(0xE5,0x92,0xB3), o3(0xE5,0xAE,0xB3), - o3(0xE5,0xB4,0x96), o3(0xE6,0x85,0xA8), - o3(0xE6,0xA6,0x82), o3(0xE6,0xB6,0xAF), - o3(0xE7,0xA2,0x8D), o3(0xE8,0x93,0x8B), - o3(0xE8,0xA1,0x97), o3(0xE8,0xA9,0xB2), - o3(0xE9,0x8E,0xA7), o3(0xE9,0xAA,0xB8), - o3(0xE6,0xB5,0xAC), o3(0xE9,0xA6,0xA8), - o3(0xE8,0x9B,0x99), o3(0xE5,0x9E,0xA3), - o3(0xE6,0x9F,0xBF), o3(0xE8,0x9B,0x8E), - o3(0xE9,0x88,0x8E), o3(0xE5,0x8A,0x83), - o3(0xE5,0x9A,0x87), o3(0xE5,0x90,0x84), - o3(0xE5,0xBB,0x93), o3(0xE6,0x8B,0xA1), - o3(0xE6,0x92,0xB9), o3(0xE6,0xA0,0xBC), - o3(0xE6,0xA0,0xB8), o3(0xE6,0xAE,0xBB), - o3(0xE7,0x8D,0xB2), o3(0xE7,0xA2,0xBA), - o3(0xE7,0xA9,0xAB), o3(0xE8,0xA6,0x9A), - o3(0xE8,0xA7,0x92), o3(0xE8,0xB5,0xAB), - o3(0xE8,0xBC,0x83), o3(0xE9,0x83,0xAD), - o3(0xE9,0x96,0xA3), o3(0xE9,0x9A,0x94), - o3(0xE9,0x9D,0xA9), o3(0xE5,0xAD,0xA6), - o3(0xE5,0xB2,0xB3), o3(0xE6,0xA5,0xBD), - o3(0xE9,0xA1,0x8D), o3(0xE9,0xA1,0x8E), - o3(0xE6,0x8E,0x9B), o3(0xE7,0xAC,0xA0), - o3(0xE6,0xA8,0xAB), o3(0xE6,0xA9,0xBF), - o3(0xE6,0xA2,0xB6), o3(0xE9,0xB0,0x8D), - o3(0xE6,0xBD,0x9F), o3(0xE5,0x89,0xB2), - o3(0xE5,0x96,0x9D), o3(0xE6,0x81,0xB0), - o3(0xE6,0x8B,0xAC), o3(0xE6,0xB4,0xBB), - o3(0xE6,0xB8,0x87), o3(0xE6,0xBB,0x91), - o3(0xE8,0x91,0x9B), o3(0xE8,0xA4,0x90), - o3(0xE8,0xBD,0x84), o3(0xE4,0xB8,0x94), - o3(0xE9,0xB0,0xB9), o3(0xE5,0x8F,0xB6), - o3(0xE6,0xA4,0x9B), o3(0xE6,0xA8,0xBA), - o3(0xE9,0x9E,0x84), o3(0xE6,0xA0,0xAA), - o3(0xE5,0x85,0x9C), o3(0xE7,0xAB,0x83), - o3(0xE8,0x92,0xB2), o3(0xE9,0x87,0x9C), - o3(0xE9,0x8E,0x8C), o3(0xE5,0x99,0x9B), - o3(0xE9,0xB4,0xA8), o3(0xE6,0xA0,0xA2), - o3(0xE8,0x8C,0x85), o3(0xE8,0x90,0xB1), - o3(0xE7,0xB2,0xA5), o3(0xE5,0x88,0x88), - o3(0xE8,0x8B,0x85), o3(0xE7,0x93,0xA6), - o3(0xE4,0xB9,0xBE), o3(0xE4,0xBE,0x83), - o3(0xE5,0x86,0xA0), o3(0xE5,0xAF,0x92), - o3(0xE5,0x88,0x8A), o3(0xE5,0x8B,0x98), - o3(0xE5,0x8B,0xA7), o3(0xE5,0xB7,0xBB), - o3(0xE5,0x96,0x9A), o3(0xE5,0xA0,0xAA), - o3(0xE5,0xA7,0xA6), o3(0xE5,0xAE,0x8C), - o3(0xE5,0xAE,0x98), o3(0xE5,0xAF,0x9B), - o3(0xE5,0xB9,0xB2), o3(0xE5,0xB9,0xB9), - o3(0xE6,0x82,0xA3), o3(0xE6,0x84,0x9F), - o3(0xE6,0x85,0xA3), o3(0xE6,0x86,0xBE), - o3(0xE6,0x8F,0x9B), o3(0xE6,0x95,0xA2), - o3(0xE6,0x9F,0x91), o3(0xE6,0xA1,0x93), - o3(0xE6,0xA3,0xBA), o3(0xE6,0xAC,0xBE), - o3(0xE6,0xAD,0x93), o3(0xE6,0xB1,0x97), - o3(0xE6,0xBC,0xA2), o3(0xE6,0xBE,0x97), - o3(0xE6,0xBD,0x85), o3(0xE7,0x92,0xB0), - o3(0xE7,0x94,0x98), o3(0xE7,0x9B,0xA3), - o3(0xE7,0x9C,0x8B), o3(0xE7,0xAB,0xBF), - o3(0xE7,0xAE,0xA1), o3(0xE7,0xB0,0xA1), - o3(0xE7,0xB7,0xA9), o3(0xE7,0xBC,0xB6), - o3(0xE7,0xBF,0xB0), o3(0xE8,0x82,0x9D), - o3(0xE8,0x89,0xA6), o3(0xE8,0x8E,0x9E), - o3(0xE8,0xA6,0xB3), o3(0xE8,0xAB,0x8C), - o3(0xE8,0xB2,0xAB), o3(0xE9,0x82,0x84), - o3(0xE9,0x91,0x91), o3(0xE9,0x96,0x93), - o3(0xE9,0x96,0x91), o3(0xE9,0x96,0xA2), - o3(0xE9,0x99,0xA5), o3(0xE9,0x9F,0x93), - o3(0xE9,0xA4,0xA8), o3(0xE8,0x88,0x98), - o3(0xE4,0xB8,0xB8), o3(0xE5,0x90,0xAB), - o3(0xE5,0xB2,0xB8), o3(0xE5,0xB7,0x8C), - o3(0xE7,0x8E,0xA9), o3(0xE7,0x99,0x8C), - o3(0xE7,0x9C,0xBC), o3(0xE5,0xB2,0xA9), - o3(0xE7,0xBF,0xAB), o3(0xE8,0xB4,0x8B), - o3(0xE9,0x9B,0x81), o3(0xE9,0xA0,0x91), - o3(0xE9,0xA1,0x94), o3(0xE9,0xA1,0x98), - o3(0xE4,0xBC,0x81), o3(0xE4,0xBC,0x8E), - o3(0xE5,0x8D,0xB1), o3(0xE5,0x96,0x9C), - o3(0xE5,0x99,0xA8), o3(0xE5,0x9F,0xBA), - o3(0xE5,0xA5,0x87), o3(0xE5,0xAC,0x89), - o3(0xE5,0xAF,0x84), o3(0xE5,0xB2,0x90), - o3(0xE5,0xB8,0x8C), o3(0xE5,0xB9,0xBE), - o3(0xE5,0xBF,0x8C), o3(0xE6,0x8F,0xAE), - o3(0xE6,0x9C,0xBA), o3(0xE6,0x97,0x97), - o3(0xE6,0x97,0xA2), o3(0xE6,0x9C,0x9F), - o3(0xE6,0xA3,0x8B), o3(0xE6,0xA3,0x84), - UNDEF, -}; -static const BYTE_LOOKUP -from_SHIFT_JIS_8A = { - from_SHIFT_JIS_89_offsets, - from_SHIFT_JIS_8A_infos -}; - -static const struct byte_lookup* const -from_SHIFT_JIS_8B_infos[189] = { - o3(0xE6,0xA9,0x9F), o3(0xE5,0xB8,0xB0), - o3(0xE6,0xAF,0x85), o3(0xE6,0xB0,0x97), - o3(0xE6,0xB1,0xBD), o3(0xE7,0x95,0xBF), - o3(0xE7,0xA5,0x88), o3(0xE5,0xAD,0xA3), - o3(0xE7,0xA8,0x80), o3(0xE7,0xB4,0x80), - o3(0xE5,0xBE,0xBD), o3(0xE8,0xA6,0x8F), - o3(0xE8,0xA8,0x98), o3(0xE8,0xB2,0xB4), - o3(0xE8,0xB5,0xB7), o3(0xE8,0xBB,0x8C), - o3(0xE8,0xBC,0x9D), o3(0xE9,0xA3,0xA2), - o3(0xE9,0xA8,0x8E), o3(0xE9,0xAC,0xBC), - o3(0xE4,0xBA,0x80), o3(0xE5,0x81,0xBD), - o3(0xE5,0x84,0x80), o3(0xE5,0xA6,0x93), - o3(0xE5,0xAE,0x9C), o3(0xE6,0x88,0xAF), - o3(0xE6,0x8A,0x80), o3(0xE6,0x93,0xAC), - o3(0xE6,0xAC,0xBA), o3(0xE7,0x8A,0xA0), - o3(0xE7,0x96,0x91), o3(0xE7,0xA5,0x87), - o3(0xE7,0xBE,0xA9), o3(0xE8,0x9F,0xBB), - o3(0xE8,0xAA,0xBC), o3(0xE8,0xAD,0xB0), - o3(0xE6,0x8E,0xAC), o3(0xE8,0x8F,0x8A), - o3(0xE9,0x9E,0xA0), o3(0xE5,0x90,0x89), - o3(0xE5,0x90,0x83), o3(0xE5,0x96,0xAB), - o3(0xE6,0xA1,0x94), o3(0xE6,0xA9,0x98), - o3(0xE8,0xA9,0xB0), o3(0xE7,0xA0,0xA7), - o3(0xE6,0x9D,0xB5), o3(0xE9,0xBB,0x8D), - o3(0xE5,0x8D,0xB4), o3(0xE5,0xAE,0xA2), - o3(0xE8,0x84,0x9A), o3(0xE8,0x99,0x90), - o3(0xE9,0x80,0x86), o3(0xE4,0xB8,0x98), - o3(0xE4,0xB9,0x85), o3(0xE4,0xBB,0x87), - o3(0xE4,0xBC,0x91), o3(0xE5,0x8F,0x8A), - o3(0xE5,0x90,0xB8), o3(0xE5,0xAE,0xAE), - o3(0xE5,0xBC,0x93), o3(0xE6,0x80,0xA5), - o3(0xE6,0x95,0x91), o3(0xE6,0x9C,0xBD), - o3(0xE6,0xB1,0x82), o3(0xE6,0xB1,0xB2), - o3(0xE6,0xB3,0xA3), o3(0xE7,0x81,0xB8), - o3(0xE7,0x90,0x83), o3(0xE7,0xA9,0xB6), - o3(0xE7,0xAA,0xAE), o3(0xE7,0xAC,0x88), - o3(0xE7,0xB4,0x9A), o3(0xE7,0xB3,0xBE), - o3(0xE7,0xB5,0xA6), o3(0xE6,0x97,0xA7), - o3(0xE7,0x89,0x9B), o3(0xE5,0x8E,0xBB), - o3(0xE5,0xB1,0x85), o3(0xE5,0xB7,0xA8), - o3(0xE6,0x8B,0x92), o3(0xE6,0x8B,0xA0), - o3(0xE6,0x8C,0x99), o3(0xE6,0xB8,0xA0), - o3(0xE8,0x99,0x9A), o3(0xE8,0xA8,0xB1), - o3(0xE8,0xB7,0x9D), o3(0xE9,0x8B,0xB8), - o3(0xE6,0xBC,0x81), o3(0xE7,0xA6,0xA6), - o3(0xE9,0xAD,0x9A), o3(0xE4,0xBA,0xA8), - o3(0xE4,0xBA,0xAB), o3(0xE4,0xBA,0xAC), - o3(0xE4,0xBE,0x9B), o3(0xE4,0xBE,0xA0), - o3(0xE5,0x83,0x91), o3(0xE5,0x85,0x87), - o3(0xE7,0xAB,0xB6), o3(0xE5,0x85,0xB1), - o3(0xE5,0x87,0xB6), o3(0xE5,0x8D,0x94), - o3(0xE5,0x8C,0xA1), o3(0xE5,0x8D,0xBF), - o3(0xE5,0x8F,0xAB), o3(0xE5,0x96,0xAC), - o3(0xE5,0xA2,0x83), o3(0xE5,0xB3,0xA1), - o3(0xE5,0xBC,0xB7), o3(0xE5,0xBD,0x8A), - o3(0xE6,0x80,0xAF), o3(0xE6,0x81,0x90), - o3(0xE6,0x81,0xAD), o3(0xE6,0x8C,0x9F), - o3(0xE6,0x95,0x99), o3(0xE6,0xA9,0x8B), - o3(0xE6,0xB3,0x81), o3(0xE7,0x8B,0x82), - o3(0xE7,0x8B,0xAD), o3(0xE7,0x9F,0xAF), - o3(0xE8,0x83,0xB8), o3(0xE8,0x84,0x85), - o3(0xE8,0x88,0x88), o3(0xE8,0x95,0x8E), - o3(0xE9,0x83,0xB7), o3(0xE9,0x8F,0xA1), - o3(0xE9,0x9F,0xBF), o3(0xE9,0xA5,0x97), - o3(0xE9,0xA9,0x9A), o3(0xE4,0xBB,0xB0), - o3(0xE5,0x87,0x9D), o3(0xE5,0xB0,0xAD), - o3(0xE6,0x9A,0x81), o3(0xE6,0xA5,0xAD), - o3(0xE5,0xB1,0x80), o3(0xE6,0x9B,0xB2), - o3(0xE6,0xA5,0xB5), o3(0xE7,0x8E,0x89), - o3(0xE6,0xA1,0x90), o3(0xE7,0xB2,0x81), - o3(0xE5,0x83,0x85), o3(0xE5,0x8B,0xA4), - o3(0xE5,0x9D,0x87), o3(0xE5,0xB7,0xBE), - o3(0xE9,0x8C,0xA6), o3(0xE6,0x96,0xA4), - o3(0xE6,0xAC,0xA3), o3(0xE6,0xAC,0xBD), - o3(0xE7,0x90,0xB4), o3(0xE7,0xA6,0x81), - o3(0xE7,0xA6,0xBD), o3(0xE7,0xAD,0x8B), - o3(0xE7,0xB7,0x8A), o3(0xE8,0x8A,0xB9), - o3(0xE8,0x8F,0x8C), o3(0xE8,0xA1,0xBF), - o3(0xE8,0xA5,0x9F), o3(0xE8,0xAC,0xB9), - o3(0xE8,0xBF,0x91), o3(0xE9,0x87,0x91), - o3(0xE5,0x90,0x9F), o3(0xE9,0x8A,0x80), - o3(0xE4,0xB9,0x9D), o3(0xE5,0x80,0xB6), - o3(0xE5,0x8F,0xA5), o3(0xE5,0x8C,0xBA), - o3(0xE7,0x8B,0x97), o3(0xE7,0x8E,0x96), - o3(0xE7,0x9F,0xA9), o3(0xE8,0x8B,0xA6), - o3(0xE8,0xBA,0xAF), o3(0xE9,0xA7,0x86), - o3(0xE9,0xA7,0x88), o3(0xE9,0xA7,0x92), - o3(0xE5,0x85,0xB7), o3(0xE6,0x84,0x9A), - o3(0xE8,0x99,0x9E), o3(0xE5,0x96,0xB0), - o3(0xE7,0xA9,0xBA), o3(0xE5,0x81,0xB6), - o3(0xE5,0xAF,0x93), o3(0xE9,0x81,0x87), - o3(0xE9,0x9A,0x85), o3(0xE4,0xB8,0xB2), - o3(0xE6,0xAB,0x9B), o3(0xE9,0x87,0xA7), - o3(0xE5,0xB1,0x91), o3(0xE5,0xB1,0x88), - UNDEF, -}; -static const BYTE_LOOKUP -from_SHIFT_JIS_8B = { - from_SHIFT_JIS_89_offsets, - from_SHIFT_JIS_8B_infos -}; - -static const struct byte_lookup* const -from_SHIFT_JIS_8C_infos[189] = { - o3(0xE6,0x8E,0x98), o3(0xE7,0xAA,0x9F), - o3(0xE6,0xB2,0x93), o3(0xE9,0x9D,0xB4), - o3(0xE8,0xBD,0xA1), o3(0xE7,0xAA,0xAA), - o3(0xE7,0x86,0x8A), o3(0xE9,0x9A,0x88), - o3(0xE7,0xB2,0x82), o3(0xE6,0xA0,0x97), - o3(0xE7,0xB9,0xB0), o3(0xE6,0xA1,0x91), - o3(0xE9,0x8D,0xAC), o3(0xE5,0x8B,0xB2), - o3(0xE5,0x90,0x9B), o3(0xE8,0x96,0xAB), - o3(0xE8,0xA8,0x93), o3(0xE7,0xBE,0xA4), - o3(0xE8,0xBB,0x8D), o3(0xE9,0x83,0xA1), - o3(0xE5,0x8D,0xA6), o3(0xE8,0xA2,0x88), - o3(0xE7,0xA5,0x81), o3(0xE4,0xBF,0x82), - o3(0xE5,0x82,0xBE), o3(0xE5,0x88,0x91), - o3(0xE5,0x85,0x84), o3(0xE5,0x95,0x93), - o3(0xE5,0x9C,0xAD), o3(0xE7,0x8F,0xAA), - o3(0xE5,0x9E,0x8B), o3(0xE5,0xA5,0x91), - o3(0xE5,0xBD,0xA2), o3(0xE5,0xBE,0x84), - o3(0xE6,0x81,0xB5), o3(0xE6,0x85,0xB6), - o3(0xE6,0x85,0xA7), o3(0xE6,0x86,0xA9), - o3(0xE6,0x8E,0xB2), o3(0xE6,0x90,0xBA), - o3(0xE6,0x95,0xAC), o3(0xE6,0x99,0xAF), - o3(0xE6,0xA1,0x82), o3(0xE6,0xB8,0x93), - o3(0xE7,0x95,0xA6), o3(0xE7,0xA8,0xBD), - o3(0xE7,0xB3,0xBB), o3(0xE7,0xB5,0x8C), - o3(0xE7,0xB6,0x99), o3(0xE7,0xB9,0x8B), - o3(0xE7,0xBD,0xAB), o3(0xE8,0x8C,0x8E), - o3(0xE8,0x8D,0x8A), o3(0xE8,0x9B,0x8D), - o3(0xE8,0xA8,0x88), o3(0xE8,0xA9,0xA3), - o3(0xE8,0xAD,0xA6), o3(0xE8,0xBB,0xBD), - o3(0xE9,0xA0,0x9A), o3(0xE9,0xB6,0x8F), - o3(0xE8,0x8A,0xB8), o3(0xE8,0xBF,0x8E), - o3(0xE9,0xAF,0xA8), o3(0xE5,0x8A,0x87), - o3(0xE6,0x88,0x9F), o3(0xE6,0x92,0x83), - o3(0xE6,0xBF,0x80), o3(0xE9,0x9A,0x99), - o3(0xE6,0xA1,0x81), o3(0xE5,0x82,0x91), - o3(0xE6,0xAC,0xA0), o3(0xE6,0xB1,0xBA), - o3(0xE6,0xBD,0x94), o3(0xE7,0xA9,0xB4), - o3(0xE7,0xB5,0x90), o3(0xE8,0xA1,0x80), - o3(0xE8,0xA8,0xA3), o3(0xE6,0x9C,0x88), - o3(0xE4,0xBB,0xB6), o3(0xE5,0x80,0xB9), - o3(0xE5,0x80,0xA6), o3(0xE5,0x81,0xA5), - o3(0xE5,0x85,0xBC), o3(0xE5,0x88,0xB8), - o3(0xE5,0x89,0xA3), o3(0xE5,0x96,0xA7), - o3(0xE5,0x9C,0x8F), o3(0xE5,0xA0,0x85), - o3(0xE5,0xAB,0x8C), o3(0xE5,0xBB,0xBA), - o3(0xE6,0x86,0xB2), o3(0xE6,0x87,0xB8), - o3(0xE6,0x8B,0xB3), o3(0xE6,0x8D,0xB2), - o3(0xE6,0xA4,0x9C), o3(0xE6,0xA8,0xA9), - o3(0xE7,0x89,0xBD), o3(0xE7,0x8A,0xAC), - o3(0xE7,0x8C,0xAE), o3(0xE7,0xA0,0x94), - o3(0xE7,0xA1,0xAF), o3(0xE7,0xB5,0xB9), - o3(0xE7,0x9C,0x8C), o3(0xE8,0x82,0xA9), - o3(0xE8,0xA6,0x8B), o3(0xE8,0xAC,0x99), - o3(0xE8,0xB3,0xA2), o3(0xE8,0xBB,0x92), - o3(0xE9,0x81,0xA3), o3(0xE9,0x8D,0xB5), - o3(0xE9,0x99,0xBA), o3(0xE9,0xA1,0x95), - o3(0xE9,0xA8,0x93), o3(0xE9,0xB9,0xB8), - o3(0xE5,0x85,0x83), o3(0xE5,0x8E,0x9F), - o3(0xE5,0x8E,0xB3), o3(0xE5,0xB9,0xBB), - o3(0xE5,0xBC,0xA6), o3(0xE6,0xB8,0x9B), - o3(0xE6,0xBA,0x90), o3(0xE7,0x8E,0x84), - o3(0xE7,0x8F,0xBE), o3(0xE7,0xB5,0x83), - o3(0xE8,0x88,0xB7), o3(0xE8,0xA8,0x80), - o3(0xE8,0xAB,0xBA), o3(0xE9,0x99,0x90), - o3(0xE4,0xB9,0x8E), o3(0xE5,0x80,0x8B), - o3(0xE5,0x8F,0xA4), o3(0xE5,0x91,0xBC), - o3(0xE5,0x9B,0xBA), o3(0xE5,0xA7,0x91), - o3(0xE5,0xAD,0xA4), o3(0xE5,0xB7,0xB1), - o3(0xE5,0xBA,0xAB), o3(0xE5,0xBC,0xA7), - o3(0xE6,0x88,0xB8), o3(0xE6,0x95,0x85), - o3(0xE6,0x9E,0xAF), o3(0xE6,0xB9,0x96), - o3(0xE7,0x8B,0x90), o3(0xE7,0xB3,0x8A), - o3(0xE8,0xA2,0xB4), o3(0xE8,0x82,0xA1), - o3(0xE8,0x83,0xA1), o3(0xE8,0x8F,0xB0), - o3(0xE8,0x99,0x8E), o3(0xE8,0xAA,0x87), - o3(0xE8,0xB7,0xA8), o3(0xE9,0x88,0xB7), - o3(0xE9,0x9B,0x87), o3(0xE9,0xA1,0xA7), - o3(0xE9,0xBC,0x93), o3(0xE4,0xBA,0x94), - o3(0xE4,0xBA,0x92), o3(0xE4,0xBC,0x8D), - o3(0xE5,0x8D,0x88), o3(0xE5,0x91,0x89), - o3(0xE5,0x90,0xBE), o3(0xE5,0xA8,0xAF), - o3(0xE5,0xBE,0x8C), o3(0xE5,0xBE,0xA1), - o3(0xE6,0x82,0x9F), o3(0xE6,0xA2,0xA7), - o3(0xE6,0xAA,0x8E), o3(0xE7,0x91,0x9A), - o3(0xE7,0xA2,0x81), o3(0xE8,0xAA,0x9E), - o3(0xE8,0xAA,0xA4), o3(0xE8,0xAD,0xB7), - o3(0xE9,0x86,0x90), o3(0xE4,0xB9,0x9E), - o3(0xE9,0xAF,0x89), o3(0xE4,0xBA,0xA4), - o3(0xE4,0xBD,0xBC), o3(0xE4,0xBE,0xAF), - o3(0xE5,0x80,0x99), o3(0xE5,0x80,0x96), - o3(0xE5,0x85,0x89), o3(0xE5,0x85,0xAC), - o3(0xE5,0x8A,0x9F), o3(0xE5,0x8A,0xB9), - o3(0xE5,0x8B,0xBE), o3(0xE5,0x8E,0x9A), - o3(0xE5,0x8F,0xA3), o3(0xE5,0x90,0x91), - UNDEF, -}; -static const BYTE_LOOKUP -from_SHIFT_JIS_8C = { - from_SHIFT_JIS_89_offsets, - from_SHIFT_JIS_8C_infos -}; - -static const struct byte_lookup* const -from_SHIFT_JIS_8D_infos[189] = { - o3(0xE5,0x90,0x8E), o3(0xE5,0x96,0x89), - o3(0xE5,0x9D,0x91), o3(0xE5,0x9E,0xA2), - o3(0xE5,0xA5,0xBD), o3(0xE5,0xAD,0x94), - o3(0xE5,0xAD,0x9D), o3(0xE5,0xAE,0x8F), - o3(0xE5,0xB7,0xA5), o3(0xE5,0xB7,0xA7), - o3(0xE5,0xB7,0xB7), o3(0xE5,0xB9,0xB8), - o3(0xE5,0xBA,0x83), o3(0xE5,0xBA,0x9A), - o3(0xE5,0xBA,0xB7), o3(0xE5,0xBC,0x98), - o3(0xE6,0x81,0x92), o3(0xE6,0x85,0x8C), - o3(0xE6,0x8A,0x97), o3(0xE6,0x8B,0x98), - o3(0xE6,0x8E,0xA7), o3(0xE6,0x94,0xBB), - o3(0xE6,0x98,0x82), o3(0xE6,0x99,0x83), - o3(0xE6,0x9B,0xB4), o3(0xE6,0x9D,0xAD), - o3(0xE6,0xA0,0xA1), o3(0xE6,0xA2,0x97), - o3(0xE6,0xA7,0x8B), o3(0xE6,0xB1,0x9F), - o3(0xE6,0xB4,0xAA), o3(0xE6,0xB5,0xA9), - o3(0xE6,0xB8,0xAF), o3(0xE6,0xBA,0x9D), - o3(0xE7,0x94,0xB2), o3(0xE7,0x9A,0x87), - o3(0xE7,0xA1,0xAC), o3(0xE7,0xA8,0xBF), - o3(0xE7,0xB3,0xA0), o3(0xE7,0xB4,0x85), - o3(0xE7,0xB4,0x98), o3(0xE7,0xB5,0x9E), - o3(0xE7,0xB6,0xB1), o3(0xE8,0x80,0x95), - o3(0xE8,0x80,0x83), o3(0xE8,0x82,0xAF), - o3(0xE8,0x82,0xB1), o3(0xE8,0x85,0x94), - o3(0xE8,0x86,0x8F), o3(0xE8,0x88,0xAA), - o3(0xE8,0x8D,0x92), o3(0xE8,0xA1,0x8C), - o3(0xE8,0xA1,0xA1), o3(0xE8,0xAC,0x9B), - o3(0xE8,0xB2,0xA2), o3(0xE8,0xB3,0xBC), - o3(0xE9,0x83,0x8A), o3(0xE9,0x85,0xB5), - o3(0xE9,0x89,0xB1), o3(0xE7,0xA0,0xBF), - o3(0xE9,0x8B,0xBC), o3(0xE9,0x96,0xA4), - o3(0xE9,0x99,0x8D), o3(0xE9,0xA0,0x85), - o3(0xE9,0xA6,0x99), o3(0xE9,0xAB,0x98), - o3(0xE9,0xB4,0xBB), o3(0xE5,0x89,0x9B), - o3(0xE5,0x8A,0xAB), o3(0xE5,0x8F,0xB7), - o3(0xE5,0x90,0x88), o3(0xE5,0xA3,0x95), - o3(0xE6,0x8B,0xB7), o3(0xE6,0xBF,0xA0), - o3(0xE8,0xB1,0xAA), o3(0xE8,0xBD,0x9F), - o3(0xE9,0xBA,0xB9), o3(0xE5,0x85,0x8B), - o3(0xE5,0x88,0xBB), o3(0xE5,0x91,0x8A), - o3(0xE5,0x9B,0xBD), o3(0xE7,0xA9,0x80), - o3(0xE9,0x85,0xB7), o3(0xE9,0xB5,0xA0), - o3(0xE9,0xBB,0x92), o3(0xE7,0x8D,0x84), - o3(0xE6,0xBC,0x89), o3(0xE8,0x85,0xB0), - o3(0xE7,0x94,0x91), o3(0xE5,0xBF,0xBD), - o3(0xE6,0x83,0x9A), o3(0xE9,0xAA,0xA8), - o3(0xE7,0x8B,0x9B), o3(0xE8,0xBE,0xBC), - o3(0xE6,0xAD,0xA4), o3(0xE9,0xA0,0x83), - o3(0xE4,0xBB,0x8A), o3(0xE5,0x9B,0xB0), - o3(0xE5,0x9D,0xA4), o3(0xE5,0xA2,0xBE), - o3(0xE5,0xA9,0x9A), o3(0xE6,0x81,0xA8), - o3(0xE6,0x87,0x87), o3(0xE6,0x98,0x8F), - o3(0xE6,0x98,0x86), o3(0xE6,0xA0,0xB9), - o3(0xE6,0xA2,0xB1), o3(0xE6,0xB7,0xB7), - o3(0xE7,0x97,0x95), o3(0xE7,0xB4,0xBA), - o3(0xE8,0x89,0xAE), o3(0xE9,0xAD,0x82), - o3(0xE4,0xBA,0x9B), o3(0xE4,0xBD,0x90), - o3(0xE5,0x8F,0x89), o3(0xE5,0x94,0x86), - o3(0xE5,0xB5,0xAF), o3(0xE5,0xB7,0xA6), - o3(0xE5,0xB7,0xAE), o3(0xE6,0x9F,0xBB), - o3(0xE6,0xB2,0x99), o3(0xE7,0x91,0xB3), - o3(0xE7,0xA0,0x82), o3(0xE8,0xA9,0x90), - o3(0xE9,0x8E,0x96), o3(0xE8,0xA3,0x9F), - o3(0xE5,0x9D,0x90), o3(0xE5,0xBA,0xA7), - o3(0xE6,0x8C,0xAB), o3(0xE5,0x82,0xB5), - o3(0xE5,0x82,0xAC), o3(0xE5,0x86,0x8D), - o3(0xE6,0x9C,0x80), o3(0xE5,0x93,0x89), - o3(0xE5,0xA1,0x9E), o3(0xE5,0xA6,0xBB), - o3(0xE5,0xAE,0xB0), o3(0xE5,0xBD,0xA9), - o3(0xE6,0x89,0x8D), o3(0xE6,0x8E,0xA1), - o3(0xE6,0xA0,0xBD), o3(0xE6,0xAD,0xB3), - o3(0xE6,0xB8,0x88), o3(0xE7,0x81,0xBD), - o3(0xE9,0x87,0x87), o3(0xE7,0x8A,0x80), - o3(0xE7,0xA0,0x95), o3(0xE7,0xA0,0xA6), - o3(0xE7,0xA5,0xAD), o3(0xE6,0x96,0x8E), - o3(0xE7,0xB4,0xB0), o3(0xE8,0x8F,0x9C), - o3(0xE8,0xA3,0x81), o3(0xE8,0xBC,0x89), - o3(0xE9,0x9A,0x9B), o3(0xE5,0x89,0xA4), - o3(0xE5,0x9C,0xA8), o3(0xE6,0x9D,0x90), - o3(0xE7,0xBD,0xAA), o3(0xE8,0xB2,0xA1), - o3(0xE5,0x86,0xB4), o3(0xE5,0x9D,0x82), - o3(0xE9,0x98,0xAA), o3(0xE5,0xA0,0xBA), - o3(0xE6,0xA6,0x8A), o3(0xE8,0x82,0xB4), - o3(0xE5,0x92,0xB2), o3(0xE5,0xB4,0x8E), - o3(0xE5,0x9F,0xBC), o3(0xE7,0xA2,0x95), - o3(0xE9,0xB7,0xBA), o3(0xE4,0xBD,0x9C), - o3(0xE5,0x89,0x8A), o3(0xE5,0x92,0x8B), - o3(0xE6,0x90,0xBE), o3(0xE6,0x98,0xA8), - o3(0xE6,0x9C,0x94), o3(0xE6,0x9F,0xB5), - o3(0xE7,0xAA,0x84), o3(0xE7,0xAD,0x96), - o3(0xE7,0xB4,0xA2), o3(0xE9,0x8C,0xAF), - o3(0xE6,0xA1,0x9C), o3(0xE9,0xAE,0xAD), - o3(0xE7,0xAC,0xB9), o3(0xE5,0x8C,0x99), - o3(0xE5,0x86,0x8A), o3(0xE5,0x88,0xB7), - UNDEF, -}; -static const BYTE_LOOKUP -from_SHIFT_JIS_8D = { - from_SHIFT_JIS_89_offsets, - from_SHIFT_JIS_8D_infos -}; - -static const struct byte_lookup* const -from_SHIFT_JIS_8E_infos[189] = { - o3(0xE5,0xAF,0x9F), o3(0xE6,0x8B,0xB6), - o3(0xE6,0x92,0xAE), o3(0xE6,0x93,0xA6), - o3(0xE6,0x9C,0xAD), o3(0xE6,0xAE,0xBA), - o3(0xE8,0x96,0xA9), o3(0xE9,0x9B,0x91), - o3(0xE7,0x9A,0x90), o3(0xE9,0xAF,0x96), - o3(0xE6,0x8D,0x8C), o3(0xE9,0x8C,0x86), - o3(0xE9,0xAE,0xAB), o3(0xE7,0x9A,0xBF), - o3(0xE6,0x99,0x92), o3(0xE4,0xB8,0x89), - o3(0xE5,0x82,0x98), o3(0xE5,0x8F,0x82), - o3(0xE5,0xB1,0xB1), o3(0xE6,0x83,0xA8), - o3(0xE6,0x92,0x92), o3(0xE6,0x95,0xA3), - o3(0xE6,0xA1,0x9F), o3(0xE7,0x87,0xA6), - o3(0xE7,0x8F,0x8A), o3(0xE7,0x94,0xA3), - o3(0xE7,0xAE,0x97), o3(0xE7,0xBA,0x82), - o3(0xE8,0x9A,0x95), o3(0xE8,0xAE,0x83), - o3(0xE8,0xB3,0x9B), o3(0xE9,0x85,0xB8), - o3(0xE9,0xA4,0x90), o3(0xE6,0x96,0xAC), - o3(0xE6,0x9A,0xAB), o3(0xE6,0xAE,0x8B), - o3(0xE4,0xBB,0x95), o3(0xE4,0xBB,0x94), - o3(0xE4,0xBC,0xBA), o3(0xE4,0xBD,0xBF), - o3(0xE5,0x88,0xBA), o3(0xE5,0x8F,0xB8), - o3(0xE5,0x8F,0xB2), o3(0xE5,0x97,0xA3), - o3(0xE5,0x9B,0x9B), o3(0xE5,0xA3,0xAB), - o3(0xE5,0xA7,0x8B), o3(0xE5,0xA7,0x89), - o3(0xE5,0xA7,0xBF), o3(0xE5,0xAD,0x90), - o3(0xE5,0xB1,0x8D), o3(0xE5,0xB8,0x82), - o3(0xE5,0xB8,0xAB), o3(0xE5,0xBF,0x97), - o3(0xE6,0x80,0x9D), o3(0xE6,0x8C,0x87), - o3(0xE6,0x94,0xAF), o3(0xE5,0xAD,0x9C), - o3(0xE6,0x96,0xAF), o3(0xE6,0x96,0xBD), - o3(0xE6,0x97,0xA8), o3(0xE6,0x9E,0x9D), - o3(0xE6,0xAD,0xA2), o3(0xE6,0xAD,0xBB), - o3(0xE6,0xB0,0x8F), o3(0xE7,0x8D,0x85), - o3(0xE7,0xA5,0x89), o3(0xE7,0xA7,0x81), - o3(0xE7,0xB3,0xB8), o3(0xE7,0xB4,0x99), - o3(0xE7,0xB4,0xAB), o3(0xE8,0x82,0xA2), - o3(0xE8,0x84,0x82), o3(0xE8,0x87,0xB3), - o3(0xE8,0xA6,0x96), o3(0xE8,0xA9,0x9E), - o3(0xE8,0xA9,0xA9), o3(0xE8,0xA9,0xA6), - o3(0xE8,0xAA,0x8C), o3(0xE8,0xAB,0xAE), - o3(0xE8,0xB3,0x87), o3(0xE8,0xB3,0x9C), - o3(0xE9,0x9B,0x8C), o3(0xE9,0xA3,0xBC), - o3(0xE6,0xAD,0xAF), o3(0xE4,0xBA,0x8B), - o3(0xE4,0xBC,0xBC), o3(0xE4,0xBE,0x8D), - o3(0xE5,0x85,0x90), o3(0xE5,0xAD,0x97), - o3(0xE5,0xAF,0xBA), o3(0xE6,0x85,0x88), - o3(0xE6,0x8C,0x81), o3(0xE6,0x99,0x82), - o3(0xE6,0xAC,0xA1), o3(0xE6,0xBB,0x8B), - o3(0xE6,0xB2,0xBB), o3(0xE7,0x88,0xBE), - o3(0xE7,0x92,0xBD), o3(0xE7,0x97,0x94), - o3(0xE7,0xA3,0x81), o3(0xE7,0xA4,0xBA), - o3(0xE8,0x80,0x8C), o3(0xE8,0x80,0xB3), - o3(0xE8,0x87,0xAA), o3(0xE8,0x92,0x94), - o3(0xE8,0xBE,0x9E), o3(0xE6,0xB1,0x90), - o3(0xE9,0xB9,0xBF), o3(0xE5,0xBC,0x8F), - o3(0xE8,0xAD,0x98), o3(0xE9,0xB4,0xAB), - o3(0xE7,0xAB,0xBA), o3(0xE8,0xBB,0xB8), - o3(0xE5,0xAE,0x8D), o3(0xE9,0x9B,0xAB), - o3(0xE4,0xB8,0x83), o3(0xE5,0x8F,0xB1), - o3(0xE5,0x9F,0xB7), o3(0xE5,0xA4,0xB1), - o3(0xE5,0xAB,0x89), o3(0xE5,0xAE,0xA4), - o3(0xE6,0x82,0x89), o3(0xE6,0xB9,0xBF), - o3(0xE6,0xBC,0x86), o3(0xE7,0x96,0xBE), - o3(0xE8,0xB3,0xAA), o3(0xE5,0xAE,0x9F), - o3(0xE8,0x94,0x80), o3(0xE7,0xAF,0xA0), - o3(0xE5,0x81,0xB2), o3(0xE6,0x9F,0xB4), - o3(0xE8,0x8A,0x9D), o3(0xE5,0xB1,0xA1), - o3(0xE8,0x95,0x8A), o3(0xE7,0xB8,0x9E), - o3(0xE8,0x88,0x8E), o3(0xE5,0x86,0x99), - o3(0xE5,0xB0,0x84), o3(0xE6,0x8D,0xA8), - o3(0xE8,0xB5,0xA6), o3(0xE6,0x96,0x9C), - o3(0xE7,0x85,0xAE), o3(0xE7,0xA4,0xBE), - o3(0xE7,0xB4,0x97), o3(0xE8,0x80,0x85), - o3(0xE8,0xAC,0x9D), o3(0xE8,0xBB,0x8A), - o3(0xE9,0x81,0xAE), o3(0xE8,0x9B,0x87), - o3(0xE9,0x82,0xAA), o3(0xE5,0x80,0x9F), - o3(0xE5,0x8B,0xBA), o3(0xE5,0xB0,0xBA), - o3(0xE6,0x9D,0x93), o3(0xE7,0x81,0xBC), - o3(0xE7,0x88,0xB5), o3(0xE9,0x85,0x8C), - o3(0xE9,0x87,0x88), o3(0xE9,0x8C,0xAB), - o3(0xE8,0x8B,0xA5), o3(0xE5,0xAF,0x82), - o3(0xE5,0xBC,0xB1), o3(0xE6,0x83,0xB9), - o3(0xE4,0xB8,0xBB), o3(0xE5,0x8F,0x96), - o3(0xE5,0xAE,0x88), o3(0xE6,0x89,0x8B), - o3(0xE6,0x9C,0xB1), o3(0xE6,0xAE,0x8A), - o3(0xE7,0x8B,0xA9), o3(0xE7,0x8F,0xA0), - o3(0xE7,0xA8,0xAE), o3(0xE8,0x85,0xAB), - o3(0xE8,0xB6,0xA3), o3(0xE9,0x85,0x92), - o3(0xE9,0xA6,0x96), o3(0xE5,0x84,0x92), - o3(0xE5,0x8F,0x97), o3(0xE5,0x91,0xAA), - o3(0xE5,0xAF,0xBF), o3(0xE6,0x8E,0x88), - o3(0xE6,0xA8,0xB9), o3(0xE7,0xB6,0xAC), - o3(0xE9,0x9C,0x80), o3(0xE5,0x9B,0x9A), - o3(0xE5,0x8F,0x8E), o3(0xE5,0x91,0xA8), - UNDEF, -}; -static const BYTE_LOOKUP -from_SHIFT_JIS_8E = { - from_SHIFT_JIS_89_offsets, - from_SHIFT_JIS_8E_infos -}; - -static const struct byte_lookup* const -from_SHIFT_JIS_8F_infos[189] = { - o3(0xE5,0xAE,0x97), o3(0xE5,0xB0,0xB1), - o3(0xE5,0xB7,0x9E), o3(0xE4,0xBF,0xAE), - o3(0xE6,0x84,0x81), o3(0xE6,0x8B,0xBE), - o3(0xE6,0xB4,0xB2), o3(0xE7,0xA7,0x80), - o3(0xE7,0xA7,0x8B), o3(0xE7,0xB5,0x82), - o3(0xE7,0xB9,0x8D), o3(0xE7,0xBF,0x92), - o3(0xE8,0x87,0xAD), o3(0xE8,0x88,0x9F), - o3(0xE8,0x92,0x90), o3(0xE8,0xA1,0x86), - o3(0xE8,0xA5,0xB2), o3(0xE8,0xAE,0x90), - o3(0xE8,0xB9,0xB4), o3(0xE8,0xBC,0xAF), - o3(0xE9,0x80,0xB1), o3(0xE9,0x85,0x8B), - o3(0xE9,0x85,0xAC), o3(0xE9,0x9B,0x86), - o3(0xE9,0x86,0x9C), o3(0xE4,0xBB,0x80), - o3(0xE4,0xBD,0x8F), o3(0xE5,0x85,0x85), - o3(0xE5,0x8D,0x81), o3(0xE5,0xBE,0x93), - o3(0xE6,0x88,0x8E), o3(0xE6,0x9F,0x94), - o3(0xE6,0xB1,0x81), o3(0xE6,0xB8,0x8B), - o3(0xE7,0x8D,0xA3), o3(0xE7,0xB8,0xA6), - o3(0xE9,0x87,0x8D), o3(0xE9,0x8A,0x83), - o3(0xE5,0x8F,0x94), o3(0xE5,0xA4,0x99), - o3(0xE5,0xAE,0xBF), o3(0xE6,0xB7,0x91), - o3(0xE7,0xA5,0x9D), o3(0xE7,0xB8,0xAE), - o3(0xE7,0xB2,0x9B), o3(0xE5,0xA1,0xBE), - o3(0xE7,0x86,0x9F), o3(0xE5,0x87,0xBA), - o3(0xE8,0xA1,0x93), o3(0xE8,0xBF,0xB0), - o3(0xE4,0xBF,0x8A), o3(0xE5,0xB3,0xBB), - o3(0xE6,0x98,0xA5), o3(0xE7,0x9E,0xAC), - o3(0xE7,0xAB,0xA3), o3(0xE8,0x88,0x9C), - o3(0xE9,0xA7,0xBF), o3(0xE5,0x87,0x86), - o3(0xE5,0xBE,0xAA), o3(0xE6,0x97,0xAC), - o3(0xE6,0xA5,0xAF), o3(0xE6,0xAE,0x89), - o3(0xE6,0xB7,0xB3), o3(0xE6,0xBA,0x96), - o3(0xE6,0xBD,0xA4), o3(0xE7,0x9B,0xBE), - o3(0xE7,0xB4,0x94), o3(0xE5,0xB7,0xA1), - o3(0xE9,0x81,0xB5), o3(0xE9,0x86,0x87), - o3(0xE9,0xA0,0x86), o3(0xE5,0x87,0xA6), - o3(0xE5,0x88,0x9D), o3(0xE6,0x89,0x80), - o3(0xE6,0x9A,0x91), o3(0xE6,0x9B,0x99), - o3(0xE6,0xB8,0x9A), o3(0xE5,0xBA,0xB6), - o3(0xE7,0xB7,0x92), o3(0xE7,0xBD,0xB2), - o3(0xE6,0x9B,0xB8), o3(0xE8,0x96,0xAF), - o3(0xE8,0x97,0xB7), o3(0xE8,0xAB,0xB8), - o3(0xE5,0x8A,0xA9), o3(0xE5,0x8F,0x99), - o3(0xE5,0xA5,0xB3), o3(0xE5,0xBA,0x8F), - o3(0xE5,0xBE,0x90), o3(0xE6,0x81,0x95), - o3(0xE9,0x8B,0xA4), o3(0xE9,0x99,0xA4), - o3(0xE5,0x82,0xB7), o3(0xE5,0x84,0x9F), - o3(0xE5,0x8B,0x9D), o3(0xE5,0x8C,0xA0), - o3(0xE5,0x8D,0x87), o3(0xE5,0x8F,0xAC), - o3(0xE5,0x93,0xA8), o3(0xE5,0x95,0x86), - o3(0xE5,0x94,0xB1), o3(0xE5,0x98,0x97), - o3(0xE5,0xA5,0xA8), o3(0xE5,0xA6,0xBE), - o3(0xE5,0xA8,0xBC), o3(0xE5,0xAE,0xB5), - o3(0xE5,0xB0,0x86), o3(0xE5,0xB0,0x8F), - o3(0xE5,0xB0,0x91), o3(0xE5,0xB0,0x9A), - o3(0xE5,0xBA,0x84), o3(0xE5,0xBA,0x8A), - o3(0xE5,0xBB,0xA0), o3(0xE5,0xBD,0xB0), - o3(0xE6,0x89,0xBF), o3(0xE6,0x8A,0x84), - o3(0xE6,0x8B,0x9B), o3(0xE6,0x8E,0x8C), - o3(0xE6,0x8D,0xB7), o3(0xE6,0x98,0x87), - o3(0xE6,0x98,0x8C), o3(0xE6,0x98,0xAD), - o3(0xE6,0x99,0xB6), o3(0xE6,0x9D,0xBE), - o3(0xE6,0xA2,0xA2), o3(0xE6,0xA8,0x9F), - o3(0xE6,0xA8,0xB5), o3(0xE6,0xB2,0xBC), - o3(0xE6,0xB6,0x88), o3(0xE6,0xB8,0x89), - o3(0xE6,0xB9,0x98), o3(0xE7,0x84,0xBC), - o3(0xE7,0x84,0xA6), o3(0xE7,0x85,0xA7), - o3(0xE7,0x97,0x87), o3(0xE7,0x9C,0x81), - o3(0xE7,0xA1,0x9D), o3(0xE7,0xA4,0x81), - o3(0xE7,0xA5,0xA5), o3(0xE7,0xA7,0xB0), - o3(0xE7,0xAB,0xA0), o3(0xE7,0xAC,0x91), - o3(0xE7,0xB2,0xA7), o3(0xE7,0xB4,0xB9), - o3(0xE8,0x82,0x96), o3(0xE8,0x8F,0x96), - o3(0xE8,0x92,0x8B), o3(0xE8,0x95,0x89), - o3(0xE8,0xA1,0x9D), o3(0xE8,0xA3,0xB3), - o3(0xE8,0xA8,0x9F), o3(0xE8,0xA8,0xBC), - o3(0xE8,0xA9,0x94), o3(0xE8,0xA9,0xB3), - o3(0xE8,0xB1,0xA1), o3(0xE8,0xB3,0x9E), - o3(0xE9,0x86,0xA4), o3(0xE9,0x89,0xA6), - o3(0xE9,0x8D,0xBE), o3(0xE9,0x90,0x98), - o3(0xE9,0x9A,0x9C), o3(0xE9,0x9E,0x98), - o3(0xE4,0xB8,0x8A), o3(0xE4,0xB8,0x88), - o3(0xE4,0xB8,0x9E), o3(0xE4,0xB9,0x97), - o3(0xE5,0x86,0x97), o3(0xE5,0x89,0xB0), - o3(0xE5,0x9F,0x8E), o3(0xE5,0xA0,0xB4), - o3(0xE5,0xA3,0x8C), o3(0xE5,0xAC,0xA2), - o3(0xE5,0xB8,0xB8), o3(0xE6,0x83,0x85), - o3(0xE6,0x93,0xBE), o3(0xE6,0x9D,0xA1), - o3(0xE6,0x9D,0x96), o3(0xE6,0xB5,0x84), - o3(0xE7,0x8A,0xB6), o3(0xE7,0x95,0xB3), - o3(0xE7,0xA9,0xA3), o3(0xE8,0x92,0xB8), - o3(0xE8,0xAD,0xB2), o3(0xE9,0x86,0xB8), - o3(0xE9,0x8C,0xA0), o3(0xE5,0x98,0xB1), - o3(0xE5,0x9F,0xB4), o3(0xE9,0xA3,0xBE), - UNDEF, -}; -static const BYTE_LOOKUP -from_SHIFT_JIS_8F = { - from_SHIFT_JIS_89_offsets, - from_SHIFT_JIS_8F_infos -}; - -static const struct byte_lookup* const -from_SHIFT_JIS_90_infos[189] = { - o3(0xE6,0x8B,0xAD), o3(0xE6,0xA4,0x8D), - o3(0xE6,0xAE,0x96), o3(0xE7,0x87,0xAD), - o3(0xE7,0xB9,0x94), o3(0xE8,0x81,0xB7), - o3(0xE8,0x89,0xB2), o3(0xE8,0xA7,0xA6), - o3(0xE9,0xA3,0x9F), o3(0xE8,0x9D,0x95), - o3(0xE8,0xBE,0xB1), o3(0xE5,0xB0,0xBB), - o3(0xE4,0xBC,0xB8), o3(0xE4,0xBF,0xA1), - o3(0xE4,0xBE,0xB5), o3(0xE5,0x94,0x87), - o3(0xE5,0xA8,0xA0), o3(0xE5,0xAF,0x9D), - o3(0xE5,0xAF,0xA9), o3(0xE5,0xBF,0x83), - o3(0xE6,0x85,0x8E), o3(0xE6,0x8C,0xAF), - o3(0xE6,0x96,0xB0), o3(0xE6,0x99,0x8B), - o3(0xE6,0xA3,0xAE), o3(0xE6,0xA6,0x9B), - o3(0xE6,0xB5,0xB8), o3(0xE6,0xB7,0xB1), - o3(0xE7,0x94,0xB3), o3(0xE7,0x96,0xB9), - o3(0xE7,0x9C,0x9F), o3(0xE7,0xA5,0x9E), - o3(0xE7,0xA7,0xA6), o3(0xE7,0xB4,0xB3), - o3(0xE8,0x87,0xA3), o3(0xE8,0x8A,0xAF), - o3(0xE8,0x96,0xAA), o3(0xE8,0xA6,0xAA), - o3(0xE8,0xA8,0xBA), o3(0xE8,0xBA,0xAB), - o3(0xE8,0xBE,0x9B), o3(0xE9,0x80,0xB2), - o3(0xE9,0x87,0x9D), o3(0xE9,0x9C,0x87), - o3(0xE4,0xBA,0xBA), o3(0xE4,0xBB,0x81), - o3(0xE5,0x88,0x83), o3(0xE5,0xA1,0xB5), - o3(0xE5,0xA3,0xAC), o3(0xE5,0xB0,0x8B), - o3(0xE7,0x94,0x9A), o3(0xE5,0xB0,0xBD), - o3(0xE8,0x85,0x8E), o3(0xE8,0xA8,0x8A), - o3(0xE8,0xBF,0x85), o3(0xE9,0x99,0xA3), - o3(0xE9,0x9D,0xAD), o3(0xE7,0xAC,0xA5), - o3(0xE8,0xAB,0x8F), o3(0xE9,0xA0,0x88), - o3(0xE9,0x85,0xA2), o3(0xE5,0x9B,0xB3), - o3(0xE5,0x8E,0xA8), o3(0xE9,0x80,0x97), - o3(0xE5,0x90,0xB9), o3(0xE5,0x9E,0x82), - o3(0xE5,0xB8,0xA5), o3(0xE6,0x8E,0xA8), - o3(0xE6,0xB0,0xB4), o3(0xE7,0x82,0x8A), - o3(0xE7,0x9D,0xA1), o3(0xE7,0xB2,0x8B), - o3(0xE7,0xBF,0xA0), o3(0xE8,0xA1,0xB0), - o3(0xE9,0x81,0x82), o3(0xE9,0x85,0x94), - o3(0xE9,0x8C,0x90), o3(0xE9,0x8C,0x98), - o3(0xE9,0x9A,0x8F), o3(0xE7,0x91,0x9E), - o3(0xE9,0xAB,0x84), o3(0xE5,0xB4,0x87), - o3(0xE5,0xB5,0xA9), o3(0xE6,0x95,0xB0), - o3(0xE6,0x9E,0xA2), o3(0xE8,0xB6,0xA8), - o3(0xE9,0x9B,0x9B), o3(0xE6,0x8D,0xAE), - o3(0xE6,0x9D,0x89), o3(0xE6,0xA4,0x99), - o3(0xE8,0x8F,0x85), o3(0xE9,0xA0,0x97), - o3(0xE9,0x9B,0x80), o3(0xE8,0xA3,0xBE), - o3(0xE6,0xBE,0x84), o3(0xE6,0x91,0xBA), - o3(0xE5,0xAF,0xB8), o3(0xE4,0xB8,0x96), - o3(0xE7,0x80,0xAC), o3(0xE7,0x95,0x9D), - o3(0xE6,0x98,0xAF), o3(0xE5,0x87,0x84), - o3(0xE5,0x88,0xB6), o3(0xE5,0x8B,0xA2), - o3(0xE5,0xA7,0x93), o3(0xE5,0xBE,0x81), - o3(0xE6,0x80,0xA7), o3(0xE6,0x88,0x90), - o3(0xE6,0x94,0xBF), o3(0xE6,0x95,0xB4), - o3(0xE6,0x98,0x9F), o3(0xE6,0x99,0xB4), - o3(0xE6,0xA3,0xB2), o3(0xE6,0xA0,0x96), - o3(0xE6,0xAD,0xA3), o3(0xE6,0xB8,0x85), - o3(0xE7,0x89,0xB2), o3(0xE7,0x94,0x9F), - o3(0xE7,0x9B,0x9B), o3(0xE7,0xB2,0xBE), - o3(0xE8,0x81,0x96), o3(0xE5,0xA3,0xB0), - o3(0xE8,0xA3,0xBD), o3(0xE8,0xA5,0xBF), - o3(0xE8,0xAA,0xA0), o3(0xE8,0xAA,0x93), - o3(0xE8,0xAB,0x8B), o3(0xE9,0x80,0x9D), - o3(0xE9,0x86,0x92), o3(0xE9,0x9D,0x92), - o3(0xE9,0x9D,0x99), o3(0xE6,0x96,0x89), - o3(0xE7,0xA8,0x8E), o3(0xE8,0x84,0x86), - o3(0xE9,0x9A,0xBB), o3(0xE5,0xB8,0xAD), - o3(0xE6,0x83,0x9C), o3(0xE6,0x88,0x9A), - o3(0xE6,0x96,0xA5), o3(0xE6,0x98,0x94), - o3(0xE6,0x9E,0x90), o3(0xE7,0x9F,0xB3), - o3(0xE7,0xA9,0x8D), o3(0xE7,0xB1,0x8D), - o3(0xE7,0xB8,0xBE), o3(0xE8,0x84,0x8A), - o3(0xE8,0xB2,0xAC), o3(0xE8,0xB5,0xA4), - o3(0xE8,0xB7,0xA1), o3(0xE8,0xB9,0x9F), - o3(0xE7,0xA2,0xA9), o3(0xE5,0x88,0x87), - o3(0xE6,0x8B,0x99), o3(0xE6,0x8E,0xA5), - o3(0xE6,0x91,0x82), o3(0xE6,0x8A,0x98), - o3(0xE8,0xA8,0xAD), o3(0xE7,0xAA,0x83), - o3(0xE7,0xAF,0x80), o3(0xE8,0xAA,0xAC), - o3(0xE9,0x9B,0xAA), o3(0xE7,0xB5,0xB6), - o3(0xE8,0x88,0x8C), o3(0xE8,0x9D,0x89), - o3(0xE4,0xBB,0x99), o3(0xE5,0x85,0x88), - o3(0xE5,0x8D,0x83), o3(0xE5,0x8D,0xA0), - o3(0xE5,0xAE,0xA3), o3(0xE5,0xB0,0x82), - o3(0xE5,0xB0,0x96), o3(0xE5,0xB7,0x9D), - o3(0xE6,0x88,0xA6), o3(0xE6,0x89,0x87), - o3(0xE6,0x92,0xB0), o3(0xE6,0xA0,0x93), - o3(0xE6,0xA0,0xB4), o3(0xE6,0xB3,0x89), - o3(0xE6,0xB5,0x85), o3(0xE6,0xB4,0x97), - o3(0xE6,0x9F,0x93), o3(0xE6,0xBD,0x9C), - o3(0xE7,0x85,0x8E), o3(0xE7,0x85,0xBD), - o3(0xE6,0x97,0x8B), o3(0xE7,0xA9,0xBF), - o3(0xE7,0xAE,0xAD), o3(0xE7,0xB7,0x9A), - UNDEF, -}; -static const BYTE_LOOKUP -from_SHIFT_JIS_90 = { - from_SHIFT_JIS_89_offsets, - from_SHIFT_JIS_90_infos -}; - -static const struct byte_lookup* const -from_SHIFT_JIS_91_infos[189] = { - o3(0xE7,0xB9,0x8A), o3(0xE7,0xBE,0xA8), - o3(0xE8,0x85,0xBA), o3(0xE8,0x88,0x9B), - o3(0xE8,0x88,0xB9), o3(0xE8,0x96,0xA6), - o3(0xE8,0xA9,0xAE), o3(0xE8,0xB3,0x8E), - o3(0xE8,0xB7,0xB5), o3(0xE9,0x81,0xB8), - o3(0xE9,0x81,0xB7), o3(0xE9,0x8A,0xAD), - o3(0xE9,0x8A,0x91), o3(0xE9,0x96,0x83), - o3(0xE9,0xAE,0xAE), o3(0xE5,0x89,0x8D), - o3(0xE5,0x96,0x84), o3(0xE6,0xBC,0xB8), - o3(0xE7,0x84,0xB6), o3(0xE5,0x85,0xA8), - o3(0xE7,0xA6,0x85), o3(0xE7,0xB9,0x95), - o3(0xE8,0x86,0xB3), o3(0xE7,0xB3,0x8E), - o3(0xE5,0x99,0x8C), o3(0xE5,0xA1,0x91), - o3(0xE5,0xB2,0xA8), o3(0xE6,0x8E,0xAA), - o3(0xE6,0x9B,0xBE), o3(0xE6,0x9B,0xBD), - o3(0xE6,0xA5,0x9A), o3(0xE7,0x8B,0x99), - o3(0xE7,0x96,0x8F), o3(0xE7,0x96,0x8E), - o3(0xE7,0xA4,0x8E), o3(0xE7,0xA5,0x96), - o3(0xE7,0xA7,0x9F), o3(0xE7,0xB2,0x97), - o3(0xE7,0xB4,0xA0), o3(0xE7,0xB5,0x84), - o3(0xE8,0x98,0x87), o3(0xE8,0xA8,0xB4), - o3(0xE9,0x98,0xBB), o3(0xE9,0x81,0xA1), - o3(0xE9,0xBC,0xA0), o3(0xE5,0x83,0xA7), - o3(0xE5,0x89,0xB5), o3(0xE5,0x8F,0x8C), - o3(0xE5,0x8F,0xA2), o3(0xE5,0x80,0x89), - o3(0xE5,0x96,0xAA), o3(0xE5,0xA3,0xAE), - o3(0xE5,0xA5,0x8F), o3(0xE7,0x88,0xBD), - o3(0xE5,0xAE,0x8B), o3(0xE5,0xB1,0xA4), - o3(0xE5,0x8C,0x9D), o3(0xE6,0x83,0xA3), - o3(0xE6,0x83,0xB3), o3(0xE6,0x8D,0x9C), - o3(0xE6,0x8E,0x83), o3(0xE6,0x8C,0xBF), - o3(0xE6,0x8E,0xBB), o3(0xE6,0x93,0x8D), - o3(0xE6,0x97,0xA9), o3(0xE6,0x9B,0xB9), - o3(0xE5,0xB7,0xA3), o3(0xE6,0xA7,0x8D), - o3(0xE6,0xA7,0xBD), o3(0xE6,0xBC,0x95), - o3(0xE7,0x87,0xA5), o3(0xE4,0xBA,0x89), - o3(0xE7,0x97,0xA9), o3(0xE7,0x9B,0xB8), - o3(0xE7,0xAA,0x93), o3(0xE7,0xB3,0x9F), - o3(0xE7,0xB7,0x8F), o3(0xE7,0xB6,0x9C), - o3(0xE8,0x81,0xA1), o3(0xE8,0x8D,0x89), - o3(0xE8,0x8D,0x98), o3(0xE8,0x91,0xAC), - o3(0xE8,0x92,0xBC), o3(0xE8,0x97,0xBB), - o3(0xE8,0xA3,0x85), o3(0xE8,0xB5,0xB0), - o3(0xE9,0x80,0x81), o3(0xE9,0x81,0xAD), - o3(0xE9,0x8E,0x97), o3(0xE9,0x9C,0x9C), - o3(0xE9,0xA8,0x92), o3(0xE5,0x83,0x8F), - o3(0xE5,0xA2,0x97), o3(0xE6,0x86,0x8E), - o3(0xE8,0x87,0x93), o3(0xE8,0x94,0xB5), - o3(0xE8,0xB4,0x88), o3(0xE9,0x80,0xA0), - o3(0xE4,0xBF,0x83), o3(0xE5,0x81,0xB4), - o3(0xE5,0x89,0x87), o3(0xE5,0x8D,0xB3), - o3(0xE6,0x81,0xAF), o3(0xE6,0x8D,0x89), - o3(0xE6,0x9D,0x9F), o3(0xE6,0xB8,0xAC), - o3(0xE8,0xB6,0xB3), o3(0xE9,0x80,0x9F), - o3(0xE4,0xBF,0x97), o3(0xE5,0xB1,0x9E), - o3(0xE8,0xB3,0x8A), o3(0xE6,0x97,0x8F), - o3(0xE7,0xB6,0x9A), o3(0xE5,0x8D,0x92), - o3(0xE8,0xA2,0x96), o3(0xE5,0x85,0xB6), - o3(0xE6,0x8F,0x83), o3(0xE5,0xAD,0x98), - o3(0xE5,0xAD,0xAB), o3(0xE5,0xB0,0x8A), - o3(0xE6,0x90,0x8D), o3(0xE6,0x9D,0x91), - o3(0xE9,0x81,0x9C), o3(0xE4,0xBB,0x96), - o3(0xE5,0xA4,0x9A), o3(0xE5,0xA4,0xAA), - o3(0xE6,0xB1,0xB0), o3(0xE8,0xA9,0x91), - o3(0xE5,0x94,0xBE), o3(0xE5,0xA0,0x95), - o3(0xE5,0xA6,0xA5), o3(0xE6,0x83,0xB0), - o3(0xE6,0x89,0x93), o3(0xE6,0x9F,0x81), - o3(0xE8,0x88,0xB5), o3(0xE6,0xA5,0x95), - o3(0xE9,0x99,0x80), o3(0xE9,0xA7,0x84), - o3(0xE9,0xA8,0xA8), o3(0xE4,0xBD,0x93), - o3(0xE5,0xA0,0x86), o3(0xE5,0xAF,0xBE), - o3(0xE8,0x80,0x90), o3(0xE5,0xB2,0xB1), - o3(0xE5,0xB8,0xAF), o3(0xE5,0xBE,0x85), - o3(0xE6,0x80,0xA0), o3(0xE6,0x85,0x8B), - o3(0xE6,0x88,0xB4), o3(0xE6,0x9B,0xBF), - o3(0xE6,0xB3,0xB0), o3(0xE6,0xBB,0x9E), - o3(0xE8,0x83,0x8E), o3(0xE8,0x85,0xBF), - o3(0xE8,0x8B,0x94), o3(0xE8,0xA2,0x8B), - o3(0xE8,0xB2,0xB8), o3(0xE9,0x80,0x80), - o3(0xE9,0x80,0xAE), o3(0xE9,0x9A,0x8A), - o3(0xE9,0xBB,0x9B), o3(0xE9,0xAF,0x9B), - o3(0xE4,0xBB,0xA3), o3(0xE5,0x8F,0xB0), - o3(0xE5,0xA4,0xA7), o3(0xE7,0xAC,0xAC), - o3(0xE9,0x86,0x8D), o3(0xE9,0xA1,0x8C), - o3(0xE9,0xB7,0xB9), o3(0xE6,0xBB,0x9D), - o3(0xE7,0x80,0xA7), o3(0xE5,0x8D,0x93), - o3(0xE5,0x95,0x84), o3(0xE5,0xAE,0x85), - o3(0xE6,0x89,0x98), o3(0xE6,0x8A,0x9E), - o3(0xE6,0x8B,0x93), o3(0xE6,0xB2,0xA2), - o3(0xE6,0xBF,0xAF), o3(0xE7,0x90,0xA2), - o3(0xE8,0xA8,0x97), o3(0xE9,0x90,0xB8), - o3(0xE6,0xBF,0x81), o3(0xE8,0xAB,0xBE), - o3(0xE8,0x8C,0xB8), o3(0xE5,0x87,0xA7), - o3(0xE8,0x9B,0xB8), o3(0xE5,0x8F,0xAA), - UNDEF, -}; -static const BYTE_LOOKUP -from_SHIFT_JIS_91 = { - from_SHIFT_JIS_89_offsets, - from_SHIFT_JIS_91_infos -}; - -static const struct byte_lookup* const -from_SHIFT_JIS_92_infos[189] = { - o3(0xE5,0x8F,0xA9), o3(0xE4,0xBD,0x86), - o3(0xE9,0x81,0x94), o3(0xE8,0xBE,0xB0), - o3(0xE5,0xA5,0xAA), o3(0xE8,0x84,0xB1), - o3(0xE5,0xB7,0xBD), o3(0xE7,0xAB,0xAA), - o3(0xE8,0xBE,0xBF), o3(0xE6,0xA3,0x9A), - o3(0xE8,0xB0,0xB7), o3(0xE7,0x8B,0xB8), - o3(0xE9,0xB1,0x88), o3(0xE6,0xA8,0xBD), - o3(0xE8,0xAA,0xB0), o3(0xE4,0xB8,0xB9), - o3(0xE5,0x8D,0x98), o3(0xE5,0x98,0x86), - o3(0xE5,0x9D,0xA6), o3(0xE6,0x8B,0x85), - o3(0xE6,0x8E,0xA2), o3(0xE6,0x97,0xA6), - o3(0xE6,0xAD,0x8E), o3(0xE6,0xB7,0xA1), - o3(0xE6,0xB9,0x9B), o3(0xE7,0x82,0xAD), - o3(0xE7,0x9F,0xAD), o3(0xE7,0xAB,0xAF), - o3(0xE7,0xAE,0xAA), o3(0xE7,0xB6,0xBB), - o3(0xE8,0x80,0xBD), o3(0xE8,0x83,0x86), - o3(0xE8,0x9B,0x8B), o3(0xE8,0xAA,0x95), - o3(0xE9,0x8D,0x9B), o3(0xE5,0x9B,0xA3), - o3(0xE5,0xA3,0x87), o3(0xE5,0xBC,0xBE), - o3(0xE6,0x96,0xAD), o3(0xE6,0x9A,0x96), - o3(0xE6,0xAA,0x80), o3(0xE6,0xAE,0xB5), - o3(0xE7,0x94,0xB7), o3(0xE8,0xAB,0x87), - o3(0xE5,0x80,0xA4), o3(0xE7,0x9F,0xA5), - o3(0xE5,0x9C,0xB0), o3(0xE5,0xBC,0x9B), - o3(0xE6,0x81,0xA5), o3(0xE6,0x99,0xBA), - o3(0xE6,0xB1,0xA0), o3(0xE7,0x97,0xB4), - o3(0xE7,0xA8,0x9A), o3(0xE7,0xBD,0xAE), - o3(0xE8,0x87,0xB4), o3(0xE8,0x9C,0x98), - o3(0xE9,0x81,0x85), o3(0xE9,0xA6,0xB3), - o3(0xE7,0xAF,0x89), o3(0xE7,0x95,0x9C), - o3(0xE7,0xAB,0xB9), o3(0xE7,0xAD,0x91), - o3(0xE8,0x93,0x84), o3(0xE9,0x80,0x90), - o3(0xE7,0xA7,0xA9), o3(0xE7,0xAA,0x92), - o3(0xE8,0x8C,0xB6), o3(0xE5,0xAB,0xA1), - o3(0xE7,0x9D,0x80), o3(0xE4,0xB8,0xAD), - o3(0xE4,0xBB,0xB2), o3(0xE5,0xAE,0x99), - o3(0xE5,0xBF,0xA0), o3(0xE6,0x8A,0xBD), - o3(0xE6,0x98,0xBC), o3(0xE6,0x9F,0xB1), - o3(0xE6,0xB3,0xA8), o3(0xE8,0x99,0xAB), - o3(0xE8,0xA1,0xB7), o3(0xE8,0xA8,0xBB), - o3(0xE9,0x85,0x8E), o3(0xE9,0x8B,0xB3), - o3(0xE9,0xA7,0x90), o3(0xE6,0xA8,0x97), - o3(0xE7,0x80,0xA6), o3(0xE7,0x8C,0xAA), - o3(0xE8,0x8B,0xA7), o3(0xE8,0x91,0x97), - o3(0xE8,0xB2,0xAF), o3(0xE4,0xB8,0x81), - o3(0xE5,0x85,0x86), o3(0xE5,0x87,0x8B), - o3(0xE5,0x96,0x8B), o3(0xE5,0xAF,0xB5), - o3(0xE5,0xB8,0x96), o3(0xE5,0xB8,0xB3), - o3(0xE5,0xBA,0x81), o3(0xE5,0xBC,0x94), - o3(0xE5,0xBC,0xB5), o3(0xE5,0xBD,0xAB), - o3(0xE5,0xBE,0xB4), o3(0xE6,0x87,0xB2), - o3(0xE6,0x8C,0x91), o3(0xE6,0x9A,0xA2), - o3(0xE6,0x9C,0x9D), o3(0xE6,0xBD,0xAE), - o3(0xE7,0x89,0x92), o3(0xE7,0x94,0xBA), - o3(0xE7,0x9C,0xBA), o3(0xE8,0x81,0xB4), - o3(0xE8,0x84,0xB9), o3(0xE8,0x85,0xB8), - o3(0xE8,0x9D,0xB6), o3(0xE8,0xAA,0xBF), - o3(0xE8,0xAB,0x9C), o3(0xE8,0xB6,0x85), - o3(0xE8,0xB7,0xB3), o3(0xE9,0x8A,0x9A), - o3(0xE9,0x95,0xB7), o3(0xE9,0xA0,0x82), - o3(0xE9,0xB3,0xA5), o3(0xE5,0x8B,0x85), - o3(0xE6,0x8D,0x97), o3(0xE7,0x9B,0xB4), - o3(0xE6,0x9C,0x95), o3(0xE6,0xB2,0x88), - o3(0xE7,0x8F,0x8D), o3(0xE8,0xB3,0x83), - o3(0xE9,0x8E,0xAE), o3(0xE9,0x99,0xB3), - o3(0xE6,0xB4,0xA5), o3(0xE5,0xA2,0x9C), - o3(0xE6,0xA4,0x8E), o3(0xE6,0xA7,0x8C), - o3(0xE8,0xBF,0xBD), o3(0xE9,0x8E,0x9A), - o3(0xE7,0x97,0x9B), o3(0xE9,0x80,0x9A), - o3(0xE5,0xA1,0x9A), o3(0xE6,0xA0,0x82), - o3(0xE6,0x8E,0xB4), o3(0xE6,0xA7,0xBB), - o3(0xE4,0xBD,0x83), o3(0xE6,0xBC,0xAC), - o3(0xE6,0x9F,0x98), o3(0xE8,0xBE,0xBB), - o3(0xE8,0x94,0xA6), o3(0xE7,0xB6,0xB4), - o3(0xE9,0x8D,0x94), o3(0xE6,0xA4,0xBF), - o3(0xE6,0xBD,0xB0), o3(0xE5,0x9D,0xAA), - o3(0xE5,0xA3,0xB7), o3(0xE5,0xAC,0xAC), - o3(0xE7,0xB4,0xAC), o3(0xE7,0x88,0xAA), - o3(0xE5,0x90,0x8A), o3(0xE9,0x87,0xA3), - o3(0xE9,0xB6,0xB4), o3(0xE4,0xBA,0xAD), - o3(0xE4,0xBD,0x8E), o3(0xE5,0x81,0x9C), - o3(0xE5,0x81,0xB5), o3(0xE5,0x89,0x83), - o3(0xE8,0xB2,0x9E), o3(0xE5,0x91,0x88), - o3(0xE5,0xA0,0xA4), o3(0xE5,0xAE,0x9A), - o3(0xE5,0xB8,0x9D), o3(0xE5,0xBA,0x95), - o3(0xE5,0xBA,0xAD), o3(0xE5,0xBB,0xB7), - o3(0xE5,0xBC,0x9F), o3(0xE6,0x82,0x8C), - o3(0xE6,0x8A,0xB5), o3(0xE6,0x8C,0xBA), - o3(0xE6,0x8F,0x90), o3(0xE6,0xA2,0xAF), - o3(0xE6,0xB1,0x80), o3(0xE7,0xA2,0x87), - o3(0xE7,0xA6,0x8E), o3(0xE7,0xA8,0x8B), - o3(0xE7,0xB7,0xA0), o3(0xE8,0x89,0x87), - o3(0xE8,0xA8,0x82), o3(0xE8,0xAB,0xA6), - o3(0xE8,0xB9,0x84), o3(0xE9,0x80,0x93), - UNDEF, -}; -static const BYTE_LOOKUP -from_SHIFT_JIS_92 = { - from_SHIFT_JIS_89_offsets, - from_SHIFT_JIS_92_infos -}; - -static const struct byte_lookup* const -from_SHIFT_JIS_93_infos[189] = { - o3(0xE9,0x82,0xB8), o3(0xE9,0x84,0xAD), - o3(0xE9,0x87,0x98), o3(0xE9,0xBC,0x8E), - o3(0xE6,0xB3,0xA5), o3(0xE6,0x91,0x98), - o3(0xE6,0x93,0xA2), o3(0xE6,0x95,0xB5), - o3(0xE6,0xBB,0xB4), o3(0xE7,0x9A,0x84), - o3(0xE7,0xAC,0x9B), o3(0xE9,0x81,0xA9), - o3(0xE9,0x8F,0x91), o3(0xE6,0xBA,0xBA), - o3(0xE5,0x93,0xB2), o3(0xE5,0xBE,0xB9), - o3(0xE6,0x92,0xA4), o3(0xE8,0xBD,0x8D), - o3(0xE8,0xBF,0xAD), o3(0xE9,0x89,0x84), - o3(0xE5,0x85,0xB8), o3(0xE5,0xA1,0xAB), - o3(0xE5,0xA4,0xA9), o3(0xE5,0xB1,0x95), - o3(0xE5,0xBA,0x97), o3(0xE6,0xB7,0xBB), - o3(0xE7,0xBA,0x8F), o3(0xE7,0x94,0x9C), - o3(0xE8,0xB2,0xBC), o3(0xE8,0xBB,0xA2), - o3(0xE9,0xA1,0x9B), o3(0xE7,0x82,0xB9), - o3(0xE4,0xBC,0x9D), o3(0xE6,0xAE,0xBF), - o3(0xE6,0xBE,0xB1), o3(0xE7,0x94,0xB0), - o3(0xE9,0x9B,0xBB), o3(0xE5,0x85,0x8E), - o3(0xE5,0x90,0x90), o3(0xE5,0xA0,0xB5), - o3(0xE5,0xA1,0x97), o3(0xE5,0xA6,0xAC), - o3(0xE5,0xB1,0xA0), o3(0xE5,0xBE,0x92), - o3(0xE6,0x96,0x97), o3(0xE6,0x9D,0x9C), - o3(0xE6,0xB8,0xA1), o3(0xE7,0x99,0xBB), - o3(0xE8,0x8F,0x9F), o3(0xE8,0xB3,0xAD), - o3(0xE9,0x80,0x94), o3(0xE9,0x83,0xBD), - o3(0xE9,0x8D,0x8D), o3(0xE7,0xA0,0xA5), - o3(0xE7,0xA0,0xBA), o3(0xE5,0x8A,0xAA), - o3(0xE5,0xBA,0xA6), o3(0xE5,0x9C,0x9F), - o3(0xE5,0xA5,0xB4), o3(0xE6,0x80,0x92), - o3(0xE5,0x80,0x92), o3(0xE5,0x85,0x9A), - o3(0xE5,0x86,0xAC), o3(0xE5,0x87,0x8D), - o3(0xE5,0x88,0x80), o3(0xE5,0x94,0x90), - o3(0xE5,0xA1,0x94), o3(0xE5,0xA1,0x98), - o3(0xE5,0xA5,0x97), o3(0xE5,0xAE,0x95), - o3(0xE5,0xB3,0xB6), o3(0xE5,0xB6,0x8B), - o3(0xE6,0x82,0xBC), o3(0xE6,0x8A,0x95), - o3(0xE6,0x90,0xAD), o3(0xE6,0x9D,0xB1), - o3(0xE6,0xA1,0x83), o3(0xE6,0xA2,0xBC), - o3(0xE6,0xA3,0x9F), o3(0xE7,0x9B,0x97), - o3(0xE6,0xB7,0x98), o3(0xE6,0xB9,0xAF), - o3(0xE6,0xB6,0x9B), o3(0xE7,0x81,0xAF), - o3(0xE7,0x87,0x88), o3(0xE5,0xBD,0x93), - o3(0xE7,0x97,0x98), o3(0xE7,0xA5,0xB7), - o3(0xE7,0xAD,0x89), o3(0xE7,0xAD,0x94), - o3(0xE7,0xAD,0x92), o3(0xE7,0xB3,0x96), - o3(0xE7,0xB5,0xB1), o3(0xE5,0x88,0xB0), - o3(0xE8,0x91,0xA3), o3(0xE8,0x95,0xA9), - o3(0xE8,0x97,0xA4), o3(0xE8,0xA8,0x8E), - o3(0xE8,0xAC,0x84), o3(0xE8,0xB1,0x86), - o3(0xE8,0xB8,0x8F), o3(0xE9,0x80,0x83), - o3(0xE9,0x80,0x8F), o3(0xE9,0x90,0x99), - o3(0xE9,0x99,0xB6), o3(0xE9,0xA0,0xAD), - o3(0xE9,0xA8,0xB0), o3(0xE9,0x97,0x98), - o3(0xE5,0x83,0x8D), o3(0xE5,0x8B,0x95), - o3(0xE5,0x90,0x8C), o3(0xE5,0xA0,0x82), - o3(0xE5,0xB0,0x8E), o3(0xE6,0x86,0xA7), - o3(0xE6,0x92,0x9E), o3(0xE6,0xB4,0x9E), - o3(0xE7,0x9E,0xB3), o3(0xE7,0xAB,0xA5), - o3(0xE8,0x83,0xB4), o3(0xE8,0x90,0x84), - o3(0xE9,0x81,0x93), o3(0xE9,0x8A,0x85), - o3(0xE5,0xB3,0xA0), o3(0xE9,0xB4,0x87), - o3(0xE5,0x8C,0xBF), o3(0xE5,0xBE,0x97), - o3(0xE5,0xBE,0xB3), o3(0xE6,0xB6,0x9C), - o3(0xE7,0x89,0xB9), o3(0xE7,0x9D,0xA3), - o3(0xE7,0xA6,0xBF), o3(0xE7,0xAF,0xA4), - o3(0xE6,0xAF,0x92), o3(0xE7,0x8B,0xAC), - o3(0xE8,0xAA,0xAD), o3(0xE6,0xA0,0x83), - o3(0xE6,0xA9,0xA1), o3(0xE5,0x87,0xB8), - o3(0xE7,0xAA,0x81), o3(0xE6,0xA4,0xB4), - o3(0xE5,0xB1,0x8A), o3(0xE9,0xB3,0xB6), - o3(0xE8,0x8B,0xAB), o3(0xE5,0xAF,0x85), - o3(0xE9,0x85,0x89), o3(0xE7,0x80,0x9E), - o3(0xE5,0x99,0xB8), o3(0xE5,0xB1,0xAF), - o3(0xE6,0x83,0x87), o3(0xE6,0x95,0xA6), - o3(0xE6,0xB2,0x8C), o3(0xE8,0xB1,0x9A), - o3(0xE9,0x81,0x81), o3(0xE9,0xA0,0x93), - o3(0xE5,0x91,0x91), o3(0xE6,0x9B,0x87), - o3(0xE9,0x88,0x8D), o3(0xE5,0xA5,0x88), - o3(0xE9,0x82,0xA3), o3(0xE5,0x86,0x85), - o3(0xE4,0xB9,0x8D), o3(0xE5,0x87,0xAA), - o3(0xE8,0x96,0x99), o3(0xE8,0xAC,0x8E), - o3(0xE7,0x81,0x98), o3(0xE6,0x8D,0xBA), - o3(0xE9,0x8D,0x8B), o3(0xE6,0xA5,0xA2), - o3(0xE9,0xA6,0xB4), o3(0xE7,0xB8,0x84), - o3(0xE7,0x95,0xB7), o3(0xE5,0x8D,0x97), - o3(0xE6,0xA5,0xA0), o3(0xE8,0xBB,0x9F), - o3(0xE9,0x9B,0xA3), o3(0xE6,0xB1,0x9D), - o3(0xE4,0xBA,0x8C), o3(0xE5,0xB0,0xBC), - o3(0xE5,0xBC,0x90), o3(0xE8,0xBF,0xA9), - o3(0xE5,0x8C,0x82), o3(0xE8,0xB3,0x91), - o3(0xE8,0x82,0x89), o3(0xE8,0x99,0xB9), - o3(0xE5,0xBB,0xBF), o3(0xE6,0x97,0xA5), - o3(0xE4,0xB9,0xB3), o3(0xE5,0x85,0xA5), - UNDEF, -}; -static const BYTE_LOOKUP -from_SHIFT_JIS_93 = { - from_SHIFT_JIS_89_offsets, - from_SHIFT_JIS_93_infos -}; - -static const struct byte_lookup* const -from_SHIFT_JIS_94_infos[189] = { - o3(0xE5,0xA6,0x82), o3(0xE5,0xB0,0xBF), - o3(0xE9,0x9F,0xAE), o3(0xE4,0xBB,0xBB), - o3(0xE5,0xA6,0x8A), o3(0xE5,0xBF,0x8D), - o3(0xE8,0xAA,0x8D), o3(0xE6,0xBF,0xA1), - o3(0xE7,0xA6,0xB0), o3(0xE7,0xA5,0xA2), - o3(0xE5,0xAF,0xA7), o3(0xE8,0x91,0xB1), - o3(0xE7,0x8C,0xAB), o3(0xE7,0x86,0xB1), - o3(0xE5,0xB9,0xB4), o3(0xE5,0xBF,0xB5), - o3(0xE6,0x8D,0xBB), o3(0xE6,0x92,0x9A), - o3(0xE7,0x87,0x83), o3(0xE7,0xB2,0x98), - o3(0xE4,0xB9,0x83), o3(0xE5,0xBB,0xBC), - o3(0xE4,0xB9,0x8B), o3(0xE5,0x9F,0x9C), - o3(0xE5,0x9A,0xA2), o3(0xE6,0x82,0xA9), - o3(0xE6,0xBF,0x83), o3(0xE7,0xB4,0x8D), - o3(0xE8,0x83,0xBD), o3(0xE8,0x84,0xB3), - o3(0xE8,0x86,0xBF), o3(0xE8,0xBE,0xB2), - o3(0xE8,0xA6,0x97), o3(0xE8,0x9A,0xA4), - o3(0xE5,0xB7,0xB4), o3(0xE6,0x8A,0x8A), - o3(0xE6,0x92,0xAD), o3(0xE8,0xA6,0x87), - o3(0xE6,0x9D,0xB7), o3(0xE6,0xB3,0xA2), - o3(0xE6,0xB4,0xBE), o3(0xE7,0x90,0xB6), - o3(0xE7,0xA0,0xB4), o3(0xE5,0xA9,0x86), - o3(0xE7,0xBD,0xB5), o3(0xE8,0x8A,0xAD), - o3(0xE9,0xA6,0xAC), o3(0xE4,0xBF,0xB3), - o3(0xE5,0xBB,0x83), o3(0xE6,0x8B,0x9D), - o3(0xE6,0x8E,0x92), o3(0xE6,0x95,0x97), - o3(0xE6,0x9D,0xAF), o3(0xE7,0x9B,0x83), - o3(0xE7,0x89,0x8C), o3(0xE8,0x83,0x8C), - o3(0xE8,0x82,0xBA), o3(0xE8,0xBC,0xA9), - o3(0xE9,0x85,0x8D), o3(0xE5,0x80,0x8D), - o3(0xE5,0x9F,0xB9), o3(0xE5,0xAA,0x92), - o3(0xE6,0xA2,0x85), o3(0xE6,0xA5,0xB3), - o3(0xE7,0x85,0xA4), o3(0xE7,0x8B,0xBD), - o3(0xE8,0xB2,0xB7), o3(0xE5,0xA3,0xB2), - o3(0xE8,0xB3,0xA0), o3(0xE9,0x99,0xAA), - o3(0xE9,0x80,0x99), o3(0xE8,0x9D,0xBF), - o3(0xE7,0xA7,0xA4), o3(0xE7,0x9F,0xA7), - o3(0xE8,0x90,0xA9), o3(0xE4,0xBC,0xAF), - o3(0xE5,0x89,0xA5), o3(0xE5,0x8D,0x9A), - o3(0xE6,0x8B,0x8D), o3(0xE6,0x9F,0x8F), - o3(0xE6,0xB3,0x8A), o3(0xE7,0x99,0xBD), - o3(0xE7,0xAE,0x94), o3(0xE7,0xB2,0x95), - o3(0xE8,0x88,0xB6), o3(0xE8,0x96,0x84), - o3(0xE8,0xBF,0xAB), o3(0xE6,0x9B,0x9D), - o3(0xE6,0xBC,0xA0), o3(0xE7,0x88,0x86), - o3(0xE7,0xB8,0x9B), o3(0xE8,0x8E,0xAB), - o3(0xE9,0xA7,0x81), o3(0xE9,0xBA,0xA6), - o3(0xE5,0x87,0xBD), o3(0xE7,0xAE,0xB1), - o3(0xE7,0xA1,0xB2), o3(0xE7,0xAE,0xB8), - o3(0xE8,0x82,0x87), o3(0xE7,0xAD,0x88), - o3(0xE6,0xAB,0xA8), o3(0xE5,0xB9,0xA1), - o3(0xE8,0x82,0x8C), o3(0xE7,0x95,0x91), - o3(0xE7,0x95,0xA0), o3(0xE5,0x85,0xAB), - o3(0xE9,0x89,0xA2), o3(0xE6,0xBA,0x8C), - o3(0xE7,0x99,0xBA), o3(0xE9,0x86,0x97), - o3(0xE9,0xAB,0xAA), o3(0xE4,0xBC,0x90), - o3(0xE7,0xBD,0xB0), o3(0xE6,0x8A,0x9C), - o3(0xE7,0xAD,0x8F), o3(0xE9,0x96,0xA5), - o3(0xE9,0xB3,0xA9), o3(0xE5,0x99,0xBA), - o3(0xE5,0xA1,0x99), o3(0xE8,0x9B,0xA4), - o3(0xE9,0x9A,0xBC), o3(0xE4,0xBC,0xB4), - o3(0xE5,0x88,0xA4), o3(0xE5,0x8D,0x8A), - o3(0xE5,0x8F,0x8D), o3(0xE5,0x8F,0x9B), - o3(0xE5,0xB8,0x86), o3(0xE6,0x90,0xAC), - o3(0xE6,0x96,0x91), o3(0xE6,0x9D,0xBF), - o3(0xE6,0xB0,0xBE), o3(0xE6,0xB1,0x8E), - o3(0xE7,0x89,0x88), o3(0xE7,0x8A,0xAF), - o3(0xE7,0x8F,0xAD), o3(0xE7,0x95,0x94), - o3(0xE7,0xB9,0x81), o3(0xE8,0x88,0xAC), - o3(0xE8,0x97,0xA9), o3(0xE8,0xB2,0xA9), - o3(0xE7,0xAF,0x84), o3(0xE9,0x87,0x86), - o3(0xE7,0x85,0xA9), o3(0xE9,0xA0,0x92), - o3(0xE9,0xA3,0xAF), o3(0xE6,0x8C,0xBD), - o3(0xE6,0x99,0xA9), o3(0xE7,0x95,0xAA), - o3(0xE7,0x9B,0xA4), o3(0xE7,0xA3,0x90), - o3(0xE8,0x95,0x83), o3(0xE8,0x9B,0xAE), - o3(0xE5,0x8C,0xAA), o3(0xE5,0x8D,0x91), - o3(0xE5,0x90,0xA6), o3(0xE5,0xA6,0x83), - o3(0xE5,0xBA,0x87), o3(0xE5,0xBD,0xBC), - o3(0xE6,0x82,0xB2), o3(0xE6,0x89,0x89), - o3(0xE6,0x89,0xB9), o3(0xE6,0x8A,0xAB), - o3(0xE6,0x96,0x90), o3(0xE6,0xAF,0x94), - o3(0xE6,0xB3,0x8C), o3(0xE7,0x96,0xB2), - o3(0xE7,0x9A,0xAE), o3(0xE7,0xA2,0x91), - o3(0xE7,0xA7,0x98), o3(0xE7,0xB7,0x8B), - o3(0xE7,0xBD,0xB7), o3(0xE8,0x82,0xA5), - o3(0xE8,0xA2,0xAB), o3(0xE8,0xAA,0xB9), - o3(0xE8,0xB2,0xBB), o3(0xE9,0x81,0xBF), - o3(0xE9,0x9D,0x9E), o3(0xE9,0xA3,0x9B), - o3(0xE6,0xA8,0x8B), o3(0xE7,0xB0,0xB8), - o3(0xE5,0x82,0x99), o3(0xE5,0xB0,0xBE), - o3(0xE5,0xBE,0xAE), o3(0xE6,0x9E,0x87), - o3(0xE6,0xAF,0x98), o3(0xE7,0x90,0xB5), - o3(0xE7,0x9C,0x89), o3(0xE7,0xBE,0x8E), - UNDEF, -}; -static const BYTE_LOOKUP -from_SHIFT_JIS_94 = { - from_SHIFT_JIS_89_offsets, - from_SHIFT_JIS_94_infos -}; - -static const struct byte_lookup* const -from_SHIFT_JIS_95_infos[189] = { - o3(0xE9,0xBC,0xBB), o3(0xE6,0x9F,0x8A), - o3(0xE7,0xA8,0x97), o3(0xE5,0x8C,0xB9), - o3(0xE7,0x96,0x8B), o3(0xE9,0xAB,0xAD), - o3(0xE5,0xBD,0xA6), o3(0xE8,0x86,0x9D), - o3(0xE8,0x8F,0xB1), o3(0xE8,0x82,0x98), - o3(0xE5,0xBC,0xBC), o3(0xE5,0xBF,0x85), - o3(0xE7,0x95,0xA2), o3(0xE7,0xAD,0x86), - o3(0xE9,0x80,0xBC), o3(0xE6,0xA1,0xA7), - o3(0xE5,0xA7,0xAB), o3(0xE5,0xAA,0x9B), - o3(0xE7,0xB4,0x90), o3(0xE7,0x99,0xBE), - o3(0xE8,0xAC,0xAC), o3(0xE4,0xBF,0xB5), - o3(0xE5,0xBD,0xAA), o3(0xE6,0xA8,0x99), - o3(0xE6,0xB0,0xB7), o3(0xE6,0xBC,0x82), - o3(0xE7,0x93,0xA2), o3(0xE7,0xA5,0xA8), - o3(0xE8,0xA1,0xA8), o3(0xE8,0xA9,0x95), - o3(0xE8,0xB1,0xB9), o3(0xE5,0xBB,0x9F), - o3(0xE6,0x8F,0x8F), o3(0xE7,0x97,0x85), - o3(0xE7,0xA7,0x92), o3(0xE8,0x8B,0x97), - o3(0xE9,0x8C,0xA8), o3(0xE9,0x8B,0xB2), - o3(0xE8,0x92,0x9C), o3(0xE8,0x9B,0xAD), - o3(0xE9,0xB0,0xAD), o3(0xE5,0x93,0x81), - o3(0xE5,0xBD,0xAC), o3(0xE6,0x96,0x8C), - o3(0xE6,0xB5,0x9C), o3(0xE7,0x80,0x95), - o3(0xE8,0xB2,0xA7), o3(0xE8,0xB3,0x93), - o3(0xE9,0xA0,0xBB), o3(0xE6,0x95,0x8F), - o3(0xE7,0x93,0xB6), o3(0xE4,0xB8,0x8D), - o3(0xE4,0xBB,0x98), o3(0xE5,0x9F,0xA0), - o3(0xE5,0xA4,0xAB), o3(0xE5,0xA9,0xA6), - o3(0xE5,0xAF,0x8C), o3(0xE5,0x86,0xA8), - o3(0xE5,0xB8,0x83), o3(0xE5,0xBA,0x9C), - o3(0xE6,0x80,0x96), o3(0xE6,0x89,0xB6), - o3(0xE6,0x95,0xB7), o3(0xE6,0x96,0xA7), - o3(0xE6,0x99,0xAE), o3(0xE6,0xB5,0xAE), - o3(0xE7,0x88,0xB6), o3(0xE7,0xAC,0xA6), - o3(0xE8,0x85,0x90), o3(0xE8,0x86,0x9A), - o3(0xE8,0x8A,0x99), o3(0xE8,0xAD,0x9C), - o3(0xE8,0xB2,0xA0), o3(0xE8,0xB3,0xA6), - o3(0xE8,0xB5,0xB4), o3(0xE9,0x98,0x9C), - o3(0xE9,0x99,0x84), o3(0xE4,0xBE,0xAE), - o3(0xE6,0x92,0xAB), o3(0xE6,0xAD,0xA6), - o3(0xE8,0x88,0x9E), o3(0xE8,0x91,0xA1), - o3(0xE8,0x95,0xAA), o3(0xE9,0x83,0xA8), - o3(0xE5,0xB0,0x81), o3(0xE6,0xA5,0x93), - o3(0xE9,0xA2,0xA8), o3(0xE8,0x91,0xBA), - o3(0xE8,0x95,0x97), o3(0xE4,0xBC,0x8F), - o3(0xE5,0x89,0xAF), o3(0xE5,0xBE,0xA9), - o3(0xE5,0xB9,0x85), o3(0xE6,0x9C,0x8D), - o3(0xE7,0xA6,0x8F), o3(0xE8,0x85,0xB9), - o3(0xE8,0xA4,0x87), o3(0xE8,0xA6,0x86), - o3(0xE6,0xB7,0xB5), o3(0xE5,0xBC,0x97), - o3(0xE6,0x89,0x95), o3(0xE6,0xB2,0xB8), - o3(0xE4,0xBB,0x8F), o3(0xE7,0x89,0xA9), - o3(0xE9,0xAE,0x92), o3(0xE5,0x88,0x86), - o3(0xE5,0x90,0xBB), o3(0xE5,0x99,0xB4), - o3(0xE5,0xA2,0xB3), o3(0xE6,0x86,0xA4), - o3(0xE6,0x89,0xAE), o3(0xE7,0x84,0x9A), - o3(0xE5,0xA5,0xAE), o3(0xE7,0xB2,0x89), - o3(0xE7,0xB3,0x9E), o3(0xE7,0xB4,0x9B), - o3(0xE9,0x9B,0xB0), o3(0xE6,0x96,0x87), - o3(0xE8,0x81,0x9E), o3(0xE4,0xB8,0x99), - o3(0xE4,0xBD,0xB5), o3(0xE5,0x85,0xB5), - o3(0xE5,0xA1,0x80), o3(0xE5,0xB9,0xA3), - o3(0xE5,0xB9,0xB3), o3(0xE5,0xBC,0x8A), - o3(0xE6,0x9F,0x84), o3(0xE4,0xB8,0xA6), - o3(0xE8,0x94,0xBD), o3(0xE9,0x96,0x89), - o3(0xE9,0x99,0x9B), o3(0xE7,0xB1,0xB3), - o3(0xE9,0xA0,0x81), o3(0xE5,0x83,0xBB), - o3(0xE5,0xA3,0x81), o3(0xE7,0x99,0x96), - o3(0xE7,0xA2,0xA7), o3(0xE5,0x88,0xA5), - o3(0xE7,0x9E,0xA5), o3(0xE8,0x94,0x91), - o3(0xE7,0xAE,0x86), o3(0xE5,0x81,0x8F), - o3(0xE5,0xA4,0x89), o3(0xE7,0x89,0x87), - o3(0xE7,0xAF,0x87), o3(0xE7,0xB7,0xA8), - o3(0xE8,0xBE,0xBA), o3(0xE8,0xBF,0x94), - o3(0xE9,0x81,0x8D), o3(0xE4,0xBE,0xBF), - o3(0xE5,0x8B,0x89), o3(0xE5,0xA8,0xA9), - o3(0xE5,0xBC,0x81), o3(0xE9,0x9E,0xAD), - o3(0xE4,0xBF,0x9D), o3(0xE8,0x88,0x97), - o3(0xE9,0x8B,0xAA), o3(0xE5,0x9C,0x83), - o3(0xE6,0x8D,0x95), o3(0xE6,0xAD,0xA9), - o3(0xE7,0x94,0xAB), o3(0xE8,0xA3,0x9C), - o3(0xE8,0xBC,0x94), o3(0xE7,0xA9,0x82), - o3(0xE5,0x8B,0x9F), o3(0xE5,0xA2,0x93), - o3(0xE6,0x85,0x95), o3(0xE6,0x88,0x8A), - o3(0xE6,0x9A,0xAE), o3(0xE6,0xAF,0x8D), - o3(0xE7,0xB0,0xBF), o3(0xE8,0x8F,0xA9), - o3(0xE5,0x80,0xA3), o3(0xE4,0xBF,0xB8), - o3(0xE5,0x8C,0x85), o3(0xE5,0x91,0x86), - o3(0xE5,0xA0,0xB1), o3(0xE5,0xA5,0x89), - o3(0xE5,0xAE,0x9D), o3(0xE5,0xB3,0xB0), - o3(0xE5,0xB3,0xAF), o3(0xE5,0xB4,0xA9), - o3(0xE5,0xBA,0x96), o3(0xE6,0x8A,0xB1), - o3(0xE6,0x8D,0xA7), o3(0xE6,0x94,0xBE), - o3(0xE6,0x96,0xB9), o3(0xE6,0x9C,0x8B), - UNDEF, -}; -static const BYTE_LOOKUP -from_SHIFT_JIS_95 = { - from_SHIFT_JIS_89_offsets, - from_SHIFT_JIS_95_infos -}; - -static const struct byte_lookup* const -from_SHIFT_JIS_96_infos[189] = { - o3(0xE6,0xB3,0x95), o3(0xE6,0xB3,0xA1), - o3(0xE7,0x83,0xB9), o3(0xE7,0xA0,0xB2), - o3(0xE7,0xB8,0xAB), o3(0xE8,0x83,0x9E), - o3(0xE8,0x8A,0xB3), o3(0xE8,0x90,0x8C), - o3(0xE8,0x93,0xAC), o3(0xE8,0x9C,0x82), - o3(0xE8,0xA4,0x92), o3(0xE8,0xA8,0xAA), - o3(0xE8,0xB1,0x8A), o3(0xE9,0x82,0xA6), - o3(0xE9,0x8B,0x92), o3(0xE9,0xA3,0xBD), - o3(0xE9,0xB3,0xB3), o3(0xE9,0xB5,0xAC), - o3(0xE4,0xB9,0x8F), o3(0xE4,0xBA,0xA1), - o3(0xE5,0x82,0x8D), o3(0xE5,0x89,0x96), - o3(0xE5,0x9D,0x8A), o3(0xE5,0xA6,0xA8), - o3(0xE5,0xB8,0xBD), o3(0xE5,0xBF,0x98), - o3(0xE5,0xBF,0x99), o3(0xE6,0x88,0xBF), - o3(0xE6,0x9A,0xB4), o3(0xE6,0x9C,0x9B), - o3(0xE6,0x9F,0x90), o3(0xE6,0xA3,0x92), - o3(0xE5,0x86,0x92), o3(0xE7,0xB4,0xA1), - o3(0xE8,0x82,0xAA), o3(0xE8,0x86,0xA8), - o3(0xE8,0xAC,0x80), o3(0xE8,0xB2,0x8C), - o3(0xE8,0xB2,0xBF), o3(0xE9,0x89,0xBE), - o3(0xE9,0x98,0xB2), o3(0xE5,0x90,0xA0), - o3(0xE9,0xA0,0xAC), o3(0xE5,0x8C,0x97), - o3(0xE5,0x83,0x95), o3(0xE5,0x8D,0x9C), - o3(0xE5,0xA2,0xA8), o3(0xE6,0x92,0xB2), - o3(0xE6,0x9C,0xB4), o3(0xE7,0x89,0xA7), - o3(0xE7,0x9D,0xA6), o3(0xE7,0xA9,0x86), - o3(0xE9,0x87,0xA6), o3(0xE5,0x8B,0x83), - o3(0xE6,0xB2,0xA1), o3(0xE6,0xAE,0x86), - o3(0xE5,0xA0,0x80), o3(0xE5,0xB9,0x8C), - o3(0xE5,0xA5,0x94), o3(0xE6,0x9C,0xAC), - o3(0xE7,0xBF,0xBB), o3(0xE5,0x87,0xA1), - o3(0xE7,0x9B,0x86), o3(0xE6,0x91,0xA9), - o3(0xE7,0xA3,0xA8), o3(0xE9,0xAD,0x94), - o3(0xE9,0xBA,0xBB), o3(0xE5,0x9F,0x8B), - o3(0xE5,0xA6,0xB9), o3(0xE6,0x98,0xA7), - o3(0xE6,0x9E,0x9A), o3(0xE6,0xAF,0x8E), - o3(0xE5,0x93,0xA9), o3(0xE6,0xA7,0x99), - o3(0xE5,0xB9,0x95), o3(0xE8,0x86,0x9C), - o3(0xE6,0x9E,0x95), o3(0xE9,0xAE,0xAA), - o3(0xE6,0x9F,0xBE), o3(0xE9,0xB1,0x92), - o3(0xE6,0xA1,0x9D), o3(0xE4,0xBA,0xA6), - o3(0xE4,0xBF,0xA3), o3(0xE5,0x8F,0x88), - o3(0xE6,0x8A,0xB9), o3(0xE6,0x9C,0xAB), - o3(0xE6,0xB2,0xAB), o3(0xE8,0xBF,0x84), - o3(0xE4,0xBE,0xAD), o3(0xE7,0xB9,0xAD), - o3(0xE9,0xBA,0xBF), o3(0xE4,0xB8,0x87), - o3(0xE6,0x85,0xA2), o3(0xE6,0xBA,0x80), - o3(0xE6,0xBC,0xAB), o3(0xE8,0x94,0x93), - o3(0xE5,0x91,0xB3), o3(0xE6,0x9C,0xAA), - o3(0xE9,0xAD,0x85), o3(0xE5,0xB7,0xB3), - o3(0xE7,0xAE,0x95), o3(0xE5,0xB2,0xAC), - o3(0xE5,0xAF,0x86), o3(0xE8,0x9C,0x9C), - o3(0xE6,0xB9,0x8A), o3(0xE8,0x93,0x91), - o3(0xE7,0xA8,0x94), o3(0xE8,0x84,0x88), - o3(0xE5,0xA6,0x99), o3(0xE7,0xB2,0x8D), - o3(0xE6,0xB0,0x91), o3(0xE7,0x9C,0xA0), - o3(0xE5,0x8B,0x99), o3(0xE5,0xA4,0xA2), - o3(0xE7,0x84,0xA1), o3(0xE7,0x89,0x9F), - o3(0xE7,0x9F,0x9B), o3(0xE9,0x9C,0xA7), - o3(0xE9,0xB5,0xA1), o3(0xE6,0xA4,0x8B), - o3(0xE5,0xA9,0xBF), o3(0xE5,0xA8,0x98), - o3(0xE5,0x86,0xA5), o3(0xE5,0x90,0x8D), - o3(0xE5,0x91,0xBD), o3(0xE6,0x98,0x8E), - o3(0xE7,0x9B,0x9F), o3(0xE8,0xBF,0xB7), - o3(0xE9,0x8A,0x98), o3(0xE9,0xB3,0xB4), - o3(0xE5,0xA7,0xAA), o3(0xE7,0x89,0x9D), - o3(0xE6,0xBB,0x85), o3(0xE5,0x85,0x8D), - o3(0xE6,0xA3,0x89), o3(0xE7,0xB6,0xBF), - o3(0xE7,0xB7,0xAC), o3(0xE9,0x9D,0xA2), - o3(0xE9,0xBA,0xBA), o3(0xE6,0x91,0xB8), - o3(0xE6,0xA8,0xA1), o3(0xE8,0x8C,0x82), - o3(0xE5,0xA6,0x84), o3(0xE5,0xAD,0x9F), - o3(0xE6,0xAF,0x9B), o3(0xE7,0x8C,0x9B), - o3(0xE7,0x9B,0xB2), o3(0xE7,0xB6,0xB2), - o3(0xE8,0x80,0x97), o3(0xE8,0x92,0x99), - o3(0xE5,0x84,0xB2), o3(0xE6,0x9C,0xA8), - o3(0xE9,0xBB,0x99), o3(0xE7,0x9B,0xAE), - o3(0xE6,0x9D,0xA2), o3(0xE5,0x8B,0xBF), - o3(0xE9,0xA4,0x85), o3(0xE5,0xB0,0xA4), - o3(0xE6,0x88,0xBB), o3(0xE7,0xB1,0xBE), - o3(0xE8,0xB2,0xB0), o3(0xE5,0x95,0x8F), - o3(0xE6,0x82,0xB6), o3(0xE7,0xB4,0x8B), - o3(0xE9,0x96,0x80), o3(0xE5,0x8C,0x81), - o3(0xE4,0xB9,0x9F), o3(0xE5,0x86,0xB6), - o3(0xE5,0xA4,0x9C), o3(0xE7,0x88,0xBA), - o3(0xE8,0x80,0xB6), o3(0xE9,0x87,0x8E), - o3(0xE5,0xBC,0xA5), o3(0xE7,0x9F,0xA2), - o3(0xE5,0x8E,0x84), o3(0xE5,0xBD,0xB9), - o3(0xE7,0xB4,0x84), o3(0xE8,0x96,0xAC), - o3(0xE8,0xA8,0xB3), o3(0xE8,0xBA,0x8D), - o3(0xE9,0x9D,0x96), o3(0xE6,0x9F,0xB3), - o3(0xE8,0x96,0xAE), o3(0xE9,0x91,0x93), - o3(0xE6,0x84,0x89), o3(0xE6,0x84,0x88), - o3(0xE6,0xB2,0xB9), o3(0xE7,0x99,0x92), - UNDEF, -}; -static const BYTE_LOOKUP -from_SHIFT_JIS_96 = { - from_SHIFT_JIS_89_offsets, - from_SHIFT_JIS_96_infos -}; - -static const struct byte_lookup* const -from_SHIFT_JIS_97_infos[189] = { - o3(0xE8,0xAB,0xAD), o3(0xE8,0xBC,0xB8), - o3(0xE5,0x94,0xAF), o3(0xE4,0xBD,0x91), - o3(0xE5,0x84,0xAA), o3(0xE5,0x8B,0x87), - o3(0xE5,0x8F,0x8B), o3(0xE5,0xAE,0xA5), - o3(0xE5,0xB9,0xBD), o3(0xE6,0x82,0xA0), - o3(0xE6,0x86,0x82), o3(0xE6,0x8F,0x96), - o3(0xE6,0x9C,0x89), o3(0xE6,0x9F,0x9A), - o3(0xE6,0xB9,0xA7), o3(0xE6,0xB6,0x8C), - o3(0xE7,0x8C,0xB6), o3(0xE7,0x8C,0xB7), - o3(0xE7,0x94,0xB1), o3(0xE7,0xA5,0x90), - o3(0xE8,0xA3,0x95), o3(0xE8,0xAA,0x98), - o3(0xE9,0x81,0x8A), o3(0xE9,0x82,0x91), - o3(0xE9,0x83,0xB5), o3(0xE9,0x9B,0x84), - o3(0xE8,0x9E,0x8D), o3(0xE5,0xA4,0x95), - o3(0xE4,0xBA,0x88), o3(0xE4,0xBD,0x99), - o3(0xE4,0xB8,0x8E), o3(0xE8,0xAA,0x89), - o3(0xE8,0xBC,0xBF), o3(0xE9,0xA0,0x90), - o3(0xE5,0x82,0xAD), o3(0xE5,0xB9,0xBC), - o3(0xE5,0xA6,0x96), o3(0xE5,0xAE,0xB9), - o3(0xE5,0xBA,0xB8), o3(0xE6,0x8F,0x9A), - o3(0xE6,0x8F,0xBA), o3(0xE6,0x93,0x81), - o3(0xE6,0x9B,0x9C), o3(0xE6,0xA5,0x8A), - o3(0xE6,0xA7,0x98), o3(0xE6,0xB4,0x8B), - o3(0xE6,0xBA,0xB6), o3(0xE7,0x86,0x94), - o3(0xE7,0x94,0xA8), o3(0xE7,0xAA,0xAF), - o3(0xE7,0xBE,0x8A), o3(0xE8,0x80,0x80), - o3(0xE8,0x91,0x89), o3(0xE8,0x93,0x89), - o3(0xE8,0xA6,0x81), o3(0xE8,0xAC,0xA1), - o3(0xE8,0xB8,0x8A), o3(0xE9,0x81,0xA5), - o3(0xE9,0x99,0xBD), o3(0xE9,0xA4,0x8A), - o3(0xE6,0x85,0xBE), o3(0xE6,0x8A,0x91), - o3(0xE6,0xAC,0xB2), o3(0xE6,0xB2,0x83), - o3(0xE6,0xB5,0xB4), o3(0xE7,0xBF,0x8C), - o3(0xE7,0xBF,0xBC), o3(0xE6,0xB7,0x80), - o3(0xE7,0xBE,0x85), o3(0xE8,0x9E,0xBA), - o3(0xE8,0xA3,0xB8), o3(0xE6,0x9D,0xA5), - o3(0xE8,0x8E,0xB1), o3(0xE9,0xA0,0xBC), - o3(0xE9,0x9B,0xB7), o3(0xE6,0xB4,0x9B), - o3(0xE7,0xB5,0xA1), o3(0xE8,0x90,0xBD), - o3(0xE9,0x85,0xAA), o3(0xE4,0xB9,0xB1), - o3(0xE5,0x8D,0xB5), o3(0xE5,0xB5,0x90), - o3(0xE6,0xAC,0x84), o3(0xE6,0xBF,0xAB), - o3(0xE8,0x97,0x8D), o3(0xE8,0x98,0xAD), - o3(0xE8,0xA6,0xA7), o3(0xE5,0x88,0xA9), - o3(0xE5,0x90,0x8F), o3(0xE5,0xB1,0xA5), - o3(0xE6,0x9D,0x8E), o3(0xE6,0xA2,0xA8), - o3(0xE7,0x90,0x86), o3(0xE7,0x92,0x83), - o3(0xE7,0x97,0xA2), o3(0xE8,0xA3,0x8F), - o3(0xE8,0xA3,0xA1), o3(0xE9,0x87,0x8C), - o3(0xE9,0x9B,0xA2), o3(0xE9,0x99,0xB8), - o3(0xE5,0xBE,0x8B), o3(0xE7,0x8E,0x87), - o3(0xE7,0xAB,0x8B), o3(0xE8,0x91,0x8E), - o3(0xE6,0x8E,0xA0), o3(0xE7,0x95,0xA5), - o3(0xE5,0x8A,0x89), o3(0xE6,0xB5,0x81), - o3(0xE6,0xBA,0x9C), o3(0xE7,0x90,0x89), - o3(0xE7,0x95,0x99), o3(0xE7,0xA1,0xAB), - o3(0xE7,0xB2,0x92), o3(0xE9,0x9A,0x86), - o3(0xE7,0xAB,0x9C), o3(0xE9,0xBE,0x8D), - o3(0xE4,0xBE,0xB6), o3(0xE6,0x85,0xAE), - o3(0xE6,0x97,0x85), o3(0xE8,0x99,0x9C), - o3(0xE4,0xBA,0x86), o3(0xE4,0xBA,0xAE), - o3(0xE5,0x83,0x9A), o3(0xE4,0xB8,0xA1), - o3(0xE5,0x87,0x8C), o3(0xE5,0xAF,0xAE), - o3(0xE6,0x96,0x99), o3(0xE6,0xA2,0x81), - o3(0xE6,0xB6,0xBC), o3(0xE7,0x8C,0x9F), - o3(0xE7,0x99,0x82), o3(0xE7,0x9E,0xAD), - o3(0xE7,0xA8,0x9C), o3(0xE7,0xB3,0xA7), - o3(0xE8,0x89,0xAF), o3(0xE8,0xAB,0x92), - o3(0xE9,0x81,0xBC), o3(0xE9,0x87,0x8F), - o3(0xE9,0x99,0xB5), o3(0xE9,0xA0,0x98), - o3(0xE5,0x8A,0x9B), o3(0xE7,0xB7,0x91), - o3(0xE5,0x80,0xAB), o3(0xE5,0x8E,0x98), - o3(0xE6,0x9E,0x97), o3(0xE6,0xB7,0x8B), - o3(0xE7,0x87,0x90), o3(0xE7,0x90,0xB3), - o3(0xE8,0x87,0xA8), o3(0xE8,0xBC,0xAA), - o3(0xE9,0x9A,0xA3), o3(0xE9,0xB1,0x97), - o3(0xE9,0xBA,0x9F), o3(0xE7,0x91,0xA0), - o3(0xE5,0xA1,0x81), o3(0xE6,0xB6,0x99), - o3(0xE7,0xB4,0xAF), o3(0xE9,0xA1,0x9E), - o3(0xE4,0xBB,0xA4), o3(0xE4,0xBC,0xB6), - o3(0xE4,0xBE,0x8B), o3(0xE5,0x86,0xB7), - o3(0xE5,0x8A,0xB1), o3(0xE5,0xB6,0xBA), - o3(0xE6,0x80,0x9C), o3(0xE7,0x8E,0xB2), - o3(0xE7,0xA4,0xBC), o3(0xE8,0x8B,0x93), - o3(0xE9,0x88,0xB4), o3(0xE9,0x9A,0xB7), - o3(0xE9,0x9B,0xB6), o3(0xE9,0x9C,0x8A), - o3(0xE9,0xBA,0x97), o3(0xE9,0xBD,0xA2), - o3(0xE6,0x9A,0xA6), o3(0xE6,0xAD,0xB4), - o3(0xE5,0x88,0x97), o3(0xE5,0x8A,0xA3), - o3(0xE7,0x83,0x88), o3(0xE8,0xA3,0x82), - o3(0xE5,0xBB,0x89), o3(0xE6,0x81,0x8B), - o3(0xE6,0x86,0x90), o3(0xE6,0xBC,0xA3), - o3(0xE7,0x85,0x89), o3(0xE7,0xB0,0xBE), - o3(0xE7,0xB7,0xB4), o3(0xE8,0x81,0xAF), - UNDEF, -}; -static const BYTE_LOOKUP -from_SHIFT_JIS_97 = { - from_SHIFT_JIS_89_offsets, - from_SHIFT_JIS_97_infos -}; - -static const unsigned char -from_SHIFT_JIS_98_offsets[256] = { - 145,145,145,145,145,145,145,145, 145,145,145,145,145,145,145,145, - 145,145,145,145,145,145,145,145, 145,145,145,145,145,145,145,145, - 145,145,145,145,145,145,145,145, 145,145,145,145,145,145,145,145, - 145,145,145,145,145,145,145,145, 145,145,145,145,145,145,145,145, - 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,145,145,145,145,145, 145,145,145,145,145,145,145,145, - 145,145,145,145,145,145,145,145, 145,145,145,145,145,145,145,145, - 145,145,145,145,145,145,145,145, 145,145,145,145,145,145,145, 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,129,130,131, - 132,133,134,135,136,137,138,139, 140,141,142,143,144,145,145,145, -}; -static const struct byte_lookup* const -from_SHIFT_JIS_98_infos[146] = { - o3(0xE8,0x93,0xAE), o3(0xE9,0x80,0xA3), - o3(0xE9,0x8C,0xAC), o3(0xE5,0x91,0x82), - o3(0xE9,0xAD,0xAF), o3(0xE6,0xAB,0x93), - o3(0xE7,0x82,0x89), o3(0xE8,0xB3,0x82), - o3(0xE8,0xB7,0xAF), o3(0xE9,0x9C,0xB2), - o3(0xE5,0x8A,0xB4), o3(0xE5,0xA9,0x81), - o3(0xE5,0xBB,0x8A), o3(0xE5,0xBC,0x84), - o3(0xE6,0x9C,0x97), o3(0xE6,0xA5,0xBC), - o3(0xE6,0xA6,0x94), o3(0xE6,0xB5,0xAA), - o3(0xE6,0xBC,0x8F), o3(0xE7,0x89,0xA2), - o3(0xE7,0x8B,0xBC), o3(0xE7,0xAF,0xAD), - o3(0xE8,0x80,0x81), o3(0xE8,0x81,0xBE), - o3(0xE8,0x9D,0x8B), o3(0xE9,0x83,0x8E), - o3(0xE5,0x85,0xAD), o3(0xE9,0xBA,0x93), - o3(0xE7,0xA6,0x84), o3(0xE8,0x82,0x8B), - o3(0xE9,0x8C,0xB2), o3(0xE8,0xAB,0x96), - o3(0xE5,0x80,0xAD), o3(0xE5,0x92,0x8C), - o3(0xE8,0xA9,0xB1), o3(0xE6,0xAD,0xAA), - o3(0xE8,0xB3,0x84), o3(0xE8,0x84,0x87), - o3(0xE6,0x83,0x91), o3(0xE6,0x9E,0xA0), - o3(0xE9,0xB7,0xB2), o3(0xE4,0xBA,0x99), - o3(0xE4,0xBA,0x98), o3(0xE9,0xB0,0x90), - o3(0xE8,0xA9,0xAB), o3(0xE8,0x97,0x81), - o3(0xE8,0x95,0xA8), o3(0xE6,0xA4,0x80), - o3(0xE6,0xB9,0xBE), o3(0xE7,0xA2,0x97), - o3(0xE8,0x85,0x95), o3(0xE5,0xBC,0x8C), - o3(0xE4,0xB8,0x90), o3(0xE4,0xB8,0x95), - o3(0xE4,0xB8,0xAA), o3(0xE4,0xB8,0xB1), - o3(0xE4,0xB8,0xB6), o3(0xE4,0xB8,0xBC), - o3(0xE4,0xB8,0xBF), o3(0xE4,0xB9,0x82), - o3(0xE4,0xB9,0x96), o3(0xE4,0xB9,0x98), - o3(0xE4,0xBA,0x82), o3(0xE4,0xBA,0x85), - o3(0xE8,0xB1,0xAB), o3(0xE4,0xBA,0x8A), - o3(0xE8,0x88,0x92), o3(0xE5,0xBC,0x8D), - o3(0xE4,0xBA,0x8E), o3(0xE4,0xBA,0x9E), - o3(0xE4,0xBA,0x9F), o3(0xE4,0xBA,0xA0), - o3(0xE4,0xBA,0xA2), o3(0xE4,0xBA,0xB0), - o3(0xE4,0xBA,0xB3), o3(0xE4,0xBA,0xB6), - o3(0xE4,0xBB,0x8E), o3(0xE4,0xBB,0x8D), - o3(0xE4,0xBB,0x84), o3(0xE4,0xBB,0x86), - o3(0xE4,0xBB,0x82), o3(0xE4,0xBB,0x97), - o3(0xE4,0xBB,0x9E), o3(0xE4,0xBB,0xAD), - o3(0xE4,0xBB,0x9F), o3(0xE4,0xBB,0xB7), - o3(0xE4,0xBC,0x89), o3(0xE4,0xBD,0x9A), - o3(0xE4,0xBC,0xB0), o3(0xE4,0xBD,0x9B), - o3(0xE4,0xBD,0x9D), o3(0xE4,0xBD,0x97), - o3(0xE4,0xBD,0x87), o3(0xE4,0xBD,0xB6), - o3(0xE4,0xBE,0x88), o3(0xE4,0xBE,0x8F), - o3(0xE4,0xBE,0x98), o3(0xE4,0xBD,0xBB), - o3(0xE4,0xBD,0xA9), o3(0xE4,0xBD,0xB0), - o3(0xE4,0xBE,0x91), o3(0xE4,0xBD,0xAF), - o3(0xE4,0xBE,0x86), o3(0xE4,0xBE,0x96), - o3(0xE5,0x84,0x98), o3(0xE4,0xBF,0x94), - o3(0xE4,0xBF,0x9F), o3(0xE4,0xBF,0x8E), - o3(0xE4,0xBF,0x98), o3(0xE4,0xBF,0x9B), - o3(0xE4,0xBF,0x91), o3(0xE4,0xBF,0x9A), - o3(0xE4,0xBF,0x90), o3(0xE4,0xBF,0xA4), - o3(0xE4,0xBF,0xA5), o3(0xE5,0x80,0x9A), - o3(0xE5,0x80,0xA8), o3(0xE5,0x80,0x94), - o3(0xE5,0x80,0xAA), o3(0xE5,0x80,0xA5), - o3(0xE5,0x80,0x85), o3(0xE4,0xBC,0x9C), - o3(0xE4,0xBF,0xB6), o3(0xE5,0x80,0xA1), - o3(0xE5,0x80,0xA9), o3(0xE5,0x80,0xAC), - o3(0xE4,0xBF,0xBE), o3(0xE4,0xBF,0xAF), - o3(0xE5,0x80,0x91), o3(0xE5,0x80,0x86), - o3(0xE5,0x81,0x83), o3(0xE5,0x81,0x87), - o3(0xE6,0x9C,0x83), o3(0xE5,0x81,0x95), - o3(0xE5,0x81,0x90), o3(0xE5,0x81,0x88), - o3(0xE5,0x81,0x9A), o3(0xE5,0x81,0x96), - o3(0xE5,0x81,0xAC), o3(0xE5,0x81,0xB8), - o3(0xE5,0x82,0x80), o3(0xE5,0x82,0x9A), - o3(0xE5,0x82,0x85), o3(0xE5,0x82,0xB4), - o3(0xE5,0x82,0xB2), UNDEF, -}; -static const BYTE_LOOKUP -from_SHIFT_JIS_98 = { - from_SHIFT_JIS_98_offsets, - from_SHIFT_JIS_98_infos -}; - -static const struct byte_lookup* const -from_SHIFT_JIS_99_infos[189] = { - o3(0xE5,0x83,0x89), o3(0xE5,0x83,0x8A), - o3(0xE5,0x82,0xB3), o3(0xE5,0x83,0x82), - o3(0xE5,0x83,0x96), o3(0xE5,0x83,0x9E), - o3(0xE5,0x83,0xA5), o3(0xE5,0x83,0xAD), - o3(0xE5,0x83,0xA3), o3(0xE5,0x83,0xAE), - o3(0xE5,0x83,0xB9), o3(0xE5,0x83,0xB5), - o3(0xE5,0x84,0x89), o3(0xE5,0x84,0x81), - o3(0xE5,0x84,0x82), o3(0xE5,0x84,0x96), - o3(0xE5,0x84,0x95), o3(0xE5,0x84,0x94), - o3(0xE5,0x84,0x9A), o3(0xE5,0x84,0xA1), - o3(0xE5,0x84,0xBA), o3(0xE5,0x84,0xB7), - o3(0xE5,0x84,0xBC), o3(0xE5,0x84,0xBB), - o3(0xE5,0x84,0xBF), o3(0xE5,0x85,0x80), - o3(0xE5,0x85,0x92), o3(0xE5,0x85,0x8C), - o3(0xE5,0x85,0x94), o3(0xE5,0x85,0xA2), - o3(0xE7,0xAB,0xB8), o3(0xE5,0x85,0xA9), - o3(0xE5,0x85,0xAA), o3(0xE5,0x85,0xAE), - o3(0xE5,0x86,0x80), o3(0xE5,0x86,0x82), - o3(0xE5,0x9B,0x98), o3(0xE5,0x86,0x8C), - o3(0xE5,0x86,0x89), o3(0xE5,0x86,0x8F), - o3(0xE5,0x86,0x91), o3(0xE5,0x86,0x93), - o3(0xE5,0x86,0x95), o3(0xE5,0x86,0x96), - o3(0xE5,0x86,0xA4), o3(0xE5,0x86,0xA6), - o3(0xE5,0x86,0xA2), o3(0xE5,0x86,0xA9), - o3(0xE5,0x86,0xAA), o3(0xE5,0x86,0xAB), - o3(0xE5,0x86,0xB3), o3(0xE5,0x86,0xB1), - o3(0xE5,0x86,0xB2), o3(0xE5,0x86,0xB0), - o3(0xE5,0x86,0xB5), o3(0xE5,0x86,0xBD), - o3(0xE5,0x87,0x85), o3(0xE5,0x87,0x89), - o3(0xE5,0x87,0x9B), o3(0xE5,0x87,0xA0), - o3(0xE8,0x99,0x95), o3(0xE5,0x87,0xA9), - o3(0xE5,0x87,0xAD), o3(0xE5,0x87,0xB0), - o3(0xE5,0x87,0xB5), o3(0xE5,0x87,0xBE), - o3(0xE5,0x88,0x84), o3(0xE5,0x88,0x8B), - o3(0xE5,0x88,0x94), o3(0xE5,0x88,0x8E), - o3(0xE5,0x88,0xA7), o3(0xE5,0x88,0xAA), - o3(0xE5,0x88,0xAE), o3(0xE5,0x88,0xB3), - o3(0xE5,0x88,0xB9), o3(0xE5,0x89,0x8F), - o3(0xE5,0x89,0x84), o3(0xE5,0x89,0x8B), - o3(0xE5,0x89,0x8C), o3(0xE5,0x89,0x9E), - o3(0xE5,0x89,0x94), o3(0xE5,0x89,0xAA), - o3(0xE5,0x89,0xB4), o3(0xE5,0x89,0xA9), - o3(0xE5,0x89,0xB3), o3(0xE5,0x89,0xBF), - o3(0xE5,0x89,0xBD), o3(0xE5,0x8A,0x8D), - o3(0xE5,0x8A,0x94), o3(0xE5,0x8A,0x92), - o3(0xE5,0x89,0xB1), o3(0xE5,0x8A,0x88), - o3(0xE5,0x8A,0x91), o3(0xE8,0xBE,0xA8), - o3(0xE8,0xBE,0xA7), o3(0xE5,0x8A,0xAC), - o3(0xE5,0x8A,0xAD), o3(0xE5,0x8A,0xBC), - o3(0xE5,0x8A,0xB5), o3(0xE5,0x8B,0x81), - o3(0xE5,0x8B,0x8D), o3(0xE5,0x8B,0x97), - o3(0xE5,0x8B,0x9E), o3(0xE5,0x8B,0xA3), - o3(0xE5,0x8B,0xA6), o3(0xE9,0xA3,0xAD), - o3(0xE5,0x8B,0xA0), o3(0xE5,0x8B,0xB3), - o3(0xE5,0x8B,0xB5), o3(0xE5,0x8B,0xB8), - o3(0xE5,0x8B,0xB9), o3(0xE5,0x8C,0x86), - o3(0xE5,0x8C,0x88), o3(0xE7,0x94,0xB8), - o3(0xE5,0x8C,0x8D), o3(0xE5,0x8C,0x90), - o3(0xE5,0x8C,0x8F), o3(0xE5,0x8C,0x95), - o3(0xE5,0x8C,0x9A), o3(0xE5,0x8C,0xA3), - o3(0xE5,0x8C,0xAF), o3(0xE5,0x8C,0xB1), - o3(0xE5,0x8C,0xB3), o3(0xE5,0x8C,0xB8), - o3(0xE5,0x8D,0x80), o3(0xE5,0x8D,0x86), - o3(0xE5,0x8D,0x85), o3(0xE4,0xB8,0x97), - o3(0xE5,0x8D,0x89), o3(0xE5,0x8D,0x8D), - o3(0xE5,0x87,0x96), o3(0xE5,0x8D,0x9E), - o3(0xE5,0x8D,0xA9), o3(0xE5,0x8D,0xAE), - o3(0xE5,0xA4,0x98), o3(0xE5,0x8D,0xBB), - o3(0xE5,0x8D,0xB7), o3(0xE5,0x8E,0x82), - o3(0xE5,0x8E,0x96), o3(0xE5,0x8E,0xA0), - o3(0xE5,0x8E,0xA6), o3(0xE5,0x8E,0xA5), - o3(0xE5,0x8E,0xAE), o3(0xE5,0x8E,0xB0), - o3(0xE5,0x8E,0xB6), o3(0xE5,0x8F,0x83), - o3(0xE7,0xB0,0x92), o3(0xE9,0x9B,0x99), - o3(0xE5,0x8F,0x9F), o3(0xE6,0x9B,0xBC), - o3(0xE7,0x87,0xAE), o3(0xE5,0x8F,0xAE), - o3(0xE5,0x8F,0xA8), o3(0xE5,0x8F,0xAD), - o3(0xE5,0x8F,0xBA), o3(0xE5,0x90,0x81), - o3(0xE5,0x90,0xBD), o3(0xE5,0x91,0x80), - o3(0xE5,0x90,0xAC), o3(0xE5,0x90,0xAD), - o3(0xE5,0x90,0xBC), o3(0xE5,0x90,0xAE), - o3(0xE5,0x90,0xB6), o3(0xE5,0x90,0xA9), - o3(0xE5,0x90,0x9D), o3(0xE5,0x91,0x8E), - o3(0xE5,0x92,0x8F), o3(0xE5,0x91,0xB5), - o3(0xE5,0x92,0x8E), o3(0xE5,0x91,0x9F), - o3(0xE5,0x91,0xB1), o3(0xE5,0x91,0xB7), - o3(0xE5,0x91,0xB0), o3(0xE5,0x92,0x92), - o3(0xE5,0x91,0xBB), o3(0xE5,0x92,0x80), - o3(0xE5,0x91,0xB6), o3(0xE5,0x92,0x84), - o3(0xE5,0x92,0x90), o3(0xE5,0x92,0x86), - o3(0xE5,0x93,0x87), o3(0xE5,0x92,0xA2), - o3(0xE5,0x92,0xB8), o3(0xE5,0x92,0xA5), - o3(0xE5,0x92,0xAC), o3(0xE5,0x93,0x84), - o3(0xE5,0x93,0x88), o3(0xE5,0x92,0xA8), - UNDEF, -}; -static const BYTE_LOOKUP -from_SHIFT_JIS_99 = { - from_SHIFT_JIS_89_offsets, - from_SHIFT_JIS_99_infos -}; - -static const struct byte_lookup* const -from_SHIFT_JIS_9A_infos[189] = { - o3(0xE5,0x92,0xAB), o3(0xE5,0x93,0x82), - o3(0xE5,0x92,0xA4), o3(0xE5,0x92,0xBE), - o3(0xE5,0x92,0xBC), o3(0xE5,0x93,0x98), - o3(0xE5,0x93,0xA5), o3(0xE5,0x93,0xA6), - o3(0xE5,0x94,0x8F), o3(0xE5,0x94,0x94), - o3(0xE5,0x93,0xBD), o3(0xE5,0x93,0xAE), - o3(0xE5,0x93,0xAD), o3(0xE5,0x93,0xBA), - o3(0xE5,0x93,0xA2), o3(0xE5,0x94,0xB9), - o3(0xE5,0x95,0x80), o3(0xE5,0x95,0xA3), - o3(0xE5,0x95,0x8C), o3(0xE5,0x94,0xAE), - o3(0xE5,0x95,0x9C), o3(0xE5,0x95,0x85), - o3(0xE5,0x95,0x96), o3(0xE5,0x95,0x97), - o3(0xE5,0x94,0xB8), o3(0xE5,0x94,0xB3), - o3(0xE5,0x95,0x9D), o3(0xE5,0x96,0x99), - o3(0xE5,0x96,0x80), o3(0xE5,0x92,0xAF), - o3(0xE5,0x96,0x8A), o3(0xE5,0x96,0x9F), - o3(0xE5,0x95,0xBB), o3(0xE5,0x95,0xBE), - o3(0xE5,0x96,0x98), o3(0xE5,0x96,0x9E), - o3(0xE5,0x96,0xAE), o3(0xE5,0x95,0xBC), - o3(0xE5,0x96,0x83), o3(0xE5,0x96,0xA9), - o3(0xE5,0x96,0x87), o3(0xE5,0x96,0xA8), - o3(0xE5,0x97,0x9A), o3(0xE5,0x97,0x85), - o3(0xE5,0x97,0x9F), o3(0xE5,0x97,0x84), - o3(0xE5,0x97,0x9C), o3(0xE5,0x97,0xA4), - o3(0xE5,0x97,0x94), o3(0xE5,0x98,0x94), - o3(0xE5,0x97,0xB7), o3(0xE5,0x98,0x96), - o3(0xE5,0x97,0xBE), o3(0xE5,0x97,0xBD), - o3(0xE5,0x98,0x9B), o3(0xE5,0x97,0xB9), - o3(0xE5,0x99,0x8E), o3(0xE5,0x99,0x90), - o3(0xE7,0x87,0x9F), o3(0xE5,0x98,0xB4), - o3(0xE5,0x98,0xB6), o3(0xE5,0x98,0xB2), - o3(0xE5,0x98,0xB8), o3(0xE5,0x99,0xAB), - o3(0xE5,0x99,0xA4), o3(0xE5,0x98,0xAF), - o3(0xE5,0x99,0xAC), o3(0xE5,0x99,0xAA), - o3(0xE5,0x9A,0x86), o3(0xE5,0x9A,0x80), - o3(0xE5,0x9A,0x8A), o3(0xE5,0x9A,0xA0), - o3(0xE5,0x9A,0x94), o3(0xE5,0x9A,0x8F), - o3(0xE5,0x9A,0xA5), o3(0xE5,0x9A,0xAE), - o3(0xE5,0x9A,0xB6), o3(0xE5,0x9A,0xB4), - o3(0xE5,0x9B,0x82), o3(0xE5,0x9A,0xBC), - o3(0xE5,0x9B,0x81), o3(0xE5,0x9B,0x83), - o3(0xE5,0x9B,0x80), o3(0xE5,0x9B,0x88), - o3(0xE5,0x9B,0x8E), o3(0xE5,0x9B,0x91), - o3(0xE5,0x9B,0x93), o3(0xE5,0x9B,0x97), - o3(0xE5,0x9B,0xAE), o3(0xE5,0x9B,0xB9), - o3(0xE5,0x9C,0x80), o3(0xE5,0x9B,0xBF), - o3(0xE5,0x9C,0x84), o3(0xE5,0x9C,0x89), - o3(0xE5,0x9C,0x88), o3(0xE5,0x9C,0x8B), - o3(0xE5,0x9C,0x8D), o3(0xE5,0x9C,0x93), - o3(0xE5,0x9C,0x98), o3(0xE5,0x9C,0x96), - o3(0xE5,0x97,0x87), o3(0xE5,0x9C,0x9C), - o3(0xE5,0x9C,0xA6), o3(0xE5,0x9C,0xB7), - o3(0xE5,0x9C,0xB8), o3(0xE5,0x9D,0x8E), - o3(0xE5,0x9C,0xBB), o3(0xE5,0x9D,0x80), - o3(0xE5,0x9D,0x8F), o3(0xE5,0x9D,0xA9), - o3(0xE5,0x9F,0x80), o3(0xE5,0x9E,0x88), - o3(0xE5,0x9D,0xA1), o3(0xE5,0x9D,0xBF), - o3(0xE5,0x9E,0x89), o3(0xE5,0x9E,0x93), - o3(0xE5,0x9E,0xA0), o3(0xE5,0x9E,0xB3), - o3(0xE5,0x9E,0xA4), o3(0xE5,0x9E,0xAA), - o3(0xE5,0x9E,0xB0), o3(0xE5,0x9F,0x83), - o3(0xE5,0x9F,0x86), o3(0xE5,0x9F,0x94), - o3(0xE5,0x9F,0x92), o3(0xE5,0x9F,0x93), - o3(0xE5,0xA0,0x8A), o3(0xE5,0x9F,0x96), - o3(0xE5,0x9F,0xA3), o3(0xE5,0xA0,0x8B), - o3(0xE5,0xA0,0x99), o3(0xE5,0xA0,0x9D), - o3(0xE5,0xA1,0xB2), o3(0xE5,0xA0,0xA1), - o3(0xE5,0xA1,0xA2), o3(0xE5,0xA1,0x8B), - o3(0xE5,0xA1,0xB0), o3(0xE6,0xAF,0x80), - o3(0xE5,0xA1,0x92), o3(0xE5,0xA0,0xBD), - o3(0xE5,0xA1,0xB9), o3(0xE5,0xA2,0x85), - o3(0xE5,0xA2,0xB9), o3(0xE5,0xA2,0x9F), - o3(0xE5,0xA2,0xAB), o3(0xE5,0xA2,0xBA), - o3(0xE5,0xA3,0x9E), o3(0xE5,0xA2,0xBB), - o3(0xE5,0xA2,0xB8), o3(0xE5,0xA2,0xAE), - o3(0xE5,0xA3,0x85), o3(0xE5,0xA3,0x93), - o3(0xE5,0xA3,0x91), o3(0xE5,0xA3,0x97), - o3(0xE5,0xA3,0x99), o3(0xE5,0xA3,0x98), - o3(0xE5,0xA3,0xA5), o3(0xE5,0xA3,0x9C), - o3(0xE5,0xA3,0xA4), o3(0xE5,0xA3,0x9F), - o3(0xE5,0xA3,0xAF), o3(0xE5,0xA3,0xBA), - o3(0xE5,0xA3,0xB9), o3(0xE5,0xA3,0xBB), - o3(0xE5,0xA3,0xBC), o3(0xE5,0xA3,0xBD), - o3(0xE5,0xA4,0x82), o3(0xE5,0xA4,0x8A), - o3(0xE5,0xA4,0x90), o3(0xE5,0xA4,0x9B), - o3(0xE6,0xA2,0xA6), o3(0xE5,0xA4,0xA5), - o3(0xE5,0xA4,0xAC), o3(0xE5,0xA4,0xAD), - o3(0xE5,0xA4,0xB2), o3(0xE5,0xA4,0xB8), - o3(0xE5,0xA4,0xBE), o3(0xE7,0xAB,0x92), - o3(0xE5,0xA5,0x95), o3(0xE5,0xA5,0x90), - o3(0xE5,0xA5,0x8E), o3(0xE5,0xA5,0x9A), - o3(0xE5,0xA5,0x98), o3(0xE5,0xA5,0xA2), - o3(0xE5,0xA5,0xA0), o3(0xE5,0xA5,0xA7), - o3(0xE5,0xA5,0xAC), o3(0xE5,0xA5,0xA9), - UNDEF, -}; -static const BYTE_LOOKUP -from_SHIFT_JIS_9A = { - from_SHIFT_JIS_89_offsets, - from_SHIFT_JIS_9A_infos -}; - -static const struct byte_lookup* const -from_SHIFT_JIS_9B_infos[189] = { - o3(0xE5,0xA5,0xB8), o3(0xE5,0xA6,0x81), - o3(0xE5,0xA6,0x9D), o3(0xE4,0xBD,0x9E), - o3(0xE4,0xBE,0xAB), o3(0xE5,0xA6,0xA3), - o3(0xE5,0xA6,0xB2), o3(0xE5,0xA7,0x86), - o3(0xE5,0xA7,0xA8), o3(0xE5,0xA7,0x9C), - o3(0xE5,0xA6,0x8D), o3(0xE5,0xA7,0x99), - o3(0xE5,0xA7,0x9A), o3(0xE5,0xA8,0xA5), - o3(0xE5,0xA8,0x9F), o3(0xE5,0xA8,0x91), - o3(0xE5,0xA8,0x9C), o3(0xE5,0xA8,0x89), - o3(0xE5,0xA8,0x9A), o3(0xE5,0xA9,0x80), - o3(0xE5,0xA9,0xAC), o3(0xE5,0xA9,0x89), - o3(0xE5,0xA8,0xB5), o3(0xE5,0xA8,0xB6), - o3(0xE5,0xA9,0xA2), o3(0xE5,0xA9,0xAA), - o3(0xE5,0xAA,0x9A), o3(0xE5,0xAA,0xBC), - o3(0xE5,0xAA,0xBE), o3(0xE5,0xAB,0x8B), - o3(0xE5,0xAB,0x82), o3(0xE5,0xAA,0xBD), - o3(0xE5,0xAB,0xA3), o3(0xE5,0xAB,0x97), - o3(0xE5,0xAB,0xA6), o3(0xE5,0xAB,0xA9), - o3(0xE5,0xAB,0x96), o3(0xE5,0xAB,0xBA), - o3(0xE5,0xAB,0xBB), o3(0xE5,0xAC,0x8C), - o3(0xE5,0xAC,0x8B), o3(0xE5,0xAC,0x96), - o3(0xE5,0xAC,0xB2), o3(0xE5,0xAB,0x90), - o3(0xE5,0xAC,0xAA), o3(0xE5,0xAC,0xB6), - o3(0xE5,0xAC,0xBE), o3(0xE5,0xAD,0x83), - o3(0xE5,0xAD,0x85), o3(0xE5,0xAD,0x80), - o3(0xE5,0xAD,0x91), o3(0xE5,0xAD,0x95), - o3(0xE5,0xAD,0x9A), o3(0xE5,0xAD,0x9B), - o3(0xE5,0xAD,0xA5), o3(0xE5,0xAD,0xA9), - o3(0xE5,0xAD,0xB0), o3(0xE5,0xAD,0xB3), - o3(0xE5,0xAD,0xB5), o3(0xE5,0xAD,0xB8), - o3(0xE6,0x96,0x88), o3(0xE5,0xAD,0xBA), - o3(0xE5,0xAE,0x80), o3(0xE5,0xAE,0x83), - o3(0xE5,0xAE,0xA6), o3(0xE5,0xAE,0xB8), - o3(0xE5,0xAF,0x83), o3(0xE5,0xAF,0x87), - o3(0xE5,0xAF,0x89), o3(0xE5,0xAF,0x94), - o3(0xE5,0xAF,0x90), o3(0xE5,0xAF,0xA4), - o3(0xE5,0xAF,0xA6), o3(0xE5,0xAF,0xA2), - o3(0xE5,0xAF,0x9E), o3(0xE5,0xAF,0xA5), - o3(0xE5,0xAF,0xAB), o3(0xE5,0xAF,0xB0), - o3(0xE5,0xAF,0xB6), o3(0xE5,0xAF,0xB3), - o3(0xE5,0xB0,0x85), o3(0xE5,0xB0,0x87), - o3(0xE5,0xB0,0x88), o3(0xE5,0xB0,0x8D), - o3(0xE5,0xB0,0x93), o3(0xE5,0xB0,0xA0), - o3(0xE5,0xB0,0xA2), o3(0xE5,0xB0,0xA8), - o3(0xE5,0xB0,0xB8), o3(0xE5,0xB0,0xB9), - o3(0xE5,0xB1,0x81), o3(0xE5,0xB1,0x86), - o3(0xE5,0xB1,0x8E), o3(0xE5,0xB1,0x93), - o3(0xE5,0xB1,0x90), o3(0xE5,0xB1,0x8F), - o3(0xE5,0xAD,0xB1), o3(0xE5,0xB1,0xAC), - o3(0xE5,0xB1,0xAE), o3(0xE4,0xB9,0xA2), - o3(0xE5,0xB1,0xB6), o3(0xE5,0xB1,0xB9), - o3(0xE5,0xB2,0x8C), o3(0xE5,0xB2,0x91), - o3(0xE5,0xB2,0x94), o3(0xE5,0xA6,0x9B), - o3(0xE5,0xB2,0xAB), o3(0xE5,0xB2,0xBB), - o3(0xE5,0xB2,0xB6), o3(0xE5,0xB2,0xBC), - o3(0xE5,0xB2,0xB7), o3(0xE5,0xB3,0x85), - o3(0xE5,0xB2,0xBE), o3(0xE5,0xB3,0x87), - o3(0xE5,0xB3,0x99), o3(0xE5,0xB3,0xA9), - o3(0xE5,0xB3,0xBD), o3(0xE5,0xB3,0xBA), - o3(0xE5,0xB3,0xAD), o3(0xE5,0xB6,0x8C), - o3(0xE5,0xB3,0xAA), o3(0xE5,0xB4,0x8B), - o3(0xE5,0xB4,0x95), o3(0xE5,0xB4,0x97), - o3(0xE5,0xB5,0x9C), o3(0xE5,0xB4,0x9F), - o3(0xE5,0xB4,0x9B), o3(0xE5,0xB4,0x91), - o3(0xE5,0xB4,0x94), o3(0xE5,0xB4,0xA2), - o3(0xE5,0xB4,0x9A), o3(0xE5,0xB4,0x99), - o3(0xE5,0xB4,0x98), o3(0xE5,0xB5,0x8C), - o3(0xE5,0xB5,0x92), o3(0xE5,0xB5,0x8E), - o3(0xE5,0xB5,0x8B), o3(0xE5,0xB5,0xAC), - o3(0xE5,0xB5,0xB3), o3(0xE5,0xB5,0xB6), - o3(0xE5,0xB6,0x87), o3(0xE5,0xB6,0x84), - o3(0xE5,0xB6,0x82), o3(0xE5,0xB6,0xA2), - o3(0xE5,0xB6,0x9D), o3(0xE5,0xB6,0xAC), - o3(0xE5,0xB6,0xAE), o3(0xE5,0xB6,0xBD), - o3(0xE5,0xB6,0x90), o3(0xE5,0xB6,0xB7), - o3(0xE5,0xB6,0xBC), o3(0xE5,0xB7,0x89), - o3(0xE5,0xB7,0x8D), o3(0xE5,0xB7,0x93), - o3(0xE5,0xB7,0x92), o3(0xE5,0xB7,0x96), - o3(0xE5,0xB7,0x9B), o3(0xE5,0xB7,0xAB), - o3(0xE5,0xB7,0xB2), o3(0xE5,0xB7,0xB5), - o3(0xE5,0xB8,0x8B), o3(0xE5,0xB8,0x9A), - o3(0xE5,0xB8,0x99), o3(0xE5,0xB8,0x91), - o3(0xE5,0xB8,0x9B), o3(0xE5,0xB8,0xB6), - o3(0xE5,0xB8,0xB7), o3(0xE5,0xB9,0x84), - o3(0xE5,0xB9,0x83), o3(0xE5,0xB9,0x80), - o3(0xE5,0xB9,0x8E), o3(0xE5,0xB9,0x97), - o3(0xE5,0xB9,0x94), o3(0xE5,0xB9,0x9F), - o3(0xE5,0xB9,0xA2), o3(0xE5,0xB9,0xA4), - o3(0xE5,0xB9,0x87), o3(0xE5,0xB9,0xB5), - o3(0xE5,0xB9,0xB6), o3(0xE5,0xB9,0xBA), - o3(0xE9,0xBA,0xBC), o3(0xE5,0xB9,0xBF), - o3(0xE5,0xBA,0xA0), o3(0xE5,0xBB,0x81), - o3(0xE5,0xBB,0x82), o3(0xE5,0xBB,0x88), - o3(0xE5,0xBB,0x90), o3(0xE5,0xBB,0x8F), - UNDEF, -}; -static const BYTE_LOOKUP -from_SHIFT_JIS_9B = { - from_SHIFT_JIS_89_offsets, - from_SHIFT_JIS_9B_infos -}; - -static const struct byte_lookup* const -from_SHIFT_JIS_9C_infos[189] = { - o3(0xE5,0xBB,0x96), o3(0xE5,0xBB,0xA3), - o3(0xE5,0xBB,0x9D), o3(0xE5,0xBB,0x9A), - o3(0xE5,0xBB,0x9B), o3(0xE5,0xBB,0xA2), - o3(0xE5,0xBB,0xA1), o3(0xE5,0xBB,0xA8), - o3(0xE5,0xBB,0xA9), o3(0xE5,0xBB,0xAC), - o3(0xE5,0xBB,0xB1), o3(0xE5,0xBB,0xB3), - o3(0xE5,0xBB,0xB0), o3(0xE5,0xBB,0xB4), - o3(0xE5,0xBB,0xB8), o3(0xE5,0xBB,0xBE), - o3(0xE5,0xBC,0x83), o3(0xE5,0xBC,0x89), - o3(0xE5,0xBD,0x9D), o3(0xE5,0xBD,0x9C), - o3(0xE5,0xBC,0x8B), o3(0xE5,0xBC,0x91), - o3(0xE5,0xBC,0x96), o3(0xE5,0xBC,0xA9), - o3(0xE5,0xBC,0xAD), o3(0xE5,0xBC,0xB8), - o3(0xE5,0xBD,0x81), o3(0xE5,0xBD,0x88), - o3(0xE5,0xBD,0x8C), o3(0xE5,0xBD,0x8E), - o3(0xE5,0xBC,0xAF), o3(0xE5,0xBD,0x91), - o3(0xE5,0xBD,0x96), o3(0xE5,0xBD,0x97), - o3(0xE5,0xBD,0x99), o3(0xE5,0xBD,0xA1), - o3(0xE5,0xBD,0xAD), o3(0xE5,0xBD,0xB3), - o3(0xE5,0xBD,0xB7), o3(0xE5,0xBE,0x83), - o3(0xE5,0xBE,0x82), o3(0xE5,0xBD,0xBF), - o3(0xE5,0xBE,0x8A), o3(0xE5,0xBE,0x88), - o3(0xE5,0xBE,0x91), o3(0xE5,0xBE,0x87), - o3(0xE5,0xBE,0x9E), o3(0xE5,0xBE,0x99), - o3(0xE5,0xBE,0x98), o3(0xE5,0xBE,0xA0), - o3(0xE5,0xBE,0xA8), o3(0xE5,0xBE,0xAD), - o3(0xE5,0xBE,0xBC), o3(0xE5,0xBF,0x96), - o3(0xE5,0xBF,0xBB), o3(0xE5,0xBF,0xA4), - o3(0xE5,0xBF,0xB8), o3(0xE5,0xBF,0xB1), - o3(0xE5,0xBF,0x9D), o3(0xE6,0x82,0xB3), - o3(0xE5,0xBF,0xBF), o3(0xE6,0x80,0xA1), - o3(0xE6,0x81,0xA0), o3(0xE6,0x80,0x99), - o3(0xE6,0x80,0x90), o3(0xE6,0x80,0xA9), - o3(0xE6,0x80,0x8E), o3(0xE6,0x80,0xB1), - o3(0xE6,0x80,0x9B), o3(0xE6,0x80,0x95), - o3(0xE6,0x80,0xAB), o3(0xE6,0x80,0xA6), - o3(0xE6,0x80,0x8F), o3(0xE6,0x80,0xBA), - o3(0xE6,0x81,0x9A), o3(0xE6,0x81,0x81), - o3(0xE6,0x81,0xAA), o3(0xE6,0x81,0xB7), - o3(0xE6,0x81,0x9F), o3(0xE6,0x81,0x8A), - o3(0xE6,0x81,0x86), o3(0xE6,0x81,0x8D), - o3(0xE6,0x81,0xA3), o3(0xE6,0x81,0x83), - o3(0xE6,0x81,0xA4), o3(0xE6,0x81,0x82), - o3(0xE6,0x81,0xAC), o3(0xE6,0x81,0xAB), - o3(0xE6,0x81,0x99), o3(0xE6,0x82,0x81), - o3(0xE6,0x82,0x8D), o3(0xE6,0x83,0xA7), - o3(0xE6,0x82,0x83), o3(0xE6,0x82,0x9A), - o3(0xE6,0x82,0x84), o3(0xE6,0x82,0x9B), - o3(0xE6,0x82,0x96), o3(0xE6,0x82,0x97), - o3(0xE6,0x82,0x92), o3(0xE6,0x82,0xA7), - o3(0xE6,0x82,0x8B), o3(0xE6,0x83,0xA1), - o3(0xE6,0x82,0xB8), o3(0xE6,0x83,0xA0), - o3(0xE6,0x83,0x93), o3(0xE6,0x82,0xB4), - o3(0xE5,0xBF,0xB0), o3(0xE6,0x82,0xBD), - o3(0xE6,0x83,0x86), o3(0xE6,0x82,0xB5), - o3(0xE6,0x83,0x98), o3(0xE6,0x85,0x8D), - o3(0xE6,0x84,0x95), o3(0xE6,0x84,0x86), - o3(0xE6,0x83,0xB6), o3(0xE6,0x83,0xB7), - o3(0xE6,0x84,0x80), o3(0xE6,0x83,0xB4), - o3(0xE6,0x83,0xBA), o3(0xE6,0x84,0x83), - o3(0xE6,0x84,0xA1), o3(0xE6,0x83,0xBB), - o3(0xE6,0x83,0xB1), o3(0xE6,0x84,0x8D), - o3(0xE6,0x84,0x8E), o3(0xE6,0x85,0x87), - o3(0xE6,0x84,0xBE), o3(0xE6,0x84,0xA8), - o3(0xE6,0x84,0xA7), o3(0xE6,0x85,0x8A), - o3(0xE6,0x84,0xBF), o3(0xE6,0x84,0xBC), - o3(0xE6,0x84,0xAC), o3(0xE6,0x84,0xB4), - o3(0xE6,0x84,0xBD), o3(0xE6,0x85,0x82), - o3(0xE6,0x85,0x84), o3(0xE6,0x85,0xB3), - o3(0xE6,0x85,0xB7), o3(0xE6,0x85,0x98), - o3(0xE6,0x85,0x99), o3(0xE6,0x85,0x9A), - o3(0xE6,0x85,0xAB), o3(0xE6,0x85,0xB4), - o3(0xE6,0x85,0xAF), o3(0xE6,0x85,0xA5), - o3(0xE6,0x85,0xB1), o3(0xE6,0x85,0x9F), - o3(0xE6,0x85,0x9D), o3(0xE6,0x85,0x93), - o3(0xE6,0x85,0xB5), o3(0xE6,0x86,0x99), - o3(0xE6,0x86,0x96), o3(0xE6,0x86,0x87), - o3(0xE6,0x86,0xAC), o3(0xE6,0x86,0x94), - o3(0xE6,0x86,0x9A), o3(0xE6,0x86,0x8A), - o3(0xE6,0x86,0x91), o3(0xE6,0x86,0xAB), - o3(0xE6,0x86,0xAE), o3(0xE6,0x87,0x8C), - o3(0xE6,0x87,0x8A), o3(0xE6,0x87,0x89), - o3(0xE6,0x87,0xB7), o3(0xE6,0x87,0x88), - o3(0xE6,0x87,0x83), o3(0xE6,0x87,0x86), - o3(0xE6,0x86,0xBA), o3(0xE6,0x87,0x8B), - o3(0xE7,0xBD,0xB9), o3(0xE6,0x87,0x8D), - o3(0xE6,0x87,0xA6), o3(0xE6,0x87,0xA3), - o3(0xE6,0x87,0xB6), o3(0xE6,0x87,0xBA), - o3(0xE6,0x87,0xB4), o3(0xE6,0x87,0xBF), - o3(0xE6,0x87,0xBD), o3(0xE6,0x87,0xBC), - o3(0xE6,0x87,0xBE), o3(0xE6,0x88,0x80), - o3(0xE6,0x88,0x88), o3(0xE6,0x88,0x89), - o3(0xE6,0x88,0x8D), o3(0xE6,0x88,0x8C), - o3(0xE6,0x88,0x94), o3(0xE6,0x88,0x9B), - UNDEF, -}; -static const BYTE_LOOKUP -from_SHIFT_JIS_9C = { - from_SHIFT_JIS_89_offsets, - from_SHIFT_JIS_9C_infos -}; - -static const struct byte_lookup* const -from_SHIFT_JIS_9D_infos[189] = { - o3(0xE6,0x88,0x9E), o3(0xE6,0x88,0xA1), - o3(0xE6,0x88,0xAA), o3(0xE6,0x88,0xAE), - o3(0xE6,0x88,0xB0), o3(0xE6,0x88,0xB2), - o3(0xE6,0x88,0xB3), o3(0xE6,0x89,0x81), - o3(0xE6,0x89,0x8E), o3(0xE6,0x89,0x9E), - o3(0xE6,0x89,0xA3), o3(0xE6,0x89,0x9B), - o3(0xE6,0x89,0xA0), o3(0xE6,0x89,0xA8), - o3(0xE6,0x89,0xBC), o3(0xE6,0x8A,0x82), - o3(0xE6,0x8A,0x89), o3(0xE6,0x89,0xBE), - o3(0xE6,0x8A,0x92), o3(0xE6,0x8A,0x93), - o3(0xE6,0x8A,0x96), o3(0xE6,0x8B,0x94), - o3(0xE6,0x8A,0x83), o3(0xE6,0x8A,0x94), - o3(0xE6,0x8B,0x97), o3(0xE6,0x8B,0x91), - o3(0xE6,0x8A,0xBB), o3(0xE6,0x8B,0x8F), - o3(0xE6,0x8B,0xBF), o3(0xE6,0x8B,0x86), - o3(0xE6,0x93,0x94), o3(0xE6,0x8B,0x88), - o3(0xE6,0x8B,0x9C), o3(0xE6,0x8B,0x8C), - o3(0xE6,0x8B,0x8A), o3(0xE6,0x8B,0x82), - o3(0xE6,0x8B,0x87), o3(0xE6,0x8A,0x9B), - o3(0xE6,0x8B,0x89), o3(0xE6,0x8C,0x8C), - o3(0xE6,0x8B,0xAE), o3(0xE6,0x8B,0xB1), - o3(0xE6,0x8C,0xA7), o3(0xE6,0x8C,0x82), - o3(0xE6,0x8C,0x88), o3(0xE6,0x8B,0xAF), - o3(0xE6,0x8B,0xB5), o3(0xE6,0x8D,0x90), - o3(0xE6,0x8C,0xBE), o3(0xE6,0x8D,0x8D), - o3(0xE6,0x90,0x9C), o3(0xE6,0x8D,0x8F), - o3(0xE6,0x8E,0x96), o3(0xE6,0x8E,0x8E), - o3(0xE6,0x8E,0x80), o3(0xE6,0x8E,0xAB), - o3(0xE6,0x8D,0xB6), o3(0xE6,0x8E,0xA3), - o3(0xE6,0x8E,0x8F), o3(0xE6,0x8E,0x89), - o3(0xE6,0x8E,0x9F), o3(0xE6,0x8E,0xB5), - o3(0xE6,0x8D,0xAB), o3(0xE6,0x8D,0xA9), - o3(0xE6,0x8E,0xBE), o3(0xE6,0x8F,0xA9), - o3(0xE6,0x8F,0x80), o3(0xE6,0x8F,0x86), - o3(0xE6,0x8F,0xA3), o3(0xE6,0x8F,0x89), - o3(0xE6,0x8F,0x92), o3(0xE6,0x8F,0xB6), - o3(0xE6,0x8F,0x84), o3(0xE6,0x90,0x96), - o3(0xE6,0x90,0xB4), o3(0xE6,0x90,0x86), - o3(0xE6,0x90,0x93), o3(0xE6,0x90,0xA6), - o3(0xE6,0x90,0xB6), o3(0xE6,0x94,0x9D), - o3(0xE6,0x90,0x97), o3(0xE6,0x90,0xA8), - o3(0xE6,0x90,0x8F), o3(0xE6,0x91,0xA7), - o3(0xE6,0x91,0xAF), o3(0xE6,0x91,0xB6), - o3(0xE6,0x91,0x8E), o3(0xE6,0x94,0xAA), - o3(0xE6,0x92,0x95), o3(0xE6,0x92,0x93), - o3(0xE6,0x92,0xA5), o3(0xE6,0x92,0xA9), - o3(0xE6,0x92,0x88), o3(0xE6,0x92,0xBC), - o3(0xE6,0x93,0x9A), o3(0xE6,0x93,0x92), - o3(0xE6,0x93,0x85), o3(0xE6,0x93,0x87), - o3(0xE6,0x92,0xBB), o3(0xE6,0x93,0x98), - o3(0xE6,0x93,0x82), o3(0xE6,0x93,0xB1), - o3(0xE6,0x93,0xA7), o3(0xE8,0x88,0x89), - o3(0xE6,0x93,0xA0), o3(0xE6,0x93,0xA1), - o3(0xE6,0x8A,0xAC), o3(0xE6,0x93,0xA3), - o3(0xE6,0x93,0xAF), o3(0xE6,0x94,0xAC), - o3(0xE6,0x93,0xB6), o3(0xE6,0x93,0xB4), - o3(0xE6,0x93,0xB2), o3(0xE6,0x93,0xBA), - o3(0xE6,0x94,0x80), o3(0xE6,0x93,0xBD), - o3(0xE6,0x94,0x98), o3(0xE6,0x94,0x9C), - o3(0xE6,0x94,0x85), o3(0xE6,0x94,0xA4), - o3(0xE6,0x94,0xA3), o3(0xE6,0x94,0xAB), - o3(0xE6,0x94,0xB4), o3(0xE6,0x94,0xB5), - o3(0xE6,0x94,0xB7), o3(0xE6,0x94,0xB6), - o3(0xE6,0x94,0xB8), o3(0xE7,0x95,0x8B), - o3(0xE6,0x95,0x88), o3(0xE6,0x95,0x96), - o3(0xE6,0x95,0x95), o3(0xE6,0x95,0x8D), - o3(0xE6,0x95,0x98), o3(0xE6,0x95,0x9E), - o3(0xE6,0x95,0x9D), o3(0xE6,0x95,0xB2), - o3(0xE6,0x95,0xB8), o3(0xE6,0x96,0x82), - o3(0xE6,0x96,0x83), o3(0xE8,0xAE,0x8A), - o3(0xE6,0x96,0x9B), o3(0xE6,0x96,0x9F), - o3(0xE6,0x96,0xAB), o3(0xE6,0x96,0xB7), - o3(0xE6,0x97,0x83), o3(0xE6,0x97,0x86), - o3(0xE6,0x97,0x81), o3(0xE6,0x97,0x84), - o3(0xE6,0x97,0x8C), o3(0xE6,0x97,0x92), - o3(0xE6,0x97,0x9B), o3(0xE6,0x97,0x99), - o3(0xE6,0x97,0xA0), o3(0xE6,0x97,0xA1), - o3(0xE6,0x97,0xB1), o3(0xE6,0x9D,0xB2), - o3(0xE6,0x98,0x8A), o3(0xE6,0x98,0x83), - o3(0xE6,0x97,0xBB), o3(0xE6,0x9D,0xB3), - o3(0xE6,0x98,0xB5), o3(0xE6,0x98,0xB6), - o3(0xE6,0x98,0xB4), o3(0xE6,0x98,0x9C), - o3(0xE6,0x99,0x8F), o3(0xE6,0x99,0x84), - o3(0xE6,0x99,0x89), o3(0xE6,0x99,0x81), - o3(0xE6,0x99,0x9E), o3(0xE6,0x99,0x9D), - o3(0xE6,0x99,0xA4), o3(0xE6,0x99,0xA7), - o3(0xE6,0x99,0xA8), o3(0xE6,0x99,0x9F), - o3(0xE6,0x99,0xA2), o3(0xE6,0x99,0xB0), - o3(0xE6,0x9A,0x83), o3(0xE6,0x9A,0x88), - o3(0xE6,0x9A,0x8E), o3(0xE6,0x9A,0x89), - o3(0xE6,0x9A,0x84), o3(0xE6,0x9A,0x98), - o3(0xE6,0x9A,0x9D), o3(0xE6,0x9B,0x81), - o3(0xE6,0x9A,0xB9), o3(0xE6,0x9B,0x89), - o3(0xE6,0x9A,0xBE), o3(0xE6,0x9A,0xBC), - UNDEF, -}; -static const BYTE_LOOKUP -from_SHIFT_JIS_9D = { - from_SHIFT_JIS_89_offsets, - from_SHIFT_JIS_9D_infos -}; - -static const struct byte_lookup* const -from_SHIFT_JIS_9E_infos[189] = { - o3(0xE6,0x9B,0x84), o3(0xE6,0x9A,0xB8), - o3(0xE6,0x9B,0x96), o3(0xE6,0x9B,0x9A), - o3(0xE6,0x9B,0xA0), o3(0xE6,0x98,0xBF), - o3(0xE6,0x9B,0xA6), o3(0xE6,0x9B,0xA9), - o3(0xE6,0x9B,0xB0), o3(0xE6,0x9B,0xB5), - o3(0xE6,0x9B,0xB7), o3(0xE6,0x9C,0x8F), - o3(0xE6,0x9C,0x96), o3(0xE6,0x9C,0x9E), - o3(0xE6,0x9C,0xA6), o3(0xE6,0x9C,0xA7), - o3(0xE9,0x9C,0xB8), o3(0xE6,0x9C,0xAE), - o3(0xE6,0x9C,0xBF), o3(0xE6,0x9C,0xB6), - o3(0xE6,0x9D,0x81), o3(0xE6,0x9C,0xB8), - o3(0xE6,0x9C,0xB7), o3(0xE6,0x9D,0x86), - o3(0xE6,0x9D,0x9E), o3(0xE6,0x9D,0xA0), - o3(0xE6,0x9D,0x99), o3(0xE6,0x9D,0xA3), - o3(0xE6,0x9D,0xA4), o3(0xE6,0x9E,0x89), - o3(0xE6,0x9D,0xB0), o3(0xE6,0x9E,0xA9), - o3(0xE6,0x9D,0xBC), o3(0xE6,0x9D,0xAA), - o3(0xE6,0x9E,0x8C), o3(0xE6,0x9E,0x8B), - o3(0xE6,0x9E,0xA6), o3(0xE6,0x9E,0xA1), - o3(0xE6,0x9E,0x85), o3(0xE6,0x9E,0xB7), - o3(0xE6,0x9F,0xAF), o3(0xE6,0x9E,0xB4), - o3(0xE6,0x9F,0xAC), o3(0xE6,0x9E,0xB3), - o3(0xE6,0x9F,0xA9), o3(0xE6,0x9E,0xB8), - o3(0xE6,0x9F,0xA4), o3(0xE6,0x9F,0x9E), - o3(0xE6,0x9F,0x9D), o3(0xE6,0x9F,0xA2), - o3(0xE6,0x9F,0xAE), o3(0xE6,0x9E,0xB9), - o3(0xE6,0x9F,0x8E), o3(0xE6,0x9F,0x86), - o3(0xE6,0x9F,0xA7), o3(0xE6,0xAA,0x9C), - o3(0xE6,0xA0,0x9E), o3(0xE6,0xA1,0x86), - o3(0xE6,0xA0,0xA9), o3(0xE6,0xA1,0x80), - o3(0xE6,0xA1,0x8D), o3(0xE6,0xA0,0xB2), - o3(0xE6,0xA1,0x8E), o3(0xE6,0xA2,0xB3), - o3(0xE6,0xA0,0xAB), o3(0xE6,0xA1,0x99), - o3(0xE6,0xA1,0xA3), o3(0xE6,0xA1,0xB7), - o3(0xE6,0xA1,0xBF), o3(0xE6,0xA2,0x9F), - o3(0xE6,0xA2,0x8F), o3(0xE6,0xA2,0xAD), - o3(0xE6,0xA2,0x94), o3(0xE6,0xA2,0x9D), - o3(0xE6,0xA2,0x9B), o3(0xE6,0xA2,0x83), - o3(0xE6,0xAA,0xAE), o3(0xE6,0xA2,0xB9), - o3(0xE6,0xA1,0xB4), o3(0xE6,0xA2,0xB5), - o3(0xE6,0xA2,0xA0), o3(0xE6,0xA2,0xBA), - o3(0xE6,0xA4,0x8F), o3(0xE6,0xA2,0x8D), - o3(0xE6,0xA1,0xBE), o3(0xE6,0xA4,0x81), - o3(0xE6,0xA3,0x8A), o3(0xE6,0xA4,0x88), - o3(0xE6,0xA3,0x98), o3(0xE6,0xA4,0xA2), - o3(0xE6,0xA4,0xA6), o3(0xE6,0xA3,0xA1), - o3(0xE6,0xA4,0x8C), o3(0xE6,0xA3,0x8D), - o3(0xE6,0xA3,0x94), o3(0xE6,0xA3,0xA7), - o3(0xE6,0xA3,0x95), o3(0xE6,0xA4,0xB6), - o3(0xE6,0xA4,0x92), o3(0xE6,0xA4,0x84), - o3(0xE6,0xA3,0x97), o3(0xE6,0xA3,0xA3), - o3(0xE6,0xA4,0xA5), o3(0xE6,0xA3,0xB9), - o3(0xE6,0xA3,0xA0), o3(0xE6,0xA3,0xAF), - o3(0xE6,0xA4,0xA8), o3(0xE6,0xA4,0xAA), - o3(0xE6,0xA4,0x9A), o3(0xE6,0xA4,0xA3), - o3(0xE6,0xA4,0xA1), o3(0xE6,0xA3,0x86), - o3(0xE6,0xA5,0xB9), o3(0xE6,0xA5,0xB7), - o3(0xE6,0xA5,0x9C), o3(0xE6,0xA5,0xB8), - o3(0xE6,0xA5,0xAB), o3(0xE6,0xA5,0x94), - o3(0xE6,0xA5,0xBE), o3(0xE6,0xA5,0xAE), - o3(0xE6,0xA4,0xB9), o3(0xE6,0xA5,0xB4), - o3(0xE6,0xA4,0xBD), o3(0xE6,0xA5,0x99), - o3(0xE6,0xA4,0xB0), o3(0xE6,0xA5,0xA1), - o3(0xE6,0xA5,0x9E), o3(0xE6,0xA5,0x9D), - o3(0xE6,0xA6,0x81), o3(0xE6,0xA5,0xAA), - o3(0xE6,0xA6,0xB2), o3(0xE6,0xA6,0xAE), - o3(0xE6,0xA7,0x90), o3(0xE6,0xA6,0xBF), - o3(0xE6,0xA7,0x81), o3(0xE6,0xA7,0x93), - o3(0xE6,0xA6,0xBE), o3(0xE6,0xA7,0x8E), - o3(0xE5,0xAF,0xA8), o3(0xE6,0xA7,0x8A), - o3(0xE6,0xA7,0x9D), o3(0xE6,0xA6,0xBB), - o3(0xE6,0xA7,0x83), o3(0xE6,0xA6,0xA7), - o3(0xE6,0xA8,0xAE), o3(0xE6,0xA6,0x91), - o3(0xE6,0xA6,0xA0), o3(0xE6,0xA6,0x9C), - o3(0xE6,0xA6,0x95), o3(0xE6,0xA6,0xB4), - o3(0xE6,0xA7,0x9E), o3(0xE6,0xA7,0xA8), - o3(0xE6,0xA8,0x82), o3(0xE6,0xA8,0x9B), - o3(0xE6,0xA7,0xBF), o3(0xE6,0xAC,0x8A), - o3(0xE6,0xA7,0xB9), o3(0xE6,0xA7,0xB2), - o3(0xE6,0xA7,0xA7), o3(0xE6,0xA8,0x85), - o3(0xE6,0xA6,0xB1), o3(0xE6,0xA8,0x9E), - o3(0xE6,0xA7,0xAD), o3(0xE6,0xA8,0x94), - o3(0xE6,0xA7,0xAB), o3(0xE6,0xA8,0x8A), - o3(0xE6,0xA8,0x92), o3(0xE6,0xAB,0x81), - o3(0xE6,0xA8,0xA3), o3(0xE6,0xA8,0x93), - o3(0xE6,0xA9,0x84), o3(0xE6,0xA8,0x8C), - o3(0xE6,0xA9,0xB2), o3(0xE6,0xA8,0xB6), - o3(0xE6,0xA9,0xB8), o3(0xE6,0xA9,0x87), - o3(0xE6,0xA9,0xA2), o3(0xE6,0xA9,0x99), - o3(0xE6,0xA9,0xA6), o3(0xE6,0xA9,0x88), - o3(0xE6,0xA8,0xB8), o3(0xE6,0xA8,0xA2), - o3(0xE6,0xAA,0x90), o3(0xE6,0xAA,0x8D), - o3(0xE6,0xAA,0xA0), o3(0xE6,0xAA,0x84), - o3(0xE6,0xAA,0xA2), o3(0xE6,0xAA,0xA3), - UNDEF, -}; -static const BYTE_LOOKUP -from_SHIFT_JIS_9E = { - from_SHIFT_JIS_89_offsets, - from_SHIFT_JIS_9E_infos -}; - -static const struct byte_lookup* const -from_SHIFT_JIS_9F_infos[189] = { - o3(0xE6,0xAA,0x97), o3(0xE8,0x98,0x97), - o3(0xE6,0xAA,0xBB), o3(0xE6,0xAB,0x83), - o3(0xE6,0xAB,0x82), o3(0xE6,0xAA,0xB8), - o3(0xE6,0xAA,0xB3), o3(0xE6,0xAA,0xAC), - o3(0xE6,0xAB,0x9E), o3(0xE6,0xAB,0x91), - o3(0xE6,0xAB,0x9F), o3(0xE6,0xAA,0xAA), - o3(0xE6,0xAB,0x9A), o3(0xE6,0xAB,0xAA), - o3(0xE6,0xAB,0xBB), o3(0xE6,0xAC,0x85), - o3(0xE8,0x98,0x96), o3(0xE6,0xAB,0xBA), - o3(0xE6,0xAC,0x92), o3(0xE6,0xAC,0x96), - o3(0xE9,0xAC,0xB1), o3(0xE6,0xAC,0x9F), - o3(0xE6,0xAC,0xB8), o3(0xE6,0xAC,0xB7), - o3(0xE7,0x9B,0x9C), o3(0xE6,0xAC,0xB9), - o3(0xE9,0xA3,0xAE), o3(0xE6,0xAD,0x87), - o3(0xE6,0xAD,0x83), o3(0xE6,0xAD,0x89), - o3(0xE6,0xAD,0x90), o3(0xE6,0xAD,0x99), - o3(0xE6,0xAD,0x94), o3(0xE6,0xAD,0x9B), - o3(0xE6,0xAD,0x9F), o3(0xE6,0xAD,0xA1), - o3(0xE6,0xAD,0xB8), o3(0xE6,0xAD,0xB9), - o3(0xE6,0xAD,0xBF), o3(0xE6,0xAE,0x80), - o3(0xE6,0xAE,0x84), o3(0xE6,0xAE,0x83), - o3(0xE6,0xAE,0x8D), o3(0xE6,0xAE,0x98), - o3(0xE6,0xAE,0x95), o3(0xE6,0xAE,0x9E), - o3(0xE6,0xAE,0xA4), o3(0xE6,0xAE,0xAA), - o3(0xE6,0xAE,0xAB), o3(0xE6,0xAE,0xAF), - o3(0xE6,0xAE,0xB2), o3(0xE6,0xAE,0xB1), - o3(0xE6,0xAE,0xB3), o3(0xE6,0xAE,0xB7), - o3(0xE6,0xAE,0xBC), o3(0xE6,0xAF,0x86), - o3(0xE6,0xAF,0x8B), o3(0xE6,0xAF,0x93), - o3(0xE6,0xAF,0x9F), o3(0xE6,0xAF,0xAC), - o3(0xE6,0xAF,0xAB), o3(0xE6,0xAF,0xB3), - o3(0xE6,0xAF,0xAF), o3(0xE9,0xBA,0xBE), - o3(0xE6,0xB0,0x88), o3(0xE6,0xB0,0x93), - o3(0xE6,0xB0,0x94), o3(0xE6,0xB0,0x9B), - o3(0xE6,0xB0,0xA4), o3(0xE6,0xB0,0xA3), - o3(0xE6,0xB1,0x9E), o3(0xE6,0xB1,0x95), - o3(0xE6,0xB1,0xA2), o3(0xE6,0xB1,0xAA), - o3(0xE6,0xB2,0x82), o3(0xE6,0xB2,0x8D), - o3(0xE6,0xB2,0x9A), o3(0xE6,0xB2,0x81), - o3(0xE6,0xB2,0x9B), o3(0xE6,0xB1,0xBE), - o3(0xE6,0xB1,0xA8), o3(0xE6,0xB1,0xB3), - o3(0xE6,0xB2,0x92), o3(0xE6,0xB2,0x90), - o3(0xE6,0xB3,0x84), o3(0xE6,0xB3,0xB1), - o3(0xE6,0xB3,0x93), o3(0xE6,0xB2,0xBD), - o3(0xE6,0xB3,0x97), o3(0xE6,0xB3,0x85), - o3(0xE6,0xB3,0x9D), o3(0xE6,0xB2,0xAE), - o3(0xE6,0xB2,0xB1), o3(0xE6,0xB2,0xBE), - o3(0xE6,0xB2,0xBA), o3(0xE6,0xB3,0x9B), - o3(0xE6,0xB3,0xAF), o3(0xE6,0xB3,0x99), - o3(0xE6,0xB3,0xAA), o3(0xE6,0xB4,0x9F), - o3(0xE8,0xA1,0x8D), o3(0xE6,0xB4,0xB6), - o3(0xE6,0xB4,0xAB), o3(0xE6,0xB4,0xBD), - o3(0xE6,0xB4,0xB8), o3(0xE6,0xB4,0x99), - o3(0xE6,0xB4,0xB5), o3(0xE6,0xB4,0xB3), - o3(0xE6,0xB4,0x92), o3(0xE6,0xB4,0x8C), - o3(0xE6,0xB5,0xA3), o3(0xE6,0xB6,0x93), - o3(0xE6,0xB5,0xA4), o3(0xE6,0xB5,0x9A), - o3(0xE6,0xB5,0xB9), o3(0xE6,0xB5,0x99), - o3(0xE6,0xB6,0x8E), o3(0xE6,0xB6,0x95), - o3(0xE6,0xBF,0xA4), o3(0xE6,0xB6,0x85), - o3(0xE6,0xB7,0xB9), o3(0xE6,0xB8,0x95), - o3(0xE6,0xB8,0x8A), o3(0xE6,0xB6,0xB5), - o3(0xE6,0xB7,0x87), o3(0xE6,0xB7,0xA6), - o3(0xE6,0xB6,0xB8), o3(0xE6,0xB7,0x86), - o3(0xE6,0xB7,0xAC), o3(0xE6,0xB7,0x9E), - o3(0xE6,0xB7,0x8C), o3(0xE6,0xB7,0xA8), - o3(0xE6,0xB7,0x92), o3(0xE6,0xB7,0x85), - o3(0xE6,0xB7,0xBA), o3(0xE6,0xB7,0x99), - o3(0xE6,0xB7,0xA4), o3(0xE6,0xB7,0x95), - o3(0xE6,0xB7,0xAA), o3(0xE6,0xB7,0xAE), - o3(0xE6,0xB8,0xAD), o3(0xE6,0xB9,0xAE), - o3(0xE6,0xB8,0xAE), o3(0xE6,0xB8,0x99), - o3(0xE6,0xB9,0xB2), o3(0xE6,0xB9,0x9F), - o3(0xE6,0xB8,0xBE), o3(0xE6,0xB8,0xA3), - o3(0xE6,0xB9,0xAB), o3(0xE6,0xB8,0xAB), - o3(0xE6,0xB9,0xB6), o3(0xE6,0xB9,0x8D), - o3(0xE6,0xB8,0x9F), o3(0xE6,0xB9,0x83), - o3(0xE6,0xB8,0xBA), o3(0xE6,0xB9,0x8E), - o3(0xE6,0xB8,0xA4), o3(0xE6,0xBB,0xBF), - o3(0xE6,0xB8,0x9D), o3(0xE6,0xB8,0xB8), - o3(0xE6,0xBA,0x82), o3(0xE6,0xBA,0xAA), - o3(0xE6,0xBA,0x98), o3(0xE6,0xBB,0x89), - o3(0xE6,0xBA,0xB7), o3(0xE6,0xBB,0x93), - o3(0xE6,0xBA,0xBD), o3(0xE6,0xBA,0xAF), - o3(0xE6,0xBB,0x84), o3(0xE6,0xBA,0xB2), - o3(0xE6,0xBB,0x94), o3(0xE6,0xBB,0x95), - o3(0xE6,0xBA,0x8F), o3(0xE6,0xBA,0xA5), - o3(0xE6,0xBB,0x82), o3(0xE6,0xBA,0x9F), - o3(0xE6,0xBD,0x81), o3(0xE6,0xBC,0x91), - o3(0xE7,0x81,0x8C), o3(0xE6,0xBB,0xAC), - o3(0xE6,0xBB,0xB8), o3(0xE6,0xBB,0xBE), - o3(0xE6,0xBC,0xBF), o3(0xE6,0xBB,0xB2), - o3(0xE6,0xBC,0xB1), o3(0xE6,0xBB,0xAF), - o3(0xE6,0xBC,0xB2), o3(0xE6,0xBB,0x8C), - UNDEF, -}; -static const BYTE_LOOKUP -from_SHIFT_JIS_9F = { - from_SHIFT_JIS_89_offsets, - from_SHIFT_JIS_9F_infos -}; - -static const struct byte_lookup* const -from_SHIFT_JIS_E0_infos[189] = { - o3(0xE6,0xBC,0xBE), o3(0xE6,0xBC,0x93), - o3(0xE6,0xBB,0xB7), o3(0xE6,0xBE,0x86), - o3(0xE6,0xBD,0xBA), o3(0xE6,0xBD,0xB8), - o3(0xE6,0xBE,0x81), o3(0xE6,0xBE,0x80), - o3(0xE6,0xBD,0xAF), o3(0xE6,0xBD,0x9B), - o3(0xE6,0xBF,0xB3), o3(0xE6,0xBD,0xAD), - o3(0xE6,0xBE,0x82), o3(0xE6,0xBD,0xBC), - o3(0xE6,0xBD,0x98), o3(0xE6,0xBE,0x8E), - o3(0xE6,0xBE,0x91), o3(0xE6,0xBF,0x82), - o3(0xE6,0xBD,0xA6), o3(0xE6,0xBE,0xB3), - o3(0xE6,0xBE,0xA3), o3(0xE6,0xBE,0xA1), - o3(0xE6,0xBE,0xA4), o3(0xE6,0xBE,0xB9), - o3(0xE6,0xBF,0x86), o3(0xE6,0xBE,0xAA), - o3(0xE6,0xBF,0x9F), o3(0xE6,0xBF,0x95), - o3(0xE6,0xBF,0xAC), o3(0xE6,0xBF,0x94), - o3(0xE6,0xBF,0x98), o3(0xE6,0xBF,0xB1), - o3(0xE6,0xBF,0xAE), o3(0xE6,0xBF,0x9B), - o3(0xE7,0x80,0x89), o3(0xE7,0x80,0x8B), - o3(0xE6,0xBF,0xBA), o3(0xE7,0x80,0x91), - o3(0xE7,0x80,0x81), o3(0xE7,0x80,0x8F), - o3(0xE6,0xBF,0xBE), o3(0xE7,0x80,0x9B), - o3(0xE7,0x80,0x9A), o3(0xE6,0xBD,0xB4), - o3(0xE7,0x80,0x9D), o3(0xE7,0x80,0x98), - o3(0xE7,0x80,0x9F), o3(0xE7,0x80,0xB0), - o3(0xE7,0x80,0xBE), o3(0xE7,0x80,0xB2), - o3(0xE7,0x81,0x91), o3(0xE7,0x81,0xA3), - o3(0xE7,0x82,0x99), o3(0xE7,0x82,0x92), - o3(0xE7,0x82,0xAF), o3(0xE7,0x83,0xB1), - o3(0xE7,0x82,0xAC), o3(0xE7,0x82,0xB8), - o3(0xE7,0x82,0xB3), o3(0xE7,0x82,0xAE), - o3(0xE7,0x83,0x9F), o3(0xE7,0x83,0x8B), - o3(0xE7,0x83,0x9D), o3(0xE7,0x83,0x99), - o3(0xE7,0x84,0x89), o3(0xE7,0x83,0xBD), - o3(0xE7,0x84,0x9C), o3(0xE7,0x84,0x99), - o3(0xE7,0x85,0xA5), o3(0xE7,0x85,0x95), - o3(0xE7,0x86,0x88), o3(0xE7,0x85,0xA6), - o3(0xE7,0x85,0xA2), o3(0xE7,0x85,0x8C), - o3(0xE7,0x85,0x96), o3(0xE7,0x85,0xAC), - o3(0xE7,0x86,0x8F), o3(0xE7,0x87,0xBB), - o3(0xE7,0x86,0x84), o3(0xE7,0x86,0x95), - o3(0xE7,0x86,0xA8), o3(0xE7,0x86,0xAC), - o3(0xE7,0x87,0x97), o3(0xE7,0x86,0xB9), - o3(0xE7,0x86,0xBE), o3(0xE7,0x87,0x92), - o3(0xE7,0x87,0x89), o3(0xE7,0x87,0x94), - o3(0xE7,0x87,0x8E), o3(0xE7,0x87,0xA0), - o3(0xE7,0x87,0xAC), o3(0xE7,0x87,0xA7), - o3(0xE7,0x87,0xB5), o3(0xE7,0x87,0xBC), - o3(0xE7,0x87,0xB9), o3(0xE7,0x87,0xBF), - o3(0xE7,0x88,0x8D), o3(0xE7,0x88,0x90), - o3(0xE7,0x88,0x9B), o3(0xE7,0x88,0xA8), - o3(0xE7,0x88,0xAD), o3(0xE7,0x88,0xAC), - o3(0xE7,0x88,0xB0), o3(0xE7,0x88,0xB2), - o3(0xE7,0x88,0xBB), o3(0xE7,0x88,0xBC), - o3(0xE7,0x88,0xBF), o3(0xE7,0x89,0x80), - o3(0xE7,0x89,0x86), o3(0xE7,0x89,0x8B), - o3(0xE7,0x89,0x98), o3(0xE7,0x89,0xB4), - o3(0xE7,0x89,0xBE), o3(0xE7,0x8A,0x82), - o3(0xE7,0x8A,0x81), o3(0xE7,0x8A,0x87), - o3(0xE7,0x8A,0x92), o3(0xE7,0x8A,0x96), - o3(0xE7,0x8A,0xA2), o3(0xE7,0x8A,0xA7), - o3(0xE7,0x8A,0xB9), o3(0xE7,0x8A,0xB2), - o3(0xE7,0x8B,0x83), o3(0xE7,0x8B,0x86), - o3(0xE7,0x8B,0x84), o3(0xE7,0x8B,0x8E), - o3(0xE7,0x8B,0x92), o3(0xE7,0x8B,0xA2), - o3(0xE7,0x8B,0xA0), o3(0xE7,0x8B,0xA1), - o3(0xE7,0x8B,0xB9), o3(0xE7,0x8B,0xB7), - o3(0xE5,0x80,0x8F), o3(0xE7,0x8C,0x97), - o3(0xE7,0x8C,0x8A), o3(0xE7,0x8C,0x9C), - o3(0xE7,0x8C,0x96), o3(0xE7,0x8C,0x9D), - o3(0xE7,0x8C,0xB4), o3(0xE7,0x8C,0xAF), - o3(0xE7,0x8C,0xA9), o3(0xE7,0x8C,0xA5), - o3(0xE7,0x8C,0xBE), o3(0xE7,0x8D,0x8E), - o3(0xE7,0x8D,0x8F), o3(0xE9,0xBB,0x98), - o3(0xE7,0x8D,0x97), o3(0xE7,0x8D,0xAA), - o3(0xE7,0x8D,0xA8), o3(0xE7,0x8D,0xB0), - o3(0xE7,0x8D,0xB8), o3(0xE7,0x8D,0xB5), - o3(0xE7,0x8D,0xBB), o3(0xE7,0x8D,0xBA), - o3(0xE7,0x8F,0x88), o3(0xE7,0x8E,0xB3), - o3(0xE7,0x8F,0x8E), o3(0xE7,0x8E,0xBB), - o3(0xE7,0x8F,0x80), o3(0xE7,0x8F,0xA5), - o3(0xE7,0x8F,0xAE), o3(0xE7,0x8F,0x9E), - o3(0xE7,0x92,0xA2), o3(0xE7,0x90,0x85), - o3(0xE7,0x91,0xAF), o3(0xE7,0x90,0xA5), - o3(0xE7,0x8F,0xB8), o3(0xE7,0x90,0xB2), - o3(0xE7,0x90,0xBA), o3(0xE7,0x91,0x95), - o3(0xE7,0x90,0xBF), o3(0xE7,0x91,0x9F), - o3(0xE7,0x91,0x99), o3(0xE7,0x91,0x81), - o3(0xE7,0x91,0x9C), o3(0xE7,0x91,0xA9), - o3(0xE7,0x91,0xB0), o3(0xE7,0x91,0xA3), - o3(0xE7,0x91,0xAA), o3(0xE7,0x91,0xB6), - o3(0xE7,0x91,0xBE), o3(0xE7,0x92,0x8B), - o3(0xE7,0x92,0x9E), o3(0xE7,0x92,0xA7), - o3(0xE7,0x93,0x8A), o3(0xE7,0x93,0x8F), - o3(0xE7,0x93,0x94), o3(0xE7,0x8F,0xB1), - UNDEF, -}; -static const BYTE_LOOKUP -from_SHIFT_JIS_E0 = { - from_SHIFT_JIS_89_offsets, - from_SHIFT_JIS_E0_infos -}; - -static const struct byte_lookup* const -from_SHIFT_JIS_E1_infos[189] = { - o3(0xE7,0x93,0xA0), o3(0xE7,0x93,0xA3), - o3(0xE7,0x93,0xA7), o3(0xE7,0x93,0xA9), - o3(0xE7,0x93,0xAE), o3(0xE7,0x93,0xB2), - o3(0xE7,0x93,0xB0), o3(0xE7,0x93,0xB1), - o3(0xE7,0x93,0xB8), o3(0xE7,0x93,0xB7), - o3(0xE7,0x94,0x84), o3(0xE7,0x94,0x83), - o3(0xE7,0x94,0x85), o3(0xE7,0x94,0x8C), - o3(0xE7,0x94,0x8E), o3(0xE7,0x94,0x8D), - o3(0xE7,0x94,0x95), o3(0xE7,0x94,0x93), - o3(0xE7,0x94,0x9E), o3(0xE7,0x94,0xA6), - o3(0xE7,0x94,0xAC), o3(0xE7,0x94,0xBC), - o3(0xE7,0x95,0x84), o3(0xE7,0x95,0x8D), - o3(0xE7,0x95,0x8A), o3(0xE7,0x95,0x89), - o3(0xE7,0x95,0x9B), o3(0xE7,0x95,0x86), - o3(0xE7,0x95,0x9A), o3(0xE7,0x95,0xA9), - o3(0xE7,0x95,0xA4), o3(0xE7,0x95,0xA7), - o3(0xE7,0x95,0xAB), o3(0xE7,0x95,0xAD), - o3(0xE7,0x95,0xB8), o3(0xE7,0x95,0xB6), - o3(0xE7,0x96,0x86), o3(0xE7,0x96,0x87), - o3(0xE7,0x95,0xB4), o3(0xE7,0x96,0x8A), - o3(0xE7,0x96,0x89), o3(0xE7,0x96,0x82), - o3(0xE7,0x96,0x94), o3(0xE7,0x96,0x9A), - o3(0xE7,0x96,0x9D), o3(0xE7,0x96,0xA5), - o3(0xE7,0x96,0xA3), o3(0xE7,0x97,0x82), - o3(0xE7,0x96,0xB3), o3(0xE7,0x97,0x83), - o3(0xE7,0x96,0xB5), o3(0xE7,0x96,0xBD), - o3(0xE7,0x96,0xB8), o3(0xE7,0x96,0xBC), - o3(0xE7,0x96,0xB1), o3(0xE7,0x97,0x8D), - o3(0xE7,0x97,0x8A), o3(0xE7,0x97,0x92), - o3(0xE7,0x97,0x99), o3(0xE7,0x97,0xA3), - o3(0xE7,0x97,0x9E), o3(0xE7,0x97,0xBE), - o3(0xE7,0x97,0xBF), o3(0xE7,0x97,0xBC), - o3(0xE7,0x98,0x81), o3(0xE7,0x97,0xB0), - o3(0xE7,0x97,0xBA), o3(0xE7,0x97,0xB2), - o3(0xE7,0x97,0xB3), o3(0xE7,0x98,0x8B), - o3(0xE7,0x98,0x8D), o3(0xE7,0x98,0x89), - o3(0xE7,0x98,0x9F), o3(0xE7,0x98,0xA7), - o3(0xE7,0x98,0xA0), o3(0xE7,0x98,0xA1), - o3(0xE7,0x98,0xA2), o3(0xE7,0x98,0xA4), - o3(0xE7,0x98,0xB4), o3(0xE7,0x98,0xB0), - o3(0xE7,0x98,0xBB), o3(0xE7,0x99,0x87), - o3(0xE7,0x99,0x88), o3(0xE7,0x99,0x86), - o3(0xE7,0x99,0x9C), o3(0xE7,0x99,0x98), - o3(0xE7,0x99,0xA1), o3(0xE7,0x99,0xA2), - o3(0xE7,0x99,0xA8), o3(0xE7,0x99,0xA9), - o3(0xE7,0x99,0xAA), o3(0xE7,0x99,0xA7), - o3(0xE7,0x99,0xAC), o3(0xE7,0x99,0xB0), - o3(0xE7,0x99,0xB2), o3(0xE7,0x99,0xB6), - o3(0xE7,0x99,0xB8), o3(0xE7,0x99,0xBC), - o3(0xE7,0x9A,0x80), o3(0xE7,0x9A,0x83), - o3(0xE7,0x9A,0x88), o3(0xE7,0x9A,0x8B), - o3(0xE7,0x9A,0x8E), o3(0xE7,0x9A,0x96), - o3(0xE7,0x9A,0x93), o3(0xE7,0x9A,0x99), - o3(0xE7,0x9A,0x9A), o3(0xE7,0x9A,0xB0), - o3(0xE7,0x9A,0xB4), o3(0xE7,0x9A,0xB8), - o3(0xE7,0x9A,0xB9), o3(0xE7,0x9A,0xBA), - o3(0xE7,0x9B,0x82), o3(0xE7,0x9B,0x8D), - o3(0xE7,0x9B,0x96), o3(0xE7,0x9B,0x92), - o3(0xE7,0x9B,0x9E), o3(0xE7,0x9B,0xA1), - o3(0xE7,0x9B,0xA5), o3(0xE7,0x9B,0xA7), - o3(0xE7,0x9B,0xAA), o3(0xE8,0x98,0xAF), - o3(0xE7,0x9B,0xBB), o3(0xE7,0x9C,0x88), - o3(0xE7,0x9C,0x87), o3(0xE7,0x9C,0x84), - o3(0xE7,0x9C,0xA9), o3(0xE7,0x9C,0xA4), - o3(0xE7,0x9C,0x9E), o3(0xE7,0x9C,0xA5), - o3(0xE7,0x9C,0xA6), o3(0xE7,0x9C,0x9B), - o3(0xE7,0x9C,0xB7), o3(0xE7,0x9C,0xB8), - o3(0xE7,0x9D,0x87), o3(0xE7,0x9D,0x9A), - o3(0xE7,0x9D,0xA8), o3(0xE7,0x9D,0xAB), - o3(0xE7,0x9D,0x9B), o3(0xE7,0x9D,0xA5), - o3(0xE7,0x9D,0xBF), o3(0xE7,0x9D,0xBE), - o3(0xE7,0x9D,0xB9), o3(0xE7,0x9E,0x8E), - o3(0xE7,0x9E,0x8B), o3(0xE7,0x9E,0x91), - o3(0xE7,0x9E,0xA0), o3(0xE7,0x9E,0x9E), - o3(0xE7,0x9E,0xB0), o3(0xE7,0x9E,0xB6), - o3(0xE7,0x9E,0xB9), o3(0xE7,0x9E,0xBF), - o3(0xE7,0x9E,0xBC), o3(0xE7,0x9E,0xBD), - o3(0xE7,0x9E,0xBB), o3(0xE7,0x9F,0x87), - o3(0xE7,0x9F,0x8D), o3(0xE7,0x9F,0x97), - o3(0xE7,0x9F,0x9A), o3(0xE7,0x9F,0x9C), - o3(0xE7,0x9F,0xA3), o3(0xE7,0x9F,0xAE), - o3(0xE7,0x9F,0xBC), o3(0xE7,0xA0,0x8C), - o3(0xE7,0xA0,0x92), o3(0xE7,0xA4,0xA6), - o3(0xE7,0xA0,0xA0), o3(0xE7,0xA4,0xAA), - o3(0xE7,0xA1,0x85), o3(0xE7,0xA2,0x8E), - o3(0xE7,0xA1,0xB4), o3(0xE7,0xA2,0x86), - o3(0xE7,0xA1,0xBC), o3(0xE7,0xA2,0x9A), - o3(0xE7,0xA2,0x8C), o3(0xE7,0xA2,0xA3), - o3(0xE7,0xA2,0xB5), o3(0xE7,0xA2,0xAA), - o3(0xE7,0xA2,0xAF), o3(0xE7,0xA3,0x91), - o3(0xE7,0xA3,0x86), o3(0xE7,0xA3,0x8B), - o3(0xE7,0xA3,0x94), o3(0xE7,0xA2,0xBE), - o3(0xE7,0xA2,0xBC), o3(0xE7,0xA3,0x85), - o3(0xE7,0xA3,0x8A), o3(0xE7,0xA3,0xAC), - UNDEF, -}; -static const BYTE_LOOKUP -from_SHIFT_JIS_E1 = { - from_SHIFT_JIS_89_offsets, - from_SHIFT_JIS_E1_infos -}; - -static const struct byte_lookup* const -from_SHIFT_JIS_E2_infos[189] = { - o3(0xE7,0xA3,0xA7), o3(0xE7,0xA3,0x9A), - o3(0xE7,0xA3,0xBD), o3(0xE7,0xA3,0xB4), - o3(0xE7,0xA4,0x87), o3(0xE7,0xA4,0x92), - o3(0xE7,0xA4,0x91), o3(0xE7,0xA4,0x99), - o3(0xE7,0xA4,0xAC), o3(0xE7,0xA4,0xAB), - o3(0xE7,0xA5,0x80), o3(0xE7,0xA5,0xA0), - o3(0xE7,0xA5,0x97), o3(0xE7,0xA5,0x9F), - o3(0xE7,0xA5,0x9A), o3(0xE7,0xA5,0x95), - o3(0xE7,0xA5,0x93), o3(0xE7,0xA5,0xBA), - o3(0xE7,0xA5,0xBF), o3(0xE7,0xA6,0x8A), - o3(0xE7,0xA6,0x9D), o3(0xE7,0xA6,0xA7), - o3(0xE9,0xBD,0x8B), o3(0xE7,0xA6,0xAA), - o3(0xE7,0xA6,0xAE), o3(0xE7,0xA6,0xB3), - o3(0xE7,0xA6,0xB9), o3(0xE7,0xA6,0xBA), - o3(0xE7,0xA7,0x89), o3(0xE7,0xA7,0x95), - o3(0xE7,0xA7,0xA7), o3(0xE7,0xA7,0xAC), - o3(0xE7,0xA7,0xA1), o3(0xE7,0xA7,0xA3), - o3(0xE7,0xA8,0x88), o3(0xE7,0xA8,0x8D), - o3(0xE7,0xA8,0x98), o3(0xE7,0xA8,0x99), - o3(0xE7,0xA8,0xA0), o3(0xE7,0xA8,0x9F), - o3(0xE7,0xA6,0x80), o3(0xE7,0xA8,0xB1), - o3(0xE7,0xA8,0xBB), o3(0xE7,0xA8,0xBE), - o3(0xE7,0xA8,0xB7), o3(0xE7,0xA9,0x83), - o3(0xE7,0xA9,0x97), o3(0xE7,0xA9,0x89), - o3(0xE7,0xA9,0xA1), o3(0xE7,0xA9,0xA2), - o3(0xE7,0xA9,0xA9), o3(0xE9,0xBE,0x9D), - o3(0xE7,0xA9,0xB0), o3(0xE7,0xA9,0xB9), - o3(0xE7,0xA9,0xBD), o3(0xE7,0xAA,0x88), - o3(0xE7,0xAA,0x97), o3(0xE7,0xAA,0x95), - o3(0xE7,0xAA,0x98), o3(0xE7,0xAA,0x96), - o3(0xE7,0xAA,0xA9), o3(0xE7,0xAB,0x88), - o3(0xE7,0xAA,0xB0), o3(0xE7,0xAA,0xB6), - o3(0xE7,0xAB,0x85), o3(0xE7,0xAB,0x84), - o3(0xE7,0xAA,0xBF), o3(0xE9,0x82,0x83), - o3(0xE7,0xAB,0x87), o3(0xE7,0xAB,0x8A), - o3(0xE7,0xAB,0x8D), o3(0xE7,0xAB,0x8F), - o3(0xE7,0xAB,0x95), o3(0xE7,0xAB,0x93), - o3(0xE7,0xAB,0x99), o3(0xE7,0xAB,0x9A), - o3(0xE7,0xAB,0x9D), o3(0xE7,0xAB,0xA1), - o3(0xE7,0xAB,0xA2), o3(0xE7,0xAB,0xA6), - o3(0xE7,0xAB,0xAD), o3(0xE7,0xAB,0xB0), - o3(0xE7,0xAC,0x82), o3(0xE7,0xAC,0x8F), - o3(0xE7,0xAC,0x8A), o3(0xE7,0xAC,0x86), - o3(0xE7,0xAC,0xB3), o3(0xE7,0xAC,0x98), - o3(0xE7,0xAC,0x99), o3(0xE7,0xAC,0x9E), - o3(0xE7,0xAC,0xB5), o3(0xE7,0xAC,0xA8), - o3(0xE7,0xAC,0xB6), o3(0xE7,0xAD,0x90), - o3(0xE7,0xAD,0xBA), o3(0xE7,0xAC,0x84), - o3(0xE7,0xAD,0x8D), o3(0xE7,0xAC,0x8B), - o3(0xE7,0xAD,0x8C), o3(0xE7,0xAD,0x85), - o3(0xE7,0xAD,0xB5), o3(0xE7,0xAD,0xA5), - o3(0xE7,0xAD,0xB4), o3(0xE7,0xAD,0xA7), - o3(0xE7,0xAD,0xB0), o3(0xE7,0xAD,0xB1), - o3(0xE7,0xAD,0xAC), o3(0xE7,0xAD,0xAE), - o3(0xE7,0xAE,0x9D), o3(0xE7,0xAE,0x98), - o3(0xE7,0xAE,0x9F), o3(0xE7,0xAE,0x8D), - o3(0xE7,0xAE,0x9C), o3(0xE7,0xAE,0x9A), - o3(0xE7,0xAE,0x8B), o3(0xE7,0xAE,0x92), - o3(0xE7,0xAE,0x8F), o3(0xE7,0xAD,0x9D), - o3(0xE7,0xAE,0x99), o3(0xE7,0xAF,0x8B), - o3(0xE7,0xAF,0x81), o3(0xE7,0xAF,0x8C), - o3(0xE7,0xAF,0x8F), o3(0xE7,0xAE,0xB4), - o3(0xE7,0xAF,0x86), o3(0xE7,0xAF,0x9D), - o3(0xE7,0xAF,0xA9), o3(0xE7,0xB0,0x91), - o3(0xE7,0xB0,0x94), o3(0xE7,0xAF,0xA6), - o3(0xE7,0xAF,0xA5), o3(0xE7,0xB1,0xA0), - o3(0xE7,0xB0,0x80), o3(0xE7,0xB0,0x87), - o3(0xE7,0xB0,0x93), o3(0xE7,0xAF,0xB3), - o3(0xE7,0xAF,0xB7), o3(0xE7,0xB0,0x97), - o3(0xE7,0xB0,0x8D), o3(0xE7,0xAF,0xB6), - o3(0xE7,0xB0,0xA3), o3(0xE7,0xB0,0xA7), - o3(0xE7,0xB0,0xAA), o3(0xE7,0xB0,0x9F), - o3(0xE7,0xB0,0xB7), o3(0xE7,0xB0,0xAB), - o3(0xE7,0xB0,0xBD), o3(0xE7,0xB1,0x8C), - o3(0xE7,0xB1,0x83), o3(0xE7,0xB1,0x94), - o3(0xE7,0xB1,0x8F), o3(0xE7,0xB1,0x80), - o3(0xE7,0xB1,0x90), o3(0xE7,0xB1,0x98), - o3(0xE7,0xB1,0x9F), o3(0xE7,0xB1,0xA4), - o3(0xE7,0xB1,0x96), o3(0xE7,0xB1,0xA5), - o3(0xE7,0xB1,0xAC), o3(0xE7,0xB1,0xB5), - o3(0xE7,0xB2,0x83), o3(0xE7,0xB2,0x90), - o3(0xE7,0xB2,0xA4), o3(0xE7,0xB2,0xAD), - o3(0xE7,0xB2,0xA2), o3(0xE7,0xB2,0xAB), - o3(0xE7,0xB2,0xA1), o3(0xE7,0xB2,0xA8), - o3(0xE7,0xB2,0xB3), o3(0xE7,0xB2,0xB2), - o3(0xE7,0xB2,0xB1), o3(0xE7,0xB2,0xAE), - o3(0xE7,0xB2,0xB9), o3(0xE7,0xB2,0xBD), - o3(0xE7,0xB3,0x80), o3(0xE7,0xB3,0x85), - o3(0xE7,0xB3,0x82), o3(0xE7,0xB3,0x98), - o3(0xE7,0xB3,0x92), o3(0xE7,0xB3,0x9C), - o3(0xE7,0xB3,0xA2), o3(0xE9,0xAC,0xBB), - o3(0xE7,0xB3,0xAF), o3(0xE7,0xB3,0xB2), - o3(0xE7,0xB3,0xB4), o3(0xE7,0xB3,0xB6), - o3(0xE7,0xB3,0xBA), o3(0xE7,0xB4,0x86), - UNDEF, -}; -static const BYTE_LOOKUP -from_SHIFT_JIS_E2 = { - from_SHIFT_JIS_89_offsets, - from_SHIFT_JIS_E2_infos -}; - -static const struct byte_lookup* const -from_SHIFT_JIS_E3_infos[189] = { - o3(0xE7,0xB4,0x82), o3(0xE7,0xB4,0x9C), - o3(0xE7,0xB4,0x95), o3(0xE7,0xB4,0x8A), - o3(0xE7,0xB5,0x85), o3(0xE7,0xB5,0x8B), - o3(0xE7,0xB4,0xAE), o3(0xE7,0xB4,0xB2), - o3(0xE7,0xB4,0xBF), o3(0xE7,0xB4,0xB5), - o3(0xE7,0xB5,0x86), o3(0xE7,0xB5,0xB3), - o3(0xE7,0xB5,0x96), o3(0xE7,0xB5,0x8E), - o3(0xE7,0xB5,0xB2), o3(0xE7,0xB5,0xA8), - o3(0xE7,0xB5,0xAE), o3(0xE7,0xB5,0x8F), - o3(0xE7,0xB5,0xA3), o3(0xE7,0xB6,0x93), - o3(0xE7,0xB6,0x89), o3(0xE7,0xB5,0x9B), - o3(0xE7,0xB6,0x8F), o3(0xE7,0xB5,0xBD), - o3(0xE7,0xB6,0x9B), o3(0xE7,0xB6,0xBA), - o3(0xE7,0xB6,0xAE), o3(0xE7,0xB6,0xA3), - o3(0xE7,0xB6,0xB5), o3(0xE7,0xB7,0x87), - o3(0xE7,0xB6,0xBD), o3(0xE7,0xB6,0xAB), - o3(0xE7,0xB8,0xBD), o3(0xE7,0xB6,0xA2), - o3(0xE7,0xB6,0xAF), o3(0xE7,0xB7,0x9C), - o3(0xE7,0xB6,0xB8), o3(0xE7,0xB6,0x9F), - o3(0xE7,0xB6,0xB0), o3(0xE7,0xB7,0x98), - o3(0xE7,0xB7,0x9D), o3(0xE7,0xB7,0xA4), - o3(0xE7,0xB7,0x9E), o3(0xE7,0xB7,0xBB), - o3(0xE7,0xB7,0xB2), o3(0xE7,0xB7,0xA1), - o3(0xE7,0xB8,0x85), o3(0xE7,0xB8,0x8A), - o3(0xE7,0xB8,0xA3), o3(0xE7,0xB8,0xA1), - o3(0xE7,0xB8,0x92), o3(0xE7,0xB8,0xB1), - o3(0xE7,0xB8,0x9F), o3(0xE7,0xB8,0x89), - o3(0xE7,0xB8,0x8B), o3(0xE7,0xB8,0xA2), - o3(0xE7,0xB9,0x86), o3(0xE7,0xB9,0xA6), - o3(0xE7,0xB8,0xBB), o3(0xE7,0xB8,0xB5), - o3(0xE7,0xB8,0xB9), o3(0xE7,0xB9,0x83), - o3(0xE7,0xB8,0xB7), o3(0xE7,0xB8,0xB2), - o3(0xE7,0xB8,0xBA), o3(0xE7,0xB9,0xA7), - o3(0xE7,0xB9,0x9D), o3(0xE7,0xB9,0x96), - o3(0xE7,0xB9,0x9E), o3(0xE7,0xB9,0x99), - o3(0xE7,0xB9,0x9A), o3(0xE7,0xB9,0xB9), - o3(0xE7,0xB9,0xAA), o3(0xE7,0xB9,0xA9), - o3(0xE7,0xB9,0xBC), o3(0xE7,0xB9,0xBB), - o3(0xE7,0xBA,0x83), o3(0xE7,0xB7,0x95), - o3(0xE7,0xB9,0xBD), o3(0xE8,0xBE,0xAE), - o3(0xE7,0xB9,0xBF), o3(0xE7,0xBA,0x88), - o3(0xE7,0xBA,0x89), o3(0xE7,0xBA,0x8C), - o3(0xE7,0xBA,0x92), o3(0xE7,0xBA,0x90), - o3(0xE7,0xBA,0x93), o3(0xE7,0xBA,0x94), - o3(0xE7,0xBA,0x96), o3(0xE7,0xBA,0x8E), - o3(0xE7,0xBA,0x9B), o3(0xE7,0xBA,0x9C), - o3(0xE7,0xBC,0xB8), o3(0xE7,0xBC,0xBA), - o3(0xE7,0xBD,0x85), o3(0xE7,0xBD,0x8C), - o3(0xE7,0xBD,0x8D), o3(0xE7,0xBD,0x8E), - o3(0xE7,0xBD,0x90), o3(0xE7,0xBD,0x91), - o3(0xE7,0xBD,0x95), o3(0xE7,0xBD,0x94), - o3(0xE7,0xBD,0x98), o3(0xE7,0xBD,0x9F), - o3(0xE7,0xBD,0xA0), o3(0xE7,0xBD,0xA8), - o3(0xE7,0xBD,0xA9), o3(0xE7,0xBD,0xA7), - o3(0xE7,0xBD,0xB8), o3(0xE7,0xBE,0x82), - o3(0xE7,0xBE,0x86), o3(0xE7,0xBE,0x83), - o3(0xE7,0xBE,0x88), o3(0xE7,0xBE,0x87), - o3(0xE7,0xBE,0x8C), o3(0xE7,0xBE,0x94), - o3(0xE7,0xBE,0x9E), o3(0xE7,0xBE,0x9D), - o3(0xE7,0xBE,0x9A), o3(0xE7,0xBE,0xA3), - o3(0xE7,0xBE,0xAF), o3(0xE7,0xBE,0xB2), - o3(0xE7,0xBE,0xB9), o3(0xE7,0xBE,0xAE), - o3(0xE7,0xBE,0xB6), o3(0xE7,0xBE,0xB8), - o3(0xE8,0xAD,0xB1), o3(0xE7,0xBF,0x85), - o3(0xE7,0xBF,0x86), o3(0xE7,0xBF,0x8A), - o3(0xE7,0xBF,0x95), o3(0xE7,0xBF,0x94), - o3(0xE7,0xBF,0xA1), o3(0xE7,0xBF,0xA6), - o3(0xE7,0xBF,0xA9), o3(0xE7,0xBF,0xB3), - o3(0xE7,0xBF,0xB9), o3(0xE9,0xA3,0x9C), - o3(0xE8,0x80,0x86), o3(0xE8,0x80,0x84), - o3(0xE8,0x80,0x8B), o3(0xE8,0x80,0x92), - o3(0xE8,0x80,0x98), o3(0xE8,0x80,0x99), - o3(0xE8,0x80,0x9C), o3(0xE8,0x80,0xA1), - o3(0xE8,0x80,0xA8), o3(0xE8,0x80,0xBF), - o3(0xE8,0x80,0xBB), o3(0xE8,0x81,0x8A), - o3(0xE8,0x81,0x86), o3(0xE8,0x81,0x92), - o3(0xE8,0x81,0x98), o3(0xE8,0x81,0x9A), - o3(0xE8,0x81,0x9F), o3(0xE8,0x81,0xA2), - o3(0xE8,0x81,0xA8), o3(0xE8,0x81,0xB3), - o3(0xE8,0x81,0xB2), o3(0xE8,0x81,0xB0), - o3(0xE8,0x81,0xB6), o3(0xE8,0x81,0xB9), - o3(0xE8,0x81,0xBD), o3(0xE8,0x81,0xBF), - o3(0xE8,0x82,0x84), o3(0xE8,0x82,0x86), - o3(0xE8,0x82,0x85), o3(0xE8,0x82,0x9B), - o3(0xE8,0x82,0x93), o3(0xE8,0x82,0x9A), - o3(0xE8,0x82,0xAD), o3(0xE5,0x86,0x90), - o3(0xE8,0x82,0xAC), o3(0xE8,0x83,0x9B), - o3(0xE8,0x83,0xA5), o3(0xE8,0x83,0x99), - o3(0xE8,0x83,0x9D), o3(0xE8,0x83,0x84), - o3(0xE8,0x83,0x9A), o3(0xE8,0x83,0x96), - o3(0xE8,0x84,0x89), o3(0xE8,0x83,0xAF), - o3(0xE8,0x83,0xB1), o3(0xE8,0x84,0x9B), - o3(0xE8,0x84,0xA9), o3(0xE8,0x84,0xA3), - o3(0xE8,0x84,0xAF), o3(0xE8,0x85,0x8B), - UNDEF, -}; -static const BYTE_LOOKUP -from_SHIFT_JIS_E3 = { - from_SHIFT_JIS_89_offsets, - from_SHIFT_JIS_E3_infos -}; - -static const struct byte_lookup* const -from_SHIFT_JIS_E4_infos[189] = { - o3(0xE9,0x9A,0x8B), o3(0xE8,0x85,0x86), - o3(0xE8,0x84,0xBE), o3(0xE8,0x85,0x93), - o3(0xE8,0x85,0x91), o3(0xE8,0x83,0xBC), - o3(0xE8,0x85,0xB1), o3(0xE8,0x85,0xAE), - o3(0xE8,0x85,0xA5), o3(0xE8,0x85,0xA6), - o3(0xE8,0x85,0xB4), o3(0xE8,0x86,0x83), - o3(0xE8,0x86,0x88), o3(0xE8,0x86,0x8A), - o3(0xE8,0x86,0x80), o3(0xE8,0x86,0x82), - o3(0xE8,0x86,0xA0), o3(0xE8,0x86,0x95), - o3(0xE8,0x86,0xA4), o3(0xE8,0x86,0xA3), - o3(0xE8,0x85,0x9F), o3(0xE8,0x86,0x93), - o3(0xE8,0x86,0xA9), o3(0xE8,0x86,0xB0), - o3(0xE8,0x86,0xB5), o3(0xE8,0x86,0xBE), - o3(0xE8,0x86,0xB8), o3(0xE8,0x86,0xBD), - o3(0xE8,0x87,0x80), o3(0xE8,0x87,0x82), - o3(0xE8,0x86,0xBA), o3(0xE8,0x87,0x89), - o3(0xE8,0x87,0x8D), o3(0xE8,0x87,0x91), - o3(0xE8,0x87,0x99), o3(0xE8,0x87,0x98), - o3(0xE8,0x87,0x88), o3(0xE8,0x87,0x9A), - o3(0xE8,0x87,0x9F), o3(0xE8,0x87,0xA0), - o3(0xE8,0x87,0xA7), o3(0xE8,0x87,0xBA), - o3(0xE8,0x87,0xBB), o3(0xE8,0x87,0xBE), - o3(0xE8,0x88,0x81), o3(0xE8,0x88,0x82), - o3(0xE8,0x88,0x85), o3(0xE8,0x88,0x87), - o3(0xE8,0x88,0x8A), o3(0xE8,0x88,0x8D), - o3(0xE8,0x88,0x90), o3(0xE8,0x88,0x96), - o3(0xE8,0x88,0xA9), o3(0xE8,0x88,0xAB), - o3(0xE8,0x88,0xB8), o3(0xE8,0x88,0xB3), - o3(0xE8,0x89,0x80), o3(0xE8,0x89,0x99), - o3(0xE8,0x89,0x98), o3(0xE8,0x89,0x9D), - o3(0xE8,0x89,0x9A), o3(0xE8,0x89,0x9F), - o3(0xE8,0x89,0xA4), o3(0xE8,0x89,0xA2), - o3(0xE8,0x89,0xA8), o3(0xE8,0x89,0xAA), - o3(0xE8,0x89,0xAB), o3(0xE8,0x88,0xAE), - o3(0xE8,0x89,0xB1), o3(0xE8,0x89,0xB7), - o3(0xE8,0x89,0xB8), o3(0xE8,0x89,0xBE), - o3(0xE8,0x8A,0x8D), o3(0xE8,0x8A,0x92), - o3(0xE8,0x8A,0xAB), o3(0xE8,0x8A,0x9F), - o3(0xE8,0x8A,0xBB), o3(0xE8,0x8A,0xAC), - o3(0xE8,0x8B,0xA1), o3(0xE8,0x8B,0xA3), - o3(0xE8,0x8B,0x9F), o3(0xE8,0x8B,0x92), - o3(0xE8,0x8B,0xB4), o3(0xE8,0x8B,0xB3), - o3(0xE8,0x8B,0xBA), o3(0xE8,0x8E,0x93), - o3(0xE8,0x8C,0x83), o3(0xE8,0x8B,0xBB), - o3(0xE8,0x8B,0xB9), o3(0xE8,0x8B,0x9E), - o3(0xE8,0x8C,0x86), o3(0xE8,0x8B,0x9C), - o3(0xE8,0x8C,0x89), o3(0xE8,0x8B,0x99), - o3(0xE8,0x8C,0xB5), o3(0xE8,0x8C,0xB4), - o3(0xE8,0x8C,0x96), o3(0xE8,0x8C,0xB2), - o3(0xE8,0x8C,0xB1), o3(0xE8,0x8D,0x80), - o3(0xE8,0x8C,0xB9), o3(0xE8,0x8D,0x90), - o3(0xE8,0x8D,0x85), o3(0xE8,0x8C,0xAF), - o3(0xE8,0x8C,0xAB), o3(0xE8,0x8C,0x97), - o3(0xE8,0x8C,0x98), o3(0xE8,0x8E,0x85), - o3(0xE8,0x8E,0x9A), o3(0xE8,0x8E,0xAA), - o3(0xE8,0x8E,0x9F), o3(0xE8,0x8E,0xA2), - o3(0xE8,0x8E,0x96), o3(0xE8,0x8C,0xA3), - o3(0xE8,0x8E,0x8E), o3(0xE8,0x8E,0x87), - o3(0xE8,0x8E,0x8A), o3(0xE8,0x8D,0xBC), - o3(0xE8,0x8E,0xB5), o3(0xE8,0x8D,0xB3), - o3(0xE8,0x8D,0xB5), o3(0xE8,0x8E,0xA0), - o3(0xE8,0x8E,0x89), o3(0xE8,0x8E,0xA8), - o3(0xE8,0x8F,0xB4), o3(0xE8,0x90,0x93), - o3(0xE8,0x8F,0xAB), o3(0xE8,0x8F,0x8E), - o3(0xE8,0x8F,0xBD), o3(0xE8,0x90,0x83), - o3(0xE8,0x8F,0x98), o3(0xE8,0x90,0x8B), - o3(0xE8,0x8F,0x81), o3(0xE8,0x8F,0xB7), - o3(0xE8,0x90,0x87), o3(0xE8,0x8F,0xA0), - o3(0xE8,0x8F,0xB2), o3(0xE8,0x90,0x8D), - o3(0xE8,0x90,0xA2), o3(0xE8,0x90,0xA0), - o3(0xE8,0x8E,0xBD), o3(0xE8,0x90,0xB8), - o3(0xE8,0x94,0x86), o3(0xE8,0x8F,0xBB), - o3(0xE8,0x91,0xAD), o3(0xE8,0x90,0xAA), - o3(0xE8,0x90,0xBC), o3(0xE8,0x95,0x9A), - o3(0xE8,0x92,0x84), o3(0xE8,0x91,0xB7), - o3(0xE8,0x91,0xAB), o3(0xE8,0x92,0xAD), - o3(0xE8,0x91,0xAE), o3(0xE8,0x92,0x82), - o3(0xE8,0x91,0xA9), o3(0xE8,0x91,0x86), - o3(0xE8,0x90,0xAC), o3(0xE8,0x91,0xAF), - o3(0xE8,0x91,0xB9), o3(0xE8,0x90,0xB5), - o3(0xE8,0x93,0x8A), o3(0xE8,0x91,0xA2), - o3(0xE8,0x92,0xB9), o3(0xE8,0x92,0xBF), - o3(0xE8,0x92,0x9F), o3(0xE8,0x93,0x99), - o3(0xE8,0x93,0x8D), o3(0xE8,0x92,0xBB), - o3(0xE8,0x93,0x9A), o3(0xE8,0x93,0x90), - o3(0xE8,0x93,0x81), o3(0xE8,0x93,0x86), - o3(0xE8,0x93,0x96), o3(0xE8,0x92,0xA1), - o3(0xE8,0x94,0xA1), o3(0xE8,0x93,0xBF), - o3(0xE8,0x93,0xB4), o3(0xE8,0x94,0x97), - o3(0xE8,0x94,0x98), o3(0xE8,0x94,0xAC), - o3(0xE8,0x94,0x9F), o3(0xE8,0x94,0x95), - o3(0xE8,0x94,0x94), o3(0xE8,0x93,0xBC), - o3(0xE8,0x95,0x80), o3(0xE8,0x95,0xA3), - o3(0xE8,0x95,0x98), o3(0xE8,0x95,0x88), - UNDEF, -}; -static const BYTE_LOOKUP -from_SHIFT_JIS_E4 = { - from_SHIFT_JIS_89_offsets, - from_SHIFT_JIS_E4_infos -}; - -static const struct byte_lookup* const -from_SHIFT_JIS_E5_infos[189] = { - o3(0xE8,0x95,0x81), o3(0xE8,0x98,0x82), - o3(0xE8,0x95,0x8B), o3(0xE8,0x95,0x95), - o3(0xE8,0x96,0x80), o3(0xE8,0x96,0xA4), - o3(0xE8,0x96,0x88), o3(0xE8,0x96,0x91), - o3(0xE8,0x96,0x8A), o3(0xE8,0x96,0xA8), - o3(0xE8,0x95,0xAD), o3(0xE8,0x96,0x94), - o3(0xE8,0x96,0x9B), o3(0xE8,0x97,0xAA), - o3(0xE8,0x96,0x87), o3(0xE8,0x96,0x9C), - o3(0xE8,0x95,0xB7), o3(0xE8,0x95,0xBE), - o3(0xE8,0x96,0x90), o3(0xE8,0x97,0x89), - o3(0xE8,0x96,0xBA), o3(0xE8,0x97,0x8F), - o3(0xE8,0x96,0xB9), o3(0xE8,0x97,0x90), - o3(0xE8,0x97,0x95), o3(0xE8,0x97,0x9D), - o3(0xE8,0x97,0xA5), o3(0xE8,0x97,0x9C), - o3(0xE8,0x97,0xB9), o3(0xE8,0x98,0x8A), - o3(0xE8,0x98,0x93), o3(0xE8,0x98,0x8B), - o3(0xE8,0x97,0xBE), o3(0xE8,0x97,0xBA), - o3(0xE8,0x98,0x86), o3(0xE8,0x98,0xA2), - o3(0xE8,0x98,0x9A), o3(0xE8,0x98,0xB0), - o3(0xE8,0x98,0xBF), o3(0xE8,0x99,0x8D), - o3(0xE4,0xB9,0x95), o3(0xE8,0x99,0x94), - o3(0xE8,0x99,0x9F), o3(0xE8,0x99,0xA7), - o3(0xE8,0x99,0xB1), o3(0xE8,0x9A,0x93), - o3(0xE8,0x9A,0xA3), o3(0xE8,0x9A,0xA9), - o3(0xE8,0x9A,0xAA), o3(0xE8,0x9A,0x8B), - o3(0xE8,0x9A,0x8C), o3(0xE8,0x9A,0xB6), - o3(0xE8,0x9A,0xAF), o3(0xE8,0x9B,0x84), - o3(0xE8,0x9B,0x86), o3(0xE8,0x9A,0xB0), - o3(0xE8,0x9B,0x89), o3(0xE8,0xA0,0xA3), - o3(0xE8,0x9A,0xAB), o3(0xE8,0x9B,0x94), - o3(0xE8,0x9B,0x9E), o3(0xE8,0x9B,0xA9), - o3(0xE8,0x9B,0xAC), o3(0xE8,0x9B,0x9F), - o3(0xE8,0x9B,0x9B), o3(0xE8,0x9B,0xAF), - o3(0xE8,0x9C,0x92), o3(0xE8,0x9C,0x86), - o3(0xE8,0x9C,0x88), o3(0xE8,0x9C,0x80), - o3(0xE8,0x9C,0x83), o3(0xE8,0x9B,0xBB), - o3(0xE8,0x9C,0x91), o3(0xE8,0x9C,0x89), - o3(0xE8,0x9C,0x8D), o3(0xE8,0x9B,0xB9), - o3(0xE8,0x9C,0x8A), o3(0xE8,0x9C,0xB4), - o3(0xE8,0x9C,0xBF), o3(0xE8,0x9C,0xB7), - o3(0xE8,0x9C,0xBB), o3(0xE8,0x9C,0xA5), - o3(0xE8,0x9C,0xA9), o3(0xE8,0x9C,0x9A), - o3(0xE8,0x9D,0xA0), o3(0xE8,0x9D,0x9F), - o3(0xE8,0x9D,0xB8), o3(0xE8,0x9D,0x8C), - o3(0xE8,0x9D,0x8E), o3(0xE8,0x9D,0xB4), - o3(0xE8,0x9D,0x97), o3(0xE8,0x9D,0xA8), - o3(0xE8,0x9D,0xAE), o3(0xE8,0x9D,0x99), - o3(0xE8,0x9D,0x93), o3(0xE8,0x9D,0xA3), - o3(0xE8,0x9D,0xAA), o3(0xE8,0xA0,0x85), - o3(0xE8,0x9E,0xA2), o3(0xE8,0x9E,0x9F), - o3(0xE8,0x9E,0x82), o3(0xE8,0x9E,0xAF), - o3(0xE8,0x9F,0x8B), o3(0xE8,0x9E,0xBD), - o3(0xE8,0x9F,0x80), o3(0xE8,0x9F,0x90), - o3(0xE9,0x9B,0x96), o3(0xE8,0x9E,0xAB), - o3(0xE8,0x9F,0x84), o3(0xE8,0x9E,0xB3), - o3(0xE8,0x9F,0x87), o3(0xE8,0x9F,0x86), - o3(0xE8,0x9E,0xBB), o3(0xE8,0x9F,0xAF), - o3(0xE8,0x9F,0xB2), o3(0xE8,0x9F,0xA0), - o3(0xE8,0xA0,0x8F), o3(0xE8,0xA0,0x8D), - o3(0xE8,0x9F,0xBE), o3(0xE8,0x9F,0xB6), - o3(0xE8,0x9F,0xB7), o3(0xE8,0xA0,0x8E), - o3(0xE8,0x9F,0x92), o3(0xE8,0xA0,0x91), - o3(0xE8,0xA0,0x96), o3(0xE8,0xA0,0x95), - o3(0xE8,0xA0,0xA2), o3(0xE8,0xA0,0xA1), - o3(0xE8,0xA0,0xB1), o3(0xE8,0xA0,0xB6), - o3(0xE8,0xA0,0xB9), o3(0xE8,0xA0,0xA7), - o3(0xE8,0xA0,0xBB), o3(0xE8,0xA1,0x84), - o3(0xE8,0xA1,0x82), o3(0xE8,0xA1,0x92), - o3(0xE8,0xA1,0x99), o3(0xE8,0xA1,0x9E), - o3(0xE8,0xA1,0xA2), o3(0xE8,0xA1,0xAB), - o3(0xE8,0xA2,0x81), o3(0xE8,0xA1,0xBE), - o3(0xE8,0xA2,0x9E), o3(0xE8,0xA1,0xB5), - o3(0xE8,0xA1,0xBD), o3(0xE8,0xA2,0xB5), - o3(0xE8,0xA1,0xB2), o3(0xE8,0xA2,0x82), - o3(0xE8,0xA2,0x97), o3(0xE8,0xA2,0x92), - o3(0xE8,0xA2,0xAE), o3(0xE8,0xA2,0x99), - o3(0xE8,0xA2,0xA2), o3(0xE8,0xA2,0x8D), - o3(0xE8,0xA2,0xA4), o3(0xE8,0xA2,0xB0), - o3(0xE8,0xA2,0xBF), o3(0xE8,0xA2,0xB1), - o3(0xE8,0xA3,0x83), o3(0xE8,0xA3,0x84), - o3(0xE8,0xA3,0x94), o3(0xE8,0xA3,0x98), - o3(0xE8,0xA3,0x99), o3(0xE8,0xA3,0x9D), - o3(0xE8,0xA3,0xB9), o3(0xE8,0xA4,0x82), - o3(0xE8,0xA3,0xBC), o3(0xE8,0xA3,0xB4), - o3(0xE8,0xA3,0xA8), o3(0xE8,0xA3,0xB2), - o3(0xE8,0xA4,0x84), o3(0xE8,0xA4,0x8C), - o3(0xE8,0xA4,0x8A), o3(0xE8,0xA4,0x93), - o3(0xE8,0xA5,0x83), o3(0xE8,0xA4,0x9E), - o3(0xE8,0xA4,0xA5), o3(0xE8,0xA4,0xAA), - o3(0xE8,0xA4,0xAB), o3(0xE8,0xA5,0x81), - o3(0xE8,0xA5,0x84), o3(0xE8,0xA4,0xBB), - o3(0xE8,0xA4,0xB6), o3(0xE8,0xA4,0xB8), - o3(0xE8,0xA5,0x8C), o3(0xE8,0xA4,0x9D), - o3(0xE8,0xA5,0xA0), o3(0xE8,0xA5,0x9E), - UNDEF, -}; -static const BYTE_LOOKUP -from_SHIFT_JIS_E5 = { - from_SHIFT_JIS_89_offsets, - from_SHIFT_JIS_E5_infos -}; - -static const struct byte_lookup* const -from_SHIFT_JIS_E6_infos[189] = { - o3(0xE8,0xA5,0xA6), o3(0xE8,0xA5,0xA4), - o3(0xE8,0xA5,0xAD), o3(0xE8,0xA5,0xAA), - o3(0xE8,0xA5,0xAF), o3(0xE8,0xA5,0xB4), - o3(0xE8,0xA5,0xB7), o3(0xE8,0xA5,0xBE), - o3(0xE8,0xA6,0x83), o3(0xE8,0xA6,0x88), - o3(0xE8,0xA6,0x8A), o3(0xE8,0xA6,0x93), - o3(0xE8,0xA6,0x98), o3(0xE8,0xA6,0xA1), - o3(0xE8,0xA6,0xA9), o3(0xE8,0xA6,0xA6), - o3(0xE8,0xA6,0xAC), o3(0xE8,0xA6,0xAF), - o3(0xE8,0xA6,0xB2), o3(0xE8,0xA6,0xBA), - o3(0xE8,0xA6,0xBD), o3(0xE8,0xA6,0xBF), - o3(0xE8,0xA7,0x80), o3(0xE8,0xA7,0x9A), - o3(0xE8,0xA7,0x9C), o3(0xE8,0xA7,0x9D), - o3(0xE8,0xA7,0xA7), o3(0xE8,0xA7,0xB4), - o3(0xE8,0xA7,0xB8), o3(0xE8,0xA8,0x83), - o3(0xE8,0xA8,0x96), o3(0xE8,0xA8,0x90), - o3(0xE8,0xA8,0x8C), o3(0xE8,0xA8,0x9B), - o3(0xE8,0xA8,0x9D), o3(0xE8,0xA8,0xA5), - o3(0xE8,0xA8,0xB6), o3(0xE8,0xA9,0x81), - o3(0xE8,0xA9,0x9B), o3(0xE8,0xA9,0x92), - o3(0xE8,0xA9,0x86), o3(0xE8,0xA9,0x88), - o3(0xE8,0xA9,0xBC), o3(0xE8,0xA9,0xAD), - o3(0xE8,0xA9,0xAC), o3(0xE8,0xA9,0xA2), - o3(0xE8,0xAA,0x85), o3(0xE8,0xAA,0x82), - o3(0xE8,0xAA,0x84), o3(0xE8,0xAA,0xA8), - o3(0xE8,0xAA,0xA1), o3(0xE8,0xAA,0x91), - o3(0xE8,0xAA,0xA5), o3(0xE8,0xAA,0xA6), - o3(0xE8,0xAA,0x9A), o3(0xE8,0xAA,0xA3), - o3(0xE8,0xAB,0x84), o3(0xE8,0xAB,0x8D), - o3(0xE8,0xAB,0x82), o3(0xE8,0xAB,0x9A), - o3(0xE8,0xAB,0xAB), o3(0xE8,0xAB,0xB3), - o3(0xE8,0xAB,0xA7), o3(0xE8,0xAB,0xA4), - o3(0xE8,0xAB,0xB1), o3(0xE8,0xAC,0x94), - o3(0xE8,0xAB,0xA0), o3(0xE8,0xAB,0xA2), - o3(0xE8,0xAB,0xB7), o3(0xE8,0xAB,0x9E), - o3(0xE8,0xAB,0x9B), o3(0xE8,0xAC,0x8C), - o3(0xE8,0xAC,0x87), o3(0xE8,0xAC,0x9A), - o3(0xE8,0xAB,0xA1), o3(0xE8,0xAC,0x96), - o3(0xE8,0xAC,0x90), o3(0xE8,0xAC,0x97), - o3(0xE8,0xAC,0xA0), o3(0xE8,0xAC,0xB3), - o3(0xE9,0x9E,0xAB), o3(0xE8,0xAC,0xA6), - o3(0xE8,0xAC,0xAB), o3(0xE8,0xAC,0xBE), - o3(0xE8,0xAC,0xA8), o3(0xE8,0xAD,0x81), - o3(0xE8,0xAD,0x8C), o3(0xE8,0xAD,0x8F), - o3(0xE8,0xAD,0x8E), o3(0xE8,0xAD,0x89), - o3(0xE8,0xAD,0x96), o3(0xE8,0xAD,0x9B), - o3(0xE8,0xAD,0x9A), o3(0xE8,0xAD,0xAB), - o3(0xE8,0xAD,0x9F), o3(0xE8,0xAD,0xAC), - o3(0xE8,0xAD,0xAF), o3(0xE8,0xAD,0xB4), - o3(0xE8,0xAD,0xBD), o3(0xE8,0xAE,0x80), - o3(0xE8,0xAE,0x8C), o3(0xE8,0xAE,0x8E), - o3(0xE8,0xAE,0x92), o3(0xE8,0xAE,0x93), - o3(0xE8,0xAE,0x96), o3(0xE8,0xAE,0x99), - o3(0xE8,0xAE,0x9A), o3(0xE8,0xB0,0xBA), - o3(0xE8,0xB1,0x81), o3(0xE8,0xB0,0xBF), - o3(0xE8,0xB1,0x88), o3(0xE8,0xB1,0x8C), - o3(0xE8,0xB1,0x8E), o3(0xE8,0xB1,0x90), - o3(0xE8,0xB1,0x95), o3(0xE8,0xB1,0xA2), - o3(0xE8,0xB1,0xAC), o3(0xE8,0xB1,0xB8), - o3(0xE8,0xB1,0xBA), o3(0xE8,0xB2,0x82), - o3(0xE8,0xB2,0x89), o3(0xE8,0xB2,0x85), - o3(0xE8,0xB2,0x8A), o3(0xE8,0xB2,0x8D), - o3(0xE8,0xB2,0x8E), o3(0xE8,0xB2,0x94), - o3(0xE8,0xB1,0xBC), o3(0xE8,0xB2,0x98), - o3(0xE6,0x88,0x9D), o3(0xE8,0xB2,0xAD), - o3(0xE8,0xB2,0xAA), o3(0xE8,0xB2,0xBD), - o3(0xE8,0xB2,0xB2), o3(0xE8,0xB2,0xB3), - o3(0xE8,0xB2,0xAE), o3(0xE8,0xB2,0xB6), - o3(0xE8,0xB3,0x88), o3(0xE8,0xB3,0x81), - o3(0xE8,0xB3,0xA4), o3(0xE8,0xB3,0xA3), - o3(0xE8,0xB3,0x9A), o3(0xE8,0xB3,0xBD), - o3(0xE8,0xB3,0xBA), o3(0xE8,0xB3,0xBB), - o3(0xE8,0xB4,0x84), o3(0xE8,0xB4,0x85), - o3(0xE8,0xB4,0x8A), o3(0xE8,0xB4,0x87), - o3(0xE8,0xB4,0x8F), o3(0xE8,0xB4,0x8D), - o3(0xE8,0xB4,0x90), o3(0xE9,0xBD,0x8E), - o3(0xE8,0xB4,0x93), o3(0xE8,0xB3,0x8D), - o3(0xE8,0xB4,0x94), o3(0xE8,0xB4,0x96), - o3(0xE8,0xB5,0xA7), o3(0xE8,0xB5,0xAD), - o3(0xE8,0xB5,0xB1), o3(0xE8,0xB5,0xB3), - o3(0xE8,0xB6,0x81), o3(0xE8,0xB6,0x99), - o3(0xE8,0xB7,0x82), o3(0xE8,0xB6,0xBE), - o3(0xE8,0xB6,0xBA), o3(0xE8,0xB7,0x8F), - o3(0xE8,0xB7,0x9A), o3(0xE8,0xB7,0x96), - o3(0xE8,0xB7,0x8C), o3(0xE8,0xB7,0x9B), - o3(0xE8,0xB7,0x8B), o3(0xE8,0xB7,0xAA), - o3(0xE8,0xB7,0xAB), o3(0xE8,0xB7,0x9F), - o3(0xE8,0xB7,0xA3), o3(0xE8,0xB7,0xBC), - o3(0xE8,0xB8,0x88), o3(0xE8,0xB8,0x89), - o3(0xE8,0xB7,0xBF), o3(0xE8,0xB8,0x9D), - o3(0xE8,0xB8,0x9E), o3(0xE8,0xB8,0x90), - o3(0xE8,0xB8,0x9F), o3(0xE8,0xB9,0x82), - o3(0xE8,0xB8,0xB5), o3(0xE8,0xB8,0xB0), - o3(0xE8,0xB8,0xB4), o3(0xE8,0xB9,0x8A), - UNDEF, -}; -static const BYTE_LOOKUP -from_SHIFT_JIS_E6 = { - from_SHIFT_JIS_89_offsets, - from_SHIFT_JIS_E6_infos -}; - -static const struct byte_lookup* const -from_SHIFT_JIS_E7_infos[189] = { - o3(0xE8,0xB9,0x87), o3(0xE8,0xB9,0x89), - o3(0xE8,0xB9,0x8C), o3(0xE8,0xB9,0x90), - o3(0xE8,0xB9,0x88), o3(0xE8,0xB9,0x99), - o3(0xE8,0xB9,0xA4), o3(0xE8,0xB9,0xA0), - o3(0xE8,0xB8,0xAA), o3(0xE8,0xB9,0xA3), - o3(0xE8,0xB9,0x95), o3(0xE8,0xB9,0xB6), - o3(0xE8,0xB9,0xB2), o3(0xE8,0xB9,0xBC), - o3(0xE8,0xBA,0x81), o3(0xE8,0xBA,0x87), - o3(0xE8,0xBA,0x85), o3(0xE8,0xBA,0x84), - o3(0xE8,0xBA,0x8B), o3(0xE8,0xBA,0x8A), - o3(0xE8,0xBA,0x93), o3(0xE8,0xBA,0x91), - o3(0xE8,0xBA,0x94), o3(0xE8,0xBA,0x99), - o3(0xE8,0xBA,0xAA), o3(0xE8,0xBA,0xA1), - o3(0xE8,0xBA,0xAC), o3(0xE8,0xBA,0xB0), - o3(0xE8,0xBB,0x86), o3(0xE8,0xBA,0xB1), - o3(0xE8,0xBA,0xBE), o3(0xE8,0xBB,0x85), - o3(0xE8,0xBB,0x88), o3(0xE8,0xBB,0x8B), - o3(0xE8,0xBB,0x9B), o3(0xE8,0xBB,0xA3), - o3(0xE8,0xBB,0xBC), o3(0xE8,0xBB,0xBB), - o3(0xE8,0xBB,0xAB), o3(0xE8,0xBB,0xBE), - o3(0xE8,0xBC,0x8A), o3(0xE8,0xBC,0x85), - o3(0xE8,0xBC,0x95), o3(0xE8,0xBC,0x92), - o3(0xE8,0xBC,0x99), o3(0xE8,0xBC,0x93), - o3(0xE8,0xBC,0x9C), o3(0xE8,0xBC,0x9F), - o3(0xE8,0xBC,0x9B), o3(0xE8,0xBC,0x8C), - o3(0xE8,0xBC,0xA6), o3(0xE8,0xBC,0xB3), - o3(0xE8,0xBC,0xBB), o3(0xE8,0xBC,0xB9), - o3(0xE8,0xBD,0x85), o3(0xE8,0xBD,0x82), - o3(0xE8,0xBC,0xBE), o3(0xE8,0xBD,0x8C), - o3(0xE8,0xBD,0x89), o3(0xE8,0xBD,0x86), - o3(0xE8,0xBD,0x8E), o3(0xE8,0xBD,0x97), - o3(0xE8,0xBD,0x9C), o3(0xE8,0xBD,0xA2), - o3(0xE8,0xBD,0xA3), o3(0xE8,0xBD,0xA4), - o3(0xE8,0xBE,0x9C), o3(0xE8,0xBE,0x9F), - o3(0xE8,0xBE,0xA3), o3(0xE8,0xBE,0xAD), - o3(0xE8,0xBE,0xAF), o3(0xE8,0xBE,0xB7), - o3(0xE8,0xBF,0x9A), o3(0xE8,0xBF,0xA5), - o3(0xE8,0xBF,0xA2), o3(0xE8,0xBF,0xAA), - o3(0xE8,0xBF,0xAF), o3(0xE9,0x82,0x87), - o3(0xE8,0xBF,0xB4), o3(0xE9,0x80,0x85), - o3(0xE8,0xBF,0xB9), o3(0xE8,0xBF,0xBA), - o3(0xE9,0x80,0x91), o3(0xE9,0x80,0x95), - o3(0xE9,0x80,0xA1), o3(0xE9,0x80,0x8D), - o3(0xE9,0x80,0x9E), o3(0xE9,0x80,0x96), - o3(0xE9,0x80,0x8B), o3(0xE9,0x80,0xA7), - o3(0xE9,0x80,0xB6), o3(0xE9,0x80,0xB5), - o3(0xE9,0x80,0xB9), o3(0xE8,0xBF,0xB8), - o3(0xE9,0x81,0x8F), o3(0xE9,0x81,0x90), - o3(0xE9,0x81,0x91), o3(0xE9,0x81,0x92), - o3(0xE9,0x80,0x8E), o3(0xE9,0x81,0x89), - o3(0xE9,0x80,0xBE), o3(0xE9,0x81,0x96), - o3(0xE9,0x81,0x98), o3(0xE9,0x81,0x9E), - o3(0xE9,0x81,0xA8), o3(0xE9,0x81,0xAF), - o3(0xE9,0x81,0xB6), o3(0xE9,0x9A,0xA8), - o3(0xE9,0x81,0xB2), o3(0xE9,0x82,0x82), - o3(0xE9,0x81,0xBD), o3(0xE9,0x82,0x81), - o3(0xE9,0x82,0x80), o3(0xE9,0x82,0x8A), - o3(0xE9,0x82,0x89), o3(0xE9,0x82,0x8F), - o3(0xE9,0x82,0xA8), o3(0xE9,0x82,0xAF), - o3(0xE9,0x82,0xB1), o3(0xE9,0x82,0xB5), - o3(0xE9,0x83,0xA2), o3(0xE9,0x83,0xA4), - o3(0xE6,0x89,0x88), o3(0xE9,0x83,0x9B), - o3(0xE9,0x84,0x82), o3(0xE9,0x84,0x92), - o3(0xE9,0x84,0x99), o3(0xE9,0x84,0xB2), - o3(0xE9,0x84,0xB0), o3(0xE9,0x85,0x8A), - o3(0xE9,0x85,0x96), o3(0xE9,0x85,0x98), - o3(0xE9,0x85,0xA3), o3(0xE9,0x85,0xA5), - o3(0xE9,0x85,0xA9), o3(0xE9,0x85,0xB3), - o3(0xE9,0x85,0xB2), o3(0xE9,0x86,0x8B), - o3(0xE9,0x86,0x89), o3(0xE9,0x86,0x82), - o3(0xE9,0x86,0xA2), o3(0xE9,0x86,0xAB), - o3(0xE9,0x86,0xAF), o3(0xE9,0x86,0xAA), - o3(0xE9,0x86,0xB5), o3(0xE9,0x86,0xB4), - o3(0xE9,0x86,0xBA), o3(0xE9,0x87,0x80), - o3(0xE9,0x87,0x81), o3(0xE9,0x87,0x89), - o3(0xE9,0x87,0x8B), o3(0xE9,0x87,0x90), - o3(0xE9,0x87,0x96), o3(0xE9,0x87,0x9F), - o3(0xE9,0x87,0xA1), o3(0xE9,0x87,0x9B), - o3(0xE9,0x87,0xBC), o3(0xE9,0x87,0xB5), - o3(0xE9,0x87,0xB6), o3(0xE9,0x88,0x9E), - o3(0xE9,0x87,0xBF), o3(0xE9,0x88,0x94), - o3(0xE9,0x88,0xAC), o3(0xE9,0x88,0x95), - o3(0xE9,0x88,0x91), o3(0xE9,0x89,0x9E), - o3(0xE9,0x89,0x97), o3(0xE9,0x89,0x85), - o3(0xE9,0x89,0x89), o3(0xE9,0x89,0xA4), - o3(0xE9,0x89,0x88), o3(0xE9,0x8A,0x95), - o3(0xE9,0x88,0xBF), o3(0xE9,0x89,0x8B), - o3(0xE9,0x89,0x90), o3(0xE9,0x8A,0x9C), - o3(0xE9,0x8A,0x96), o3(0xE9,0x8A,0x93), - o3(0xE9,0x8A,0x9B), o3(0xE9,0x89,0x9A), - o3(0xE9,0x8B,0x8F), o3(0xE9,0x8A,0xB9), - o3(0xE9,0x8A,0xB7), o3(0xE9,0x8B,0xA9), - o3(0xE9,0x8C,0x8F), o3(0xE9,0x8B,0xBA), - o3(0xE9,0x8D,0x84), o3(0xE9,0x8C,0xAE), - UNDEF, -}; -static const BYTE_LOOKUP -from_SHIFT_JIS_E7 = { - from_SHIFT_JIS_89_offsets, - from_SHIFT_JIS_E7_infos -}; - -static const struct byte_lookup* const -from_SHIFT_JIS_E8_infos[189] = { - o3(0xE9,0x8C,0x99), o3(0xE9,0x8C,0xA2), - o3(0xE9,0x8C,0x9A), o3(0xE9,0x8C,0xA3), - o3(0xE9,0x8C,0xBA), o3(0xE9,0x8C,0xB5), - o3(0xE9,0x8C,0xBB), o3(0xE9,0x8D,0x9C), - o3(0xE9,0x8D,0xA0), o3(0xE9,0x8D,0xBC), - o3(0xE9,0x8D,0xAE), o3(0xE9,0x8D,0x96), - o3(0xE9,0x8E,0xB0), o3(0xE9,0x8E,0xAC), - o3(0xE9,0x8E,0xAD), o3(0xE9,0x8E,0x94), - o3(0xE9,0x8E,0xB9), o3(0xE9,0x8F,0x96), - o3(0xE9,0x8F,0x97), o3(0xE9,0x8F,0xA8), - o3(0xE9,0x8F,0xA5), o3(0xE9,0x8F,0x98), - o3(0xE9,0x8F,0x83), o3(0xE9,0x8F,0x9D), - o3(0xE9,0x8F,0x90), o3(0xE9,0x8F,0x88), - o3(0xE9,0x8F,0xA4), o3(0xE9,0x90,0x9A), - o3(0xE9,0x90,0x94), o3(0xE9,0x90,0x93), - o3(0xE9,0x90,0x83), o3(0xE9,0x90,0x87), - o3(0xE9,0x90,0x90), o3(0xE9,0x90,0xB6), - o3(0xE9,0x90,0xAB), o3(0xE9,0x90,0xB5), - o3(0xE9,0x90,0xA1), o3(0xE9,0x90,0xBA), - o3(0xE9,0x91,0x81), o3(0xE9,0x91,0x92), - o3(0xE9,0x91,0x84), o3(0xE9,0x91,0x9B), - o3(0xE9,0x91,0xA0), o3(0xE9,0x91,0xA2), - o3(0xE9,0x91,0x9E), o3(0xE9,0x91,0xAA), - o3(0xE9,0x88,0xA9), o3(0xE9,0x91,0xB0), - o3(0xE9,0x91,0xB5), o3(0xE9,0x91,0xB7), - o3(0xE9,0x91,0xBD), o3(0xE9,0x91,0x9A), - o3(0xE9,0x91,0xBC), o3(0xE9,0x91,0xBE), - o3(0xE9,0x92,0x81), o3(0xE9,0x91,0xBF), - o3(0xE9,0x96,0x82), o3(0xE9,0x96,0x87), - o3(0xE9,0x96,0x8A), o3(0xE9,0x96,0x94), - o3(0xE9,0x96,0x96), o3(0xE9,0x96,0x98), - o3(0xE9,0x96,0x99), o3(0xE9,0x96,0xA0), - o3(0xE9,0x96,0xA8), o3(0xE9,0x96,0xA7), - o3(0xE9,0x96,0xAD), o3(0xE9,0x96,0xBC), - o3(0xE9,0x96,0xBB), o3(0xE9,0x96,0xB9), - o3(0xE9,0x96,0xBE), o3(0xE9,0x97,0x8A), - o3(0xE6,0xBF,0xB6), o3(0xE9,0x97,0x83), - o3(0xE9,0x97,0x8D), o3(0xE9,0x97,0x8C), - o3(0xE9,0x97,0x95), o3(0xE9,0x97,0x94), - o3(0xE9,0x97,0x96), o3(0xE9,0x97,0x9C), - o3(0xE9,0x97,0xA1), o3(0xE9,0x97,0xA5), - o3(0xE9,0x97,0xA2), o3(0xE9,0x98,0xA1), - o3(0xE9,0x98,0xA8), o3(0xE9,0x98,0xAE), - o3(0xE9,0x98,0xAF), o3(0xE9,0x99,0x82), - o3(0xE9,0x99,0x8C), o3(0xE9,0x99,0x8F), - o3(0xE9,0x99,0x8B), o3(0xE9,0x99,0xB7), - o3(0xE9,0x99,0x9C), o3(0xE9,0x99,0x9E), - o3(0xE9,0x99,0x9D), o3(0xE9,0x99,0x9F), - o3(0xE9,0x99,0xA6), o3(0xE9,0x99,0xB2), - o3(0xE9,0x99,0xAC), o3(0xE9,0x9A,0x8D), - o3(0xE9,0x9A,0x98), o3(0xE9,0x9A,0x95), - o3(0xE9,0x9A,0x97), o3(0xE9,0x9A,0xAA), - o3(0xE9,0x9A,0xA7), o3(0xE9,0x9A,0xB1), - o3(0xE9,0x9A,0xB2), o3(0xE9,0x9A,0xB0), - o3(0xE9,0x9A,0xB4), o3(0xE9,0x9A,0xB6), - o3(0xE9,0x9A,0xB8), o3(0xE9,0x9A,0xB9), - o3(0xE9,0x9B,0x8E), o3(0xE9,0x9B,0x8B), - o3(0xE9,0x9B,0x89), o3(0xE9,0x9B,0x8D), - o3(0xE8,0xA5,0x8D), o3(0xE9,0x9B,0x9C), - o3(0xE9,0x9C,0x8D), o3(0xE9,0x9B,0x95), - o3(0xE9,0x9B,0xB9), o3(0xE9,0x9C,0x84), - o3(0xE9,0x9C,0x86), o3(0xE9,0x9C,0x88), - o3(0xE9,0x9C,0x93), o3(0xE9,0x9C,0x8E), - o3(0xE9,0x9C,0x91), o3(0xE9,0x9C,0x8F), - o3(0xE9,0x9C,0x96), o3(0xE9,0x9C,0x99), - o3(0xE9,0x9C,0xA4), o3(0xE9,0x9C,0xAA), - o3(0xE9,0x9C,0xB0), o3(0xE9,0x9C,0xB9), - o3(0xE9,0x9C,0xBD), o3(0xE9,0x9C,0xBE), - o3(0xE9,0x9D,0x84), o3(0xE9,0x9D,0x86), - o3(0xE9,0x9D,0x88), o3(0xE9,0x9D,0x82), - o3(0xE9,0x9D,0x89), o3(0xE9,0x9D,0x9C), - o3(0xE9,0x9D,0xA0), o3(0xE9,0x9D,0xA4), - o3(0xE9,0x9D,0xA6), o3(0xE9,0x9D,0xA8), - o3(0xE5,0x8B,0x92), o3(0xE9,0x9D,0xAB), - o3(0xE9,0x9D,0xB1), o3(0xE9,0x9D,0xB9), - o3(0xE9,0x9E,0x85), o3(0xE9,0x9D,0xBC), - o3(0xE9,0x9E,0x81), o3(0xE9,0x9D,0xBA), - o3(0xE9,0x9E,0x86), o3(0xE9,0x9E,0x8B), - o3(0xE9,0x9E,0x8F), o3(0xE9,0x9E,0x90), - o3(0xE9,0x9E,0x9C), o3(0xE9,0x9E,0xA8), - o3(0xE9,0x9E,0xA6), o3(0xE9,0x9E,0xA3), - o3(0xE9,0x9E,0xB3), o3(0xE9,0x9E,0xB4), - o3(0xE9,0x9F,0x83), o3(0xE9,0x9F,0x86), - o3(0xE9,0x9F,0x88), o3(0xE9,0x9F,0x8B), - o3(0xE9,0x9F,0x9C), o3(0xE9,0x9F,0xAD), - o3(0xE9,0xBD,0x8F), o3(0xE9,0x9F,0xB2), - o3(0xE7,0xAB,0x9F), o3(0xE9,0x9F,0xB6), - o3(0xE9,0x9F,0xB5), o3(0xE9,0xA0,0x8F), - o3(0xE9,0xA0,0x8C), o3(0xE9,0xA0,0xB8), - o3(0xE9,0xA0,0xA4), o3(0xE9,0xA0,0xA1), - o3(0xE9,0xA0,0xB7), o3(0xE9,0xA0,0xBD), - o3(0xE9,0xA1,0x86), o3(0xE9,0xA1,0x8F), - o3(0xE9,0xA1,0x8B), o3(0xE9,0xA1,0xAB), - o3(0xE9,0xA1,0xAF), o3(0xE9,0xA1,0xB0), - UNDEF, -}; -static const BYTE_LOOKUP -from_SHIFT_JIS_E8 = { - from_SHIFT_JIS_89_offsets, - from_SHIFT_JIS_E8_infos -}; - -static const struct byte_lookup* const -from_SHIFT_JIS_E9_infos[189] = { - o3(0xE9,0xA1,0xB1), o3(0xE9,0xA1,0xB4), - o3(0xE9,0xA1,0xB3), o3(0xE9,0xA2,0xAA), - o3(0xE9,0xA2,0xAF), o3(0xE9,0xA2,0xB1), - o3(0xE9,0xA2,0xB6), o3(0xE9,0xA3,0x84), - o3(0xE9,0xA3,0x83), o3(0xE9,0xA3,0x86), - o3(0xE9,0xA3,0xA9), o3(0xE9,0xA3,0xAB), - o3(0xE9,0xA4,0x83), o3(0xE9,0xA4,0x89), - o3(0xE9,0xA4,0x92), o3(0xE9,0xA4,0x94), - o3(0xE9,0xA4,0x98), o3(0xE9,0xA4,0xA1), - o3(0xE9,0xA4,0x9D), o3(0xE9,0xA4,0x9E), - o3(0xE9,0xA4,0xA4), o3(0xE9,0xA4,0xA0), - o3(0xE9,0xA4,0xAC), o3(0xE9,0xA4,0xAE), - o3(0xE9,0xA4,0xBD), o3(0xE9,0xA4,0xBE), - o3(0xE9,0xA5,0x82), o3(0xE9,0xA5,0x89), - o3(0xE9,0xA5,0x85), o3(0xE9,0xA5,0x90), - o3(0xE9,0xA5,0x8B), o3(0xE9,0xA5,0x91), - o3(0xE9,0xA5,0x92), o3(0xE9,0xA5,0x8C), - o3(0xE9,0xA5,0x95), o3(0xE9,0xA6,0x97), - o3(0xE9,0xA6,0x98), o3(0xE9,0xA6,0xA5), - o3(0xE9,0xA6,0xAD), o3(0xE9,0xA6,0xAE), - o3(0xE9,0xA6,0xBC), o3(0xE9,0xA7,0x9F), - o3(0xE9,0xA7,0x9B), o3(0xE9,0xA7,0x9D), - o3(0xE9,0xA7,0x98), o3(0xE9,0xA7,0x91), - o3(0xE9,0xA7,0xAD), o3(0xE9,0xA7,0xAE), - o3(0xE9,0xA7,0xB1), o3(0xE9,0xA7,0xB2), - o3(0xE9,0xA7,0xBB), o3(0xE9,0xA7,0xB8), - o3(0xE9,0xA8,0x81), o3(0xE9,0xA8,0x8F), - o3(0xE9,0xA8,0x85), o3(0xE9,0xA7,0xA2), - o3(0xE9,0xA8,0x99), o3(0xE9,0xA8,0xAB), - o3(0xE9,0xA8,0xB7), o3(0xE9,0xA9,0x85), - o3(0xE9,0xA9,0x82), o3(0xE9,0xA9,0x80), - o3(0xE9,0xA9,0x83), o3(0xE9,0xA8,0xBE), - o3(0xE9,0xA9,0x95), o3(0xE9,0xA9,0x8D), - o3(0xE9,0xA9,0x9B), o3(0xE9,0xA9,0x97), - o3(0xE9,0xA9,0x9F), o3(0xE9,0xA9,0xA2), - o3(0xE9,0xA9,0xA5), o3(0xE9,0xA9,0xA4), - o3(0xE9,0xA9,0xA9), o3(0xE9,0xA9,0xAB), - o3(0xE9,0xA9,0xAA), o3(0xE9,0xAA,0xAD), - o3(0xE9,0xAA,0xB0), o3(0xE9,0xAA,0xBC), - o3(0xE9,0xAB,0x80), o3(0xE9,0xAB,0x8F), - o3(0xE9,0xAB,0x91), o3(0xE9,0xAB,0x93), - o3(0xE9,0xAB,0x94), o3(0xE9,0xAB,0x9E), - o3(0xE9,0xAB,0x9F), o3(0xE9,0xAB,0xA2), - o3(0xE9,0xAB,0xA3), o3(0xE9,0xAB,0xA6), - o3(0xE9,0xAB,0xAF), o3(0xE9,0xAB,0xAB), - o3(0xE9,0xAB,0xAE), o3(0xE9,0xAB,0xB4), - o3(0xE9,0xAB,0xB1), o3(0xE9,0xAB,0xB7), - o3(0xE9,0xAB,0xBB), o3(0xE9,0xAC,0x86), - o3(0xE9,0xAC,0x98), o3(0xE9,0xAC,0x9A), - o3(0xE9,0xAC,0x9F), o3(0xE9,0xAC,0xA2), - o3(0xE9,0xAC,0xA3), o3(0xE9,0xAC,0xA5), - o3(0xE9,0xAC,0xA7), o3(0xE9,0xAC,0xA8), - o3(0xE9,0xAC,0xA9), o3(0xE9,0xAC,0xAA), - o3(0xE9,0xAC,0xAE), o3(0xE9,0xAC,0xAF), - o3(0xE9,0xAC,0xB2), o3(0xE9,0xAD,0x84), - o3(0xE9,0xAD,0x83), o3(0xE9,0xAD,0x8F), - o3(0xE9,0xAD,0x8D), o3(0xE9,0xAD,0x8E), - o3(0xE9,0xAD,0x91), o3(0xE9,0xAD,0x98), - o3(0xE9,0xAD,0xB4), o3(0xE9,0xAE,0x93), - o3(0xE9,0xAE,0x83), o3(0xE9,0xAE,0x91), - o3(0xE9,0xAE,0x96), o3(0xE9,0xAE,0x97), - o3(0xE9,0xAE,0x9F), o3(0xE9,0xAE,0xA0), - o3(0xE9,0xAE,0xA8), o3(0xE9,0xAE,0xB4), - o3(0xE9,0xAF,0x80), o3(0xE9,0xAF,0x8A), - o3(0xE9,0xAE,0xB9), o3(0xE9,0xAF,0x86), - o3(0xE9,0xAF,0x8F), o3(0xE9,0xAF,0x91), - o3(0xE9,0xAF,0x92), o3(0xE9,0xAF,0xA3), - o3(0xE9,0xAF,0xA2), o3(0xE9,0xAF,0xA4), - o3(0xE9,0xAF,0x94), o3(0xE9,0xAF,0xA1), - o3(0xE9,0xB0,0xBA), o3(0xE9,0xAF,0xB2), - o3(0xE9,0xAF,0xB1), o3(0xE9,0xAF,0xB0), - o3(0xE9,0xB0,0x95), o3(0xE9,0xB0,0x94), - o3(0xE9,0xB0,0x89), o3(0xE9,0xB0,0x93), - o3(0xE9,0xB0,0x8C), o3(0xE9,0xB0,0x86), - o3(0xE9,0xB0,0x88), o3(0xE9,0xB0,0x92), - o3(0xE9,0xB0,0x8A), o3(0xE9,0xB0,0x84), - o3(0xE9,0xB0,0xAE), o3(0xE9,0xB0,0x9B), - o3(0xE9,0xB0,0xA5), o3(0xE9,0xB0,0xA4), - o3(0xE9,0xB0,0xA1), o3(0xE9,0xB0,0xB0), - o3(0xE9,0xB1,0x87), o3(0xE9,0xB0,0xB2), - o3(0xE9,0xB1,0x86), o3(0xE9,0xB0,0xBE), - o3(0xE9,0xB1,0x9A), o3(0xE9,0xB1,0xA0), - o3(0xE9,0xB1,0xA7), o3(0xE9,0xB1,0xB6), - o3(0xE9,0xB1,0xB8), o3(0xE9,0xB3,0xA7), - o3(0xE9,0xB3,0xAC), o3(0xE9,0xB3,0xB0), - o3(0xE9,0xB4,0x89), o3(0xE9,0xB4,0x88), - o3(0xE9,0xB3,0xAB), o3(0xE9,0xB4,0x83), - o3(0xE9,0xB4,0x86), o3(0xE9,0xB4,0xAA), - o3(0xE9,0xB4,0xA6), o3(0xE9,0xB6,0xAF), - o3(0xE9,0xB4,0xA3), o3(0xE9,0xB4,0x9F), - o3(0xE9,0xB5,0x84), o3(0xE9,0xB4,0x95), - o3(0xE9,0xB4,0x92), o3(0xE9,0xB5,0x81), - o3(0xE9,0xB4,0xBF), o3(0xE9,0xB4,0xBE), - o3(0xE9,0xB5,0x86), o3(0xE9,0xB5,0x88), - UNDEF, -}; -static const BYTE_LOOKUP -from_SHIFT_JIS_E9 = { - from_SHIFT_JIS_89_offsets, - from_SHIFT_JIS_E9_infos -}; - -static const unsigned char -from_SHIFT_JIS_EA_offsets[256] = { - 100,100,100,100,100,100,100,100, 100,100,100,100,100,100,100,100, - 100,100,100,100,100,100,100,100, 100,100,100,100,100,100,100,100, - 100,100,100,100,100,100,100,100, 100,100,100,100,100,100,100,100, - 100,100,100,100,100,100,100,100, 100,100,100,100,100,100,100,100, - 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,100, - 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,100,100, 100,100,100,100,100,100,100,100, - 100,100,100,100,100,100,100,100, 100,100,100,100,100,100,100,100, - 100,100,100,100,100,100,100,100, 100,100,100,100,100,100,100,100, - 100,100,100,100,100,100,100,100, 100,100,100,100,100,100,100,100, - 100,100,100,100,100,100,100,100, 100,100,100,100,100,100,100,100, - 100,100,100,100,100,100,100,100, 100,100,100,100,100,100,100,100, -}; -static const struct byte_lookup* const -from_SHIFT_JIS_EA_infos[101] = { - o3(0xE9,0xB5,0x9D), o3(0xE9,0xB5,0x9E), - o3(0xE9,0xB5,0xA4), o3(0xE9,0xB5,0x91), - o3(0xE9,0xB5,0x90), o3(0xE9,0xB5,0x99), - o3(0xE9,0xB5,0xB2), o3(0xE9,0xB6,0x89), - o3(0xE9,0xB6,0x87), o3(0xE9,0xB6,0xAB), - o3(0xE9,0xB5,0xAF), o3(0xE9,0xB5,0xBA), - o3(0xE9,0xB6,0x9A), o3(0xE9,0xB6,0xA4), - o3(0xE9,0xB6,0xA9), o3(0xE9,0xB6,0xB2), - o3(0xE9,0xB7,0x84), o3(0xE9,0xB7,0x81), - o3(0xE9,0xB6,0xBB), o3(0xE9,0xB6,0xB8), - o3(0xE9,0xB6,0xBA), o3(0xE9,0xB7,0x86), - o3(0xE9,0xB7,0x8F), o3(0xE9,0xB7,0x82), - o3(0xE9,0xB7,0x99), o3(0xE9,0xB7,0x93), - o3(0xE9,0xB7,0xB8), o3(0xE9,0xB7,0xA6), - o3(0xE9,0xB7,0xAD), o3(0xE9,0xB7,0xAF), - o3(0xE9,0xB7,0xBD), o3(0xE9,0xB8,0x9A), - o3(0xE9,0xB8,0x9B), o3(0xE9,0xB8,0x9E), - o3(0xE9,0xB9,0xB5), o3(0xE9,0xB9,0xB9), - o3(0xE9,0xB9,0xBD), o3(0xE9,0xBA,0x81), - o3(0xE9,0xBA,0x88), o3(0xE9,0xBA,0x8B), - o3(0xE9,0xBA,0x8C), o3(0xE9,0xBA,0x92), - o3(0xE9,0xBA,0x95), o3(0xE9,0xBA,0x91), - o3(0xE9,0xBA,0x9D), o3(0xE9,0xBA,0xA5), - o3(0xE9,0xBA,0xA9), o3(0xE9,0xBA,0xB8), - o3(0xE9,0xBA,0xAA), o3(0xE9,0xBA,0xAD), - o3(0xE9,0x9D,0xA1), o3(0xE9,0xBB,0x8C), - o3(0xE9,0xBB,0x8E), o3(0xE9,0xBB,0x8F), - o3(0xE9,0xBB,0x90), o3(0xE9,0xBB,0x94), - o3(0xE9,0xBB,0x9C), o3(0xE9,0xBB,0x9E), - o3(0xE9,0xBB,0x9D), o3(0xE9,0xBB,0xA0), - o3(0xE9,0xBB,0xA5), o3(0xE9,0xBB,0xA8), - o3(0xE9,0xBB,0xAF), o3(0xE9,0xBB,0xB4), - o3(0xE9,0xBB,0xB6), o3(0xE9,0xBB,0xB7), - o3(0xE9,0xBB,0xB9), o3(0xE9,0xBB,0xBB), - o3(0xE9,0xBB,0xBC), o3(0xE9,0xBB,0xBD), - o3(0xE9,0xBC,0x87), o3(0xE9,0xBC,0x88), - o3(0xE7,0x9A,0xB7), o3(0xE9,0xBC,0x95), - o3(0xE9,0xBC,0xA1), o3(0xE9,0xBC,0xAC), - o3(0xE9,0xBC,0xBE), o3(0xE9,0xBD,0x8A), - o3(0xE9,0xBD,0x92), o3(0xE9,0xBD,0x94), - o3(0xE9,0xBD,0xA3), o3(0xE9,0xBD,0x9F), - o3(0xE9,0xBD,0xA0), o3(0xE9,0xBD,0xA1), - o3(0xE9,0xBD,0xA6), o3(0xE9,0xBD,0xA7), - o3(0xE9,0xBD,0xAC), o3(0xE9,0xBD,0xAA), - o3(0xE9,0xBD,0xB7), o3(0xE9,0xBD,0xB2), - o3(0xE9,0xBD,0xB6), o3(0xE9,0xBE,0x95), - o3(0xE9,0xBE,0x9C), o3(0xE9,0xBE,0xA0), - o3(0xE5,0xA0,0xAF), o3(0xE6,0xA7,0x87), - o3(0xE9,0x81,0x99), o3(0xE7,0x91,0xA4), - o3(0xE5,0x87,0x9C), o3(0xE7,0x86,0x99), - UNDEF, -}; -static const BYTE_LOOKUP -from_SHIFT_JIS_EA = { - from_SHIFT_JIS_EA_offsets, - from_SHIFT_JIS_EA_infos -}; - -static const unsigned char -from_SHIFT_JIS_FA_offsets[256] = { - 173,173,173,173,173,173,173,173, 173,173,173,173,173,173,173,173, - 173,173,173,173,173,173,173,173, 173,173,173,173,173,173,173,173, - 173,173,173,173,173,173,173,173, 173,173,173,173,173,173,173,173, - 173,173,173,173,173,173,173,173, 173,173,173,173,173,173,173,173, - 0, 1, 2, 3, 4, 5, 6, 7, 8, 9,173,173,173,173,173,173, - 173,173,173,173,173, 10, 11, 12, 173,173,173,173, 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,173, - 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,129,130,131,132,133,134,135, 136,137,138,139,140,141,142,143, - 144,145,146,147,148,149,150,151, 152,153,154,155,156,157,158,159, - 160,161,162,163,164,165,166,167, 168,169,170,171,172,173,173,173, -}; -static const struct byte_lookup* const -from_SHIFT_JIS_FA_infos[174] = { - o3(0xE2,0x85,0xB0), o3(0xE2,0x85,0xB1), - o3(0xE2,0x85,0xB2), o3(0xE2,0x85,0xB3), - o3(0xE2,0x85,0xB4), o3(0xE2,0x85,0xB5), - o3(0xE2,0x85,0xB6), o3(0xE2,0x85,0xB7), - o3(0xE2,0x85,0xB8), o3(0xE2,0x85,0xB9), - o3(0xEF,0xBF,0xA4), o3(0xEF,0xBC,0x87), - o3(0xEF,0xBC,0x82), o3(0xE7,0xBA,0x8A), - o3(0xE8,0xA4,0x9C), o3(0xE9,0x8D,0x88), - o3(0xE9,0x8A,0x88), o3(0xE8,0x93,0x9C), - o3(0xE4,0xBF,0x89), o3(0xE7,0x82,0xBB), - o3(0xE6,0x98,0xB1), o3(0xE6,0xA3,0x88), - o3(0xE9,0x8B,0xB9), o3(0xE6,0x9B,0xBB), - o3(0xE5,0xBD,0x85), o3(0xE4,0xB8,0xA8), - o3(0xE4,0xBB,0xA1), o3(0xE4,0xBB,0xBC), - o3(0xE4,0xBC,0x80), o3(0xE4,0xBC,0x83), - o3(0xE4,0xBC,0xB9), o3(0xE4,0xBD,0x96), - o3(0xE4,0xBE,0x92), o3(0xE4,0xBE,0x8A), - o3(0xE4,0xBE,0x9A), o3(0xE4,0xBE,0x94), - o3(0xE4,0xBF,0x8D), o3(0xE5,0x81,0x80), - o3(0xE5,0x80,0xA2), o3(0xE4,0xBF,0xBF), - o3(0xE5,0x80,0x9E), o3(0xE5,0x81,0x86), - o3(0xE5,0x81,0xB0), o3(0xE5,0x81,0x82), - o3(0xE5,0x82,0x94), o3(0xE5,0x83,0xB4), - o3(0xE5,0x83,0x98), o3(0xE5,0x85,0x8A), - o3(0xE5,0x85,0xA4), o3(0xE5,0x86,0x9D), - o3(0xE5,0x86,0xBE), o3(0xE5,0x87,0xAC), - o3(0xE5,0x88,0x95), o3(0xE5,0x8A,0x9C), - o3(0xE5,0x8A,0xA6), o3(0xE5,0x8B,0x80), - o3(0xE5,0x8B,0x9B), o3(0xE5,0x8C,0x80), - o3(0xE5,0x8C,0x87), o3(0xE5,0x8C,0xA4), - o3(0xE5,0x8D,0xB2), o3(0xE5,0x8E,0x93), - o3(0xE5,0x8E,0xB2), o3(0xE5,0x8F,0x9D), - o3(0xEF,0xA8,0x8E), o3(0xE5,0x92,0x9C), - o3(0xE5,0x92,0x8A), o3(0xE5,0x92,0xA9), - o3(0xE5,0x93,0xBF), o3(0xE5,0x96,0x86), - o3(0xE5,0x9D,0x99), o3(0xE5,0x9D,0xA5), - o3(0xE5,0x9E,0xAC), o3(0xE5,0x9F,0x88), - o3(0xE5,0x9F,0x87), o3(0xEF,0xA8,0x8F), - o3(0xEF,0xA8,0x90), o3(0xE5,0xA2,0x9E), - o3(0xE5,0xA2,0xB2), o3(0xE5,0xA4,0x8B), - o3(0xE5,0xA5,0x93), o3(0xE5,0xA5,0x9B), - o3(0xE5,0xA5,0x9D), o3(0xE5,0xA5,0xA3), - o3(0xE5,0xA6,0xA4), o3(0xE5,0xA6,0xBA), - o3(0xE5,0xAD,0x96), o3(0xE5,0xAF,0x80), - o3(0xE7,0x94,0xAF), o3(0xE5,0xAF,0x98), - o3(0xE5,0xAF,0xAC), o3(0xE5,0xB0,0x9E), - o3(0xE5,0xB2,0xA6), o3(0xE5,0xB2,0xBA), - o3(0xE5,0xB3,0xB5), o3(0xE5,0xB4,0xA7), - o3(0xE5,0xB5,0x93), o3(0xEF,0xA8,0x91), - o3(0xE5,0xB5,0x82), o3(0xE5,0xB5,0xAD), - o3(0xE5,0xB6,0xB8), o3(0xE5,0xB6,0xB9), - o3(0xE5,0xB7,0x90), o3(0xE5,0xBC,0xA1), - o3(0xE5,0xBC,0xB4), o3(0xE5,0xBD,0xA7), - o3(0xE5,0xBE,0xB7), o3(0xE5,0xBF,0x9E), - o3(0xE6,0x81,0x9D), o3(0xE6,0x82,0x85), - o3(0xE6,0x82,0x8A), o3(0xE6,0x83,0x9E), - o3(0xE6,0x83,0x95), o3(0xE6,0x84,0xA0), - o3(0xE6,0x83,0xB2), o3(0xE6,0x84,0x91), - o3(0xE6,0x84,0xB7), o3(0xE6,0x84,0xB0), - o3(0xE6,0x86,0x98), o3(0xE6,0x88,0x93), - o3(0xE6,0x8A,0xA6), o3(0xE6,0x8F,0xB5), - o3(0xE6,0x91,0xA0), o3(0xE6,0x92,0x9D), - o3(0xE6,0x93,0x8E), o3(0xE6,0x95,0x8E), - o3(0xE6,0x98,0x80), o3(0xE6,0x98,0x95), - o3(0xE6,0x98,0xBB), o3(0xE6,0x98,0x89), - o3(0xE6,0x98,0xAE), o3(0xE6,0x98,0x9E), - o3(0xE6,0x98,0xA4), o3(0xE6,0x99,0xA5), - o3(0xE6,0x99,0x97), o3(0xE6,0x99,0x99), - o3(0xEF,0xA8,0x92), o3(0xE6,0x99,0xB3), - o3(0xE6,0x9A,0x99), o3(0xE6,0x9A,0xA0), - o3(0xE6,0x9A,0xB2), o3(0xE6,0x9A,0xBF), - o3(0xE6,0x9B,0xBA), o3(0xE6,0x9C,0x8E), - o3(0xEF,0xA4,0xA9), o3(0xE6,0x9D,0xA6), - o3(0xE6,0x9E,0xBB), o3(0xE6,0xA1,0x92), - o3(0xE6,0x9F,0x80), o3(0xE6,0xA0,0x81), - o3(0xE6,0xA1,0x84), o3(0xE6,0xA3,0x8F), - o3(0xEF,0xA8,0x93), o3(0xE6,0xA5,0xA8), - o3(0xEF,0xA8,0x94), o3(0xE6,0xA6,0x98), - o3(0xE6,0xA7,0xA2), o3(0xE6,0xA8,0xB0), - o3(0xE6,0xA9,0xAB), o3(0xE6,0xA9,0x86), - o3(0xE6,0xA9,0xB3), o3(0xE6,0xA9,0xBE), - o3(0xE6,0xAB,0xA2), o3(0xE6,0xAB,0xA4), - o3(0xE6,0xAF,0x96), o3(0xE6,0xB0,0xBF), - o3(0xE6,0xB1,0x9C), o3(0xE6,0xB2,0x86), - o3(0xE6,0xB1,0xAF), o3(0xE6,0xB3,0x9A), - o3(0xE6,0xB4,0x84), o3(0xE6,0xB6,0x87), - o3(0xE6,0xB5,0xAF), UNDEF, -}; -static const BYTE_LOOKUP -from_SHIFT_JIS_FA = { - from_SHIFT_JIS_FA_offsets, - from_SHIFT_JIS_FA_infos -}; - -static const struct byte_lookup* const -from_SHIFT_JIS_FB_infos[189] = { - o3(0xE6,0xB6,0x96), o3(0xE6,0xB6,0xAC), - o3(0xE6,0xB7,0x8F), o3(0xE6,0xB7,0xB8), - o3(0xE6,0xB7,0xB2), o3(0xE6,0xB7,0xBC), - o3(0xE6,0xB8,0xB9), o3(0xE6,0xB9,0x9C), - o3(0xE6,0xB8,0xA7), o3(0xE6,0xB8,0xBC), - o3(0xE6,0xBA,0xBF), o3(0xE6,0xBE,0x88), - o3(0xE6,0xBE,0xB5), o3(0xE6,0xBF,0xB5), - o3(0xE7,0x80,0x85), o3(0xE7,0x80,0x87), - o3(0xE7,0x80,0xA8), o3(0xE7,0x82,0x85), - o3(0xE7,0x82,0xAB), o3(0xE7,0x84,0x8F), - o3(0xE7,0x84,0x84), o3(0xE7,0x85,0x9C), - o3(0xE7,0x85,0x86), o3(0xE7,0x85,0x87), - o3(0xEF,0xA8,0x95), o3(0xE7,0x87,0x81), - o3(0xE7,0x87,0xBE), o3(0xE7,0x8A,0xB1), - o3(0xE7,0x8A,0xBE), o3(0xE7,0x8C,0xA4), - o3(0xEF,0xA8,0x96), o3(0xE7,0x8D,0xB7), - o3(0xE7,0x8E,0xBD), o3(0xE7,0x8F,0x89), - o3(0xE7,0x8F,0x96), o3(0xE7,0x8F,0xA3), - o3(0xE7,0x8F,0x92), o3(0xE7,0x90,0x87), - o3(0xE7,0x8F,0xB5), o3(0xE7,0x90,0xA6), - o3(0xE7,0x90,0xAA), o3(0xE7,0x90,0xA9), - o3(0xE7,0x90,0xAE), o3(0xE7,0x91,0xA2), - o3(0xE7,0x92,0x89), o3(0xE7,0x92,0x9F), - o3(0xE7,0x94,0x81), o3(0xE7,0x95,0xAF), - o3(0xE7,0x9A,0x82), o3(0xE7,0x9A,0x9C), - o3(0xE7,0x9A,0x9E), o3(0xE7,0x9A,0x9B), - o3(0xE7,0x9A,0xA6), o3(0xEF,0xA8,0x97), - o3(0xE7,0x9D,0x86), o3(0xE5,0x8A,0xAF), - o3(0xE7,0xA0,0xA1), o3(0xE7,0xA1,0x8E), - o3(0xE7,0xA1,0xA4), o3(0xE7,0xA1,0xBA), - o3(0xE7,0xA4,0xB0), o3(0xEF,0xA8,0x98), - o3(0xEF,0xA8,0x99), o3(0xEF,0xA8,0x9A), - o3(0xE7,0xA6,0x94), o3(0xEF,0xA8,0x9B), - o3(0xE7,0xA6,0x9B), o3(0xE7,0xAB,0x91), - o3(0xE7,0xAB,0xA7), o3(0xEF,0xA8,0x9C), - o3(0xE7,0xAB,0xAB), o3(0xE7,0xAE,0x9E), - o3(0xEF,0xA8,0x9D), o3(0xE7,0xB5,0x88), - o3(0xE7,0xB5,0x9C), o3(0xE7,0xB6,0xB7), - o3(0xE7,0xB6,0xA0), o3(0xE7,0xB7,0x96), - o3(0xE7,0xB9,0x92), o3(0xE7,0xBD,0x87), - o3(0xE7,0xBE,0xA1), o3(0xEF,0xA8,0x9E), - o3(0xE8,0x8C,0x81), o3(0xE8,0x8D,0xA2), - o3(0xE8,0x8D,0xBF), o3(0xE8,0x8F,0x87), - o3(0xE8,0x8F,0xB6), o3(0xE8,0x91,0x88), - o3(0xE8,0x92,0xB4), o3(0xE8,0x95,0x93), - o3(0xE8,0x95,0x99), o3(0xE8,0x95,0xAB), - o3(0xEF,0xA8,0x9F), o3(0xE8,0x96,0xB0), - o3(0xEF,0xA8,0xA0), o3(0xEF,0xA8,0xA1), - o3(0xE8,0xA0,0x87), o3(0xE8,0xA3,0xB5), - o3(0xE8,0xA8,0x92), o3(0xE8,0xA8,0xB7), - o3(0xE8,0xA9,0xB9), o3(0xE8,0xAA,0xA7), - o3(0xE8,0xAA,0xBE), o3(0xE8,0xAB,0x9F), - o3(0xEF,0xA8,0xA2), o3(0xE8,0xAB,0xB6), - o3(0xE8,0xAD,0x93), o3(0xE8,0xAD,0xBF), - o3(0xE8,0xB3,0xB0), o3(0xE8,0xB3,0xB4), - o3(0xE8,0xB4,0x92), o3(0xE8,0xB5,0xB6), - o3(0xEF,0xA8,0xA3), o3(0xE8,0xBB,0x8F), - o3(0xEF,0xA8,0xA4), o3(0xEF,0xA8,0xA5), - o3(0xE9,0x81,0xA7), o3(0xE9,0x83,0x9E), - o3(0xEF,0xA8,0xA6), o3(0xE9,0x84,0x95), - o3(0xE9,0x84,0xA7), o3(0xE9,0x87,0x9A), - o3(0xE9,0x87,0x97), o3(0xE9,0x87,0x9E), - o3(0xE9,0x87,0xAD), o3(0xE9,0x87,0xAE), - o3(0xE9,0x87,0xA4), o3(0xE9,0x87,0xA5), - o3(0xE9,0x88,0x86), o3(0xE9,0x88,0x90), - o3(0xE9,0x88,0x8A), o3(0xE9,0x88,0xBA), - o3(0xE9,0x89,0x80), o3(0xE9,0x88,0xBC), - o3(0xE9,0x89,0x8E), o3(0xE9,0x89,0x99), - o3(0xE9,0x89,0x91), o3(0xE9,0x88,0xB9), - o3(0xE9,0x89,0xA7), o3(0xE9,0x8A,0xA7), - o3(0xE9,0x89,0xB7), o3(0xE9,0x89,0xB8), - o3(0xE9,0x8B,0xA7), o3(0xE9,0x8B,0x97), - o3(0xE9,0x8B,0x99), o3(0xE9,0x8B,0x90), - o3(0xEF,0xA8,0xA7), o3(0xE9,0x8B,0x95), - o3(0xE9,0x8B,0xA0), o3(0xE9,0x8B,0x93), - o3(0xE9,0x8C,0xA5), o3(0xE9,0x8C,0xA1), - o3(0xE9,0x8B,0xBB), o3(0xEF,0xA8,0xA8), - o3(0xE9,0x8C,0x9E), o3(0xE9,0x8B,0xBF), - o3(0xE9,0x8C,0x9D), o3(0xE9,0x8C,0x82), - o3(0xE9,0x8D,0xB0), o3(0xE9,0x8D,0x97), - o3(0xE9,0x8E,0xA4), o3(0xE9,0x8F,0x86), - o3(0xE9,0x8F,0x9E), o3(0xE9,0x8F,0xB8), - o3(0xE9,0x90,0xB1), o3(0xE9,0x91,0x85), - o3(0xE9,0x91,0x88), o3(0xE9,0x96,0x92), - o3(0xEF,0xA7,0x9C), o3(0xEF,0xA8,0xA9), - o3(0xE9,0x9A,0x9D), o3(0xE9,0x9A,0xAF), - o3(0xE9,0x9C,0xB3), o3(0xE9,0x9C,0xBB), - o3(0xE9,0x9D,0x83), o3(0xE9,0x9D,0x8D), - o3(0xE9,0x9D,0x8F), o3(0xE9,0x9D,0x91), - o3(0xE9,0x9D,0x95), o3(0xE9,0xA1,0x97), - o3(0xE9,0xA1,0xA5), o3(0xEF,0xA8,0xAA), - o3(0xEF,0xA8,0xAB), o3(0xE9,0xA4,0xA7), - o3(0xEF,0xA8,0xAC), o3(0xE9,0xA6,0x9E), - o3(0xE9,0xA9,0x8E), o3(0xE9,0xAB,0x99), - UNDEF, -}; -static const BYTE_LOOKUP -from_SHIFT_JIS_FB = { - from_SHIFT_JIS_89_offsets, - from_SHIFT_JIS_FB_infos -}; - -static const unsigned char -from_SHIFT_JIS_FC_offsets[256] = { - 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, - 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, - 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, - 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, - 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 12, 12, 12, - 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, - 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, - 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, - 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, - 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, - 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, - 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, - 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, - 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, - 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, - 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, -}; -static const struct byte_lookup* const -from_SHIFT_JIS_FC_infos[13] = { - o3(0xE9,0xAB,0x9C), o3(0xE9,0xAD,0xB5), - o3(0xE9,0xAD,0xB2), o3(0xE9,0xAE,0x8F), - o3(0xE9,0xAE,0xB1), o3(0xE9,0xAE,0xBB), - o3(0xE9,0xB0,0x80), o3(0xE9,0xB5,0xB0), - o3(0xE9,0xB5,0xAB), o3(0xEF,0xA8,0xAD), - o3(0xE9,0xB8,0x99), o3(0xE9,0xBB,0x91), - UNDEF, -}; -static const BYTE_LOOKUP -from_SHIFT_JIS_FC = { - from_SHIFT_JIS_FC_offsets, - from_SHIFT_JIS_FC_infos -}; - -static const unsigned char -from_SHIFT_JIS_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, - 107, 1, 2, 3, 4,107,107, 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, - 107, 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,107,107,107,107,107, - 107,107,107,107,107,107,107,107, 107,107,104,105,106,107,107,107, -}; -static const struct byte_lookup* const -from_SHIFT_JIS_infos[108] = { - NOMAP, &from_SHIFT_JIS_81, - &from_SHIFT_JIS_82, &from_SHIFT_JIS_83, - &from_SHIFT_JIS_84, &from_SHIFT_JIS_87, - &from_SHIFT_JIS_88, &from_SHIFT_JIS_89, - &from_SHIFT_JIS_8A, &from_SHIFT_JIS_8B, - &from_SHIFT_JIS_8C, &from_SHIFT_JIS_8D, - &from_SHIFT_JIS_8E, &from_SHIFT_JIS_8F, - &from_SHIFT_JIS_90, &from_SHIFT_JIS_91, - &from_SHIFT_JIS_92, &from_SHIFT_JIS_93, - &from_SHIFT_JIS_94, &from_SHIFT_JIS_95, - &from_SHIFT_JIS_96, &from_SHIFT_JIS_97, - &from_SHIFT_JIS_98, &from_SHIFT_JIS_99, - &from_SHIFT_JIS_9A, &from_SHIFT_JIS_9B, - &from_SHIFT_JIS_9C, &from_SHIFT_JIS_9D, - &from_SHIFT_JIS_9E, &from_SHIFT_JIS_9F, - o3(0xEF,0xBD,0xA1), o3(0xEF,0xBD,0xA2), - o3(0xEF,0xBD,0xA3), o3(0xEF,0xBD,0xA4), - o3(0xEF,0xBD,0xA5), o3(0xEF,0xBD,0xA6), - o3(0xEF,0xBD,0xA7), o3(0xEF,0xBD,0xA8), - o3(0xEF,0xBD,0xA9), o3(0xEF,0xBD,0xAA), - o3(0xEF,0xBD,0xAB), o3(0xEF,0xBD,0xAC), - o3(0xEF,0xBD,0xAD), o3(0xEF,0xBD,0xAE), - o3(0xEF,0xBD,0xAF), o3(0xEF,0xBD,0xB0), - o3(0xEF,0xBD,0xB1), o3(0xEF,0xBD,0xB2), - o3(0xEF,0xBD,0xB3), o3(0xEF,0xBD,0xB4), - o3(0xEF,0xBD,0xB5), o3(0xEF,0xBD,0xB6), - o3(0xEF,0xBD,0xB7), o3(0xEF,0xBD,0xB8), - o3(0xEF,0xBD,0xB9), o3(0xEF,0xBD,0xBA), - o3(0xEF,0xBD,0xBB), o3(0xEF,0xBD,0xBC), - o3(0xEF,0xBD,0xBD), o3(0xEF,0xBD,0xBE), - o3(0xEF,0xBD,0xBF), o3(0xEF,0xBE,0x80), - o3(0xEF,0xBE,0x81), o3(0xEF,0xBE,0x82), - o3(0xEF,0xBE,0x83), o3(0xEF,0xBE,0x84), - o3(0xEF,0xBE,0x85), o3(0xEF,0xBE,0x86), - o3(0xEF,0xBE,0x87), o3(0xEF,0xBE,0x88), - o3(0xEF,0xBE,0x89), o3(0xEF,0xBE,0x8A), - o3(0xEF,0xBE,0x8B), o3(0xEF,0xBE,0x8C), - o3(0xEF,0xBE,0x8D), o3(0xEF,0xBE,0x8E), - o3(0xEF,0xBE,0x8F), o3(0xEF,0xBE,0x90), - o3(0xEF,0xBE,0x91), o3(0xEF,0xBE,0x92), - o3(0xEF,0xBE,0x93), o3(0xEF,0xBE,0x94), - o3(0xEF,0xBE,0x95), o3(0xEF,0xBE,0x96), - o3(0xEF,0xBE,0x97), o3(0xEF,0xBE,0x98), - o3(0xEF,0xBE,0x99), o3(0xEF,0xBE,0x9A), - o3(0xEF,0xBE,0x9B), o3(0xEF,0xBE,0x9C), - o3(0xEF,0xBE,0x9D), o3(0xEF,0xBE,0x9E), - o3(0xEF,0xBE,0x9F), &from_SHIFT_JIS_E0, - &from_SHIFT_JIS_E1, &from_SHIFT_JIS_E2, - &from_SHIFT_JIS_E3, &from_SHIFT_JIS_E4, - &from_SHIFT_JIS_E5, &from_SHIFT_JIS_E6, - &from_SHIFT_JIS_E7, &from_SHIFT_JIS_E8, - &from_SHIFT_JIS_E9, &from_SHIFT_JIS_EA, - &from_SHIFT_JIS_FA, &from_SHIFT_JIS_FB, - &from_SHIFT_JIS_FC, UNDEF, -}; -const BYTE_LOOKUP -rb_from_SHIFT_JIS = { - from_SHIFT_JIS_offsets, - from_SHIFT_JIS_infos -}; - -static const unsigned char -to_SHIFT_JIS_C2_offsets[64] = { - /* used from to_SHIFT_JIS_C2 */ - /* used from to_EUC_JP_C2 */ - 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, - 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, - 13, 13, 0, 1, 13, 2, 3, 4, 5, 13, 13, 13, 6, 13, 13, 7, - 8, 9, 13, 13, 10, 13, 11, 13, 12, 13, 13, 13, 13, 13, 13, 13, -}; -static const struct byte_lookup* const -to_SHIFT_JIS_C2_infos[14] = { - o2(0x81,0x91), o2(0x81,0x92), o2(0x81,0x8F), o2(0xFA,0x55), - o2(0x81,0x98), o2(0x81,0x4E), o2(0x81,0xCA), o2(0x81,0x50), - o2(0x81,0x8B), o2(0x81,0x7D), o2(0x81,0x4C), o2(0x81,0xF7), - o2(0x81,0x43), UNDEF, -}; -static const BYTE_LOOKUP -to_SHIFT_JIS_C2 = { - to_SHIFT_JIS_C2_offsets, - to_SHIFT_JIS_C2_infos -}; - -static const unsigned char -to_SHIFT_JIS_C3_offsets[64] = { - /* used from to_SHIFT_JIS_C3 */ - /* used from to_EUC_JP_C3 */ - 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_SHIFT_JIS_C3_infos[3] = { - o2(0x81,0x7E), o2(0x81,0x80), UNDEF, -}; -static const BYTE_LOOKUP -to_SHIFT_JIS_C3 = { - to_SHIFT_JIS_C3_offsets, - to_SHIFT_JIS_C3_infos -}; - -static const unsigned char -to_SHIFT_JIS_CE_offsets[64] = { - /* used from to_SHIFT_JIS_CE */ - /* used from to_EUC_JP_CE */ - 39, 39, 39, 39, 39, 39, 39, 39, 39, 39, 39, 39, 39, 39, 39, 39, - 39, 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, - 15, 16, 39, 17, 18, 19, 20, 21, 22, 23, 39, 39, 39, 39, 39, 39, - 39, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, -}; -static const struct byte_lookup* const -to_SHIFT_JIS_CE_infos[40] = { - o2(0x83,0x9F), o2(0x83,0xA0), o2(0x83,0xA1), o2(0x83,0xA2), - o2(0x83,0xA3), o2(0x83,0xA4), o2(0x83,0xA5), o2(0x83,0xA6), - o2(0x83,0xA7), o2(0x83,0xA8), o2(0x83,0xA9), o2(0x83,0xAA), - o2(0x83,0xAB), o2(0x83,0xAC), o2(0x83,0xAD), o2(0x83,0xAE), - o2(0x83,0xAF), o2(0x83,0xB0), o2(0x83,0xB1), o2(0x83,0xB2), - o2(0x83,0xB3), o2(0x83,0xB4), o2(0x83,0xB5), o2(0x83,0xB6), - o2(0x83,0xBF), o2(0x83,0xC0), o2(0x83,0xC1), o2(0x83,0xC2), - o2(0x83,0xC3), o2(0x83,0xC4), o2(0x83,0xC5), o2(0x83,0xC6), - o2(0x83,0xC7), o2(0x83,0xC8), o2(0x83,0xC9), o2(0x83,0xCA), - o2(0x83,0xCB), o2(0x83,0xCC), o2(0x83,0xCD), UNDEF, -}; -static const BYTE_LOOKUP -to_SHIFT_JIS_CE = { - to_SHIFT_JIS_CE_offsets, - to_SHIFT_JIS_CE_infos -}; - -static const unsigned char -to_SHIFT_JIS_CF_offsets[64] = { - /* used from to_SHIFT_JIS_CF */ - /* used from to_EUC_JP_CF */ - 0, 1, 9, 2, 3, 4, 5, 6, 7, 8, 9, 9, 9, 9, 9, 9, - 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, - 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, - 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, -}; -static const struct byte_lookup* const -to_SHIFT_JIS_CF_infos[10] = { - o2(0x83,0xCE), o2(0x83,0xCF), o2(0x83,0xD0), o2(0x83,0xD1), - o2(0x83,0xD2), o2(0x83,0xD3), o2(0x83,0xD4), o2(0x83,0xD5), - o2(0x83,0xD6), UNDEF, -}; -static const BYTE_LOOKUP -to_SHIFT_JIS_CF = { - to_SHIFT_JIS_CF_offsets, - to_SHIFT_JIS_CF_infos -}; - -static const unsigned char -to_SHIFT_JIS_D0_offsets[64] = { - /* used from to_SHIFT_JIS_D0 */ - /* used from to_EUC_JP_D0 */ - 49, 0, 49, 49, 49, 49, 49, 49, 49, 49, 49, 49, 49, 49, 49, 49, - 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, -}; -static const struct byte_lookup* const -to_SHIFT_JIS_D0_infos[50] = { - o2(0x84,0x46), o2(0x84,0x40), o2(0x84,0x41), o2(0x84,0x42), - o2(0x84,0x43), o2(0x84,0x44), o2(0x84,0x45), o2(0x84,0x47), - o2(0x84,0x48), o2(0x84,0x49), o2(0x84,0x4A), o2(0x84,0x4B), - o2(0x84,0x4C), o2(0x84,0x4D), o2(0x84,0x4E), o2(0x84,0x4F), - o2(0x84,0x50), o2(0x84,0x51), o2(0x84,0x52), o2(0x84,0x53), - o2(0x84,0x54), o2(0x84,0x55), o2(0x84,0x56), o2(0x84,0x57), - o2(0x84,0x58), o2(0x84,0x59), o2(0x84,0x5A), o2(0x84,0x5B), - o2(0x84,0x5C), o2(0x84,0x5D), o2(0x84,0x5E), o2(0x84,0x5F), - o2(0x84,0x60), o2(0x84,0x70), o2(0x84,0x71), o2(0x84,0x72), - o2(0x84,0x73), o2(0x84,0x74), o2(0x84,0x75), o2(0x84,0x77), - o2(0x84,0x78), o2(0x84,0x79), o2(0x84,0x7A), o2(0x84,0x7B), - o2(0x84,0x7C), o2(0x84,0x7D), o2(0x84,0x7E), o2(0x84,0x80), - o2(0x84,0x81), UNDEF, -}; -static const BYTE_LOOKUP -to_SHIFT_JIS_D0 = { - to_SHIFT_JIS_D0_offsets, - to_SHIFT_JIS_D0_infos -}; - -static const unsigned char -to_SHIFT_JIS_D1_offsets[64] = { - /* used from to_SHIFT_JIS_D1 */ - /* used from to_EUC_JP_D1 */ - 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, - 17, 16, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, - 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, - 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, -}; -static const struct byte_lookup* const -to_SHIFT_JIS_D1_infos[18] = { - o2(0x84,0x82), o2(0x84,0x83), o2(0x84,0x84), o2(0x84,0x85), - o2(0x84,0x86), o2(0x84,0x87), o2(0x84,0x88), o2(0x84,0x89), - o2(0x84,0x8A), o2(0x84,0x8B), o2(0x84,0x8C), o2(0x84,0x8D), - o2(0x84,0x8E), o2(0x84,0x8F), o2(0x84,0x90), o2(0x84,0x91), - o2(0x84,0x76), UNDEF, -}; -static const BYTE_LOOKUP -to_SHIFT_JIS_D1 = { - to_SHIFT_JIS_D1_offsets, - to_SHIFT_JIS_D1_infos -}; - -static const unsigned char -to_SHIFT_JIS_E2_80_offsets[64] = { - /* used from to_SHIFT_JIS_E2_80 */ - /* used from to_EUC_JP_E2_80 */ - 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, - 0, 15, 15, 15, 1, 15, 2, 15, 3, 4, 15, 15, 5, 6, 15, 15, - 7, 8, 15, 15, 15, 9, 10, 15, 15, 15, 15, 15, 15, 15, 15, 15, - 11, 15, 12, 13, 15, 15, 15, 15, 15, 15, 15, 14, 15, 15, 15, 15, -}; -static const struct byte_lookup* const -to_SHIFT_JIS_E2_80_infos[16] = { - o2(0x81,0x5D), o2(0x81,0x5C), o2(0x81,0x61), o2(0x81,0x65), - o2(0x81,0x66), o2(0x81,0x67), o2(0x81,0x68), o2(0x81,0xF5), - o2(0x81,0xF6), o2(0x81,0x64), o2(0x81,0x63), o2(0x81,0xF1), - o2(0x81,0x8C), o2(0x81,0x8D), o2(0x81,0xA6), UNDEF, -}; -static const BYTE_LOOKUP -to_SHIFT_JIS_E2_80 = { - to_SHIFT_JIS_E2_80_offsets, - to_SHIFT_JIS_E2_80_infos -}; - -static const unsigned char -to_SHIFT_JIS_E2_84_offsets[64] = { - /* used from to_SHIFT_JIS_E2_84 */ - /* used from to_EUC_JP_E2_84 */ - 4, 4, 4, 0, 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, 2, 4, 4, 4, 4, 4, 4, 4, 4, 4, 3, 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_SHIFT_JIS_E2_84_infos[5] = { - o2(0x81,0x8E), o2(0x87,0x82), o2(0x87,0x84), o2(0x81,0xF0), - UNDEF, -}; -static const BYTE_LOOKUP -to_SHIFT_JIS_E2_84 = { - to_SHIFT_JIS_E2_84_offsets, - to_SHIFT_JIS_E2_84_infos -}; - -static const unsigned char -to_SHIFT_JIS_E2_85_offsets[64] = { - /* used from to_SHIFT_JIS_E2_85 */ - /* used from to_EUC_JP_E2_85 */ - 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, 20, 20, 20, - 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 20, 20, 20, 20, 20, 20, - 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 20, 20, 20, 20, 20, -}; -static const struct byte_lookup* const -to_SHIFT_JIS_E2_85_infos[21] = { - o2(0x87,0x54), o2(0x87,0x55), o2(0x87,0x56), o2(0x87,0x57), - o2(0x87,0x58), o2(0x87,0x59), o2(0x87,0x5A), o2(0x87,0x5B), - o2(0x87,0x5C), o2(0x87,0x5D), o2(0xFA,0x40), o2(0xFA,0x41), - o2(0xFA,0x42), o2(0xFA,0x43), o2(0xFA,0x44), o2(0xFA,0x45), - o2(0xFA,0x46), o2(0xFA,0x47), o2(0xFA,0x48), o2(0xFA,0x49), - UNDEF, -}; -static const BYTE_LOOKUP -to_SHIFT_JIS_E2_85 = { - to_SHIFT_JIS_E2_85_offsets, - to_SHIFT_JIS_E2_85_infos -}; - -static const unsigned char -to_SHIFT_JIS_E2_86_offsets[64] = { - /* used from to_SHIFT_JIS_E2_86 */ - /* used from to_EUC_JP_E2_86 */ - 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, - 0, 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, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, -}; -static const struct byte_lookup* const -to_SHIFT_JIS_E2_86_infos[5] = { - o2(0x81,0xA9), o2(0x81,0xAA), o2(0x81,0xA8), o2(0x81,0xAB), - UNDEF, -}; -static const BYTE_LOOKUP -to_SHIFT_JIS_E2_86 = { - to_SHIFT_JIS_E2_86_offsets, - to_SHIFT_JIS_E2_86_infos -}; - -static const unsigned char -to_SHIFT_JIS_E2_87_offsets[64] = { - /* used from to_SHIFT_JIS_E2_87 */ - /* used from to_EUC_JP_E2_87 */ - 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, - 2, 2, 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, -}; -static const struct byte_lookup* const -to_SHIFT_JIS_E2_87_infos[3] = { - o2(0x81,0xCB), o2(0x81,0xCC), UNDEF, -}; -static const BYTE_LOOKUP -to_SHIFT_JIS_E2_87 = { - to_SHIFT_JIS_E2_87_offsets, - to_SHIFT_JIS_E2_87_infos -}; - -static const unsigned char -to_SHIFT_JIS_E2_88_offsets[64] = { - /* used from to_SHIFT_JIS_E2_88 */ - /* used from to_EUC_JP_E2_88 */ - 0, 23, 1, 2, 23, 23, 23, 3, 4, 23, 23, 5, 23, 23, 23, 23, - 23, 6, 7, 23, 23, 23, 23, 23, 23, 23, 8, 23, 23, 9, 10, 11, - 12, 23, 23, 23, 23, 23, 23, 13, 14, 15, 16, 17, 18, 23, 19, 23, - 23, 23, 23, 23, 20, 21, 23, 23, 23, 23, 23, 23, 23, 22, 23, 23, -}; -static const struct byte_lookup* const -to_SHIFT_JIS_E2_88_infos[24] = { - o2(0x81,0xCD), o2(0x81,0xDD), o2(0x81,0xCE), o2(0x81,0xDE), - o2(0x81,0xB8), o2(0x81,0xB9), o2(0x87,0x94), o2(0x81,0x7C), - o2(0x87,0x95), o2(0x81,0xE5), o2(0x81,0x87), o2(0x87,0x98), - o2(0x87,0x97), o2(0x81,0xC8), o2(0x81,0xC9), o2(0x87,0x9B), - o2(0x87,0x9C), o2(0x87,0x92), o2(0x81,0xE8), o2(0x87,0x93), - o2(0x81,0x88), o2(0x87,0x9A), o2(0x81,0xE4), UNDEF, -}; -static const BYTE_LOOKUP -to_SHIFT_JIS_E2_88 = { - to_SHIFT_JIS_E2_88_offsets, - to_SHIFT_JIS_E2_88_infos -}; - -static const unsigned char -to_SHIFT_JIS_E2_89_offsets[64] = { - /* used from to_SHIFT_JIS_E2_89 */ - /* used from to_EUC_JP_E2_89 */ - 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, - 7, 7, 0, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, - 1, 2, 7, 7, 7, 7, 3, 4, 7, 7, 5, 6, 7, 7, 7, 7, - 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, -}; -static const struct byte_lookup* const -to_SHIFT_JIS_E2_89_infos[8] = { - o2(0x87,0x90), o2(0x81,0x82), o2(0x87,0x91), o2(0x81,0x85), - o2(0x81,0x86), o2(0x81,0xE1), o2(0x81,0xE2), UNDEF, -}; -static const BYTE_LOOKUP -to_SHIFT_JIS_E2_89 = { - to_SHIFT_JIS_E2_89_offsets, - to_SHIFT_JIS_E2_89_infos -}; - -static const unsigned char -to_SHIFT_JIS_E2_8A_offsets[64] = { - /* used from to_SHIFT_JIS_E2_8A */ - /* used from to_EUC_JP_E2_8A */ - 6, 6, 0, 1, 6, 6, 2, 3, 6, 6, 6, 6, 6, 6, 6, 6, - 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, - 6, 6, 6, 6, 6, 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, 5, -}; -static const struct byte_lookup* const -to_SHIFT_JIS_E2_8A_infos[7] = { - o2(0x81,0xBC), o2(0x81,0xBD), o2(0x81,0xBA), o2(0x81,0xBB), - o2(0x87,0x96), o2(0x87,0x99), UNDEF, -}; -static const BYTE_LOOKUP -to_SHIFT_JIS_E2_8A = { - to_SHIFT_JIS_E2_8A_offsets, - to_SHIFT_JIS_E2_8A_infos -}; - -static const unsigned char -to_SHIFT_JIS_E2_8C_offsets[64] = { - /* used from to_SHIFT_JIS_E2_8C */ - /* used from to_EUC_JP_E2_8C */ - 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, - 1, 1, 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, - 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, - 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, -}; -static const struct byte_lookup* const -to_SHIFT_JIS_E2_8C_infos[2] = { - o2(0x81,0xDC), UNDEF, -}; -static const BYTE_LOOKUP -to_SHIFT_JIS_E2_8C = { - to_SHIFT_JIS_E2_8C_offsets, - to_SHIFT_JIS_E2_8C_infos -}; - -static const unsigned char -to_SHIFT_JIS_E2_91_offsets[64] = { - /* used from to_SHIFT_JIS_E2_91 */ - /* used from to_EUC_JP_E2_91 */ - 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, 20, 20, 20, - 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, - 16, 17, 18, 19, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, -}; -static const struct byte_lookup* const -to_SHIFT_JIS_E2_91_infos[21] = { - o2(0x87,0x40), o2(0x87,0x41), o2(0x87,0x42), o2(0x87,0x43), - o2(0x87,0x44), o2(0x87,0x45), o2(0x87,0x46), o2(0x87,0x47), - o2(0x87,0x48), o2(0x87,0x49), o2(0x87,0x4A), o2(0x87,0x4B), - o2(0x87,0x4C), o2(0x87,0x4D), o2(0x87,0x4E), o2(0x87,0x4F), - o2(0x87,0x50), o2(0x87,0x51), o2(0x87,0x52), o2(0x87,0x53), - UNDEF, -}; -static const BYTE_LOOKUP -to_SHIFT_JIS_E2_91 = { - to_SHIFT_JIS_E2_91_offsets, - to_SHIFT_JIS_E2_91_infos -}; - -static const unsigned char -to_SHIFT_JIS_E2_94_offsets[64] = { - /* used from to_SHIFT_JIS_E2_94 */ - /* used from to_EUC_JP_E2_94 */ - 0, 1, 2, 3, 30, 30, 30, 30, 30, 30, 30, 30, 4, 30, 30, 5, - 6, 30, 30, 7, 8, 30, 30, 9, 10, 30, 30, 11, 12, 13, 30, 30, - 14, 30, 30, 15, 16, 17, 30, 30, 18, 30, 30, 19, 20, 30, 30, 21, - 22, 30, 30, 23, 24, 30, 30, 25, 26, 30, 30, 27, 28, 30, 30, 29, -}; -static const struct byte_lookup* const -to_SHIFT_JIS_E2_94_infos[31] = { - o2(0x84,0x9F), o2(0x84,0xAA), o2(0x84,0xA0), o2(0x84,0xAB), - o2(0x84,0xA1), o2(0x84,0xAC), o2(0x84,0xA2), o2(0x84,0xAD), - o2(0x84,0xA4), o2(0x84,0xAF), o2(0x84,0xA3), o2(0x84,0xAE), - o2(0x84,0xA5), o2(0x84,0xBA), o2(0x84,0xB5), o2(0x84,0xB0), - o2(0x84,0xA7), o2(0x84,0xBC), o2(0x84,0xB7), o2(0x84,0xB2), - o2(0x84,0xA6), o2(0x84,0xB6), o2(0x84,0xBB), o2(0x84,0xB1), - o2(0x84,0xA8), o2(0x84,0xB8), o2(0x84,0xBD), o2(0x84,0xB3), - o2(0x84,0xA9), o2(0x84,0xB9), UNDEF, -}; -static const BYTE_LOOKUP -to_SHIFT_JIS_E2_94 = { - to_SHIFT_JIS_E2_94_offsets, - to_SHIFT_JIS_E2_94_infos -}; - -static const unsigned char -to_SHIFT_JIS_E2_95_offsets[64] = { - /* used from to_SHIFT_JIS_E2_95 */ - /* used from to_EUC_JP_E2_95 */ - 2, 2, 0, 2, 2, 2, 2, 2, 2, 2, 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, -}; -static const struct byte_lookup* const -to_SHIFT_JIS_E2_95_infos[3] = { - o2(0x84,0xBE), o2(0x84,0xB4), UNDEF, -}; -static const BYTE_LOOKUP -to_SHIFT_JIS_E2_95 = { - to_SHIFT_JIS_E2_95_offsets, - to_SHIFT_JIS_E2_95_infos -}; - -static const unsigned char -to_SHIFT_JIS_E2_96_offsets[64] = { - /* used from to_SHIFT_JIS_E2_96 */ - /* used from to_EUC_JP_E2_96 */ - 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, - 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, - 0, 1, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, - 6, 6, 2, 3, 6, 6, 6, 6, 6, 6, 6, 6, 4, 5, 6, 6, -}; -static const struct byte_lookup* const -to_SHIFT_JIS_E2_96_infos[7] = { - o2(0x81,0xA1), o2(0x81,0xA0), o2(0x81,0xA3), o2(0x81,0xA2), - o2(0x81,0xA5), o2(0x81,0xA4), UNDEF, -}; -static const BYTE_LOOKUP -to_SHIFT_JIS_E2_96 = { - to_SHIFT_JIS_E2_96_offsets, - to_SHIFT_JIS_E2_96_infos -}; - -static const unsigned char -to_SHIFT_JIS_E2_97_offsets[64] = { - /* used from to_SHIFT_JIS_E2_97 */ - /* used from to_EUC_JP_E2_97 */ - 6, 6, 6, 6, 6, 6, 0, 1, 6, 6, 6, 2, 6, 6, 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, 6, 6, 6, 5, - 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, -}; -static const struct byte_lookup* const -to_SHIFT_JIS_E2_97_infos[7] = { - o2(0x81,0x9F), o2(0x81,0x9E), o2(0x81,0x9B), o2(0x81,0x9D), - o2(0x81,0x9C), o2(0x81,0xFC), UNDEF, -}; -static const BYTE_LOOKUP -to_SHIFT_JIS_E2_97 = { - to_SHIFT_JIS_E2_97_offsets, - to_SHIFT_JIS_E2_97_infos -}; - -static const unsigned char -to_SHIFT_JIS_E2_98_offsets[64] = { - /* used from to_SHIFT_JIS_E2_98 */ - /* used from to_EUC_JP_E2_98 */ - 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, 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_SHIFT_JIS_E2_98_infos[3] = { - o2(0x81,0x9A), o2(0x81,0x99), UNDEF, -}; -static const BYTE_LOOKUP -to_SHIFT_JIS_E2_98 = { - to_SHIFT_JIS_E2_98_offsets, - to_SHIFT_JIS_E2_98_infos -}; - -static const unsigned char -to_SHIFT_JIS_E2_99_offsets[64] = { - /* used from to_SHIFT_JIS_E2_99 */ - /* used from to_EUC_JP_E2_99 */ - 0, 5, 1, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, - 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, - 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 2, 5, 5, 3, 5, 4, - 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, -}; -static const struct byte_lookup* const -to_SHIFT_JIS_E2_99_infos[6] = { - o2(0x81,0x8A), o2(0x81,0x89), o2(0x81,0xF4), o2(0x81,0xF3), - o2(0x81,0xF2), UNDEF, -}; -static const BYTE_LOOKUP -to_SHIFT_JIS_E2_99 = { - to_SHIFT_JIS_E2_99_offsets, - to_SHIFT_JIS_E2_99_infos -}; - -static const unsigned char -to_SHIFT_JIS_E2_offsets[64] = { - /* used from to_SHIFT_JIS_E2 */ - /* used from to_EUC_JP_E2 */ - 0, 16, 16, 16, 1, 2, 3, 4, 5, 6, 7, 16, 8, 16, 16, 16, - 16, 9, 16, 16, 10, 11, 12, 13, 14, 15, 16, 16, 16, 16, 16, 16, - 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, - 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, -}; -static const struct byte_lookup* const -to_SHIFT_JIS_E2_infos[17] = { - &to_SHIFT_JIS_E2_80, &to_SHIFT_JIS_E2_84, - &to_SHIFT_JIS_E2_85, &to_SHIFT_JIS_E2_86, - &to_SHIFT_JIS_E2_87, &to_SHIFT_JIS_E2_88, - &to_SHIFT_JIS_E2_89, &to_SHIFT_JIS_E2_8A, - &to_SHIFT_JIS_E2_8C, &to_SHIFT_JIS_E2_91, - &to_SHIFT_JIS_E2_94, &to_SHIFT_JIS_E2_95, - &to_SHIFT_JIS_E2_96, &to_SHIFT_JIS_E2_97, - &to_SHIFT_JIS_E2_98, &to_SHIFT_JIS_E2_99, - UNDEF, -}; -static const BYTE_LOOKUP -to_SHIFT_JIS_E2 = { - to_SHIFT_JIS_E2_offsets, - to_SHIFT_JIS_E2_infos -}; - -static const unsigned char -to_SHIFT_JIS_E3_80_offsets[64] = { - /* used from to_SHIFT_JIS_E3_80 */ - /* used from to_EUC_JP_E3_80 */ - 0, 1, 2, 3, 24, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, - 15, 16, 17, 18, 19, 20, 24, 24, 24, 24, 24, 24, 21, 22, 24, 23, - 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, - 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, -}; -static const struct byte_lookup* const -to_SHIFT_JIS_E3_80_infos[25] = { - o2(0x81,0x40), o2(0x81,0x41), o2(0x81,0x42), o2(0x81,0x56), - o2(0x81,0x58), o2(0x81,0x59), o2(0x81,0x5A), o2(0x81,0x71), - o2(0x81,0x72), o2(0x81,0x73), o2(0x81,0x74), o2(0x81,0x75), - o2(0x81,0x76), o2(0x81,0x77), o2(0x81,0x78), o2(0x81,0x79), - o2(0x81,0x7A), o2(0x81,0xA7), o2(0x81,0xAC), o2(0x81,0x6B), - o2(0x81,0x6C), o2(0x81,0x60), o2(0x87,0x80), o2(0x87,0x81), - UNDEF, -}; -static const BYTE_LOOKUP -to_SHIFT_JIS_E3_80 = { - to_SHIFT_JIS_E3_80_offsets, - to_SHIFT_JIS_E3_80_infos -}; - -static const unsigned char -to_SHIFT_JIS_E3_81_offsets[64] = { - /* used from to_SHIFT_JIS_E3_81 */ - /* used from to_EUC_JP_E3_81 */ - 63, 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, -}; -static const struct byte_lookup* const -to_SHIFT_JIS_E3_81_infos[64] = { - o2(0x82,0x9F), o2(0x82,0xA0), o2(0x82,0xA1), o2(0x82,0xA2), - o2(0x82,0xA3), o2(0x82,0xA4), o2(0x82,0xA5), o2(0x82,0xA6), - o2(0x82,0xA7), o2(0x82,0xA8), o2(0x82,0xA9), o2(0x82,0xAA), - o2(0x82,0xAB), o2(0x82,0xAC), o2(0x82,0xAD), o2(0x82,0xAE), - o2(0x82,0xAF), o2(0x82,0xB0), o2(0x82,0xB1), o2(0x82,0xB2), - o2(0x82,0xB3), o2(0x82,0xB4), o2(0x82,0xB5), o2(0x82,0xB6), - o2(0x82,0xB7), o2(0x82,0xB8), o2(0x82,0xB9), o2(0x82,0xBA), - o2(0x82,0xBB), o2(0x82,0xBC), o2(0x82,0xBD), o2(0x82,0xBE), - o2(0x82,0xBF), o2(0x82,0xC0), o2(0x82,0xC1), o2(0x82,0xC2), - o2(0x82,0xC3), o2(0x82,0xC4), o2(0x82,0xC5), o2(0x82,0xC6), - o2(0x82,0xC7), o2(0x82,0xC8), o2(0x82,0xC9), o2(0x82,0xCA), - o2(0x82,0xCB), o2(0x82,0xCC), o2(0x82,0xCD), o2(0x82,0xCE), - o2(0x82,0xCF), o2(0x82,0xD0), o2(0x82,0xD1), o2(0x82,0xD2), - o2(0x82,0xD3), o2(0x82,0xD4), o2(0x82,0xD5), o2(0x82,0xD6), - o2(0x82,0xD7), o2(0x82,0xD8), o2(0x82,0xD9), o2(0x82,0xDA), - o2(0x82,0xDB), o2(0x82,0xDC), o2(0x82,0xDD), UNDEF, -}; -static const BYTE_LOOKUP -to_SHIFT_JIS_E3_81 = { - to_SHIFT_JIS_E3_81_offsets, - to_SHIFT_JIS_E3_81_infos -}; - -static const unsigned char -to_SHIFT_JIS_E3_82_offsets[64] = { - /* used from to_SHIFT_JIS_E3_82 */ - /* used from to_EUC_JP_E3_82 */ - 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, - 16, 17, 18, 19, 55, 55, 55, 55, 55, 55, 55, 20, 21, 22, 23, 55, - 55, 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, -}; -static const struct byte_lookup* const -to_SHIFT_JIS_E3_82_infos[56] = { - o2(0x82,0xDE), o2(0x82,0xDF), o2(0x82,0xE0), o2(0x82,0xE1), - o2(0x82,0xE2), o2(0x82,0xE3), o2(0x82,0xE4), o2(0x82,0xE5), - o2(0x82,0xE6), o2(0x82,0xE7), o2(0x82,0xE8), o2(0x82,0xE9), - o2(0x82,0xEA), o2(0x82,0xEB), o2(0x82,0xEC), o2(0x82,0xED), - o2(0x82,0xEE), o2(0x82,0xEF), o2(0x82,0xF0), o2(0x82,0xF1), - o2(0x81,0x4A), o2(0x81,0x4B), o2(0x81,0x54), o2(0x81,0x55), - o2(0x83,0x40), o2(0x83,0x41), o2(0x83,0x42), o2(0x83,0x43), - o2(0x83,0x44), o2(0x83,0x45), o2(0x83,0x46), o2(0x83,0x47), - o2(0x83,0x48), o2(0x83,0x49), o2(0x83,0x4A), o2(0x83,0x4B), - o2(0x83,0x4C), o2(0x83,0x4D), o2(0x83,0x4E), o2(0x83,0x4F), - o2(0x83,0x50), o2(0x83,0x51), o2(0x83,0x52), o2(0x83,0x53), - o2(0x83,0x54), o2(0x83,0x55), o2(0x83,0x56), o2(0x83,0x57), - o2(0x83,0x58), o2(0x83,0x59), o2(0x83,0x5A), o2(0x83,0x5B), - o2(0x83,0x5C), o2(0x83,0x5D), o2(0x83,0x5E), UNDEF, -}; -static const BYTE_LOOKUP -to_SHIFT_JIS_E3_82 = { - to_SHIFT_JIS_E3_82_offsets, - to_SHIFT_JIS_E3_82_infos -}; - -static const unsigned char -to_SHIFT_JIS_E3_83_offsets[64] = { - /* used from to_SHIFT_JIS_E3_83 */ - /* used from to_EUC_JP_E3_83 */ - 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, 59, 59, 59, 59, 55, 56, 57, 58, 59, -}; -static const struct byte_lookup* const -to_SHIFT_JIS_E3_83_infos[60] = { - o2(0x83,0x5F), o2(0x83,0x60), o2(0x83,0x61), o2(0x83,0x62), - o2(0x83,0x63), o2(0x83,0x64), o2(0x83,0x65), o2(0x83,0x66), - o2(0x83,0x67), o2(0x83,0x68), o2(0x83,0x69), o2(0x83,0x6A), - o2(0x83,0x6B), o2(0x83,0x6C), o2(0x83,0x6D), o2(0x83,0x6E), - o2(0x83,0x6F), o2(0x83,0x70), o2(0x83,0x71), o2(0x83,0x72), - o2(0x83,0x73), o2(0x83,0x74), o2(0x83,0x75), o2(0x83,0x76), - o2(0x83,0x77), o2(0x83,0x78), o2(0x83,0x79), o2(0x83,0x7A), - o2(0x83,0x7B), o2(0x83,0x7C), o2(0x83,0x7D), o2(0x83,0x7E), - o2(0x83,0x80), o2(0x83,0x81), o2(0x83,0x82), o2(0x83,0x83), - o2(0x83,0x84), o2(0x83,0x85), o2(0x83,0x86), o2(0x83,0x87), - o2(0x83,0x88), o2(0x83,0x89), o2(0x83,0x8A), o2(0x83,0x8B), - o2(0x83,0x8C), o2(0x83,0x8D), o2(0x83,0x8E), o2(0x83,0x8F), - o2(0x83,0x90), o2(0x83,0x91), o2(0x83,0x92), o2(0x83,0x93), - o2(0x83,0x94), o2(0x83,0x95), o2(0x83,0x96), o2(0x81,0x45), - o2(0x81,0x5B), o2(0x81,0x52), o2(0x81,0x53), UNDEF, -}; -static const BYTE_LOOKUP -to_SHIFT_JIS_E3_83 = { - to_SHIFT_JIS_E3_83_offsets, - to_SHIFT_JIS_E3_83_infos -}; - -static const unsigned char -to_SHIFT_JIS_E3_88_offsets[64] = { - /* used from to_SHIFT_JIS_E3_88 */ - /* used from to_EUC_JP_E3_88 */ - 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, - 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, - 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, - 3, 0, 1, 3, 3, 3, 3, 3, 3, 2, 3, 3, 3, 3, 3, 3, -}; -static const struct byte_lookup* const -to_SHIFT_JIS_E3_88_infos[4] = { - o2(0x87,0x8A), o2(0x87,0x8B), o2(0x87,0x8C), UNDEF, -}; -static const BYTE_LOOKUP -to_SHIFT_JIS_E3_88 = { - to_SHIFT_JIS_E3_88_offsets, - to_SHIFT_JIS_E3_88_infos -}; - -static const unsigned char -to_SHIFT_JIS_E3_8A_offsets[64] = { - /* used from to_SHIFT_JIS_E3_8A */ - /* used from to_EUC_JP_E3_8A */ - 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 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, - 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, -}; -static const struct byte_lookup* const -to_SHIFT_JIS_E3_8A_infos[6] = { - o2(0x87,0x85), o2(0x87,0x86), o2(0x87,0x87), o2(0x87,0x88), - o2(0x87,0x89), UNDEF, -}; -static const BYTE_LOOKUP -to_SHIFT_JIS_E3_8A = { - to_SHIFT_JIS_E3_8A_offsets, - to_SHIFT_JIS_E3_8A_infos -}; - -static const unsigned char -to_SHIFT_JIS_E3_8C_offsets[64] = { - /* used from to_SHIFT_JIS_E3_8C */ - /* used from to_EUC_JP_E3_8C */ - 11, 11, 11, 0, 11, 11, 11, 11, 11, 11, 11, 11, 11, 1, 11, 11, - 11, 11, 11, 11, 2, 11, 11, 11, 3, 11, 11, 11, 11, 11, 11, 11, - 11, 11, 4, 5, 11, 11, 6, 7, 11, 11, 11, 8, 11, 11, 11, 11, - 11, 11, 11, 11, 11, 11, 9, 11, 11, 11, 11, 10, 11, 11, 11, 11, -}; -static const struct byte_lookup* const -to_SHIFT_JIS_E3_8C_infos[12] = { - o2(0x87,0x65), o2(0x87,0x69), o2(0x87,0x60), o2(0x87,0x63), - o2(0x87,0x61), o2(0x87,0x6B), o2(0x87,0x6A), o2(0x87,0x64), - o2(0x87,0x6C), o2(0x87,0x66), o2(0x87,0x6E), UNDEF, -}; -static const BYTE_LOOKUP -to_SHIFT_JIS_E3_8C = { - to_SHIFT_JIS_E3_8C_offsets, - to_SHIFT_JIS_E3_8C_infos -}; - -static const unsigned char -to_SHIFT_JIS_E3_8D_offsets[64] = { - /* used from to_SHIFT_JIS_E3_8D */ - /* used from to_EUC_JP_E3_8D */ - 9, 9, 9, 9, 9, 9, 9, 9, 9, 0, 1, 9, 9, 2, 9, 9, - 9, 3, 9, 9, 9, 9, 9, 4, 9, 9, 9, 9, 9, 9, 9, 9, - 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, - 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 5, 6, 7, 8, 9, -}; -static const struct byte_lookup* const -to_SHIFT_JIS_E3_8D_infos[10] = { - o2(0x87,0x5F), o2(0x87,0x6D), o2(0x87,0x62), o2(0x87,0x67), - o2(0x87,0x68), o2(0x87,0x7E), o2(0x87,0x8F), o2(0x87,0x8E), - o2(0x87,0x8D), UNDEF, -}; -static const BYTE_LOOKUP -to_SHIFT_JIS_E3_8D = { - to_SHIFT_JIS_E3_8D_offsets, - to_SHIFT_JIS_E3_8D_infos -}; - -static const unsigned char -to_SHIFT_JIS_E3_8E_offsets[64] = { - /* used from to_SHIFT_JIS_E3_8E */ - /* used from to_EUC_JP_E3_8E */ - 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 0, 1, - 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 2, 3, 4, 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_SHIFT_JIS_E3_8E_infos[7] = { - o2(0x87,0x72), o2(0x87,0x73), o2(0x87,0x6F), o2(0x87,0x70), - o2(0x87,0x71), o2(0x87,0x75), UNDEF, -}; -static const BYTE_LOOKUP -to_SHIFT_JIS_E3_8E = { - to_SHIFT_JIS_E3_8E_offsets, - to_SHIFT_JIS_E3_8E_infos -}; - -static const unsigned char -to_SHIFT_JIS_E3_8F_offsets[64] = { - /* used from to_SHIFT_JIS_E3_8F */ - /* used from to_EUC_JP_E3_8F */ - 2, 2, 2, 2, 0, 2, 2, 2, 2, 2, 2, 2, 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, -}; -static const struct byte_lookup* const -to_SHIFT_JIS_E3_8F_infos[3] = { - o2(0x87,0x74), o2(0x87,0x83), UNDEF, -}; -static const BYTE_LOOKUP -to_SHIFT_JIS_E3_8F = { - to_SHIFT_JIS_E3_8F_offsets, - to_SHIFT_JIS_E3_8F_infos -}; - -static const unsigned char -to_SHIFT_JIS_E3_offsets[64] = { - /* used from to_SHIFT_JIS_E3 */ - /* used from to_EUC_JP_E3 */ - 0, 1, 2, 3, 10, 10, 10, 10, 4, 10, 5, 10, 6, 7, 8, 9, - 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, - 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, - 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, -}; -static const struct byte_lookup* const -to_SHIFT_JIS_E3_infos[11] = { - &to_SHIFT_JIS_E3_80, &to_SHIFT_JIS_E3_81, - &to_SHIFT_JIS_E3_82, &to_SHIFT_JIS_E3_83, - &to_SHIFT_JIS_E3_88, &to_SHIFT_JIS_E3_8A, - &to_SHIFT_JIS_E3_8C, &to_SHIFT_JIS_E3_8D, - &to_SHIFT_JIS_E3_8E, &to_SHIFT_JIS_E3_8F, - UNDEF, -}; -static const BYTE_LOOKUP -to_SHIFT_JIS_E3 = { - to_SHIFT_JIS_E3_offsets, - to_SHIFT_JIS_E3_infos -}; - -static const unsigned char -to_SHIFT_JIS_E4_B8_offsets[64] = { - /* used from to_SHIFT_JIS_E4_B8 */ - /* used from to_EUC_JP_E4_B8 */ - 0, 1, 32, 2, 32, 32, 32, 3, 4, 5, 6, 7, 32, 8, 9, 32, - 10, 11, 32, 32, 12, 13, 14, 15, 16, 17, 32, 32, 32, 32, 18, 32, - 32, 19, 32, 32, 32, 32, 20, 32, 21, 32, 22, 32, 32, 23, 32, 32, - 32, 24, 25, 32, 32, 32, 26, 32, 27, 28, 32, 29, 30, 32, 32, 31, -}; -static const struct byte_lookup* const -to_SHIFT_JIS_E4_B8_infos[33] = { - o2(0x88,0xEA), o2(0x92,0x9A), o2(0x8E,0xB5), o2(0x96,0x9C), - o2(0x8F,0xE4), o2(0x8E,0x4F), o2(0x8F,0xE3), o2(0x89,0xBA), - o2(0x95,0x73), o2(0x97,0x5E), o2(0x98,0xA0), o2(0x89,0x4E), - o2(0x8A,0x8E), o2(0x98,0xA1), o2(0x90,0xA2), o2(0x99,0xC0), - o2(0x8B,0x75), o2(0x95,0xB8), o2(0x8F,0xE5), o2(0x97,0xBC), - o2(0x95,0xC0), o2(0xFA,0x68), o2(0x98,0xA2), o2(0x92,0x86), - o2(0x98,0xA3), o2(0x8B,0xF8), o2(0x98,0xA4), o2(0x8A,0xDB), - o2(0x92,0x4F), o2(0x8E,0xE5), o2(0x98,0xA5), o2(0x98,0xA6), - UNDEF, -}; -static const BYTE_LOOKUP -to_SHIFT_JIS_E4_B8 = { - to_SHIFT_JIS_E4_B8_offsets, - to_SHIFT_JIS_E4_B8_infos -}; - -static const unsigned char -to_SHIFT_JIS_E4_B9_offsets[64] = { - /* used from to_SHIFT_JIS_E4_B9 */ - /* used from to_EUC_JP_E4_B9 */ - 19, 19, 0, 1, 19, 2, 19, 19, 19, 19, 19, 3, 19, 4, 5, 6, - 19, 19, 19, 19, 19, 7, 8, 9, 10, 11, 19, 19, 19, 12, 13, 14, - 19, 19, 15, 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, - 19, 16, 19, 17, 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, 18, 19, -}; -static const struct byte_lookup* const -to_SHIFT_JIS_E4_B9_infos[20] = { - o2(0x98,0xA7), o2(0x94,0x54), o2(0x8B,0x76), o2(0x94,0x56), - o2(0x93,0xE1), o2(0x8C,0xC1), o2(0x96,0x52), o2(0xE5,0x68), - o2(0x98,0xA8), o2(0x8F,0xE6), o2(0x98,0xA9), o2(0x89,0xB3), - o2(0x8B,0xE3), o2(0x8C,0xEE), o2(0x96,0xE7), o2(0x9B,0xA4), - o2(0x97,0x90), o2(0x93,0xFB), o2(0x8A,0xA3), UNDEF, -}; -static const BYTE_LOOKUP -to_SHIFT_JIS_E4_B9 = { - to_SHIFT_JIS_E4_B9_offsets, - to_SHIFT_JIS_E4_B9_infos -}; - -static const unsigned char -to_SHIFT_JIS_E4_BA_offsets[64] = { - /* used from to_SHIFT_JIS_E4_BA */ - /* used from to_EUC_JP_E4_BA */ - 0, 35, 1, 35, 35, 2, 3, 35, 4, 5, 6, 7, 8, 35, 9, 35, - 35, 10, 11, 35, 12, 13, 35, 35, 14, 15, 35, 16, 17, 35, 18, 19, - 20, 21, 22, 35, 23, 24, 25, 35, 26, 35, 35, 27, 28, 29, 30, 35, - 31, 35, 35, 32, 35, 35, 33, 35, 35, 35, 34, 35, 35, 35, 35, 35, -}; -static const struct byte_lookup* const -to_SHIFT_JIS_E4_BA_infos[36] = { - o2(0x8B,0x54), o2(0x98,0xAA), o2(0x98,0xAB), o2(0x97,0xB9), - o2(0x97,0x5C), o2(0x91,0x88), o2(0x98,0xAD), o2(0x8E,0x96), - o2(0x93,0xF1), o2(0x98,0xB0), o2(0x89,0x5D), o2(0x8C,0xDD), - o2(0x8C,0xDC), o2(0x88,0xE4), o2(0x98,0x6A), o2(0x98,0x69), - o2(0x8D,0xB1), o2(0x88,0x9F), o2(0x98,0xB1), o2(0x98,0xB2), - o2(0x98,0xB3), o2(0x96,0x53), o2(0x98,0xB4), o2(0x8C,0xF0), - o2(0x88,0xE5), o2(0x96,0x92), o2(0x8B,0x9C), o2(0x8B,0x9D), - o2(0x8B,0x9E), o2(0x92,0xE0), o2(0x97,0xBA), o2(0x98,0xB5), - o2(0x98,0xB6), o2(0x98,0xB7), o2(0x90,0x6C), UNDEF, -}; -static const BYTE_LOOKUP -to_SHIFT_JIS_E4_BA = { - to_SHIFT_JIS_E4_BA_offsets, - to_SHIFT_JIS_E4_BA_infos -}; - -static const unsigned char -to_SHIFT_JIS_E4_BB_offsets[64] = { - /* used from to_SHIFT_JIS_E4_BB */ - /* used from to_EUC_JP_E4_BB */ - 0, 1, 2, 32, 3, 32, 4, 5, 32, 32, 6, 7, 32, 8, 9, 10, - 32, 32, 32, 32, 11, 12, 13, 14, 15, 16, 32, 32, 32, 17, 18, 19, - 32, 20, 32, 21, 22, 23, 32, 32, 32, 32, 32, 32, 32, 24, 25, 32, - 26, 32, 27, 32, 32, 32, 28, 29, 32, 32, 32, 30, 31, 32, 32, 32, -}; -static const struct byte_lookup* const -to_SHIFT_JIS_E4_BB_infos[33] = { - o2(0x8F,0x59), o2(0x90,0x6D), o2(0x98,0xBC), o2(0x98,0xBA), - o2(0x98,0xBB), o2(0x8B,0x77), o2(0x8D,0xA1), o2(0x89,0xEE), - o2(0x98,0xB9), o2(0x98,0xB8), o2(0x95,0xA7), o2(0x8E,0x65), - o2(0x8E,0x64), o2(0x91,0xBC), o2(0x98,0xBD), o2(0x95,0x74), - o2(0x90,0xE5), o2(0x81,0x57), o2(0x98,0xBE), o2(0x98,0xC0), - o2(0xFA,0x69), o2(0x91,0xE3), o2(0x97,0xDF), o2(0x88,0xC8), - o2(0x98,0xBF), o2(0x89,0xBC), o2(0x8B,0xC2), o2(0x92,0x87), - o2(0x8C,0x8F), o2(0x98,0xC1), o2(0x94,0x43), o2(0xFA,0x6A), - UNDEF, -}; -static const BYTE_LOOKUP -to_SHIFT_JIS_E4_BB = { - to_SHIFT_JIS_E4_BB_offsets, - to_SHIFT_JIS_E4_BB_infos -}; - -static const unsigned char -to_SHIFT_JIS_E4_BC_offsets[64] = { - /* used from to_SHIFT_JIS_E4_BC */ - /* used from to_EUC_JP_E4_BC */ - 0, 1, 22, 2, 22, 22, 22, 22, 22, 3, 4, 22, 22, 5, 6, 7, - 8, 9, 22, 22, 22, 22, 22, 22, 22, 22, 10, 22, 11, 12, 22, 22, - 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 13, - 14, 22, 22, 22, 15, 22, 16, 22, 17, 18, 19, 22, 20, 21, 22, 22, -}; -static const struct byte_lookup* const -to_SHIFT_JIS_E4_BC_infos[23] = { - o2(0xFA,0x6B), o2(0x8A,0xE9), o2(0xFA,0x6C), o2(0x98,0xC2), - o2(0x88,0xC9), o2(0x8C,0xDE), o2(0x8A,0xEA), o2(0x95,0x9A), - o2(0x94,0xB0), o2(0x8B,0x78), o2(0x89,0xEF), o2(0x98,0xE5), - o2(0x93,0x60), o2(0x94,0x8C), o2(0x98,0xC4), o2(0x94,0xBA), - o2(0x97,0xE0), o2(0x90,0x4C), o2(0xFA,0x6D), o2(0x8E,0x66), - o2(0x8E,0x97), o2(0x89,0xBE), UNDEF, -}; -static const BYTE_LOOKUP -to_SHIFT_JIS_E4_BC = { - to_SHIFT_JIS_E4_BC_offsets, - to_SHIFT_JIS_E4_BC_infos -}; - -static const unsigned char -to_SHIFT_JIS_E4_BD_offsets[64] = { - /* used from to_SHIFT_JIS_E4_BD */ - /* used from to_EUC_JP_E4_BD */ - 27, 27, 27, 0, 27, 27, 1, 2, 27, 27, 27, 27, 27, 3, 4, 5, - 6, 7, 27, 8, 27, 9, 10, 11, 27, 12, 13, 14, 15, 16, 17, 27, - 27, 27, 27, 27, 27, 27, 27, 27, 27, 18, 27, 27, 27, 27, 27, 19, - 20, 27, 27, 21, 27, 22, 23, 27, 27, 27, 27, 24, 25, 27, 27, 26, -}; -static const struct byte_lookup* const -to_SHIFT_JIS_E4_BD_infos[28] = { - o2(0x92,0xCF), o2(0x92,0x41), o2(0x98,0xC8), o2(0x88,0xCA), - o2(0x92,0xE1), o2(0x8F,0x5A), o2(0x8D,0xB2), o2(0x97,0x43), - o2(0x91,0xCC), o2(0x89,0xBD), o2(0xFA,0x6E), o2(0x98,0xC7), - o2(0x97,0x5D), o2(0x98,0xC3), o2(0x98,0xC5), o2(0x8D,0xEC), - o2(0x98,0xC6), o2(0x9B,0x43), o2(0x98,0xCE), o2(0x98,0xD1), - o2(0x98,0xCF), o2(0x89,0xC0), o2(0x95,0xB9), o2(0x98,0xC9), - o2(0x98,0xCD), o2(0x8C,0xF1), o2(0x8E,0x67), UNDEF, -}; -static const BYTE_LOOKUP -to_SHIFT_JIS_E4_BD = { - to_SHIFT_JIS_E4_BD_offsets, - to_SHIFT_JIS_E4_BD_infos -}; - -static const unsigned char -to_SHIFT_JIS_E4_BE_offsets[64] = { - /* used from to_SHIFT_JIS_E4_BE */ - /* used from to_EUC_JP_E4_BE */ - 24, 24, 24, 0, 24, 24, 1, 24, 2, 24, 3, 4, 24, 5, 24, 6, - 24, 7, 8, 24, 9, 24, 10, 24, 11, 24, 12, 13, 24, 14, 24, 24, - 15, 16, 24, 24, 24, 24, 24, 24, 24, 24, 24, 17, 24, 18, 19, 20, - 24, 24, 24, 24, 24, 21, 22, 24, 24, 24, 24, 24, 24, 24, 24, 23, -}; -static const struct byte_lookup* const -to_SHIFT_JIS_E4_BE_infos[25] = { - o2(0x8A,0xA4), o2(0x98,0xD2), o2(0x98,0xCA), o2(0xFA,0x70), - o2(0x97,0xE1), o2(0x8E,0x98), o2(0x98,0xCB), o2(0x98,0xD0), - o2(0xFA,0x6F), o2(0xFA,0x72), o2(0x98,0xD3), o2(0x98,0xCC), - o2(0xFA,0x71), o2(0x8B,0x9F), o2(0x88,0xCB), o2(0x8B,0xA0), - o2(0x89,0xBF), o2(0x9B,0x44), o2(0x96,0x99), o2(0x95,0x8E), - o2(0x8C,0xF2), o2(0x90,0x4E), o2(0x97,0xB5), o2(0x95,0xD6), - UNDEF, -}; -static const BYTE_LOOKUP -to_SHIFT_JIS_E4_BE = { - to_SHIFT_JIS_E4_BE_offsets, - to_SHIFT_JIS_E4_BE_infos -}; - -static const unsigned char -to_SHIFT_JIS_E4_BF_offsets[64] = { - /* used from to_SHIFT_JIS_E4_BF */ - /* used from to_EUC_JP_E4_BF */ - 29, 29, 0, 1, 2, 29, 29, 29, 29, 3, 4, 29, 29, 5, 6, 29, - 7, 8, 29, 29, 9, 29, 29, 10, 11, 29, 12, 13, 29, 14, 29, 15, - 29, 16, 29, 17, 18, 19, 29, 29, 29, 29, 29, 29, 29, 29, 20, 21, - 29, 29, 29, 22, 29, 23, 24, 29, 25, 29, 26, 29, 29, 29, 27, 28, -}; -static const struct byte_lookup* const -to_SHIFT_JIS_E4_BF_infos[30] = { - o2(0x8C,0x57), o2(0x91,0xA3), o2(0x89,0xE2), o2(0xFA,0x61), - o2(0x8F,0x72), o2(0xFA,0x73), o2(0x98,0xD7), o2(0x98,0xDC), - o2(0x98,0xDA), o2(0x98,0xD5), o2(0x91,0xAD), o2(0x98,0xD8), - o2(0x98,0xDB), o2(0x98,0xD9), o2(0x95,0xDB), o2(0x98,0xD6), - o2(0x90,0x4D), o2(0x96,0x93), o2(0x98,0xDD), o2(0x98,0xDE), - o2(0x8F,0x43), o2(0x98,0xEB), o2(0x94,0x6F), o2(0x95,0x55), - o2(0x98,0xE6), o2(0x95,0xEE), o2(0x89,0xB4), o2(0x98,0xEA), - o2(0xFA,0x76), UNDEF, -}; -static const BYTE_LOOKUP -to_SHIFT_JIS_E4_BF = { - to_SHIFT_JIS_E4_BF_offsets, - to_SHIFT_JIS_E4_BF_infos -}; - -static const unsigned char -to_SHIFT_JIS_E4_offsets[64] = { - /* used from to_SHIFT_JIS_E4 */ - /* used from to_EUC_JP_E4 */ - 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, 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, 4, 5, 6, 7, -}; -static const struct byte_lookup* const -to_SHIFT_JIS_E4_infos[9] = { - &to_SHIFT_JIS_E4_B8, &to_SHIFT_JIS_E4_B9, - &to_SHIFT_JIS_E4_BA, &to_SHIFT_JIS_E4_BB, - &to_SHIFT_JIS_E4_BC, &to_SHIFT_JIS_E4_BD, - &to_SHIFT_JIS_E4_BE, &to_SHIFT_JIS_E4_BF, - UNDEF, -}; -static const BYTE_LOOKUP -to_SHIFT_JIS_E4 = { - to_SHIFT_JIS_E4_offsets, - to_SHIFT_JIS_E4_infos -}; - -static const unsigned char -to_SHIFT_JIS_E5_80_offsets[64] = { - /* used from to_SHIFT_JIS_E5_80 */ - /* used from to_EUC_JP_E5_80 */ - 28, 28, 28, 28, 28, 0, 1, 28, 28, 2, 28, 3, 28, 4, 28, 5, - 28, 6, 7, 28, 8, 28, 9, 28, 28, 10, 11, 28, 28, 28, 12, 13, - 28, 14, 15, 16, 17, 18, 19, 28, 20, 21, 22, 23, 24, 25, 28, 28, - 28, 28, 28, 28, 28, 28, 26, 28, 28, 27, 28, 28, 28, 28, 28, 28, -}; -static const struct byte_lookup* const -to_SHIFT_JIS_E5_80_infos[29] = { - o2(0x98,0xE4), o2(0x98,0xED), o2(0x91,0x71), o2(0x8C,0xC2), - o2(0x94,0x7B), o2(0xE0,0xC5), o2(0x98,0xEC), o2(0x93,0x7C), - o2(0x98,0xE1), o2(0x8C,0xF4), o2(0x8C,0xF3), o2(0x98,0xDF), - o2(0xFA,0x77), o2(0x8E,0xD8), o2(0x98,0xE7), o2(0xFA,0x75), - o2(0x95,0xED), o2(0x92,0x6C), o2(0x98,0xE3), o2(0x8C,0x91), - o2(0x98,0xE0), o2(0x98,0xE8), o2(0x98,0xE2), o2(0x97,0xCF), - o2(0x98,0xE9), o2(0x98,0x60), o2(0x8B,0xE4), o2(0x8C,0x90), - UNDEF, -}; -static const BYTE_LOOKUP -to_SHIFT_JIS_E5_80 = { - to_SHIFT_JIS_E5_80_offsets, - to_SHIFT_JIS_E5_80_infos -}; - -static const unsigned char -to_SHIFT_JIS_E5_81_offsets[64] = { - /* used from to_SHIFT_JIS_E5_81 */ - /* used from to_EUC_JP_E5_81 */ - 0, 22, 1, 2, 22, 22, 3, 4, 5, 6, 22, 22, 22, 22, 22, 7, - 8, 22, 22, 22, 22, 9, 10, 22, 22, 22, 11, 22, 12, 22, 22, 22, - 22, 22, 22, 22, 22, 13, 22, 22, 22, 22, 22, 22, 14, 22, 22, 22, - 15, 22, 16, 22, 17, 18, 19, 22, 20, 22, 22, 22, 22, 21, 22, 22, -}; -static const struct byte_lookup* const -to_SHIFT_JIS_E5_81_infos[23] = { - o2(0xFA,0x74), o2(0xFA,0x7A), o2(0x98,0xEE), o2(0xFA,0x78), - o2(0x98,0xEF), o2(0x98,0xF3), o2(0x88,0xCC), o2(0x95,0xCE), - o2(0x98,0xF2), o2(0x98,0xF1), o2(0x98,0xF5), o2(0x98,0xF4), - o2(0x92,0xE2), o2(0x8C,0x92), o2(0x98,0xF6), o2(0xFA,0x79), - o2(0x8E,0xC3), o2(0x91,0xA4), o2(0x92,0xE3), o2(0x8B,0xF4), - o2(0x98,0xF7), o2(0x8B,0x55), UNDEF, -}; -static const BYTE_LOOKUP -to_SHIFT_JIS_E5_81 = { - to_SHIFT_JIS_E5_81_offsets, - to_SHIFT_JIS_E5_81_infos -}; - -static const unsigned char -to_SHIFT_JIS_E5_82_offsets[64] = { - /* used from to_SHIFT_JIS_E5_82 */ - /* used from to_EUC_JP_E5_82 */ - 0, 16, 16, 16, 16, 1, 16, 16, 16, 16, 16, 16, 16, 2, 16, 16, - 16, 3, 16, 16, 4, 16, 16, 16, 5, 6, 7, 16, 16, 16, 16, 16, - 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 8, 9, 16, 16, - 16, 16, 10, 11, 12, 13, 16, 14, 16, 16, 16, 16, 16, 16, 15, 16, -}; -static const struct byte_lookup* const -to_SHIFT_JIS_E5_82_infos[17] = { - o2(0x98,0xF8), o2(0x98,0xFA), o2(0x96,0x54), o2(0x8C,0x86), - o2(0xFA,0x7B), o2(0x8E,0x50), o2(0x94,0xF5), o2(0x98,0xF9), - o2(0x8D,0xC3), o2(0x97,0x62), o2(0x98,0xFC), o2(0x99,0x42), - o2(0x98,0xFB), o2(0x8D,0xC2), o2(0x8F,0x9D), o2(0x8C,0x58), - UNDEF, -}; -static const BYTE_LOOKUP -to_SHIFT_JIS_E5_82 = { - to_SHIFT_JIS_E5_82_offsets, - to_SHIFT_JIS_E5_82_infos -}; - -static const unsigned char -to_SHIFT_JIS_E5_83_offsets[64] = { - /* used from to_SHIFT_JIS_E5_83 */ - /* used from to_EUC_JP_E5_83 */ - 21, 21, 0, 21, 21, 1, 21, 21, 21, 2, 3, 21, 21, 4, 21, 5, - 21, 6, 21, 21, 21, 7, 8, 21, 9, 21, 10, 21, 21, 21, 11, 21, - 21, 21, 21, 12, 21, 13, 21, 14, 21, 21, 21, 21, 21, 15, 16, 21, - 21, 21, 21, 21, 17, 18, 21, 21, 21, 19, 21, 20, 21, 21, 21, 21, -}; -static const struct byte_lookup* const -to_SHIFT_JIS_E5_83_infos[22] = { - o2(0x99,0x43), o2(0x8B,0xCD), o2(0x99,0x40), o2(0x99,0x41), - o2(0x93,0xAD), o2(0x91,0x9C), o2(0x8B,0xA1), o2(0x96,0x6C), - o2(0x99,0x44), o2(0xFA,0x7D), o2(0x97,0xBB), o2(0x99,0x45), - o2(0x99,0x48), o2(0x99,0x46), o2(0x91,0x6D), o2(0x99,0x47), - o2(0x99,0x49), o2(0xFA,0x7C), o2(0x99,0x4B), o2(0x99,0x4A), - o2(0x95,0xC6), UNDEF, -}; -static const BYTE_LOOKUP -to_SHIFT_JIS_E5_83 = { - to_SHIFT_JIS_E5_83_offsets, - to_SHIFT_JIS_E5_83_infos -}; - -static const unsigned char -to_SHIFT_JIS_E5_84_offsets[64] = { - /* used from to_SHIFT_JIS_E5_84 */ - /* used from to_EUC_JP_E5_84 */ - 0, 1, 2, 20, 3, 20, 20, 20, 20, 4, 20, 20, 20, 20, 20, 20, - 20, 20, 5, 20, 6, 7, 8, 20, 9, 20, 10, 20, 20, 20, 20, 11, - 20, 12, 20, 20, 20, 20, 20, 20, 20, 20, 13, 20, 20, 20, 20, 20, - 20, 20, 14, 20, 20, 20, 20, 15, 20, 20, 16, 17, 18, 20, 20, 19, -}; -static const struct byte_lookup* const -to_SHIFT_JIS_E5_84_infos[21] = { - o2(0x8B,0x56), o2(0x99,0x4D), o2(0x99,0x4E), o2(0x89,0xAD), - o2(0x99,0x4C), o2(0x8E,0xF2), o2(0x99,0x51), o2(0x99,0x50), - o2(0x99,0x4F), o2(0x98,0xD4), o2(0x99,0x52), o2(0x8F,0x9E), - o2(0x99,0x53), o2(0x97,0x44), o2(0x96,0xD7), o2(0x99,0x55), - o2(0x99,0x54), o2(0x99,0x57), o2(0x99,0x56), o2(0x99,0x58), - UNDEF, -}; -static const BYTE_LOOKUP -to_SHIFT_JIS_E5_84 = { - to_SHIFT_JIS_E5_84_offsets, - to_SHIFT_JIS_E5_84_infos -}; - -static const unsigned char -to_SHIFT_JIS_E5_85_offsets[64] = { - /* used from to_SHIFT_JIS_E5_85 */ - /* used from to_EUC_JP_E5_85 */ - 0, 1, 35, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 35, - 14, 35, 15, 35, 16, 35, 35, 35, 35, 35, 17, 35, 18, 35, 35, 35, - 35, 35, 19, 35, 20, 21, 35, 35, 22, 23, 24, 25, 26, 27, 28, 35, - 35, 29, 35, 35, 35, 30, 31, 32, 33, 35, 35, 35, 34, 35, 35, 35, -}; -static const struct byte_lookup* const -to_SHIFT_JIS_E5_85_infos[36] = { - o2(0x99,0x59), o2(0x88,0xF2), o2(0x8C,0xB3), o2(0x8C,0x5A), - o2(0x8F,0x5B), o2(0x92,0x9B), o2(0x8B,0xA2), o2(0x90,0xE6), - o2(0x8C,0xF5), o2(0xFA,0x7E), o2(0x8D,0x8E), o2(0x99,0x5B), - o2(0x96,0xC6), o2(0x93,0x65), o2(0x8E,0x99), o2(0x99,0x5A), - o2(0x99,0x5C), o2(0x93,0x7D), o2(0x8A,0x95), o2(0x99,0x5D), - o2(0xFA,0x80), o2(0x93,0xFC), o2(0x91,0x53), o2(0x99,0x5F), - o2(0x99,0x60), o2(0x94,0xAA), o2(0x8C,0xF6), o2(0x98,0x5A), - o2(0x99,0x61), o2(0x8B,0xA4), o2(0x95,0xBA), o2(0x91,0xB4), - o2(0x8B,0xEF), o2(0x93,0x54), o2(0x8C,0x93), UNDEF, -}; -static const BYTE_LOOKUP -to_SHIFT_JIS_E5_85 = { - to_SHIFT_JIS_E5_85_offsets, - to_SHIFT_JIS_E5_85_infos -}; - -static const unsigned char -to_SHIFT_JIS_E5_86_offsets[64] = { - /* used from to_SHIFT_JIS_E5_86 */ - /* used from to_EUC_JP_E5_86 */ - 0, 38, 1, 38, 38, 2, 3, 38, 38, 4, 5, 38, 6, 7, 38, 8, - 9, 10, 11, 12, 38, 13, 14, 15, 38, 16, 38, 38, 38, 17, 38, 38, - 18, 38, 19, 38, 20, 21, 22, 38, 23, 24, 25, 26, 27, 38, 38, 38, - 28, 29, 30, 31, 32, 33, 34, 35, 38, 38, 38, 38, 38, 36, 37, 38, -}; -static const struct byte_lookup* const -to_SHIFT_JIS_E5_86_infos[39] = { - o2(0x99,0x62), o2(0x99,0x63), o2(0x93,0xE0), o2(0x89,0x7E), - o2(0x99,0x66), o2(0x8D,0xFB), o2(0x99,0x65), o2(0x8D,0xC4), - o2(0x99,0x67), o2(0xE3,0xEC), o2(0x99,0x68), o2(0x96,0x60), - o2(0x99,0x69), o2(0x99,0x6A), o2(0x99,0x6B), o2(0x8F,0xE7), - o2(0x8E,0xCA), o2(0xFA,0x81), o2(0x8A,0xA5), o2(0x99,0x6E), - o2(0x99,0x6C), o2(0x96,0xBB), o2(0x99,0x6D), o2(0x95,0x79), - o2(0x99,0x6F), o2(0x99,0x70), o2(0x99,0x71), o2(0x93,0x7E), - o2(0x99,0x75), o2(0x99,0x73), o2(0x99,0x74), o2(0x99,0x72), - o2(0x8D,0xE1), o2(0x99,0x76), o2(0x96,0xE8), o2(0x97,0xE2), - o2(0x99,0x77), o2(0xFA,0x82), UNDEF, -}; -static const BYTE_LOOKUP -to_SHIFT_JIS_E5_86 = { - to_SHIFT_JIS_E5_86_offsets, - to_SHIFT_JIS_E5_86_infos -}; - -static const unsigned char -to_SHIFT_JIS_E5_87_offsets[64] = { - /* used from to_SHIFT_JIS_E5_87 */ - /* used from to_EUC_JP_E5_87 */ - 28, 28, 28, 28, 0, 1, 2, 28, 28, 3, 28, 4, 5, 6, 28, 28, - 28, 28, 28, 28, 28, 28, 7, 28, 28, 28, 28, 8, 9, 10, 28, 28, - 11, 12, 28, 28, 28, 28, 13, 14, 28, 15, 16, 28, 17, 18, 28, 28, - 19, 20, 28, 28, 28, 21, 22, 28, 23, 24, 25, 28, 28, 26, 27, 28, -}; -static const struct byte_lookup* const -to_SHIFT_JIS_E5_87_infos[29] = { - o2(0x90,0xA6), o2(0x99,0x78), o2(0x8F,0x79), o2(0x99,0x79), - o2(0x92,0x9C), o2(0x97,0xBD), o2(0x93,0x80), o2(0x99,0xC3), - o2(0x99,0x7A), o2(0xEA,0xA3), o2(0x8B,0xC3), o2(0x99,0x7B), - o2(0x96,0x7D), o2(0x8F,0x88), o2(0x91,0xFA), o2(0x99,0x7D), - o2(0x93,0xE2), o2(0xFA,0x83), o2(0x99,0x7E), o2(0x99,0x80), - o2(0x8A,0x4D), o2(0x99,0x81), o2(0x8B,0xA5), o2(0x93,0xCA), - o2(0x89,0x9A), o2(0x8F,0x6F), o2(0x94,0x9F), o2(0x99,0x82), - UNDEF, -}; -static const BYTE_LOOKUP -to_SHIFT_JIS_E5_87 = { - to_SHIFT_JIS_E5_87_offsets, - to_SHIFT_JIS_E5_87_infos -}; - -static const unsigned char -to_SHIFT_JIS_E5_88_offsets[64] = { - /* used from to_SHIFT_JIS_E5_88 */ - /* used from to_EUC_JP_E5_88 */ - 0, 28, 28, 1, 2, 28, 3, 4, 5, 28, 6, 7, 28, 28, 8, 28, - 28, 9, 28, 28, 10, 11, 28, 12, 28, 28, 28, 28, 28, 13, 28, 28, - 28, 28, 28, 28, 14, 15, 28, 16, 28, 17, 18, 28, 28, 28, 19, 28, - 20, 28, 28, 21, 28, 28, 22, 23, 24, 25, 26, 27, 28, 28, 28, 28, -}; -static const struct byte_lookup* const -to_SHIFT_JIS_E5_88_infos[29] = { - o2(0x93,0x81), o2(0x90,0x6E), o2(0x99,0x83), o2(0x95,0xAA), - o2(0x90,0xD8), o2(0x8A,0xA0), o2(0x8A,0xA7), o2(0x99,0x84), - o2(0x99,0x86), o2(0x8C,0x59), o2(0x99,0x85), o2(0xFA,0x84), - o2(0x97,0xF1), o2(0x8F,0x89), o2(0x94,0xBB), o2(0x95,0xCA), - o2(0x99,0x87), o2(0x97,0x98), o2(0x99,0x88), o2(0x99,0x89), - o2(0x93,0x9E), o2(0x99,0x8A), o2(0x90,0xA7), o2(0x8D,0xFC), - o2(0x8C,0x94), o2(0x99,0x8B), o2(0x8E,0x68), o2(0x8D,0x8F), - UNDEF, -}; -static const BYTE_LOOKUP -to_SHIFT_JIS_E5_88 = { - to_SHIFT_JIS_E5_88_offsets, - to_SHIFT_JIS_E5_88_infos -}; - -static const unsigned char -to_SHIFT_JIS_E5_89_offsets[64] = { - /* used from to_SHIFT_JIS_E5_89 */ - /* used from to_EUC_JP_E5_89 */ - 26, 26, 26, 0, 1, 26, 26, 2, 26, 26, 3, 4, 5, 6, 26, 7, - 26, 26, 26, 26, 8, 26, 9, 26, 26, 26, 26, 10, 26, 26, 11, 26, - 26, 26, 26, 12, 13, 14, 26, 26, 26, 15, 16, 26, 26, 26, 26, 17, - 18, 19, 20, 21, 22, 23, 26, 26, 26, 26, 26, 26, 26, 24, 26, 25, -}; -static const struct byte_lookup* const -to_SHIFT_JIS_E5_89_infos[27] = { - o2(0x92,0xE4), o2(0x99,0x8D), o2(0x91,0xA5), o2(0x8D,0xED), - o2(0x99,0x8E), o2(0x99,0x8F), o2(0x91,0x4F), o2(0x99,0x8C), - o2(0x99,0x91), o2(0x96,0x55), o2(0x8D,0x84), o2(0x99,0x90), - o2(0x8C,0x95), o2(0x8D,0xDC), o2(0x94,0x8D), o2(0x99,0x94), - o2(0x99,0x92), o2(0x95,0x9B), o2(0x8F,0xE8), o2(0x99,0x9B), - o2(0x8A,0x84), o2(0x99,0x95), o2(0x99,0x93), o2(0x91,0x6E), - o2(0x99,0x97), o2(0x99,0x96), UNDEF, -}; -static const BYTE_LOOKUP -to_SHIFT_JIS_E5_89 = { - to_SHIFT_JIS_E5_89_offsets, - to_SHIFT_JIS_E5_89_infos -}; - -static const unsigned char -to_SHIFT_JIS_E5_8A_offsets[64] = { - /* used from to_SHIFT_JIS_E5_8A */ - /* used from to_EUC_JP_E5_8A */ - 26, 26, 26, 0, 26, 26, 26, 1, 2, 3, 26, 26, 26, 4, 26, 26, - 26, 5, 6, 26, 7, 26, 26, 26, 26, 26, 26, 8, 9, 26, 26, 10, - 11, 26, 26, 12, 26, 26, 13, 26, 26, 14, 15, 16, 17, 18, 26, 19, - 26, 20, 26, 26, 21, 22, 26, 26, 26, 23, 26, 26, 24, 26, 25, 26, -}; -static const struct byte_lookup* const -to_SHIFT_JIS_E5_8A_infos[27] = { - o2(0x8A,0x63), o2(0x8C,0x80), o2(0x99,0x9C), o2(0x97,0xAB), - o2(0x99,0x98), o2(0x99,0x9D), o2(0x99,0x9A), o2(0x99,0x99), - o2(0x97,0xCD), o2(0xFA,0x85), o2(0x8C,0xF7), o2(0x89,0xC1), - o2(0x97,0xF2), o2(0xFA,0x86), o2(0x8F,0x95), o2(0x93,0x77), - o2(0x8D,0x85), o2(0x99,0xA0), o2(0x99,0xA1), o2(0xFB,0x77), - o2(0x97,0xE3), o2(0x98,0x4A), o2(0x99,0xA3), o2(0x8C,0xF8), - o2(0x99,0xA2), o2(0x8A,0x4E), UNDEF, -}; -static const BYTE_LOOKUP -to_SHIFT_JIS_E5_8A = { - to_SHIFT_JIS_E5_8A_offsets, - to_SHIFT_JIS_E5_8A_infos -}; - -static const unsigned char -to_SHIFT_JIS_E5_8B_offsets[64] = { - /* used from to_SHIFT_JIS_E5_8B */ - /* used from to_EUC_JP_E5_8B */ - 0, 1, 30, 2, 30, 3, 30, 4, 30, 5, 30, 30, 30, 6, 30, 30, - 30, 30, 7, 30, 30, 8, 30, 9, 10, 11, 30, 12, 30, 13, 14, 15, - 16, 30, 17, 18, 19, 30, 20, 21, 30, 30, 30, 30, 30, 30, 30, 30, - 30, 30, 22, 23, 30, 24, 30, 30, 25, 26, 27, 30, 30, 30, 28, 29, -}; -static const struct byte_lookup* const -to_SHIFT_JIS_E5_8B_infos[31] = { - o2(0xFA,0x87), o2(0x99,0xA4), o2(0x96,0x75), o2(0x92,0xBA), - o2(0x97,0x45), o2(0x95,0xD7), o2(0x99,0xA5), o2(0xE8,0xD3), - o2(0x93,0xAE), o2(0x99,0xA6), o2(0x8A,0xA8), o2(0x96,0xB1), - o2(0xFA,0x88), o2(0x8F,0x9F), o2(0x99,0xA7), o2(0x95,0xE5), - o2(0x99,0xAB), o2(0x90,0xA8), o2(0x99,0xA8), o2(0x8B,0xCE), - o2(0x99,0xA9), o2(0x8A,0xA9), o2(0x8C,0x4D), o2(0x99,0xAC), - o2(0x99,0xAD), o2(0x99,0xAE), o2(0x99,0xAF), o2(0x8E,0xD9), - o2(0x8C,0xF9), o2(0x96,0xDC), UNDEF, -}; -static const BYTE_LOOKUP -to_SHIFT_JIS_E5_8B = { - to_SHIFT_JIS_E5_8B_offsets, - to_SHIFT_JIS_E5_8B_infos -}; - -static const unsigned char -to_SHIFT_JIS_E5_8C_offsets[64] = { - /* used from to_SHIFT_JIS_E5_8C */ - /* used from to_EUC_JP_E5_8C */ - 0, 1, 2, 29, 29, 3, 4, 5, 6, 29, 29, 29, 29, 7, 29, 8, - 9, 29, 29, 29, 29, 10, 11, 12, 29, 13, 14, 29, 29, 15, 29, 29, - 16, 17, 29, 18, 19, 29, 29, 29, 29, 29, 20, 29, 29, 29, 29, 21, - 29, 22, 29, 23, 29, 29, 29, 29, 24, 25, 26, 27, 29, 29, 29, 28, -}; -static const struct byte_lookup* const -to_SHIFT_JIS_E5_8C_infos[30] = { - o2(0xFA,0x89), o2(0x96,0xE6), o2(0x93,0xF5), o2(0x95,0xEF), - o2(0x99,0xB0), o2(0xFA,0x8A), o2(0x99,0xB1), o2(0x99,0xB3), - o2(0x99,0xB5), o2(0x99,0xB4), o2(0x99,0xB6), o2(0x89,0xBB), - o2(0x96,0x6B), o2(0x8D,0xFA), o2(0x99,0xB7), o2(0x91,0x78), - o2(0x8F,0xA0), o2(0x8B,0xA7), o2(0x99,0xB8), o2(0xFA,0x8B), - o2(0x94,0xD9), o2(0x99,0xB9), o2(0x99,0xBA), o2(0x99,0xBB), - o2(0x99,0xBC), o2(0x95,0x43), o2(0x8B,0xE6), o2(0x88,0xE3), - o2(0x93,0xBD), UNDEF, -}; -static const BYTE_LOOKUP -to_SHIFT_JIS_E5_8C = { - to_SHIFT_JIS_E5_8C_offsets, - to_SHIFT_JIS_E5_8C_infos -}; - -static const unsigned char -to_SHIFT_JIS_E5_8D_offsets[64] = { - /* used from to_SHIFT_JIS_E5_8D */ - /* used from to_EUC_JP_E5_8D */ - 0, 1, 34, 2, 34, 3, 4, 5, 6, 7, 8, 34, 34, 9, 34, 34, - 34, 10, 11, 12, 13, 34, 34, 14, 15, 34, 16, 34, 17, 34, 18, 34, - 19, 34, 34, 34, 34, 34, 20, 34, 34, 21, 34, 34, 34, 34, 22, 23, - 24, 25, 26, 27, 28, 29, 34, 30, 31, 34, 34, 32, 34, 34, 34, 33, -}; -static const struct byte_lookup* const -to_SHIFT_JIS_E5_8D_infos[35] = { - o2(0x99,0xBD), o2(0x8F,0x5C), o2(0x90,0xE7), o2(0x99,0xBF), - o2(0x99,0xBE), o2(0x8F,0xA1), o2(0x8C,0xDF), o2(0x99,0xC1), - o2(0x94,0xBC), o2(0x99,0xC2), o2(0x94,0xDA), o2(0x91,0xB2), - o2(0x91,0xEC), o2(0x8B,0xA6), o2(0x93,0xEC), o2(0x92,0x50), - o2(0x94,0x8E), o2(0x96,0x6D), o2(0x99,0xC4), o2(0x90,0xE8), - o2(0x8C,0x54), o2(0x99,0xC5), o2(0x99,0xC6), o2(0x89,0x4B), - o2(0x88,0xF3), o2(0x8A,0xEB), o2(0xFA,0x8C), o2(0x91,0xA6), - o2(0x8B,0x70), o2(0x97,0x91), o2(0x99,0xC9), o2(0x89,0xB5), - o2(0x99,0xC8), o2(0x8B,0xA8), UNDEF, -}; -static const BYTE_LOOKUP -to_SHIFT_JIS_E5_8D = { - to_SHIFT_JIS_E5_8D_offsets, - to_SHIFT_JIS_E5_8D_infos -}; - -static const unsigned char -to_SHIFT_JIS_E5_8E_offsets[64] = { - /* used from to_SHIFT_JIS_E5_8E */ - /* used from to_EUC_JP_E5_8E */ - 19, 19, 0, 19, 1, 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, - 19, 19, 19, 2, 19, 19, 3, 19, 4, 19, 5, 19, 19, 19, 19, 6, - 7, 19, 19, 19, 19, 8, 9, 19, 10, 11, 19, 19, 19, 12, 13, 19, - 14, 19, 15, 16, 19, 19, 17, 19, 19, 19, 19, 18, 19, 19, 19, 19, -}; -static const struct byte_lookup* const -to_SHIFT_JIS_E5_8E_infos[20] = { - o2(0x99,0xCA), o2(0x96,0xEF), o2(0xFA,0x8D), o2(0x99,0xCB), - o2(0x97,0xD0), o2(0x8C,0xFA), o2(0x8C,0xB4), o2(0x99,0xCC), - o2(0x99,0xCE), o2(0x99,0xCD), o2(0x90,0x7E), o2(0x89,0x58), - o2(0x89,0x7D), o2(0x99,0xCF), o2(0x99,0xD0), o2(0xFA,0x8E), - o2(0x8C,0xB5), o2(0x99,0xD1), o2(0x8B,0x8E), UNDEF, -}; -static const BYTE_LOOKUP -to_SHIFT_JIS_E5_8E = { - to_SHIFT_JIS_E5_8E_offsets, - to_SHIFT_JIS_E5_8E_infos -}; - -static const unsigned char -to_SHIFT_JIS_E5_8F_offsets[64] = { - /* used from to_SHIFT_JIS_E5_8F */ - /* used from to_EUC_JP_E5_8F */ - 37, 37, 0, 1, 37, 37, 37, 37, 2, 3, 4, 5, 6, 7, 8, 37, - 37, 37, 37, 37, 9, 37, 10, 11, 37, 12, 37, 13, 37, 14, 37, 15, - 37, 16, 17, 18, 19, 20, 37, 37, 21, 22, 23, 24, 25, 26, 27, 28, - 29, 30, 31, 32, 37, 37, 33, 34, 35, 37, 36, 37, 37, 37, 37, 37, -}; -static const struct byte_lookup* const -to_SHIFT_JIS_E5_8F_infos[38] = { - o2(0x8E,0x51), o2(0x99,0xD2), o2(0x96,0x94), o2(0x8D,0xB3), - o2(0x8B,0x79), o2(0x97,0x46), o2(0x91,0x6F), o2(0x94,0xBD), - o2(0x8E,0xFB), o2(0x8F,0x66), o2(0x8E,0xE6), o2(0x8E,0xF3), - o2(0x8F,0x96), o2(0x94,0xBE), o2(0xFA,0x8F), o2(0x99,0xD5), - o2(0x89,0x62), o2(0x91,0x70), o2(0x8C,0xFB), o2(0x8C,0xC3), - o2(0x8B,0xE5), o2(0x99,0xD9), o2(0x92,0x40), o2(0x91,0xFC), - o2(0x8B,0xA9), o2(0x8F,0xA2), o2(0x99,0xDA), o2(0x99,0xD8), - o2(0x89,0xC2), o2(0x91,0xE4), o2(0x8E,0xB6), o2(0x8E,0x6A), - o2(0x89,0x45), o2(0x8A,0x90), o2(0x8D,0x86), o2(0x8E,0x69), - o2(0x99,0xDB), UNDEF, -}; -static const BYTE_LOOKUP -to_SHIFT_JIS_E5_8F = { - to_SHIFT_JIS_E5_8F_offsets, - to_SHIFT_JIS_E5_8F_infos -}; - -static const unsigned char -to_SHIFT_JIS_E5_90_offsets[64] = { - /* used from to_SHIFT_JIS_E5_90 */ - /* used from to_EUC_JP_E5_90 */ - 30, 0, 30, 1, 2, 30, 30, 30, 3, 4, 5, 6, 7, 8, 9, 10, - 11, 12, 30, 30, 30, 30, 30, 30, 30, 30, 30, 13, 30, 14, 30, 15, - 16, 30, 30, 30, 30, 30, 17, 30, 30, 18, 30, 19, 20, 21, 22, 30, - 30, 30, 30, 30, 30, 30, 23, 30, 24, 25, 30, 26, 27, 28, 29, 30, -}; -static const struct byte_lookup* const -to_SHIFT_JIS_E5_90_infos[31] = { - o2(0x99,0xDC), o2(0x8B,0x68), o2(0x8A,0x65), o2(0x8D,0x87), - o2(0x8B,0x67), o2(0x92,0xDD), o2(0x89,0x44), o2(0x93,0xAF), - o2(0x96,0xBC), o2(0x8D,0x40), o2(0x97,0x99), o2(0x93,0x66), - o2(0x8C,0xFC), o2(0x8C,0x4E), o2(0x99,0xE5), o2(0x8B,0xE1), - o2(0x96,0x69), o2(0x94,0xDB), o2(0x99,0xE4), o2(0x8A,0xDC), - o2(0x99,0xDF), o2(0x99,0xE0), o2(0x99,0xE2), o2(0x99,0xE3), - o2(0x8B,0x7A), o2(0x90,0x81), o2(0x95,0xAB), o2(0x99,0xE1), - o2(0x99,0xDD), o2(0x8C,0xE1), UNDEF, -}; -static const BYTE_LOOKUP -to_SHIFT_JIS_E5_90 = { - to_SHIFT_JIS_E5_90_offsets, - to_SHIFT_JIS_E5_90_infos -}; - -static const unsigned char -to_SHIFT_JIS_E5_91_offsets[64] = { - /* used from to_SHIFT_JIS_E5_91 */ - /* used from to_EUC_JP_E5_91 */ - 0, 20, 1, 20, 20, 20, 2, 20, 3, 4, 5, 20, 20, 20, 6, 20, - 20, 7, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 8, - 20, 20, 20, 20, 20, 20, 20, 20, 9, 20, 10, 20, 20, 20, 20, 20, - 11, 12, 20, 13, 20, 14, 15, 16, 20, 20, 20, 17, 18, 19, 20, 20, -}; -static const struct byte_lookup* const -to_SHIFT_JIS_E5_91_infos[21] = { - o2(0x99,0xDE), o2(0x98,0x43), o2(0x95,0xF0), o2(0x92,0xE6), - o2(0x8C,0xE0), o2(0x8D,0x90), o2(0x99,0xE6), o2(0x93,0xDB), - o2(0x99,0xEA), o2(0x8E,0xFC), o2(0x8E,0xF4), o2(0x99,0xED), - o2(0x99,0xEB), o2(0x96,0xA1), o2(0x99,0xE8), o2(0x99,0xF1), - o2(0x99,0xEC), o2(0x99,0xEF), o2(0x8C,0xC4), o2(0x96,0xBD), - UNDEF, -}; -static const BYTE_LOOKUP -to_SHIFT_JIS_E5_91 = { - to_SHIFT_JIS_E5_91_offsets, - to_SHIFT_JIS_E5_91_infos -}; - -static const unsigned char -to_SHIFT_JIS_E5_92_offsets[64] = { - /* used from to_SHIFT_JIS_E5_92 */ - /* used from to_EUC_JP_E5_92 */ - 0, 25, 25, 25, 1, 25, 2, 25, 25, 25, 3, 4, 5, 25, 6, 7, - 8, 25, 9, 25, 25, 25, 25, 25, 25, 25, 25, 25, 10, 25, 25, 25, - 25, 25, 11, 25, 12, 13, 25, 25, 14, 15, 25, 16, 17, 25, 25, 18, - 25, 25, 19, 20, 25, 25, 25, 25, 21, 25, 25, 25, 22, 23, 24, 25, -}; -static const struct byte_lookup* const -to_SHIFT_JIS_E5_92_infos[26] = { - o2(0x99,0xF0), o2(0x99,0xF2), o2(0x99,0xF4), o2(0xFA,0x92), - o2(0x8D,0xEE), o2(0x98,0x61), o2(0x99,0xE9), o2(0x99,0xE7), - o2(0x99,0xF3), o2(0x99,0xEE), o2(0xFA,0x91), o2(0x99,0xF6), - o2(0x9A,0x42), o2(0x99,0xF8), o2(0x99,0xFC), o2(0xFA,0x93), - o2(0x9A,0x40), o2(0x99,0xF9), o2(0x9A,0x5D), o2(0x8D,0xE7), - o2(0x8A,0x50), o2(0x99,0xF7), o2(0x9A,0x44), o2(0x88,0xF4), - o2(0x9A,0x43), UNDEF, -}; -static const BYTE_LOOKUP -to_SHIFT_JIS_E5_92 = { - to_SHIFT_JIS_E5_92_offsets, - to_SHIFT_JIS_E5_92_infos -}; - -static const unsigned char -to_SHIFT_JIS_E5_93_offsets[64] = { - /* used from to_SHIFT_JIS_E5_93 */ - /* used from to_EUC_JP_E5_93 */ - 0, 1, 2, 20, 3, 20, 20, 4, 5, 6, 20, 20, 20, 20, 20, 20, - 20, 20, 20, 20, 20, 20, 20, 20, 7, 20, 20, 20, 20, 20, 20, 20, - 20, 8, 9, 20, 20, 10, 11, 20, 12, 13, 20, 20, 20, 14, 15, 20, - 20, 20, 16, 20, 20, 20, 20, 20, 20, 20, 17, 20, 20, 18, 20, 19, -}; -static const struct byte_lookup* const -to_SHIFT_JIS_E5_93_infos[21] = { - o2(0x88,0xA3), o2(0x95,0x69), o2(0x9A,0x41), o2(0x99,0xFA), - o2(0x99,0xF5), o2(0x99,0xFB), o2(0x8D,0xC6), o2(0x9A,0x45), - o2(0x88,0xF5), o2(0x9A,0x4E), o2(0x9A,0x46), o2(0x9A,0x47), - o2(0x8F,0xA3), o2(0x96,0x89), o2(0x9A,0x4C), o2(0x9A,0x4B), - o2(0x93,0x4E), o2(0x9A,0x4D), o2(0x9A,0x4A), o2(0xFA,0x94), - UNDEF, -}; -static const BYTE_LOOKUP -to_SHIFT_JIS_E5_93 = { - to_SHIFT_JIS_E5_93_offsets, - to_SHIFT_JIS_E5_93_infos -}; - -static const unsigned char -to_SHIFT_JIS_E5_94_offsets[64] = { - /* used from to_SHIFT_JIS_E5_94 */ - /* used from to_EUC_JP_E5_94 */ - 14, 14, 14, 14, 0, 14, 1, 2, 14, 14, 14, 14, 14, 14, 14, 3, - 4, 14, 14, 14, 5, 14, 6, 14, 14, 14, 14, 14, 14, 14, 14, 14, - 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 7, 8, - 14, 9, 14, 10, 14, 14, 14, 14, 11, 12, 14, 14, 14, 14, 13, 14, -}; -static const struct byte_lookup* const -to_SHIFT_JIS_E5_94_infos[15] = { - o2(0x89,0x53), o2(0x8D,0xB4), o2(0x90,0x4F), o2(0x9A,0x48), - o2(0x93,0x82), o2(0x9A,0x49), o2(0x88,0xA0), o2(0x9A,0x53), - o2(0x97,0x42), o2(0x8F,0xA5), o2(0x9A,0x59), o2(0x9A,0x58), - o2(0x9A,0x4F), o2(0x91,0xC1), UNDEF, -}; -static const BYTE_LOOKUP -to_SHIFT_JIS_E5_94 = { - to_SHIFT_JIS_E5_94_offsets, - to_SHIFT_JIS_E5_94_infos -}; - -static const unsigned char -to_SHIFT_JIS_E5_95_offsets[64] = { - /* used from to_SHIFT_JIS_E5_95 */ - /* used from to_EUC_JP_E5_95 */ - 0, 15, 15, 15, 1, 2, 3, 15, 15, 15, 15, 15, 4, 15, 15, 5, - 15, 15, 15, 6, 15, 15, 7, 8, 15, 15, 15, 15, 9, 10, 15, 15, - 15, 15, 15, 11, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, - 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 12, 13, 15, 14, 15, -}; -static const struct byte_lookup* const -to_SHIFT_JIS_E5_95_infos[16] = { - o2(0x9A,0x50), o2(0x91,0xED), o2(0x9A,0x55), o2(0x8F,0xA4), - o2(0x9A,0x52), o2(0x96,0xE2), o2(0x8C,0x5B), o2(0x9A,0x56), - o2(0x9A,0x57), o2(0x9A,0x54), o2(0x9A,0x5A), o2(0x9A,0x51), - o2(0x9A,0x60), o2(0x9A,0x65), o2(0x9A,0x61), UNDEF, -}; -static const BYTE_LOOKUP -to_SHIFT_JIS_E5_95 = { - to_SHIFT_JIS_E5_95_offsets, - to_SHIFT_JIS_E5_95_infos -}; - -static const unsigned char -to_SHIFT_JIS_E5_96_offsets[64] = { - /* used from to_SHIFT_JIS_E5_96 */ - /* used from to_EUC_JP_E5_96 */ - 0, 24, 24, 1, 2, 24, 3, 4, 24, 5, 6, 7, 24, 24, 24, 24, - 24, 24, 24, 24, 24, 24, 24, 24, 8, 9, 10, 24, 11, 12, 13, 14, - 24, 24, 24, 24, 24, 24, 24, 15, 16, 17, 18, 19, 20, 24, 21, 24, - 22, 24, 24, 24, 24, 24, 23, 24, 24, 24, 24, 24, 24, 24, 24, 24, -}; -static const struct byte_lookup* const -to_SHIFT_JIS_E5_96_infos[25] = { - o2(0x9A,0x5C), o2(0x9A,0x66), o2(0x91,0x50), o2(0xFA,0x95), - o2(0x9A,0x68), o2(0x8D,0x41), o2(0x9A,0x5E), o2(0x92,0x9D), - o2(0x9A,0x62), o2(0x9A,0x5B), o2(0x8A,0xAB), o2(0x8A,0xEC), - o2(0x8A,0x85), o2(0x9A,0x63), o2(0x9A,0x5F), o2(0x8C,0x96), - o2(0x9A,0x69), o2(0x9A,0x67), o2(0x91,0x72), o2(0x8B,0x69), - o2(0x8B,0xAA), o2(0x9A,0x64), o2(0x8B,0xF2), o2(0x89,0x63), - UNDEF, -}; -static const BYTE_LOOKUP -to_SHIFT_JIS_E5_96 = { - to_SHIFT_JIS_E5_96_offsets, - to_SHIFT_JIS_E5_96_infos -}; - -static const unsigned char -to_SHIFT_JIS_E5_97_offsets[64] = { - /* used from to_SHIFT_JIS_E5_97 */ - /* used from to_EUC_JP_E5_97 */ - 13, 13, 13, 13, 0, 1, 13, 2, 13, 13, 13, 13, 13, 13, 13, 13, - 13, 13, 13, 13, 3, 13, 13, 13, 13, 13, 4, 13, 5, 13, 13, 6, - 13, 13, 13, 7, 8, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, - 13, 13, 13, 13, 13, 13, 13, 9, 13, 10, 13, 13, 13, 11, 12, 13, -}; -static const struct byte_lookup* const -to_SHIFT_JIS_E5_97_infos[14] = { - o2(0x9A,0x6D), o2(0x9A,0x6B), o2(0x9A,0xA5), o2(0x9A,0x70), - o2(0x9A,0x6A), o2(0x9A,0x6E), o2(0x9A,0x6C), o2(0x8E,0x6B), - o2(0x9A,0x6F), o2(0x9A,0x72), o2(0x9A,0x77), o2(0x9A,0x75), - o2(0x9A,0x74), UNDEF, -}; -static const BYTE_LOOKUP -to_SHIFT_JIS_E5_97 = { - to_SHIFT_JIS_E5_97_offsets, - to_SHIFT_JIS_E5_97_infos -}; - -static const unsigned char -to_SHIFT_JIS_E5_98_offsets[64] = { - /* used from to_SHIFT_JIS_E5_98 */ - /* used from to_EUC_JP_E5_98 */ - 14, 14, 14, 14, 14, 14, 0, 14, 14, 1, 14, 14, 14, 14, 14, 14, - 14, 14, 14, 14, 2, 14, 3, 4, 5, 14, 14, 6, 14, 14, 14, 14, - 14, 14, 14, 14, 14, 14, 14, 14, 14, 7, 14, 14, 14, 14, 14, 8, - 14, 9, 10, 14, 11, 14, 12, 14, 13, 14, 14, 14, 14, 14, 14, 14, -}; -static const struct byte_lookup* const -to_SHIFT_JIS_E5_98_infos[15] = { - o2(0x92,0x51), o2(0x89,0xC3), o2(0x9A,0x71), o2(0x9A,0x73), - o2(0x8F,0xA6), o2(0x89,0x52), o2(0x9A,0x76), o2(0x89,0xDC), - o2(0x9A,0x82), o2(0x8F,0xFA), o2(0x9A,0x7D), o2(0x9A,0x7B), - o2(0x9A,0x7C), o2(0x9A,0x7E), UNDEF, -}; -static const BYTE_LOOKUP -to_SHIFT_JIS_E5_98 = { - to_SHIFT_JIS_E5_98_offsets, - to_SHIFT_JIS_E5_98_infos -}; - -static const unsigned char -to_SHIFT_JIS_E5_99_offsets[64] = { - /* used from to_SHIFT_JIS_E5_99 */ - /* used from to_EUC_JP_E5_99 */ - 13, 13, 0, 13, 13, 13, 13, 13, 13, 13, 13, 13, 1, 13, 2, 13, - 3, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 4, 13, 13, 13, 13, - 13, 13, 13, 13, 5, 13, 13, 13, 6, 13, 7, 8, 9, 13, 13, 13, - 13, 13, 13, 13, 10, 13, 13, 13, 11, 13, 12, 13, 13, 13, 13, 13, -}; -static const struct byte_lookup* const -to_SHIFT_JIS_E5_99_infos[14] = { - o2(0x89,0x5C), o2(0x91,0x58), o2(0x9A,0x78), o2(0x9A,0x79), - o2(0x8A,0x9A), o2(0x9A,0x81), o2(0x8A,0xED), o2(0x9A,0x84), - o2(0x9A,0x80), o2(0x9A,0x83), o2(0x95,0xAC), o2(0x93,0xD3), - o2(0x94,0xB6), UNDEF, -}; -static const BYTE_LOOKUP -to_SHIFT_JIS_E5_99 = { - to_SHIFT_JIS_E5_99_offsets, - to_SHIFT_JIS_E5_99_infos -}; - -static const unsigned char -to_SHIFT_JIS_E5_9A_offsets[64] = { - /* used from to_SHIFT_JIS_E5_9A */ - /* used from to_EUC_JP_E5_9A */ - 0, 13, 13, 13, 13, 13, 1, 2, 13, 13, 3, 13, 13, 13, 13, 4, - 13, 13, 13, 13, 5, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, - 6, 13, 7, 13, 13, 8, 13, 13, 13, 13, 13, 13, 13, 13, 9, 13, - 13, 13, 13, 13, 10, 13, 11, 13, 13, 13, 13, 13, 12, 13, 13, 13, -}; -static const struct byte_lookup* const -to_SHIFT_JIS_E5_9A_infos[14] = { - o2(0x9A,0x86), o2(0x9A,0x85), o2(0x8A,0x64), o2(0x9A,0x87), - o2(0x9A,0x8A), o2(0x9A,0x89), o2(0x9A,0x88), o2(0x94,0x58), - o2(0x9A,0x8B), o2(0x9A,0x8C), o2(0x9A,0x8E), o2(0x9A,0x8D), - o2(0x9A,0x90), UNDEF, -}; -static const BYTE_LOOKUP -to_SHIFT_JIS_E5_9A = { - to_SHIFT_JIS_E5_9A_offsets, - to_SHIFT_JIS_E5_9A_infos -}; - -static const unsigned char -to_SHIFT_JIS_E5_9B_offsets[64] = { - /* used from to_SHIFT_JIS_E5_9B */ - /* used from to_EUC_JP_E5_9B */ - 0, 1, 2, 3, 23, 23, 23, 23, 4, 23, 23, 23, 23, 23, 5, 23, - 23, 6, 23, 7, 23, 23, 23, 8, 9, 23, 10, 11, 23, 23, 12, 23, - 13, 23, 23, 14, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 15, 23, - 16, 23, 17, 18, 23, 23, 23, 23, 23, 19, 20, 23, 23, 21, 23, 22, -}; -static const struct byte_lookup* const -to_SHIFT_JIS_E5_9B_infos[24] = { - o2(0x9A,0x93), o2(0x9A,0x91), o2(0x9A,0x8F), o2(0x9A,0x92), - o2(0x9A,0x94), o2(0x9A,0x95), o2(0x9A,0x96), o2(0x9A,0x97), - o2(0x9A,0x98), o2(0x99,0x64), o2(0x8E,0xFA), o2(0x8E,0x6C), - o2(0x89,0xF1), o2(0x88,0xF6), o2(0x92,0x63), o2(0x9A,0x99), - o2(0x8D,0xA2), o2(0x88,0xCD), o2(0x90,0x7D), o2(0x9A,0x9A), - o2(0x8C,0xC5), o2(0x8D,0x91), o2(0x9A,0x9C), UNDEF, -}; -static const BYTE_LOOKUP -to_SHIFT_JIS_E5_9B = { - to_SHIFT_JIS_E5_9B_offsets, - to_SHIFT_JIS_E5_9B_infos -}; - -static const unsigned char -to_SHIFT_JIS_E5_9C_offsets[64] = { - /* used from to_SHIFT_JIS_E5_9C */ - /* used from to_EUC_JP_E5_9C */ - 0, 22, 22, 1, 2, 22, 22, 22, 3, 4, 22, 5, 22, 6, 22, 7, - 22, 22, 8, 9, 22, 22, 10, 22, 11, 22, 22, 22, 12, 22, 22, 13, - 22, 22, 22, 22, 22, 22, 14, 15, 16, 22, 22, 22, 22, 17, 22, 22, - 18, 22, 22, 22, 22, 22, 22, 19, 20, 22, 22, 21, 22, 22, 22, 22, -}; -static const struct byte_lookup* const -to_SHIFT_JIS_E5_9C_infos[23] = { - o2(0x9A,0x9B), o2(0x95,0xDE), o2(0x9A,0x9D), o2(0x9A,0x9F), - o2(0x9A,0x9E), o2(0x9A,0xA0), o2(0x9A,0xA1), o2(0x8C,0x97), - o2(0x89,0x80), o2(0x9A,0xA2), o2(0x9A,0xA4), o2(0x9A,0xA3), - o2(0x9A,0xA6), o2(0x93,0x79), o2(0x9A,0xA7), o2(0x88,0xB3), - o2(0x8D,0xDD), o2(0x8C,0x5C), o2(0x92,0x6E), o2(0x9A,0xA8), - o2(0x9A,0xA9), o2(0x9A,0xAB), UNDEF, -}; -static const BYTE_LOOKUP -to_SHIFT_JIS_E5_9C = { - to_SHIFT_JIS_E5_9C_offsets, - to_SHIFT_JIS_E5_9C_infos -}; - -static const unsigned char -to_SHIFT_JIS_E5_9D_offsets[64] = { - /* used from to_SHIFT_JIS_E5_9D */ - /* used from to_EUC_JP_E5_9D */ - 0, 16, 1, 16, 16, 16, 16, 2, 16, 16, 3, 16, 16, 16, 4, 5, - 6, 7, 16, 16, 16, 16, 16, 16, 16, 8, 16, 16, 16, 16, 16, 16, - 16, 9, 16, 16, 10, 11, 12, 16, 16, 13, 14, 16, 16, 16, 16, 16, - 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 15, -}; -static const struct byte_lookup* const -to_SHIFT_JIS_E5_9D_infos[17] = { - o2(0x9A,0xAC), o2(0x8D,0xE2), o2(0x8B,0xCF), o2(0x96,0x56), - o2(0x9A,0xAA), o2(0x9A,0xAD), o2(0x8D,0xBF), o2(0x8D,0x42), - o2(0xFA,0x96), o2(0x9A,0xB1), o2(0x8D,0xA3), o2(0xFA,0x97), - o2(0x92,0x52), o2(0x9A,0xAE), o2(0x92,0xD8), o2(0x9A,0xB2), - UNDEF, -}; -static const BYTE_LOOKUP -to_SHIFT_JIS_E5_9D = { - to_SHIFT_JIS_E5_9D_offsets, - to_SHIFT_JIS_E5_9D_infos -}; - -static const unsigned char -to_SHIFT_JIS_E5_9E_offsets[64] = { - /* used from to_SHIFT_JIS_E5_9E */ - /* used from to_EUC_JP_E5_9E */ - 13, 13, 0, 13, 13, 13, 13, 13, 1, 2, 13, 3, 13, 13, 13, 13, - 13, 13, 13, 4, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, - 5, 13, 6, 7, 8, 13, 13, 13, 13, 13, 9, 13, 10, 13, 13, 13, - 11, 13, 13, 12, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, -}; -static const struct byte_lookup* const -to_SHIFT_JIS_E5_9E_infos[14] = { - o2(0x90,0x82), o2(0x9A,0xB0), o2(0x9A,0xB3), o2(0x8C,0x5E), - o2(0x9A,0xB4), o2(0x9A,0xB5), o2(0x8D,0x43), o2(0x8A,0x5F), - o2(0x9A,0xB7), o2(0x9A,0xB8), o2(0xFA,0x98), o2(0x9A,0xB9), - o2(0x9A,0xB6), UNDEF, -}; -static const BYTE_LOOKUP -to_SHIFT_JIS_E5_9E = { - to_SHIFT_JIS_E5_9E_offsets, - to_SHIFT_JIS_E5_9E_infos -}; - -static const unsigned char -to_SHIFT_JIS_E5_9F_offsets[64] = { - /* used from to_SHIFT_JIS_E5_9F */ - /* used from to_EUC_JP_E5_9F */ - 0, 20, 20, 1, 20, 20, 2, 3, 4, 20, 20, 5, 20, 20, 6, 20, - 20, 20, 7, 8, 9, 20, 10, 20, 20, 20, 20, 20, 11, 20, 20, 12, - 13, 20, 20, 14, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, - 20, 20, 20, 20, 15, 20, 20, 16, 20, 17, 18, 20, 19, 20, 20, 20, -}; -static const struct byte_lookup* const -to_SHIFT_JIS_E5_9F_infos[21] = { - o2(0x9A,0xAF), o2(0x9A,0xBA), o2(0x9A,0xBB), o2(0xFA,0x9A), - o2(0xFA,0x99), o2(0x96,0x84), o2(0x8F,0xE9), o2(0x9A,0xBD), - o2(0x9A,0xBE), o2(0x9A,0xBC), o2(0x9A,0xC0), o2(0x94,0x57), - o2(0x88,0xE6), o2(0x95,0x75), o2(0x9A,0xC1), o2(0x8F,0xFB), - o2(0x8E,0xB7), o2(0x94,0x7C), o2(0x8A,0xEE), o2(0x8D,0xE9), - UNDEF, -}; -static const BYTE_LOOKUP -to_SHIFT_JIS_E5_9F = { - to_SHIFT_JIS_E5_9F_offsets, - to_SHIFT_JIS_E5_9F_infos -}; - -static const unsigned char -to_SHIFT_JIS_E5_A0_offsets[64] = { - /* used from to_SHIFT_JIS_E5_A0 */ - /* used from to_EUC_JP_E5_A0 */ - 0, 19, 1, 19, 19, 2, 3, 19, 19, 19, 4, 5, 19, 19, 19, 19, - 19, 19, 19, 19, 19, 6, 19, 19, 19, 7, 19, 19, 19, 8, 19, 19, - 19, 9, 19, 19, 10, 19, 19, 19, 19, 19, 11, 19, 19, 19, 19, 12, - 13, 14, 19, 19, 15, 16, 19, 19, 19, 19, 17, 19, 19, 18, 19, 19, -}; -static const struct byte_lookup* const -to_SHIFT_JIS_E5_A0_infos[20] = { - o2(0x96,0x78), o2(0x93,0xB0), o2(0x8C,0x98), o2(0x91,0xCD), - o2(0x9A,0xBF), o2(0x9A,0xC2), o2(0x91,0xC2), o2(0x9A,0xC3), - o2(0x9A,0xC4), o2(0x9A,0xC6), o2(0x92,0xE7), o2(0x8A,0xAC), - o2(0xEA,0x9F), o2(0x89,0x81), o2(0x95,0xF1), o2(0x8F,0xEA), - o2(0x93,0x67), o2(0x8D,0xE4), o2(0x9A,0xCC), UNDEF, -}; -static const BYTE_LOOKUP -to_SHIFT_JIS_E5_A0 = { - to_SHIFT_JIS_E5_A0_offsets, - to_SHIFT_JIS_E5_A0_infos -}; - -static const unsigned char -to_SHIFT_JIS_E5_A1_offsets[64] = { - /* used from to_SHIFT_JIS_E5_A1 */ - /* used from to_EUC_JP_E5_A1 */ - 0, 1, 20, 20, 20, 20, 20, 20, 20, 20, 2, 3, 20, 20, 20, 20, - 20, 4, 5, 20, 6, 20, 20, 7, 8, 9, 10, 20, 20, 20, 11, 20, - 20, 20, 12, 20, 20, 20, 20, 20, 20, 13, 20, 14, 20, 20, 20, 20, - 15, 20, 16, 20, 20, 17, 20, 20, 20, 18, 20, 20, 20, 20, 19, 20, -}; -static const struct byte_lookup* const -to_SHIFT_JIS_E5_A1_infos[21] = { - o2(0x95,0xBB), o2(0x97,0xDB), o2(0x89,0xF2), o2(0x9A,0xC8), - o2(0x91,0x59), o2(0x9A,0xCB), o2(0x93,0x83), o2(0x93,0x68), - o2(0x93,0x84), o2(0x94,0xB7), o2(0x92,0xCB), o2(0x8D,0xC7), - o2(0x9A,0xC7), o2(0x89,0x96), o2(0x93,0x55), o2(0x9A,0xC9), - o2(0x9A,0xC5), o2(0x90,0x6F), o2(0x9A,0xCD), o2(0x8F,0x6D), - UNDEF, -}; -static const BYTE_LOOKUP -to_SHIFT_JIS_E5_A1 = { - to_SHIFT_JIS_E5_A1_offsets, - to_SHIFT_JIS_E5_A1_infos -}; - -static const unsigned char -to_SHIFT_JIS_E5_A2_offsets[64] = { - /* used from to_SHIFT_JIS_E5_A2 */ - /* used from to_EUC_JP_E5_A2 */ - 17, 17, 17, 0, 17, 1, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, - 17, 17, 17, 2, 17, 17, 17, 3, 17, 17, 17, 17, 4, 17, 5, 6, - 17, 17, 17, 17, 17, 17, 17, 17, 7, 17, 17, 8, 17, 17, 9, 17, - 17, 17, 10, 11, 17, 17, 17, 17, 12, 13, 14, 15, 17, 17, 16, 17, -}; -static const struct byte_lookup* const -to_SHIFT_JIS_E5_A2_infos[18] = { - o2(0x8B,0xAB), o2(0x9A,0xCE), o2(0x95,0xE6), o2(0x91,0x9D), - o2(0x92,0xC4), o2(0xFA,0x9D), o2(0x9A,0xD0), o2(0x96,0x6E), - o2(0x9A,0xD1), o2(0x9A,0xD6), o2(0xFA,0x9E), o2(0x95,0xAD), - o2(0x9A,0xD5), o2(0x9A,0xCF), o2(0x9A,0xD2), o2(0x9A,0xD4), - o2(0x8D,0xA4), UNDEF, -}; -static const BYTE_LOOKUP -to_SHIFT_JIS_E5_A2 = { - to_SHIFT_JIS_E5_A2_offsets, - to_SHIFT_JIS_E5_A2_infos -}; - -static const unsigned char -to_SHIFT_JIS_E5_A3_offsets[64] = { - /* used from to_SHIFT_JIS_E5_A3 */ - /* used from to_EUC_JP_E5_A3 */ - 29, 0, 29, 29, 29, 1, 29, 2, 29, 29, 3, 29, 4, 29, 29, 29, - 29, 5, 29, 6, 29, 7, 29, 8, 9, 10, 29, 29, 11, 29, 12, 13, - 29, 29, 29, 29, 14, 15, 29, 29, 29, 29, 29, 16, 17, 29, 18, 19, - 20, 21, 22, 29, 29, 29, 29, 23, 29, 24, 25, 26, 27, 28, 29, 29, -}; -static const struct byte_lookup* const -to_SHIFT_JIS_E5_A3_infos[30] = { - o2(0x95,0xC7), o2(0x9A,0xD7), o2(0x92,0x64), o2(0x89,0xF3), - o2(0x8F,0xEB), o2(0x9A,0xD9), o2(0x9A,0xD8), o2(0x8D,0x88), - o2(0x9A,0xDA), o2(0x9A,0xDC), o2(0x9A,0xDB), o2(0x9A,0xDE), - o2(0x9A,0xD3), o2(0x9A,0xE0), o2(0x9A,0xDF), o2(0x9A,0xDD), - o2(0x8E,0x6D), o2(0x90,0x70), o2(0x91,0x73), o2(0x9A,0xE1), - o2(0x90,0xBA), o2(0x88,0xEB), o2(0x94,0x84), o2(0x92,0xD9), - o2(0x9A,0xE3), o2(0x9A,0xE2), o2(0x9A,0xE4), o2(0x9A,0xE5), - o2(0x9A,0xE6), UNDEF, -}; -static const BYTE_LOOKUP -to_SHIFT_JIS_E5_A3 = { - to_SHIFT_JIS_E5_A3_offsets, - to_SHIFT_JIS_E5_A3_infos -}; - -static const unsigned char -to_SHIFT_JIS_E5_A4_offsets[64] = { - /* used from to_SHIFT_JIS_E5_A4 */ - /* used from to_EUC_JP_E5_A4 */ - 27, 27, 0, 27, 27, 27, 27, 27, 27, 1, 2, 3, 27, 27, 27, 4, - 5, 27, 27, 27, 27, 6, 7, 27, 8, 9, 10, 11, 12, 27, 27, 27, - 27, 27, 13, 27, 27, 14, 27, 15, 27, 16, 17, 18, 19, 20, 21, 27, - 27, 22, 23, 27, 27, 27, 27, 24, 25, 27, 27, 27, 27, 27, 26, 27, -}; -static const struct byte_lookup* const -to_SHIFT_JIS_E5_A4_infos[28] = { - o2(0x9A,0xE7), o2(0x95,0xCF), o2(0x9A,0xE8), o2(0xFA,0x9F), - o2(0x89,0xC4), o2(0x9A,0xE9), o2(0x97,0x5B), o2(0x8A,0x4F), - o2(0x99,0xC7), o2(0x8F,0x67), o2(0x91,0xBD), o2(0x9A,0xEA), - o2(0x96,0xE9), o2(0x96,0xB2), o2(0x9A,0xEC), o2(0x91,0xE5), - o2(0x93,0x56), o2(0x91,0xBE), o2(0x95,0x76), o2(0x9A,0xED), - o2(0x9A,0xEE), o2(0x89,0x9B), o2(0x8E,0xB8), o2(0x9A,0xEF), - o2(0x88,0xCE), o2(0x9A,0xF0), o2(0x9A,0xF1), UNDEF, -}; -static const BYTE_LOOKUP -to_SHIFT_JIS_E5_A4 = { - to_SHIFT_JIS_E5_A4_offsets, - to_SHIFT_JIS_E5_A4_infos -}; - -static const unsigned char -to_SHIFT_JIS_E5_A5_offsets[64] = { - /* used from to_SHIFT_JIS_E5_A5 */ - /* used from to_EUC_JP_E5_A5 */ - 30, 30, 30, 30, 0, 30, 30, 1, 2, 3, 30, 30, 30, 30, 4, 5, - 6, 7, 30, 8, 9, 10, 30, 11, 12, 30, 13, 14, 30, 15, 30, 30, - 16, 30, 17, 18, 30, 19, 30, 20, 21, 22, 23, 30, 24, 30, 25, 30, - 30, 30, 30, 26, 27, 30, 30, 30, 28, 30, 30, 30, 30, 29, 30, 30, -}; -static const struct byte_lookup* const -to_SHIFT_JIS_E5_A5_infos[31] = { - o2(0x89,0x82), o2(0x8A,0xEF), o2(0x93,0xDE), o2(0x95,0xF2), - o2(0x9A,0xF5), o2(0x91,0x74), o2(0x9A,0xF4), o2(0x8C,0x5F), - o2(0xFA,0xA0), o2(0x96,0x7A), o2(0x9A,0xF3), o2(0x93,0x85), - o2(0x9A,0xF7), o2(0x9A,0xF6), o2(0xFA,0xA1), o2(0xFA,0xA2), - o2(0x9A,0xF9), o2(0x9A,0xF8), o2(0xFA,0xA3), o2(0x89,0x9C), - o2(0x9A,0xFA), o2(0x8F,0xA7), o2(0x9A,0xFC), o2(0x92,0x44), - o2(0x9A,0xFB), o2(0x95,0xB1), o2(0x8F,0x97), o2(0x93,0x7A), - o2(0x9B,0x40), o2(0x8D,0x44), UNDEF, -}; -static const BYTE_LOOKUP -to_SHIFT_JIS_E5_A5 = { - to_SHIFT_JIS_E5_A5_offsets, - to_SHIFT_JIS_E5_A5_infos -}; - -static const unsigned char -to_SHIFT_JIS_E5_A6_offsets[64] = { - /* used from to_SHIFT_JIS_E5_A6 */ - /* used from to_EUC_JP_E5_A6 */ - 21, 0, 1, 2, 3, 21, 21, 21, 21, 21, 4, 21, 21, 5, 21, 21, - 21, 21, 21, 6, 21, 21, 7, 21, 21, 8, 21, 9, 21, 10, 21, 21, - 21, 21, 21, 11, 12, 13, 21, 21, 14, 21, 21, 21, 15, 21, 21, 21, - 21, 21, 16, 21, 21, 21, 21, 21, 21, 17, 18, 19, 21, 21, 20, 21, -}; -static const struct byte_lookup* const -to_SHIFT_JIS_E5_A6_infos[22] = { - o2(0x9B,0x41), o2(0x94,0x40), o2(0x94,0xDC), o2(0x96,0xCF), - o2(0x94,0x44), o2(0x9B,0x4A), o2(0x8B,0x57), o2(0x97,0x64), - o2(0x96,0xAD), o2(0x9B,0xAA), o2(0x9B,0x42), o2(0x9B,0x45), - o2(0xFA,0xA4), o2(0x91,0xC3), o2(0x96,0x57), o2(0x93,0x69), - o2(0x9B,0x46), o2(0x96,0x85), o2(0xFA,0xA5), o2(0x8D,0xC8), - o2(0x8F,0xA8), UNDEF, -}; -static const BYTE_LOOKUP -to_SHIFT_JIS_E5_A6 = { - to_SHIFT_JIS_E5_A6_offsets, - to_SHIFT_JIS_E5_A6_infos -}; - -static const unsigned char -to_SHIFT_JIS_E5_A7_offsets[64] = { - /* used from to_SHIFT_JIS_E5_A7 */ - /* used from to_EUC_JP_E5_A7 */ - 18, 18, 18, 18, 18, 18, 0, 18, 18, 1, 18, 2, 18, 18, 18, 18, - 3, 4, 18, 5, 6, 18, 18, 18, 18, 7, 8, 18, 9, 18, 18, 18, - 18, 18, 18, 18, 18, 10, 11, 18, 12, 18, 13, 14, 18, 18, 18, 18, - 18, 18, 18, 18, 18, 18, 15, 18, 18, 18, 18, 16, 18, 18, 18, 17, -}; -static const struct byte_lookup* const -to_SHIFT_JIS_E5_A7_infos[19] = { - o2(0x9B,0x47), o2(0x8E,0x6F), o2(0x8E,0x6E), o2(0x88,0xB7), - o2(0x8C,0xC6), o2(0x90,0xA9), o2(0x88,0xCF), o2(0x9B,0x4B), - o2(0x9B,0x4C), o2(0x9B,0x49), o2(0x89,0x57), o2(0x8A,0xAD), - o2(0x9B,0x48), o2(0x96,0xC3), o2(0x95,0x50), o2(0x88,0xA6), - o2(0x88,0xF7), o2(0x8E,0x70), UNDEF, -}; -static const BYTE_LOOKUP -to_SHIFT_JIS_E5_A7 = { - to_SHIFT_JIS_E5_A7_offsets, - to_SHIFT_JIS_E5_A7_infos -}; - -static const unsigned char -to_SHIFT_JIS_E5_A8_offsets[64] = { - /* used from to_SHIFT_JIS_E5_A8 */ - /* used from to_EUC_JP_E5_A8 */ - 15, 0, 15, 1, 15, 15, 15, 15, 15, 2, 15, 15, 15, 15, 15, 15, - 15, 3, 15, 15, 15, 15, 15, 15, 4, 15, 5, 15, 6, 15, 15, 7, - 8, 15, 15, 15, 15, 9, 15, 15, 15, 10, 15, 15, 15, 15, 15, 11, - 15, 15, 15, 15, 15, 12, 13, 15, 15, 15, 15, 15, 14, 15, 15, 15, -}; -static const struct byte_lookup* const -to_SHIFT_JIS_E5_A8_infos[16] = { - o2(0x88,0xD0), o2(0x88,0xA1), o2(0x9B,0x51), o2(0x9B,0x4F), - o2(0x96,0xBA), o2(0x9B,0x52), o2(0x9B,0x50), o2(0x9B,0x4E), - o2(0x90,0x50), o2(0x9B,0x4D), o2(0x95,0xD8), o2(0x8C,0xE2), - o2(0x9B,0x56), o2(0x9B,0x57), o2(0x8F,0xA9), UNDEF, -}; -static const BYTE_LOOKUP -to_SHIFT_JIS_E5_A8 = { - to_SHIFT_JIS_E5_A8_offsets, - to_SHIFT_JIS_E5_A8_infos -}; - -static const unsigned char -to_SHIFT_JIS_E5_A9_offsets[64] = { - /* used from to_SHIFT_JIS_E5_A9 */ - /* used from to_EUC_JP_E5_A9 */ - 0, 1, 10, 10, 10, 10, 2, 10, 10, 3, 10, 10, 10, 10, 10, 10, - 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 4, 10, 10, 10, 10, 10, - 10, 10, 5, 10, 10, 10, 6, 10, 10, 10, 7, 10, 8, 10, 10, 10, - 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 9, -}; -static const struct byte_lookup* const -to_SHIFT_JIS_E5_A9_infos[11] = { - o2(0x9B,0x53), o2(0x98,0x4B), o2(0x94,0x6B), o2(0x9B,0x55), - o2(0x8D,0xA5), o2(0x9B,0x58), o2(0x95,0x77), o2(0x9B,0x59), - o2(0x9B,0x54), o2(0x96,0xB9), UNDEF, -}; -static const BYTE_LOOKUP -to_SHIFT_JIS_E5_A9 = { - to_SHIFT_JIS_E5_A9_offsets, - to_SHIFT_JIS_E5_A9_infos -}; - -static const unsigned char -to_SHIFT_JIS_E5_AA_offsets[64] = { - /* used from to_SHIFT_JIS_E5_AA */ - /* used from to_EUC_JP_E5_AA */ - 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, - 6, 6, 0, 6, 6, 6, 6, 6, 6, 6, 1, 2, 6, 6, 6, 6, - 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, - 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 3, 4, 5, 6, -}; -static const struct byte_lookup* const -to_SHIFT_JIS_E5_AA_infos[7] = { - o2(0x94,0x7D), o2(0x9B,0x5A), o2(0x95,0x51), o2(0x9B,0x5B), - o2(0x9B,0x5F), o2(0x9B,0x5C), UNDEF, -}; -static const BYTE_LOOKUP -to_SHIFT_JIS_E5_AA = { - to_SHIFT_JIS_E5_AA_offsets, - to_SHIFT_JIS_E5_AA_infos -}; - -static const unsigned char -to_SHIFT_JIS_E5_AB_offsets[64] = { - /* used from to_SHIFT_JIS_E5_AB */ - /* used from to_EUC_JP_E5_AB */ - 14, 0, 1, 14, 14, 14, 14, 14, 14, 2, 14, 3, 4, 14, 14, 14, - 5, 14, 14, 14, 14, 14, 6, 7, 14, 14, 14, 14, 14, 14, 14, 14, - 14, 8, 14, 9, 14, 14, 10, 14, 14, 11, 14, 14, 14, 14, 14, 14, - 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 12, 13, 14, 14, 14, 14, -}; -static const struct byte_lookup* const -to_SHIFT_JIS_E5_AB_infos[15] = { - o2(0x89,0xC5), o2(0x9B,0x5E), o2(0x8E,0xB9), o2(0x9B,0x5D), - o2(0x8C,0x99), o2(0x9B,0x6B), o2(0x9B,0x64), o2(0x9B,0x61), - o2(0x92,0x84), o2(0x9B,0x60), o2(0x9B,0x62), o2(0x9B,0x63), - o2(0x9B,0x65), o2(0x9B,0x66), UNDEF, -}; -static const BYTE_LOOKUP -to_SHIFT_JIS_E5_AB = { - to_SHIFT_JIS_E5_AB_offsets, - to_SHIFT_JIS_E5_AB_infos -}; - -static const unsigned char -to_SHIFT_JIS_E5_AC_offsets[64] = { - /* used from to_SHIFT_JIS_E5_AC */ - /* used from to_EUC_JP_E5_AC */ - 11, 11, 11, 11, 11, 11, 11, 11, 11, 0, 11, 1, 2, 11, 11, 11, - 11, 11, 11, 11, 11, 11, 3, 11, 11, 11, 11, 11, 11, 11, 11, 11, - 11, 11, 4, 11, 11, 11, 11, 11, 11, 11, 5, 11, 6, 11, 11, 11, - 7, 11, 8, 11, 11, 11, 9, 11, 11, 11, 11, 11, 11, 11, 10, 11, -}; -static const struct byte_lookup* const -to_SHIFT_JIS_E5_AC_infos[12] = { - o2(0x8A,0xF0), o2(0x9B,0x68), o2(0x9B,0x67), o2(0x9B,0x69), - o2(0x8F,0xEC), o2(0x9B,0x6C), o2(0x92,0xDA), o2(0x89,0x64), - o2(0x9B,0x6A), o2(0x9B,0x6D), o2(0x9B,0x6E), UNDEF, -}; -static const BYTE_LOOKUP -to_SHIFT_JIS_E5_AC = { - to_SHIFT_JIS_E5_AC_offsets, - to_SHIFT_JIS_E5_AC_infos -}; - -static const unsigned char -to_SHIFT_JIS_E5_AD_offsets[64] = { - /* used from to_SHIFT_JIS_E5_AD */ - /* used from to_EUC_JP_E5_AD */ - 0, 27, 27, 1, 27, 2, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, - 3, 4, 27, 27, 5, 6, 7, 8, 9, 27, 10, 11, 12, 13, 27, 14, - 27, 27, 27, 15, 16, 17, 18, 27, 27, 19, 27, 20, 27, 27, 27, 27, - 21, 22, 27, 23, 27, 24, 27, 27, 25, 27, 26, 27, 27, 27, 27, 27, -}; -static const struct byte_lookup* const -to_SHIFT_JIS_E5_AD_infos[28] = { - o2(0x9B,0x71), o2(0x9B,0x6F), o2(0x9B,0x70), o2(0x8E,0x71), - o2(0x9B,0x72), o2(0x8D,0x45), o2(0x9B,0x73), o2(0xFA,0xA6), - o2(0x8E,0x9A), o2(0x91,0xB6), o2(0x9B,0x74), o2(0x9B,0x75), - o2(0x8E,0x79), o2(0x8D,0x46), o2(0x96,0xD0), o2(0x8B,0x47), - o2(0x8C,0xC7), o2(0x9B,0x76), o2(0x8A,0x77), o2(0x9B,0x77), - o2(0x91,0xB7), o2(0x9B,0x78), o2(0x9B,0xA1), o2(0x9B,0x79), - o2(0x9B,0x7A), o2(0x9B,0x7B), o2(0x9B,0x7D), UNDEF, -}; -static const BYTE_LOOKUP -to_SHIFT_JIS_E5_AD = { - to_SHIFT_JIS_E5_AD_offsets, - to_SHIFT_JIS_E5_AD_infos -}; - -static const unsigned char -to_SHIFT_JIS_E5_AE_offsets[64] = { - /* used from to_SHIFT_JIS_E5_AE */ - /* used from to_EUC_JP_E5_AE */ - 0, 33, 33, 1, 33, 2, 33, 3, 4, 5, 33, 6, 7, 8, 33, 9, - 33, 33, 33, 33, 33, 10, 33, 11, 12, 13, 14, 15, 16, 17, 33, 18, - 33, 33, 19, 20, 21, 22, 23, 33, 33, 33, 33, 33, 33, 33, 24, 33, - 25, 33, 33, 26, 27, 28, 29, 33, 30, 31, 33, 33, 33, 33, 33, 32, -}; -static const struct byte_lookup* const -to_SHIFT_JIS_E5_AE_infos[34] = { - o2(0x9B,0x7E), o2(0x9B,0x80), o2(0x91,0xEE), o2(0x89,0x46), - o2(0x8E,0xE7), o2(0x88,0xC0), o2(0x91,0x76), o2(0x8A,0xAE), - o2(0x8E,0xB3), o2(0x8D,0x47), o2(0x93,0x86), o2(0x8F,0x40), - o2(0x8A,0xAF), o2(0x92,0x88), o2(0x92,0xE8), o2(0x88,0xB6), - o2(0x8B,0x58), o2(0x95,0xF3), o2(0x8E,0xC0), o2(0x8B,0x71), - o2(0x90,0xE9), o2(0x8E,0xBA), o2(0x97,0x47), o2(0x9B,0x81), - o2(0x8B,0x7B), o2(0x8D,0xC9), o2(0x8A,0x51), o2(0x89,0x83), - o2(0x8F,0xAA), o2(0x89,0xC6), o2(0x9B,0x82), o2(0x97,0x65), - o2(0x8F,0x68), UNDEF, -}; -static const BYTE_LOOKUP -to_SHIFT_JIS_E5_AE = { - to_SHIFT_JIS_E5_AE_offsets, - to_SHIFT_JIS_E5_AE_infos -}; - -static const unsigned char -to_SHIFT_JIS_E5_AF_offsets[64] = { - /* used from to_SHIFT_JIS_E5_AF */ - /* used from to_EUC_JP_E5_AF */ - 0, 37, 1, 2, 3, 4, 5, 6, 37, 7, 37, 37, 8, 37, 37, 37, - 9, 37, 10, 11, 12, 37, 37, 37, 13, 37, 37, 14, 37, 15, 16, 17, - 37, 18, 19, 37, 20, 21, 22, 23, 24, 25, 37, 26, 27, 37, 28, 37, - 29, 37, 37, 30, 37, 31, 32, 37, 33, 37, 34, 37, 37, 37, 35, 36, -}; -static const struct byte_lookup* const -to_SHIFT_JIS_E5_AF_infos[38] = { - o2(0xFA,0xA7), o2(0x8E,0xE2), o2(0x9B,0x83), o2(0x8A,0xF1), - o2(0x93,0xD0), o2(0x96,0xA7), o2(0x9B,0x84), o2(0x9B,0x85), - o2(0x95,0x78), o2(0x9B,0x87), o2(0x8A,0xA6), o2(0x8B,0xF5), - o2(0x9B,0x86), o2(0xFA,0xA9), o2(0x8A,0xB0), o2(0x90,0x51), - o2(0x9B,0x8B), o2(0x8E,0x40), o2(0x89,0xC7), o2(0x9B,0x8A), - o2(0x9B,0x88), o2(0x9B,0x8C), o2(0x9B,0x89), o2(0x94,0x4A), - o2(0x9E,0xCB), o2(0x90,0x52), o2(0x9B,0x8D), o2(0xFA,0xAA), - o2(0x97,0xBE), o2(0x9B,0x8E), o2(0x9B,0x90), o2(0x92,0x9E), - o2(0x9B,0x8F), o2(0x90,0xA1), o2(0x8E,0x9B), o2(0x91,0xCE), - o2(0x8E,0xF5), UNDEF, -}; -static const BYTE_LOOKUP -to_SHIFT_JIS_E5_AF = { - to_SHIFT_JIS_E5_AF_offsets, - to_SHIFT_JIS_E5_AF_infos -}; - -static const unsigned char -to_SHIFT_JIS_E5_B0_offsets[64] = { - /* used from to_SHIFT_JIS_E5_B0 */ - /* used from to_EUC_JP_E5_B0 */ - 32, 0, 1, 32, 2, 3, 4, 5, 6, 7, 8, 9, 32, 10, 11, 12, - 32, 13, 32, 14, 32, 32, 15, 32, 32, 32, 16, 32, 32, 32, 17, 32, - 18, 32, 19, 32, 20, 32, 32, 32, 21, 32, 32, 32, 32, 22, 32, 32, - 32, 23, 32, 32, 32, 32, 32, 32, 24, 25, 26, 27, 28, 29, 30, 31, -}; -static const struct byte_lookup* const -to_SHIFT_JIS_E5_B0_infos[33] = { - o2(0x95,0x95), o2(0x90,0xEA), o2(0x8E,0xCB), o2(0x9B,0x91), - o2(0x8F,0xAB), o2(0x9B,0x92), o2(0x9B,0x93), o2(0x88,0xD1), - o2(0x91,0xB8), o2(0x90,0x71), o2(0x9B,0x94), o2(0x93,0xB1), - o2(0x8F,0xAC), o2(0x8F,0xAD), o2(0x9B,0x95), o2(0x90,0xEB), - o2(0x8F,0xAE), o2(0xFA,0xAB), o2(0x9B,0x96), o2(0x9B,0x97), - o2(0x96,0xDE), o2(0x9B,0x98), o2(0x8B,0xC4), o2(0x8F,0x41), - o2(0x9B,0x99), o2(0x9B,0x9A), o2(0x8E,0xDA), o2(0x90,0x4B), - o2(0x93,0xF2), o2(0x90,0x73), o2(0x94,0xF6), o2(0x94,0x41), - UNDEF, -}; -static const BYTE_LOOKUP -to_SHIFT_JIS_E5_B0 = { - to_SHIFT_JIS_E5_B0_offsets, - to_SHIFT_JIS_E5_B0_infos -}; - -static const unsigned char -to_SHIFT_JIS_E5_B1_offsets[64] = { - /* used from to_SHIFT_JIS_E5_B1 */ - /* used from to_EUC_JP_E5_B1 */ - 0, 1, 25, 25, 25, 2, 3, 25, 4, 25, 5, 6, 25, 7, 8, 9, - 10, 11, 25, 12, 25, 13, 25, 25, 25, 25, 25, 25, 25, 25, 14, 25, - 15, 16, 25, 25, 17, 18, 25, 25, 25, 25, 25, 25, 19, 25, 20, 21, - 25, 22, 25, 25, 25, 25, 23, 25, 25, 24, 25, 25, 25, 25, 25, 25, -}; -static const struct byte_lookup* const -to_SHIFT_JIS_E5_B1_infos[26] = { - o2(0x8B,0xC7), o2(0x9B,0x9B), o2(0x8B,0x8F), o2(0x9B,0x9C), - o2(0x8B,0xFC), o2(0x93,0xCD), o2(0x89,0xAE), o2(0x8E,0x72), - o2(0x9B,0x9D), o2(0x9B,0xA0), o2(0x9B,0x9F), o2(0x8B,0xFB), - o2(0x9B,0x9E), o2(0x93,0x57), o2(0x91,0xAE), o2(0x93,0x6A), - o2(0x8E,0xC6), o2(0x91,0x77), o2(0x97,0x9A), o2(0x9B,0xA2), - o2(0x9B,0xA3), o2(0x93,0xD4), o2(0x8E,0x52), o2(0x9B,0xA5), - o2(0x9B,0xA6), UNDEF, -}; -static const BYTE_LOOKUP -to_SHIFT_JIS_E5_B1 = { - to_SHIFT_JIS_E5_B1_offsets, - to_SHIFT_JIS_E5_B1_infos -}; - -static const unsigned char -to_SHIFT_JIS_E5_B2_offsets[64] = { - /* used from to_SHIFT_JIS_E5_B2 */ - /* used from to_EUC_JP_E5_B2 */ - 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, 0, 19, 19, 19, - 1, 2, 19, 19, 3, 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, - 19, 4, 19, 19, 19, 19, 5, 19, 6, 7, 19, 8, 9, 19, 19, 19, - 19, 10, 19, 11, 19, 19, 12, 13, 14, 19, 15, 16, 17, 19, 18, 19, -}; -static const struct byte_lookup* const -to_SHIFT_JIS_E5_B2_infos[20] = { - o2(0x9B,0xA7), o2(0x8A,0xF2), o2(0x9B,0xA8), o2(0x9B,0xA9), - o2(0x89,0xAA), o2(0xFA,0xAC), o2(0x91,0x5A), o2(0x8A,0xE2), - o2(0x9B,0xAB), o2(0x96,0xA6), o2(0x91,0xD0), o2(0x8A,0x78), - o2(0x9B,0xAD), o2(0x9B,0xAF), o2(0x8A,0xDD), o2(0xFA,0xAD), - o2(0x9B,0xAC), o2(0x9B,0xAE), o2(0x9B,0xB1), UNDEF, -}; -static const BYTE_LOOKUP -to_SHIFT_JIS_E5_B2 = { - to_SHIFT_JIS_E5_B2_offsets, - to_SHIFT_JIS_E5_B2_infos -}; - -static const unsigned char -to_SHIFT_JIS_E5_B3_offsets[64] = { - /* used from to_SHIFT_JIS_E5_B3 */ - /* used from to_EUC_JP_E5_B3 */ - 16, 16, 16, 16, 16, 0, 16, 1, 16, 16, 16, 16, 16, 16, 16, 16, - 16, 16, 16, 16, 16, 16, 16, 16, 16, 2, 16, 16, 16, 16, 16, 16, - 3, 4, 16, 16, 16, 16, 16, 16, 5, 6, 7, 16, 16, 8, 16, 9, - 10, 16, 16, 16, 16, 11, 12, 16, 16, 16, 13, 14, 16, 15, 16, 16, -}; -static const struct byte_lookup* const -to_SHIFT_JIS_E5_B3_infos[17] = { - o2(0x9B,0xB0), o2(0x9B,0xB2), o2(0x9B,0xB3), o2(0x93,0xBB), - o2(0x8B,0xAC), o2(0x89,0xE3), o2(0x9B,0xB4), o2(0x9B,0xB9), - o2(0x9B,0xB7), o2(0x95,0xF5), o2(0x95,0xF4), o2(0xFA,0xAE), - o2(0x93,0x87), o2(0x9B,0xB6), o2(0x8F,0x73), o2(0x9B,0xB5), - UNDEF, -}; -static const BYTE_LOOKUP -to_SHIFT_JIS_E5_B3 = { - to_SHIFT_JIS_E5_B3_offsets, - to_SHIFT_JIS_E5_B3_infos -}; - -static const unsigned char -to_SHIFT_JIS_E5_B4_offsets[64] = { - /* used from to_SHIFT_JIS_E5_B4 */ - /* used from to_EUC_JP_E5_B4 */ - 16, 16, 16, 16, 16, 16, 16, 0, 16, 16, 16, 1, 16, 16, 2, 16, - 16, 3, 16, 16, 4, 5, 6, 7, 8, 9, 10, 11, 16, 16, 16, 12, - 16, 16, 13, 16, 16, 16, 16, 14, 16, 15, 16, 16, 16, 16, 16, 16, - 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, -}; -static const struct byte_lookup* const -to_SHIFT_JIS_E5_B4_infos[17] = { - o2(0x90,0x92), o2(0x9B,0xBA), o2(0x8D,0xE8), o2(0x9B,0xC0), - o2(0x9B,0xC1), o2(0x9B,0xBB), o2(0x8A,0x52), o2(0x9B,0xBC), - o2(0x9B,0xC5), o2(0x9B,0xC4), o2(0x9B,0xC3), o2(0x9B,0xBF), - o2(0x9B,0xBE), o2(0x9B,0xC2), o2(0xFA,0xAF), o2(0x95,0xF6), - UNDEF, -}; -static const BYTE_LOOKUP -to_SHIFT_JIS_E5_B4 = { - to_SHIFT_JIS_E5_B4_offsets, - to_SHIFT_JIS_E5_B4_infos -}; - -static const unsigned char -to_SHIFT_JIS_E5_B5_offsets[64] = { - /* used from to_SHIFT_JIS_E5_B5 */ - /* used from to_EUC_JP_E5_B5 */ - 14, 14, 0, 14, 14, 14, 14, 14, 14, 14, 14, 1, 2, 14, 3, 14, - 4, 14, 5, 6, 14, 14, 14, 14, 14, 14, 14, 14, 7, 14, 14, 14, - 14, 14, 14, 14, 14, 14, 14, 14, 14, 8, 14, 14, 9, 10, 14, 11, - 14, 14, 14, 12, 14, 14, 13, 14, 14, 14, 14, 14, 14, 14, 14, 14, -}; -static const struct byte_lookup* const -to_SHIFT_JIS_E5_B5_infos[15] = { - o2(0xFA,0xB2), o2(0x9B,0xC9), o2(0x9B,0xC6), o2(0x9B,0xC8), - o2(0x97,0x92), o2(0x9B,0xC7), o2(0xFA,0xB0), o2(0x9B,0xBD), - o2(0x90,0x93), o2(0x9B,0xCA), o2(0xFA,0xB3), o2(0x8D,0xB5), - o2(0x9B,0xCB), o2(0x9B,0xCC), UNDEF, -}; -static const BYTE_LOOKUP -to_SHIFT_JIS_E5_B5 = { - to_SHIFT_JIS_E5_B5_offsets, - to_SHIFT_JIS_E5_B5_infos -}; - -static const unsigned char -to_SHIFT_JIS_E5_B6_offsets[64] = { - /* used from to_SHIFT_JIS_E5_B6 */ - /* used from to_EUC_JP_E5_B6 */ - 16, 16, 0, 16, 1, 16, 16, 2, 16, 16, 16, 3, 4, 16, 16, 16, - 5, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 6, 16, 16, - 16, 16, 7, 16, 16, 16, 16, 16, 16, 16, 16, 16, 8, 16, 9, 16, - 16, 16, 16, 16, 16, 16, 16, 10, 11, 12, 13, 16, 14, 15, 16, 16, -}; -static const struct byte_lookup* const -to_SHIFT_JIS_E5_B6_infos[17] = { - o2(0x9B,0xCF), o2(0x9B,0xCE), o2(0x9B,0xCD), o2(0x93,0x88), - o2(0x9B,0xB8), o2(0x9B,0xD5), o2(0x9B,0xD1), o2(0x9B,0xD0), - o2(0x9B,0xD2), o2(0x9B,0xD3), o2(0x9B,0xD6), o2(0xFA,0xB4), - o2(0xFA,0xB5), o2(0x97,0xE4), o2(0x9B,0xD7), o2(0x9B,0xD4), - UNDEF, -}; -static const BYTE_LOOKUP -to_SHIFT_JIS_E5_B6 = { - to_SHIFT_JIS_E5_B6_offsets, - to_SHIFT_JIS_E5_B6_infos -}; - -static const unsigned char -to_SHIFT_JIS_E5_B7_offsets[64] = { - /* used from to_SHIFT_JIS_E5_B7 */ - /* used from to_EUC_JP_E5_B7 */ - 27, 27, 27, 27, 27, 27, 27, 27, 27, 0, 27, 27, 1, 2, 27, 27, - 3, 27, 4, 5, 27, 27, 6, 27, 27, 27, 27, 7, 27, 8, 9, 27, - 27, 10, 27, 11, 27, 12, 13, 14, 15, 27, 27, 16, 27, 27, 17, 27, - 27, 18, 19, 20, 21, 22, 27, 23, 27, 27, 27, 24, 27, 25, 26, 27, -}; -static const struct byte_lookup* const -to_SHIFT_JIS_E5_B7_infos[28] = { - o2(0x9B,0xD8), o2(0x8A,0xDE), o2(0x9B,0xD9), o2(0xFA,0xB6), - o2(0x9B,0xDB), o2(0x9B,0xDA), o2(0x9B,0xDC), o2(0x9B,0xDD), - o2(0x90,0xEC), o2(0x8F,0x42), o2(0x8F,0x84), o2(0x91,0x83), - o2(0x8D,0x48), o2(0x8D,0xB6), o2(0x8D,0x49), o2(0x8B,0x90), - o2(0x9B,0xDE), o2(0x8D,0xB7), o2(0x8C,0xC8), o2(0x9B,0xDF), - o2(0x96,0xA4), o2(0x94,0x62), o2(0x9B,0xE0), o2(0x8D,0x4A), - o2(0x8A,0xAA), o2(0x92,0x46), o2(0x8B,0xD0), UNDEF, -}; -static const BYTE_LOOKUP -to_SHIFT_JIS_E5_B7 = { - to_SHIFT_JIS_E5_B7_offsets, - to_SHIFT_JIS_E5_B7_infos -}; - -static const unsigned char -to_SHIFT_JIS_E5_B8_offsets[64] = { - /* used from to_SHIFT_JIS_E5_B8 */ - /* used from to_EUC_JP_E5_B8 */ - 21, 21, 0, 1, 21, 21, 2, 21, 21, 21, 21, 3, 4, 21, 21, 21, - 21, 5, 21, 21, 21, 21, 6, 21, 21, 7, 8, 9, 21, 10, 21, 21, - 21, 21, 21, 21, 21, 11, 21, 21, 21, 21, 21, 12, 21, 13, 21, 14, - 15, 21, 21, 16, 21, 21, 17, 18, 19, 21, 21, 21, 21, 20, 21, 21, -}; -static const struct byte_lookup* const -to_SHIFT_JIS_E5_B8_infos[22] = { - o2(0x8E,0x73), o2(0x95,0x7A), o2(0x94,0xBF), o2(0x9B,0xE1), - o2(0x8A,0xF3), o2(0x9B,0xE4), o2(0x92,0x9F), o2(0x9B,0xE3), - o2(0x9B,0xE2), o2(0x9B,0xE5), o2(0x92,0xE9), o2(0x90,0x83), - o2(0x8E,0x74), o2(0x90,0xC8), o2(0x91,0xD1), o2(0x8B,0x41), - o2(0x92,0xA0), o2(0x9B,0xE6), o2(0x9B,0xE7), o2(0x8F,0xED), - o2(0x96,0x58), UNDEF, -}; -static const BYTE_LOOKUP -to_SHIFT_JIS_E5_B8 = { - to_SHIFT_JIS_E5_B8_offsets, - to_SHIFT_JIS_E5_B8_infos -}; - -static const unsigned char -to_SHIFT_JIS_E5_B9_offsets[64] = { - /* used from to_SHIFT_JIS_E5_B9 */ - /* used from to_EUC_JP_E5_B9 */ - 0, 28, 28, 1, 2, 3, 28, 4, 28, 28, 28, 28, 5, 28, 6, 28, - 28, 28, 28, 28, 7, 8, 28, 9, 28, 28, 28, 28, 28, 28, 28, 10, - 28, 11, 12, 13, 14, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, - 28, 28, 15, 16, 17, 18, 19, 28, 20, 21, 22, 23, 24, 25, 26, 27, -}; -static const struct byte_lookup* const -to_SHIFT_JIS_E5_B9_infos[29] = { - o2(0x9B,0xEA), o2(0x9B,0xE9), o2(0x9B,0xE8), o2(0x95,0x9D), - o2(0x9B,0xF1), o2(0x96,0x79), o2(0x9B,0xEB), o2(0x9B,0xED), - o2(0x96,0x8B), o2(0x9B,0xEC), o2(0x9B,0xEE), o2(0x94,0xA6), - o2(0x9B,0xEF), o2(0x95,0xBC), o2(0x9B,0xF0), o2(0x8A,0xB1), - o2(0x95,0xBD), o2(0x94,0x4E), o2(0x9B,0xF2), o2(0x9B,0xF3), - o2(0x8D,0x4B), o2(0x8A,0xB2), o2(0x9B,0xF4), o2(0x8C,0xB6), - o2(0x97,0x63), o2(0x97,0x48), o2(0x8A,0xF4), o2(0x9B,0xF6), - UNDEF, -}; -static const BYTE_LOOKUP -to_SHIFT_JIS_E5_B9 = { - to_SHIFT_JIS_E5_B9_offsets, - to_SHIFT_JIS_E5_B9_infos -}; - -static const unsigned char -to_SHIFT_JIS_E5_BA_offsets[64] = { - /* used from to_SHIFT_JIS_E5_BA */ - /* used from to_EUC_JP_E5_BA */ - 20, 0, 20, 1, 2, 20, 20, 3, 20, 20, 4, 20, 20, 20, 20, 5, - 20, 20, 20, 20, 20, 6, 7, 8, 20, 20, 9, 20, 10, 20, 20, 20, - 11, 20, 20, 20, 20, 20, 12, 13, 20, 20, 20, 14, 20, 15, 20, 20, - 20, 20, 20, 20, 20, 16, 17, 18, 19, 20, 20, 20, 20, 20, 20, 20, -}; -static const struct byte_lookup* const -to_SHIFT_JIS_E5_BA_infos[21] = { - o2(0x92,0xA1), o2(0x8D,0x4C), o2(0x8F,0xAF), o2(0x94,0xDD), - o2(0x8F,0xB0), o2(0x8F,0x98), o2(0x92,0xEA), o2(0x95,0xF7), - o2(0x93,0x58), o2(0x8D,0x4D), o2(0x95,0x7B), o2(0x9B,0xF7), - o2(0x93,0x78), o2(0x8D,0xC0), o2(0x8C,0xC9), o2(0x92,0xEB), - o2(0x88,0xC1), o2(0x8F,0x8E), o2(0x8D,0x4E), o2(0x97,0x66), - UNDEF, -}; -static const BYTE_LOOKUP -to_SHIFT_JIS_E5_BA = { - to_SHIFT_JIS_E5_BA_offsets, - to_SHIFT_JIS_E5_BA_infos -}; - -static const unsigned char -to_SHIFT_JIS_E5_BB_offsets[64] = { - /* used from to_SHIFT_JIS_E5_BB */ - /* used from to_EUC_JP_E5_BB */ - 33, 0, 1, 2, 33, 33, 33, 33, 3, 4, 5, 33, 33, 33, 33, 6, - 7, 33, 33, 8, 33, 33, 9, 33, 33, 33, 10, 11, 33, 12, 33, 13, - 14, 15, 16, 17, 33, 33, 33, 33, 18, 19, 33, 33, 20, 33, 33, 33, - 21, 22, 33, 23, 24, 33, 25, 26, 27, 33, 28, 29, 30, 33, 31, 32, -}; -static const struct byte_lookup* const -to_SHIFT_JIS_E5_BB_infos[34] = { - o2(0x9B,0xF8), o2(0x9B,0xF9), o2(0x94,0x70), o2(0x9B,0xFA), - o2(0x97,0xF5), o2(0x98,0x4C), o2(0x9B,0xFC), o2(0x9B,0xFB), - o2(0x8A,0x66), o2(0x9C,0x40), o2(0x9C,0x43), o2(0x9C,0x44), - o2(0x9C,0x42), o2(0x95,0x5F), o2(0x8F,0xB1), o2(0x9C,0x46), - o2(0x9C,0x45), o2(0x9C,0x41), o2(0x9C,0x47), o2(0x9C,0x48), - o2(0x9C,0x49), o2(0x9C,0x4C), o2(0x9C,0x4A), o2(0x9C,0x4B), - o2(0x9C,0x4D), o2(0x89,0x84), o2(0x92,0xEC), o2(0x9C,0x4E), - o2(0x8C,0x9A), o2(0x89,0xF4), o2(0x94,0x55), o2(0x9C,0x4F), - o2(0x93,0xF9), UNDEF, -}; -static const BYTE_LOOKUP -to_SHIFT_JIS_E5_BB = { - to_SHIFT_JIS_E5_BB_offsets, - to_SHIFT_JIS_E5_BB_infos -}; - -static const unsigned char -to_SHIFT_JIS_E5_BC_offsets[64] = { - /* used from to_SHIFT_JIS_E5_BC */ - /* used from to_EUC_JP_E5_BC */ - 33, 0, 33, 1, 2, 33, 33, 33, 33, 3, 4, 5, 6, 7, 33, 8, - 9, 10, 33, 11, 12, 13, 14, 15, 16, 33, 33, 17, 33, 33, 33, 18, - 33, 19, 33, 33, 33, 20, 21, 22, 33, 23, 33, 33, 33, 24, 33, 25, - 33, 26, 33, 33, 27, 28, 33, 29, 30, 33, 33, 33, 31, 33, 32, 33, -}; -static const struct byte_lookup* const -to_SHIFT_JIS_E5_BC_infos[34] = { - o2(0x95,0xD9), o2(0x9C,0x50), o2(0x98,0x4D), o2(0x9C,0x51), - o2(0x95,0xBE), o2(0x9C,0x54), o2(0x98,0x9F), o2(0x98,0xAF), - o2(0x8E,0xAE), o2(0x93,0xF3), o2(0x9C,0x55), o2(0x8B,0x7C), - o2(0x92,0xA2), o2(0x88,0xF8), o2(0x9C,0x56), o2(0x95,0xA4), - o2(0x8D,0x4F), o2(0x92,0x6F), o2(0x92,0xED), o2(0xFA,0xB7), - o2(0x96,0xED), o2(0x8C,0xB7), o2(0x8C,0xCA), o2(0x9C,0x57), - o2(0x9C,0x58), o2(0x9C,0x5E), o2(0x8E,0xE3), o2(0xFA,0xB8), - o2(0x92,0xA3), o2(0x8B,0xAD), o2(0x9C,0x59), o2(0x95,0x4A), - o2(0x92,0x65), UNDEF, -}; -static const BYTE_LOOKUP -to_SHIFT_JIS_E5_BC = { - to_SHIFT_JIS_E5_BC_offsets, - to_SHIFT_JIS_E5_BC_infos -}; - -static const unsigned char -to_SHIFT_JIS_E5_BD_offsets[64] = { - /* used from to_SHIFT_JIS_E5_BD */ - /* used from to_EUC_JP_E5_BD */ - 29, 0, 29, 29, 29, 1, 29, 29, 2, 29, 3, 29, 4, 29, 5, 29, - 29, 6, 29, 7, 29, 29, 8, 9, 29, 10, 29, 29, 11, 12, 29, 29, - 29, 13, 14, 29, 29, 29, 15, 16, 29, 17, 18, 19, 20, 21, 29, 29, - 22, 23, 29, 24, 29, 29, 29, 25, 29, 26, 29, 29, 27, 29, 29, 28, -}; -static const struct byte_lookup* const -to_SHIFT_JIS_E5_BD_infos[30] = { - o2(0x9C,0x5A), o2(0xFA,0x67), o2(0x9C,0x5B), o2(0x8B,0xAE), - o2(0x9C,0x5C), o2(0x9C,0x5D), o2(0x9C,0x5F), o2(0x93,0x96), - o2(0x9C,0x60), o2(0x9C,0x61), o2(0x9C,0x62), o2(0x9C,0x53), - o2(0x9C,0x52), o2(0x9C,0x63), o2(0x8C,0x60), o2(0x95,0x46), - o2(0xFA,0xB9), o2(0x8D,0xCA), o2(0x95,0x56), o2(0x92,0xA4), - o2(0x95,0x6A), o2(0x9C,0x64), o2(0x8F,0xB2), o2(0x89,0x65), - o2(0x9C,0x65), o2(0x9C,0x66), o2(0x96,0xF0), o2(0x94,0xDE), - o2(0x9C,0x69), UNDEF, -}; -static const BYTE_LOOKUP -to_SHIFT_JIS_E5_BD = { - to_SHIFT_JIS_E5_BD_offsets, - to_SHIFT_JIS_E5_BD_infos -}; - -static const unsigned char -to_SHIFT_JIS_E5_BE_offsets[64] = { - /* used from to_SHIFT_JIS_E5_BE */ - /* used from to_EUC_JP_E5_BE */ - 0, 1, 2, 3, 4, 5, 32, 6, 7, 32, 8, 9, 10, 32, 32, 32, - 11, 12, 13, 14, 32, 32, 32, 15, 16, 17, 32, 32, 32, 32, 18, 32, - 19, 20, 32, 32, 32, 32, 32, 32, 21, 22, 23, 32, 32, 24, 25, 32, - 32, 32, 32, 26, 27, 32, 32, 28, 32, 29, 32, 32, 30, 31, 32, 32, -}; -static const struct byte_lookup* const -to_SHIFT_JIS_E5_BE_infos[33] = { - o2(0x89,0x9D), o2(0x90,0xAA), o2(0x9C,0x68), o2(0x9C,0x67), - o2(0x8C,0x61), o2(0x91,0xD2), o2(0x9C,0x6D), o2(0x9C,0x6B), - o2(0x9C,0x6A), o2(0x97,0xA5), o2(0x8C,0xE3), o2(0x8F,0x99), - o2(0x9C,0x6C), o2(0x93,0x6B), o2(0x8F,0x5D), o2(0x93,0xBE), - o2(0x9C,0x70), o2(0x9C,0x6F), o2(0x9C,0x6E), o2(0x9C,0x71), - o2(0x8C,0xE4), o2(0x9C,0x72), o2(0x95,0x9C), o2(0x8F,0x7A), - o2(0x9C,0x73), o2(0x94,0xF7), o2(0x93,0xBF), o2(0x92,0xA5), - o2(0xFA,0xBA), o2(0x93,0x4F), o2(0x9C,0x74), o2(0x8B,0x4A), - UNDEF, -}; -static const BYTE_LOOKUP -to_SHIFT_JIS_E5_BE = { - to_SHIFT_JIS_E5_BE_offsets, - to_SHIFT_JIS_E5_BE_infos -}; - -static const unsigned char -to_SHIFT_JIS_E5_BF_offsets[64] = { - /* used from to_SHIFT_JIS_E5_BF */ - /* used from to_EUC_JP_E5_BF */ - 21, 21, 21, 0, 21, 1, 21, 21, 21, 21, 21, 21, 2, 3, 21, 21, - 21, 21, 21, 21, 21, 21, 4, 5, 6, 7, 21, 21, 8, 9, 10, 21, - 11, 21, 21, 21, 12, 21, 21, 21, 21, 21, 21, 13, 21, 21, 21, 21, - 14, 15, 21, 21, 21, 16, 21, 21, 17, 21, 21, 18, 21, 19, 21, 20, -}; -static const struct byte_lookup* const -to_SHIFT_JIS_E5_BF_infos[22] = { - o2(0x90,0x53), o2(0x95,0x4B), o2(0x8A,0xF5), o2(0x94,0x45), - o2(0x9C,0x75), o2(0x8E,0x75), o2(0x96,0x59), o2(0x96,0x5A), - o2(0x89,0x9E), o2(0x9C,0x7A), o2(0xFA,0xBB), o2(0x92,0x89), - o2(0x9C,0x77), o2(0x89,0xF5), o2(0x9C,0xAB), o2(0x9C,0x79), - o2(0x94,0x4F), o2(0x9C,0x78), o2(0x9C,0x76), o2(0x8D,0x9A), - o2(0x9C,0x7C), UNDEF, -}; -static const BYTE_LOOKUP -to_SHIFT_JIS_E5_BF = { - to_SHIFT_JIS_E5_BF_offsets, - to_SHIFT_JIS_E5_BF_infos -}; - -static const unsigned char -to_SHIFT_JIS_E5_offsets[64] = { - /* used from to_SHIFT_JIS_E5 */ - /* used from to_SHIFT_JIS_E6 */ - /* used from to_EUC_JP_E5 */ - /* used from to_EUC_JP_E6 */ - 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_SHIFT_JIS_E5_infos[64] = { - &to_SHIFT_JIS_E5_80, &to_SHIFT_JIS_E5_81, - &to_SHIFT_JIS_E5_82, &to_SHIFT_JIS_E5_83, - &to_SHIFT_JIS_E5_84, &to_SHIFT_JIS_E5_85, - &to_SHIFT_JIS_E5_86, &to_SHIFT_JIS_E5_87, - &to_SHIFT_JIS_E5_88, &to_SHIFT_JIS_E5_89, - &to_SHIFT_JIS_E5_8A, &to_SHIFT_JIS_E5_8B, - &to_SHIFT_JIS_E5_8C, &to_SHIFT_JIS_E5_8D, - &to_SHIFT_JIS_E5_8E, &to_SHIFT_JIS_E5_8F, - &to_SHIFT_JIS_E5_90, &to_SHIFT_JIS_E5_91, - &to_SHIFT_JIS_E5_92, &to_SHIFT_JIS_E5_93, - &to_SHIFT_JIS_E5_94, &to_SHIFT_JIS_E5_95, - &to_SHIFT_JIS_E5_96, &to_SHIFT_JIS_E5_97, - &to_SHIFT_JIS_E5_98, &to_SHIFT_JIS_E5_99, - &to_SHIFT_JIS_E5_9A, &to_SHIFT_JIS_E5_9B, - &to_SHIFT_JIS_E5_9C, &to_SHIFT_JIS_E5_9D, - &to_SHIFT_JIS_E5_9E, &to_SHIFT_JIS_E5_9F, - &to_SHIFT_JIS_E5_A0, &to_SHIFT_JIS_E5_A1, - &to_SHIFT_JIS_E5_A2, &to_SHIFT_JIS_E5_A3, - &to_SHIFT_JIS_E5_A4, &to_SHIFT_JIS_E5_A5, - &to_SHIFT_JIS_E5_A6, &to_SHIFT_JIS_E5_A7, - &to_SHIFT_JIS_E5_A8, &to_SHIFT_JIS_E5_A9, - &to_SHIFT_JIS_E5_AA, &to_SHIFT_JIS_E5_AB, - &to_SHIFT_JIS_E5_AC, &to_SHIFT_JIS_E5_AD, - &to_SHIFT_JIS_E5_AE, &to_SHIFT_JIS_E5_AF, - &to_SHIFT_JIS_E5_B0, &to_SHIFT_JIS_E5_B1, - &to_SHIFT_JIS_E5_B2, &to_SHIFT_JIS_E5_B3, - &to_SHIFT_JIS_E5_B4, &to_SHIFT_JIS_E5_B5, - &to_SHIFT_JIS_E5_B6, &to_SHIFT_JIS_E5_B7, - &to_SHIFT_JIS_E5_B8, &to_SHIFT_JIS_E5_B9, - &to_SHIFT_JIS_E5_BA, &to_SHIFT_JIS_E5_BB, - &to_SHIFT_JIS_E5_BC, &to_SHIFT_JIS_E5_BD, - &to_SHIFT_JIS_E5_BE, &to_SHIFT_JIS_E5_BF, -}; -static const BYTE_LOOKUP -to_SHIFT_JIS_E5 = { - to_SHIFT_JIS_E5_offsets, - to_SHIFT_JIS_E5_infos -}; - -static const unsigned char -to_SHIFT_JIS_E6_80_offsets[64] = { - /* used from to_SHIFT_JIS_E6_80 */ - /* used from to_EUC_JP_E6_80 */ - 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 0, 1, - 2, 22, 3, 22, 22, 4, 5, 22, 22, 6, 22, 7, 8, 9, 22, 22, - 10, 11, 22, 22, 22, 12, 13, 14, 15, 16, 17, 18, 22, 22, 22, 19, - 22, 20, 22, 22, 22, 22, 22, 22, 22, 22, 21, 22, 22, 22, 22, 22, -}; -static const struct byte_lookup* const -to_SHIFT_JIS_E6_80_infos[23] = { - o2(0x9C,0x83), o2(0x9C,0x89), o2(0x9C,0x81), o2(0x93,0x7B), - o2(0x9C,0x86), o2(0x95,0x7C), o2(0x9C,0x80), o2(0x9C,0x85), - o2(0x97,0xE5), o2(0x8E,0x76), o2(0x91,0xD3), o2(0x9C,0x7D), - o2(0x8B,0x7D), o2(0x9C,0x88), o2(0x90,0xAB), o2(0x89,0x85), - o2(0x9C,0x82), o2(0x89,0xF6), o2(0x9C,0x87), o2(0x8B,0xAF), - o2(0x9C,0x84), o2(0x9C,0x8A), UNDEF, -}; -static const BYTE_LOOKUP -to_SHIFT_JIS_E6_80 = { - to_SHIFT_JIS_E6_80_offsets, - to_SHIFT_JIS_E6_80_infos -}; - -static const unsigned char -to_SHIFT_JIS_E6_81_offsets[64] = { - /* used from to_SHIFT_JIS_E6_81 */ - /* used from to_EUC_JP_E6_81 */ - 29, 0, 1, 2, 29, 29, 3, 29, 29, 29, 4, 5, 29, 6, 29, 29, - 7, 29, 8, 29, 29, 9, 29, 29, 29, 10, 11, 29, 29, 12, 29, 13, - 14, 29, 15, 16, 17, 18, 29, 29, 19, 20, 21, 22, 23, 24, 29, 25, - 26, 29, 29, 29, 29, 27, 29, 28, 29, 29, 29, 29, 29, 29, 29, 29, -}; -static const struct byte_lookup* const -to_SHIFT_JIS_E6_81_infos[30] = { - o2(0x9C,0x8C), o2(0x9C,0x96), o2(0x9C,0x94), o2(0x9C,0x91), - o2(0x9C,0x90), o2(0x97,0xF6), o2(0x9C,0x92), o2(0x8B,0xB0), - o2(0x8D,0x50), o2(0x8F,0x9A), o2(0x9C,0x99), o2(0x9C,0x8B), - o2(0xFA,0xBC), o2(0x9C,0x8F), o2(0x9C,0x7E), o2(0x89,0xF8), - o2(0x9C,0x93), o2(0x9C,0x95), o2(0x92,0x70), o2(0x8D,0xA6), - o2(0x89,0xB6), o2(0x9C,0x8D), o2(0x9C,0x98), o2(0x9C,0x97), - o2(0x8B,0xB1), o2(0x91,0xA7), o2(0x8A,0x86), o2(0x8C,0x62), - o2(0x9C,0x8E), UNDEF, -}; -static const BYTE_LOOKUP -to_SHIFT_JIS_E6_81 = { - to_SHIFT_JIS_E6_81_offsets, - to_SHIFT_JIS_E6_81_infos -}; - -static const unsigned char -to_SHIFT_JIS_E6_82_offsets[64] = { - /* used from to_SHIFT_JIS_E6_82 */ - /* used from to_EUC_JP_E6_82 */ - 30, 0, 30, 1, 2, 3, 30, 30, 30, 4, 5, 6, 7, 8, 30, 30, - 30, 30, 9, 30, 10, 30, 11, 12, 30, 30, 13, 14, 30, 30, 30, 15, - 16, 30, 30, 17, 30, 30, 18, 19, 30, 20, 21, 30, 30, 30, 30, 30, - 30, 30, 22, 23, 24, 25, 26, 30, 27, 30, 30, 30, 28, 29, 30, 30, -}; -static const struct byte_lookup* const -to_SHIFT_JIS_E6_82_infos[31] = { - o2(0x9C,0x9A), o2(0x9C,0x9D), o2(0x9C,0x9F), o2(0xFA,0xBD), - o2(0x8E,0xBB), o2(0xFA,0xBE), o2(0x9C,0xA5), o2(0x92,0xEE), - o2(0x9C,0x9B), o2(0x9C,0xA3), o2(0x89,0xF7), o2(0x9C,0xA1), - o2(0x9C,0xA2), o2(0x9C,0x9E), o2(0x9C,0xA0), o2(0x8C,0xE5), - o2(0x97,0x49), o2(0x8A,0xB3), o2(0x89,0x78), o2(0x9C,0xA4), - o2(0x94,0x59), o2(0x88,0xAB), o2(0x94,0xDF), o2(0x9C,0x7B), - o2(0x9C,0xAA), o2(0x9C,0xAE), o2(0x96,0xE3), o2(0x9C,0xA7), - o2(0x93,0x89), o2(0x9C,0xAC), UNDEF, -}; -static const BYTE_LOOKUP -to_SHIFT_JIS_E6_82 = { - to_SHIFT_JIS_E6_82_offsets, - to_SHIFT_JIS_E6_82_infos -}; - -static const unsigned char -to_SHIFT_JIS_E6_83_offsets[64] = { - /* used from to_SHIFT_JIS_E6_83 */ - /* used from to_EUC_JP_E6_83 */ - 26, 26, 26, 26, 26, 0, 1, 2, 26, 26, 26, 26, 26, 26, 26, 26, - 26, 3, 26, 4, 26, 5, 26, 26, 6, 26, 7, 26, 8, 26, 9, 10, - 11, 12, 26, 13, 26, 26, 26, 14, 15, 26, 26, 26, 26, 26, 26, 26, - 16, 17, 18, 19, 20, 26, 21, 22, 26, 23, 24, 25, 26, 26, 26, 26, -}; -static const struct byte_lookup* const -to_SHIFT_JIS_E6_83_infos[27] = { - o2(0x8F,0xEE), o2(0x9C,0xAD), o2(0x93,0xD5), o2(0x98,0x66), - o2(0x9C,0xA9), o2(0xFA,0xC0), o2(0x9C,0xAF), o2(0x8D,0x9B), - o2(0x90,0xC9), o2(0xFA,0xBF), o2(0x88,0xD2), o2(0x9C,0xA8), - o2(0x9C,0xA6), o2(0x91,0x79), o2(0x9C,0x9C), o2(0x8E,0x53), - o2(0x91,0xC4), o2(0x9C,0xBB), o2(0xFA,0xC2), o2(0x91,0x7A), - o2(0x9C,0xB6), o2(0x9C,0xB3), o2(0x9C,0xB4), o2(0x8E,0xE4), - o2(0x9C,0xB7), o2(0x9C,0xBA), UNDEF, -}; -static const BYTE_LOOKUP -to_SHIFT_JIS_E6_83 = { - to_SHIFT_JIS_E6_83_offsets, - to_SHIFT_JIS_E6_83_infos -}; - -static const unsigned char -to_SHIFT_JIS_E6_84_offsets[64] = { - /* used from to_SHIFT_JIS_E6_84 */ - /* used from to_EUC_JP_E6_84 */ - 0, 1, 26, 2, 26, 26, 3, 26, 4, 5, 26, 26, 26, 6, 7, 8, - 26, 9, 26, 26, 26, 10, 26, 26, 26, 26, 11, 12, 26, 26, 26, 13, - 14, 15, 26, 26, 26, 26, 26, 16, 17, 26, 26, 26, 18, 26, 26, 26, - 19, 26, 26, 26, 20, 26, 26, 21, 26, 26, 26, 26, 22, 23, 24, 25, -}; -static const struct byte_lookup* const -to_SHIFT_JIS_E6_84_infos[27] = { - o2(0x9C,0xB5), o2(0x8F,0x44), o2(0x9C,0xB8), o2(0x9C,0xB2), - o2(0x96,0xFA), o2(0x96,0xF9), o2(0x9C,0xBC), o2(0x9C,0xBD), - o2(0x88,0xD3), o2(0xFA,0xC3), o2(0x9C,0xB1), o2(0x8B,0xF0), - o2(0x88,0xA4), o2(0x8A,0xB4), o2(0xFA,0xC1), o2(0x9C,0xB9), - o2(0x9C,0xC1), o2(0x9C,0xC0), o2(0x9C,0xC5), o2(0xFA,0xC5), - o2(0x9C,0xC6), o2(0xFA,0xC4), o2(0x9C,0xC4), o2(0x9C,0xC7), - o2(0x9C,0xBF), o2(0x9C,0xC3), UNDEF, -}; -static const BYTE_LOOKUP -to_SHIFT_JIS_E6_84 = { - to_SHIFT_JIS_E6_84_offsets, - to_SHIFT_JIS_E6_84_infos -}; - -static const unsigned char -to_SHIFT_JIS_E6_85_offsets[64] = { - /* used from to_SHIFT_JIS_E6_85 */ - /* used from to_EUC_JP_E6_85 */ - 32, 32, 0, 32, 1, 32, 32, 2, 3, 32, 4, 5, 6, 7, 8, 32, - 32, 32, 32, 9, 32, 10, 32, 32, 11, 12, 13, 32, 32, 14, 32, 15, - 32, 32, 16, 17, 32, 18, 32, 19, 20, 32, 32, 21, 32, 32, 22, 23, - 24, 25, 32, 26, 27, 28, 29, 30, 32, 32, 32, 32, 32, 32, 31, 32, -}; -static const struct byte_lookup* const -to_SHIFT_JIS_E6_85_infos[33] = { - o2(0x9C,0xC8), o2(0x9C,0xC9), o2(0x9C,0xBE), o2(0x8E,0x9C), - o2(0x9C,0xC2), o2(0x91,0xD4), o2(0x8D,0x51), o2(0x9C,0xB0), - o2(0x90,0x54), o2(0x9C,0xD6), o2(0x95,0xE7), o2(0x9C,0xCC), - o2(0x9C,0xCD), o2(0x9C,0xCE), o2(0x9C,0xD5), o2(0x9C,0xD4), - o2(0x96,0x9D), o2(0x8A,0xB5), o2(0x9C,0xD2), o2(0x8C,0x64), - o2(0x8A,0x53), o2(0x9C,0xCF), o2(0x97,0xB6), o2(0x9C,0xD1), - o2(0x88,0xD4), o2(0x9C,0xD3), o2(0x9C,0xCA), o2(0x9C,0xD0), - o2(0x9C,0xD7), o2(0x8C,0x63), o2(0x9C,0xCB), o2(0x97,0x7C), - UNDEF, -}; -static const BYTE_LOOKUP -to_SHIFT_JIS_E6_85 = { - to_SHIFT_JIS_E6_85_offsets, - to_SHIFT_JIS_E6_85_infos -}; - -static const unsigned char -to_SHIFT_JIS_E6_86_offsets[64] = { - /* used from to_SHIFT_JIS_E6_86 */ - /* used from to_EUC_JP_E6_86 */ - 21, 21, 0, 21, 21, 21, 21, 1, 21, 21, 2, 21, 21, 21, 3, 21, - 4, 5, 21, 21, 6, 21, 7, 21, 8, 9, 10, 21, 21, 21, 21, 21, - 21, 21, 21, 21, 11, 21, 21, 12, 21, 13, 21, 14, 15, 21, 16, 21, - 21, 21, 17, 21, 21, 21, 18, 21, 21, 21, 19, 21, 21, 21, 20, 21, -}; -static const struct byte_lookup* const -to_SHIFT_JIS_E6_86_infos[22] = { - o2(0x97,0x4A), o2(0x9C,0xDA), o2(0x9C,0xDE), o2(0x91,0x9E), - o2(0x97,0xF7), o2(0x9C,0xDF), o2(0x9C,0xDC), o2(0x9C,0xD9), - o2(0xFA,0xC6), o2(0x9C,0xD8), o2(0x9C,0xDD), o2(0x95,0xAE), - o2(0x93,0xB2), o2(0x8C,0x65), o2(0x9C,0xE0), o2(0x9C,0xDB), - o2(0x9C,0xE1), o2(0x8C,0x9B), o2(0x89,0xAF), o2(0x9C,0xE9), - o2(0x8A,0xB6), UNDEF, -}; -static const BYTE_LOOKUP -to_SHIFT_JIS_E6_86 = { - to_SHIFT_JIS_E6_86_offsets, - to_SHIFT_JIS_E6_86_infos -}; - -static const unsigned char -to_SHIFT_JIS_E6_87_offsets[64] = { - /* used from to_SHIFT_JIS_E6_87 */ - /* used from to_EUC_JP_E6_87 */ - 22, 22, 22, 0, 22, 22, 1, 2, 3, 4, 5, 6, 7, 8, 22, 22, - 9, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, - 22, 22, 22, 10, 22, 22, 11, 22, 22, 22, 22, 22, 22, 22, 22, 22, - 22, 22, 12, 22, 13, 22, 14, 15, 16, 22, 17, 22, 18, 19, 20, 21, -}; -static const struct byte_lookup* const -to_SHIFT_JIS_E6_87_infos[23] = { - o2(0x9C,0xE7), o2(0x9C,0xE8), o2(0x8D,0xA7), o2(0x9C,0xE6), - o2(0x9C,0xE4), o2(0x9C,0xE3), o2(0x9C,0xEA), o2(0x9C,0xE2), - o2(0x9C,0xEC), o2(0x89,0xF9), o2(0x9C,0xEE), o2(0x9C,0xED), - o2(0x92,0xA6), o2(0x9C,0xF1), o2(0x9C,0xEF), o2(0x9C,0xE5), - o2(0x8C,0x9C), o2(0x9C,0xF0), o2(0x9C,0xF4), o2(0x9C,0xF3), - o2(0x9C,0xF5), o2(0x9C,0xF2), UNDEF, -}; -static const BYTE_LOOKUP -to_SHIFT_JIS_E6_87 = { - to_SHIFT_JIS_E6_87_offsets, - to_SHIFT_JIS_E6_87_infos -}; - -static const unsigned char -to_SHIFT_JIS_E6_88_offsets[64] = { - /* used from to_SHIFT_JIS_E6_88 */ - /* used from to_EUC_JP_E6_88 */ - 0, 30, 30, 30, 30, 30, 30, 30, 1, 2, 3, 30, 4, 5, 6, 30, - 7, 8, 9, 10, 11, 30, 12, 30, 30, 30, 13, 14, 30, 15, 16, 17, - 30, 18, 30, 30, 30, 30, 19, 30, 30, 30, 20, 30, 30, 30, 21, 22, - 23, 30, 24, 25, 26, 30, 30, 30, 27, 30, 30, 28, 30, 30, 30, 29, -}; -static const struct byte_lookup* const -to_SHIFT_JIS_E6_88_infos[31] = { - o2(0x9C,0xF6), o2(0x9C,0xF7), o2(0x9C,0xF8), o2(0x95,0xE8), - o2(0x9C,0xFA), o2(0x9C,0xF9), o2(0x8F,0x5E), o2(0x90,0xAC), - o2(0x89,0xE4), o2(0x89,0xFA), o2(0xFA,0xC7), o2(0x9C,0xFB), - o2(0x88,0xBD), o2(0x90,0xCA), o2(0x9C,0xFC), o2(0xE6,0xC1), - o2(0x9D,0x40), o2(0x8C,0x81), o2(0x9D,0x41), o2(0x90,0xED), - o2(0x9D,0x42), o2(0x9D,0x43), o2(0x8B,0x59), o2(0x9D,0x44), - o2(0x9D,0x45), o2(0x9D,0x46), o2(0x91,0xD5), o2(0x8C,0xCB), - o2(0x96,0xDF), o2(0x96,0x5B), UNDEF, -}; -static const BYTE_LOOKUP -to_SHIFT_JIS_E6_88 = { - to_SHIFT_JIS_E6_88_offsets, - to_SHIFT_JIS_E6_88_infos -}; - -static const unsigned char -to_SHIFT_JIS_E6_89_offsets[64] = { - /* used from to_SHIFT_JIS_E6_89 */ - /* used from to_EUC_JP_E6_89 */ - 0, 1, 23, 23, 23, 23, 23, 2, 3, 4, 23, 5, 23, 6, 7, 23, - 23, 23, 23, 8, 23, 9, 23, 23, 10, 23, 23, 11, 23, 23, 12, 23, - 13, 23, 23, 14, 23, 23, 23, 23, 15, 23, 23, 23, 23, 23, 16, 23, - 23, 17, 23, 23, 23, 23, 18, 23, 23, 19, 23, 23, 20, 23, 21, 22, -}; -static const struct byte_lookup* const -to_SHIFT_JIS_E6_89_infos[24] = { - o2(0x8F,0x8A), o2(0x9D,0x47), o2(0x90,0xEE), o2(0xE7,0xBB), - o2(0x94,0xE0), o2(0x8E,0xE8), o2(0x8D,0xCB), o2(0x9D,0x48), - o2(0x91,0xC5), o2(0x95,0xA5), o2(0x91,0xEF), o2(0x9D,0x4B), - o2(0x9D,0x49), o2(0x9D,0x4C), o2(0x9D,0x4A), o2(0x9D,0x4D), - o2(0x95,0xAF), o2(0x88,0xB5), o2(0x95,0x7D), o2(0x94,0xE1), - o2(0x9D,0x4E), o2(0x9D,0x51), o2(0x8F,0xB3), UNDEF, -}; -static const BYTE_LOOKUP -to_SHIFT_JIS_E6_89 = { - to_SHIFT_JIS_E6_89_offsets, - to_SHIFT_JIS_E6_89_infos -}; - -static const unsigned char -to_SHIFT_JIS_E6_8A_offsets[64] = { - /* used from to_SHIFT_JIS_E6_8A */ - /* used from to_EUC_JP_E6_8A */ - 0, 26, 1, 2, 3, 26, 26, 26, 26, 4, 5, 26, 26, 26, 26, 26, - 26, 6, 7, 8, 9, 10, 11, 12, 13, 26, 26, 14, 15, 26, 16, 26, - 26, 26, 26, 26, 26, 26, 17, 26, 26, 26, 26, 18, 19, 26, 26, 26, - 26, 20, 26, 26, 26, 21, 26, 26, 26, 22, 26, 23, 24, 25, 26, 26, -}; -static const struct byte_lookup* const -to_SHIFT_JIS_E6_8A_infos[27] = { - o2(0x8B,0x5A), o2(0x9D,0x4F), o2(0x9D,0x56), o2(0x8F,0xB4), - o2(0x9D,0x50), o2(0x94,0x63), o2(0x97,0x7D), o2(0x9D,0x52), - o2(0x9D,0x53), o2(0x9D,0x57), o2(0x93,0x8A), o2(0x9D,0x54), - o2(0x8D,0x52), o2(0x90,0xDC), o2(0x9D,0x65), o2(0x94,0xB2), - o2(0x91,0xF0), o2(0xFA,0xC8), o2(0x94,0xE2), o2(0x9D,0xAB), - o2(0x95,0xF8), o2(0x92,0xEF), o2(0x96,0x95), o2(0x9D,0x5A), - o2(0x89,0x9F), o2(0x92,0x8A), UNDEF, -}; -static const BYTE_LOOKUP -to_SHIFT_JIS_E6_8A = { - to_SHIFT_JIS_E6_8A_offsets, - to_SHIFT_JIS_E6_8A_infos -}; - -static const unsigned char -to_SHIFT_JIS_E6_8B_offsets[64] = { - /* used from to_SHIFT_JIS_E6_8B */ - /* used from to_EUC_JP_E6_8B */ - 34, 34, 0, 34, 34, 1, 2, 3, 4, 5, 6, 34, 7, 8, 34, 9, - 10, 11, 12, 13, 14, 34, 34, 15, 16, 17, 34, 18, 19, 20, 34, 34, - 21, 22, 34, 34, 34, 34, 34, 34, 34, 34, 34, 34, 23, 24, 25, 26, - 34, 27, 34, 28, 34, 29, 30, 31, 34, 34, 34, 34, 34, 34, 32, 33, -}; -static const struct byte_lookup* const -to_SHIFT_JIS_E6_8B_infos[35] = { - o2(0x9D,0x63), o2(0x92,0x53), o2(0x9D,0x5D), o2(0x9D,0x64), - o2(0x9D,0x5F), o2(0x9D,0x66), o2(0x9D,0x62), o2(0x9D,0x61), - o2(0x94,0x8F), o2(0x9D,0x5B), o2(0x89,0xFB), o2(0x9D,0x59), - o2(0x8B,0x91), o2(0x91,0xF1), o2(0x9D,0x55), o2(0x9D,0x58), - o2(0x8D,0x53), o2(0x90,0xD9), o2(0x8F,0xB5), o2(0x9D,0x60), - o2(0x94,0x71), o2(0x8B,0x92), o2(0x8A,0x67), o2(0x8A,0x87), - o2(0x90,0x40), o2(0x9D,0x68), o2(0x9D,0x6D), o2(0x9D,0x69), - o2(0x8C,0x9D), o2(0x9D,0x6E), o2(0x8E,0x41), o2(0x8D,0x89), - o2(0x8F,0x45), o2(0x9D,0x5C), UNDEF, -}; -static const BYTE_LOOKUP -to_SHIFT_JIS_E6_8B = { - to_SHIFT_JIS_E6_8B_offsets, - to_SHIFT_JIS_E6_8B_infos -}; - -static const unsigned char -to_SHIFT_JIS_E6_8C_offsets[64] = { - /* used from to_SHIFT_JIS_E6_8C */ - /* used from to_EUC_JP_E6_8C */ - 17, 0, 1, 17, 17, 17, 17, 2, 3, 4, 17, 17, 5, 17, 17, 17, - 17, 6, 17, 17, 17, 17, 17, 17, 17, 7, 17, 17, 17, 17, 17, 8, - 17, 17, 17, 17, 17, 17, 17, 9, 10, 17, 17, 11, 17, 17, 17, 12, - 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 13, 17, 17, 14, 15, 16, -}; -static const struct byte_lookup* const -to_SHIFT_JIS_E6_8C_infos[18] = { - o2(0x8E,0x9D), o2(0x9D,0x6B), o2(0x8E,0x77), o2(0x9D,0x6C), - o2(0x88,0xC2), o2(0x9D,0x67), o2(0x92,0xA7), o2(0x8B,0x93), - o2(0x8B,0xB2), o2(0x9D,0x6A), o2(0x88,0xA5), o2(0x8D,0xC1), - o2(0x90,0x55), o2(0x92,0xF0), o2(0x94,0xD2), o2(0x9D,0x70), - o2(0x91,0x7D), UNDEF, -}; -static const BYTE_LOOKUP -to_SHIFT_JIS_E6_8C = { - to_SHIFT_JIS_E6_8C_offsets, - to_SHIFT_JIS_E6_8C_infos -}; - -static const unsigned char -to_SHIFT_JIS_E6_8D_offsets[64] = { - /* used from to_SHIFT_JIS_E6_8D */ - /* used from to_EUC_JP_E6_8D */ - 18, 18, 18, 18, 18, 18, 18, 18, 18, 0, 18, 18, 1, 2, 18, 3, - 4, 18, 18, 18, 18, 5, 18, 6, 18, 18, 18, 18, 7, 18, 18, 18, - 18, 18, 18, 18, 18, 18, 18, 8, 9, 10, 18, 11, 18, 18, 12, 18, - 18, 18, 13, 18, 18, 18, 14, 15, 18, 18, 16, 17, 18, 18, 18, 18, -}; -static const struct byte_lookup* const -to_SHIFT_JIS_E6_8D_infos[19] = { - o2(0x91,0xA8), o2(0x8E,0x4A), o2(0x9D,0x71), o2(0x9D,0x73), - o2(0x9D,0x6F), o2(0x95,0xDF), o2(0x92,0xBB), o2(0x91,0x7B), - o2(0x95,0xF9), o2(0x8E,0xCC), o2(0x9D,0x80), o2(0x9D,0x7E), - o2(0x90,0x98), o2(0x8C,0x9E), o2(0x9D,0x78), o2(0x8F,0xB7), - o2(0x93,0xE6), o2(0x94,0x50), UNDEF, -}; -static const BYTE_LOOKUP -to_SHIFT_JIS_E6_8D = { - to_SHIFT_JIS_E6_8D_offsets, - to_SHIFT_JIS_E6_8D_infos -}; - -static const unsigned char -to_SHIFT_JIS_E6_8E_offsets[64] = { - /* used from to_SHIFT_JIS_E6_8E */ - /* used from to_EUC_JP_E6_8E */ - 0, 28, 28, 1, 28, 28, 28, 28, 2, 3, 28, 28, 4, 28, 5, 6, - 28, 28, 7, 28, 28, 28, 8, 28, 9, 28, 28, 10, 28, 28, 28, 11, - 12, 13, 14, 15, 28, 16, 28, 17, 18, 19, 20, 21, 22, 28, 28, 28, - 28, 28, 23, 28, 24, 25, 28, 28, 28, 28, 28, 26, 28, 28, 27, 28, -}; -static const struct byte_lookup* const -to_SHIFT_JIS_E6_8E_infos[29] = { - o2(0x9D,0x76), o2(0x91,0x7C), o2(0x8E,0xF6), o2(0x9D,0x7B), - o2(0x8F,0xB6), o2(0x9D,0x75), o2(0x9D,0x7A), o2(0x94,0x72), - o2(0x9D,0x74), o2(0x8C,0x40), o2(0x8A,0x7C), o2(0x9D,0x7C), - o2(0x97,0xA9), o2(0x8D,0xCC), o2(0x92,0x54), o2(0x9D,0x79), - o2(0x90,0xDA), o2(0x8D,0x54), o2(0x90,0x84), o2(0x89,0x86), - o2(0x91,0x5B), o2(0x9D,0x77), o2(0x8B,0x64), o2(0x8C,0x66), - o2(0x92,0xCD), o2(0x9D,0x7D), o2(0x91,0x7E), o2(0x9D,0x81), - UNDEF, -}; -static const BYTE_LOOKUP -to_SHIFT_JIS_E6_8E = { - to_SHIFT_JIS_E6_8E_offsets, - to_SHIFT_JIS_E6_8E_infos -}; - -static const unsigned char -to_SHIFT_JIS_E6_8F_offsets[64] = { - /* used from to_SHIFT_JIS_E6_8F */ - /* used from to_EUC_JP_E6_8F */ - 0, 19, 19, 1, 2, 19, 3, 19, 19, 4, 19, 19, 19, 19, 19, 5, - 6, 19, 7, 19, 19, 19, 8, 19, 19, 19, 9, 10, 19, 19, 19, 19, - 19, 11, 19, 12, 19, 19, 19, 19, 19, 13, 19, 19, 19, 19, 14, 19, - 19, 19, 19, 19, 15, 16, 17, 19, 19, 19, 18, 19, 19, 19, 19, 19, -}; -static const struct byte_lookup* const -to_SHIFT_JIS_E6_8F_infos[20] = { - o2(0x9D,0x83), o2(0x91,0xB5), o2(0x9D,0x89), o2(0x9D,0x84), - o2(0x9D,0x86), o2(0x95,0x60), o2(0x92,0xF1), o2(0x9D,0x87), - o2(0x97,0x4B), o2(0x97,0x67), o2(0x8A,0xB7), o2(0x88,0xAC), - o2(0x9D,0x85), o2(0x9D,0x82), o2(0x8A,0xF6), o2(0x89,0x87), - o2(0xFA,0xC9), o2(0x9D,0x88), o2(0x97,0x68), UNDEF, -}; -static const BYTE_LOOKUP -to_SHIFT_JIS_E6_8F = { - to_SHIFT_JIS_E6_8F_offsets, - to_SHIFT_JIS_E6_8F_infos -}; - -static const unsigned char -to_SHIFT_JIS_E6_90_offsets[64] = { - /* used from to_SHIFT_JIS_E6_90 */ - /* used from to_EUC_JP_E6_90 */ - 15, 15, 15, 15, 15, 15, 0, 15, 15, 15, 15, 15, 15, 1, 15, 2, - 15, 15, 15, 3, 15, 15, 4, 5, 15, 15, 15, 15, 6, 15, 15, 15, - 15, 15, 15, 15, 15, 15, 7, 15, 8, 15, 15, 15, 9, 10, 15, 15, - 15, 15, 15, 15, 11, 15, 12, 15, 15, 15, 13, 15, 15, 15, 14, 15, -}; -static const struct byte_lookup* const -to_SHIFT_JIS_E6_90_infos[16] = { - o2(0x9D,0x8C), o2(0x91,0xB9), o2(0x9D,0x93), o2(0x9D,0x8D), - o2(0x9D,0x8A), o2(0x9D,0x91), o2(0x9D,0x72), o2(0x9D,0x8E), - o2(0x9D,0x92), o2(0x94,0xC0), o2(0x93,0x8B), o2(0x9D,0x8B), - o2(0x9D,0x8F), o2(0x8C,0x67), o2(0x8D,0xEF), UNDEF, -}; -static const BYTE_LOOKUP -to_SHIFT_JIS_E6_90 = { - to_SHIFT_JIS_E6_90_offsets, - to_SHIFT_JIS_E6_90_infos -}; - -static const unsigned char -to_SHIFT_JIS_E6_91_offsets[64] = { - /* used from to_SHIFT_JIS_E6_91 */ - /* used from to_EUC_JP_E6_91 */ - 10, 10, 0, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 1, 10, - 10, 10, 10, 10, 10, 10, 10, 10, 2, 10, 10, 10, 10, 10, 10, 10, - 3, 10, 10, 10, 10, 10, 10, 4, 10, 5, 10, 10, 10, 10, 10, 6, - 10, 10, 10, 10, 10, 10, 7, 10, 8, 10, 9, 10, 10, 10, 10, 10, -}; -static const struct byte_lookup* const -to_SHIFT_JIS_E6_91_infos[11] = { - o2(0x90,0xDB), o2(0x9D,0x97), o2(0x93,0x45), o2(0xFA,0xCA), - o2(0x9D,0x94), o2(0x96,0x80), o2(0x9D,0x95), o2(0x9D,0x96), - o2(0x96,0xCC), o2(0x90,0xA0), UNDEF, -}; -static const BYTE_LOOKUP -to_SHIFT_JIS_E6_91 = { - to_SHIFT_JIS_E6_91_offsets, - to_SHIFT_JIS_E6_91_infos -}; - -static const unsigned char -to_SHIFT_JIS_E6_92_offsets[64] = { - /* used from to_SHIFT_JIS_E6_92 */ - /* used from to_EUC_JP_E6_92 */ - 19, 19, 19, 0, 19, 19, 19, 19, 1, 19, 19, 19, 19, 19, 19, 19, - 19, 19, 2, 3, 19, 4, 19, 19, 19, 19, 5, 19, 19, 6, 7, 19, - 19, 19, 19, 19, 8, 9, 19, 19, 19, 10, 19, 11, 19, 12, 13, 19, - 14, 19, 15, 19, 19, 19, 19, 19, 19, 16, 19, 17, 18, 19, 19, 19, -}; -static const struct byte_lookup* const -to_SHIFT_JIS_E6_92_infos[20] = { - o2(0x8C,0x82), o2(0x9D,0x9D), o2(0x8E,0x54), o2(0x9D,0x9A), - o2(0x9D,0x99), o2(0x94,0x51), o2(0xFA,0xCB), o2(0x93,0xB3), - o2(0x93,0x50), o2(0x9D,0x9B), o2(0x9D,0x9C), o2(0x95,0x8F), - o2(0x94,0x64), o2(0x8E,0x42), o2(0x90,0xEF), o2(0x96,0x6F), - o2(0x8A,0x68), o2(0x9D,0xA3), o2(0x9D,0x9E), UNDEF, -}; -static const BYTE_LOOKUP -to_SHIFT_JIS_E6_92 = { - to_SHIFT_JIS_E6_92_offsets, - to_SHIFT_JIS_E6_92_infos -}; - -static const unsigned char -to_SHIFT_JIS_E6_93_offsets[64] = { - /* used from to_SHIFT_JIS_E6_93 */ - /* used from to_EUC_JP_E6_93 */ - 25, 0, 1, 25, 25, 2, 25, 3, 25, 25, 25, 25, 25, 4, 5, 25, - 25, 25, 6, 25, 7, 25, 25, 25, 8, 25, 9, 25, 25, 25, 25, 25, - 10, 11, 12, 13, 25, 25, 14, 15, 25, 25, 25, 25, 16, 25, 25, 17, - 25, 18, 19, 25, 20, 25, 21, 25, 25, 25, 22, 25, 25, 23, 24, 25, -}; -static const struct byte_lookup* const -to_SHIFT_JIS_E6_93_infos[26] = { - o2(0x97,0x69), o2(0x9D,0xA5), o2(0x9D,0xA1), o2(0x9D,0xA2), - o2(0x91,0x80), o2(0xFA,0xCC), o2(0x9D,0xA0), o2(0x9D,0x5E), - o2(0x9D,0xA4), o2(0x9D,0x9F), o2(0x9D,0xA9), o2(0x9D,0xAA), - o2(0x93,0x46), o2(0x9D,0xAC), o2(0x8E,0x43), o2(0x9D,0xA7), - o2(0x8B,0x5B), o2(0x9D,0xAD), o2(0x9D,0xA6), o2(0x9D,0xB1), - o2(0x9D,0xB0), o2(0x9D,0xAF), o2(0x9D,0xB2), o2(0x9D,0xB4), - o2(0x8F,0xEF), UNDEF, -}; -static const BYTE_LOOKUP -to_SHIFT_JIS_E6_93 = { - to_SHIFT_JIS_E6_93_offsets, - to_SHIFT_JIS_E6_93_infos -}; - -static const unsigned char -to_SHIFT_JIS_E6_94_offsets[64] = { - /* used from to_SHIFT_JIS_E6_94 */ - /* used from to_EUC_JP_E6_94 */ - 0, 20, 20, 20, 20, 1, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, - 20, 20, 20, 20, 20, 20, 20, 20, 2, 20, 20, 20, 3, 4, 20, 20, - 20, 20, 20, 5, 6, 20, 20, 20, 20, 20, 7, 8, 9, 20, 20, 10, - 20, 20, 20, 20, 11, 12, 13, 14, 15, 16, 20, 17, 20, 20, 18, 19, -}; -static const struct byte_lookup* const -to_SHIFT_JIS_E6_94_infos[21] = { - o2(0x9D,0xB3), o2(0x9D,0xB7), o2(0x9D,0xB5), o2(0x9D,0xB6), - o2(0x9D,0x90), o2(0x9D,0xB9), o2(0x9D,0xB8), o2(0x9D,0x98), - o2(0x9D,0xBA), o2(0x9D,0xAE), o2(0x8E,0x78), o2(0x9D,0xBB), - o2(0x9D,0xBC), o2(0x9D,0xBE), o2(0x9D,0xBD), o2(0x9D,0xBF), - o2(0x89,0xFC), o2(0x8D,0x55), o2(0x95,0xFA), o2(0x90,0xAD), - UNDEF, -}; -static const BYTE_LOOKUP -to_SHIFT_JIS_E6_94 = { - to_SHIFT_JIS_E6_94_offsets, - to_SHIFT_JIS_E6_94_infos -}; - -static const unsigned char -to_SHIFT_JIS_E6_95_offsets[64] = { - /* used from to_SHIFT_JIS_E6_95 */ - /* used from to_EUC_JP_E6_95 */ - 23, 23, 23, 23, 23, 0, 23, 23, 1, 23, 23, 23, 23, 2, 3, 4, - 23, 5, 23, 23, 23, 6, 7, 8, 9, 10, 23, 23, 23, 11, 12, 23, - 23, 23, 13, 14, 23, 23, 15, 23, 23, 23, 23, 23, 16, 23, 23, 23, - 17, 23, 18, 23, 19, 20, 23, 21, 22, 23, 23, 23, 23, 23, 23, 23, -}; -static const struct byte_lookup* const -to_SHIFT_JIS_E6_95_infos[24] = { - o2(0x8C,0xCC), o2(0x9D,0xC1), o2(0x9D,0xC4), o2(0xFA,0xCD), - o2(0x95,0x71), o2(0x8B,0x7E), o2(0x9D,0xC3), o2(0x9D,0xC2), - o2(0x94,0x73), o2(0x9D,0xC5), o2(0x8B,0xB3), o2(0x9D,0xC7), - o2(0x9D,0xC6), o2(0x8A,0xB8), o2(0x8E,0x55), o2(0x93,0xD6), - o2(0x8C,0x68), o2(0x90,0x94), o2(0x9D,0xC8), o2(0x90,0xAE), - o2(0x93,0x47), o2(0x95,0x7E), o2(0x9D,0xC9), UNDEF, -}; -static const BYTE_LOOKUP -to_SHIFT_JIS_E6_95 = { - to_SHIFT_JIS_E6_95_offsets, - to_SHIFT_JIS_E6_95_infos -}; - -static const unsigned char -to_SHIFT_JIS_E6_96_offsets[64] = { - /* used from to_SHIFT_JIS_E6_96 */ - /* used from to_EUC_JP_E6_96 */ - 27, 27, 0, 1, 27, 27, 27, 2, 3, 4, 27, 27, 5, 27, 6, 27, - 7, 8, 27, 27, 27, 27, 27, 9, 27, 10, 27, 11, 12, 27, 27, 13, - 27, 14, 27, 27, 15, 16, 27, 17, 27, 27, 27, 18, 19, 20, 27, 21, - 22, 27, 27, 27, 27, 27, 27, 23, 27, 24, 27, 27, 25, 26, 27, 27, -}; -static const struct byte_lookup* const -to_SHIFT_JIS_E6_96_infos[28] = { - o2(0x9D,0xCA), o2(0x9D,0xCB), o2(0x95,0xB6), o2(0x9B,0x7C), - o2(0x90,0xC4), o2(0x95,0x6B), o2(0x8D,0xD6), o2(0x94,0xE3), - o2(0x94,0xC1), o2(0x93,0x6C), o2(0x97,0xBF), o2(0x9D,0xCD), - o2(0x8E,0xCE), o2(0x9D,0xCE), o2(0x88,0xB4), o2(0x8B,0xD2), - o2(0x90,0xCB), o2(0x95,0x80), o2(0x9D,0xCF), o2(0x8E,0x61), - o2(0x92,0x66), o2(0x8E,0x7A), o2(0x90,0x56), o2(0x9D,0xD0), - o2(0x95,0xFB), o2(0x89,0x97), o2(0x8E,0x7B), UNDEF, -}; -static const BYTE_LOOKUP -to_SHIFT_JIS_E6_96 = { - to_SHIFT_JIS_E6_96_offsets, - to_SHIFT_JIS_E6_96_infos -}; - -static const unsigned char -to_SHIFT_JIS_E6_97_offsets[64] = { - /* used from to_SHIFT_JIS_E6_97 */ - /* used from to_EUC_JP_E6_97 */ - 25, 0, 25, 1, 2, 3, 4, 25, 25, 25, 25, 5, 6, 25, 25, 7, - 25, 25, 8, 25, 25, 25, 25, 9, 25, 10, 25, 11, 25, 25, 25, 25, - 12, 13, 14, 25, 25, 15, 16, 17, 18, 19, 25, 25, 20, 21, 25, 25, - 25, 22, 25, 25, 25, 25, 25, 25, 25, 25, 23, 24, 25, 25, 25, 25, -}; -static const struct byte_lookup* const -to_SHIFT_JIS_E6_97_infos[26] = { - o2(0x9D,0xD3), o2(0x9D,0xD1), o2(0x9D,0xD4), o2(0x97,0xB7), - o2(0x9D,0xD2), o2(0x90,0xF9), o2(0x9D,0xD5), o2(0x91,0xB0), - o2(0x9D,0xD6), o2(0x8A,0xF8), o2(0x9D,0xD8), o2(0x9D,0xD7), - o2(0x9D,0xD9), o2(0x9D,0xDA), o2(0x8A,0xF9), o2(0x93,0xFA), - o2(0x92,0x55), o2(0x8B,0x8C), o2(0x8E,0x7C), o2(0x91,0x81), - o2(0x8F,0x7B), o2(0x88,0xAE), o2(0x9D,0xDB), o2(0x89,0xA0), - o2(0x9D,0xDF), UNDEF, -}; -static const BYTE_LOOKUP -to_SHIFT_JIS_E6_97 = { - to_SHIFT_JIS_E6_97_offsets, - to_SHIFT_JIS_E6_97_infos -}; - -static const unsigned char -to_SHIFT_JIS_E6_98_offsets[64] = { - /* used from to_SHIFT_JIS_E6_98 */ - /* used from to_EUC_JP_E6_98 */ - 0, 31, 1, 2, 31, 31, 3, 4, 31, 5, 6, 31, 7, 31, 8, 9, - 31, 31, 31, 10, 11, 12, 31, 31, 31, 31, 31, 31, 13, 31, 14, 15, - 16, 31, 31, 31, 17, 18, 31, 19, 20, 31, 31, 31, 31, 21, 22, 23, - 31, 24, 31, 31, 25, 26, 27, 31, 31, 31, 31, 28, 29, 31, 31, 30, -}; -static const struct byte_lookup* const -to_SHIFT_JIS_E6_98_infos[32] = { - o2(0xFA,0xCE), o2(0x8D,0x56), o2(0x9D,0xDE), o2(0x8D,0xA9), - o2(0x8F,0xB8), o2(0xFA,0xD1), o2(0x9D,0xDD), o2(0x8F,0xB9), - o2(0x96,0xBE), o2(0x8D,0xA8), o2(0x88,0xD5), o2(0x90,0xCC), - o2(0xFA,0xCF), o2(0x9D,0xE4), o2(0xFA,0xD3), o2(0x90,0xAF), - o2(0x89,0x66), o2(0xFA,0xD4), o2(0x8F,0x74), o2(0x96,0x86), - o2(0x8D,0xF0), o2(0x8F,0xBA), o2(0xFA,0xD2), o2(0x90,0xA5), - o2(0xFA,0x63), o2(0x9D,0xE3), o2(0x9D,0xE1), o2(0x9D,0xE2), - o2(0xFA,0xD0), o2(0x92,0x8B), o2(0x9E,0x45), UNDEF, -}; -static const BYTE_LOOKUP -to_SHIFT_JIS_E6_98 = { - to_SHIFT_JIS_E6_98_offsets, - to_SHIFT_JIS_E6_98_infos -}; - -static const unsigned char -to_SHIFT_JIS_E6_99_offsets[64] = { - /* used from to_SHIFT_JIS_E6_99 */ - /* used from to_EUC_JP_E6_99 */ - 27, 0, 1, 2, 3, 27, 27, 27, 27, 4, 27, 5, 27, 27, 27, 6, - 27, 27, 7, 27, 27, 27, 27, 8, 27, 9, 27, 27, 27, 10, 11, 12, - 27, 27, 13, 27, 14, 15, 16, 17, 18, 19, 27, 27, 27, 27, 20, 21, - 22, 27, 27, 23, 24, 27, 25, 27, 27, 27, 26, 27, 27, 27, 27, 27, -}; -static const struct byte_lookup* const -to_SHIFT_JIS_E6_99_infos[28] = { - o2(0x9D,0xE8), o2(0x8E,0x9E), o2(0x8D,0x57), o2(0x9D,0xE6), - o2(0x9D,0xE7), o2(0x90,0x57), o2(0x9D,0xE5), o2(0x8E,0x4E), - o2(0xFA,0xD6), o2(0xFA,0xD7), o2(0x9D,0xEA), o2(0x9D,0xE9), - o2(0x9D,0xEE), o2(0x9D,0xEF), o2(0x9D,0xEB), o2(0xFA,0xD5), - o2(0x8A,0x41), o2(0x9D,0xEC), o2(0x9D,0xED), o2(0x94,0xD3), - o2(0x95,0x81), o2(0x8C,0x69), o2(0x9D,0xF0), o2(0xFA,0xD9), - o2(0x90,0xB0), o2(0x8F,0xBB), o2(0x92,0x71), UNDEF, -}; -static const BYTE_LOOKUP -to_SHIFT_JIS_E6_99 = { - to_SHIFT_JIS_E6_99_offsets, - to_SHIFT_JIS_E6_99_infos -}; - -static const unsigned char -to_SHIFT_JIS_E6_9A_offsets[64] = { - /* used from to_SHIFT_JIS_E6_9A */ - /* used from to_EUC_JP_E6_9A */ - 25, 0, 25, 1, 2, 25, 25, 3, 4, 5, 25, 25, 25, 25, 6, 25, - 25, 7, 25, 25, 25, 25, 8, 9, 10, 11, 25, 25, 25, 12, 25, 25, - 13, 25, 14, 25, 25, 25, 15, 25, 25, 25, 25, 16, 25, 25, 17, 25, - 25, 25, 18, 25, 19, 25, 25, 25, 20, 21, 25, 25, 22, 25, 23, 24, -}; -static const struct byte_lookup* const -to_SHIFT_JIS_E6_9A_infos[26] = { - o2(0x8B,0xC5), o2(0x9D,0xF1), o2(0x9D,0xF5), o2(0x89,0xC9), - o2(0x9D,0xF2), o2(0x9D,0xF4), o2(0x9D,0xF3), o2(0x8F,0x8B), - o2(0x92,0x67), o2(0x88,0xC3), o2(0x9D,0xF6), o2(0xFA,0xDA), - o2(0x9D,0xF7), o2(0xFA,0xDB), o2(0x92,0xA8), o2(0x97,0xEF), - o2(0x8E,0x62), o2(0x95,0xE9), o2(0xFA,0xDC), o2(0x96,0x5C), - o2(0x9E,0x41), o2(0x9D,0xF9), o2(0x9D,0xFC), o2(0x9D,0xFB), - o2(0xFA,0xDD), UNDEF, -}; -static const BYTE_LOOKUP -to_SHIFT_JIS_E6_9A = { - to_SHIFT_JIS_E6_9A_offsets, - to_SHIFT_JIS_E6_9A_infos -}; - -static const unsigned char -to_SHIFT_JIS_E6_9B_offsets[64] = { - /* used from to_SHIFT_JIS_E6_9B */ - /* used from to_EUC_JP_E6_9B */ - 26, 0, 26, 26, 1, 26, 26, 2, 26, 3, 26, 26, 26, 26, 26, 26, - 26, 26, 26, 26, 26, 26, 4, 26, 26, 5, 6, 26, 7, 8, 26, 26, - 9, 26, 26, 26, 26, 26, 10, 26, 26, 11, 26, 26, 26, 26, 26, 26, - 12, 26, 13, 14, 15, 16, 26, 17, 18, 19, 20, 21, 22, 23, 24, 25, -}; -static const struct byte_lookup* const -to_SHIFT_JIS_E6_9B_infos[27] = { - o2(0x9D,0xF8), o2(0x9E,0x40), o2(0x93,0xDC), o2(0x9D,0xFA), - o2(0x9E,0x42), o2(0x8F,0x8C), o2(0x9E,0x43), o2(0x97,0x6A), - o2(0x94,0x98), o2(0x9E,0x44), o2(0x9E,0x46), o2(0x9E,0x47), - o2(0x9E,0x48), o2(0x8B,0xC8), o2(0x89,0x67), o2(0x8D,0x58), - o2(0x9E,0x49), o2(0x9E,0x4A), o2(0x8F,0x91), o2(0x91,0x82), - o2(0xFA,0xDE), o2(0xFA,0x66), o2(0x99,0xD6), o2(0x91,0x5D), - o2(0x91,0x5C), o2(0x91,0xD6), UNDEF, -}; -static const BYTE_LOOKUP -to_SHIFT_JIS_E6_9B = { - to_SHIFT_JIS_E6_9B_offsets, - to_SHIFT_JIS_E6_9B_infos -}; - -static const unsigned char -to_SHIFT_JIS_E6_9C_offsets[64] = { - /* used from to_SHIFT_JIS_E6_9C */ - /* used from to_EUC_JP_E6_9C */ - 0, 32, 32, 1, 32, 32, 32, 32, 2, 3, 32, 4, 32, 5, 6, 7, - 32, 32, 32, 32, 8, 9, 10, 11, 32, 32, 32, 12, 32, 13, 14, 15, - 32, 32, 32, 32, 32, 32, 16, 17, 18, 32, 19, 20, 21, 22, 23, 32, - 32, 24, 32, 32, 25, 32, 26, 27, 28, 32, 29, 32, 32, 30, 32, 31, -}; -static const struct byte_lookup* const -to_SHIFT_JIS_E6_9C_infos[33] = { - o2(0x8D,0xC5), o2(0x98,0xF0), o2(0x8C,0x8E), o2(0x97,0x4C), - o2(0x95,0xFC), o2(0x95,0x9E), o2(0xFA,0xDF), o2(0x9E,0x4B), - o2(0x8D,0xF1), o2(0x92,0xBD), o2(0x9E,0x4C), o2(0x98,0x4E), - o2(0x96,0x5D), o2(0x92,0xA9), o2(0x9E,0x4D), o2(0x8A,0xFA), - o2(0x9E,0x4E), o2(0x9E,0x4F), o2(0x96,0xD8), o2(0x96,0xA2), - o2(0x96,0x96), o2(0x96,0x7B), o2(0x8E,0x44), o2(0x9E,0x51), - o2(0x8E,0xE9), o2(0x96,0x70), o2(0x9E,0x53), o2(0x9E,0x56), - o2(0x9E,0x55), o2(0x8A,0xF7), o2(0x8B,0x80), o2(0x9E,0x52), - UNDEF, -}; -static const BYTE_LOOKUP -to_SHIFT_JIS_E6_9C = { - to_SHIFT_JIS_E6_9C_offsets, - to_SHIFT_JIS_E6_9C_infos -}; - -static const unsigned char -to_SHIFT_JIS_E6_9D_offsets[64] = { - /* used from to_SHIFT_JIS_E6_9D */ - /* used from to_EUC_JP_E6_9D */ - 32, 0, 32, 32, 32, 32, 1, 32, 32, 2, 32, 32, 32, 32, 3, 4, - 5, 6, 32, 7, 32, 32, 8, 32, 32, 9, 32, 32, 10, 32, 11, 12, - 13, 14, 15, 16, 17, 18, 19, 32, 32, 32, 20, 32, 32, 21, 32, 22, - 23, 24, 25, 26, 32, 27, 32, 28, 32, 32, 32, 32, 29, 32, 30, 31, -}; -static const struct byte_lookup* const -to_SHIFT_JIS_E6_9D_infos[33] = { - o2(0x9E,0x54), o2(0x9E,0x57), o2(0x90,0x99), o2(0x97,0x9B), - o2(0x88,0xC7), o2(0x8D,0xDE), o2(0x91,0xBA), o2(0x8E,0xDB), - o2(0x8F,0xF1), o2(0x9E,0x5A), o2(0x93,0x6D), o2(0x9E,0x58), - o2(0x91,0xA9), o2(0x9E,0x59), o2(0x8F,0xF0), o2(0x96,0xDB), - o2(0x9E,0x5B), o2(0x9E,0x5C), o2(0x97,0x88), o2(0xFA,0xE1), - o2(0x9E,0x61), o2(0x8D,0x59), o2(0x94,0x74), o2(0x9E,0x5E), - o2(0x93,0x8C), o2(0x9D,0xDC), o2(0x9D,0xE0), o2(0x8B,0x6E), - o2(0x94,0x66), o2(0x9E,0x60), o2(0x8F,0xBC), o2(0x94,0xC2), - UNDEF, -}; -static const BYTE_LOOKUP -to_SHIFT_JIS_E6_9D = { - to_SHIFT_JIS_E6_9D_offsets, - to_SHIFT_JIS_E6_9D_infos -}; - -static const unsigned char -to_SHIFT_JIS_E6_9E_offsets[64] = { - /* used from to_SHIFT_JIS_E6_9E */ - /* used from to_EUC_JP_E6_9E */ - 24, 24, 24, 24, 24, 0, 24, 1, 24, 2, 24, 3, 4, 24, 24, 24, - 5, 24, 24, 24, 24, 6, 24, 7, 24, 24, 8, 24, 9, 10, 24, 24, - 11, 12, 13, 24, 24, 24, 14, 24, 24, 15, 24, 24, 24, 24, 24, 16, - 24, 24, 24, 17, 18, 24, 19, 20, 21, 22, 24, 23, 24, 24, 24, 24, -}; -static const struct byte_lookup* const -to_SHIFT_JIS_E6_9E_infos[25] = { - o2(0x9E,0x66), o2(0x94,0xF8), o2(0x9E,0x5D), o2(0x9E,0x63), - o2(0x9E,0x62), o2(0x90,0xCD), o2(0x96,0x8D), o2(0x97,0xD1), - o2(0x96,0x87), o2(0x89,0xCA), o2(0x8E,0x7D), o2(0x98,0x67), - o2(0x9E,0x65), o2(0x90,0x95), o2(0x9E,0x64), o2(0x9E,0x5F), - o2(0x8C,0xCD), o2(0x9E,0x6B), o2(0x9E,0x69), o2(0x89,0xCB), - o2(0x9E,0x67), o2(0x9E,0x6D), o2(0x9E,0x73), o2(0xFA,0xE2), - UNDEF, -}; -static const BYTE_LOOKUP -to_SHIFT_JIS_E6_9E = { - to_SHIFT_JIS_E6_9E_offsets, - to_SHIFT_JIS_E6_9E_infos -}; - -static const unsigned char -to_SHIFT_JIS_E6_9F_offsets[64] = { - /* used from to_SHIFT_JIS_E6_9F */ - /* used from to_EUC_JP_E6_9F */ - 0, 1, 29, 29, 2, 29, 3, 29, 29, 29, 4, 29, 29, 29, 5, 6, - 7, 8, 29, 9, 10, 29, 29, 29, 11, 29, 12, 29, 29, 13, 14, 29, - 29, 29, 15, 29, 16, 29, 29, 17, 29, 18, 29, 29, 19, 29, 20, 21, - 29, 22, 29, 23, 24, 25, 29, 29, 29, 29, 29, 26, 29, 29, 27, 28, -}; -static const struct byte_lookup* const -to_SHIFT_JIS_E6_9F_infos[30] = { - o2(0xFA,0xE4), o2(0x91,0xC6), o2(0x95,0xBF), o2(0x9E,0x75), - o2(0x95,0x41), o2(0x9E,0x74), o2(0x94,0x90), o2(0x96,0x5E), - o2(0x8A,0xB9), o2(0x90,0xF5), o2(0x8F,0x5F), o2(0x92,0xD1), - o2(0x97,0x4D), o2(0x9E,0x70), o2(0x9E,0x6F), o2(0x9E,0x71), - o2(0x9E,0x6E), o2(0x9E,0x76), o2(0x9E,0x6C), o2(0x9E,0x6A), - o2(0x9E,0x72), o2(0x9E,0x68), o2(0x92,0x8C), o2(0x96,0xF6), - o2(0x8E,0xC4), o2(0x8D,0xF2), o2(0x8D,0xB8), o2(0x96,0x8F), - o2(0x8A,0x60), UNDEF, -}; -static const BYTE_LOOKUP -to_SHIFT_JIS_E6_9F = { - to_SHIFT_JIS_E6_9F_offsets, - to_SHIFT_JIS_E6_9F_infos -}; - -static const unsigned char -to_SHIFT_JIS_E6_A0_offsets[64] = { - /* used from to_SHIFT_JIS_E6_A0 */ - /* used from to_EUC_JP_E6_A0 */ - 19, 0, 1, 2, 3, 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, - 19, 19, 19, 4, 19, 19, 5, 6, 19, 19, 19, 19, 19, 19, 7, 19, - 19, 8, 9, 19, 19, 19, 19, 19, 19, 10, 11, 12, 19, 19, 19, 19, - 19, 19, 13, 19, 14, 19, 19, 19, 15, 16, 19, 19, 17, 18, 19, 19, -}; -static const struct byte_lookup* const -to_SHIFT_JIS_E6_A0_infos[20] = { - o2(0xFA,0xE5), o2(0x92,0xCC), o2(0x93,0xC8), o2(0x89,0x68), - o2(0x90,0xF0), o2(0x90,0xB2), o2(0x8C,0x49), o2(0x9E,0x78), - o2(0x8D,0x5A), o2(0x8A,0x9C), o2(0x9E,0x7A), o2(0x8A,0x94), - o2(0x9E,0x81), o2(0x9E,0x7D), o2(0x90,0xF1), o2(0x8A,0x6A), - o2(0x8D,0xAA), o2(0x8A,0x69), o2(0x8D,0xCD), UNDEF, -}; -static const BYTE_LOOKUP -to_SHIFT_JIS_E6_A0 = { - to_SHIFT_JIS_E6_A0_offsets, - to_SHIFT_JIS_E6_A0_infos -}; - -static const unsigned char -to_SHIFT_JIS_E6_A1_offsets[64] = { - /* used from to_SHIFT_JIS_E6_A1 */ - /* used from to_EUC_JP_E6_A1 */ - 0, 1, 2, 3, 4, 25, 5, 25, 6, 25, 25, 25, 25, 7, 8, 25, - 9, 10, 11, 12, 13, 25, 25, 25, 25, 14, 25, 25, 15, 16, 25, 17, - 25, 25, 25, 18, 25, 25, 25, 19, 25, 25, 25, 25, 25, 25, 25, 25, - 25, 25, 25, 25, 20, 25, 21, 22, 25, 25, 25, 25, 25, 25, 23, 24, -}; -static const struct byte_lookup* const -to_SHIFT_JIS_E6_A1_infos[26] = { - o2(0x9E,0x7B), o2(0x8C,0x85), o2(0x8C,0x6A), o2(0x93,0x8D), - o2(0xFA,0xE6), o2(0x9E,0x79), o2(0x88,0xC4), o2(0x9E,0x7C), - o2(0x9E,0x7E), o2(0x8B,0xCB), o2(0x8C,0x4B), o2(0xFA,0xE3), - o2(0x8A,0xBA), o2(0x8B,0x6A), o2(0x9E,0x82), o2(0x8D,0xF7), - o2(0x96,0x91), o2(0x8E,0x56), o2(0x9E,0x83), o2(0x95,0x4F), - o2(0x9E,0x8F), o2(0x89,0xB1), o2(0x9E,0x84), o2(0x9E,0x95), - o2(0x9E,0x85), UNDEF, -}; -static const BYTE_LOOKUP -to_SHIFT_JIS_E6_A1 = { - to_SHIFT_JIS_E6_A1_offsets, - to_SHIFT_JIS_E6_A1_infos -}; - -static const unsigned char -to_SHIFT_JIS_E6_A2_offsets[64] = { - /* used from to_SHIFT_JIS_E6_A2 */ - /* used from to_EUC_JP_E6_A2 */ - 26, 0, 26, 1, 26, 2, 26, 26, 26, 26, 26, 26, 26, 3, 26, 4, - 26, 26, 26, 5, 6, 26, 26, 7, 26, 26, 26, 8, 26, 9, 26, 10, - 11, 26, 12, 26, 26, 26, 13, 14, 15, 26, 26, 26, 26, 16, 26, 17, - 18, 19, 26, 20, 26, 21, 22, 26, 26, 23, 24, 26, 25, 26, 26, 26, -}; -static const struct byte_lookup* const -to_SHIFT_JIS_E6_A2_infos[27] = { - o2(0x97,0xC0), o2(0x9E,0x8C), o2(0x94,0x7E), o2(0x9E,0x94), - o2(0x9E,0x87), o2(0x88,0xB2), o2(0x9E,0x89), o2(0x8D,0x5B), - o2(0x9E,0x8B), o2(0x9E,0x8A), o2(0x9E,0x86), o2(0x9E,0x91), - o2(0x8F,0xBD), o2(0x9A,0xEB), o2(0x8C,0xE6), o2(0x97,0x9C), - o2(0x9E,0x88), o2(0x92,0xF2), o2(0x8A,0x42), o2(0x8D,0xAB), - o2(0x9E,0x80), o2(0x9E,0x90), o2(0x8A,0x81), o2(0x9E,0x8E), - o2(0x9E,0x92), o2(0x93,0x8E), UNDEF, -}; -static const BYTE_LOOKUP -to_SHIFT_JIS_E6_A2 = { - to_SHIFT_JIS_E6_A2_offsets, - to_SHIFT_JIS_E6_A2_infos -}; - -static const unsigned char -to_SHIFT_JIS_E6_A3_offsets[64] = { - /* used from to_SHIFT_JIS_E6_A3 */ - /* used from to_EUC_JP_E6_A3 */ - 24, 24, 24, 24, 0, 24, 1, 24, 2, 3, 4, 5, 24, 6, 24, 7, - 24, 24, 8, 24, 9, 10, 24, 11, 12, 24, 13, 24, 24, 24, 24, 14, - 15, 16, 24, 17, 24, 24, 24, 18, 24, 24, 24, 24, 24, 24, 19, 20, - 24, 24, 21, 24, 24, 24, 24, 24, 24, 22, 23, 24, 24, 24, 24, 24, -}; -static const struct byte_lookup* const -to_SHIFT_JIS_E6_A3_infos[25] = { - o2(0x8A,0xFC), o2(0x9E,0xB0), o2(0xFA,0x64), o2(0x96,0xC7), - o2(0x9E,0x97), o2(0x8A,0xFB), o2(0x9E,0x9E), o2(0xFA,0xE7), - o2(0x96,0x5F), o2(0x9E,0x9F), o2(0x9E,0xA1), o2(0x9E,0xA5), - o2(0x9E,0x99), o2(0x92,0x49), o2(0x93,0x8F), o2(0x9E,0xA9), - o2(0x9E,0x9C), o2(0x9E,0xA6), o2(0x9E,0xA0), o2(0x90,0x58), - o2(0x9E,0xAA), o2(0x90,0xB1), o2(0x9E,0xA8), o2(0x8A,0xBB), - UNDEF, -}; -static const BYTE_LOOKUP -to_SHIFT_JIS_E6_A3 = { - to_SHIFT_JIS_E6_A3_offsets, - to_SHIFT_JIS_E6_A3_infos -}; - -static const unsigned char -to_SHIFT_JIS_E6_A4_offsets[64] = { - /* used from to_SHIFT_JIS_E6_A4 */ - /* used from to_EUC_JP_E6_A4 */ - 0, 1, 28, 28, 2, 3, 28, 28, 4, 28, 28, 5, 6, 7, 8, 9, - 28, 28, 10, 28, 28, 28, 28, 28, 28, 11, 12, 13, 14, 28, 28, 28, - 28, 15, 16, 17, 28, 18, 19, 28, 20, 28, 21, 28, 28, 28, 28, 28, - 22, 28, 28, 28, 23, 28, 24, 28, 28, 25, 28, 28, 28, 26, 28, 27, -}; -static const struct byte_lookup* const -to_SHIFT_JIS_E6_A4_infos[29] = { - o2(0x98,0x6F), o2(0x9E,0x96), o2(0x9E,0xA4), o2(0x88,0xD6), - o2(0x9E,0x98), o2(0x96,0xB8), o2(0x9E,0x9D), o2(0x90,0x41), - o2(0x92,0xC5), o2(0x9E,0x93), o2(0x9E,0xA3), o2(0x90,0x9A), - o2(0x9E,0xAD), o2(0x8A,0x91), o2(0x8C,0x9F), o2(0x9E,0xAF), - o2(0x9E,0x9A), o2(0x9E,0xAE), o2(0x9E,0xA7), o2(0x9E,0x9B), - o2(0x9E,0xAB), o2(0x9E,0xAC), o2(0x9E,0xBD), o2(0x93,0xCC), - o2(0x9E,0xA2), o2(0x9E,0xB9), o2(0x9E,0xBB), o2(0x92,0xD6), - UNDEF, -}; -static const BYTE_LOOKUP -to_SHIFT_JIS_E6_A4 = { - to_SHIFT_JIS_E6_A4_offsets, - to_SHIFT_JIS_E6_A4_infos -}; - -static const unsigned char -to_SHIFT_JIS_E6_A5_offsets[64] = { - /* used from to_SHIFT_JIS_E6_A5 */ - /* used from to_EUC_JP_E6_A5 */ - 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 0, 27, 27, 27, 27, 27, - 27, 27, 27, 1, 2, 3, 27, 27, 27, 4, 5, 27, 6, 7, 8, 27, - 9, 10, 11, 27, 27, 27, 27, 27, 12, 27, 13, 14, 27, 15, 16, 17, - 27, 27, 27, 18, 19, 20, 27, 21, 22, 23, 27, 27, 24, 25, 26, 27, -}; -static const struct byte_lookup* const -to_SHIFT_JIS_E6_A5_infos[28] = { - o2(0x97,0x6B), o2(0x95,0x96), o2(0x9E,0xB6), o2(0x91,0xC8), - o2(0x9E,0xBC), o2(0x91,0x5E), o2(0x9E,0xB3), o2(0x9E,0xC0), - o2(0x9E,0xBF), o2(0x93,0xED), o2(0x9E,0xBE), o2(0x93,0xE8), - o2(0xFA,0xE9), o2(0x9E,0xC2), o2(0x9E,0xB5), o2(0x8B,0xC6), - o2(0x9E,0xB8), o2(0x8F,0x7C), o2(0x94,0x80), o2(0x9E,0xBA), - o2(0x8B,0xC9), o2(0x9E,0xB2), o2(0x9E,0xB4), o2(0x9E,0xB1), - o2(0x98,0x4F), o2(0x8A,0x79), o2(0x9E,0xB7), UNDEF, -}; -static const BYTE_LOOKUP -to_SHIFT_JIS_E6_A5 = { - to_SHIFT_JIS_E6_A5_offsets, - to_SHIFT_JIS_E6_A5_infos -}; - -static const unsigned char -to_SHIFT_JIS_E6_A6_offsets[64] = { - /* used from to_SHIFT_JIS_E6_A6 */ - /* used from to_EUC_JP_E6_A6 */ - 19, 0, 1, 19, 19, 19, 19, 19, 19, 19, 2, 19, 19, 19, 3, 19, - 19, 4, 19, 19, 5, 6, 19, 19, 7, 19, 19, 8, 9, 19, 19, 19, - 10, 19, 19, 19, 19, 19, 19, 11, 19, 19, 19, 19, 19, 19, 12, 19, - 19, 13, 14, 19, 15, 19, 19, 19, 19, 19, 19, 16, 19, 19, 17, 18, -}; -static const struct byte_lookup* const -to_SHIFT_JIS_E6_A6_infos[20] = { - o2(0x9E,0xC1), o2(0x8A,0x54), o2(0x8D,0xE5), o2(0x89,0x7C), - o2(0x9E,0xD2), o2(0x98,0x50), o2(0x9E,0xD5), o2(0xFA,0xEB), - o2(0x90,0x59), o2(0x9E,0xD4), o2(0x9E,0xD3), o2(0x9E,0xD0), - o2(0x9E,0xC4), o2(0x9E,0xE1), o2(0x9E,0xC3), o2(0x9E,0xD6), - o2(0x9E,0xCE), o2(0x9E,0xC9), o2(0x9E,0xC6), UNDEF, -}; -static const BYTE_LOOKUP -to_SHIFT_JIS_E6_A6 = { - to_SHIFT_JIS_E6_A6_offsets, - to_SHIFT_JIS_E6_A6_infos -}; - -static const unsigned char -to_SHIFT_JIS_E6_A7_offsets[64] = { - /* used from to_SHIFT_JIS_E6_A7 */ - /* used from to_EUC_JP_E6_A7 */ - 24, 0, 24, 1, 24, 24, 24, 2, 24, 24, 3, 4, 5, 6, 7, 24, - 8, 24, 24, 9, 24, 24, 24, 24, 10, 11, 24, 24, 24, 12, 13, 24, - 24, 24, 14, 24, 24, 24, 24, 15, 16, 24, 24, 17, 24, 18, 24, 24, - 24, 24, 19, 24, 24, 24, 24, 24, 24, 20, 24, 21, 24, 22, 24, 23, -}; -static const struct byte_lookup* const -to_SHIFT_JIS_E6_A7_infos[25] = { - o2(0x9E,0xC7), o2(0x9E,0xCF), o2(0xEA,0xA0), o2(0x9E,0xCC), - o2(0x8D,0x5C), o2(0x92,0xC6), o2(0x91,0x84), o2(0x9E,0xCA), - o2(0x9E,0xC5), o2(0x9E,0xC8), o2(0x97,0x6C), o2(0x96,0x8A), - o2(0x9E,0xCD), o2(0x9E,0xD7), o2(0xFA,0xEC), o2(0x9E,0xDF), - o2(0x9E,0xD8), o2(0x9E,0xE5), o2(0x9E,0xE3), o2(0x9E,0xDE), - o2(0x9E,0xDD), o2(0x92,0xCE), o2(0x91,0x85), o2(0x9E,0xDB), - UNDEF, -}; -static const BYTE_LOOKUP -to_SHIFT_JIS_E6_A7 = { - to_SHIFT_JIS_E6_A7_offsets, - to_SHIFT_JIS_E6_A7_infos -}; - -static const unsigned char -to_SHIFT_JIS_E6_A8_offsets[64] = { - /* used from to_SHIFT_JIS_E6_A8 */ - /* used from to_EUC_JP_E6_A8 */ - 27, 27, 0, 27, 27, 1, 27, 27, 27, 27, 2, 3, 4, 27, 27, 27, - 27, 27, 5, 6, 7, 27, 27, 8, 27, 9, 27, 10, 27, 27, 11, 12, - 27, 13, 14, 15, 27, 27, 27, 27, 27, 16, 17, 18, 27, 27, 19, 27, - 20, 27, 27, 27, 27, 21, 22, 27, 23, 24, 25, 27, 27, 26, 27, 27, -}; -static const struct byte_lookup* const -to_SHIFT_JIS_E6_A8_infos[28] = { - o2(0x9E,0xD9), o2(0x9E,0xE0), o2(0x9E,0xE6), o2(0x94,0xF3), - o2(0x9E,0xEC), o2(0x9E,0xE7), o2(0x9E,0xEA), o2(0x9E,0xE4), - o2(0x92,0x94), o2(0x95,0x57), o2(0x9E,0xDA), o2(0x9E,0xE2), - o2(0x8F,0xBE), o2(0x96,0xCD), o2(0x9E,0xF6), o2(0x9E,0xE9), - o2(0x8C,0xA0), o2(0x89,0xA1), o2(0x8A,0x7E), o2(0x9E,0xD1), - o2(0xFA,0xED), o2(0x8F,0xBF), o2(0x9E,0xEE), o2(0x9E,0xF5), - o2(0x8E,0xF7), o2(0x8A,0x92), o2(0x92,0x4D), UNDEF, -}; -static const BYTE_LOOKUP -to_SHIFT_JIS_E6_A8 = { - to_SHIFT_JIS_E6_A8_offsets, - to_SHIFT_JIS_E6_A8_infos -}; - -static const unsigned char -to_SHIFT_JIS_E6_A9_offsets[64] = { - /* used from to_SHIFT_JIS_E6_A9 */ - /* used from to_EUC_JP_E6_A9 */ - 17, 17, 17, 17, 0, 17, 1, 2, 3, 17, 17, 4, 17, 17, 17, 17, - 17, 17, 17, 17, 17, 17, 17, 17, 5, 6, 17, 17, 17, 17, 17, 7, - 17, 8, 9, 17, 17, 17, 10, 17, 17, 17, 17, 11, 17, 17, 17, 17, - 17, 17, 12, 13, 17, 17, 17, 17, 14, 17, 17, 17, 17, 17, 15, 16, -}; -static const struct byte_lookup* const -to_SHIFT_JIS_E6_A9_infos[18] = { - o2(0x9E,0xEB), o2(0xFA,0xEF), o2(0x9E,0xF0), o2(0x9E,0xF4), - o2(0x8B,0xB4), o2(0x8B,0x6B), o2(0x9E,0xF2), o2(0x8B,0x40), - o2(0x93,0xC9), o2(0x9E,0xF1), o2(0x9E,0xF3), o2(0xFA,0xEE), - o2(0x9E,0xED), o2(0xFA,0xF0), o2(0x9E,0xEF), o2(0xFA,0xF1), - o2(0x8A,0x80), UNDEF, -}; -static const BYTE_LOOKUP -to_SHIFT_JIS_E6_A9 = { - to_SHIFT_JIS_E6_A9_offsets, - to_SHIFT_JIS_E6_A9_infos -}; - -static const unsigned char -to_SHIFT_JIS_E6_AA_offsets[64] = { - /* used from to_SHIFT_JIS_E6_AA */ - /* used from to_EUC_JP_E6_AA */ - 0, 16, 16, 16, 1, 16, 16, 16, 16, 16, 16, 16, 16, 2, 3, 16, - 4, 16, 16, 16, 16, 16, 16, 5, 16, 16, 16, 16, 6, 16, 16, 16, - 7, 16, 8, 9, 16, 16, 16, 16, 16, 16, 10, 16, 11, 16, 12, 16, - 16, 16, 16, 13, 16, 16, 16, 16, 14, 16, 16, 15, 16, 16, 16, 16, -}; -static const struct byte_lookup* const -to_SHIFT_JIS_E6_AA_infos[17] = { - o2(0x92,0x68), o2(0x9E,0xFA), o2(0x9E,0xF8), o2(0x8C,0xE7), - o2(0x9E,0xF7), o2(0x9F,0x40), o2(0x9E,0x77), o2(0x9E,0xF9), - o2(0x9E,0xFB), o2(0x9E,0xFC), o2(0x9F,0x4B), o2(0x9F,0x47), - o2(0x9E,0x8D), o2(0x9F,0x46), o2(0x9F,0x45), o2(0x9F,0x42), - UNDEF, -}; -static const BYTE_LOOKUP -to_SHIFT_JIS_E6_AA = { - to_SHIFT_JIS_E6_AA_offsets, - to_SHIFT_JIS_E6_AA_infos -}; - -static const unsigned char -to_SHIFT_JIS_E6_AB_offsets[64] = { - /* used from to_SHIFT_JIS_E6_AB */ - /* used from to_EUC_JP_E6_AB */ - 15, 0, 1, 2, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, - 15, 3, 15, 4, 15, 15, 15, 15, 15, 15, 5, 6, 15, 15, 7, 8, - 15, 15, 9, 15, 10, 15, 15, 15, 11, 15, 12, 15, 15, 15, 15, 15, - 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 13, 14, 15, 15, 15, 15, -}; -static const struct byte_lookup* const -to_SHIFT_JIS_E6_AB_infos[16] = { - o2(0x9E,0xE8), o2(0x9F,0x44), o2(0x9F,0x43), o2(0x9F,0x49), - o2(0x98,0x45), o2(0x9F,0x4C), o2(0x8B,0xF9), o2(0x9F,0x48), - o2(0x9F,0x4A), o2(0xFA,0xF2), o2(0xFA,0xF3), o2(0x94,0xA5), - o2(0x9F,0x4D), o2(0x9F,0x51), o2(0x9F,0x4E), UNDEF, -}; -static const BYTE_LOOKUP -to_SHIFT_JIS_E6_AB = { - to_SHIFT_JIS_E6_AB_offsets, - to_SHIFT_JIS_E6_AB_infos -}; - -static const unsigned char -to_SHIFT_JIS_E6_AC_offsets[64] = { - /* used from to_SHIFT_JIS_E6_AC */ - /* used from to_EUC_JP_E6_AC */ - 18, 18, 18, 18, 0, 1, 18, 18, 18, 18, 2, 18, 18, 18, 18, 18, - 18, 18, 3, 18, 18, 18, 4, 18, 18, 18, 18, 18, 18, 5, 18, 6, - 7, 8, 18, 9, 18, 18, 18, 10, 18, 18, 18, 18, 18, 18, 18, 18, - 18, 18, 11, 18, 18, 18, 18, 12, 13, 14, 15, 18, 18, 16, 17, 18, -}; -static const struct byte_lookup* const -to_SHIFT_JIS_E6_AC_infos[19] = { - o2(0x97,0x93), o2(0x9F,0x4F), o2(0x9E,0xDC), o2(0x9F,0x52), - o2(0x9F,0x53), o2(0x89,0x54), o2(0x9F,0x55), o2(0x8C,0x87), - o2(0x8E,0x9F), o2(0x8B,0xD3), o2(0x89,0xA2), o2(0x97,0x7E), - o2(0x9F,0x57), o2(0x9F,0x56), o2(0x9F,0x59), o2(0x8B,0x5C), - o2(0x8B,0xD4), o2(0x8A,0xBC), UNDEF, -}; -static const BYTE_LOOKUP -to_SHIFT_JIS_E6_AC = { - to_SHIFT_JIS_E6_AC_offsets, - to_SHIFT_JIS_E6_AC_infos -}; - -static const unsigned char -to_SHIFT_JIS_E6_AD_offsets[64] = { - /* used from to_SHIFT_JIS_E6_AD */ - /* used from to_EUC_JP_E6_AD */ - 25, 25, 25, 0, 25, 25, 25, 1, 25, 2, 25, 25, 3, 25, 4, 25, - 5, 25, 25, 6, 7, 25, 25, 25, 25, 8, 25, 9, 25, 25, 25, 10, - 25, 11, 12, 13, 14, 25, 15, 25, 25, 16, 17, 25, 25, 25, 25, 18, - 25, 25, 25, 19, 20, 25, 25, 25, 21, 22, 25, 23, 25, 25, 25, 24, -}; -static const struct byte_lookup* const -to_SHIFT_JIS_E6_AD_infos[26] = { - o2(0x9F,0x5C), o2(0x9F,0x5B), o2(0x9F,0x5D), o2(0x89,0xCC), - o2(0x92,0x56), o2(0x9F,0x5E), o2(0x8A,0xBD), o2(0x9F,0x60), - o2(0x9F,0x5F), o2(0x9F,0x61), o2(0x9F,0x62), o2(0x9F,0x63), - o2(0x8E,0x7E), o2(0x90,0xB3), o2(0x8D,0x9F), o2(0x95,0x90), - o2(0x95,0xE0), o2(0x98,0x63), o2(0x8E,0x95), o2(0x8D,0xCE), - o2(0x97,0xF0), o2(0x9F,0x64), o2(0x9F,0x65), o2(0x8E,0x80), - o2(0x9F,0x66), UNDEF, -}; -static const BYTE_LOOKUP -to_SHIFT_JIS_E6_AD = { - to_SHIFT_JIS_E6_AD_offsets, - to_SHIFT_JIS_E6_AD_infos -}; - -static const unsigned char -to_SHIFT_JIS_E6_AE_offsets[64] = { - /* used from to_SHIFT_JIS_E6_AE */ - /* used from to_EUC_JP_E6_AE */ - 0, 26, 26, 1, 2, 26, 3, 26, 26, 4, 5, 6, 26, 7, 26, 26, - 26, 26, 26, 26, 26, 8, 9, 26, 10, 26, 26, 26, 26, 26, 11, 26, - 26, 26, 26, 26, 12, 26, 26, 26, 26, 26, 13, 14, 26, 26, 26, 15, - 26, 16, 17, 18, 19, 20, 26, 21, 26, 26, 22, 23, 24, 26, 26, 25, -}; -static const struct byte_lookup* const -to_SHIFT_JIS_E6_AE_infos[27] = { - o2(0x9F,0x67), o2(0x9F,0x69), o2(0x9F,0x68), o2(0x96,0x77), - o2(0x8F,0x7D), o2(0x8E,0xEA), o2(0x8E,0x63), o2(0x9F,0x6A), - o2(0x9F,0x6C), o2(0x90,0x42), o2(0x9F,0x6B), o2(0x9F,0x6D), - o2(0x9F,0x6E), o2(0x9F,0x6F), o2(0x9F,0x70), o2(0x9F,0x71), - o2(0x9F,0x73), o2(0x9F,0x72), o2(0x9F,0x74), o2(0x89,0xA3), - o2(0x92,0x69), o2(0x9F,0x75), o2(0x8E,0x45), o2(0x8A,0x6B), - o2(0x9F,0x76), o2(0x93,0x61), UNDEF, -}; -static const BYTE_LOOKUP -to_SHIFT_JIS_E6_AE = { - to_SHIFT_JIS_E6_AE_offsets, - to_SHIFT_JIS_E6_AE_infos -}; - -static const unsigned char -to_SHIFT_JIS_E6_AF_offsets[64] = { - /* used from to_SHIFT_JIS_E6_AF */ - /* used from to_EUC_JP_E6_AF */ - 0, 17, 17, 17, 17, 1, 2, 17, 17, 17, 17, 3, 17, 4, 5, 17, - 17, 17, 6, 7, 8, 17, 9, 17, 10, 17, 17, 11, 17, 17, 17, 12, - 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 13, 14, 17, 17, 15, - 17, 17, 17, 16, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, -}; -static const struct byte_lookup* const -to_SHIFT_JIS_E6_AF_infos[18] = { - o2(0x9A,0xCA), o2(0x8B,0x42), o2(0x9F,0x77), o2(0x9F,0x78), - o2(0x95,0xEA), o2(0x96,0x88), o2(0x93,0xC5), o2(0x9F,0x79), - o2(0x94,0xE4), o2(0xFA,0xF4), o2(0x94,0xF9), o2(0x96,0xD1), - o2(0x9F,0x7A), o2(0x9F,0x7C), o2(0x9F,0x7B), o2(0x9F,0x7E), - o2(0x9F,0x7D), UNDEF, -}; -static const BYTE_LOOKUP -to_SHIFT_JIS_E6_AF = { - to_SHIFT_JIS_E6_AF_offsets, - to_SHIFT_JIS_E6_AF_infos -}; - -static const unsigned char -to_SHIFT_JIS_E6_B0_offsets[64] = { - /* used from to_SHIFT_JIS_E6_B0 */ - /* used from to_EUC_JP_E6_B0 */ - 14, 14, 14, 14, 14, 14, 14, 14, 0, 14, 14, 14, 14, 14, 14, 1, - 14, 2, 14, 3, 4, 14, 14, 5, 14, 14, 14, 6, 14, 14, 14, 14, - 14, 14, 14, 7, 8, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, - 14, 14, 14, 14, 9, 14, 14, 10, 11, 14, 14, 14, 14, 14, 12, 13, -}; -static const struct byte_lookup* const -to_SHIFT_JIS_E6_B0_infos[15] = { - o2(0x9F,0x81), o2(0x8E,0x81), o2(0x96,0xAF), o2(0x9F,0x82), - o2(0x9F,0x83), o2(0x8B,0x43), o2(0x9F,0x84), o2(0x9F,0x86), - o2(0x9F,0x85), o2(0x90,0x85), o2(0x95,0x58), o2(0x89,0x69), - o2(0x94,0xC3), o2(0xFA,0xF5), UNDEF, -}; -static const BYTE_LOOKUP -to_SHIFT_JIS_E6_B0 = { - to_SHIFT_JIS_E6_B0_offsets, - to_SHIFT_JIS_E6_B0_infos -}; - -static const unsigned char -to_SHIFT_JIS_E6_B1_offsets[64] = { - /* used from to_SHIFT_JIS_E6_B1 */ - /* used from to_EUC_JP_E6_B1 */ - 0, 1, 2, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 3, 23, - 4, 23, 23, 23, 23, 5, 23, 6, 23, 23, 7, 23, 8, 9, 10, 11, - 12, 23, 13, 23, 23, 23, 23, 23, 14, 23, 15, 23, 23, 23, 23, 16, - 17, 23, 18, 19, 23, 23, 23, 23, 23, 23, 20, 23, 23, 21, 22, 23, -}; -static const struct byte_lookup* const -to_SHIFT_JIS_E6_B1_infos[24] = { - o2(0x92,0xF3), o2(0x8F,0x60), o2(0x8B,0x81), o2(0x94,0xC4), - o2(0x8E,0xAC), o2(0x9F,0x88), o2(0x8A,0xBE), o2(0x89,0x98), - o2(0xFA,0xF6), o2(0x93,0xF0), o2(0x9F,0x87), o2(0x8D,0x5D), - o2(0x92,0x72), o2(0x9F,0x89), o2(0x9F,0x91), o2(0x9F,0x8A), - o2(0xFA,0xF8), o2(0x91,0xBF), o2(0x8B,0x82), o2(0x9F,0x92), - o2(0x8C,0x88), o2(0x8B,0x44), o2(0x9F,0x90), UNDEF, -}; -static const BYTE_LOOKUP -to_SHIFT_JIS_E6_B1 = { - to_SHIFT_JIS_E6_B1_offsets, - to_SHIFT_JIS_E6_B1_infos -}; - -static const unsigned char -to_SHIFT_JIS_E6_B2_offsets[64] = { - /* used from to_SHIFT_JIS_E6_B2 */ - /* used from to_EUC_JP_E6_B2 */ - 28, 0, 1, 2, 28, 28, 3, 28, 4, 28, 28, 28, 5, 6, 28, 28, - 7, 28, 8, 9, 28, 28, 10, 28, 28, 11, 12, 13, 28, 28, 28, 28, - 28, 14, 15, 28, 28, 28, 28, 28, 28, 28, 28, 16, 28, 28, 17, 28, - 28, 18, 28, 19, 28, 28, 28, 28, 20, 21, 22, 23, 24, 25, 26, 27, -}; -static const struct byte_lookup* const -to_SHIFT_JIS_E6_B2_infos[29] = { - o2(0x9F,0x8E), o2(0x9F,0x8B), o2(0x97,0x80), o2(0xFA,0xF7), - o2(0x92,0xBE), o2(0x93,0xD7), o2(0x9F,0x8C), o2(0x9F,0x94), - o2(0x9F,0x93), o2(0x8C,0x42), o2(0x89,0xAB), o2(0x8D,0xB9), - o2(0x9F,0x8D), o2(0x9F,0x8F), o2(0x96,0x76), o2(0x91,0xF2), - o2(0x96,0x97), o2(0x9F,0x9C), o2(0x9F,0x9D), o2(0x89,0xCD), - o2(0x95,0xA6), o2(0x96,0xFB), o2(0x9F,0x9F), o2(0x8E,0xA1), - o2(0x8F,0xC0), o2(0x9F,0x98), o2(0x9F,0x9E), o2(0x89,0x88), - UNDEF, -}; -static const BYTE_LOOKUP -to_SHIFT_JIS_E6_B2 = { - to_SHIFT_JIS_E6_B2_offsets, - to_SHIFT_JIS_E6_B2_infos -}; - -static const unsigned char -to_SHIFT_JIS_E6_B3_offsets[64] = { - /* used from to_SHIFT_JIS_E6_B3 */ - /* used from to_EUC_JP_E6_B3 */ - 23, 0, 23, 23, 1, 2, 23, 23, 23, 3, 4, 23, 5, 23, 23, 23, - 23, 23, 23, 6, 23, 7, 23, 8, 23, 9, 10, 11, 23, 12, 23, 23, - 23, 13, 14, 15, 23, 16, 23, 23, 17, 23, 18, 23, 23, 23, 23, 19, - 20, 21, 23, 22, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, -}; -static const struct byte_lookup* const -to_SHIFT_JIS_E6_B3_infos[24] = { - o2(0x8B,0xB5), o2(0x9F,0x95), o2(0x9F,0x9A), o2(0x90,0xF2), - o2(0x94,0x91), o2(0x94,0xE5), o2(0x9F,0x97), o2(0x96,0x40), - o2(0x9F,0x99), o2(0x9F,0xA2), o2(0xFA,0xF9), o2(0x9F,0xA0), - o2(0x9F,0x9B), o2(0x96,0x41), o2(0x94,0x67), o2(0x8B,0x83), - o2(0x93,0x44), o2(0x92,0x8D), o2(0x9F,0xA3), o2(0x9F,0xA1), - o2(0x91,0xD7), o2(0x9F,0x96), o2(0x89,0x6A), UNDEF, -}; -static const BYTE_LOOKUP -to_SHIFT_JIS_E6_B3 = { - to_SHIFT_JIS_E6_B3_offsets, - to_SHIFT_JIS_E6_B3_infos -}; - -static const unsigned char -to_SHIFT_JIS_E6_B4_offsets[64] = { - /* used from to_SHIFT_JIS_E6_B4 */ - /* used from to_EUC_JP_E6_B4 */ - 21, 21, 21, 21, 0, 21, 21, 21, 21, 21, 21, 1, 2, 21, 21, 21, - 21, 21, 3, 21, 21, 21, 21, 4, 21, 5, 21, 6, 21, 21, 7, 8, - 21, 21, 21, 21, 21, 9, 21, 21, 21, 10, 11, 12, 21, 21, 21, 21, - 21, 21, 13, 14, 21, 15, 16, 21, 17, 21, 21, 18, 21, 19, 20, 21, -}; -static const struct byte_lookup* const -to_SHIFT_JIS_E6_B4_infos[22] = { - o2(0xFA,0xFA), o2(0x97,0x6D), o2(0x9F,0xAE), o2(0x9F,0xAD), - o2(0x90,0xF4), o2(0x9F,0xAA), o2(0x97,0x8C), o2(0x93,0xB4), - o2(0x9F,0xA4), o2(0x92,0xC3), o2(0x89,0x6B), o2(0x8D,0x5E), - o2(0x9F,0xA7), o2(0x8F,0x46), o2(0x9F,0xAC), o2(0x9F,0xAB), - o2(0x9F,0xA6), o2(0x9F,0xA9), o2(0x8A,0x88), o2(0x9F,0xA8), - o2(0x94,0x68), UNDEF, -}; -static const BYTE_LOOKUP -to_SHIFT_JIS_E6_B4 = { - to_SHIFT_JIS_E6_B4_offsets, - to_SHIFT_JIS_E6_B4_infos -}; - -static const unsigned char -to_SHIFT_JIS_E6_B5_offsets[64] = { - /* used from to_SHIFT_JIS_E6_B5 */ - /* used from to_EUC_JP_E6_B5 */ - 18, 0, 18, 18, 1, 2, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, - 18, 18, 18, 18, 18, 18, 18, 18, 18, 3, 4, 18, 5, 18, 18, 18, - 18, 18, 18, 6, 7, 18, 8, 18, 18, 9, 10, 18, 11, 18, 12, 13, - 18, 18, 18, 18, 14, 18, 18, 15, 16, 17, 18, 18, 18, 18, 18, 18, -}; -static const struct byte_lookup* const -to_SHIFT_JIS_E6_B5_infos[19] = { - o2(0x97,0xAC), o2(0x8F,0xF2), o2(0x90,0xF3), o2(0x9F,0xB4), - o2(0x9F,0xB2), o2(0x95,0x6C), o2(0x9F,0xAF), o2(0x9F,0xB1), - o2(0x89,0x59), o2(0x8D,0x5F), o2(0x98,0x51), o2(0x8A,0x5C), - o2(0x95,0x82), o2(0xFA,0xFC), o2(0x97,0x81), o2(0x8A,0x43), - o2(0x90,0x5A), o2(0x9F,0xB3), UNDEF, -}; -static const BYTE_LOOKUP -to_SHIFT_JIS_E6_B5 = { - to_SHIFT_JIS_E6_B5_offsets, - to_SHIFT_JIS_E6_B5_infos -}; - -static const unsigned char -to_SHIFT_JIS_E6_B6_offsets[64] = { - /* used from to_SHIFT_JIS_E6_B6 */ - /* used from to_EUC_JP_E6_B6 */ - 17, 17, 17, 17, 17, 0, 17, 1, 2, 17, 17, 17, 3, 17, 4, 17, - 17, 17, 17, 5, 17, 6, 7, 17, 17, 8, 17, 9, 10, 17, 17, 17, - 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 11, 17, 17, 12, - 17, 17, 13, 17, 17, 14, 17, 17, 15, 17, 17, 17, 16, 17, 17, 17, -}; -static const struct byte_lookup* const -to_SHIFT_JIS_E6_B6_infos[18] = { - o2(0x9F,0xB8), o2(0xFA,0xFB), o2(0x8F,0xC1), o2(0x97,0x4F), - o2(0x9F,0xB5), o2(0x9F,0xB0), o2(0x9F,0xB6), o2(0xFB,0x40), - o2(0x97,0xDC), o2(0x93,0x93), o2(0x93,0xC0), o2(0xFB,0x41), - o2(0x8A,0x55), o2(0x89,0x74), o2(0x9F,0xBC), o2(0x9F,0xBF), - o2(0x97,0xC1), UNDEF, -}; -static const BYTE_LOOKUP -to_SHIFT_JIS_E6_B6 = { - to_SHIFT_JIS_E6_B6_offsets, - to_SHIFT_JIS_E6_B6_infos -}; - -static const unsigned char -to_SHIFT_JIS_E6_B7_offsets[64] = { - /* used from to_SHIFT_JIS_E6_B7 */ - /* used from to_EUC_JP_E6_B7 */ - 0, 31, 31, 31, 31, 1, 2, 3, 31, 31, 31, 4, 5, 31, 31, 6, - 31, 7, 8, 31, 31, 9, 31, 31, 10, 11, 31, 31, 31, 31, 12, 31, - 31, 13, 31, 31, 14, 31, 15, 31, 16, 31, 17, 18, 19, 31, 20, 31, - 31, 21, 22, 23, 31, 24, 31, 25, 26, 27, 28, 29, 30, 31, 31, 31, -}; -static const struct byte_lookup* const -to_SHIFT_JIS_E6_B7_infos[32] = { - o2(0x97,0x84), o2(0x9F,0xC6), o2(0x9F,0xC0), o2(0x9F,0xBD), - o2(0x97,0xD2), o2(0x9F,0xC3), o2(0xFB,0x42), o2(0x8F,0x69), - o2(0x9F,0xC5), o2(0x9F,0xCA), o2(0x93,0x91), o2(0x9F,0xC8), - o2(0x9F,0xC2), o2(0x92,0x57), o2(0x9F,0xC9), o2(0x9F,0xBE), - o2(0x9F,0xC4), o2(0x9F,0xCB), o2(0x88,0xFA), o2(0x9F,0xC1), - o2(0x9F,0xCC), o2(0x90,0x5B), o2(0xFB,0x44), o2(0x8F,0x7E), - o2(0x95,0xA3), o2(0x8D,0xAC), o2(0xFB,0x43), o2(0x9F,0xB9), - o2(0x9F,0xC7), o2(0x93,0x59), o2(0xFB,0x45), UNDEF, -}; -static const BYTE_LOOKUP -to_SHIFT_JIS_E6_B7 = { - to_SHIFT_JIS_E6_B7_offsets, - to_SHIFT_JIS_E6_B7_infos -}; - -static const unsigned char -to_SHIFT_JIS_E6_B8_offsets[64] = { - /* used from to_SHIFT_JIS_E6_B8 */ - /* used from to_EUC_JP_E6_B8 */ - 31, 31, 31, 31, 31, 0, 31, 1, 2, 3, 4, 5, 31, 31, 31, 31, - 31, 31, 31, 6, 31, 7, 31, 31, 31, 8, 9, 10, 31, 11, 31, 12, - 13, 14, 31, 15, 16, 17, 18, 19, 31, 20, 31, 21, 22, 23, 24, 25, - 31, 31, 31, 31, 31, 31, 31, 31, 26, 27, 28, 31, 29, 31, 30, 31, -}; -static const struct byte_lookup* const -to_SHIFT_JIS_E6_B8_infos[32] = { - o2(0x90,0xB4), o2(0x8A,0x89), o2(0x8D,0xCF), o2(0x8F,0xC2), - o2(0x9F,0xBB), o2(0x8F,0x61), o2(0x8C,0x6B), o2(0x9F,0xBA), - o2(0x9F,0xD0), o2(0x8F,0x8D), o2(0x8C,0xB8), o2(0x9F,0xDF), - o2(0x9F,0xD9), o2(0x8B,0x94), o2(0x93,0x6E), o2(0x9F,0xD4), - o2(0x9F,0xDD), o2(0x88,0xAD), o2(0x89,0x51), o2(0xFB,0x48), - o2(0x89,0xB7), o2(0x9F,0xD6), o2(0x91,0xAA), o2(0x9F,0xCD), - o2(0x9F,0xCF), o2(0x8D,0x60), o2(0x9F,0xE0), o2(0xFB,0x46), - o2(0x9F,0xDB), o2(0xFB,0x49), o2(0x9F,0xD3), UNDEF, -}; -static const BYTE_LOOKUP -to_SHIFT_JIS_E6_B8 = { - to_SHIFT_JIS_E6_B8_offsets, - to_SHIFT_JIS_E6_B8_infos -}; - -static const unsigned char -to_SHIFT_JIS_E6_B9_offsets[64] = { - /* used from to_SHIFT_JIS_E6_B9 */ - /* used from to_EUC_JP_E6_B9 */ - 17, 17, 17, 0, 17, 17, 17, 17, 17, 17, 1, 17, 17, 2, 3, 17, - 17, 17, 17, 17, 17, 17, 4, 17, 5, 17, 17, 6, 7, 17, 17, 8, - 17, 17, 17, 17, 17, 17, 17, 9, 17, 17, 17, 10, 17, 17, 11, 12, - 17, 17, 13, 17, 17, 17, 14, 17, 17, 17, 17, 17, 17, 17, 15, 16, -}; -static const struct byte_lookup* const -to_SHIFT_JIS_E6_B9_infos[18] = { - o2(0x9F,0xDA), o2(0x96,0xA9), o2(0x9F,0xD8), o2(0x9F,0xDC), - o2(0x8C,0xCE), o2(0x8F,0xC3), o2(0x92,0x58), o2(0xFB,0x47), - o2(0x9F,0xD2), o2(0x97,0x4E), o2(0x9F,0xD5), o2(0x9F,0xCE), - o2(0x93,0x92), o2(0x9F,0xD1), o2(0x9F,0xD7), o2(0x98,0x70), - o2(0x8E,0xBC), UNDEF, -}; -static const BYTE_LOOKUP -to_SHIFT_JIS_E6_B9 = { - to_SHIFT_JIS_E6_B9_offsets, - to_SHIFT_JIS_E6_B9_infos -}; - -static const unsigned char -to_SHIFT_JIS_E6_BA_offsets[64] = { - /* used from to_SHIFT_JIS_E6_BA */ - /* used from to_EUC_JP_E6_BA */ - 0, 20, 1, 20, 20, 20, 20, 20, 20, 20, 20, 20, 2, 20, 20, 3, - 4, 20, 20, 20, 20, 20, 5, 20, 6, 20, 20, 20, 7, 8, 20, 9, - 20, 20, 10, 20, 20, 11, 20, 20, 20, 20, 12, 20, 20, 20, 20, 13, - 20, 20, 14, 20, 20, 20, 15, 16, 20, 20, 17, 20, 20, 18, 20, 19, -}; -static const struct byte_lookup* const -to_SHIFT_JIS_E6_BA_infos[21] = { - o2(0x96,0x9E), o2(0x9F,0xE1), o2(0x94,0xAC), o2(0x9F,0xED), - o2(0x8C,0xB9), o2(0x8F,0x80), o2(0x9F,0xE3), o2(0x97,0xAD), - o2(0x8D,0x61), o2(0x9F,0xF0), o2(0x88,0xEC), o2(0x9F,0xEE), - o2(0x9F,0xE2), o2(0x9F,0xE8), o2(0x9F,0xEA), o2(0x97,0x6E), - o2(0x9F,0xE5), o2(0x93,0x4D), o2(0x9F,0xE7), o2(0xFB,0x4A), - UNDEF, -}; -static const BYTE_LOOKUP -to_SHIFT_JIS_E6_BA = { - to_SHIFT_JIS_E6_BA_offsets, - to_SHIFT_JIS_E6_BA_infos -}; - -static const unsigned char -to_SHIFT_JIS_E6_BB_offsets[64] = { - /* used from to_SHIFT_JIS_E6_BB */ - /* used from to_EUC_JP_E6_BB */ - 20, 20, 0, 20, 1, 2, 20, 20, 20, 3, 20, 4, 5, 20, 20, 20, - 20, 6, 20, 7, 8, 9, 20, 20, 20, 20, 20, 20, 20, 10, 11, 20, - 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 12, 20, 20, 13, - 20, 20, 14, 20, 15, 20, 20, 16, 17, 20, 20, 20, 20, 20, 18, 19, -}; -static const struct byte_lookup* const -to_SHIFT_JIS_E6_BB_infos[21] = { - o2(0x9F,0xEF), o2(0x9F,0xE9), o2(0x96,0xC5), o2(0x9F,0xE4), - o2(0x8E,0xA0), o2(0x9F,0xFC), o2(0x8A,0x8A), o2(0x9F,0xE6), - o2(0x9F,0xEB), o2(0x9F,0xEC), o2(0x91,0xEA), o2(0x91,0xD8), - o2(0x9F,0xF4), o2(0x9F,0xFA), o2(0x9F,0xF8), o2(0x93,0x48), - o2(0xE0,0x42), o2(0x9F,0xF5), o2(0x9F,0xF6), o2(0x9F,0xDE), - UNDEF, -}; -static const BYTE_LOOKUP -to_SHIFT_JIS_E6_BB = { - to_SHIFT_JIS_E6_BB_offsets, - to_SHIFT_JIS_E6_BB_infos -}; - -static const unsigned char -to_SHIFT_JIS_E6_BC_offsets[64] = { - /* used from to_SHIFT_JIS_E6_BC */ - /* used from to_EUC_JP_E6_BC */ - 19, 0, 1, 19, 19, 19, 2, 19, 19, 3, 19, 19, 19, 19, 19, 4, - 19, 5, 19, 6, 7, 8, 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, - 9, 19, 10, 11, 19, 19, 19, 19, 19, 19, 19, 12, 13, 19, 19, 19, - 19, 14, 15, 19, 19, 19, 19, 19, 16, 19, 19, 19, 19, 19, 17, 18, -}; -static const struct byte_lookup* const -to_SHIFT_JIS_E6_BC_infos[20] = { - o2(0x8B,0x99), o2(0x95,0x59), o2(0x8E,0xBD), o2(0x8D,0x97), - o2(0x98,0x52), o2(0x9F,0xF2), o2(0xE0,0x41), o2(0x89,0x89), - o2(0x91,0x86), o2(0x94,0x99), o2(0x8A,0xBF), o2(0x97,0xF8), - o2(0x96,0x9F), o2(0x92,0xD0), o2(0x9F,0xF9), o2(0x9F,0xFB), - o2(0x91,0x51), o2(0xE0,0x40), o2(0x9F,0xF7), UNDEF, -}; -static const BYTE_LOOKUP -to_SHIFT_JIS_E6_BC = { - to_SHIFT_JIS_E6_BC_offsets, - to_SHIFT_JIS_E6_BC_infos -}; - -static const unsigned char -to_SHIFT_JIS_E6_BD_offsets[64] = { - /* used from to_SHIFT_JIS_E6_BD */ - /* used from to_EUC_JP_E6_BD */ - 17, 0, 17, 17, 17, 1, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, - 17, 17, 17, 17, 2, 17, 17, 17, 3, 17, 17, 4, 5, 17, 17, 6, - 17, 17, 17, 17, 7, 17, 8, 17, 17, 17, 17, 17, 17, 9, 10, 11, - 12, 17, 17, 17, 13, 17, 17, 17, 14, 17, 15, 17, 16, 17, 17, 17, -}; -static const struct byte_lookup* const -to_SHIFT_JIS_E6_BD_infos[18] = { - o2(0x9F,0xF1), o2(0x8A,0xC1), o2(0x8C,0x89), o2(0xE0,0x4E), - o2(0xE0,0x49), o2(0x90,0xF6), o2(0x8A,0x83), o2(0x8F,0x81), - o2(0xE0,0x52), o2(0xE0,0x4B), o2(0x92,0xAA), o2(0xE0,0x48), - o2(0x92,0xD7), o2(0xE0,0x6B), o2(0xE0,0x45), o2(0xE0,0x44), - o2(0xE0,0x4D), UNDEF, -}; -static const BYTE_LOOKUP -to_SHIFT_JIS_E6_BD = { - to_SHIFT_JIS_E6_BD_offsets, - to_SHIFT_JIS_E6_BD_infos -}; - -static const unsigned char -to_SHIFT_JIS_E6_BE_offsets[64] = { - /* used from to_SHIFT_JIS_E6_BE */ - /* used from to_EUC_JP_E6_BE */ - 0, 1, 2, 17, 3, 17, 4, 17, 5, 17, 17, 17, 17, 17, 6, 17, - 17, 7, 17, 17, 17, 17, 17, 8, 17, 17, 17, 17, 17, 17, 17, 17, - 17, 9, 17, 10, 11, 17, 17, 17, 17, 17, 12, 17, 17, 17, 17, 17, - 17, 13, 17, 14, 17, 15, 17, 17, 17, 16, 17, 17, 17, 17, 17, 17, -}; -static const struct byte_lookup* const -to_SHIFT_JIS_E6_BE_infos[18] = { - o2(0xE0,0x47), o2(0xE0,0x46), o2(0xE0,0x4C), o2(0x90,0x9F), - o2(0xE0,0x43), o2(0xFB,0x4B), o2(0xE0,0x4F), o2(0xE0,0x50), - o2(0x8A,0xC0), o2(0xE0,0x55), o2(0xE0,0x54), o2(0xE0,0x56), - o2(0xE0,0x59), o2(0x93,0x62), o2(0xE0,0x53), o2(0xFB,0x4C), - o2(0xE0,0x57), UNDEF, -}; -static const BYTE_LOOKUP -to_SHIFT_JIS_E6_BE = { - to_SHIFT_JIS_E6_BE_offsets, - to_SHIFT_JIS_E6_BE_infos -}; - -static const unsigned char -to_SHIFT_JIS_E6_BF_offsets[64] = { - /* used from to_SHIFT_JIS_E6_BF */ - /* used from to_EUC_JP_E6_BF */ - 0, 1, 2, 3, 23, 23, 4, 23, 23, 23, 23, 23, 23, 23, 23, 23, - 23, 23, 23, 23, 5, 6, 23, 23, 7, 23, 23, 8, 23, 23, 23, 9, - 10, 11, 23, 23, 12, 23, 23, 23, 23, 23, 23, 13, 14, 23, 15, 16, - 23, 17, 23, 18, 23, 19, 20, 23, 23, 23, 21, 23, 23, 23, 22, 23, -}; -static const struct byte_lookup* const -to_SHIFT_JIS_E6_BF_infos[24] = { - o2(0x8C,0x83), o2(0x91,0xF7), o2(0xE0,0x51), o2(0x94,0x5A), - o2(0xE0,0x58), o2(0xE0,0x5D), o2(0xE0,0x5B), o2(0xE0,0x5E), - o2(0xE0,0x61), o2(0xE0,0x5A), o2(0x8D,0x8A), o2(0x94,0x47), - o2(0x9F,0xB7), o2(0x97,0x94), o2(0xE0,0x5C), o2(0xE0,0x60), - o2(0x91,0xF3), o2(0xE0,0x5F), o2(0xE0,0x4A), o2(0xFB,0x4D), - o2(0xE8,0x89), o2(0xE0,0x64), o2(0xE0,0x68), UNDEF, -}; -static const BYTE_LOOKUP -to_SHIFT_JIS_E6_BF = { - to_SHIFT_JIS_E6_BF_offsets, - to_SHIFT_JIS_E6_BF_infos -}; - -static const struct byte_lookup* const -to_SHIFT_JIS_E6_infos[64] = { - &to_SHIFT_JIS_E6_80, &to_SHIFT_JIS_E6_81, - &to_SHIFT_JIS_E6_82, &to_SHIFT_JIS_E6_83, - &to_SHIFT_JIS_E6_84, &to_SHIFT_JIS_E6_85, - &to_SHIFT_JIS_E6_86, &to_SHIFT_JIS_E6_87, - &to_SHIFT_JIS_E6_88, &to_SHIFT_JIS_E6_89, - &to_SHIFT_JIS_E6_8A, &to_SHIFT_JIS_E6_8B, - &to_SHIFT_JIS_E6_8C, &to_SHIFT_JIS_E6_8D, - &to_SHIFT_JIS_E6_8E, &to_SHIFT_JIS_E6_8F, - &to_SHIFT_JIS_E6_90, &to_SHIFT_JIS_E6_91, - &to_SHIFT_JIS_E6_92, &to_SHIFT_JIS_E6_93, - &to_SHIFT_JIS_E6_94, &to_SHIFT_JIS_E6_95, - &to_SHIFT_JIS_E6_96, &to_SHIFT_JIS_E6_97, - &to_SHIFT_JIS_E6_98, &to_SHIFT_JIS_E6_99, - &to_SHIFT_JIS_E6_9A, &to_SHIFT_JIS_E6_9B, - &to_SHIFT_JIS_E6_9C, &to_SHIFT_JIS_E6_9D, - &to_SHIFT_JIS_E6_9E, &to_SHIFT_JIS_E6_9F, - &to_SHIFT_JIS_E6_A0, &to_SHIFT_JIS_E6_A1, - &to_SHIFT_JIS_E6_A2, &to_SHIFT_JIS_E6_A3, - &to_SHIFT_JIS_E6_A4, &to_SHIFT_JIS_E6_A5, - &to_SHIFT_JIS_E6_A6, &to_SHIFT_JIS_E6_A7, - &to_SHIFT_JIS_E6_A8, &to_SHIFT_JIS_E6_A9, - &to_SHIFT_JIS_E6_AA, &to_SHIFT_JIS_E6_AB, - &to_SHIFT_JIS_E6_AC, &to_SHIFT_JIS_E6_AD, - &to_SHIFT_JIS_E6_AE, &to_SHIFT_JIS_E6_AF, - &to_SHIFT_JIS_E6_B0, &to_SHIFT_JIS_E6_B1, - &to_SHIFT_JIS_E6_B2, &to_SHIFT_JIS_E6_B3, - &to_SHIFT_JIS_E6_B4, &to_SHIFT_JIS_E6_B5, - &to_SHIFT_JIS_E6_B6, &to_SHIFT_JIS_E6_B7, - &to_SHIFT_JIS_E6_B8, &to_SHIFT_JIS_E6_B9, - &to_SHIFT_JIS_E6_BA, &to_SHIFT_JIS_E6_BB, - &to_SHIFT_JIS_E6_BC, &to_SHIFT_JIS_E6_BD, - &to_SHIFT_JIS_E6_BE, &to_SHIFT_JIS_E6_BF, -}; -static const BYTE_LOOKUP -to_SHIFT_JIS_E6 = { - to_SHIFT_JIS_E5_offsets, - to_SHIFT_JIS_E6_infos -}; - -static const unsigned char -to_SHIFT_JIS_E7_80_offsets[64] = { - /* used from to_SHIFT_JIS_E7_80 */ - /* used from to_EUC_JP_E7_80 */ - 21, 0, 21, 21, 21, 1, 21, 2, 21, 3, 21, 4, 21, 21, 21, 5, - 21, 6, 21, 21, 21, 7, 21, 21, 8, 21, 9, 10, 21, 11, 12, 13, - 21, 21, 21, 21, 21, 21, 14, 15, 16, 21, 21, 21, 17, 21, 21, 21, - 18, 21, 19, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 20, 21, -}; -static const struct byte_lookup* const -to_SHIFT_JIS_E7_80_infos[22] = { - o2(0xE0,0x66), o2(0xFB,0x4E), o2(0xFB,0x4F), o2(0xE0,0x62), - o2(0xE0,0x63), o2(0xE0,0x67), o2(0xE0,0x65), o2(0x95,0x6D), - o2(0xE0,0x6D), o2(0xE0,0x6A), o2(0xE0,0x69), o2(0xE0,0x6C), - o2(0x93,0xD2), o2(0xE0,0x6E), o2(0x92,0x95), o2(0x91,0xEB), - o2(0xFB,0x50), o2(0x90,0xA3), o2(0xE0,0x6F), o2(0xE0,0x71), - o2(0xE0,0x70), UNDEF, -}; -static const BYTE_LOOKUP -to_SHIFT_JIS_E7_80 = { - to_SHIFT_JIS_E7_80_offsets, - to_SHIFT_JIS_E7_80_infos -}; - -static const unsigned char -to_SHIFT_JIS_E7_81_offsets[64] = { - /* used from to_SHIFT_JIS_E7_81 */ - /* used from to_EUC_JP_E7_81 */ - 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 0, 10, 10, 10, - 10, 1, 10, 10, 10, 10, 10, 10, 2, 10, 10, 10, 10, 10, 10, 10, - 10, 10, 10, 3, 10, 10, 10, 10, 10, 10, 10, 4, 10, 10, 10, 5, - 6, 10, 10, 10, 10, 10, 10, 10, 7, 10, 10, 10, 8, 9, 10, 10, -}; -static const struct byte_lookup* const -to_SHIFT_JIS_E7_81_infos[11] = { - o2(0x9F,0xF3), o2(0xE0,0x72), o2(0x93,0xE5), o2(0xE0,0x73), - o2(0x89,0xCE), o2(0x93,0x94), o2(0x8A,0x44), o2(0x8B,0x84), - o2(0x8E,0xDC), o2(0x8D,0xD0), UNDEF, -}; -static const BYTE_LOOKUP -to_SHIFT_JIS_E7_81 = { - to_SHIFT_JIS_E7_81_offsets, - to_SHIFT_JIS_E7_81_infos -}; - -static const unsigned char -to_SHIFT_JIS_E7_82_offsets[64] = { - /* used from to_SHIFT_JIS_E7_82 */ - /* used from to_EUC_JP_E7_82 */ - 16, 16, 16, 16, 16, 0, 16, 16, 16, 1, 2, 16, 16, 16, 3, 16, - 16, 16, 4, 16, 16, 16, 16, 16, 16, 5, 16, 16, 16, 16, 16, 16, - 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 6, 7, 8, 9, 10, - 16, 16, 16, 11, 16, 16, 16, 16, 12, 13, 14, 15, 16, 16, 16, 16, -}; -static const struct byte_lookup* const -to_SHIFT_JIS_E7_82_infos[17] = { - o2(0xFB,0x51), o2(0x98,0x46), o2(0x90,0x86), o2(0x89,0x8A), - o2(0xE0,0x75), o2(0xE0,0x74), o2(0xFB,0x52), o2(0xE0,0x78), - o2(0x92,0x59), o2(0xE0,0x7B), o2(0xE0,0x76), o2(0xE0,0x7A), - o2(0xE0,0x79), o2(0x93,0x5F), o2(0x88,0xD7), o2(0xFA,0x62), - UNDEF, -}; -static const BYTE_LOOKUP -to_SHIFT_JIS_E7_82 = { - to_SHIFT_JIS_E7_82_offsets, - to_SHIFT_JIS_E7_82_infos -}; - -static const unsigned char -to_SHIFT_JIS_E7_83_offsets[64] = { - /* used from to_SHIFT_JIS_E7_83 */ - /* used from to_EUC_JP_E7_83 */ - 9, 9, 9, 9, 9, 9, 9, 9, 0, 9, 9, 1, 9, 9, 9, 2, - 9, 9, 9, 9, 9, 9, 9, 9, 9, 3, 9, 9, 9, 4, 9, 5, - 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, - 9, 6, 9, 9, 9, 9, 9, 9, 9, 7, 9, 9, 9, 8, 9, 9, -}; -static const struct byte_lookup* const -to_SHIFT_JIS_E7_83_infos[10] = { - o2(0x97,0xF3), o2(0xE0,0x7D), o2(0x89,0x47), o2(0xE0,0x80), - o2(0xE0,0x7E), o2(0xE0,0x7C), o2(0xE0,0x77), o2(0x96,0x42), - o2(0xE0,0x82), UNDEF, -}; -static const BYTE_LOOKUP -to_SHIFT_JIS_E7_83 = { - to_SHIFT_JIS_E7_83_offsets, - to_SHIFT_JIS_E7_83_infos -}; - -static const unsigned char -to_SHIFT_JIS_E7_84_offsets[64] = { - /* used from to_SHIFT_JIS_E7_84 */ - /* used from to_EUC_JP_E7_84 */ - 11, 11, 11, 11, 0, 11, 11, 11, 11, 1, 11, 11, 11, 11, 11, 2, - 11, 11, 11, 11, 3, 11, 11, 11, 11, 4, 5, 11, 6, 11, 11, 11, - 11, 7, 11, 11, 11, 11, 8, 11, 11, 11, 11, 11, 11, 11, 11, 11, - 11, 11, 11, 11, 11, 11, 9, 11, 11, 11, 11, 11, 10, 11, 11, 11, -}; -static const struct byte_lookup* const -to_SHIFT_JIS_E7_84_infos[12] = { - o2(0xFB,0x54), o2(0xE0,0x81), o2(0xFB,0x53), o2(0x89,0x8B), - o2(0xE0,0x84), o2(0x95,0xB0), o2(0xE0,0x83), o2(0x96,0xB3), - o2(0x8F,0xC5), o2(0x91,0x52), o2(0x8F,0xC4), UNDEF, -}; -static const BYTE_LOOKUP -to_SHIFT_JIS_E7_84 = { - to_SHIFT_JIS_E7_84_offsets, - to_SHIFT_JIS_E7_84_infos -}; - -static const unsigned char -to_SHIFT_JIS_E7_85_offsets[64] = { - /* used from to_SHIFT_JIS_E7_85 */ - /* used from to_EUC_JP_E7_85 */ - 18, 18, 18, 18, 18, 18, 0, 1, 18, 2, 18, 18, 3, 18, 4, 18, - 18, 18, 18, 18, 18, 5, 6, 18, 18, 7, 18, 18, 8, 18, 18, 18, - 18, 18, 9, 18, 10, 11, 12, 13, 18, 14, 18, 18, 15, 18, 16, 18, - 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 17, 18, 18, -}; -static const struct byte_lookup* const -to_SHIFT_JIS_E7_85_infos[19] = { - o2(0xFB,0x56), o2(0xFB,0x57), o2(0x97,0xF9), o2(0xE0,0x8A), - o2(0x90,0xF7), o2(0xE0,0x86), o2(0xE0,0x8B), o2(0x89,0x8C), - o2(0xFB,0x55), o2(0xE0,0x89), o2(0x94,0x81), o2(0xE0,0x85), - o2(0xE0,0x88), o2(0x8F,0xC6), o2(0x94,0xCF), o2(0xE0,0x8C), - o2(0x8E,0xCF), o2(0x90,0xF8), UNDEF, -}; -static const BYTE_LOOKUP -to_SHIFT_JIS_E7_85 = { - to_SHIFT_JIS_E7_85_offsets, - to_SHIFT_JIS_E7_85_infos -}; - -static const unsigned char -to_SHIFT_JIS_E7_86_offsets[64] = { - /* used from to_SHIFT_JIS_E7_86 */ - /* used from to_EUC_JP_E7_86 */ - 13, 13, 13, 13, 0, 13, 13, 13, 1, 13, 2, 13, 13, 13, 13, 3, - 13, 13, 13, 13, 4, 5, 13, 13, 13, 6, 13, 13, 13, 13, 13, 7, - 13, 13, 13, 13, 13, 13, 13, 13, 8, 13, 13, 13, 9, 13, 13, 13, - 13, 10, 13, 13, 13, 13, 13, 13, 13, 11, 13, 13, 13, 13, 12, 13, -}; -static const struct byte_lookup* const -to_SHIFT_JIS_E7_86_infos[14] = { - o2(0xE0,0x8F), o2(0xE0,0x87), o2(0x8C,0x46), o2(0xE0,0x8D), - o2(0x97,0x6F), o2(0xE0,0x90), o2(0xEA,0xA4), o2(0x8F,0x6E), - o2(0xE0,0x91), o2(0xE0,0x92), o2(0x94,0x4D), o2(0xE0,0x94), - o2(0xE0,0x95), UNDEF, -}; -static const BYTE_LOOKUP -to_SHIFT_JIS_E7_86 = { - to_SHIFT_JIS_E7_86_offsets, - to_SHIFT_JIS_E7_86_infos -}; - -static const unsigned char -to_SHIFT_JIS_E7_87_offsets[64] = { - /* used from to_SHIFT_JIS_E7_87 */ - /* used from to_EUC_JP_E7_87 */ - 24, 0, 24, 1, 24, 24, 24, 24, 2, 3, 24, 24, 24, 24, 4, 24, - 5, 24, 6, 24, 7, 8, 24, 9, 24, 24, 24, 24, 24, 24, 24, 10, - 11, 24, 24, 24, 24, 12, 13, 14, 24, 24, 24, 24, 15, 16, 17, 24, - 24, 24, 24, 24, 24, 18, 24, 24, 24, 19, 24, 20, 21, 24, 22, 23, -}; -static const struct byte_lookup* const -to_SHIFT_JIS_E7_87_infos[25] = { - o2(0xFB,0x59), o2(0x94,0x52), o2(0x93,0x95), o2(0xE0,0x97), - o2(0xE0,0x99), o2(0x97,0xD3), o2(0xE0,0x96), o2(0xE0,0x98), - o2(0x89,0x8D), o2(0xE0,0x93), o2(0x9A,0x7A), o2(0xE0,0x9A), - o2(0x91,0x87), o2(0x8E,0x57), o2(0xE0,0x9C), o2(0xE0,0x9B), - o2(0x90,0x43), o2(0x99,0xD7), o2(0xE0,0x9D), o2(0xE0,0x9F), - o2(0xE0,0x8E), o2(0xE0,0x9E), o2(0xFB,0x5A), o2(0xE0,0xA0), - UNDEF, -}; -static const BYTE_LOOKUP -to_SHIFT_JIS_E7_87 = { - to_SHIFT_JIS_E7_87_offsets, - to_SHIFT_JIS_E7_87_infos -}; - -static const unsigned char -to_SHIFT_JIS_E7_88_offsets[64] = { - /* used from to_SHIFT_JIS_E7_88 */ - /* used from to_EUC_JP_E7_88 */ - 18, 18, 18, 18, 18, 18, 0, 18, 18, 18, 18, 18, 18, 1, 18, 18, - 2, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 3, 18, 18, 18, 18, - 18, 18, 18, 18, 18, 18, 18, 18, 4, 18, 5, 18, 6, 7, 18, 18, - 8, 18, 9, 18, 18, 10, 11, 18, 18, 18, 12, 13, 14, 15, 16, 17, -}; -static const struct byte_lookup* const -to_SHIFT_JIS_E7_88_infos[19] = { - o2(0x94,0x9A), o2(0xE0,0xA1), o2(0xE0,0xA2), o2(0xE0,0xA3), - o2(0xE0,0xA4), o2(0x92,0xDC), o2(0xE0,0xA6), o2(0xE0,0xA5), - o2(0xE0,0xA7), o2(0xE0,0xA8), o2(0x8E,0xDD), o2(0x95,0x83), - o2(0x96,0xEA), o2(0xE0,0xA9), o2(0xE0,0xAA), o2(0x91,0x75), - o2(0x8E,0xA2), o2(0xE0,0xAB), UNDEF, -}; -static const BYTE_LOOKUP -to_SHIFT_JIS_E7_88 = { - to_SHIFT_JIS_E7_88_offsets, - to_SHIFT_JIS_E7_88_infos -}; - -static const unsigned char -to_SHIFT_JIS_E7_89_offsets[64] = { - /* used from to_SHIFT_JIS_E7_89 */ - /* used from to_EUC_JP_E7_89 */ - 0, 21, 21, 21, 21, 21, 1, 2, 3, 21, 21, 4, 5, 21, 21, 21, - 21, 21, 6, 21, 21, 21, 21, 21, 7, 8, 21, 9, 21, 10, 21, 11, - 21, 12, 13, 21, 21, 21, 21, 14, 21, 15, 21, 21, 21, 21, 21, 21, - 21, 21, 16, 21, 17, 21, 21, 21, 21, 18, 21, 21, 21, 19, 20, 21, -}; -static const struct byte_lookup* const -to_SHIFT_JIS_E7_89_infos[22] = { - o2(0xE0,0xAC), o2(0xE0,0xAD), o2(0x95,0xD0), o2(0x94,0xC5), - o2(0xE0,0xAE), o2(0x94,0x76), o2(0x92,0xAB), o2(0xE0,0xAF), - o2(0x89,0xE5), o2(0x8B,0x8D), o2(0x96,0xC4), o2(0x96,0xB4), - o2(0x89,0xB2), o2(0x98,0x53), o2(0x96,0x71), o2(0x95,0xA8), - o2(0x90,0xB5), o2(0xE0,0xB0), o2(0x93,0xC1), o2(0x8C,0xA1), - o2(0xE0,0xB1), UNDEF, -}; -static const BYTE_LOOKUP -to_SHIFT_JIS_E7_89 = { - to_SHIFT_JIS_E7_89_offsets, - to_SHIFT_JIS_E7_89_infos -}; - -static const unsigned char -to_SHIFT_JIS_E7_8A_offsets[64] = { - /* used from to_SHIFT_JIS_E7_8A */ - /* used from to_EUC_JP_E7_8A */ - 0, 1, 2, 16, 16, 16, 16, 3, 16, 16, 16, 16, 16, 16, 16, 16, - 16, 16, 4, 16, 16, 16, 5, 16, 16, 16, 16, 16, 16, 16, 16, 16, - 6, 16, 7, 16, 16, 16, 16, 8, 16, 16, 16, 16, 9, 16, 16, 10, - 16, 11, 12, 16, 16, 16, 13, 16, 16, 14, 16, 16, 16, 16, 15, 16, -}; -static const struct byte_lookup* const -to_SHIFT_JIS_E7_8A_infos[17] = { - o2(0x8D,0xD2), o2(0xE0,0xB3), o2(0xE0,0xB2), o2(0xE0,0xB4), - o2(0xE0,0xB5), o2(0xE0,0xB6), o2(0x8B,0x5D), o2(0xE0,0xB7), - o2(0xE0,0xB8), o2(0x8C,0xA2), o2(0x94,0xC6), o2(0xFB,0x5B), - o2(0xE0,0xBA), o2(0x8F,0xF3), o2(0xE0,0xB9), o2(0xFB,0x5C), - UNDEF, -}; -static const BYTE_LOOKUP -to_SHIFT_JIS_E7_8A = { - to_SHIFT_JIS_E7_8A_offsets, - to_SHIFT_JIS_E7_8A_infos -}; - -static const unsigned char -to_SHIFT_JIS_E7_8B_offsets[64] = { - /* used from to_SHIFT_JIS_E7_8B */ - /* used from to_EUC_JP_E7_8B */ - 21, 21, 0, 1, 2, 21, 3, 21, 21, 21, 21, 21, 21, 21, 4, 21, - 5, 21, 6, 21, 21, 21, 21, 7, 21, 8, 21, 9, 21, 21, 21, 21, - 10, 11, 12, 21, 21, 21, 21, 21, 21, 13, 21, 21, 14, 15, 21, 21, - 21, 21, 21, 21, 21, 21, 21, 16, 17, 18, 21, 21, 19, 20, 21, 21, -}; -static const struct byte_lookup* const -to_SHIFT_JIS_E7_8B_infos[22] = { - o2(0x8B,0xB6), o2(0xE0,0xBB), o2(0xE0,0xBD), o2(0xE0,0xBC), - o2(0xE0,0xBE), o2(0x8C,0xCF), o2(0xE0,0xBF), o2(0x8B,0xE7), - o2(0x91,0x5F), o2(0x8D,0x9D), o2(0xE0,0xC1), o2(0xE0,0xC2), - o2(0xE0,0xC0), o2(0x8E,0xEB), o2(0x93,0xC6), o2(0x8B,0xB7), - o2(0xE0,0xC4), o2(0x92,0x4B), o2(0xE0,0xC3), o2(0x98,0x54), - o2(0x94,0x82), UNDEF, -}; -static const BYTE_LOOKUP -to_SHIFT_JIS_E7_8B = { - to_SHIFT_JIS_E7_8B_offsets, - to_SHIFT_JIS_E7_8B_infos -}; - -static const unsigned char -to_SHIFT_JIS_E7_8C_offsets[64] = { - /* used from to_SHIFT_JIS_E7_8C */ - /* used from to_EUC_JP_E7_8C */ - 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, 0, 19, 19, 19, 19, 19, - 19, 19, 19, 19, 19, 19, 1, 2, 19, 19, 19, 3, 4, 5, 19, 6, - 19, 19, 19, 19, 7, 8, 19, 19, 19, 9, 10, 11, 19, 19, 12, 13, - 19, 19, 19, 19, 14, 19, 15, 16, 19, 19, 19, 19, 19, 19, 17, 18, -}; -static const struct byte_lookup* const -to_SHIFT_JIS_E7_8C_infos[20] = { - o2(0xE0,0xC7), o2(0xE0,0xC9), o2(0xE0,0xC6), o2(0x96,0xD2), - o2(0xE0,0xC8), o2(0xE0,0xCA), o2(0x97,0xC2), o2(0xFB,0x5D), - o2(0xE0,0xCE), o2(0xE0,0xCD), o2(0x92,0x96), o2(0x94,0x4C), - o2(0x8C,0xA3), o2(0xE0,0xCC), o2(0xE0,0xCB), o2(0x97,0x50), - o2(0x97,0x51), o2(0xE0,0xCF), o2(0x89,0x8E), UNDEF, -}; -static const BYTE_LOOKUP -to_SHIFT_JIS_E7_8C = { - to_SHIFT_JIS_E7_8C_offsets, - to_SHIFT_JIS_E7_8C_infos -}; - -static const unsigned char -to_SHIFT_JIS_E7_8D_offsets[64] = { - /* used from to_SHIFT_JIS_E7_8D */ - /* used from to_EUC_JP_E7_8D */ - 15, 15, 15, 15, 0, 1, 15, 15, 15, 15, 15, 15, 15, 15, 2, 3, - 15, 15, 15, 15, 15, 15, 15, 4, 15, 15, 15, 15, 15, 15, 15, 15, - 15, 15, 15, 5, 15, 15, 15, 15, 6, 15, 7, 15, 15, 15, 15, 15, - 8, 15, 9, 15, 15, 10, 15, 11, 12, 15, 13, 14, 15, 15, 15, 15, -}; -static const struct byte_lookup* const -to_SHIFT_JIS_E7_8D_infos[16] = { - o2(0x8D,0x96), o2(0x8E,0x82), o2(0xE0,0xD0), o2(0xE0,0xD1), - o2(0xE0,0xD3), o2(0x8F,0x62), o2(0xE0,0xD5), o2(0xE0,0xD4), - o2(0xE0,0xD6), o2(0x8A,0x6C), o2(0xE0,0xD8), o2(0xFB,0x5F), - o2(0xE0,0xD7), o2(0xE0,0xDA), o2(0xE0,0xD9), UNDEF, -}; -static const BYTE_LOOKUP -to_SHIFT_JIS_E7_8D = { - to_SHIFT_JIS_E7_8D_offsets, - to_SHIFT_JIS_E7_8D_infos -}; - -static const unsigned char -to_SHIFT_JIS_E7_8E_offsets[64] = { - /* used from to_SHIFT_JIS_E7_8E */ - /* used from to_EUC_JP_E7_8E */ - 10, 10, 10, 10, 0, 10, 10, 1, 10, 2, 10, 3, 10, 10, 10, 10, - 10, 10, 10, 10, 10, 10, 4, 10, 10, 10, 10, 10, 10, 10, 10, 10, - 10, 10, 10, 10, 10, 10, 10, 10, 10, 5, 10, 10, 10, 10, 10, 10, - 10, 10, 6, 7, 10, 10, 10, 10, 10, 10, 10, 8, 10, 9, 10, 10, -}; -static const struct byte_lookup* const -to_SHIFT_JIS_E7_8E_infos[11] = { - o2(0x8C,0xBA), o2(0x97,0xA6), o2(0x8B,0xCA), o2(0x89,0xA4), - o2(0x8B,0xE8), o2(0x8A,0xDF), o2(0x97,0xE6), o2(0xE0,0xDC), - o2(0xE0,0xDE), o2(0xFB,0x60), UNDEF, -}; -static const BYTE_LOOKUP -to_SHIFT_JIS_E7_8E = { - to_SHIFT_JIS_E7_8E_offsets, - to_SHIFT_JIS_E7_8E_infos -}; - -static const unsigned char -to_SHIFT_JIS_E7_8F_offsets[64] = { - /* used from to_SHIFT_JIS_E7_8F */ - /* used from to_EUC_JP_E7_8F */ - 0, 20, 1, 20, 20, 20, 20, 20, 2, 3, 4, 20, 20, 5, 6, 20, - 20, 20, 7, 20, 20, 20, 8, 20, 20, 20, 20, 20, 20, 20, 9, 20, - 10, 20, 20, 11, 20, 12, 20, 20, 20, 20, 13, 20, 20, 14, 15, 20, - 20, 16, 20, 20, 20, 17, 20, 20, 18, 20, 20, 20, 20, 20, 19, 20, -}; -static const struct byte_lookup* const -to_SHIFT_JIS_E7_8F_infos[21] = { - o2(0xE0,0xDF), o2(0x89,0xCF), o2(0xE0,0xDB), o2(0xFB,0x61), - o2(0x8E,0x58), o2(0x92,0xBF), o2(0xE0,0xDD), o2(0xFB,0x64), - o2(0xFB,0x62), o2(0xE0,0xE2), o2(0x8E,0xEC), o2(0xFB,0x63), - o2(0xE0,0xE0), o2(0x8C,0x5D), o2(0x94,0xC7), o2(0xE0,0xE1), - o2(0xE0,0xFC), o2(0xFB,0x66), o2(0xE0,0xE7), o2(0x8C,0xBB), - UNDEF, -}; -static const BYTE_LOOKUP -to_SHIFT_JIS_E7_8F = { - to_SHIFT_JIS_E7_8F_offsets, - to_SHIFT_JIS_E7_8F_infos -}; - -static const unsigned char -to_SHIFT_JIS_E7_90_offsets[64] = { - /* used from to_SHIFT_JIS_E7_90 */ - /* used from to_EUC_JP_E7_90 */ - 18, 18, 18, 0, 18, 1, 2, 3, 18, 4, 18, 18, 18, 18, 18, 18, - 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, - 18, 18, 5, 18, 18, 6, 7, 18, 18, 8, 9, 18, 18, 18, 10, 18, - 18, 18, 11, 12, 13, 14, 15, 18, 18, 18, 16, 18, 18, 18, 18, 17, -}; -static const struct byte_lookup* const -to_SHIFT_JIS_E7_90_infos[19] = { - o2(0x8B,0x85), o2(0xE0,0xE4), o2(0x97,0x9D), o2(0xFB,0x65), - o2(0x97,0xAE), o2(0x91,0xF4), o2(0xE0,0xE6), o2(0xFB,0x67), - o2(0xFB,0x69), o2(0xFB,0x68), o2(0xFB,0x6A), o2(0xE0,0xE8), - o2(0x97,0xD4), o2(0x8B,0xD5), o2(0x94,0xFA), o2(0x94,0x69), - o2(0xE0,0xE9), o2(0xE0,0xEB), UNDEF, -}; -static const BYTE_LOOKUP -to_SHIFT_JIS_E7_90 = { - to_SHIFT_JIS_E7_90_offsets, - to_SHIFT_JIS_E7_90_infos -}; - -static const unsigned char -to_SHIFT_JIS_E7_91_offsets[64] = { - /* used from to_SHIFT_JIS_E7_91 */ - /* used from to_EUC_JP_E7_91 */ - 19, 0, 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, - 19, 19, 19, 19, 19, 1, 19, 19, 19, 2, 3, 4, 5, 19, 6, 7, - 8, 19, 9, 10, 11, 19, 19, 19, 19, 12, 13, 19, 19, 19, 19, 14, - 15, 19, 19, 16, 19, 19, 17, 19, 19, 19, 19, 19, 19, 19, 18, 19, -}; -static const struct byte_lookup* const -to_SHIFT_JIS_E7_91_infos[20] = { - o2(0xE0,0xEE), o2(0xE0,0xEA), o2(0xE0,0xED), o2(0x8C,0xE8), - o2(0x89,0x6C), o2(0xE0,0xEF), o2(0x90,0x90), o2(0xE0,0xEC), - o2(0x97,0xDA), o2(0xFB,0x6B), o2(0xE0,0xF2), o2(0xEA,0xA2), - o2(0xE0,0xF0), o2(0xE0,0xF3), o2(0xE0,0xE5), o2(0xE0,0xF1), - o2(0x8D,0xBA), o2(0xE0,0xF4), o2(0xE0,0xF5), UNDEF, -}; -static const BYTE_LOOKUP -to_SHIFT_JIS_E7_91 = { - to_SHIFT_JIS_E7_91_offsets, - to_SHIFT_JIS_E7_91_infos -}; - -static const unsigned char -to_SHIFT_JIS_E7_92_offsets[64] = { - /* used from to_SHIFT_JIS_E7_92 */ - /* used from to_EUC_JP_E7_92 */ - 9, 9, 9, 0, 9, 9, 9, 9, 9, 1, 9, 2, 9, 9, 9, 9, - 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 3, 4, - 9, 9, 5, 9, 9, 9, 9, 6, 9, 9, 9, 9, 9, 9, 9, 9, - 7, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 8, 9, 9, -}; -static const struct byte_lookup* const -to_SHIFT_JIS_E7_92_infos[10] = { - o2(0x97,0x9E), o2(0xFB,0x6C), o2(0xE0,0xF6), o2(0xE0,0xF7), - o2(0xFB,0x6D), o2(0xE0,0xE3), o2(0xE0,0xF8), o2(0x8A,0xC2), - o2(0x8E,0xA3), UNDEF, -}; -static const BYTE_LOOKUP -to_SHIFT_JIS_E7_92 = { - to_SHIFT_JIS_E7_92_offsets, - to_SHIFT_JIS_E7_92_infos -}; - -static const unsigned char -to_SHIFT_JIS_E7_93_offsets[64] = { - /* used from to_SHIFT_JIS_E7_93 */ - /* used from to_EUC_JP_E7_93 */ - 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 0, 17, 17, 17, 17, 1, - 17, 17, 17, 17, 2, 17, 17, 17, 17, 17, 17, 17, 3, 17, 17, 17, - 4, 17, 5, 6, 17, 17, 7, 8, 17, 9, 17, 17, 17, 17, 10, 17, - 11, 12, 13, 17, 17, 17, 14, 15, 16, 17, 17, 17, 17, 17, 17, 17, -}; -static const struct byte_lookup* const -to_SHIFT_JIS_E7_93_infos[18] = { - o2(0xE0,0xF9), o2(0xE0,0xFA), o2(0xE0,0xFB), o2(0x89,0x5A), - o2(0xE1,0x40), o2(0x95,0x5A), o2(0xE1,0x41), o2(0x8A,0xA2), - o2(0xE1,0x42), o2(0xE1,0x43), o2(0xE1,0x44), o2(0xE1,0x46), - o2(0xE1,0x47), o2(0xE1,0x45), o2(0x95,0x72), o2(0xE1,0x49), - o2(0xE1,0x48), UNDEF, -}; -static const BYTE_LOOKUP -to_SHIFT_JIS_E7_93 = { - to_SHIFT_JIS_E7_93_offsets, - to_SHIFT_JIS_E7_93_infos -}; - -static const unsigned char -to_SHIFT_JIS_E7_94_offsets[64] = { - /* used from to_SHIFT_JIS_E7_94 */ - /* used from to_EUC_JP_E7_94 */ - 31, 0, 31, 1, 2, 3, 31, 31, 31, 31, 31, 31, 4, 5, 6, 31, - 31, 7, 31, 8, 31, 9, 31, 31, 10, 31, 11, 31, 12, 31, 13, 14, - 31, 31, 31, 15, 31, 16, 17, 31, 18, 31, 31, 19, 20, 31, 31, 21, - 22, 23, 24, 25, 31, 31, 31, 26, 27, 31, 28, 29, 30, 31, 31, 31, -}; -static const struct byte_lookup* const -to_SHIFT_JIS_E7_94_infos[32] = { - o2(0xFB,0x6E), o2(0xE1,0x4B), o2(0xE1,0x4A), o2(0xE1,0x4C), - o2(0xE1,0x4D), o2(0xE1,0x4F), o2(0xE1,0x4E), o2(0x8D,0x99), - o2(0xE1,0x51), o2(0xE1,0x50), o2(0x8A,0xC3), o2(0x90,0x72), - o2(0x93,0x5B), o2(0xE1,0x52), o2(0x90,0xB6), o2(0x8E,0x59), - o2(0x89,0x99), o2(0xE1,0x53), o2(0x97,0x70), o2(0x95,0xE1), - o2(0xE1,0x54), o2(0xFA,0xA8), o2(0x93,0x63), o2(0x97,0x52), - o2(0x8D,0x62), o2(0x90,0x5C), o2(0x92,0x6A), o2(0x99,0xB2), - o2(0x92,0xAC), o2(0x89,0xE6), o2(0xE1,0x55), UNDEF, -}; -static const BYTE_LOOKUP -to_SHIFT_JIS_E7_94 = { - to_SHIFT_JIS_E7_94_offsets, - to_SHIFT_JIS_E7_94_infos -}; - -static const unsigned char -to_SHIFT_JIS_E7_95_offsets[64] = { - /* used from to_SHIFT_JIS_E7_95 */ - /* used from to_EUC_JP_E7_95 */ - 33, 33, 33, 33, 0, 33, 1, 33, 33, 2, 3, 4, 5, 6, 33, 7, - 33, 8, 33, 33, 9, 33, 33, 33, 33, 10, 11, 12, 13, 14, 33, 33, - 15, 33, 16, 33, 17, 18, 19, 20, 33, 21, 22, 23, 33, 24, 33, 25, - 26, 33, 33, 27, 28, 33, 29, 30, 31, 33, 33, 33, 33, 33, 33, 32, -}; -static const struct byte_lookup* const -to_SHIFT_JIS_E7_95_infos[34] = { - o2(0xE1,0x56), o2(0xE1,0x5B), o2(0xE1,0x59), o2(0xE1,0x58), - o2(0x9D,0xC0), o2(0x8A,0x45), o2(0xE1,0x57), o2(0x88,0xD8), - o2(0x94,0xA8), o2(0x94,0xC8), o2(0x97,0xAF), o2(0xE1,0x5C), - o2(0xE1,0x5A), o2(0x92,0x7B), o2(0x90,0xA4), o2(0x94,0xA9), - o2(0x95,0x4C), o2(0xE1,0x5E), o2(0x97,0xAA), o2(0x8C,0x6C), - o2(0xE1,0x5F), o2(0xE1,0x5D), o2(0x94,0xD4), o2(0xE1,0x60), - o2(0xE1,0x61), o2(0xFB,0x6F), o2(0x88,0xD9), o2(0x8F,0xF4), - o2(0xE1,0x66), o2(0xE1,0x63), o2(0x93,0xEB), o2(0xE1,0x62), - o2(0x8B,0x45), UNDEF, -}; -static const BYTE_LOOKUP -to_SHIFT_JIS_E7_95 = { - to_SHIFT_JIS_E7_95_offsets, - to_SHIFT_JIS_E7_95_infos -}; - -static const unsigned char -to_SHIFT_JIS_E7_96_offsets[64] = { - /* used from to_SHIFT_JIS_E7_96 */ - /* used from to_EUC_JP_E7_96 */ - 24, 24, 0, 24, 24, 24, 1, 2, 24, 3, 4, 5, 24, 24, 6, 7, - 24, 8, 24, 24, 9, 24, 24, 24, 24, 24, 10, 24, 24, 11, 24, 24, - 24, 24, 24, 12, 24, 13, 24, 24, 24, 24, 24, 14, 24, 24, 24, 24, - 24, 15, 16, 17, 24, 18, 24, 24, 19, 20, 24, 24, 21, 22, 23, 24, -}; -static const struct byte_lookup* const -to_SHIFT_JIS_E7_96_infos[25] = { - o2(0xE1,0x69), o2(0xE1,0x64), o2(0xE1,0x65), o2(0xE1,0x68), - o2(0xE1,0x67), o2(0x95,0x44), o2(0x91,0x61), o2(0x91,0x60), - o2(0x8B,0x5E), o2(0xE1,0x6A), o2(0xE1,0x6B), o2(0xE1,0x6C), - o2(0xE1,0x6E), o2(0xE1,0x6D), o2(0x89,0x75), o2(0xE1,0x76), - o2(0x94,0xE6), o2(0xE1,0x70), o2(0xE1,0x72), o2(0xE1,0x74), - o2(0x90,0x5D), o2(0xE1,0x75), o2(0xE1,0x73), o2(0x8E,0xBE), - UNDEF, -}; -static const BYTE_LOOKUP -to_SHIFT_JIS_E7_96 = { - to_SHIFT_JIS_E7_96_offsets, - to_SHIFT_JIS_E7_96_infos -}; - -static const unsigned char -to_SHIFT_JIS_E7_97_offsets[64] = { - /* used from to_SHIFT_JIS_E7_97 */ - /* used from to_EUC_JP_E7_97 */ - 24, 24, 0, 1, 24, 2, 24, 3, 24, 24, 4, 24, 24, 5, 24, 24, - 24, 24, 6, 24, 7, 8, 24, 24, 9, 10, 24, 11, 24, 24, 12, 24, - 24, 24, 13, 14, 24, 24, 24, 24, 24, 15, 24, 24, 24, 24, 24, 24, - 16, 24, 17, 18, 19, 24, 24, 24, 24, 24, 20, 24, 21, 24, 22, 23, -}; -static const struct byte_lookup* const -to_SHIFT_JIS_E7_97_infos[25] = { - o2(0xE1,0x6F), o2(0xE1,0x71), o2(0x95,0x61), o2(0x8F,0xC7), - o2(0xE1,0x78), o2(0xE1,0x77), o2(0xE1,0x79), o2(0x8E,0xA4), - o2(0x8D,0xAD), o2(0x93,0x97), o2(0xE1,0x7A), o2(0x92,0xC9), - o2(0xE1,0x7C), o2(0x97,0x9F), o2(0xE1,0x7B), o2(0x91,0x89), - o2(0xE1,0x82), o2(0xE1,0x84), o2(0xE1,0x85), o2(0x92,0x73), - o2(0xE1,0x83), o2(0xE1,0x80), o2(0xE1,0x7D), o2(0xE1,0x7E), - UNDEF, -}; -static const BYTE_LOOKUP -to_SHIFT_JIS_E7_97 = { - to_SHIFT_JIS_E7_97_offsets, - to_SHIFT_JIS_E7_97_infos -}; - -static const unsigned char -to_SHIFT_JIS_E7_98_offsets[64] = { - /* used from to_SHIFT_JIS_E7_98 */ - /* used from to_EUC_JP_E7_98 */ - 13, 0, 13, 13, 13, 13, 13, 13, 13, 1, 13, 2, 13, 3, 13, 13, - 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 4, - 5, 6, 7, 13, 8, 13, 13, 9, 13, 13, 13, 13, 13, 13, 13, 13, - 10, 13, 13, 13, 11, 13, 13, 13, 13, 13, 13, 12, 13, 13, 13, 13, -}; -static const struct byte_lookup* const -to_SHIFT_JIS_E7_98_infos[14] = { - o2(0xE1,0x81), o2(0xE1,0x88), o2(0xE1,0x86), o2(0xE1,0x87), - o2(0xE1,0x89), o2(0xE1,0x8B), o2(0xE1,0x8C), o2(0xE1,0x8D), - o2(0xE1,0x8E), o2(0xE1,0x8A), o2(0xE1,0x90), o2(0xE1,0x8F), - o2(0xE1,0x91), UNDEF, -}; -static const BYTE_LOOKUP -to_SHIFT_JIS_E7_98 = { - to_SHIFT_JIS_E7_98_offsets, - to_SHIFT_JIS_E7_98_infos -}; - -static const unsigned char -to_SHIFT_JIS_E7_99_offsets[64] = { - /* used from to_SHIFT_JIS_E7_99 */ - /* used from to_EUC_JP_E7_99 */ - 25, 25, 0, 25, 25, 25, 1, 2, 3, 25, 25, 25, 4, 25, 25, 25, - 25, 25, 5, 25, 25, 25, 6, 25, 7, 25, 25, 25, 8, 25, 25, 25, - 25, 9, 10, 25, 25, 25, 25, 11, 12, 13, 14, 25, 15, 25, 25, 25, - 16, 25, 17, 25, 25, 25, 18, 25, 19, 25, 20, 21, 22, 23, 24, 25, -}; -static const struct byte_lookup* const -to_SHIFT_JIS_E7_99_infos[26] = { - o2(0x97,0xC3), o2(0xE1,0x94), o2(0xE1,0x92), o2(0xE1,0x93), - o2(0x8A,0xE0), o2(0x96,0xFC), o2(0x95,0xC8), o2(0xE1,0x96), - o2(0xE1,0x95), o2(0xE1,0x97), o2(0xE1,0x98), o2(0xE1,0x9C), - o2(0xE1,0x99), o2(0xE1,0x9A), o2(0xE1,0x9B), o2(0xE1,0x9D), - o2(0xE1,0x9E), o2(0xE1,0x9F), o2(0xE1,0xA0), o2(0xE1,0xA1), - o2(0x94,0xAD), o2(0x93,0x6F), o2(0xE1,0xA2), o2(0x94,0x92), - o2(0x95,0x53), UNDEF, -}; -static const BYTE_LOOKUP -to_SHIFT_JIS_E7_99 = { - to_SHIFT_JIS_E7_99_offsets, - to_SHIFT_JIS_E7_99_infos -}; - -static const unsigned char -to_SHIFT_JIS_E7_9A_offsets[64] = { - /* used from to_SHIFT_JIS_E7_9A */ - /* used from to_EUC_JP_E7_9A */ - 0, 26, 1, 2, 3, 26, 4, 5, 6, 26, 26, 7, 26, 26, 8, 26, - 9, 26, 26, 10, 26, 26, 11, 26, 26, 12, 13, 14, 15, 26, 16, 26, - 26, 26, 26, 26, 26, 26, 17, 26, 26, 26, 26, 26, 26, 26, 18, 26, - 19, 26, 26, 26, 20, 26, 26, 21, 22, 23, 24, 26, 26, 26, 26, 25, -}; -static const struct byte_lookup* const -to_SHIFT_JIS_E7_9A_infos[27] = { - o2(0xE1,0xA3), o2(0xFB,0x70), o2(0xE1,0xA4), o2(0x93,0x49), - o2(0x8A,0x46), o2(0x8D,0x63), o2(0xE1,0xA5), o2(0xE1,0xA6), - o2(0xE1,0xA7), o2(0x8E,0x48), o2(0xE1,0xA9), o2(0xE1,0xA8), - o2(0xE1,0xAA), o2(0xE1,0xAB), o2(0xFB,0x73), o2(0xFB,0x71), - o2(0xFB,0x72), o2(0xFB,0x74), o2(0x94,0xE7), o2(0xE1,0xAC), - o2(0xE1,0xAD), o2(0xEA,0x89), o2(0xE1,0xAE), o2(0xE1,0xAF), - o2(0xE1,0xB0), o2(0x8E,0x4D), UNDEF, -}; -static const BYTE_LOOKUP -to_SHIFT_JIS_E7_9A = { - to_SHIFT_JIS_E7_9A_offsets, - to_SHIFT_JIS_E7_9A_infos -}; - -static const unsigned char -to_SHIFT_JIS_E7_9B_offsets[64] = { - /* used from to_SHIFT_JIS_E7_9B */ - /* used from to_EUC_JP_E7_9B */ - 25, 25, 0, 1, 25, 25, 2, 25, 3, 25, 4, 25, 25, 5, 25, 25, - 25, 25, 6, 25, 25, 25, 7, 8, 25, 25, 25, 9, 10, 25, 11, 12, - 25, 13, 25, 14, 15, 16, 25, 17, 25, 25, 18, 25, 25, 25, 19, 25, - 25, 25, 20, 25, 21, 25, 25, 25, 22, 25, 25, 23, 25, 25, 24, 25, -}; -static const struct byte_lookup* const -to_SHIFT_JIS_E7_9B_infos[26] = { - o2(0xE1,0xB1), o2(0x94,0x75), o2(0x96,0x7E), o2(0x89,0x6D), - o2(0x89,0x76), o2(0xE1,0xB2), o2(0xE1,0xB4), o2(0xE1,0xB3), - o2(0x93,0x90), o2(0x90,0xB7), o2(0x9F,0x58), o2(0xE1,0xB5), - o2(0x96,0xBF), o2(0xE1,0xB6), o2(0x8A,0xC4), o2(0x94,0xD5), - o2(0xE1,0xB7), o2(0xE1,0xB8), o2(0xE1,0xB9), o2(0x96,0xDA), - o2(0x96,0xD3), o2(0x92,0xBC), o2(0x91,0x8A), o2(0xE1,0xBB), - o2(0x8F,0x82), UNDEF, -}; -static const BYTE_LOOKUP -to_SHIFT_JIS_E7_9B = { - to_SHIFT_JIS_E7_9B_offsets, - to_SHIFT_JIS_E7_9B_infos -}; - -static const unsigned char -to_SHIFT_JIS_E7_9C_offsets[64] = { - /* used from to_SHIFT_JIS_E7_9C */ - /* used from to_EUC_JP_E7_9C */ - 19, 0, 19, 19, 1, 19, 19, 2, 3, 4, 19, 5, 6, 19, 19, 19, - 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, 7, 19, 19, 8, 9, - 10, 19, 19, 19, 11, 12, 13, 19, 19, 14, 19, 19, 19, 19, 19, 19, - 19, 19, 19, 19, 19, 19, 19, 15, 16, 19, 17, 19, 18, 19, 19, 19, -}; -static const struct byte_lookup* const -to_SHIFT_JIS_E7_9C_infos[20] = { - o2(0x8F,0xC8), o2(0xE1,0xBE), o2(0xE1,0xBD), o2(0xE1,0xBC), - o2(0x94,0xFB), o2(0x8A,0xC5), o2(0x8C,0xA7), o2(0xE1,0xC4), - o2(0xE1,0xC1), o2(0x90,0x5E), o2(0x96,0xB0), o2(0xE1,0xC0), - o2(0xE1,0xC2), o2(0xE1,0xC3), o2(0xE1,0xBF), o2(0xE1,0xC5), - o2(0xE1,0xC6), o2(0x92,0xAD), o2(0x8A,0xE1), UNDEF, -}; -static const BYTE_LOOKUP -to_SHIFT_JIS_E7_9C = { - to_SHIFT_JIS_E7_9C_offsets, - to_SHIFT_JIS_E7_9C_infos -}; - -static const unsigned char -to_SHIFT_JIS_E7_9D_offsets[64] = { - /* used from to_SHIFT_JIS_E7_9D */ - /* used from to_EUC_JP_E7_9D */ - 0, 14, 14, 14, 14, 14, 1, 2, 14, 14, 14, 14, 14, 14, 14, 14, - 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 3, 4, 14, 14, 14, 14, - 14, 5, 14, 6, 14, 7, 8, 14, 9, 14, 14, 10, 14, 14, 14, 14, - 14, 14, 14, 14, 14, 14, 14, 14, 14, 11, 14, 14, 14, 14, 12, 13, -}; -static const struct byte_lookup* const -to_SHIFT_JIS_E7_9D_infos[15] = { - o2(0x92,0x85), o2(0xFB,0x76), o2(0xE1,0xC7), o2(0xE1,0xC8), - o2(0xE1,0xCB), o2(0x90,0x87), o2(0x93,0xC2), o2(0xE1,0xCC), - o2(0x96,0x72), o2(0xE1,0xC9), o2(0xE1,0xCA), o2(0xE1,0xCF), - o2(0xE1,0xCE), o2(0xE1,0xCD), UNDEF, -}; -static const BYTE_LOOKUP -to_SHIFT_JIS_E7_9D = { - to_SHIFT_JIS_E7_9D_offsets, - to_SHIFT_JIS_E7_9D_infos -}; - -static const unsigned char -to_SHIFT_JIS_E7_9E_offsets[64] = { - /* used from to_SHIFT_JIS_E7_9E */ - /* used from to_EUC_JP_E7_9E */ - 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 0, 16, 16, 1, 16, - 16, 2, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 3, 16, - 4, 16, 16, 16, 16, 5, 16, 16, 16, 16, 16, 16, 6, 7, 16, 16, - 8, 16, 16, 9, 16, 16, 10, 16, 16, 11, 16, 12, 13, 14, 16, 15, -}; -static const struct byte_lookup* const -to_SHIFT_JIS_E7_9E_infos[17] = { - o2(0xE1,0xD1), o2(0xE1,0xD0), o2(0xE1,0xD2), o2(0xE1,0xD4), - o2(0xE1,0xD3), o2(0x95,0xCB), o2(0x8F,0x75), o2(0x97,0xC4), - o2(0xE1,0xD5), o2(0x93,0xB5), o2(0xE1,0xD6), o2(0xE1,0xD7), - o2(0xE1,0xDB), o2(0xE1,0xD9), o2(0xE1,0xDA), o2(0xE1,0xD8), - UNDEF, -}; -static const BYTE_LOOKUP -to_SHIFT_JIS_E7_9E = { - to_SHIFT_JIS_E7_9E_offsets, - to_SHIFT_JIS_E7_9E_infos -}; - -static const unsigned char -to_SHIFT_JIS_E7_9F_offsets[64] = { - /* used from to_SHIFT_JIS_E7_9F */ - /* used from to_EUC_JP_E7_9F */ - 16, 16, 16, 16, 16, 16, 16, 0, 16, 16, 16, 16, 16, 1, 16, 16, - 16, 16, 16, 16, 16, 16, 16, 2, 16, 16, 3, 4, 5, 16, 16, 16, - 16, 16, 6, 7, 16, 8, 16, 9, 16, 10, 16, 16, 16, 11, 12, 13, - 16, 16, 16, 14, 16, 16, 16, 16, 16, 16, 16, 16, 15, 16, 16, 16, -}; -static const struct byte_lookup* const -to_SHIFT_JIS_E7_9F_infos[17] = { - o2(0xE1,0xDC), o2(0xE1,0xDD), o2(0xE1,0xDE), o2(0xE1,0xDF), - o2(0x96,0xB5), o2(0xE1,0xE0), o2(0x96,0xEE), o2(0xE1,0xE1), - o2(0x92,0x6D), o2(0x94,0x8A), o2(0x8B,0xE9), o2(0x92,0x5A), - o2(0xE1,0xE2), o2(0x8B,0xB8), o2(0x90,0xCE), o2(0xE1,0xE3), - UNDEF, -}; -static const BYTE_LOOKUP -to_SHIFT_JIS_E7_9F = { - to_SHIFT_JIS_E7_9F_offsets, - to_SHIFT_JIS_E7_9F_infos -}; - -static const unsigned char -to_SHIFT_JIS_E7_A0_offsets[64] = { - /* used from to_SHIFT_JIS_E7_A0 */ - /* used from to_EUC_JP_E7_A0 */ - 14, 14, 0, 14, 14, 14, 14, 14, 14, 14, 14, 14, 1, 14, 14, 14, - 14, 14, 2, 14, 3, 4, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, - 5, 6, 14, 14, 14, 7, 8, 9, 14, 14, 14, 14, 14, 14, 14, 14, - 14, 14, 10, 14, 11, 14, 14, 14, 14, 14, 12, 14, 14, 14, 14, 13, -}; -static const struct byte_lookup* const -to_SHIFT_JIS_E7_A0_infos[15] = { - o2(0x8D,0xBB), o2(0xE1,0xE4), o2(0xE1,0xE5), o2(0x8C,0xA4), - o2(0x8D,0xD3), o2(0xE1,0xE7), o2(0xFB,0x78), o2(0x93,0x75), - o2(0x8D,0xD4), o2(0x8B,0x6D), o2(0x96,0x43), o2(0x94,0x6A), - o2(0x93,0x76), o2(0x8D,0x7B), UNDEF, -}; -static const BYTE_LOOKUP -to_SHIFT_JIS_E7_A0 = { - to_SHIFT_JIS_E7_A0_offsets, - to_SHIFT_JIS_E7_A0_infos -}; - -static const unsigned char -to_SHIFT_JIS_E7_A1_offsets[64] = { - /* used from to_SHIFT_JIS_E7_A1 */ - /* used from to_EUC_JP_E7_A1 */ - 11, 11, 11, 11, 11, 0, 11, 11, 11, 11, 11, 11, 11, 11, 1, 11, - 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 2, 11, 11, - 11, 11, 11, 11, 3, 11, 11, 11, 11, 11, 11, 4, 5, 11, 11, 6, - 11, 11, 7, 11, 8, 11, 11, 11, 11, 11, 9, 11, 10, 11, 11, 11, -}; -static const struct byte_lookup* const -to_SHIFT_JIS_E7_A1_infos[12] = { - o2(0xE1,0xE9), o2(0xFB,0x79), o2(0x8F,0xC9), o2(0xFB,0x7A), - o2(0x97,0xB0), o2(0x8D,0x64), o2(0x8C,0xA5), o2(0x94,0xA1), - o2(0xE1,0xEB), o2(0xFB,0x7B), o2(0xE1,0xED), UNDEF, -}; -static const BYTE_LOOKUP -to_SHIFT_JIS_E7_A1 = { - to_SHIFT_JIS_E7_A1_offsets, - to_SHIFT_JIS_E7_A1_infos -}; - -static const unsigned char -to_SHIFT_JIS_E7_A2_offsets[64] = { - /* used from to_SHIFT_JIS_E7_A2 */ - /* used from to_EUC_JP_E7_A2 */ - 20, 0, 20, 20, 20, 20, 1, 2, 20, 20, 20, 20, 3, 4, 5, 20, - 20, 6, 20, 7, 20, 8, 20, 9, 20, 20, 10, 20, 20, 20, 20, 20, - 20, 20, 20, 11, 20, 20, 20, 12, 20, 13, 14, 20, 20, 20, 20, 15, - 20, 20, 20, 20, 20, 16, 20, 20, 20, 20, 17, 20, 18, 20, 19, 20, -}; -static const struct byte_lookup* const -to_SHIFT_JIS_E7_A2_infos[21] = { - o2(0x8C,0xE9), o2(0xE1,0xEC), o2(0x92,0xF4), o2(0xE1,0xEF), - o2(0x8A,0x56), o2(0xE1,0xEA), o2(0x94,0xE8), o2(0x89,0x4F), - o2(0x8D,0xEA), o2(0x98,0x71), o2(0xE1,0xEE), o2(0xE1,0xF0), - o2(0x95,0xC9), o2(0x90,0xD7), o2(0xE1,0xF2), o2(0xE1,0xF3), - o2(0xE1,0xF1), o2(0x8A,0x6D), o2(0xE1,0xF9), o2(0xE1,0xF8), - UNDEF, -}; -static const BYTE_LOOKUP -to_SHIFT_JIS_E7_A2 = { - to_SHIFT_JIS_E7_A2_offsets, - to_SHIFT_JIS_E7_A2_infos -}; - -static const unsigned char -to_SHIFT_JIS_E7_A3_offsets[64] = { - /* used from to_SHIFT_JIS_E7_A3 */ - /* used from to_EUC_JP_E7_A3 */ - 15, 0, 15, 15, 15, 1, 2, 15, 15, 15, 3, 4, 15, 15, 15, 15, - 5, 6, 15, 15, 7, 15, 15, 15, 15, 15, 8, 15, 15, 15, 15, 15, - 15, 15, 15, 15, 15, 15, 15, 9, 10, 15, 15, 15, 11, 15, 15, 12, - 15, 15, 15, 15, 13, 15, 15, 15, 15, 15, 15, 15, 15, 14, 15, 15, -}; -static const struct byte_lookup* const -to_SHIFT_JIS_E7_A3_infos[16] = { - o2(0x8E,0xA5), o2(0xE1,0xFA), o2(0xE1,0xF5), o2(0xE1,0xFB), - o2(0xE1,0xF6), o2(0x94,0xD6), o2(0xE1,0xF4), o2(0xE1,0xF7), - o2(0xE2,0x41), o2(0xE2,0x40), o2(0x96,0x81), o2(0xE1,0xFC), - o2(0x88,0xE9), o2(0xE2,0x43), o2(0xE2,0x42), UNDEF, -}; -static const BYTE_LOOKUP -to_SHIFT_JIS_E7_A3 = { - to_SHIFT_JIS_E7_A3_offsets, - to_SHIFT_JIS_E7_A3_infos -}; - -static const unsigned char -to_SHIFT_JIS_E7_A4_offsets[64] = { - /* used from to_SHIFT_JIS_E7_A4 */ - /* used from to_EUC_JP_E7_A4 */ - 14, 0, 14, 14, 14, 14, 14, 1, 14, 14, 14, 14, 14, 14, 2, 14, - 14, 3, 4, 14, 14, 14, 14, 14, 14, 5, 14, 14, 14, 14, 14, 14, - 14, 14, 14, 14, 14, 14, 6, 14, 14, 14, 7, 8, 9, 14, 14, 14, - 10, 14, 14, 14, 14, 14, 14, 14, 14, 14, 11, 14, 12, 14, 13, 14, -}; -static const struct byte_lookup* const -to_SHIFT_JIS_E7_A4_infos[15] = { - o2(0x8F,0xCA), o2(0xE2,0x44), o2(0x91,0x62), o2(0xE2,0x46), - o2(0xE2,0x45), o2(0xE2,0x47), o2(0xE1,0xE6), o2(0xE1,0xE8), - o2(0xE2,0x49), o2(0xE2,0x48), o2(0xFB,0x7C), o2(0x8E,0xA6), - o2(0x97,0xE7), o2(0x8E,0xD0), UNDEF, -}; -static const BYTE_LOOKUP -to_SHIFT_JIS_E7_A4 = { - to_SHIFT_JIS_E7_A4_offsets, - to_SHIFT_JIS_E7_A4_infos -}; - -static const unsigned char -to_SHIFT_JIS_E7_A5_offsets[64] = { - /* used from to_SHIFT_JIS_E7_A5 */ - /* used from to_EUC_JP_E7_A5 */ - 0, 1, 22, 22, 22, 22, 22, 2, 3, 4, 22, 22, 22, 22, 22, 22, - 5, 22, 22, 6, 22, 7, 8, 9, 22, 22, 10, 22, 22, 11, 12, 13, - 14, 22, 15, 22, 22, 16, 22, 22, 17, 22, 22, 22, 22, 18, 22, 22, - 22, 22, 22, 22, 22, 22, 22, 19, 22, 22, 20, 22, 22, 22, 22, 21, -}; -static const struct byte_lookup* const -to_SHIFT_JIS_E7_A5_infos[23] = { - o2(0xE2,0x4A), o2(0x8C,0x56), o2(0x8B,0x5F), o2(0x8B,0x46), - o2(0x8E,0x83), o2(0x97,0x53), o2(0xE2,0x50), o2(0xE2,0x4F), - o2(0x91,0x63), o2(0xE2,0x4C), o2(0xE2,0x4E), o2(0x8F,0x6A), - o2(0x90,0x5F), o2(0xE2,0x4D), o2(0xE2,0x4B), o2(0x94,0x49), - o2(0x8F,0xCB), o2(0x95,0x5B), o2(0x8D,0xD5), o2(0x93,0x98), - o2(0xE2,0x51), o2(0xE2,0x52), UNDEF, -}; -static const BYTE_LOOKUP -to_SHIFT_JIS_E7_A5 = { - to_SHIFT_JIS_E7_A5_offsets, - to_SHIFT_JIS_E7_A5_infos -}; - -static const unsigned char -to_SHIFT_JIS_E7_A6_offsets[64] = { - /* used from to_SHIFT_JIS_E7_A6 */ - /* used from to_EUC_JP_E7_A6 */ - 0, 1, 22, 22, 2, 3, 22, 22, 22, 22, 4, 22, 22, 5, 6, 7, - 22, 22, 22, 22, 8, 22, 22, 22, 22, 22, 22, 9, 22, 10, 22, 22, - 22, 22, 22, 22, 22, 22, 11, 12, 22, 22, 13, 22, 22, 22, 14, 22, - 15, 22, 22, 16, 22, 22, 22, 22, 22, 17, 18, 22, 22, 19, 20, 21, -}; -static const struct byte_lookup* const -to_SHIFT_JIS_E7_A6_infos[23] = { - o2(0xE2,0x68), o2(0x8B,0xD6), o2(0x98,0x5C), o2(0x91,0x54), - o2(0xE2,0x53), o2(0x89,0xD0), o2(0x92,0xF5), o2(0x95,0x9F), - o2(0xFB,0x81), o2(0xFB,0x83), o2(0xE2,0x54), o2(0x8B,0x9A), - o2(0xE2,0x55), o2(0xE2,0x57), o2(0xE2,0x58), o2(0x94,0x48), - o2(0xE2,0x59), o2(0xE2,0x5A), o2(0xE2,0x5B), o2(0x8B,0xD7), - o2(0x89,0xD1), o2(0x93,0xC3), UNDEF, -}; -static const BYTE_LOOKUP -to_SHIFT_JIS_E7_A6 = { - to_SHIFT_JIS_E7_A6_offsets, - to_SHIFT_JIS_E7_A6_infos -}; - -static const unsigned char -to_SHIFT_JIS_E7_A7_offsets[64] = { - /* used from to_SHIFT_JIS_E7_A7 */ - /* used from to_EUC_JP_E7_A7 */ - 0, 1, 18, 18, 18, 18, 18, 18, 18, 2, 18, 3, 18, 18, 18, 18, - 18, 4, 5, 18, 18, 6, 18, 18, 7, 18, 18, 18, 18, 18, 18, 8, - 18, 9, 18, 10, 11, 18, 12, 13, 18, 14, 18, 18, 15, 18, 18, 18, - 16, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 17, 18, 18, 18, 18, -}; -static const struct byte_lookup* const -to_SHIFT_JIS_E7_A7_infos[19] = { - o2(0x8F,0x47), o2(0x8E,0x84), o2(0xE2,0x5C), o2(0x8F,0x48), - o2(0x89,0xC8), o2(0x95,0x62), o2(0xE2,0x5D), o2(0x94,0xE9), - o2(0x91,0x64), o2(0xE2,0x60), o2(0xE2,0x61), o2(0x94,0x89), - o2(0x90,0x60), o2(0xE2,0x5E), o2(0x92,0x81), o2(0xE2,0x5F), - o2(0x8F,0xCC), o2(0x88,0xDA), UNDEF, -}; -static const BYTE_LOOKUP -to_SHIFT_JIS_E7_A7 = { - to_SHIFT_JIS_E7_A7_offsets, - to_SHIFT_JIS_E7_A7_infos -}; - -static const unsigned char -to_SHIFT_JIS_E7_A8_offsets[64] = { - /* used from to_SHIFT_JIS_E7_A8 */ - /* used from to_EUC_JP_E7_A8 */ - 0, 22, 22, 22, 22, 22, 22, 22, 1, 22, 22, 2, 22, 3, 4, 22, - 22, 22, 22, 22, 5, 22, 22, 6, 7, 8, 9, 22, 10, 22, 22, 11, - 12, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 13, 22, - 22, 14, 15, 22, 22, 22, 22, 16, 22, 22, 22, 17, 18, 19, 20, 21, -}; -static const struct byte_lookup* const -to_SHIFT_JIS_E7_A8_infos[23] = { - o2(0x8B,0x48), o2(0xE2,0x62), o2(0x92,0xF6), o2(0xE2,0x63), - o2(0x90,0xC5), o2(0x96,0xAB), o2(0x95,0x42), o2(0xE2,0x64), - o2(0xE2,0x65), o2(0x92,0x74), o2(0x97,0xC5), o2(0xE2,0x67), - o2(0xE2,0x66), o2(0x8E,0xED), o2(0xE2,0x69), o2(0x88,0xEE), - o2(0xE2,0x6C), o2(0xE2,0x6A), o2(0x89,0xD2), o2(0x8C,0x6D), - o2(0xE2,0x6B), o2(0x8D,0x65), UNDEF, -}; -static const BYTE_LOOKUP -to_SHIFT_JIS_E7_A8 = { - to_SHIFT_JIS_E7_A8_offsets, - to_SHIFT_JIS_E7_A8_infos -}; - -static const unsigned char -to_SHIFT_JIS_E7_A9_offsets[64] = { - /* used from to_SHIFT_JIS_E7_A9 */ - /* used from to_EUC_JP_E7_A9 */ - 0, 22, 1, 2, 22, 22, 3, 22, 22, 4, 22, 22, 22, 5, 6, 7, - 8, 22, 22, 22, 22, 22, 22, 9, 22, 22, 22, 22, 22, 22, 22, 22, - 22, 10, 11, 12, 22, 22, 22, 22, 22, 13, 22, 14, 22, 22, 22, 22, - 15, 22, 22, 22, 16, 22, 17, 22, 22, 18, 19, 22, 22, 20, 22, 21, -}; -static const struct byte_lookup* const -to_SHIFT_JIS_E7_A9_infos[23] = { - o2(0x8D,0x92), o2(0x95,0xE4), o2(0xE2,0x6D), o2(0x96,0x73), - o2(0xE2,0x6F), o2(0x90,0xCF), o2(0x89,0x6E), o2(0x89,0xB8), - o2(0x88,0xAA), o2(0xE2,0x6E), o2(0xE2,0x70), o2(0xE2,0x71), - o2(0x8F,0xF5), o2(0xE2,0x72), o2(0x8A,0x6E), o2(0xE2,0x74), - o2(0x8C,0x8A), o2(0x8B,0x86), o2(0xE2,0x75), o2(0x8B,0xF3), - o2(0xE2,0x76), o2(0x90,0xFA), UNDEF, -}; -static const BYTE_LOOKUP -to_SHIFT_JIS_E7_A9 = { - to_SHIFT_JIS_E7_A9_offsets, - to_SHIFT_JIS_E7_A9_infos -}; - -static const unsigned char -to_SHIFT_JIS_E7_AA_offsets[64] = { - /* used from to_SHIFT_JIS_E7_AA */ - /* used from to_EUC_JP_E7_AA */ - 19, 0, 19, 1, 2, 19, 19, 19, 3, 19, 19, 19, 19, 19, 19, 19, - 19, 19, 4, 5, 19, 6, 7, 8, 9, 19, 19, 19, 19, 19, 19, 10, - 19, 19, 19, 19, 19, 19, 19, 19, 19, 11, 12, 19, 19, 19, 13, 14, - 15, 19, 19, 19, 19, 19, 16, 19, 19, 19, 17, 19, 19, 19, 19, 18, -}; -static const struct byte_lookup* const -to_SHIFT_JIS_E7_AA_infos[20] = { - o2(0x93,0xCB), o2(0x90,0xDE), o2(0x8D,0xF3), o2(0xE2,0x77), - o2(0x92,0x82), o2(0x91,0x8B), o2(0xE2,0x79), o2(0xE2,0x7B), - o2(0xE2,0x78), o2(0xE2,0x7A), o2(0x8C,0x41), o2(0xE2,0x7C), - o2(0x8C,0x45), o2(0x8B,0x87), o2(0x97,0x71), o2(0xE2,0x7E), - o2(0xE2,0x80), o2(0x89,0x4D), o2(0xE2,0x83), UNDEF, -}; -static const BYTE_LOOKUP -to_SHIFT_JIS_E7_AA = { - to_SHIFT_JIS_E7_AA_offsets, - to_SHIFT_JIS_E7_AA_infos -}; - -static const unsigned char -to_SHIFT_JIS_E7_AB_offsets[64] = { - /* used from to_SHIFT_JIS_E7_AB */ - /* used from to_EUC_JP_E7_AB */ - 35, 35, 35, 0, 1, 2, 35, 3, 4, 35, 5, 6, 35, 7, 35, 8, - 35, 9, 10, 11, 35, 12, 35, 35, 35, 13, 14, 35, 15, 16, 35, 17, - 18, 19, 20, 21, 35, 22, 23, 24, 35, 35, 25, 26, 35, 27, 35, 28, - 29, 35, 35, 35, 35, 35, 30, 35, 31, 32, 33, 35, 35, 35, 35, 34, -}; -static const struct byte_lookup* const -to_SHIFT_JIS_E7_AB_infos[36] = { - o2(0x8A,0x96), o2(0xE2,0x82), o2(0xE2,0x81), o2(0xE2,0x85), - o2(0xE2,0x7D), o2(0xE2,0x86), o2(0x97,0xA7), o2(0xE2,0x87), - o2(0xE2,0x88), o2(0xFB,0x84), o2(0x9A,0xF2), o2(0xE2,0x8A), - o2(0xE2,0x89), o2(0xE2,0x8B), o2(0xE2,0x8C), o2(0x97,0xB3), - o2(0xE2,0x8D), o2(0xE8,0xED), o2(0x8F,0xCD), o2(0xE2,0x8E), - o2(0xE2,0x8F), o2(0x8F,0x76), o2(0x93,0xB6), o2(0xE2,0x90), - o2(0xFB,0x85), o2(0x92,0x47), o2(0xFB,0x87), o2(0xE2,0x91), - o2(0x92,0x5B), o2(0xE2,0x92), o2(0x8B,0xA3), o2(0x99,0x5E), - o2(0x92,0x7C), o2(0x8E,0xB1), o2(0x8A,0xC6), UNDEF, -}; -static const BYTE_LOOKUP -to_SHIFT_JIS_E7_AB = { - to_SHIFT_JIS_E7_AB_offsets, - to_SHIFT_JIS_E7_AB_infos -}; - -static const unsigned char -to_SHIFT_JIS_E7_AC_offsets[64] = { - /* used from to_SHIFT_JIS_E7_AC */ - /* used from to_EUC_JP_E7_AC */ - 21, 21, 0, 21, 1, 21, 2, 21, 3, 21, 4, 5, 21, 21, 21, 6, - 21, 7, 21, 21, 21, 21, 21, 21, 8, 9, 21, 10, 21, 21, 11, 21, - 12, 21, 21, 21, 21, 13, 14, 21, 15, 21, 21, 21, 16, 21, 21, 21, - 21, 21, 21, 17, 21, 18, 19, 21, 21, 20, 21, 21, 21, 21, 21, 21, -}; -static const struct byte_lookup* const -to_SHIFT_JIS_E7_AC_infos[22] = { - o2(0xE2,0x93), o2(0xE2,0xA0), o2(0xE2,0x96), o2(0x8B,0x88), - o2(0xE2,0x95), o2(0xE2,0xA2), o2(0xE2,0x94), o2(0x8F,0xCE), - o2(0xE2,0x98), o2(0xE2,0x99), o2(0x93,0x4A), o2(0xE2,0x9A), - o2(0x8A,0x7D), o2(0x90,0x79), o2(0x95,0x84), o2(0xE2,0x9C), - o2(0x91,0xE6), o2(0xE2,0x97), o2(0xE2,0x9B), o2(0xE2,0x9D), - o2(0x8D,0xF9), UNDEF, -}; -static const BYTE_LOOKUP -to_SHIFT_JIS_E7_AC = { - to_SHIFT_JIS_E7_AC_offsets, - to_SHIFT_JIS_E7_AC_infos -}; - -static const unsigned char -to_SHIFT_JIS_E7_AD_offsets[64] = { - /* used from to_SHIFT_JIS_E7_AD */ - /* used from to_EUC_JP_E7_AD */ - 23, 23, 23, 23, 23, 0, 1, 23, 2, 3, 23, 4, 5, 6, 23, 7, - 8, 9, 10, 23, 11, 23, 12, 23, 23, 23, 23, 23, 23, 13, 23, 23, - 23, 23, 23, 23, 23, 14, 23, 15, 23, 23, 23, 23, 16, 23, 17, 23, - 18, 19, 23, 23, 20, 21, 23, 23, 23, 23, 22, 23, 23, 23, 23, 23, -}; -static const struct byte_lookup* const -to_SHIFT_JIS_E7_AD_infos[24] = { - o2(0xE2,0xA4), o2(0x95,0x4D), o2(0x94,0xA4), o2(0x93,0x99), - o2(0x8B,0xD8), o2(0xE2,0xA3), o2(0xE2,0xA1), o2(0x94,0xB3), - o2(0xE2,0x9E), o2(0x92,0x7D), o2(0x93,0x9B), o2(0x93,0x9A), - o2(0x8D,0xF4), o2(0xE2,0xB6), o2(0xE2,0xA6), o2(0xE2,0xA8), - o2(0xE2,0xAB), o2(0xE2,0xAC), o2(0xE2,0xA9), o2(0xE2,0xAA), - o2(0xE2,0xA7), o2(0xE2,0xA5), o2(0xE2,0x9F), UNDEF, -}; -static const BYTE_LOOKUP -to_SHIFT_JIS_E7_AD = { - to_SHIFT_JIS_E7_AD_offsets, - to_SHIFT_JIS_E7_AD_infos -}; - -static const unsigned char -to_SHIFT_JIS_E7_AE_offsets[64] = { - /* used from to_SHIFT_JIS_E7_AE */ - /* used from to_EUC_JP_E7_AE */ - 22, 22, 22, 22, 22, 22, 0, 1, 22, 22, 22, 2, 22, 3, 22, 4, - 22, 22, 5, 22, 6, 7, 22, 8, 9, 10, 11, 22, 12, 13, 14, 15, - 22, 16, 22, 22, 22, 22, 22, 22, 22, 22, 17, 22, 22, 18, 22, 22, - 22, 19, 22, 22, 20, 22, 22, 22, 21, 22, 22, 22, 22, 22, 22, 22, -}; -static const struct byte_lookup* const -to_SHIFT_JIS_E7_AE_infos[23] = { - o2(0x95,0xCD), o2(0x89,0xD3), o2(0xE2,0xB3), o2(0xE2,0xB0), - o2(0xE2,0xB5), o2(0xE2,0xB4), o2(0x94,0x93), o2(0x96,0xA5), - o2(0x8E,0x5A), o2(0xE2,0xAE), o2(0xE2,0xB7), o2(0xE2,0xB2), - o2(0xE2,0xB1), o2(0xE2,0xAD), o2(0xFB,0x88), o2(0xE2,0xAF), - o2(0x8A,0xC7), o2(0x92,0x5C), o2(0x90,0xFB), o2(0x94,0xA0), - o2(0xE2,0xBC), o2(0x94,0xA2), UNDEF, -}; -static const BYTE_LOOKUP -to_SHIFT_JIS_E7_AE = { - to_SHIFT_JIS_E7_AE_offsets, - to_SHIFT_JIS_E7_AE_infos -}; - -static const unsigned char -to_SHIFT_JIS_E7_AF_offsets[64] = { - /* used from to_SHIFT_JIS_E7_AF */ - /* used from to_EUC_JP_E7_AF */ - 0, 1, 19, 19, 2, 19, 3, 4, 19, 5, 19, 6, 7, 19, 19, 8, - 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, 9, 19, 19, - 10, 19, 19, 19, 11, 12, 13, 19, 19, 14, 19, 19, 19, 15, 19, 19, - 19, 19, 19, 16, 19, 19, 17, 18, 19, 19, 19, 19, 19, 19, 19, 19, -}; -static const struct byte_lookup* const -to_SHIFT_JIS_E7_AF_infos[20] = { - o2(0x90,0xDF), o2(0xE2,0xB9), o2(0x94,0xCD), o2(0xE2,0xBD), - o2(0x95,0xD1), o2(0x92,0x7A), o2(0xE2,0xB8), o2(0xE2,0xBA), - o2(0xE2,0xBB), o2(0xE2,0xBE), o2(0x8E,0xC2), o2(0x93,0xC4), - o2(0xE2,0xC3), o2(0xE2,0xC2), o2(0xE2,0xBF), o2(0x98,0x55), - o2(0xE2,0xC8), o2(0xE2,0xCC), o2(0xE2,0xC9), UNDEF, -}; -static const BYTE_LOOKUP -to_SHIFT_JIS_E7_AF = { - to_SHIFT_JIS_E7_AF_offsets, - to_SHIFT_JIS_E7_AF_infos -}; - -static const unsigned char -to_SHIFT_JIS_E7_B0_offsets[64] = { - /* used from to_SHIFT_JIS_E7_B0 */ - /* used from to_EUC_JP_E7_B0 */ - 0, 19, 19, 19, 19, 19, 19, 1, 19, 19, 19, 19, 19, 2, 19, 19, - 19, 3, 4, 5, 6, 19, 19, 7, 19, 19, 19, 19, 19, 19, 19, 8, - 19, 9, 19, 10, 19, 19, 19, 11, 19, 19, 12, 13, 19, 19, 19, 19, - 19, 19, 19, 19, 19, 19, 19, 14, 15, 19, 19, 19, 19, 16, 17, 18, -}; -static const struct byte_lookup* const -to_SHIFT_JIS_E7_B0_infos[20] = { - o2(0xE2,0xC5), o2(0xE2,0xC6), o2(0xE2,0xCB), o2(0xE2,0xC0), - o2(0x99,0xD3), o2(0xE2,0xC7), o2(0xE2,0xC1), o2(0xE2,0xCA), - o2(0xE2,0xD0), o2(0x8A,0xC8), o2(0xE2,0xCD), o2(0xE2,0xCE), - o2(0xE2,0xCF), o2(0xE2,0xD2), o2(0xE2,0xD1), o2(0x94,0xF4), - o2(0xE2,0xD3), o2(0x97,0xFA), o2(0x95,0xEB), UNDEF, -}; -static const BYTE_LOOKUP -to_SHIFT_JIS_E7_B0 = { - to_SHIFT_JIS_E7_B0_offsets, - to_SHIFT_JIS_E7_B0_infos -}; - -static const unsigned char -to_SHIFT_JIS_E7_B1_offsets[64] = { - /* used from to_SHIFT_JIS_E7_B1 */ - /* used from to_EUC_JP_E7_B1 */ - 0, 17, 17, 1, 17, 17, 17, 17, 17, 17, 17, 17, 2, 3, 17, 4, - 5, 17, 17, 17, 6, 17, 7, 17, 8, 17, 17, 17, 17, 17, 17, 9, - 10, 17, 17, 17, 11, 12, 17, 17, 17, 17, 17, 17, 13, 17, 17, 17, - 17, 17, 17, 14, 17, 15, 17, 17, 17, 17, 17, 17, 17, 17, 16, 17, -}; -static const struct byte_lookup* const -to_SHIFT_JIS_E7_B1_infos[18] = { - o2(0xE2,0xD8), o2(0xE2,0xD5), o2(0xE2,0xD4), o2(0x90,0xD0), - o2(0xE2,0xD7), o2(0xE2,0xD9), o2(0xE2,0xD6), o2(0xE2,0xDD), - o2(0xE2,0xDA), o2(0xE2,0xDB), o2(0xE2,0xC4), o2(0xE2,0xDC), - o2(0xE2,0xDE), o2(0xE2,0xDF), o2(0x95,0xC4), o2(0xE2,0xE0), - o2(0x96,0xE0), UNDEF, -}; -static const BYTE_LOOKUP -to_SHIFT_JIS_E7_B1 = { - to_SHIFT_JIS_E7_B1_offsets, - to_SHIFT_JIS_E7_B1_infos -}; - -static const unsigned char -to_SHIFT_JIS_E7_B2_offsets[64] = { - /* used from to_SHIFT_JIS_E7_B2 */ - /* used from to_EUC_JP_E7_B2 */ - 28, 0, 1, 2, 28, 28, 28, 28, 28, 3, 28, 4, 28, 5, 28, 28, - 6, 28, 7, 28, 28, 8, 28, 9, 10, 28, 28, 11, 28, 28, 28, 12, - 28, 13, 14, 28, 15, 16, 28, 17, 18, 28, 28, 19, 28, 20, 21, 28, - 28, 22, 23, 24, 28, 28, 28, 28, 28, 25, 28, 28, 28, 26, 27, 28, -}; -static const struct byte_lookup* const -to_SHIFT_JIS_E7_B2_infos[29] = { - o2(0x8B,0xCC), o2(0x8C,0x48), o2(0xE2,0xE1), o2(0x95,0xB2), - o2(0x90,0x88), o2(0x96,0xAE), o2(0xE2,0xE2), o2(0x97,0xB1), - o2(0x94,0x94), o2(0x91,0x65), o2(0x94,0x53), o2(0x8F,0x6C), - o2(0x88,0xBE), o2(0xE2,0xE7), o2(0xE2,0xE5), o2(0xE2,0xE3), - o2(0x8A,0x9F), o2(0x8F,0xCF), o2(0xE2,0xE8), o2(0xE2,0xE6), - o2(0xE2,0xE4), o2(0xE2,0xEC), o2(0xE2,0xEB), o2(0xE2,0xEA), - o2(0xE2,0xE9), o2(0xE2,0xED), o2(0xE2,0xEE), o2(0x90,0xB8), - UNDEF, -}; -static const BYTE_LOOKUP -to_SHIFT_JIS_E7_B2 = { - to_SHIFT_JIS_E7_B2_offsets, - to_SHIFT_JIS_E7_B2_infos -}; - -static const unsigned char -to_SHIFT_JIS_E7_B3_offsets[64] = { - /* used from to_SHIFT_JIS_E7_B3 */ - /* used from to_EUC_JP_E7_B3 */ - 0, 22, 1, 22, 22, 2, 22, 22, 22, 22, 3, 22, 22, 22, 4, 22, - 22, 22, 5, 22, 22, 22, 6, 22, 7, 22, 22, 22, 8, 22, 9, 10, - 11, 22, 12, 22, 22, 22, 22, 13, 22, 22, 22, 22, 22, 22, 22, 14, - 22, 22, 15, 22, 16, 22, 17, 22, 18, 22, 19, 20, 22, 22, 21, 22, -}; -static const struct byte_lookup* const -to_SHIFT_JIS_E7_B3_infos[23] = { - o2(0xE2,0xEF), o2(0xE2,0xF1), o2(0xE2,0xF0), o2(0x8C,0xD0), - o2(0x91,0x57), o2(0xE2,0xF3), o2(0x93,0x9C), o2(0xE2,0xF2), - o2(0xE2,0xF4), o2(0x95,0xB3), o2(0x91,0x8C), o2(0x8D,0x66), - o2(0xE2,0xF5), o2(0x97,0xC6), o2(0xE2,0xF7), o2(0xE2,0xF8), - o2(0xE2,0xF9), o2(0xE2,0xFA), o2(0x8E,0x85), o2(0xE2,0xFB), - o2(0x8C,0x6E), o2(0x8B,0x8A), UNDEF, -}; -static const BYTE_LOOKUP -to_SHIFT_JIS_E7_B3 = { - to_SHIFT_JIS_E7_B3_offsets, - to_SHIFT_JIS_E7_B3_infos -}; - -static const unsigned char -to_SHIFT_JIS_E7_B4_offsets[64] = { - /* used from to_SHIFT_JIS_E7_B4 */ - /* used from to_EUC_JP_E7_B4 */ - 0, 31, 1, 31, 2, 3, 4, 31, 31, 31, 5, 6, 31, 7, 31, 31, - 8, 31, 31, 31, 9, 10, 31, 11, 12, 13, 14, 15, 16, 31, 31, 31, - 17, 18, 19, 31, 31, 31, 31, 31, 31, 31, 31, 20, 21, 31, 22, 23, - 24, 31, 25, 26, 31, 27, 31, 31, 31, 28, 29, 31, 31, 31, 31, 30, -}; -static const struct byte_lookup* const -to_SHIFT_JIS_E7_B4_infos[32] = { - o2(0x8B,0x49), o2(0xE3,0x40), o2(0x96,0xF1), o2(0x8D,0x67), - o2(0xE2,0xFC), o2(0xE3,0x43), o2(0x96,0xE4), o2(0x94,0x5B), - o2(0x95,0x52), o2(0x8F,0x83), o2(0xE3,0x42), o2(0x8E,0xD1), - o2(0x8D,0x68), o2(0x8E,0x86), o2(0x8B,0x89), o2(0x95,0xB4), - o2(0xE3,0x41), o2(0x91,0x66), o2(0x96,0x61), o2(0x8D,0xF5), - o2(0x8E,0x87), o2(0x92,0xDB), o2(0xE3,0x46), o2(0x97,0xDD), - o2(0x8D,0xD7), o2(0xE3,0x47), o2(0x90,0x61), o2(0xE3,0x49), - o2(0x8F,0xD0), o2(0x8D,0xAE), o2(0xE3,0x48), UNDEF, -}; -static const BYTE_LOOKUP -to_SHIFT_JIS_E7_B4 = { - to_SHIFT_JIS_E7_B4_offsets, - to_SHIFT_JIS_E7_B4_infos -}; - -static const unsigned char -to_SHIFT_JIS_E7_B5_offsets[64] = { - /* used from to_SHIFT_JIS_E7_B5 */ - /* used from to_EUC_JP_E7_B5 */ - 28, 28, 0, 1, 2, 3, 4, 28, 5, 28, 28, 6, 7, 28, 8, 9, - 10, 28, 28, 28, 28, 28, 11, 28, 28, 28, 28, 12, 13, 28, 14, 28, - 28, 15, 16, 17, 28, 28, 18, 28, 19, 28, 28, 28, 28, 28, 20, 28, - 28, 21, 22, 23, 28, 24, 25, 28, 28, 26, 28, 28, 28, 27, 28, 28, -}; -static const struct byte_lookup* const -to_SHIFT_JIS_E7_B5_infos[29] = { - o2(0x8F,0x49), o2(0x8C,0xBC), o2(0x91,0x67), o2(0xE3,0x44), - o2(0xE3,0x4A), o2(0xFB,0x8A), o2(0xE3,0x45), o2(0x8C,0x6F), - o2(0xE3,0x4D), o2(0xE3,0x51), o2(0x8C,0x8B), o2(0xE3,0x4C), - o2(0xE3,0x55), o2(0xFB,0x8B), o2(0x8D,0x69), o2(0x97,0x8D), - o2(0x88,0xBA), o2(0xE3,0x52), o2(0x8B,0x8B), o2(0xE3,0x4F), - o2(0xE3,0x50), o2(0x93,0x9D), o2(0xE3,0x4E), o2(0xE3,0x4B), - o2(0x8A,0x47), o2(0x90,0xE2), o2(0x8C,0xA6), o2(0xE3,0x57), - UNDEF, -}; -static const BYTE_LOOKUP -to_SHIFT_JIS_E7_B5 = { - to_SHIFT_JIS_E7_B5_offsets, - to_SHIFT_JIS_E7_B5_infos -}; - -static const unsigned char -to_SHIFT_JIS_E7_B6_offsets[64] = { - /* used from to_SHIFT_JIS_E7_B6 */ - /* used from to_EUC_JP_E7_B6 */ - 28, 28, 28, 28, 28, 28, 28, 28, 28, 0, 28, 28, 28, 28, 28, 1, - 28, 28, 28, 2, 28, 28, 28, 28, 28, 3, 4, 5, 6, 28, 28, 7, - 8, 28, 9, 10, 28, 28, 28, 28, 28, 28, 28, 11, 12, 13, 14, 15, - 16, 17, 18, 28, 19, 20, 28, 21, 22, 28, 23, 24, 28, 25, 26, 27, -}; -static const struct byte_lookup* const -to_SHIFT_JIS_E7_B6_infos[29] = { - o2(0xE3,0x54), o2(0xE3,0x56), o2(0xE3,0x53), o2(0x8C,0x70), - o2(0x91,0xB1), o2(0xE3,0x58), o2(0x91,0x8E), o2(0xE3,0x65), - o2(0xFB,0x8D), o2(0xE3,0x61), o2(0xE3,0x5B), o2(0xE3,0x5F), - o2(0x8E,0xF8), o2(0x88,0xDB), o2(0xE3,0x5A), o2(0xE3,0x62), - o2(0xE3,0x66), o2(0x8D,0x6A), o2(0x96,0xD4), o2(0x92,0xD4), - o2(0xE3,0x5C), o2(0xFB,0x8C), o2(0xE3,0x64), o2(0xE3,0x59), - o2(0x92,0x5D), o2(0xE3,0x5E), o2(0x88,0xBB), o2(0x96,0xC8), - UNDEF, -}; -static const BYTE_LOOKUP -to_SHIFT_JIS_E7_B6 = { - to_SHIFT_JIS_E7_B6_offsets, - to_SHIFT_JIS_E7_B6_infos -}; - -static const unsigned char -to_SHIFT_JIS_E7_B7_offsets[64] = { - /* used from to_SHIFT_JIS_E7_B7 */ - /* used from to_EUC_JP_E7_B7 */ - 23, 23, 23, 23, 23, 23, 23, 0, 23, 23, 1, 2, 23, 23, 23, 3, - 23, 4, 5, 23, 23, 6, 7, 23, 8, 23, 9, 23, 10, 11, 12, 23, - 13, 14, 23, 23, 15, 23, 23, 23, 16, 17, 23, 23, 18, 23, 23, 19, - 23, 23, 20, 23, 21, 23, 23, 23, 23, 23, 23, 22, 23, 23, 23, 23, -}; -static const struct byte_lookup* const -to_SHIFT_JIS_E7_B7_infos[24] = { - o2(0xE3,0x5D), o2(0x8B,0xD9), o2(0x94,0xEA), o2(0x91,0x8D), - o2(0x97,0xCE), o2(0x8F,0x8F), o2(0xE3,0x8E), o2(0xFB,0x8E), - o2(0xE3,0x67), o2(0x90,0xFC), o2(0xE3,0x63), o2(0xE3,0x68), - o2(0xE3,0x6A), o2(0x92,0xF7), o2(0xE3,0x6D), o2(0xE3,0x69), - o2(0x95,0xD2), o2(0x8A,0xC9), o2(0x96,0xC9), o2(0x88,0xDC), - o2(0xE3,0x6C), o2(0x97,0xFB), o2(0xE3,0x6B), UNDEF, -}; -static const BYTE_LOOKUP -to_SHIFT_JIS_E7_B7 = { - to_SHIFT_JIS_E7_B7_offsets, - to_SHIFT_JIS_E7_B7_infos -}; - -static const unsigned char -to_SHIFT_JIS_E7_B8_offsets[64] = { - /* used from to_SHIFT_JIS_E7_B8 */ - /* used from to_EUC_JP_E7_B8 */ - 25, 0, 25, 25, 1, 2, 25, 25, 25, 3, 4, 5, 25, 25, 25, 25, - 25, 25, 6, 25, 25, 25, 25, 25, 25, 25, 25, 7, 25, 25, 8, 9, - 25, 10, 11, 12, 25, 25, 13, 25, 25, 25, 25, 14, 25, 25, 15, 25, - 25, 16, 17, 25, 25, 18, 25, 19, 25, 20, 21, 22, 25, 23, 24, 25, -}; -static const struct byte_lookup* const -to_SHIFT_JIS_E7_B8_infos[26] = { - o2(0x89,0x8F), o2(0x93,0xEA), o2(0xE3,0x6E), o2(0xE3,0x75), - o2(0xE3,0x6F), o2(0xE3,0x76), o2(0xE3,0x72), o2(0x94,0x9B), - o2(0x8E,0xC8), o2(0xE3,0x74), o2(0xE3,0x71), o2(0xE3,0x77), - o2(0xE3,0x70), o2(0x8F,0x63), o2(0x96,0x44), o2(0x8F,0x6B), - o2(0xE3,0x73), o2(0xE3,0x80), o2(0xE3,0x7B), o2(0xE3,0x7E), - o2(0xE3,0x7C), o2(0xE3,0x81), o2(0xE3,0x7A), o2(0xE3,0x60), - o2(0x90,0xD1), UNDEF, -}; -static const BYTE_LOOKUP -to_SHIFT_JIS_E7_B8 = { - to_SHIFT_JIS_E7_B8_offsets, - to_SHIFT_JIS_E7_B8_infos -}; - -static const unsigned char -to_SHIFT_JIS_E7_B9_offsets[64] = { - /* used from to_SHIFT_JIS_E7_B9 */ - /* used from to_EUC_JP_E7_B9 */ - 25, 0, 25, 1, 25, 25, 2, 25, 25, 25, 3, 4, 25, 5, 25, 25, - 25, 25, 6, 25, 7, 8, 9, 25, 25, 10, 11, 25, 25, 12, 13, 25, - 25, 25, 25, 25, 25, 25, 14, 15, 25, 16, 17, 25, 25, 18, 25, 25, - 19, 25, 25, 25, 25, 25, 25, 25, 25, 20, 25, 21, 22, 23, 25, 24, -}; -static const struct byte_lookup* const -to_SHIFT_JIS_E7_B9_infos[26] = { - o2(0x94,0xC9), o2(0xE3,0x7D), o2(0xE3,0x78), o2(0x91,0x40), - o2(0x8C,0x71), o2(0x8F,0x4A), o2(0xFB,0x8F), o2(0x90,0x44), - o2(0x91,0x55), o2(0xE3,0x84), o2(0xE3,0x86), o2(0xE3,0x87), - o2(0xE3,0x83), o2(0xE3,0x85), o2(0xE3,0x79), o2(0xE3,0x82), - o2(0xE3,0x8A), o2(0xE3,0x89), o2(0x96,0x9A), o2(0x8C,0x4A), - o2(0xE3,0x88), o2(0xE3,0x8C), o2(0xE3,0x8B), o2(0xE3,0x8F), - o2(0xE3,0x91), UNDEF, -}; -static const BYTE_LOOKUP -to_SHIFT_JIS_E7_B9 = { - to_SHIFT_JIS_E7_B9_offsets, - to_SHIFT_JIS_E7_B9_infos -}; - -static const unsigned char -to_SHIFT_JIS_E7_BA_offsets[64] = { - /* used from to_SHIFT_JIS_E7_BA */ - /* used from to_EUC_JP_E7_BA */ - 15, 15, 0, 1, 15, 15, 15, 15, 2, 3, 4, 15, 5, 15, 6, 7, - 8, 15, 9, 10, 11, 15, 12, 15, 15, 15, 15, 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, -}; -static const struct byte_lookup* const -to_SHIFT_JIS_E7_BA_infos[16] = { - o2(0x8E,0x5B), o2(0xE3,0x8D), o2(0xE3,0x92), o2(0xE3,0x93), - o2(0xFA,0x5C), o2(0xE3,0x94), o2(0xE3,0x9A), o2(0x93,0x5A), - o2(0xE3,0x96), o2(0xE3,0x95), o2(0xE3,0x97), o2(0xE3,0x98), - o2(0xE3,0x99), o2(0xE3,0x9B), o2(0xE3,0x9C), UNDEF, -}; -static const BYTE_LOOKUP -to_SHIFT_JIS_E7_BA = { - to_SHIFT_JIS_E7_BA_offsets, - to_SHIFT_JIS_E7_BA_infos -}; - -static const unsigned char -to_SHIFT_JIS_E7_BC_offsets[64] = { - /* used from to_SHIFT_JIS_E7_BC */ - /* used from to_EUC_JP_E7_BC */ - 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, - 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, - 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, - 3, 3, 3, 3, 3, 3, 0, 3, 1, 3, 2, 3, 3, 3, 3, 3, -}; -static const struct byte_lookup* const -to_SHIFT_JIS_E7_BC_infos[4] = { - o2(0x8A,0xCA), o2(0xE3,0x9D), o2(0xE3,0x9E), UNDEF, -}; -static const BYTE_LOOKUP -to_SHIFT_JIS_E7_BC = { - to_SHIFT_JIS_E7_BC_offsets, - to_SHIFT_JIS_E7_BC_infos -}; - -static const unsigned char -to_SHIFT_JIS_E7_BD_offsets[64] = { - /* used from to_SHIFT_JIS_E7_BD */ - /* used from to_EUC_JP_E7_BD */ - 24, 24, 24, 24, 24, 0, 24, 1, 24, 24, 24, 24, 2, 3, 4, 24, - 5, 6, 24, 24, 7, 8, 24, 24, 9, 24, 24, 24, 24, 24, 24, 10, - 11, 24, 24, 24, 24, 24, 24, 12, 13, 14, 15, 16, 24, 24, 17, 24, - 18, 24, 19, 24, 24, 20, 24, 21, 22, 23, 24, 24, 24, 24, 24, 24, -}; -static const struct byte_lookup* const -to_SHIFT_JIS_E7_BD_infos[25] = { - o2(0xE3,0x9F), o2(0xFB,0x90), o2(0xE3,0xA0), o2(0xE3,0xA1), - o2(0xE3,0xA2), o2(0xE3,0xA3), o2(0xE3,0xA4), o2(0xE3,0xA6), - o2(0xE3,0xA5), o2(0xE3,0xA7), o2(0xE3,0xA8), o2(0xE3,0xA9), - o2(0xE3,0xAC), o2(0xE3,0xAA), o2(0xE3,0xAB), o2(0x8D,0xDF), - o2(0x8C,0x72), o2(0x92,0x75), o2(0x94,0xB1), o2(0x8F,0x90), - o2(0x94,0x6C), o2(0x94,0xEB), o2(0xE3,0xAD), o2(0x9C,0xEB), - UNDEF, -}; -static const BYTE_LOOKUP -to_SHIFT_JIS_E7_BD = { - to_SHIFT_JIS_E7_BD_offsets, - to_SHIFT_JIS_E7_BD_infos -}; - -static const unsigned char -to_SHIFT_JIS_E7_BE_offsets[64] = { - /* used from to_SHIFT_JIS_E7_BE */ - /* used from to_EUC_JP_E7_BE */ - 25, 25, 0, 1, 25, 2, 3, 4, 5, 25, 6, 25, 7, 25, 8, 25, - 25, 25, 25, 25, 9, 25, 25, 25, 25, 25, 10, 25, 25, 11, 12, 25, - 25, 13, 25, 14, 15, 25, 25, 25, 16, 17, 25, 25, 25, 25, 18, 19, - 25, 25, 20, 25, 25, 25, 21, 25, 22, 23, 25, 25, 25, 24, 25, 25, -}; -static const struct byte_lookup* const -to_SHIFT_JIS_E7_BE_infos[26] = { - o2(0xE3,0xAE), o2(0xE3,0xB0), o2(0x97,0x85), o2(0xE3,0xAF), - o2(0xE3,0xB2), o2(0xE3,0xB1), o2(0x97,0x72), o2(0xE3,0xB3), - o2(0x94,0xFC), o2(0xE3,0xB4), o2(0xE3,0xB7), o2(0xE3,0xB6), - o2(0xE3,0xB5), o2(0xFB,0x91), o2(0xE3,0xB8), o2(0x8C,0x51), - o2(0x91,0x41), o2(0x8B,0x60), o2(0xE3,0xBC), o2(0xE3,0xB9), - o2(0xE3,0xBA), o2(0xE3,0xBD), o2(0xE3,0xBE), o2(0xE3,0xBB), - o2(0x89,0x48), UNDEF, -}; -static const BYTE_LOOKUP -to_SHIFT_JIS_E7_BE = { - to_SHIFT_JIS_E7_BE_offsets, - to_SHIFT_JIS_E7_BE_infos -}; - -static const unsigned char -to_SHIFT_JIS_E7_BF_offsets[64] = { - /* used from to_SHIFT_JIS_E7_BF */ - /* used from to_EUC_JP_E7_BF */ - 18, 0, 18, 18, 18, 1, 2, 18, 18, 18, 3, 18, 4, 18, 18, 18, - 18, 18, 5, 18, 6, 7, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, - 8, 9, 18, 18, 18, 18, 10, 18, 18, 11, 18, 12, 18, 18, 18, 18, - 13, 18, 18, 14, 18, 18, 18, 18, 18, 15, 18, 16, 17, 18, 18, 18, -}; -static const struct byte_lookup* const -to_SHIFT_JIS_E7_BF_infos[19] = { - o2(0x89,0xA5), o2(0xE3,0xC0), o2(0xE3,0xC1), o2(0xE3,0xC2), - o2(0x97,0x82), o2(0x8F,0x4B), o2(0xE3,0xC4), o2(0xE3,0xC3), - o2(0x90,0x89), o2(0xE3,0xC5), o2(0xE3,0xC6), o2(0xE3,0xC7), - o2(0x8A,0xE3), o2(0x8A,0xCB), o2(0xE3,0xC8), o2(0xE3,0xC9), - o2(0x96,0x7C), o2(0x97,0x83), UNDEF, -}; -static const BYTE_LOOKUP -to_SHIFT_JIS_E7_BF = { - to_SHIFT_JIS_E7_BF_offsets, - to_SHIFT_JIS_E7_BF_infos -}; - -static const unsigned char -to_SHIFT_JIS_E7_offsets[64] = { - /* used from to_SHIFT_JIS_E7 */ - /* used from to_EUC_JP_E7 */ - 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, 63, 59, 60, 61, 62, -}; -static const struct byte_lookup* const -to_SHIFT_JIS_E7_infos[64] = { - &to_SHIFT_JIS_E7_80, &to_SHIFT_JIS_E7_81, - &to_SHIFT_JIS_E7_82, &to_SHIFT_JIS_E7_83, - &to_SHIFT_JIS_E7_84, &to_SHIFT_JIS_E7_85, - &to_SHIFT_JIS_E7_86, &to_SHIFT_JIS_E7_87, - &to_SHIFT_JIS_E7_88, &to_SHIFT_JIS_E7_89, - &to_SHIFT_JIS_E7_8A, &to_SHIFT_JIS_E7_8B, - &to_SHIFT_JIS_E7_8C, &to_SHIFT_JIS_E7_8D, - &to_SHIFT_JIS_E7_8E, &to_SHIFT_JIS_E7_8F, - &to_SHIFT_JIS_E7_90, &to_SHIFT_JIS_E7_91, - &to_SHIFT_JIS_E7_92, &to_SHIFT_JIS_E7_93, - &to_SHIFT_JIS_E7_94, &to_SHIFT_JIS_E7_95, - &to_SHIFT_JIS_E7_96, &to_SHIFT_JIS_E7_97, - &to_SHIFT_JIS_E7_98, &to_SHIFT_JIS_E7_99, - &to_SHIFT_JIS_E7_9A, &to_SHIFT_JIS_E7_9B, - &to_SHIFT_JIS_E7_9C, &to_SHIFT_JIS_E7_9D, - &to_SHIFT_JIS_E7_9E, &to_SHIFT_JIS_E7_9F, - &to_SHIFT_JIS_E7_A0, &to_SHIFT_JIS_E7_A1, - &to_SHIFT_JIS_E7_A2, &to_SHIFT_JIS_E7_A3, - &to_SHIFT_JIS_E7_A4, &to_SHIFT_JIS_E7_A5, - &to_SHIFT_JIS_E7_A6, &to_SHIFT_JIS_E7_A7, - &to_SHIFT_JIS_E7_A8, &to_SHIFT_JIS_E7_A9, - &to_SHIFT_JIS_E7_AA, &to_SHIFT_JIS_E7_AB, - &to_SHIFT_JIS_E7_AC, &to_SHIFT_JIS_E7_AD, - &to_SHIFT_JIS_E7_AE, &to_SHIFT_JIS_E7_AF, - &to_SHIFT_JIS_E7_B0, &to_SHIFT_JIS_E7_B1, - &to_SHIFT_JIS_E7_B2, &to_SHIFT_JIS_E7_B3, - &to_SHIFT_JIS_E7_B4, &to_SHIFT_JIS_E7_B5, - &to_SHIFT_JIS_E7_B6, &to_SHIFT_JIS_E7_B7, - &to_SHIFT_JIS_E7_B8, &to_SHIFT_JIS_E7_B9, - &to_SHIFT_JIS_E7_BA, &to_SHIFT_JIS_E7_BC, - &to_SHIFT_JIS_E7_BD, &to_SHIFT_JIS_E7_BE, - &to_SHIFT_JIS_E7_BF, UNDEF, -}; -static const BYTE_LOOKUP -to_SHIFT_JIS_E7 = { - to_SHIFT_JIS_E7_offsets, - to_SHIFT_JIS_E7_infos -}; - -static const unsigned char -to_SHIFT_JIS_E8_80_offsets[64] = { - /* used from to_SHIFT_JIS_E8_80 */ - /* used from to_EUC_JP_E8_80 */ - 0, 1, 22, 2, 3, 4, 5, 22, 22, 22, 22, 6, 7, 22, 22, 22, - 8, 22, 9, 22, 22, 10, 22, 11, 12, 13, 22, 22, 14, 22, 22, 22, - 22, 15, 22, 22, 22, 22, 22, 22, 16, 22, 22, 22, 22, 22, 22, 22, - 22, 22, 22, 17, 22, 22, 18, 22, 22, 22, 22, 19, 22, 20, 22, 21, -}; -static const struct byte_lookup* const -to_SHIFT_JIS_E8_80_infos[23] = { - o2(0x97,0x73), o2(0x98,0x56), o2(0x8D,0x6C), o2(0xE3,0xCC), - o2(0x8E,0xD2), o2(0xE3,0xCB), o2(0xE3,0xCD), o2(0x8E,0xA7), - o2(0x91,0xCF), o2(0xE3,0xCE), o2(0x8D,0x6B), o2(0x96,0xD5), - o2(0xE3,0xCF), o2(0xE3,0xD0), o2(0xE3,0xD1), o2(0xE3,0xD2), - o2(0xE3,0xD3), o2(0x8E,0xA8), o2(0x96,0xEB), o2(0xE3,0xD5), - o2(0x92,0x5E), o2(0xE3,0xD4), UNDEF, -}; -static const BYTE_LOOKUP -to_SHIFT_JIS_E8_80 = { - to_SHIFT_JIS_E8_80_offsets, - to_SHIFT_JIS_E8_80_infos -}; - -static const unsigned char -to_SHIFT_JIS_E8_81_offsets[64] = { - /* used from to_SHIFT_JIS_E8_81 */ - /* used from to_EUC_JP_E8_81 */ - 22, 22, 22, 22, 22, 22, 0, 22, 22, 22, 1, 22, 22, 22, 22, 22, - 22, 22, 2, 22, 22, 22, 3, 22, 4, 22, 5, 22, 22, 22, 6, 7, - 22, 8, 9, 22, 22, 22, 22, 22, 10, 22, 22, 22, 22, 22, 22, 11, - 12, 22, 13, 14, 15, 22, 16, 17, 22, 18, 22, 22, 22, 19, 20, 21, -}; -static const struct byte_lookup* const -to_SHIFT_JIS_E8_81_infos[23] = { - o2(0xE3,0xD7), o2(0xE3,0xD6), o2(0xE3,0xD8), o2(0x90,0xB9), - o2(0xE3,0xD9), o2(0xE3,0xDA), o2(0x95,0xB7), o2(0xE3,0xDB), - o2(0x91,0x8F), o2(0xE3,0xDC), o2(0xE3,0xDD), o2(0x97,0xFC), - o2(0xE3,0xE0), o2(0xE3,0xDF), o2(0xE3,0xDE), o2(0x92,0xAE), - o2(0xE3,0xE1), o2(0x90,0x45), o2(0xE3,0xE2), o2(0xE3,0xE3), - o2(0x98,0x57), o2(0xE3,0xE4), UNDEF, -}; -static const BYTE_LOOKUP -to_SHIFT_JIS_E8_81 = { - to_SHIFT_JIS_E8_81_offsets, - to_SHIFT_JIS_E8_81_infos -}; - -static const unsigned char -to_SHIFT_JIS_E8_82_offsets[64] = { - /* used from to_SHIFT_JIS_E8_82 */ - /* used from to_EUC_JP_E8_82 */ - 25, 25, 25, 25, 0, 1, 2, 3, 25, 4, 25, 5, 6, 25, 25, 25, - 25, 25, 25, 7, 25, 25, 8, 25, 9, 25, 10, 11, 25, 12, 25, 25, - 25, 13, 14, 25, 25, 15, 25, 25, 25, 16, 17, 25, 18, 19, 25, 20, - 25, 21, 22, 25, 23, 25, 25, 25, 25, 25, 24, 25, 25, 25, 25, 25, -}; -static const struct byte_lookup* const -to_SHIFT_JIS_E8_82_infos[26] = { - o2(0xE3,0xE5), o2(0xE3,0xE7), o2(0xE3,0xE6), o2(0x94,0xA3), - o2(0x93,0xF7), o2(0x98,0x5D), o2(0x94,0xA7), o2(0xE3,0xE9), - o2(0x8F,0xD1), o2(0x95,0x49), o2(0xE3,0xEA), o2(0xE3,0xE8), - o2(0x8A,0xCC), o2(0x8C,0xD2), o2(0x8E,0x88), o2(0x94,0xEC), - o2(0x8C,0xA8), o2(0x96,0x62), o2(0xE3,0xED), o2(0xE3,0xEB), - o2(0x8D,0x6D), o2(0x8D,0x6E), o2(0x88,0xE7), o2(0x8D,0xE6), - o2(0x94,0x78), UNDEF, -}; -static const BYTE_LOOKUP -to_SHIFT_JIS_E8_82 = { - to_SHIFT_JIS_E8_82_offsets, - to_SHIFT_JIS_E8_82_infos -}; - -static const unsigned char -to_SHIFT_JIS_E8_83_offsets[64] = { - /* used from to_SHIFT_JIS_E8_83 */ - /* used from to_EUC_JP_E8_83 */ - 20, 20, 20, 0, 1, 20, 2, 20, 20, 20, 20, 20, 3, 20, 4, 20, - 20, 20, 20, 20, 20, 20, 5, 20, 20, 6, 7, 8, 20, 9, 10, 20, - 20, 11, 20, 20, 12, 13, 20, 20, 20, 20, 20, 20, 20, 20, 20, 14, - 20, 15, 20, 20, 16, 20, 20, 20, 17, 20, 20, 20, 18, 19, 20, 20, -}; -static const struct byte_lookup* const -to_SHIFT_JIS_E8_83_infos[21] = { - o2(0x88,0xDD), o2(0xE3,0xF2), o2(0x92,0x5F), o2(0x94,0x77), - o2(0x91,0xD9), o2(0xE3,0xF4), o2(0xE3,0xF0), o2(0xE3,0xF3), - o2(0xE3,0xEE), o2(0xE3,0xF1), o2(0x96,0x45), o2(0x8C,0xD3), - o2(0x88,0xFB), o2(0xE3,0xEF), o2(0xE3,0xF6), o2(0xE3,0xF7), - o2(0x93,0xB7), o2(0x8B,0xB9), o2(0xE4,0x45), o2(0x94,0x5C), - UNDEF, -}; -static const BYTE_LOOKUP -to_SHIFT_JIS_E8_83 = { - to_SHIFT_JIS_E8_83_offsets, - to_SHIFT_JIS_E8_83_infos -}; - -static const unsigned char -to_SHIFT_JIS_E8_84_offsets[64] = { - /* used from to_SHIFT_JIS_E8_84 */ - /* used from to_EUC_JP_E8_84 */ - 16, 16, 0, 16, 16, 1, 2, 3, 4, 5, 6, 16, 16, 16, 16, 16, - 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 7, 8, 16, 16, 16, 16, - 16, 16, 16, 9, 16, 16, 16, 16, 16, 10, 16, 16, 16, 16, 16, 11, - 16, 12, 16, 13, 16, 16, 16, 16, 16, 14, 16, 16, 16, 16, 15, 16, -}; -static const struct byte_lookup* const -to_SHIFT_JIS_E8_84_infos[17] = { - o2(0x8E,0x89), o2(0x8B,0xBA), o2(0x90,0xC6), o2(0x98,0x65), - o2(0x96,0xAC), o2(0xE3,0xF5), o2(0x90,0xD2), o2(0x8B,0x72), - o2(0xE3,0xF8), o2(0xE3,0xFA), o2(0xE3,0xF9), o2(0xE3,0xFB), - o2(0x92,0x45), o2(0x94,0x5D), o2(0x92,0xAF), o2(0xE4,0x42), - UNDEF, -}; -static const BYTE_LOOKUP -to_SHIFT_JIS_E8_84 = { - to_SHIFT_JIS_E8_84_offsets, - to_SHIFT_JIS_E8_84_infos -}; - -static const unsigned char -to_SHIFT_JIS_E8_85_offsets[64] = { - /* used from to_SHIFT_JIS_E8_85 */ - /* used from to_EUC_JP_E8_85 */ - 20, 20, 20, 20, 20, 20, 0, 20, 20, 20, 20, 1, 20, 20, 2, 20, - 3, 4, 20, 5, 6, 7, 20, 20, 20, 20, 20, 20, 20, 20, 20, 8, - 20, 20, 20, 20, 20, 9, 10, 20, 20, 20, 20, 11, 20, 20, 12, 20, - 13, 14, 20, 20, 15, 20, 20, 20, 16, 17, 18, 20, 20, 20, 20, 19, -}; -static const struct byte_lookup* const -to_SHIFT_JIS_E8_85_infos[21] = { - o2(0xE4,0x41), o2(0xE3,0xFC), o2(0x90,0x74), o2(0x95,0x85), - o2(0xE4,0x44), o2(0xE4,0x43), o2(0x8D,0x6F), o2(0x98,0x72), - o2(0xE4,0x54), o2(0xE4,0x48), o2(0xE4,0x49), o2(0x8E,0xEE), - o2(0xE4,0x47), o2(0x8D,0x98), o2(0xE4,0x46), o2(0xE4,0x4A), - o2(0x92,0xB0), o2(0x95,0xA0), o2(0x91,0x42), o2(0x91,0xDA), - UNDEF, -}; -static const BYTE_LOOKUP -to_SHIFT_JIS_E8_85 = { - to_SHIFT_JIS_E8_85_offsets, - to_SHIFT_JIS_E8_85_infos -}; - -static const unsigned char -to_SHIFT_JIS_E8_86_offsets[64] = { - /* used from to_SHIFT_JIS_E8_86 */ - /* used from to_EUC_JP_E8_86 */ - 0, 24, 1, 2, 24, 24, 24, 24, 3, 24, 4, 24, 24, 24, 24, 5, - 24, 24, 24, 6, 24, 7, 24, 24, 24, 24, 8, 24, 9, 10, 24, 24, - 11, 24, 24, 12, 13, 24, 24, 24, 14, 15, 24, 24, 24, 24, 24, 24, - 16, 24, 24, 17, 24, 18, 24, 24, 19, 24, 20, 24, 24, 21, 22, 23, -}; -static const struct byte_lookup* const -to_SHIFT_JIS_E8_86_infos[25] = { - o2(0xE4,0x4E), o2(0xE4,0x4F), o2(0xE4,0x4B), o2(0xE4,0x4C), - o2(0xE4,0x4D), o2(0x8D,0x70), o2(0xE4,0x55), o2(0xE4,0x51), - o2(0x95,0x86), o2(0x96,0x8C), o2(0x95,0x47), o2(0xE4,0x50), - o2(0xE4,0x53), o2(0xE4,0x52), o2(0x96,0x63), o2(0xE4,0x56), - o2(0xE4,0x57), o2(0x91,0x56), o2(0xE4,0x58), o2(0xE4,0x5A), - o2(0xE4,0x5E), o2(0xE4,0x5B), o2(0xE4,0x59), o2(0x94,0x5E), - UNDEF, -}; -static const BYTE_LOOKUP -to_SHIFT_JIS_E8_86 = { - to_SHIFT_JIS_E8_86_offsets, - to_SHIFT_JIS_E8_86_infos -}; - -static const unsigned char -to_SHIFT_JIS_E8_87_offsets[64] = { - /* used from to_SHIFT_JIS_E8_87 */ - /* used from to_EUC_JP_E8_87 */ - 0, 25, 1, 25, 25, 25, 2, 25, 3, 4, 25, 25, 25, 5, 25, 25, - 25, 6, 25, 7, 25, 25, 25, 25, 8, 9, 10, 25, 25, 25, 25, 11, - 12, 25, 25, 13, 25, 14, 25, 15, 16, 25, 17, 25, 25, 18, 25, 25, - 25, 25, 25, 19, 20, 25, 25, 25, 25, 25, 21, 22, 23, 25, 24, 25, -}; -static const struct byte_lookup* const -to_SHIFT_JIS_E8_87_infos[26] = { - o2(0xE4,0x5C), o2(0xE4,0x5D), o2(0x89,0xB0), o2(0xE4,0x64), - o2(0xE4,0x5F), o2(0xE4,0x60), o2(0xE4,0x61), o2(0x91,0x9F), - o2(0xE4,0x63), o2(0xE4,0x62), o2(0xE4,0x65), o2(0xE4,0x66), - o2(0xE4,0x67), o2(0x90,0x62), o2(0x89,0xE7), o2(0xE4,0x68), - o2(0x97,0xD5), o2(0x8E,0xA9), o2(0x8F,0x4C), o2(0x8E,0x8A), - o2(0x92,0x76), o2(0xE4,0x69), o2(0xE4,0x6A), o2(0x89,0x50), - o2(0xE4,0x6B), UNDEF, -}; -static const BYTE_LOOKUP -to_SHIFT_JIS_E8_87 = { - to_SHIFT_JIS_E8_87_offsets, - to_SHIFT_JIS_E8_87_infos -}; - -static const unsigned char -to_SHIFT_JIS_E8_88_offsets[64] = { - /* used from to_SHIFT_JIS_E8_88 */ - /* used from to_EUC_JP_E8_88 */ - 30, 0, 1, 30, 30, 2, 30, 3, 4, 5, 6, 30, 7, 8, 9, 30, - 10, 30, 11, 30, 30, 30, 12, 13, 14, 30, 30, 15, 16, 30, 17, 18, - 30, 30, 30, 30, 30, 30, 30, 30, 30, 19, 20, 21, 22, 30, 23, 30, - 30, 30, 30, 24, 30, 25, 26, 27, 28, 29, 30, 30, 30, 30, 30, 30, -}; -static const struct byte_lookup* const -to_SHIFT_JIS_E8_88_infos[31] = { - o2(0xE4,0x6C), o2(0xE4,0x6D), o2(0xE4,0x6E), o2(0xE4,0x6F), - o2(0x8B,0xBB), o2(0x9D,0xA8), o2(0xE4,0x70), o2(0x90,0xE3), - o2(0xE4,0x71), o2(0x8E,0xC9), o2(0xE4,0x72), o2(0x98,0xAE), - o2(0xE4,0x73), o2(0x95,0xDC), o2(0x8A,0xDA), o2(0x91,0x43), - o2(0x8F,0x77), o2(0x95,0x91), o2(0x8F,0x4D), o2(0xE4,0x74), - o2(0x8D,0x71), o2(0xE4,0x75), o2(0x94,0xCA), o2(0xE4,0x84), - o2(0xE4,0x77), o2(0x91,0xC7), o2(0x94,0x95), o2(0x8C,0xBD), - o2(0xE4,0x76), o2(0x91,0x44), UNDEF, -}; -static const BYTE_LOOKUP -to_SHIFT_JIS_E8_88 = { - to_SHIFT_JIS_E8_88_offsets, - to_SHIFT_JIS_E8_88_infos -}; - -static const unsigned char -to_SHIFT_JIS_E8_89_offsets[64] = { - /* used from to_SHIFT_JIS_E8_89 */ - /* used from to_EUC_JP_E8_89 */ - 0, 21, 21, 21, 21, 21, 21, 1, 21, 21, 21, 21, 21, 21, 21, 21, - 21, 21, 21, 21, 21, 21, 21, 21, 2, 3, 4, 21, 21, 5, 21, 6, - 21, 21, 7, 21, 8, 21, 9, 21, 10, 21, 11, 12, 21, 21, 13, 14, - 21, 15, 16, 21, 21, 21, 17, 18, 19, 21, 21, 21, 21, 21, 20, 21, -}; -static const struct byte_lookup* const -to_SHIFT_JIS_E8_89_infos[22] = { - o2(0xE4,0x78), o2(0x92,0xF8), o2(0xE4,0x7A), o2(0xE4,0x79), - o2(0xE4,0x7C), o2(0xE4,0x7B), o2(0xE4,0x7D), o2(0xE4,0x80), - o2(0xE4,0x7E), o2(0x8A,0xCD), o2(0xE4,0x81), o2(0xE4,0x82), - o2(0xE4,0x83), o2(0x8D,0xAF), o2(0x97,0xC7), o2(0xE4,0x85), - o2(0x90,0x46), o2(0x89,0x90), o2(0xE4,0x86), o2(0xE4,0x87), - o2(0xE4,0x88), UNDEF, -}; -static const BYTE_LOOKUP -to_SHIFT_JIS_E8_89 = { - to_SHIFT_JIS_E8_89_offsets, - to_SHIFT_JIS_E8_89_infos -}; - -static const unsigned char -to_SHIFT_JIS_E8_8A_offsets[64] = { - /* used from to_SHIFT_JIS_E8_8A */ - /* used from to_EUC_JP_E8_8A */ - 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 0, 18, 1, 18, 18, - 18, 18, 2, 18, 18, 18, 18, 18, 18, 3, 18, 18, 18, 4, 18, 5, - 18, 18, 18, 18, 18, 6, 7, 18, 18, 18, 18, 8, 9, 10, 18, 11, - 18, 12, 18, 13, 18, 18, 18, 18, 14, 15, 18, 16, 18, 17, 18, 18, -}; -static const struct byte_lookup* const -to_SHIFT_JIS_E8_8A_infos[19] = { - o2(0x88,0xF0), o2(0xE4,0x89), o2(0xE4,0x8A), o2(0x95,0x87), - o2(0x8E,0xC5), o2(0xE4,0x8C), o2(0x8A,0x48), o2(0x88,0xB0), - o2(0xE4,0x8B), o2(0xE4,0x8E), o2(0x94,0x6D), o2(0x90,0x63), - o2(0x89,0xD4), o2(0x96,0x46), o2(0x8C,0x7C), o2(0x8B,0xDA), - o2(0xE4,0x8D), o2(0x89,0xE8), UNDEF, -}; -static const BYTE_LOOKUP -to_SHIFT_JIS_E8_8A = { - to_SHIFT_JIS_E8_8A_offsets, - to_SHIFT_JIS_E8_8A_infos -}; - -static const unsigned char -to_SHIFT_JIS_E8_8B_offsets[64] = { - /* used from to_SHIFT_JIS_E8_8B */ - /* used from to_EUC_JP_E8_8B */ - 23, 23, 23, 23, 23, 0, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, - 23, 1, 2, 3, 4, 23, 23, 5, 23, 6, 23, 7, 8, 23, 9, 10, - 23, 11, 23, 12, 23, 13, 14, 15, 23, 23, 23, 16, 23, 23, 23, 23, - 23, 17, 23, 18, 19, 23, 23, 23, 23, 20, 21, 22, 23, 23, 23, 23, -}; -static const struct byte_lookup* const -to_SHIFT_JIS_E8_8B_infos[24] = { - o2(0x8A,0xA1), o2(0x89,0x91), o2(0xE4,0x92), o2(0x97,0xE8), - o2(0x91,0xDB), o2(0x95,0x63), o2(0xE4,0x9E), o2(0x89,0xD5), - o2(0xE4,0x9C), o2(0xE4,0x9A), o2(0xE4,0x91), o2(0xE4,0x8F), - o2(0xE4,0x90), o2(0x8E,0xE1), o2(0x8B,0xEA), o2(0x92,0x97), - o2(0x93,0xCF), o2(0x89,0x70), o2(0xE4,0x94), o2(0xE4,0x93), - o2(0xE4,0x99), o2(0xE4,0x95), o2(0xE4,0x98), UNDEF, -}; -static const BYTE_LOOKUP -to_SHIFT_JIS_E8_8B = { - to_SHIFT_JIS_E8_8B_offsets, - to_SHIFT_JIS_E8_8B_infos -}; - -static const unsigned char -to_SHIFT_JIS_E8_8C_offsets[64] = { - /* used from to_SHIFT_JIS_E8_8C */ - /* used from to_EUC_JP_E8_8C */ - 23, 0, 1, 2, 3, 4, 5, 23, 23, 6, 23, 23, 23, 23, 7, 23, - 23, 23, 23, 23, 23, 23, 8, 9, 10, 23, 23, 23, 11, 23, 23, 23, - 23, 23, 23, 12, 23, 23, 23, 23, 13, 23, 23, 14, 23, 23, 23, 15, - 23, 16, 17, 23, 18, 19, 20, 23, 21, 22, 23, 23, 23, 23, 23, 23, -}; -static const struct byte_lookup* const -to_SHIFT_JIS_E8_8C_infos[24] = { - o2(0xFB,0x93), o2(0x96,0xCE), o2(0xE4,0x97), o2(0x89,0xD6), - o2(0x8A,0x9D), o2(0xE4,0x9B), o2(0xE4,0x9D), o2(0x8C,0x73), - o2(0xE4,0xA1), o2(0xE4,0xAA), o2(0xE4,0xAB), o2(0x88,0xA9), - o2(0xE4,0xB2), o2(0x88,0xEF), o2(0xE4,0xA9), o2(0xE4,0xA8), - o2(0xE4,0xA3), o2(0xE4,0xA2), o2(0xE4,0xA0), o2(0xE4,0x9F), - o2(0x92,0x83), o2(0x91,0xF9), o2(0xE4,0xA5), UNDEF, -}; -static const BYTE_LOOKUP -to_SHIFT_JIS_E8_8C = { - to_SHIFT_JIS_E8_8C_offsets, - to_SHIFT_JIS_E8_8C_infos -}; - -static const unsigned char -to_SHIFT_JIS_E8_8D_offsets[64] = { - /* used from to_SHIFT_JIS_E8_8D */ - /* used from to_EUC_JP_E8_8D */ - 0, 15, 15, 15, 15, 1, 15, 15, 15, 2, 3, 15, 15, 15, 15, 4, - 5, 15, 6, 15, 15, 15, 15, 15, 7, 15, 15, 15, 15, 15, 15, 15, - 15, 15, 8, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, - 15, 15, 15, 9, 15, 10, 15, 11, 15, 15, 15, 12, 13, 15, 15, 14, -}; -static const struct byte_lookup* const -to_SHIFT_JIS_E8_8D_infos[16] = { - o2(0xE4,0xA4), o2(0xE4,0xA7), o2(0x91,0x90), o2(0x8C,0x74), - o2(0x89,0x60), o2(0xE4,0xA6), o2(0x8D,0x72), o2(0x91,0x91), - o2(0xFB,0x94), o2(0xE4,0xB8), o2(0xE4,0xB9), o2(0x89,0xD7), - o2(0x89,0xAC), o2(0xE4,0xB6), o2(0xFB,0x95), UNDEF, -}; -static const BYTE_LOOKUP -to_SHIFT_JIS_E8_8D = { - to_SHIFT_JIS_E8_8D_offsets, - to_SHIFT_JIS_E8_8D_infos -}; - -static const unsigned char -to_SHIFT_JIS_E8_8E_offsets[64] = { - /* used from to_SHIFT_JIS_E8_8E */ - /* used from to_EUC_JP_E8_8E */ - 18, 18, 18, 18, 18, 0, 18, 1, 18, 2, 3, 18, 18, 18, 4, 18, - 18, 18, 18, 5, 18, 18, 6, 18, 18, 18, 7, 18, 18, 18, 8, 9, - 10, 18, 11, 18, 18, 18, 18, 18, 12, 18, 13, 14, 18, 18, 18, 18, - 18, 15, 18, 18, 18, 16, 18, 18, 18, 18, 18, 18, 18, 17, 18, 18, -}; -static const struct byte_lookup* const -to_SHIFT_JIS_E8_8E_infos[19] = { - o2(0xE4,0xAC), o2(0xE4,0xB4), o2(0xE4,0xBB), o2(0xE4,0xB5), - o2(0xE4,0xB3), o2(0xE4,0x96), o2(0xE4,0xB1), o2(0xE4,0xAD), - o2(0x8A,0xCE), o2(0xE4,0xAF), o2(0xE4,0xBA), o2(0xE4,0xB0), - o2(0xE4,0xBC), o2(0xE4,0xAE), o2(0x94,0x9C), o2(0x97,0x89), - o2(0xE4,0xB7), o2(0xE4,0xCD), UNDEF, -}; -static const BYTE_LOOKUP -to_SHIFT_JIS_E8_8E = { - to_SHIFT_JIS_E8_8E_offsets, - to_SHIFT_JIS_E8_8E_infos -}; - -static const unsigned char -to_SHIFT_JIS_E8_8F_offsets[64] = { - /* used from to_SHIFT_JIS_E8_8F */ - /* used from to_EUC_JP_E8_8F */ - 23, 0, 23, 23, 23, 1, 23, 2, 23, 23, 3, 23, 4, 23, 5, 23, - 23, 23, 23, 6, 23, 23, 7, 23, 8, 23, 23, 23, 9, 23, 23, 10, - 11, 23, 23, 23, 23, 23, 23, 23, 23, 12, 23, 13, 23, 23, 23, 14, - 15, 16, 17, 23, 18, 23, 19, 20, 23, 23, 23, 21, 23, 22, 23, 23, -}; -static const struct byte_lookup* const -to_SHIFT_JIS_E8_8F_infos[24] = { - o2(0xE4,0xC5), o2(0x90,0x9B), o2(0xFB,0x96), o2(0x8B,0x65), - o2(0x8B,0xDB), o2(0xE4,0xC0), o2(0x89,0xD9), o2(0x8F,0xD2), - o2(0xE4,0xC3), o2(0x8D,0xD8), o2(0x93,0x70), o2(0xE4,0xC8), - o2(0x95,0xEC), o2(0xE4,0xBF), o2(0x89,0xD8), o2(0x8C,0xD4), - o2(0x95,0x48), o2(0xE4,0xC9), o2(0xE4,0xBD), o2(0xFB,0x97), - o2(0xE4,0xC6), o2(0xE4,0xD0), o2(0xE4,0xC1), UNDEF, -}; -static const BYTE_LOOKUP -to_SHIFT_JIS_E8_8F = { - to_SHIFT_JIS_E8_8F_offsets, - to_SHIFT_JIS_E8_8F_infos -}; - -static const unsigned char -to_SHIFT_JIS_E8_90_offsets[64] = { - /* used from to_SHIFT_JIS_E8_90 */ - /* used from to_EUC_JP_E8_90 */ - 18, 18, 18, 0, 1, 18, 18, 2, 18, 18, 18, 3, 4, 5, 6, 18, - 18, 18, 18, 7, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, - 8, 18, 9, 18, 18, 18, 18, 18, 18, 10, 11, 18, 12, 18, 18, 18, - 18, 13, 18, 18, 18, 14, 18, 18, 15, 18, 18, 18, 16, 17, 18, 18, -}; -static const struct byte_lookup* const -to_SHIFT_JIS_E8_90_infos[19] = { - o2(0xE4,0xC2), o2(0x93,0xB8), o2(0xE4,0xC7), o2(0xE4,0xC4), - o2(0x96,0x47), o2(0xE4,0xCA), o2(0x88,0xDE), o2(0xE4,0xBE), - o2(0xE4,0xCC), o2(0xE4,0xCB), o2(0x94,0x8B), o2(0xE4,0xD2), - o2(0xE4,0xDD), o2(0x8A,0x9E), o2(0xE4,0xE0), o2(0xE4,0xCE), - o2(0xE4,0xD3), o2(0x97,0x8E), UNDEF, -}; -static const BYTE_LOOKUP -to_SHIFT_JIS_E8_90 = { - to_SHIFT_JIS_E8_90_offsets, - to_SHIFT_JIS_E8_90_infos -}; - -static const unsigned char -to_SHIFT_JIS_E8_91_offsets[64] = { - /* used from to_SHIFT_JIS_E8_91 */ - /* used from to_EUC_JP_E8_91 */ - 21, 21, 21, 21, 21, 21, 0, 21, 1, 2, 21, 21, 21, 21, 3, 21, - 21, 21, 21, 21, 21, 21, 21, 4, 21, 21, 21, 5, 21, 21, 21, 21, - 21, 6, 7, 8, 21, 21, 9, 21, 21, 10, 21, 11, 12, 13, 14, 15, - 21, 16, 21, 21, 21, 17, 21, 18, 21, 19, 20, 21, 21, 21, 21, 21, -}; -static const struct byte_lookup* const -to_SHIFT_JIS_E8_91_infos[22] = { - o2(0xE4,0xDC), o2(0xFB,0x98), o2(0x97,0x74), o2(0x97,0xA8), - o2(0x92,0x98), o2(0x8A,0x8B), o2(0x95,0x92), o2(0xE4,0xE2), - o2(0x93,0x9F), o2(0x88,0xAF), o2(0xE4,0xDB), o2(0xE4,0xD7), - o2(0x91,0x92), o2(0xE4,0xD1), o2(0xE4,0xD9), o2(0xE4,0xDE), - o2(0x94,0x4B), o2(0x88,0xA8), o2(0xE4,0xD6), o2(0xE4,0xDF), - o2(0x95,0x98), UNDEF, -}; -static const BYTE_LOOKUP -to_SHIFT_JIS_E8_91 = { - to_SHIFT_JIS_E8_91_offsets, - to_SHIFT_JIS_E8_91_infos -}; - -static const unsigned char -to_SHIFT_JIS_E8_92_offsets[64] = { - /* used from to_SHIFT_JIS_E8_92 */ - /* used from to_EUC_JP_E8_92 */ - 17, 17, 0, 17, 1, 17, 17, 17, 17, 17, 17, 2, 17, 17, 17, 17, - 3, 17, 17, 17, 4, 17, 17, 17, 17, 5, 17, 17, 6, 17, 17, 7, - 17, 8, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 9, 17, 17, - 17, 17, 10, 17, 11, 17, 17, 17, 12, 13, 17, 14, 15, 17, 17, 16, -}; -static const struct byte_lookup* const -to_SHIFT_JIS_E8_92_infos[18] = { - o2(0xE4,0xDA), o2(0xE4,0xD5), o2(0x8F,0xD3), o2(0x8F,0x4E), - o2(0x8E,0xAA), o2(0x96,0xD6), o2(0x95,0x66), o2(0xE4,0xE5), - o2(0xE4,0xEE), o2(0xE4,0xD8), o2(0x8A,0x97), o2(0xFB,0x99), - o2(0x8F,0xF6), o2(0xE4,0xE3), o2(0xE4,0xE8), o2(0x91,0x93), - o2(0xE4,0xE4), UNDEF, -}; -static const BYTE_LOOKUP -to_SHIFT_JIS_E8_92 = { - to_SHIFT_JIS_E8_92_offsets, - to_SHIFT_JIS_E8_92_infos -}; - -static const unsigned char -to_SHIFT_JIS_E8_93_offsets[64] = { - /* used from to_SHIFT_JIS_E8_93 */ - /* used from to_EUC_JP_E8_93 */ - 18, 0, 18, 18, 1, 18, 2, 18, 18, 3, 4, 5, 18, 6, 18, 18, - 7, 8, 18, 18, 18, 18, 9, 18, 18, 10, 11, 18, 12, 18, 18, 18, - 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 13, 18, 14, 18, - 18, 18, 18, 18, 15, 18, 18, 18, 18, 18, 18, 18, 16, 18, 18, 17, -}; -static const struct byte_lookup* const -to_SHIFT_JIS_E8_93_infos[19] = { - o2(0xE4,0xEB), o2(0x92,0x7E), o2(0xE4,0xEC), o2(0x97,0x75), - o2(0xE4,0xE1), o2(0x8A,0x57), o2(0xE4,0xE7), o2(0xE4,0xEA), - o2(0x96,0xAA), o2(0xE4,0xED), o2(0xE4,0xE6), o2(0xE4,0xE9), - o2(0xFA,0x60), o2(0x96,0x48), o2(0x98,0x40), o2(0xE4,0xF1), - o2(0xE4,0xF8), o2(0xE4,0xF0), UNDEF, -}; -static const BYTE_LOOKUP -to_SHIFT_JIS_E8_93 = { - to_SHIFT_JIS_E8_93_offsets, - to_SHIFT_JIS_E8_93_infos -}; - -static const unsigned char -to_SHIFT_JIS_E8_94_offsets[64] = { - /* used from to_SHIFT_JIS_E8_94 */ - /* used from to_EUC_JP_E8_94 */ - 0, 16, 16, 16, 16, 16, 1, 16, 16, 16, 16, 16, 16, 16, 16, 16, - 16, 2, 16, 3, 4, 5, 16, 6, 7, 16, 8, 16, 16, 16, 16, 9, - 16, 10, 16, 16, 16, 16, 11, 16, 16, 16, 16, 16, 12, 13, 16, 16, - 16, 16, 16, 16, 16, 14, 16, 16, 16, 16, 16, 16, 16, 15, 16, 16, -}; -static const struct byte_lookup* const -to_SHIFT_JIS_E8_94_infos[17] = { - o2(0x8E,0xC1), o2(0xE4,0xCF), o2(0x95,0xCC), o2(0x96,0xA0), - o2(0xE4,0xF7), o2(0xE4,0xF6), o2(0xE4,0xF2), o2(0xE4,0xF3), - o2(0x89,0x55), o2(0xE4,0xF5), o2(0xE4,0xEF), o2(0x92,0xD3), - o2(0xE4,0xF4), o2(0x88,0xFC), o2(0x91,0xA0), o2(0x95,0xC1), - UNDEF, -}; -static const BYTE_LOOKUP -to_SHIFT_JIS_E8_94 = { - to_SHIFT_JIS_E8_94_offsets, - to_SHIFT_JIS_E8_94_infos -}; - -static const unsigned char -to_SHIFT_JIS_E8_95_offsets[64] = { - /* used from to_SHIFT_JIS_E8_95 */ - /* used from to_EUC_JP_E8_95 */ - 0, 1, 22, 2, 22, 22, 22, 22, 3, 4, 5, 6, 22, 22, 7, 22, - 22, 22, 22, 8, 22, 9, 22, 10, 11, 12, 13, 22, 22, 22, 22, 22, - 22, 22, 22, 14, 22, 22, 22, 22, 15, 16, 17, 18, 22, 19, 22, 22, - 22, 22, 22, 22, 22, 22, 22, 20, 22, 22, 22, 22, 22, 22, 21, 22, -}; -static const struct byte_lookup* const -to_SHIFT_JIS_E8_95_infos[23] = { - o2(0xE4,0xF9), o2(0xE5,0x40), o2(0x94,0xD7), o2(0xE4,0xFC), - o2(0x8F,0xD4), o2(0x8E,0xC7), o2(0xE5,0x42), o2(0x8B,0xBC), - o2(0xFB,0x9A), o2(0xE5,0x43), o2(0x95,0x99), o2(0xE4,0xFB), - o2(0xFB,0x9B), o2(0xE4,0xD4), o2(0xE4,0xFA), o2(0x98,0x6E), - o2(0x93,0xA0), o2(0x95,0x93), o2(0xFB,0x9C), o2(0xE5,0x4A), - o2(0xE5,0x50), o2(0xE5,0x51), UNDEF, -}; -static const BYTE_LOOKUP -to_SHIFT_JIS_E8_95 = { - to_SHIFT_JIS_E8_95_offsets, - to_SHIFT_JIS_E8_95_infos -}; - -static const unsigned char -to_SHIFT_JIS_E8_96_offsets[64] = { - /* used from to_SHIFT_JIS_E8_96 */ - /* used from to_EUC_JP_E8_96 */ - 0, 24, 24, 24, 1, 24, 24, 2, 3, 24, 4, 24, 24, 24, 24, 24, - 5, 6, 24, 24, 7, 24, 24, 8, 24, 9, 24, 10, 11, 24, 24, 24, - 24, 24, 24, 24, 12, 24, 13, 24, 14, 15, 16, 17, 18, 24, 19, 20, - 21, 24, 24, 24, 24, 24, 24, 24, 24, 22, 23, 24, 24, 24, 24, 24, -}; -static const struct byte_lookup* const -to_SHIFT_JIS_E8_96_infos[25] = { - o2(0xE5,0x44), o2(0x94,0x96), o2(0xE5,0x4E), o2(0xE5,0x46), - o2(0xE5,0x48), o2(0xE5,0x52), o2(0xE5,0x47), o2(0xE5,0x4B), - o2(0x89,0x92), o2(0x93,0xE3), o2(0xE5,0x4C), o2(0xE5,0x4F), - o2(0xE5,0x45), o2(0x91,0x45), o2(0xE5,0x49), o2(0x8E,0x46), - o2(0x90,0x64), o2(0x8C,0x4F), o2(0x96,0xF2), o2(0x96,0xF7), - o2(0x8F,0x92), o2(0xFB,0x9E), o2(0xE5,0x56), o2(0xE5,0x54), - UNDEF, -}; -static const BYTE_LOOKUP -to_SHIFT_JIS_E8_96 = { - to_SHIFT_JIS_E8_96_offsets, - to_SHIFT_JIS_E8_96_infos -}; - -static const unsigned char -to_SHIFT_JIS_E8_97_offsets[64] = { - /* used from to_SHIFT_JIS_E8_97 */ - /* used from to_EUC_JP_E8_97 */ - 17, 0, 17, 17, 17, 17, 17, 17, 17, 1, 17, 17, 17, 2, 17, 3, - 4, 17, 17, 17, 17, 5, 17, 17, 17, 17, 17, 17, 6, 7, 17, 17, - 17, 17, 17, 17, 8, 9, 17, 17, 17, 10, 11, 17, 17, 17, 17, 17, - 17, 17, 17, 17, 17, 17, 17, 12, 17, 13, 14, 15, 17, 17, 16, 17, -}; -static const struct byte_lookup* const -to_SHIFT_JIS_E8_97_infos[18] = { - o2(0x98,0x6D), o2(0xE5,0x53), o2(0x97,0x95), o2(0xE5,0x55), - o2(0xE5,0x57), o2(0xE5,0x58), o2(0xE5,0x5B), o2(0xE5,0x59), - o2(0x93,0xA1), o2(0xE5,0x5A), o2(0x94,0xCB), o2(0xE5,0x4D), - o2(0x8F,0x93), o2(0xE5,0x5C), o2(0xE5,0x61), o2(0x91,0x94), - o2(0xE5,0x60), UNDEF, -}; -static const BYTE_LOOKUP -to_SHIFT_JIS_E8_97 = { - to_SHIFT_JIS_E8_97_offsets, - to_SHIFT_JIS_E8_97_infos -}; - -static const unsigned char -to_SHIFT_JIS_E8_98_offsets[64] = { - /* used from to_SHIFT_JIS_E8_98 */ - /* used from to_EUC_JP_E8_98 */ - 14, 14, 0, 14, 14, 14, 1, 2, 14, 14, 3, 4, 14, 14, 14, 14, - 14, 14, 14, 5, 14, 14, 6, 7, 14, 14, 8, 14, 14, 14, 14, 14, - 14, 14, 9, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 10, 14, 11, - 12, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 13, -}; -static const struct byte_lookup* const -to_SHIFT_JIS_E8_98_infos[15] = { - o2(0xE5,0x41), o2(0xE5,0x62), o2(0x91,0x68), o2(0xE5,0x5D), - o2(0xE5,0x5F), o2(0xE5,0x5E), o2(0x9F,0x50), o2(0x9F,0x41), - o2(0xE5,0x64), o2(0xE5,0x63), o2(0x97,0x96), o2(0xE1,0xBA), - o2(0xE5,0x65), o2(0xE5,0x66), UNDEF, -}; -static const BYTE_LOOKUP -to_SHIFT_JIS_E8_98 = { - to_SHIFT_JIS_E8_98_offsets, - to_SHIFT_JIS_E8_98_infos -}; - -static const unsigned char -to_SHIFT_JIS_E8_99_offsets[64] = { - /* used from to_SHIFT_JIS_E8_99 */ - /* used from to_EUC_JP_E8_99 */ - 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 0, 1, 14, - 2, 14, 14, 14, 3, 4, 14, 14, 14, 14, 5, 14, 6, 14, 7, 8, - 14, 14, 14, 14, 14, 14, 14, 9, 14, 14, 14, 10, 14, 14, 14, 14, - 14, 11, 14, 14, 14, 14, 14, 14, 14, 12, 14, 13, 14, 14, 14, 14, -}; -static const struct byte_lookup* const -to_SHIFT_JIS_E8_99_infos[15] = { - o2(0xE5,0x67), o2(0x8C,0xD5), o2(0x8B,0x73), o2(0xE5,0x69), - o2(0x99,0x7C), o2(0x8B,0x95), o2(0x97,0xB8), o2(0x8B,0xF1), - o2(0xE5,0x6A), o2(0xE5,0x6B), o2(0x92,0x8E), o2(0xE5,0x6C), - o2(0x93,0xF8), o2(0x88,0xB8), UNDEF, -}; -static const BYTE_LOOKUP -to_SHIFT_JIS_E8_99 = { - to_SHIFT_JIS_E8_99_offsets, - to_SHIFT_JIS_E8_99_infos -}; - -static const unsigned char -to_SHIFT_JIS_E8_9A_offsets[64] = { - /* used from to_SHIFT_JIS_E8_9A */ - /* used from to_EUC_JP_E8_9A */ - 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 0, 1, 2, 13, 13, 13, - 13, 13, 13, 3, 13, 4, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, - 13, 13, 13, 5, 6, 13, 13, 13, 13, 7, 8, 9, 13, 13, 13, 10, - 11, 13, 13, 13, 13, 13, 12, 13, 13, 13, 13, 13, 13, 13, 13, 13, -}; -static const struct byte_lookup* const -to_SHIFT_JIS_E8_9A_infos[14] = { - o2(0x89,0xE1), o2(0xE5,0x71), o2(0xE5,0x72), o2(0xE5,0x6D), - o2(0x8E,0x5C), o2(0xE5,0x6E), o2(0x94,0x61), o2(0xE5,0x6F), - o2(0xE5,0x70), o2(0xE5,0x7A), o2(0xE5,0x74), o2(0xE5,0x77), - o2(0xE5,0x73), UNDEF, -}; -static const BYTE_LOOKUP -to_SHIFT_JIS_E8_9A = { - to_SHIFT_JIS_E8_9A_offsets, - to_SHIFT_JIS_E8_9A_infos -}; - -static const unsigned char -to_SHIFT_JIS_E8_9B_offsets[64] = { - /* used from to_SHIFT_JIS_E8_9B */ - /* used from to_EUC_JP_E8_9B */ - 22, 22, 22, 22, 0, 22, 1, 2, 22, 3, 22, 4, 22, 5, 6, 22, - 22, 22, 22, 22, 7, 22, 22, 22, 22, 8, 22, 9, 22, 22, 10, 11, - 22, 22, 22, 22, 12, 22, 22, 22, 22, 13, 22, 22, 14, 15, 16, 17, - 22, 22, 22, 22, 22, 22, 22, 22, 18, 19, 22, 20, 22, 22, 21, 22, -}; -static const struct byte_lookup* const -to_SHIFT_JIS_E8_9B_infos[23] = { - o2(0xE5,0x75), o2(0xE5,0x76), o2(0x8E,0xD6), o2(0xE5,0x78), - o2(0x92,0x60), o2(0x8C,0x75), o2(0x8A,0x61), o2(0xE5,0x7B), - o2(0x8A,0x5E), o2(0xE5,0x81), o2(0xE5,0x7C), o2(0xE5,0x80), - o2(0x94,0xB8), o2(0xE5,0x7D), o2(0xE5,0x7E), o2(0x95,0x67), - o2(0x94,0xD8), o2(0xE5,0x82), o2(0x91,0xFB), o2(0xE5,0x8C), - o2(0xE5,0x88), o2(0x89,0xE9), UNDEF, -}; -static const BYTE_LOOKUP -to_SHIFT_JIS_E8_9B = { - to_SHIFT_JIS_E8_9B_offsets, - to_SHIFT_JIS_E8_9B_infos -}; - -static const unsigned char -to_SHIFT_JIS_E8_9C_offsets[64] = { - /* used from to_SHIFT_JIS_E8_9C */ - /* used from to_EUC_JP_E8_9C */ - 0, 19, 1, 2, 19, 19, 3, 19, 4, 5, 6, 19, 19, 7, 19, 19, - 19, 8, 9, 19, 19, 19, 19, 19, 10, 19, 11, 19, 12, 19, 19, 19, - 19, 19, 19, 19, 19, 13, 19, 19, 19, 14, 19, 19, 19, 19, 19, 19, - 19, 19, 19, 19, 15, 19, 19, 16, 19, 19, 19, 17, 19, 19, 19, 18, -}; -static const struct byte_lookup* const -to_SHIFT_JIS_E8_9C_infos[20] = { - o2(0xE5,0x86), o2(0x96,0x49), o2(0xE5,0x87), o2(0xE5,0x84), - o2(0xE5,0x85), o2(0xE5,0x8A), o2(0xE5,0x8D), o2(0xE5,0x8B), - o2(0xE5,0x89), o2(0xE5,0x83), o2(0x92,0x77), o2(0xE5,0x94), - o2(0x96,0xA8), o2(0xE5,0x92), o2(0xE5,0x93), o2(0xE5,0x8E), - o2(0xE5,0x90), o2(0xE5,0x91), o2(0xE5,0x8F), UNDEF, -}; -static const BYTE_LOOKUP -to_SHIFT_JIS_E8_9C = { - to_SHIFT_JIS_E8_9C_offsets, - to_SHIFT_JIS_E8_9C_infos -}; - -static const unsigned char -to_SHIFT_JIS_E8_9D_offsets[64] = { - /* used from to_SHIFT_JIS_E8_9D */ - /* used from to_EUC_JP_E8_9D */ - 19, 19, 19, 19, 19, 19, 19, 19, 19, 0, 19, 1, 2, 19, 3, 19, - 19, 19, 19, 4, 19, 5, 19, 6, 19, 7, 19, 19, 19, 19, 19, 8, - 9, 19, 19, 10, 19, 19, 11, 19, 12, 19, 13, 19, 19, 19, 14, 19, - 19, 19, 19, 19, 15, 19, 16, 19, 17, 19, 19, 19, 19, 19, 19, 18, -}; -static const struct byte_lookup* const -to_SHIFT_JIS_E8_9D_infos[20] = { - o2(0x90,0xE4), o2(0x98,0x58), o2(0xE5,0x98), o2(0xE5,0x99), - o2(0xE5,0x9F), o2(0x90,0x49), o2(0xE5,0x9B), o2(0xE5,0x9E), - o2(0xE5,0x96), o2(0xE5,0x95), o2(0xE5,0xA0), o2(0x89,0xDA), - o2(0xE5,0x9C), o2(0xE5,0xA1), o2(0xE5,0x9D), o2(0xE5,0x9A), - o2(0x92,0xB1), o2(0xE5,0x97), o2(0x94,0x88), UNDEF, -}; -static const BYTE_LOOKUP -to_SHIFT_JIS_E8_9D = { - to_SHIFT_JIS_E8_9D_offsets, - to_SHIFT_JIS_E8_9D_infos -}; - -static const unsigned char -to_SHIFT_JIS_E8_9E_offsets[64] = { - /* used from to_SHIFT_JIS_E8_9E */ - /* used from to_EUC_JP_E8_9E */ - 10, 10, 0, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 1, 10, 10, - 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 2, - 10, 10, 3, 10, 10, 10, 10, 10, 10, 10, 10, 4, 10, 10, 10, 5, - 10, 10, 10, 6, 10, 10, 10, 10, 10, 10, 7, 8, 10, 9, 10, 10, -}; -static const struct byte_lookup* const -to_SHIFT_JIS_E8_9E_infos[11] = { - o2(0xE5,0xA5), o2(0x97,0x5A), o2(0xE5,0xA4), o2(0xE5,0xA3), - o2(0xE5,0xAC), o2(0xE5,0xA6), o2(0xE5,0xAE), o2(0x97,0x86), - o2(0xE5,0xB1), o2(0xE5,0xA8), UNDEF, -}; -static const BYTE_LOOKUP -to_SHIFT_JIS_E8_9E = { - to_SHIFT_JIS_E8_9E_offsets, - to_SHIFT_JIS_E8_9E_infos -}; - -static const unsigned char -to_SHIFT_JIS_E8_9F_offsets[64] = { - /* used from to_SHIFT_JIS_E8_9F */ - /* used from to_EUC_JP_E8_9F */ - 0, 15, 15, 15, 1, 15, 2, 3, 15, 15, 15, 4, 15, 15, 15, 15, - 5, 15, 6, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, - 7, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 8, - 15, 15, 9, 15, 15, 15, 10, 11, 15, 12, 15, 13, 15, 15, 14, 15, -}; -static const struct byte_lookup* const -to_SHIFT_JIS_E8_9F_infos[16] = { - o2(0xE5,0xA9), o2(0xE5,0xAD), o2(0xE5,0xB0), o2(0xE5,0xAF), - o2(0xE5,0xA7), o2(0xE5,0xAA), o2(0xE5,0xBB), o2(0xE5,0xB4), - o2(0xE5,0xB2), o2(0xE5,0xB3), o2(0xE5,0xB8), o2(0xE5,0xB9), - o2(0x8A,0x49), o2(0x8B,0x61), o2(0xE5,0xB7), UNDEF, -}; -static const BYTE_LOOKUP -to_SHIFT_JIS_E8_9F = { - to_SHIFT_JIS_E8_9F_offsets, - to_SHIFT_JIS_E8_9F_infos -}; - -static const unsigned char -to_SHIFT_JIS_E8_A0_offsets[64] = { - /* used from to_SHIFT_JIS_E8_A0 */ - /* used from to_EUC_JP_E8_A0 */ - 16, 16, 16, 16, 16, 0, 16, 1, 16, 16, 16, 16, 16, 2, 3, 4, - 16, 5, 16, 16, 16, 6, 7, 16, 16, 16, 16, 16, 16, 16, 16, 16, - 16, 8, 9, 10, 16, 16, 16, 11, 16, 16, 16, 16, 16, 16, 16, 16, - 16, 12, 16, 16, 16, 16, 13, 16, 16, 14, 16, 15, 16, 16, 16, 16, -}; -static const struct byte_lookup* const -to_SHIFT_JIS_E8_A0_infos[17] = { - o2(0xE5,0xA2), o2(0xFB,0xA1), o2(0xE5,0xB6), o2(0xE5,0xBA), - o2(0xE5,0xB5), o2(0xE5,0xBC), o2(0xE5,0xBE), o2(0xE5,0xBD), - o2(0xE5,0xC0), o2(0xE5,0xBF), o2(0xE5,0x79), o2(0xE5,0xC4), - o2(0xE5,0xC1), o2(0xE5,0xC2), o2(0xE5,0xC3), o2(0xE5,0xC5), - UNDEF, -}; -static const BYTE_LOOKUP -to_SHIFT_JIS_E8_A0 = { - to_SHIFT_JIS_E8_A0_offsets, - to_SHIFT_JIS_E8_A0_infos -}; - -static const unsigned char -to_SHIFT_JIS_E8_A1_offsets[64] = { - /* used from to_SHIFT_JIS_E8_A1 */ - /* used from to_EUC_JP_E8_A1 */ - 0, 25, 1, 25, 2, 25, 3, 25, 25, 25, 25, 25, 4, 5, 25, 25, - 25, 25, 6, 7, 25, 25, 25, 8, 25, 9, 25, 10, 25, 11, 12, 25, - 25, 13, 14, 15, 25, 25, 25, 25, 16, 25, 25, 17, 25, 25, 25, 25, - 18, 25, 19, 25, 25, 20, 25, 21, 25, 25, 25, 25, 25, 22, 23, 24, -}; -static const struct byte_lookup* const -to_SHIFT_JIS_E8_A1_infos[26] = { - o2(0x8C,0x8C), o2(0xE5,0xC7), o2(0xE5,0xC6), o2(0x8F,0x4F), - o2(0x8D,0x73), o2(0x9F,0xA5), o2(0xE5,0xC8), o2(0x8F,0x70), - o2(0x8A,0x58), o2(0xE5,0xC9), o2(0x89,0x71), o2(0x8F,0xD5), - o2(0xE5,0xCA), o2(0x8D,0x74), o2(0xE5,0xCB), o2(0x88,0xDF), - o2(0x95,0x5C), o2(0xE5,0xCC), o2(0x90,0x8A), o2(0xE5,0xD3), - o2(0xE5,0xD0), o2(0x92,0x8F), o2(0xE5,0xD1), o2(0xE5,0xCE), - o2(0x8B,0xDC), UNDEF, -}; -static const BYTE_LOOKUP -to_SHIFT_JIS_E8_A1 = { - to_SHIFT_JIS_E8_A1_offsets, - to_SHIFT_JIS_E8_A1_infos -}; - -static const unsigned char -to_SHIFT_JIS_E8_A2_offsets[64] = { - /* used from to_SHIFT_JIS_E8_A2 */ - /* used from to_EUC_JP_E8_A2 */ - 20, 0, 1, 20, 20, 20, 20, 20, 2, 20, 20, 3, 20, 4, 20, 20, - 20, 20, 5, 20, 20, 20, 6, 7, 20, 8, 20, 20, 20, 20, 9, 20, - 20, 20, 10, 20, 11, 20, 20, 20, 20, 20, 20, 12, 20, 20, 13, 20, - 14, 15, 20, 20, 16, 17, 20, 18, 20, 20, 20, 20, 20, 20, 20, 19, -}; -static const struct byte_lookup* const -to_SHIFT_JIS_E8_A2_infos[21] = { - o2(0xE5,0xCD), o2(0xE5,0xD4), o2(0x8C,0x55), o2(0x91,0xDC), - o2(0xE5,0xDA), o2(0xE5,0xD6), o2(0x91,0xB3), o2(0xE5,0xD5), - o2(0xE5,0xD8), o2(0xE5,0xCF), o2(0xE5,0xD9), o2(0xE5,0xDB), - o2(0x94,0xED), o2(0xE5,0xD7), o2(0xE5,0xDC), o2(0xE5,0xDE), - o2(0x8C,0xD1), o2(0xE5,0xD2), o2(0x88,0xBF), o2(0xE5,0xDD), - UNDEF, -}; -static const BYTE_LOOKUP -to_SHIFT_JIS_E8_A2 = { - to_SHIFT_JIS_E8_A2_offsets, - to_SHIFT_JIS_E8_A2_infos -}; - -static const unsigned char -to_SHIFT_JIS_E8_A3_offsets[64] = { - /* used from to_SHIFT_JIS_E8_A3 */ - /* used from to_EUC_JP_E8_A3 */ - 24, 0, 1, 2, 3, 4, 24, 24, 24, 24, 24, 24, 24, 24, 24, 5, - 24, 24, 24, 24, 6, 7, 24, 24, 8, 9, 24, 24, 10, 11, 24, 12, - 24, 13, 24, 24, 24, 24, 24, 24, 14, 24, 24, 24, 24, 24, 24, 24, - 24, 24, 15, 16, 17, 18, 24, 24, 19, 20, 24, 24, 21, 22, 23, 24, -}; -static const struct byte_lookup* const -to_SHIFT_JIS_E8_A3_infos[25] = { - o2(0x8D,0xD9), o2(0x97,0xF4), o2(0xE5,0xDF), o2(0xE5,0xE0), - o2(0x91,0x95), o2(0x97,0xA0), o2(0xE5,0xE1), o2(0x97,0x54), - o2(0xE5,0xE2), o2(0xE5,0xE3), o2(0x95,0xE2), o2(0xE5,0xE4), - o2(0x8D,0xBE), o2(0x97,0xA1), o2(0xE5,0xE9), o2(0xE5,0xEA), - o2(0x8F,0xD6), o2(0xE5,0xE8), o2(0xFB,0xA2), o2(0x97,0x87), - o2(0xE5,0xE5), o2(0xE5,0xE7), o2(0x90,0xBB), o2(0x90,0x9E), - UNDEF, -}; -static const BYTE_LOOKUP -to_SHIFT_JIS_E8_A3 = { - to_SHIFT_JIS_E8_A3_offsets, - to_SHIFT_JIS_E8_A3_infos -}; - -static const unsigned char -to_SHIFT_JIS_E8_A4_offsets[64] = { - /* used from to_SHIFT_JIS_E8_A4 */ - /* used from to_EUC_JP_E8_A4 */ - 17, 17, 0, 17, 1, 17, 17, 2, 17, 17, 3, 17, 4, 17, 17, 17, - 5, 17, 6, 7, 17, 17, 17, 17, 17, 17, 17, 17, 8, 9, 10, 17, - 17, 17, 17, 17, 17, 11, 17, 17, 17, 17, 12, 13, 17, 17, 17, 17, - 17, 17, 17, 17, 17, 17, 14, 17, 15, 17, 17, 16, 17, 17, 17, 17, -}; -static const struct byte_lookup* const -to_SHIFT_JIS_E8_A4_infos[18] = { - o2(0xE5,0xE6), o2(0xE5,0xEB), o2(0x95,0xA1), o2(0xE5,0xED), - o2(0xE5,0xEC), o2(0x8A,0x8C), o2(0x96,0x4A), o2(0xE5,0xEE), - o2(0xFA,0x5D), o2(0xE5,0xFA), o2(0xE5,0xF0), o2(0xE5,0xF1), - o2(0xE5,0xF2), o2(0xE5,0xF3), o2(0xE5,0xF7), o2(0xE5,0xF8), - o2(0xE5,0xF6), UNDEF, -}; -static const BYTE_LOOKUP -to_SHIFT_JIS_E8_A4 = { - to_SHIFT_JIS_E8_A4_offsets, - to_SHIFT_JIS_E8_A4_infos -}; - -static const unsigned char -to_SHIFT_JIS_E8_A5_offsets[64] = { - /* used from to_SHIFT_JIS_E8_A5 */ - /* used from to_EUC_JP_E8_A5 */ - 19, 0, 19, 1, 2, 19, 19, 19, 19, 19, 19, 19, 3, 4, 19, 19, - 19, 19, 19, 19, 19, 19, 5, 19, 19, 19, 19, 19, 19, 19, 6, 7, - 8, 19, 19, 19, 9, 19, 10, 19, 19, 19, 11, 19, 19, 12, 19, 13, - 19, 19, 14, 19, 15, 19, 19, 16, 19, 19, 19, 19, 19, 19, 17, 18, -}; -static const struct byte_lookup* const -to_SHIFT_JIS_E8_A5_infos[20] = { - o2(0xE5,0xF4), o2(0xE5,0xEF), o2(0xE5,0xF5), o2(0xE5,0xF9), - o2(0xE8,0xB5), o2(0x89,0xA6), o2(0xE5,0xFC), o2(0x8B,0xDD), - o2(0xE5,0xFB), o2(0xE6,0x41), o2(0xE6,0x40), o2(0xE6,0x43), - o2(0xE6,0x42), o2(0xE6,0x44), o2(0x8F,0x50), o2(0xE6,0x45), - o2(0xE6,0x46), o2(0xE6,0x47), o2(0x90,0xBC), UNDEF, -}; -static const BYTE_LOOKUP -to_SHIFT_JIS_E8_A5 = { - to_SHIFT_JIS_E8_A5_offsets, - to_SHIFT_JIS_E8_A5_infos -}; - -static const unsigned char -to_SHIFT_JIS_E8_A6_offsets[64] = { - /* used from to_SHIFT_JIS_E8_A6 */ - /* used from to_EUC_JP_E8_A6 */ - 25, 0, 25, 1, 25, 25, 2, 3, 4, 25, 5, 6, 25, 25, 25, 7, - 25, 25, 25, 8, 25, 25, 9, 10, 11, 25, 12, 25, 25, 25, 25, 25, - 25, 13, 25, 25, 25, 25, 14, 15, 25, 16, 17, 25, 18, 25, 25, 19, - 25, 25, 20, 21, 25, 25, 25, 25, 25, 25, 22, 25, 25, 23, 25, 24, -}; -static const struct byte_lookup* const -to_SHIFT_JIS_E8_A6_infos[26] = { - o2(0x97,0x76), o2(0xE6,0x48), o2(0x95,0xA2), o2(0x94,0x65), - o2(0xE6,0x49), o2(0xE6,0x4A), o2(0x8C,0xA9), o2(0x8B,0x4B), - o2(0xE6,0x4B), o2(0x8E,0x8B), o2(0x94,0x60), o2(0xE6,0x4C), - o2(0x8A,0x6F), o2(0xE6,0x4D), o2(0xE6,0x4F), o2(0x97,0x97), - o2(0xE6,0x4E), o2(0x90,0x65), o2(0xE6,0x50), o2(0xE6,0x51), - o2(0xE6,0x52), o2(0x8A,0xCF), o2(0xE6,0x53), o2(0xE6,0x54), - o2(0xE6,0x55), UNDEF, -}; -static const BYTE_LOOKUP -to_SHIFT_JIS_E8_A6 = { - to_SHIFT_JIS_E8_A6_offsets, - to_SHIFT_JIS_E8_A6_infos -}; - -static const unsigned char -to_SHIFT_JIS_E8_A7_offsets[64] = { - /* used from to_SHIFT_JIS_E8_A7 */ - /* used from to_EUC_JP_E8_A7 */ - 0, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, - 10, 10, 1, 10, 10, 10, 10, 10, 10, 10, 2, 10, 3, 4, 10, 10, - 10, 10, 10, 5, 10, 10, 6, 7, 10, 10, 10, 10, 10, 10, 10, 10, - 10, 10, 10, 10, 8, 10, 10, 10, 9, 10, 10, 10, 10, 10, 10, 10, -}; -static const struct byte_lookup* const -to_SHIFT_JIS_E8_A7_infos[11] = { - o2(0xE6,0x56), o2(0x8A,0x70), o2(0xE6,0x57), o2(0xE6,0x58), - o2(0xE6,0x59), o2(0x89,0xF0), o2(0x90,0x47), o2(0xE6,0x5A), - o2(0xE6,0x5B), o2(0xE6,0x5C), UNDEF, -}; -static const BYTE_LOOKUP -to_SHIFT_JIS_E8_A7 = { - to_SHIFT_JIS_E8_A7_offsets, - to_SHIFT_JIS_E8_A7_infos -}; - -static const unsigned char -to_SHIFT_JIS_E8_A8_offsets[64] = { - /* used from to_SHIFT_JIS_E8_A8 */ - /* used from to_EUC_JP_E8_A8 */ - 0, 28, 1, 2, 28, 28, 28, 28, 3, 28, 4, 28, 5, 28, 6, 28, - 7, 28, 8, 9, 28, 28, 10, 11, 12, 28, 28, 13, 28, 14, 28, 15, - 28, 28, 28, 16, 28, 17, 28, 28, 28, 28, 18, 28, 28, 19, 28, 28, - 28, 20, 28, 21, 22, 28, 23, 24, 28, 28, 25, 26, 27, 28, 28, 28, -}; -static const struct byte_lookup* const -to_SHIFT_JIS_E8_A8_infos[29] = { - o2(0x8C,0xBE), o2(0x92,0xF9), o2(0xE6,0x5D), o2(0x8C,0x76), - o2(0x90,0x75), o2(0xE6,0x60), o2(0x93,0xA2), o2(0xE6,0x5F), - o2(0xFB,0xA3), o2(0x8C,0x50), o2(0xE6,0x5E), o2(0x91,0xF5), - o2(0x8B,0x4C), o2(0xE6,0x61), o2(0xE6,0x62), o2(0x8F,0xD7), - o2(0x8C,0x8D), o2(0xE6,0x63), o2(0x96,0x4B), o2(0x90,0xDD), - o2(0x8B,0x96), o2(0x96,0xF3), o2(0x91,0x69), o2(0xE6,0x64), - o2(0xFB,0xA4), o2(0x90,0x66), o2(0x92,0x90), o2(0x8F,0xD8), - UNDEF, -}; -static const BYTE_LOOKUP -to_SHIFT_JIS_E8_A8 = { - to_SHIFT_JIS_E8_A8_offsets, - to_SHIFT_JIS_E8_A8_infos -}; - -static const unsigned char -to_SHIFT_JIS_E8_A9_offsets[64] = { - /* used from to_SHIFT_JIS_E8_A9 */ - /* used from to_EUC_JP_E8_A9 */ - 25, 0, 25, 25, 25, 25, 1, 25, 2, 25, 25, 25, 25, 25, 25, 25, - 3, 4, 5, 25, 6, 7, 25, 25, 25, 25, 25, 8, 25, 25, 9, 25, - 10, 25, 11, 12, 25, 25, 13, 25, 25, 14, 25, 15, 16, 17, 18, 25, - 19, 20, 21, 22, 25, 25, 25, 25, 25, 23, 25, 25, 24, 25, 25, 25, -}; -static const struct byte_lookup* const -to_SHIFT_JIS_E8_A9_infos[26] = { - o2(0xE6,0x65), o2(0xE6,0x68), o2(0xE6,0x69), o2(0x8D,0xBC), - o2(0x91,0xC0), o2(0xE6,0x67), o2(0x8F,0xD9), o2(0x95,0x5D), - o2(0xE6,0x66), o2(0x8E,0x8C), o2(0x89,0x72), o2(0xE6,0x6D), - o2(0x8C,0x77), o2(0x8E,0x8E), o2(0x8E,0x8D), o2(0x98,0x6C), - o2(0xE6,0x6C), o2(0xE6,0x6B), o2(0x91,0x46), o2(0x8B,0x6C), - o2(0x98,0x62), o2(0x8A,0x59), o2(0x8F,0xDA), o2(0xFB,0xA5), - o2(0xE6,0x6A), UNDEF, -}; -static const BYTE_LOOKUP -to_SHIFT_JIS_E8_A9 = { - to_SHIFT_JIS_E8_A9_offsets, - to_SHIFT_JIS_E8_A9_infos -}; - -static const unsigned char -to_SHIFT_JIS_E8_AA_offsets[64] = { - /* used from to_SHIFT_JIS_E8_AA */ - /* used from to_EUC_JP_E8_AA */ - 29, 29, 0, 29, 1, 2, 29, 3, 29, 4, 29, 29, 5, 6, 29, 29, - 29, 7, 29, 8, 29, 9, 29, 29, 10, 29, 11, 29, 29, 29, 12, 29, - 13, 14, 29, 15, 16, 17, 18, 19, 20, 29, 29, 29, 21, 22, 29, 29, - 23, 29, 24, 29, 29, 29, 29, 29, 29, 25, 29, 29, 26, 29, 27, 28, -}; -static const struct byte_lookup* const -to_SHIFT_JIS_E8_AA_infos[30] = { - o2(0xE6,0x6F), o2(0xE6,0x70), o2(0xE6,0x6E), o2(0x8C,0xD6), - o2(0x97,0x5F), o2(0x8E,0x8F), o2(0x94,0x46), o2(0xE6,0x73), - o2(0x90,0xBE), o2(0x92,0x61), o2(0x97,0x55), o2(0xE6,0x76), - o2(0x8C,0xEA), o2(0x90,0xBD), o2(0xE6,0x72), o2(0xE6,0x77), - o2(0x8C,0xEB), o2(0xE6,0x74), o2(0xE6,0x75), o2(0xFB,0xA6), - o2(0xE6,0x71), o2(0x90,0xE0), o2(0x93,0xC7), o2(0x92,0x4E), - o2(0x89,0xDB), o2(0x94,0xEE), o2(0x8B,0x62), o2(0xFB,0xA7), - o2(0x92,0xB2), UNDEF, -}; -static const BYTE_LOOKUP -to_SHIFT_JIS_E8_AA = { - to_SHIFT_JIS_E8_AA_offsets, - to_SHIFT_JIS_E8_AA_infos -}; - -static const unsigned char -to_SHIFT_JIS_E8_AB_offsets[64] = { - /* used from to_SHIFT_JIS_E8_AB */ - /* used from to_EUC_JP_E8_AB */ - 30, 30, 0, 30, 1, 30, 30, 2, 30, 30, 30, 3, 4, 5, 30, 6, - 30, 30, 7, 30, 30, 30, 8, 30, 30, 30, 9, 10, 11, 30, 12, 13, - 14, 15, 16, 30, 17, 30, 18, 19, 30, 30, 30, 20, 30, 21, 22, 30, - 30, 23, 30, 24, 30, 30, 25, 26, 27, 30, 28, 30, 30, 30, 29, 30, -}; -static const struct byte_lookup* const -to_SHIFT_JIS_E8_AB_infos[31] = { - o2(0xE6,0x7A), o2(0xE6,0x78), o2(0x92,0x6B), o2(0x90,0xBF), - o2(0x8A,0xD0), o2(0xE6,0x79), o2(0x90,0x7A), o2(0x97,0xC8), - o2(0x98,0x5F), o2(0xE6,0x7B), o2(0xE6,0x87), o2(0x92,0xB3), - o2(0xE6,0x86), o2(0xFB,0xA8), o2(0xE6,0x83), o2(0xE6,0x8B), - o2(0xE6,0x84), o2(0xE6,0x80), o2(0x92,0xFA), o2(0xE6,0x7E), - o2(0xE6,0x7C), o2(0x97,0x40), o2(0x8E,0x90), o2(0xE6,0x81), - o2(0xE6,0x7D), o2(0xFB,0xAA), o2(0xE6,0x85), o2(0x8F,0x94), - o2(0x8C,0xBF), o2(0x91,0xF8), UNDEF, -}; -static const BYTE_LOOKUP -to_SHIFT_JIS_E8_AB = { - to_SHIFT_JIS_E8_AB_offsets, - to_SHIFT_JIS_E8_AB_infos -}; - -static const unsigned char -to_SHIFT_JIS_E8_AC_offsets[64] = { - /* used from to_SHIFT_JIS_E8_AC */ - /* used from to_EUC_JP_E8_AC */ - 0, 1, 2, 24, 3, 24, 24, 4, 24, 24, 24, 24, 5, 24, 6, 24, - 7, 24, 24, 24, 8, 24, 9, 10, 24, 11, 12, 13, 24, 14, 24, 24, - 15, 16, 24, 24, 24, 24, 17, 24, 18, 24, 24, 19, 20, 24, 24, 24, - 24, 24, 24, 21, 24, 24, 24, 24, 24, 22, 24, 24, 24, 24, 23, 24, -}; -static const struct byte_lookup* const -to_SHIFT_JIS_E8_AC_infos[25] = { - o2(0x96,0x64), o2(0x89,0x79), o2(0x88,0xE0), o2(0x93,0xA3), - o2(0xE6,0x89), o2(0xE6,0x88), o2(0x93,0xE4), o2(0xE6,0x8D), - o2(0xE6,0x82), o2(0xE6,0x8C), o2(0xE6,0x8E), o2(0x8C,0xAA), - o2(0xE6,0x8A), o2(0x8D,0x75), o2(0x8E,0xD3), o2(0xE6,0x8F), - o2(0x97,0x77), o2(0xE6,0x92), o2(0xE6,0x95), o2(0xE6,0x93), - o2(0x95,0x54), o2(0xE6,0x90), o2(0x8B,0xDE), o2(0xE6,0x94), - UNDEF, -}; -static const BYTE_LOOKUP -to_SHIFT_JIS_E8_AC = { - to_SHIFT_JIS_E8_AC_offsets, - to_SHIFT_JIS_E8_AC_infos -}; - -static const unsigned char -to_SHIFT_JIS_E8_AD_offsets[64] = { - /* used from to_SHIFT_JIS_E8_AD */ - /* used from to_EUC_JP_E8_AD */ - 23, 0, 23, 23, 23, 23, 23, 23, 23, 1, 23, 23, 2, 23, 3, 4, - 23, 23, 23, 5, 23, 23, 6, 23, 7, 23, 8, 9, 10, 23, 23, 11, - 23, 23, 23, 23, 23, 23, 12, 23, 23, 23, 23, 13, 14, 23, 23, 15, - 16, 17, 18, 23, 19, 23, 23, 20, 23, 23, 23, 23, 23, 21, 23, 22, -}; -static const struct byte_lookup* const -to_SHIFT_JIS_E8_AD_infos[24] = { - o2(0xE6,0x96), o2(0xE6,0x9A), o2(0xE6,0x97), o2(0xE6,0x99), - o2(0xE6,0x98), o2(0xFB,0xAB), o2(0xE6,0x9B), o2(0x8E,0xAF), - o2(0xE6,0x9D), o2(0xE6,0x9C), o2(0x95,0x88), o2(0xE6,0x9F), - o2(0x8C,0x78), o2(0xE6,0x9E), o2(0xE6,0xA0), o2(0xE6,0xA1), - o2(0x8B,0x63), o2(0xE3,0xBF), o2(0x8F,0xF7), o2(0xE6,0xA2), - o2(0x8C,0xEC), o2(0xE6,0xA3), o2(0xFB,0xAC), UNDEF, -}; -static const BYTE_LOOKUP -to_SHIFT_JIS_E8_AD = { - to_SHIFT_JIS_E8_AD_offsets, - to_SHIFT_JIS_E8_AD_infos -}; - -static const unsigned char -to_SHIFT_JIS_E8_AE_offsets[64] = { - /* used from to_SHIFT_JIS_E8_AE */ - /* used from to_EUC_JP_E8_AE */ - 0, 11, 11, 1, 11, 11, 11, 11, 11, 11, 2, 11, 3, 11, 4, 11, - 5, 11, 6, 7, 11, 11, 8, 11, 11, 9, 10, 11, 11, 11, 11, 11, - 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, - 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, -}; -static const struct byte_lookup* const -to_SHIFT_JIS_E8_AE_infos[12] = { - o2(0xE6,0xA4), o2(0x8E,0x5D), o2(0x9D,0xCC), o2(0xE6,0xA5), - o2(0xE6,0xA6), o2(0x8F,0x51), o2(0xE6,0xA7), o2(0xE6,0xA8), - o2(0xE6,0xA9), o2(0xE6,0xAA), o2(0xE6,0xAB), UNDEF, -}; -static const BYTE_LOOKUP -to_SHIFT_JIS_E8_AE = { - to_SHIFT_JIS_E8_AE_offsets, - to_SHIFT_JIS_E8_AE_infos -}; - -static const unsigned char -to_SHIFT_JIS_E8_B0_offsets[64] = { - /* used from to_SHIFT_JIS_E8_B0 */ - /* used from to_EUC_JP_E8_B0 */ - 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, - 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, - 3, 3, 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, 3, 3, 3, 3, 2, -}; -static const struct byte_lookup* const -to_SHIFT_JIS_E8_B0_infos[4] = { - o2(0x92,0x4A), o2(0xE6,0xAC), o2(0xE6,0xAE), UNDEF, -}; -static const BYTE_LOOKUP -to_SHIFT_JIS_E8_B0 = { - to_SHIFT_JIS_E8_B0_offsets, - to_SHIFT_JIS_E8_B0_infos -}; - -static const unsigned char -to_SHIFT_JIS_E8_B1_offsets[64] = { - /* used from to_SHIFT_JIS_E8_B1 */ - /* used from to_EUC_JP_E8_B1 */ - 18, 0, 18, 18, 18, 18, 1, 18, 2, 18, 3, 18, 4, 18, 5, 18, - 6, 18, 18, 18, 18, 7, 18, 18, 18, 18, 8, 18, 18, 18, 18, 18, - 18, 9, 10, 18, 18, 18, 18, 18, 18, 18, 11, 12, 13, 18, 18, 18, - 18, 18, 18, 18, 18, 18, 18, 18, 14, 15, 16, 18, 17, 18, 18, 18, -}; -static const struct byte_lookup* const -to_SHIFT_JIS_E8_B1_infos[19] = { - o2(0xE6,0xAD), o2(0x93,0xA4), o2(0xE6,0xAF), o2(0x96,0x4C), - o2(0xE6,0xB0), o2(0xE6,0xB1), o2(0xE6,0xB2), o2(0xE6,0xB3), - o2(0x93,0xD8), o2(0x8F,0xDB), o2(0xE6,0xB4), o2(0x8D,0x8B), - o2(0x98,0xAC), o2(0xE6,0xB5), o2(0xE6,0xB6), o2(0x95,0x5E), - o2(0xE6,0xB7), o2(0xE6,0xBF), UNDEF, -}; -static const BYTE_LOOKUP -to_SHIFT_JIS_E8_B1 = { - to_SHIFT_JIS_E8_B1_offsets, - to_SHIFT_JIS_E8_B1_infos -}; - -static const unsigned char -to_SHIFT_JIS_E8_B2_offsets[64] = { - /* used from to_SHIFT_JIS_E8_B2 */ - /* used from to_EUC_JP_E8_B2 */ - 34, 34, 0, 34, 34, 1, 34, 34, 34, 2, 3, 34, 4, 5, 6, 34, - 34, 34, 34, 34, 7, 34, 34, 34, 8, 34, 34, 34, 34, 9, 10, 34, - 11, 12, 13, 34, 34, 34, 34, 14, 15, 16, 17, 18, 19, 20, 21, 22, - 23, 34, 24, 25, 26, 34, 27, 28, 29, 34, 34, 30, 31, 32, 34, 33, -}; -static const struct byte_lookup* const -to_SHIFT_JIS_E8_B2_infos[35] = { - o2(0xE6,0xB8), o2(0xE6,0xBA), o2(0xE6,0xB9), o2(0xE6,0xBB), - o2(0x96,0x65), o2(0xE6,0xBC), o2(0xE6,0xBD), o2(0xE6,0xBE), - o2(0xE6,0xC0), o2(0x8A,0x4C), o2(0x92,0xE5), o2(0x95,0x89), - o2(0x8D,0xE0), o2(0x8D,0x76), o2(0x95,0x6E), o2(0x89,0xDD), - o2(0x94,0xCC), o2(0xE6,0xC3), o2(0x8A,0xD1), o2(0x90,0xD3), - o2(0xE6,0xC2), o2(0xE6,0xC7), o2(0x92,0x99), o2(0x96,0xE1), - o2(0xE6,0xC5), o2(0xE6,0xC6), o2(0x8B,0x4D), o2(0xE6,0xC8), - o2(0x94,0x83), o2(0x91,0xDD), o2(0x94,0xEF), o2(0x93,0x5C), - o2(0xE6,0xC4), o2(0x96,0x66), UNDEF, -}; -static const BYTE_LOOKUP -to_SHIFT_JIS_E8_B2 = { - to_SHIFT_JIS_E8_B2_offsets, - to_SHIFT_JIS_E8_B2_infos -}; - -static const unsigned char -to_SHIFT_JIS_E8_B3_offsets[64] = { - /* used from to_SHIFT_JIS_E8_B3 */ - /* used from to_EUC_JP_E8_B3 */ - 0, 1, 2, 3, 4, 29, 29, 5, 6, 29, 7, 29, 29, 8, 9, 29, - 29, 10, 29, 11, 29, 29, 29, 29, 29, 29, 12, 13, 14, 29, 15, 29, - 16, 29, 17, 18, 19, 29, 20, 29, 29, 29, 21, 29, 29, 22, 29, 29, - 23, 29, 29, 29, 24, 29, 29, 29, 29, 29, 25, 26, 27, 28, 29, 29, -}; -static const struct byte_lookup* const -to_SHIFT_JIS_E8_B3_infos[30] = { - o2(0x89,0xEA), o2(0xE6,0xCA), o2(0x98,0x47), o2(0x92,0xC0), - o2(0x98,0x64), o2(0x8E,0x91), o2(0xE6,0xC9), o2(0x91,0xAF), - o2(0xE6,0xDA), o2(0x91,0x47), o2(0x93,0xF6), o2(0x95,0x6F), - o2(0xE6,0xCD), o2(0x8E,0x5E), o2(0x8E,0x92), o2(0x8F,0xDC), - o2(0x94,0x85), o2(0x8C,0xAB), o2(0xE6,0xCC), o2(0xE6,0xCB), - o2(0x95,0x8A), o2(0x8E,0xBF), o2(0x93,0x71), o2(0xFB,0xAD), - o2(0xFB,0xAE), o2(0xE6,0xCF), o2(0xE6,0xD0), o2(0x8D,0x77), - o2(0xE6,0xCE), UNDEF, -}; -static const BYTE_LOOKUP -to_SHIFT_JIS_E8_B3 = { - to_SHIFT_JIS_E8_B3_offsets, - to_SHIFT_JIS_E8_B3_infos -}; - -static const unsigned char -to_SHIFT_JIS_E8_B4_offsets[64] = { - /* used from to_SHIFT_JIS_E8_B4 */ - /* used from to_EUC_JP_E8_B4 */ - 13, 13, 13, 13, 0, 1, 13, 2, 3, 13, 4, 5, 13, 6, 13, 7, - 8, 13, 9, 10, 11, 13, 12, 13, 13, 13, 13, 13, 13, 13, 13, 13, - 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, - 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, -}; -static const struct byte_lookup* const -to_SHIFT_JIS_E8_B4_infos[14] = { - o2(0xE6,0xD1), o2(0xE6,0xD2), o2(0xE6,0xD4), o2(0x91,0xA1), - o2(0xE6,0xD3), o2(0x8A,0xE4), o2(0xE6,0xD6), o2(0xE6,0xD5), - o2(0xE6,0xD7), o2(0xFB,0xAF), o2(0xE6,0xD9), o2(0xE6,0xDB), - o2(0xE6,0xDC), UNDEF, -}; -static const BYTE_LOOKUP -to_SHIFT_JIS_E8_B4 = { - to_SHIFT_JIS_E8_B4_offsets, - to_SHIFT_JIS_E8_B4_infos -}; - -static const unsigned char -to_SHIFT_JIS_E8_B5_offsets[64] = { - /* used from to_SHIFT_JIS_E8_B5 */ - /* used from to_EUC_JP_E8_B5 */ - 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, - 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, - 11, 11, 11, 11, 0, 11, 1, 2, 11, 11, 11, 3, 11, 4, 11, 11, - 5, 6, 11, 7, 8, 11, 9, 10, 11, 11, 11, 11, 11, 11, 11, 11, -}; -static const struct byte_lookup* const -to_SHIFT_JIS_E8_B5_infos[12] = { - o2(0x90,0xD4), o2(0x8E,0xCD), o2(0xE6,0xDD), o2(0x8A,0x71), - o2(0xE6,0xDE), o2(0x91,0x96), o2(0xE6,0xDF), o2(0xE6,0xE0), - o2(0x95,0x8B), o2(0xFB,0xB0), o2(0x8B,0x4E), UNDEF, -}; -static const BYTE_LOOKUP -to_SHIFT_JIS_E8_B5 = { - to_SHIFT_JIS_E8_B5_offsets, - to_SHIFT_JIS_E8_B5_infos -}; - -static const unsigned char -to_SHIFT_JIS_E8_B6_offsets[64] = { - /* used from to_SHIFT_JIS_E8_B6 */ - /* used from to_EUC_JP_E8_B6 */ - 9, 0, 9, 9, 9, 1, 9, 9, 9, 9, 2, 9, 9, 9, 9, 9, - 9, 9, 9, 9, 9, 9, 9, 9, 9, 3, 9, 9, 9, 9, 9, 9, - 9, 9, 9, 4, 9, 9, 9, 9, 5, 9, 9, 9, 9, 9, 9, 9, - 9, 9, 9, 6, 9, 9, 9, 9, 9, 9, 7, 9, 9, 9, 8, 9, -}; -static const struct byte_lookup* const -to_SHIFT_JIS_E8_B6_infos[10] = { - o2(0xE6,0xE1), o2(0x92,0xB4), o2(0x89,0x7A), o2(0xE6,0xE2), - o2(0x8E,0xEF), o2(0x90,0x96), o2(0x91,0xAB), o2(0xE6,0xE5), - o2(0xE6,0xE4), UNDEF, -}; -static const BYTE_LOOKUP -to_SHIFT_JIS_E8_B6 = { - to_SHIFT_JIS_E8_B6_offsets, - to_SHIFT_JIS_E8_B6_infos -}; - -static const unsigned char -to_SHIFT_JIS_E8_B7_offsets[64] = { - /* used from to_SHIFT_JIS_E8_B7 */ - /* used from to_EUC_JP_E8_B7 */ - 19, 19, 0, 19, 19, 19, 19, 19, 19, 19, 19, 1, 2, 19, 19, 3, - 19, 19, 19, 19, 19, 19, 4, 19, 19, 19, 5, 6, 19, 7, 19, 8, - 19, 9, 19, 10, 19, 19, 19, 19, 11, 19, 12, 13, 19, 19, 19, 14, - 19, 19, 19, 15, 19, 16, 19, 19, 19, 19, 19, 19, 17, 19, 19, 18, -}; -static const struct byte_lookup* const -to_SHIFT_JIS_E8_B7_infos[20] = { - o2(0xE6,0xE3), o2(0xE6,0xEB), o2(0xE6,0xE9), o2(0xE6,0xE6), - o2(0xE6,0xE8), o2(0xE6,0xE7), o2(0xE6,0xEA), o2(0x8B,0x97), - o2(0xE6,0xEE), o2(0x90,0xD5), o2(0xE6,0xEF), o2(0x8C,0xD7), - o2(0xE6,0xEC), o2(0xE6,0xED), o2(0x98,0x48), o2(0x92,0xB5), - o2(0x91,0x48), o2(0xE6,0xF0), o2(0xE6,0xF3), UNDEF, -}; -static const BYTE_LOOKUP -to_SHIFT_JIS_E8_B7 = { - to_SHIFT_JIS_E8_B7_offsets, - to_SHIFT_JIS_E8_B7_infos -}; - -static const unsigned char -to_SHIFT_JIS_E8_B8_offsets[64] = { - /* used from to_SHIFT_JIS_E8_B8 */ - /* used from to_EUC_JP_E8_B8 */ - 12, 12, 12, 12, 12, 12, 12, 12, 0, 1, 2, 12, 12, 12, 12, 3, - 4, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 5, 6, 7, - 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 8, 12, 12, 12, 12, 12, - 9, 12, 12, 12, 10, 11, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, -}; -static const struct byte_lookup* const -to_SHIFT_JIS_E8_B8_infos[13] = { - o2(0xE6,0xF1), o2(0xE6,0xF2), o2(0x97,0x78), o2(0x93,0xA5), - o2(0xE6,0xF6), o2(0xE6,0xF4), o2(0xE6,0xF5), o2(0xE6,0xF7), - o2(0xE7,0x48), o2(0xE6,0xFA), o2(0xE6,0xFB), o2(0xE6,0xF9), - UNDEF, -}; -static const BYTE_LOOKUP -to_SHIFT_JIS_E8_B8 = { - to_SHIFT_JIS_E8_B8_offsets, - to_SHIFT_JIS_E8_B8_infos -}; - -static const unsigned char -to_SHIFT_JIS_E8_B9_offsets[64] = { - /* used from to_SHIFT_JIS_E8_B9 */ - /* used from to_EUC_JP_E8_B9 */ - 18, 18, 0, 18, 1, 18, 18, 2, 3, 4, 5, 18, 6, 18, 18, 18, - 7, 18, 18, 18, 18, 8, 18, 18, 18, 9, 18, 18, 18, 18, 18, 10, - 11, 18, 18, 12, 13, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, - 18, 18, 14, 18, 15, 18, 16, 18, 18, 18, 18, 18, 17, 18, 18, 18, -}; -static const struct byte_lookup* const -to_SHIFT_JIS_E8_B9_infos[19] = { - o2(0xE6,0xF8), o2(0x92,0xFB), o2(0xE7,0x40), o2(0xE7,0x44), - o2(0xE7,0x41), o2(0xE6,0xFC), o2(0xE7,0x42), o2(0xE7,0x43), - o2(0xE7,0x4A), o2(0xE7,0x45), o2(0x90,0xD6), o2(0xE7,0x47), - o2(0xE7,0x49), o2(0xE7,0x46), o2(0xE7,0x4C), o2(0x8F,0x52), - o2(0xE7,0x4B), o2(0xE7,0x4D), UNDEF, -}; -static const BYTE_LOOKUP -to_SHIFT_JIS_E8_B9 = { - to_SHIFT_JIS_E8_B9_offsets, - to_SHIFT_JIS_E8_B9_infos -}; - -static const unsigned char -to_SHIFT_JIS_E8_BA_offsets[64] = { - /* used from to_SHIFT_JIS_E8_BA */ - /* used from to_EUC_JP_E8_BA */ - 19, 0, 19, 19, 1, 2, 19, 3, 19, 19, 4, 5, 19, 6, 19, 19, - 19, 7, 19, 8, 9, 19, 19, 19, 19, 10, 19, 19, 19, 19, 19, 19, - 19, 11, 19, 19, 19, 19, 19, 19, 19, 19, 12, 13, 14, 19, 19, 15, - 16, 17, 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, 18, 19, -}; -static const struct byte_lookup* const -to_SHIFT_JIS_E8_BA_infos[20] = { - o2(0xE7,0x4E), o2(0xE7,0x51), o2(0xE7,0x50), o2(0xE7,0x4F), - o2(0xE7,0x53), o2(0xE7,0x52), o2(0x96,0xF4), o2(0xE7,0x55), - o2(0xE7,0x54), o2(0xE7,0x56), o2(0xE7,0x57), o2(0xE7,0x59), - o2(0xE7,0x58), o2(0x90,0x67), o2(0xE7,0x5A), o2(0x8B,0xEB), - o2(0xE7,0x5B), o2(0xE7,0x5D), o2(0xE7,0x5E), UNDEF, -}; -static const BYTE_LOOKUP -to_SHIFT_JIS_E8_BA = { - to_SHIFT_JIS_E8_BA_offsets, - to_SHIFT_JIS_E8_BA_infos -}; - -static const unsigned char -to_SHIFT_JIS_E8_BB_offsets[64] = { - /* used from to_SHIFT_JIS_E8_BB */ - /* used from to_EUC_JP_E8_BB */ - 19, 19, 19, 19, 19, 0, 1, 19, 2, 19, 3, 4, 5, 6, 19, 7, - 19, 19, 8, 19, 19, 19, 19, 19, 19, 19, 19, 9, 19, 19, 19, 10, - 19, 19, 11, 12, 19, 19, 19, 19, 19, 19, 19, 13, 19, 19, 19, 19, - 19, 19, 19, 19, 19, 19, 19, 19, 14, 19, 19, 15, 16, 17, 18, 19, -}; -static const struct byte_lookup* const -to_SHIFT_JIS_E8_BB_infos[20] = { - o2(0xE7,0x5F), o2(0xE7,0x5C), o2(0xE7,0x60), o2(0x8E,0xD4), - o2(0xE7,0x61), o2(0x8B,0x4F), o2(0x8C,0x52), o2(0xFB,0xB2), - o2(0x8C,0xAC), o2(0xE7,0x62), o2(0x93,0xEE), o2(0x93,0x5D), - o2(0xE7,0x63), o2(0xE7,0x66), o2(0x8E,0xB2), o2(0xE7,0x65), - o2(0xE7,0x64), o2(0x8C,0x79), o2(0xE7,0x67), UNDEF, -}; -static const BYTE_LOOKUP -to_SHIFT_JIS_E8_BB = { - to_SHIFT_JIS_E8_BB_offsets, - to_SHIFT_JIS_E8_BB_infos -}; - -static const unsigned char -to_SHIFT_JIS_E8_BC_offsets[64] = { - /* used from to_SHIFT_JIS_E8_BC */ - /* used from to_EUC_JP_E8_BC */ - 24, 24, 24, 0, 24, 1, 24, 24, 24, 2, 3, 24, 4, 24, 24, 24, - 24, 24, 5, 6, 7, 8, 24, 24, 24, 9, 24, 10, 11, 12, 24, 13, - 24, 24, 24, 24, 24, 24, 14, 24, 24, 15, 16, 24, 24, 24, 24, 17, - 24, 24, 24, 18, 24, 24, 24, 24, 19, 20, 24, 21, 24, 24, 22, 23, -}; -static const struct byte_lookup* const -to_SHIFT_JIS_E8_BC_infos[25] = { - o2(0x8A,0x72), o2(0xE7,0x69), o2(0x8D,0xDA), o2(0xE7,0x68), - o2(0xE7,0x71), o2(0xE7,0x6B), o2(0xE7,0x6D), o2(0x95,0xE3), - o2(0xE7,0x6A), o2(0xE7,0x6C), o2(0xE7,0x70), o2(0xE7,0x6E), - o2(0x8B,0x50), o2(0xE7,0x6F), o2(0xE7,0x72), o2(0x94,0x79), - o2(0x97,0xD6), o2(0x8F,0x53), o2(0xE7,0x73), o2(0x97,0x41), - o2(0xE7,0x75), o2(0xE7,0x74), o2(0xE7,0x78), o2(0x97,0x60), - UNDEF, -}; -static const BYTE_LOOKUP -to_SHIFT_JIS_E8_BC = { - to_SHIFT_JIS_E8_BC_offsets, - to_SHIFT_JIS_E8_BC_infos -}; - -static const unsigned char -to_SHIFT_JIS_E8_BD_offsets[64] = { - /* used from to_SHIFT_JIS_E8_BD */ - /* used from to_EUC_JP_E8_BD */ - 15, 15, 0, 15, 1, 2, 3, 15, 15, 4, 15, 15, 5, 6, 7, 15, - 15, 15, 15, 15, 15, 15, 15, 8, 15, 15, 15, 15, 9, 15, 15, 10, - 15, 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, -}; -static const struct byte_lookup* const -to_SHIFT_JIS_E8_BD_infos[16] = { - o2(0xE7,0x77), o2(0x8A,0x8D), o2(0xE7,0x76), o2(0xE7,0x7B), - o2(0xE7,0x7A), o2(0xE7,0x79), o2(0x93,0x51), o2(0xE7,0x7C), - o2(0xE7,0x7D), o2(0xE7,0x7E), o2(0x8D,0x8C), o2(0x8C,0x44), - o2(0xE7,0x80), o2(0xE7,0x81), o2(0xE7,0x82), UNDEF, -}; -static const BYTE_LOOKUP -to_SHIFT_JIS_E8_BD = { - to_SHIFT_JIS_E8_BD_offsets, - to_SHIFT_JIS_E8_BD_infos -}; - -static const unsigned char -to_SHIFT_JIS_E8_BE_offsets[64] = { - /* used from to_SHIFT_JIS_E8_BE */ - /* used from to_EUC_JP_E8_BE */ - 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, - 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 0, 1, 18, 2, 3, - 18, 18, 18, 4, 18, 18, 18, 5, 6, 18, 18, 18, 18, 7, 8, 9, - 10, 11, 12, 18, 18, 18, 18, 13, 18, 18, 14, 15, 16, 18, 18, 17, -}; -static const struct byte_lookup* const -to_SHIFT_JIS_E8_BE_infos[19] = { - o2(0x90,0x68), o2(0xE7,0x83), o2(0x8E,0xAB), o2(0xE7,0x84), - o2(0xE7,0x85), o2(0x99,0x9F), o2(0x99,0x9E), o2(0xE7,0x86), - o2(0xE3,0x90), o2(0xE7,0x87), o2(0x92,0x43), o2(0x90,0x4A), - o2(0x94,0x5F), o2(0xE7,0x88), o2(0x95,0xD3), o2(0x92,0xD2), - o2(0x8D,0x9E), o2(0x92,0x48), UNDEF, -}; -static const BYTE_LOOKUP -to_SHIFT_JIS_E8_BE = { - to_SHIFT_JIS_E8_BE_offsets, - to_SHIFT_JIS_E8_BE_infos -}; - -static const unsigned char -to_SHIFT_JIS_E8_BF_offsets[64] = { - /* used from to_SHIFT_JIS_E8_BF */ - /* used from to_EUC_JP_E8_BF */ - 22, 22, 0, 22, 1, 2, 22, 22, 22, 22, 22, 22, 22, 22, 3, 22, - 22, 4, 22, 22, 5, 22, 22, 22, 22, 22, 6, 22, 22, 22, 22, 22, - 22, 22, 7, 22, 22, 8, 9, 22, 22, 10, 11, 12, 22, 13, 22, 14, - 15, 22, 22, 22, 16, 22, 22, 17, 18, 19, 20, 22, 22, 21, 22, 22, -}; -static const struct byte_lookup* const -to_SHIFT_JIS_E8_BF_infos[23] = { - o2(0x89,0x49), o2(0x96,0x98), o2(0x90,0x76), o2(0x8C,0x7D), - o2(0x8B,0xDF), o2(0x95,0xD4), o2(0xE7,0x89), o2(0xE7,0x8B), - o2(0xE7,0x8A), o2(0x89,0xDE), o2(0x93,0xF4), o2(0xE7,0x8C), - o2(0x94,0x97), o2(0x93,0x52), o2(0xE7,0x8D), o2(0x8F,0x71), - o2(0xE7,0x8F), o2(0x96,0xC0), o2(0xE7,0x9E), o2(0xE7,0x91), - o2(0xE7,0x92), o2(0x92,0xC7), UNDEF, -}; -static const BYTE_LOOKUP -to_SHIFT_JIS_E8_BF = { - to_SHIFT_JIS_E8_BF_offsets, - to_SHIFT_JIS_E8_BF_infos -}; - -static const unsigned char -to_SHIFT_JIS_E8_offsets[64] = { - /* used from to_SHIFT_JIS_E8 */ - /* used from to_EUC_JP_E8 */ - 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, 63, - 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, -}; -static const struct byte_lookup* const -to_SHIFT_JIS_E8_infos[64] = { - &to_SHIFT_JIS_E8_80, &to_SHIFT_JIS_E8_81, - &to_SHIFT_JIS_E8_82, &to_SHIFT_JIS_E8_83, - &to_SHIFT_JIS_E8_84, &to_SHIFT_JIS_E8_85, - &to_SHIFT_JIS_E8_86, &to_SHIFT_JIS_E8_87, - &to_SHIFT_JIS_E8_88, &to_SHIFT_JIS_E8_89, - &to_SHIFT_JIS_E8_8A, &to_SHIFT_JIS_E8_8B, - &to_SHIFT_JIS_E8_8C, &to_SHIFT_JIS_E8_8D, - &to_SHIFT_JIS_E8_8E, &to_SHIFT_JIS_E8_8F, - &to_SHIFT_JIS_E8_90, &to_SHIFT_JIS_E8_91, - &to_SHIFT_JIS_E8_92, &to_SHIFT_JIS_E8_93, - &to_SHIFT_JIS_E8_94, &to_SHIFT_JIS_E8_95, - &to_SHIFT_JIS_E8_96, &to_SHIFT_JIS_E8_97, - &to_SHIFT_JIS_E8_98, &to_SHIFT_JIS_E8_99, - &to_SHIFT_JIS_E8_9A, &to_SHIFT_JIS_E8_9B, - &to_SHIFT_JIS_E8_9C, &to_SHIFT_JIS_E8_9D, - &to_SHIFT_JIS_E8_9E, &to_SHIFT_JIS_E8_9F, - &to_SHIFT_JIS_E8_A0, &to_SHIFT_JIS_E8_A1, - &to_SHIFT_JIS_E8_A2, &to_SHIFT_JIS_E8_A3, - &to_SHIFT_JIS_E8_A4, &to_SHIFT_JIS_E8_A5, - &to_SHIFT_JIS_E8_A6, &to_SHIFT_JIS_E8_A7, - &to_SHIFT_JIS_E8_A8, &to_SHIFT_JIS_E8_A9, - &to_SHIFT_JIS_E8_AA, &to_SHIFT_JIS_E8_AB, - &to_SHIFT_JIS_E8_AC, &to_SHIFT_JIS_E8_AD, - &to_SHIFT_JIS_E8_AE, &to_SHIFT_JIS_E8_B0, - &to_SHIFT_JIS_E8_B1, &to_SHIFT_JIS_E8_B2, - &to_SHIFT_JIS_E8_B3, &to_SHIFT_JIS_E8_B4, - &to_SHIFT_JIS_E8_B5, &to_SHIFT_JIS_E8_B6, - &to_SHIFT_JIS_E8_B7, &to_SHIFT_JIS_E8_B8, - &to_SHIFT_JIS_E8_B9, &to_SHIFT_JIS_E8_BA, - &to_SHIFT_JIS_E8_BB, &to_SHIFT_JIS_E8_BC, - &to_SHIFT_JIS_E8_BD, &to_SHIFT_JIS_E8_BE, - &to_SHIFT_JIS_E8_BF, UNDEF, -}; -static const BYTE_LOOKUP -to_SHIFT_JIS_E8 = { - to_SHIFT_JIS_E8_offsets, - to_SHIFT_JIS_E8_infos -}; - -static const unsigned char -to_SHIFT_JIS_E9_80_offsets[64] = { - /* used from to_SHIFT_JIS_E9_80 */ - /* used from to_EUC_JP_E9_80 */ - 0, 1, 35, 2, 35, 3, 4, 35, 35, 35, 35, 5, 35, 6, 7, 8, - 9, 10, 35, 11, 12, 13, 14, 15, 35, 16, 17, 35, 35, 18, 19, 20, - 21, 22, 23, 24, 35, 35, 35, 25, 35, 35, 35, 35, 35, 35, 26, 35, - 35, 27, 28, 35, 35, 29, 30, 35, 31, 32, 35, 35, 33, 35, 34, 35, -}; -static const struct byte_lookup* const -to_SHIFT_JIS_E9_80_infos[36] = { - o2(0x91,0xDE), o2(0x91,0x97), o2(0x93,0xA6), o2(0xE7,0x90), - o2(0x8B,0x74), o2(0xE7,0x99), o2(0xE7,0x96), o2(0xE7,0xA3), - o2(0x93,0xA7), o2(0x92,0x80), o2(0xE7,0x93), o2(0x92,0xFC), - o2(0x93,0x72), o2(0xE7,0x94), o2(0xE7,0x98), o2(0x90,0x80), - o2(0x94,0x87), o2(0x92,0xCA), o2(0x90,0xC0), o2(0xE7,0x97), - o2(0x91,0xAC), o2(0x91,0xA2), o2(0xE7,0x95), o2(0x88,0xA7), - o2(0x98,0x41), o2(0xE7,0x9A), o2(0x91,0xDF), o2(0x8F,0x54), - o2(0x90,0x69), o2(0xE7,0x9C), o2(0xE7,0x9B), o2(0x88,0xED), - o2(0xE7,0x9D), o2(0x95,0x4E), o2(0xE7,0xA5), UNDEF, -}; -static const BYTE_LOOKUP -to_SHIFT_JIS_E9_80 = { - to_SHIFT_JIS_E9_80_offsets, - to_SHIFT_JIS_E9_80_infos -}; - -static const unsigned char -to_SHIFT_JIS_E9_81_offsets[64] = { - /* used from to_SHIFT_JIS_E9_81 */ - /* used from to_EUC_JP_E9_81 */ - 40, 0, 1, 40, 40, 2, 40, 3, 40, 4, 5, 6, 40, 7, 8, 9, - 10, 11, 12, 13, 14, 15, 16, 40, 17, 18, 40, 40, 19, 40, 20, 40, - 21, 22, 40, 23, 40, 24, 40, 25, 26, 27, 40, 40, 40, 28, 29, 30, - 40, 40, 31, 40, 40, 32, 33, 34, 35, 40, 36, 40, 37, 38, 40, 39, -}; -static const struct byte_lookup* const -to_SHIFT_JIS_E9_81_infos[41] = { - o2(0x93,0xD9), o2(0x90,0x8B), o2(0x92,0x78), o2(0x8B,0xF6), - o2(0xE7,0xA4), o2(0x97,0x56), o2(0x89,0x5E), o2(0x95,0xD5), - o2(0x89,0xDF), o2(0xE7,0x9F), o2(0xE7,0xA0), o2(0xE7,0xA1), - o2(0xE7,0xA2), o2(0x93,0xB9), o2(0x92,0x42), o2(0x88,0xE1), - o2(0xE7,0xA6), o2(0xE7,0xA7), o2(0xEA,0xA1), o2(0x91,0xBB), - o2(0xE7,0xA8), o2(0x89,0x93), o2(0x91,0x6B), o2(0x8C,0xAD), - o2(0x97,0x79), o2(0xFB,0xB5), o2(0xE7,0xA9), o2(0x93,0x4B), - o2(0x91,0x98), o2(0x8E,0xD5), o2(0xE7,0xAA), o2(0xE7,0xAD), - o2(0x8F,0x85), o2(0xE7,0xAB), o2(0x91,0x4A), o2(0x91,0x49), - o2(0x88,0xE2), o2(0x97,0xC9), o2(0xE7,0xAF), o2(0x94,0xF0), - UNDEF, -}; -static const BYTE_LOOKUP -to_SHIFT_JIS_E9_81 = { - to_SHIFT_JIS_E9_81_offsets, - to_SHIFT_JIS_E9_81_infos -}; - -static const unsigned char -to_SHIFT_JIS_E9_82_offsets[64] = { - /* used from to_SHIFT_JIS_E9_82 */ - /* used from to_EUC_JP_E9_82 */ - 0, 1, 2, 3, 4, 18, 18, 5, 18, 6, 7, 18, 18, 18, 18, 8, - 18, 9, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, - 18, 18, 18, 10, 18, 18, 11, 18, 12, 18, 13, 18, 18, 18, 18, 14, - 18, 15, 18, 18, 18, 16, 18, 18, 17, 18, 18, 18, 18, 18, 18, 18, -}; -static const struct byte_lookup* const -to_SHIFT_JIS_E9_82_infos[19] = { - o2(0xE7,0xB1), o2(0xE7,0xB0), o2(0xE7,0xAE), o2(0xE2,0x84), - o2(0x8A,0xD2), o2(0xE7,0x8E), o2(0xE7,0xB3), o2(0xE7,0xB2), - o2(0xE7,0xB4), o2(0x97,0x57), o2(0x93,0xDF), o2(0x96,0x4D), - o2(0xE7,0xB5), o2(0x8E,0xD7), o2(0xE7,0xB6), o2(0xE7,0xB7), - o2(0xE7,0xB8), o2(0x93,0x40), UNDEF, -}; -static const BYTE_LOOKUP -to_SHIFT_JIS_E9_82 = { - to_SHIFT_JIS_E9_82_offsets, - to_SHIFT_JIS_E9_82_infos -}; - -static const unsigned char -to_SHIFT_JIS_E9_83_offsets[64] = { - /* used from to_SHIFT_JIS_E9_83 */ - /* used from to_EUC_JP_E9_83 */ - 13, 0, 13, 13, 13, 13, 13, 13, 13, 13, 1, 13, 13, 13, 2, 13, - 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 3, 13, 13, 4, 13, - 13, 5, 6, 13, 7, 13, 13, 13, 8, 13, 13, 13, 13, 9, 13, 13, - 13, 13, 13, 13, 13, 10, 13, 11, 13, 13, 13, 13, 13, 12, 13, 13, -}; -static const struct byte_lookup* const -to_SHIFT_JIS_E9_83_infos[14] = { - o2(0x88,0xE8), o2(0x8D,0x78), o2(0x98,0x59), o2(0xE7,0xBC), - o2(0xFB,0xB6), o2(0x8C,0x53), o2(0xE7,0xB9), o2(0xE7,0xBA), - o2(0x95,0x94), o2(0x8A,0x73), o2(0x97,0x58), o2(0x8B,0xBD), - o2(0x93,0x73), UNDEF, -}; -static const BYTE_LOOKUP -to_SHIFT_JIS_E9_83 = { - to_SHIFT_JIS_E9_83_offsets, - to_SHIFT_JIS_E9_83_infos -}; - -static const unsigned char -to_SHIFT_JIS_E9_84_offsets[64] = { - /* used from to_SHIFT_JIS_E9_84 */ - /* used from to_EUC_JP_E9_84 */ - 8, 8, 0, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, - 8, 8, 1, 8, 8, 2, 8, 8, 8, 3, 8, 8, 8, 8, 8, 8, - 8, 8, 8, 8, 8, 8, 8, 4, 8, 8, 8, 8, 8, 5, 8, 8, - 6, 8, 7, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, -}; -static const struct byte_lookup* const -to_SHIFT_JIS_E9_84_infos[9] = { - o2(0xE7,0xBD), o2(0xE7,0xBE), o2(0xFB,0xB8), o2(0xE7,0xBF), - o2(0xFB,0xB9), o2(0x93,0x41), o2(0xE7,0xC1), o2(0xE7,0xC0), - UNDEF, -}; -static const BYTE_LOOKUP -to_SHIFT_JIS_E9_84 = { - to_SHIFT_JIS_E9_84_offsets, - to_SHIFT_JIS_E9_84_infos -}; - -static const unsigned char -to_SHIFT_JIS_E9_85_offsets[64] = { - /* used from to_SHIFT_JIS_E9_85 */ - /* used from to_EUC_JP_E9_85 */ - 21, 21, 21, 21, 21, 21, 21, 21, 21, 0, 1, 2, 3, 4, 5, 21, - 21, 21, 6, 21, 7, 21, 8, 21, 9, 21, 21, 21, 21, 21, 21, 21, - 21, 21, 10, 11, 21, 12, 21, 21, 21, 13, 14, 21, 15, 21, 21, 21, - 21, 21, 16, 17, 21, 18, 21, 19, 20, 21, 21, 21, 21, 21, 21, 21, -}; -static const struct byte_lookup* const -to_SHIFT_JIS_E9_85_infos[22] = { - o2(0x93,0xD1), o2(0xE7,0xC2), o2(0x8F,0x55), o2(0x8E,0xDE), - o2(0x94,0x7A), o2(0x92,0x91), o2(0x8E,0xF0), o2(0x90,0x8C), - o2(0xE7,0xC3), o2(0xE7,0xC4), o2(0x90,0x7C), o2(0xE7,0xC5), - o2(0xE7,0xC6), o2(0xE7,0xC7), o2(0x97,0x8F), o2(0x8F,0x56), - o2(0xE7,0xC9), o2(0xE7,0xC8), o2(0x8D,0x79), o2(0x8D,0x93), - o2(0x8E,0x5F), UNDEF, -}; -static const BYTE_LOOKUP -to_SHIFT_JIS_E9_85 = { - to_SHIFT_JIS_E9_85_offsets, - to_SHIFT_JIS_E9_85_infos -}; - -static const unsigned char -to_SHIFT_JIS_E9_86_offsets[64] = { - /* used from to_SHIFT_JIS_E9_86 */ - /* used from to_EUC_JP_E9_86 */ - 18, 18, 0, 18, 18, 18, 18, 1, 18, 2, 18, 3, 18, 4, 18, 18, - 5, 18, 6, 18, 18, 18, 18, 7, 18, 18, 18, 18, 8, 18, 18, 18, - 18, 18, 9, 18, 10, 18, 18, 18, 18, 18, 11, 12, 18, 18, 18, 13, - 18, 18, 18, 18, 14, 15, 18, 18, 16, 18, 17, 18, 18, 18, 18, 18, -}; -static const struct byte_lookup* const -to_SHIFT_JIS_E9_86_infos[19] = { - o2(0xE7,0xCC), o2(0x8F,0x86), o2(0xE7,0xCB), o2(0xE7,0xCA), - o2(0x91,0xE7), o2(0x8C,0xED), o2(0x90,0xC1), o2(0x94,0xAE), - o2(0x8F,0x58), o2(0xE7,0xCD), o2(0x8F,0xDD), o2(0xE7,0xD0), - o2(0xE7,0xCE), o2(0xE7,0xCF), o2(0xE7,0xD2), o2(0xE7,0xD1), - o2(0x8F,0xF8), o2(0xE7,0xD3), UNDEF, -}; -static const BYTE_LOOKUP -to_SHIFT_JIS_E9_86 = { - to_SHIFT_JIS_E9_86_offsets, - to_SHIFT_JIS_E9_86_infos -}; - -static const unsigned char -to_SHIFT_JIS_E9_87_offsets[64] = { - /* used from to_SHIFT_JIS_E9_87 */ - /* used from to_EUC_JP_E9_87 */ - 0, 1, 34, 34, 34, 34, 2, 3, 4, 5, 34, 6, 7, 8, 9, 10, - 11, 12, 34, 34, 34, 34, 13, 14, 15, 34, 16, 17, 18, 19, 20, 21, - 34, 22, 34, 23, 24, 25, 26, 27, 34, 34, 34, 34, 34, 28, 29, 34, - 34, 34, 34, 34, 34, 30, 31, 34, 34, 34, 34, 34, 32, 34, 34, 33, -}; -static const struct byte_lookup* const -to_SHIFT_JIS_E9_87_infos[35] = { - o2(0xE7,0xD4), o2(0xE7,0xD5), o2(0x94,0xCE), o2(0x8D,0xD1), - o2(0x8E,0xDF), o2(0xE7,0xD6), o2(0xE7,0xD7), o2(0x97,0xA2), - o2(0x8F,0x64), o2(0x96,0xEC), o2(0x97,0xCA), o2(0xE7,0xD8), - o2(0x8B,0xE0), o2(0xE7,0xD9), o2(0xFB,0xBB), o2(0x93,0x42), - o2(0xFB,0xBA), o2(0xE7,0xDC), o2(0x8A,0x98), o2(0x90,0x6A), - o2(0xFB,0xBC), o2(0xE7,0xDA), o2(0xE7,0xDB), o2(0x92,0xDE), - o2(0xFB,0xBF), o2(0xFB,0xC0), o2(0x96,0x74), o2(0x8B,0xFA), - o2(0xFB,0xBD), o2(0xFB,0xBE), o2(0xE7,0xDE), o2(0xE7,0xDF), - o2(0xE7,0xDD), o2(0xE7,0xE1), UNDEF, -}; -static const BYTE_LOOKUP -to_SHIFT_JIS_E9_87 = { - to_SHIFT_JIS_E9_87_offsets, - to_SHIFT_JIS_E9_87_infos -}; - -static const unsigned char -to_SHIFT_JIS_E9_88_offsets[64] = { - /* used from to_SHIFT_JIS_E9_88 */ - /* used from to_EUC_JP_E9_88 */ - 17, 17, 17, 17, 17, 17, 0, 17, 17, 17, 1, 17, 17, 2, 3, 17, - 4, 5, 17, 17, 6, 7, 17, 17, 17, 17, 17, 17, 17, 17, 8, 17, - 17, 17, 17, 17, 17, 17, 17, 17, 17, 9, 17, 17, 10, 17, 17, 17, - 17, 17, 17, 17, 11, 17, 17, 12, 17, 13, 14, 17, 15, 17, 17, 16, -}; -static const struct byte_lookup* const -to_SHIFT_JIS_E9_88_infos[18] = { - o2(0xFB,0xC1), o2(0xFB,0xC3), o2(0x93,0xDD), o2(0x8A,0x62), - o2(0xFB,0xC2), o2(0xE7,0xE5), o2(0xE7,0xE2), o2(0xE7,0xE4), - o2(0xE7,0xE0), o2(0xE8,0x6E), o2(0xE7,0xE3), o2(0x97,0xE9), - o2(0x8C,0xD8), o2(0xFB,0xCA), o2(0xFB,0xC4), o2(0xFB,0xC6), - o2(0xE7,0xED), UNDEF, -}; -static const BYTE_LOOKUP -to_SHIFT_JIS_E9_88 = { - to_SHIFT_JIS_E9_88_offsets, - to_SHIFT_JIS_E9_88_infos -}; - -static const unsigned char -to_SHIFT_JIS_E9_89_offsets[64] = { - /* used from to_SHIFT_JIS_E9_89 */ - /* used from to_EUC_JP_E9_89 */ - 0, 22, 22, 22, 1, 2, 22, 22, 3, 4, 22, 5, 22, 22, 6, 22, - 7, 8, 22, 22, 22, 22, 22, 9, 22, 10, 11, 12, 22, 22, 13, 22, - 22, 22, 14, 22, 15, 22, 16, 17, 22, 22, 22, 22, 22, 22, 22, 22, - 22, 18, 22, 22, 22, 22, 22, 19, 20, 22, 22, 22, 22, 22, 21, 22, -}; -static const struct byte_lookup* const -to_SHIFT_JIS_E9_89_infos[23] = { - o2(0xFB,0xC5), o2(0x93,0x53), o2(0xE7,0xE8), o2(0xE7,0xEB), - o2(0xE7,0xE9), o2(0xE7,0xEE), o2(0xFB,0xC7), o2(0xE7,0xEF), - o2(0xFB,0xC9), o2(0xE7,0xE7), o2(0xFB,0xC8), o2(0xE7,0xF4), - o2(0x89,0x94), o2(0xE7,0xE6), o2(0x94,0xAB), o2(0xE7,0xEA), - o2(0x8F,0xDE), o2(0xFB,0xCB), o2(0x8D,0x7A), o2(0xFB,0xCD), - o2(0xFB,0xCE), o2(0x96,0x67), UNDEF, -}; -static const BYTE_LOOKUP -to_SHIFT_JIS_E9_89 = { - to_SHIFT_JIS_E9_89_offsets, - to_SHIFT_JIS_E9_89_infos -}; - -static const unsigned char -to_SHIFT_JIS_E9_8A_offsets[64] = { - /* used from to_SHIFT_JIS_E9_8A */ - /* used from to_EUC_JP_E9_8A */ - 0, 16, 16, 1, 16, 2, 16, 16, 3, 16, 16, 16, 16, 16, 16, 16, - 16, 4, 16, 5, 16, 6, 7, 16, 8, 16, 9, 10, 11, 16, 16, 16, - 16, 16, 16, 16, 16, 16, 16, 12, 16, 16, 16, 16, 16, 13, 16, 16, - 16, 16, 16, 16, 16, 16, 16, 14, 16, 15, 16, 16, 16, 16, 16, 16, -}; -static const struct byte_lookup* const -to_SHIFT_JIS_E9_8A_infos[17] = { - o2(0x8B,0xE2), o2(0x8F,0x65), o2(0x93,0xBA), o2(0xFA,0x5F), - o2(0x91,0x4C), o2(0xE7,0xF2), o2(0xE7,0xEC), o2(0xE7,0xF1), - o2(0x96,0xC1), o2(0x92,0xB6), o2(0xE7,0xF3), o2(0xE7,0xF0), - o2(0xFB,0xCC), o2(0x91,0x4B), o2(0xE7,0xF7), o2(0xE7,0xF6), - UNDEF, -}; -static const BYTE_LOOKUP -to_SHIFT_JIS_E9_8A = { - to_SHIFT_JIS_E9_8A_offsets, - to_SHIFT_JIS_E9_8A_infos -}; - -static const unsigned char -to_SHIFT_JIS_E9_8B_offsets[64] = { - /* used from to_SHIFT_JIS_E9_8B */ - /* used from to_EUC_JP_E9_8B */ - 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 0, - 1, 21, 2, 3, 21, 4, 21, 5, 21, 6, 21, 21, 21, 21, 21, 21, - 7, 21, 21, 21, 8, 21, 21, 9, 21, 10, 11, 21, 21, 12, 21, 21, - 21, 21, 13, 14, 21, 21, 21, 21, 15, 16, 17, 18, 19, 21, 21, 20, -}; -static const struct byte_lookup* const -to_SHIFT_JIS_E9_8B_infos[22] = { - o2(0xE7,0xF5), o2(0xFB,0xD2), o2(0x96,0x4E), o2(0xFB,0xD6), - o2(0xFB,0xD4), o2(0xFB,0xD0), o2(0xFB,0xD1), o2(0xFB,0xD5), - o2(0x8F,0x9B), o2(0xFB,0xCF), o2(0xE7,0xF8), o2(0x95,0xDD), - o2(0x89,0x73), o2(0x95,0x65), o2(0x92,0x92), o2(0x8B,0x98), - o2(0xFA,0x65), o2(0xE7,0xFA), o2(0xFB,0xD9), o2(0x8D,0x7C), - o2(0xFB,0xDC), UNDEF, -}; -static const BYTE_LOOKUP -to_SHIFT_JIS_E9_8B = { - to_SHIFT_JIS_E9_8B_offsets, - to_SHIFT_JIS_E9_8B_infos -}; - -static const unsigned char -to_SHIFT_JIS_E9_8C_offsets[64] = { - /* used from to_SHIFT_JIS_E9_8C */ - /* used from to_EUC_JP_E9_8C */ - 24, 24, 0, 24, 24, 24, 1, 24, 24, 24, 24, 24, 24, 24, 24, 2, - 3, 24, 24, 24, 24, 24, 24, 24, 4, 5, 6, 24, 24, 7, 8, 24, - 9, 10, 11, 12, 24, 13, 14, 24, 15, 24, 24, 16, 17, 24, 18, 19, - 24, 24, 20, 24, 24, 21, 24, 24, 24, 24, 22, 23, 24, 24, 24, 24, -}; -static const struct byte_lookup* const -to_SHIFT_JIS_E9_8C_infos[25] = { - o2(0xFB,0xDE), o2(0x8E,0x4B), o2(0xE7,0xF9), o2(0x90,0x8D), - o2(0x90,0x8E), o2(0xE8,0x40), o2(0xE8,0x42), o2(0xFB,0xDD), - o2(0xFB,0xDB), o2(0x8F,0xF9), o2(0xFB,0xD8), o2(0xE8,0x41), - o2(0xE8,0x43), o2(0xFB,0xD7), o2(0x8B,0xD1), o2(0x95,0x64), - o2(0x8E,0xE0), o2(0x98,0x42), o2(0xE7,0xFC), o2(0x8D,0xF6), - o2(0x98,0x5E), o2(0xE8,0x45), o2(0xE8,0x44), o2(0xE8,0x46), - UNDEF, -}; -static const BYTE_LOOKUP -to_SHIFT_JIS_E9_8C = { - to_SHIFT_JIS_E9_8C_offsets, - to_SHIFT_JIS_E9_8C_infos -}; - -static const unsigned char -to_SHIFT_JIS_E9_8D_offsets[64] = { - /* used from to_SHIFT_JIS_E9_8D */ - /* used from to_EUC_JP_E9_8D */ - 16, 16, 16, 16, 0, 16, 16, 16, 1, 16, 16, 2, 16, 3, 16, 16, - 16, 16, 16, 16, 4, 16, 5, 6, 16, 16, 16, 7, 8, 16, 16, 16, - 9, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 10, 16, 11, 16, - 12, 16, 16, 16, 16, 13, 16, 16, 16, 16, 16, 16, 14, 16, 15, 16, -}; -static const struct byte_lookup* const -to_SHIFT_JIS_E9_8D_infos[17] = { - o2(0xE7,0xFB), o2(0xFA,0x5E), o2(0x93,0xE7), o2(0x93,0x74), - o2(0x92,0xD5), o2(0xE8,0x4B), o2(0xFB,0xE0), o2(0x92,0x62), - o2(0xE8,0x47), o2(0xE8,0x48), o2(0x8C,0x4C), o2(0xE8,0x4A), - o2(0xFB,0xDF), o2(0x8C,0xAE), o2(0xE8,0x49), o2(0x8F,0xDF), - UNDEF, -}; -static const BYTE_LOOKUP -to_SHIFT_JIS_E9_8D = { - to_SHIFT_JIS_E9_8D_offsets, - to_SHIFT_JIS_E9_8D_infos -}; - -static const unsigned char -to_SHIFT_JIS_E9_8E_offsets[64] = { - /* used from to_SHIFT_JIS_E9_8E */ - /* used from to_EUC_JP_E9_8E */ - 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 0, 12, 12, 12, - 12, 12, 12, 12, 1, 12, 2, 3, 12, 12, 4, 12, 12, 12, 12, 12, - 12, 12, 12, 12, 5, 12, 12, 6, 12, 12, 12, 12, 7, 8, 9, 12, - 10, 12, 12, 12, 12, 12, 12, 12, 12, 11, 12, 12, 12, 12, 12, 12, -}; -static const struct byte_lookup* const -to_SHIFT_JIS_E9_8E_infos[13] = { - o2(0x8A,0x99), o2(0xE8,0x4F), o2(0x8D,0xBD), o2(0x91,0x99), - o2(0x92,0xC8), o2(0xFB,0xE1), o2(0x8A,0x5A), o2(0xE8,0x4D), - o2(0xE8,0x4E), o2(0x92,0xC1), o2(0xE8,0x4C), o2(0xE8,0x50), - UNDEF, -}; -static const BYTE_LOOKUP -to_SHIFT_JIS_E9_8E = { - to_SHIFT_JIS_E9_8E_offsets, - to_SHIFT_JIS_E9_8E_infos -}; - -static const unsigned char -to_SHIFT_JIS_E9_8F_offsets[64] = { - /* used from to_SHIFT_JIS_E9_8F */ - /* used from to_EUC_JP_E9_8F */ - 15, 15, 15, 0, 15, 15, 1, 15, 2, 15, 15, 15, 15, 15, 15, 15, - 3, 4, 15, 15, 15, 15, 5, 6, 7, 15, 15, 15, 15, 8, 9, 15, - 15, 10, 15, 15, 11, 12, 15, 15, 13, 15, 15, 15, 15, 15, 15, 15, - 15, 15, 15, 15, 15, 15, 15, 15, 14, 15, 15, 15, 15, 15, 15, 15, -}; -static const struct byte_lookup* const -to_SHIFT_JIS_E9_8F_infos[16] = { - o2(0xE8,0x56), o2(0xFB,0xE2), o2(0xE8,0x59), o2(0xE8,0x58), - o2(0x93,0x4C), o2(0xE8,0x51), o2(0xE8,0x52), o2(0xE8,0x55), - o2(0xE8,0x57), o2(0xFB,0xE3), o2(0x8B,0xBE), o2(0xE8,0x5A), - o2(0xE8,0x54), o2(0xE8,0x53), o2(0xFB,0xE4), UNDEF, -}; -static const BYTE_LOOKUP -to_SHIFT_JIS_E9_8F = { - to_SHIFT_JIS_E9_8F_offsets, - to_SHIFT_JIS_E9_8F_infos -}; - -static const unsigned char -to_SHIFT_JIS_E9_90_offsets[64] = { - /* used from to_SHIFT_JIS_E9_90 */ - /* used from to_EUC_JP_E9_90 */ - 15, 15, 15, 0, 15, 15, 15, 1, 15, 15, 15, 15, 15, 15, 15, 15, - 2, 15, 15, 3, 4, 15, 15, 15, 5, 6, 7, 15, 15, 15, 15, 15, - 15, 8, 15, 15, 15, 15, 15, 15, 15, 15, 15, 9, 15, 15, 15, 15, - 15, 10, 15, 15, 15, 11, 12, 15, 13, 15, 14, 15, 15, 15, 15, 15, -}; -static const struct byte_lookup* const -to_SHIFT_JIS_E9_90_infos[16] = { - o2(0xE8,0x5E), o2(0xE8,0x5F), o2(0xE8,0x60), o2(0xE8,0x5D), - o2(0xE8,0x5C), o2(0x8F,0xE0), o2(0x93,0xA8), o2(0xE8,0x5B), - o2(0xE8,0x64), o2(0xE8,0x62), o2(0xFB,0xE5), o2(0xE8,0x63), - o2(0xE8,0x61), o2(0x91,0xF6), o2(0xE8,0x65), UNDEF, -}; -static const BYTE_LOOKUP -to_SHIFT_JIS_E9_90 = { - to_SHIFT_JIS_E9_90_offsets, - to_SHIFT_JIS_E9_90_infos -}; - -static const unsigned char -to_SHIFT_JIS_E9_91_offsets[64] = { - /* used from to_SHIFT_JIS_E9_91 */ - /* used from to_EUC_JP_E9_91 */ - 20, 0, 20, 20, 1, 2, 20, 20, 3, 20, 20, 20, 20, 20, 20, 20, - 20, 4, 5, 6, 20, 20, 20, 20, 20, 20, 7, 8, 20, 20, 9, 20, - 10, 20, 11, 20, 20, 20, 20, 20, 20, 20, 12, 20, 20, 20, 20, 20, - 13, 20, 20, 20, 20, 14, 20, 15, 20, 20, 20, 20, 16, 17, 18, 19, -}; -static const struct byte_lookup* const -to_SHIFT_JIS_E9_91_infos[21] = { - o2(0xE8,0x66), o2(0xE8,0x68), o2(0xFB,0xE6), o2(0xFB,0xE7), - o2(0x8A,0xD3), o2(0xE8,0x67), o2(0x96,0xF8), o2(0xE8,0x73), - o2(0xE8,0x69), o2(0xE8,0x6C), o2(0xE8,0x6A), o2(0xE8,0x6B), - o2(0xE8,0x6D), o2(0xE8,0x6F), o2(0xE8,0x70), o2(0xE8,0x71), - o2(0xE8,0x74), o2(0xE8,0x72), o2(0xE8,0x75), o2(0xE8,0x77), - UNDEF, -}; -static const BYTE_LOOKUP -to_SHIFT_JIS_E9_91 = { - to_SHIFT_JIS_E9_91_offsets, - to_SHIFT_JIS_E9_91_infos -}; - -static const unsigned char -to_SHIFT_JIS_E9_92_offsets[64] = { - /* used from to_SHIFT_JIS_E9_92 */ - /* used from to_EUC_JP_E9_92 */ - 1, 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, - 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, - 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, - 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, -}; -static const struct byte_lookup* const -to_SHIFT_JIS_E9_92_infos[2] = { - o2(0xE8,0x76), UNDEF, -}; -static const BYTE_LOOKUP -to_SHIFT_JIS_E9_92 = { - to_SHIFT_JIS_E9_92_offsets, - to_SHIFT_JIS_E9_92_infos -}; - -static const unsigned char -to_SHIFT_JIS_E9_95_offsets[64] = { - /* used from to_SHIFT_JIS_E9_95 */ - /* used from to_EUC_JP_E9_95 */ - 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, - 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 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, -}; -static const struct byte_lookup* const -to_SHIFT_JIS_E9_95_infos[2] = { - o2(0x92,0xB7), UNDEF, -}; -static const BYTE_LOOKUP -to_SHIFT_JIS_E9_95 = { - to_SHIFT_JIS_E9_95_offsets, - to_SHIFT_JIS_E9_95_infos -}; - -static const unsigned char -to_SHIFT_JIS_E9_96_offsets[64] = { - /* used from to_SHIFT_JIS_E9_96 */ - /* used from to_EUC_JP_E9_96 */ - 0, 28, 1, 2, 28, 28, 28, 3, 28, 4, 5, 6, 28, 28, 28, 7, - 28, 8, 9, 10, 11, 28, 12, 28, 13, 14, 28, 28, 28, 28, 28, 28, - 15, 28, 16, 17, 18, 19, 28, 20, 21, 28, 28, 28, 28, 22, 28, 28, - 28, 28, 23, 28, 28, 28, 28, 28, 28, 24, 28, 25, 26, 28, 27, 28, -}; -static const struct byte_lookup* const -to_SHIFT_JIS_E9_96_infos[29] = { - o2(0x96,0xE5), o2(0xE8,0x78), o2(0x91,0x4D), o2(0xE8,0x79), - o2(0x95,0xC2), o2(0xE8,0x7A), o2(0x8A,0x4A), o2(0x89,0x5B), - o2(0x8A,0xD5), o2(0xFB,0xE8), o2(0x8A,0xD4), o2(0xE8,0x7B), - o2(0xE8,0x7C), o2(0xE8,0x7D), o2(0xE8,0x7E), o2(0xE8,0x80), - o2(0x8A,0xD6), o2(0x8A,0x74), o2(0x8D,0x7D), o2(0x94,0xB4), - o2(0xE8,0x82), o2(0xE8,0x81), o2(0xE8,0x83), o2(0x89,0x7B), - o2(0xE8,0x86), o2(0xE8,0x85), o2(0xE8,0x84), o2(0xE8,0x87), - UNDEF, -}; -static const BYTE_LOOKUP -to_SHIFT_JIS_E9_96 = { - to_SHIFT_JIS_E9_96_offsets, - to_SHIFT_JIS_E9_96_infos -}; - -static const unsigned char -to_SHIFT_JIS_E9_97_offsets[64] = { - /* used from to_SHIFT_JIS_E9_97 */ - /* used from to_EUC_JP_E9_97 */ - 13, 13, 13, 0, 13, 13, 13, 1, 13, 13, 2, 13, 3, 4, 13, 13, - 13, 13, 13, 13, 5, 6, 7, 13, 8, 13, 13, 13, 9, 13, 13, 13, - 13, 10, 11, 13, 13, 12, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, - 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, -}; -static const struct byte_lookup* const -to_SHIFT_JIS_E9_97_infos[14] = { - o2(0xE8,0x8A), o2(0x88,0xC5), o2(0xE8,0x88), o2(0xE8,0x8C), - o2(0xE8,0x8B), o2(0xE8,0x8E), o2(0xE8,0x8D), o2(0xE8,0x8F), - o2(0x93,0xAC), o2(0xE8,0x90), o2(0xE8,0x91), o2(0xE8,0x93), - o2(0xE8,0x92), UNDEF, -}; -static const BYTE_LOOKUP -to_SHIFT_JIS_E9_97 = { - to_SHIFT_JIS_E9_97_offsets, - to_SHIFT_JIS_E9_97_infos -}; - -static const unsigned char -to_SHIFT_JIS_E9_98_offsets[64] = { - /* used from to_SHIFT_JIS_E9_98 */ - /* used from to_EUC_JP_E9_98 */ - 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, - 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 0, 9, 9, 9, - 9, 1, 9, 9, 9, 9, 9, 9, 2, 9, 3, 9, 9, 9, 4, 5, - 9, 9, 6, 9, 9, 9, 9, 9, 9, 9, 9, 7, 9, 9, 9, 8, -}; -static const struct byte_lookup* const -to_SHIFT_JIS_E9_98_infos[10] = { - o2(0x95,0x8C), o2(0xE8,0x94), o2(0xE8,0x95), o2(0x8D,0xE3), - o2(0xE8,0x96), o2(0xE8,0x97), o2(0x96,0x68), o2(0x91,0x6A), - o2(0x88,0xA2), UNDEF, -}; -static const BYTE_LOOKUP -to_SHIFT_JIS_E9_98 = { - to_SHIFT_JIS_E9_98_offsets, - to_SHIFT_JIS_E9_98_infos -}; - -static const unsigned char -to_SHIFT_JIS_E9_99_offsets[64] = { - /* used from to_SHIFT_JIS_E9_99 */ - /* used from to_EUC_JP_E9_99 */ - 0, 29, 1, 29, 2, 29, 29, 29, 29, 29, 29, 3, 4, 5, 29, 6, - 7, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 8, 9, 10, 11, 12, - 29, 29, 13, 14, 15, 16, 17, 29, 29, 29, 18, 29, 19, 29, 29, 29, - 20, 29, 21, 22, 29, 23, 24, 25, 26, 29, 27, 29, 29, 28, 29, 29, -}; -static const struct byte_lookup* const -to_SHIFT_JIS_E9_99_infos[30] = { - o2(0x91,0xC9), o2(0xE8,0x98), o2(0x95,0x8D), o2(0xE8,0x9B), - o2(0xE8,0x99), o2(0x8D,0x7E), o2(0xE8,0x9A), o2(0x8C,0xC0), - o2(0x95,0xC3), o2(0xE8,0x9D), o2(0xE8,0x9F), o2(0xE8,0x9E), - o2(0xE8,0xA0), o2(0x89,0x40), o2(0x90,0x77), o2(0x8F,0x9C), - o2(0x8A,0xD7), o2(0xE8,0xA1), o2(0x94,0x86), o2(0xE8,0xA3), - o2(0x89,0x41), o2(0xE8,0xA2), o2(0x92,0xC2), o2(0x97,0xCB), - o2(0x93,0xA9), o2(0xE8,0x9C), o2(0x97,0xA4), o2(0x8C,0xAF), - o2(0x97,0x7A), UNDEF, -}; -static const BYTE_LOOKUP -to_SHIFT_JIS_E9_99 = { - to_SHIFT_JIS_E9_99_offsets, - to_SHIFT_JIS_E9_99_infos -}; - -static const unsigned char -to_SHIFT_JIS_E9_9A_offsets[64] = { - /* used from to_SHIFT_JIS_E9_9A */ - /* used from to_EUC_JP_E9_9A */ - 32, 32, 32, 32, 32, 0, 1, 32, 2, 32, 3, 4, 32, 5, 6, 7, - 32, 32, 32, 32, 8, 9, 32, 10, 11, 12, 32, 13, 14, 15, 32, 32, - 16, 32, 32, 17, 32, 32, 32, 18, 19, 32, 20, 32, 32, 32, 32, 21, - 22, 23, 24, 32, 25, 32, 26, 27, 28, 29, 32, 30, 31, 32, 32, 32, -}; -static const struct byte_lookup* const -to_SHIFT_JIS_E9_9A_infos[33] = { - o2(0x8B,0xF7), o2(0x97,0xB2), o2(0x8C,0x47), o2(0x91,0xE0), - o2(0xE4,0x40), o2(0xE8,0xA4), o2(0x8A,0x4B), o2(0x90,0x8F), - o2(0x8A,0x75), o2(0xE8,0xA6), o2(0xE8,0xA7), o2(0xE8,0xA5), - o2(0x8C,0x84), o2(0x8D,0xDB), o2(0x8F,0xE1), o2(0xFB,0xEB), - o2(0x89,0x42), o2(0x97,0xD7), o2(0xE8,0xA9), o2(0xE7,0xAC), - o2(0xE8,0xA8), o2(0xFB,0xEC), o2(0xE8,0xAC), o2(0xE8,0xAA), - o2(0xE8,0xAB), o2(0xE8,0xAD), o2(0xE8,0xAE), o2(0x97,0xEA), - o2(0xE8,0xAF), o2(0xE8,0xB0), o2(0x90,0xC7), o2(0x94,0xB9), - UNDEF, -}; -static const BYTE_LOOKUP -to_SHIFT_JIS_E9_9A = { - to_SHIFT_JIS_E9_9A_offsets, - to_SHIFT_JIS_E9_9A_infos -}; - -static const unsigned char -to_SHIFT_JIS_E9_9B_offsets[64] = { - /* used from to_SHIFT_JIS_E9_9B */ - /* used from to_EUC_JP_E9_9B */ - 0, 1, 28, 28, 2, 3, 4, 5, 28, 6, 28, 7, 8, 9, 10, 28, - 28, 11, 28, 28, 28, 12, 13, 28, 28, 14, 28, 15, 16, 28, 28, 28, - 28, 28, 17, 18, 28, 28, 28, 28, 19, 28, 20, 21, 28, 28, 28, 28, - 22, 28, 23, 28, 28, 28, 24, 25, 28, 26, 28, 27, 28, 28, 28, 28, -}; -static const struct byte_lookup* const -to_SHIFT_JIS_E9_9B_infos[29] = { - o2(0x90,0x9D), o2(0x8A,0xE5), o2(0x97,0x59), o2(0x89,0xEB), - o2(0x8F,0x57), o2(0x8C,0xD9), o2(0xE8,0xB3), o2(0xE8,0xB2), - o2(0x8E,0x93), o2(0xE8,0xB4), o2(0xE8,0xB1), o2(0x8E,0x47), - o2(0xE8,0xB8), o2(0xE5,0xAB), o2(0x99,0xD4), o2(0x90,0x97), - o2(0xE8,0xB6), o2(0x97,0xA3), o2(0x93,0xEF), o2(0x89,0x4A), - o2(0x90,0xE1), o2(0x8E,0xB4), o2(0x95,0xB5), o2(0x89,0x5F), - o2(0x97,0xEB), o2(0x97,0x8B), o2(0xE8,0xB9), o2(0x93,0x64), - UNDEF, -}; -static const BYTE_LOOKUP -to_SHIFT_JIS_E9_9B = { - to_SHIFT_JIS_E9_9B_offsets, - to_SHIFT_JIS_E9_9B_infos -}; - -static const unsigned char -to_SHIFT_JIS_E9_9C_offsets[64] = { - /* used from to_SHIFT_JIS_E9_9C */ - /* used from to_EUC_JP_E9_9C */ - 0, 26, 26, 26, 1, 26, 2, 3, 4, 26, 5, 26, 26, 6, 7, 8, - 26, 9, 26, 10, 26, 26, 11, 26, 26, 12, 26, 26, 13, 26, 14, 26, - 26, 26, 26, 26, 15, 26, 26, 16, 26, 26, 17, 26, 26, 26, 26, 26, - 18, 26, 19, 20, 26, 26, 26, 26, 21, 22, 26, 23, 26, 24, 25, 26, -}; -static const struct byte_lookup* const -to_SHIFT_JIS_E9_9C_infos[27] = { - o2(0x8E,0xF9), o2(0xE8,0xBA), o2(0xE8,0xBB), o2(0x90,0x6B), - o2(0xE8,0xBC), o2(0x97,0xEC), o2(0xE8,0xB7), o2(0xE8,0xBE), - o2(0xE8,0xC0), o2(0xE8,0xBF), o2(0xE8,0xBD), o2(0xE8,0xC1), - o2(0xE8,0xC2), o2(0x91,0x9A), o2(0x89,0xE0), o2(0xE8,0xC3), - o2(0x96,0xB6), o2(0xE8,0xC4), o2(0xE8,0xC5), o2(0x98,0x49), - o2(0xFB,0xED), o2(0x9E,0x50), o2(0xE8,0xC6), o2(0xFB,0xEE), - o2(0xE8,0xC7), o2(0xE8,0xC8), UNDEF, -}; -static const BYTE_LOOKUP -to_SHIFT_JIS_E9_9C = { - to_SHIFT_JIS_E9_9C_offsets, - to_SHIFT_JIS_E9_9C_infos -}; - -static const unsigned char -to_SHIFT_JIS_E9_9D_offsets[64] = { - /* used from to_SHIFT_JIS_E9_9D */ - /* used from to_EUC_JP_E9_9D */ - 29, 29, 0, 1, 2, 29, 3, 29, 4, 5, 29, 29, 29, 6, 29, 7, - 29, 8, 9, 29, 29, 10, 11, 29, 29, 12, 29, 29, 13, 29, 14, 29, - 15, 16, 17, 29, 18, 29, 19, 29, 20, 21, 29, 22, 29, 23, 29, 29, - 29, 24, 29, 29, 25, 29, 29, 29, 29, 26, 27, 29, 28, 29, 29, 29, -}; -static const struct byte_lookup* const -to_SHIFT_JIS_E9_9D_infos[30] = { - o2(0xE8,0xCC), o2(0xFB,0xEF), o2(0xE8,0xC9), o2(0xE8,0xCA), - o2(0xE8,0xCB), o2(0xE8,0xCD), o2(0xFB,0xF0), o2(0xFB,0xF1), - o2(0xFB,0xF2), o2(0x90,0xC2), o2(0xFB,0xF3), o2(0x96,0xF5), - o2(0x90,0xC3), o2(0xE8,0xCE), o2(0x94,0xF1), o2(0xE8,0xCF), - o2(0xEA,0x72), o2(0x96,0xCA), o2(0xE8,0xD0), o2(0xE8,0xD1), - o2(0xE8,0xD2), o2(0x8A,0x76), o2(0xE8,0xD4), o2(0x90,0x78), - o2(0xE8,0xD5), o2(0x8C,0x43), o2(0xE8,0xD6), o2(0xE8,0xDA), - o2(0xE8,0xD8), UNDEF, -}; -static const BYTE_LOOKUP -to_SHIFT_JIS_E9_9D = { - to_SHIFT_JIS_E9_9D_offsets, - to_SHIFT_JIS_E9_9D_infos -}; - -static const unsigned char -to_SHIFT_JIS_E9_9E_offsets[64] = { - /* used from to_SHIFT_JIS_E9_9E */ - /* used from to_EUC_JP_E9_9E */ - 18, 0, 18, 18, 1, 2, 3, 18, 18, 18, 18, 4, 18, 5, 18, 6, - 7, 18, 18, 18, 18, 18, 18, 18, 8, 18, 18, 18, 9, 18, 18, 18, - 10, 18, 18, 11, 18, 18, 12, 18, 13, 18, 18, 14, 18, 15, 18, 18, - 18, 18, 18, 16, 17, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, -}; -static const struct byte_lookup* const -to_SHIFT_JIS_E9_9E_infos[19] = { - o2(0xE8,0xD9), o2(0x8A,0x93), o2(0xE8,0xD7), o2(0xE8,0xDB), - o2(0xE8,0xDC), o2(0x88,0xC6), o2(0xE8,0xDD), o2(0xE8,0xDE), - o2(0x8F,0xE2), o2(0xE8,0xDF), o2(0x8B,0x66), o2(0xE8,0xE2), - o2(0xE8,0xE1), o2(0xE8,0xE0), o2(0xE6,0x91), o2(0x95,0xDA), - o2(0xE8,0xE3), o2(0xE8,0xE4), UNDEF, -}; -static const BYTE_LOOKUP -to_SHIFT_JIS_E9_9E = { - to_SHIFT_JIS_E9_9E_offsets, - to_SHIFT_JIS_E9_9E_infos -}; - -static const unsigned char -to_SHIFT_JIS_E9_9F_offsets[64] = { - /* used from to_SHIFT_JIS_E9_9F */ - /* used from to_EUC_JP_E9_9F */ - 14, 14, 14, 0, 14, 14, 1, 14, 2, 14, 14, 3, 14, 14, 14, 14, - 14, 14, 14, 4, 14, 14, 14, 14, 14, 14, 14, 14, 5, 14, 14, 14, - 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 6, 7, 14, - 14, 14, 8, 9, 14, 10, 11, 14, 14, 14, 14, 12, 14, 14, 14, 13, -}; -static const struct byte_lookup* const -to_SHIFT_JIS_E9_9F_infos[15] = { - o2(0xE8,0xE5), o2(0xE8,0xE6), o2(0xE8,0xE7), o2(0xE8,0xE8), - o2(0x8A,0xD8), o2(0xE8,0xE9), o2(0xE8,0xEA), o2(0x94,0x42), - o2(0xE8,0xEC), o2(0x89,0xB9), o2(0xE8,0xEF), o2(0xE8,0xEE), - o2(0x89,0x43), o2(0x8B,0xBF), UNDEF, -}; -static const BYTE_LOOKUP -to_SHIFT_JIS_E9_9F = { - to_SHIFT_JIS_E9_9F_offsets, - to_SHIFT_JIS_E9_9F_infos -}; - -static const unsigned char -to_SHIFT_JIS_E9_A0_offsets[64] = { - /* used from to_SHIFT_JIS_E9_A0 */ - /* used from to_EUC_JP_E9_A0 */ - 25, 0, 1, 2, 25, 3, 4, 25, 5, 25, 25, 25, 6, 25, 25, 7, - 8, 9, 10, 11, 25, 25, 25, 12, 13, 25, 14, 25, 25, 25, 25, 25, - 25, 15, 25, 25, 16, 25, 25, 25, 25, 25, 25, 25, 17, 18, 25, 25, - 25, 25, 25, 25, 19, 25, 25, 20, 21, 25, 25, 22, 23, 24, 25, 25, -}; -static const struct byte_lookup* const -to_SHIFT_JIS_E9_A0_infos[26] = { - o2(0x95,0xC5), o2(0x92,0xB8), o2(0x8D,0xA0), o2(0x8D,0x80), - o2(0x8F,0x87), o2(0x90,0x7B), o2(0xE8,0xF1), o2(0xE8,0xF0), - o2(0x97,0x61), o2(0x8A,0xE6), o2(0x94,0xD0), o2(0x93,0xDA), - o2(0x90,0x9C), o2(0x97,0xCC), o2(0x8C,0x7A), o2(0xE8,0xF4), - o2(0xE8,0xF3), o2(0x96,0x6A), o2(0x93,0xAA), o2(0x89,0x6F), - o2(0xE8,0xF5), o2(0xE8,0xF2), o2(0x95,0x70), o2(0x97,0x8A), - o2(0xE8,0xF6), UNDEF, -}; -static const BYTE_LOOKUP -to_SHIFT_JIS_E9_A0 = { - to_SHIFT_JIS_E9_A0_offsets, - to_SHIFT_JIS_E9_A0_infos -}; - -static const unsigned char -to_SHIFT_JIS_E9_A1_offsets[64] = { - /* used from to_SHIFT_JIS_E9_A1 */ - /* used from to_EUC_JP_E9_A1 */ - 20, 20, 20, 20, 20, 20, 0, 20, 20, 20, 20, 1, 2, 3, 4, 5, - 20, 20, 20, 20, 6, 7, 20, 8, 9, 20, 20, 10, 20, 20, 11, 20, - 20, 20, 20, 20, 20, 12, 20, 13, 20, 20, 20, 14, 20, 20, 20, 15, - 16, 17, 20, 18, 19, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, -}; -static const struct byte_lookup* const -to_SHIFT_JIS_E9_A1_infos[21] = { - o2(0xE8,0xF7), o2(0xE8,0xF9), o2(0x91,0xE8), o2(0x8A,0x7A), - o2(0x8A,0x7B), o2(0xE8,0xF8), o2(0x8A,0xE7), o2(0x8C,0xB0), - o2(0xFB,0xF4), o2(0x8A,0xE8), o2(0x93,0x5E), o2(0x97,0xDE), - o2(0xFB,0xF5), o2(0x8C,0xDA), o2(0xE8,0xFA), o2(0xE8,0xFB), - o2(0xE8,0xFC), o2(0xE9,0x40), o2(0xE9,0x42), o2(0xE9,0x41), - UNDEF, -}; -static const BYTE_LOOKUP -to_SHIFT_JIS_E9_A1 = { - to_SHIFT_JIS_E9_A1_offsets, - to_SHIFT_JIS_E9_A1_infos -}; - -static const unsigned char -to_SHIFT_JIS_E9_A2_offsets[64] = { - /* used from to_SHIFT_JIS_E9_A2 */ - /* used from to_EUC_JP_E9_A2 */ - 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, - 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, 5, 1, 5, 5, 5, 5, 2, - 5, 3, 5, 5, 5, 5, 4, 5, 5, 5, 5, 5, 5, 5, 5, 5, -}; -static const struct byte_lookup* const -to_SHIFT_JIS_E9_A2_infos[6] = { - o2(0x95,0x97), o2(0xE9,0x43), o2(0xE9,0x44), o2(0xE9,0x45), - o2(0xE9,0x46), UNDEF, -}; -static const BYTE_LOOKUP -to_SHIFT_JIS_E9_A2 = { - to_SHIFT_JIS_E9_A2_offsets, - to_SHIFT_JIS_E9_A2_infos -}; - -static const unsigned char -to_SHIFT_JIS_E9_A3_offsets[64] = { - /* used from to_SHIFT_JIS_E9_A3 */ - /* used from to_EUC_JP_E9_A3 */ - 17, 17, 17, 0, 1, 17, 2, 17, 17, 17, 17, 17, 17, 17, 17, 17, - 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 3, 4, 17, 17, 5, - 17, 17, 6, 17, 17, 17, 17, 17, 17, 7, 17, 8, 17, 9, 10, 11, - 17, 17, 12, 17, 13, 17, 17, 17, 17, 17, 17, 17, 14, 15, 16, 17, -}; -static const struct byte_lookup* const -to_SHIFT_JIS_E9_A3_infos[18] = { - o2(0xE9,0x48), o2(0xE9,0x47), o2(0xE9,0x49), o2(0x94,0xF2), - o2(0xE3,0xCA), o2(0x90,0x48), o2(0x8B,0x51), o2(0xE9,0x4A), - o2(0xE9,0x4B), o2(0x99,0xAA), o2(0x9F,0x5A), o2(0x94,0xD1), - o2(0x88,0xF9), o2(0x88,0xB9), o2(0x8E,0x94), o2(0x96,0x4F), - o2(0x8F,0xFC), UNDEF, -}; -static const BYTE_LOOKUP -to_SHIFT_JIS_E9_A3 = { - to_SHIFT_JIS_E9_A3_offsets, - to_SHIFT_JIS_E9_A3_infos -}; - -static const unsigned char -to_SHIFT_JIS_E9_A4_offsets[64] = { - /* used from to_SHIFT_JIS_E9_A4 */ - /* used from to_EUC_JP_E9_A4 */ - 21, 21, 21, 0, 21, 1, 21, 21, 21, 2, 3, 21, 4, 21, 21, 21, - 5, 21, 6, 7, 8, 21, 21, 21, 9, 21, 21, 21, 21, 10, 11, 21, - 12, 13, 21, 21, 14, 21, 21, 15, 16, 21, 21, 21, 17, 21, 18, 21, - 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 19, 20, 21, -}; -static const struct byte_lookup* const -to_SHIFT_JIS_E9_A4_infos[22] = { - o2(0xE9,0x4C), o2(0x96,0xDD), o2(0xE9,0x4D), o2(0x97,0x7B), - o2(0x89,0x61), o2(0x8E,0x60), o2(0xE9,0x4E), o2(0x89,0xEC), - o2(0xE9,0x4F), o2(0xE9,0x50), o2(0xE9,0x52), o2(0xE9,0x53), - o2(0xE9,0x55), o2(0xE9,0x51), o2(0xE9,0x54), o2(0xFB,0xF8), - o2(0x8A,0xD9), o2(0xE9,0x56), o2(0xE9,0x57), o2(0xE9,0x58), - o2(0xE9,0x59), UNDEF, -}; -static const BYTE_LOOKUP -to_SHIFT_JIS_E9_A4 = { - to_SHIFT_JIS_E9_A4_offsets, - to_SHIFT_JIS_E9_A4_infos -}; - -static const unsigned char -to_SHIFT_JIS_E9_A5_offsets[64] = { - /* used from to_SHIFT_JIS_E9_A5 */ - /* used from to_EUC_JP_E9_A5 */ - 10, 10, 0, 10, 10, 1, 10, 10, 10, 2, 10, 3, 4, 10, 10, 10, - 5, 6, 7, 10, 10, 8, 10, 9, 10, 10, 10, 10, 10, 10, 10, 10, - 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, - 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, -}; -static const struct byte_lookup* const -to_SHIFT_JIS_E9_A5_infos[11] = { - o2(0xE9,0x5A), o2(0xE9,0x5C), o2(0xE9,0x5B), o2(0xE9,0x5E), - o2(0xE9,0x61), o2(0xE9,0x5D), o2(0xE9,0x5F), o2(0xE9,0x60), - o2(0xE9,0x62), o2(0x8B,0xC0), UNDEF, -}; -static const BYTE_LOOKUP -to_SHIFT_JIS_E9_A5 = { - to_SHIFT_JIS_E9_A5_offsets, - to_SHIFT_JIS_E9_A5_infos -}; - -static const unsigned char -to_SHIFT_JIS_E9_A6_offsets[64] = { - /* used from to_SHIFT_JIS_E9_A6 */ - /* used from to_EUC_JP_E9_A6 */ - 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, - 13, 13, 13, 13, 13, 13, 0, 1, 2, 3, 13, 13, 13, 13, 4, 13, - 13, 13, 13, 13, 13, 5, 13, 13, 6, 13, 13, 13, 7, 8, 9, 13, - 13, 13, 13, 10, 11, 13, 13, 13, 13, 13, 13, 13, 12, 13, 13, 13, -}; -static const struct byte_lookup* const -to_SHIFT_JIS_E9_A6_infos[14] = { - o2(0x8E,0xF1), o2(0xE9,0x63), o2(0xE9,0x64), o2(0x8D,0x81), - o2(0xFB,0xFA), o2(0xE9,0x65), o2(0x8A,0x5D), o2(0x94,0x6E), - o2(0xE9,0x66), o2(0xE9,0x67), o2(0x92,0x79), o2(0x93,0xE9), - o2(0xE9,0x68), UNDEF, -}; -static const BYTE_LOOKUP -to_SHIFT_JIS_E9_A6 = { - to_SHIFT_JIS_E9_A6_offsets, - to_SHIFT_JIS_E9_A6_infos -}; - -static const unsigned char -to_SHIFT_JIS_E9_A7_offsets[64] = { - /* used from to_SHIFT_JIS_E9_A7 */ - /* used from to_EUC_JP_E9_A7 */ - 21, 0, 21, 21, 1, 2, 3, 21, 4, 21, 21, 21, 21, 21, 21, 21, - 5, 6, 7, 21, 21, 8, 21, 21, 9, 21, 21, 10, 21, 11, 21, 12, - 21, 21, 13, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 14, 15, 21, - 21, 16, 17, 21, 21, 21, 21, 21, 18, 21, 21, 19, 21, 21, 21, 20, -}; -static const struct byte_lookup* const -to_SHIFT_JIS_E9_A7_infos[22] = { - o2(0x94,0x9D), o2(0x91,0xCA), o2(0x89,0x77), o2(0x8B,0xEC), - o2(0x8B,0xED), o2(0x92,0x93), o2(0xE9,0x6D), o2(0x8B,0xEE), - o2(0x89,0xED), o2(0xE9,0x6C), o2(0xE9,0x6A), o2(0xE9,0x6B), - o2(0xE9,0x69), o2(0xE9,0x77), o2(0xE9,0x6E), o2(0xE9,0x6F), - o2(0xE9,0x70), o2(0xE9,0x71), o2(0xE9,0x73), o2(0xE9,0x72), - o2(0x8F,0x78), UNDEF, -}; -static const BYTE_LOOKUP -to_SHIFT_JIS_E9_A7 = { - to_SHIFT_JIS_E9_A7_offsets, - to_SHIFT_JIS_E9_A7_infos -}; - -static const unsigned char -to_SHIFT_JIS_E9_A8_offsets[64] = { - /* used from to_SHIFT_JIS_E9_A8 */ - /* used from to_EUC_JP_E9_A8 */ - 12, 0, 12, 12, 12, 1, 12, 12, 12, 12, 12, 12, 12, 12, 2, 3, - 12, 12, 4, 5, 12, 12, 12, 12, 12, 6, 12, 12, 12, 12, 12, 12, - 12, 12, 12, 12, 12, 12, 12, 12, 7, 12, 12, 8, 12, 12, 12, 12, - 9, 12, 12, 12, 12, 12, 12, 10, 12, 12, 12, 12, 12, 12, 11, 12, -}; -static const struct byte_lookup* const -to_SHIFT_JIS_E9_A8_infos[13] = { - o2(0xE9,0x74), o2(0xE9,0x76), o2(0x8B,0x52), o2(0xE9,0x75), - o2(0x91,0x9B), o2(0x8C,0xB1), o2(0xE9,0x78), o2(0x91,0xCB), - o2(0xE9,0x79), o2(0x93,0xAB), o2(0xE9,0x7A), o2(0xE9,0x80), - UNDEF, -}; -static const BYTE_LOOKUP -to_SHIFT_JIS_E9_A8 = { - to_SHIFT_JIS_E9_A8_offsets, - to_SHIFT_JIS_E9_A8_infos -}; - -static const unsigned char -to_SHIFT_JIS_E9_A9_offsets[64] = { - /* used from to_SHIFT_JIS_E9_A9 */ - /* used from to_EUC_JP_E9_A9 */ - 0, 17, 1, 2, 17, 3, 17, 17, 17, 17, 17, 17, 17, 4, 5, 17, - 17, 17, 17, 17, 17, 6, 17, 7, 17, 17, 8, 9, 17, 17, 17, 10, - 17, 17, 11, 17, 12, 13, 17, 17, 17, 14, 15, 16, 17, 17, 17, 17, - 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, -}; -static const struct byte_lookup* const -to_SHIFT_JIS_E9_A9_infos[18] = { - o2(0xE9,0x7D), o2(0xE9,0x7C), o2(0xE9,0x7E), o2(0xE9,0x7B), - o2(0xE9,0x82), o2(0xFB,0xFB), o2(0xE9,0x81), o2(0xE9,0x84), - o2(0x8B,0xC1), o2(0xE9,0x83), o2(0xE9,0x85), o2(0xE9,0x86), - o2(0xE9,0x88), o2(0xE9,0x87), o2(0xE9,0x89), o2(0xE9,0x8B), - o2(0xE9,0x8A), UNDEF, -}; -static const BYTE_LOOKUP -to_SHIFT_JIS_E9_A9 = { - to_SHIFT_JIS_E9_A9_offsets, - to_SHIFT_JIS_E9_A9_infos -}; - -static const unsigned char -to_SHIFT_JIS_E9_AA_offsets[64] = { - /* used from to_SHIFT_JIS_E9_AA */ - /* used from to_EUC_JP_E9_AA */ - 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, - 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, 5, 5, 5, 5, 1, 5, 5, - 2, 5, 5, 5, 5, 5, 5, 5, 3, 5, 5, 5, 4, 5, 5, 5, -}; -static const struct byte_lookup* const -to_SHIFT_JIS_E9_AA_infos[6] = { - o2(0x8D,0x9C), o2(0xE9,0x8C), o2(0xE9,0x8D), o2(0x8A,0x5B), - o2(0xE9,0x8E), UNDEF, -}; -static const BYTE_LOOKUP -to_SHIFT_JIS_E9_AA = { - to_SHIFT_JIS_E9_AA_offsets, - to_SHIFT_JIS_E9_AA_infos -}; - -static const unsigned char -to_SHIFT_JIS_E9_AB_offsets[64] = { - /* used from to_SHIFT_JIS_E9_AB */ - /* used from to_EUC_JP_E9_AB */ - 0, 23, 23, 23, 1, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 2, - 23, 3, 23, 4, 5, 23, 23, 23, 6, 7, 23, 23, 8, 23, 9, 10, - 23, 23, 11, 12, 23, 23, 13, 23, 23, 23, 14, 15, 23, 16, 17, 18, - 23, 19, 23, 23, 20, 23, 23, 21, 23, 23, 23, 22, 23, 23, 23, 23, -}; -static const struct byte_lookup* const -to_SHIFT_JIS_E9_AB_infos[24] = { - o2(0xE9,0x8F), o2(0x90,0x91), o2(0xE9,0x90), o2(0xE9,0x91), - o2(0xE9,0x92), o2(0xE9,0x93), o2(0x8D,0x82), o2(0xFB,0xFC), - o2(0xFC,0x40), o2(0xE9,0x94), o2(0xE9,0x95), o2(0xE9,0x96), - o2(0xE9,0x97), o2(0xE9,0x98), o2(0x94,0xAF), o2(0xE9,0x9A), - o2(0x95,0x45), o2(0xE9,0x9B), o2(0xE9,0x99), o2(0xE9,0x9D), - o2(0xE9,0x9C), o2(0xE9,0x9E), o2(0xE9,0x9F), UNDEF, -}; -static const BYTE_LOOKUP -to_SHIFT_JIS_E9_AB = { - to_SHIFT_JIS_E9_AB_offsets, - to_SHIFT_JIS_E9_AB_infos -}; - -static const unsigned char -to_SHIFT_JIS_E9_AC_offsets[64] = { - /* used from to_SHIFT_JIS_E9_AC */ - /* used from to_EUC_JP_E9_AC */ - 17, 17, 17, 17, 17, 17, 0, 17, 17, 17, 17, 17, 17, 17, 17, 17, - 17, 17, 17, 17, 17, 17, 17, 17, 1, 17, 2, 17, 17, 17, 17, 3, - 17, 17, 4, 5, 17, 6, 17, 7, 8, 9, 10, 17, 17, 17, 11, 12, - 17, 13, 14, 17, 17, 17, 17, 17, 17, 17, 17, 15, 16, 17, 17, 17, -}; -static const struct byte_lookup* const -to_SHIFT_JIS_E9_AC_infos[18] = { - o2(0xE9,0xA0), o2(0xE9,0xA1), o2(0xE9,0xA2), o2(0xE9,0xA3), - o2(0xE9,0xA4), o2(0xE9,0xA5), o2(0xE9,0xA6), o2(0xE9,0xA7), - o2(0xE9,0xA8), o2(0xE9,0xA9), o2(0xE9,0xAA), o2(0xE9,0xAB), - o2(0xE9,0xAC), o2(0x9F,0x54), o2(0xE9,0xAD), o2(0xE2,0xF6), - o2(0x8B,0x53), UNDEF, -}; -static const BYTE_LOOKUP -to_SHIFT_JIS_E9_AC = { - to_SHIFT_JIS_E9_AC_offsets, - to_SHIFT_JIS_E9_AC_infos -}; - -static const unsigned char -to_SHIFT_JIS_E9_AD_offsets[64] = { - /* used from to_SHIFT_JIS_E9_AD */ - /* used from to_EUC_JP_E9_AD */ - 16, 0, 1, 2, 3, 4, 16, 16, 16, 16, 16, 16, 16, 5, 6, 7, - 16, 8, 16, 16, 9, 16, 16, 16, 10, 16, 11, 16, 16, 16, 16, 16, - 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 12, - 16, 16, 13, 16, 14, 15, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, -}; -static const struct byte_lookup* const -to_SHIFT_JIS_E9_AD_infos[17] = { - o2(0x8A,0x40), o2(0x8D,0xB0), o2(0xE9,0xAF), o2(0xE9,0xAE), - o2(0x96,0xA3), o2(0xE9,0xB1), o2(0xE9,0xB2), o2(0xE9,0xB0), - o2(0xE9,0xB3), o2(0x96,0x82), o2(0xE9,0xB4), o2(0x8B,0x9B), - o2(0x98,0x44), o2(0xFC,0x42), o2(0xE9,0xB5), o2(0xFC,0x41), - UNDEF, -}; -static const BYTE_LOOKUP -to_SHIFT_JIS_E9_AD = { - to_SHIFT_JIS_E9_AD_offsets, - to_SHIFT_JIS_E9_AD_infos -}; - -static const unsigned char -to_SHIFT_JIS_E9_AE_offsets[64] = { - /* used from to_SHIFT_JIS_E9_AE */ - /* used from to_EUC_JP_E9_AE */ - 19, 19, 19, 0, 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, 1, 2, - 19, 3, 4, 5, 19, 19, 6, 7, 19, 19, 19, 19, 19, 19, 19, 8, - 9, 19, 19, 19, 19, 19, 19, 19, 10, 19, 11, 12, 19, 13, 14, 19, - 19, 15, 19, 19, 16, 19, 19, 19, 19, 17, 19, 18, 19, 19, 19, 19, -}; -static const struct byte_lookup* const -to_SHIFT_JIS_E9_AE_infos[20] = { - o2(0xE9,0xB7), o2(0x88,0xBC), o2(0xFC,0x43), o2(0xE9,0xB8), - o2(0x95,0xA9), o2(0xE9,0xB6), o2(0xE9,0xB9), o2(0xE9,0xBA), - o2(0xE9,0xBB), o2(0xE9,0xBC), o2(0xE9,0xBD), o2(0x96,0x8E), - o2(0x8E,0x4C), o2(0x8D,0xF8), o2(0x91,0x4E), o2(0xFC,0x44), - o2(0xE9,0xBE), o2(0xE9,0xC1), o2(0xFC,0x45), UNDEF, -}; -static const BYTE_LOOKUP -to_SHIFT_JIS_E9_AE = { - to_SHIFT_JIS_E9_AE_offsets, - to_SHIFT_JIS_E9_AE_infos -}; - -static const unsigned char -to_SHIFT_JIS_E9_AF_offsets[64] = { - /* used from to_SHIFT_JIS_E9_AF */ - /* used from to_EUC_JP_E9_AF */ - 0, 19, 19, 19, 19, 19, 1, 19, 19, 2, 3, 19, 19, 19, 19, 4, - 19, 5, 6, 19, 7, 19, 8, 19, 19, 19, 19, 9, 19, 19, 19, 19, - 19, 10, 11, 12, 13, 19, 19, 19, 14, 19, 19, 19, 19, 19, 19, 19, - 15, 16, 17, 19, 19, 18, 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, -}; -static const struct byte_lookup* const -to_SHIFT_JIS_E9_AF_infos[20] = { - o2(0xE9,0xBF), o2(0xE9,0xC2), o2(0x8C,0xEF), o2(0xE9,0xC0), - o2(0xE9,0xC3), o2(0xE9,0xC4), o2(0xE9,0xC5), o2(0xE9,0xC9), - o2(0x8E,0x49), o2(0x91,0xE2), o2(0xE9,0xCA), o2(0xE9,0xC7), - o2(0xE9,0xC6), o2(0xE9,0xC8), o2(0x8C,0x7E), o2(0xE9,0xCE), - o2(0xE9,0xCD), o2(0xE9,0xCC), o2(0x88,0xB1), UNDEF, -}; -static const BYTE_LOOKUP -to_SHIFT_JIS_E9_AF = { - to_SHIFT_JIS_E9_AF_offsets, - to_SHIFT_JIS_E9_AF_infos -}; - -static const unsigned char -to_SHIFT_JIS_E9_B0_offsets[64] = { - /* used from to_SHIFT_JIS_E9_B0 */ - /* used from to_EUC_JP_E9_B0 */ - 0, 26, 26, 26, 1, 26, 2, 26, 3, 4, 5, 26, 6, 7, 26, 26, - 8, 26, 9, 10, 11, 12, 26, 26, 26, 26, 26, 13, 26, 26, 26, 26, - 26, 14, 26, 26, 15, 16, 26, 26, 26, 26, 26, 26, 26, 17, 18, 19, - 20, 26, 21, 26, 26, 26, 26, 26, 26, 22, 23, 24, 26, 26, 25, 26, -}; -static const struct byte_lookup* const -to_SHIFT_JIS_E9_B0_infos[27] = { - o2(0xFC,0x46), o2(0xE9,0xD8), o2(0xE9,0xD4), o2(0xE9,0xD5), - o2(0xE9,0xD1), o2(0xE9,0xD7), o2(0xE9,0xD3), o2(0x8A,0x82), - o2(0x98,0x6B), o2(0xE9,0xD6), o2(0xE9,0xD2), o2(0xE9,0xD0), - o2(0xE9,0xCF), o2(0xE9,0xDA), o2(0xE9,0xDD), o2(0xE9,0xDC), - o2(0xE9,0xDB), o2(0x95,0x68), o2(0xE9,0xD9), o2(0x88,0xF1), - o2(0xE9,0xDE), o2(0xE9,0xE0), o2(0x8A,0x8F), o2(0xE9,0xCB), - o2(0x89,0x56), o2(0xE9,0xE2), UNDEF, -}; -static const BYTE_LOOKUP -to_SHIFT_JIS_E9_B0 = { - to_SHIFT_JIS_E9_B0_offsets, - to_SHIFT_JIS_E9_B0_infos -}; - -static const unsigned char -to_SHIFT_JIS_E9_B1_offsets[64] = { - /* used from to_SHIFT_JIS_E9_B1 */ - /* used from to_EUC_JP_E9_B1 */ - 10, 10, 10, 10, 10, 10, 0, 1, 2, 10, 10, 10, 10, 10, 10, 10, - 10, 10, 3, 10, 10, 10, 10, 4, 10, 10, 5, 10, 10, 10, 10, 10, - 6, 10, 10, 10, 10, 10, 10, 7, 10, 10, 10, 10, 10, 10, 10, 10, - 10, 10, 10, 10, 10, 10, 8, 10, 9, 10, 10, 10, 10, 10, 10, 10, -}; -static const struct byte_lookup* const -to_SHIFT_JIS_E9_B1_infos[11] = { - o2(0xE9,0xE1), o2(0xE9,0xDF), o2(0x92,0x4C), o2(0x96,0x90), - o2(0x97,0xD8), o2(0xE9,0xE3), o2(0xE9,0xE4), o2(0xE9,0xE5), - o2(0xE9,0xE6), o2(0xE9,0xE7), UNDEF, -}; -static const BYTE_LOOKUP -to_SHIFT_JIS_E9_B1 = { - to_SHIFT_JIS_E9_B1_offsets, - to_SHIFT_JIS_E9_B1_infos -}; - -static const unsigned char -to_SHIFT_JIS_E9_B3_offsets[64] = { - /* used from to_SHIFT_JIS_E9_B3 */ - /* used from to_EUC_JP_E9_B3 */ - 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, - 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, - 9, 9, 9, 9, 9, 0, 9, 1, 9, 2, 9, 3, 4, 9, 9, 9, - 5, 9, 9, 6, 7, 9, 8, 9, 9, 9, 9, 9, 9, 9, 9, 9, -}; -static const struct byte_lookup* const -to_SHIFT_JIS_E9_B3_infos[10] = { - o2(0x92,0xB9), o2(0xE9,0xE8), o2(0x94,0xB5), o2(0xE9,0xED), - o2(0xE9,0xE9), o2(0xE9,0xEA), o2(0x96,0x50), o2(0x96,0xC2), - o2(0x93,0xCE), UNDEF, -}; -static const BYTE_LOOKUP -to_SHIFT_JIS_E9_B3 = { - to_SHIFT_JIS_E9_B3_offsets, - to_SHIFT_JIS_E9_B3_infos -}; - -static const unsigned char -to_SHIFT_JIS_E9_B4_offsets[64] = { - /* used from to_SHIFT_JIS_E9_B4 */ - /* used from to_EUC_JP_E9_B4 */ - 19, 19, 19, 0, 19, 19, 1, 2, 3, 4, 19, 19, 19, 19, 5, 19, - 19, 19, 6, 19, 19, 7, 19, 19, 19, 19, 19, 8, 19, 19, 19, 9, - 19, 19, 19, 10, 19, 19, 11, 19, 12, 19, 13, 14, 15, 19, 19, 19, - 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, 16, 19, 19, 17, 18, -}; -static const struct byte_lookup* const -to_SHIFT_JIS_E9_B4_infos[20] = { - o2(0xE9,0xEE), o2(0xE9,0xEF), o2(0x93,0xBC), o2(0xE9,0xEC), - o2(0xE9,0xEB), o2(0x89,0xA8), o2(0xE9,0xF7), o2(0xE9,0xF6), - o2(0x89,0x95), o2(0xE9,0xF4), o2(0xE9,0xF3), o2(0xE9,0xF1), - o2(0x8A,0x9B), o2(0xE9,0xF0), o2(0x8E,0xB0), o2(0x89,0xA7), - o2(0x8D,0x83), o2(0xE9,0xFA), o2(0xE9,0xF9), UNDEF, -}; -static const BYTE_LOOKUP -to_SHIFT_JIS_E9_B4 = { - to_SHIFT_JIS_E9_B4_offsets, - to_SHIFT_JIS_E9_B4_infos -}; - -static const unsigned char -to_SHIFT_JIS_E9_B5_offsets[64] = { - /* used from to_SHIFT_JIS_E9_B5 */ - /* used from to_EUC_JP_E9_B5 */ - 19, 0, 19, 19, 1, 19, 2, 19, 3, 19, 19, 19, 19, 19, 19, 19, - 4, 5, 19, 19, 19, 19, 19, 19, 19, 6, 19, 19, 7, 8, 9, 19, - 10, 11, 19, 19, 12, 19, 19, 19, 19, 19, 19, 13, 14, 19, 19, 15, - 16, 19, 17, 19, 19, 19, 19, 19, 19, 19, 18, 19, 19, 19, 19, 19, -}; -static const struct byte_lookup* const -to_SHIFT_JIS_E9_B5_infos[20] = { - o2(0xE9,0xF8), o2(0xE9,0xF5), o2(0xE9,0xFB), o2(0xE9,0xFC), - o2(0xEA,0x44), o2(0xEA,0x43), o2(0xEA,0x45), o2(0x89,0x4C), - o2(0xEA,0x40), o2(0xEA,0x41), o2(0x8D,0x94), o2(0x96,0xB7), - o2(0xEA,0x42), o2(0xFC,0x48), o2(0x96,0x51), o2(0xEA,0x4A), - o2(0xFC,0x47), o2(0xEA,0x46), o2(0xEA,0x4B), UNDEF, -}; -static const BYTE_LOOKUP -to_SHIFT_JIS_E9_B5 = { - to_SHIFT_JIS_E9_B5_offsets, - to_SHIFT_JIS_E9_B5_infos -}; - -static const unsigned char -to_SHIFT_JIS_E9_B6_offsets[64] = { - /* used from to_SHIFT_JIS_E9_B6 */ - /* used from to_EUC_JP_E9_B6 */ - 13, 13, 13, 13, 13, 13, 13, 0, 13, 1, 13, 13, 13, 13, 13, 2, - 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 3, 13, 13, 13, 13, 13, - 13, 13, 13, 13, 4, 13, 13, 13, 13, 5, 13, 6, 13, 13, 13, 7, - 13, 13, 8, 13, 9, 13, 13, 13, 10, 13, 11, 12, 13, 13, 13, 13, -}; -static const struct byte_lookup* const -to_SHIFT_JIS_E9_B6_infos[14] = { - o2(0xEA,0x48), o2(0xEA,0x47), o2(0x8C,0x7B), o2(0xEA,0x4C), - o2(0xEA,0x4D), o2(0xEA,0x4E), o2(0xEA,0x49), o2(0xE9,0xF2), - o2(0xEA,0x4F), o2(0x92,0xDF), o2(0xEA,0x53), o2(0xEA,0x54), - o2(0xEA,0x52), UNDEF, -}; -static const BYTE_LOOKUP -to_SHIFT_JIS_E9_B6 = { - to_SHIFT_JIS_E9_B6_offsets, - to_SHIFT_JIS_E9_B6_infos -}; - -static const unsigned char -to_SHIFT_JIS_E9_B7_offsets[64] = { - /* used from to_SHIFT_JIS_E9_B7 */ - /* used from to_EUC_JP_E9_B7 */ - 15, 0, 1, 15, 2, 15, 3, 15, 15, 15, 15, 15, 15, 15, 15, 4, - 15, 15, 15, 5, 15, 15, 15, 15, 15, 6, 15, 15, 15, 15, 15, 15, - 15, 15, 15, 15, 15, 15, 7, 15, 15, 15, 15, 15, 15, 8, 15, 9, - 15, 15, 10, 15, 15, 15, 15, 15, 11, 12, 13, 15, 15, 14, 15, 15, -}; -static const struct byte_lookup* const -to_SHIFT_JIS_E9_B7_infos[16] = { - o2(0xEA,0x51), o2(0xEA,0x57), o2(0xEA,0x50), o2(0xEA,0x55), - o2(0xEA,0x56), o2(0xEA,0x59), o2(0xEA,0x58), o2(0xEA,0x5B), - o2(0xEA,0x5C), o2(0xEA,0x5D), o2(0x98,0x68), o2(0xEA,0x5A), - o2(0x91,0xE9), o2(0x8D,0xEB), o2(0xEA,0x5E), UNDEF, -}; -static const BYTE_LOOKUP -to_SHIFT_JIS_E9_B7 = { - to_SHIFT_JIS_E9_B7_offsets, - to_SHIFT_JIS_E9_B7_infos -}; - -static const unsigned char -to_SHIFT_JIS_E9_B8_offsets[64] = { - /* used from to_SHIFT_JIS_E9_B8 */ - /* used from to_EUC_JP_E9_B8 */ - 4, 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, 4, 4, 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_SHIFT_JIS_E9_B8_infos[5] = { - o2(0xFC,0x4A), o2(0xEA,0x5F), o2(0xEA,0x60), o2(0xEA,0x61), - UNDEF, -}; -static const BYTE_LOOKUP -to_SHIFT_JIS_E9_B8 = { - to_SHIFT_JIS_E9_B8_offsets, - to_SHIFT_JIS_E9_B8_infos -}; - -static const unsigned char -to_SHIFT_JIS_E9_B9_offsets[64] = { - /* used from to_SHIFT_JIS_E9_B9 */ - /* used from to_EUC_JP_E9_B9 */ - 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, - 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 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, 5, 5, 1, 2, 5, 5, 5, 3, 5, 4, -}; -static const struct byte_lookup* const -to_SHIFT_JIS_E9_B9_infos[6] = { - o2(0xEA,0x62), o2(0x8C,0xB2), o2(0xEA,0x63), o2(0xEA,0x64), - o2(0x8E,0xAD), UNDEF, -}; -static const BYTE_LOOKUP -to_SHIFT_JIS_E9_B9 = { - to_SHIFT_JIS_E9_B9_offsets, - to_SHIFT_JIS_E9_B9_infos -}; - -static const unsigned char -to_SHIFT_JIS_E9_BA_offsets[64] = { - /* used from to_SHIFT_JIS_E9_BA */ - /* used from to_EUC_JP_E9_BA */ - 23, 0, 23, 23, 23, 23, 23, 23, 1, 23, 23, 2, 3, 23, 23, 23, - 23, 4, 5, 6, 23, 7, 23, 8, 23, 23, 23, 23, 23, 9, 23, 10, - 23, 23, 23, 23, 23, 11, 12, 23, 23, 13, 14, 23, 23, 15, 23, 23, - 23, 23, 23, 23, 23, 23, 23, 23, 16, 17, 18, 19, 20, 23, 21, 22, -}; -static const struct byte_lookup* const -to_SHIFT_JIS_E9_BA_infos[24] = { - o2(0xEA,0x65), o2(0xEA,0x66), o2(0xEA,0x67), o2(0xEA,0x68), - o2(0xEA,0x6B), o2(0xEA,0x69), o2(0x98,0x5B), o2(0xEA,0x6A), - o2(0x97,0xED), o2(0xEA,0x6C), o2(0x97,0xD9), o2(0xEA,0x6D), - o2(0x94,0x9E), o2(0xEA,0x6E), o2(0xEA,0x70), o2(0xEA,0x71), - o2(0xEA,0x6F), o2(0x8D,0x8D), o2(0x96,0xCB), o2(0x96,0x83), - o2(0x9B,0xF5), o2(0x9F,0x80), o2(0x96,0x9B), UNDEF, -}; -static const BYTE_LOOKUP -to_SHIFT_JIS_E9_BA = { - to_SHIFT_JIS_E9_BA_offsets, - to_SHIFT_JIS_E9_BA_infos -}; - -static const unsigned char -to_SHIFT_JIS_E9_BB_offsets[64] = { - /* used from to_SHIFT_JIS_E9_BB */ - /* used from to_EUC_JP_E9_BB */ - 26, 26, 26, 26, 0, 26, 26, 26, 26, 26, 26, 26, 1, 2, 3, 4, - 5, 6, 7, 26, 8, 26, 26, 26, 9, 10, 26, 11, 12, 13, 14, 26, - 15, 26, 26, 26, 26, 16, 26, 26, 17, 26, 26, 26, 26, 26, 26, 18, - 26, 26, 26, 26, 19, 26, 20, 21, 26, 22, 26, 23, 24, 25, 26, 26, -}; -static const struct byte_lookup* const -to_SHIFT_JIS_E9_BB_infos[27] = { - o2(0x89,0xA9), o2(0xEA,0x73), o2(0x8B,0x6F), o2(0xEA,0x74), - o2(0xEA,0x75), o2(0xEA,0x76), o2(0xFC,0x4B), o2(0x8D,0x95), - o2(0xEA,0x77), o2(0xE0,0xD2), o2(0x96,0xD9), o2(0x91,0xE1), - o2(0xEA,0x78), o2(0xEA,0x7A), o2(0xEA,0x79), o2(0xEA,0x7B), - o2(0xEA,0x7C), o2(0xEA,0x7D), o2(0xEA,0x7E), o2(0xEA,0x80), - o2(0xEA,0x81), o2(0xEA,0x82), o2(0xEA,0x83), o2(0xEA,0x84), - o2(0xEA,0x85), o2(0xEA,0x86), UNDEF, -}; -static const BYTE_LOOKUP -to_SHIFT_JIS_E9_BB = { - to_SHIFT_JIS_E9_BB_offsets, - to_SHIFT_JIS_E9_BB_infos -}; - -static const unsigned char -to_SHIFT_JIS_E9_BC_offsets[64] = { - /* used from to_SHIFT_JIS_E9_BC */ - /* used from to_EUC_JP_E9_BC */ - 10, 10, 10, 10, 10, 10, 10, 0, 1, 10, 10, 10, 10, 10, 2, 10, - 10, 10, 10, 3, 10, 4, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, - 5, 6, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 7, 10, 10, 10, - 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 8, 10, 10, 9, 10, -}; -static const struct byte_lookup* const -to_SHIFT_JIS_E9_BC_infos[11] = { - o2(0xEA,0x87), o2(0xEA,0x88), o2(0x93,0x43), o2(0x8C,0xDB), - o2(0xEA,0x8A), o2(0x91,0x6C), o2(0xEA,0x8B), o2(0xEA,0x8C), - o2(0x95,0x40), o2(0xEA,0x8D), UNDEF, -}; -static const BYTE_LOOKUP -to_SHIFT_JIS_E9_BC = { - to_SHIFT_JIS_E9_BC_offsets, - to_SHIFT_JIS_E9_BC_infos -}; - -static const unsigned char -to_SHIFT_JIS_E9_BD_offsets[64] = { - /* used from to_SHIFT_JIS_E9_BD */ - /* used from to_EUC_JP_E9_BD */ - 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 0, 1, 18, 18, 2, 3, - 18, 18, 4, 18, 5, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 6, - 7, 8, 9, 10, 18, 18, 11, 12, 18, 18, 13, 18, 14, 18, 18, 18, - 18, 18, 15, 18, 18, 18, 16, 17, 18, 18, 18, 18, 18, 18, 18, 18, -}; -static const struct byte_lookup* const -to_SHIFT_JIS_E9_BD_infos[19] = { - o2(0xEA,0x8E), o2(0xE2,0x56), o2(0xE6,0xD8), o2(0xE8,0xEB), - o2(0xEA,0x8F), o2(0xEA,0x90), o2(0xEA,0x92), o2(0xEA,0x93), - o2(0xEA,0x94), o2(0x97,0xEE), o2(0xEA,0x91), o2(0xEA,0x95), - o2(0xEA,0x96), o2(0xEA,0x98), o2(0xEA,0x97), o2(0xEA,0x9A), - o2(0xEA,0x9B), o2(0xEA,0x99), UNDEF, -}; -static const BYTE_LOOKUP -to_SHIFT_JIS_E9_BD = { - to_SHIFT_JIS_E9_BD_offsets, - to_SHIFT_JIS_E9_BD_infos -}; - -static const unsigned char -to_SHIFT_JIS_E9_BE_offsets[64] = { - /* used from to_SHIFT_JIS_E9_BE */ - /* used from to_EUC_JP_E9_BE */ - 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 0, 5, 5, - 5, 5, 5, 5, 5, 1, 5, 5, 5, 5, 5, 5, 2, 3, 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, 5, 5, -}; -static const struct byte_lookup* const -to_SHIFT_JIS_E9_BE_infos[6] = { - o2(0x97,0xB4), o2(0xEA,0x9C), o2(0xEA,0x9D), o2(0xE2,0x73), - o2(0xEA,0x9E), UNDEF, -}; -static const BYTE_LOOKUP -to_SHIFT_JIS_E9_BE = { - to_SHIFT_JIS_E9_BE_offsets, - to_SHIFT_JIS_E9_BE_infos -}; - -static const unsigned char -to_SHIFT_JIS_E9_offsets[64] = { - /* used from to_SHIFT_JIS_E9 */ - /* used from to_EUC_JP_E9 */ - 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, - 16, 17, 18, 60, 60, 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, 60, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, -}; -static const struct byte_lookup* const -to_SHIFT_JIS_E9_infos[61] = { - &to_SHIFT_JIS_E9_80, &to_SHIFT_JIS_E9_81, - &to_SHIFT_JIS_E9_82, &to_SHIFT_JIS_E9_83, - &to_SHIFT_JIS_E9_84, &to_SHIFT_JIS_E9_85, - &to_SHIFT_JIS_E9_86, &to_SHIFT_JIS_E9_87, - &to_SHIFT_JIS_E9_88, &to_SHIFT_JIS_E9_89, - &to_SHIFT_JIS_E9_8A, &to_SHIFT_JIS_E9_8B, - &to_SHIFT_JIS_E9_8C, &to_SHIFT_JIS_E9_8D, - &to_SHIFT_JIS_E9_8E, &to_SHIFT_JIS_E9_8F, - &to_SHIFT_JIS_E9_90, &to_SHIFT_JIS_E9_91, - &to_SHIFT_JIS_E9_92, &to_SHIFT_JIS_E9_95, - &to_SHIFT_JIS_E9_96, &to_SHIFT_JIS_E9_97, - &to_SHIFT_JIS_E9_98, &to_SHIFT_JIS_E9_99, - &to_SHIFT_JIS_E9_9A, &to_SHIFT_JIS_E9_9B, - &to_SHIFT_JIS_E9_9C, &to_SHIFT_JIS_E9_9D, - &to_SHIFT_JIS_E9_9E, &to_SHIFT_JIS_E9_9F, - &to_SHIFT_JIS_E9_A0, &to_SHIFT_JIS_E9_A1, - &to_SHIFT_JIS_E9_A2, &to_SHIFT_JIS_E9_A3, - &to_SHIFT_JIS_E9_A4, &to_SHIFT_JIS_E9_A5, - &to_SHIFT_JIS_E9_A6, &to_SHIFT_JIS_E9_A7, - &to_SHIFT_JIS_E9_A8, &to_SHIFT_JIS_E9_A9, - &to_SHIFT_JIS_E9_AA, &to_SHIFT_JIS_E9_AB, - &to_SHIFT_JIS_E9_AC, &to_SHIFT_JIS_E9_AD, - &to_SHIFT_JIS_E9_AE, &to_SHIFT_JIS_E9_AF, - &to_SHIFT_JIS_E9_B0, &to_SHIFT_JIS_E9_B1, - &to_SHIFT_JIS_E9_B3, &to_SHIFT_JIS_E9_B4, - &to_SHIFT_JIS_E9_B5, &to_SHIFT_JIS_E9_B6, - &to_SHIFT_JIS_E9_B7, &to_SHIFT_JIS_E9_B8, - &to_SHIFT_JIS_E9_B9, &to_SHIFT_JIS_E9_BA, - &to_SHIFT_JIS_E9_BB, &to_SHIFT_JIS_E9_BC, - &to_SHIFT_JIS_E9_BD, &to_SHIFT_JIS_E9_BE, - UNDEF, -}; -static const BYTE_LOOKUP -to_SHIFT_JIS_E9 = { - to_SHIFT_JIS_E9_offsets, - to_SHIFT_JIS_E9_infos -}; - -static const unsigned char -to_SHIFT_JIS_EF_A4_offsets[64] = { - /* used from to_SHIFT_JIS_EF_A4 */ - /* used from to_EUC_JP_EF_A4 */ - 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, - 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, - 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 1, 1, 1, 1, 1, 1, - 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, -}; -static const struct byte_lookup* const -to_SHIFT_JIS_EF_A4_infos[2] = { - o2(0xFA,0xE0), UNDEF, -}; -static const BYTE_LOOKUP -to_SHIFT_JIS_EF_A4 = { - to_SHIFT_JIS_EF_A4_offsets, - to_SHIFT_JIS_EF_A4_infos -}; - -static const unsigned char -to_SHIFT_JIS_EF_A7_offsets[64] = { - /* used from to_SHIFT_JIS_EF_A7 */ - /* used from to_EUC_JP_EF_A7 */ - 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, - 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 1, 1, 1, - 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, - 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, -}; -static const struct byte_lookup* const -to_SHIFT_JIS_EF_A7_infos[2] = { - o2(0xFB,0xE9), UNDEF, -}; -static const BYTE_LOOKUP -to_SHIFT_JIS_EF_A7 = { - to_SHIFT_JIS_EF_A7_offsets, - to_SHIFT_JIS_EF_A7_infos -}; - -static const unsigned char -to_SHIFT_JIS_EF_A8_offsets[64] = { - /* used from to_SHIFT_JIS_EF_A8 */ - /* used from to_EUC_JP_EF_A8 */ - 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 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, 32, - 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, -}; -static const struct byte_lookup* const -to_SHIFT_JIS_EF_A8_infos[33] = { - o2(0xFA,0x90), o2(0xFA,0x9B), o2(0xFA,0x9C), o2(0xFA,0xB1), - o2(0xFA,0xD8), o2(0xFA,0xE8), o2(0xFA,0xEA), o2(0xFB,0x58), - o2(0xFB,0x5E), o2(0xFB,0x75), o2(0xFB,0x7D), o2(0xFB,0x7E), - o2(0xFB,0x80), o2(0xFB,0x82), o2(0xFB,0x86), o2(0xFB,0x89), - o2(0xFB,0x92), o2(0xFB,0x9D), o2(0xFB,0x9F), o2(0xFB,0xA0), - o2(0xFB,0xA9), o2(0xFB,0xB1), o2(0xFB,0xB3), o2(0xFB,0xB4), - o2(0xFB,0xB7), o2(0xFB,0xD3), o2(0xFB,0xDA), o2(0xFB,0xEA), - o2(0xFB,0xF6), o2(0xFB,0xF7), o2(0xFB,0xF9), o2(0xFC,0x49), - UNDEF, -}; -static const BYTE_LOOKUP -to_SHIFT_JIS_EF_A8 = { - to_SHIFT_JIS_EF_A8_offsets, - to_SHIFT_JIS_EF_A8_infos -}; - -static const unsigned char -to_SHIFT_JIS_EF_BC_offsets[64] = { - /* used from to_SHIFT_JIS_EF_BC */ - /* used from to_EUC_JP_EF_BC */ - 61, 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 61, 61, 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, -}; -static const struct byte_lookup* const -to_SHIFT_JIS_EF_BC_infos[62] = { - o2(0x81,0x49), o2(0xFA,0x57), o2(0x81,0x94), o2(0x81,0x90), - o2(0x81,0x93), o2(0x81,0x95), o2(0xFA,0x56), o2(0x81,0x69), - o2(0x81,0x6A), o2(0x81,0x96), o2(0x81,0x7B), o2(0x81,0x44), - o2(0x81,0x5E), o2(0x82,0x4F), o2(0x82,0x50), o2(0x82,0x51), - o2(0x82,0x52), o2(0x82,0x53), o2(0x82,0x54), o2(0x82,0x55), - o2(0x82,0x56), o2(0x82,0x57), o2(0x82,0x58), o2(0x81,0x46), - o2(0x81,0x47), o2(0x81,0x83), o2(0x81,0x81), o2(0x81,0x84), - o2(0x81,0x48), o2(0x81,0x97), o2(0x82,0x60), o2(0x82,0x61), - o2(0x82,0x62), o2(0x82,0x63), o2(0x82,0x64), o2(0x82,0x65), - o2(0x82,0x66), o2(0x82,0x67), o2(0x82,0x68), o2(0x82,0x69), - o2(0x82,0x6A), o2(0x82,0x6B), o2(0x82,0x6C), o2(0x82,0x6D), - o2(0x82,0x6E), o2(0x82,0x6F), o2(0x82,0x70), o2(0x82,0x71), - o2(0x82,0x72), o2(0x82,0x73), o2(0x82,0x74), o2(0x82,0x75), - o2(0x82,0x76), o2(0x82,0x77), o2(0x82,0x78), o2(0x82,0x79), - o2(0x81,0x6D), o2(0x81,0x5F), o2(0x81,0x6E), o2(0x81,0x4F), - o2(0x81,0x51), UNDEF, -}; -static const BYTE_LOOKUP -to_SHIFT_JIS_EF_BC = { - to_SHIFT_JIS_EF_BC_offsets, - to_SHIFT_JIS_EF_BC_infos -}; - -static const unsigned char -to_SHIFT_JIS_EF_BD_offsets[64] = { - /* used from to_SHIFT_JIS_EF_BD */ - /* used from to_EUC_JP_EF_BD */ - 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, 61, 61, - 61, 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, -}; -static const struct byte_lookup* const -to_SHIFT_JIS_EF_BD_infos[62] = { - o2(0x81,0x4D), o2(0x82,0x81), o2(0x82,0x82), o2(0x82,0x83), - o2(0x82,0x84), o2(0x82,0x85), o2(0x82,0x86), o2(0x82,0x87), - o2(0x82,0x88), o2(0x82,0x89), o2(0x82,0x8A), o2(0x82,0x8B), - o2(0x82,0x8C), o2(0x82,0x8D), o2(0x82,0x8E), o2(0x82,0x8F), - o2(0x82,0x90), o2(0x82,0x91), o2(0x82,0x92), o2(0x82,0x93), - o2(0x82,0x94), o2(0x82,0x95), o2(0x82,0x96), o2(0x82,0x97), - o2(0x82,0x98), o2(0x82,0x99), o2(0x82,0x9A), o2(0x81,0x6F), - o2(0x81,0x62), o2(0x81,0x70), 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), UNDEF, -}; -static const BYTE_LOOKUP -to_SHIFT_JIS_EF_BD = { - to_SHIFT_JIS_EF_BD_offsets, - to_SHIFT_JIS_EF_BD_infos -}; - -static const unsigned char -to_SHIFT_JIS_EF_BE_offsets[64] = { - /* used from to_SHIFT_JIS_EF_BE */ - /* used from to_EUC_JP_EF_BE */ - 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, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, - 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, -}; -static const struct byte_lookup* const -to_SHIFT_JIS_EF_BE_infos[33] = { - 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_SHIFT_JIS_EF_BE = { - to_SHIFT_JIS_EF_BE_offsets, - to_SHIFT_JIS_EF_BE_infos -}; - -static const unsigned char -to_SHIFT_JIS_EF_offsets[64] = { - /* used from to_SHIFT_JIS_EF */ - /* used from to_EUC_JP_EF */ - 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, - 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, - 6, 6, 6, 6, 0, 6, 6, 1, 2, 6, 6, 6, 6, 6, 6, 6, - 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 3, 4, 5, 6, -}; -static const struct byte_lookup* const -to_SHIFT_JIS_EF_infos[7] = { - &to_SHIFT_JIS_EF_A4, &to_SHIFT_JIS_EF_A7, - &to_SHIFT_JIS_EF_A8, &to_SHIFT_JIS_EF_BC, - &to_SHIFT_JIS_EF_BD, &to_SHIFT_JIS_EF_BE, - UNDEF, -}; -static const BYTE_LOOKUP -to_SHIFT_JIS_EF = { - to_SHIFT_JIS_EF_offsets, - to_SHIFT_JIS_EF_infos -}; - -static const unsigned char -to_SHIFT_JIS_offsets[256] = { - /* used from to_SHIFT_JIS */ - /* used from to_EUC_JP */ - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, - 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, - 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, - 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, - 16, 16, 1, 2, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 3, 4, - 5, 6, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, - 16, 16, 7, 8, 9, 10, 11, 12, 13, 14, 16, 16, 16, 16, 16, 15, - 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, -}; -static const struct byte_lookup* const -to_SHIFT_JIS_infos[17] = { - NOMAP, &to_SHIFT_JIS_C2, &to_SHIFT_JIS_C3, &to_SHIFT_JIS_CE, - &to_SHIFT_JIS_CF, &to_SHIFT_JIS_D0, &to_SHIFT_JIS_D1, &to_SHIFT_JIS_E2, - &to_SHIFT_JIS_E3, &to_SHIFT_JIS_E4, &to_SHIFT_JIS_E5, &to_SHIFT_JIS_E6, - &to_SHIFT_JIS_E7, &to_SHIFT_JIS_E8, &to_SHIFT_JIS_E9, &to_SHIFT_JIS_EF, - UNDEF, -}; -const BYTE_LOOKUP -rb_to_SHIFT_JIS = { - to_SHIFT_JIS_offsets, - to_SHIFT_JIS_infos -}; - -static const unsigned char -from_EUC_JP_8E_offsets[256] = { - 63, 63, 63, 63, 63, 63, 63, 63, 63, 63, 63, 63, 63, 63, 63, 63, - 63, 63, 63, 63, 63, 63, 63, 63, 63, 63, 63, 63, 63, 63, 63, 63, - 63, 63, 63, 63, 63, 63, 63, 63, 63, 63, 63, 63, 63, 63, 63, 63, - 63, 63, 63, 63, 63, 63, 63, 63, 63, 63, 63, 63, 63, 63, 63, 63, - 63, 63, 63, 63, 63, 63, 63, 63, 63, 63, 63, 63, 63, 63, 63, 63, - 63, 63, 63, 63, 63, 63, 63, 63, 63, 63, 63, 63, 63, 63, 63, 63, - 63, 63, 63, 63, 63, 63, 63, 63, 63, 63, 63, 63, 63, 63, 63, 63, - 63, 63, 63, 63, 63, 63, 63, 63, 63, 63, 63, 63, 63, 63, 63, 63, - 63, 63, 63, 63, 63, 63, 63, 63, 63, 63, 63, 63, 63, 63, 63, 63, - 63, 63, 63, 63, 63, 63, 63, 63, 63, 63, 63, 63, 63, 63, 63, 63, - 63, 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, 63, 63, 63, 63, 63, 63, 63, 63, 63, 63, 63, 63, 63, 63, 63, - 63, 63, 63, 63, 63, 63, 63, 63, 63, 63, 63, 63, 63, 63, 63, 63, -}; -static const struct byte_lookup* const -from_EUC_JP_8E_infos[64] = { - o3(0xEF,0xBD,0xA1), o3(0xEF,0xBD,0xA2), - o3(0xEF,0xBD,0xA3), o3(0xEF,0xBD,0xA4), - o3(0xEF,0xBD,0xA5), o3(0xEF,0xBD,0xA6), - o3(0xEF,0xBD,0xA7), o3(0xEF,0xBD,0xA8), - o3(0xEF,0xBD,0xA9), o3(0xEF,0xBD,0xAA), - o3(0xEF,0xBD,0xAB), o3(0xEF,0xBD,0xAC), - o3(0xEF,0xBD,0xAD), o3(0xEF,0xBD,0xAE), - o3(0xEF,0xBD,0xAF), o3(0xEF,0xBD,0xB0), - o3(0xEF,0xBD,0xB1), o3(0xEF,0xBD,0xB2), - o3(0xEF,0xBD,0xB3), o3(0xEF,0xBD,0xB4), - o3(0xEF,0xBD,0xB5), o3(0xEF,0xBD,0xB6), - o3(0xEF,0xBD,0xB7), o3(0xEF,0xBD,0xB8), - o3(0xEF,0xBD,0xB9), o3(0xEF,0xBD,0xBA), - o3(0xEF,0xBD,0xBB), o3(0xEF,0xBD,0xBC), - o3(0xEF,0xBD,0xBD), o3(0xEF,0xBD,0xBE), - o3(0xEF,0xBD,0xBF), o3(0xEF,0xBE,0x80), - o3(0xEF,0xBE,0x81), o3(0xEF,0xBE,0x82), - o3(0xEF,0xBE,0x83), o3(0xEF,0xBE,0x84), - o3(0xEF,0xBE,0x85), o3(0xEF,0xBE,0x86), - o3(0xEF,0xBE,0x87), o3(0xEF,0xBE,0x88), - o3(0xEF,0xBE,0x89), o3(0xEF,0xBE,0x8A), - o3(0xEF,0xBE,0x8B), o3(0xEF,0xBE,0x8C), - o3(0xEF,0xBE,0x8D), o3(0xEF,0xBE,0x8E), - o3(0xEF,0xBE,0x8F), o3(0xEF,0xBE,0x90), - o3(0xEF,0xBE,0x91), o3(0xEF,0xBE,0x92), - o3(0xEF,0xBE,0x93), o3(0xEF,0xBE,0x94), - o3(0xEF,0xBE,0x95), o3(0xEF,0xBE,0x96), - o3(0xEF,0xBE,0x97), o3(0xEF,0xBE,0x98), - o3(0xEF,0xBE,0x99), o3(0xEF,0xBE,0x9A), - o3(0xEF,0xBE,0x9B), o3(0xEF,0xBE,0x9C), - o3(0xEF,0xBE,0x9D), o3(0xEF,0xBE,0x9E), - o3(0xEF,0xBE,0x9F), UNDEF, -}; -static const BYTE_LOOKUP -from_EUC_JP_8E = { - from_EUC_JP_8E_offsets, - from_EUC_JP_8E_infos -}; - -static const unsigned char -from_EUC_JP_A1_offsets[256] = { - /* used from from_EUC_JP_A1 */ - /* used from from_EUC_JP_B0 */ - /* used from from_EUC_JP_B1 */ - /* used from from_EUC_JP_B2 */ - /* used from from_EUC_JP_B3 */ - /* used from from_EUC_JP_B4 */ - /* used from from_EUC_JP_B5 */ - /* used from from_EUC_JP_B6 */ - /* used from from_EUC_JP_B7 */ - /* used from from_EUC_JP_B8 */ - /* used from from_EUC_JP_B9 */ - /* used from from_EUC_JP_BA */ - /* used from from_EUC_JP_BB */ - /* used from from_EUC_JP_BC */ - /* used from from_EUC_JP_BD */ - /* used from from_EUC_JP_BE */ - /* used from from_EUC_JP_BF */ - /* used from from_EUC_JP_C0 */ - /* used from from_EUC_JP_C1 */ - /* used from from_EUC_JP_C2 */ - /* used from from_EUC_JP_C3 */ - /* used from from_EUC_JP_C4 */ - /* used from from_EUC_JP_C5 */ - /* used from from_EUC_JP_C6 */ - /* used from from_EUC_JP_C7 */ - /* used from from_EUC_JP_C8 */ - /* used from from_EUC_JP_C9 */ - /* used from from_EUC_JP_CA */ - /* used from from_EUC_JP_CB */ - /* used from from_EUC_JP_CC */ - /* used from from_EUC_JP_CD */ - /* used from from_EUC_JP_CE */ - /* used from from_EUC_JP_D0 */ - /* used from from_EUC_JP_D1 */ - /* used from from_EUC_JP_D2 */ - /* used from from_EUC_JP_D3 */ - /* used from from_EUC_JP_D4 */ - /* used from from_EUC_JP_D5 */ - /* used from from_EUC_JP_D6 */ - /* used from from_EUC_JP_D7 */ - /* used from from_EUC_JP_D8 */ - /* used from from_EUC_JP_D9 */ - /* used from from_EUC_JP_DA */ - /* used from from_EUC_JP_DB */ - /* used from from_EUC_JP_DC */ - /* used from from_EUC_JP_DD */ - /* used from from_EUC_JP_DE */ - /* used from from_EUC_JP_DF */ - /* used from from_EUC_JP_E0 */ - /* used from from_EUC_JP_E1 */ - /* used from from_EUC_JP_E2 */ - /* used from from_EUC_JP_E3 */ - /* used from from_EUC_JP_E4 */ - /* used from from_EUC_JP_E5 */ - /* used from from_EUC_JP_E6 */ - /* used from from_EUC_JP_E7 */ - /* used from from_EUC_JP_E8 */ - /* used from from_EUC_JP_E9 */ - /* used from from_EUC_JP_EA */ - /* used from from_EUC_JP_EB */ - /* used from from_EUC_JP_EC */ - /* used from from_EUC_JP_ED */ - /* used from from_EUC_JP_EE */ - /* used from from_EUC_JP_EF */ - /* used from from_EUC_JP_F0 */ - /* used from from_EUC_JP_F1 */ - /* used from from_EUC_JP_F2 */ - /* used from from_EUC_JP_F3 */ - /* used from from_EUC_JP_F9 */ - /* used from from_EUC_JP_FA */ - /* used from from_EUC_JP_FB */ - 94, 94, 94, 94, 94, 94, 94, 94, 94, 94, 94, 94, 94, 94, 94, 94, - 94, 94, 94, 94, 94, 94, 94, 94, 94, 94, 94, 94, 94, 94, 94, 94, - 94, 94, 94, 94, 94, 94, 94, 94, 94, 94, 94, 94, 94, 94, 94, 94, - 94, 94, 94, 94, 94, 94, 94, 94, 94, 94, 94, 94, 94, 94, 94, 94, - 94, 94, 94, 94, 94, 94, 94, 94, 94, 94, 94, 94, 94, 94, 94, 94, - 94, 94, 94, 94, 94, 94, 94, 94, 94, 94, 94, 94, 94, 94, 94, 94, - 94, 94, 94, 94, 94, 94, 94, 94, 94, 94, 94, 94, 94, 94, 94, 94, - 94, 94, 94, 94, 94, 94, 94, 94, 94, 94, 94, 94, 94, 94, 94, 94, - 94, 94, 94, 94, 94, 94, 94, 94, 94, 94, 94, 94, 94, 94, 94, 94, - 94, 94, 94, 94, 94, 94, 94, 94, 94, 94, 94, 94, 94, 94, 94, 94, - 94, 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, -}; -static const struct byte_lookup* const -from_EUC_JP_A1_infos[95] = { - o3(0xE3,0x80,0x80), o3(0xE3,0x80,0x81), - o3(0xE3,0x80,0x82), o3(0xEF,0xBC,0x8C), - o3(0xEF,0xBC,0x8E), o3(0xE3,0x83,0xBB), - o3(0xEF,0xBC,0x9A), o3(0xEF,0xBC,0x9B), - o3(0xEF,0xBC,0x9F), o3(0xEF,0xBC,0x81), - o3(0xE3,0x82,0x9B), o3(0xE3,0x82,0x9C), - o2(0xC2,0xB4), o3(0xEF,0xBD,0x80), - o2(0xC2,0xA8), o3(0xEF,0xBC,0xBE), - o3(0xEF,0xBF,0xA3), o3(0xEF,0xBC,0xBF), - o3(0xE3,0x83,0xBD), o3(0xE3,0x83,0xBE), - o3(0xE3,0x82,0x9D), o3(0xE3,0x82,0x9E), - o3(0xE3,0x80,0x83), o3(0xE4,0xBB,0x9D), - o3(0xE3,0x80,0x85), o3(0xE3,0x80,0x86), - o3(0xE3,0x80,0x87), o3(0xE3,0x83,0xBC), - o3(0xE2,0x80,0x95), o3(0xE2,0x80,0x90), - o3(0xEF,0xBC,0x8F), o3(0xEF,0xBC,0xBC), - o3(0xEF,0xBD,0x9E), o3(0xE2,0x88,0xA5), - o3(0xEF,0xBD,0x9C), o3(0xE2,0x80,0xA6), - o3(0xE2,0x80,0xA5), o3(0xE2,0x80,0x98), - o3(0xE2,0x80,0x99), o3(0xE2,0x80,0x9C), - o3(0xE2,0x80,0x9D), o3(0xEF,0xBC,0x88), - o3(0xEF,0xBC,0x89), o3(0xE3,0x80,0x94), - o3(0xE3,0x80,0x95), o3(0xEF,0xBC,0xBB), - o3(0xEF,0xBC,0xBD), o3(0xEF,0xBD,0x9B), - o3(0xEF,0xBD,0x9D), o3(0xE3,0x80,0x88), - o3(0xE3,0x80,0x89), o3(0xE3,0x80,0x8A), - o3(0xE3,0x80,0x8B), o3(0xE3,0x80,0x8C), - o3(0xE3,0x80,0x8D), o3(0xE3,0x80,0x8E), - o3(0xE3,0x80,0x8F), o3(0xE3,0x80,0x90), - o3(0xE3,0x80,0x91), o3(0xEF,0xBC,0x8B), - o3(0xEF,0xBC,0x8D), o2(0xC2,0xB1), - o2(0xC3,0x97), o2(0xC3,0xB7), - o3(0xEF,0xBC,0x9D), o3(0xE2,0x89,0xA0), - o3(0xEF,0xBC,0x9C), o3(0xEF,0xBC,0x9E), - o3(0xE2,0x89,0xA6), o3(0xE2,0x89,0xA7), - o3(0xE2,0x88,0x9E), o3(0xE2,0x88,0xB4), - o3(0xE2,0x99,0x82), o3(0xE2,0x99,0x80), - o2(0xC2,0xB0), o3(0xE2,0x80,0xB2), - o3(0xE2,0x80,0xB3), o3(0xE2,0x84,0x83), - o3(0xEF,0xBF,0xA5), o3(0xEF,0xBC,0x84), - o3(0xEF,0xBF,0xA0), o3(0xEF,0xBF,0xA1), - o3(0xEF,0xBC,0x85), o3(0xEF,0xBC,0x83), - o3(0xEF,0xBC,0x86), o3(0xEF,0xBC,0x8A), - o3(0xEF,0xBC,0xA0), o2(0xC2,0xA7), - o3(0xE2,0x98,0x86), o3(0xE2,0x98,0x85), - o3(0xE2,0x97,0x8B), o3(0xE2,0x97,0x8F), - o3(0xE2,0x97,0x8E), o3(0xE2,0x97,0x87), - UNDEF, -}; -static const BYTE_LOOKUP -from_EUC_JP_A1 = { - from_EUC_JP_A1_offsets, - from_EUC_JP_A1_infos -}; - -static const unsigned char -from_EUC_JP_A2_offsets[256] = { - 53, 53, 53, 53, 53, 53, 53, 53, 53, 53, 53, 53, 53, 53, 53, 53, - 53, 53, 53, 53, 53, 53, 53, 53, 53, 53, 53, 53, 53, 53, 53, 53, - 53, 53, 53, 53, 53, 53, 53, 53, 53, 53, 53, 53, 53, 53, 53, 53, - 53, 53, 53, 53, 53, 53, 53, 53, 53, 53, 53, 53, 53, 53, 53, 53, - 53, 53, 53, 53, 53, 53, 53, 53, 53, 53, 53, 53, 53, 53, 53, 53, - 53, 53, 53, 53, 53, 53, 53, 53, 53, 53, 53, 53, 53, 53, 53, 53, - 53, 53, 53, 53, 53, 53, 53, 53, 53, 53, 53, 53, 53, 53, 53, 53, - 53, 53, 53, 53, 53, 53, 53, 53, 53, 53, 53, 53, 53, 53, 53, 53, - 53, 53, 53, 53, 53, 53, 53, 53, 53, 53, 53, 53, 53, 53, 53, 53, - 53, 53, 53, 53, 53, 53, 53, 53, 53, 53, 53, 53, 53, 53, 53, 53, - 53, 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 53, - 53, 53, 53, 53, 53, 53, 53, 53, 53, 53, 14, 15, 16, 17, 18, 19, - 20, 21, 53, 53, 53, 53, 53, 53, 53, 53, 22, 23, 24, 25, 26, 27, - 28, 53, 53, 53, 53, 53, 53, 53, 53, 53, 53, 53, 29, 30, 31, 32, - 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 53, 53, 53, 53, 53, - 53, 53, 44, 45, 46, 47, 48, 49, 50, 51, 53, 53, 53, 53, 52, 53, -}; -static const struct byte_lookup* const -from_EUC_JP_A2_infos[54] = { - o3(0xE2,0x97,0x86), o3(0xE2,0x96,0xA1), - o3(0xE2,0x96,0xA0), o3(0xE2,0x96,0xB3), - o3(0xE2,0x96,0xB2), o3(0xE2,0x96,0xBD), - o3(0xE2,0x96,0xBC), o3(0xE2,0x80,0xBB), - o3(0xE3,0x80,0x92), o3(0xE2,0x86,0x92), - o3(0xE2,0x86,0x90), o3(0xE2,0x86,0x91), - o3(0xE2,0x86,0x93), o3(0xE3,0x80,0x93), - o3(0xE2,0x88,0x88), o3(0xE2,0x88,0x8B), - o3(0xE2,0x8A,0x86), o3(0xE2,0x8A,0x87), - o3(0xE2,0x8A,0x82), o3(0xE2,0x8A,0x83), - o3(0xE2,0x88,0xAA), o3(0xE2,0x88,0xA9), - o3(0xE2,0x88,0xA7), o3(0xE2,0x88,0xA8), - o3(0xEF,0xBF,0xA2), o3(0xE2,0x87,0x92), - o3(0xE2,0x87,0x94), o3(0xE2,0x88,0x80), - o3(0xE2,0x88,0x83), o3(0xE2,0x88,0xA0), - o3(0xE2,0x8A,0xA5), o3(0xE2,0x8C,0x92), - o3(0xE2,0x88,0x82), o3(0xE2,0x88,0x87), - o3(0xE2,0x89,0xA1), o3(0xE2,0x89,0x92), - o3(0xE2,0x89,0xAA), o3(0xE2,0x89,0xAB), - o3(0xE2,0x88,0x9A), o3(0xE2,0x88,0xBD), - o3(0xE2,0x88,0x9D), o3(0xE2,0x88,0xB5), - o3(0xE2,0x88,0xAB), o3(0xE2,0x88,0xAC), - o3(0xE2,0x84,0xAB), o3(0xE2,0x80,0xB0), - o3(0xE2,0x99,0xAF), o3(0xE2,0x99,0xAD), - o3(0xE2,0x99,0xAA), o3(0xE2,0x80,0xA0), - o3(0xE2,0x80,0xA1), o2(0xC2,0xB6), - o3(0xE2,0x97,0xAF), UNDEF, -}; -static const BYTE_LOOKUP -from_EUC_JP_A2 = { - from_EUC_JP_A2_offsets, - from_EUC_JP_A2_infos -}; - -static const unsigned char -from_EUC_JP_A3_offsets[256] = { - 62, 62, 62, 62, 62, 62, 62, 62, 62, 62, 62, 62, 62, 62, 62, 62, - 62, 62, 62, 62, 62, 62, 62, 62, 62, 62, 62, 62, 62, 62, 62, 62, - 62, 62, 62, 62, 62, 62, 62, 62, 62, 62, 62, 62, 62, 62, 62, 62, - 62, 62, 62, 62, 62, 62, 62, 62, 62, 62, 62, 62, 62, 62, 62, 62, - 62, 62, 62, 62, 62, 62, 62, 62, 62, 62, 62, 62, 62, 62, 62, 62, - 62, 62, 62, 62, 62, 62, 62, 62, 62, 62, 62, 62, 62, 62, 62, 62, - 62, 62, 62, 62, 62, 62, 62, 62, 62, 62, 62, 62, 62, 62, 62, 62, - 62, 62, 62, 62, 62, 62, 62, 62, 62, 62, 62, 62, 62, 62, 62, 62, - 62, 62, 62, 62, 62, 62, 62, 62, 62, 62, 62, 62, 62, 62, 62, 62, - 62, 62, 62, 62, 62, 62, 62, 62, 62, 62, 62, 62, 62, 62, 62, 62, - 62, 62, 62, 62, 62, 62, 62, 62, 62, 62, 62, 62, 62, 62, 62, 62, - 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 62, 62, 62, 62, 62, 62, - 62, 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, 62, 62, 62, 62, 62, - 62, 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, 62, 62, 62, 62, -}; -static const struct byte_lookup* const -from_EUC_JP_A3_infos[63] = { - o3(0xEF,0xBC,0x90), o3(0xEF,0xBC,0x91), - o3(0xEF,0xBC,0x92), o3(0xEF,0xBC,0x93), - o3(0xEF,0xBC,0x94), o3(0xEF,0xBC,0x95), - o3(0xEF,0xBC,0x96), o3(0xEF,0xBC,0x97), - o3(0xEF,0xBC,0x98), o3(0xEF,0xBC,0x99), - o3(0xEF,0xBC,0xA1), o3(0xEF,0xBC,0xA2), - o3(0xEF,0xBC,0xA3), o3(0xEF,0xBC,0xA4), - o3(0xEF,0xBC,0xA5), o3(0xEF,0xBC,0xA6), - o3(0xEF,0xBC,0xA7), o3(0xEF,0xBC,0xA8), - o3(0xEF,0xBC,0xA9), o3(0xEF,0xBC,0xAA), - o3(0xEF,0xBC,0xAB), o3(0xEF,0xBC,0xAC), - o3(0xEF,0xBC,0xAD), o3(0xEF,0xBC,0xAE), - o3(0xEF,0xBC,0xAF), o3(0xEF,0xBC,0xB0), - o3(0xEF,0xBC,0xB1), o3(0xEF,0xBC,0xB2), - o3(0xEF,0xBC,0xB3), o3(0xEF,0xBC,0xB4), - o3(0xEF,0xBC,0xB5), o3(0xEF,0xBC,0xB6), - o3(0xEF,0xBC,0xB7), o3(0xEF,0xBC,0xB8), - o3(0xEF,0xBC,0xB9), o3(0xEF,0xBC,0xBA), - o3(0xEF,0xBD,0x81), o3(0xEF,0xBD,0x82), - o3(0xEF,0xBD,0x83), o3(0xEF,0xBD,0x84), - o3(0xEF,0xBD,0x85), o3(0xEF,0xBD,0x86), - o3(0xEF,0xBD,0x87), o3(0xEF,0xBD,0x88), - o3(0xEF,0xBD,0x89), o3(0xEF,0xBD,0x8A), - o3(0xEF,0xBD,0x8B), o3(0xEF,0xBD,0x8C), - o3(0xEF,0xBD,0x8D), o3(0xEF,0xBD,0x8E), - o3(0xEF,0xBD,0x8F), o3(0xEF,0xBD,0x90), - o3(0xEF,0xBD,0x91), o3(0xEF,0xBD,0x92), - o3(0xEF,0xBD,0x93), o3(0xEF,0xBD,0x94), - o3(0xEF,0xBD,0x95), o3(0xEF,0xBD,0x96), - o3(0xEF,0xBD,0x97), o3(0xEF,0xBD,0x98), - o3(0xEF,0xBD,0x99), o3(0xEF,0xBD,0x9A), - UNDEF, -}; -static const BYTE_LOOKUP -from_EUC_JP_A3 = { - from_EUC_JP_A3_offsets, - from_EUC_JP_A3_infos -}; - -static const unsigned char -from_EUC_JP_A4_offsets[256] = { - 83, 83, 83, 83, 83, 83, 83, 83, 83, 83, 83, 83, 83, 83, 83, 83, - 83, 83, 83, 83, 83, 83, 83, 83, 83, 83, 83, 83, 83, 83, 83, 83, - 83, 83, 83, 83, 83, 83, 83, 83, 83, 83, 83, 83, 83, 83, 83, 83, - 83, 83, 83, 83, 83, 83, 83, 83, 83, 83, 83, 83, 83, 83, 83, 83, - 83, 83, 83, 83, 83, 83, 83, 83, 83, 83, 83, 83, 83, 83, 83, 83, - 83, 83, 83, 83, 83, 83, 83, 83, 83, 83, 83, 83, 83, 83, 83, 83, - 83, 83, 83, 83, 83, 83, 83, 83, 83, 83, 83, 83, 83, 83, 83, 83, - 83, 83, 83, 83, 83, 83, 83, 83, 83, 83, 83, 83, 83, 83, 83, 83, - 83, 83, 83, 83, 83, 83, 83, 83, 83, 83, 83, 83, 83, 83, 83, 83, - 83, 83, 83, 83, 83, 83, 83, 83, 83, 83, 83, 83, 83, 83, 83, 83, - 83, 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, 83, 83, 83, 83, 83, 83, 83, 83, 83, 83, 83, -}; -static const struct byte_lookup* const -from_EUC_JP_A4_infos[84] = { - o3(0xE3,0x81,0x81), o3(0xE3,0x81,0x82), - o3(0xE3,0x81,0x83), o3(0xE3,0x81,0x84), - o3(0xE3,0x81,0x85), o3(0xE3,0x81,0x86), - o3(0xE3,0x81,0x87), o3(0xE3,0x81,0x88), - o3(0xE3,0x81,0x89), o3(0xE3,0x81,0x8A), - o3(0xE3,0x81,0x8B), o3(0xE3,0x81,0x8C), - o3(0xE3,0x81,0x8D), o3(0xE3,0x81,0x8E), - o3(0xE3,0x81,0x8F), o3(0xE3,0x81,0x90), - o3(0xE3,0x81,0x91), o3(0xE3,0x81,0x92), - o3(0xE3,0x81,0x93), o3(0xE3,0x81,0x94), - o3(0xE3,0x81,0x95), o3(0xE3,0x81,0x96), - o3(0xE3,0x81,0x97), o3(0xE3,0x81,0x98), - o3(0xE3,0x81,0x99), o3(0xE3,0x81,0x9A), - o3(0xE3,0x81,0x9B), o3(0xE3,0x81,0x9C), - o3(0xE3,0x81,0x9D), o3(0xE3,0x81,0x9E), - o3(0xE3,0x81,0x9F), o3(0xE3,0x81,0xA0), - o3(0xE3,0x81,0xA1), o3(0xE3,0x81,0xA2), - o3(0xE3,0x81,0xA3), o3(0xE3,0x81,0xA4), - o3(0xE3,0x81,0xA5), o3(0xE3,0x81,0xA6), - o3(0xE3,0x81,0xA7), o3(0xE3,0x81,0xA8), - o3(0xE3,0x81,0xA9), o3(0xE3,0x81,0xAA), - o3(0xE3,0x81,0xAB), o3(0xE3,0x81,0xAC), - o3(0xE3,0x81,0xAD), o3(0xE3,0x81,0xAE), - o3(0xE3,0x81,0xAF), o3(0xE3,0x81,0xB0), - o3(0xE3,0x81,0xB1), o3(0xE3,0x81,0xB2), - o3(0xE3,0x81,0xB3), o3(0xE3,0x81,0xB4), - o3(0xE3,0x81,0xB5), o3(0xE3,0x81,0xB6), - o3(0xE3,0x81,0xB7), o3(0xE3,0x81,0xB8), - o3(0xE3,0x81,0xB9), o3(0xE3,0x81,0xBA), - o3(0xE3,0x81,0xBB), o3(0xE3,0x81,0xBC), - o3(0xE3,0x81,0xBD), o3(0xE3,0x81,0xBE), - o3(0xE3,0x81,0xBF), o3(0xE3,0x82,0x80), - o3(0xE3,0x82,0x81), o3(0xE3,0x82,0x82), - o3(0xE3,0x82,0x83), o3(0xE3,0x82,0x84), - o3(0xE3,0x82,0x85), o3(0xE3,0x82,0x86), - o3(0xE3,0x82,0x87), o3(0xE3,0x82,0x88), - o3(0xE3,0x82,0x89), o3(0xE3,0x82,0x8A), - o3(0xE3,0x82,0x8B), o3(0xE3,0x82,0x8C), - o3(0xE3,0x82,0x8D), o3(0xE3,0x82,0x8E), - o3(0xE3,0x82,0x8F), o3(0xE3,0x82,0x90), - o3(0xE3,0x82,0x91), o3(0xE3,0x82,0x92), - o3(0xE3,0x82,0x93), UNDEF, -}; -static const BYTE_LOOKUP -from_EUC_JP_A4 = { - from_EUC_JP_A4_offsets, - from_EUC_JP_A4_infos -}; - -static const unsigned char -from_EUC_JP_A5_offsets[256] = { - 86, 86, 86, 86, 86, 86, 86, 86, 86, 86, 86, 86, 86, 86, 86, 86, - 86, 86, 86, 86, 86, 86, 86, 86, 86, 86, 86, 86, 86, 86, 86, 86, - 86, 86, 86, 86, 86, 86, 86, 86, 86, 86, 86, 86, 86, 86, 86, 86, - 86, 86, 86, 86, 86, 86, 86, 86, 86, 86, 86, 86, 86, 86, 86, 86, - 86, 86, 86, 86, 86, 86, 86, 86, 86, 86, 86, 86, 86, 86, 86, 86, - 86, 86, 86, 86, 86, 86, 86, 86, 86, 86, 86, 86, 86, 86, 86, 86, - 86, 86, 86, 86, 86, 86, 86, 86, 86, 86, 86, 86, 86, 86, 86, 86, - 86, 86, 86, 86, 86, 86, 86, 86, 86, 86, 86, 86, 86, 86, 86, 86, - 86, 86, 86, 86, 86, 86, 86, 86, 86, 86, 86, 86, 86, 86, 86, 86, - 86, 86, 86, 86, 86, 86, 86, 86, 86, 86, 86, 86, 86, 86, 86, 86, - 86, 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, 86, 86, 86, 86, 86, 86, 86, 86, -}; -static const struct byte_lookup* const -from_EUC_JP_A5_infos[87] = { - o3(0xE3,0x82,0xA1), o3(0xE3,0x82,0xA2), - o3(0xE3,0x82,0xA3), o3(0xE3,0x82,0xA4), - o3(0xE3,0x82,0xA5), o3(0xE3,0x82,0xA6), - o3(0xE3,0x82,0xA7), o3(0xE3,0x82,0xA8), - o3(0xE3,0x82,0xA9), o3(0xE3,0x82,0xAA), - o3(0xE3,0x82,0xAB), o3(0xE3,0x82,0xAC), - o3(0xE3,0x82,0xAD), o3(0xE3,0x82,0xAE), - o3(0xE3,0x82,0xAF), o3(0xE3,0x82,0xB0), - o3(0xE3,0x82,0xB1), o3(0xE3,0x82,0xB2), - o3(0xE3,0x82,0xB3), o3(0xE3,0x82,0xB4), - o3(0xE3,0x82,0xB5), o3(0xE3,0x82,0xB6), - o3(0xE3,0x82,0xB7), o3(0xE3,0x82,0xB8), - o3(0xE3,0x82,0xB9), o3(0xE3,0x82,0xBA), - o3(0xE3,0x82,0xBB), o3(0xE3,0x82,0xBC), - o3(0xE3,0x82,0xBD), o3(0xE3,0x82,0xBE), - o3(0xE3,0x82,0xBF), o3(0xE3,0x83,0x80), - o3(0xE3,0x83,0x81), o3(0xE3,0x83,0x82), - o3(0xE3,0x83,0x83), o3(0xE3,0x83,0x84), - o3(0xE3,0x83,0x85), o3(0xE3,0x83,0x86), - o3(0xE3,0x83,0x87), o3(0xE3,0x83,0x88), - o3(0xE3,0x83,0x89), o3(0xE3,0x83,0x8A), - o3(0xE3,0x83,0x8B), o3(0xE3,0x83,0x8C), - o3(0xE3,0x83,0x8D), o3(0xE3,0x83,0x8E), - o3(0xE3,0x83,0x8F), o3(0xE3,0x83,0x90), - o3(0xE3,0x83,0x91), o3(0xE3,0x83,0x92), - o3(0xE3,0x83,0x93), o3(0xE3,0x83,0x94), - o3(0xE3,0x83,0x95), o3(0xE3,0x83,0x96), - o3(0xE3,0x83,0x97), o3(0xE3,0x83,0x98), - o3(0xE3,0x83,0x99), o3(0xE3,0x83,0x9A), - o3(0xE3,0x83,0x9B), o3(0xE3,0x83,0x9C), - o3(0xE3,0x83,0x9D), o3(0xE3,0x83,0x9E), - o3(0xE3,0x83,0x9F), o3(0xE3,0x83,0xA0), - o3(0xE3,0x83,0xA1), o3(0xE3,0x83,0xA2), - o3(0xE3,0x83,0xA3), o3(0xE3,0x83,0xA4), - o3(0xE3,0x83,0xA5), o3(0xE3,0x83,0xA6), - o3(0xE3,0x83,0xA7), o3(0xE3,0x83,0xA8), - o3(0xE3,0x83,0xA9), o3(0xE3,0x83,0xAA), - o3(0xE3,0x83,0xAB), o3(0xE3,0x83,0xAC), - o3(0xE3,0x83,0xAD), o3(0xE3,0x83,0xAE), - o3(0xE3,0x83,0xAF), o3(0xE3,0x83,0xB0), - o3(0xE3,0x83,0xB1), o3(0xE3,0x83,0xB2), - o3(0xE3,0x83,0xB3), o3(0xE3,0x83,0xB4), - o3(0xE3,0x83,0xB5), o3(0xE3,0x83,0xB6), - UNDEF, -}; -static const BYTE_LOOKUP -from_EUC_JP_A5 = { - from_EUC_JP_A5_offsets, - from_EUC_JP_A5_infos -}; - -static const unsigned char -from_EUC_JP_A6_offsets[256] = { - 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, - 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, - 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, - 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, - 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, - 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, - 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, - 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, - 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, - 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, - 48, 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, - 15, 16, 17, 18, 19, 20, 21, 22, 23, 48, 48, 48, 48, 48, 48, 48, - 48, 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, 48, 48, 48, 48, 48, 48, - 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, - 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, -}; -static const struct byte_lookup* const -from_EUC_JP_A6_infos[49] = { - 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,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,0x83), o2(0xCF,0x84), o2(0xCF,0x85), - o2(0xCF,0x86), o2(0xCF,0x87), o2(0xCF,0x88), o2(0xCF,0x89), - UNDEF, -}; -static const BYTE_LOOKUP -from_EUC_JP_A6 = { - from_EUC_JP_A6_offsets, - from_EUC_JP_A6_infos -}; - -static const unsigned char -from_EUC_JP_A7_offsets[256] = { - 66, 66, 66, 66, 66, 66, 66, 66, 66, 66, 66, 66, 66, 66, 66, 66, - 66, 66, 66, 66, 66, 66, 66, 66, 66, 66, 66, 66, 66, 66, 66, 66, - 66, 66, 66, 66, 66, 66, 66, 66, 66, 66, 66, 66, 66, 66, 66, 66, - 66, 66, 66, 66, 66, 66, 66, 66, 66, 66, 66, 66, 66, 66, 66, 66, - 66, 66, 66, 66, 66, 66, 66, 66, 66, 66, 66, 66, 66, 66, 66, 66, - 66, 66, 66, 66, 66, 66, 66, 66, 66, 66, 66, 66, 66, 66, 66, 66, - 66, 66, 66, 66, 66, 66, 66, 66, 66, 66, 66, 66, 66, 66, 66, 66, - 66, 66, 66, 66, 66, 66, 66, 66, 66, 66, 66, 66, 66, 66, 66, 66, - 66, 66, 66, 66, 66, 66, 66, 66, 66, 66, 66, 66, 66, 66, 66, 66, - 66, 66, 66, 66, 66, 66, 66, 66, 66, 66, 66, 66, 66, 66, 66, 66, - 66, 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, 66, 66, 66, 66, 66, 66, 66, 66, 66, 66, 66, 66, 66, 66, - 66, 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, 66, 66, 66, 66, 66, 66, 66, 66, 66, 66, 66, 66, 66, -}; -static const struct byte_lookup* const -from_EUC_JP_A7_infos[67] = { - o2(0xD0,0x90), o2(0xD0,0x91), o2(0xD0,0x92), o2(0xD0,0x93), - o2(0xD0,0x94), o2(0xD0,0x95), o2(0xD0,0x81), 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(0xD1,0x91), - 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), UNDEF, -}; -static const BYTE_LOOKUP -from_EUC_JP_A7 = { - from_EUC_JP_A7_offsets, - from_EUC_JP_A7_infos -}; - -static const unsigned char -from_EUC_JP_A8_offsets[256] = { - 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, - 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, - 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, - 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, - 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, - 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, - 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, - 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, - 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, - 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, - 32, 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, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, - 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, - 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, - 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, -}; -static const struct byte_lookup* const -from_EUC_JP_A8_infos[33] = { - o3(0xE2,0x94,0x80), o3(0xE2,0x94,0x82), - o3(0xE2,0x94,0x8C), o3(0xE2,0x94,0x90), - o3(0xE2,0x94,0x98), o3(0xE2,0x94,0x94), - o3(0xE2,0x94,0x9C), o3(0xE2,0x94,0xAC), - o3(0xE2,0x94,0xA4), o3(0xE2,0x94,0xB4), - o3(0xE2,0x94,0xBC), o3(0xE2,0x94,0x81), - o3(0xE2,0x94,0x83), o3(0xE2,0x94,0x8F), - o3(0xE2,0x94,0x93), o3(0xE2,0x94,0x9B), - o3(0xE2,0x94,0x97), o3(0xE2,0x94,0xA3), - o3(0xE2,0x94,0xB3), o3(0xE2,0x94,0xAB), - o3(0xE2,0x94,0xBB), o3(0xE2,0x95,0x8B), - o3(0xE2,0x94,0xA0), o3(0xE2,0x94,0xAF), - o3(0xE2,0x94,0xA8), o3(0xE2,0x94,0xB7), - o3(0xE2,0x94,0xBF), o3(0xE2,0x94,0x9D), - o3(0xE2,0x94,0xB0), o3(0xE2,0x94,0xA5), - o3(0xE2,0x94,0xB8), o3(0xE2,0x95,0x82), - UNDEF, -}; -static const BYTE_LOOKUP -from_EUC_JP_A8 = { - from_EUC_JP_A8_offsets, - from_EUC_JP_A8_infos -}; - -static const unsigned char -from_EUC_JP_AD_offsets[256] = { - 83, 83, 83, 83, 83, 83, 83, 83, 83, 83, 83, 83, 83, 83, 83, 83, - 83, 83, 83, 83, 83, 83, 83, 83, 83, 83, 83, 83, 83, 83, 83, 83, - 83, 83, 83, 83, 83, 83, 83, 83, 83, 83, 83, 83, 83, 83, 83, 83, - 83, 83, 83, 83, 83, 83, 83, 83, 83, 83, 83, 83, 83, 83, 83, 83, - 83, 83, 83, 83, 83, 83, 83, 83, 83, 83, 83, 83, 83, 83, 83, 83, - 83, 83, 83, 83, 83, 83, 83, 83, 83, 83, 83, 83, 83, 83, 83, 83, - 83, 83, 83, 83, 83, 83, 83, 83, 83, 83, 83, 83, 83, 83, 83, 83, - 83, 83, 83, 83, 83, 83, 83, 83, 83, 83, 83, 83, 83, 83, 83, 83, - 83, 83, 83, 83, 83, 83, 83, 83, 83, 83, 83, 83, 83, 83, 83, 83, - 83, 83, 83, 83, 83, 83, 83, 83, 83, 83, 83, 83, 83, 83, 83, 83, - 83, 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, 83, - 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, - 46, 47, 48, 49, 50, 51, 52, 83, 83, 83, 83, 83, 83, 83, 83, 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, 83, 83, -}; -static const BYTE_LOOKUP -from_EUC_JP_AD = { - from_EUC_JP_AD_offsets, - from_SHIFT_JIS_87_infos -}; - -static const BYTE_LOOKUP -from_EUC_JP_B0 = { - from_EUC_JP_A1_offsets, - from_SHIFT_JIS_88_infos -}; - -static const struct byte_lookup* const -from_EUC_JP_B1_infos[95] = { - o3(0xE9,0x99,0xA2), o3(0xE9,0x99,0xB0), - o3(0xE9,0x9A,0xA0), o3(0xE9,0x9F,0xBB), - o3(0xE5,0x90,0x8B), o3(0xE5,0x8F,0xB3), - o3(0xE5,0xAE,0x87), o3(0xE7,0x83,0x8F), - o3(0xE7,0xBE,0xBD), o3(0xE8,0xBF,0x82), - o3(0xE9,0x9B,0xA8), o3(0xE5,0x8D,0xAF), - o3(0xE9,0xB5,0x9C), o3(0xE7,0xAA,0xBA), - o3(0xE4,0xB8,0x91), o3(0xE7,0xA2,0x93), - o3(0xE8,0x87,0xBC), o3(0xE6,0xB8,0xA6), - o3(0xE5,0x98,0x98), o3(0xE5,0x94,0x84), - o3(0xE6,0xAC,0x9D), o3(0xE8,0x94,0x9A), - o3(0xE9,0xB0,0xBB), o3(0xE5,0xA7,0xA5), - o3(0xE5,0x8E,0xA9), o3(0xE6,0xB5,0xA6), - o3(0xE7,0x93,0x9C), o3(0xE9,0x96,0x8F), - o3(0xE5,0x99,0x82), o3(0xE4,0xBA,0x91), - o3(0xE9,0x81,0x8B), o3(0xE9,0x9B,0xB2), - o3(0xE8,0x8D,0x8F), o3(0xE9,0xA4,0x8C), - o3(0xE5,0x8F,0xA1), o3(0xE5,0x96,0xB6), - o3(0xE5,0xAC,0xB0), o3(0xE5,0xBD,0xB1), - o3(0xE6,0x98,0xA0), o3(0xE6,0x9B,0xB3), - o3(0xE6,0xA0,0x84), o3(0xE6,0xB0,0xB8), - o3(0xE6,0xB3,0xB3), o3(0xE6,0xB4,0xA9), - o3(0xE7,0x91,0x9B), o3(0xE7,0x9B,0x88), - o3(0xE7,0xA9,0x8E), o3(0xE9,0xA0,0xB4), - o3(0xE8,0x8B,0xB1), o3(0xE8,0xA1,0x9B), - o3(0xE8,0xA9,0xA0), o3(0xE9,0x8B,0xAD), - o3(0xE6,0xB6,0xB2), o3(0xE7,0x96,0xAB), - o3(0xE7,0x9B,0x8A), o3(0xE9,0xA7,0x85), - o3(0xE6,0x82,0xA6), o3(0xE8,0xAC,0x81), - o3(0xE8,0xB6,0x8A), o3(0xE9,0x96,0xB2), - o3(0xE6,0xA6,0x8E), o3(0xE5,0x8E,0xAD), - o3(0xE5,0x86,0x86), o3(0xE5,0x9C,0x92), - o3(0xE5,0xA0,0xB0), o3(0xE5,0xA5,0x84), - o3(0xE5,0xAE,0xB4), o3(0xE5,0xBB,0xB6), - o3(0xE6,0x80,0xA8), o3(0xE6,0x8E,0xA9), - o3(0xE6,0x8F,0xB4), o3(0xE6,0xB2,0xBF), - o3(0xE6,0xBC,0x94), o3(0xE7,0x82,0x8E), - o3(0xE7,0x84,0x94), o3(0xE7,0x85,0x99), - o3(0xE7,0x87,0x95), o3(0xE7,0x8C,0xBF), - o3(0xE7,0xB8,0x81), o3(0xE8,0x89,0xB6), - o3(0xE8,0x8B,0x91), o3(0xE8,0x96,0x97), - o3(0xE9,0x81,0xA0), o3(0xE9,0x89,0x9B), - o3(0xE9,0xB4,0x9B), o3(0xE5,0xA1,0xA9), - o3(0xE6,0x96,0xBC), o3(0xE6,0xB1,0x9A), - o3(0xE7,0x94,0xA5), o3(0xE5,0x87,0xB9), - o3(0xE5,0xA4,0xAE), o3(0xE5,0xA5,0xA5), - o3(0xE5,0xBE,0x80), o3(0xE5,0xBF,0x9C), - UNDEF, -}; -static const BYTE_LOOKUP -from_EUC_JP_B1 = { - from_EUC_JP_A1_offsets, - from_EUC_JP_B1_infos -}; - -static const struct byte_lookup* const -from_EUC_JP_B2_infos[95] = { - o3(0xE6,0x8A,0xBC), o3(0xE6,0x97,0xBA), - o3(0xE6,0xA8,0xAA), o3(0xE6,0xAC,0xA7), - o3(0xE6,0xAE,0xB4), o3(0xE7,0x8E,0x8B), - o3(0xE7,0xBF,0x81), o3(0xE8,0xA5,0x96), - o3(0xE9,0xB4,0xAC), o3(0xE9,0xB4,0x8E), - o3(0xE9,0xBB,0x84), o3(0xE5,0xB2,0xA1), - o3(0xE6,0xB2,0x96), o3(0xE8,0x8D,0xBB), - o3(0xE5,0x84,0x84), o3(0xE5,0xB1,0x8B), - o3(0xE6,0x86,0xB6), o3(0xE8,0x87,0x86), - o3(0xE6,0xA1,0xB6), o3(0xE7,0x89,0xA1), - o3(0xE4,0xB9,0x99), o3(0xE4,0xBF,0xBA), - o3(0xE5,0x8D,0xB8), o3(0xE6,0x81,0xA9), - o3(0xE6,0xB8,0xA9), o3(0xE7,0xA9,0x8F), - o3(0xE9,0x9F,0xB3), o3(0xE4,0xB8,0x8B), - o3(0xE5,0x8C,0x96), o3(0xE4,0xBB,0xAE), - o3(0xE4,0xBD,0x95), o3(0xE4,0xBC,0xBD), - o3(0xE4,0xBE,0xA1), o3(0xE4,0xBD,0xB3), - o3(0xE5,0x8A,0xA0), o3(0xE5,0x8F,0xAF), - o3(0xE5,0x98,0x89), o3(0xE5,0xA4,0x8F), - o3(0xE5,0xAB,0x81), o3(0xE5,0xAE,0xB6), - o3(0xE5,0xAF,0xA1), o3(0xE7,0xA7,0x91), - o3(0xE6,0x9A,0x87), o3(0xE6,0x9E,0x9C), - o3(0xE6,0x9E,0xB6), o3(0xE6,0xAD,0x8C), - o3(0xE6,0xB2,0xB3), o3(0xE7,0x81,0xAB), - o3(0xE7,0x8F,0x82), o3(0xE7,0xA6,0x8D), - o3(0xE7,0xA6,0xBE), o3(0xE7,0xA8,0xBC), - o3(0xE7,0xAE,0x87), o3(0xE8,0x8A,0xB1), - o3(0xE8,0x8B,0x9B), o3(0xE8,0x8C,0x84), - o3(0xE8,0x8D,0xB7), o3(0xE8,0x8F,0xAF), - o3(0xE8,0x8F,0x93), o3(0xE8,0x9D,0xA6), - o3(0xE8,0xAA,0xB2), o3(0xE5,0x98,0xA9), - o3(0xE8,0xB2,0xA8), o3(0xE8,0xBF,0xA6), - o3(0xE9,0x81,0x8E), o3(0xE9,0x9C,0x9E), - o3(0xE8,0x9A,0x8A), o3(0xE4,0xBF,0x84), - o3(0xE5,0xB3,0xA8), o3(0xE6,0x88,0x91), - o3(0xE7,0x89,0x99), o3(0xE7,0x94,0xBB), - o3(0xE8,0x87,0xA5), o3(0xE8,0x8A,0xBD), - o3(0xE8,0x9B,0xBE), o3(0xE8,0xB3,0x80), - o3(0xE9,0x9B,0x85), o3(0xE9,0xA4,0x93), - o3(0xE9,0xA7,0x95), o3(0xE4,0xBB,0x8B), - o3(0xE4,0xBC,0x9A), o3(0xE8,0xA7,0xA3), - o3(0xE5,0x9B,0x9E), o3(0xE5,0xA1,0x8A), - o3(0xE5,0xA3,0x8A), o3(0xE5,0xBB,0xBB), - o3(0xE5,0xBF,0xAB), o3(0xE6,0x80,0xAA), - o3(0xE6,0x82,0x94), o3(0xE6,0x81,0xA2), - o3(0xE6,0x87,0x90), o3(0xE6,0x88,0x92), - o3(0xE6,0x8B,0x90), o3(0xE6,0x94,0xB9), - UNDEF, -}; -static const BYTE_LOOKUP -from_EUC_JP_B2 = { - from_EUC_JP_A1_offsets, - from_EUC_JP_B2_infos -}; - -static const struct byte_lookup* const -from_EUC_JP_B3_infos[95] = { - o3(0xE9,0xAD,0x81), o3(0xE6,0x99,0xA6), - o3(0xE6,0xA2,0xB0), o3(0xE6,0xB5,0xB7), - o3(0xE7,0x81,0xB0), o3(0xE7,0x95,0x8C), - o3(0xE7,0x9A,0x86), o3(0xE7,0xB5,0xB5), - o3(0xE8,0x8A,0xA5), o3(0xE8,0x9F,0xB9), - o3(0xE9,0x96,0x8B), o3(0xE9,0x9A,0x8E), - o3(0xE8,0xB2,0x9D), o3(0xE5,0x87,0xB1), - o3(0xE5,0x8A,0xBE), o3(0xE5,0xA4,0x96), - o3(0xE5,0x92,0xB3), o3(0xE5,0xAE,0xB3), - o3(0xE5,0xB4,0x96), o3(0xE6,0x85,0xA8), - o3(0xE6,0xA6,0x82), o3(0xE6,0xB6,0xAF), - o3(0xE7,0xA2,0x8D), o3(0xE8,0x93,0x8B), - o3(0xE8,0xA1,0x97), o3(0xE8,0xA9,0xB2), - o3(0xE9,0x8E,0xA7), o3(0xE9,0xAA,0xB8), - o3(0xE6,0xB5,0xAC), o3(0xE9,0xA6,0xA8), - o3(0xE8,0x9B,0x99), o3(0xE5,0x9E,0xA3), - o3(0xE6,0x9F,0xBF), o3(0xE8,0x9B,0x8E), - o3(0xE9,0x88,0x8E), o3(0xE5,0x8A,0x83), - o3(0xE5,0x9A,0x87), o3(0xE5,0x90,0x84), - o3(0xE5,0xBB,0x93), o3(0xE6,0x8B,0xA1), - o3(0xE6,0x92,0xB9), o3(0xE6,0xA0,0xBC), - o3(0xE6,0xA0,0xB8), o3(0xE6,0xAE,0xBB), - o3(0xE7,0x8D,0xB2), o3(0xE7,0xA2,0xBA), - o3(0xE7,0xA9,0xAB), o3(0xE8,0xA6,0x9A), - o3(0xE8,0xA7,0x92), o3(0xE8,0xB5,0xAB), - o3(0xE8,0xBC,0x83), o3(0xE9,0x83,0xAD), - o3(0xE9,0x96,0xA3), o3(0xE9,0x9A,0x94), - o3(0xE9,0x9D,0xA9), o3(0xE5,0xAD,0xA6), - o3(0xE5,0xB2,0xB3), o3(0xE6,0xA5,0xBD), - o3(0xE9,0xA1,0x8D), o3(0xE9,0xA1,0x8E), - o3(0xE6,0x8E,0x9B), o3(0xE7,0xAC,0xA0), - o3(0xE6,0xA8,0xAB), o3(0xE6,0xA9,0xBF), - o3(0xE6,0xA2,0xB6), o3(0xE9,0xB0,0x8D), - o3(0xE6,0xBD,0x9F), o3(0xE5,0x89,0xB2), - o3(0xE5,0x96,0x9D), o3(0xE6,0x81,0xB0), - o3(0xE6,0x8B,0xAC), o3(0xE6,0xB4,0xBB), - o3(0xE6,0xB8,0x87), o3(0xE6,0xBB,0x91), - o3(0xE8,0x91,0x9B), o3(0xE8,0xA4,0x90), - o3(0xE8,0xBD,0x84), o3(0xE4,0xB8,0x94), - o3(0xE9,0xB0,0xB9), o3(0xE5,0x8F,0xB6), - o3(0xE6,0xA4,0x9B), o3(0xE6,0xA8,0xBA), - o3(0xE9,0x9E,0x84), o3(0xE6,0xA0,0xAA), - o3(0xE5,0x85,0x9C), o3(0xE7,0xAB,0x83), - o3(0xE8,0x92,0xB2), o3(0xE9,0x87,0x9C), - o3(0xE9,0x8E,0x8C), o3(0xE5,0x99,0x9B), - o3(0xE9,0xB4,0xA8), o3(0xE6,0xA0,0xA2), - o3(0xE8,0x8C,0x85), o3(0xE8,0x90,0xB1), - UNDEF, -}; -static const BYTE_LOOKUP -from_EUC_JP_B3 = { - from_EUC_JP_A1_offsets, - from_EUC_JP_B3_infos -}; - -static const struct byte_lookup* const -from_EUC_JP_B4_infos[95] = { - o3(0xE7,0xB2,0xA5), o3(0xE5,0x88,0x88), - o3(0xE8,0x8B,0x85), o3(0xE7,0x93,0xA6), - o3(0xE4,0xB9,0xBE), o3(0xE4,0xBE,0x83), - o3(0xE5,0x86,0xA0), o3(0xE5,0xAF,0x92), - o3(0xE5,0x88,0x8A), o3(0xE5,0x8B,0x98), - o3(0xE5,0x8B,0xA7), o3(0xE5,0xB7,0xBB), - o3(0xE5,0x96,0x9A), o3(0xE5,0xA0,0xAA), - o3(0xE5,0xA7,0xA6), o3(0xE5,0xAE,0x8C), - o3(0xE5,0xAE,0x98), o3(0xE5,0xAF,0x9B), - o3(0xE5,0xB9,0xB2), o3(0xE5,0xB9,0xB9), - o3(0xE6,0x82,0xA3), o3(0xE6,0x84,0x9F), - o3(0xE6,0x85,0xA3), o3(0xE6,0x86,0xBE), - o3(0xE6,0x8F,0x9B), o3(0xE6,0x95,0xA2), - o3(0xE6,0x9F,0x91), o3(0xE6,0xA1,0x93), - o3(0xE6,0xA3,0xBA), o3(0xE6,0xAC,0xBE), - o3(0xE6,0xAD,0x93), o3(0xE6,0xB1,0x97), - o3(0xE6,0xBC,0xA2), o3(0xE6,0xBE,0x97), - o3(0xE6,0xBD,0x85), o3(0xE7,0x92,0xB0), - o3(0xE7,0x94,0x98), o3(0xE7,0x9B,0xA3), - o3(0xE7,0x9C,0x8B), o3(0xE7,0xAB,0xBF), - o3(0xE7,0xAE,0xA1), o3(0xE7,0xB0,0xA1), - o3(0xE7,0xB7,0xA9), o3(0xE7,0xBC,0xB6), - o3(0xE7,0xBF,0xB0), o3(0xE8,0x82,0x9D), - o3(0xE8,0x89,0xA6), o3(0xE8,0x8E,0x9E), - o3(0xE8,0xA6,0xB3), o3(0xE8,0xAB,0x8C), - o3(0xE8,0xB2,0xAB), o3(0xE9,0x82,0x84), - o3(0xE9,0x91,0x91), o3(0xE9,0x96,0x93), - o3(0xE9,0x96,0x91), o3(0xE9,0x96,0xA2), - o3(0xE9,0x99,0xA5), o3(0xE9,0x9F,0x93), - o3(0xE9,0xA4,0xA8), o3(0xE8,0x88,0x98), - o3(0xE4,0xB8,0xB8), o3(0xE5,0x90,0xAB), - o3(0xE5,0xB2,0xB8), o3(0xE5,0xB7,0x8C), - o3(0xE7,0x8E,0xA9), o3(0xE7,0x99,0x8C), - o3(0xE7,0x9C,0xBC), o3(0xE5,0xB2,0xA9), - o3(0xE7,0xBF,0xAB), o3(0xE8,0xB4,0x8B), - o3(0xE9,0x9B,0x81), o3(0xE9,0xA0,0x91), - o3(0xE9,0xA1,0x94), o3(0xE9,0xA1,0x98), - o3(0xE4,0xBC,0x81), o3(0xE4,0xBC,0x8E), - o3(0xE5,0x8D,0xB1), o3(0xE5,0x96,0x9C), - o3(0xE5,0x99,0xA8), o3(0xE5,0x9F,0xBA), - o3(0xE5,0xA5,0x87), o3(0xE5,0xAC,0x89), - o3(0xE5,0xAF,0x84), o3(0xE5,0xB2,0x90), - o3(0xE5,0xB8,0x8C), o3(0xE5,0xB9,0xBE), - o3(0xE5,0xBF,0x8C), o3(0xE6,0x8F,0xAE), - o3(0xE6,0x9C,0xBA), o3(0xE6,0x97,0x97), - o3(0xE6,0x97,0xA2), o3(0xE6,0x9C,0x9F), - o3(0xE6,0xA3,0x8B), o3(0xE6,0xA3,0x84), - UNDEF, -}; -static const BYTE_LOOKUP -from_EUC_JP_B4 = { - from_EUC_JP_A1_offsets, - from_EUC_JP_B4_infos -}; - -static const struct byte_lookup* const -from_EUC_JP_B5_infos[95] = { - o3(0xE6,0xA9,0x9F), o3(0xE5,0xB8,0xB0), - o3(0xE6,0xAF,0x85), o3(0xE6,0xB0,0x97), - o3(0xE6,0xB1,0xBD), o3(0xE7,0x95,0xBF), - o3(0xE7,0xA5,0x88), o3(0xE5,0xAD,0xA3), - o3(0xE7,0xA8,0x80), o3(0xE7,0xB4,0x80), - o3(0xE5,0xBE,0xBD), o3(0xE8,0xA6,0x8F), - o3(0xE8,0xA8,0x98), o3(0xE8,0xB2,0xB4), - o3(0xE8,0xB5,0xB7), o3(0xE8,0xBB,0x8C), - o3(0xE8,0xBC,0x9D), o3(0xE9,0xA3,0xA2), - o3(0xE9,0xA8,0x8E), o3(0xE9,0xAC,0xBC), - o3(0xE4,0xBA,0x80), o3(0xE5,0x81,0xBD), - o3(0xE5,0x84,0x80), o3(0xE5,0xA6,0x93), - o3(0xE5,0xAE,0x9C), o3(0xE6,0x88,0xAF), - o3(0xE6,0x8A,0x80), o3(0xE6,0x93,0xAC), - o3(0xE6,0xAC,0xBA), o3(0xE7,0x8A,0xA0), - o3(0xE7,0x96,0x91), o3(0xE7,0xA5,0x87), - o3(0xE7,0xBE,0xA9), o3(0xE8,0x9F,0xBB), - o3(0xE8,0xAA,0xBC), o3(0xE8,0xAD,0xB0), - o3(0xE6,0x8E,0xAC), o3(0xE8,0x8F,0x8A), - o3(0xE9,0x9E,0xA0), o3(0xE5,0x90,0x89), - o3(0xE5,0x90,0x83), o3(0xE5,0x96,0xAB), - o3(0xE6,0xA1,0x94), o3(0xE6,0xA9,0x98), - o3(0xE8,0xA9,0xB0), o3(0xE7,0xA0,0xA7), - o3(0xE6,0x9D,0xB5), o3(0xE9,0xBB,0x8D), - o3(0xE5,0x8D,0xB4), o3(0xE5,0xAE,0xA2), - o3(0xE8,0x84,0x9A), o3(0xE8,0x99,0x90), - o3(0xE9,0x80,0x86), o3(0xE4,0xB8,0x98), - o3(0xE4,0xB9,0x85), o3(0xE4,0xBB,0x87), - o3(0xE4,0xBC,0x91), o3(0xE5,0x8F,0x8A), - o3(0xE5,0x90,0xB8), o3(0xE5,0xAE,0xAE), - o3(0xE5,0xBC,0x93), o3(0xE6,0x80,0xA5), - o3(0xE6,0x95,0x91), o3(0xE6,0x9C,0xBD), - o3(0xE6,0xB1,0x82), o3(0xE6,0xB1,0xB2), - o3(0xE6,0xB3,0xA3), o3(0xE7,0x81,0xB8), - o3(0xE7,0x90,0x83), o3(0xE7,0xA9,0xB6), - o3(0xE7,0xAA,0xAE), o3(0xE7,0xAC,0x88), - o3(0xE7,0xB4,0x9A), o3(0xE7,0xB3,0xBE), - o3(0xE7,0xB5,0xA6), o3(0xE6,0x97,0xA7), - o3(0xE7,0x89,0x9B), o3(0xE5,0x8E,0xBB), - o3(0xE5,0xB1,0x85), o3(0xE5,0xB7,0xA8), - o3(0xE6,0x8B,0x92), o3(0xE6,0x8B,0xA0), - o3(0xE6,0x8C,0x99), o3(0xE6,0xB8,0xA0), - o3(0xE8,0x99,0x9A), o3(0xE8,0xA8,0xB1), - o3(0xE8,0xB7,0x9D), o3(0xE9,0x8B,0xB8), - o3(0xE6,0xBC,0x81), o3(0xE7,0xA6,0xA6), - o3(0xE9,0xAD,0x9A), o3(0xE4,0xBA,0xA8), - o3(0xE4,0xBA,0xAB), o3(0xE4,0xBA,0xAC), - UNDEF, -}; -static const BYTE_LOOKUP -from_EUC_JP_B5 = { - from_EUC_JP_A1_offsets, - from_EUC_JP_B5_infos -}; - -static const struct byte_lookup* const -from_EUC_JP_B6_infos[95] = { - o3(0xE4,0xBE,0x9B), o3(0xE4,0xBE,0xA0), - o3(0xE5,0x83,0x91), o3(0xE5,0x85,0x87), - o3(0xE7,0xAB,0xB6), o3(0xE5,0x85,0xB1), - o3(0xE5,0x87,0xB6), o3(0xE5,0x8D,0x94), - o3(0xE5,0x8C,0xA1), o3(0xE5,0x8D,0xBF), - o3(0xE5,0x8F,0xAB), o3(0xE5,0x96,0xAC), - o3(0xE5,0xA2,0x83), o3(0xE5,0xB3,0xA1), - o3(0xE5,0xBC,0xB7), o3(0xE5,0xBD,0x8A), - o3(0xE6,0x80,0xAF), o3(0xE6,0x81,0x90), - o3(0xE6,0x81,0xAD), o3(0xE6,0x8C,0x9F), - o3(0xE6,0x95,0x99), o3(0xE6,0xA9,0x8B), - o3(0xE6,0xB3,0x81), o3(0xE7,0x8B,0x82), - o3(0xE7,0x8B,0xAD), o3(0xE7,0x9F,0xAF), - o3(0xE8,0x83,0xB8), o3(0xE8,0x84,0x85), - o3(0xE8,0x88,0x88), o3(0xE8,0x95,0x8E), - o3(0xE9,0x83,0xB7), o3(0xE9,0x8F,0xA1), - o3(0xE9,0x9F,0xBF), o3(0xE9,0xA5,0x97), - o3(0xE9,0xA9,0x9A), o3(0xE4,0xBB,0xB0), - o3(0xE5,0x87,0x9D), o3(0xE5,0xB0,0xAD), - o3(0xE6,0x9A,0x81), o3(0xE6,0xA5,0xAD), - o3(0xE5,0xB1,0x80), o3(0xE6,0x9B,0xB2), - o3(0xE6,0xA5,0xB5), o3(0xE7,0x8E,0x89), - o3(0xE6,0xA1,0x90), o3(0xE7,0xB2,0x81), - o3(0xE5,0x83,0x85), o3(0xE5,0x8B,0xA4), - o3(0xE5,0x9D,0x87), o3(0xE5,0xB7,0xBE), - o3(0xE9,0x8C,0xA6), o3(0xE6,0x96,0xA4), - o3(0xE6,0xAC,0xA3), o3(0xE6,0xAC,0xBD), - o3(0xE7,0x90,0xB4), o3(0xE7,0xA6,0x81), - o3(0xE7,0xA6,0xBD), o3(0xE7,0xAD,0x8B), - o3(0xE7,0xB7,0x8A), o3(0xE8,0x8A,0xB9), - o3(0xE8,0x8F,0x8C), o3(0xE8,0xA1,0xBF), - o3(0xE8,0xA5,0x9F), o3(0xE8,0xAC,0xB9), - o3(0xE8,0xBF,0x91), o3(0xE9,0x87,0x91), - o3(0xE5,0x90,0x9F), o3(0xE9,0x8A,0x80), - o3(0xE4,0xB9,0x9D), o3(0xE5,0x80,0xB6), - o3(0xE5,0x8F,0xA5), o3(0xE5,0x8C,0xBA), - o3(0xE7,0x8B,0x97), o3(0xE7,0x8E,0x96), - o3(0xE7,0x9F,0xA9), o3(0xE8,0x8B,0xA6), - o3(0xE8,0xBA,0xAF), o3(0xE9,0xA7,0x86), - o3(0xE9,0xA7,0x88), o3(0xE9,0xA7,0x92), - o3(0xE5,0x85,0xB7), o3(0xE6,0x84,0x9A), - o3(0xE8,0x99,0x9E), o3(0xE5,0x96,0xB0), - o3(0xE7,0xA9,0xBA), o3(0xE5,0x81,0xB6), - o3(0xE5,0xAF,0x93), o3(0xE9,0x81,0x87), - o3(0xE9,0x9A,0x85), o3(0xE4,0xB8,0xB2), - o3(0xE6,0xAB,0x9B), o3(0xE9,0x87,0xA7), - o3(0xE5,0xB1,0x91), o3(0xE5,0xB1,0x88), - UNDEF, -}; -static const BYTE_LOOKUP -from_EUC_JP_B6 = { - from_EUC_JP_A1_offsets, - from_EUC_JP_B6_infos -}; - -static const struct byte_lookup* const -from_EUC_JP_B7_infos[95] = { - o3(0xE6,0x8E,0x98), o3(0xE7,0xAA,0x9F), - o3(0xE6,0xB2,0x93), o3(0xE9,0x9D,0xB4), - o3(0xE8,0xBD,0xA1), o3(0xE7,0xAA,0xAA), - o3(0xE7,0x86,0x8A), o3(0xE9,0x9A,0x88), - o3(0xE7,0xB2,0x82), o3(0xE6,0xA0,0x97), - o3(0xE7,0xB9,0xB0), o3(0xE6,0xA1,0x91), - o3(0xE9,0x8D,0xAC), o3(0xE5,0x8B,0xB2), - o3(0xE5,0x90,0x9B), o3(0xE8,0x96,0xAB), - o3(0xE8,0xA8,0x93), o3(0xE7,0xBE,0xA4), - o3(0xE8,0xBB,0x8D), o3(0xE9,0x83,0xA1), - o3(0xE5,0x8D,0xA6), o3(0xE8,0xA2,0x88), - o3(0xE7,0xA5,0x81), o3(0xE4,0xBF,0x82), - o3(0xE5,0x82,0xBE), o3(0xE5,0x88,0x91), - o3(0xE5,0x85,0x84), o3(0xE5,0x95,0x93), - o3(0xE5,0x9C,0xAD), o3(0xE7,0x8F,0xAA), - o3(0xE5,0x9E,0x8B), o3(0xE5,0xA5,0x91), - o3(0xE5,0xBD,0xA2), o3(0xE5,0xBE,0x84), - o3(0xE6,0x81,0xB5), o3(0xE6,0x85,0xB6), - o3(0xE6,0x85,0xA7), o3(0xE6,0x86,0xA9), - o3(0xE6,0x8E,0xB2), o3(0xE6,0x90,0xBA), - o3(0xE6,0x95,0xAC), o3(0xE6,0x99,0xAF), - o3(0xE6,0xA1,0x82), o3(0xE6,0xB8,0x93), - o3(0xE7,0x95,0xA6), o3(0xE7,0xA8,0xBD), - o3(0xE7,0xB3,0xBB), o3(0xE7,0xB5,0x8C), - o3(0xE7,0xB6,0x99), o3(0xE7,0xB9,0x8B), - o3(0xE7,0xBD,0xAB), o3(0xE8,0x8C,0x8E), - o3(0xE8,0x8D,0x8A), o3(0xE8,0x9B,0x8D), - o3(0xE8,0xA8,0x88), o3(0xE8,0xA9,0xA3), - o3(0xE8,0xAD,0xA6), o3(0xE8,0xBB,0xBD), - o3(0xE9,0xA0,0x9A), o3(0xE9,0xB6,0x8F), - o3(0xE8,0x8A,0xB8), o3(0xE8,0xBF,0x8E), - o3(0xE9,0xAF,0xA8), o3(0xE5,0x8A,0x87), - o3(0xE6,0x88,0x9F), o3(0xE6,0x92,0x83), - o3(0xE6,0xBF,0x80), o3(0xE9,0x9A,0x99), - o3(0xE6,0xA1,0x81), o3(0xE5,0x82,0x91), - o3(0xE6,0xAC,0xA0), o3(0xE6,0xB1,0xBA), - o3(0xE6,0xBD,0x94), o3(0xE7,0xA9,0xB4), - o3(0xE7,0xB5,0x90), o3(0xE8,0xA1,0x80), - o3(0xE8,0xA8,0xA3), o3(0xE6,0x9C,0x88), - o3(0xE4,0xBB,0xB6), o3(0xE5,0x80,0xB9), - o3(0xE5,0x80,0xA6), o3(0xE5,0x81,0xA5), - o3(0xE5,0x85,0xBC), o3(0xE5,0x88,0xB8), - o3(0xE5,0x89,0xA3), o3(0xE5,0x96,0xA7), - o3(0xE5,0x9C,0x8F), o3(0xE5,0xA0,0x85), - o3(0xE5,0xAB,0x8C), o3(0xE5,0xBB,0xBA), - o3(0xE6,0x86,0xB2), o3(0xE6,0x87,0xB8), - o3(0xE6,0x8B,0xB3), o3(0xE6,0x8D,0xB2), - UNDEF, -}; -static const BYTE_LOOKUP -from_EUC_JP_B7 = { - from_EUC_JP_A1_offsets, - from_EUC_JP_B7_infos -}; - -static const struct byte_lookup* const -from_EUC_JP_B8_infos[95] = { - o3(0xE6,0xA4,0x9C), o3(0xE6,0xA8,0xA9), - o3(0xE7,0x89,0xBD), o3(0xE7,0x8A,0xAC), - o3(0xE7,0x8C,0xAE), o3(0xE7,0xA0,0x94), - o3(0xE7,0xA1,0xAF), o3(0xE7,0xB5,0xB9), - o3(0xE7,0x9C,0x8C), o3(0xE8,0x82,0xA9), - o3(0xE8,0xA6,0x8B), o3(0xE8,0xAC,0x99), - o3(0xE8,0xB3,0xA2), o3(0xE8,0xBB,0x92), - o3(0xE9,0x81,0xA3), o3(0xE9,0x8D,0xB5), - o3(0xE9,0x99,0xBA), o3(0xE9,0xA1,0x95), - o3(0xE9,0xA8,0x93), o3(0xE9,0xB9,0xB8), - o3(0xE5,0x85,0x83), o3(0xE5,0x8E,0x9F), - o3(0xE5,0x8E,0xB3), o3(0xE5,0xB9,0xBB), - o3(0xE5,0xBC,0xA6), o3(0xE6,0xB8,0x9B), - o3(0xE6,0xBA,0x90), o3(0xE7,0x8E,0x84), - o3(0xE7,0x8F,0xBE), o3(0xE7,0xB5,0x83), - o3(0xE8,0x88,0xB7), o3(0xE8,0xA8,0x80), - o3(0xE8,0xAB,0xBA), o3(0xE9,0x99,0x90), - o3(0xE4,0xB9,0x8E), o3(0xE5,0x80,0x8B), - o3(0xE5,0x8F,0xA4), o3(0xE5,0x91,0xBC), - o3(0xE5,0x9B,0xBA), o3(0xE5,0xA7,0x91), - o3(0xE5,0xAD,0xA4), o3(0xE5,0xB7,0xB1), - o3(0xE5,0xBA,0xAB), o3(0xE5,0xBC,0xA7), - o3(0xE6,0x88,0xB8), o3(0xE6,0x95,0x85), - o3(0xE6,0x9E,0xAF), o3(0xE6,0xB9,0x96), - o3(0xE7,0x8B,0x90), o3(0xE7,0xB3,0x8A), - o3(0xE8,0xA2,0xB4), o3(0xE8,0x82,0xA1), - o3(0xE8,0x83,0xA1), o3(0xE8,0x8F,0xB0), - o3(0xE8,0x99,0x8E), o3(0xE8,0xAA,0x87), - o3(0xE8,0xB7,0xA8), o3(0xE9,0x88,0xB7), - o3(0xE9,0x9B,0x87), o3(0xE9,0xA1,0xA7), - o3(0xE9,0xBC,0x93), o3(0xE4,0xBA,0x94), - o3(0xE4,0xBA,0x92), o3(0xE4,0xBC,0x8D), - o3(0xE5,0x8D,0x88), o3(0xE5,0x91,0x89), - o3(0xE5,0x90,0xBE), o3(0xE5,0xA8,0xAF), - o3(0xE5,0xBE,0x8C), o3(0xE5,0xBE,0xA1), - o3(0xE6,0x82,0x9F), o3(0xE6,0xA2,0xA7), - o3(0xE6,0xAA,0x8E), o3(0xE7,0x91,0x9A), - o3(0xE7,0xA2,0x81), o3(0xE8,0xAA,0x9E), - o3(0xE8,0xAA,0xA4), o3(0xE8,0xAD,0xB7), - o3(0xE9,0x86,0x90), o3(0xE4,0xB9,0x9E), - o3(0xE9,0xAF,0x89), o3(0xE4,0xBA,0xA4), - o3(0xE4,0xBD,0xBC), o3(0xE4,0xBE,0xAF), - o3(0xE5,0x80,0x99), o3(0xE5,0x80,0x96), - o3(0xE5,0x85,0x89), o3(0xE5,0x85,0xAC), - o3(0xE5,0x8A,0x9F), o3(0xE5,0x8A,0xB9), - o3(0xE5,0x8B,0xBE), o3(0xE5,0x8E,0x9A), - o3(0xE5,0x8F,0xA3), o3(0xE5,0x90,0x91), - UNDEF, -}; -static const BYTE_LOOKUP -from_EUC_JP_B8 = { - from_EUC_JP_A1_offsets, - from_EUC_JP_B8_infos -}; - -static const struct byte_lookup* const -from_EUC_JP_B9_infos[95] = { - o3(0xE5,0x90,0x8E), o3(0xE5,0x96,0x89), - o3(0xE5,0x9D,0x91), o3(0xE5,0x9E,0xA2), - o3(0xE5,0xA5,0xBD), o3(0xE5,0xAD,0x94), - o3(0xE5,0xAD,0x9D), o3(0xE5,0xAE,0x8F), - o3(0xE5,0xB7,0xA5), o3(0xE5,0xB7,0xA7), - o3(0xE5,0xB7,0xB7), o3(0xE5,0xB9,0xB8), - o3(0xE5,0xBA,0x83), o3(0xE5,0xBA,0x9A), - o3(0xE5,0xBA,0xB7), o3(0xE5,0xBC,0x98), - o3(0xE6,0x81,0x92), o3(0xE6,0x85,0x8C), - o3(0xE6,0x8A,0x97), o3(0xE6,0x8B,0x98), - o3(0xE6,0x8E,0xA7), o3(0xE6,0x94,0xBB), - o3(0xE6,0x98,0x82), o3(0xE6,0x99,0x83), - o3(0xE6,0x9B,0xB4), o3(0xE6,0x9D,0xAD), - o3(0xE6,0xA0,0xA1), o3(0xE6,0xA2,0x97), - o3(0xE6,0xA7,0x8B), o3(0xE6,0xB1,0x9F), - o3(0xE6,0xB4,0xAA), o3(0xE6,0xB5,0xA9), - o3(0xE6,0xB8,0xAF), o3(0xE6,0xBA,0x9D), - o3(0xE7,0x94,0xB2), o3(0xE7,0x9A,0x87), - o3(0xE7,0xA1,0xAC), o3(0xE7,0xA8,0xBF), - o3(0xE7,0xB3,0xA0), o3(0xE7,0xB4,0x85), - o3(0xE7,0xB4,0x98), o3(0xE7,0xB5,0x9E), - o3(0xE7,0xB6,0xB1), o3(0xE8,0x80,0x95), - o3(0xE8,0x80,0x83), o3(0xE8,0x82,0xAF), - o3(0xE8,0x82,0xB1), o3(0xE8,0x85,0x94), - o3(0xE8,0x86,0x8F), o3(0xE8,0x88,0xAA), - o3(0xE8,0x8D,0x92), o3(0xE8,0xA1,0x8C), - o3(0xE8,0xA1,0xA1), o3(0xE8,0xAC,0x9B), - o3(0xE8,0xB2,0xA2), o3(0xE8,0xB3,0xBC), - o3(0xE9,0x83,0x8A), o3(0xE9,0x85,0xB5), - o3(0xE9,0x89,0xB1), o3(0xE7,0xA0,0xBF), - o3(0xE9,0x8B,0xBC), o3(0xE9,0x96,0xA4), - o3(0xE9,0x99,0x8D), o3(0xE9,0xA0,0x85), - o3(0xE9,0xA6,0x99), o3(0xE9,0xAB,0x98), - o3(0xE9,0xB4,0xBB), o3(0xE5,0x89,0x9B), - o3(0xE5,0x8A,0xAB), o3(0xE5,0x8F,0xB7), - o3(0xE5,0x90,0x88), o3(0xE5,0xA3,0x95), - o3(0xE6,0x8B,0xB7), o3(0xE6,0xBF,0xA0), - o3(0xE8,0xB1,0xAA), o3(0xE8,0xBD,0x9F), - o3(0xE9,0xBA,0xB9), o3(0xE5,0x85,0x8B), - o3(0xE5,0x88,0xBB), o3(0xE5,0x91,0x8A), - o3(0xE5,0x9B,0xBD), o3(0xE7,0xA9,0x80), - o3(0xE9,0x85,0xB7), o3(0xE9,0xB5,0xA0), - o3(0xE9,0xBB,0x92), o3(0xE7,0x8D,0x84), - o3(0xE6,0xBC,0x89), o3(0xE8,0x85,0xB0), - o3(0xE7,0x94,0x91), o3(0xE5,0xBF,0xBD), - o3(0xE6,0x83,0x9A), o3(0xE9,0xAA,0xA8), - o3(0xE7,0x8B,0x9B), o3(0xE8,0xBE,0xBC), - UNDEF, -}; -static const BYTE_LOOKUP -from_EUC_JP_B9 = { - from_EUC_JP_A1_offsets, - from_EUC_JP_B9_infos -}; - -static const struct byte_lookup* const -from_EUC_JP_BA_infos[95] = { - o3(0xE6,0xAD,0xA4), o3(0xE9,0xA0,0x83), - o3(0xE4,0xBB,0x8A), o3(0xE5,0x9B,0xB0), - o3(0xE5,0x9D,0xA4), o3(0xE5,0xA2,0xBE), - o3(0xE5,0xA9,0x9A), o3(0xE6,0x81,0xA8), - o3(0xE6,0x87,0x87), o3(0xE6,0x98,0x8F), - o3(0xE6,0x98,0x86), o3(0xE6,0xA0,0xB9), - o3(0xE6,0xA2,0xB1), o3(0xE6,0xB7,0xB7), - o3(0xE7,0x97,0x95), o3(0xE7,0xB4,0xBA), - o3(0xE8,0x89,0xAE), o3(0xE9,0xAD,0x82), - o3(0xE4,0xBA,0x9B), o3(0xE4,0xBD,0x90), - o3(0xE5,0x8F,0x89), o3(0xE5,0x94,0x86), - o3(0xE5,0xB5,0xAF), o3(0xE5,0xB7,0xA6), - o3(0xE5,0xB7,0xAE), o3(0xE6,0x9F,0xBB), - o3(0xE6,0xB2,0x99), o3(0xE7,0x91,0xB3), - o3(0xE7,0xA0,0x82), o3(0xE8,0xA9,0x90), - o3(0xE9,0x8E,0x96), o3(0xE8,0xA3,0x9F), - o3(0xE5,0x9D,0x90), o3(0xE5,0xBA,0xA7), - o3(0xE6,0x8C,0xAB), o3(0xE5,0x82,0xB5), - o3(0xE5,0x82,0xAC), o3(0xE5,0x86,0x8D), - o3(0xE6,0x9C,0x80), o3(0xE5,0x93,0x89), - o3(0xE5,0xA1,0x9E), o3(0xE5,0xA6,0xBB), - o3(0xE5,0xAE,0xB0), o3(0xE5,0xBD,0xA9), - o3(0xE6,0x89,0x8D), o3(0xE6,0x8E,0xA1), - o3(0xE6,0xA0,0xBD), o3(0xE6,0xAD,0xB3), - o3(0xE6,0xB8,0x88), o3(0xE7,0x81,0xBD), - o3(0xE9,0x87,0x87), o3(0xE7,0x8A,0x80), - o3(0xE7,0xA0,0x95), o3(0xE7,0xA0,0xA6), - o3(0xE7,0xA5,0xAD), o3(0xE6,0x96,0x8E), - o3(0xE7,0xB4,0xB0), o3(0xE8,0x8F,0x9C), - o3(0xE8,0xA3,0x81), o3(0xE8,0xBC,0x89), - o3(0xE9,0x9A,0x9B), o3(0xE5,0x89,0xA4), - o3(0xE5,0x9C,0xA8), o3(0xE6,0x9D,0x90), - o3(0xE7,0xBD,0xAA), o3(0xE8,0xB2,0xA1), - o3(0xE5,0x86,0xB4), o3(0xE5,0x9D,0x82), - o3(0xE9,0x98,0xAA), o3(0xE5,0xA0,0xBA), - o3(0xE6,0xA6,0x8A), o3(0xE8,0x82,0xB4), - o3(0xE5,0x92,0xB2), o3(0xE5,0xB4,0x8E), - o3(0xE5,0x9F,0xBC), o3(0xE7,0xA2,0x95), - o3(0xE9,0xB7,0xBA), o3(0xE4,0xBD,0x9C), - o3(0xE5,0x89,0x8A), o3(0xE5,0x92,0x8B), - o3(0xE6,0x90,0xBE), o3(0xE6,0x98,0xA8), - o3(0xE6,0x9C,0x94), o3(0xE6,0x9F,0xB5), - o3(0xE7,0xAA,0x84), o3(0xE7,0xAD,0x96), - o3(0xE7,0xB4,0xA2), o3(0xE9,0x8C,0xAF), - o3(0xE6,0xA1,0x9C), o3(0xE9,0xAE,0xAD), - o3(0xE7,0xAC,0xB9), o3(0xE5,0x8C,0x99), - o3(0xE5,0x86,0x8A), o3(0xE5,0x88,0xB7), - UNDEF, -}; -static const BYTE_LOOKUP -from_EUC_JP_BA = { - from_EUC_JP_A1_offsets, - from_EUC_JP_BA_infos -}; - -static const struct byte_lookup* const -from_EUC_JP_BB_infos[95] = { - o3(0xE5,0xAF,0x9F), o3(0xE6,0x8B,0xB6), - o3(0xE6,0x92,0xAE), o3(0xE6,0x93,0xA6), - o3(0xE6,0x9C,0xAD), o3(0xE6,0xAE,0xBA), - o3(0xE8,0x96,0xA9), o3(0xE9,0x9B,0x91), - o3(0xE7,0x9A,0x90), o3(0xE9,0xAF,0x96), - o3(0xE6,0x8D,0x8C), o3(0xE9,0x8C,0x86), - o3(0xE9,0xAE,0xAB), o3(0xE7,0x9A,0xBF), - o3(0xE6,0x99,0x92), o3(0xE4,0xB8,0x89), - o3(0xE5,0x82,0x98), o3(0xE5,0x8F,0x82), - o3(0xE5,0xB1,0xB1), o3(0xE6,0x83,0xA8), - o3(0xE6,0x92,0x92), o3(0xE6,0x95,0xA3), - o3(0xE6,0xA1,0x9F), o3(0xE7,0x87,0xA6), - o3(0xE7,0x8F,0x8A), o3(0xE7,0x94,0xA3), - o3(0xE7,0xAE,0x97), o3(0xE7,0xBA,0x82), - o3(0xE8,0x9A,0x95), o3(0xE8,0xAE,0x83), - o3(0xE8,0xB3,0x9B), o3(0xE9,0x85,0xB8), - o3(0xE9,0xA4,0x90), o3(0xE6,0x96,0xAC), - o3(0xE6,0x9A,0xAB), o3(0xE6,0xAE,0x8B), - o3(0xE4,0xBB,0x95), o3(0xE4,0xBB,0x94), - o3(0xE4,0xBC,0xBA), o3(0xE4,0xBD,0xBF), - o3(0xE5,0x88,0xBA), o3(0xE5,0x8F,0xB8), - o3(0xE5,0x8F,0xB2), o3(0xE5,0x97,0xA3), - o3(0xE5,0x9B,0x9B), o3(0xE5,0xA3,0xAB), - o3(0xE5,0xA7,0x8B), o3(0xE5,0xA7,0x89), - o3(0xE5,0xA7,0xBF), o3(0xE5,0xAD,0x90), - o3(0xE5,0xB1,0x8D), o3(0xE5,0xB8,0x82), - o3(0xE5,0xB8,0xAB), o3(0xE5,0xBF,0x97), - o3(0xE6,0x80,0x9D), o3(0xE6,0x8C,0x87), - o3(0xE6,0x94,0xAF), o3(0xE5,0xAD,0x9C), - o3(0xE6,0x96,0xAF), o3(0xE6,0x96,0xBD), - o3(0xE6,0x97,0xA8), o3(0xE6,0x9E,0x9D), - o3(0xE6,0xAD,0xA2), o3(0xE6,0xAD,0xBB), - o3(0xE6,0xB0,0x8F), o3(0xE7,0x8D,0x85), - o3(0xE7,0xA5,0x89), o3(0xE7,0xA7,0x81), - o3(0xE7,0xB3,0xB8), o3(0xE7,0xB4,0x99), - o3(0xE7,0xB4,0xAB), o3(0xE8,0x82,0xA2), - o3(0xE8,0x84,0x82), o3(0xE8,0x87,0xB3), - o3(0xE8,0xA6,0x96), o3(0xE8,0xA9,0x9E), - o3(0xE8,0xA9,0xA9), o3(0xE8,0xA9,0xA6), - o3(0xE8,0xAA,0x8C), o3(0xE8,0xAB,0xAE), - o3(0xE8,0xB3,0x87), o3(0xE8,0xB3,0x9C), - o3(0xE9,0x9B,0x8C), o3(0xE9,0xA3,0xBC), - o3(0xE6,0xAD,0xAF), o3(0xE4,0xBA,0x8B), - o3(0xE4,0xBC,0xBC), o3(0xE4,0xBE,0x8D), - o3(0xE5,0x85,0x90), o3(0xE5,0xAD,0x97), - o3(0xE5,0xAF,0xBA), o3(0xE6,0x85,0x88), - o3(0xE6,0x8C,0x81), o3(0xE6,0x99,0x82), - UNDEF, -}; -static const BYTE_LOOKUP -from_EUC_JP_BB = { - from_EUC_JP_A1_offsets, - from_EUC_JP_BB_infos -}; - -static const struct byte_lookup* const -from_EUC_JP_BC_infos[95] = { - o3(0xE6,0xAC,0xA1), o3(0xE6,0xBB,0x8B), - o3(0xE6,0xB2,0xBB), o3(0xE7,0x88,0xBE), - o3(0xE7,0x92,0xBD), o3(0xE7,0x97,0x94), - o3(0xE7,0xA3,0x81), o3(0xE7,0xA4,0xBA), - o3(0xE8,0x80,0x8C), o3(0xE8,0x80,0xB3), - o3(0xE8,0x87,0xAA), o3(0xE8,0x92,0x94), - o3(0xE8,0xBE,0x9E), o3(0xE6,0xB1,0x90), - o3(0xE9,0xB9,0xBF), o3(0xE5,0xBC,0x8F), - o3(0xE8,0xAD,0x98), o3(0xE9,0xB4,0xAB), - o3(0xE7,0xAB,0xBA), o3(0xE8,0xBB,0xB8), - o3(0xE5,0xAE,0x8D), o3(0xE9,0x9B,0xAB), - o3(0xE4,0xB8,0x83), o3(0xE5,0x8F,0xB1), - o3(0xE5,0x9F,0xB7), o3(0xE5,0xA4,0xB1), - o3(0xE5,0xAB,0x89), o3(0xE5,0xAE,0xA4), - o3(0xE6,0x82,0x89), o3(0xE6,0xB9,0xBF), - o3(0xE6,0xBC,0x86), o3(0xE7,0x96,0xBE), - o3(0xE8,0xB3,0xAA), o3(0xE5,0xAE,0x9F), - o3(0xE8,0x94,0x80), o3(0xE7,0xAF,0xA0), - o3(0xE5,0x81,0xB2), o3(0xE6,0x9F,0xB4), - o3(0xE8,0x8A,0x9D), o3(0xE5,0xB1,0xA1), - o3(0xE8,0x95,0x8A), o3(0xE7,0xB8,0x9E), - o3(0xE8,0x88,0x8E), o3(0xE5,0x86,0x99), - o3(0xE5,0xB0,0x84), o3(0xE6,0x8D,0xA8), - o3(0xE8,0xB5,0xA6), o3(0xE6,0x96,0x9C), - o3(0xE7,0x85,0xAE), o3(0xE7,0xA4,0xBE), - o3(0xE7,0xB4,0x97), o3(0xE8,0x80,0x85), - o3(0xE8,0xAC,0x9D), o3(0xE8,0xBB,0x8A), - o3(0xE9,0x81,0xAE), o3(0xE8,0x9B,0x87), - o3(0xE9,0x82,0xAA), o3(0xE5,0x80,0x9F), - o3(0xE5,0x8B,0xBA), o3(0xE5,0xB0,0xBA), - o3(0xE6,0x9D,0x93), o3(0xE7,0x81,0xBC), - o3(0xE7,0x88,0xB5), o3(0xE9,0x85,0x8C), - o3(0xE9,0x87,0x88), o3(0xE9,0x8C,0xAB), - o3(0xE8,0x8B,0xA5), o3(0xE5,0xAF,0x82), - o3(0xE5,0xBC,0xB1), o3(0xE6,0x83,0xB9), - o3(0xE4,0xB8,0xBB), o3(0xE5,0x8F,0x96), - o3(0xE5,0xAE,0x88), o3(0xE6,0x89,0x8B), - o3(0xE6,0x9C,0xB1), o3(0xE6,0xAE,0x8A), - o3(0xE7,0x8B,0xA9), o3(0xE7,0x8F,0xA0), - o3(0xE7,0xA8,0xAE), o3(0xE8,0x85,0xAB), - o3(0xE8,0xB6,0xA3), o3(0xE9,0x85,0x92), - o3(0xE9,0xA6,0x96), o3(0xE5,0x84,0x92), - o3(0xE5,0x8F,0x97), o3(0xE5,0x91,0xAA), - o3(0xE5,0xAF,0xBF), o3(0xE6,0x8E,0x88), - o3(0xE6,0xA8,0xB9), o3(0xE7,0xB6,0xAC), - o3(0xE9,0x9C,0x80), o3(0xE5,0x9B,0x9A), - o3(0xE5,0x8F,0x8E), o3(0xE5,0x91,0xA8), - UNDEF, -}; -static const BYTE_LOOKUP -from_EUC_JP_BC = { - from_EUC_JP_A1_offsets, - from_EUC_JP_BC_infos -}; - -static const struct byte_lookup* const -from_EUC_JP_BD_infos[95] = { - o3(0xE5,0xAE,0x97), o3(0xE5,0xB0,0xB1), - o3(0xE5,0xB7,0x9E), o3(0xE4,0xBF,0xAE), - o3(0xE6,0x84,0x81), o3(0xE6,0x8B,0xBE), - o3(0xE6,0xB4,0xB2), o3(0xE7,0xA7,0x80), - o3(0xE7,0xA7,0x8B), o3(0xE7,0xB5,0x82), - o3(0xE7,0xB9,0x8D), o3(0xE7,0xBF,0x92), - o3(0xE8,0x87,0xAD), o3(0xE8,0x88,0x9F), - o3(0xE8,0x92,0x90), o3(0xE8,0xA1,0x86), - o3(0xE8,0xA5,0xB2), o3(0xE8,0xAE,0x90), - o3(0xE8,0xB9,0xB4), o3(0xE8,0xBC,0xAF), - o3(0xE9,0x80,0xB1), o3(0xE9,0x85,0x8B), - o3(0xE9,0x85,0xAC), o3(0xE9,0x9B,0x86), - o3(0xE9,0x86,0x9C), o3(0xE4,0xBB,0x80), - o3(0xE4,0xBD,0x8F), o3(0xE5,0x85,0x85), - o3(0xE5,0x8D,0x81), o3(0xE5,0xBE,0x93), - o3(0xE6,0x88,0x8E), o3(0xE6,0x9F,0x94), - o3(0xE6,0xB1,0x81), o3(0xE6,0xB8,0x8B), - o3(0xE7,0x8D,0xA3), o3(0xE7,0xB8,0xA6), - o3(0xE9,0x87,0x8D), o3(0xE9,0x8A,0x83), - o3(0xE5,0x8F,0x94), o3(0xE5,0xA4,0x99), - o3(0xE5,0xAE,0xBF), o3(0xE6,0xB7,0x91), - o3(0xE7,0xA5,0x9D), o3(0xE7,0xB8,0xAE), - o3(0xE7,0xB2,0x9B), o3(0xE5,0xA1,0xBE), - o3(0xE7,0x86,0x9F), o3(0xE5,0x87,0xBA), - o3(0xE8,0xA1,0x93), o3(0xE8,0xBF,0xB0), - o3(0xE4,0xBF,0x8A), o3(0xE5,0xB3,0xBB), - o3(0xE6,0x98,0xA5), o3(0xE7,0x9E,0xAC), - o3(0xE7,0xAB,0xA3), o3(0xE8,0x88,0x9C), - o3(0xE9,0xA7,0xBF), o3(0xE5,0x87,0x86), - o3(0xE5,0xBE,0xAA), o3(0xE6,0x97,0xAC), - o3(0xE6,0xA5,0xAF), o3(0xE6,0xAE,0x89), - o3(0xE6,0xB7,0xB3), o3(0xE6,0xBA,0x96), - o3(0xE6,0xBD,0xA4), o3(0xE7,0x9B,0xBE), - o3(0xE7,0xB4,0x94), o3(0xE5,0xB7,0xA1), - o3(0xE9,0x81,0xB5), o3(0xE9,0x86,0x87), - o3(0xE9,0xA0,0x86), o3(0xE5,0x87,0xA6), - o3(0xE5,0x88,0x9D), o3(0xE6,0x89,0x80), - o3(0xE6,0x9A,0x91), o3(0xE6,0x9B,0x99), - o3(0xE6,0xB8,0x9A), o3(0xE5,0xBA,0xB6), - o3(0xE7,0xB7,0x92), o3(0xE7,0xBD,0xB2), - o3(0xE6,0x9B,0xB8), o3(0xE8,0x96,0xAF), - o3(0xE8,0x97,0xB7), o3(0xE8,0xAB,0xB8), - o3(0xE5,0x8A,0xA9), o3(0xE5,0x8F,0x99), - o3(0xE5,0xA5,0xB3), o3(0xE5,0xBA,0x8F), - o3(0xE5,0xBE,0x90), o3(0xE6,0x81,0x95), - o3(0xE9,0x8B,0xA4), o3(0xE9,0x99,0xA4), - o3(0xE5,0x82,0xB7), o3(0xE5,0x84,0x9F), - UNDEF, -}; -static const BYTE_LOOKUP -from_EUC_JP_BD = { - from_EUC_JP_A1_offsets, - from_EUC_JP_BD_infos -}; - -static const struct byte_lookup* const -from_EUC_JP_BE_infos[95] = { - o3(0xE5,0x8B,0x9D), o3(0xE5,0x8C,0xA0), - o3(0xE5,0x8D,0x87), o3(0xE5,0x8F,0xAC), - o3(0xE5,0x93,0xA8), o3(0xE5,0x95,0x86), - o3(0xE5,0x94,0xB1), o3(0xE5,0x98,0x97), - o3(0xE5,0xA5,0xA8), o3(0xE5,0xA6,0xBE), - o3(0xE5,0xA8,0xBC), o3(0xE5,0xAE,0xB5), - o3(0xE5,0xB0,0x86), o3(0xE5,0xB0,0x8F), - o3(0xE5,0xB0,0x91), o3(0xE5,0xB0,0x9A), - o3(0xE5,0xBA,0x84), o3(0xE5,0xBA,0x8A), - o3(0xE5,0xBB,0xA0), o3(0xE5,0xBD,0xB0), - o3(0xE6,0x89,0xBF), o3(0xE6,0x8A,0x84), - o3(0xE6,0x8B,0x9B), o3(0xE6,0x8E,0x8C), - o3(0xE6,0x8D,0xB7), o3(0xE6,0x98,0x87), - o3(0xE6,0x98,0x8C), o3(0xE6,0x98,0xAD), - o3(0xE6,0x99,0xB6), o3(0xE6,0x9D,0xBE), - o3(0xE6,0xA2,0xA2), o3(0xE6,0xA8,0x9F), - o3(0xE6,0xA8,0xB5), o3(0xE6,0xB2,0xBC), - o3(0xE6,0xB6,0x88), o3(0xE6,0xB8,0x89), - o3(0xE6,0xB9,0x98), o3(0xE7,0x84,0xBC), - o3(0xE7,0x84,0xA6), o3(0xE7,0x85,0xA7), - o3(0xE7,0x97,0x87), o3(0xE7,0x9C,0x81), - o3(0xE7,0xA1,0x9D), o3(0xE7,0xA4,0x81), - o3(0xE7,0xA5,0xA5), o3(0xE7,0xA7,0xB0), - o3(0xE7,0xAB,0xA0), o3(0xE7,0xAC,0x91), - o3(0xE7,0xB2,0xA7), o3(0xE7,0xB4,0xB9), - o3(0xE8,0x82,0x96), o3(0xE8,0x8F,0x96), - o3(0xE8,0x92,0x8B), o3(0xE8,0x95,0x89), - o3(0xE8,0xA1,0x9D), o3(0xE8,0xA3,0xB3), - o3(0xE8,0xA8,0x9F), o3(0xE8,0xA8,0xBC), - o3(0xE8,0xA9,0x94), o3(0xE8,0xA9,0xB3), - o3(0xE8,0xB1,0xA1), o3(0xE8,0xB3,0x9E), - o3(0xE9,0x86,0xA4), o3(0xE9,0x89,0xA6), - o3(0xE9,0x8D,0xBE), o3(0xE9,0x90,0x98), - o3(0xE9,0x9A,0x9C), o3(0xE9,0x9E,0x98), - o3(0xE4,0xB8,0x8A), o3(0xE4,0xB8,0x88), - o3(0xE4,0xB8,0x9E), o3(0xE4,0xB9,0x97), - o3(0xE5,0x86,0x97), o3(0xE5,0x89,0xB0), - o3(0xE5,0x9F,0x8E), o3(0xE5,0xA0,0xB4), - o3(0xE5,0xA3,0x8C), o3(0xE5,0xAC,0xA2), - o3(0xE5,0xB8,0xB8), o3(0xE6,0x83,0x85), - o3(0xE6,0x93,0xBE), o3(0xE6,0x9D,0xA1), - o3(0xE6,0x9D,0x96), o3(0xE6,0xB5,0x84), - o3(0xE7,0x8A,0xB6), o3(0xE7,0x95,0xB3), - o3(0xE7,0xA9,0xA3), o3(0xE8,0x92,0xB8), - o3(0xE8,0xAD,0xB2), o3(0xE9,0x86,0xB8), - o3(0xE9,0x8C,0xA0), o3(0xE5,0x98,0xB1), - o3(0xE5,0x9F,0xB4), o3(0xE9,0xA3,0xBE), - UNDEF, -}; -static const BYTE_LOOKUP -from_EUC_JP_BE = { - from_EUC_JP_A1_offsets, - from_EUC_JP_BE_infos -}; - -static const struct byte_lookup* const -from_EUC_JP_BF_infos[95] = { - o3(0xE6,0x8B,0xAD), o3(0xE6,0xA4,0x8D), - o3(0xE6,0xAE,0x96), o3(0xE7,0x87,0xAD), - o3(0xE7,0xB9,0x94), o3(0xE8,0x81,0xB7), - o3(0xE8,0x89,0xB2), o3(0xE8,0xA7,0xA6), - o3(0xE9,0xA3,0x9F), o3(0xE8,0x9D,0x95), - o3(0xE8,0xBE,0xB1), o3(0xE5,0xB0,0xBB), - o3(0xE4,0xBC,0xB8), o3(0xE4,0xBF,0xA1), - o3(0xE4,0xBE,0xB5), o3(0xE5,0x94,0x87), - o3(0xE5,0xA8,0xA0), o3(0xE5,0xAF,0x9D), - o3(0xE5,0xAF,0xA9), o3(0xE5,0xBF,0x83), - o3(0xE6,0x85,0x8E), o3(0xE6,0x8C,0xAF), - o3(0xE6,0x96,0xB0), o3(0xE6,0x99,0x8B), - o3(0xE6,0xA3,0xAE), o3(0xE6,0xA6,0x9B), - o3(0xE6,0xB5,0xB8), o3(0xE6,0xB7,0xB1), - o3(0xE7,0x94,0xB3), o3(0xE7,0x96,0xB9), - o3(0xE7,0x9C,0x9F), o3(0xE7,0xA5,0x9E), - o3(0xE7,0xA7,0xA6), o3(0xE7,0xB4,0xB3), - o3(0xE8,0x87,0xA3), o3(0xE8,0x8A,0xAF), - o3(0xE8,0x96,0xAA), o3(0xE8,0xA6,0xAA), - o3(0xE8,0xA8,0xBA), o3(0xE8,0xBA,0xAB), - o3(0xE8,0xBE,0x9B), o3(0xE9,0x80,0xB2), - o3(0xE9,0x87,0x9D), o3(0xE9,0x9C,0x87), - o3(0xE4,0xBA,0xBA), o3(0xE4,0xBB,0x81), - o3(0xE5,0x88,0x83), o3(0xE5,0xA1,0xB5), - o3(0xE5,0xA3,0xAC), o3(0xE5,0xB0,0x8B), - o3(0xE7,0x94,0x9A), o3(0xE5,0xB0,0xBD), - o3(0xE8,0x85,0x8E), o3(0xE8,0xA8,0x8A), - o3(0xE8,0xBF,0x85), o3(0xE9,0x99,0xA3), - o3(0xE9,0x9D,0xAD), o3(0xE7,0xAC,0xA5), - o3(0xE8,0xAB,0x8F), o3(0xE9,0xA0,0x88), - o3(0xE9,0x85,0xA2), o3(0xE5,0x9B,0xB3), - o3(0xE5,0x8E,0xA8), o3(0xE9,0x80,0x97), - o3(0xE5,0x90,0xB9), o3(0xE5,0x9E,0x82), - o3(0xE5,0xB8,0xA5), o3(0xE6,0x8E,0xA8), - o3(0xE6,0xB0,0xB4), o3(0xE7,0x82,0x8A), - o3(0xE7,0x9D,0xA1), o3(0xE7,0xB2,0x8B), - o3(0xE7,0xBF,0xA0), o3(0xE8,0xA1,0xB0), - o3(0xE9,0x81,0x82), o3(0xE9,0x85,0x94), - o3(0xE9,0x8C,0x90), o3(0xE9,0x8C,0x98), - o3(0xE9,0x9A,0x8F), o3(0xE7,0x91,0x9E), - o3(0xE9,0xAB,0x84), o3(0xE5,0xB4,0x87), - o3(0xE5,0xB5,0xA9), o3(0xE6,0x95,0xB0), - o3(0xE6,0x9E,0xA2), o3(0xE8,0xB6,0xA8), - o3(0xE9,0x9B,0x9B), o3(0xE6,0x8D,0xAE), - o3(0xE6,0x9D,0x89), o3(0xE6,0xA4,0x99), - o3(0xE8,0x8F,0x85), o3(0xE9,0xA0,0x97), - o3(0xE9,0x9B,0x80), o3(0xE8,0xA3,0xBE), - UNDEF, -}; -static const BYTE_LOOKUP -from_EUC_JP_BF = { - from_EUC_JP_A1_offsets, - from_EUC_JP_BF_infos -}; - -static const struct byte_lookup* const -from_EUC_JP_C0_infos[95] = { - o3(0xE6,0xBE,0x84), o3(0xE6,0x91,0xBA), - o3(0xE5,0xAF,0xB8), o3(0xE4,0xB8,0x96), - o3(0xE7,0x80,0xAC), o3(0xE7,0x95,0x9D), - o3(0xE6,0x98,0xAF), o3(0xE5,0x87,0x84), - o3(0xE5,0x88,0xB6), o3(0xE5,0x8B,0xA2), - o3(0xE5,0xA7,0x93), o3(0xE5,0xBE,0x81), - o3(0xE6,0x80,0xA7), o3(0xE6,0x88,0x90), - o3(0xE6,0x94,0xBF), o3(0xE6,0x95,0xB4), - o3(0xE6,0x98,0x9F), o3(0xE6,0x99,0xB4), - o3(0xE6,0xA3,0xB2), o3(0xE6,0xA0,0x96), - o3(0xE6,0xAD,0xA3), o3(0xE6,0xB8,0x85), - o3(0xE7,0x89,0xB2), o3(0xE7,0x94,0x9F), - o3(0xE7,0x9B,0x9B), o3(0xE7,0xB2,0xBE), - o3(0xE8,0x81,0x96), o3(0xE5,0xA3,0xB0), - o3(0xE8,0xA3,0xBD), o3(0xE8,0xA5,0xBF), - o3(0xE8,0xAA,0xA0), o3(0xE8,0xAA,0x93), - o3(0xE8,0xAB,0x8B), o3(0xE9,0x80,0x9D), - o3(0xE9,0x86,0x92), o3(0xE9,0x9D,0x92), - o3(0xE9,0x9D,0x99), o3(0xE6,0x96,0x89), - o3(0xE7,0xA8,0x8E), o3(0xE8,0x84,0x86), - o3(0xE9,0x9A,0xBB), o3(0xE5,0xB8,0xAD), - o3(0xE6,0x83,0x9C), o3(0xE6,0x88,0x9A), - o3(0xE6,0x96,0xA5), o3(0xE6,0x98,0x94), - o3(0xE6,0x9E,0x90), o3(0xE7,0x9F,0xB3), - o3(0xE7,0xA9,0x8D), o3(0xE7,0xB1,0x8D), - o3(0xE7,0xB8,0xBE), o3(0xE8,0x84,0x8A), - o3(0xE8,0xB2,0xAC), o3(0xE8,0xB5,0xA4), - o3(0xE8,0xB7,0xA1), o3(0xE8,0xB9,0x9F), - o3(0xE7,0xA2,0xA9), o3(0xE5,0x88,0x87), - o3(0xE6,0x8B,0x99), o3(0xE6,0x8E,0xA5), - o3(0xE6,0x91,0x82), o3(0xE6,0x8A,0x98), - o3(0xE8,0xA8,0xAD), o3(0xE7,0xAA,0x83), - o3(0xE7,0xAF,0x80), o3(0xE8,0xAA,0xAC), - o3(0xE9,0x9B,0xAA), o3(0xE7,0xB5,0xB6), - o3(0xE8,0x88,0x8C), o3(0xE8,0x9D,0x89), - o3(0xE4,0xBB,0x99), o3(0xE5,0x85,0x88), - o3(0xE5,0x8D,0x83), o3(0xE5,0x8D,0xA0), - o3(0xE5,0xAE,0xA3), o3(0xE5,0xB0,0x82), - o3(0xE5,0xB0,0x96), o3(0xE5,0xB7,0x9D), - o3(0xE6,0x88,0xA6), o3(0xE6,0x89,0x87), - o3(0xE6,0x92,0xB0), o3(0xE6,0xA0,0x93), - o3(0xE6,0xA0,0xB4), o3(0xE6,0xB3,0x89), - o3(0xE6,0xB5,0x85), o3(0xE6,0xB4,0x97), - o3(0xE6,0x9F,0x93), o3(0xE6,0xBD,0x9C), - o3(0xE7,0x85,0x8E), o3(0xE7,0x85,0xBD), - o3(0xE6,0x97,0x8B), o3(0xE7,0xA9,0xBF), - o3(0xE7,0xAE,0xAD), o3(0xE7,0xB7,0x9A), - UNDEF, -}; -static const BYTE_LOOKUP -from_EUC_JP_C0 = { - from_EUC_JP_A1_offsets, - from_EUC_JP_C0_infos -}; - -static const struct byte_lookup* const -from_EUC_JP_C1_infos[95] = { - o3(0xE7,0xB9,0x8A), o3(0xE7,0xBE,0xA8), - o3(0xE8,0x85,0xBA), o3(0xE8,0x88,0x9B), - o3(0xE8,0x88,0xB9), o3(0xE8,0x96,0xA6), - o3(0xE8,0xA9,0xAE), o3(0xE8,0xB3,0x8E), - o3(0xE8,0xB7,0xB5), o3(0xE9,0x81,0xB8), - o3(0xE9,0x81,0xB7), o3(0xE9,0x8A,0xAD), - o3(0xE9,0x8A,0x91), o3(0xE9,0x96,0x83), - o3(0xE9,0xAE,0xAE), o3(0xE5,0x89,0x8D), - o3(0xE5,0x96,0x84), o3(0xE6,0xBC,0xB8), - o3(0xE7,0x84,0xB6), o3(0xE5,0x85,0xA8), - o3(0xE7,0xA6,0x85), o3(0xE7,0xB9,0x95), - o3(0xE8,0x86,0xB3), o3(0xE7,0xB3,0x8E), - o3(0xE5,0x99,0x8C), o3(0xE5,0xA1,0x91), - o3(0xE5,0xB2,0xA8), o3(0xE6,0x8E,0xAA), - o3(0xE6,0x9B,0xBE), o3(0xE6,0x9B,0xBD), - o3(0xE6,0xA5,0x9A), o3(0xE7,0x8B,0x99), - o3(0xE7,0x96,0x8F), o3(0xE7,0x96,0x8E), - o3(0xE7,0xA4,0x8E), o3(0xE7,0xA5,0x96), - o3(0xE7,0xA7,0x9F), o3(0xE7,0xB2,0x97), - o3(0xE7,0xB4,0xA0), o3(0xE7,0xB5,0x84), - o3(0xE8,0x98,0x87), o3(0xE8,0xA8,0xB4), - o3(0xE9,0x98,0xBB), o3(0xE9,0x81,0xA1), - o3(0xE9,0xBC,0xA0), o3(0xE5,0x83,0xA7), - o3(0xE5,0x89,0xB5), o3(0xE5,0x8F,0x8C), - o3(0xE5,0x8F,0xA2), o3(0xE5,0x80,0x89), - o3(0xE5,0x96,0xAA), o3(0xE5,0xA3,0xAE), - o3(0xE5,0xA5,0x8F), o3(0xE7,0x88,0xBD), - o3(0xE5,0xAE,0x8B), o3(0xE5,0xB1,0xA4), - o3(0xE5,0x8C,0x9D), o3(0xE6,0x83,0xA3), - o3(0xE6,0x83,0xB3), o3(0xE6,0x8D,0x9C), - o3(0xE6,0x8E,0x83), o3(0xE6,0x8C,0xBF), - o3(0xE6,0x8E,0xBB), o3(0xE6,0x93,0x8D), - o3(0xE6,0x97,0xA9), o3(0xE6,0x9B,0xB9), - o3(0xE5,0xB7,0xA3), o3(0xE6,0xA7,0x8D), - o3(0xE6,0xA7,0xBD), o3(0xE6,0xBC,0x95), - o3(0xE7,0x87,0xA5), o3(0xE4,0xBA,0x89), - o3(0xE7,0x97,0xA9), o3(0xE7,0x9B,0xB8), - o3(0xE7,0xAA,0x93), o3(0xE7,0xB3,0x9F), - o3(0xE7,0xB7,0x8F), o3(0xE7,0xB6,0x9C), - o3(0xE8,0x81,0xA1), o3(0xE8,0x8D,0x89), - o3(0xE8,0x8D,0x98), o3(0xE8,0x91,0xAC), - o3(0xE8,0x92,0xBC), o3(0xE8,0x97,0xBB), - o3(0xE8,0xA3,0x85), o3(0xE8,0xB5,0xB0), - o3(0xE9,0x80,0x81), o3(0xE9,0x81,0xAD), - o3(0xE9,0x8E,0x97), o3(0xE9,0x9C,0x9C), - o3(0xE9,0xA8,0x92), o3(0xE5,0x83,0x8F), - o3(0xE5,0xA2,0x97), o3(0xE6,0x86,0x8E), - UNDEF, -}; -static const BYTE_LOOKUP -from_EUC_JP_C1 = { - from_EUC_JP_A1_offsets, - from_EUC_JP_C1_infos -}; - -static const struct byte_lookup* const -from_EUC_JP_C2_infos[95] = { - o3(0xE8,0x87,0x93), o3(0xE8,0x94,0xB5), - o3(0xE8,0xB4,0x88), o3(0xE9,0x80,0xA0), - o3(0xE4,0xBF,0x83), o3(0xE5,0x81,0xB4), - o3(0xE5,0x89,0x87), o3(0xE5,0x8D,0xB3), - o3(0xE6,0x81,0xAF), o3(0xE6,0x8D,0x89), - o3(0xE6,0x9D,0x9F), o3(0xE6,0xB8,0xAC), - o3(0xE8,0xB6,0xB3), o3(0xE9,0x80,0x9F), - o3(0xE4,0xBF,0x97), o3(0xE5,0xB1,0x9E), - o3(0xE8,0xB3,0x8A), o3(0xE6,0x97,0x8F), - o3(0xE7,0xB6,0x9A), o3(0xE5,0x8D,0x92), - o3(0xE8,0xA2,0x96), o3(0xE5,0x85,0xB6), - o3(0xE6,0x8F,0x83), o3(0xE5,0xAD,0x98), - o3(0xE5,0xAD,0xAB), o3(0xE5,0xB0,0x8A), - o3(0xE6,0x90,0x8D), o3(0xE6,0x9D,0x91), - o3(0xE9,0x81,0x9C), o3(0xE4,0xBB,0x96), - o3(0xE5,0xA4,0x9A), o3(0xE5,0xA4,0xAA), - o3(0xE6,0xB1,0xB0), o3(0xE8,0xA9,0x91), - o3(0xE5,0x94,0xBE), o3(0xE5,0xA0,0x95), - o3(0xE5,0xA6,0xA5), o3(0xE6,0x83,0xB0), - o3(0xE6,0x89,0x93), o3(0xE6,0x9F,0x81), - o3(0xE8,0x88,0xB5), o3(0xE6,0xA5,0x95), - o3(0xE9,0x99,0x80), o3(0xE9,0xA7,0x84), - o3(0xE9,0xA8,0xA8), o3(0xE4,0xBD,0x93), - o3(0xE5,0xA0,0x86), o3(0xE5,0xAF,0xBE), - o3(0xE8,0x80,0x90), o3(0xE5,0xB2,0xB1), - o3(0xE5,0xB8,0xAF), o3(0xE5,0xBE,0x85), - o3(0xE6,0x80,0xA0), o3(0xE6,0x85,0x8B), - o3(0xE6,0x88,0xB4), o3(0xE6,0x9B,0xBF), - o3(0xE6,0xB3,0xB0), o3(0xE6,0xBB,0x9E), - o3(0xE8,0x83,0x8E), o3(0xE8,0x85,0xBF), - o3(0xE8,0x8B,0x94), o3(0xE8,0xA2,0x8B), - o3(0xE8,0xB2,0xB8), o3(0xE9,0x80,0x80), - o3(0xE9,0x80,0xAE), o3(0xE9,0x9A,0x8A), - o3(0xE9,0xBB,0x9B), o3(0xE9,0xAF,0x9B), - o3(0xE4,0xBB,0xA3), o3(0xE5,0x8F,0xB0), - o3(0xE5,0xA4,0xA7), o3(0xE7,0xAC,0xAC), - o3(0xE9,0x86,0x8D), o3(0xE9,0xA1,0x8C), - o3(0xE9,0xB7,0xB9), o3(0xE6,0xBB,0x9D), - o3(0xE7,0x80,0xA7), o3(0xE5,0x8D,0x93), - o3(0xE5,0x95,0x84), o3(0xE5,0xAE,0x85), - o3(0xE6,0x89,0x98), o3(0xE6,0x8A,0x9E), - o3(0xE6,0x8B,0x93), o3(0xE6,0xB2,0xA2), - o3(0xE6,0xBF,0xAF), o3(0xE7,0x90,0xA2), - o3(0xE8,0xA8,0x97), o3(0xE9,0x90,0xB8), - o3(0xE6,0xBF,0x81), o3(0xE8,0xAB,0xBE), - o3(0xE8,0x8C,0xB8), o3(0xE5,0x87,0xA7), - o3(0xE8,0x9B,0xB8), o3(0xE5,0x8F,0xAA), - UNDEF, -}; -static const BYTE_LOOKUP -from_EUC_JP_C2 = { - from_EUC_JP_A1_offsets, - from_EUC_JP_C2_infos -}; - -static const struct byte_lookup* const -from_EUC_JP_C3_infos[95] = { - o3(0xE5,0x8F,0xA9), o3(0xE4,0xBD,0x86), - o3(0xE9,0x81,0x94), o3(0xE8,0xBE,0xB0), - o3(0xE5,0xA5,0xAA), o3(0xE8,0x84,0xB1), - o3(0xE5,0xB7,0xBD), o3(0xE7,0xAB,0xAA), - o3(0xE8,0xBE,0xBF), o3(0xE6,0xA3,0x9A), - o3(0xE8,0xB0,0xB7), o3(0xE7,0x8B,0xB8), - o3(0xE9,0xB1,0x88), o3(0xE6,0xA8,0xBD), - o3(0xE8,0xAA,0xB0), o3(0xE4,0xB8,0xB9), - o3(0xE5,0x8D,0x98), o3(0xE5,0x98,0x86), - o3(0xE5,0x9D,0xA6), o3(0xE6,0x8B,0x85), - o3(0xE6,0x8E,0xA2), o3(0xE6,0x97,0xA6), - o3(0xE6,0xAD,0x8E), o3(0xE6,0xB7,0xA1), - o3(0xE6,0xB9,0x9B), o3(0xE7,0x82,0xAD), - o3(0xE7,0x9F,0xAD), o3(0xE7,0xAB,0xAF), - o3(0xE7,0xAE,0xAA), o3(0xE7,0xB6,0xBB), - o3(0xE8,0x80,0xBD), o3(0xE8,0x83,0x86), - o3(0xE8,0x9B,0x8B), o3(0xE8,0xAA,0x95), - o3(0xE9,0x8D,0x9B), o3(0xE5,0x9B,0xA3), - o3(0xE5,0xA3,0x87), o3(0xE5,0xBC,0xBE), - o3(0xE6,0x96,0xAD), o3(0xE6,0x9A,0x96), - o3(0xE6,0xAA,0x80), o3(0xE6,0xAE,0xB5), - o3(0xE7,0x94,0xB7), o3(0xE8,0xAB,0x87), - o3(0xE5,0x80,0xA4), o3(0xE7,0x9F,0xA5), - o3(0xE5,0x9C,0xB0), o3(0xE5,0xBC,0x9B), - o3(0xE6,0x81,0xA5), o3(0xE6,0x99,0xBA), - o3(0xE6,0xB1,0xA0), o3(0xE7,0x97,0xB4), - o3(0xE7,0xA8,0x9A), o3(0xE7,0xBD,0xAE), - o3(0xE8,0x87,0xB4), o3(0xE8,0x9C,0x98), - o3(0xE9,0x81,0x85), o3(0xE9,0xA6,0xB3), - o3(0xE7,0xAF,0x89), o3(0xE7,0x95,0x9C), - o3(0xE7,0xAB,0xB9), o3(0xE7,0xAD,0x91), - o3(0xE8,0x93,0x84), o3(0xE9,0x80,0x90), - o3(0xE7,0xA7,0xA9), o3(0xE7,0xAA,0x92), - o3(0xE8,0x8C,0xB6), o3(0xE5,0xAB,0xA1), - o3(0xE7,0x9D,0x80), o3(0xE4,0xB8,0xAD), - o3(0xE4,0xBB,0xB2), o3(0xE5,0xAE,0x99), - o3(0xE5,0xBF,0xA0), o3(0xE6,0x8A,0xBD), - o3(0xE6,0x98,0xBC), o3(0xE6,0x9F,0xB1), - o3(0xE6,0xB3,0xA8), o3(0xE8,0x99,0xAB), - o3(0xE8,0xA1,0xB7), o3(0xE8,0xA8,0xBB), - o3(0xE9,0x85,0x8E), o3(0xE9,0x8B,0xB3), - o3(0xE9,0xA7,0x90), o3(0xE6,0xA8,0x97), - o3(0xE7,0x80,0xA6), o3(0xE7,0x8C,0xAA), - o3(0xE8,0x8B,0xA7), o3(0xE8,0x91,0x97), - o3(0xE8,0xB2,0xAF), o3(0xE4,0xB8,0x81), - o3(0xE5,0x85,0x86), o3(0xE5,0x87,0x8B), - o3(0xE5,0x96,0x8B), o3(0xE5,0xAF,0xB5), - UNDEF, -}; -static const BYTE_LOOKUP -from_EUC_JP_C3 = { - from_EUC_JP_A1_offsets, - from_EUC_JP_C3_infos -}; - -static const struct byte_lookup* const -from_EUC_JP_C4_infos[95] = { - o3(0xE5,0xB8,0x96), o3(0xE5,0xB8,0xB3), - o3(0xE5,0xBA,0x81), o3(0xE5,0xBC,0x94), - o3(0xE5,0xBC,0xB5), o3(0xE5,0xBD,0xAB), - o3(0xE5,0xBE,0xB4), o3(0xE6,0x87,0xB2), - o3(0xE6,0x8C,0x91), o3(0xE6,0x9A,0xA2), - o3(0xE6,0x9C,0x9D), o3(0xE6,0xBD,0xAE), - o3(0xE7,0x89,0x92), o3(0xE7,0x94,0xBA), - o3(0xE7,0x9C,0xBA), o3(0xE8,0x81,0xB4), - o3(0xE8,0x84,0xB9), o3(0xE8,0x85,0xB8), - o3(0xE8,0x9D,0xB6), o3(0xE8,0xAA,0xBF), - o3(0xE8,0xAB,0x9C), o3(0xE8,0xB6,0x85), - o3(0xE8,0xB7,0xB3), o3(0xE9,0x8A,0x9A), - o3(0xE9,0x95,0xB7), o3(0xE9,0xA0,0x82), - o3(0xE9,0xB3,0xA5), o3(0xE5,0x8B,0x85), - o3(0xE6,0x8D,0x97), o3(0xE7,0x9B,0xB4), - o3(0xE6,0x9C,0x95), o3(0xE6,0xB2,0x88), - o3(0xE7,0x8F,0x8D), o3(0xE8,0xB3,0x83), - o3(0xE9,0x8E,0xAE), o3(0xE9,0x99,0xB3), - o3(0xE6,0xB4,0xA5), o3(0xE5,0xA2,0x9C), - o3(0xE6,0xA4,0x8E), o3(0xE6,0xA7,0x8C), - o3(0xE8,0xBF,0xBD), o3(0xE9,0x8E,0x9A), - o3(0xE7,0x97,0x9B), o3(0xE9,0x80,0x9A), - o3(0xE5,0xA1,0x9A), o3(0xE6,0xA0,0x82), - o3(0xE6,0x8E,0xB4), o3(0xE6,0xA7,0xBB), - o3(0xE4,0xBD,0x83), o3(0xE6,0xBC,0xAC), - o3(0xE6,0x9F,0x98), o3(0xE8,0xBE,0xBB), - o3(0xE8,0x94,0xA6), o3(0xE7,0xB6,0xB4), - o3(0xE9,0x8D,0x94), o3(0xE6,0xA4,0xBF), - o3(0xE6,0xBD,0xB0), o3(0xE5,0x9D,0xAA), - o3(0xE5,0xA3,0xB7), o3(0xE5,0xAC,0xAC), - o3(0xE7,0xB4,0xAC), o3(0xE7,0x88,0xAA), - o3(0xE5,0x90,0x8A), o3(0xE9,0x87,0xA3), - o3(0xE9,0xB6,0xB4), o3(0xE4,0xBA,0xAD), - o3(0xE4,0xBD,0x8E), o3(0xE5,0x81,0x9C), - o3(0xE5,0x81,0xB5), o3(0xE5,0x89,0x83), - o3(0xE8,0xB2,0x9E), o3(0xE5,0x91,0x88), - o3(0xE5,0xA0,0xA4), o3(0xE5,0xAE,0x9A), - o3(0xE5,0xB8,0x9D), o3(0xE5,0xBA,0x95), - o3(0xE5,0xBA,0xAD), o3(0xE5,0xBB,0xB7), - o3(0xE5,0xBC,0x9F), o3(0xE6,0x82,0x8C), - o3(0xE6,0x8A,0xB5), o3(0xE6,0x8C,0xBA), - o3(0xE6,0x8F,0x90), o3(0xE6,0xA2,0xAF), - o3(0xE6,0xB1,0x80), o3(0xE7,0xA2,0x87), - o3(0xE7,0xA6,0x8E), o3(0xE7,0xA8,0x8B), - o3(0xE7,0xB7,0xA0), o3(0xE8,0x89,0x87), - o3(0xE8,0xA8,0x82), o3(0xE8,0xAB,0xA6), - o3(0xE8,0xB9,0x84), o3(0xE9,0x80,0x93), - UNDEF, -}; -static const BYTE_LOOKUP -from_EUC_JP_C4 = { - from_EUC_JP_A1_offsets, - from_EUC_JP_C4_infos -}; - -static const struct byte_lookup* const -from_EUC_JP_C5_infos[95] = { - o3(0xE9,0x82,0xB8), o3(0xE9,0x84,0xAD), - o3(0xE9,0x87,0x98), o3(0xE9,0xBC,0x8E), - o3(0xE6,0xB3,0xA5), o3(0xE6,0x91,0x98), - o3(0xE6,0x93,0xA2), o3(0xE6,0x95,0xB5), - o3(0xE6,0xBB,0xB4), o3(0xE7,0x9A,0x84), - o3(0xE7,0xAC,0x9B), o3(0xE9,0x81,0xA9), - o3(0xE9,0x8F,0x91), o3(0xE6,0xBA,0xBA), - o3(0xE5,0x93,0xB2), o3(0xE5,0xBE,0xB9), - o3(0xE6,0x92,0xA4), o3(0xE8,0xBD,0x8D), - o3(0xE8,0xBF,0xAD), o3(0xE9,0x89,0x84), - o3(0xE5,0x85,0xB8), o3(0xE5,0xA1,0xAB), - o3(0xE5,0xA4,0xA9), o3(0xE5,0xB1,0x95), - o3(0xE5,0xBA,0x97), o3(0xE6,0xB7,0xBB), - o3(0xE7,0xBA,0x8F), o3(0xE7,0x94,0x9C), - o3(0xE8,0xB2,0xBC), o3(0xE8,0xBB,0xA2), - o3(0xE9,0xA1,0x9B), o3(0xE7,0x82,0xB9), - o3(0xE4,0xBC,0x9D), o3(0xE6,0xAE,0xBF), - o3(0xE6,0xBE,0xB1), o3(0xE7,0x94,0xB0), - o3(0xE9,0x9B,0xBB), o3(0xE5,0x85,0x8E), - o3(0xE5,0x90,0x90), o3(0xE5,0xA0,0xB5), - o3(0xE5,0xA1,0x97), o3(0xE5,0xA6,0xAC), - o3(0xE5,0xB1,0xA0), o3(0xE5,0xBE,0x92), - o3(0xE6,0x96,0x97), o3(0xE6,0x9D,0x9C), - o3(0xE6,0xB8,0xA1), o3(0xE7,0x99,0xBB), - o3(0xE8,0x8F,0x9F), o3(0xE8,0xB3,0xAD), - o3(0xE9,0x80,0x94), o3(0xE9,0x83,0xBD), - o3(0xE9,0x8D,0x8D), o3(0xE7,0xA0,0xA5), - o3(0xE7,0xA0,0xBA), o3(0xE5,0x8A,0xAA), - o3(0xE5,0xBA,0xA6), o3(0xE5,0x9C,0x9F), - o3(0xE5,0xA5,0xB4), o3(0xE6,0x80,0x92), - o3(0xE5,0x80,0x92), o3(0xE5,0x85,0x9A), - o3(0xE5,0x86,0xAC), o3(0xE5,0x87,0x8D), - o3(0xE5,0x88,0x80), o3(0xE5,0x94,0x90), - o3(0xE5,0xA1,0x94), o3(0xE5,0xA1,0x98), - o3(0xE5,0xA5,0x97), o3(0xE5,0xAE,0x95), - o3(0xE5,0xB3,0xB6), o3(0xE5,0xB6,0x8B), - o3(0xE6,0x82,0xBC), o3(0xE6,0x8A,0x95), - o3(0xE6,0x90,0xAD), o3(0xE6,0x9D,0xB1), - o3(0xE6,0xA1,0x83), o3(0xE6,0xA2,0xBC), - o3(0xE6,0xA3,0x9F), o3(0xE7,0x9B,0x97), - o3(0xE6,0xB7,0x98), o3(0xE6,0xB9,0xAF), - o3(0xE6,0xB6,0x9B), o3(0xE7,0x81,0xAF), - o3(0xE7,0x87,0x88), o3(0xE5,0xBD,0x93), - o3(0xE7,0x97,0x98), o3(0xE7,0xA5,0xB7), - o3(0xE7,0xAD,0x89), o3(0xE7,0xAD,0x94), - o3(0xE7,0xAD,0x92), o3(0xE7,0xB3,0x96), - o3(0xE7,0xB5,0xB1), o3(0xE5,0x88,0xB0), - UNDEF, -}; -static const BYTE_LOOKUP -from_EUC_JP_C5 = { - from_EUC_JP_A1_offsets, - from_EUC_JP_C5_infos -}; - -static const struct byte_lookup* const -from_EUC_JP_C6_infos[95] = { - o3(0xE8,0x91,0xA3), o3(0xE8,0x95,0xA9), - o3(0xE8,0x97,0xA4), o3(0xE8,0xA8,0x8E), - o3(0xE8,0xAC,0x84), o3(0xE8,0xB1,0x86), - o3(0xE8,0xB8,0x8F), o3(0xE9,0x80,0x83), - o3(0xE9,0x80,0x8F), o3(0xE9,0x90,0x99), - o3(0xE9,0x99,0xB6), o3(0xE9,0xA0,0xAD), - o3(0xE9,0xA8,0xB0), o3(0xE9,0x97,0x98), - o3(0xE5,0x83,0x8D), o3(0xE5,0x8B,0x95), - o3(0xE5,0x90,0x8C), o3(0xE5,0xA0,0x82), - o3(0xE5,0xB0,0x8E), o3(0xE6,0x86,0xA7), - o3(0xE6,0x92,0x9E), o3(0xE6,0xB4,0x9E), - o3(0xE7,0x9E,0xB3), o3(0xE7,0xAB,0xA5), - o3(0xE8,0x83,0xB4), o3(0xE8,0x90,0x84), - o3(0xE9,0x81,0x93), o3(0xE9,0x8A,0x85), - o3(0xE5,0xB3,0xA0), o3(0xE9,0xB4,0x87), - o3(0xE5,0x8C,0xBF), o3(0xE5,0xBE,0x97), - o3(0xE5,0xBE,0xB3), o3(0xE6,0xB6,0x9C), - o3(0xE7,0x89,0xB9), o3(0xE7,0x9D,0xA3), - o3(0xE7,0xA6,0xBF), o3(0xE7,0xAF,0xA4), - o3(0xE6,0xAF,0x92), o3(0xE7,0x8B,0xAC), - o3(0xE8,0xAA,0xAD), o3(0xE6,0xA0,0x83), - o3(0xE6,0xA9,0xA1), o3(0xE5,0x87,0xB8), - o3(0xE7,0xAA,0x81), o3(0xE6,0xA4,0xB4), - o3(0xE5,0xB1,0x8A), o3(0xE9,0xB3,0xB6), - o3(0xE8,0x8B,0xAB), o3(0xE5,0xAF,0x85), - o3(0xE9,0x85,0x89), o3(0xE7,0x80,0x9E), - o3(0xE5,0x99,0xB8), o3(0xE5,0xB1,0xAF), - o3(0xE6,0x83,0x87), o3(0xE6,0x95,0xA6), - o3(0xE6,0xB2,0x8C), o3(0xE8,0xB1,0x9A), - o3(0xE9,0x81,0x81), o3(0xE9,0xA0,0x93), - o3(0xE5,0x91,0x91), o3(0xE6,0x9B,0x87), - o3(0xE9,0x88,0x8D), o3(0xE5,0xA5,0x88), - o3(0xE9,0x82,0xA3), o3(0xE5,0x86,0x85), - o3(0xE4,0xB9,0x8D), o3(0xE5,0x87,0xAA), - o3(0xE8,0x96,0x99), o3(0xE8,0xAC,0x8E), - o3(0xE7,0x81,0x98), o3(0xE6,0x8D,0xBA), - o3(0xE9,0x8D,0x8B), o3(0xE6,0xA5,0xA2), - o3(0xE9,0xA6,0xB4), o3(0xE7,0xB8,0x84), - o3(0xE7,0x95,0xB7), o3(0xE5,0x8D,0x97), - o3(0xE6,0xA5,0xA0), o3(0xE8,0xBB,0x9F), - o3(0xE9,0x9B,0xA3), o3(0xE6,0xB1,0x9D), - o3(0xE4,0xBA,0x8C), o3(0xE5,0xB0,0xBC), - o3(0xE5,0xBC,0x90), o3(0xE8,0xBF,0xA9), - o3(0xE5,0x8C,0x82), o3(0xE8,0xB3,0x91), - o3(0xE8,0x82,0x89), o3(0xE8,0x99,0xB9), - o3(0xE5,0xBB,0xBF), o3(0xE6,0x97,0xA5), - o3(0xE4,0xB9,0xB3), o3(0xE5,0x85,0xA5), - UNDEF, -}; -static const BYTE_LOOKUP -from_EUC_JP_C6 = { - from_EUC_JP_A1_offsets, - from_EUC_JP_C6_infos -}; - -static const struct byte_lookup* const -from_EUC_JP_C7_infos[95] = { - o3(0xE5,0xA6,0x82), o3(0xE5,0xB0,0xBF), - o3(0xE9,0x9F,0xAE), o3(0xE4,0xBB,0xBB), - o3(0xE5,0xA6,0x8A), o3(0xE5,0xBF,0x8D), - o3(0xE8,0xAA,0x8D), o3(0xE6,0xBF,0xA1), - o3(0xE7,0xA6,0xB0), o3(0xE7,0xA5,0xA2), - o3(0xE5,0xAF,0xA7), o3(0xE8,0x91,0xB1), - o3(0xE7,0x8C,0xAB), o3(0xE7,0x86,0xB1), - o3(0xE5,0xB9,0xB4), o3(0xE5,0xBF,0xB5), - o3(0xE6,0x8D,0xBB), o3(0xE6,0x92,0x9A), - o3(0xE7,0x87,0x83), o3(0xE7,0xB2,0x98), - o3(0xE4,0xB9,0x83), o3(0xE5,0xBB,0xBC), - o3(0xE4,0xB9,0x8B), o3(0xE5,0x9F,0x9C), - o3(0xE5,0x9A,0xA2), o3(0xE6,0x82,0xA9), - o3(0xE6,0xBF,0x83), o3(0xE7,0xB4,0x8D), - o3(0xE8,0x83,0xBD), o3(0xE8,0x84,0xB3), - o3(0xE8,0x86,0xBF), o3(0xE8,0xBE,0xB2), - o3(0xE8,0xA6,0x97), o3(0xE8,0x9A,0xA4), - o3(0xE5,0xB7,0xB4), o3(0xE6,0x8A,0x8A), - o3(0xE6,0x92,0xAD), o3(0xE8,0xA6,0x87), - o3(0xE6,0x9D,0xB7), o3(0xE6,0xB3,0xA2), - o3(0xE6,0xB4,0xBE), o3(0xE7,0x90,0xB6), - o3(0xE7,0xA0,0xB4), o3(0xE5,0xA9,0x86), - o3(0xE7,0xBD,0xB5), o3(0xE8,0x8A,0xAD), - o3(0xE9,0xA6,0xAC), o3(0xE4,0xBF,0xB3), - o3(0xE5,0xBB,0x83), o3(0xE6,0x8B,0x9D), - o3(0xE6,0x8E,0x92), o3(0xE6,0x95,0x97), - o3(0xE6,0x9D,0xAF), o3(0xE7,0x9B,0x83), - o3(0xE7,0x89,0x8C), o3(0xE8,0x83,0x8C), - o3(0xE8,0x82,0xBA), o3(0xE8,0xBC,0xA9), - o3(0xE9,0x85,0x8D), o3(0xE5,0x80,0x8D), - o3(0xE5,0x9F,0xB9), o3(0xE5,0xAA,0x92), - o3(0xE6,0xA2,0x85), o3(0xE6,0xA5,0xB3), - o3(0xE7,0x85,0xA4), o3(0xE7,0x8B,0xBD), - o3(0xE8,0xB2,0xB7), o3(0xE5,0xA3,0xB2), - o3(0xE8,0xB3,0xA0), o3(0xE9,0x99,0xAA), - o3(0xE9,0x80,0x99), o3(0xE8,0x9D,0xBF), - o3(0xE7,0xA7,0xA4), o3(0xE7,0x9F,0xA7), - o3(0xE8,0x90,0xA9), o3(0xE4,0xBC,0xAF), - o3(0xE5,0x89,0xA5), o3(0xE5,0x8D,0x9A), - o3(0xE6,0x8B,0x8D), o3(0xE6,0x9F,0x8F), - o3(0xE6,0xB3,0x8A), o3(0xE7,0x99,0xBD), - o3(0xE7,0xAE,0x94), o3(0xE7,0xB2,0x95), - o3(0xE8,0x88,0xB6), o3(0xE8,0x96,0x84), - o3(0xE8,0xBF,0xAB), o3(0xE6,0x9B,0x9D), - o3(0xE6,0xBC,0xA0), o3(0xE7,0x88,0x86), - o3(0xE7,0xB8,0x9B), o3(0xE8,0x8E,0xAB), - o3(0xE9,0xA7,0x81), o3(0xE9,0xBA,0xA6), - UNDEF, -}; -static const BYTE_LOOKUP -from_EUC_JP_C7 = { - from_EUC_JP_A1_offsets, - from_EUC_JP_C7_infos -}; - -static const struct byte_lookup* const -from_EUC_JP_C8_infos[95] = { - o3(0xE5,0x87,0xBD), o3(0xE7,0xAE,0xB1), - o3(0xE7,0xA1,0xB2), o3(0xE7,0xAE,0xB8), - o3(0xE8,0x82,0x87), o3(0xE7,0xAD,0x88), - o3(0xE6,0xAB,0xA8), o3(0xE5,0xB9,0xA1), - o3(0xE8,0x82,0x8C), o3(0xE7,0x95,0x91), - o3(0xE7,0x95,0xA0), o3(0xE5,0x85,0xAB), - o3(0xE9,0x89,0xA2), o3(0xE6,0xBA,0x8C), - o3(0xE7,0x99,0xBA), o3(0xE9,0x86,0x97), - o3(0xE9,0xAB,0xAA), o3(0xE4,0xBC,0x90), - o3(0xE7,0xBD,0xB0), o3(0xE6,0x8A,0x9C), - o3(0xE7,0xAD,0x8F), o3(0xE9,0x96,0xA5), - o3(0xE9,0xB3,0xA9), o3(0xE5,0x99,0xBA), - o3(0xE5,0xA1,0x99), o3(0xE8,0x9B,0xA4), - o3(0xE9,0x9A,0xBC), o3(0xE4,0xBC,0xB4), - o3(0xE5,0x88,0xA4), o3(0xE5,0x8D,0x8A), - o3(0xE5,0x8F,0x8D), o3(0xE5,0x8F,0x9B), - o3(0xE5,0xB8,0x86), o3(0xE6,0x90,0xAC), - o3(0xE6,0x96,0x91), o3(0xE6,0x9D,0xBF), - o3(0xE6,0xB0,0xBE), o3(0xE6,0xB1,0x8E), - o3(0xE7,0x89,0x88), o3(0xE7,0x8A,0xAF), - o3(0xE7,0x8F,0xAD), o3(0xE7,0x95,0x94), - o3(0xE7,0xB9,0x81), o3(0xE8,0x88,0xAC), - o3(0xE8,0x97,0xA9), o3(0xE8,0xB2,0xA9), - o3(0xE7,0xAF,0x84), o3(0xE9,0x87,0x86), - o3(0xE7,0x85,0xA9), o3(0xE9,0xA0,0x92), - o3(0xE9,0xA3,0xAF), o3(0xE6,0x8C,0xBD), - o3(0xE6,0x99,0xA9), o3(0xE7,0x95,0xAA), - o3(0xE7,0x9B,0xA4), o3(0xE7,0xA3,0x90), - o3(0xE8,0x95,0x83), o3(0xE8,0x9B,0xAE), - o3(0xE5,0x8C,0xAA), o3(0xE5,0x8D,0x91), - o3(0xE5,0x90,0xA6), o3(0xE5,0xA6,0x83), - o3(0xE5,0xBA,0x87), o3(0xE5,0xBD,0xBC), - o3(0xE6,0x82,0xB2), o3(0xE6,0x89,0x89), - o3(0xE6,0x89,0xB9), o3(0xE6,0x8A,0xAB), - o3(0xE6,0x96,0x90), o3(0xE6,0xAF,0x94), - o3(0xE6,0xB3,0x8C), o3(0xE7,0x96,0xB2), - o3(0xE7,0x9A,0xAE), o3(0xE7,0xA2,0x91), - o3(0xE7,0xA7,0x98), o3(0xE7,0xB7,0x8B), - o3(0xE7,0xBD,0xB7), o3(0xE8,0x82,0xA5), - o3(0xE8,0xA2,0xAB), o3(0xE8,0xAA,0xB9), - o3(0xE8,0xB2,0xBB), o3(0xE9,0x81,0xBF), - o3(0xE9,0x9D,0x9E), o3(0xE9,0xA3,0x9B), - o3(0xE6,0xA8,0x8B), o3(0xE7,0xB0,0xB8), - o3(0xE5,0x82,0x99), o3(0xE5,0xB0,0xBE), - o3(0xE5,0xBE,0xAE), o3(0xE6,0x9E,0x87), - o3(0xE6,0xAF,0x98), o3(0xE7,0x90,0xB5), - o3(0xE7,0x9C,0x89), o3(0xE7,0xBE,0x8E), - UNDEF, -}; -static const BYTE_LOOKUP -from_EUC_JP_C8 = { - from_EUC_JP_A1_offsets, - from_EUC_JP_C8_infos -}; - -static const struct byte_lookup* const -from_EUC_JP_C9_infos[95] = { - o3(0xE9,0xBC,0xBB), o3(0xE6,0x9F,0x8A), - o3(0xE7,0xA8,0x97), o3(0xE5,0x8C,0xB9), - o3(0xE7,0x96,0x8B), o3(0xE9,0xAB,0xAD), - o3(0xE5,0xBD,0xA6), o3(0xE8,0x86,0x9D), - o3(0xE8,0x8F,0xB1), o3(0xE8,0x82,0x98), - o3(0xE5,0xBC,0xBC), o3(0xE5,0xBF,0x85), - o3(0xE7,0x95,0xA2), o3(0xE7,0xAD,0x86), - o3(0xE9,0x80,0xBC), o3(0xE6,0xA1,0xA7), - o3(0xE5,0xA7,0xAB), o3(0xE5,0xAA,0x9B), - o3(0xE7,0xB4,0x90), o3(0xE7,0x99,0xBE), - o3(0xE8,0xAC,0xAC), o3(0xE4,0xBF,0xB5), - o3(0xE5,0xBD,0xAA), o3(0xE6,0xA8,0x99), - o3(0xE6,0xB0,0xB7), o3(0xE6,0xBC,0x82), - o3(0xE7,0x93,0xA2), o3(0xE7,0xA5,0xA8), - o3(0xE8,0xA1,0xA8), o3(0xE8,0xA9,0x95), - o3(0xE8,0xB1,0xB9), o3(0xE5,0xBB,0x9F), - o3(0xE6,0x8F,0x8F), o3(0xE7,0x97,0x85), - o3(0xE7,0xA7,0x92), o3(0xE8,0x8B,0x97), - o3(0xE9,0x8C,0xA8), o3(0xE9,0x8B,0xB2), - o3(0xE8,0x92,0x9C), o3(0xE8,0x9B,0xAD), - o3(0xE9,0xB0,0xAD), o3(0xE5,0x93,0x81), - o3(0xE5,0xBD,0xAC), o3(0xE6,0x96,0x8C), - o3(0xE6,0xB5,0x9C), o3(0xE7,0x80,0x95), - o3(0xE8,0xB2,0xA7), o3(0xE8,0xB3,0x93), - o3(0xE9,0xA0,0xBB), o3(0xE6,0x95,0x8F), - o3(0xE7,0x93,0xB6), o3(0xE4,0xB8,0x8D), - o3(0xE4,0xBB,0x98), o3(0xE5,0x9F,0xA0), - o3(0xE5,0xA4,0xAB), o3(0xE5,0xA9,0xA6), - o3(0xE5,0xAF,0x8C), o3(0xE5,0x86,0xA8), - o3(0xE5,0xB8,0x83), o3(0xE5,0xBA,0x9C), - o3(0xE6,0x80,0x96), o3(0xE6,0x89,0xB6), - o3(0xE6,0x95,0xB7), o3(0xE6,0x96,0xA7), - o3(0xE6,0x99,0xAE), o3(0xE6,0xB5,0xAE), - o3(0xE7,0x88,0xB6), o3(0xE7,0xAC,0xA6), - o3(0xE8,0x85,0x90), o3(0xE8,0x86,0x9A), - o3(0xE8,0x8A,0x99), o3(0xE8,0xAD,0x9C), - o3(0xE8,0xB2,0xA0), o3(0xE8,0xB3,0xA6), - o3(0xE8,0xB5,0xB4), o3(0xE9,0x98,0x9C), - o3(0xE9,0x99,0x84), o3(0xE4,0xBE,0xAE), - o3(0xE6,0x92,0xAB), o3(0xE6,0xAD,0xA6), - o3(0xE8,0x88,0x9E), o3(0xE8,0x91,0xA1), - o3(0xE8,0x95,0xAA), o3(0xE9,0x83,0xA8), - o3(0xE5,0xB0,0x81), o3(0xE6,0xA5,0x93), - o3(0xE9,0xA2,0xA8), o3(0xE8,0x91,0xBA), - o3(0xE8,0x95,0x97), o3(0xE4,0xBC,0x8F), - o3(0xE5,0x89,0xAF), o3(0xE5,0xBE,0xA9), - o3(0xE5,0xB9,0x85), o3(0xE6,0x9C,0x8D), - UNDEF, -}; -static const BYTE_LOOKUP -from_EUC_JP_C9 = { - from_EUC_JP_A1_offsets, - from_EUC_JP_C9_infos -}; - -static const struct byte_lookup* const -from_EUC_JP_CA_infos[95] = { - o3(0xE7,0xA6,0x8F), o3(0xE8,0x85,0xB9), - o3(0xE8,0xA4,0x87), o3(0xE8,0xA6,0x86), - o3(0xE6,0xB7,0xB5), o3(0xE5,0xBC,0x97), - o3(0xE6,0x89,0x95), o3(0xE6,0xB2,0xB8), - o3(0xE4,0xBB,0x8F), o3(0xE7,0x89,0xA9), - o3(0xE9,0xAE,0x92), o3(0xE5,0x88,0x86), - o3(0xE5,0x90,0xBB), o3(0xE5,0x99,0xB4), - o3(0xE5,0xA2,0xB3), o3(0xE6,0x86,0xA4), - o3(0xE6,0x89,0xAE), o3(0xE7,0x84,0x9A), - o3(0xE5,0xA5,0xAE), o3(0xE7,0xB2,0x89), - o3(0xE7,0xB3,0x9E), o3(0xE7,0xB4,0x9B), - o3(0xE9,0x9B,0xB0), o3(0xE6,0x96,0x87), - o3(0xE8,0x81,0x9E), o3(0xE4,0xB8,0x99), - o3(0xE4,0xBD,0xB5), o3(0xE5,0x85,0xB5), - o3(0xE5,0xA1,0x80), o3(0xE5,0xB9,0xA3), - o3(0xE5,0xB9,0xB3), o3(0xE5,0xBC,0x8A), - o3(0xE6,0x9F,0x84), o3(0xE4,0xB8,0xA6), - o3(0xE8,0x94,0xBD), o3(0xE9,0x96,0x89), - o3(0xE9,0x99,0x9B), o3(0xE7,0xB1,0xB3), - o3(0xE9,0xA0,0x81), o3(0xE5,0x83,0xBB), - o3(0xE5,0xA3,0x81), o3(0xE7,0x99,0x96), - o3(0xE7,0xA2,0xA7), o3(0xE5,0x88,0xA5), - o3(0xE7,0x9E,0xA5), o3(0xE8,0x94,0x91), - o3(0xE7,0xAE,0x86), o3(0xE5,0x81,0x8F), - o3(0xE5,0xA4,0x89), o3(0xE7,0x89,0x87), - o3(0xE7,0xAF,0x87), o3(0xE7,0xB7,0xA8), - o3(0xE8,0xBE,0xBA), o3(0xE8,0xBF,0x94), - o3(0xE9,0x81,0x8D), o3(0xE4,0xBE,0xBF), - o3(0xE5,0x8B,0x89), o3(0xE5,0xA8,0xA9), - o3(0xE5,0xBC,0x81), o3(0xE9,0x9E,0xAD), - o3(0xE4,0xBF,0x9D), o3(0xE8,0x88,0x97), - o3(0xE9,0x8B,0xAA), o3(0xE5,0x9C,0x83), - o3(0xE6,0x8D,0x95), o3(0xE6,0xAD,0xA9), - o3(0xE7,0x94,0xAB), o3(0xE8,0xA3,0x9C), - o3(0xE8,0xBC,0x94), o3(0xE7,0xA9,0x82), - o3(0xE5,0x8B,0x9F), o3(0xE5,0xA2,0x93), - o3(0xE6,0x85,0x95), o3(0xE6,0x88,0x8A), - o3(0xE6,0x9A,0xAE), o3(0xE6,0xAF,0x8D), - o3(0xE7,0xB0,0xBF), o3(0xE8,0x8F,0xA9), - o3(0xE5,0x80,0xA3), o3(0xE4,0xBF,0xB8), - o3(0xE5,0x8C,0x85), o3(0xE5,0x91,0x86), - o3(0xE5,0xA0,0xB1), o3(0xE5,0xA5,0x89), - o3(0xE5,0xAE,0x9D), o3(0xE5,0xB3,0xB0), - o3(0xE5,0xB3,0xAF), o3(0xE5,0xB4,0xA9), - o3(0xE5,0xBA,0x96), o3(0xE6,0x8A,0xB1), - o3(0xE6,0x8D,0xA7), o3(0xE6,0x94,0xBE), - o3(0xE6,0x96,0xB9), o3(0xE6,0x9C,0x8B), - UNDEF, -}; -static const BYTE_LOOKUP -from_EUC_JP_CA = { - from_EUC_JP_A1_offsets, - from_EUC_JP_CA_infos -}; - -static const struct byte_lookup* const -from_EUC_JP_CB_infos[95] = { - o3(0xE6,0xB3,0x95), o3(0xE6,0xB3,0xA1), - o3(0xE7,0x83,0xB9), o3(0xE7,0xA0,0xB2), - o3(0xE7,0xB8,0xAB), o3(0xE8,0x83,0x9E), - o3(0xE8,0x8A,0xB3), o3(0xE8,0x90,0x8C), - o3(0xE8,0x93,0xAC), o3(0xE8,0x9C,0x82), - o3(0xE8,0xA4,0x92), o3(0xE8,0xA8,0xAA), - o3(0xE8,0xB1,0x8A), o3(0xE9,0x82,0xA6), - o3(0xE9,0x8B,0x92), o3(0xE9,0xA3,0xBD), - o3(0xE9,0xB3,0xB3), o3(0xE9,0xB5,0xAC), - o3(0xE4,0xB9,0x8F), o3(0xE4,0xBA,0xA1), - o3(0xE5,0x82,0x8D), o3(0xE5,0x89,0x96), - o3(0xE5,0x9D,0x8A), o3(0xE5,0xA6,0xA8), - o3(0xE5,0xB8,0xBD), o3(0xE5,0xBF,0x98), - o3(0xE5,0xBF,0x99), o3(0xE6,0x88,0xBF), - o3(0xE6,0x9A,0xB4), o3(0xE6,0x9C,0x9B), - o3(0xE6,0x9F,0x90), o3(0xE6,0xA3,0x92), - o3(0xE5,0x86,0x92), o3(0xE7,0xB4,0xA1), - o3(0xE8,0x82,0xAA), o3(0xE8,0x86,0xA8), - o3(0xE8,0xAC,0x80), o3(0xE8,0xB2,0x8C), - o3(0xE8,0xB2,0xBF), o3(0xE9,0x89,0xBE), - o3(0xE9,0x98,0xB2), o3(0xE5,0x90,0xA0), - o3(0xE9,0xA0,0xAC), o3(0xE5,0x8C,0x97), - o3(0xE5,0x83,0x95), o3(0xE5,0x8D,0x9C), - o3(0xE5,0xA2,0xA8), o3(0xE6,0x92,0xB2), - o3(0xE6,0x9C,0xB4), o3(0xE7,0x89,0xA7), - o3(0xE7,0x9D,0xA6), o3(0xE7,0xA9,0x86), - o3(0xE9,0x87,0xA6), o3(0xE5,0x8B,0x83), - o3(0xE6,0xB2,0xA1), o3(0xE6,0xAE,0x86), - o3(0xE5,0xA0,0x80), o3(0xE5,0xB9,0x8C), - o3(0xE5,0xA5,0x94), o3(0xE6,0x9C,0xAC), - o3(0xE7,0xBF,0xBB), o3(0xE5,0x87,0xA1), - o3(0xE7,0x9B,0x86), o3(0xE6,0x91,0xA9), - o3(0xE7,0xA3,0xA8), o3(0xE9,0xAD,0x94), - o3(0xE9,0xBA,0xBB), o3(0xE5,0x9F,0x8B), - o3(0xE5,0xA6,0xB9), o3(0xE6,0x98,0xA7), - o3(0xE6,0x9E,0x9A), o3(0xE6,0xAF,0x8E), - o3(0xE5,0x93,0xA9), o3(0xE6,0xA7,0x99), - o3(0xE5,0xB9,0x95), o3(0xE8,0x86,0x9C), - o3(0xE6,0x9E,0x95), o3(0xE9,0xAE,0xAA), - o3(0xE6,0x9F,0xBE), o3(0xE9,0xB1,0x92), - o3(0xE6,0xA1,0x9D), o3(0xE4,0xBA,0xA6), - o3(0xE4,0xBF,0xA3), o3(0xE5,0x8F,0x88), - o3(0xE6,0x8A,0xB9), o3(0xE6,0x9C,0xAB), - o3(0xE6,0xB2,0xAB), o3(0xE8,0xBF,0x84), - o3(0xE4,0xBE,0xAD), o3(0xE7,0xB9,0xAD), - o3(0xE9,0xBA,0xBF), o3(0xE4,0xB8,0x87), - o3(0xE6,0x85,0xA2), o3(0xE6,0xBA,0x80), - UNDEF, -}; -static const BYTE_LOOKUP -from_EUC_JP_CB = { - from_EUC_JP_A1_offsets, - from_EUC_JP_CB_infos -}; - -static const struct byte_lookup* const -from_EUC_JP_CC_infos[95] = { - o3(0xE6,0xBC,0xAB), o3(0xE8,0x94,0x93), - o3(0xE5,0x91,0xB3), o3(0xE6,0x9C,0xAA), - o3(0xE9,0xAD,0x85), o3(0xE5,0xB7,0xB3), - o3(0xE7,0xAE,0x95), o3(0xE5,0xB2,0xAC), - o3(0xE5,0xAF,0x86), o3(0xE8,0x9C,0x9C), - o3(0xE6,0xB9,0x8A), o3(0xE8,0x93,0x91), - o3(0xE7,0xA8,0x94), o3(0xE8,0x84,0x88), - o3(0xE5,0xA6,0x99), o3(0xE7,0xB2,0x8D), - o3(0xE6,0xB0,0x91), o3(0xE7,0x9C,0xA0), - o3(0xE5,0x8B,0x99), o3(0xE5,0xA4,0xA2), - o3(0xE7,0x84,0xA1), o3(0xE7,0x89,0x9F), - o3(0xE7,0x9F,0x9B), o3(0xE9,0x9C,0xA7), - o3(0xE9,0xB5,0xA1), o3(0xE6,0xA4,0x8B), - o3(0xE5,0xA9,0xBF), o3(0xE5,0xA8,0x98), - o3(0xE5,0x86,0xA5), o3(0xE5,0x90,0x8D), - o3(0xE5,0x91,0xBD), o3(0xE6,0x98,0x8E), - o3(0xE7,0x9B,0x9F), o3(0xE8,0xBF,0xB7), - o3(0xE9,0x8A,0x98), o3(0xE9,0xB3,0xB4), - o3(0xE5,0xA7,0xAA), o3(0xE7,0x89,0x9D), - o3(0xE6,0xBB,0x85), o3(0xE5,0x85,0x8D), - o3(0xE6,0xA3,0x89), o3(0xE7,0xB6,0xBF), - o3(0xE7,0xB7,0xAC), o3(0xE9,0x9D,0xA2), - o3(0xE9,0xBA,0xBA), o3(0xE6,0x91,0xB8), - o3(0xE6,0xA8,0xA1), o3(0xE8,0x8C,0x82), - o3(0xE5,0xA6,0x84), o3(0xE5,0xAD,0x9F), - o3(0xE6,0xAF,0x9B), o3(0xE7,0x8C,0x9B), - o3(0xE7,0x9B,0xB2), o3(0xE7,0xB6,0xB2), - o3(0xE8,0x80,0x97), o3(0xE8,0x92,0x99), - o3(0xE5,0x84,0xB2), o3(0xE6,0x9C,0xA8), - o3(0xE9,0xBB,0x99), o3(0xE7,0x9B,0xAE), - o3(0xE6,0x9D,0xA2), o3(0xE5,0x8B,0xBF), - o3(0xE9,0xA4,0x85), o3(0xE5,0xB0,0xA4), - o3(0xE6,0x88,0xBB), o3(0xE7,0xB1,0xBE), - o3(0xE8,0xB2,0xB0), o3(0xE5,0x95,0x8F), - o3(0xE6,0x82,0xB6), o3(0xE7,0xB4,0x8B), - o3(0xE9,0x96,0x80), o3(0xE5,0x8C,0x81), - o3(0xE4,0xB9,0x9F), o3(0xE5,0x86,0xB6), - o3(0xE5,0xA4,0x9C), o3(0xE7,0x88,0xBA), - o3(0xE8,0x80,0xB6), o3(0xE9,0x87,0x8E), - o3(0xE5,0xBC,0xA5), o3(0xE7,0x9F,0xA2), - o3(0xE5,0x8E,0x84), o3(0xE5,0xBD,0xB9), - o3(0xE7,0xB4,0x84), o3(0xE8,0x96,0xAC), - o3(0xE8,0xA8,0xB3), o3(0xE8,0xBA,0x8D), - o3(0xE9,0x9D,0x96), o3(0xE6,0x9F,0xB3), - o3(0xE8,0x96,0xAE), o3(0xE9,0x91,0x93), - o3(0xE6,0x84,0x89), o3(0xE6,0x84,0x88), - o3(0xE6,0xB2,0xB9), o3(0xE7,0x99,0x92), - UNDEF, -}; -static const BYTE_LOOKUP -from_EUC_JP_CC = { - from_EUC_JP_A1_offsets, - from_EUC_JP_CC_infos -}; - -static const struct byte_lookup* const -from_EUC_JP_CD_infos[95] = { - o3(0xE8,0xAB,0xAD), o3(0xE8,0xBC,0xB8), - o3(0xE5,0x94,0xAF), o3(0xE4,0xBD,0x91), - o3(0xE5,0x84,0xAA), o3(0xE5,0x8B,0x87), - o3(0xE5,0x8F,0x8B), o3(0xE5,0xAE,0xA5), - o3(0xE5,0xB9,0xBD), o3(0xE6,0x82,0xA0), - o3(0xE6,0x86,0x82), o3(0xE6,0x8F,0x96), - o3(0xE6,0x9C,0x89), o3(0xE6,0x9F,0x9A), - o3(0xE6,0xB9,0xA7), o3(0xE6,0xB6,0x8C), - o3(0xE7,0x8C,0xB6), o3(0xE7,0x8C,0xB7), - o3(0xE7,0x94,0xB1), o3(0xE7,0xA5,0x90), - o3(0xE8,0xA3,0x95), o3(0xE8,0xAA,0x98), - o3(0xE9,0x81,0x8A), o3(0xE9,0x82,0x91), - o3(0xE9,0x83,0xB5), o3(0xE9,0x9B,0x84), - o3(0xE8,0x9E,0x8D), o3(0xE5,0xA4,0x95), - o3(0xE4,0xBA,0x88), o3(0xE4,0xBD,0x99), - o3(0xE4,0xB8,0x8E), o3(0xE8,0xAA,0x89), - o3(0xE8,0xBC,0xBF), o3(0xE9,0xA0,0x90), - o3(0xE5,0x82,0xAD), o3(0xE5,0xB9,0xBC), - o3(0xE5,0xA6,0x96), o3(0xE5,0xAE,0xB9), - o3(0xE5,0xBA,0xB8), o3(0xE6,0x8F,0x9A), - o3(0xE6,0x8F,0xBA), o3(0xE6,0x93,0x81), - o3(0xE6,0x9B,0x9C), o3(0xE6,0xA5,0x8A), - o3(0xE6,0xA7,0x98), o3(0xE6,0xB4,0x8B), - o3(0xE6,0xBA,0xB6), o3(0xE7,0x86,0x94), - o3(0xE7,0x94,0xA8), o3(0xE7,0xAA,0xAF), - o3(0xE7,0xBE,0x8A), o3(0xE8,0x80,0x80), - o3(0xE8,0x91,0x89), o3(0xE8,0x93,0x89), - o3(0xE8,0xA6,0x81), o3(0xE8,0xAC,0xA1), - o3(0xE8,0xB8,0x8A), o3(0xE9,0x81,0xA5), - o3(0xE9,0x99,0xBD), o3(0xE9,0xA4,0x8A), - o3(0xE6,0x85,0xBE), o3(0xE6,0x8A,0x91), - o3(0xE6,0xAC,0xB2), o3(0xE6,0xB2,0x83), - o3(0xE6,0xB5,0xB4), o3(0xE7,0xBF,0x8C), - o3(0xE7,0xBF,0xBC), o3(0xE6,0xB7,0x80), - o3(0xE7,0xBE,0x85), o3(0xE8,0x9E,0xBA), - o3(0xE8,0xA3,0xB8), o3(0xE6,0x9D,0xA5), - o3(0xE8,0x8E,0xB1), o3(0xE9,0xA0,0xBC), - o3(0xE9,0x9B,0xB7), o3(0xE6,0xB4,0x9B), - o3(0xE7,0xB5,0xA1), o3(0xE8,0x90,0xBD), - o3(0xE9,0x85,0xAA), o3(0xE4,0xB9,0xB1), - o3(0xE5,0x8D,0xB5), o3(0xE5,0xB5,0x90), - o3(0xE6,0xAC,0x84), o3(0xE6,0xBF,0xAB), - o3(0xE8,0x97,0x8D), o3(0xE8,0x98,0xAD), - o3(0xE8,0xA6,0xA7), o3(0xE5,0x88,0xA9), - o3(0xE5,0x90,0x8F), o3(0xE5,0xB1,0xA5), - o3(0xE6,0x9D,0x8E), o3(0xE6,0xA2,0xA8), - o3(0xE7,0x90,0x86), o3(0xE7,0x92,0x83), - UNDEF, -}; -static const BYTE_LOOKUP -from_EUC_JP_CD = { - from_EUC_JP_A1_offsets, - from_EUC_JP_CD_infos -}; - -static const struct byte_lookup* const -from_EUC_JP_CE_infos[95] = { - o3(0xE7,0x97,0xA2), o3(0xE8,0xA3,0x8F), - o3(0xE8,0xA3,0xA1), o3(0xE9,0x87,0x8C), - o3(0xE9,0x9B,0xA2), o3(0xE9,0x99,0xB8), - o3(0xE5,0xBE,0x8B), o3(0xE7,0x8E,0x87), - o3(0xE7,0xAB,0x8B), o3(0xE8,0x91,0x8E), - o3(0xE6,0x8E,0xA0), o3(0xE7,0x95,0xA5), - o3(0xE5,0x8A,0x89), o3(0xE6,0xB5,0x81), - o3(0xE6,0xBA,0x9C), o3(0xE7,0x90,0x89), - o3(0xE7,0x95,0x99), o3(0xE7,0xA1,0xAB), - o3(0xE7,0xB2,0x92), o3(0xE9,0x9A,0x86), - o3(0xE7,0xAB,0x9C), o3(0xE9,0xBE,0x8D), - o3(0xE4,0xBE,0xB6), o3(0xE6,0x85,0xAE), - o3(0xE6,0x97,0x85), o3(0xE8,0x99,0x9C), - o3(0xE4,0xBA,0x86), o3(0xE4,0xBA,0xAE), - o3(0xE5,0x83,0x9A), o3(0xE4,0xB8,0xA1), - o3(0xE5,0x87,0x8C), o3(0xE5,0xAF,0xAE), - o3(0xE6,0x96,0x99), o3(0xE6,0xA2,0x81), - o3(0xE6,0xB6,0xBC), o3(0xE7,0x8C,0x9F), - o3(0xE7,0x99,0x82), o3(0xE7,0x9E,0xAD), - o3(0xE7,0xA8,0x9C), o3(0xE7,0xB3,0xA7), - o3(0xE8,0x89,0xAF), o3(0xE8,0xAB,0x92), - o3(0xE9,0x81,0xBC), o3(0xE9,0x87,0x8F), - o3(0xE9,0x99,0xB5), o3(0xE9,0xA0,0x98), - o3(0xE5,0x8A,0x9B), o3(0xE7,0xB7,0x91), - o3(0xE5,0x80,0xAB), o3(0xE5,0x8E,0x98), - o3(0xE6,0x9E,0x97), o3(0xE6,0xB7,0x8B), - o3(0xE7,0x87,0x90), o3(0xE7,0x90,0xB3), - o3(0xE8,0x87,0xA8), o3(0xE8,0xBC,0xAA), - o3(0xE9,0x9A,0xA3), o3(0xE9,0xB1,0x97), - o3(0xE9,0xBA,0x9F), o3(0xE7,0x91,0xA0), - o3(0xE5,0xA1,0x81), o3(0xE6,0xB6,0x99), - o3(0xE7,0xB4,0xAF), o3(0xE9,0xA1,0x9E), - o3(0xE4,0xBB,0xA4), o3(0xE4,0xBC,0xB6), - o3(0xE4,0xBE,0x8B), o3(0xE5,0x86,0xB7), - o3(0xE5,0x8A,0xB1), o3(0xE5,0xB6,0xBA), - o3(0xE6,0x80,0x9C), o3(0xE7,0x8E,0xB2), - o3(0xE7,0xA4,0xBC), o3(0xE8,0x8B,0x93), - o3(0xE9,0x88,0xB4), o3(0xE9,0x9A,0xB7), - o3(0xE9,0x9B,0xB6), o3(0xE9,0x9C,0x8A), - o3(0xE9,0xBA,0x97), o3(0xE9,0xBD,0xA2), - o3(0xE6,0x9A,0xA6), o3(0xE6,0xAD,0xB4), - o3(0xE5,0x88,0x97), o3(0xE5,0x8A,0xA3), - o3(0xE7,0x83,0x88), o3(0xE8,0xA3,0x82), - o3(0xE5,0xBB,0x89), o3(0xE6,0x81,0x8B), - o3(0xE6,0x86,0x90), o3(0xE6,0xBC,0xA3), - o3(0xE7,0x85,0x89), o3(0xE7,0xB0,0xBE), - o3(0xE7,0xB7,0xB4), o3(0xE8,0x81,0xAF), - UNDEF, -}; -static const BYTE_LOOKUP -from_EUC_JP_CE = { - from_EUC_JP_A1_offsets, - from_EUC_JP_CE_infos -}; - -static const unsigned char -from_EUC_JP_CF_offsets[256] = { - 51, 51, 51, 51, 51, 51, 51, 51, 51, 51, 51, 51, 51, 51, 51, 51, - 51, 51, 51, 51, 51, 51, 51, 51, 51, 51, 51, 51, 51, 51, 51, 51, - 51, 51, 51, 51, 51, 51, 51, 51, 51, 51, 51, 51, 51, 51, 51, 51, - 51, 51, 51, 51, 51, 51, 51, 51, 51, 51, 51, 51, 51, 51, 51, 51, - 51, 51, 51, 51, 51, 51, 51, 51, 51, 51, 51, 51, 51, 51, 51, 51, - 51, 51, 51, 51, 51, 51, 51, 51, 51, 51, 51, 51, 51, 51, 51, 51, - 51, 51, 51, 51, 51, 51, 51, 51, 51, 51, 51, 51, 51, 51, 51, 51, - 51, 51, 51, 51, 51, 51, 51, 51, 51, 51, 51, 51, 51, 51, 51, 51, - 51, 51, 51, 51, 51, 51, 51, 51, 51, 51, 51, 51, 51, 51, 51, 51, - 51, 51, 51, 51, 51, 51, 51, 51, 51, 51, 51, 51, 51, 51, 51, 51, - 51, 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, 51, 51, 51, 51, 51, 51, 51, 51, 51, 51, 51, - 51, 51, 51, 51, 51, 51, 51, 51, 51, 51, 51, 51, 51, 51, 51, 51, - 51, 51, 51, 51, 51, 51, 51, 51, 51, 51, 51, 51, 51, 51, 51, 51, -}; -static const struct byte_lookup* const -from_EUC_JP_CF_infos[52] = { - o3(0xE8,0x93,0xAE), o3(0xE9,0x80,0xA3), - o3(0xE9,0x8C,0xAC), o3(0xE5,0x91,0x82), - o3(0xE9,0xAD,0xAF), o3(0xE6,0xAB,0x93), - o3(0xE7,0x82,0x89), o3(0xE8,0xB3,0x82), - o3(0xE8,0xB7,0xAF), o3(0xE9,0x9C,0xB2), - o3(0xE5,0x8A,0xB4), o3(0xE5,0xA9,0x81), - o3(0xE5,0xBB,0x8A), o3(0xE5,0xBC,0x84), - o3(0xE6,0x9C,0x97), o3(0xE6,0xA5,0xBC), - o3(0xE6,0xA6,0x94), o3(0xE6,0xB5,0xAA), - o3(0xE6,0xBC,0x8F), o3(0xE7,0x89,0xA2), - o3(0xE7,0x8B,0xBC), o3(0xE7,0xAF,0xAD), - o3(0xE8,0x80,0x81), o3(0xE8,0x81,0xBE), - o3(0xE8,0x9D,0x8B), o3(0xE9,0x83,0x8E), - o3(0xE5,0x85,0xAD), o3(0xE9,0xBA,0x93), - o3(0xE7,0xA6,0x84), o3(0xE8,0x82,0x8B), - o3(0xE9,0x8C,0xB2), o3(0xE8,0xAB,0x96), - o3(0xE5,0x80,0xAD), o3(0xE5,0x92,0x8C), - o3(0xE8,0xA9,0xB1), o3(0xE6,0xAD,0xAA), - o3(0xE8,0xB3,0x84), o3(0xE8,0x84,0x87), - o3(0xE6,0x83,0x91), o3(0xE6,0x9E,0xA0), - o3(0xE9,0xB7,0xB2), o3(0xE4,0xBA,0x99), - o3(0xE4,0xBA,0x98), o3(0xE9,0xB0,0x90), - o3(0xE8,0xA9,0xAB), o3(0xE8,0x97,0x81), - o3(0xE8,0x95,0xA8), o3(0xE6,0xA4,0x80), - o3(0xE6,0xB9,0xBE), o3(0xE7,0xA2,0x97), - o3(0xE8,0x85,0x95), UNDEF, -}; -static const BYTE_LOOKUP -from_EUC_JP_CF = { - from_EUC_JP_CF_offsets, - from_EUC_JP_CF_infos -}; - -static const struct byte_lookup* const -from_EUC_JP_D0_infos[95] = { - o3(0xE5,0xBC,0x8C), o3(0xE4,0xB8,0x90), - o3(0xE4,0xB8,0x95), o3(0xE4,0xB8,0xAA), - o3(0xE4,0xB8,0xB1), o3(0xE4,0xB8,0xB6), - o3(0xE4,0xB8,0xBC), o3(0xE4,0xB8,0xBF), - o3(0xE4,0xB9,0x82), o3(0xE4,0xB9,0x96), - o3(0xE4,0xB9,0x98), o3(0xE4,0xBA,0x82), - o3(0xE4,0xBA,0x85), o3(0xE8,0xB1,0xAB), - o3(0xE4,0xBA,0x8A), o3(0xE8,0x88,0x92), - o3(0xE5,0xBC,0x8D), o3(0xE4,0xBA,0x8E), - o3(0xE4,0xBA,0x9E), o3(0xE4,0xBA,0x9F), - o3(0xE4,0xBA,0xA0), o3(0xE4,0xBA,0xA2), - o3(0xE4,0xBA,0xB0), o3(0xE4,0xBA,0xB3), - o3(0xE4,0xBA,0xB6), o3(0xE4,0xBB,0x8E), - o3(0xE4,0xBB,0x8D), o3(0xE4,0xBB,0x84), - o3(0xE4,0xBB,0x86), o3(0xE4,0xBB,0x82), - o3(0xE4,0xBB,0x97), o3(0xE4,0xBB,0x9E), - o3(0xE4,0xBB,0xAD), o3(0xE4,0xBB,0x9F), - o3(0xE4,0xBB,0xB7), o3(0xE4,0xBC,0x89), - o3(0xE4,0xBD,0x9A), o3(0xE4,0xBC,0xB0), - o3(0xE4,0xBD,0x9B), o3(0xE4,0xBD,0x9D), - o3(0xE4,0xBD,0x97), o3(0xE4,0xBD,0x87), - o3(0xE4,0xBD,0xB6), o3(0xE4,0xBE,0x88), - o3(0xE4,0xBE,0x8F), o3(0xE4,0xBE,0x98), - o3(0xE4,0xBD,0xBB), o3(0xE4,0xBD,0xA9), - o3(0xE4,0xBD,0xB0), o3(0xE4,0xBE,0x91), - o3(0xE4,0xBD,0xAF), o3(0xE4,0xBE,0x86), - o3(0xE4,0xBE,0x96), o3(0xE5,0x84,0x98), - o3(0xE4,0xBF,0x94), o3(0xE4,0xBF,0x9F), - o3(0xE4,0xBF,0x8E), o3(0xE4,0xBF,0x98), - o3(0xE4,0xBF,0x9B), o3(0xE4,0xBF,0x91), - o3(0xE4,0xBF,0x9A), o3(0xE4,0xBF,0x90), - o3(0xE4,0xBF,0xA4), o3(0xE4,0xBF,0xA5), - o3(0xE5,0x80,0x9A), o3(0xE5,0x80,0xA8), - o3(0xE5,0x80,0x94), o3(0xE5,0x80,0xAA), - o3(0xE5,0x80,0xA5), o3(0xE5,0x80,0x85), - o3(0xE4,0xBC,0x9C), o3(0xE4,0xBF,0xB6), - o3(0xE5,0x80,0xA1), o3(0xE5,0x80,0xA9), - o3(0xE5,0x80,0xAC), o3(0xE4,0xBF,0xBE), - o3(0xE4,0xBF,0xAF), o3(0xE5,0x80,0x91), - o3(0xE5,0x80,0x86), o3(0xE5,0x81,0x83), - o3(0xE5,0x81,0x87), o3(0xE6,0x9C,0x83), - o3(0xE5,0x81,0x95), o3(0xE5,0x81,0x90), - o3(0xE5,0x81,0x88), o3(0xE5,0x81,0x9A), - o3(0xE5,0x81,0x96), o3(0xE5,0x81,0xAC), - o3(0xE5,0x81,0xB8), o3(0xE5,0x82,0x80), - o3(0xE5,0x82,0x9A), o3(0xE5,0x82,0x85), - o3(0xE5,0x82,0xB4), o3(0xE5,0x82,0xB2), - UNDEF, -}; -static const BYTE_LOOKUP -from_EUC_JP_D0 = { - from_EUC_JP_A1_offsets, - from_EUC_JP_D0_infos -}; - -static const struct byte_lookup* const -from_EUC_JP_D1_infos[95] = { - o3(0xE5,0x83,0x89), o3(0xE5,0x83,0x8A), - o3(0xE5,0x82,0xB3), o3(0xE5,0x83,0x82), - o3(0xE5,0x83,0x96), o3(0xE5,0x83,0x9E), - o3(0xE5,0x83,0xA5), o3(0xE5,0x83,0xAD), - o3(0xE5,0x83,0xA3), o3(0xE5,0x83,0xAE), - o3(0xE5,0x83,0xB9), o3(0xE5,0x83,0xB5), - o3(0xE5,0x84,0x89), o3(0xE5,0x84,0x81), - o3(0xE5,0x84,0x82), o3(0xE5,0x84,0x96), - o3(0xE5,0x84,0x95), o3(0xE5,0x84,0x94), - o3(0xE5,0x84,0x9A), o3(0xE5,0x84,0xA1), - o3(0xE5,0x84,0xBA), o3(0xE5,0x84,0xB7), - o3(0xE5,0x84,0xBC), o3(0xE5,0x84,0xBB), - o3(0xE5,0x84,0xBF), o3(0xE5,0x85,0x80), - o3(0xE5,0x85,0x92), o3(0xE5,0x85,0x8C), - o3(0xE5,0x85,0x94), o3(0xE5,0x85,0xA2), - o3(0xE7,0xAB,0xB8), o3(0xE5,0x85,0xA9), - o3(0xE5,0x85,0xAA), o3(0xE5,0x85,0xAE), - o3(0xE5,0x86,0x80), o3(0xE5,0x86,0x82), - o3(0xE5,0x9B,0x98), o3(0xE5,0x86,0x8C), - o3(0xE5,0x86,0x89), o3(0xE5,0x86,0x8F), - o3(0xE5,0x86,0x91), o3(0xE5,0x86,0x93), - o3(0xE5,0x86,0x95), o3(0xE5,0x86,0x96), - o3(0xE5,0x86,0xA4), o3(0xE5,0x86,0xA6), - o3(0xE5,0x86,0xA2), o3(0xE5,0x86,0xA9), - o3(0xE5,0x86,0xAA), o3(0xE5,0x86,0xAB), - o3(0xE5,0x86,0xB3), o3(0xE5,0x86,0xB1), - o3(0xE5,0x86,0xB2), o3(0xE5,0x86,0xB0), - o3(0xE5,0x86,0xB5), o3(0xE5,0x86,0xBD), - o3(0xE5,0x87,0x85), o3(0xE5,0x87,0x89), - o3(0xE5,0x87,0x9B), o3(0xE5,0x87,0xA0), - o3(0xE8,0x99,0x95), o3(0xE5,0x87,0xA9), - o3(0xE5,0x87,0xAD), o3(0xE5,0x87,0xB0), - o3(0xE5,0x87,0xB5), o3(0xE5,0x87,0xBE), - o3(0xE5,0x88,0x84), o3(0xE5,0x88,0x8B), - o3(0xE5,0x88,0x94), o3(0xE5,0x88,0x8E), - o3(0xE5,0x88,0xA7), o3(0xE5,0x88,0xAA), - o3(0xE5,0x88,0xAE), o3(0xE5,0x88,0xB3), - o3(0xE5,0x88,0xB9), o3(0xE5,0x89,0x8F), - o3(0xE5,0x89,0x84), o3(0xE5,0x89,0x8B), - o3(0xE5,0x89,0x8C), o3(0xE5,0x89,0x9E), - o3(0xE5,0x89,0x94), o3(0xE5,0x89,0xAA), - o3(0xE5,0x89,0xB4), o3(0xE5,0x89,0xA9), - o3(0xE5,0x89,0xB3), o3(0xE5,0x89,0xBF), - o3(0xE5,0x89,0xBD), o3(0xE5,0x8A,0x8D), - o3(0xE5,0x8A,0x94), o3(0xE5,0x8A,0x92), - o3(0xE5,0x89,0xB1), o3(0xE5,0x8A,0x88), - o3(0xE5,0x8A,0x91), o3(0xE8,0xBE,0xA8), - UNDEF, -}; -static const BYTE_LOOKUP -from_EUC_JP_D1 = { - from_EUC_JP_A1_offsets, - from_EUC_JP_D1_infos -}; - -static const struct byte_lookup* const -from_EUC_JP_D2_infos[95] = { - o3(0xE8,0xBE,0xA7), o3(0xE5,0x8A,0xAC), - o3(0xE5,0x8A,0xAD), o3(0xE5,0x8A,0xBC), - o3(0xE5,0x8A,0xB5), o3(0xE5,0x8B,0x81), - o3(0xE5,0x8B,0x8D), o3(0xE5,0x8B,0x97), - o3(0xE5,0x8B,0x9E), o3(0xE5,0x8B,0xA3), - o3(0xE5,0x8B,0xA6), o3(0xE9,0xA3,0xAD), - o3(0xE5,0x8B,0xA0), o3(0xE5,0x8B,0xB3), - o3(0xE5,0x8B,0xB5), o3(0xE5,0x8B,0xB8), - o3(0xE5,0x8B,0xB9), o3(0xE5,0x8C,0x86), - o3(0xE5,0x8C,0x88), o3(0xE7,0x94,0xB8), - o3(0xE5,0x8C,0x8D), o3(0xE5,0x8C,0x90), - o3(0xE5,0x8C,0x8F), o3(0xE5,0x8C,0x95), - o3(0xE5,0x8C,0x9A), o3(0xE5,0x8C,0xA3), - o3(0xE5,0x8C,0xAF), o3(0xE5,0x8C,0xB1), - o3(0xE5,0x8C,0xB3), o3(0xE5,0x8C,0xB8), - o3(0xE5,0x8D,0x80), o3(0xE5,0x8D,0x86), - o3(0xE5,0x8D,0x85), o3(0xE4,0xB8,0x97), - o3(0xE5,0x8D,0x89), o3(0xE5,0x8D,0x8D), - o3(0xE5,0x87,0x96), o3(0xE5,0x8D,0x9E), - o3(0xE5,0x8D,0xA9), o3(0xE5,0x8D,0xAE), - o3(0xE5,0xA4,0x98), o3(0xE5,0x8D,0xBB), - o3(0xE5,0x8D,0xB7), o3(0xE5,0x8E,0x82), - o3(0xE5,0x8E,0x96), o3(0xE5,0x8E,0xA0), - o3(0xE5,0x8E,0xA6), o3(0xE5,0x8E,0xA5), - o3(0xE5,0x8E,0xAE), o3(0xE5,0x8E,0xB0), - o3(0xE5,0x8E,0xB6), o3(0xE5,0x8F,0x83), - o3(0xE7,0xB0,0x92), o3(0xE9,0x9B,0x99), - o3(0xE5,0x8F,0x9F), o3(0xE6,0x9B,0xBC), - o3(0xE7,0x87,0xAE), o3(0xE5,0x8F,0xAE), - o3(0xE5,0x8F,0xA8), o3(0xE5,0x8F,0xAD), - o3(0xE5,0x8F,0xBA), o3(0xE5,0x90,0x81), - o3(0xE5,0x90,0xBD), o3(0xE5,0x91,0x80), - o3(0xE5,0x90,0xAC), o3(0xE5,0x90,0xAD), - o3(0xE5,0x90,0xBC), o3(0xE5,0x90,0xAE), - o3(0xE5,0x90,0xB6), o3(0xE5,0x90,0xA9), - o3(0xE5,0x90,0x9D), o3(0xE5,0x91,0x8E), - o3(0xE5,0x92,0x8F), o3(0xE5,0x91,0xB5), - o3(0xE5,0x92,0x8E), o3(0xE5,0x91,0x9F), - o3(0xE5,0x91,0xB1), o3(0xE5,0x91,0xB7), - o3(0xE5,0x91,0xB0), o3(0xE5,0x92,0x92), - o3(0xE5,0x91,0xBB), o3(0xE5,0x92,0x80), - o3(0xE5,0x91,0xB6), o3(0xE5,0x92,0x84), - o3(0xE5,0x92,0x90), o3(0xE5,0x92,0x86), - o3(0xE5,0x93,0x87), o3(0xE5,0x92,0xA2), - o3(0xE5,0x92,0xB8), o3(0xE5,0x92,0xA5), - o3(0xE5,0x92,0xAC), o3(0xE5,0x93,0x84), - o3(0xE5,0x93,0x88), o3(0xE5,0x92,0xA8), - UNDEF, -}; -static const BYTE_LOOKUP -from_EUC_JP_D2 = { - from_EUC_JP_A1_offsets, - from_EUC_JP_D2_infos -}; - -static const struct byte_lookup* const -from_EUC_JP_D3_infos[95] = { - o3(0xE5,0x92,0xAB), o3(0xE5,0x93,0x82), - o3(0xE5,0x92,0xA4), o3(0xE5,0x92,0xBE), - o3(0xE5,0x92,0xBC), o3(0xE5,0x93,0x98), - o3(0xE5,0x93,0xA5), o3(0xE5,0x93,0xA6), - o3(0xE5,0x94,0x8F), o3(0xE5,0x94,0x94), - o3(0xE5,0x93,0xBD), o3(0xE5,0x93,0xAE), - o3(0xE5,0x93,0xAD), o3(0xE5,0x93,0xBA), - o3(0xE5,0x93,0xA2), o3(0xE5,0x94,0xB9), - o3(0xE5,0x95,0x80), o3(0xE5,0x95,0xA3), - o3(0xE5,0x95,0x8C), o3(0xE5,0x94,0xAE), - o3(0xE5,0x95,0x9C), o3(0xE5,0x95,0x85), - o3(0xE5,0x95,0x96), o3(0xE5,0x95,0x97), - o3(0xE5,0x94,0xB8), o3(0xE5,0x94,0xB3), - o3(0xE5,0x95,0x9D), o3(0xE5,0x96,0x99), - o3(0xE5,0x96,0x80), o3(0xE5,0x92,0xAF), - o3(0xE5,0x96,0x8A), o3(0xE5,0x96,0x9F), - o3(0xE5,0x95,0xBB), o3(0xE5,0x95,0xBE), - o3(0xE5,0x96,0x98), o3(0xE5,0x96,0x9E), - o3(0xE5,0x96,0xAE), o3(0xE5,0x95,0xBC), - o3(0xE5,0x96,0x83), o3(0xE5,0x96,0xA9), - o3(0xE5,0x96,0x87), o3(0xE5,0x96,0xA8), - o3(0xE5,0x97,0x9A), o3(0xE5,0x97,0x85), - o3(0xE5,0x97,0x9F), o3(0xE5,0x97,0x84), - o3(0xE5,0x97,0x9C), o3(0xE5,0x97,0xA4), - o3(0xE5,0x97,0x94), o3(0xE5,0x98,0x94), - o3(0xE5,0x97,0xB7), o3(0xE5,0x98,0x96), - o3(0xE5,0x97,0xBE), o3(0xE5,0x97,0xBD), - o3(0xE5,0x98,0x9B), o3(0xE5,0x97,0xB9), - o3(0xE5,0x99,0x8E), o3(0xE5,0x99,0x90), - o3(0xE7,0x87,0x9F), o3(0xE5,0x98,0xB4), - o3(0xE5,0x98,0xB6), o3(0xE5,0x98,0xB2), - o3(0xE5,0x98,0xB8), o3(0xE5,0x99,0xAB), - o3(0xE5,0x99,0xA4), o3(0xE5,0x98,0xAF), - o3(0xE5,0x99,0xAC), o3(0xE5,0x99,0xAA), - o3(0xE5,0x9A,0x86), o3(0xE5,0x9A,0x80), - o3(0xE5,0x9A,0x8A), o3(0xE5,0x9A,0xA0), - o3(0xE5,0x9A,0x94), o3(0xE5,0x9A,0x8F), - o3(0xE5,0x9A,0xA5), o3(0xE5,0x9A,0xAE), - o3(0xE5,0x9A,0xB6), o3(0xE5,0x9A,0xB4), - o3(0xE5,0x9B,0x82), o3(0xE5,0x9A,0xBC), - o3(0xE5,0x9B,0x81), o3(0xE5,0x9B,0x83), - o3(0xE5,0x9B,0x80), o3(0xE5,0x9B,0x88), - o3(0xE5,0x9B,0x8E), o3(0xE5,0x9B,0x91), - o3(0xE5,0x9B,0x93), o3(0xE5,0x9B,0x97), - o3(0xE5,0x9B,0xAE), o3(0xE5,0x9B,0xB9), - o3(0xE5,0x9C,0x80), o3(0xE5,0x9B,0xBF), - o3(0xE5,0x9C,0x84), o3(0xE5,0x9C,0x89), - UNDEF, -}; -static const BYTE_LOOKUP -from_EUC_JP_D3 = { - from_EUC_JP_A1_offsets, - from_EUC_JP_D3_infos -}; - -static const struct byte_lookup* const -from_EUC_JP_D4_infos[95] = { - o3(0xE5,0x9C,0x88), o3(0xE5,0x9C,0x8B), - o3(0xE5,0x9C,0x8D), o3(0xE5,0x9C,0x93), - o3(0xE5,0x9C,0x98), o3(0xE5,0x9C,0x96), - o3(0xE5,0x97,0x87), o3(0xE5,0x9C,0x9C), - o3(0xE5,0x9C,0xA6), o3(0xE5,0x9C,0xB7), - o3(0xE5,0x9C,0xB8), o3(0xE5,0x9D,0x8E), - o3(0xE5,0x9C,0xBB), o3(0xE5,0x9D,0x80), - o3(0xE5,0x9D,0x8F), o3(0xE5,0x9D,0xA9), - o3(0xE5,0x9F,0x80), o3(0xE5,0x9E,0x88), - o3(0xE5,0x9D,0xA1), o3(0xE5,0x9D,0xBF), - o3(0xE5,0x9E,0x89), o3(0xE5,0x9E,0x93), - o3(0xE5,0x9E,0xA0), o3(0xE5,0x9E,0xB3), - o3(0xE5,0x9E,0xA4), o3(0xE5,0x9E,0xAA), - o3(0xE5,0x9E,0xB0), o3(0xE5,0x9F,0x83), - o3(0xE5,0x9F,0x86), o3(0xE5,0x9F,0x94), - o3(0xE5,0x9F,0x92), o3(0xE5,0x9F,0x93), - o3(0xE5,0xA0,0x8A), o3(0xE5,0x9F,0x96), - o3(0xE5,0x9F,0xA3), o3(0xE5,0xA0,0x8B), - o3(0xE5,0xA0,0x99), o3(0xE5,0xA0,0x9D), - o3(0xE5,0xA1,0xB2), o3(0xE5,0xA0,0xA1), - o3(0xE5,0xA1,0xA2), o3(0xE5,0xA1,0x8B), - o3(0xE5,0xA1,0xB0), o3(0xE6,0xAF,0x80), - o3(0xE5,0xA1,0x92), o3(0xE5,0xA0,0xBD), - o3(0xE5,0xA1,0xB9), o3(0xE5,0xA2,0x85), - o3(0xE5,0xA2,0xB9), o3(0xE5,0xA2,0x9F), - o3(0xE5,0xA2,0xAB), o3(0xE5,0xA2,0xBA), - o3(0xE5,0xA3,0x9E), o3(0xE5,0xA2,0xBB), - o3(0xE5,0xA2,0xB8), o3(0xE5,0xA2,0xAE), - o3(0xE5,0xA3,0x85), o3(0xE5,0xA3,0x93), - o3(0xE5,0xA3,0x91), o3(0xE5,0xA3,0x97), - o3(0xE5,0xA3,0x99), o3(0xE5,0xA3,0x98), - o3(0xE5,0xA3,0xA5), o3(0xE5,0xA3,0x9C), - o3(0xE5,0xA3,0xA4), o3(0xE5,0xA3,0x9F), - o3(0xE5,0xA3,0xAF), o3(0xE5,0xA3,0xBA), - o3(0xE5,0xA3,0xB9), o3(0xE5,0xA3,0xBB), - o3(0xE5,0xA3,0xBC), o3(0xE5,0xA3,0xBD), - o3(0xE5,0xA4,0x82), o3(0xE5,0xA4,0x8A), - o3(0xE5,0xA4,0x90), o3(0xE5,0xA4,0x9B), - o3(0xE6,0xA2,0xA6), o3(0xE5,0xA4,0xA5), - o3(0xE5,0xA4,0xAC), o3(0xE5,0xA4,0xAD), - o3(0xE5,0xA4,0xB2), o3(0xE5,0xA4,0xB8), - o3(0xE5,0xA4,0xBE), o3(0xE7,0xAB,0x92), - o3(0xE5,0xA5,0x95), o3(0xE5,0xA5,0x90), - o3(0xE5,0xA5,0x8E), o3(0xE5,0xA5,0x9A), - o3(0xE5,0xA5,0x98), o3(0xE5,0xA5,0xA2), - o3(0xE5,0xA5,0xA0), o3(0xE5,0xA5,0xA7), - o3(0xE5,0xA5,0xAC), o3(0xE5,0xA5,0xA9), - UNDEF, -}; -static const BYTE_LOOKUP -from_EUC_JP_D4 = { - from_EUC_JP_A1_offsets, - from_EUC_JP_D4_infos -}; - -static const struct byte_lookup* const -from_EUC_JP_D5_infos[95] = { - o3(0xE5,0xA5,0xB8), o3(0xE5,0xA6,0x81), - o3(0xE5,0xA6,0x9D), o3(0xE4,0xBD,0x9E), - o3(0xE4,0xBE,0xAB), o3(0xE5,0xA6,0xA3), - o3(0xE5,0xA6,0xB2), o3(0xE5,0xA7,0x86), - o3(0xE5,0xA7,0xA8), o3(0xE5,0xA7,0x9C), - o3(0xE5,0xA6,0x8D), o3(0xE5,0xA7,0x99), - o3(0xE5,0xA7,0x9A), o3(0xE5,0xA8,0xA5), - o3(0xE5,0xA8,0x9F), o3(0xE5,0xA8,0x91), - o3(0xE5,0xA8,0x9C), o3(0xE5,0xA8,0x89), - o3(0xE5,0xA8,0x9A), o3(0xE5,0xA9,0x80), - o3(0xE5,0xA9,0xAC), o3(0xE5,0xA9,0x89), - o3(0xE5,0xA8,0xB5), o3(0xE5,0xA8,0xB6), - o3(0xE5,0xA9,0xA2), o3(0xE5,0xA9,0xAA), - o3(0xE5,0xAA,0x9A), o3(0xE5,0xAA,0xBC), - o3(0xE5,0xAA,0xBE), o3(0xE5,0xAB,0x8B), - o3(0xE5,0xAB,0x82), o3(0xE5,0xAA,0xBD), - o3(0xE5,0xAB,0xA3), o3(0xE5,0xAB,0x97), - o3(0xE5,0xAB,0xA6), o3(0xE5,0xAB,0xA9), - o3(0xE5,0xAB,0x96), o3(0xE5,0xAB,0xBA), - o3(0xE5,0xAB,0xBB), o3(0xE5,0xAC,0x8C), - o3(0xE5,0xAC,0x8B), o3(0xE5,0xAC,0x96), - o3(0xE5,0xAC,0xB2), o3(0xE5,0xAB,0x90), - o3(0xE5,0xAC,0xAA), o3(0xE5,0xAC,0xB6), - o3(0xE5,0xAC,0xBE), o3(0xE5,0xAD,0x83), - o3(0xE5,0xAD,0x85), o3(0xE5,0xAD,0x80), - o3(0xE5,0xAD,0x91), o3(0xE5,0xAD,0x95), - o3(0xE5,0xAD,0x9A), o3(0xE5,0xAD,0x9B), - o3(0xE5,0xAD,0xA5), o3(0xE5,0xAD,0xA9), - o3(0xE5,0xAD,0xB0), o3(0xE5,0xAD,0xB3), - o3(0xE5,0xAD,0xB5), o3(0xE5,0xAD,0xB8), - o3(0xE6,0x96,0x88), o3(0xE5,0xAD,0xBA), - o3(0xE5,0xAE,0x80), o3(0xE5,0xAE,0x83), - o3(0xE5,0xAE,0xA6), o3(0xE5,0xAE,0xB8), - o3(0xE5,0xAF,0x83), o3(0xE5,0xAF,0x87), - o3(0xE5,0xAF,0x89), o3(0xE5,0xAF,0x94), - o3(0xE5,0xAF,0x90), o3(0xE5,0xAF,0xA4), - o3(0xE5,0xAF,0xA6), o3(0xE5,0xAF,0xA2), - o3(0xE5,0xAF,0x9E), o3(0xE5,0xAF,0xA5), - o3(0xE5,0xAF,0xAB), o3(0xE5,0xAF,0xB0), - o3(0xE5,0xAF,0xB6), o3(0xE5,0xAF,0xB3), - o3(0xE5,0xB0,0x85), o3(0xE5,0xB0,0x87), - o3(0xE5,0xB0,0x88), o3(0xE5,0xB0,0x8D), - o3(0xE5,0xB0,0x93), o3(0xE5,0xB0,0xA0), - o3(0xE5,0xB0,0xA2), o3(0xE5,0xB0,0xA8), - o3(0xE5,0xB0,0xB8), o3(0xE5,0xB0,0xB9), - o3(0xE5,0xB1,0x81), o3(0xE5,0xB1,0x86), - o3(0xE5,0xB1,0x8E), o3(0xE5,0xB1,0x93), - UNDEF, -}; -static const BYTE_LOOKUP -from_EUC_JP_D5 = { - from_EUC_JP_A1_offsets, - from_EUC_JP_D5_infos -}; - -static const struct byte_lookup* const -from_EUC_JP_D6_infos[95] = { - o3(0xE5,0xB1,0x90), o3(0xE5,0xB1,0x8F), - o3(0xE5,0xAD,0xB1), o3(0xE5,0xB1,0xAC), - o3(0xE5,0xB1,0xAE), o3(0xE4,0xB9,0xA2), - o3(0xE5,0xB1,0xB6), o3(0xE5,0xB1,0xB9), - o3(0xE5,0xB2,0x8C), o3(0xE5,0xB2,0x91), - o3(0xE5,0xB2,0x94), o3(0xE5,0xA6,0x9B), - o3(0xE5,0xB2,0xAB), o3(0xE5,0xB2,0xBB), - o3(0xE5,0xB2,0xB6), o3(0xE5,0xB2,0xBC), - o3(0xE5,0xB2,0xB7), o3(0xE5,0xB3,0x85), - o3(0xE5,0xB2,0xBE), o3(0xE5,0xB3,0x87), - o3(0xE5,0xB3,0x99), o3(0xE5,0xB3,0xA9), - o3(0xE5,0xB3,0xBD), o3(0xE5,0xB3,0xBA), - o3(0xE5,0xB3,0xAD), o3(0xE5,0xB6,0x8C), - o3(0xE5,0xB3,0xAA), o3(0xE5,0xB4,0x8B), - o3(0xE5,0xB4,0x95), o3(0xE5,0xB4,0x97), - o3(0xE5,0xB5,0x9C), o3(0xE5,0xB4,0x9F), - o3(0xE5,0xB4,0x9B), o3(0xE5,0xB4,0x91), - o3(0xE5,0xB4,0x94), o3(0xE5,0xB4,0xA2), - o3(0xE5,0xB4,0x9A), o3(0xE5,0xB4,0x99), - o3(0xE5,0xB4,0x98), o3(0xE5,0xB5,0x8C), - o3(0xE5,0xB5,0x92), o3(0xE5,0xB5,0x8E), - o3(0xE5,0xB5,0x8B), o3(0xE5,0xB5,0xAC), - o3(0xE5,0xB5,0xB3), o3(0xE5,0xB5,0xB6), - o3(0xE5,0xB6,0x87), o3(0xE5,0xB6,0x84), - o3(0xE5,0xB6,0x82), o3(0xE5,0xB6,0xA2), - o3(0xE5,0xB6,0x9D), o3(0xE5,0xB6,0xAC), - o3(0xE5,0xB6,0xAE), o3(0xE5,0xB6,0xBD), - o3(0xE5,0xB6,0x90), o3(0xE5,0xB6,0xB7), - o3(0xE5,0xB6,0xBC), o3(0xE5,0xB7,0x89), - o3(0xE5,0xB7,0x8D), o3(0xE5,0xB7,0x93), - o3(0xE5,0xB7,0x92), o3(0xE5,0xB7,0x96), - o3(0xE5,0xB7,0x9B), o3(0xE5,0xB7,0xAB), - o3(0xE5,0xB7,0xB2), o3(0xE5,0xB7,0xB5), - o3(0xE5,0xB8,0x8B), o3(0xE5,0xB8,0x9A), - o3(0xE5,0xB8,0x99), o3(0xE5,0xB8,0x91), - o3(0xE5,0xB8,0x9B), o3(0xE5,0xB8,0xB6), - o3(0xE5,0xB8,0xB7), o3(0xE5,0xB9,0x84), - o3(0xE5,0xB9,0x83), o3(0xE5,0xB9,0x80), - o3(0xE5,0xB9,0x8E), o3(0xE5,0xB9,0x97), - o3(0xE5,0xB9,0x94), o3(0xE5,0xB9,0x9F), - o3(0xE5,0xB9,0xA2), o3(0xE5,0xB9,0xA4), - o3(0xE5,0xB9,0x87), o3(0xE5,0xB9,0xB5), - o3(0xE5,0xB9,0xB6), o3(0xE5,0xB9,0xBA), - o3(0xE9,0xBA,0xBC), o3(0xE5,0xB9,0xBF), - o3(0xE5,0xBA,0xA0), o3(0xE5,0xBB,0x81), - o3(0xE5,0xBB,0x82), o3(0xE5,0xBB,0x88), - o3(0xE5,0xBB,0x90), o3(0xE5,0xBB,0x8F), - UNDEF, -}; -static const BYTE_LOOKUP -from_EUC_JP_D6 = { - from_EUC_JP_A1_offsets, - from_EUC_JP_D6_infos -}; - -static const struct byte_lookup* const -from_EUC_JP_D7_infos[95] = { - o3(0xE5,0xBB,0x96), o3(0xE5,0xBB,0xA3), - o3(0xE5,0xBB,0x9D), o3(0xE5,0xBB,0x9A), - o3(0xE5,0xBB,0x9B), o3(0xE5,0xBB,0xA2), - o3(0xE5,0xBB,0xA1), o3(0xE5,0xBB,0xA8), - o3(0xE5,0xBB,0xA9), o3(0xE5,0xBB,0xAC), - o3(0xE5,0xBB,0xB1), o3(0xE5,0xBB,0xB3), - o3(0xE5,0xBB,0xB0), o3(0xE5,0xBB,0xB4), - o3(0xE5,0xBB,0xB8), o3(0xE5,0xBB,0xBE), - o3(0xE5,0xBC,0x83), o3(0xE5,0xBC,0x89), - o3(0xE5,0xBD,0x9D), o3(0xE5,0xBD,0x9C), - o3(0xE5,0xBC,0x8B), o3(0xE5,0xBC,0x91), - o3(0xE5,0xBC,0x96), o3(0xE5,0xBC,0xA9), - o3(0xE5,0xBC,0xAD), o3(0xE5,0xBC,0xB8), - o3(0xE5,0xBD,0x81), o3(0xE5,0xBD,0x88), - o3(0xE5,0xBD,0x8C), o3(0xE5,0xBD,0x8E), - o3(0xE5,0xBC,0xAF), o3(0xE5,0xBD,0x91), - o3(0xE5,0xBD,0x96), o3(0xE5,0xBD,0x97), - o3(0xE5,0xBD,0x99), o3(0xE5,0xBD,0xA1), - o3(0xE5,0xBD,0xAD), o3(0xE5,0xBD,0xB3), - o3(0xE5,0xBD,0xB7), o3(0xE5,0xBE,0x83), - o3(0xE5,0xBE,0x82), o3(0xE5,0xBD,0xBF), - o3(0xE5,0xBE,0x8A), o3(0xE5,0xBE,0x88), - o3(0xE5,0xBE,0x91), o3(0xE5,0xBE,0x87), - o3(0xE5,0xBE,0x9E), o3(0xE5,0xBE,0x99), - o3(0xE5,0xBE,0x98), o3(0xE5,0xBE,0xA0), - o3(0xE5,0xBE,0xA8), o3(0xE5,0xBE,0xAD), - o3(0xE5,0xBE,0xBC), o3(0xE5,0xBF,0x96), - o3(0xE5,0xBF,0xBB), o3(0xE5,0xBF,0xA4), - o3(0xE5,0xBF,0xB8), o3(0xE5,0xBF,0xB1), - o3(0xE5,0xBF,0x9D), o3(0xE6,0x82,0xB3), - o3(0xE5,0xBF,0xBF), o3(0xE6,0x80,0xA1), - o3(0xE6,0x81,0xA0), o3(0xE6,0x80,0x99), - o3(0xE6,0x80,0x90), o3(0xE6,0x80,0xA9), - o3(0xE6,0x80,0x8E), o3(0xE6,0x80,0xB1), - o3(0xE6,0x80,0x9B), o3(0xE6,0x80,0x95), - o3(0xE6,0x80,0xAB), o3(0xE6,0x80,0xA6), - o3(0xE6,0x80,0x8F), o3(0xE6,0x80,0xBA), - o3(0xE6,0x81,0x9A), o3(0xE6,0x81,0x81), - o3(0xE6,0x81,0xAA), o3(0xE6,0x81,0xB7), - o3(0xE6,0x81,0x9F), o3(0xE6,0x81,0x8A), - o3(0xE6,0x81,0x86), o3(0xE6,0x81,0x8D), - o3(0xE6,0x81,0xA3), o3(0xE6,0x81,0x83), - o3(0xE6,0x81,0xA4), o3(0xE6,0x81,0x82), - o3(0xE6,0x81,0xAC), o3(0xE6,0x81,0xAB), - o3(0xE6,0x81,0x99), o3(0xE6,0x82,0x81), - o3(0xE6,0x82,0x8D), o3(0xE6,0x83,0xA7), - o3(0xE6,0x82,0x83), o3(0xE6,0x82,0x9A), - UNDEF, -}; -static const BYTE_LOOKUP -from_EUC_JP_D7 = { - from_EUC_JP_A1_offsets, - from_EUC_JP_D7_infos -}; - -static const struct byte_lookup* const -from_EUC_JP_D8_infos[95] = { - o3(0xE6,0x82,0x84), o3(0xE6,0x82,0x9B), - o3(0xE6,0x82,0x96), o3(0xE6,0x82,0x97), - o3(0xE6,0x82,0x92), o3(0xE6,0x82,0xA7), - o3(0xE6,0x82,0x8B), o3(0xE6,0x83,0xA1), - o3(0xE6,0x82,0xB8), o3(0xE6,0x83,0xA0), - o3(0xE6,0x83,0x93), o3(0xE6,0x82,0xB4), - o3(0xE5,0xBF,0xB0), o3(0xE6,0x82,0xBD), - o3(0xE6,0x83,0x86), o3(0xE6,0x82,0xB5), - o3(0xE6,0x83,0x98), o3(0xE6,0x85,0x8D), - o3(0xE6,0x84,0x95), o3(0xE6,0x84,0x86), - o3(0xE6,0x83,0xB6), o3(0xE6,0x83,0xB7), - o3(0xE6,0x84,0x80), o3(0xE6,0x83,0xB4), - o3(0xE6,0x83,0xBA), o3(0xE6,0x84,0x83), - o3(0xE6,0x84,0xA1), o3(0xE6,0x83,0xBB), - o3(0xE6,0x83,0xB1), o3(0xE6,0x84,0x8D), - o3(0xE6,0x84,0x8E), o3(0xE6,0x85,0x87), - o3(0xE6,0x84,0xBE), o3(0xE6,0x84,0xA8), - o3(0xE6,0x84,0xA7), o3(0xE6,0x85,0x8A), - o3(0xE6,0x84,0xBF), o3(0xE6,0x84,0xBC), - o3(0xE6,0x84,0xAC), o3(0xE6,0x84,0xB4), - o3(0xE6,0x84,0xBD), o3(0xE6,0x85,0x82), - o3(0xE6,0x85,0x84), o3(0xE6,0x85,0xB3), - o3(0xE6,0x85,0xB7), o3(0xE6,0x85,0x98), - o3(0xE6,0x85,0x99), o3(0xE6,0x85,0x9A), - o3(0xE6,0x85,0xAB), o3(0xE6,0x85,0xB4), - o3(0xE6,0x85,0xAF), o3(0xE6,0x85,0xA5), - o3(0xE6,0x85,0xB1), o3(0xE6,0x85,0x9F), - o3(0xE6,0x85,0x9D), o3(0xE6,0x85,0x93), - o3(0xE6,0x85,0xB5), o3(0xE6,0x86,0x99), - o3(0xE6,0x86,0x96), o3(0xE6,0x86,0x87), - o3(0xE6,0x86,0xAC), o3(0xE6,0x86,0x94), - o3(0xE6,0x86,0x9A), o3(0xE6,0x86,0x8A), - o3(0xE6,0x86,0x91), o3(0xE6,0x86,0xAB), - o3(0xE6,0x86,0xAE), o3(0xE6,0x87,0x8C), - o3(0xE6,0x87,0x8A), o3(0xE6,0x87,0x89), - o3(0xE6,0x87,0xB7), o3(0xE6,0x87,0x88), - o3(0xE6,0x87,0x83), o3(0xE6,0x87,0x86), - o3(0xE6,0x86,0xBA), o3(0xE6,0x87,0x8B), - o3(0xE7,0xBD,0xB9), o3(0xE6,0x87,0x8D), - o3(0xE6,0x87,0xA6), o3(0xE6,0x87,0xA3), - o3(0xE6,0x87,0xB6), o3(0xE6,0x87,0xBA), - o3(0xE6,0x87,0xB4), o3(0xE6,0x87,0xBF), - o3(0xE6,0x87,0xBD), o3(0xE6,0x87,0xBC), - o3(0xE6,0x87,0xBE), o3(0xE6,0x88,0x80), - o3(0xE6,0x88,0x88), o3(0xE6,0x88,0x89), - o3(0xE6,0x88,0x8D), o3(0xE6,0x88,0x8C), - o3(0xE6,0x88,0x94), o3(0xE6,0x88,0x9B), - UNDEF, -}; -static const BYTE_LOOKUP -from_EUC_JP_D8 = { - from_EUC_JP_A1_offsets, - from_EUC_JP_D8_infos -}; - -static const struct byte_lookup* const -from_EUC_JP_D9_infos[95] = { - o3(0xE6,0x88,0x9E), o3(0xE6,0x88,0xA1), - o3(0xE6,0x88,0xAA), o3(0xE6,0x88,0xAE), - o3(0xE6,0x88,0xB0), o3(0xE6,0x88,0xB2), - o3(0xE6,0x88,0xB3), o3(0xE6,0x89,0x81), - o3(0xE6,0x89,0x8E), o3(0xE6,0x89,0x9E), - o3(0xE6,0x89,0xA3), o3(0xE6,0x89,0x9B), - o3(0xE6,0x89,0xA0), o3(0xE6,0x89,0xA8), - o3(0xE6,0x89,0xBC), o3(0xE6,0x8A,0x82), - o3(0xE6,0x8A,0x89), o3(0xE6,0x89,0xBE), - o3(0xE6,0x8A,0x92), o3(0xE6,0x8A,0x93), - o3(0xE6,0x8A,0x96), o3(0xE6,0x8B,0x94), - o3(0xE6,0x8A,0x83), o3(0xE6,0x8A,0x94), - o3(0xE6,0x8B,0x97), o3(0xE6,0x8B,0x91), - o3(0xE6,0x8A,0xBB), o3(0xE6,0x8B,0x8F), - o3(0xE6,0x8B,0xBF), o3(0xE6,0x8B,0x86), - o3(0xE6,0x93,0x94), o3(0xE6,0x8B,0x88), - o3(0xE6,0x8B,0x9C), o3(0xE6,0x8B,0x8C), - o3(0xE6,0x8B,0x8A), o3(0xE6,0x8B,0x82), - o3(0xE6,0x8B,0x87), o3(0xE6,0x8A,0x9B), - o3(0xE6,0x8B,0x89), o3(0xE6,0x8C,0x8C), - o3(0xE6,0x8B,0xAE), o3(0xE6,0x8B,0xB1), - o3(0xE6,0x8C,0xA7), o3(0xE6,0x8C,0x82), - o3(0xE6,0x8C,0x88), o3(0xE6,0x8B,0xAF), - o3(0xE6,0x8B,0xB5), o3(0xE6,0x8D,0x90), - o3(0xE6,0x8C,0xBE), o3(0xE6,0x8D,0x8D), - o3(0xE6,0x90,0x9C), o3(0xE6,0x8D,0x8F), - o3(0xE6,0x8E,0x96), o3(0xE6,0x8E,0x8E), - o3(0xE6,0x8E,0x80), o3(0xE6,0x8E,0xAB), - o3(0xE6,0x8D,0xB6), o3(0xE6,0x8E,0xA3), - o3(0xE6,0x8E,0x8F), o3(0xE6,0x8E,0x89), - o3(0xE6,0x8E,0x9F), o3(0xE6,0x8E,0xB5), - o3(0xE6,0x8D,0xAB), o3(0xE6,0x8D,0xA9), - o3(0xE6,0x8E,0xBE), o3(0xE6,0x8F,0xA9), - o3(0xE6,0x8F,0x80), o3(0xE6,0x8F,0x86), - o3(0xE6,0x8F,0xA3), o3(0xE6,0x8F,0x89), - o3(0xE6,0x8F,0x92), o3(0xE6,0x8F,0xB6), - o3(0xE6,0x8F,0x84), o3(0xE6,0x90,0x96), - o3(0xE6,0x90,0xB4), o3(0xE6,0x90,0x86), - o3(0xE6,0x90,0x93), o3(0xE6,0x90,0xA6), - o3(0xE6,0x90,0xB6), o3(0xE6,0x94,0x9D), - o3(0xE6,0x90,0x97), o3(0xE6,0x90,0xA8), - o3(0xE6,0x90,0x8F), o3(0xE6,0x91,0xA7), - o3(0xE6,0x91,0xAF), o3(0xE6,0x91,0xB6), - o3(0xE6,0x91,0x8E), o3(0xE6,0x94,0xAA), - o3(0xE6,0x92,0x95), o3(0xE6,0x92,0x93), - o3(0xE6,0x92,0xA5), o3(0xE6,0x92,0xA9), - o3(0xE6,0x92,0x88), o3(0xE6,0x92,0xBC), - UNDEF, -}; -static const BYTE_LOOKUP -from_EUC_JP_D9 = { - from_EUC_JP_A1_offsets, - from_EUC_JP_D9_infos -}; - -static const struct byte_lookup* const -from_EUC_JP_DA_infos[95] = { - o3(0xE6,0x93,0x9A), o3(0xE6,0x93,0x92), - o3(0xE6,0x93,0x85), o3(0xE6,0x93,0x87), - o3(0xE6,0x92,0xBB), o3(0xE6,0x93,0x98), - o3(0xE6,0x93,0x82), o3(0xE6,0x93,0xB1), - o3(0xE6,0x93,0xA7), o3(0xE8,0x88,0x89), - o3(0xE6,0x93,0xA0), o3(0xE6,0x93,0xA1), - o3(0xE6,0x8A,0xAC), o3(0xE6,0x93,0xA3), - o3(0xE6,0x93,0xAF), o3(0xE6,0x94,0xAC), - o3(0xE6,0x93,0xB6), o3(0xE6,0x93,0xB4), - o3(0xE6,0x93,0xB2), o3(0xE6,0x93,0xBA), - o3(0xE6,0x94,0x80), o3(0xE6,0x93,0xBD), - o3(0xE6,0x94,0x98), o3(0xE6,0x94,0x9C), - o3(0xE6,0x94,0x85), o3(0xE6,0x94,0xA4), - o3(0xE6,0x94,0xA3), o3(0xE6,0x94,0xAB), - o3(0xE6,0x94,0xB4), o3(0xE6,0x94,0xB5), - o3(0xE6,0x94,0xB7), o3(0xE6,0x94,0xB6), - o3(0xE6,0x94,0xB8), o3(0xE7,0x95,0x8B), - o3(0xE6,0x95,0x88), o3(0xE6,0x95,0x96), - o3(0xE6,0x95,0x95), o3(0xE6,0x95,0x8D), - o3(0xE6,0x95,0x98), o3(0xE6,0x95,0x9E), - o3(0xE6,0x95,0x9D), o3(0xE6,0x95,0xB2), - o3(0xE6,0x95,0xB8), o3(0xE6,0x96,0x82), - o3(0xE6,0x96,0x83), o3(0xE8,0xAE,0x8A), - o3(0xE6,0x96,0x9B), o3(0xE6,0x96,0x9F), - o3(0xE6,0x96,0xAB), o3(0xE6,0x96,0xB7), - o3(0xE6,0x97,0x83), o3(0xE6,0x97,0x86), - o3(0xE6,0x97,0x81), o3(0xE6,0x97,0x84), - o3(0xE6,0x97,0x8C), o3(0xE6,0x97,0x92), - o3(0xE6,0x97,0x9B), o3(0xE6,0x97,0x99), - o3(0xE6,0x97,0xA0), o3(0xE6,0x97,0xA1), - o3(0xE6,0x97,0xB1), o3(0xE6,0x9D,0xB2), - o3(0xE6,0x98,0x8A), o3(0xE6,0x98,0x83), - o3(0xE6,0x97,0xBB), o3(0xE6,0x9D,0xB3), - o3(0xE6,0x98,0xB5), o3(0xE6,0x98,0xB6), - o3(0xE6,0x98,0xB4), o3(0xE6,0x98,0x9C), - o3(0xE6,0x99,0x8F), o3(0xE6,0x99,0x84), - o3(0xE6,0x99,0x89), o3(0xE6,0x99,0x81), - o3(0xE6,0x99,0x9E), o3(0xE6,0x99,0x9D), - o3(0xE6,0x99,0xA4), o3(0xE6,0x99,0xA7), - o3(0xE6,0x99,0xA8), o3(0xE6,0x99,0x9F), - o3(0xE6,0x99,0xA2), o3(0xE6,0x99,0xB0), - o3(0xE6,0x9A,0x83), o3(0xE6,0x9A,0x88), - o3(0xE6,0x9A,0x8E), o3(0xE6,0x9A,0x89), - o3(0xE6,0x9A,0x84), o3(0xE6,0x9A,0x98), - o3(0xE6,0x9A,0x9D), o3(0xE6,0x9B,0x81), - o3(0xE6,0x9A,0xB9), o3(0xE6,0x9B,0x89), - o3(0xE6,0x9A,0xBE), o3(0xE6,0x9A,0xBC), - UNDEF, -}; -static const BYTE_LOOKUP -from_EUC_JP_DA = { - from_EUC_JP_A1_offsets, - from_EUC_JP_DA_infos -}; - -static const struct byte_lookup* const -from_EUC_JP_DB_infos[95] = { - o3(0xE6,0x9B,0x84), o3(0xE6,0x9A,0xB8), - o3(0xE6,0x9B,0x96), o3(0xE6,0x9B,0x9A), - o3(0xE6,0x9B,0xA0), o3(0xE6,0x98,0xBF), - o3(0xE6,0x9B,0xA6), o3(0xE6,0x9B,0xA9), - o3(0xE6,0x9B,0xB0), o3(0xE6,0x9B,0xB5), - o3(0xE6,0x9B,0xB7), o3(0xE6,0x9C,0x8F), - o3(0xE6,0x9C,0x96), o3(0xE6,0x9C,0x9E), - o3(0xE6,0x9C,0xA6), o3(0xE6,0x9C,0xA7), - o3(0xE9,0x9C,0xB8), o3(0xE6,0x9C,0xAE), - o3(0xE6,0x9C,0xBF), o3(0xE6,0x9C,0xB6), - o3(0xE6,0x9D,0x81), o3(0xE6,0x9C,0xB8), - o3(0xE6,0x9C,0xB7), o3(0xE6,0x9D,0x86), - o3(0xE6,0x9D,0x9E), o3(0xE6,0x9D,0xA0), - o3(0xE6,0x9D,0x99), o3(0xE6,0x9D,0xA3), - o3(0xE6,0x9D,0xA4), o3(0xE6,0x9E,0x89), - o3(0xE6,0x9D,0xB0), o3(0xE6,0x9E,0xA9), - o3(0xE6,0x9D,0xBC), o3(0xE6,0x9D,0xAA), - o3(0xE6,0x9E,0x8C), o3(0xE6,0x9E,0x8B), - o3(0xE6,0x9E,0xA6), o3(0xE6,0x9E,0xA1), - o3(0xE6,0x9E,0x85), o3(0xE6,0x9E,0xB7), - o3(0xE6,0x9F,0xAF), o3(0xE6,0x9E,0xB4), - o3(0xE6,0x9F,0xAC), o3(0xE6,0x9E,0xB3), - o3(0xE6,0x9F,0xA9), o3(0xE6,0x9E,0xB8), - o3(0xE6,0x9F,0xA4), o3(0xE6,0x9F,0x9E), - o3(0xE6,0x9F,0x9D), o3(0xE6,0x9F,0xA2), - o3(0xE6,0x9F,0xAE), o3(0xE6,0x9E,0xB9), - o3(0xE6,0x9F,0x8E), o3(0xE6,0x9F,0x86), - o3(0xE6,0x9F,0xA7), o3(0xE6,0xAA,0x9C), - o3(0xE6,0xA0,0x9E), o3(0xE6,0xA1,0x86), - o3(0xE6,0xA0,0xA9), o3(0xE6,0xA1,0x80), - o3(0xE6,0xA1,0x8D), o3(0xE6,0xA0,0xB2), - o3(0xE6,0xA1,0x8E), o3(0xE6,0xA2,0xB3), - o3(0xE6,0xA0,0xAB), o3(0xE6,0xA1,0x99), - o3(0xE6,0xA1,0xA3), o3(0xE6,0xA1,0xB7), - o3(0xE6,0xA1,0xBF), o3(0xE6,0xA2,0x9F), - o3(0xE6,0xA2,0x8F), o3(0xE6,0xA2,0xAD), - o3(0xE6,0xA2,0x94), o3(0xE6,0xA2,0x9D), - o3(0xE6,0xA2,0x9B), o3(0xE6,0xA2,0x83), - o3(0xE6,0xAA,0xAE), o3(0xE6,0xA2,0xB9), - o3(0xE6,0xA1,0xB4), o3(0xE6,0xA2,0xB5), - o3(0xE6,0xA2,0xA0), o3(0xE6,0xA2,0xBA), - o3(0xE6,0xA4,0x8F), o3(0xE6,0xA2,0x8D), - o3(0xE6,0xA1,0xBE), o3(0xE6,0xA4,0x81), - o3(0xE6,0xA3,0x8A), o3(0xE6,0xA4,0x88), - o3(0xE6,0xA3,0x98), o3(0xE6,0xA4,0xA2), - o3(0xE6,0xA4,0xA6), o3(0xE6,0xA3,0xA1), - o3(0xE6,0xA4,0x8C), o3(0xE6,0xA3,0x8D), - UNDEF, -}; -static const BYTE_LOOKUP -from_EUC_JP_DB = { - from_EUC_JP_A1_offsets, - from_EUC_JP_DB_infos -}; - -static const struct byte_lookup* const -from_EUC_JP_DC_infos[95] = { - o3(0xE6,0xA3,0x94), o3(0xE6,0xA3,0xA7), - o3(0xE6,0xA3,0x95), o3(0xE6,0xA4,0xB6), - o3(0xE6,0xA4,0x92), o3(0xE6,0xA4,0x84), - o3(0xE6,0xA3,0x97), o3(0xE6,0xA3,0xA3), - o3(0xE6,0xA4,0xA5), o3(0xE6,0xA3,0xB9), - o3(0xE6,0xA3,0xA0), o3(0xE6,0xA3,0xAF), - o3(0xE6,0xA4,0xA8), o3(0xE6,0xA4,0xAA), - o3(0xE6,0xA4,0x9A), o3(0xE6,0xA4,0xA3), - o3(0xE6,0xA4,0xA1), o3(0xE6,0xA3,0x86), - o3(0xE6,0xA5,0xB9), o3(0xE6,0xA5,0xB7), - o3(0xE6,0xA5,0x9C), o3(0xE6,0xA5,0xB8), - o3(0xE6,0xA5,0xAB), o3(0xE6,0xA5,0x94), - o3(0xE6,0xA5,0xBE), o3(0xE6,0xA5,0xAE), - o3(0xE6,0xA4,0xB9), o3(0xE6,0xA5,0xB4), - o3(0xE6,0xA4,0xBD), o3(0xE6,0xA5,0x99), - o3(0xE6,0xA4,0xB0), o3(0xE6,0xA5,0xA1), - o3(0xE6,0xA5,0x9E), o3(0xE6,0xA5,0x9D), - o3(0xE6,0xA6,0x81), o3(0xE6,0xA5,0xAA), - o3(0xE6,0xA6,0xB2), o3(0xE6,0xA6,0xAE), - o3(0xE6,0xA7,0x90), o3(0xE6,0xA6,0xBF), - o3(0xE6,0xA7,0x81), o3(0xE6,0xA7,0x93), - o3(0xE6,0xA6,0xBE), o3(0xE6,0xA7,0x8E), - o3(0xE5,0xAF,0xA8), o3(0xE6,0xA7,0x8A), - o3(0xE6,0xA7,0x9D), o3(0xE6,0xA6,0xBB), - o3(0xE6,0xA7,0x83), o3(0xE6,0xA6,0xA7), - o3(0xE6,0xA8,0xAE), o3(0xE6,0xA6,0x91), - o3(0xE6,0xA6,0xA0), o3(0xE6,0xA6,0x9C), - o3(0xE6,0xA6,0x95), o3(0xE6,0xA6,0xB4), - o3(0xE6,0xA7,0x9E), o3(0xE6,0xA7,0xA8), - o3(0xE6,0xA8,0x82), o3(0xE6,0xA8,0x9B), - o3(0xE6,0xA7,0xBF), o3(0xE6,0xAC,0x8A), - o3(0xE6,0xA7,0xB9), o3(0xE6,0xA7,0xB2), - o3(0xE6,0xA7,0xA7), o3(0xE6,0xA8,0x85), - o3(0xE6,0xA6,0xB1), o3(0xE6,0xA8,0x9E), - o3(0xE6,0xA7,0xAD), o3(0xE6,0xA8,0x94), - o3(0xE6,0xA7,0xAB), o3(0xE6,0xA8,0x8A), - o3(0xE6,0xA8,0x92), o3(0xE6,0xAB,0x81), - o3(0xE6,0xA8,0xA3), o3(0xE6,0xA8,0x93), - o3(0xE6,0xA9,0x84), o3(0xE6,0xA8,0x8C), - o3(0xE6,0xA9,0xB2), o3(0xE6,0xA8,0xB6), - o3(0xE6,0xA9,0xB8), o3(0xE6,0xA9,0x87), - o3(0xE6,0xA9,0xA2), o3(0xE6,0xA9,0x99), - o3(0xE6,0xA9,0xA6), o3(0xE6,0xA9,0x88), - o3(0xE6,0xA8,0xB8), o3(0xE6,0xA8,0xA2), - o3(0xE6,0xAA,0x90), o3(0xE6,0xAA,0x8D), - o3(0xE6,0xAA,0xA0), o3(0xE6,0xAA,0x84), - o3(0xE6,0xAA,0xA2), o3(0xE6,0xAA,0xA3), - UNDEF, -}; -static const BYTE_LOOKUP -from_EUC_JP_DC = { - from_EUC_JP_A1_offsets, - from_EUC_JP_DC_infos -}; - -static const struct byte_lookup* const -from_EUC_JP_DD_infos[95] = { - o3(0xE6,0xAA,0x97), o3(0xE8,0x98,0x97), - o3(0xE6,0xAA,0xBB), o3(0xE6,0xAB,0x83), - o3(0xE6,0xAB,0x82), o3(0xE6,0xAA,0xB8), - o3(0xE6,0xAA,0xB3), o3(0xE6,0xAA,0xAC), - o3(0xE6,0xAB,0x9E), o3(0xE6,0xAB,0x91), - o3(0xE6,0xAB,0x9F), o3(0xE6,0xAA,0xAA), - o3(0xE6,0xAB,0x9A), o3(0xE6,0xAB,0xAA), - o3(0xE6,0xAB,0xBB), o3(0xE6,0xAC,0x85), - o3(0xE8,0x98,0x96), o3(0xE6,0xAB,0xBA), - o3(0xE6,0xAC,0x92), o3(0xE6,0xAC,0x96), - o3(0xE9,0xAC,0xB1), o3(0xE6,0xAC,0x9F), - o3(0xE6,0xAC,0xB8), o3(0xE6,0xAC,0xB7), - o3(0xE7,0x9B,0x9C), o3(0xE6,0xAC,0xB9), - o3(0xE9,0xA3,0xAE), o3(0xE6,0xAD,0x87), - o3(0xE6,0xAD,0x83), o3(0xE6,0xAD,0x89), - o3(0xE6,0xAD,0x90), o3(0xE6,0xAD,0x99), - o3(0xE6,0xAD,0x94), o3(0xE6,0xAD,0x9B), - o3(0xE6,0xAD,0x9F), o3(0xE6,0xAD,0xA1), - o3(0xE6,0xAD,0xB8), o3(0xE6,0xAD,0xB9), - o3(0xE6,0xAD,0xBF), o3(0xE6,0xAE,0x80), - o3(0xE6,0xAE,0x84), o3(0xE6,0xAE,0x83), - o3(0xE6,0xAE,0x8D), o3(0xE6,0xAE,0x98), - o3(0xE6,0xAE,0x95), o3(0xE6,0xAE,0x9E), - o3(0xE6,0xAE,0xA4), o3(0xE6,0xAE,0xAA), - o3(0xE6,0xAE,0xAB), o3(0xE6,0xAE,0xAF), - o3(0xE6,0xAE,0xB2), o3(0xE6,0xAE,0xB1), - o3(0xE6,0xAE,0xB3), o3(0xE6,0xAE,0xB7), - o3(0xE6,0xAE,0xBC), o3(0xE6,0xAF,0x86), - o3(0xE6,0xAF,0x8B), o3(0xE6,0xAF,0x93), - o3(0xE6,0xAF,0x9F), o3(0xE6,0xAF,0xAC), - o3(0xE6,0xAF,0xAB), o3(0xE6,0xAF,0xB3), - o3(0xE6,0xAF,0xAF), o3(0xE9,0xBA,0xBE), - o3(0xE6,0xB0,0x88), o3(0xE6,0xB0,0x93), - o3(0xE6,0xB0,0x94), o3(0xE6,0xB0,0x9B), - o3(0xE6,0xB0,0xA4), o3(0xE6,0xB0,0xA3), - o3(0xE6,0xB1,0x9E), o3(0xE6,0xB1,0x95), - o3(0xE6,0xB1,0xA2), o3(0xE6,0xB1,0xAA), - o3(0xE6,0xB2,0x82), o3(0xE6,0xB2,0x8D), - o3(0xE6,0xB2,0x9A), o3(0xE6,0xB2,0x81), - o3(0xE6,0xB2,0x9B), o3(0xE6,0xB1,0xBE), - o3(0xE6,0xB1,0xA8), o3(0xE6,0xB1,0xB3), - o3(0xE6,0xB2,0x92), o3(0xE6,0xB2,0x90), - o3(0xE6,0xB3,0x84), o3(0xE6,0xB3,0xB1), - o3(0xE6,0xB3,0x93), o3(0xE6,0xB2,0xBD), - o3(0xE6,0xB3,0x97), o3(0xE6,0xB3,0x85), - o3(0xE6,0xB3,0x9D), o3(0xE6,0xB2,0xAE), - o3(0xE6,0xB2,0xB1), o3(0xE6,0xB2,0xBE), - UNDEF, -}; -static const BYTE_LOOKUP -from_EUC_JP_DD = { - from_EUC_JP_A1_offsets, - from_EUC_JP_DD_infos -}; - -static const struct byte_lookup* const -from_EUC_JP_DE_infos[95] = { - o3(0xE6,0xB2,0xBA), o3(0xE6,0xB3,0x9B), - o3(0xE6,0xB3,0xAF), o3(0xE6,0xB3,0x99), - o3(0xE6,0xB3,0xAA), o3(0xE6,0xB4,0x9F), - o3(0xE8,0xA1,0x8D), o3(0xE6,0xB4,0xB6), - o3(0xE6,0xB4,0xAB), o3(0xE6,0xB4,0xBD), - o3(0xE6,0xB4,0xB8), o3(0xE6,0xB4,0x99), - o3(0xE6,0xB4,0xB5), o3(0xE6,0xB4,0xB3), - o3(0xE6,0xB4,0x92), o3(0xE6,0xB4,0x8C), - o3(0xE6,0xB5,0xA3), o3(0xE6,0xB6,0x93), - o3(0xE6,0xB5,0xA4), o3(0xE6,0xB5,0x9A), - o3(0xE6,0xB5,0xB9), o3(0xE6,0xB5,0x99), - o3(0xE6,0xB6,0x8E), o3(0xE6,0xB6,0x95), - o3(0xE6,0xBF,0xA4), o3(0xE6,0xB6,0x85), - o3(0xE6,0xB7,0xB9), o3(0xE6,0xB8,0x95), - o3(0xE6,0xB8,0x8A), o3(0xE6,0xB6,0xB5), - o3(0xE6,0xB7,0x87), o3(0xE6,0xB7,0xA6), - o3(0xE6,0xB6,0xB8), o3(0xE6,0xB7,0x86), - o3(0xE6,0xB7,0xAC), o3(0xE6,0xB7,0x9E), - o3(0xE6,0xB7,0x8C), o3(0xE6,0xB7,0xA8), - o3(0xE6,0xB7,0x92), o3(0xE6,0xB7,0x85), - o3(0xE6,0xB7,0xBA), o3(0xE6,0xB7,0x99), - o3(0xE6,0xB7,0xA4), o3(0xE6,0xB7,0x95), - o3(0xE6,0xB7,0xAA), o3(0xE6,0xB7,0xAE), - o3(0xE6,0xB8,0xAD), o3(0xE6,0xB9,0xAE), - o3(0xE6,0xB8,0xAE), o3(0xE6,0xB8,0x99), - o3(0xE6,0xB9,0xB2), o3(0xE6,0xB9,0x9F), - o3(0xE6,0xB8,0xBE), o3(0xE6,0xB8,0xA3), - o3(0xE6,0xB9,0xAB), o3(0xE6,0xB8,0xAB), - o3(0xE6,0xB9,0xB6), o3(0xE6,0xB9,0x8D), - o3(0xE6,0xB8,0x9F), o3(0xE6,0xB9,0x83), - o3(0xE6,0xB8,0xBA), o3(0xE6,0xB9,0x8E), - o3(0xE6,0xB8,0xA4), o3(0xE6,0xBB,0xBF), - o3(0xE6,0xB8,0x9D), o3(0xE6,0xB8,0xB8), - o3(0xE6,0xBA,0x82), o3(0xE6,0xBA,0xAA), - o3(0xE6,0xBA,0x98), o3(0xE6,0xBB,0x89), - o3(0xE6,0xBA,0xB7), o3(0xE6,0xBB,0x93), - o3(0xE6,0xBA,0xBD), o3(0xE6,0xBA,0xAF), - o3(0xE6,0xBB,0x84), o3(0xE6,0xBA,0xB2), - o3(0xE6,0xBB,0x94), o3(0xE6,0xBB,0x95), - o3(0xE6,0xBA,0x8F), o3(0xE6,0xBA,0xA5), - o3(0xE6,0xBB,0x82), o3(0xE6,0xBA,0x9F), - o3(0xE6,0xBD,0x81), o3(0xE6,0xBC,0x91), - o3(0xE7,0x81,0x8C), o3(0xE6,0xBB,0xAC), - o3(0xE6,0xBB,0xB8), o3(0xE6,0xBB,0xBE), - o3(0xE6,0xBC,0xBF), o3(0xE6,0xBB,0xB2), - o3(0xE6,0xBC,0xB1), o3(0xE6,0xBB,0xAF), - o3(0xE6,0xBC,0xB2), o3(0xE6,0xBB,0x8C), - UNDEF, -}; -static const BYTE_LOOKUP -from_EUC_JP_DE = { - from_EUC_JP_A1_offsets, - from_EUC_JP_DE_infos -}; - -static const struct byte_lookup* const -from_EUC_JP_DF_infos[95] = { - o3(0xE6,0xBC,0xBE), o3(0xE6,0xBC,0x93), - o3(0xE6,0xBB,0xB7), o3(0xE6,0xBE,0x86), - o3(0xE6,0xBD,0xBA), o3(0xE6,0xBD,0xB8), - o3(0xE6,0xBE,0x81), o3(0xE6,0xBE,0x80), - o3(0xE6,0xBD,0xAF), o3(0xE6,0xBD,0x9B), - o3(0xE6,0xBF,0xB3), o3(0xE6,0xBD,0xAD), - o3(0xE6,0xBE,0x82), o3(0xE6,0xBD,0xBC), - o3(0xE6,0xBD,0x98), o3(0xE6,0xBE,0x8E), - o3(0xE6,0xBE,0x91), o3(0xE6,0xBF,0x82), - o3(0xE6,0xBD,0xA6), o3(0xE6,0xBE,0xB3), - o3(0xE6,0xBE,0xA3), o3(0xE6,0xBE,0xA1), - o3(0xE6,0xBE,0xA4), o3(0xE6,0xBE,0xB9), - o3(0xE6,0xBF,0x86), o3(0xE6,0xBE,0xAA), - o3(0xE6,0xBF,0x9F), o3(0xE6,0xBF,0x95), - o3(0xE6,0xBF,0xAC), o3(0xE6,0xBF,0x94), - o3(0xE6,0xBF,0x98), o3(0xE6,0xBF,0xB1), - o3(0xE6,0xBF,0xAE), o3(0xE6,0xBF,0x9B), - o3(0xE7,0x80,0x89), o3(0xE7,0x80,0x8B), - o3(0xE6,0xBF,0xBA), o3(0xE7,0x80,0x91), - o3(0xE7,0x80,0x81), o3(0xE7,0x80,0x8F), - o3(0xE6,0xBF,0xBE), o3(0xE7,0x80,0x9B), - o3(0xE7,0x80,0x9A), o3(0xE6,0xBD,0xB4), - o3(0xE7,0x80,0x9D), o3(0xE7,0x80,0x98), - o3(0xE7,0x80,0x9F), o3(0xE7,0x80,0xB0), - o3(0xE7,0x80,0xBE), o3(0xE7,0x80,0xB2), - o3(0xE7,0x81,0x91), o3(0xE7,0x81,0xA3), - o3(0xE7,0x82,0x99), o3(0xE7,0x82,0x92), - o3(0xE7,0x82,0xAF), o3(0xE7,0x83,0xB1), - o3(0xE7,0x82,0xAC), o3(0xE7,0x82,0xB8), - o3(0xE7,0x82,0xB3), o3(0xE7,0x82,0xAE), - o3(0xE7,0x83,0x9F), o3(0xE7,0x83,0x8B), - o3(0xE7,0x83,0x9D), o3(0xE7,0x83,0x99), - o3(0xE7,0x84,0x89), o3(0xE7,0x83,0xBD), - o3(0xE7,0x84,0x9C), o3(0xE7,0x84,0x99), - o3(0xE7,0x85,0xA5), o3(0xE7,0x85,0x95), - o3(0xE7,0x86,0x88), o3(0xE7,0x85,0xA6), - o3(0xE7,0x85,0xA2), o3(0xE7,0x85,0x8C), - o3(0xE7,0x85,0x96), o3(0xE7,0x85,0xAC), - o3(0xE7,0x86,0x8F), o3(0xE7,0x87,0xBB), - o3(0xE7,0x86,0x84), o3(0xE7,0x86,0x95), - o3(0xE7,0x86,0xA8), o3(0xE7,0x86,0xAC), - o3(0xE7,0x87,0x97), o3(0xE7,0x86,0xB9), - o3(0xE7,0x86,0xBE), o3(0xE7,0x87,0x92), - o3(0xE7,0x87,0x89), o3(0xE7,0x87,0x94), - o3(0xE7,0x87,0x8E), o3(0xE7,0x87,0xA0), - o3(0xE7,0x87,0xAC), o3(0xE7,0x87,0xA7), - o3(0xE7,0x87,0xB5), o3(0xE7,0x87,0xBC), - UNDEF, -}; -static const BYTE_LOOKUP -from_EUC_JP_DF = { - from_EUC_JP_A1_offsets, - from_EUC_JP_DF_infos -}; - -static const struct byte_lookup* const -from_EUC_JP_E0_infos[95] = { - o3(0xE7,0x87,0xB9), o3(0xE7,0x87,0xBF), - o3(0xE7,0x88,0x8D), o3(0xE7,0x88,0x90), - o3(0xE7,0x88,0x9B), o3(0xE7,0x88,0xA8), - o3(0xE7,0x88,0xAD), o3(0xE7,0x88,0xAC), - o3(0xE7,0x88,0xB0), o3(0xE7,0x88,0xB2), - o3(0xE7,0x88,0xBB), o3(0xE7,0x88,0xBC), - o3(0xE7,0x88,0xBF), o3(0xE7,0x89,0x80), - o3(0xE7,0x89,0x86), o3(0xE7,0x89,0x8B), - o3(0xE7,0x89,0x98), o3(0xE7,0x89,0xB4), - o3(0xE7,0x89,0xBE), o3(0xE7,0x8A,0x82), - o3(0xE7,0x8A,0x81), o3(0xE7,0x8A,0x87), - o3(0xE7,0x8A,0x92), o3(0xE7,0x8A,0x96), - o3(0xE7,0x8A,0xA2), o3(0xE7,0x8A,0xA7), - o3(0xE7,0x8A,0xB9), o3(0xE7,0x8A,0xB2), - o3(0xE7,0x8B,0x83), o3(0xE7,0x8B,0x86), - o3(0xE7,0x8B,0x84), o3(0xE7,0x8B,0x8E), - o3(0xE7,0x8B,0x92), o3(0xE7,0x8B,0xA2), - o3(0xE7,0x8B,0xA0), o3(0xE7,0x8B,0xA1), - o3(0xE7,0x8B,0xB9), o3(0xE7,0x8B,0xB7), - o3(0xE5,0x80,0x8F), o3(0xE7,0x8C,0x97), - o3(0xE7,0x8C,0x8A), o3(0xE7,0x8C,0x9C), - o3(0xE7,0x8C,0x96), o3(0xE7,0x8C,0x9D), - o3(0xE7,0x8C,0xB4), o3(0xE7,0x8C,0xAF), - o3(0xE7,0x8C,0xA9), o3(0xE7,0x8C,0xA5), - o3(0xE7,0x8C,0xBE), o3(0xE7,0x8D,0x8E), - o3(0xE7,0x8D,0x8F), o3(0xE9,0xBB,0x98), - o3(0xE7,0x8D,0x97), o3(0xE7,0x8D,0xAA), - o3(0xE7,0x8D,0xA8), o3(0xE7,0x8D,0xB0), - o3(0xE7,0x8D,0xB8), o3(0xE7,0x8D,0xB5), - o3(0xE7,0x8D,0xBB), o3(0xE7,0x8D,0xBA), - o3(0xE7,0x8F,0x88), o3(0xE7,0x8E,0xB3), - o3(0xE7,0x8F,0x8E), o3(0xE7,0x8E,0xBB), - o3(0xE7,0x8F,0x80), o3(0xE7,0x8F,0xA5), - o3(0xE7,0x8F,0xAE), o3(0xE7,0x8F,0x9E), - o3(0xE7,0x92,0xA2), o3(0xE7,0x90,0x85), - o3(0xE7,0x91,0xAF), o3(0xE7,0x90,0xA5), - o3(0xE7,0x8F,0xB8), o3(0xE7,0x90,0xB2), - o3(0xE7,0x90,0xBA), o3(0xE7,0x91,0x95), - o3(0xE7,0x90,0xBF), o3(0xE7,0x91,0x9F), - o3(0xE7,0x91,0x99), o3(0xE7,0x91,0x81), - o3(0xE7,0x91,0x9C), o3(0xE7,0x91,0xA9), - o3(0xE7,0x91,0xB0), o3(0xE7,0x91,0xA3), - o3(0xE7,0x91,0xAA), o3(0xE7,0x91,0xB6), - o3(0xE7,0x91,0xBE), o3(0xE7,0x92,0x8B), - o3(0xE7,0x92,0x9E), o3(0xE7,0x92,0xA7), - o3(0xE7,0x93,0x8A), o3(0xE7,0x93,0x8F), - o3(0xE7,0x93,0x94), o3(0xE7,0x8F,0xB1), - UNDEF, -}; -static const BYTE_LOOKUP -from_EUC_JP_E0 = { - from_EUC_JP_A1_offsets, - from_EUC_JP_E0_infos -}; - -static const struct byte_lookup* const -from_EUC_JP_E1_infos[95] = { - o3(0xE7,0x93,0xA0), o3(0xE7,0x93,0xA3), - o3(0xE7,0x93,0xA7), o3(0xE7,0x93,0xA9), - o3(0xE7,0x93,0xAE), o3(0xE7,0x93,0xB2), - o3(0xE7,0x93,0xB0), o3(0xE7,0x93,0xB1), - o3(0xE7,0x93,0xB8), o3(0xE7,0x93,0xB7), - o3(0xE7,0x94,0x84), o3(0xE7,0x94,0x83), - o3(0xE7,0x94,0x85), o3(0xE7,0x94,0x8C), - o3(0xE7,0x94,0x8E), o3(0xE7,0x94,0x8D), - o3(0xE7,0x94,0x95), o3(0xE7,0x94,0x93), - o3(0xE7,0x94,0x9E), o3(0xE7,0x94,0xA6), - o3(0xE7,0x94,0xAC), o3(0xE7,0x94,0xBC), - o3(0xE7,0x95,0x84), o3(0xE7,0x95,0x8D), - o3(0xE7,0x95,0x8A), o3(0xE7,0x95,0x89), - o3(0xE7,0x95,0x9B), o3(0xE7,0x95,0x86), - o3(0xE7,0x95,0x9A), o3(0xE7,0x95,0xA9), - o3(0xE7,0x95,0xA4), o3(0xE7,0x95,0xA7), - o3(0xE7,0x95,0xAB), o3(0xE7,0x95,0xAD), - o3(0xE7,0x95,0xB8), o3(0xE7,0x95,0xB6), - o3(0xE7,0x96,0x86), o3(0xE7,0x96,0x87), - o3(0xE7,0x95,0xB4), o3(0xE7,0x96,0x8A), - o3(0xE7,0x96,0x89), o3(0xE7,0x96,0x82), - o3(0xE7,0x96,0x94), o3(0xE7,0x96,0x9A), - o3(0xE7,0x96,0x9D), o3(0xE7,0x96,0xA5), - o3(0xE7,0x96,0xA3), o3(0xE7,0x97,0x82), - o3(0xE7,0x96,0xB3), o3(0xE7,0x97,0x83), - o3(0xE7,0x96,0xB5), o3(0xE7,0x96,0xBD), - o3(0xE7,0x96,0xB8), o3(0xE7,0x96,0xBC), - o3(0xE7,0x96,0xB1), o3(0xE7,0x97,0x8D), - o3(0xE7,0x97,0x8A), o3(0xE7,0x97,0x92), - o3(0xE7,0x97,0x99), o3(0xE7,0x97,0xA3), - o3(0xE7,0x97,0x9E), o3(0xE7,0x97,0xBE), - o3(0xE7,0x97,0xBF), o3(0xE7,0x97,0xBC), - o3(0xE7,0x98,0x81), o3(0xE7,0x97,0xB0), - o3(0xE7,0x97,0xBA), o3(0xE7,0x97,0xB2), - o3(0xE7,0x97,0xB3), o3(0xE7,0x98,0x8B), - o3(0xE7,0x98,0x8D), o3(0xE7,0x98,0x89), - o3(0xE7,0x98,0x9F), o3(0xE7,0x98,0xA7), - o3(0xE7,0x98,0xA0), o3(0xE7,0x98,0xA1), - o3(0xE7,0x98,0xA2), o3(0xE7,0x98,0xA4), - o3(0xE7,0x98,0xB4), o3(0xE7,0x98,0xB0), - o3(0xE7,0x98,0xBB), o3(0xE7,0x99,0x87), - o3(0xE7,0x99,0x88), o3(0xE7,0x99,0x86), - o3(0xE7,0x99,0x9C), o3(0xE7,0x99,0x98), - o3(0xE7,0x99,0xA1), o3(0xE7,0x99,0xA2), - o3(0xE7,0x99,0xA8), o3(0xE7,0x99,0xA9), - o3(0xE7,0x99,0xAA), o3(0xE7,0x99,0xA7), - o3(0xE7,0x99,0xAC), o3(0xE7,0x99,0xB0), - UNDEF, -}; -static const BYTE_LOOKUP -from_EUC_JP_E1 = { - from_EUC_JP_A1_offsets, - from_EUC_JP_E1_infos -}; - -static const struct byte_lookup* const -from_EUC_JP_E2_infos[95] = { - o3(0xE7,0x99,0xB2), o3(0xE7,0x99,0xB6), - o3(0xE7,0x99,0xB8), o3(0xE7,0x99,0xBC), - o3(0xE7,0x9A,0x80), o3(0xE7,0x9A,0x83), - o3(0xE7,0x9A,0x88), o3(0xE7,0x9A,0x8B), - o3(0xE7,0x9A,0x8E), o3(0xE7,0x9A,0x96), - o3(0xE7,0x9A,0x93), o3(0xE7,0x9A,0x99), - o3(0xE7,0x9A,0x9A), o3(0xE7,0x9A,0xB0), - o3(0xE7,0x9A,0xB4), o3(0xE7,0x9A,0xB8), - o3(0xE7,0x9A,0xB9), o3(0xE7,0x9A,0xBA), - o3(0xE7,0x9B,0x82), o3(0xE7,0x9B,0x8D), - o3(0xE7,0x9B,0x96), o3(0xE7,0x9B,0x92), - o3(0xE7,0x9B,0x9E), o3(0xE7,0x9B,0xA1), - o3(0xE7,0x9B,0xA5), o3(0xE7,0x9B,0xA7), - o3(0xE7,0x9B,0xAA), o3(0xE8,0x98,0xAF), - o3(0xE7,0x9B,0xBB), o3(0xE7,0x9C,0x88), - o3(0xE7,0x9C,0x87), o3(0xE7,0x9C,0x84), - o3(0xE7,0x9C,0xA9), o3(0xE7,0x9C,0xA4), - o3(0xE7,0x9C,0x9E), o3(0xE7,0x9C,0xA5), - o3(0xE7,0x9C,0xA6), o3(0xE7,0x9C,0x9B), - o3(0xE7,0x9C,0xB7), o3(0xE7,0x9C,0xB8), - o3(0xE7,0x9D,0x87), o3(0xE7,0x9D,0x9A), - o3(0xE7,0x9D,0xA8), o3(0xE7,0x9D,0xAB), - o3(0xE7,0x9D,0x9B), o3(0xE7,0x9D,0xA5), - o3(0xE7,0x9D,0xBF), o3(0xE7,0x9D,0xBE), - o3(0xE7,0x9D,0xB9), o3(0xE7,0x9E,0x8E), - o3(0xE7,0x9E,0x8B), o3(0xE7,0x9E,0x91), - o3(0xE7,0x9E,0xA0), o3(0xE7,0x9E,0x9E), - o3(0xE7,0x9E,0xB0), o3(0xE7,0x9E,0xB6), - o3(0xE7,0x9E,0xB9), o3(0xE7,0x9E,0xBF), - o3(0xE7,0x9E,0xBC), o3(0xE7,0x9E,0xBD), - o3(0xE7,0x9E,0xBB), o3(0xE7,0x9F,0x87), - o3(0xE7,0x9F,0x8D), o3(0xE7,0x9F,0x97), - o3(0xE7,0x9F,0x9A), o3(0xE7,0x9F,0x9C), - o3(0xE7,0x9F,0xA3), o3(0xE7,0x9F,0xAE), - o3(0xE7,0x9F,0xBC), o3(0xE7,0xA0,0x8C), - o3(0xE7,0xA0,0x92), o3(0xE7,0xA4,0xA6), - o3(0xE7,0xA0,0xA0), o3(0xE7,0xA4,0xAA), - o3(0xE7,0xA1,0x85), o3(0xE7,0xA2,0x8E), - o3(0xE7,0xA1,0xB4), o3(0xE7,0xA2,0x86), - o3(0xE7,0xA1,0xBC), o3(0xE7,0xA2,0x9A), - o3(0xE7,0xA2,0x8C), o3(0xE7,0xA2,0xA3), - o3(0xE7,0xA2,0xB5), o3(0xE7,0xA2,0xAA), - o3(0xE7,0xA2,0xAF), o3(0xE7,0xA3,0x91), - o3(0xE7,0xA3,0x86), o3(0xE7,0xA3,0x8B), - o3(0xE7,0xA3,0x94), o3(0xE7,0xA2,0xBE), - o3(0xE7,0xA2,0xBC), o3(0xE7,0xA3,0x85), - o3(0xE7,0xA3,0x8A), o3(0xE7,0xA3,0xAC), - UNDEF, -}; -static const BYTE_LOOKUP -from_EUC_JP_E2 = { - from_EUC_JP_A1_offsets, - from_EUC_JP_E2_infos -}; - -static const struct byte_lookup* const -from_EUC_JP_E3_infos[95] = { - o3(0xE7,0xA3,0xA7), o3(0xE7,0xA3,0x9A), - o3(0xE7,0xA3,0xBD), o3(0xE7,0xA3,0xB4), - o3(0xE7,0xA4,0x87), o3(0xE7,0xA4,0x92), - o3(0xE7,0xA4,0x91), o3(0xE7,0xA4,0x99), - o3(0xE7,0xA4,0xAC), o3(0xE7,0xA4,0xAB), - o3(0xE7,0xA5,0x80), o3(0xE7,0xA5,0xA0), - o3(0xE7,0xA5,0x97), o3(0xE7,0xA5,0x9F), - o3(0xE7,0xA5,0x9A), o3(0xE7,0xA5,0x95), - o3(0xE7,0xA5,0x93), o3(0xE7,0xA5,0xBA), - o3(0xE7,0xA5,0xBF), o3(0xE7,0xA6,0x8A), - o3(0xE7,0xA6,0x9D), o3(0xE7,0xA6,0xA7), - o3(0xE9,0xBD,0x8B), o3(0xE7,0xA6,0xAA), - o3(0xE7,0xA6,0xAE), o3(0xE7,0xA6,0xB3), - o3(0xE7,0xA6,0xB9), o3(0xE7,0xA6,0xBA), - o3(0xE7,0xA7,0x89), o3(0xE7,0xA7,0x95), - o3(0xE7,0xA7,0xA7), o3(0xE7,0xA7,0xAC), - o3(0xE7,0xA7,0xA1), o3(0xE7,0xA7,0xA3), - o3(0xE7,0xA8,0x88), o3(0xE7,0xA8,0x8D), - o3(0xE7,0xA8,0x98), o3(0xE7,0xA8,0x99), - o3(0xE7,0xA8,0xA0), o3(0xE7,0xA8,0x9F), - o3(0xE7,0xA6,0x80), o3(0xE7,0xA8,0xB1), - o3(0xE7,0xA8,0xBB), o3(0xE7,0xA8,0xBE), - o3(0xE7,0xA8,0xB7), o3(0xE7,0xA9,0x83), - o3(0xE7,0xA9,0x97), o3(0xE7,0xA9,0x89), - o3(0xE7,0xA9,0xA1), o3(0xE7,0xA9,0xA2), - o3(0xE7,0xA9,0xA9), o3(0xE9,0xBE,0x9D), - o3(0xE7,0xA9,0xB0), o3(0xE7,0xA9,0xB9), - o3(0xE7,0xA9,0xBD), o3(0xE7,0xAA,0x88), - o3(0xE7,0xAA,0x97), o3(0xE7,0xAA,0x95), - o3(0xE7,0xAA,0x98), o3(0xE7,0xAA,0x96), - o3(0xE7,0xAA,0xA9), o3(0xE7,0xAB,0x88), - o3(0xE7,0xAA,0xB0), o3(0xE7,0xAA,0xB6), - o3(0xE7,0xAB,0x85), o3(0xE7,0xAB,0x84), - o3(0xE7,0xAA,0xBF), o3(0xE9,0x82,0x83), - o3(0xE7,0xAB,0x87), o3(0xE7,0xAB,0x8A), - o3(0xE7,0xAB,0x8D), o3(0xE7,0xAB,0x8F), - o3(0xE7,0xAB,0x95), o3(0xE7,0xAB,0x93), - o3(0xE7,0xAB,0x99), o3(0xE7,0xAB,0x9A), - o3(0xE7,0xAB,0x9D), o3(0xE7,0xAB,0xA1), - o3(0xE7,0xAB,0xA2), o3(0xE7,0xAB,0xA6), - o3(0xE7,0xAB,0xAD), o3(0xE7,0xAB,0xB0), - o3(0xE7,0xAC,0x82), o3(0xE7,0xAC,0x8F), - o3(0xE7,0xAC,0x8A), o3(0xE7,0xAC,0x86), - o3(0xE7,0xAC,0xB3), o3(0xE7,0xAC,0x98), - o3(0xE7,0xAC,0x99), o3(0xE7,0xAC,0x9E), - o3(0xE7,0xAC,0xB5), o3(0xE7,0xAC,0xA8), - o3(0xE7,0xAC,0xB6), o3(0xE7,0xAD,0x90), - UNDEF, -}; -static const BYTE_LOOKUP -from_EUC_JP_E3 = { - from_EUC_JP_A1_offsets, - from_EUC_JP_E3_infos -}; - -static const struct byte_lookup* const -from_EUC_JP_E4_infos[95] = { - o3(0xE7,0xAD,0xBA), o3(0xE7,0xAC,0x84), - o3(0xE7,0xAD,0x8D), o3(0xE7,0xAC,0x8B), - o3(0xE7,0xAD,0x8C), o3(0xE7,0xAD,0x85), - o3(0xE7,0xAD,0xB5), o3(0xE7,0xAD,0xA5), - o3(0xE7,0xAD,0xB4), o3(0xE7,0xAD,0xA7), - o3(0xE7,0xAD,0xB0), o3(0xE7,0xAD,0xB1), - o3(0xE7,0xAD,0xAC), o3(0xE7,0xAD,0xAE), - o3(0xE7,0xAE,0x9D), o3(0xE7,0xAE,0x98), - o3(0xE7,0xAE,0x9F), o3(0xE7,0xAE,0x8D), - o3(0xE7,0xAE,0x9C), o3(0xE7,0xAE,0x9A), - o3(0xE7,0xAE,0x8B), o3(0xE7,0xAE,0x92), - o3(0xE7,0xAE,0x8F), o3(0xE7,0xAD,0x9D), - o3(0xE7,0xAE,0x99), o3(0xE7,0xAF,0x8B), - o3(0xE7,0xAF,0x81), o3(0xE7,0xAF,0x8C), - o3(0xE7,0xAF,0x8F), o3(0xE7,0xAE,0xB4), - o3(0xE7,0xAF,0x86), o3(0xE7,0xAF,0x9D), - o3(0xE7,0xAF,0xA9), o3(0xE7,0xB0,0x91), - o3(0xE7,0xB0,0x94), o3(0xE7,0xAF,0xA6), - o3(0xE7,0xAF,0xA5), o3(0xE7,0xB1,0xA0), - o3(0xE7,0xB0,0x80), o3(0xE7,0xB0,0x87), - o3(0xE7,0xB0,0x93), o3(0xE7,0xAF,0xB3), - o3(0xE7,0xAF,0xB7), o3(0xE7,0xB0,0x97), - o3(0xE7,0xB0,0x8D), o3(0xE7,0xAF,0xB6), - o3(0xE7,0xB0,0xA3), o3(0xE7,0xB0,0xA7), - o3(0xE7,0xB0,0xAA), o3(0xE7,0xB0,0x9F), - o3(0xE7,0xB0,0xB7), o3(0xE7,0xB0,0xAB), - o3(0xE7,0xB0,0xBD), o3(0xE7,0xB1,0x8C), - o3(0xE7,0xB1,0x83), o3(0xE7,0xB1,0x94), - o3(0xE7,0xB1,0x8F), o3(0xE7,0xB1,0x80), - o3(0xE7,0xB1,0x90), o3(0xE7,0xB1,0x98), - o3(0xE7,0xB1,0x9F), o3(0xE7,0xB1,0xA4), - o3(0xE7,0xB1,0x96), o3(0xE7,0xB1,0xA5), - o3(0xE7,0xB1,0xAC), o3(0xE7,0xB1,0xB5), - o3(0xE7,0xB2,0x83), o3(0xE7,0xB2,0x90), - o3(0xE7,0xB2,0xA4), o3(0xE7,0xB2,0xAD), - o3(0xE7,0xB2,0xA2), o3(0xE7,0xB2,0xAB), - o3(0xE7,0xB2,0xA1), o3(0xE7,0xB2,0xA8), - o3(0xE7,0xB2,0xB3), o3(0xE7,0xB2,0xB2), - o3(0xE7,0xB2,0xB1), o3(0xE7,0xB2,0xAE), - o3(0xE7,0xB2,0xB9), o3(0xE7,0xB2,0xBD), - o3(0xE7,0xB3,0x80), o3(0xE7,0xB3,0x85), - o3(0xE7,0xB3,0x82), o3(0xE7,0xB3,0x98), - o3(0xE7,0xB3,0x92), o3(0xE7,0xB3,0x9C), - o3(0xE7,0xB3,0xA2), o3(0xE9,0xAC,0xBB), - o3(0xE7,0xB3,0xAF), o3(0xE7,0xB3,0xB2), - o3(0xE7,0xB3,0xB4), o3(0xE7,0xB3,0xB6), - o3(0xE7,0xB3,0xBA), o3(0xE7,0xB4,0x86), - UNDEF, -}; -static const BYTE_LOOKUP -from_EUC_JP_E4 = { - from_EUC_JP_A1_offsets, - from_EUC_JP_E4_infos -}; - -static const struct byte_lookup* const -from_EUC_JP_E5_infos[95] = { - o3(0xE7,0xB4,0x82), o3(0xE7,0xB4,0x9C), - o3(0xE7,0xB4,0x95), o3(0xE7,0xB4,0x8A), - o3(0xE7,0xB5,0x85), o3(0xE7,0xB5,0x8B), - o3(0xE7,0xB4,0xAE), o3(0xE7,0xB4,0xB2), - o3(0xE7,0xB4,0xBF), o3(0xE7,0xB4,0xB5), - o3(0xE7,0xB5,0x86), o3(0xE7,0xB5,0xB3), - o3(0xE7,0xB5,0x96), o3(0xE7,0xB5,0x8E), - o3(0xE7,0xB5,0xB2), o3(0xE7,0xB5,0xA8), - o3(0xE7,0xB5,0xAE), o3(0xE7,0xB5,0x8F), - o3(0xE7,0xB5,0xA3), o3(0xE7,0xB6,0x93), - o3(0xE7,0xB6,0x89), o3(0xE7,0xB5,0x9B), - o3(0xE7,0xB6,0x8F), o3(0xE7,0xB5,0xBD), - o3(0xE7,0xB6,0x9B), o3(0xE7,0xB6,0xBA), - o3(0xE7,0xB6,0xAE), o3(0xE7,0xB6,0xA3), - o3(0xE7,0xB6,0xB5), o3(0xE7,0xB7,0x87), - o3(0xE7,0xB6,0xBD), o3(0xE7,0xB6,0xAB), - o3(0xE7,0xB8,0xBD), o3(0xE7,0xB6,0xA2), - o3(0xE7,0xB6,0xAF), o3(0xE7,0xB7,0x9C), - o3(0xE7,0xB6,0xB8), o3(0xE7,0xB6,0x9F), - o3(0xE7,0xB6,0xB0), o3(0xE7,0xB7,0x98), - o3(0xE7,0xB7,0x9D), o3(0xE7,0xB7,0xA4), - o3(0xE7,0xB7,0x9E), o3(0xE7,0xB7,0xBB), - o3(0xE7,0xB7,0xB2), o3(0xE7,0xB7,0xA1), - o3(0xE7,0xB8,0x85), o3(0xE7,0xB8,0x8A), - o3(0xE7,0xB8,0xA3), o3(0xE7,0xB8,0xA1), - o3(0xE7,0xB8,0x92), o3(0xE7,0xB8,0xB1), - o3(0xE7,0xB8,0x9F), o3(0xE7,0xB8,0x89), - o3(0xE7,0xB8,0x8B), o3(0xE7,0xB8,0xA2), - o3(0xE7,0xB9,0x86), o3(0xE7,0xB9,0xA6), - o3(0xE7,0xB8,0xBB), o3(0xE7,0xB8,0xB5), - o3(0xE7,0xB8,0xB9), o3(0xE7,0xB9,0x83), - o3(0xE7,0xB8,0xB7), o3(0xE7,0xB8,0xB2), - o3(0xE7,0xB8,0xBA), o3(0xE7,0xB9,0xA7), - o3(0xE7,0xB9,0x9D), o3(0xE7,0xB9,0x96), - o3(0xE7,0xB9,0x9E), o3(0xE7,0xB9,0x99), - o3(0xE7,0xB9,0x9A), o3(0xE7,0xB9,0xB9), - o3(0xE7,0xB9,0xAA), o3(0xE7,0xB9,0xA9), - o3(0xE7,0xB9,0xBC), o3(0xE7,0xB9,0xBB), - o3(0xE7,0xBA,0x83), o3(0xE7,0xB7,0x95), - o3(0xE7,0xB9,0xBD), o3(0xE8,0xBE,0xAE), - o3(0xE7,0xB9,0xBF), o3(0xE7,0xBA,0x88), - o3(0xE7,0xBA,0x89), o3(0xE7,0xBA,0x8C), - o3(0xE7,0xBA,0x92), o3(0xE7,0xBA,0x90), - o3(0xE7,0xBA,0x93), o3(0xE7,0xBA,0x94), - o3(0xE7,0xBA,0x96), o3(0xE7,0xBA,0x8E), - o3(0xE7,0xBA,0x9B), o3(0xE7,0xBA,0x9C), - o3(0xE7,0xBC,0xB8), o3(0xE7,0xBC,0xBA), - UNDEF, -}; -static const BYTE_LOOKUP -from_EUC_JP_E5 = { - from_EUC_JP_A1_offsets, - from_EUC_JP_E5_infos -}; - -static const struct byte_lookup* const -from_EUC_JP_E6_infos[95] = { - o3(0xE7,0xBD,0x85), o3(0xE7,0xBD,0x8C), - o3(0xE7,0xBD,0x8D), o3(0xE7,0xBD,0x8E), - o3(0xE7,0xBD,0x90), o3(0xE7,0xBD,0x91), - o3(0xE7,0xBD,0x95), o3(0xE7,0xBD,0x94), - o3(0xE7,0xBD,0x98), o3(0xE7,0xBD,0x9F), - o3(0xE7,0xBD,0xA0), o3(0xE7,0xBD,0xA8), - o3(0xE7,0xBD,0xA9), o3(0xE7,0xBD,0xA7), - o3(0xE7,0xBD,0xB8), o3(0xE7,0xBE,0x82), - o3(0xE7,0xBE,0x86), o3(0xE7,0xBE,0x83), - o3(0xE7,0xBE,0x88), o3(0xE7,0xBE,0x87), - o3(0xE7,0xBE,0x8C), o3(0xE7,0xBE,0x94), - o3(0xE7,0xBE,0x9E), o3(0xE7,0xBE,0x9D), - o3(0xE7,0xBE,0x9A), o3(0xE7,0xBE,0xA3), - o3(0xE7,0xBE,0xAF), o3(0xE7,0xBE,0xB2), - o3(0xE7,0xBE,0xB9), o3(0xE7,0xBE,0xAE), - o3(0xE7,0xBE,0xB6), o3(0xE7,0xBE,0xB8), - o3(0xE8,0xAD,0xB1), o3(0xE7,0xBF,0x85), - o3(0xE7,0xBF,0x86), o3(0xE7,0xBF,0x8A), - o3(0xE7,0xBF,0x95), o3(0xE7,0xBF,0x94), - o3(0xE7,0xBF,0xA1), o3(0xE7,0xBF,0xA6), - o3(0xE7,0xBF,0xA9), o3(0xE7,0xBF,0xB3), - o3(0xE7,0xBF,0xB9), o3(0xE9,0xA3,0x9C), - o3(0xE8,0x80,0x86), o3(0xE8,0x80,0x84), - o3(0xE8,0x80,0x8B), o3(0xE8,0x80,0x92), - o3(0xE8,0x80,0x98), o3(0xE8,0x80,0x99), - o3(0xE8,0x80,0x9C), o3(0xE8,0x80,0xA1), - o3(0xE8,0x80,0xA8), o3(0xE8,0x80,0xBF), - o3(0xE8,0x80,0xBB), o3(0xE8,0x81,0x8A), - o3(0xE8,0x81,0x86), o3(0xE8,0x81,0x92), - o3(0xE8,0x81,0x98), o3(0xE8,0x81,0x9A), - o3(0xE8,0x81,0x9F), o3(0xE8,0x81,0xA2), - o3(0xE8,0x81,0xA8), o3(0xE8,0x81,0xB3), - o3(0xE8,0x81,0xB2), o3(0xE8,0x81,0xB0), - o3(0xE8,0x81,0xB6), o3(0xE8,0x81,0xB9), - o3(0xE8,0x81,0xBD), o3(0xE8,0x81,0xBF), - o3(0xE8,0x82,0x84), o3(0xE8,0x82,0x86), - o3(0xE8,0x82,0x85), o3(0xE8,0x82,0x9B), - o3(0xE8,0x82,0x93), o3(0xE8,0x82,0x9A), - o3(0xE8,0x82,0xAD), o3(0xE5,0x86,0x90), - o3(0xE8,0x82,0xAC), o3(0xE8,0x83,0x9B), - o3(0xE8,0x83,0xA5), o3(0xE8,0x83,0x99), - o3(0xE8,0x83,0x9D), o3(0xE8,0x83,0x84), - o3(0xE8,0x83,0x9A), o3(0xE8,0x83,0x96), - o3(0xE8,0x84,0x89), o3(0xE8,0x83,0xAF), - o3(0xE8,0x83,0xB1), o3(0xE8,0x84,0x9B), - o3(0xE8,0x84,0xA9), o3(0xE8,0x84,0xA3), - o3(0xE8,0x84,0xAF), o3(0xE8,0x85,0x8B), - UNDEF, -}; -static const BYTE_LOOKUP -from_EUC_JP_E6 = { - from_EUC_JP_A1_offsets, - from_EUC_JP_E6_infos -}; - -static const struct byte_lookup* const -from_EUC_JP_E7_infos[95] = { - o3(0xE9,0x9A,0x8B), o3(0xE8,0x85,0x86), - o3(0xE8,0x84,0xBE), o3(0xE8,0x85,0x93), - o3(0xE8,0x85,0x91), o3(0xE8,0x83,0xBC), - o3(0xE8,0x85,0xB1), o3(0xE8,0x85,0xAE), - o3(0xE8,0x85,0xA5), o3(0xE8,0x85,0xA6), - o3(0xE8,0x85,0xB4), o3(0xE8,0x86,0x83), - o3(0xE8,0x86,0x88), o3(0xE8,0x86,0x8A), - o3(0xE8,0x86,0x80), o3(0xE8,0x86,0x82), - o3(0xE8,0x86,0xA0), o3(0xE8,0x86,0x95), - o3(0xE8,0x86,0xA4), o3(0xE8,0x86,0xA3), - o3(0xE8,0x85,0x9F), o3(0xE8,0x86,0x93), - o3(0xE8,0x86,0xA9), o3(0xE8,0x86,0xB0), - o3(0xE8,0x86,0xB5), o3(0xE8,0x86,0xBE), - o3(0xE8,0x86,0xB8), o3(0xE8,0x86,0xBD), - o3(0xE8,0x87,0x80), o3(0xE8,0x87,0x82), - o3(0xE8,0x86,0xBA), o3(0xE8,0x87,0x89), - o3(0xE8,0x87,0x8D), o3(0xE8,0x87,0x91), - o3(0xE8,0x87,0x99), o3(0xE8,0x87,0x98), - o3(0xE8,0x87,0x88), o3(0xE8,0x87,0x9A), - o3(0xE8,0x87,0x9F), o3(0xE8,0x87,0xA0), - o3(0xE8,0x87,0xA7), o3(0xE8,0x87,0xBA), - o3(0xE8,0x87,0xBB), o3(0xE8,0x87,0xBE), - o3(0xE8,0x88,0x81), o3(0xE8,0x88,0x82), - o3(0xE8,0x88,0x85), o3(0xE8,0x88,0x87), - o3(0xE8,0x88,0x8A), o3(0xE8,0x88,0x8D), - o3(0xE8,0x88,0x90), o3(0xE8,0x88,0x96), - o3(0xE8,0x88,0xA9), o3(0xE8,0x88,0xAB), - o3(0xE8,0x88,0xB8), o3(0xE8,0x88,0xB3), - o3(0xE8,0x89,0x80), o3(0xE8,0x89,0x99), - o3(0xE8,0x89,0x98), o3(0xE8,0x89,0x9D), - o3(0xE8,0x89,0x9A), o3(0xE8,0x89,0x9F), - o3(0xE8,0x89,0xA4), o3(0xE8,0x89,0xA2), - o3(0xE8,0x89,0xA8), o3(0xE8,0x89,0xAA), - o3(0xE8,0x89,0xAB), o3(0xE8,0x88,0xAE), - o3(0xE8,0x89,0xB1), o3(0xE8,0x89,0xB7), - o3(0xE8,0x89,0xB8), o3(0xE8,0x89,0xBE), - o3(0xE8,0x8A,0x8D), o3(0xE8,0x8A,0x92), - o3(0xE8,0x8A,0xAB), o3(0xE8,0x8A,0x9F), - o3(0xE8,0x8A,0xBB), o3(0xE8,0x8A,0xAC), - o3(0xE8,0x8B,0xA1), o3(0xE8,0x8B,0xA3), - o3(0xE8,0x8B,0x9F), o3(0xE8,0x8B,0x92), - o3(0xE8,0x8B,0xB4), o3(0xE8,0x8B,0xB3), - o3(0xE8,0x8B,0xBA), o3(0xE8,0x8E,0x93), - o3(0xE8,0x8C,0x83), o3(0xE8,0x8B,0xBB), - o3(0xE8,0x8B,0xB9), o3(0xE8,0x8B,0x9E), - o3(0xE8,0x8C,0x86), o3(0xE8,0x8B,0x9C), - o3(0xE8,0x8C,0x89), o3(0xE8,0x8B,0x99), - UNDEF, -}; -static const BYTE_LOOKUP -from_EUC_JP_E7 = { - from_EUC_JP_A1_offsets, - from_EUC_JP_E7_infos -}; - -static const struct byte_lookup* const -from_EUC_JP_E8_infos[95] = { - o3(0xE8,0x8C,0xB5), o3(0xE8,0x8C,0xB4), - o3(0xE8,0x8C,0x96), o3(0xE8,0x8C,0xB2), - o3(0xE8,0x8C,0xB1), o3(0xE8,0x8D,0x80), - o3(0xE8,0x8C,0xB9), o3(0xE8,0x8D,0x90), - o3(0xE8,0x8D,0x85), o3(0xE8,0x8C,0xAF), - o3(0xE8,0x8C,0xAB), o3(0xE8,0x8C,0x97), - o3(0xE8,0x8C,0x98), o3(0xE8,0x8E,0x85), - o3(0xE8,0x8E,0x9A), o3(0xE8,0x8E,0xAA), - o3(0xE8,0x8E,0x9F), o3(0xE8,0x8E,0xA2), - o3(0xE8,0x8E,0x96), o3(0xE8,0x8C,0xA3), - o3(0xE8,0x8E,0x8E), o3(0xE8,0x8E,0x87), - o3(0xE8,0x8E,0x8A), o3(0xE8,0x8D,0xBC), - o3(0xE8,0x8E,0xB5), o3(0xE8,0x8D,0xB3), - o3(0xE8,0x8D,0xB5), o3(0xE8,0x8E,0xA0), - o3(0xE8,0x8E,0x89), o3(0xE8,0x8E,0xA8), - o3(0xE8,0x8F,0xB4), o3(0xE8,0x90,0x93), - o3(0xE8,0x8F,0xAB), o3(0xE8,0x8F,0x8E), - o3(0xE8,0x8F,0xBD), o3(0xE8,0x90,0x83), - o3(0xE8,0x8F,0x98), o3(0xE8,0x90,0x8B), - o3(0xE8,0x8F,0x81), o3(0xE8,0x8F,0xB7), - o3(0xE8,0x90,0x87), o3(0xE8,0x8F,0xA0), - o3(0xE8,0x8F,0xB2), o3(0xE8,0x90,0x8D), - o3(0xE8,0x90,0xA2), o3(0xE8,0x90,0xA0), - o3(0xE8,0x8E,0xBD), o3(0xE8,0x90,0xB8), - o3(0xE8,0x94,0x86), o3(0xE8,0x8F,0xBB), - o3(0xE8,0x91,0xAD), o3(0xE8,0x90,0xAA), - o3(0xE8,0x90,0xBC), o3(0xE8,0x95,0x9A), - o3(0xE8,0x92,0x84), o3(0xE8,0x91,0xB7), - o3(0xE8,0x91,0xAB), o3(0xE8,0x92,0xAD), - o3(0xE8,0x91,0xAE), o3(0xE8,0x92,0x82), - o3(0xE8,0x91,0xA9), o3(0xE8,0x91,0x86), - o3(0xE8,0x90,0xAC), o3(0xE8,0x91,0xAF), - o3(0xE8,0x91,0xB9), o3(0xE8,0x90,0xB5), - o3(0xE8,0x93,0x8A), o3(0xE8,0x91,0xA2), - o3(0xE8,0x92,0xB9), o3(0xE8,0x92,0xBF), - o3(0xE8,0x92,0x9F), o3(0xE8,0x93,0x99), - o3(0xE8,0x93,0x8D), o3(0xE8,0x92,0xBB), - o3(0xE8,0x93,0x9A), o3(0xE8,0x93,0x90), - o3(0xE8,0x93,0x81), o3(0xE8,0x93,0x86), - o3(0xE8,0x93,0x96), o3(0xE8,0x92,0xA1), - o3(0xE8,0x94,0xA1), o3(0xE8,0x93,0xBF), - o3(0xE8,0x93,0xB4), o3(0xE8,0x94,0x97), - o3(0xE8,0x94,0x98), o3(0xE8,0x94,0xAC), - o3(0xE8,0x94,0x9F), o3(0xE8,0x94,0x95), - o3(0xE8,0x94,0x94), o3(0xE8,0x93,0xBC), - o3(0xE8,0x95,0x80), o3(0xE8,0x95,0xA3), - o3(0xE8,0x95,0x98), o3(0xE8,0x95,0x88), - UNDEF, -}; -static const BYTE_LOOKUP -from_EUC_JP_E8 = { - from_EUC_JP_A1_offsets, - from_EUC_JP_E8_infos -}; - -static const struct byte_lookup* const -from_EUC_JP_E9_infos[95] = { - o3(0xE8,0x95,0x81), o3(0xE8,0x98,0x82), - o3(0xE8,0x95,0x8B), o3(0xE8,0x95,0x95), - o3(0xE8,0x96,0x80), o3(0xE8,0x96,0xA4), - o3(0xE8,0x96,0x88), o3(0xE8,0x96,0x91), - o3(0xE8,0x96,0x8A), o3(0xE8,0x96,0xA8), - o3(0xE8,0x95,0xAD), o3(0xE8,0x96,0x94), - o3(0xE8,0x96,0x9B), o3(0xE8,0x97,0xAA), - o3(0xE8,0x96,0x87), o3(0xE8,0x96,0x9C), - o3(0xE8,0x95,0xB7), o3(0xE8,0x95,0xBE), - o3(0xE8,0x96,0x90), o3(0xE8,0x97,0x89), - o3(0xE8,0x96,0xBA), o3(0xE8,0x97,0x8F), - o3(0xE8,0x96,0xB9), o3(0xE8,0x97,0x90), - o3(0xE8,0x97,0x95), o3(0xE8,0x97,0x9D), - o3(0xE8,0x97,0xA5), o3(0xE8,0x97,0x9C), - o3(0xE8,0x97,0xB9), o3(0xE8,0x98,0x8A), - o3(0xE8,0x98,0x93), o3(0xE8,0x98,0x8B), - o3(0xE8,0x97,0xBE), o3(0xE8,0x97,0xBA), - o3(0xE8,0x98,0x86), o3(0xE8,0x98,0xA2), - o3(0xE8,0x98,0x9A), o3(0xE8,0x98,0xB0), - o3(0xE8,0x98,0xBF), o3(0xE8,0x99,0x8D), - o3(0xE4,0xB9,0x95), o3(0xE8,0x99,0x94), - o3(0xE8,0x99,0x9F), o3(0xE8,0x99,0xA7), - o3(0xE8,0x99,0xB1), o3(0xE8,0x9A,0x93), - o3(0xE8,0x9A,0xA3), o3(0xE8,0x9A,0xA9), - o3(0xE8,0x9A,0xAA), o3(0xE8,0x9A,0x8B), - o3(0xE8,0x9A,0x8C), o3(0xE8,0x9A,0xB6), - o3(0xE8,0x9A,0xAF), o3(0xE8,0x9B,0x84), - o3(0xE8,0x9B,0x86), o3(0xE8,0x9A,0xB0), - o3(0xE8,0x9B,0x89), o3(0xE8,0xA0,0xA3), - o3(0xE8,0x9A,0xAB), o3(0xE8,0x9B,0x94), - o3(0xE8,0x9B,0x9E), o3(0xE8,0x9B,0xA9), - o3(0xE8,0x9B,0xAC), o3(0xE8,0x9B,0x9F), - o3(0xE8,0x9B,0x9B), o3(0xE8,0x9B,0xAF), - o3(0xE8,0x9C,0x92), o3(0xE8,0x9C,0x86), - o3(0xE8,0x9C,0x88), o3(0xE8,0x9C,0x80), - o3(0xE8,0x9C,0x83), o3(0xE8,0x9B,0xBB), - o3(0xE8,0x9C,0x91), o3(0xE8,0x9C,0x89), - o3(0xE8,0x9C,0x8D), o3(0xE8,0x9B,0xB9), - o3(0xE8,0x9C,0x8A), o3(0xE8,0x9C,0xB4), - o3(0xE8,0x9C,0xBF), o3(0xE8,0x9C,0xB7), - o3(0xE8,0x9C,0xBB), o3(0xE8,0x9C,0xA5), - o3(0xE8,0x9C,0xA9), o3(0xE8,0x9C,0x9A), - o3(0xE8,0x9D,0xA0), o3(0xE8,0x9D,0x9F), - o3(0xE8,0x9D,0xB8), o3(0xE8,0x9D,0x8C), - o3(0xE8,0x9D,0x8E), o3(0xE8,0x9D,0xB4), - o3(0xE8,0x9D,0x97), o3(0xE8,0x9D,0xA8), - o3(0xE8,0x9D,0xAE), o3(0xE8,0x9D,0x99), - UNDEF, -}; -static const BYTE_LOOKUP -from_EUC_JP_E9 = { - from_EUC_JP_A1_offsets, - from_EUC_JP_E9_infos -}; - -static const struct byte_lookup* const -from_EUC_JP_EA_infos[95] = { - o3(0xE8,0x9D,0x93), o3(0xE8,0x9D,0xA3), - o3(0xE8,0x9D,0xAA), o3(0xE8,0xA0,0x85), - o3(0xE8,0x9E,0xA2), o3(0xE8,0x9E,0x9F), - o3(0xE8,0x9E,0x82), o3(0xE8,0x9E,0xAF), - o3(0xE8,0x9F,0x8B), o3(0xE8,0x9E,0xBD), - o3(0xE8,0x9F,0x80), o3(0xE8,0x9F,0x90), - o3(0xE9,0x9B,0x96), o3(0xE8,0x9E,0xAB), - o3(0xE8,0x9F,0x84), o3(0xE8,0x9E,0xB3), - o3(0xE8,0x9F,0x87), o3(0xE8,0x9F,0x86), - o3(0xE8,0x9E,0xBB), o3(0xE8,0x9F,0xAF), - o3(0xE8,0x9F,0xB2), o3(0xE8,0x9F,0xA0), - o3(0xE8,0xA0,0x8F), o3(0xE8,0xA0,0x8D), - o3(0xE8,0x9F,0xBE), o3(0xE8,0x9F,0xB6), - o3(0xE8,0x9F,0xB7), o3(0xE8,0xA0,0x8E), - o3(0xE8,0x9F,0x92), o3(0xE8,0xA0,0x91), - o3(0xE8,0xA0,0x96), o3(0xE8,0xA0,0x95), - o3(0xE8,0xA0,0xA2), o3(0xE8,0xA0,0xA1), - o3(0xE8,0xA0,0xB1), o3(0xE8,0xA0,0xB6), - o3(0xE8,0xA0,0xB9), o3(0xE8,0xA0,0xA7), - o3(0xE8,0xA0,0xBB), o3(0xE8,0xA1,0x84), - o3(0xE8,0xA1,0x82), o3(0xE8,0xA1,0x92), - o3(0xE8,0xA1,0x99), o3(0xE8,0xA1,0x9E), - o3(0xE8,0xA1,0xA2), o3(0xE8,0xA1,0xAB), - o3(0xE8,0xA2,0x81), o3(0xE8,0xA1,0xBE), - o3(0xE8,0xA2,0x9E), o3(0xE8,0xA1,0xB5), - o3(0xE8,0xA1,0xBD), o3(0xE8,0xA2,0xB5), - o3(0xE8,0xA1,0xB2), o3(0xE8,0xA2,0x82), - o3(0xE8,0xA2,0x97), o3(0xE8,0xA2,0x92), - o3(0xE8,0xA2,0xAE), o3(0xE8,0xA2,0x99), - o3(0xE8,0xA2,0xA2), o3(0xE8,0xA2,0x8D), - o3(0xE8,0xA2,0xA4), o3(0xE8,0xA2,0xB0), - o3(0xE8,0xA2,0xBF), o3(0xE8,0xA2,0xB1), - o3(0xE8,0xA3,0x83), o3(0xE8,0xA3,0x84), - o3(0xE8,0xA3,0x94), o3(0xE8,0xA3,0x98), - o3(0xE8,0xA3,0x99), o3(0xE8,0xA3,0x9D), - o3(0xE8,0xA3,0xB9), o3(0xE8,0xA4,0x82), - o3(0xE8,0xA3,0xBC), o3(0xE8,0xA3,0xB4), - o3(0xE8,0xA3,0xA8), o3(0xE8,0xA3,0xB2), - o3(0xE8,0xA4,0x84), o3(0xE8,0xA4,0x8C), - o3(0xE8,0xA4,0x8A), o3(0xE8,0xA4,0x93), - o3(0xE8,0xA5,0x83), o3(0xE8,0xA4,0x9E), - o3(0xE8,0xA4,0xA5), o3(0xE8,0xA4,0xAA), - o3(0xE8,0xA4,0xAB), o3(0xE8,0xA5,0x81), - o3(0xE8,0xA5,0x84), o3(0xE8,0xA4,0xBB), - o3(0xE8,0xA4,0xB6), o3(0xE8,0xA4,0xB8), - o3(0xE8,0xA5,0x8C), o3(0xE8,0xA4,0x9D), - o3(0xE8,0xA5,0xA0), o3(0xE8,0xA5,0x9E), - UNDEF, -}; -static const BYTE_LOOKUP -from_EUC_JP_EA = { - from_EUC_JP_A1_offsets, - from_EUC_JP_EA_infos -}; - -static const struct byte_lookup* const -from_EUC_JP_EB_infos[95] = { - o3(0xE8,0xA5,0xA6), o3(0xE8,0xA5,0xA4), - o3(0xE8,0xA5,0xAD), o3(0xE8,0xA5,0xAA), - o3(0xE8,0xA5,0xAF), o3(0xE8,0xA5,0xB4), - o3(0xE8,0xA5,0xB7), o3(0xE8,0xA5,0xBE), - o3(0xE8,0xA6,0x83), o3(0xE8,0xA6,0x88), - o3(0xE8,0xA6,0x8A), o3(0xE8,0xA6,0x93), - o3(0xE8,0xA6,0x98), o3(0xE8,0xA6,0xA1), - o3(0xE8,0xA6,0xA9), o3(0xE8,0xA6,0xA6), - o3(0xE8,0xA6,0xAC), o3(0xE8,0xA6,0xAF), - o3(0xE8,0xA6,0xB2), o3(0xE8,0xA6,0xBA), - o3(0xE8,0xA6,0xBD), o3(0xE8,0xA6,0xBF), - o3(0xE8,0xA7,0x80), o3(0xE8,0xA7,0x9A), - o3(0xE8,0xA7,0x9C), o3(0xE8,0xA7,0x9D), - o3(0xE8,0xA7,0xA7), o3(0xE8,0xA7,0xB4), - o3(0xE8,0xA7,0xB8), o3(0xE8,0xA8,0x83), - o3(0xE8,0xA8,0x96), o3(0xE8,0xA8,0x90), - o3(0xE8,0xA8,0x8C), o3(0xE8,0xA8,0x9B), - o3(0xE8,0xA8,0x9D), o3(0xE8,0xA8,0xA5), - o3(0xE8,0xA8,0xB6), o3(0xE8,0xA9,0x81), - o3(0xE8,0xA9,0x9B), o3(0xE8,0xA9,0x92), - o3(0xE8,0xA9,0x86), o3(0xE8,0xA9,0x88), - o3(0xE8,0xA9,0xBC), o3(0xE8,0xA9,0xAD), - o3(0xE8,0xA9,0xAC), o3(0xE8,0xA9,0xA2), - o3(0xE8,0xAA,0x85), o3(0xE8,0xAA,0x82), - o3(0xE8,0xAA,0x84), o3(0xE8,0xAA,0xA8), - o3(0xE8,0xAA,0xA1), o3(0xE8,0xAA,0x91), - o3(0xE8,0xAA,0xA5), o3(0xE8,0xAA,0xA6), - o3(0xE8,0xAA,0x9A), o3(0xE8,0xAA,0xA3), - o3(0xE8,0xAB,0x84), o3(0xE8,0xAB,0x8D), - o3(0xE8,0xAB,0x82), o3(0xE8,0xAB,0x9A), - o3(0xE8,0xAB,0xAB), o3(0xE8,0xAB,0xB3), - o3(0xE8,0xAB,0xA7), o3(0xE8,0xAB,0xA4), - o3(0xE8,0xAB,0xB1), o3(0xE8,0xAC,0x94), - o3(0xE8,0xAB,0xA0), o3(0xE8,0xAB,0xA2), - o3(0xE8,0xAB,0xB7), o3(0xE8,0xAB,0x9E), - o3(0xE8,0xAB,0x9B), o3(0xE8,0xAC,0x8C), - o3(0xE8,0xAC,0x87), o3(0xE8,0xAC,0x9A), - o3(0xE8,0xAB,0xA1), o3(0xE8,0xAC,0x96), - o3(0xE8,0xAC,0x90), o3(0xE8,0xAC,0x97), - o3(0xE8,0xAC,0xA0), o3(0xE8,0xAC,0xB3), - o3(0xE9,0x9E,0xAB), o3(0xE8,0xAC,0xA6), - o3(0xE8,0xAC,0xAB), o3(0xE8,0xAC,0xBE), - o3(0xE8,0xAC,0xA8), o3(0xE8,0xAD,0x81), - o3(0xE8,0xAD,0x8C), o3(0xE8,0xAD,0x8F), - o3(0xE8,0xAD,0x8E), o3(0xE8,0xAD,0x89), - o3(0xE8,0xAD,0x96), o3(0xE8,0xAD,0x9B), - o3(0xE8,0xAD,0x9A), o3(0xE8,0xAD,0xAB), - UNDEF, -}; -static const BYTE_LOOKUP -from_EUC_JP_EB = { - from_EUC_JP_A1_offsets, - from_EUC_JP_EB_infos -}; - -static const struct byte_lookup* const -from_EUC_JP_EC_infos[95] = { - o3(0xE8,0xAD,0x9F), o3(0xE8,0xAD,0xAC), - o3(0xE8,0xAD,0xAF), o3(0xE8,0xAD,0xB4), - o3(0xE8,0xAD,0xBD), o3(0xE8,0xAE,0x80), - o3(0xE8,0xAE,0x8C), o3(0xE8,0xAE,0x8E), - o3(0xE8,0xAE,0x92), o3(0xE8,0xAE,0x93), - o3(0xE8,0xAE,0x96), o3(0xE8,0xAE,0x99), - o3(0xE8,0xAE,0x9A), o3(0xE8,0xB0,0xBA), - o3(0xE8,0xB1,0x81), o3(0xE8,0xB0,0xBF), - o3(0xE8,0xB1,0x88), o3(0xE8,0xB1,0x8C), - o3(0xE8,0xB1,0x8E), o3(0xE8,0xB1,0x90), - o3(0xE8,0xB1,0x95), o3(0xE8,0xB1,0xA2), - o3(0xE8,0xB1,0xAC), o3(0xE8,0xB1,0xB8), - o3(0xE8,0xB1,0xBA), o3(0xE8,0xB2,0x82), - o3(0xE8,0xB2,0x89), o3(0xE8,0xB2,0x85), - o3(0xE8,0xB2,0x8A), o3(0xE8,0xB2,0x8D), - o3(0xE8,0xB2,0x8E), o3(0xE8,0xB2,0x94), - o3(0xE8,0xB1,0xBC), o3(0xE8,0xB2,0x98), - o3(0xE6,0x88,0x9D), o3(0xE8,0xB2,0xAD), - o3(0xE8,0xB2,0xAA), o3(0xE8,0xB2,0xBD), - o3(0xE8,0xB2,0xB2), o3(0xE8,0xB2,0xB3), - o3(0xE8,0xB2,0xAE), o3(0xE8,0xB2,0xB6), - o3(0xE8,0xB3,0x88), o3(0xE8,0xB3,0x81), - o3(0xE8,0xB3,0xA4), o3(0xE8,0xB3,0xA3), - o3(0xE8,0xB3,0x9A), o3(0xE8,0xB3,0xBD), - o3(0xE8,0xB3,0xBA), o3(0xE8,0xB3,0xBB), - o3(0xE8,0xB4,0x84), o3(0xE8,0xB4,0x85), - o3(0xE8,0xB4,0x8A), o3(0xE8,0xB4,0x87), - o3(0xE8,0xB4,0x8F), o3(0xE8,0xB4,0x8D), - o3(0xE8,0xB4,0x90), o3(0xE9,0xBD,0x8E), - o3(0xE8,0xB4,0x93), o3(0xE8,0xB3,0x8D), - o3(0xE8,0xB4,0x94), o3(0xE8,0xB4,0x96), - o3(0xE8,0xB5,0xA7), o3(0xE8,0xB5,0xAD), - o3(0xE8,0xB5,0xB1), o3(0xE8,0xB5,0xB3), - o3(0xE8,0xB6,0x81), o3(0xE8,0xB6,0x99), - o3(0xE8,0xB7,0x82), o3(0xE8,0xB6,0xBE), - o3(0xE8,0xB6,0xBA), o3(0xE8,0xB7,0x8F), - o3(0xE8,0xB7,0x9A), o3(0xE8,0xB7,0x96), - o3(0xE8,0xB7,0x8C), o3(0xE8,0xB7,0x9B), - o3(0xE8,0xB7,0x8B), o3(0xE8,0xB7,0xAA), - o3(0xE8,0xB7,0xAB), o3(0xE8,0xB7,0x9F), - o3(0xE8,0xB7,0xA3), o3(0xE8,0xB7,0xBC), - o3(0xE8,0xB8,0x88), o3(0xE8,0xB8,0x89), - o3(0xE8,0xB7,0xBF), o3(0xE8,0xB8,0x9D), - o3(0xE8,0xB8,0x9E), o3(0xE8,0xB8,0x90), - o3(0xE8,0xB8,0x9F), o3(0xE8,0xB9,0x82), - o3(0xE8,0xB8,0xB5), o3(0xE8,0xB8,0xB0), - o3(0xE8,0xB8,0xB4), o3(0xE8,0xB9,0x8A), - UNDEF, -}; -static const BYTE_LOOKUP -from_EUC_JP_EC = { - from_EUC_JP_A1_offsets, - from_EUC_JP_EC_infos -}; - -static const struct byte_lookup* const -from_EUC_JP_ED_infos[95] = { - o3(0xE8,0xB9,0x87), o3(0xE8,0xB9,0x89), - o3(0xE8,0xB9,0x8C), o3(0xE8,0xB9,0x90), - o3(0xE8,0xB9,0x88), o3(0xE8,0xB9,0x99), - o3(0xE8,0xB9,0xA4), o3(0xE8,0xB9,0xA0), - o3(0xE8,0xB8,0xAA), o3(0xE8,0xB9,0xA3), - o3(0xE8,0xB9,0x95), o3(0xE8,0xB9,0xB6), - o3(0xE8,0xB9,0xB2), o3(0xE8,0xB9,0xBC), - o3(0xE8,0xBA,0x81), o3(0xE8,0xBA,0x87), - o3(0xE8,0xBA,0x85), o3(0xE8,0xBA,0x84), - o3(0xE8,0xBA,0x8B), o3(0xE8,0xBA,0x8A), - o3(0xE8,0xBA,0x93), o3(0xE8,0xBA,0x91), - o3(0xE8,0xBA,0x94), o3(0xE8,0xBA,0x99), - o3(0xE8,0xBA,0xAA), o3(0xE8,0xBA,0xA1), - o3(0xE8,0xBA,0xAC), o3(0xE8,0xBA,0xB0), - o3(0xE8,0xBB,0x86), o3(0xE8,0xBA,0xB1), - o3(0xE8,0xBA,0xBE), o3(0xE8,0xBB,0x85), - o3(0xE8,0xBB,0x88), o3(0xE8,0xBB,0x8B), - o3(0xE8,0xBB,0x9B), o3(0xE8,0xBB,0xA3), - o3(0xE8,0xBB,0xBC), o3(0xE8,0xBB,0xBB), - o3(0xE8,0xBB,0xAB), o3(0xE8,0xBB,0xBE), - o3(0xE8,0xBC,0x8A), o3(0xE8,0xBC,0x85), - o3(0xE8,0xBC,0x95), o3(0xE8,0xBC,0x92), - o3(0xE8,0xBC,0x99), o3(0xE8,0xBC,0x93), - o3(0xE8,0xBC,0x9C), o3(0xE8,0xBC,0x9F), - o3(0xE8,0xBC,0x9B), o3(0xE8,0xBC,0x8C), - o3(0xE8,0xBC,0xA6), o3(0xE8,0xBC,0xB3), - o3(0xE8,0xBC,0xBB), o3(0xE8,0xBC,0xB9), - o3(0xE8,0xBD,0x85), o3(0xE8,0xBD,0x82), - o3(0xE8,0xBC,0xBE), o3(0xE8,0xBD,0x8C), - o3(0xE8,0xBD,0x89), o3(0xE8,0xBD,0x86), - o3(0xE8,0xBD,0x8E), o3(0xE8,0xBD,0x97), - o3(0xE8,0xBD,0x9C), o3(0xE8,0xBD,0xA2), - o3(0xE8,0xBD,0xA3), o3(0xE8,0xBD,0xA4), - o3(0xE8,0xBE,0x9C), o3(0xE8,0xBE,0x9F), - o3(0xE8,0xBE,0xA3), o3(0xE8,0xBE,0xAD), - o3(0xE8,0xBE,0xAF), o3(0xE8,0xBE,0xB7), - o3(0xE8,0xBF,0x9A), o3(0xE8,0xBF,0xA5), - o3(0xE8,0xBF,0xA2), o3(0xE8,0xBF,0xAA), - o3(0xE8,0xBF,0xAF), o3(0xE9,0x82,0x87), - o3(0xE8,0xBF,0xB4), o3(0xE9,0x80,0x85), - o3(0xE8,0xBF,0xB9), o3(0xE8,0xBF,0xBA), - o3(0xE9,0x80,0x91), o3(0xE9,0x80,0x95), - o3(0xE9,0x80,0xA1), o3(0xE9,0x80,0x8D), - o3(0xE9,0x80,0x9E), o3(0xE9,0x80,0x96), - o3(0xE9,0x80,0x8B), o3(0xE9,0x80,0xA7), - o3(0xE9,0x80,0xB6), o3(0xE9,0x80,0xB5), - o3(0xE9,0x80,0xB9), o3(0xE8,0xBF,0xB8), - UNDEF, -}; -static const BYTE_LOOKUP -from_EUC_JP_ED = { - from_EUC_JP_A1_offsets, - from_EUC_JP_ED_infos -}; - -static const struct byte_lookup* const -from_EUC_JP_EE_infos[95] = { - o3(0xE9,0x81,0x8F), o3(0xE9,0x81,0x90), - o3(0xE9,0x81,0x91), o3(0xE9,0x81,0x92), - o3(0xE9,0x80,0x8E), o3(0xE9,0x81,0x89), - o3(0xE9,0x80,0xBE), o3(0xE9,0x81,0x96), - o3(0xE9,0x81,0x98), o3(0xE9,0x81,0x9E), - o3(0xE9,0x81,0xA8), o3(0xE9,0x81,0xAF), - o3(0xE9,0x81,0xB6), o3(0xE9,0x9A,0xA8), - o3(0xE9,0x81,0xB2), o3(0xE9,0x82,0x82), - o3(0xE9,0x81,0xBD), o3(0xE9,0x82,0x81), - o3(0xE9,0x82,0x80), o3(0xE9,0x82,0x8A), - o3(0xE9,0x82,0x89), o3(0xE9,0x82,0x8F), - o3(0xE9,0x82,0xA8), o3(0xE9,0x82,0xAF), - o3(0xE9,0x82,0xB1), o3(0xE9,0x82,0xB5), - o3(0xE9,0x83,0xA2), o3(0xE9,0x83,0xA4), - o3(0xE6,0x89,0x88), o3(0xE9,0x83,0x9B), - o3(0xE9,0x84,0x82), o3(0xE9,0x84,0x92), - o3(0xE9,0x84,0x99), o3(0xE9,0x84,0xB2), - o3(0xE9,0x84,0xB0), o3(0xE9,0x85,0x8A), - o3(0xE9,0x85,0x96), o3(0xE9,0x85,0x98), - o3(0xE9,0x85,0xA3), o3(0xE9,0x85,0xA5), - o3(0xE9,0x85,0xA9), o3(0xE9,0x85,0xB3), - o3(0xE9,0x85,0xB2), o3(0xE9,0x86,0x8B), - o3(0xE9,0x86,0x89), o3(0xE9,0x86,0x82), - o3(0xE9,0x86,0xA2), o3(0xE9,0x86,0xAB), - o3(0xE9,0x86,0xAF), o3(0xE9,0x86,0xAA), - o3(0xE9,0x86,0xB5), o3(0xE9,0x86,0xB4), - o3(0xE9,0x86,0xBA), o3(0xE9,0x87,0x80), - o3(0xE9,0x87,0x81), o3(0xE9,0x87,0x89), - o3(0xE9,0x87,0x8B), o3(0xE9,0x87,0x90), - o3(0xE9,0x87,0x96), o3(0xE9,0x87,0x9F), - o3(0xE9,0x87,0xA1), o3(0xE9,0x87,0x9B), - o3(0xE9,0x87,0xBC), o3(0xE9,0x87,0xB5), - o3(0xE9,0x87,0xB6), o3(0xE9,0x88,0x9E), - o3(0xE9,0x87,0xBF), o3(0xE9,0x88,0x94), - o3(0xE9,0x88,0xAC), o3(0xE9,0x88,0x95), - o3(0xE9,0x88,0x91), o3(0xE9,0x89,0x9E), - o3(0xE9,0x89,0x97), o3(0xE9,0x89,0x85), - o3(0xE9,0x89,0x89), o3(0xE9,0x89,0xA4), - o3(0xE9,0x89,0x88), o3(0xE9,0x8A,0x95), - o3(0xE9,0x88,0xBF), o3(0xE9,0x89,0x8B), - o3(0xE9,0x89,0x90), o3(0xE9,0x8A,0x9C), - o3(0xE9,0x8A,0x96), o3(0xE9,0x8A,0x93), - o3(0xE9,0x8A,0x9B), o3(0xE9,0x89,0x9A), - o3(0xE9,0x8B,0x8F), o3(0xE9,0x8A,0xB9), - o3(0xE9,0x8A,0xB7), o3(0xE9,0x8B,0xA9), - o3(0xE9,0x8C,0x8F), o3(0xE9,0x8B,0xBA), - o3(0xE9,0x8D,0x84), o3(0xE9,0x8C,0xAE), - UNDEF, -}; -static const BYTE_LOOKUP -from_EUC_JP_EE = { - from_EUC_JP_A1_offsets, - from_EUC_JP_EE_infos -}; - -static const struct byte_lookup* const -from_EUC_JP_EF_infos[95] = { - o3(0xE9,0x8C,0x99), o3(0xE9,0x8C,0xA2), - o3(0xE9,0x8C,0x9A), o3(0xE9,0x8C,0xA3), - o3(0xE9,0x8C,0xBA), o3(0xE9,0x8C,0xB5), - o3(0xE9,0x8C,0xBB), o3(0xE9,0x8D,0x9C), - o3(0xE9,0x8D,0xA0), o3(0xE9,0x8D,0xBC), - o3(0xE9,0x8D,0xAE), o3(0xE9,0x8D,0x96), - o3(0xE9,0x8E,0xB0), o3(0xE9,0x8E,0xAC), - o3(0xE9,0x8E,0xAD), o3(0xE9,0x8E,0x94), - o3(0xE9,0x8E,0xB9), o3(0xE9,0x8F,0x96), - o3(0xE9,0x8F,0x97), o3(0xE9,0x8F,0xA8), - o3(0xE9,0x8F,0xA5), o3(0xE9,0x8F,0x98), - o3(0xE9,0x8F,0x83), o3(0xE9,0x8F,0x9D), - o3(0xE9,0x8F,0x90), o3(0xE9,0x8F,0x88), - o3(0xE9,0x8F,0xA4), o3(0xE9,0x90,0x9A), - o3(0xE9,0x90,0x94), o3(0xE9,0x90,0x93), - o3(0xE9,0x90,0x83), o3(0xE9,0x90,0x87), - o3(0xE9,0x90,0x90), o3(0xE9,0x90,0xB6), - o3(0xE9,0x90,0xAB), o3(0xE9,0x90,0xB5), - o3(0xE9,0x90,0xA1), o3(0xE9,0x90,0xBA), - o3(0xE9,0x91,0x81), o3(0xE9,0x91,0x92), - o3(0xE9,0x91,0x84), o3(0xE9,0x91,0x9B), - o3(0xE9,0x91,0xA0), o3(0xE9,0x91,0xA2), - o3(0xE9,0x91,0x9E), o3(0xE9,0x91,0xAA), - o3(0xE9,0x88,0xA9), o3(0xE9,0x91,0xB0), - o3(0xE9,0x91,0xB5), o3(0xE9,0x91,0xB7), - o3(0xE9,0x91,0xBD), o3(0xE9,0x91,0x9A), - o3(0xE9,0x91,0xBC), o3(0xE9,0x91,0xBE), - o3(0xE9,0x92,0x81), o3(0xE9,0x91,0xBF), - o3(0xE9,0x96,0x82), o3(0xE9,0x96,0x87), - o3(0xE9,0x96,0x8A), o3(0xE9,0x96,0x94), - o3(0xE9,0x96,0x96), o3(0xE9,0x96,0x98), - o3(0xE9,0x96,0x99), o3(0xE9,0x96,0xA0), - o3(0xE9,0x96,0xA8), o3(0xE9,0x96,0xA7), - o3(0xE9,0x96,0xAD), o3(0xE9,0x96,0xBC), - o3(0xE9,0x96,0xBB), o3(0xE9,0x96,0xB9), - o3(0xE9,0x96,0xBE), o3(0xE9,0x97,0x8A), - o3(0xE6,0xBF,0xB6), o3(0xE9,0x97,0x83), - o3(0xE9,0x97,0x8D), o3(0xE9,0x97,0x8C), - o3(0xE9,0x97,0x95), o3(0xE9,0x97,0x94), - o3(0xE9,0x97,0x96), o3(0xE9,0x97,0x9C), - o3(0xE9,0x97,0xA1), o3(0xE9,0x97,0xA5), - o3(0xE9,0x97,0xA2), o3(0xE9,0x98,0xA1), - o3(0xE9,0x98,0xA8), o3(0xE9,0x98,0xAE), - o3(0xE9,0x98,0xAF), o3(0xE9,0x99,0x82), - o3(0xE9,0x99,0x8C), o3(0xE9,0x99,0x8F), - o3(0xE9,0x99,0x8B), o3(0xE9,0x99,0xB7), - o3(0xE9,0x99,0x9C), o3(0xE9,0x99,0x9E), - UNDEF, -}; -static const BYTE_LOOKUP -from_EUC_JP_EF = { - from_EUC_JP_A1_offsets, - from_EUC_JP_EF_infos -}; - -static const struct byte_lookup* const -from_EUC_JP_F0_infos[95] = { - o3(0xE9,0x99,0x9D), o3(0xE9,0x99,0x9F), - o3(0xE9,0x99,0xA6), o3(0xE9,0x99,0xB2), - o3(0xE9,0x99,0xAC), o3(0xE9,0x9A,0x8D), - o3(0xE9,0x9A,0x98), o3(0xE9,0x9A,0x95), - o3(0xE9,0x9A,0x97), o3(0xE9,0x9A,0xAA), - o3(0xE9,0x9A,0xA7), o3(0xE9,0x9A,0xB1), - o3(0xE9,0x9A,0xB2), o3(0xE9,0x9A,0xB0), - o3(0xE9,0x9A,0xB4), o3(0xE9,0x9A,0xB6), - o3(0xE9,0x9A,0xB8), o3(0xE9,0x9A,0xB9), - o3(0xE9,0x9B,0x8E), o3(0xE9,0x9B,0x8B), - o3(0xE9,0x9B,0x89), o3(0xE9,0x9B,0x8D), - o3(0xE8,0xA5,0x8D), o3(0xE9,0x9B,0x9C), - o3(0xE9,0x9C,0x8D), o3(0xE9,0x9B,0x95), - o3(0xE9,0x9B,0xB9), o3(0xE9,0x9C,0x84), - o3(0xE9,0x9C,0x86), o3(0xE9,0x9C,0x88), - o3(0xE9,0x9C,0x93), o3(0xE9,0x9C,0x8E), - o3(0xE9,0x9C,0x91), o3(0xE9,0x9C,0x8F), - o3(0xE9,0x9C,0x96), o3(0xE9,0x9C,0x99), - o3(0xE9,0x9C,0xA4), o3(0xE9,0x9C,0xAA), - o3(0xE9,0x9C,0xB0), o3(0xE9,0x9C,0xB9), - o3(0xE9,0x9C,0xBD), o3(0xE9,0x9C,0xBE), - o3(0xE9,0x9D,0x84), o3(0xE9,0x9D,0x86), - o3(0xE9,0x9D,0x88), o3(0xE9,0x9D,0x82), - o3(0xE9,0x9D,0x89), o3(0xE9,0x9D,0x9C), - o3(0xE9,0x9D,0xA0), o3(0xE9,0x9D,0xA4), - o3(0xE9,0x9D,0xA6), o3(0xE9,0x9D,0xA8), - o3(0xE5,0x8B,0x92), o3(0xE9,0x9D,0xAB), - o3(0xE9,0x9D,0xB1), o3(0xE9,0x9D,0xB9), - o3(0xE9,0x9E,0x85), o3(0xE9,0x9D,0xBC), - o3(0xE9,0x9E,0x81), o3(0xE9,0x9D,0xBA), - o3(0xE9,0x9E,0x86), o3(0xE9,0x9E,0x8B), - o3(0xE9,0x9E,0x8F), o3(0xE9,0x9E,0x90), - o3(0xE9,0x9E,0x9C), o3(0xE9,0x9E,0xA8), - o3(0xE9,0x9E,0xA6), o3(0xE9,0x9E,0xA3), - o3(0xE9,0x9E,0xB3), o3(0xE9,0x9E,0xB4), - o3(0xE9,0x9F,0x83), o3(0xE9,0x9F,0x86), - o3(0xE9,0x9F,0x88), o3(0xE9,0x9F,0x8B), - o3(0xE9,0x9F,0x9C), o3(0xE9,0x9F,0xAD), - o3(0xE9,0xBD,0x8F), o3(0xE9,0x9F,0xB2), - o3(0xE7,0xAB,0x9F), o3(0xE9,0x9F,0xB6), - o3(0xE9,0x9F,0xB5), o3(0xE9,0xA0,0x8F), - o3(0xE9,0xA0,0x8C), o3(0xE9,0xA0,0xB8), - o3(0xE9,0xA0,0xA4), o3(0xE9,0xA0,0xA1), - o3(0xE9,0xA0,0xB7), o3(0xE9,0xA0,0xBD), - o3(0xE9,0xA1,0x86), o3(0xE9,0xA1,0x8F), - o3(0xE9,0xA1,0x8B), o3(0xE9,0xA1,0xAB), - o3(0xE9,0xA1,0xAF), o3(0xE9,0xA1,0xB0), - UNDEF, -}; -static const BYTE_LOOKUP -from_EUC_JP_F0 = { - from_EUC_JP_A1_offsets, - from_EUC_JP_F0_infos -}; - -static const struct byte_lookup* const -from_EUC_JP_F1_infos[95] = { - o3(0xE9,0xA1,0xB1), o3(0xE9,0xA1,0xB4), - o3(0xE9,0xA1,0xB3), o3(0xE9,0xA2,0xAA), - o3(0xE9,0xA2,0xAF), o3(0xE9,0xA2,0xB1), - o3(0xE9,0xA2,0xB6), o3(0xE9,0xA3,0x84), - o3(0xE9,0xA3,0x83), o3(0xE9,0xA3,0x86), - o3(0xE9,0xA3,0xA9), o3(0xE9,0xA3,0xAB), - o3(0xE9,0xA4,0x83), o3(0xE9,0xA4,0x89), - o3(0xE9,0xA4,0x92), o3(0xE9,0xA4,0x94), - o3(0xE9,0xA4,0x98), o3(0xE9,0xA4,0xA1), - o3(0xE9,0xA4,0x9D), o3(0xE9,0xA4,0x9E), - o3(0xE9,0xA4,0xA4), o3(0xE9,0xA4,0xA0), - o3(0xE9,0xA4,0xAC), o3(0xE9,0xA4,0xAE), - o3(0xE9,0xA4,0xBD), o3(0xE9,0xA4,0xBE), - o3(0xE9,0xA5,0x82), o3(0xE9,0xA5,0x89), - o3(0xE9,0xA5,0x85), o3(0xE9,0xA5,0x90), - o3(0xE9,0xA5,0x8B), o3(0xE9,0xA5,0x91), - o3(0xE9,0xA5,0x92), o3(0xE9,0xA5,0x8C), - o3(0xE9,0xA5,0x95), o3(0xE9,0xA6,0x97), - o3(0xE9,0xA6,0x98), o3(0xE9,0xA6,0xA5), - o3(0xE9,0xA6,0xAD), o3(0xE9,0xA6,0xAE), - o3(0xE9,0xA6,0xBC), o3(0xE9,0xA7,0x9F), - o3(0xE9,0xA7,0x9B), o3(0xE9,0xA7,0x9D), - o3(0xE9,0xA7,0x98), o3(0xE9,0xA7,0x91), - o3(0xE9,0xA7,0xAD), o3(0xE9,0xA7,0xAE), - o3(0xE9,0xA7,0xB1), o3(0xE9,0xA7,0xB2), - o3(0xE9,0xA7,0xBB), o3(0xE9,0xA7,0xB8), - o3(0xE9,0xA8,0x81), o3(0xE9,0xA8,0x8F), - o3(0xE9,0xA8,0x85), o3(0xE9,0xA7,0xA2), - o3(0xE9,0xA8,0x99), o3(0xE9,0xA8,0xAB), - o3(0xE9,0xA8,0xB7), o3(0xE9,0xA9,0x85), - o3(0xE9,0xA9,0x82), o3(0xE9,0xA9,0x80), - o3(0xE9,0xA9,0x83), o3(0xE9,0xA8,0xBE), - o3(0xE9,0xA9,0x95), o3(0xE9,0xA9,0x8D), - o3(0xE9,0xA9,0x9B), o3(0xE9,0xA9,0x97), - o3(0xE9,0xA9,0x9F), o3(0xE9,0xA9,0xA2), - o3(0xE9,0xA9,0xA5), o3(0xE9,0xA9,0xA4), - o3(0xE9,0xA9,0xA9), o3(0xE9,0xA9,0xAB), - o3(0xE9,0xA9,0xAA), o3(0xE9,0xAA,0xAD), - o3(0xE9,0xAA,0xB0), o3(0xE9,0xAA,0xBC), - o3(0xE9,0xAB,0x80), o3(0xE9,0xAB,0x8F), - o3(0xE9,0xAB,0x91), o3(0xE9,0xAB,0x93), - o3(0xE9,0xAB,0x94), o3(0xE9,0xAB,0x9E), - o3(0xE9,0xAB,0x9F), o3(0xE9,0xAB,0xA2), - o3(0xE9,0xAB,0xA3), o3(0xE9,0xAB,0xA6), - o3(0xE9,0xAB,0xAF), o3(0xE9,0xAB,0xAB), - o3(0xE9,0xAB,0xAE), o3(0xE9,0xAB,0xB4), - o3(0xE9,0xAB,0xB1), o3(0xE9,0xAB,0xB7), - UNDEF, -}; -static const BYTE_LOOKUP -from_EUC_JP_F1 = { - from_EUC_JP_A1_offsets, - from_EUC_JP_F1_infos -}; - -static const struct byte_lookup* const -from_EUC_JP_F2_infos[95] = { - o3(0xE9,0xAB,0xBB), o3(0xE9,0xAC,0x86), - o3(0xE9,0xAC,0x98), o3(0xE9,0xAC,0x9A), - o3(0xE9,0xAC,0x9F), o3(0xE9,0xAC,0xA2), - o3(0xE9,0xAC,0xA3), o3(0xE9,0xAC,0xA5), - o3(0xE9,0xAC,0xA7), o3(0xE9,0xAC,0xA8), - o3(0xE9,0xAC,0xA9), o3(0xE9,0xAC,0xAA), - o3(0xE9,0xAC,0xAE), o3(0xE9,0xAC,0xAF), - o3(0xE9,0xAC,0xB2), o3(0xE9,0xAD,0x84), - o3(0xE9,0xAD,0x83), o3(0xE9,0xAD,0x8F), - o3(0xE9,0xAD,0x8D), o3(0xE9,0xAD,0x8E), - o3(0xE9,0xAD,0x91), o3(0xE9,0xAD,0x98), - o3(0xE9,0xAD,0xB4), o3(0xE9,0xAE,0x93), - o3(0xE9,0xAE,0x83), o3(0xE9,0xAE,0x91), - o3(0xE9,0xAE,0x96), o3(0xE9,0xAE,0x97), - o3(0xE9,0xAE,0x9F), o3(0xE9,0xAE,0xA0), - o3(0xE9,0xAE,0xA8), o3(0xE9,0xAE,0xB4), - o3(0xE9,0xAF,0x80), o3(0xE9,0xAF,0x8A), - o3(0xE9,0xAE,0xB9), o3(0xE9,0xAF,0x86), - o3(0xE9,0xAF,0x8F), o3(0xE9,0xAF,0x91), - o3(0xE9,0xAF,0x92), o3(0xE9,0xAF,0xA3), - o3(0xE9,0xAF,0xA2), o3(0xE9,0xAF,0xA4), - o3(0xE9,0xAF,0x94), o3(0xE9,0xAF,0xA1), - o3(0xE9,0xB0,0xBA), o3(0xE9,0xAF,0xB2), - o3(0xE9,0xAF,0xB1), o3(0xE9,0xAF,0xB0), - o3(0xE9,0xB0,0x95), o3(0xE9,0xB0,0x94), - o3(0xE9,0xB0,0x89), o3(0xE9,0xB0,0x93), - o3(0xE9,0xB0,0x8C), o3(0xE9,0xB0,0x86), - o3(0xE9,0xB0,0x88), o3(0xE9,0xB0,0x92), - o3(0xE9,0xB0,0x8A), o3(0xE9,0xB0,0x84), - o3(0xE9,0xB0,0xAE), o3(0xE9,0xB0,0x9B), - o3(0xE9,0xB0,0xA5), o3(0xE9,0xB0,0xA4), - o3(0xE9,0xB0,0xA1), o3(0xE9,0xB0,0xB0), - o3(0xE9,0xB1,0x87), o3(0xE9,0xB0,0xB2), - o3(0xE9,0xB1,0x86), o3(0xE9,0xB0,0xBE), - o3(0xE9,0xB1,0x9A), o3(0xE9,0xB1,0xA0), - o3(0xE9,0xB1,0xA7), o3(0xE9,0xB1,0xB6), - o3(0xE9,0xB1,0xB8), o3(0xE9,0xB3,0xA7), - o3(0xE9,0xB3,0xAC), o3(0xE9,0xB3,0xB0), - o3(0xE9,0xB4,0x89), o3(0xE9,0xB4,0x88), - o3(0xE9,0xB3,0xAB), o3(0xE9,0xB4,0x83), - o3(0xE9,0xB4,0x86), o3(0xE9,0xB4,0xAA), - o3(0xE9,0xB4,0xA6), o3(0xE9,0xB6,0xAF), - o3(0xE9,0xB4,0xA3), o3(0xE9,0xB4,0x9F), - o3(0xE9,0xB5,0x84), o3(0xE9,0xB4,0x95), - o3(0xE9,0xB4,0x92), o3(0xE9,0xB5,0x81), - o3(0xE9,0xB4,0xBF), o3(0xE9,0xB4,0xBE), - o3(0xE9,0xB5,0x86), o3(0xE9,0xB5,0x88), - UNDEF, -}; -static const BYTE_LOOKUP -from_EUC_JP_F2 = { - from_EUC_JP_A1_offsets, - from_EUC_JP_F2_infos -}; - -static const struct byte_lookup* const -from_EUC_JP_F3_infos[95] = { - o3(0xE9,0xB5,0x9D), o3(0xE9,0xB5,0x9E), - o3(0xE9,0xB5,0xA4), o3(0xE9,0xB5,0x91), - o3(0xE9,0xB5,0x90), o3(0xE9,0xB5,0x99), - o3(0xE9,0xB5,0xB2), o3(0xE9,0xB6,0x89), - o3(0xE9,0xB6,0x87), o3(0xE9,0xB6,0xAB), - o3(0xE9,0xB5,0xAF), o3(0xE9,0xB5,0xBA), - o3(0xE9,0xB6,0x9A), o3(0xE9,0xB6,0xA4), - o3(0xE9,0xB6,0xA9), o3(0xE9,0xB6,0xB2), - o3(0xE9,0xB7,0x84), o3(0xE9,0xB7,0x81), - o3(0xE9,0xB6,0xBB), o3(0xE9,0xB6,0xB8), - o3(0xE9,0xB6,0xBA), o3(0xE9,0xB7,0x86), - o3(0xE9,0xB7,0x8F), o3(0xE9,0xB7,0x82), - o3(0xE9,0xB7,0x99), o3(0xE9,0xB7,0x93), - o3(0xE9,0xB7,0xB8), o3(0xE9,0xB7,0xA6), - o3(0xE9,0xB7,0xAD), o3(0xE9,0xB7,0xAF), - o3(0xE9,0xB7,0xBD), o3(0xE9,0xB8,0x9A), - o3(0xE9,0xB8,0x9B), o3(0xE9,0xB8,0x9E), - o3(0xE9,0xB9,0xB5), o3(0xE9,0xB9,0xB9), - o3(0xE9,0xB9,0xBD), o3(0xE9,0xBA,0x81), - o3(0xE9,0xBA,0x88), o3(0xE9,0xBA,0x8B), - o3(0xE9,0xBA,0x8C), o3(0xE9,0xBA,0x92), - o3(0xE9,0xBA,0x95), o3(0xE9,0xBA,0x91), - o3(0xE9,0xBA,0x9D), o3(0xE9,0xBA,0xA5), - o3(0xE9,0xBA,0xA9), o3(0xE9,0xBA,0xB8), - o3(0xE9,0xBA,0xAA), o3(0xE9,0xBA,0xAD), - o3(0xE9,0x9D,0xA1), o3(0xE9,0xBB,0x8C), - o3(0xE9,0xBB,0x8E), o3(0xE9,0xBB,0x8F), - o3(0xE9,0xBB,0x90), o3(0xE9,0xBB,0x94), - o3(0xE9,0xBB,0x9C), o3(0xE9,0xBB,0x9E), - o3(0xE9,0xBB,0x9D), o3(0xE9,0xBB,0xA0), - o3(0xE9,0xBB,0xA5), o3(0xE9,0xBB,0xA8), - o3(0xE9,0xBB,0xAF), o3(0xE9,0xBB,0xB4), - o3(0xE9,0xBB,0xB6), o3(0xE9,0xBB,0xB7), - o3(0xE9,0xBB,0xB9), o3(0xE9,0xBB,0xBB), - o3(0xE9,0xBB,0xBC), o3(0xE9,0xBB,0xBD), - o3(0xE9,0xBC,0x87), o3(0xE9,0xBC,0x88), - o3(0xE7,0x9A,0xB7), o3(0xE9,0xBC,0x95), - o3(0xE9,0xBC,0xA1), o3(0xE9,0xBC,0xAC), - o3(0xE9,0xBC,0xBE), o3(0xE9,0xBD,0x8A), - o3(0xE9,0xBD,0x92), o3(0xE9,0xBD,0x94), - o3(0xE9,0xBD,0xA3), o3(0xE9,0xBD,0x9F), - o3(0xE9,0xBD,0xA0), o3(0xE9,0xBD,0xA1), - o3(0xE9,0xBD,0xA6), o3(0xE9,0xBD,0xA7), - o3(0xE9,0xBD,0xAC), o3(0xE9,0xBD,0xAA), - o3(0xE9,0xBD,0xB7), o3(0xE9,0xBD,0xB2), - o3(0xE9,0xBD,0xB6), o3(0xE9,0xBE,0x95), - o3(0xE9,0xBE,0x9C), o3(0xE9,0xBE,0xA0), - UNDEF, -}; -static const BYTE_LOOKUP -from_EUC_JP_F3 = { - from_EUC_JP_A1_offsets, - from_EUC_JP_F3_infos -}; - -static const unsigned char -from_EUC_JP_F4_offsets[256] = { - 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, - 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, - 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, - 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, - 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, - 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, - 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, - 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, - 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, - 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, - 6, 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, 6, 6, 6, 6, 6, 6, 6, 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 -from_EUC_JP_F4_infos[7] = { - o3(0xE5,0xA0,0xAF), o3(0xE6,0xA7,0x87), - o3(0xE9,0x81,0x99), o3(0xE7,0x91,0xA4), - o3(0xE5,0x87,0x9C), o3(0xE7,0x86,0x99), - UNDEF, -}; -static const BYTE_LOOKUP -from_EUC_JP_F4 = { - from_EUC_JP_F4_offsets, - from_EUC_JP_F4_infos -}; - -static const struct byte_lookup* const -from_EUC_JP_F9_infos[95] = { - o3(0xE7,0xBA,0x8A), o3(0xE8,0xA4,0x9C), - o3(0xE9,0x8D,0x88), o3(0xE9,0x8A,0x88), - o3(0xE8,0x93,0x9C), o3(0xE4,0xBF,0x89), - o3(0xE7,0x82,0xBB), o3(0xE6,0x98,0xB1), - o3(0xE6,0xA3,0x88), o3(0xE9,0x8B,0xB9), - o3(0xE6,0x9B,0xBB), o3(0xE5,0xBD,0x85), - o3(0xE4,0xB8,0xA8), o3(0xE4,0xBB,0xA1), - o3(0xE4,0xBB,0xBC), o3(0xE4,0xBC,0x80), - o3(0xE4,0xBC,0x83), o3(0xE4,0xBC,0xB9), - o3(0xE4,0xBD,0x96), o3(0xE4,0xBE,0x92), - o3(0xE4,0xBE,0x8A), o3(0xE4,0xBE,0x9A), - o3(0xE4,0xBE,0x94), o3(0xE4,0xBF,0x8D), - o3(0xE5,0x81,0x80), o3(0xE5,0x80,0xA2), - o3(0xE4,0xBF,0xBF), o3(0xE5,0x80,0x9E), - o3(0xE5,0x81,0x86), o3(0xE5,0x81,0xB0), - o3(0xE5,0x81,0x82), o3(0xE5,0x82,0x94), - o3(0xE5,0x83,0xB4), o3(0xE5,0x83,0x98), - o3(0xE5,0x85,0x8A), o3(0xE5,0x85,0xA4), - o3(0xE5,0x86,0x9D), o3(0xE5,0x86,0xBE), - o3(0xE5,0x87,0xAC), o3(0xE5,0x88,0x95), - o3(0xE5,0x8A,0x9C), o3(0xE5,0x8A,0xA6), - o3(0xE5,0x8B,0x80), o3(0xE5,0x8B,0x9B), - o3(0xE5,0x8C,0x80), o3(0xE5,0x8C,0x87), - o3(0xE5,0x8C,0xA4), o3(0xE5,0x8D,0xB2), - o3(0xE5,0x8E,0x93), o3(0xE5,0x8E,0xB2), - o3(0xE5,0x8F,0x9D), o3(0xEF,0xA8,0x8E), - o3(0xE5,0x92,0x9C), o3(0xE5,0x92,0x8A), - o3(0xE5,0x92,0xA9), o3(0xE5,0x93,0xBF), - o3(0xE5,0x96,0x86), o3(0xE5,0x9D,0x99), - o3(0xE5,0x9D,0xA5), o3(0xE5,0x9E,0xAC), - o3(0xE5,0x9F,0x88), o3(0xE5,0x9F,0x87), - o3(0xEF,0xA8,0x8F), o3(0xEF,0xA8,0x90), - o3(0xE5,0xA2,0x9E), o3(0xE5,0xA2,0xB2), - o3(0xE5,0xA4,0x8B), o3(0xE5,0xA5,0x93), - o3(0xE5,0xA5,0x9B), o3(0xE5,0xA5,0x9D), - o3(0xE5,0xA5,0xA3), o3(0xE5,0xA6,0xA4), - o3(0xE5,0xA6,0xBA), o3(0xE5,0xAD,0x96), - o3(0xE5,0xAF,0x80), o3(0xE7,0x94,0xAF), - o3(0xE5,0xAF,0x98), o3(0xE5,0xAF,0xAC), - o3(0xE5,0xB0,0x9E), o3(0xE5,0xB2,0xA6), - o3(0xE5,0xB2,0xBA), o3(0xE5,0xB3,0xB5), - o3(0xE5,0xB4,0xA7), o3(0xE5,0xB5,0x93), - o3(0xEF,0xA8,0x91), o3(0xE5,0xB5,0x82), - o3(0xE5,0xB5,0xAD), o3(0xE5,0xB6,0xB8), - o3(0xE5,0xB6,0xB9), o3(0xE5,0xB7,0x90), - o3(0xE5,0xBC,0xA1), o3(0xE5,0xBC,0xB4), - o3(0xE5,0xBD,0xA7), o3(0xE5,0xBE,0xB7), - UNDEF, -}; -static const BYTE_LOOKUP -from_EUC_JP_F9 = { - from_EUC_JP_A1_offsets, - from_EUC_JP_F9_infos -}; - -static const struct byte_lookup* const -from_EUC_JP_FA_infos[95] = { - o3(0xE5,0xBF,0x9E), o3(0xE6,0x81,0x9D), - o3(0xE6,0x82,0x85), o3(0xE6,0x82,0x8A), - o3(0xE6,0x83,0x9E), o3(0xE6,0x83,0x95), - o3(0xE6,0x84,0xA0), o3(0xE6,0x83,0xB2), - o3(0xE6,0x84,0x91), o3(0xE6,0x84,0xB7), - o3(0xE6,0x84,0xB0), o3(0xE6,0x86,0x98), - o3(0xE6,0x88,0x93), o3(0xE6,0x8A,0xA6), - o3(0xE6,0x8F,0xB5), o3(0xE6,0x91,0xA0), - o3(0xE6,0x92,0x9D), o3(0xE6,0x93,0x8E), - o3(0xE6,0x95,0x8E), o3(0xE6,0x98,0x80), - o3(0xE6,0x98,0x95), o3(0xE6,0x98,0xBB), - o3(0xE6,0x98,0x89), o3(0xE6,0x98,0xAE), - o3(0xE6,0x98,0x9E), o3(0xE6,0x98,0xA4), - o3(0xE6,0x99,0xA5), o3(0xE6,0x99,0x97), - o3(0xE6,0x99,0x99), o3(0xEF,0xA8,0x92), - o3(0xE6,0x99,0xB3), o3(0xE6,0x9A,0x99), - o3(0xE6,0x9A,0xA0), o3(0xE6,0x9A,0xB2), - o3(0xE6,0x9A,0xBF), o3(0xE6,0x9B,0xBA), - o3(0xE6,0x9C,0x8E), o3(0xEF,0xA4,0xA9), - o3(0xE6,0x9D,0xA6), o3(0xE6,0x9E,0xBB), - o3(0xE6,0xA1,0x92), o3(0xE6,0x9F,0x80), - o3(0xE6,0xA0,0x81), o3(0xE6,0xA1,0x84), - o3(0xE6,0xA3,0x8F), o3(0xEF,0xA8,0x93), - o3(0xE6,0xA5,0xA8), o3(0xEF,0xA8,0x94), - o3(0xE6,0xA6,0x98), o3(0xE6,0xA7,0xA2), - o3(0xE6,0xA8,0xB0), o3(0xE6,0xA9,0xAB), - o3(0xE6,0xA9,0x86), o3(0xE6,0xA9,0xB3), - o3(0xE6,0xA9,0xBE), o3(0xE6,0xAB,0xA2), - o3(0xE6,0xAB,0xA4), o3(0xE6,0xAF,0x96), - o3(0xE6,0xB0,0xBF), o3(0xE6,0xB1,0x9C), - o3(0xE6,0xB2,0x86), o3(0xE6,0xB1,0xAF), - o3(0xE6,0xB3,0x9A), o3(0xE6,0xB4,0x84), - o3(0xE6,0xB6,0x87), o3(0xE6,0xB5,0xAF), - o3(0xE6,0xB6,0x96), o3(0xE6,0xB6,0xAC), - o3(0xE6,0xB7,0x8F), o3(0xE6,0xB7,0xB8), - o3(0xE6,0xB7,0xB2), o3(0xE6,0xB7,0xBC), - o3(0xE6,0xB8,0xB9), o3(0xE6,0xB9,0x9C), - o3(0xE6,0xB8,0xA7), o3(0xE6,0xB8,0xBC), - o3(0xE6,0xBA,0xBF), o3(0xE6,0xBE,0x88), - o3(0xE6,0xBE,0xB5), o3(0xE6,0xBF,0xB5), - o3(0xE7,0x80,0x85), o3(0xE7,0x80,0x87), - o3(0xE7,0x80,0xA8), o3(0xE7,0x82,0x85), - o3(0xE7,0x82,0xAB), o3(0xE7,0x84,0x8F), - o3(0xE7,0x84,0x84), o3(0xE7,0x85,0x9C), - o3(0xE7,0x85,0x86), o3(0xE7,0x85,0x87), - o3(0xEF,0xA8,0x95), o3(0xE7,0x87,0x81), - o3(0xE7,0x87,0xBE), o3(0xE7,0x8A,0xB1), - UNDEF, -}; -static const BYTE_LOOKUP -from_EUC_JP_FA = { - from_EUC_JP_A1_offsets, - from_EUC_JP_FA_infos -}; - -static const struct byte_lookup* const -from_EUC_JP_FB_infos[95] = { - o3(0xE7,0x8A,0xBE), o3(0xE7,0x8C,0xA4), - o3(0xEF,0xA8,0x96), o3(0xE7,0x8D,0xB7), - o3(0xE7,0x8E,0xBD), o3(0xE7,0x8F,0x89), - o3(0xE7,0x8F,0x96), o3(0xE7,0x8F,0xA3), - o3(0xE7,0x8F,0x92), o3(0xE7,0x90,0x87), - o3(0xE7,0x8F,0xB5), o3(0xE7,0x90,0xA6), - o3(0xE7,0x90,0xAA), o3(0xE7,0x90,0xA9), - o3(0xE7,0x90,0xAE), o3(0xE7,0x91,0xA2), - o3(0xE7,0x92,0x89), o3(0xE7,0x92,0x9F), - o3(0xE7,0x94,0x81), o3(0xE7,0x95,0xAF), - o3(0xE7,0x9A,0x82), o3(0xE7,0x9A,0x9C), - o3(0xE7,0x9A,0x9E), o3(0xE7,0x9A,0x9B), - o3(0xE7,0x9A,0xA6), o3(0xEF,0xA8,0x97), - o3(0xE7,0x9D,0x86), o3(0xE5,0x8A,0xAF), - o3(0xE7,0xA0,0xA1), o3(0xE7,0xA1,0x8E), - o3(0xE7,0xA1,0xA4), o3(0xE7,0xA1,0xBA), - o3(0xE7,0xA4,0xB0), o3(0xEF,0xA8,0x98), - o3(0xEF,0xA8,0x99), o3(0xEF,0xA8,0x9A), - o3(0xE7,0xA6,0x94), o3(0xEF,0xA8,0x9B), - o3(0xE7,0xA6,0x9B), o3(0xE7,0xAB,0x91), - o3(0xE7,0xAB,0xA7), o3(0xEF,0xA8,0x9C), - o3(0xE7,0xAB,0xAB), o3(0xE7,0xAE,0x9E), - o3(0xEF,0xA8,0x9D), o3(0xE7,0xB5,0x88), - o3(0xE7,0xB5,0x9C), o3(0xE7,0xB6,0xB7), - o3(0xE7,0xB6,0xA0), o3(0xE7,0xB7,0x96), - o3(0xE7,0xB9,0x92), o3(0xE7,0xBD,0x87), - o3(0xE7,0xBE,0xA1), o3(0xEF,0xA8,0x9E), - o3(0xE8,0x8C,0x81), o3(0xE8,0x8D,0xA2), - o3(0xE8,0x8D,0xBF), o3(0xE8,0x8F,0x87), - o3(0xE8,0x8F,0xB6), o3(0xE8,0x91,0x88), - o3(0xE8,0x92,0xB4), o3(0xE8,0x95,0x93), - o3(0xE8,0x95,0x99), o3(0xE8,0x95,0xAB), - o3(0xEF,0xA8,0x9F), o3(0xE8,0x96,0xB0), - o3(0xEF,0xA8,0xA0), o3(0xEF,0xA8,0xA1), - o3(0xE8,0xA0,0x87), o3(0xE8,0xA3,0xB5), - o3(0xE8,0xA8,0x92), o3(0xE8,0xA8,0xB7), - o3(0xE8,0xA9,0xB9), o3(0xE8,0xAA,0xA7), - o3(0xE8,0xAA,0xBE), o3(0xE8,0xAB,0x9F), - o3(0xEF,0xA8,0xA2), o3(0xE8,0xAB,0xB6), - o3(0xE8,0xAD,0x93), o3(0xE8,0xAD,0xBF), - o3(0xE8,0xB3,0xB0), o3(0xE8,0xB3,0xB4), - o3(0xE8,0xB4,0x92), o3(0xE8,0xB5,0xB6), - o3(0xEF,0xA8,0xA3), o3(0xE8,0xBB,0x8F), - o3(0xEF,0xA8,0xA4), o3(0xEF,0xA8,0xA5), - o3(0xE9,0x81,0xA7), o3(0xE9,0x83,0x9E), - o3(0xEF,0xA8,0xA6), o3(0xE9,0x84,0x95), - o3(0xE9,0x84,0xA7), o3(0xE9,0x87,0x9A), - UNDEF, -}; -static const BYTE_LOOKUP -from_EUC_JP_FB = { - from_EUC_JP_A1_offsets, - from_EUC_JP_FB_infos -}; - -static const unsigned char -from_EUC_JP_FC_offsets[256] = { - 91, 91, 91, 91, 91, 91, 91, 91, 91, 91, 91, 91, 91, 91, 91, 91, - 91, 91, 91, 91, 91, 91, 91, 91, 91, 91, 91, 91, 91, 91, 91, 91, - 91, 91, 91, 91, 91, 91, 91, 91, 91, 91, 91, 91, 91, 91, 91, 91, - 91, 91, 91, 91, 91, 91, 91, 91, 91, 91, 91, 91, 91, 91, 91, 91, - 91, 91, 91, 91, 91, 91, 91, 91, 91, 91, 91, 91, 91, 91, 91, 91, - 91, 91, 91, 91, 91, 91, 91, 91, 91, 91, 91, 91, 91, 91, 91, 91, - 91, 91, 91, 91, 91, 91, 91, 91, 91, 91, 91, 91, 91, 91, 91, 91, - 91, 91, 91, 91, 91, 91, 91, 91, 91, 91, 91, 91, 91, 91, 91, 91, - 91, 91, 91, 91, 91, 91, 91, 91, 91, 91, 91, 91, 91, 91, 91, 91, - 91, 91, 91, 91, 91, 91, 91, 91, 91, 91, 91, 91, 91, 91, 91, 91, - 91, 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, 91, - 91, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 91, 88, 89, 90, 91, -}; -static const struct byte_lookup* const -from_EUC_JP_FC_infos[92] = { - o3(0xE9,0x87,0x97), o3(0xE9,0x87,0x9E), - o3(0xE9,0x87,0xAD), o3(0xE9,0x87,0xAE), - o3(0xE9,0x87,0xA4), o3(0xE9,0x87,0xA5), - o3(0xE9,0x88,0x86), o3(0xE9,0x88,0x90), - o3(0xE9,0x88,0x8A), o3(0xE9,0x88,0xBA), - o3(0xE9,0x89,0x80), o3(0xE9,0x88,0xBC), - o3(0xE9,0x89,0x8E), o3(0xE9,0x89,0x99), - o3(0xE9,0x89,0x91), o3(0xE9,0x88,0xB9), - o3(0xE9,0x89,0xA7), o3(0xE9,0x8A,0xA7), - o3(0xE9,0x89,0xB7), o3(0xE9,0x89,0xB8), - o3(0xE9,0x8B,0xA7), o3(0xE9,0x8B,0x97), - o3(0xE9,0x8B,0x99), o3(0xE9,0x8B,0x90), - o3(0xEF,0xA8,0xA7), o3(0xE9,0x8B,0x95), - o3(0xE9,0x8B,0xA0), o3(0xE9,0x8B,0x93), - o3(0xE9,0x8C,0xA5), o3(0xE9,0x8C,0xA1), - o3(0xE9,0x8B,0xBB), o3(0xEF,0xA8,0xA8), - o3(0xE9,0x8C,0x9E), o3(0xE9,0x8B,0xBF), - o3(0xE9,0x8C,0x9D), o3(0xE9,0x8C,0x82), - o3(0xE9,0x8D,0xB0), o3(0xE9,0x8D,0x97), - o3(0xE9,0x8E,0xA4), o3(0xE9,0x8F,0x86), - o3(0xE9,0x8F,0x9E), o3(0xE9,0x8F,0xB8), - o3(0xE9,0x90,0xB1), o3(0xE9,0x91,0x85), - o3(0xE9,0x91,0x88), o3(0xE9,0x96,0x92), - o3(0xEF,0xA7,0x9C), o3(0xEF,0xA8,0xA9), - o3(0xE9,0x9A,0x9D), o3(0xE9,0x9A,0xAF), - o3(0xE9,0x9C,0xB3), o3(0xE9,0x9C,0xBB), - o3(0xE9,0x9D,0x83), o3(0xE9,0x9D,0x8D), - o3(0xE9,0x9D,0x8F), o3(0xE9,0x9D,0x91), - o3(0xE9,0x9D,0x95), o3(0xE9,0xA1,0x97), - o3(0xE9,0xA1,0xA5), o3(0xEF,0xA8,0xAA), - o3(0xEF,0xA8,0xAB), o3(0xE9,0xA4,0xA7), - o3(0xEF,0xA8,0xAC), o3(0xE9,0xA6,0x9E), - o3(0xE9,0xA9,0x8E), o3(0xE9,0xAB,0x99), - o3(0xE9,0xAB,0x9C), o3(0xE9,0xAD,0xB5), - o3(0xE9,0xAD,0xB2), o3(0xE9,0xAE,0x8F), - o3(0xE9,0xAE,0xB1), o3(0xE9,0xAE,0xBB), - o3(0xE9,0xB0,0x80), o3(0xE9,0xB5,0xB0), - o3(0xE9,0xB5,0xAB), o3(0xEF,0xA8,0xAD), - o3(0xE9,0xB8,0x99), o3(0xE9,0xBB,0x91), - o3(0xE2,0x85,0xB0), o3(0xE2,0x85,0xB1), - o3(0xE2,0x85,0xB2), o3(0xE2,0x85,0xB3), - o3(0xE2,0x85,0xB4), o3(0xE2,0x85,0xB5), - o3(0xE2,0x85,0xB6), o3(0xE2,0x85,0xB7), - o3(0xE2,0x85,0xB8), o3(0xE2,0x85,0xB9), - o3(0xEF,0xBF,0xA4), o3(0xEF,0xBC,0x87), - o3(0xEF,0xBC,0x82), UNDEF, -}; -static const BYTE_LOOKUP -from_EUC_JP_FC = { - from_EUC_JP_FC_offsets, - from_EUC_JP_FC_infos -}; - -static const unsigned char -from_EUC_JP_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, - 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 1, 84, - 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, 84, - 84, 2, 3, 4, 5, 6, 7, 8, 9, 84, 84, 84, 84, 10, 84, 84, - 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, 84, 84, 84, 84, 80, 81, 82, 83, 84, 84, 84, -}; -static const struct byte_lookup* const -from_EUC_JP_infos[85] = { - NOMAP, &from_EUC_JP_8E, &from_EUC_JP_A1, &from_EUC_JP_A2, - &from_EUC_JP_A3, &from_EUC_JP_A4, &from_EUC_JP_A5, &from_EUC_JP_A6, - &from_EUC_JP_A7, &from_EUC_JP_A8, &from_EUC_JP_AD, &from_EUC_JP_B0, - &from_EUC_JP_B1, &from_EUC_JP_B2, &from_EUC_JP_B3, &from_EUC_JP_B4, - &from_EUC_JP_B5, &from_EUC_JP_B6, &from_EUC_JP_B7, &from_EUC_JP_B8, - &from_EUC_JP_B9, &from_EUC_JP_BA, &from_EUC_JP_BB, &from_EUC_JP_BC, - &from_EUC_JP_BD, &from_EUC_JP_BE, &from_EUC_JP_BF, &from_EUC_JP_C0, - &from_EUC_JP_C1, &from_EUC_JP_C2, &from_EUC_JP_C3, &from_EUC_JP_C4, - &from_EUC_JP_C5, &from_EUC_JP_C6, &from_EUC_JP_C7, &from_EUC_JP_C8, - &from_EUC_JP_C9, &from_EUC_JP_CA, &from_EUC_JP_CB, &from_EUC_JP_CC, - &from_EUC_JP_CD, &from_EUC_JP_CE, &from_EUC_JP_CF, &from_EUC_JP_D0, - &from_EUC_JP_D1, &from_EUC_JP_D2, &from_EUC_JP_D3, &from_EUC_JP_D4, - &from_EUC_JP_D5, &from_EUC_JP_D6, &from_EUC_JP_D7, &from_EUC_JP_D8, - &from_EUC_JP_D9, &from_EUC_JP_DA, &from_EUC_JP_DB, &from_EUC_JP_DC, - &from_EUC_JP_DD, &from_EUC_JP_DE, &from_EUC_JP_DF, &from_EUC_JP_E0, - &from_EUC_JP_E1, &from_EUC_JP_E2, &from_EUC_JP_E3, &from_EUC_JP_E4, - &from_EUC_JP_E5, &from_EUC_JP_E6, &from_EUC_JP_E7, &from_EUC_JP_E8, - &from_EUC_JP_E9, &from_EUC_JP_EA, &from_EUC_JP_EB, &from_EUC_JP_EC, - &from_EUC_JP_ED, &from_EUC_JP_EE, &from_EUC_JP_EF, &from_EUC_JP_F0, - &from_EUC_JP_F1, &from_EUC_JP_F2, &from_EUC_JP_F3, &from_EUC_JP_F4, - &from_EUC_JP_F9, &from_EUC_JP_FA, &from_EUC_JP_FB, &from_EUC_JP_FC, - UNDEF, -}; -const BYTE_LOOKUP -rb_from_EUC_JP = { - from_EUC_JP_offsets, - from_EUC_JP_infos -}; - -static const struct byte_lookup* const -to_EUC_JP_C2_infos[14] = { - o2(0xA1,0xF1), o2(0xA1,0xF2), o2(0xA1,0xEF), o2(0xFC,0xFC), - o2(0xA1,0xF8), o2(0xA1,0xAF), o2(0xA2,0xCC), o2(0xA1,0xB1), - o2(0xA1,0xEB), o2(0xA1,0xDE), o2(0xA1,0xAD), o2(0xA2,0xF9), - o2(0xA1,0xA4), UNDEF, -}; -static const BYTE_LOOKUP -to_EUC_JP_C2 = { - to_SHIFT_JIS_C2_offsets, - to_EUC_JP_C2_infos -}; - -static const struct byte_lookup* const -to_EUC_JP_C3_infos[3] = { - o2(0xA1,0xDF), o2(0xA1,0xE0), UNDEF, -}; -static const BYTE_LOOKUP -to_EUC_JP_C3 = { - to_SHIFT_JIS_C3_offsets, - to_EUC_JP_C3_infos -}; - -static const struct byte_lookup* const -to_EUC_JP_CE_infos[40] = { - o2(0xA6,0xA1), o2(0xA6,0xA2), o2(0xA6,0xA3), o2(0xA6,0xA4), - o2(0xA6,0xA5), o2(0xA6,0xA6), o2(0xA6,0xA7), o2(0xA6,0xA8), - o2(0xA6,0xA9), o2(0xA6,0xAA), o2(0xA6,0xAB), o2(0xA6,0xAC), - o2(0xA6,0xAD), o2(0xA6,0xAE), o2(0xA6,0xAF), o2(0xA6,0xB0), - o2(0xA6,0xB1), o2(0xA6,0xB2), o2(0xA6,0xB3), o2(0xA6,0xB4), - o2(0xA6,0xB5), o2(0xA6,0xB6), o2(0xA6,0xB7), o2(0xA6,0xB8), - o2(0xA6,0xC1), o2(0xA6,0xC2), o2(0xA6,0xC3), o2(0xA6,0xC4), - o2(0xA6,0xC5), o2(0xA6,0xC6), o2(0xA6,0xC7), o2(0xA6,0xC8), - o2(0xA6,0xC9), o2(0xA6,0xCA), o2(0xA6,0xCB), o2(0xA6,0xCC), - o2(0xA6,0xCD), o2(0xA6,0xCE), o2(0xA6,0xCF), UNDEF, -}; -static const BYTE_LOOKUP -to_EUC_JP_CE = { - to_SHIFT_JIS_CE_offsets, - to_EUC_JP_CE_infos -}; - -static const struct byte_lookup* const -to_EUC_JP_CF_infos[10] = { - o2(0xA6,0xD0), o2(0xA6,0xD1), o2(0xA6,0xD2), o2(0xA6,0xD3), - o2(0xA6,0xD4), o2(0xA6,0xD5), o2(0xA6,0xD6), o2(0xA6,0xD7), - o2(0xA6,0xD8), UNDEF, -}; -static const BYTE_LOOKUP -to_EUC_JP_CF = { - to_SHIFT_JIS_CF_offsets, - to_EUC_JP_CF_infos -}; - -static const struct byte_lookup* const -to_EUC_JP_D0_infos[50] = { - o2(0xA7,0xA7), o2(0xA7,0xA1), o2(0xA7,0xA2), o2(0xA7,0xA3), - o2(0xA7,0xA4), o2(0xA7,0xA5), o2(0xA7,0xA6), o2(0xA7,0xA8), - o2(0xA7,0xA9), o2(0xA7,0xAA), o2(0xA7,0xAB), o2(0xA7,0xAC), - o2(0xA7,0xAD), o2(0xA7,0xAE), o2(0xA7,0xAF), o2(0xA7,0xB0), - o2(0xA7,0xB1), o2(0xA7,0xB2), o2(0xA7,0xB3), o2(0xA7,0xB4), - o2(0xA7,0xB5), o2(0xA7,0xB6), o2(0xA7,0xB7), o2(0xA7,0xB8), - o2(0xA7,0xB9), o2(0xA7,0xBA), o2(0xA7,0xBB), o2(0xA7,0xBC), - o2(0xA7,0xBD), o2(0xA7,0xBE), o2(0xA7,0xBF), o2(0xA7,0xC0), - o2(0xA7,0xC1), o2(0xA7,0xD1), o2(0xA7,0xD2), o2(0xA7,0xD3), - o2(0xA7,0xD4), o2(0xA7,0xD5), o2(0xA7,0xD6), o2(0xA7,0xD8), - o2(0xA7,0xD9), o2(0xA7,0xDA), o2(0xA7,0xDB), o2(0xA7,0xDC), - o2(0xA7,0xDD), o2(0xA7,0xDE), o2(0xA7,0xDF), o2(0xA7,0xE0), - o2(0xA7,0xE1), UNDEF, -}; -static const BYTE_LOOKUP -to_EUC_JP_D0 = { - to_SHIFT_JIS_D0_offsets, - to_EUC_JP_D0_infos -}; - -static const struct byte_lookup* const -to_EUC_JP_D1_infos[18] = { - o2(0xA7,0xE2), o2(0xA7,0xE3), o2(0xA7,0xE4), o2(0xA7,0xE5), - o2(0xA7,0xE6), o2(0xA7,0xE7), o2(0xA7,0xE8), o2(0xA7,0xE9), - o2(0xA7,0xEA), o2(0xA7,0xEB), o2(0xA7,0xEC), o2(0xA7,0xED), - o2(0xA7,0xEE), o2(0xA7,0xEF), o2(0xA7,0xF0), o2(0xA7,0xF1), - o2(0xA7,0xD7), UNDEF, -}; -static const BYTE_LOOKUP -to_EUC_JP_D1 = { - to_SHIFT_JIS_D1_offsets, - to_EUC_JP_D1_infos -}; - -static const struct byte_lookup* const -to_EUC_JP_E2_80_infos[16] = { - o2(0xA1,0xBE), o2(0xA1,0xBD), o2(0xA1,0xC2), o2(0xA1,0xC6), - o2(0xA1,0xC7), o2(0xA1,0xC8), o2(0xA1,0xC9), o2(0xA2,0xF7), - o2(0xA2,0xF8), o2(0xA1,0xC5), o2(0xA1,0xC4), o2(0xA2,0xF3), - o2(0xA1,0xEC), o2(0xA1,0xED), o2(0xA2,0xA8), UNDEF, -}; -static const BYTE_LOOKUP -to_EUC_JP_E2_80 = { - to_SHIFT_JIS_E2_80_offsets, - to_EUC_JP_E2_80_infos -}; - -static const struct byte_lookup* const -to_EUC_JP_E2_84_infos[5] = { - o2(0xA1,0xEE), o2(0xAD,0xE2), o2(0xAD,0xE4), o2(0xA2,0xF2), - UNDEF, -}; -static const BYTE_LOOKUP -to_EUC_JP_E2_84 = { - to_SHIFT_JIS_E2_84_offsets, - to_EUC_JP_E2_84_infos -}; - -static const struct byte_lookup* const -to_EUC_JP_E2_85_infos[21] = { - o2(0xAD,0xB5), o2(0xAD,0xB6), o2(0xAD,0xB7), o2(0xAD,0xB8), - o2(0xAD,0xB9), o2(0xAD,0xBA), o2(0xAD,0xBB), o2(0xAD,0xBC), - o2(0xAD,0xBD), o2(0xAD,0xBE), o2(0xFC,0xF1), o2(0xFC,0xF2), - o2(0xFC,0xF3), o2(0xFC,0xF4), o2(0xFC,0xF5), o2(0xFC,0xF6), - o2(0xFC,0xF7), o2(0xFC,0xF8), o2(0xFC,0xF9), o2(0xFC,0xFA), - UNDEF, -}; -static const BYTE_LOOKUP -to_EUC_JP_E2_85 = { - to_SHIFT_JIS_E2_85_offsets, - to_EUC_JP_E2_85_infos -}; - -static const struct byte_lookup* const -to_EUC_JP_E2_86_infos[5] = { - o2(0xA2,0xAB), o2(0xA2,0xAC), o2(0xA2,0xAA), o2(0xA2,0xAD), - UNDEF, -}; -static const BYTE_LOOKUP -to_EUC_JP_E2_86 = { - to_SHIFT_JIS_E2_86_offsets, - to_EUC_JP_E2_86_infos -}; - -static const struct byte_lookup* const -to_EUC_JP_E2_87_infos[3] = { - o2(0xA2,0xCD), o2(0xA2,0xCE), UNDEF, -}; -static const BYTE_LOOKUP -to_EUC_JP_E2_87 = { - to_SHIFT_JIS_E2_87_offsets, - to_EUC_JP_E2_87_infos -}; - -static const struct byte_lookup* const -to_EUC_JP_E2_88_infos[24] = { - o2(0xA2,0xCF), o2(0xA2,0xDF), o2(0xA2,0xD0), o2(0xA2,0xE0), - o2(0xA2,0xBA), o2(0xA2,0xBB), o2(0xAD,0xF4), o2(0xA1,0xDD), - o2(0xAD,0xF5), o2(0xA2,0xE7), o2(0xA1,0xE7), o2(0xAD,0xF8), - o2(0xAD,0xF7), o2(0xA2,0xCA), o2(0xA2,0xCB), o2(0xAD,0xFB), - o2(0xAD,0xFC), o2(0xAD,0xF2), o2(0xA2,0xEA), o2(0xAD,0xF3), - o2(0xA1,0xE8), o2(0xAD,0xFA), o2(0xA2,0xE6), UNDEF, -}; -static const BYTE_LOOKUP -to_EUC_JP_E2_88 = { - to_SHIFT_JIS_E2_88_offsets, - to_EUC_JP_E2_88_infos -}; - -static const struct byte_lookup* const -to_EUC_JP_E2_89_infos[8] = { - o2(0xAD,0xF0), o2(0xA1,0xE2), o2(0xAD,0xF1), o2(0xA1,0xE5), - o2(0xA1,0xE6), o2(0xA2,0xE3), o2(0xA2,0xE4), UNDEF, -}; -static const BYTE_LOOKUP -to_EUC_JP_E2_89 = { - to_SHIFT_JIS_E2_89_offsets, - to_EUC_JP_E2_89_infos -}; - -static const struct byte_lookup* const -to_EUC_JP_E2_8A_infos[7] = { - o2(0xA2,0xBE), o2(0xA2,0xBF), o2(0xA2,0xBC), o2(0xA2,0xBD), - o2(0xAD,0xF6), o2(0xAD,0xF9), UNDEF, -}; -static const BYTE_LOOKUP -to_EUC_JP_E2_8A = { - to_SHIFT_JIS_E2_8A_offsets, - to_EUC_JP_E2_8A_infos -}; - -static const struct byte_lookup* const -to_EUC_JP_E2_8C_infos[2] = { - o2(0xA2,0xDE), UNDEF, -}; -static const BYTE_LOOKUP -to_EUC_JP_E2_8C = { - to_SHIFT_JIS_E2_8C_offsets, - to_EUC_JP_E2_8C_infos -}; - -static const struct byte_lookup* const -to_EUC_JP_E2_91_infos[21] = { - o2(0xAD,0xA1), o2(0xAD,0xA2), o2(0xAD,0xA3), o2(0xAD,0xA4), - o2(0xAD,0xA5), o2(0xAD,0xA6), o2(0xAD,0xA7), o2(0xAD,0xA8), - o2(0xAD,0xA9), o2(0xAD,0xAA), o2(0xAD,0xAB), o2(0xAD,0xAC), - o2(0xAD,0xAD), o2(0xAD,0xAE), o2(0xAD,0xAF), o2(0xAD,0xB0), - o2(0xAD,0xB1), o2(0xAD,0xB2), o2(0xAD,0xB3), o2(0xAD,0xB4), - UNDEF, -}; -static const BYTE_LOOKUP -to_EUC_JP_E2_91 = { - to_SHIFT_JIS_E2_91_offsets, - to_EUC_JP_E2_91_infos -}; - -static const struct byte_lookup* const -to_EUC_JP_E2_94_infos[31] = { - o2(0xA8,0xA1), o2(0xA8,0xAC), o2(0xA8,0xA2), o2(0xA8,0xAD), - o2(0xA8,0xA3), o2(0xA8,0xAE), o2(0xA8,0xA4), o2(0xA8,0xAF), - o2(0xA8,0xA6), o2(0xA8,0xB1), o2(0xA8,0xA5), o2(0xA8,0xB0), - o2(0xA8,0xA7), o2(0xA8,0xBC), o2(0xA8,0xB7), o2(0xA8,0xB2), - o2(0xA8,0xA9), o2(0xA8,0xBE), o2(0xA8,0xB9), o2(0xA8,0xB4), - o2(0xA8,0xA8), o2(0xA8,0xB8), o2(0xA8,0xBD), o2(0xA8,0xB3), - o2(0xA8,0xAA), o2(0xA8,0xBA), o2(0xA8,0xBF), o2(0xA8,0xB5), - o2(0xA8,0xAB), o2(0xA8,0xBB), UNDEF, -}; -static const BYTE_LOOKUP -to_EUC_JP_E2_94 = { - to_SHIFT_JIS_E2_94_offsets, - to_EUC_JP_E2_94_infos -}; - -static const struct byte_lookup* const -to_EUC_JP_E2_95_infos[3] = { - o2(0xA8,0xC0), o2(0xA8,0xB6), UNDEF, -}; -static const BYTE_LOOKUP -to_EUC_JP_E2_95 = { - to_SHIFT_JIS_E2_95_offsets, - to_EUC_JP_E2_95_infos -}; - -static const struct byte_lookup* const -to_EUC_JP_E2_96_infos[7] = { - o2(0xA2,0xA3), o2(0xA2,0xA2), o2(0xA2,0xA5), o2(0xA2,0xA4), - o2(0xA2,0xA7), o2(0xA2,0xA6), UNDEF, -}; -static const BYTE_LOOKUP -to_EUC_JP_E2_96 = { - to_SHIFT_JIS_E2_96_offsets, - to_EUC_JP_E2_96_infos -}; - -static const struct byte_lookup* const -to_EUC_JP_E2_97_infos[7] = { - o2(0xA2,0xA1), o2(0xA1,0xFE), o2(0xA1,0xFB), o2(0xA1,0xFD), - o2(0xA1,0xFC), o2(0xA2,0xFE), UNDEF, -}; -static const BYTE_LOOKUP -to_EUC_JP_E2_97 = { - to_SHIFT_JIS_E2_97_offsets, - to_EUC_JP_E2_97_infos -}; - -static const struct byte_lookup* const -to_EUC_JP_E2_98_infos[3] = { - o2(0xA1,0xFA), o2(0xA1,0xF9), UNDEF, -}; -static const BYTE_LOOKUP -to_EUC_JP_E2_98 = { - to_SHIFT_JIS_E2_98_offsets, - to_EUC_JP_E2_98_infos -}; - -static const struct byte_lookup* const -to_EUC_JP_E2_99_infos[6] = { - o2(0xA1,0xEA), o2(0xA1,0xE9), o2(0xA2,0xF6), o2(0xA2,0xF5), - o2(0xA2,0xF4), UNDEF, -}; -static const BYTE_LOOKUP -to_EUC_JP_E2_99 = { - to_SHIFT_JIS_E2_99_offsets, - to_EUC_JP_E2_99_infos -}; - -static const struct byte_lookup* const -to_EUC_JP_E2_infos[17] = { - &to_EUC_JP_E2_80, &to_EUC_JP_E2_84, &to_EUC_JP_E2_85, &to_EUC_JP_E2_86, - &to_EUC_JP_E2_87, &to_EUC_JP_E2_88, &to_EUC_JP_E2_89, &to_EUC_JP_E2_8A, - &to_EUC_JP_E2_8C, &to_EUC_JP_E2_91, &to_EUC_JP_E2_94, &to_EUC_JP_E2_95, - &to_EUC_JP_E2_96, &to_EUC_JP_E2_97, &to_EUC_JP_E2_98, &to_EUC_JP_E2_99, - UNDEF, -}; -static const BYTE_LOOKUP -to_EUC_JP_E2 = { - to_SHIFT_JIS_E2_offsets, - to_EUC_JP_E2_infos -}; - -static const struct byte_lookup* const -to_EUC_JP_E3_80_infos[25] = { - o2(0xA1,0xA1), o2(0xA1,0xA2), o2(0xA1,0xA3), o2(0xA1,0xB7), - o2(0xA1,0xB9), o2(0xA1,0xBA), o2(0xA1,0xBB), o2(0xA1,0xD2), - o2(0xA1,0xD3), o2(0xA1,0xD4), o2(0xA1,0xD5), o2(0xA1,0xD6), - o2(0xA1,0xD7), o2(0xA1,0xD8), o2(0xA1,0xD9), o2(0xA1,0xDA), - o2(0xA1,0xDB), o2(0xA2,0xA9), o2(0xA2,0xAE), o2(0xA1,0xCC), - o2(0xA1,0xCD), o2(0xA1,0xC1), o2(0xAD,0xE0), o2(0xAD,0xE1), - UNDEF, -}; -static const BYTE_LOOKUP -to_EUC_JP_E3_80 = { - to_SHIFT_JIS_E3_80_offsets, - to_EUC_JP_E3_80_infos -}; - -static const struct byte_lookup* const -to_EUC_JP_E3_81_infos[64] = { - o2(0xA4,0xA1), o2(0xA4,0xA2), o2(0xA4,0xA3), o2(0xA4,0xA4), - o2(0xA4,0xA5), o2(0xA4,0xA6), o2(0xA4,0xA7), o2(0xA4,0xA8), - o2(0xA4,0xA9), o2(0xA4,0xAA), o2(0xA4,0xAB), o2(0xA4,0xAC), - o2(0xA4,0xAD), o2(0xA4,0xAE), o2(0xA4,0xAF), o2(0xA4,0xB0), - o2(0xA4,0xB1), o2(0xA4,0xB2), o2(0xA4,0xB3), o2(0xA4,0xB4), - o2(0xA4,0xB5), o2(0xA4,0xB6), o2(0xA4,0xB7), o2(0xA4,0xB8), - o2(0xA4,0xB9), o2(0xA4,0xBA), o2(0xA4,0xBB), o2(0xA4,0xBC), - o2(0xA4,0xBD), o2(0xA4,0xBE), o2(0xA4,0xBF), o2(0xA4,0xC0), - o2(0xA4,0xC1), o2(0xA4,0xC2), o2(0xA4,0xC3), o2(0xA4,0xC4), - o2(0xA4,0xC5), o2(0xA4,0xC6), o2(0xA4,0xC7), o2(0xA4,0xC8), - o2(0xA4,0xC9), o2(0xA4,0xCA), o2(0xA4,0xCB), o2(0xA4,0xCC), - o2(0xA4,0xCD), o2(0xA4,0xCE), o2(0xA4,0xCF), o2(0xA4,0xD0), - o2(0xA4,0xD1), o2(0xA4,0xD2), o2(0xA4,0xD3), o2(0xA4,0xD4), - o2(0xA4,0xD5), o2(0xA4,0xD6), o2(0xA4,0xD7), o2(0xA4,0xD8), - o2(0xA4,0xD9), o2(0xA4,0xDA), o2(0xA4,0xDB), o2(0xA4,0xDC), - o2(0xA4,0xDD), o2(0xA4,0xDE), o2(0xA4,0xDF), UNDEF, -}; -static const BYTE_LOOKUP -to_EUC_JP_E3_81 = { - to_SHIFT_JIS_E3_81_offsets, - to_EUC_JP_E3_81_infos -}; - -static const struct byte_lookup* const -to_EUC_JP_E3_82_infos[56] = { - o2(0xA4,0xE0), o2(0xA4,0xE1), o2(0xA4,0xE2), o2(0xA4,0xE3), - o2(0xA4,0xE4), o2(0xA4,0xE5), o2(0xA4,0xE6), o2(0xA4,0xE7), - o2(0xA4,0xE8), o2(0xA4,0xE9), o2(0xA4,0xEA), o2(0xA4,0xEB), - o2(0xA4,0xEC), o2(0xA4,0xED), o2(0xA4,0xEE), o2(0xA4,0xEF), - o2(0xA4,0xF0), o2(0xA4,0xF1), o2(0xA4,0xF2), o2(0xA4,0xF3), - o2(0xA1,0xAB), o2(0xA1,0xAC), o2(0xA1,0xB5), o2(0xA1,0xB6), - o2(0xA5,0xA1), o2(0xA5,0xA2), o2(0xA5,0xA3), o2(0xA5,0xA4), - o2(0xA5,0xA5), o2(0xA5,0xA6), o2(0xA5,0xA7), o2(0xA5,0xA8), - o2(0xA5,0xA9), o2(0xA5,0xAA), o2(0xA5,0xAB), o2(0xA5,0xAC), - o2(0xA5,0xAD), o2(0xA5,0xAE), o2(0xA5,0xAF), o2(0xA5,0xB0), - o2(0xA5,0xB1), o2(0xA5,0xB2), o2(0xA5,0xB3), o2(0xA5,0xB4), - o2(0xA5,0xB5), o2(0xA5,0xB6), o2(0xA5,0xB7), o2(0xA5,0xB8), - o2(0xA5,0xB9), o2(0xA5,0xBA), o2(0xA5,0xBB), o2(0xA5,0xBC), - o2(0xA5,0xBD), o2(0xA5,0xBE), o2(0xA5,0xBF), UNDEF, -}; -static const BYTE_LOOKUP -to_EUC_JP_E3_82 = { - to_SHIFT_JIS_E3_82_offsets, - to_EUC_JP_E3_82_infos -}; - -static const struct byte_lookup* const -to_EUC_JP_E3_83_infos[60] = { - o2(0xA5,0xC0), o2(0xA5,0xC1), o2(0xA5,0xC2), o2(0xA5,0xC3), - o2(0xA5,0xC4), o2(0xA5,0xC5), o2(0xA5,0xC6), o2(0xA5,0xC7), - o2(0xA5,0xC8), o2(0xA5,0xC9), o2(0xA5,0xCA), o2(0xA5,0xCB), - o2(0xA5,0xCC), o2(0xA5,0xCD), o2(0xA5,0xCE), o2(0xA5,0xCF), - o2(0xA5,0xD0), o2(0xA5,0xD1), o2(0xA5,0xD2), o2(0xA5,0xD3), - o2(0xA5,0xD4), o2(0xA5,0xD5), o2(0xA5,0xD6), o2(0xA5,0xD7), - o2(0xA5,0xD8), o2(0xA5,0xD9), o2(0xA5,0xDA), o2(0xA5,0xDB), - o2(0xA5,0xDC), o2(0xA5,0xDD), o2(0xA5,0xDE), o2(0xA5,0xDF), - o2(0xA5,0xE0), o2(0xA5,0xE1), o2(0xA5,0xE2), o2(0xA5,0xE3), - o2(0xA5,0xE4), o2(0xA5,0xE5), o2(0xA5,0xE6), o2(0xA5,0xE7), - o2(0xA5,0xE8), o2(0xA5,0xE9), o2(0xA5,0xEA), o2(0xA5,0xEB), - o2(0xA5,0xEC), o2(0xA5,0xED), o2(0xA5,0xEE), o2(0xA5,0xEF), - o2(0xA5,0xF0), o2(0xA5,0xF1), o2(0xA5,0xF2), o2(0xA5,0xF3), - o2(0xA5,0xF4), o2(0xA5,0xF5), o2(0xA5,0xF6), o2(0xA1,0xA6), - o2(0xA1,0xBC), o2(0xA1,0xB3), o2(0xA1,0xB4), UNDEF, -}; -static const BYTE_LOOKUP -to_EUC_JP_E3_83 = { - to_SHIFT_JIS_E3_83_offsets, - to_EUC_JP_E3_83_infos -}; - -static const struct byte_lookup* const -to_EUC_JP_E3_88_infos[4] = { - o2(0xAD,0xEA), o2(0xAD,0xEB), o2(0xAD,0xEC), UNDEF, -}; -static const BYTE_LOOKUP -to_EUC_JP_E3_88 = { - to_SHIFT_JIS_E3_88_offsets, - to_EUC_JP_E3_88_infos -}; - -static const struct byte_lookup* const -to_EUC_JP_E3_8A_infos[6] = { - o2(0xAD,0xE5), o2(0xAD,0xE6), o2(0xAD,0xE7), o2(0xAD,0xE8), - o2(0xAD,0xE9), UNDEF, -}; -static const BYTE_LOOKUP -to_EUC_JP_E3_8A = { - to_SHIFT_JIS_E3_8A_offsets, - to_EUC_JP_E3_8A_infos -}; - -static const struct byte_lookup* const -to_EUC_JP_E3_8C_infos[12] = { - o2(0xAD,0xC6), o2(0xAD,0xCA), o2(0xAD,0xC1), o2(0xAD,0xC4), - o2(0xAD,0xC2), o2(0xAD,0xCC), o2(0xAD,0xCB), o2(0xAD,0xC5), - o2(0xAD,0xCD), o2(0xAD,0xC7), o2(0xAD,0xCF), UNDEF, -}; -static const BYTE_LOOKUP -to_EUC_JP_E3_8C = { - to_SHIFT_JIS_E3_8C_offsets, - to_EUC_JP_E3_8C_infos -}; - -static const struct byte_lookup* const -to_EUC_JP_E3_8D_infos[10] = { - o2(0xAD,0xC0), o2(0xAD,0xCE), o2(0xAD,0xC3), o2(0xAD,0xC8), - o2(0xAD,0xC9), o2(0xAD,0xDF), o2(0xAD,0xEF), o2(0xAD,0xEE), - o2(0xAD,0xED), UNDEF, -}; -static const BYTE_LOOKUP -to_EUC_JP_E3_8D = { - to_SHIFT_JIS_E3_8D_offsets, - to_EUC_JP_E3_8D_infos -}; - -static const struct byte_lookup* const -to_EUC_JP_E3_8E_infos[7] = { - o2(0xAD,0xD3), o2(0xAD,0xD4), o2(0xAD,0xD0), o2(0xAD,0xD1), - o2(0xAD,0xD2), o2(0xAD,0xD6), UNDEF, -}; -static const BYTE_LOOKUP -to_EUC_JP_E3_8E = { - to_SHIFT_JIS_E3_8E_offsets, - to_EUC_JP_E3_8E_infos -}; - -static const struct byte_lookup* const -to_EUC_JP_E3_8F_infos[3] = { - o2(0xAD,0xD5), o2(0xAD,0xE3), UNDEF, -}; -static const BYTE_LOOKUP -to_EUC_JP_E3_8F = { - to_SHIFT_JIS_E3_8F_offsets, - to_EUC_JP_E3_8F_infos -}; - -static const struct byte_lookup* const -to_EUC_JP_E3_infos[11] = { - &to_EUC_JP_E3_80, &to_EUC_JP_E3_81, &to_EUC_JP_E3_82, &to_EUC_JP_E3_83, - &to_EUC_JP_E3_88, &to_EUC_JP_E3_8A, &to_EUC_JP_E3_8C, &to_EUC_JP_E3_8D, - &to_EUC_JP_E3_8E, &to_EUC_JP_E3_8F, UNDEF, -}; -static const BYTE_LOOKUP -to_EUC_JP_E3 = { - to_SHIFT_JIS_E3_offsets, - to_EUC_JP_E3_infos -}; - -static const struct byte_lookup* const -to_EUC_JP_E4_B8_infos[33] = { - o2(0xB0,0xEC), o2(0xC3,0xFA), o2(0xBC,0xB7), o2(0xCB,0xFC), - o2(0xBE,0xE6), o2(0xBB,0xB0), o2(0xBE,0xE5), o2(0xB2,0xBC), - o2(0xC9,0xD4), o2(0xCD,0xBF), o2(0xD0,0xA2), o2(0xB1,0xAF), - o2(0xB3,0xEE), o2(0xD0,0xA3), o2(0xC0,0xA4), o2(0xD2,0xC2), - o2(0xB5,0xD6), o2(0xCA,0xBA), o2(0xBE,0xE7), o2(0xCE,0xBE), - o2(0xCA,0xC2), o2(0xF9,0xAD), o2(0xD0,0xA4), o2(0xC3,0xE6), - o2(0xD0,0xA5), o2(0xB6,0xFA), o2(0xD0,0xA6), o2(0xB4,0xDD), - o2(0xC3,0xB0), o2(0xBC,0xE7), o2(0xD0,0xA7), o2(0xD0,0xA8), - UNDEF, -}; -static const BYTE_LOOKUP -to_EUC_JP_E4_B8 = { - to_SHIFT_JIS_E4_B8_offsets, - to_EUC_JP_E4_B8_infos -}; - -static const struct byte_lookup* const -to_EUC_JP_E4_B9_infos[20] = { - o2(0xD0,0xA9), o2(0xC7,0xB5), o2(0xB5,0xD7), o2(0xC7,0xB7), - o2(0xC6,0xE3), o2(0xB8,0xC3), o2(0xCB,0xB3), o2(0xE9,0xC9), - o2(0xD0,0xAA), o2(0xBE,0xE8), o2(0xD0,0xAB), o2(0xB2,0xB5), - o2(0xB6,0xE5), o2(0xB8,0xF0), o2(0xCC,0xE9), o2(0xD6,0xA6), - o2(0xCD,0xF0), o2(0xC6,0xFD), o2(0xB4,0xA5), UNDEF, -}; -static const BYTE_LOOKUP -to_EUC_JP_E4_B9 = { - to_SHIFT_JIS_E4_B9_offsets, - to_EUC_JP_E4_B9_infos -}; - -static const struct byte_lookup* const -to_EUC_JP_E4_BA_infos[36] = { - o2(0xB5,0xB5), o2(0xD0,0xAC), o2(0xD0,0xAD), o2(0xCE,0xBB), - o2(0xCD,0xBD), o2(0xC1,0xE8), o2(0xD0,0xAF), o2(0xBB,0xF6), - o2(0xC6,0xF3), o2(0xD0,0xB2), o2(0xB1,0xBE), o2(0xB8,0xDF), - o2(0xB8,0xDE), o2(0xB0,0xE6), o2(0xCF,0xCB), o2(0xCF,0xCA), - o2(0xBA,0xB3), o2(0xB0,0xA1), o2(0xD0,0xB3), o2(0xD0,0xB4), - o2(0xD0,0xB5), o2(0xCB,0xB4), o2(0xD0,0xB6), o2(0xB8,0xF2), - o2(0xB0,0xE7), o2(0xCB,0xF2), o2(0xB5,0xFC), o2(0xB5,0xFD), - o2(0xB5,0xFE), o2(0xC4,0xE2), o2(0xCE,0xBC), o2(0xD0,0xB7), - o2(0xD0,0xB8), o2(0xD0,0xB9), o2(0xBF,0xCD), UNDEF, -}; -static const BYTE_LOOKUP -to_EUC_JP_E4_BA = { - to_SHIFT_JIS_E4_BA_offsets, - to_EUC_JP_E4_BA_infos -}; - -static const struct byte_lookup* const -to_EUC_JP_E4_BB_infos[33] = { - o2(0xBD,0xBA), o2(0xBF,0xCE), o2(0xD0,0xBE), o2(0xD0,0xBC), - o2(0xD0,0xBD), o2(0xB5,0xD8), o2(0xBA,0xA3), o2(0xB2,0xF0), - o2(0xD0,0xBB), o2(0xD0,0xBA), o2(0xCA,0xA9), o2(0xBB,0xC6), - o2(0xBB,0xC5), o2(0xC2,0xBE), o2(0xD0,0xBF), o2(0xC9,0xD5), - o2(0xC0,0xE7), o2(0xA1,0xB8), o2(0xD0,0xC0), o2(0xD0,0xC2), - o2(0xF9,0xAE), o2(0xC2,0xE5), o2(0xCE,0xE1), o2(0xB0,0xCA), - o2(0xD0,0xC1), o2(0xB2,0xBE), o2(0xB6,0xC4), o2(0xC3,0xE7), - o2(0xB7,0xEF), o2(0xD0,0xC3), o2(0xC7,0xA4), o2(0xF9,0xAF), - UNDEF, -}; -static const BYTE_LOOKUP -to_EUC_JP_E4_BB = { - to_SHIFT_JIS_E4_BB_offsets, - to_EUC_JP_E4_BB_infos -}; - -static const struct byte_lookup* const -to_EUC_JP_E4_BC_infos[23] = { - o2(0xF9,0xB0), o2(0xB4,0xEB), o2(0xF9,0xB1), o2(0xD0,0xC4), - o2(0xB0,0xCB), o2(0xB8,0xE0), o2(0xB4,0xEC), o2(0xC9,0xFA), - o2(0xC8,0xB2), o2(0xB5,0xD9), o2(0xB2,0xF1), o2(0xD0,0xE7), - o2(0xC5,0xC1), o2(0xC7,0xEC), o2(0xD0,0xC6), o2(0xC8,0xBC), - o2(0xCE,0xE2), o2(0xBF,0xAD), o2(0xF9,0xB2), o2(0xBB,0xC7), - o2(0xBB,0xF7), o2(0xB2,0xC0), UNDEF, -}; -static const BYTE_LOOKUP -to_EUC_JP_E4_BC = { - to_SHIFT_JIS_E4_BC_offsets, - to_EUC_JP_E4_BC_infos -}; - -static const struct byte_lookup* const -to_EUC_JP_E4_BD_infos[28] = { - o2(0xC4,0xD1), o2(0xC3,0xA2), o2(0xD0,0xCA), o2(0xB0,0xCC), - o2(0xC4,0xE3), o2(0xBD,0xBB), o2(0xBA,0xB4), o2(0xCD,0xA4), - o2(0xC2,0xCE), o2(0xB2,0xBF), o2(0xF9,0xB3), o2(0xD0,0xC9), - o2(0xCD,0xBE), o2(0xD0,0xC5), o2(0xD0,0xC7), o2(0xBA,0xEE), - o2(0xD0,0xC8), o2(0xD5,0xA4), o2(0xD0,0xD0), o2(0xD0,0xD3), - o2(0xD0,0xD1), o2(0xB2,0xC2), o2(0xCA,0xBB), o2(0xD0,0xCB), - o2(0xD0,0xCF), o2(0xB8,0xF3), o2(0xBB,0xC8), UNDEF, -}; -static const BYTE_LOOKUP -to_EUC_JP_E4_BD = { - to_SHIFT_JIS_E4_BD_offsets, - to_EUC_JP_E4_BD_infos -}; - -static const struct byte_lookup* const -to_EUC_JP_E4_BE_infos[25] = { - o2(0xB4,0xA6), o2(0xD0,0xD4), o2(0xD0,0xCC), o2(0xF9,0xB5), - o2(0xCE,0xE3), o2(0xBB,0xF8), o2(0xD0,0xCD), o2(0xD0,0xD2), - o2(0xF9,0xB4), o2(0xF9,0xB7), o2(0xD0,0xD5), o2(0xD0,0xCE), - o2(0xF9,0xB6), o2(0xB6,0xA1), o2(0xB0,0xCD), o2(0xB6,0xA2), - o2(0xB2,0xC1), o2(0xD5,0xA5), o2(0xCB,0xF9), o2(0xC9,0xEE), - o2(0xB8,0xF4), o2(0xBF,0xAF), o2(0xCE,0xB7), o2(0xCA,0xD8), - UNDEF, -}; -static const BYTE_LOOKUP -to_EUC_JP_E4_BE = { - to_SHIFT_JIS_E4_BE_offsets, - to_EUC_JP_E4_BE_infos -}; - -static const struct byte_lookup* const -to_EUC_JP_E4_BF_infos[30] = { - o2(0xB7,0xB8), o2(0xC2,0xA5), o2(0xB2,0xE4), o2(0xF9,0xA6), - o2(0xBD,0xD3), o2(0xF9,0xB8), o2(0xD0,0xD9), o2(0xD0,0xDE), - o2(0xD0,0xDC), o2(0xD0,0xD7), o2(0xC2,0xAF), o2(0xD0,0xDA), - o2(0xD0,0xDD), o2(0xD0,0xDB), o2(0xCA,0xDD), o2(0xD0,0xD8), - o2(0xBF,0xAE), o2(0xCB,0xF3), o2(0xD0,0xDF), o2(0xD0,0xE0), - o2(0xBD,0xA4), o2(0xD0,0xED), o2(0xC7,0xD0), o2(0xC9,0xB6), - o2(0xD0,0xE8), o2(0xCA,0xF0), o2(0xB2,0xB6), o2(0xD0,0xEC), - o2(0xF9,0xBB), UNDEF, -}; -static const BYTE_LOOKUP -to_EUC_JP_E4_BF = { - to_SHIFT_JIS_E4_BF_offsets, - to_EUC_JP_E4_BF_infos -}; - -static const struct byte_lookup* const -to_EUC_JP_E4_infos[9] = { - &to_EUC_JP_E4_B8, &to_EUC_JP_E4_B9, &to_EUC_JP_E4_BA, &to_EUC_JP_E4_BB, - &to_EUC_JP_E4_BC, &to_EUC_JP_E4_BD, &to_EUC_JP_E4_BE, &to_EUC_JP_E4_BF, - UNDEF, -}; -static const BYTE_LOOKUP -to_EUC_JP_E4 = { - to_SHIFT_JIS_E4_offsets, - to_EUC_JP_E4_infos -}; - -static const struct byte_lookup* const -to_EUC_JP_E5_80_infos[29] = { - o2(0xD0,0xE6), o2(0xD0,0xEF), o2(0xC1,0xD2), o2(0xB8,0xC4), - o2(0xC7,0xDC), o2(0xE0,0xC7), o2(0xD0,0xEE), o2(0xC5,0xDD), - o2(0xD0,0xE3), o2(0xB8,0xF6), o2(0xB8,0xF5), o2(0xD0,0xE1), - o2(0xF9,0xBC), o2(0xBC,0xDA), o2(0xD0,0xE9), o2(0xF9,0xBA), - o2(0xCA,0xEF), o2(0xC3,0xCD), o2(0xD0,0xE5), o2(0xB7,0xF1), - o2(0xD0,0xE2), o2(0xD0,0xEA), o2(0xD0,0xE4), o2(0xCE,0xD1), - o2(0xD0,0xEB), o2(0xCF,0xC1), o2(0xB6,0xE6), o2(0xB7,0xF0), - UNDEF, -}; -static const BYTE_LOOKUP -to_EUC_JP_E5_80 = { - to_SHIFT_JIS_E5_80_offsets, - to_EUC_JP_E5_80_infos -}; - -static const struct byte_lookup* const -to_EUC_JP_E5_81_infos[23] = { - o2(0xF9,0xB9), o2(0xF9,0xBF), o2(0xD0,0xF0), o2(0xF9,0xBD), - o2(0xD0,0xF1), o2(0xD0,0xF5), o2(0xB0,0xCE), o2(0xCA,0xD0), - o2(0xD0,0xF4), o2(0xD0,0xF3), o2(0xD0,0xF7), o2(0xD0,0xF6), - o2(0xC4,0xE4), o2(0xB7,0xF2), o2(0xD0,0xF8), o2(0xF9,0xBE), - o2(0xBC,0xC5), o2(0xC2,0xA6), o2(0xC4,0xE5), o2(0xB6,0xF6), - o2(0xD0,0xF9), o2(0xB5,0xB6), UNDEF, -}; -static const BYTE_LOOKUP -to_EUC_JP_E5_81 = { - to_SHIFT_JIS_E5_81_offsets, - to_EUC_JP_E5_81_infos -}; - -static const struct byte_lookup* const -to_EUC_JP_E5_82_infos[17] = { - o2(0xD0,0xFA), o2(0xD0,0xFC), o2(0xCB,0xB5), o2(0xB7,0xE6), - o2(0xF9,0xC0), o2(0xBB,0xB1), o2(0xC8,0xF7), o2(0xD0,0xFB), - o2(0xBA,0xC5), o2(0xCD,0xC3), o2(0xD0,0xFE), o2(0xD1,0xA3), - o2(0xD0,0xFD), o2(0xBA,0xC4), o2(0xBD,0xFD), o2(0xB7,0xB9), - UNDEF, -}; -static const BYTE_LOOKUP -to_EUC_JP_E5_82 = { - to_SHIFT_JIS_E5_82_offsets, - to_EUC_JP_E5_82_infos -}; - -static const struct byte_lookup* const -to_EUC_JP_E5_83_infos[22] = { - o2(0xD1,0xA4), o2(0xB6,0xCF), o2(0xD1,0xA1), o2(0xD1,0xA2), - o2(0xC6,0xAF), o2(0xC1,0xFC), o2(0xB6,0xA3), o2(0xCB,0xCD), - o2(0xD1,0xA5), o2(0xF9,0xC2), o2(0xCE,0xBD), o2(0xD1,0xA6), - o2(0xD1,0xA9), o2(0xD1,0xA7), o2(0xC1,0xCE), o2(0xD1,0xA8), - o2(0xD1,0xAA), o2(0xF9,0xC1), o2(0xD1,0xAC), o2(0xD1,0xAB), - o2(0xCA,0xC8), UNDEF, -}; -static const BYTE_LOOKUP -to_EUC_JP_E5_83 = { - to_SHIFT_JIS_E5_83_offsets, - to_EUC_JP_E5_83_infos -}; - -static const struct byte_lookup* const -to_EUC_JP_E5_84_infos[21] = { - o2(0xB5,0xB7), o2(0xD1,0xAE), o2(0xD1,0xAF), o2(0xB2,0xAF), - o2(0xD1,0xAD), o2(0xBC,0xF4), o2(0xD1,0xB2), o2(0xD1,0xB1), - o2(0xD1,0xB0), o2(0xD0,0xD6), o2(0xD1,0xB3), o2(0xBD,0xFE), - o2(0xD1,0xB4), o2(0xCD,0xA5), o2(0xCC,0xD9), o2(0xD1,0xB6), - o2(0xD1,0xB5), o2(0xD1,0xB8), o2(0xD1,0xB7), o2(0xD1,0xB9), - UNDEF, -}; -static const BYTE_LOOKUP -to_EUC_JP_E5_84 = { - to_SHIFT_JIS_E5_84_offsets, - to_EUC_JP_E5_84_infos -}; - -static const struct byte_lookup* const -to_EUC_JP_E5_85_infos[36] = { - o2(0xD1,0xBA), o2(0xB0,0xF4), o2(0xB8,0xB5), o2(0xB7,0xBB), - o2(0xBD,0xBC), o2(0xC3,0xFB), o2(0xB6,0xA4), o2(0xC0,0xE8), - o2(0xB8,0xF7), o2(0xF9,0xC3), o2(0xB9,0xEE), o2(0xD1,0xBC), - o2(0xCC,0xC8), o2(0xC5,0xC6), o2(0xBB,0xF9), o2(0xD1,0xBB), - o2(0xD1,0xBD), o2(0xC5,0xDE), o2(0xB3,0xF5), o2(0xD1,0xBE), - o2(0xF9,0xC4), o2(0xC6,0xFE), o2(0xC1,0xB4), o2(0xD1,0xC0), - o2(0xD1,0xC1), o2(0xC8,0xAC), o2(0xB8,0xF8), o2(0xCF,0xBB), - o2(0xD1,0xC2), o2(0xB6,0xA6), o2(0xCA,0xBC), o2(0xC2,0xB6), - o2(0xB6,0xF1), o2(0xC5,0xB5), o2(0xB7,0xF3), UNDEF, -}; -static const BYTE_LOOKUP -to_EUC_JP_E5_85 = { - to_SHIFT_JIS_E5_85_offsets, - to_EUC_JP_E5_85_infos -}; - -static const struct byte_lookup* const -to_EUC_JP_E5_86_infos[39] = { - o2(0xD1,0xC3), o2(0xD1,0xC4), o2(0xC6,0xE2), o2(0xB1,0xDF), - o2(0xD1,0xC7), o2(0xBA,0xFD), o2(0xD1,0xC6), o2(0xBA,0xC6), - o2(0xD1,0xC8), o2(0xE6,0xEE), o2(0xD1,0xC9), o2(0xCB,0xC1), - o2(0xD1,0xCA), o2(0xD1,0xCB), o2(0xD1,0xCC), o2(0xBE,0xE9), - o2(0xBC,0xCC), o2(0xF9,0xC5), o2(0xB4,0xA7), o2(0xD1,0xCF), - o2(0xD1,0xCD), o2(0xCC,0xBD), o2(0xD1,0xCE), o2(0xC9,0xDA), - o2(0xD1,0xD0), o2(0xD1,0xD1), o2(0xD1,0xD2), o2(0xC5,0xDF), - o2(0xD1,0xD6), o2(0xD1,0xD4), o2(0xD1,0xD5), o2(0xD1,0xD3), - o2(0xBA,0xE3), o2(0xD1,0xD7), o2(0xCC,0xEA), o2(0xCE,0xE4), - o2(0xD1,0xD8), o2(0xF9,0xC6), UNDEF, -}; -static const BYTE_LOOKUP -to_EUC_JP_E5_86 = { - to_SHIFT_JIS_E5_86_offsets, - to_EUC_JP_E5_86_infos -}; - -static const struct byte_lookup* const -to_EUC_JP_E5_87_infos[29] = { - o2(0xC0,0xA8), o2(0xD1,0xD9), o2(0xBD,0xDA), o2(0xD1,0xDA), - o2(0xC3,0xFC), o2(0xCE,0xBF), o2(0xC5,0xE0), o2(0xD2,0xC5), - o2(0xD1,0xDB), o2(0xF4,0xA5), o2(0xB6,0xC5), o2(0xD1,0xDC), - o2(0xCB,0xDE), o2(0xBD,0xE8), o2(0xC2,0xFC), o2(0xD1,0xDE), - o2(0xC6,0xE4), o2(0xF9,0xC7), o2(0xD1,0xDF), o2(0xD1,0xE0), - o2(0xB3,0xAE), o2(0xD1,0xE1), o2(0xB6,0xA7), o2(0xC6,0xCC), - o2(0xB1,0xFA), o2(0xBD,0xD0), o2(0xC8,0xA1), o2(0xD1,0xE2), - UNDEF, -}; -static const BYTE_LOOKUP -to_EUC_JP_E5_87 = { - to_SHIFT_JIS_E5_87_offsets, - to_EUC_JP_E5_87_infos -}; - -static const struct byte_lookup* const -to_EUC_JP_E5_88_infos[29] = { - o2(0xC5,0xE1), o2(0xBF,0xCF), o2(0xD1,0xE3), o2(0xCA,0xAC), - o2(0xC0,0xDA), o2(0xB4,0xA2), o2(0xB4,0xA9), o2(0xD1,0xE4), - o2(0xD1,0xE6), o2(0xB7,0xBA), o2(0xD1,0xE5), o2(0xF9,0xC8), - o2(0xCE,0xF3), o2(0xBD,0xE9), o2(0xC8,0xBD), o2(0xCA,0xCC), - o2(0xD1,0xE7), o2(0xCD,0xF8), o2(0xD1,0xE8), o2(0xD1,0xE9), - o2(0xC5,0xFE), o2(0xD1,0xEA), o2(0xC0,0xA9), o2(0xBA,0xFE), - o2(0xB7,0xF4), o2(0xD1,0xEB), o2(0xBB,0xC9), o2(0xB9,0xEF), - UNDEF, -}; -static const BYTE_LOOKUP -to_EUC_JP_E5_88 = { - to_SHIFT_JIS_E5_88_offsets, - to_EUC_JP_E5_88_infos -}; - -static const struct byte_lookup* const -to_EUC_JP_E5_89_infos[27] = { - o2(0xC4,0xE6), o2(0xD1,0xED), o2(0xC2,0xA7), o2(0xBA,0xEF), - o2(0xD1,0xEE), o2(0xD1,0xEF), o2(0xC1,0xB0), o2(0xD1,0xEC), - o2(0xD1,0xF1), o2(0xCB,0xB6), o2(0xB9,0xE4), o2(0xD1,0xF0), - o2(0xB7,0xF5), o2(0xBA,0xDE), o2(0xC7,0xED), o2(0xD1,0xF4), - o2(0xD1,0xF2), o2(0xC9,0xFB), o2(0xBE,0xEA), o2(0xD1,0xFB), - o2(0xB3,0xE4), o2(0xD1,0xF5), o2(0xD1,0xF3), o2(0xC1,0xCF), - o2(0xD1,0xF7), o2(0xD1,0xF6), UNDEF, -}; -static const BYTE_LOOKUP -to_EUC_JP_E5_89 = { - to_SHIFT_JIS_E5_89_offsets, - to_EUC_JP_E5_89_infos -}; - -static const struct byte_lookup* const -to_EUC_JP_E5_8A_infos[27] = { - o2(0xB3,0xC4), o2(0xB7,0xE0), o2(0xD1,0xFC), o2(0xCE,0xAD), - o2(0xD1,0xF8), o2(0xD1,0xFD), o2(0xD1,0xFA), o2(0xD1,0xF9), - o2(0xCE,0xCF), o2(0xF9,0xC9), o2(0xB8,0xF9), o2(0xB2,0xC3), - o2(0xCE,0xF4), o2(0xF9,0xCA), o2(0xBD,0xF5), o2(0xC5,0xD8), - o2(0xB9,0xE5), o2(0xD2,0xA2), o2(0xD2,0xA3), o2(0xFB,0xBC), - o2(0xCE,0xE5), o2(0xCF,0xAB), o2(0xD2,0xA5), o2(0xB8,0xFA), - o2(0xD2,0xA4), o2(0xB3,0xAF), UNDEF, -}; -static const BYTE_LOOKUP -to_EUC_JP_E5_8A = { - to_SHIFT_JIS_E5_8A_offsets, - to_EUC_JP_E5_8A_infos -}; - -static const struct byte_lookup* const -to_EUC_JP_E5_8B_infos[31] = { - o2(0xF9,0xCB), o2(0xD2,0xA6), o2(0xCB,0xD6), o2(0xC4,0xBC), - o2(0xCD,0xA6), o2(0xCA,0xD9), o2(0xD2,0xA7), o2(0xF0,0xD5), - o2(0xC6,0xB0), o2(0xD2,0xA8), o2(0xB4,0xAA), o2(0xCC,0xB3), - o2(0xF9,0xCC), o2(0xBE,0xA1), o2(0xD2,0xA9), o2(0xCA,0xE7), - o2(0xD2,0xAD), o2(0xC0,0xAA), o2(0xD2,0xAA), o2(0xB6,0xD0), - o2(0xD2,0xAB), o2(0xB4,0xAB), o2(0xB7,0xAE), o2(0xD2,0xAE), - o2(0xD2,0xAF), o2(0xD2,0xB0), o2(0xD2,0xB1), o2(0xBC,0xDB), - o2(0xB8,0xFB), o2(0xCC,0xDE), UNDEF, -}; -static const BYTE_LOOKUP -to_EUC_JP_E5_8B = { - to_SHIFT_JIS_E5_8B_offsets, - to_EUC_JP_E5_8B_infos -}; - -static const struct byte_lookup* const -to_EUC_JP_E5_8C_infos[30] = { - o2(0xF9,0xCD), o2(0xCC,0xE8), o2(0xC6,0xF7), o2(0xCA,0xF1), - o2(0xD2,0xB2), o2(0xF9,0xCE), o2(0xD2,0xB3), o2(0xD2,0xB5), - o2(0xD2,0xB7), o2(0xD2,0xB6), o2(0xD2,0xB8), o2(0xB2,0xBD), - o2(0xCB,0xCC), o2(0xBA,0xFC), o2(0xD2,0xB9), o2(0xC1,0xD9), - o2(0xBE,0xA2), o2(0xB6,0xA9), o2(0xD2,0xBA), o2(0xF9,0xCF), - o2(0xC8,0xDB), o2(0xD2,0xBB), o2(0xD2,0xBC), o2(0xD2,0xBD), - o2(0xD2,0xBE), o2(0xC9,0xA4), o2(0xB6,0xE8), o2(0xB0,0xE5), - o2(0xC6,0xBF), UNDEF, -}; -static const BYTE_LOOKUP -to_EUC_JP_E5_8C = { - to_SHIFT_JIS_E5_8C_offsets, - to_EUC_JP_E5_8C_infos -}; - -static const struct byte_lookup* const -to_EUC_JP_E5_8D_infos[35] = { - o2(0xD2,0xBF), o2(0xBD,0xBD), o2(0xC0,0xE9), o2(0xD2,0xC1), - o2(0xD2,0xC0), o2(0xBE,0xA3), o2(0xB8,0xE1), o2(0xD2,0xC3), - o2(0xC8,0xBE), o2(0xD2,0xC4), o2(0xC8,0xDC), o2(0xC2,0xB4), - o2(0xC2,0xEE), o2(0xB6,0xA8), o2(0xC6,0xEE), o2(0xC3,0xB1), - o2(0xC7,0xEE), o2(0xCB,0xCE), o2(0xD2,0xC6), o2(0xC0,0xEA), - o2(0xB7,0xB5), o2(0xD2,0xC7), o2(0xD2,0xC8), o2(0xB1,0xAC), - o2(0xB0,0xF5), o2(0xB4,0xED), o2(0xF9,0xD0), o2(0xC2,0xA8), - o2(0xB5,0xD1), o2(0xCD,0xF1), o2(0xD2,0xCB), o2(0xB2,0xB7), - o2(0xD2,0xCA), o2(0xB6,0xAA), UNDEF, -}; -static const BYTE_LOOKUP -to_EUC_JP_E5_8D = { - to_SHIFT_JIS_E5_8D_offsets, - to_EUC_JP_E5_8D_infos -}; - -static const struct byte_lookup* const -to_EUC_JP_E5_8E_infos[20] = { - o2(0xD2,0xCC), o2(0xCC,0xF1), o2(0xF9,0xD1), o2(0xD2,0xCD), - o2(0xCE,0xD2), o2(0xB8,0xFC), o2(0xB8,0xB6), o2(0xD2,0xCE), - o2(0xD2,0xD0), o2(0xD2,0xCF), o2(0xBF,0xDF), o2(0xB1,0xB9), - o2(0xB1,0xDE), o2(0xD2,0xD1), o2(0xD2,0xD2), o2(0xF9,0xD2), - o2(0xB8,0xB7), o2(0xD2,0xD3), o2(0xB5,0xEE), UNDEF, -}; -static const BYTE_LOOKUP -to_EUC_JP_E5_8E = { - to_SHIFT_JIS_E5_8E_offsets, - to_EUC_JP_E5_8E_infos -}; - -static const struct byte_lookup* const -to_EUC_JP_E5_8F_infos[38] = { - o2(0xBB,0xB2), o2(0xD2,0xD4), o2(0xCB,0xF4), o2(0xBA,0xB5), - o2(0xB5,0xDA), o2(0xCD,0xA7), o2(0xC1,0xD0), o2(0xC8,0xBF), - o2(0xBC,0xFD), o2(0xBD,0xC7), o2(0xBC,0xE8), o2(0xBC,0xF5), - o2(0xBD,0xF6), o2(0xC8,0xC0), o2(0xF9,0xD3), o2(0xD2,0xD7), - o2(0xB1,0xC3), o2(0xC1,0xD1), o2(0xB8,0xFD), o2(0xB8,0xC5), - o2(0xB6,0xE7), o2(0xD2,0xDB), o2(0xC3,0xA1), o2(0xC2,0xFE), - o2(0xB6,0xAB), o2(0xBE,0xA4), o2(0xD2,0xDC), o2(0xD2,0xDA), - o2(0xB2,0xC4), o2(0xC2,0xE6), o2(0xBC,0xB8), o2(0xBB,0xCB), - o2(0xB1,0xA6), o2(0xB3,0xF0), o2(0xB9,0xE6), o2(0xBB,0xCA), - o2(0xD2,0xDD), UNDEF, -}; -static const BYTE_LOOKUP -to_EUC_JP_E5_8F = { - to_SHIFT_JIS_E5_8F_offsets, - to_EUC_JP_E5_8F_infos -}; - -static const struct byte_lookup* const -to_EUC_JP_E5_90_infos[31] = { - o2(0xD2,0xDE), o2(0xB5,0xC9), o2(0xB3,0xC6), o2(0xB9,0xE7), - o2(0xB5,0xC8), o2(0xC4,0xDF), o2(0xB1,0xA5), o2(0xC6,0xB1), - o2(0xCC,0xBE), o2(0xB9,0xA1), o2(0xCD,0xF9), o2(0xC5,0xC7), - o2(0xB8,0xFE), o2(0xB7,0xAF), o2(0xD2,0xE7), o2(0xB6,0xE3), - o2(0xCB,0xCA), o2(0xC8,0xDD), o2(0xD2,0xE6), o2(0xB4,0xDE), - o2(0xD2,0xE1), o2(0xD2,0xE2), o2(0xD2,0xE4), o2(0xD2,0xE5), - o2(0xB5,0xDB), o2(0xBF,0xE1), o2(0xCA,0xAD), o2(0xD2,0xE3), - o2(0xD2,0xDF), o2(0xB8,0xE3), UNDEF, -}; -static const BYTE_LOOKUP -to_EUC_JP_E5_90 = { - to_SHIFT_JIS_E5_90_offsets, - to_EUC_JP_E5_90_infos -}; - -static const struct byte_lookup* const -to_EUC_JP_E5_91_infos[21] = { - o2(0xD2,0xE0), o2(0xCF,0xA4), o2(0xCA,0xF2), o2(0xC4,0xE8), - o2(0xB8,0xE2), o2(0xB9,0xF0), o2(0xD2,0xE8), o2(0xC6,0xDD), - o2(0xD2,0xEC), o2(0xBC,0xFE), o2(0xBC,0xF6), o2(0xD2,0xEF), - o2(0xD2,0xED), o2(0xCC,0xA3), o2(0xD2,0xEA), o2(0xD2,0xF3), - o2(0xD2,0xEE), o2(0xD2,0xF1), o2(0xB8,0xC6), o2(0xCC,0xBF), - UNDEF, -}; -static const BYTE_LOOKUP -to_EUC_JP_E5_91 = { - to_SHIFT_JIS_E5_91_offsets, - to_EUC_JP_E5_91_infos -}; - -static const struct byte_lookup* const -to_EUC_JP_E5_92_infos[26] = { - o2(0xD2,0xF2), o2(0xD2,0xF4), o2(0xD2,0xF6), o2(0xF9,0xD6), - o2(0xBA,0xF0), o2(0xCF,0xC2), o2(0xD2,0xEB), o2(0xD2,0xE9), - o2(0xD2,0xF5), o2(0xD2,0xF0), o2(0xF9,0xD5), o2(0xD2,0xF8), - o2(0xD3,0xA3), o2(0xD2,0xFA), o2(0xD2,0xFE), o2(0xF9,0xD7), - o2(0xD3,0xA1), o2(0xD2,0xFB), o2(0xD3,0xBE), o2(0xBA,0xE9), - o2(0xB3,0xB1), o2(0xD2,0xF9), o2(0xD3,0xA5), o2(0xB0,0xF6), - o2(0xD3,0xA4), UNDEF, -}; -static const BYTE_LOOKUP -to_EUC_JP_E5_92 = { - to_SHIFT_JIS_E5_92_offsets, - to_EUC_JP_E5_92_infos -}; - -static const struct byte_lookup* const -to_EUC_JP_E5_93_infos[21] = { - o2(0xB0,0xA5), o2(0xC9,0xCA), o2(0xD3,0xA2), o2(0xD2,0xFC), - o2(0xD2,0xF7), o2(0xD2,0xFD), o2(0xBA,0xC8), o2(0xD3,0xA6), - o2(0xB0,0xF7), o2(0xD3,0xAF), o2(0xD3,0xA7), o2(0xD3,0xA8), - o2(0xBE,0xA5), o2(0xCB,0xE9), o2(0xD3,0xAD), o2(0xD3,0xAC), - o2(0xC5,0xAF), o2(0xD3,0xAE), o2(0xD3,0xAB), o2(0xF9,0xD8), - UNDEF, -}; -static const BYTE_LOOKUP -to_EUC_JP_E5_93 = { - to_SHIFT_JIS_E5_93_offsets, - to_EUC_JP_E5_93_infos -}; - -static const struct byte_lookup* const -to_EUC_JP_E5_94_infos[15] = { - o2(0xB1,0xB4), o2(0xBA,0xB6), o2(0xBF,0xB0), o2(0xD3,0xA9), - o2(0xC5,0xE2), o2(0xD3,0xAA), o2(0xB0,0xA2), o2(0xD3,0xB4), - o2(0xCD,0xA3), o2(0xBE,0xA7), o2(0xD3,0xBA), o2(0xD3,0xB9), - o2(0xD3,0xB0), o2(0xC2,0xC3), UNDEF, -}; -static const BYTE_LOOKUP -to_EUC_JP_E5_94 = { - to_SHIFT_JIS_E5_94_offsets, - to_EUC_JP_E5_94_infos -}; - -static const struct byte_lookup* const -to_EUC_JP_E5_95_infos[16] = { - o2(0xD3,0xB1), o2(0xC2,0xEF), o2(0xD3,0xB6), o2(0xBE,0xA6), - o2(0xD3,0xB3), o2(0xCC,0xE4), o2(0xB7,0xBC), o2(0xD3,0xB7), - o2(0xD3,0xB8), o2(0xD3,0xB5), o2(0xD3,0xBB), o2(0xD3,0xB2), - o2(0xD3,0xC1), o2(0xD3,0xC6), o2(0xD3,0xC2), UNDEF, -}; -static const BYTE_LOOKUP -to_EUC_JP_E5_95 = { - to_SHIFT_JIS_E5_95_offsets, - to_EUC_JP_E5_95_infos -}; - -static const struct byte_lookup* const -to_EUC_JP_E5_96_infos[25] = { - o2(0xD3,0xBD), o2(0xD3,0xC7), o2(0xC1,0xB1), o2(0xF9,0xD9), - o2(0xD3,0xC9), o2(0xB9,0xA2), o2(0xD3,0xBF), o2(0xC3,0xFD), - o2(0xD3,0xC3), o2(0xD3,0xBC), o2(0xB4,0xAD), o2(0xB4,0xEE), - o2(0xB3,0xE5), o2(0xD3,0xC4), o2(0xD3,0xC0), o2(0xB7,0xF6), - o2(0xD3,0xCA), o2(0xD3,0xC8), o2(0xC1,0xD3), o2(0xB5,0xCA), - o2(0xB6,0xAC), o2(0xD3,0xC5), o2(0xB6,0xF4), o2(0xB1,0xC4), - UNDEF, -}; -static const BYTE_LOOKUP -to_EUC_JP_E5_96 = { - to_SHIFT_JIS_E5_96_offsets, - to_EUC_JP_E5_96_infos -}; - -static const struct byte_lookup* const -to_EUC_JP_E5_97_infos[14] = { - o2(0xD3,0xCE), o2(0xD3,0xCC), o2(0xD4,0xA7), o2(0xD3,0xD1), - o2(0xD3,0xCB), o2(0xD3,0xCF), o2(0xD3,0xCD), o2(0xBB,0xCC), - o2(0xD3,0xD0), o2(0xD3,0xD3), o2(0xD3,0xD8), o2(0xD3,0xD6), - o2(0xD3,0xD5), UNDEF, -}; -static const BYTE_LOOKUP -to_EUC_JP_E5_97 = { - to_SHIFT_JIS_E5_97_offsets, - to_EUC_JP_E5_97_infos -}; - -static const struct byte_lookup* const -to_EUC_JP_E5_98_infos[15] = { - o2(0xC3,0xB2), o2(0xB2,0xC5), o2(0xD3,0xD2), o2(0xD3,0xD4), - o2(0xBE,0xA8), o2(0xB1,0xB3), o2(0xD3,0xD7), o2(0xB2,0xDE), - o2(0xD3,0xE2), o2(0xBE,0xFC), o2(0xD3,0xDE), o2(0xD3,0xDC), - o2(0xD3,0xDD), o2(0xD3,0xDF), UNDEF, -}; -static const BYTE_LOOKUP -to_EUC_JP_E5_98 = { - to_SHIFT_JIS_E5_98_offsets, - to_EUC_JP_E5_98_infos -}; - -static const struct byte_lookup* const -to_EUC_JP_E5_99_infos[14] = { - o2(0xB1,0xBD), o2(0xC1,0xB9), o2(0xD3,0xD9), o2(0xD3,0xDA), - o2(0xB3,0xFA), o2(0xD3,0xE1), o2(0xB4,0xEF), o2(0xD3,0xE4), - o2(0xD3,0xE0), o2(0xD3,0xE3), o2(0xCA,0xAE), o2(0xC6,0xD5), - o2(0xC8,0xB8), UNDEF, -}; -static const BYTE_LOOKUP -to_EUC_JP_E5_99 = { - to_SHIFT_JIS_E5_99_offsets, - to_EUC_JP_E5_99_infos -}; - -static const struct byte_lookup* const -to_EUC_JP_E5_9A_infos[14] = { - o2(0xD3,0xE6), o2(0xD3,0xE5), o2(0xB3,0xC5), o2(0xD3,0xE7), - o2(0xD3,0xEA), o2(0xD3,0xE9), o2(0xD3,0xE8), o2(0xC7,0xB9), - o2(0xD3,0xEB), o2(0xD3,0xEC), o2(0xD3,0xEE), o2(0xD3,0xED), - o2(0xD3,0xF0), UNDEF, -}; -static const BYTE_LOOKUP -to_EUC_JP_E5_9A = { - to_SHIFT_JIS_E5_9A_offsets, - to_EUC_JP_E5_9A_infos -}; - -static const struct byte_lookup* const -to_EUC_JP_E5_9B_infos[24] = { - o2(0xD3,0xF3), o2(0xD3,0xF1), o2(0xD3,0xEF), o2(0xD3,0xF2), - o2(0xD3,0xF4), o2(0xD3,0xF5), o2(0xD3,0xF6), o2(0xD3,0xF7), - o2(0xD3,0xF8), o2(0xD1,0xC5), o2(0xBC,0xFC), o2(0xBB,0xCD), - o2(0xB2,0xF3), o2(0xB0,0xF8), o2(0xC3,0xC4), o2(0xD3,0xF9), - o2(0xBA,0xA4), o2(0xB0,0xCF), o2(0xBF,0xDE), o2(0xD3,0xFA), - o2(0xB8,0xC7), o2(0xB9,0xF1), o2(0xD3,0xFC), UNDEF, -}; -static const BYTE_LOOKUP -to_EUC_JP_E5_9B = { - to_SHIFT_JIS_E5_9B_offsets, - to_EUC_JP_E5_9B_infos -}; - -static const struct byte_lookup* const -to_EUC_JP_E5_9C_infos[23] = { - o2(0xD3,0xFB), o2(0xCA,0xE0), o2(0xD3,0xFD), o2(0xD4,0xA1), - o2(0xD3,0xFE), o2(0xD4,0xA2), o2(0xD4,0xA3), o2(0xB7,0xF7), - o2(0xB1,0xE0), o2(0xD4,0xA4), o2(0xD4,0xA6), o2(0xD4,0xA5), - o2(0xD4,0xA8), o2(0xC5,0xDA), o2(0xD4,0xA9), o2(0xB0,0xB5), - o2(0xBA,0xDF), o2(0xB7,0xBD), o2(0xC3,0xCF), o2(0xD4,0xAA), - o2(0xD4,0xAB), o2(0xD4,0xAD), UNDEF, -}; -static const BYTE_LOOKUP -to_EUC_JP_E5_9C = { - to_SHIFT_JIS_E5_9C_offsets, - to_EUC_JP_E5_9C_infos -}; - -static const struct byte_lookup* const -to_EUC_JP_E5_9D_infos[17] = { - o2(0xD4,0xAE), o2(0xBA,0xE4), o2(0xB6,0xD1), o2(0xCB,0xB7), - o2(0xD4,0xAC), o2(0xD4,0xAF), o2(0xBA,0xC1), o2(0xB9,0xA3), - o2(0xF9,0xDA), o2(0xD4,0xB3), o2(0xBA,0xA5), o2(0xF9,0xDB), - o2(0xC3,0xB3), o2(0xD4,0xB0), o2(0xC4,0xDA), o2(0xD4,0xB4), - UNDEF, -}; -static const BYTE_LOOKUP -to_EUC_JP_E5_9D = { - to_SHIFT_JIS_E5_9D_offsets, - to_EUC_JP_E5_9D_infos -}; - -static const struct byte_lookup* const -to_EUC_JP_E5_9E_infos[14] = { - o2(0xBF,0xE2), o2(0xD4,0xB2), o2(0xD4,0xB5), o2(0xB7,0xBF), - o2(0xD4,0xB6), o2(0xD4,0xB7), o2(0xB9,0xA4), o2(0xB3,0xC0), - o2(0xD4,0xB9), o2(0xD4,0xBA), o2(0xF9,0xDC), o2(0xD4,0xBB), - o2(0xD4,0xB8), UNDEF, -}; -static const BYTE_LOOKUP -to_EUC_JP_E5_9E = { - to_SHIFT_JIS_E5_9E_offsets, - to_EUC_JP_E5_9E_infos -}; - -static const struct byte_lookup* const -to_EUC_JP_E5_9F_infos[21] = { - o2(0xD4,0xB1), o2(0xD4,0xBC), o2(0xD4,0xBD), o2(0xF9,0xDE), - o2(0xF9,0xDD), o2(0xCB,0xE4), o2(0xBE,0xEB), o2(0xD4,0xBF), - o2(0xD4,0xC0), o2(0xD4,0xBE), o2(0xD4,0xC2), o2(0xC7,0xB8), - o2(0xB0,0xE8), o2(0xC9,0xD6), o2(0xD4,0xC3), o2(0xBE,0xFD), - o2(0xBC,0xB9), o2(0xC7,0xDD), o2(0xB4,0xF0), o2(0xBA,0xEB), - UNDEF, -}; -static const BYTE_LOOKUP -to_EUC_JP_E5_9F = { - to_SHIFT_JIS_E5_9F_offsets, - to_EUC_JP_E5_9F_infos -}; - -static const struct byte_lookup* const -to_EUC_JP_E5_A0_infos[20] = { - o2(0xCB,0xD9), o2(0xC6,0xB2), o2(0xB7,0xF8), o2(0xC2,0xCF), - o2(0xD4,0xC1), o2(0xD4,0xC4), o2(0xC2,0xC4), o2(0xD4,0xC5), - o2(0xD4,0xC6), o2(0xD4,0xC8), o2(0xC4,0xE9), o2(0xB4,0xAE), - o2(0xF4,0xA1), o2(0xB1,0xE1), o2(0xCA,0xF3), o2(0xBE,0xEC), - o2(0xC5,0xC8), o2(0xBA,0xE6), o2(0xD4,0xCE), UNDEF, -}; -static const BYTE_LOOKUP -to_EUC_JP_E5_A0 = { - to_SHIFT_JIS_E5_A0_offsets, - to_EUC_JP_E5_A0_infos -}; - -static const struct byte_lookup* const -to_EUC_JP_E5_A1_infos[21] = { - o2(0xCA,0xBD), o2(0xCE,0xDD), o2(0xB2,0xF4), o2(0xD4,0xCA), - o2(0xC1,0xBA), o2(0xD4,0xCD), o2(0xC5,0xE3), o2(0xC5,0xC9), - o2(0xC5,0xE4), o2(0xC8,0xB9), o2(0xC4,0xCD), o2(0xBA,0xC9), - o2(0xD4,0xC9), o2(0xB1,0xF6), o2(0xC5,0xB6), o2(0xD4,0xCB), - o2(0xD4,0xC7), o2(0xBF,0xD0), o2(0xD4,0xCF), o2(0xBD,0xCE), - UNDEF, -}; -static const BYTE_LOOKUP -to_EUC_JP_E5_A1 = { - to_SHIFT_JIS_E5_A1_offsets, - to_EUC_JP_E5_A1_infos -}; - -static const struct byte_lookup* const -to_EUC_JP_E5_A2_infos[18] = { - o2(0xB6,0xAD), o2(0xD4,0xD0), o2(0xCA,0xE8), o2(0xC1,0xFD), - o2(0xC4,0xC6), o2(0xF9,0xE1), o2(0xD4,0xD2), o2(0xCB,0xCF), - o2(0xD4,0xD3), o2(0xD4,0xD8), o2(0xF9,0xE2), o2(0xCA,0xAF), - o2(0xD4,0xD7), o2(0xD4,0xD1), o2(0xD4,0xD4), o2(0xD4,0xD6), - o2(0xBA,0xA6), UNDEF, -}; -static const BYTE_LOOKUP -to_EUC_JP_E5_A2 = { - to_SHIFT_JIS_E5_A2_offsets, - to_EUC_JP_E5_A2_infos -}; - -static const struct byte_lookup* const -to_EUC_JP_E5_A3_infos[30] = { - o2(0xCA,0xC9), o2(0xD4,0xD9), o2(0xC3,0xC5), o2(0xB2,0xF5), - o2(0xBE,0xED), o2(0xD4,0xDB), o2(0xD4,0xDA), o2(0xB9,0xE8), - o2(0xD4,0xDC), o2(0xD4,0xDE), o2(0xD4,0xDD), o2(0xD4,0xE0), - o2(0xD4,0xD5), o2(0xD4,0xE2), o2(0xD4,0xE1), o2(0xD4,0xDF), - o2(0xBB,0xCE), o2(0xBF,0xD1), o2(0xC1,0xD4), o2(0xD4,0xE3), - o2(0xC0,0xBC), o2(0xB0,0xED), o2(0xC7,0xE4), o2(0xC4,0xDB), - o2(0xD4,0xE5), o2(0xD4,0xE4), o2(0xD4,0xE6), o2(0xD4,0xE7), - o2(0xD4,0xE8), UNDEF, -}; -static const BYTE_LOOKUP -to_EUC_JP_E5_A3 = { - to_SHIFT_JIS_E5_A3_offsets, - to_EUC_JP_E5_A3_infos -}; - -static const struct byte_lookup* const -to_EUC_JP_E5_A4_infos[28] = { - o2(0xD4,0xE9), o2(0xCA,0xD1), o2(0xD4,0xEA), o2(0xF9,0xE3), - o2(0xB2,0xC6), o2(0xD4,0xEB), o2(0xCD,0xBC), o2(0xB3,0xB0), - o2(0xD2,0xC9), o2(0xBD,0xC8), o2(0xC2,0xBF), o2(0xD4,0xEC), - o2(0xCC,0xEB), o2(0xCC,0xB4), o2(0xD4,0xEE), o2(0xC2,0xE7), - o2(0xC5,0xB7), o2(0xC2,0xC0), o2(0xC9,0xD7), o2(0xD4,0xEF), - o2(0xD4,0xF0), o2(0xB1,0xFB), o2(0xBC,0xBA), o2(0xD4,0xF1), - o2(0xB0,0xD0), o2(0xD4,0xF2), o2(0xD4,0xF3), UNDEF, -}; -static const BYTE_LOOKUP -to_EUC_JP_E5_A4 = { - to_SHIFT_JIS_E5_A4_offsets, - to_EUC_JP_E5_A4_infos -}; - -static const struct byte_lookup* const -to_EUC_JP_E5_A5_infos[31] = { - o2(0xB1,0xE2), o2(0xB4,0xF1), o2(0xC6,0xE0), o2(0xCA,0xF4), - o2(0xD4,0xF7), o2(0xC1,0xD5), o2(0xD4,0xF6), o2(0xB7,0xC0), - o2(0xF9,0xE4), o2(0xCB,0xDB), o2(0xD4,0xF5), o2(0xC5,0xE5), - o2(0xD4,0xF9), o2(0xD4,0xF8), o2(0xF9,0xE5), o2(0xF9,0xE6), - o2(0xD4,0xFB), o2(0xD4,0xFA), o2(0xF9,0xE7), o2(0xB1,0xFC), - o2(0xD4,0xFC), o2(0xBE,0xA9), o2(0xD4,0xFE), o2(0xC3,0xA5), - o2(0xD4,0xFD), o2(0xCA,0xB3), o2(0xBD,0xF7), o2(0xC5,0xDB), - o2(0xD5,0xA1), o2(0xB9,0xA5), UNDEF, -}; -static const BYTE_LOOKUP -to_EUC_JP_E5_A5 = { - to_SHIFT_JIS_E5_A5_offsets, - to_EUC_JP_E5_A5_infos -}; - -static const struct byte_lookup* const -to_EUC_JP_E5_A6_infos[22] = { - o2(0xD5,0xA2), o2(0xC7,0xA1), o2(0xC8,0xDE), o2(0xCC,0xD1), - o2(0xC7,0xA5), o2(0xD5,0xAB), o2(0xB5,0xB8), o2(0xCD,0xC5), - o2(0xCC,0xAF), o2(0xD6,0xAC), o2(0xD5,0xA3), o2(0xD5,0xA6), - o2(0xF9,0xE8), o2(0xC2,0xC5), o2(0xCB,0xB8), o2(0xC5,0xCA), - o2(0xD5,0xA7), o2(0xCB,0xE5), o2(0xF9,0xE9), o2(0xBA,0xCA), - o2(0xBE,0xAA), UNDEF, -}; -static const BYTE_LOOKUP -to_EUC_JP_E5_A6 = { - to_SHIFT_JIS_E5_A6_offsets, - to_EUC_JP_E5_A6_infos -}; - -static const struct byte_lookup* const -to_EUC_JP_E5_A7_infos[19] = { - o2(0xD5,0xA8), o2(0xBB,0xD0), o2(0xBB,0xCF), o2(0xB0,0xB9), - o2(0xB8,0xC8), o2(0xC0,0xAB), o2(0xB0,0xD1), o2(0xD5,0xAC), - o2(0xD5,0xAD), o2(0xD5,0xAA), o2(0xB1,0xB8), o2(0xB4,0xAF), - o2(0xD5,0xA9), o2(0xCC,0xC5), o2(0xC9,0xB1), o2(0xB0,0xA8), - o2(0xB0,0xF9), o2(0xBB,0xD1), UNDEF, -}; -static const BYTE_LOOKUP -to_EUC_JP_E5_A7 = { - to_SHIFT_JIS_E5_A7_offsets, - to_EUC_JP_E5_A7_infos -}; - -static const struct byte_lookup* const -to_EUC_JP_E5_A8_infos[16] = { - o2(0xB0,0xD2), o2(0xB0,0xA3), o2(0xD5,0xB2), o2(0xD5,0xB0), - o2(0xCC,0xBC), o2(0xD5,0xB3), o2(0xD5,0xB1), o2(0xD5,0xAF), - o2(0xBF,0xB1), o2(0xD5,0xAE), o2(0xCA,0xDA), o2(0xB8,0xE4), - o2(0xD5,0xB7), o2(0xD5,0xB8), o2(0xBE,0xAB), UNDEF, -}; -static const BYTE_LOOKUP -to_EUC_JP_E5_A8 = { - to_SHIFT_JIS_E5_A8_offsets, - to_EUC_JP_E5_A8_infos -}; - -static const struct byte_lookup* const -to_EUC_JP_E5_A9_infos[11] = { - o2(0xD5,0xB4), o2(0xCF,0xAC), o2(0xC7,0xCC), o2(0xD5,0xB6), - o2(0xBA,0xA7), o2(0xD5,0xB9), o2(0xC9,0xD8), o2(0xD5,0xBA), - o2(0xD5,0xB5), o2(0xCC,0xBB), UNDEF, -}; -static const BYTE_LOOKUP -to_EUC_JP_E5_A9 = { - to_SHIFT_JIS_E5_A9_offsets, - to_EUC_JP_E5_A9_infos -}; - -static const struct byte_lookup* const -to_EUC_JP_E5_AA_infos[7] = { - o2(0xC7,0xDE), o2(0xD5,0xBB), o2(0xC9,0xB2), o2(0xD5,0xBC), - o2(0xD5,0xC0), o2(0xD5,0xBD), UNDEF, -}; -static const BYTE_LOOKUP -to_EUC_JP_E5_AA = { - to_SHIFT_JIS_E5_AA_offsets, - to_EUC_JP_E5_AA_infos -}; - -static const struct byte_lookup* const -to_EUC_JP_E5_AB_infos[15] = { - o2(0xB2,0xC7), o2(0xD5,0xBF), o2(0xBC,0xBB), o2(0xD5,0xBE), - o2(0xB7,0xF9), o2(0xD5,0xCC), o2(0xD5,0xC5), o2(0xD5,0xC2), - o2(0xC3,0xE4), o2(0xD5,0xC1), o2(0xD5,0xC3), o2(0xD5,0xC4), - o2(0xD5,0xC6), o2(0xD5,0xC7), UNDEF, -}; -static const BYTE_LOOKUP -to_EUC_JP_E5_AB = { - to_SHIFT_JIS_E5_AB_offsets, - to_EUC_JP_E5_AB_infos -}; - -static const struct byte_lookup* const -to_EUC_JP_E5_AC_infos[12] = { - o2(0xB4,0xF2), o2(0xD5,0xC9), o2(0xD5,0xC8), o2(0xD5,0xCA), - o2(0xBE,0xEE), o2(0xD5,0xCD), o2(0xC4,0xDC), o2(0xB1,0xC5), - o2(0xD5,0xCB), o2(0xD5,0xCE), o2(0xD5,0xCF), UNDEF, -}; -static const BYTE_LOOKUP -to_EUC_JP_E5_AC = { - to_SHIFT_JIS_E5_AC_offsets, - to_EUC_JP_E5_AC_infos -}; - -static const struct byte_lookup* const -to_EUC_JP_E5_AD_infos[28] = { - o2(0xD5,0xD2), o2(0xD5,0xD0), o2(0xD5,0xD1), o2(0xBB,0xD2), - o2(0xD5,0xD3), o2(0xB9,0xA6), o2(0xD5,0xD4), o2(0xF9,0xEA), - o2(0xBB,0xFA), o2(0xC2,0xB8), o2(0xD5,0xD5), o2(0xD5,0xD6), - o2(0xBB,0xDA), o2(0xB9,0xA7), o2(0xCC,0xD2), o2(0xB5,0xA8), - o2(0xB8,0xC9), o2(0xD5,0xD7), o2(0xB3,0xD8), o2(0xD5,0xD8), - o2(0xC2,0xB9), o2(0xD5,0xD9), o2(0xD6,0xA3), o2(0xD5,0xDA), - o2(0xD5,0xDB), o2(0xD5,0xDC), o2(0xD5,0xDE), UNDEF, -}; -static const BYTE_LOOKUP -to_EUC_JP_E5_AD = { - to_SHIFT_JIS_E5_AD_offsets, - to_EUC_JP_E5_AD_infos -}; - -static const struct byte_lookup* const -to_EUC_JP_E5_AE_infos[34] = { - o2(0xD5,0xDF), o2(0xD5,0xE0), o2(0xC2,0xF0), o2(0xB1,0xA7), - o2(0xBC,0xE9), o2(0xB0,0xC2), o2(0xC1,0xD7), o2(0xB4,0xB0), - o2(0xBC,0xB5), o2(0xB9,0xA8), o2(0xC5,0xE6), o2(0xBD,0xA1), - o2(0xB4,0xB1), o2(0xC3,0xE8), o2(0xC4,0xEA), o2(0xB0,0xB8), - o2(0xB5,0xB9), o2(0xCA,0xF5), o2(0xBC,0xC2), o2(0xB5,0xD2), - o2(0xC0,0xEB), o2(0xBC,0xBC), o2(0xCD,0xA8), o2(0xD5,0xE1), - o2(0xB5,0xDC), o2(0xBA,0xCB), o2(0xB3,0xB2), o2(0xB1,0xE3), - o2(0xBE,0xAC), o2(0xB2,0xC8), o2(0xD5,0xE2), o2(0xCD,0xC6), - o2(0xBD,0xC9), UNDEF, -}; -static const BYTE_LOOKUP -to_EUC_JP_E5_AE = { - to_SHIFT_JIS_E5_AE_offsets, - to_EUC_JP_E5_AE_infos -}; - -static const struct byte_lookup* const -to_EUC_JP_E5_AF_infos[38] = { - o2(0xF9,0xEB), o2(0xBC,0xE4), o2(0xD5,0xE3), o2(0xB4,0xF3), - o2(0xC6,0xD2), o2(0xCC,0xA9), o2(0xD5,0xE4), o2(0xD5,0xE5), - o2(0xC9,0xD9), o2(0xD5,0xE7), o2(0xB4,0xA8), o2(0xB6,0xF7), - o2(0xD5,0xE6), o2(0xF9,0xED), o2(0xB4,0xB2), o2(0xBF,0xB2), - o2(0xD5,0xEB), o2(0xBB,0xA1), o2(0xB2,0xC9), o2(0xD5,0xEA), - o2(0xD5,0xE8), o2(0xD5,0xEC), o2(0xD5,0xE9), o2(0xC7,0xAB), - o2(0xDC,0xCD), o2(0xBF,0xB3), o2(0xD5,0xED), o2(0xF9,0xEE), - o2(0xCE,0xC0), o2(0xD5,0xEE), o2(0xD5,0xF0), o2(0xC3,0xFE), - o2(0xD5,0xEF), o2(0xC0,0xA3), o2(0xBB,0xFB), o2(0xC2,0xD0), - o2(0xBC,0xF7), UNDEF, -}; -static const BYTE_LOOKUP -to_EUC_JP_E5_AF = { - to_SHIFT_JIS_E5_AF_offsets, - to_EUC_JP_E5_AF_infos -}; - -static const struct byte_lookup* const -to_EUC_JP_E5_B0_infos[33] = { - o2(0xC9,0xF5), o2(0xC0,0xEC), o2(0xBC,0xCD), o2(0xD5,0xF1), - o2(0xBE,0xAD), o2(0xD5,0xF2), o2(0xD5,0xF3), o2(0xB0,0xD3), - o2(0xC2,0xBA), o2(0xBF,0xD2), o2(0xD5,0xF4), o2(0xC6,0xB3), - o2(0xBE,0xAE), o2(0xBE,0xAF), o2(0xD5,0xF5), o2(0xC0,0xED), - o2(0xBE,0xB0), o2(0xF9,0xEF), o2(0xD5,0xF6), o2(0xD5,0xF7), - o2(0xCC,0xE0), o2(0xD5,0xF8), o2(0xB6,0xC6), o2(0xBD,0xA2), - o2(0xD5,0xF9), o2(0xD5,0xFA), o2(0xBC,0xDC), o2(0xBF,0xAC), - o2(0xC6,0xF4), o2(0xBF,0xD4), o2(0xC8,0xF8), o2(0xC7,0xA2), - UNDEF, -}; -static const BYTE_LOOKUP -to_EUC_JP_E5_B0 = { - to_SHIFT_JIS_E5_B0_offsets, - to_EUC_JP_E5_B0_infos -}; - -static const struct byte_lookup* const -to_EUC_JP_E5_B1_infos[26] = { - o2(0xB6,0xC9), o2(0xD5,0xFB), o2(0xB5,0xEF), o2(0xD5,0xFC), - o2(0xB6,0xFE), o2(0xC6,0xCF), o2(0xB2,0xB0), o2(0xBB,0xD3), - o2(0xD5,0xFD), o2(0xD6,0xA2), o2(0xD6,0xA1), o2(0xB6,0xFD), - o2(0xD5,0xFE), o2(0xC5,0xB8), o2(0xC2,0xB0), o2(0xC5,0xCB), - o2(0xBC,0xC8), o2(0xC1,0xD8), o2(0xCD,0xFA), o2(0xD6,0xA4), - o2(0xD6,0xA5), o2(0xC6,0xD6), o2(0xBB,0xB3), o2(0xD6,0xA7), - o2(0xD6,0xA8), UNDEF, -}; -static const BYTE_LOOKUP -to_EUC_JP_E5_B1 = { - to_SHIFT_JIS_E5_B1_offsets, - to_EUC_JP_E5_B1_infos -}; - -static const struct byte_lookup* const -to_EUC_JP_E5_B2_infos[20] = { - o2(0xD6,0xA9), o2(0xB4,0xF4), o2(0xD6,0xAA), o2(0xD6,0xAB), - o2(0xB2,0xAC), o2(0xF9,0xF0), o2(0xC1,0xBB), o2(0xB4,0xE4), - o2(0xD6,0xAD), o2(0xCC,0xA8), o2(0xC2,0xD2), o2(0xB3,0xD9), - o2(0xD6,0xAF), o2(0xD6,0xB1), o2(0xB4,0xDF), o2(0xF9,0xF1), - o2(0xD6,0xAE), o2(0xD6,0xB0), o2(0xD6,0xB3), UNDEF, -}; -static const BYTE_LOOKUP -to_EUC_JP_E5_B2 = { - to_SHIFT_JIS_E5_B2_offsets, - to_EUC_JP_E5_B2_infos -}; - -static const struct byte_lookup* const -to_EUC_JP_E5_B3_infos[17] = { - o2(0xD6,0xB2), o2(0xD6,0xB4), o2(0xD6,0xB5), o2(0xC6,0xBD), - o2(0xB6,0xAE), o2(0xB2,0xE5), o2(0xD6,0xB6), o2(0xD6,0xBB), - o2(0xD6,0xB9), o2(0xCA,0xF7), o2(0xCA,0xF6), o2(0xF9,0xF2), - o2(0xC5,0xE7), o2(0xD6,0xB8), o2(0xBD,0xD4), o2(0xD6,0xB7), - UNDEF, -}; -static const BYTE_LOOKUP -to_EUC_JP_E5_B3 = { - to_SHIFT_JIS_E5_B3_offsets, - to_EUC_JP_E5_B3_infos -}; - -static const struct byte_lookup* const -to_EUC_JP_E5_B4_infos[17] = { - o2(0xBF,0xF2), o2(0xD6,0xBC), o2(0xBA,0xEA), o2(0xD6,0xC2), - o2(0xD6,0xC3), o2(0xD6,0xBD), o2(0xB3,0xB3), o2(0xD6,0xBE), - o2(0xD6,0xC7), o2(0xD6,0xC6), o2(0xD6,0xC5), o2(0xD6,0xC1), - o2(0xD6,0xC0), o2(0xD6,0xC4), o2(0xF9,0xF3), o2(0xCA,0xF8), - UNDEF, -}; -static const BYTE_LOOKUP -to_EUC_JP_E5_B4 = { - to_SHIFT_JIS_E5_B4_offsets, - to_EUC_JP_E5_B4_infos -}; - -static const struct byte_lookup* const -to_EUC_JP_E5_B5_infos[15] = { - o2(0xF9,0xF6), o2(0xD6,0xCB), o2(0xD6,0xC8), o2(0xD6,0xCA), - o2(0xCD,0xF2), o2(0xD6,0xC9), o2(0xF9,0xF4), o2(0xD6,0xBF), - o2(0xBF,0xF3), o2(0xD6,0xCC), o2(0xF9,0xF7), o2(0xBA,0xB7), - o2(0xD6,0xCD), o2(0xD6,0xCE), UNDEF, -}; -static const BYTE_LOOKUP -to_EUC_JP_E5_B5 = { - to_SHIFT_JIS_E5_B5_offsets, - to_EUC_JP_E5_B5_infos -}; - -static const struct byte_lookup* const -to_EUC_JP_E5_B6_infos[17] = { - o2(0xD6,0xD1), o2(0xD6,0xD0), o2(0xD6,0xCF), o2(0xC5,0xE8), - o2(0xD6,0xBA), o2(0xD6,0xD7), o2(0xD6,0xD3), o2(0xD6,0xD2), - o2(0xD6,0xD4), o2(0xD6,0xD5), o2(0xD6,0xD8), o2(0xF9,0xF8), - o2(0xF9,0xF9), o2(0xCE,0xE6), o2(0xD6,0xD9), o2(0xD6,0xD6), - UNDEF, -}; -static const BYTE_LOOKUP -to_EUC_JP_E5_B6 = { - to_SHIFT_JIS_E5_B6_offsets, - to_EUC_JP_E5_B6_infos -}; - -static const struct byte_lookup* const -to_EUC_JP_E5_B7_infos[28] = { - o2(0xD6,0xDA), o2(0xB4,0xE0), o2(0xD6,0xDB), o2(0xF9,0xFA), - o2(0xD6,0xDD), o2(0xD6,0xDC), o2(0xD6,0xDE), o2(0xD6,0xDF), - o2(0xC0,0xEE), o2(0xBD,0xA3), o2(0xBD,0xE4), o2(0xC1,0xE3), - o2(0xB9,0xA9), o2(0xBA,0xB8), o2(0xB9,0xAA), o2(0xB5,0xF0), - o2(0xD6,0xE0), o2(0xBA,0xB9), o2(0xB8,0xCA), o2(0xD6,0xE1), - o2(0xCC,0xA6), o2(0xC7,0xC3), o2(0xD6,0xE2), o2(0xB9,0xAB), - o2(0xB4,0xAC), o2(0xC3,0xA7), o2(0xB6,0xD2), UNDEF, -}; -static const BYTE_LOOKUP -to_EUC_JP_E5_B7 = { - to_SHIFT_JIS_E5_B7_offsets, - to_EUC_JP_E5_B7_infos -}; - -static const struct byte_lookup* const -to_EUC_JP_E5_B8_infos[22] = { - o2(0xBB,0xD4), o2(0xC9,0xDB), o2(0xC8,0xC1), o2(0xD6,0xE3), - o2(0xB4,0xF5), o2(0xD6,0xE6), o2(0xC4,0xA1), o2(0xD6,0xE5), - o2(0xD6,0xE4), o2(0xD6,0xE7), o2(0xC4,0xEB), o2(0xBF,0xE3), - o2(0xBB,0xD5), o2(0xC0,0xCA), o2(0xC2,0xD3), o2(0xB5,0xA2), - o2(0xC4,0xA2), o2(0xD6,0xE8), o2(0xD6,0xE9), o2(0xBE,0xEF), - o2(0xCB,0xB9), UNDEF, -}; -static const BYTE_LOOKUP -to_EUC_JP_E5_B8 = { - to_SHIFT_JIS_E5_B8_offsets, - to_EUC_JP_E5_B8_infos -}; - -static const struct byte_lookup* const -to_EUC_JP_E5_B9_infos[29] = { - o2(0xD6,0xEC), o2(0xD6,0xEB), o2(0xD6,0xEA), o2(0xC9,0xFD), - o2(0xD6,0xF3), o2(0xCB,0xDA), o2(0xD6,0xED), o2(0xD6,0xEF), - o2(0xCB,0xEB), o2(0xD6,0xEE), o2(0xD6,0xF0), o2(0xC8,0xA8), - o2(0xD6,0xF1), o2(0xCA,0xBE), o2(0xD6,0xF2), o2(0xB4,0xB3), - o2(0xCA,0xBF), o2(0xC7,0xAF), o2(0xD6,0xF4), o2(0xD6,0xF5), - o2(0xB9,0xAC), o2(0xB4,0xB4), o2(0xD6,0xF6), o2(0xB8,0xB8), - o2(0xCD,0xC4), o2(0xCD,0xA9), o2(0xB4,0xF6), o2(0xD6,0xF8), - UNDEF, -}; -static const BYTE_LOOKUP -to_EUC_JP_E5_B9 = { - to_SHIFT_JIS_E5_B9_offsets, - to_EUC_JP_E5_B9_infos -}; - -static const struct byte_lookup* const -to_EUC_JP_E5_BA_infos[21] = { - o2(0xC4,0xA3), o2(0xB9,0xAD), o2(0xBE,0xB1), o2(0xC8,0xDF), - o2(0xBE,0xB2), o2(0xBD,0xF8), o2(0xC4,0xEC), o2(0xCA,0xF9), - o2(0xC5,0xB9), o2(0xB9,0xAE), o2(0xC9,0xDC), o2(0xD6,0xF9), - o2(0xC5,0xD9), o2(0xBA,0xC2), o2(0xB8,0xCB), o2(0xC4,0xED), - o2(0xB0,0xC3), o2(0xBD,0xEE), o2(0xB9,0xAF), o2(0xCD,0xC7), - UNDEF, -}; -static const BYTE_LOOKUP -to_EUC_JP_E5_BA = { - to_SHIFT_JIS_E5_BA_offsets, - to_EUC_JP_E5_BA_infos -}; - -static const struct byte_lookup* const -to_EUC_JP_E5_BB_infos[34] = { - o2(0xD6,0xFA), o2(0xD6,0xFB), o2(0xC7,0xD1), o2(0xD6,0xFC), - o2(0xCE,0xF7), o2(0xCF,0xAD), o2(0xD6,0xFE), o2(0xD6,0xFD), - o2(0xB3,0xC7), o2(0xD7,0xA1), o2(0xD7,0xA4), o2(0xD7,0xA5), - o2(0xD7,0xA3), o2(0xC9,0xC0), o2(0xBE,0xB3), o2(0xD7,0xA7), - o2(0xD7,0xA6), o2(0xD7,0xA2), o2(0xD7,0xA8), o2(0xD7,0xA9), - o2(0xD7,0xAA), o2(0xD7,0xAD), o2(0xD7,0xAB), o2(0xD7,0xAC), - o2(0xD7,0xAE), o2(0xB1,0xE4), o2(0xC4,0xEE), o2(0xD7,0xAF), - o2(0xB7,0xFA), o2(0xB2,0xF6), o2(0xC7,0xB6), o2(0xD7,0xB0), - o2(0xC6,0xFB), UNDEF, -}; -static const BYTE_LOOKUP -to_EUC_JP_E5_BB = { - to_SHIFT_JIS_E5_BB_offsets, - to_EUC_JP_E5_BB_infos -}; - -static const struct byte_lookup* const -to_EUC_JP_E5_BC_infos[34] = { - o2(0xCA,0xDB), o2(0xD7,0xB1), o2(0xCF,0xAE), o2(0xD7,0xB2), - o2(0xCA,0xC0), o2(0xD7,0xB5), o2(0xD0,0xA1), o2(0xD0,0xB1), - o2(0xBC,0xB0), o2(0xC6,0xF5), o2(0xD7,0xB6), o2(0xB5,0xDD), - o2(0xC4,0xA4), o2(0xB0,0xFA), o2(0xD7,0xB7), o2(0xCA,0xA6), - o2(0xB9,0xB0), o2(0xC3,0xD0), o2(0xC4,0xEF), o2(0xF9,0xFB), - o2(0xCC,0xEF), o2(0xB8,0xB9), o2(0xB8,0xCC), o2(0xD7,0xB8), - o2(0xD7,0xB9), o2(0xD7,0xBF), o2(0xBC,0xE5), o2(0xF9,0xFC), - o2(0xC4,0xA5), o2(0xB6,0xAF), o2(0xD7,0xBA), o2(0xC9,0xAB), - o2(0xC3,0xC6), UNDEF, -}; -static const BYTE_LOOKUP -to_EUC_JP_E5_BC = { - to_SHIFT_JIS_E5_BC_offsets, - to_EUC_JP_E5_BC_infos -}; - -static const struct byte_lookup* const -to_EUC_JP_E5_BD_infos[30] = { - o2(0xD7,0xBB), o2(0xF9,0xAC), o2(0xD7,0xBC), o2(0xB6,0xB0), - o2(0xD7,0xBD), o2(0xD7,0xBE), o2(0xD7,0xC0), o2(0xC5,0xF6), - o2(0xD7,0xC1), o2(0xD7,0xC2), o2(0xD7,0xC3), o2(0xD7,0xB4), - o2(0xD7,0xB3), o2(0xD7,0xC4), o2(0xB7,0xC1), o2(0xC9,0xA7), - o2(0xF9,0xFD), o2(0xBA,0xCC), o2(0xC9,0xB7), o2(0xC4,0xA6), - o2(0xC9,0xCB), o2(0xD7,0xC5), o2(0xBE,0xB4), o2(0xB1,0xC6), - o2(0xD7,0xC6), o2(0xD7,0xC7), o2(0xCC,0xF2), o2(0xC8,0xE0), - o2(0xD7,0xCA), UNDEF, -}; -static const BYTE_LOOKUP -to_EUC_JP_E5_BD = { - to_SHIFT_JIS_E5_BD_offsets, - to_EUC_JP_E5_BD_infos -}; - -static const struct byte_lookup* const -to_EUC_JP_E5_BE_infos[33] = { - o2(0xB1,0xFD), o2(0xC0,0xAC), o2(0xD7,0xC9), o2(0xD7,0xC8), - o2(0xB7,0xC2), o2(0xC2,0xD4), o2(0xD7,0xCE), o2(0xD7,0xCC), - o2(0xD7,0xCB), o2(0xCE,0xA7), o2(0xB8,0xE5), o2(0xBD,0xF9), - o2(0xD7,0xCD), o2(0xC5,0xCC), o2(0xBD,0xBE), o2(0xC6,0xC0), - o2(0xD7,0xD1), o2(0xD7,0xD0), o2(0xD7,0xCF), o2(0xD7,0xD2), - o2(0xB8,0xE6), o2(0xD7,0xD3), o2(0xC9,0xFC), o2(0xBD,0xDB), - o2(0xD7,0xD4), o2(0xC8,0xF9), o2(0xC6,0xC1), o2(0xC4,0xA7), - o2(0xF9,0xFE), o2(0xC5,0xB0), o2(0xD7,0xD5), o2(0xB5,0xAB), - UNDEF, -}; -static const BYTE_LOOKUP -to_EUC_JP_E5_BE = { - to_SHIFT_JIS_E5_BE_offsets, - to_EUC_JP_E5_BE_infos -}; - -static const struct byte_lookup* const -to_EUC_JP_E5_BF_infos[22] = { - o2(0xBF,0xB4), o2(0xC9,0xAC), o2(0xB4,0xF7), o2(0xC7,0xA6), - o2(0xD7,0xD6), o2(0xBB,0xD6), o2(0xCB,0xBA), o2(0xCB,0xBB), - o2(0xB1,0xFE), o2(0xD7,0xDB), o2(0xFA,0xA1), o2(0xC3,0xE9), - o2(0xD7,0xD8), o2(0xB2,0xF7), o2(0xD8,0xAD), o2(0xD7,0xDA), - o2(0xC7,0xB0), o2(0xD7,0xD9), o2(0xD7,0xD7), o2(0xB9,0xFA), - o2(0xD7,0xDD), UNDEF, -}; -static const BYTE_LOOKUP -to_EUC_JP_E5_BF = { - to_SHIFT_JIS_E5_BF_offsets, - to_EUC_JP_E5_BF_infos -}; - -static const struct byte_lookup* const -to_EUC_JP_E5_infos[64] = { - &to_EUC_JP_E5_80, &to_EUC_JP_E5_81, &to_EUC_JP_E5_82, &to_EUC_JP_E5_83, - &to_EUC_JP_E5_84, &to_EUC_JP_E5_85, &to_EUC_JP_E5_86, &to_EUC_JP_E5_87, - &to_EUC_JP_E5_88, &to_EUC_JP_E5_89, &to_EUC_JP_E5_8A, &to_EUC_JP_E5_8B, - &to_EUC_JP_E5_8C, &to_EUC_JP_E5_8D, &to_EUC_JP_E5_8E, &to_EUC_JP_E5_8F, - &to_EUC_JP_E5_90, &to_EUC_JP_E5_91, &to_EUC_JP_E5_92, &to_EUC_JP_E5_93, - &to_EUC_JP_E5_94, &to_EUC_JP_E5_95, &to_EUC_JP_E5_96, &to_EUC_JP_E5_97, - &to_EUC_JP_E5_98, &to_EUC_JP_E5_99, &to_EUC_JP_E5_9A, &to_EUC_JP_E5_9B, - &to_EUC_JP_E5_9C, &to_EUC_JP_E5_9D, &to_EUC_JP_E5_9E, &to_EUC_JP_E5_9F, - &to_EUC_JP_E5_A0, &to_EUC_JP_E5_A1, &to_EUC_JP_E5_A2, &to_EUC_JP_E5_A3, - &to_EUC_JP_E5_A4, &to_EUC_JP_E5_A5, &to_EUC_JP_E5_A6, &to_EUC_JP_E5_A7, - &to_EUC_JP_E5_A8, &to_EUC_JP_E5_A9, &to_EUC_JP_E5_AA, &to_EUC_JP_E5_AB, - &to_EUC_JP_E5_AC, &to_EUC_JP_E5_AD, &to_EUC_JP_E5_AE, &to_EUC_JP_E5_AF, - &to_EUC_JP_E5_B0, &to_EUC_JP_E5_B1, &to_EUC_JP_E5_B2, &to_EUC_JP_E5_B3, - &to_EUC_JP_E5_B4, &to_EUC_JP_E5_B5, &to_EUC_JP_E5_B6, &to_EUC_JP_E5_B7, - &to_EUC_JP_E5_B8, &to_EUC_JP_E5_B9, &to_EUC_JP_E5_BA, &to_EUC_JP_E5_BB, - &to_EUC_JP_E5_BC, &to_EUC_JP_E5_BD, &to_EUC_JP_E5_BE, &to_EUC_JP_E5_BF, -}; -static const BYTE_LOOKUP -to_EUC_JP_E5 = { - to_SHIFT_JIS_E5_offsets, - to_EUC_JP_E5_infos -}; - -static const struct byte_lookup* const -to_EUC_JP_E6_80_infos[23] = { - o2(0xD7,0xE3), o2(0xD7,0xE9), o2(0xD7,0xE1), o2(0xC5,0xDC), - o2(0xD7,0xE6), o2(0xC9,0xDD), o2(0xD7,0xE0), o2(0xD7,0xE5), - o2(0xCE,0xE7), o2(0xBB,0xD7), o2(0xC2,0xD5), o2(0xD7,0xDE), - o2(0xB5,0xDE), o2(0xD7,0xE8), o2(0xC0,0xAD), o2(0xB1,0xE5), - o2(0xD7,0xE2), o2(0xB2,0xF8), o2(0xD7,0xE7), o2(0xB6,0xB1), - o2(0xD7,0xE4), o2(0xD7,0xEA), UNDEF, -}; -static const BYTE_LOOKUP -to_EUC_JP_E6_80 = { - to_SHIFT_JIS_E6_80_offsets, - to_EUC_JP_E6_80_infos -}; - -static const struct byte_lookup* const -to_EUC_JP_E6_81_infos[30] = { - o2(0xD7,0xEC), o2(0xD7,0xF6), o2(0xD7,0xF4), o2(0xD7,0xF1), - o2(0xD7,0xF0), o2(0xCE,0xF8), o2(0xD7,0xF2), o2(0xB6,0xB2), - o2(0xB9,0xB1), o2(0xBD,0xFA), o2(0xD7,0xF9), o2(0xD7,0xEB), - o2(0xFA,0xA2), o2(0xD7,0xEF), o2(0xD7,0xDF), o2(0xB2,0xFA), - o2(0xD7,0xF3), o2(0xD7,0xF5), o2(0xC3,0xD1), o2(0xBA,0xA8), - o2(0xB2,0xB8), o2(0xD7,0xED), o2(0xD7,0xF8), o2(0xD7,0xF7), - o2(0xB6,0xB3), o2(0xC2,0xA9), o2(0xB3,0xE6), o2(0xB7,0xC3), - o2(0xD7,0xEE), UNDEF, -}; -static const BYTE_LOOKUP -to_EUC_JP_E6_81 = { - to_SHIFT_JIS_E6_81_offsets, - to_EUC_JP_E6_81_infos -}; - -static const struct byte_lookup* const -to_EUC_JP_E6_82_infos[31] = { - o2(0xD7,0xFA), o2(0xD7,0xFD), o2(0xD8,0xA1), o2(0xFA,0xA3), - o2(0xBC,0xBD), o2(0xFA,0xA4), o2(0xD8,0xA7), o2(0xC4,0xF0), - o2(0xD7,0xFB), o2(0xD8,0xA5), o2(0xB2,0xF9), o2(0xD8,0xA3), - o2(0xD8,0xA4), o2(0xD7,0xFE), o2(0xD8,0xA2), o2(0xB8,0xE7), - o2(0xCD,0xAA), o2(0xB4,0xB5), o2(0xB1,0xD9), o2(0xD8,0xA6), - o2(0xC7,0xBA), o2(0xB0,0xAD), o2(0xC8,0xE1), o2(0xD7,0xDC), - o2(0xD8,0xAC), o2(0xD8,0xB0), o2(0xCC,0xE5), o2(0xD8,0xA9), - o2(0xC5,0xE9), o2(0xD8,0xAE), UNDEF, -}; -static const BYTE_LOOKUP -to_EUC_JP_E6_82 = { - to_SHIFT_JIS_E6_82_offsets, - to_EUC_JP_E6_82_infos -}; - -static const struct byte_lookup* const -to_EUC_JP_E6_83_infos[27] = { - o2(0xBE,0xF0), o2(0xD8,0xAF), o2(0xC6,0xD7), o2(0xCF,0xC7), - o2(0xD8,0xAB), o2(0xFA,0xA6), o2(0xD8,0xB1), o2(0xB9,0xFB), - o2(0xC0,0xCB), o2(0xFA,0xA5), o2(0xB0,0xD4), o2(0xD8,0xAA), - o2(0xD8,0xA8), o2(0xC1,0xDA), o2(0xD7,0xFC), o2(0xBB,0xB4), - o2(0xC2,0xC6), o2(0xD8,0xBD), o2(0xFA,0xA8), o2(0xC1,0xDB), - o2(0xD8,0xB8), o2(0xD8,0xB5), o2(0xD8,0xB6), o2(0xBC,0xE6), - o2(0xD8,0xB9), o2(0xD8,0xBC), UNDEF, -}; -static const BYTE_LOOKUP -to_EUC_JP_E6_83 = { - to_SHIFT_JIS_E6_83_offsets, - to_EUC_JP_E6_83_infos -}; - -static const struct byte_lookup* const -to_EUC_JP_E6_84_infos[27] = { - o2(0xD8,0xB7), o2(0xBD,0xA5), o2(0xD8,0xBA), o2(0xD8,0xB4), - o2(0xCC,0xFC), o2(0xCC,0xFB), o2(0xD8,0xBE), o2(0xD8,0xBF), - o2(0xB0,0xD5), o2(0xFA,0xA9), o2(0xD8,0xB3), o2(0xB6,0xF2), - o2(0xB0,0xA6), o2(0xB4,0xB6), o2(0xFA,0xA7), o2(0xD8,0xBB), - o2(0xD8,0xC3), o2(0xD8,0xC2), o2(0xD8,0xC7), o2(0xFA,0xAB), - o2(0xD8,0xC8), o2(0xFA,0xAA), o2(0xD8,0xC6), o2(0xD8,0xC9), - o2(0xD8,0xC1), o2(0xD8,0xC5), UNDEF, -}; -static const BYTE_LOOKUP -to_EUC_JP_E6_84 = { - to_SHIFT_JIS_E6_84_offsets, - to_EUC_JP_E6_84_infos -}; - -static const struct byte_lookup* const -to_EUC_JP_E6_85_infos[33] = { - o2(0xD8,0xCA), o2(0xD8,0xCB), o2(0xD8,0xC0), o2(0xBB,0xFC), - o2(0xD8,0xC4), o2(0xC2,0xD6), o2(0xB9,0xB2), o2(0xD8,0xB2), - o2(0xBF,0xB5), o2(0xD8,0xD8), o2(0xCA,0xE9), o2(0xD8,0xCE), - o2(0xD8,0xCF), o2(0xD8,0xD0), o2(0xD8,0xD7), o2(0xD8,0xD6), - o2(0xCB,0xFD), o2(0xB4,0xB7), o2(0xD8,0xD4), o2(0xB7,0xC5), - o2(0xB3,0xB4), o2(0xD8,0xD1), o2(0xCE,0xB8), o2(0xD8,0xD3), - o2(0xB0,0xD6), o2(0xD8,0xD5), o2(0xD8,0xCC), o2(0xD8,0xD2), - o2(0xD8,0xD9), o2(0xB7,0xC4), o2(0xD8,0xCD), o2(0xCD,0xDD), - UNDEF, -}; -static const BYTE_LOOKUP -to_EUC_JP_E6_85 = { - to_SHIFT_JIS_E6_85_offsets, - to_EUC_JP_E6_85_infos -}; - -static const struct byte_lookup* const -to_EUC_JP_E6_86_infos[22] = { - o2(0xCD,0xAB), o2(0xD8,0xDC), o2(0xD8,0xE0), o2(0xC1,0xFE), - o2(0xCE,0xF9), o2(0xD8,0xE1), o2(0xD8,0xDE), o2(0xD8,0xDB), - o2(0xFA,0xAC), o2(0xD8,0xDA), o2(0xD8,0xDF), o2(0xCA,0xB0), - o2(0xC6,0xB4), o2(0xB7,0xC6), o2(0xD8,0xE2), o2(0xD8,0xDD), - o2(0xD8,0xE3), o2(0xB7,0xFB), o2(0xB2,0xB1), o2(0xD8,0xEB), - o2(0xB4,0xB8), UNDEF, -}; -static const BYTE_LOOKUP -to_EUC_JP_E6_86 = { - to_SHIFT_JIS_E6_86_offsets, - to_EUC_JP_E6_86_infos -}; - -static const struct byte_lookup* const -to_EUC_JP_E6_87_infos[23] = { - o2(0xD8,0xE9), o2(0xD8,0xEA), o2(0xBA,0xA9), o2(0xD8,0xE8), - o2(0xD8,0xE6), o2(0xD8,0xE5), o2(0xD8,0xEC), o2(0xD8,0xE4), - o2(0xD8,0xEE), o2(0xB2,0xFB), o2(0xD8,0xF0), o2(0xD8,0xEF), - o2(0xC4,0xA8), o2(0xD8,0xF3), o2(0xD8,0xF1), o2(0xD8,0xE7), - o2(0xB7,0xFC), o2(0xD8,0xF2), o2(0xD8,0xF6), o2(0xD8,0xF5), - o2(0xD8,0xF7), o2(0xD8,0xF4), UNDEF, -}; -static const BYTE_LOOKUP -to_EUC_JP_E6_87 = { - to_SHIFT_JIS_E6_87_offsets, - to_EUC_JP_E6_87_infos -}; - -static const struct byte_lookup* const -to_EUC_JP_E6_88_infos[31] = { - o2(0xD8,0xF8), o2(0xD8,0xF9), o2(0xD8,0xFA), o2(0xCA,0xEA), - o2(0xD8,0xFC), o2(0xD8,0xFB), o2(0xBD,0xBF), o2(0xC0,0xAE), - o2(0xB2,0xE6), o2(0xB2,0xFC), o2(0xFA,0xAD), o2(0xD8,0xFD), - o2(0xB0,0xBF), o2(0xC0,0xCC), o2(0xD8,0xFE), o2(0xEC,0xC3), - o2(0xD9,0xA1), o2(0xB7,0xE1), o2(0xD9,0xA2), o2(0xC0,0xEF), - o2(0xD9,0xA3), o2(0xD9,0xA4), o2(0xB5,0xBA), o2(0xD9,0xA5), - o2(0xD9,0xA6), o2(0xD9,0xA7), o2(0xC2,0xD7), o2(0xB8,0xCD), - o2(0xCC,0xE1), o2(0xCB,0xBC), UNDEF, -}; -static const BYTE_LOOKUP -to_EUC_JP_E6_88 = { - to_SHIFT_JIS_E6_88_offsets, - to_EUC_JP_E6_88_infos -}; - -static const struct byte_lookup* const -to_EUC_JP_E6_89_infos[24] = { - o2(0xBD,0xEA), o2(0xD9,0xA8), o2(0xC0,0xF0), o2(0xEE,0xBD), - o2(0xC8,0xE2), o2(0xBC,0xEA), o2(0xBA,0xCD), o2(0xD9,0xA9), - o2(0xC2,0xC7), o2(0xCA,0xA7), o2(0xC2,0xF1), o2(0xD9,0xAC), - o2(0xD9,0xAA), o2(0xD9,0xAD), o2(0xD9,0xAB), o2(0xD9,0xAE), - o2(0xCA,0xB1), o2(0xB0,0xB7), o2(0xC9,0xDE), o2(0xC8,0xE3), - o2(0xD9,0xAF), o2(0xD9,0xB2), o2(0xBE,0xB5), UNDEF, -}; -static const BYTE_LOOKUP -to_EUC_JP_E6_89 = { - to_SHIFT_JIS_E6_89_offsets, - to_EUC_JP_E6_89_infos -}; - -static const struct byte_lookup* const -to_EUC_JP_E6_8A_infos[27] = { - o2(0xB5,0xBB), o2(0xD9,0xB0), o2(0xD9,0xB7), o2(0xBE,0xB6), - o2(0xD9,0xB1), o2(0xC7,0xC4), o2(0xCD,0xDE), o2(0xD9,0xB3), - o2(0xD9,0xB4), o2(0xD9,0xB8), o2(0xC5,0xEA), o2(0xD9,0xB5), - o2(0xB9,0xB3), o2(0xC0,0xDE), o2(0xD9,0xC6), o2(0xC8,0xB4), - o2(0xC2,0xF2), o2(0xFA,0xAE), o2(0xC8,0xE4), o2(0xDA,0xAD), - o2(0xCA,0xFA), o2(0xC4,0xF1), o2(0xCB,0xF5), o2(0xD9,0xBB), - o2(0xB2,0xA1), o2(0xC3,0xEA), UNDEF, -}; -static const BYTE_LOOKUP -to_EUC_JP_E6_8A = { - to_SHIFT_JIS_E6_8A_offsets, - to_EUC_JP_E6_8A_infos -}; - -static const struct byte_lookup* const -to_EUC_JP_E6_8B_infos[35] = { - o2(0xD9,0xC4), o2(0xC3,0xB4), o2(0xD9,0xBE), o2(0xD9,0xC5), - o2(0xD9,0xC0), o2(0xD9,0xC7), o2(0xD9,0xC3), o2(0xD9,0xC2), - o2(0xC7,0xEF), o2(0xD9,0xBC), o2(0xB2,0xFD), o2(0xD9,0xBA), - o2(0xB5,0xF1), o2(0xC2,0xF3), o2(0xD9,0xB6), o2(0xD9,0xB9), - o2(0xB9,0xB4), o2(0xC0,0xDB), o2(0xBE,0xB7), o2(0xD9,0xC1), - o2(0xC7,0xD2), o2(0xB5,0xF2), o2(0xB3,0xC8), o2(0xB3,0xE7), - o2(0xBF,0xA1), o2(0xD9,0xC9), o2(0xD9,0xCE), o2(0xD9,0xCA), - o2(0xB7,0xFD), o2(0xD9,0xCF), o2(0xBB,0xA2), o2(0xB9,0xE9), - o2(0xBD,0xA6), o2(0xD9,0xBD), UNDEF, -}; -static const BYTE_LOOKUP -to_EUC_JP_E6_8B = { - to_SHIFT_JIS_E6_8B_offsets, - to_EUC_JP_E6_8B_infos -}; - -static const struct byte_lookup* const -to_EUC_JP_E6_8C_infos[18] = { - o2(0xBB,0xFD), o2(0xD9,0xCC), o2(0xBB,0xD8), o2(0xD9,0xCD), - o2(0xB0,0xC4), o2(0xD9,0xC8), o2(0xC4,0xA9), o2(0xB5,0xF3), - o2(0xB6,0xB4), o2(0xD9,0xCB), o2(0xB0,0xA7), o2(0xBA,0xC3), - o2(0xBF,0xB6), o2(0xC4,0xF2), o2(0xC8,0xD4), o2(0xD9,0xD1), - o2(0xC1,0xDE), UNDEF, -}; -static const BYTE_LOOKUP -to_EUC_JP_E6_8C = { - to_SHIFT_JIS_E6_8C_offsets, - to_EUC_JP_E6_8C_infos -}; - -static const struct byte_lookup* const -to_EUC_JP_E6_8D_infos[19] = { - o2(0xC2,0xAA), o2(0xBB,0xAB), o2(0xD9,0xD2), o2(0xD9,0xD4), - o2(0xD9,0xD0), o2(0xCA,0xE1), o2(0xC4,0xBD), o2(0xC1,0xDC), - o2(0xCA,0xFB), o2(0xBC,0xCE), o2(0xD9,0xE0), o2(0xD9,0xDF), - o2(0xBF,0xF8), o2(0xB7,0xFE), o2(0xD9,0xD9), o2(0xBE,0xB9), - o2(0xC6,0xE8), o2(0xC7,0xB1), UNDEF, -}; -static const BYTE_LOOKUP -to_EUC_JP_E6_8D = { - to_SHIFT_JIS_E6_8D_offsets, - to_EUC_JP_E6_8D_infos -}; - -static const struct byte_lookup* const -to_EUC_JP_E6_8E_infos[29] = { - o2(0xD9,0xD7), o2(0xC1,0xDD), o2(0xBC,0xF8), o2(0xD9,0xDC), - o2(0xBE,0xB8), o2(0xD9,0xD6), o2(0xD9,0xDB), o2(0xC7,0xD3), - o2(0xD9,0xD5), o2(0xB7,0xA1), o2(0xB3,0xDD), o2(0xD9,0xDD), - o2(0xCE,0xAB), o2(0xBA,0xCE), o2(0xC3,0xB5), o2(0xD9,0xDA), - o2(0xC0,0xDC), o2(0xB9,0xB5), o2(0xBF,0xE4), o2(0xB1,0xE6), - o2(0xC1,0xBC), o2(0xD9,0xD8), o2(0xB5,0xC5), o2(0xB7,0xC7), - o2(0xC4,0xCF), o2(0xD9,0xDE), o2(0xC1,0xDF), o2(0xD9,0xE1), - UNDEF, -}; -static const BYTE_LOOKUP -to_EUC_JP_E6_8E = { - to_SHIFT_JIS_E6_8E_offsets, - to_EUC_JP_E6_8E_infos -}; - -static const struct byte_lookup* const -to_EUC_JP_E6_8F_infos[20] = { - o2(0xD9,0xE3), o2(0xC2,0xB7), o2(0xD9,0xE9), o2(0xD9,0xE4), - o2(0xD9,0xE6), o2(0xC9,0xC1), o2(0xC4,0xF3), o2(0xD9,0xE7), - o2(0xCD,0xAC), o2(0xCD,0xC8), o2(0xB4,0xB9), o2(0xB0,0xAE), - o2(0xD9,0xE5), o2(0xD9,0xE2), o2(0xB4,0xF8), o2(0xB1,0xE7), - o2(0xFA,0xAF), o2(0xD9,0xE8), o2(0xCD,0xC9), UNDEF, -}; -static const BYTE_LOOKUP -to_EUC_JP_E6_8F = { - to_SHIFT_JIS_E6_8F_offsets, - to_EUC_JP_E6_8F_infos -}; - -static const struct byte_lookup* const -to_EUC_JP_E6_90_infos[16] = { - o2(0xD9,0xEC), o2(0xC2,0xBB), o2(0xD9,0xF3), o2(0xD9,0xED), - o2(0xD9,0xEA), o2(0xD9,0xF1), o2(0xD9,0xD3), o2(0xD9,0xEE), - o2(0xD9,0xF2), o2(0xC8,0xC2), o2(0xC5,0xEB), o2(0xD9,0xEB), - o2(0xD9,0xEF), o2(0xB7,0xC8), o2(0xBA,0xF1), UNDEF, -}; -static const BYTE_LOOKUP -to_EUC_JP_E6_90 = { - to_SHIFT_JIS_E6_90_offsets, - to_EUC_JP_E6_90_infos -}; - -static const struct byte_lookup* const -to_EUC_JP_E6_91_infos[11] = { - o2(0xC0,0xDD), o2(0xD9,0xF7), o2(0xC5,0xA6), o2(0xFA,0xB0), - o2(0xD9,0xF4), o2(0xCB,0xE0), o2(0xD9,0xF5), o2(0xD9,0xF6), - o2(0xCC,0xCE), o2(0xC0,0xA2), UNDEF, -}; -static const BYTE_LOOKUP -to_EUC_JP_E6_91 = { - to_SHIFT_JIS_E6_91_offsets, - to_EUC_JP_E6_91_infos -}; - -static const struct byte_lookup* const -to_EUC_JP_E6_92_infos[20] = { - o2(0xB7,0xE2), o2(0xD9,0xFD), o2(0xBB,0xB5), o2(0xD9,0xFA), - o2(0xD9,0xF9), o2(0xC7,0xB2), o2(0xFA,0xB1), o2(0xC6,0xB5), - o2(0xC5,0xB1), o2(0xD9,0xFB), o2(0xD9,0xFC), o2(0xC9,0xEF), - o2(0xC7,0xC5), o2(0xBB,0xA3), o2(0xC0,0xF1), o2(0xCB,0xD0), - o2(0xB3,0xC9), o2(0xDA,0xA5), o2(0xD9,0xFE), UNDEF, -}; -static const BYTE_LOOKUP -to_EUC_JP_E6_92 = { - to_SHIFT_JIS_E6_92_offsets, - to_EUC_JP_E6_92_infos -}; - -static const struct byte_lookup* const -to_EUC_JP_E6_93_infos[26] = { - o2(0xCD,0xCA), o2(0xDA,0xA7), o2(0xDA,0xA3), o2(0xDA,0xA4), - o2(0xC1,0xE0), o2(0xFA,0xB2), o2(0xDA,0xA2), o2(0xD9,0xBF), - o2(0xDA,0xA6), o2(0xDA,0xA1), o2(0xDA,0xAB), o2(0xDA,0xAC), - o2(0xC5,0xA7), o2(0xDA,0xAE), o2(0xBB,0xA4), o2(0xDA,0xA9), - o2(0xB5,0xBC), o2(0xDA,0xAF), o2(0xDA,0xA8), o2(0xDA,0xB3), - o2(0xDA,0xB2), o2(0xDA,0xB1), o2(0xDA,0xB4), o2(0xDA,0xB6), - o2(0xBE,0xF1), UNDEF, -}; -static const BYTE_LOOKUP -to_EUC_JP_E6_93 = { - to_SHIFT_JIS_E6_93_offsets, - to_EUC_JP_E6_93_infos -}; - -static const struct byte_lookup* const -to_EUC_JP_E6_94_infos[21] = { - o2(0xDA,0xB5), o2(0xDA,0xB9), o2(0xDA,0xB7), o2(0xDA,0xB8), - o2(0xD9,0xF0), o2(0xDA,0xBB), o2(0xDA,0xBA), o2(0xD9,0xF8), - o2(0xDA,0xBC), o2(0xDA,0xB0), o2(0xBB,0xD9), o2(0xDA,0xBD), - o2(0xDA,0xBE), o2(0xDA,0xC0), o2(0xDA,0xBF), o2(0xDA,0xC1), - o2(0xB2,0xFE), o2(0xB9,0xB6), o2(0xCA,0xFC), o2(0xC0,0xAF), - UNDEF, -}; -static const BYTE_LOOKUP -to_EUC_JP_E6_94 = { - to_SHIFT_JIS_E6_94_offsets, - to_EUC_JP_E6_94_infos -}; - -static const struct byte_lookup* const -to_EUC_JP_E6_95_infos[24] = { - o2(0xB8,0xCE), o2(0xDA,0xC3), o2(0xDA,0xC6), o2(0xFA,0xB3), - o2(0xC9,0xD2), o2(0xB5,0xDF), o2(0xDA,0xC5), o2(0xDA,0xC4), - o2(0xC7,0xD4), o2(0xDA,0xC7), o2(0xB6,0xB5), o2(0xDA,0xC9), - o2(0xDA,0xC8), o2(0xB4,0xBA), o2(0xBB,0xB6), o2(0xC6,0xD8), - o2(0xB7,0xC9), o2(0xBF,0xF4), o2(0xDA,0xCA), o2(0xC0,0xB0), - o2(0xC5,0xA8), o2(0xC9,0xDF), o2(0xDA,0xCB), UNDEF, -}; -static const BYTE_LOOKUP -to_EUC_JP_E6_95 = { - to_SHIFT_JIS_E6_95_offsets, - to_EUC_JP_E6_95_infos -}; - -static const struct byte_lookup* const -to_EUC_JP_E6_96_infos[28] = { - o2(0xDA,0xCC), o2(0xDA,0xCD), o2(0xCA,0xB8), o2(0xD5,0xDD), - o2(0xC0,0xC6), o2(0xC9,0xCC), o2(0xBA,0xD8), o2(0xC8,0xE5), - o2(0xC8,0xC3), o2(0xC5,0xCD), o2(0xCE,0xC1), o2(0xDA,0xCF), - o2(0xBC,0xD0), o2(0xDA,0xD0), o2(0xB0,0xB6), o2(0xB6,0xD4), - o2(0xC0,0xCD), o2(0xC9,0xE0), o2(0xDA,0xD1), o2(0xBB,0xC2), - o2(0xC3,0xC7), o2(0xBB,0xDB), o2(0xBF,0xB7), o2(0xDA,0xD2), - o2(0xCA,0xFD), o2(0xB1,0xF7), o2(0xBB,0xDC), UNDEF, -}; -static const BYTE_LOOKUP -to_EUC_JP_E6_96 = { - to_SHIFT_JIS_E6_96_offsets, - to_EUC_JP_E6_96_infos -}; - -static const struct byte_lookup* const -to_EUC_JP_E6_97_infos[26] = { - o2(0xDA,0xD5), o2(0xDA,0xD3), o2(0xDA,0xD6), o2(0xCE,0xB9), - o2(0xDA,0xD4), o2(0xC0,0xFB), o2(0xDA,0xD7), o2(0xC2,0xB2), - o2(0xDA,0xD8), o2(0xB4,0xFA), o2(0xDA,0xDA), o2(0xDA,0xD9), - o2(0xDA,0xDB), o2(0xDA,0xDC), o2(0xB4,0xFB), o2(0xC6,0xFC), - o2(0xC3,0xB6), o2(0xB5,0xEC), o2(0xBB,0xDD), o2(0xC1,0xE1), - o2(0xBD,0xDC), o2(0xB0,0xB0), o2(0xDA,0xDD), o2(0xB2,0xA2), - o2(0xDA,0xE1), UNDEF, -}; -static const BYTE_LOOKUP -to_EUC_JP_E6_97 = { - to_SHIFT_JIS_E6_97_offsets, - to_EUC_JP_E6_97_infos -}; - -static const struct byte_lookup* const -to_EUC_JP_E6_98_infos[32] = { - o2(0xFA,0xB4), o2(0xB9,0xB7), o2(0xDA,0xE0), o2(0xBA,0xAB), - o2(0xBE,0xBA), o2(0xFA,0xB7), o2(0xDA,0xDF), o2(0xBE,0xBB), - o2(0xCC,0xC0), o2(0xBA,0xAA), o2(0xB0,0xD7), o2(0xC0,0xCE), - o2(0xFA,0xB5), o2(0xDA,0xE6), o2(0xFA,0xB9), o2(0xC0,0xB1), - o2(0xB1,0xC7), o2(0xFA,0xBA), o2(0xBD,0xD5), o2(0xCB,0xE6), - o2(0xBA,0xF2), o2(0xBE,0xBC), o2(0xFA,0xB8), o2(0xC0,0xA7), - o2(0xF9,0xA8), o2(0xDA,0xE5), o2(0xDA,0xE3), o2(0xDA,0xE4), - o2(0xFA,0xB6), o2(0xC3,0xEB), o2(0xDB,0xA6), UNDEF, -}; -static const BYTE_LOOKUP -to_EUC_JP_E6_98 = { - to_SHIFT_JIS_E6_98_offsets, - to_EUC_JP_E6_98_infos -}; - -static const struct byte_lookup* const -to_EUC_JP_E6_99_infos[28] = { - o2(0xDA,0xEA), o2(0xBB,0xFE), o2(0xB9,0xB8), o2(0xDA,0xE8), - o2(0xDA,0xE9), o2(0xBF,0xB8), o2(0xDA,0xE7), o2(0xBB,0xAF), - o2(0xFA,0xBC), o2(0xFA,0xBD), o2(0xDA,0xEC), o2(0xDA,0xEB), - o2(0xDA,0xF0), o2(0xDA,0xF1), o2(0xDA,0xED), o2(0xFA,0xBB), - o2(0xB3,0xA2), o2(0xDA,0xEE), o2(0xDA,0xEF), o2(0xC8,0xD5), - o2(0xC9,0xE1), o2(0xB7,0xCA), o2(0xDA,0xF2), o2(0xFA,0xBF), - o2(0xC0,0xB2), o2(0xBE,0xBD), o2(0xC3,0xD2), UNDEF, -}; -static const BYTE_LOOKUP -to_EUC_JP_E6_99 = { - to_SHIFT_JIS_E6_99_offsets, - to_EUC_JP_E6_99_infos -}; - -static const struct byte_lookup* const -to_EUC_JP_E6_9A_infos[26] = { - o2(0xB6,0xC7), o2(0xDA,0xF3), o2(0xDA,0xF7), o2(0xB2,0xCB), - o2(0xDA,0xF4), o2(0xDA,0xF6), o2(0xDA,0xF5), o2(0xBD,0xEB), - o2(0xC3,0xC8), o2(0xB0,0xC5), o2(0xDA,0xF8), o2(0xFA,0xC0), - o2(0xDA,0xF9), o2(0xFA,0xC1), o2(0xC4,0xAA), o2(0xCE,0xF1), - o2(0xBB,0xC3), o2(0xCA,0xEB), o2(0xFA,0xC2), o2(0xCB,0xBD), - o2(0xDB,0xA2), o2(0xDA,0xFB), o2(0xDA,0xFE), o2(0xDA,0xFD), - o2(0xFA,0xC3), UNDEF, -}; -static const BYTE_LOOKUP -to_EUC_JP_E6_9A = { - to_SHIFT_JIS_E6_9A_offsets, - to_EUC_JP_E6_9A_infos -}; - -static const struct byte_lookup* const -to_EUC_JP_E6_9B_infos[27] = { - o2(0xDA,0xFA), o2(0xDB,0xA1), o2(0xC6,0xDE), o2(0xDA,0xFC), - o2(0xDB,0xA3), o2(0xBD,0xEC), o2(0xDB,0xA4), o2(0xCD,0xCB), - o2(0xC7,0xF8), o2(0xDB,0xA5), o2(0xDB,0xA7), o2(0xDB,0xA8), - o2(0xDB,0xA9), o2(0xB6,0xCA), o2(0xB1,0xC8), o2(0xB9,0xB9), - o2(0xDB,0xAA), o2(0xDB,0xAB), o2(0xBD,0xF1), o2(0xC1,0xE2), - o2(0xFA,0xC4), o2(0xF9,0xAB), o2(0xD2,0xD8), o2(0xC1,0xBE), - o2(0xC1,0xBD), o2(0xC2,0xD8), UNDEF, -}; -static const BYTE_LOOKUP -to_EUC_JP_E6_9B = { - to_SHIFT_JIS_E6_9B_offsets, - to_EUC_JP_E6_9B_infos -}; - -static const struct byte_lookup* const -to_EUC_JP_E6_9C_infos[33] = { - o2(0xBA,0xC7), o2(0xD0,0xF2), o2(0xB7,0xEE), o2(0xCD,0xAD), - o2(0xCA,0xFE), o2(0xC9,0xFE), o2(0xFA,0xC5), o2(0xDB,0xAC), - o2(0xBA,0xF3), o2(0xC4,0xBF), o2(0xDB,0xAD), o2(0xCF,0xAF), - o2(0xCB,0xBE), o2(0xC4,0xAB), o2(0xDB,0xAE), o2(0xB4,0xFC), - o2(0xDB,0xAF), o2(0xDB,0xB0), o2(0xCC,0xDA), o2(0xCC,0xA4), - o2(0xCB,0xF6), o2(0xCB,0xDC), o2(0xBB,0xA5), o2(0xDB,0xB2), - o2(0xBC,0xEB), o2(0xCB,0xD1), o2(0xDB,0xB4), o2(0xDB,0xB7), - o2(0xDB,0xB6), o2(0xB4,0xF9), o2(0xB5,0xE0), o2(0xDB,0xB3), - UNDEF, -}; -static const BYTE_LOOKUP -to_EUC_JP_E6_9C = { - to_SHIFT_JIS_E6_9C_offsets, - to_EUC_JP_E6_9C_infos -}; - -static const struct byte_lookup* const -to_EUC_JP_E6_9D_infos[33] = { - o2(0xDB,0xB5), o2(0xDB,0xB8), o2(0xBF,0xF9), o2(0xCD,0xFB), - o2(0xB0,0xC9), o2(0xBA,0xE0), o2(0xC2,0xBC), o2(0xBC,0xDD), - o2(0xBE,0xF3), o2(0xDB,0xBB), o2(0xC5,0xCE), o2(0xDB,0xB9), - o2(0xC2,0xAB), o2(0xDB,0xBA), o2(0xBE,0xF2), o2(0xCC,0xDD), - o2(0xDB,0xBC), o2(0xDB,0xBD), o2(0xCD,0xE8), o2(0xFA,0xC7), - o2(0xDB,0xC2), o2(0xB9,0xBA), o2(0xC7,0xD5), o2(0xDB,0xBF), - o2(0xC5,0xEC), o2(0xDA,0xDE), o2(0xDA,0xE2), o2(0xB5,0xCF), - o2(0xC7,0xC7), o2(0xDB,0xC1), o2(0xBE,0xBE), o2(0xC8,0xC4), - UNDEF, -}; -static const BYTE_LOOKUP -to_EUC_JP_E6_9D = { - to_SHIFT_JIS_E6_9D_offsets, - to_EUC_JP_E6_9D_infos -}; - -static const struct byte_lookup* const -to_EUC_JP_E6_9E_infos[25] = { - o2(0xDB,0xC7), o2(0xC8,0xFA), o2(0xDB,0xBE), o2(0xDB,0xC4), - o2(0xDB,0xC3), o2(0xC0,0xCF), o2(0xCB,0xED), o2(0xCE,0xD3), - o2(0xCB,0xE7), o2(0xB2,0xCC), o2(0xBB,0xDE), o2(0xCF,0xC8), - o2(0xDB,0xC6), o2(0xBF,0xF5), o2(0xDB,0xC5), o2(0xDB,0xC0), - o2(0xB8,0xCF), o2(0xDB,0xCC), o2(0xDB,0xCA), o2(0xB2,0xCD), - o2(0xDB,0xC8), o2(0xDB,0xCE), o2(0xDB,0xD4), o2(0xFA,0xC8), - UNDEF, -}; -static const BYTE_LOOKUP -to_EUC_JP_E6_9E = { - to_SHIFT_JIS_E6_9E_offsets, - to_EUC_JP_E6_9E_infos -}; - -static const struct byte_lookup* const -to_EUC_JP_E6_9F_infos[30] = { - o2(0xFA,0xCA), o2(0xC2,0xC8), o2(0xCA,0xC1), o2(0xDB,0xD6), - o2(0xC9,0xA2), o2(0xDB,0xD5), o2(0xC7,0xF0), o2(0xCB,0xBF), - o2(0xB4,0xBB), o2(0xC0,0xF7), o2(0xBD,0xC0), o2(0xC4,0xD3), - o2(0xCD,0xAE), o2(0xDB,0xD1), o2(0xDB,0xD0), o2(0xDB,0xD2), - o2(0xDB,0xCF), o2(0xDB,0xD7), o2(0xDB,0xCD), o2(0xDB,0xCB), - o2(0xDB,0xD3), o2(0xDB,0xC9), o2(0xC3,0xEC), o2(0xCC,0xF8), - o2(0xBC,0xC6), o2(0xBA,0xF4), o2(0xBA,0xBA), o2(0xCB,0xEF), - o2(0xB3,0xC1), UNDEF, -}; -static const BYTE_LOOKUP -to_EUC_JP_E6_9F = { - to_SHIFT_JIS_E6_9F_offsets, - to_EUC_JP_E6_9F_infos -}; - -static const struct byte_lookup* const -to_EUC_JP_E6_A0_infos[20] = { - o2(0xFA,0xCB), o2(0xC4,0xCE), o2(0xC6,0xCA), o2(0xB1,0xC9), - o2(0xC0,0xF2), o2(0xC0,0xB4), o2(0xB7,0xAA), o2(0xDB,0xD9), - o2(0xB9,0xBB), o2(0xB3,0xFC), o2(0xDB,0xDB), o2(0xB3,0xF4), - o2(0xDB,0xE1), o2(0xDB,0xDE), o2(0xC0,0xF3), o2(0xB3,0xCB), - o2(0xBA,0xAC), o2(0xB3,0xCA), o2(0xBA,0xCF), UNDEF, -}; -static const BYTE_LOOKUP -to_EUC_JP_E6_A0 = { - to_SHIFT_JIS_E6_A0_offsets, - to_EUC_JP_E6_A0_infos -}; - -static const struct byte_lookup* const -to_EUC_JP_E6_A1_infos[26] = { - o2(0xDB,0xDC), o2(0xB7,0xE5), o2(0xB7,0xCB), o2(0xC5,0xED), - o2(0xFA,0xCC), o2(0xDB,0xDA), o2(0xB0,0xC6), o2(0xDB,0xDD), - o2(0xDB,0xDF), o2(0xB6,0xCD), o2(0xB7,0xAC), o2(0xFA,0xC9), - o2(0xB4,0xBC), o2(0xB5,0xCB), o2(0xDB,0xE2), o2(0xBA,0xF9), - o2(0xCB,0xF1), o2(0xBB,0xB7), o2(0xDB,0xE3), o2(0xC9,0xB0), - o2(0xDB,0xEF), o2(0xB2,0xB3), o2(0xDB,0xE4), o2(0xDB,0xF5), - o2(0xDB,0xE5), UNDEF, -}; -static const BYTE_LOOKUP -to_EUC_JP_E6_A1 = { - to_SHIFT_JIS_E6_A1_offsets, - to_EUC_JP_E6_A1_infos -}; - -static const struct byte_lookup* const -to_EUC_JP_E6_A2_infos[27] = { - o2(0xCE,0xC2), o2(0xDB,0xEC), o2(0xC7,0xDF), o2(0xDB,0xF4), - o2(0xDB,0xE7), o2(0xB0,0xB4), o2(0xDB,0xE9), o2(0xB9,0xBC), - o2(0xDB,0xEB), o2(0xDB,0xEA), o2(0xDB,0xE6), o2(0xDB,0xF1), - o2(0xBE,0xBF), o2(0xD4,0xED), o2(0xB8,0xE8), o2(0xCD,0xFC), - o2(0xDB,0xE8), o2(0xC4,0xF4), o2(0xB3,0xA3), o2(0xBA,0xAD), - o2(0xDB,0xE0), o2(0xDB,0xF0), o2(0xB3,0xE1), o2(0xDB,0xEE), - o2(0xDB,0xF2), o2(0xC5,0xEE), UNDEF, -}; -static const BYTE_LOOKUP -to_EUC_JP_E6_A2 = { - to_SHIFT_JIS_E6_A2_offsets, - to_EUC_JP_E6_A2_infos -}; - -static const struct byte_lookup* const -to_EUC_JP_E6_A3_infos[25] = { - o2(0xB4,0xFE), o2(0xDC,0xB2), o2(0xF9,0xA9), o2(0xCC,0xC9), - o2(0xDB,0xF7), o2(0xB4,0xFD), o2(0xDB,0xFE), o2(0xFA,0xCD), - o2(0xCB,0xC0), o2(0xDC,0xA1), o2(0xDC,0xA3), o2(0xDC,0xA7), - o2(0xDB,0xF9), o2(0xC3,0xAA), o2(0xC5,0xEF), o2(0xDC,0xAB), - o2(0xDB,0xFC), o2(0xDC,0xA8), o2(0xDC,0xA2), o2(0xBF,0xB9), - o2(0xDC,0xAC), o2(0xC0,0xB3), o2(0xDC,0xAA), o2(0xB4,0xBD), - UNDEF, -}; -static const BYTE_LOOKUP -to_EUC_JP_E6_A3 = { - to_SHIFT_JIS_E6_A3_offsets, - to_EUC_JP_E6_A3_infos -}; - -static const struct byte_lookup* const -to_EUC_JP_E6_A4_infos[29] = { - o2(0xCF,0xD0), o2(0xDB,0xF6), o2(0xDC,0xA6), o2(0xB0,0xD8), - o2(0xDB,0xF8), o2(0xCC,0xBA), o2(0xDB,0xFD), o2(0xBF,0xA2), - o2(0xC4,0xC7), o2(0xDB,0xF3), o2(0xDC,0xA5), o2(0xBF,0xFA), - o2(0xDC,0xAF), o2(0xB3,0xF1), o2(0xB8,0xA1), o2(0xDC,0xB1), - o2(0xDB,0xFA), o2(0xDC,0xB0), o2(0xDC,0xA9), o2(0xDB,0xFB), - o2(0xDC,0xAD), o2(0xDC,0xAE), o2(0xDC,0xBF), o2(0xC6,0xCE), - o2(0xDC,0xA4), o2(0xDC,0xBB), o2(0xDC,0xBD), o2(0xC4,0xD8), - UNDEF, -}; -static const BYTE_LOOKUP -to_EUC_JP_E6_A4 = { - to_SHIFT_JIS_E6_A4_offsets, - to_EUC_JP_E6_A4_infos -}; - -static const struct byte_lookup* const -to_EUC_JP_E6_A5_infos[28] = { - o2(0xCD,0xCC), o2(0xC9,0xF6), o2(0xDC,0xB8), o2(0xC2,0xCA), - o2(0xDC,0xBE), o2(0xC1,0xBF), o2(0xDC,0xB5), o2(0xDC,0xC2), - o2(0xDC,0xC1), o2(0xC6,0xEF), o2(0xDC,0xC0), o2(0xC6,0xEA), - o2(0xFA,0xCF), o2(0xDC,0xC4), o2(0xDC,0xB7), o2(0xB6,0xC8), - o2(0xDC,0xBA), o2(0xBD,0xDD), o2(0xC7,0xE0), o2(0xDC,0xBC), - o2(0xB6,0xCB), o2(0xDC,0xB4), o2(0xDC,0xB6), o2(0xDC,0xB3), - o2(0xCF,0xB0), o2(0xB3,0xDA), o2(0xDC,0xB9), UNDEF, -}; -static const BYTE_LOOKUP -to_EUC_JP_E6_A5 = { - to_SHIFT_JIS_E6_A5_offsets, - to_EUC_JP_E6_A5_infos -}; - -static const struct byte_lookup* const -to_EUC_JP_E6_A6_infos[20] = { - o2(0xDC,0xC3), o2(0xB3,0xB5), o2(0xBA,0xE7), o2(0xB1,0xDD), - o2(0xDC,0xD4), o2(0xCF,0xB1), o2(0xDC,0xD7), o2(0xFA,0xD1), - o2(0xBF,0xBA), o2(0xDC,0xD6), o2(0xDC,0xD5), o2(0xDC,0xD2), - o2(0xDC,0xC6), o2(0xDC,0xE3), o2(0xDC,0xC5), o2(0xDC,0xD8), - o2(0xDC,0xD0), o2(0xDC,0xCB), o2(0xDC,0xC8), UNDEF, -}; -static const BYTE_LOOKUP -to_EUC_JP_E6_A6 = { - to_SHIFT_JIS_E6_A6_offsets, - to_EUC_JP_E6_A6_infos -}; - -static const struct byte_lookup* const -to_EUC_JP_E6_A7_infos[25] = { - o2(0xDC,0xC9), o2(0xDC,0xD1), o2(0xF4,0xA2), o2(0xDC,0xCE), - o2(0xB9,0xBD), o2(0xC4,0xC8), o2(0xC1,0xE4), o2(0xDC,0xCC), - o2(0xDC,0xC7), o2(0xDC,0xCA), o2(0xCD,0xCD), o2(0xCB,0xEA), - o2(0xDC,0xCF), o2(0xDC,0xD9), o2(0xFA,0xD2), o2(0xDC,0xE1), - o2(0xDC,0xDA), o2(0xDC,0xE7), o2(0xDC,0xE5), o2(0xDC,0xE0), - o2(0xDC,0xDF), o2(0xC4,0xD0), o2(0xC1,0xE5), o2(0xDC,0xDD), - UNDEF, -}; -static const BYTE_LOOKUP -to_EUC_JP_E6_A7 = { - to_SHIFT_JIS_E6_A7_offsets, - to_EUC_JP_E6_A7_infos -}; - -static const struct byte_lookup* const -to_EUC_JP_E6_A8_infos[28] = { - o2(0xDC,0xDB), o2(0xDC,0xE2), o2(0xDC,0xE8), o2(0xC8,0xF5), - o2(0xDC,0xEE), o2(0xDC,0xE9), o2(0xDC,0xEC), o2(0xDC,0xE6), - o2(0xC3,0xF4), o2(0xC9,0xB8), o2(0xDC,0xDC), o2(0xDC,0xE4), - o2(0xBE,0xC0), o2(0xCC,0xCF), o2(0xDC,0xF8), o2(0xDC,0xEB), - o2(0xB8,0xA2), o2(0xB2,0xA3), o2(0xB3,0xDF), o2(0xDC,0xD3), - o2(0xFA,0xD3), o2(0xBE,0xC1), o2(0xDC,0xF0), o2(0xDC,0xF7), - o2(0xBC,0xF9), o2(0xB3,0xF2), o2(0xC3,0xAE), UNDEF, -}; -static const BYTE_LOOKUP -to_EUC_JP_E6_A8 = { - to_SHIFT_JIS_E6_A8_offsets, - to_EUC_JP_E6_A8_infos -}; - -static const struct byte_lookup* const -to_EUC_JP_E6_A9_infos[18] = { - o2(0xDC,0xED), o2(0xFA,0xD5), o2(0xDC,0xF2), o2(0xDC,0xF6), - o2(0xB6,0xB6), o2(0xB5,0xCC), o2(0xDC,0xF4), o2(0xB5,0xA1), - o2(0xC6,0xCB), o2(0xDC,0xF3), o2(0xDC,0xF5), o2(0xFA,0xD4), - o2(0xDC,0xEF), o2(0xFA,0xD6), o2(0xDC,0xF1), o2(0xFA,0xD7), - o2(0xB3,0xE0), UNDEF, -}; -static const BYTE_LOOKUP -to_EUC_JP_E6_A9 = { - to_SHIFT_JIS_E6_A9_offsets, - to_EUC_JP_E6_A9_infos -}; - -static const struct byte_lookup* const -to_EUC_JP_E6_AA_infos[17] = { - o2(0xC3,0xC9), o2(0xDC,0xFC), o2(0xDC,0xFA), o2(0xB8,0xE9), - o2(0xDC,0xF9), o2(0xDD,0xA1), o2(0xDB,0xD8), o2(0xDC,0xFB), - o2(0xDC,0xFD), o2(0xDC,0xFE), o2(0xDD,0xAC), o2(0xDD,0xA8), - o2(0xDB,0xED), o2(0xDD,0xA7), o2(0xDD,0xA6), o2(0xDD,0xA3), - UNDEF, -}; -static const BYTE_LOOKUP -to_EUC_JP_E6_AA = { - to_SHIFT_JIS_E6_AA_offsets, - to_EUC_JP_E6_AA_infos -}; - -static const struct byte_lookup* const -to_EUC_JP_E6_AB_infos[16] = { - o2(0xDC,0xEA), o2(0xDD,0xA5), o2(0xDD,0xA4), o2(0xDD,0xAA), - o2(0xCF,0xA6), o2(0xDD,0xAD), o2(0xB6,0xFB), o2(0xDD,0xA9), - o2(0xDD,0xAB), o2(0xFA,0xD8), o2(0xFA,0xD9), o2(0xC8,0xA7), - o2(0xDD,0xAE), o2(0xDD,0xB2), o2(0xDD,0xAF), UNDEF, -}; -static const BYTE_LOOKUP -to_EUC_JP_E6_AB = { - to_SHIFT_JIS_E6_AB_offsets, - to_EUC_JP_E6_AB_infos -}; - -static const struct byte_lookup* const -to_EUC_JP_E6_AC_infos[19] = { - o2(0xCD,0xF3), o2(0xDD,0xB0), o2(0xDC,0xDE), o2(0xDD,0xB3), - o2(0xDD,0xB4), o2(0xB1,0xB5), o2(0xDD,0xB6), o2(0xB7,0xE7), - o2(0xBC,0xA1), o2(0xB6,0xD5), o2(0xB2,0xA4), o2(0xCD,0xDF), - o2(0xDD,0xB8), o2(0xDD,0xB7), o2(0xDD,0xBA), o2(0xB5,0xBD), - o2(0xB6,0xD6), o2(0xB4,0xBE), UNDEF, -}; -static const BYTE_LOOKUP -to_EUC_JP_E6_AC = { - to_SHIFT_JIS_E6_AC_offsets, - to_EUC_JP_E6_AC_infos -}; - -static const struct byte_lookup* const -to_EUC_JP_E6_AD_infos[26] = { - o2(0xDD,0xBD), o2(0xDD,0xBC), o2(0xDD,0xBE), o2(0xB2,0xCE), - o2(0xC3,0xB7), o2(0xDD,0xBF), o2(0xB4,0xBF), o2(0xDD,0xC1), - o2(0xDD,0xC0), o2(0xDD,0xC2), o2(0xDD,0xC3), o2(0xDD,0xC4), - o2(0xBB,0xDF), o2(0xC0,0xB5), o2(0xBA,0xA1), o2(0xC9,0xF0), - o2(0xCA,0xE2), o2(0xCF,0xC4), o2(0xBB,0xF5), o2(0xBA,0xD0), - o2(0xCE,0xF2), o2(0xDD,0xC5), o2(0xDD,0xC6), o2(0xBB,0xE0), - o2(0xDD,0xC7), UNDEF, -}; -static const BYTE_LOOKUP -to_EUC_JP_E6_AD = { - to_SHIFT_JIS_E6_AD_offsets, - to_EUC_JP_E6_AD_infos -}; - -static const struct byte_lookup* const -to_EUC_JP_E6_AE_infos[27] = { - o2(0xDD,0xC8), o2(0xDD,0xCA), o2(0xDD,0xC9), o2(0xCB,0xD8), - o2(0xBD,0xDE), o2(0xBC,0xEC), o2(0xBB,0xC4), o2(0xDD,0xCB), - o2(0xDD,0xCD), o2(0xBF,0xA3), o2(0xDD,0xCC), o2(0xDD,0xCE), - o2(0xDD,0xCF), o2(0xDD,0xD0), o2(0xDD,0xD1), o2(0xDD,0xD2), - o2(0xDD,0xD4), o2(0xDD,0xD3), o2(0xDD,0xD5), o2(0xB2,0xA5), - o2(0xC3,0xCA), o2(0xDD,0xD6), o2(0xBB,0xA6), o2(0xB3,0xCC), - o2(0xDD,0xD7), o2(0xC5,0xC2), UNDEF, -}; -static const BYTE_LOOKUP -to_EUC_JP_E6_AE = { - to_SHIFT_JIS_E6_AE_offsets, - to_EUC_JP_E6_AE_infos -}; - -static const struct byte_lookup* const -to_EUC_JP_E6_AF_infos[18] = { - o2(0xD4,0xCC), o2(0xB5,0xA3), o2(0xDD,0xD8), o2(0xDD,0xD9), - o2(0xCA,0xEC), o2(0xCB,0xE8), o2(0xC6,0xC7), o2(0xDD,0xDA), - o2(0xC8,0xE6), o2(0xFA,0xDA), o2(0xC8,0xFB), o2(0xCC,0xD3), - o2(0xDD,0xDB), o2(0xDD,0xDD), o2(0xDD,0xDC), o2(0xDD,0xDF), - o2(0xDD,0xDE), UNDEF, -}; -static const BYTE_LOOKUP -to_EUC_JP_E6_AF = { - to_SHIFT_JIS_E6_AF_offsets, - to_EUC_JP_E6_AF_infos -}; - -static const struct byte_lookup* const -to_EUC_JP_E6_B0_infos[15] = { - o2(0xDD,0xE1), o2(0xBB,0xE1), o2(0xCC,0xB1), o2(0xDD,0xE2), - o2(0xDD,0xE3), o2(0xB5,0xA4), o2(0xDD,0xE4), o2(0xDD,0xE6), - o2(0xDD,0xE5), o2(0xBF,0xE5), o2(0xC9,0xB9), o2(0xB1,0xCA), - o2(0xC8,0xC5), o2(0xFA,0xDB), UNDEF, -}; -static const BYTE_LOOKUP -to_EUC_JP_E6_B0 = { - to_SHIFT_JIS_E6_B0_offsets, - to_EUC_JP_E6_B0_infos -}; - -static const struct byte_lookup* const -to_EUC_JP_E6_B1_infos[24] = { - o2(0xC4,0xF5), o2(0xBD,0xC1), o2(0xB5,0xE1), o2(0xC8,0xC6), - o2(0xBC,0xAE), o2(0xDD,0xE8), o2(0xB4,0xC0), o2(0xB1,0xF8), - o2(0xFA,0xDC), o2(0xC6,0xF2), o2(0xDD,0xE7), o2(0xB9,0xBE), - o2(0xC3,0xD3), o2(0xDD,0xE9), o2(0xDD,0xF1), o2(0xDD,0xEA), - o2(0xFA,0xDE), o2(0xC2,0xC1), o2(0xB5,0xE2), o2(0xDD,0xF2), - o2(0xB7,0xE8), o2(0xB5,0xA5), o2(0xDD,0xF0), UNDEF, -}; -static const BYTE_LOOKUP -to_EUC_JP_E6_B1 = { - to_SHIFT_JIS_E6_B1_offsets, - to_EUC_JP_E6_B1_infos -}; - -static const struct byte_lookup* const -to_EUC_JP_E6_B2_infos[29] = { - o2(0xDD,0xEE), o2(0xDD,0xEB), o2(0xCD,0xE0), o2(0xFA,0xDD), - o2(0xC4,0xC0), o2(0xC6,0xD9), o2(0xDD,0xEC), o2(0xDD,0xF4), - o2(0xDD,0xF3), o2(0xB7,0xA3), o2(0xB2,0xAD), o2(0xBA,0xBB), - o2(0xDD,0xED), o2(0xDD,0xEF), o2(0xCB,0xD7), o2(0xC2,0xF4), - o2(0xCB,0xF7), o2(0xDD,0xFC), o2(0xDD,0xFD), o2(0xB2,0xCF), - o2(0xCA,0xA8), o2(0xCC,0xFD), o2(0xDE,0xA1), o2(0xBC,0xA3), - o2(0xBE,0xC2), o2(0xDD,0xF8), o2(0xDD,0xFE), o2(0xB1,0xE8), - UNDEF, -}; -static const BYTE_LOOKUP -to_EUC_JP_E6_B2 = { - to_SHIFT_JIS_E6_B2_offsets, - to_EUC_JP_E6_B2_infos -}; - -static const struct byte_lookup* const -to_EUC_JP_E6_B3_infos[24] = { - o2(0xB6,0xB7), o2(0xDD,0xF5), o2(0xDD,0xFA), o2(0xC0,0xF4), - o2(0xC7,0xF1), o2(0xC8,0xE7), o2(0xDD,0xF7), o2(0xCB,0xA1), - o2(0xDD,0xF9), o2(0xDE,0xA4), o2(0xFA,0xDF), o2(0xDE,0xA2), - o2(0xDD,0xFB), o2(0xCB,0xA2), o2(0xC7,0xC8), o2(0xB5,0xE3), - o2(0xC5,0xA5), o2(0xC3,0xED), o2(0xDE,0xA5), o2(0xDE,0xA3), - o2(0xC2,0xD9), o2(0xDD,0xF6), o2(0xB1,0xCB), UNDEF, -}; -static const BYTE_LOOKUP -to_EUC_JP_E6_B3 = { - to_SHIFT_JIS_E6_B3_offsets, - to_EUC_JP_E6_B3_infos -}; - -static const struct byte_lookup* const -to_EUC_JP_E6_B4_infos[22] = { - o2(0xFA,0xE0), o2(0xCD,0xCE), o2(0xDE,0xB0), o2(0xDE,0xAF), - o2(0xC0,0xF6), o2(0xDE,0xAC), o2(0xCD,0xEC), o2(0xC6,0xB6), - o2(0xDE,0xA6), o2(0xC4,0xC5), o2(0xB1,0xCC), o2(0xB9,0xBF), - o2(0xDE,0xA9), o2(0xBD,0xA7), o2(0xDE,0xAE), o2(0xDE,0xAD), - o2(0xDE,0xA8), o2(0xDE,0xAB), o2(0xB3,0xE8), o2(0xDE,0xAA), - o2(0xC7,0xC9), UNDEF, -}; -static const BYTE_LOOKUP -to_EUC_JP_E6_B4 = { - to_SHIFT_JIS_E6_B4_offsets, - to_EUC_JP_E6_B4_infos -}; - -static const struct byte_lookup* const -to_EUC_JP_E6_B5_infos[19] = { - o2(0xCE,0xAE), o2(0xBE,0xF4), o2(0xC0,0xF5), o2(0xDE,0xB6), - o2(0xDE,0xB4), o2(0xC9,0xCD), o2(0xDE,0xB1), o2(0xDE,0xB3), - o2(0xB1,0xBA), o2(0xB9,0xC0), o2(0xCF,0xB2), o2(0xB3,0xBD), - o2(0xC9,0xE2), o2(0xFA,0xE2), o2(0xCD,0xE1), o2(0xB3,0xA4), - o2(0xBF,0xBB), o2(0xDE,0xB5), UNDEF, -}; -static const BYTE_LOOKUP -to_EUC_JP_E6_B5 = { - to_SHIFT_JIS_E6_B5_offsets, - to_EUC_JP_E6_B5_infos -}; - -static const struct byte_lookup* const -to_EUC_JP_E6_B6_infos[18] = { - o2(0xDE,0xBA), o2(0xFA,0xE1), o2(0xBE,0xC3), o2(0xCD,0xB0), - o2(0xDE,0xB7), o2(0xDE,0xB2), o2(0xDE,0xB8), o2(0xFA,0xE3), - o2(0xCE,0xDE), o2(0xC5,0xF3), o2(0xC6,0xC2), o2(0xFA,0xE4), - o2(0xB3,0xB6), o2(0xB1,0xD5), o2(0xDE,0xBE), o2(0xDE,0xC1), - o2(0xCE,0xC3), UNDEF, -}; -static const BYTE_LOOKUP -to_EUC_JP_E6_B6 = { - to_SHIFT_JIS_E6_B6_offsets, - to_EUC_JP_E6_B6_infos -}; - -static const struct byte_lookup* const -to_EUC_JP_E6_B7_infos[32] = { - o2(0xCD,0xE4), o2(0xDE,0xC8), o2(0xDE,0xC2), o2(0xDE,0xBF), - o2(0xCE,0xD4), o2(0xDE,0xC5), o2(0xFA,0xE5), o2(0xBD,0xCA), - o2(0xDE,0xC7), o2(0xDE,0xCC), o2(0xC5,0xF1), o2(0xDE,0xCA), - o2(0xDE,0xC4), o2(0xC3,0xB8), o2(0xDE,0xCB), o2(0xDE,0xC0), - o2(0xDE,0xC6), o2(0xDE,0xCD), o2(0xB0,0xFC), o2(0xDE,0xC3), - o2(0xDE,0xCE), o2(0xBF,0xBC), o2(0xFA,0xE7), o2(0xBD,0xDF), - o2(0xCA,0xA5), o2(0xBA,0xAE), o2(0xFA,0xE6), o2(0xDE,0xBB), - o2(0xDE,0xC9), o2(0xC5,0xBA), o2(0xFA,0xE8), UNDEF, -}; -static const BYTE_LOOKUP -to_EUC_JP_E6_B7 = { - to_SHIFT_JIS_E6_B7_offsets, - to_EUC_JP_E6_B7_infos -}; - -static const struct byte_lookup* const -to_EUC_JP_E6_B8_infos[32] = { - o2(0xC0,0xB6), o2(0xB3,0xE9), o2(0xBA,0xD1), o2(0xBE,0xC4), - o2(0xDE,0xBD), o2(0xBD,0xC2), o2(0xB7,0xCC), o2(0xDE,0xBC), - o2(0xDE,0xD2), o2(0xBD,0xED), o2(0xB8,0xBA), o2(0xDE,0xE1), - o2(0xDE,0xDB), o2(0xB5,0xF4), o2(0xC5,0xCF), o2(0xDE,0xD6), - o2(0xDE,0xDF), o2(0xB0,0xAF), o2(0xB1,0xB2), o2(0xFA,0xEB), - o2(0xB2,0xB9), o2(0xDE,0xD8), o2(0xC2,0xAC), o2(0xDE,0xCF), - o2(0xDE,0xD1), o2(0xB9,0xC1), o2(0xDE,0xE2), o2(0xFA,0xE9), - o2(0xDE,0xDD), o2(0xFA,0xEC), o2(0xDE,0xD5), UNDEF, -}; -static const BYTE_LOOKUP -to_EUC_JP_E6_B8 = { - to_SHIFT_JIS_E6_B8_offsets, - to_EUC_JP_E6_B8_infos -}; - -static const struct byte_lookup* const -to_EUC_JP_E6_B9_infos[18] = { - o2(0xDE,0xDC), o2(0xCC,0xAB), o2(0xDE,0xDA), o2(0xDE,0xDE), - o2(0xB8,0xD0), o2(0xBE,0xC5), o2(0xC3,0xB9), o2(0xFA,0xEA), - o2(0xDE,0xD4), o2(0xCD,0xAF), o2(0xDE,0xD7), o2(0xDE,0xD0), - o2(0xC5,0xF2), o2(0xDE,0xD3), o2(0xDE,0xD9), o2(0xCF,0xD1), - o2(0xBC,0xBE), UNDEF, -}; -static const BYTE_LOOKUP -to_EUC_JP_E6_B9 = { - to_SHIFT_JIS_E6_B9_offsets, - to_EUC_JP_E6_B9_infos -}; - -static const struct byte_lookup* const -to_EUC_JP_E6_BA_infos[21] = { - o2(0xCB,0xFE), o2(0xDE,0xE3), o2(0xC8,0xAE), o2(0xDE,0xEF), - o2(0xB8,0xBB), o2(0xBD,0xE0), o2(0xDE,0xE5), o2(0xCE,0xAF), - o2(0xB9,0xC2), o2(0xDE,0xF2), o2(0xB0,0xEE), o2(0xDE,0xF0), - o2(0xDE,0xE4), o2(0xDE,0xEA), o2(0xDE,0xEC), o2(0xCD,0xCF), - o2(0xDE,0xE7), o2(0xC5,0xAE), o2(0xDE,0xE9), o2(0xFA,0xED), - UNDEF, -}; -static const BYTE_LOOKUP -to_EUC_JP_E6_BA = { - to_SHIFT_JIS_E6_BA_offsets, - to_EUC_JP_E6_BA_infos -}; - -static const struct byte_lookup* const -to_EUC_JP_E6_BB_infos[21] = { - o2(0xDE,0xF1), o2(0xDE,0xEB), o2(0xCC,0xC7), o2(0xDE,0xE6), - o2(0xBC,0xA2), o2(0xDE,0xFE), o2(0xB3,0xEA), o2(0xDE,0xE8), - o2(0xDE,0xED), o2(0xDE,0xEE), o2(0xC2,0xEC), o2(0xC2,0xDA), - o2(0xDE,0xF6), o2(0xDE,0xFC), o2(0xDE,0xFA), o2(0xC5,0xA9), - o2(0xDF,0xA3), o2(0xDE,0xF7), o2(0xDE,0xF8), o2(0xDE,0xE0), - UNDEF, -}; -static const BYTE_LOOKUP -to_EUC_JP_E6_BB = { - to_SHIFT_JIS_E6_BB_offsets, - to_EUC_JP_E6_BB_infos -}; - -static const struct byte_lookup* const -to_EUC_JP_E6_BC_infos[20] = { - o2(0xB5,0xF9), o2(0xC9,0xBA), o2(0xBC,0xBF), o2(0xB9,0xF7), - o2(0xCF,0xB3), o2(0xDE,0xF4), o2(0xDF,0xA2), o2(0xB1,0xE9), - o2(0xC1,0xE6), o2(0xC7,0xF9), o2(0xB4,0xC1), o2(0xCE,0xFA), - o2(0xCC,0xA1), o2(0xC4,0xD2), o2(0xDE,0xFB), o2(0xDE,0xFD), - o2(0xC1,0xB2), o2(0xDF,0xA1), o2(0xDE,0xF9), UNDEF, -}; -static const BYTE_LOOKUP -to_EUC_JP_E6_BC = { - to_SHIFT_JIS_E6_BC_offsets, - to_EUC_JP_E6_BC_infos -}; - -static const struct byte_lookup* const -to_EUC_JP_E6_BD_infos[18] = { - o2(0xDE,0xF3), o2(0xB4,0xC3), o2(0xB7,0xE9), o2(0xDF,0xAF), - o2(0xDF,0xAA), o2(0xC0,0xF8), o2(0xB3,0xE3), o2(0xBD,0xE1), - o2(0xDF,0xB3), o2(0xDF,0xAC), o2(0xC4,0xAC), o2(0xDF,0xA9), - o2(0xC4,0xD9), o2(0xDF,0xCC), o2(0xDF,0xA6), o2(0xDF,0xA5), - o2(0xDF,0xAE), UNDEF, -}; -static const BYTE_LOOKUP -to_EUC_JP_E6_BD = { - to_SHIFT_JIS_E6_BD_offsets, - to_EUC_JP_E6_BD_infos -}; - -static const struct byte_lookup* const -to_EUC_JP_E6_BE_infos[18] = { - o2(0xDF,0xA8), o2(0xDF,0xA7), o2(0xDF,0xAD), o2(0xC0,0xA1), - o2(0xDF,0xA4), o2(0xFA,0xEE), o2(0xDF,0xB0), o2(0xDF,0xB1), - o2(0xB4,0xC2), o2(0xDF,0xB6), o2(0xDF,0xB5), o2(0xDF,0xB7), - o2(0xDF,0xBA), o2(0xC5,0xC3), o2(0xDF,0xB4), o2(0xFA,0xEF), - o2(0xDF,0xB8), UNDEF, -}; -static const BYTE_LOOKUP -to_EUC_JP_E6_BE = { - to_SHIFT_JIS_E6_BE_offsets, - to_EUC_JP_E6_BE_infos -}; - -static const struct byte_lookup* const -to_EUC_JP_E6_BF_infos[24] = { - o2(0xB7,0xE3), o2(0xC2,0xF9), o2(0xDF,0xB2), o2(0xC7,0xBB), - o2(0xDF,0xB9), o2(0xDF,0xBE), o2(0xDF,0xBC), o2(0xDF,0xBF), - o2(0xDF,0xC2), o2(0xDF,0xBB), o2(0xB9,0xEA), o2(0xC7,0xA8), - o2(0xDE,0xB9), o2(0xCD,0xF4), o2(0xDF,0xBD), o2(0xDF,0xC1), - o2(0xC2,0xF5), o2(0xDF,0xC0), o2(0xDF,0xAB), o2(0xFA,0xF0), - o2(0xEF,0xE9), o2(0xDF,0xC5), o2(0xDF,0xC9), UNDEF, -}; -static const BYTE_LOOKUP -to_EUC_JP_E6_BF = { - to_SHIFT_JIS_E6_BF_offsets, - to_EUC_JP_E6_BF_infos -}; - -static const struct byte_lookup* const -to_EUC_JP_E6_infos[64] = { - &to_EUC_JP_E6_80, &to_EUC_JP_E6_81, &to_EUC_JP_E6_82, &to_EUC_JP_E6_83, - &to_EUC_JP_E6_84, &to_EUC_JP_E6_85, &to_EUC_JP_E6_86, &to_EUC_JP_E6_87, - &to_EUC_JP_E6_88, &to_EUC_JP_E6_89, &to_EUC_JP_E6_8A, &to_EUC_JP_E6_8B, - &to_EUC_JP_E6_8C, &to_EUC_JP_E6_8D, &to_EUC_JP_E6_8E, &to_EUC_JP_E6_8F, - &to_EUC_JP_E6_90, &to_EUC_JP_E6_91, &to_EUC_JP_E6_92, &to_EUC_JP_E6_93, - &to_EUC_JP_E6_94, &to_EUC_JP_E6_95, &to_EUC_JP_E6_96, &to_EUC_JP_E6_97, - &to_EUC_JP_E6_98, &to_EUC_JP_E6_99, &to_EUC_JP_E6_9A, &to_EUC_JP_E6_9B, - &to_EUC_JP_E6_9C, &to_EUC_JP_E6_9D, &to_EUC_JP_E6_9E, &to_EUC_JP_E6_9F, - &to_EUC_JP_E6_A0, &to_EUC_JP_E6_A1, &to_EUC_JP_E6_A2, &to_EUC_JP_E6_A3, - &to_EUC_JP_E6_A4, &to_EUC_JP_E6_A5, &to_EUC_JP_E6_A6, &to_EUC_JP_E6_A7, - &to_EUC_JP_E6_A8, &to_EUC_JP_E6_A9, &to_EUC_JP_E6_AA, &to_EUC_JP_E6_AB, - &to_EUC_JP_E6_AC, &to_EUC_JP_E6_AD, &to_EUC_JP_E6_AE, &to_EUC_JP_E6_AF, - &to_EUC_JP_E6_B0, &to_EUC_JP_E6_B1, &to_EUC_JP_E6_B2, &to_EUC_JP_E6_B3, - &to_EUC_JP_E6_B4, &to_EUC_JP_E6_B5, &to_EUC_JP_E6_B6, &to_EUC_JP_E6_B7, - &to_EUC_JP_E6_B8, &to_EUC_JP_E6_B9, &to_EUC_JP_E6_BA, &to_EUC_JP_E6_BB, - &to_EUC_JP_E6_BC, &to_EUC_JP_E6_BD, &to_EUC_JP_E6_BE, &to_EUC_JP_E6_BF, -}; -static const BYTE_LOOKUP -to_EUC_JP_E6 = { - to_SHIFT_JIS_E5_offsets, - to_EUC_JP_E6_infos -}; - -static const struct byte_lookup* const -to_EUC_JP_E7_80_infos[22] = { - o2(0xDF,0xC7), o2(0xFA,0xF1), o2(0xFA,0xF2), o2(0xDF,0xC3), - o2(0xDF,0xC4), o2(0xDF,0xC8), o2(0xDF,0xC6), o2(0xC9,0xCE), - o2(0xDF,0xCE), o2(0xDF,0xCB), o2(0xDF,0xCA), o2(0xDF,0xCD), - o2(0xC6,0xD4), o2(0xDF,0xCF), o2(0xC3,0xF5), o2(0xC2,0xED), - o2(0xFA,0xF3), o2(0xC0,0xA5), o2(0xDF,0xD0), o2(0xDF,0xD2), - o2(0xDF,0xD1), UNDEF, -}; -static const BYTE_LOOKUP -to_EUC_JP_E7_80 = { - to_SHIFT_JIS_E7_80_offsets, - to_EUC_JP_E7_80_infos -}; - -static const struct byte_lookup* const -to_EUC_JP_E7_81_infos[11] = { - o2(0xDE,0xF5), o2(0xDF,0xD3), o2(0xC6,0xE7), o2(0xDF,0xD4), - o2(0xB2,0xD0), o2(0xC5,0xF4), o2(0xB3,0xA5), o2(0xB5,0xE4), - o2(0xBC,0xDE), o2(0xBA,0xD2), UNDEF, -}; -static const BYTE_LOOKUP -to_EUC_JP_E7_81 = { - to_SHIFT_JIS_E7_81_offsets, - to_EUC_JP_E7_81_infos -}; - -static const struct byte_lookup* const -to_EUC_JP_E7_82_infos[17] = { - o2(0xFA,0xF4), o2(0xCF,0xA7), o2(0xBF,0xE6), o2(0xB1,0xEA), - o2(0xDF,0xD6), o2(0xDF,0xD5), o2(0xFA,0xF5), o2(0xDF,0xD9), - o2(0xC3,0xBA), o2(0xDF,0xDC), o2(0xDF,0xD7), o2(0xDF,0xDB), - o2(0xDF,0xDA), o2(0xC5,0xC0), o2(0xB0,0xD9), o2(0xF9,0xA7), - UNDEF, -}; -static const BYTE_LOOKUP -to_EUC_JP_E7_82 = { - to_SHIFT_JIS_E7_82_offsets, - to_EUC_JP_E7_82_infos -}; - -static const struct byte_lookup* const -to_EUC_JP_E7_83_infos[10] = { - o2(0xCE,0xF5), o2(0xDF,0xDE), o2(0xB1,0xA8), o2(0xDF,0xE0), - o2(0xDF,0xDF), o2(0xDF,0xDD), o2(0xDF,0xD8), o2(0xCB,0xA3), - o2(0xDF,0xE2), UNDEF, -}; -static const BYTE_LOOKUP -to_EUC_JP_E7_83 = { - to_SHIFT_JIS_E7_83_offsets, - to_EUC_JP_E7_83_infos -}; - -static const struct byte_lookup* const -to_EUC_JP_E7_84_infos[12] = { - o2(0xFA,0xF7), o2(0xDF,0xE1), o2(0xFA,0xF6), o2(0xB1,0xEB), - o2(0xDF,0xE4), o2(0xCA,0xB2), o2(0xDF,0xE3), o2(0xCC,0xB5), - o2(0xBE,0xC7), o2(0xC1,0xB3), o2(0xBE,0xC6), UNDEF, -}; -static const BYTE_LOOKUP -to_EUC_JP_E7_84 = { - to_SHIFT_JIS_E7_84_offsets, - to_EUC_JP_E7_84_infos -}; - -static const struct byte_lookup* const -to_EUC_JP_E7_85_infos[19] = { - o2(0xFA,0xF9), o2(0xFA,0xFA), o2(0xCE,0xFB), o2(0xDF,0xEA), - o2(0xC0,0xF9), o2(0xDF,0xE6), o2(0xDF,0xEB), o2(0xB1,0xEC), - o2(0xFA,0xF8), o2(0xDF,0xE9), o2(0xC7,0xE1), o2(0xDF,0xE5), - o2(0xDF,0xE8), o2(0xBE,0xC8), o2(0xC8,0xD1), o2(0xDF,0xEC), - o2(0xBC,0xD1), o2(0xC0,0xFA), UNDEF, -}; -static const BYTE_LOOKUP -to_EUC_JP_E7_85 = { - to_SHIFT_JIS_E7_85_offsets, - to_EUC_JP_E7_85_infos -}; - -static const struct byte_lookup* const -to_EUC_JP_E7_86_infos[14] = { - o2(0xDF,0xEF), o2(0xDF,0xE7), o2(0xB7,0xA7), o2(0xDF,0xED), - o2(0xCD,0xD0), o2(0xDF,0xF0), o2(0xF4,0xA6), o2(0xBD,0xCF), - o2(0xDF,0xF1), o2(0xDF,0xF2), o2(0xC7,0xAE), o2(0xDF,0xF4), - o2(0xDF,0xF5), UNDEF, -}; -static const BYTE_LOOKUP -to_EUC_JP_E7_86 = { - to_SHIFT_JIS_E7_86_offsets, - to_EUC_JP_E7_86_infos -}; - -static const struct byte_lookup* const -to_EUC_JP_E7_87_infos[25] = { - o2(0xFA,0xFC), o2(0xC7,0xB3), o2(0xC5,0xF5), o2(0xDF,0xF7), - o2(0xDF,0xF9), o2(0xCE,0xD5), o2(0xDF,0xF6), o2(0xDF,0xF8), - o2(0xB1,0xED), o2(0xDF,0xF3), o2(0xD3,0xDB), o2(0xDF,0xFA), - o2(0xC1,0xE7), o2(0xBB,0xB8), o2(0xDF,0xFC), o2(0xDF,0xFB), - o2(0xBF,0xA4), o2(0xD2,0xD9), o2(0xDF,0xFD), o2(0xE0,0xA1), - o2(0xDF,0xEE), o2(0xDF,0xFE), o2(0xFA,0xFD), o2(0xE0,0xA2), - UNDEF, -}; -static const BYTE_LOOKUP -to_EUC_JP_E7_87 = { - to_SHIFT_JIS_E7_87_offsets, - to_EUC_JP_E7_87_infos -}; - -static const struct byte_lookup* const -to_EUC_JP_E7_88_infos[19] = { - o2(0xC7,0xFA), o2(0xE0,0xA3), o2(0xE0,0xA4), o2(0xE0,0xA5), - o2(0xE0,0xA6), o2(0xC4,0xDE), o2(0xE0,0xA8), o2(0xE0,0xA7), - o2(0xE0,0xA9), o2(0xE0,0xAA), o2(0xBC,0xDF), o2(0xC9,0xE3), - o2(0xCC,0xEC), o2(0xE0,0xAB), o2(0xE0,0xAC), o2(0xC1,0xD6), - o2(0xBC,0xA4), o2(0xE0,0xAD), UNDEF, -}; -static const BYTE_LOOKUP -to_EUC_JP_E7_88 = { - to_SHIFT_JIS_E7_88_offsets, - to_EUC_JP_E7_88_infos -}; - -static const struct byte_lookup* const -to_EUC_JP_E7_89_infos[22] = { - o2(0xE0,0xAE), o2(0xE0,0xAF), o2(0xCA,0xD2), o2(0xC8,0xC7), - o2(0xE0,0xB0), o2(0xC7,0xD7), o2(0xC4,0xAD), o2(0xE0,0xB1), - o2(0xB2,0xE7), o2(0xB5,0xED), o2(0xCC,0xC6), o2(0xCC,0xB6), - o2(0xB2,0xB4), o2(0xCF,0xB4), o2(0xCB,0xD2), o2(0xCA,0xAA), - o2(0xC0,0xB7), o2(0xE0,0xB2), o2(0xC6,0xC3), o2(0xB8,0xA3), - o2(0xE0,0xB3), UNDEF, -}; -static const BYTE_LOOKUP -to_EUC_JP_E7_89 = { - to_SHIFT_JIS_E7_89_offsets, - to_EUC_JP_E7_89_infos -}; - -static const struct byte_lookup* const -to_EUC_JP_E7_8A_infos[17] = { - o2(0xBA,0xD4), o2(0xE0,0xB5), o2(0xE0,0xB4), o2(0xE0,0xB6), - o2(0xE0,0xB7), o2(0xE0,0xB8), o2(0xB5,0xBE), o2(0xE0,0xB9), - o2(0xE0,0xBA), o2(0xB8,0xA4), o2(0xC8,0xC8), o2(0xFA,0xFE), - o2(0xE0,0xBC), o2(0xBE,0xF5), o2(0xE0,0xBB), o2(0xFB,0xA1), - UNDEF, -}; -static const BYTE_LOOKUP -to_EUC_JP_E7_8A = { - to_SHIFT_JIS_E7_8A_offsets, - to_EUC_JP_E7_8A_infos -}; - -static const struct byte_lookup* const -to_EUC_JP_E7_8B_infos[22] = { - o2(0xB6,0xB8), o2(0xE0,0xBD), o2(0xE0,0xBF), o2(0xE0,0xBE), - o2(0xE0,0xC0), o2(0xB8,0xD1), o2(0xE0,0xC1), o2(0xB6,0xE9), - o2(0xC1,0xC0), o2(0xB9,0xFD), o2(0xE0,0xC3), o2(0xE0,0xC4), - o2(0xE0,0xC2), o2(0xBC,0xED), o2(0xC6,0xC8), o2(0xB6,0xB9), - o2(0xE0,0xC6), o2(0xC3,0xAC), o2(0xE0,0xC5), o2(0xCF,0xB5), - o2(0xC7,0xE2), UNDEF, -}; -static const BYTE_LOOKUP -to_EUC_JP_E7_8B = { - to_SHIFT_JIS_E7_8B_offsets, - to_EUC_JP_E7_8B_infos -}; - -static const struct byte_lookup* const -to_EUC_JP_E7_8C_infos[20] = { - o2(0xE0,0xC9), o2(0xE0,0xCB), o2(0xE0,0xC8), o2(0xCC,0xD4), - o2(0xE0,0xCA), o2(0xE0,0xCC), o2(0xCE,0xC4), o2(0xFB,0xA2), - o2(0xE0,0xD0), o2(0xE0,0xCF), o2(0xC3,0xF6), o2(0xC7,0xAD), - o2(0xB8,0xA5), o2(0xE0,0xCE), o2(0xE0,0xCD), o2(0xCD,0xB1), - o2(0xCD,0xB2), o2(0xE0,0xD1), o2(0xB1,0xEE), UNDEF, -}; -static const BYTE_LOOKUP -to_EUC_JP_E7_8C = { - to_SHIFT_JIS_E7_8C_offsets, - to_EUC_JP_E7_8C_infos -}; - -static const struct byte_lookup* const -to_EUC_JP_E7_8D_infos[16] = { - o2(0xB9,0xF6), o2(0xBB,0xE2), o2(0xE0,0xD2), o2(0xE0,0xD3), - o2(0xE0,0xD5), o2(0xBD,0xC3), o2(0xE0,0xD7), o2(0xE0,0xD6), - o2(0xE0,0xD8), o2(0xB3,0xCD), o2(0xE0,0xDA), o2(0xFB,0xA4), - o2(0xE0,0xD9), o2(0xE0,0xDC), o2(0xE0,0xDB), UNDEF, -}; -static const BYTE_LOOKUP -to_EUC_JP_E7_8D = { - to_SHIFT_JIS_E7_8D_offsets, - to_EUC_JP_E7_8D_infos -}; - -static const struct byte_lookup* const -to_EUC_JP_E7_8E_infos[11] = { - o2(0xB8,0xBC), o2(0xCE,0xA8), o2(0xB6,0xCC), o2(0xB2,0xA6), - o2(0xB6,0xEA), o2(0xB4,0xE1), o2(0xCE,0xE8), o2(0xE0,0xDE), - o2(0xE0,0xE0), o2(0xFB,0xA5), UNDEF, -}; -static const BYTE_LOOKUP -to_EUC_JP_E7_8E = { - to_SHIFT_JIS_E7_8E_offsets, - to_EUC_JP_E7_8E_infos -}; - -static const struct byte_lookup* const -to_EUC_JP_E7_8F_infos[21] = { - o2(0xE0,0xE1), o2(0xB2,0xD1), o2(0xE0,0xDD), o2(0xFB,0xA6), - o2(0xBB,0xB9), o2(0xC4,0xC1), o2(0xE0,0xDF), o2(0xFB,0xA9), - o2(0xFB,0xA7), o2(0xE0,0xE4), o2(0xBC,0xEE), o2(0xFB,0xA8), - o2(0xE0,0xE2), o2(0xB7,0xBE), o2(0xC8,0xC9), o2(0xE0,0xE3), - o2(0xE0,0xFE), o2(0xFB,0xAB), o2(0xE0,0xE9), o2(0xB8,0xBD), - UNDEF, -}; -static const BYTE_LOOKUP -to_EUC_JP_E7_8F = { - to_SHIFT_JIS_E7_8F_offsets, - to_EUC_JP_E7_8F_infos -}; - -static const struct byte_lookup* const -to_EUC_JP_E7_90_infos[19] = { - o2(0xB5,0xE5), o2(0xE0,0xE6), o2(0xCD,0xFD), o2(0xFB,0xAA), - o2(0xCE,0xB0), o2(0xC2,0xF6), o2(0xE0,0xE8), o2(0xFB,0xAC), - o2(0xFB,0xAE), o2(0xFB,0xAD), o2(0xFB,0xAF), o2(0xE0,0xEA), - o2(0xCE,0xD6), o2(0xB6,0xD7), o2(0xC8,0xFC), o2(0xC7,0xCA), - o2(0xE0,0xEB), o2(0xE0,0xED), UNDEF, -}; -static const BYTE_LOOKUP -to_EUC_JP_E7_90 = { - to_SHIFT_JIS_E7_90_offsets, - to_EUC_JP_E7_90_infos -}; - -static const struct byte_lookup* const -to_EUC_JP_E7_91_infos[20] = { - o2(0xE0,0xF0), o2(0xE0,0xEC), o2(0xE0,0xEF), o2(0xB8,0xEA), - o2(0xB1,0xCD), o2(0xE0,0xF1), o2(0xBF,0xF0), o2(0xE0,0xEE), - o2(0xCE,0xDC), o2(0xFB,0xB0), o2(0xE0,0xF4), o2(0xF4,0xA4), - o2(0xE0,0xF2), o2(0xE0,0xF5), o2(0xE0,0xE7), o2(0xE0,0xF3), - o2(0xBA,0xBC), o2(0xE0,0xF6), o2(0xE0,0xF7), UNDEF, -}; -static const BYTE_LOOKUP -to_EUC_JP_E7_91 = { - to_SHIFT_JIS_E7_91_offsets, - to_EUC_JP_E7_91_infos -}; - -static const struct byte_lookup* const -to_EUC_JP_E7_92_infos[10] = { - o2(0xCD,0xFE), o2(0xFB,0xB1), o2(0xE0,0xF8), o2(0xE0,0xF9), - o2(0xFB,0xB2), o2(0xE0,0xE5), o2(0xE0,0xFA), o2(0xB4,0xC4), - o2(0xBC,0xA5), UNDEF, -}; -static const BYTE_LOOKUP -to_EUC_JP_E7_92 = { - to_SHIFT_JIS_E7_92_offsets, - to_EUC_JP_E7_92_infos -}; - -static const struct byte_lookup* const -to_EUC_JP_E7_93_infos[18] = { - o2(0xE0,0xFB), o2(0xE0,0xFC), o2(0xE0,0xFD), o2(0xB1,0xBB), - o2(0xE1,0xA1), o2(0xC9,0xBB), o2(0xE1,0xA2), o2(0xB4,0xA4), - o2(0xE1,0xA3), o2(0xE1,0xA4), o2(0xE1,0xA5), o2(0xE1,0xA7), - o2(0xE1,0xA8), o2(0xE1,0xA6), o2(0xC9,0xD3), o2(0xE1,0xAA), - o2(0xE1,0xA9), UNDEF, -}; -static const BYTE_LOOKUP -to_EUC_JP_E7_93 = { - to_SHIFT_JIS_E7_93_offsets, - to_EUC_JP_E7_93_infos -}; - -static const struct byte_lookup* const -to_EUC_JP_E7_94_infos[32] = { - o2(0xFB,0xB3), o2(0xE1,0xAC), o2(0xE1,0xAB), o2(0xE1,0xAD), - o2(0xE1,0xAE), o2(0xE1,0xB0), o2(0xE1,0xAF), o2(0xB9,0xF9), - o2(0xE1,0xB2), o2(0xE1,0xB1), o2(0xB4,0xC5), o2(0xBF,0xD3), - o2(0xC5,0xBC), o2(0xE1,0xB3), o2(0xC0,0xB8), o2(0xBB,0xBA), - o2(0xB1,0xF9), o2(0xE1,0xB4), o2(0xCD,0xD1), o2(0xCA,0xE3), - o2(0xE1,0xB5), o2(0xF9,0xEC), o2(0xC5,0xC4), o2(0xCD,0xB3), - o2(0xB9,0xC3), o2(0xBF,0xBD), o2(0xC3,0xCB), o2(0xD2,0xB4), - o2(0xC4,0xAE), o2(0xB2,0xE8), o2(0xE1,0xB6), UNDEF, -}; -static const BYTE_LOOKUP -to_EUC_JP_E7_94 = { - to_SHIFT_JIS_E7_94_offsets, - to_EUC_JP_E7_94_infos -}; - -static const struct byte_lookup* const -to_EUC_JP_E7_95_infos[34] = { - o2(0xE1,0xB7), o2(0xE1,0xBC), o2(0xE1,0xBA), o2(0xE1,0xB9), - o2(0xDA,0xC2), o2(0xB3,0xA6), o2(0xE1,0xB8), o2(0xB0,0xDA), - o2(0xC8,0xAA), o2(0xC8,0xCA), o2(0xCE,0xB1), o2(0xE1,0xBD), - o2(0xE1,0xBB), o2(0xC3,0xDC), o2(0xC0,0xA6), o2(0xC8,0xAB), - o2(0xC9,0xAD), o2(0xE1,0xBF), o2(0xCE,0xAC), o2(0xB7,0xCD), - o2(0xE1,0xC0), o2(0xE1,0xBE), o2(0xC8,0xD6), o2(0xE1,0xC1), - o2(0xE1,0xC2), o2(0xFB,0xB4), o2(0xB0,0xDB), o2(0xBE,0xF6), - o2(0xE1,0xC7), o2(0xE1,0xC4), o2(0xC6,0xED), o2(0xE1,0xC3), - o2(0xB5,0xA6), UNDEF, -}; -static const BYTE_LOOKUP -to_EUC_JP_E7_95 = { - to_SHIFT_JIS_E7_95_offsets, - to_EUC_JP_E7_95_infos -}; - -static const struct byte_lookup* const -to_EUC_JP_E7_96_infos[25] = { - o2(0xE1,0xCA), o2(0xE1,0xC5), o2(0xE1,0xC6), o2(0xE1,0xC9), - o2(0xE1,0xC8), o2(0xC9,0xA5), o2(0xC1,0xC2), o2(0xC1,0xC1), - o2(0xB5,0xBF), o2(0xE1,0xCB), o2(0xE1,0xCC), o2(0xE1,0xCD), - o2(0xE1,0xCF), o2(0xE1,0xCE), o2(0xB1,0xD6), o2(0xE1,0xD7), - o2(0xC8,0xE8), o2(0xE1,0xD1), o2(0xE1,0xD3), o2(0xE1,0xD5), - o2(0xBF,0xBE), o2(0xE1,0xD6), o2(0xE1,0xD4), o2(0xBC,0xC0), - UNDEF, -}; -static const BYTE_LOOKUP -to_EUC_JP_E7_96 = { - to_SHIFT_JIS_E7_96_offsets, - to_EUC_JP_E7_96_infos -}; - -static const struct byte_lookup* const -to_EUC_JP_E7_97_infos[25] = { - o2(0xE1,0xD0), o2(0xE1,0xD2), o2(0xC9,0xC2), o2(0xBE,0xC9), - o2(0xE1,0xD9), o2(0xE1,0xD8), o2(0xE1,0xDA), o2(0xBC,0xA6), - o2(0xBA,0xAF), o2(0xC5,0xF7), o2(0xE1,0xDB), o2(0xC4,0xCB), - o2(0xE1,0xDD), o2(0xCE,0xA1), o2(0xE1,0xDC), o2(0xC1,0xE9), - o2(0xE1,0xE2), o2(0xE1,0xE4), o2(0xE1,0xE5), o2(0xC3,0xD4), - o2(0xE1,0xE3), o2(0xE1,0xE0), o2(0xE1,0xDE), o2(0xE1,0xDF), - UNDEF, -}; -static const BYTE_LOOKUP -to_EUC_JP_E7_97 = { - to_SHIFT_JIS_E7_97_offsets, - to_EUC_JP_E7_97_infos -}; - -static const struct byte_lookup* const -to_EUC_JP_E7_98_infos[14] = { - o2(0xE1,0xE1), o2(0xE1,0xE8), o2(0xE1,0xE6), o2(0xE1,0xE7), - o2(0xE1,0xE9), o2(0xE1,0xEB), o2(0xE1,0xEC), o2(0xE1,0xED), - o2(0xE1,0xEE), o2(0xE1,0xEA), o2(0xE1,0xF0), o2(0xE1,0xEF), - o2(0xE1,0xF1), UNDEF, -}; -static const BYTE_LOOKUP -to_EUC_JP_E7_98 = { - to_SHIFT_JIS_E7_98_offsets, - to_EUC_JP_E7_98_infos -}; - -static const struct byte_lookup* const -to_EUC_JP_E7_99_infos[26] = { - o2(0xCE,0xC5), o2(0xE1,0xF4), o2(0xE1,0xF2), o2(0xE1,0xF3), - o2(0xB4,0xE2), o2(0xCC,0xFE), o2(0xCA,0xCA), o2(0xE1,0xF6), - o2(0xE1,0xF5), o2(0xE1,0xF7), o2(0xE1,0xF8), o2(0xE1,0xFC), - o2(0xE1,0xF9), o2(0xE1,0xFA), o2(0xE1,0xFB), o2(0xE1,0xFD), - o2(0xE1,0xFE), o2(0xE2,0xA1), o2(0xE2,0xA2), o2(0xE2,0xA3), - o2(0xC8,0xAF), o2(0xC5,0xD0), o2(0xE2,0xA4), o2(0xC7,0xF2), - o2(0xC9,0xB4), UNDEF, -}; -static const BYTE_LOOKUP -to_EUC_JP_E7_99 = { - to_SHIFT_JIS_E7_99_offsets, - to_EUC_JP_E7_99_infos -}; - -static const struct byte_lookup* const -to_EUC_JP_E7_9A_infos[27] = { - o2(0xE2,0xA5), o2(0xFB,0xB5), o2(0xE2,0xA6), o2(0xC5,0xAA), - o2(0xB3,0xA7), o2(0xB9,0xC4), o2(0xE2,0xA7), o2(0xE2,0xA8), - o2(0xE2,0xA9), o2(0xBB,0xA9), o2(0xE2,0xAB), o2(0xE2,0xAA), - o2(0xE2,0xAC), o2(0xE2,0xAD), o2(0xFB,0xB8), o2(0xFB,0xB6), - o2(0xFB,0xB7), o2(0xFB,0xB9), o2(0xC8,0xE9), o2(0xE2,0xAE), - o2(0xE2,0xAF), o2(0xF3,0xE9), o2(0xE2,0xB0), o2(0xE2,0xB1), - o2(0xE2,0xB2), o2(0xBB,0xAE), UNDEF, -}; -static const BYTE_LOOKUP -to_EUC_JP_E7_9A = { - to_SHIFT_JIS_E7_9A_offsets, - to_EUC_JP_E7_9A_infos -}; - -static const struct byte_lookup* const -to_EUC_JP_E7_9B_infos[26] = { - o2(0xE2,0xB3), o2(0xC7,0xD6), o2(0xCB,0xDF), o2(0xB1,0xCE), - o2(0xB1,0xD7), o2(0xE2,0xB4), o2(0xE2,0xB6), o2(0xE2,0xB5), - o2(0xC5,0xF0), o2(0xC0,0xB9), o2(0xDD,0xB9), o2(0xE2,0xB7), - o2(0xCC,0xC1), o2(0xE2,0xB8), o2(0xB4,0xC6), o2(0xC8,0xD7), - o2(0xE2,0xB9), o2(0xE2,0xBA), o2(0xE2,0xBB), o2(0xCC,0xDC), - o2(0xCC,0xD5), o2(0xC4,0xBE), o2(0xC1,0xEA), o2(0xE2,0xBD), - o2(0xBD,0xE2), UNDEF, -}; -static const BYTE_LOOKUP -to_EUC_JP_E7_9B = { - to_SHIFT_JIS_E7_9B_offsets, - to_EUC_JP_E7_9B_infos -}; - -static const struct byte_lookup* const -to_EUC_JP_E7_9C_infos[20] = { - o2(0xBE,0xCA), o2(0xE2,0xC0), o2(0xE2,0xBF), o2(0xE2,0xBE), - o2(0xC8,0xFD), o2(0xB4,0xC7), o2(0xB8,0xA9), o2(0xE2,0xC6), - o2(0xE2,0xC3), o2(0xBF,0xBF), o2(0xCC,0xB2), o2(0xE2,0xC2), - o2(0xE2,0xC4), o2(0xE2,0xC5), o2(0xE2,0xC1), o2(0xE2,0xC7), - o2(0xE2,0xC8), o2(0xC4,0xAF), o2(0xB4,0xE3), UNDEF, -}; -static const BYTE_LOOKUP -to_EUC_JP_E7_9C = { - to_SHIFT_JIS_E7_9C_offsets, - to_EUC_JP_E7_9C_infos -}; - -static const struct byte_lookup* const -to_EUC_JP_E7_9D_infos[15] = { - o2(0xC3,0xE5), o2(0xFB,0xBB), o2(0xE2,0xC9), o2(0xE2,0xCA), - o2(0xE2,0xCD), o2(0xBF,0xE7), o2(0xC6,0xC4), o2(0xE2,0xCE), - o2(0xCB,0xD3), o2(0xE2,0xCB), o2(0xE2,0xCC), o2(0xE2,0xD1), - o2(0xE2,0xD0), o2(0xE2,0xCF), UNDEF, -}; -static const BYTE_LOOKUP -to_EUC_JP_E7_9D = { - to_SHIFT_JIS_E7_9D_offsets, - to_EUC_JP_E7_9D_infos -}; - -static const struct byte_lookup* const -to_EUC_JP_E7_9E_infos[17] = { - o2(0xE2,0xD3), o2(0xE2,0xD2), o2(0xE2,0xD4), o2(0xE2,0xD6), - o2(0xE2,0xD5), o2(0xCA,0xCD), o2(0xBD,0xD6), o2(0xCE,0xC6), - o2(0xE2,0xD7), o2(0xC6,0xB7), o2(0xE2,0xD8), o2(0xE2,0xD9), - o2(0xE2,0xDD), o2(0xE2,0xDB), o2(0xE2,0xDC), o2(0xE2,0xDA), - UNDEF, -}; -static const BYTE_LOOKUP -to_EUC_JP_E7_9E = { - to_SHIFT_JIS_E7_9E_offsets, - to_EUC_JP_E7_9E_infos -}; - -static const struct byte_lookup* const -to_EUC_JP_E7_9F_infos[17] = { - o2(0xE2,0xDE), o2(0xE2,0xDF), o2(0xE2,0xE0), o2(0xE2,0xE1), - o2(0xCC,0xB7), o2(0xE2,0xE2), o2(0xCC,0xF0), o2(0xE2,0xE3), - o2(0xC3,0xCE), o2(0xC7,0xEA), o2(0xB6,0xEB), o2(0xC3,0xBB), - o2(0xE2,0xE4), o2(0xB6,0xBA), o2(0xC0,0xD0), o2(0xE2,0xE5), - UNDEF, -}; -static const BYTE_LOOKUP -to_EUC_JP_E7_9F = { - to_SHIFT_JIS_E7_9F_offsets, - to_EUC_JP_E7_9F_infos -}; - -static const struct byte_lookup* const -to_EUC_JP_E7_A0_infos[15] = { - o2(0xBA,0xBD), o2(0xE2,0xE6), o2(0xE2,0xE7), o2(0xB8,0xA6), - o2(0xBA,0xD5), o2(0xE2,0xE9), o2(0xFB,0xBD), o2(0xC5,0xD6), - o2(0xBA,0xD6), o2(0xB5,0xCE), o2(0xCB,0xA4), o2(0xC7,0xCB), - o2(0xC5,0xD7), o2(0xB9,0xDC), UNDEF, -}; -static const BYTE_LOOKUP -to_EUC_JP_E7_A0 = { - to_SHIFT_JIS_E7_A0_offsets, - to_EUC_JP_E7_A0_infos -}; - -static const struct byte_lookup* const -to_EUC_JP_E7_A1_infos[12] = { - o2(0xE2,0xEB), o2(0xFB,0xBE), o2(0xBE,0xCB), o2(0xFB,0xBF), - o2(0xCE,0xB2), o2(0xB9,0xC5), o2(0xB8,0xA7), o2(0xC8,0xA3), - o2(0xE2,0xED), o2(0xFB,0xC0), o2(0xE2,0xEF), UNDEF, -}; -static const BYTE_LOOKUP -to_EUC_JP_E7_A1 = { - to_SHIFT_JIS_E7_A1_offsets, - to_EUC_JP_E7_A1_infos -}; - -static const struct byte_lookup* const -to_EUC_JP_E7_A2_infos[21] = { - o2(0xB8,0xEB), o2(0xE2,0xEE), o2(0xC4,0xF6), o2(0xE2,0xF1), - o2(0xB3,0xB7), o2(0xE2,0xEC), o2(0xC8,0xEA), o2(0xB1,0xB0), - o2(0xBA,0xEC), o2(0xCF,0xD2), o2(0xE2,0xF0), o2(0xE2,0xF2), - o2(0xCA,0xCB), o2(0xC0,0xD9), o2(0xE2,0xF4), o2(0xE2,0xF5), - o2(0xE2,0xF3), o2(0xB3,0xCE), o2(0xE2,0xFB), o2(0xE2,0xFA), - UNDEF, -}; -static const BYTE_LOOKUP -to_EUC_JP_E7_A2 = { - to_SHIFT_JIS_E7_A2_offsets, - to_EUC_JP_E7_A2_infos -}; - -static const struct byte_lookup* const -to_EUC_JP_E7_A3_infos[16] = { - o2(0xBC,0xA7), o2(0xE2,0xFC), o2(0xE2,0xF7), o2(0xE2,0xFD), - o2(0xE2,0xF8), o2(0xC8,0xD8), o2(0xE2,0xF6), o2(0xE2,0xF9), - o2(0xE3,0xA2), o2(0xE3,0xA1), o2(0xCB,0xE1), o2(0xE2,0xFE), - o2(0xB0,0xEB), o2(0xE3,0xA4), o2(0xE3,0xA3), UNDEF, -}; -static const BYTE_LOOKUP -to_EUC_JP_E7_A3 = { - to_SHIFT_JIS_E7_A3_offsets, - to_EUC_JP_E7_A3_infos -}; - -static const struct byte_lookup* const -to_EUC_JP_E7_A4_infos[15] = { - o2(0xBE,0xCC), o2(0xE3,0xA5), o2(0xC1,0xC3), o2(0xE3,0xA7), - o2(0xE3,0xA6), o2(0xE3,0xA8), o2(0xE2,0xE8), o2(0xE2,0xEA), - o2(0xE3,0xAA), o2(0xE3,0xA9), o2(0xFB,0xC1), o2(0xBC,0xA8), - o2(0xCE,0xE9), o2(0xBC,0xD2), UNDEF, -}; -static const BYTE_LOOKUP -to_EUC_JP_E7_A4 = { - to_SHIFT_JIS_E7_A4_offsets, - to_EUC_JP_E7_A4_infos -}; - -static const struct byte_lookup* const -to_EUC_JP_E7_A5_infos[23] = { - o2(0xE3,0xAB), o2(0xB7,0xB7), o2(0xB5,0xC0), o2(0xB5,0xA7), - o2(0xBB,0xE3), o2(0xCD,0xB4), o2(0xE3,0xB1), o2(0xE3,0xB0), - o2(0xC1,0xC4), o2(0xE3,0xAD), o2(0xE3,0xAF), o2(0xBD,0xCB), - o2(0xBF,0xC0), o2(0xE3,0xAE), o2(0xE3,0xAC), o2(0xC7,0xAA), - o2(0xBE,0xCD), o2(0xC9,0xBC), o2(0xBA,0xD7), o2(0xC5,0xF8), - o2(0xE3,0xB2), o2(0xE3,0xB3), UNDEF, -}; -static const BYTE_LOOKUP -to_EUC_JP_E7_A5 = { - to_SHIFT_JIS_E7_A5_offsets, - to_EUC_JP_E7_A5_infos -}; - -static const struct byte_lookup* const -to_EUC_JP_E7_A6_infos[23] = { - o2(0xE3,0xC9), o2(0xB6,0xD8), o2(0xCF,0xBD), o2(0xC1,0xB5), - o2(0xE3,0xB4), o2(0xB2,0xD2), o2(0xC4,0xF7), o2(0xCA,0xA1), - o2(0xFB,0xC5), o2(0xFB,0xC7), o2(0xE3,0xB5), o2(0xB5,0xFA), - o2(0xE3,0xB6), o2(0xE3,0xB8), o2(0xE3,0xB9), o2(0xC7,0xA9), - o2(0xE3,0xBA), o2(0xE3,0xBB), o2(0xE3,0xBC), o2(0xB6,0xD9), - o2(0xB2,0xD3), o2(0xC6,0xC5), UNDEF, -}; -static const BYTE_LOOKUP -to_EUC_JP_E7_A6 = { - to_SHIFT_JIS_E7_A6_offsets, - to_EUC_JP_E7_A6_infos -}; - -static const struct byte_lookup* const -to_EUC_JP_E7_A7_infos[19] = { - o2(0xBD,0xA8), o2(0xBB,0xE4), o2(0xE3,0xBD), o2(0xBD,0xA9), - o2(0xB2,0xCA), o2(0xC9,0xC3), o2(0xE3,0xBE), o2(0xC8,0xEB), - o2(0xC1,0xC5), o2(0xE3,0xC1), o2(0xE3,0xC2), o2(0xC7,0xE9), - o2(0xBF,0xC1), o2(0xE3,0xBF), o2(0xC3,0xE1), o2(0xE3,0xC0), - o2(0xBE,0xCE), o2(0xB0,0xDC), UNDEF, -}; -static const BYTE_LOOKUP -to_EUC_JP_E7_A7 = { - to_SHIFT_JIS_E7_A7_offsets, - to_EUC_JP_E7_A7_infos -}; - -static const struct byte_lookup* const -to_EUC_JP_E7_A8_infos[23] = { - o2(0xB5,0xA9), o2(0xE3,0xC3), o2(0xC4,0xF8), o2(0xE3,0xC4), - o2(0xC0,0xC7), o2(0xCC,0xAD), o2(0xC9,0xA3), o2(0xE3,0xC5), - o2(0xE3,0xC6), o2(0xC3,0xD5), o2(0xCE,0xC7), o2(0xE3,0xC8), - o2(0xE3,0xC7), o2(0xBC,0xEF), o2(0xE3,0xCA), o2(0xB0,0xF0), - o2(0xE3,0xCD), o2(0xE3,0xCB), o2(0xB2,0xD4), o2(0xB7,0xCE), - o2(0xE3,0xCC), o2(0xB9,0xC6), UNDEF, -}; -static const BYTE_LOOKUP -to_EUC_JP_E7_A8 = { - to_SHIFT_JIS_E7_A8_offsets, - to_EUC_JP_E7_A8_infos -}; - -static const struct byte_lookup* const -to_EUC_JP_E7_A9_infos[23] = { - o2(0xB9,0xF2), o2(0xCA,0xE6), o2(0xE3,0xCE), o2(0xCB,0xD4), - o2(0xE3,0xD0), o2(0xC0,0xD1), o2(0xB1,0xCF), o2(0xB2,0xBA), - o2(0xB0,0xAC), o2(0xE3,0xCF), o2(0xE3,0xD1), o2(0xE3,0xD2), - o2(0xBE,0xF7), o2(0xE3,0xD3), o2(0xB3,0xCF), o2(0xE3,0xD5), - o2(0xB7,0xEA), o2(0xB5,0xE6), o2(0xE3,0xD6), o2(0xB6,0xF5), - o2(0xE3,0xD7), o2(0xC0,0xFC), UNDEF, -}; -static const BYTE_LOOKUP -to_EUC_JP_E7_A9 = { - to_SHIFT_JIS_E7_A9_offsets, - to_EUC_JP_E7_A9_infos -}; - -static const struct byte_lookup* const -to_EUC_JP_E7_AA_infos[20] = { - o2(0xC6,0xCD), o2(0xC0,0xE0), o2(0xBA,0xF5), o2(0xE3,0xD8), - o2(0xC3,0xE2), o2(0xC1,0xEB), o2(0xE3,0xDA), o2(0xE3,0xDC), - o2(0xE3,0xD9), o2(0xE3,0xDB), o2(0xB7,0xA2), o2(0xE3,0xDD), - o2(0xB7,0xA6), o2(0xB5,0xE7), o2(0xCD,0xD2), o2(0xE3,0xDF), - o2(0xE3,0xE0), o2(0xB1,0xAE), o2(0xE3,0xE3), UNDEF, -}; -static const BYTE_LOOKUP -to_EUC_JP_E7_AA = { - to_SHIFT_JIS_E7_AA_offsets, - to_EUC_JP_E7_AA_infos -}; - -static const struct byte_lookup* const -to_EUC_JP_E7_AB_infos[36] = { - o2(0xB3,0xF6), o2(0xE3,0xE2), o2(0xE3,0xE1), o2(0xE3,0xE5), - o2(0xE3,0xDE), o2(0xE3,0xE6), o2(0xCE,0xA9), o2(0xE3,0xE7), - o2(0xE3,0xE8), o2(0xFB,0xC8), o2(0xD4,0xF4), o2(0xE3,0xEA), - o2(0xE3,0xE9), o2(0xE3,0xEB), o2(0xE3,0xEC), o2(0xCE,0xB5), - o2(0xE3,0xED), o2(0xF0,0xEF), o2(0xBE,0xCF), o2(0xE3,0xEE), - o2(0xE3,0xEF), o2(0xBD,0xD7), o2(0xC6,0xB8), o2(0xE3,0xF0), - o2(0xFB,0xC9), o2(0xC3,0xA8), o2(0xFB,0xCB), o2(0xE3,0xF1), - o2(0xC3,0xBC), o2(0xE3,0xF2), o2(0xB6,0xA5), o2(0xD1,0xBF), - o2(0xC3,0xDD), o2(0xBC,0xB3), o2(0xB4,0xC8), UNDEF, -}; -static const BYTE_LOOKUP -to_EUC_JP_E7_AB = { - to_SHIFT_JIS_E7_AB_offsets, - to_EUC_JP_E7_AB_infos -}; - -static const struct byte_lookup* const -to_EUC_JP_E7_AC_infos[22] = { - o2(0xE3,0xF3), o2(0xE4,0xA2), o2(0xE3,0xF6), o2(0xB5,0xE8), - o2(0xE3,0xF5), o2(0xE4,0xA4), o2(0xE3,0xF4), o2(0xBE,0xD0), - o2(0xE3,0xF8), o2(0xE3,0xF9), o2(0xC5,0xAB), o2(0xE3,0xFA), - o2(0xB3,0xDE), o2(0xBF,0xDA), o2(0xC9,0xE4), o2(0xE3,0xFC), - o2(0xC2,0xE8), o2(0xE3,0xF7), o2(0xE3,0xFB), o2(0xE3,0xFD), - o2(0xBA,0xFB), UNDEF, -}; -static const BYTE_LOOKUP -to_EUC_JP_E7_AC = { - to_SHIFT_JIS_E7_AC_offsets, - to_EUC_JP_E7_AC_infos -}; - -static const struct byte_lookup* const -to_EUC_JP_E7_AD_infos[24] = { - o2(0xE4,0xA6), o2(0xC9,0xAE), o2(0xC8,0xA6), o2(0xC5,0xF9), - o2(0xB6,0xDA), o2(0xE4,0xA5), o2(0xE4,0xA3), o2(0xC8,0xB5), - o2(0xE3,0xFE), o2(0xC3,0xDE), o2(0xC5,0xFB), o2(0xC5,0xFA), - o2(0xBA,0xF6), o2(0xE4,0xB8), o2(0xE4,0xA8), o2(0xE4,0xAA), - o2(0xE4,0xAD), o2(0xE4,0xAE), o2(0xE4,0xAB), o2(0xE4,0xAC), - o2(0xE4,0xA9), o2(0xE4,0xA7), o2(0xE4,0xA1), UNDEF, -}; -static const BYTE_LOOKUP -to_EUC_JP_E7_AD = { - to_SHIFT_JIS_E7_AD_offsets, - to_EUC_JP_E7_AD_infos -}; - -static const struct byte_lookup* const -to_EUC_JP_E7_AE_infos[23] = { - o2(0xCA,0xCF), o2(0xB2,0xD5), o2(0xE4,0xB5), o2(0xE4,0xB2), - o2(0xE4,0xB7), o2(0xE4,0xB6), o2(0xC7,0xF3), o2(0xCC,0xA7), - o2(0xBB,0xBB), o2(0xE4,0xB0), o2(0xE4,0xB9), o2(0xE4,0xB4), - o2(0xE4,0xB3), o2(0xE4,0xAF), o2(0xFB,0xCC), o2(0xE4,0xB1), - o2(0xB4,0xC9), o2(0xC3,0xBD), o2(0xC0,0xFD), o2(0xC8,0xA2), - o2(0xE4,0xBE), o2(0xC8,0xA4), UNDEF, -}; -static const BYTE_LOOKUP -to_EUC_JP_E7_AE = { - to_SHIFT_JIS_E7_AE_offsets, - to_EUC_JP_E7_AE_infos -}; - -static const struct byte_lookup* const -to_EUC_JP_E7_AF_infos[20] = { - o2(0xC0,0xE1), o2(0xE4,0xBB), o2(0xC8,0xCF), o2(0xE4,0xBF), - o2(0xCA,0xD3), o2(0xC3,0xDB), o2(0xE4,0xBA), o2(0xE4,0xBC), - o2(0xE4,0xBD), o2(0xE4,0xC0), o2(0xBC,0xC4), o2(0xC6,0xC6), - o2(0xE4,0xC5), o2(0xE4,0xC4), o2(0xE4,0xC1), o2(0xCF,0xB6), - o2(0xE4,0xCA), o2(0xE4,0xCE), o2(0xE4,0xCB), UNDEF, -}; -static const BYTE_LOOKUP -to_EUC_JP_E7_AF = { - to_SHIFT_JIS_E7_AF_offsets, - to_EUC_JP_E7_AF_infos -}; - -static const struct byte_lookup* const -to_EUC_JP_E7_B0_infos[20] = { - o2(0xE4,0xC7), o2(0xE4,0xC8), o2(0xE4,0xCD), o2(0xE4,0xC2), - o2(0xD2,0xD5), o2(0xE4,0xC9), o2(0xE4,0xC3), o2(0xE4,0xCC), - o2(0xE4,0xD2), o2(0xB4,0xCA), o2(0xE4,0xCF), o2(0xE4,0xD0), - o2(0xE4,0xD1), o2(0xE4,0xD4), o2(0xE4,0xD3), o2(0xC8,0xF6), - o2(0xE4,0xD5), o2(0xCE,0xFC), o2(0xCA,0xED), UNDEF, -}; -static const BYTE_LOOKUP -to_EUC_JP_E7_B0 = { - to_SHIFT_JIS_E7_B0_offsets, - to_EUC_JP_E7_B0_infos -}; - -static const struct byte_lookup* const -to_EUC_JP_E7_B1_infos[18] = { - o2(0xE4,0xDA), o2(0xE4,0xD7), o2(0xE4,0xD6), o2(0xC0,0xD2), - o2(0xE4,0xD9), o2(0xE4,0xDB), o2(0xE4,0xD8), o2(0xE4,0xDF), - o2(0xE4,0xDC), o2(0xE4,0xDD), o2(0xE4,0xC6), o2(0xE4,0xDE), - o2(0xE4,0xE0), o2(0xE4,0xE1), o2(0xCA,0xC6), o2(0xE4,0xE2), - o2(0xCC,0xE2), UNDEF, -}; -static const BYTE_LOOKUP -to_EUC_JP_E7_B1 = { - to_SHIFT_JIS_E7_B1_offsets, - to_EUC_JP_E7_B1_infos -}; - -static const struct byte_lookup* const -to_EUC_JP_E7_B2_infos[29] = { - o2(0xB6,0xCE), o2(0xB7,0xA9), o2(0xE4,0xE3), o2(0xCA,0xB4), - o2(0xBF,0xE8), o2(0xCC,0xB0), o2(0xE4,0xE4), o2(0xCE,0xB3), - o2(0xC7,0xF4), o2(0xC1,0xC6), o2(0xC7,0xB4), o2(0xBD,0xCD), - o2(0xB0,0xC0), o2(0xE4,0xE9), o2(0xE4,0xE7), o2(0xE4,0xE5), - o2(0xB4,0xA1), o2(0xBE,0xD1), o2(0xE4,0xEA), o2(0xE4,0xE8), - o2(0xE4,0xE6), o2(0xE4,0xEE), o2(0xE4,0xED), o2(0xE4,0xEC), - o2(0xE4,0xEB), o2(0xE4,0xEF), o2(0xE4,0xF0), o2(0xC0,0xBA), - UNDEF, -}; -static const BYTE_LOOKUP -to_EUC_JP_E7_B2 = { - to_SHIFT_JIS_E7_B2_offsets, - to_EUC_JP_E7_B2_infos -}; - -static const struct byte_lookup* const -to_EUC_JP_E7_B3_infos[23] = { - o2(0xE4,0xF1), o2(0xE4,0xF3), o2(0xE4,0xF2), o2(0xB8,0xD2), - o2(0xC1,0xB8), o2(0xE4,0xF5), o2(0xC5,0xFC), o2(0xE4,0xF4), - o2(0xE4,0xF6), o2(0xCA,0xB5), o2(0xC1,0xEC), o2(0xB9,0xC7), - o2(0xE4,0xF7), o2(0xCE,0xC8), o2(0xE4,0xF9), o2(0xE4,0xFA), - o2(0xE4,0xFB), o2(0xE4,0xFC), o2(0xBB,0xE5), o2(0xE4,0xFD), - o2(0xB7,0xCF), o2(0xB5,0xEA), UNDEF, -}; -static const BYTE_LOOKUP -to_EUC_JP_E7_B3 = { - to_SHIFT_JIS_E7_B3_offsets, - to_EUC_JP_E7_B3_infos -}; - -static const struct byte_lookup* const -to_EUC_JP_E7_B4_infos[32] = { - o2(0xB5,0xAA), o2(0xE5,0xA1), o2(0xCC,0xF3), o2(0xB9,0xC8), - o2(0xE4,0xFE), o2(0xE5,0xA4), o2(0xCC,0xE6), o2(0xC7,0xBC), - o2(0xC9,0xB3), o2(0xBD,0xE3), o2(0xE5,0xA3), o2(0xBC,0xD3), - o2(0xB9,0xC9), o2(0xBB,0xE6), o2(0xB5,0xE9), o2(0xCA,0xB6), - o2(0xE5,0xA2), o2(0xC1,0xC7), o2(0xCB,0xC2), o2(0xBA,0xF7), - o2(0xBB,0xE7), o2(0xC4,0xDD), o2(0xE5,0xA7), o2(0xCE,0xDF), - o2(0xBA,0xD9), o2(0xE5,0xA8), o2(0xBF,0xC2), o2(0xE5,0xAA), - o2(0xBE,0xD2), o2(0xBA,0xB0), o2(0xE5,0xA9), UNDEF, -}; -static const BYTE_LOOKUP -to_EUC_JP_E7_B4 = { - to_SHIFT_JIS_E7_B4_offsets, - to_EUC_JP_E7_B4_infos -}; - -static const struct byte_lookup* const -to_EUC_JP_E7_B5_infos[29] = { - o2(0xBD,0xAA), o2(0xB8,0xBE), o2(0xC1,0xC8), o2(0xE5,0xA5), - o2(0xE5,0xAB), o2(0xFB,0xCE), o2(0xE5,0xA6), o2(0xB7,0xD0), - o2(0xE5,0xAE), o2(0xE5,0xB2), o2(0xB7,0xEB), o2(0xE5,0xAD), - o2(0xE5,0xB6), o2(0xFB,0xCF), o2(0xB9,0xCA), o2(0xCD,0xED), - o2(0xB0,0xBC), o2(0xE5,0xB3), o2(0xB5,0xEB), o2(0xE5,0xB0), - o2(0xE5,0xB1), o2(0xC5,0xFD), o2(0xE5,0xAF), o2(0xE5,0xAC), - o2(0xB3,0xA8), o2(0xC0,0xE4), o2(0xB8,0xA8), o2(0xE5,0xB8), - UNDEF, -}; -static const BYTE_LOOKUP -to_EUC_JP_E7_B5 = { - to_SHIFT_JIS_E7_B5_offsets, - to_EUC_JP_E7_B5_infos -}; - -static const struct byte_lookup* const -to_EUC_JP_E7_B6_infos[29] = { - o2(0xE5,0xB5), o2(0xE5,0xB7), o2(0xE5,0xB4), o2(0xB7,0xD1), - o2(0xC2,0xB3), o2(0xE5,0xB9), o2(0xC1,0xEE), o2(0xE5,0xC6), - o2(0xFB,0xD1), o2(0xE5,0xC2), o2(0xE5,0xBC), o2(0xE5,0xC0), - o2(0xBC,0xFA), o2(0xB0,0xDD), o2(0xE5,0xBB), o2(0xE5,0xC3), - o2(0xE5,0xC7), o2(0xB9,0xCB), o2(0xCC,0xD6), o2(0xC4,0xD6), - o2(0xE5,0xBD), o2(0xFB,0xD0), o2(0xE5,0xC5), o2(0xE5,0xBA), - o2(0xC3,0xBE), o2(0xE5,0xBF), o2(0xB0,0xBD), o2(0xCC,0xCA), - UNDEF, -}; -static const BYTE_LOOKUP -to_EUC_JP_E7_B6 = { - to_SHIFT_JIS_E7_B6_offsets, - to_EUC_JP_E7_B6_infos -}; - -static const struct byte_lookup* const -to_EUC_JP_E7_B7_infos[24] = { - o2(0xE5,0xBE), o2(0xB6,0xDB), o2(0xC8,0xEC), o2(0xC1,0xED), - o2(0xCE,0xD0), o2(0xBD,0xEF), o2(0xE5,0xEE), o2(0xFB,0xD2), - o2(0xE5,0xC8), o2(0xC0,0xFE), o2(0xE5,0xC4), o2(0xE5,0xC9), - o2(0xE5,0xCB), o2(0xC4,0xF9), o2(0xE5,0xCE), o2(0xE5,0xCA), - o2(0xCA,0xD4), o2(0xB4,0xCB), o2(0xCC,0xCB), o2(0xB0,0xDE), - o2(0xE5,0xCD), o2(0xCE,0xFD), o2(0xE5,0xCC), UNDEF, -}; -static const BYTE_LOOKUP -to_EUC_JP_E7_B7 = { - to_SHIFT_JIS_E7_B7_offsets, - to_EUC_JP_E7_B7_infos -}; - -static const struct byte_lookup* const -to_EUC_JP_E7_B8_infos[26] = { - o2(0xB1,0xEF), o2(0xC6,0xEC), o2(0xE5,0xCF), o2(0xE5,0xD6), - o2(0xE5,0xD0), o2(0xE5,0xD7), o2(0xE5,0xD3), o2(0xC7,0xFB), - o2(0xBC,0xCA), o2(0xE5,0xD5), o2(0xE5,0xD2), o2(0xE5,0xD8), - o2(0xE5,0xD1), o2(0xBD,0xC4), o2(0xCB,0xA5), o2(0xBD,0xCC), - o2(0xE5,0xD4), o2(0xE5,0xE0), o2(0xE5,0xDC), o2(0xE5,0xDF), - o2(0xE5,0xDD), o2(0xE5,0xE1), o2(0xE5,0xDB), o2(0xE5,0xC1), - o2(0xC0,0xD3), UNDEF, -}; -static const BYTE_LOOKUP -to_EUC_JP_E7_B8 = { - to_SHIFT_JIS_E7_B8_offsets, - to_EUC_JP_E7_B8_infos -}; - -static const struct byte_lookup* const -to_EUC_JP_E7_B9_infos[26] = { - o2(0xC8,0xCB), o2(0xE5,0xDE), o2(0xE5,0xD9), o2(0xC1,0xA1), - o2(0xB7,0xD2), o2(0xBD,0xAB), o2(0xFB,0xD3), o2(0xBF,0xA5), - o2(0xC1,0xB6), o2(0xE5,0xE4), o2(0xE5,0xE6), o2(0xE5,0xE7), - o2(0xE5,0xE3), o2(0xE5,0xE5), o2(0xE5,0xDA), o2(0xE5,0xE2), - o2(0xE5,0xEA), o2(0xE5,0xE9), o2(0xCB,0xFA), o2(0xB7,0xAB), - o2(0xE5,0xE8), o2(0xE5,0xEC), o2(0xE5,0xEB), o2(0xE5,0xEF), - o2(0xE5,0xF1), UNDEF, -}; -static const BYTE_LOOKUP -to_EUC_JP_E7_B9 = { - to_SHIFT_JIS_E7_B9_offsets, - to_EUC_JP_E7_B9_infos -}; - -static const struct byte_lookup* const -to_EUC_JP_E7_BA_infos[16] = { - o2(0xBB,0xBC), o2(0xE5,0xED), o2(0xE5,0xF2), o2(0xE5,0xF3), - o2(0xF9,0xA1), o2(0xE5,0xF4), o2(0xE5,0xFA), o2(0xC5,0xBB), - o2(0xE5,0xF6), o2(0xE5,0xF5), o2(0xE5,0xF7), o2(0xE5,0xF8), - o2(0xE5,0xF9), o2(0xE5,0xFB), o2(0xE5,0xFC), UNDEF, -}; -static const BYTE_LOOKUP -to_EUC_JP_E7_BA = { - to_SHIFT_JIS_E7_BA_offsets, - to_EUC_JP_E7_BA_infos -}; - -static const struct byte_lookup* const -to_EUC_JP_E7_BC_infos[4] = { - o2(0xB4,0xCC), o2(0xE5,0xFD), o2(0xE5,0xFE), UNDEF, -}; -static const BYTE_LOOKUP -to_EUC_JP_E7_BC = { - to_SHIFT_JIS_E7_BC_offsets, - to_EUC_JP_E7_BC_infos -}; - -static const struct byte_lookup* const -to_EUC_JP_E7_BD_infos[25] = { - o2(0xE6,0xA1), o2(0xFB,0xD4), o2(0xE6,0xA2), o2(0xE6,0xA3), - o2(0xE6,0xA4), o2(0xE6,0xA5), o2(0xE6,0xA6), o2(0xE6,0xA8), - o2(0xE6,0xA7), o2(0xE6,0xA9), o2(0xE6,0xAA), o2(0xE6,0xAB), - o2(0xE6,0xAE), o2(0xE6,0xAC), o2(0xE6,0xAD), o2(0xBA,0xE1), - o2(0xB7,0xD3), o2(0xC3,0xD6), o2(0xC8,0xB3), o2(0xBD,0xF0), - o2(0xC7,0xCD), o2(0xC8,0xED), o2(0xE6,0xAF), o2(0xD8,0xED), - UNDEF, -}; -static const BYTE_LOOKUP -to_EUC_JP_E7_BD = { - to_SHIFT_JIS_E7_BD_offsets, - to_EUC_JP_E7_BD_infos -}; - -static const struct byte_lookup* const -to_EUC_JP_E7_BE_infos[26] = { - o2(0xE6,0xB0), o2(0xE6,0xB2), o2(0xCD,0xE5), o2(0xE6,0xB1), - o2(0xE6,0xB4), o2(0xE6,0xB3), o2(0xCD,0xD3), o2(0xE6,0xB5), - o2(0xC8,0xFE), o2(0xE6,0xB6), o2(0xE6,0xB9), o2(0xE6,0xB8), - o2(0xE6,0xB7), o2(0xFB,0xD5), o2(0xE6,0xBA), o2(0xB7,0xB2), - o2(0xC1,0xA2), o2(0xB5,0xC1), o2(0xE6,0xBE), o2(0xE6,0xBB), - o2(0xE6,0xBC), o2(0xE6,0xBF), o2(0xE6,0xC0), o2(0xE6,0xBD), - o2(0xB1,0xA9), UNDEF, -}; -static const BYTE_LOOKUP -to_EUC_JP_E7_BE = { - to_SHIFT_JIS_E7_BE_offsets, - to_EUC_JP_E7_BE_infos -}; - -static const struct byte_lookup* const -to_EUC_JP_E7_BF_infos[19] = { - o2(0xB2,0xA7), o2(0xE6,0xC2), o2(0xE6,0xC3), o2(0xE6,0xC4), - o2(0xCD,0xE2), o2(0xBD,0xAC), o2(0xE6,0xC6), o2(0xE6,0xC5), - o2(0xBF,0xE9), o2(0xE6,0xC7), o2(0xE6,0xC8), o2(0xE6,0xC9), - o2(0xB4,0xE5), o2(0xB4,0xCD), o2(0xE6,0xCA), o2(0xE6,0xCB), - o2(0xCB,0xDD), o2(0xCD,0xE3), UNDEF, -}; -static const BYTE_LOOKUP -to_EUC_JP_E7_BF = { - to_SHIFT_JIS_E7_BF_offsets, - to_EUC_JP_E7_BF_infos -}; - -static const struct byte_lookup* const -to_EUC_JP_E7_infos[64] = { - &to_EUC_JP_E7_80, &to_EUC_JP_E7_81, &to_EUC_JP_E7_82, &to_EUC_JP_E7_83, - &to_EUC_JP_E7_84, &to_EUC_JP_E7_85, &to_EUC_JP_E7_86, &to_EUC_JP_E7_87, - &to_EUC_JP_E7_88, &to_EUC_JP_E7_89, &to_EUC_JP_E7_8A, &to_EUC_JP_E7_8B, - &to_EUC_JP_E7_8C, &to_EUC_JP_E7_8D, &to_EUC_JP_E7_8E, &to_EUC_JP_E7_8F, - &to_EUC_JP_E7_90, &to_EUC_JP_E7_91, &to_EUC_JP_E7_92, &to_EUC_JP_E7_93, - &to_EUC_JP_E7_94, &to_EUC_JP_E7_95, &to_EUC_JP_E7_96, &to_EUC_JP_E7_97, - &to_EUC_JP_E7_98, &to_EUC_JP_E7_99, &to_EUC_JP_E7_9A, &to_EUC_JP_E7_9B, - &to_EUC_JP_E7_9C, &to_EUC_JP_E7_9D, &to_EUC_JP_E7_9E, &to_EUC_JP_E7_9F, - &to_EUC_JP_E7_A0, &to_EUC_JP_E7_A1, &to_EUC_JP_E7_A2, &to_EUC_JP_E7_A3, - &to_EUC_JP_E7_A4, &to_EUC_JP_E7_A5, &to_EUC_JP_E7_A6, &to_EUC_JP_E7_A7, - &to_EUC_JP_E7_A8, &to_EUC_JP_E7_A9, &to_EUC_JP_E7_AA, &to_EUC_JP_E7_AB, - &to_EUC_JP_E7_AC, &to_EUC_JP_E7_AD, &to_EUC_JP_E7_AE, &to_EUC_JP_E7_AF, - &to_EUC_JP_E7_B0, &to_EUC_JP_E7_B1, &to_EUC_JP_E7_B2, &to_EUC_JP_E7_B3, - &to_EUC_JP_E7_B4, &to_EUC_JP_E7_B5, &to_EUC_JP_E7_B6, &to_EUC_JP_E7_B7, - &to_EUC_JP_E7_B8, &to_EUC_JP_E7_B9, &to_EUC_JP_E7_BA, &to_EUC_JP_E7_BC, - &to_EUC_JP_E7_BD, &to_EUC_JP_E7_BE, &to_EUC_JP_E7_BF, UNDEF, -}; -static const BYTE_LOOKUP -to_EUC_JP_E7 = { - to_SHIFT_JIS_E7_offsets, - to_EUC_JP_E7_infos -}; - -static const struct byte_lookup* const -to_EUC_JP_E8_80_infos[23] = { - o2(0xCD,0xD4), o2(0xCF,0xB7), o2(0xB9,0xCD), o2(0xE6,0xCE), - o2(0xBC,0xD4), o2(0xE6,0xCD), o2(0xE6,0xCF), o2(0xBC,0xA9), - o2(0xC2,0xD1), o2(0xE6,0xD0), o2(0xB9,0xCC), o2(0xCC,0xD7), - o2(0xE6,0xD1), o2(0xE6,0xD2), o2(0xE6,0xD3), o2(0xE6,0xD4), - o2(0xE6,0xD5), o2(0xBC,0xAA), o2(0xCC,0xED), o2(0xE6,0xD7), - o2(0xC3,0xBF), o2(0xE6,0xD6), UNDEF, -}; -static const BYTE_LOOKUP -to_EUC_JP_E8_80 = { - to_SHIFT_JIS_E8_80_offsets, - to_EUC_JP_E8_80_infos -}; - -static const struct byte_lookup* const -to_EUC_JP_E8_81_infos[23] = { - o2(0xE6,0xD9), o2(0xE6,0xD8), o2(0xE6,0xDA), o2(0xC0,0xBB), - o2(0xE6,0xDB), o2(0xE6,0xDC), o2(0xCA,0xB9), o2(0xE6,0xDD), - o2(0xC1,0xEF), o2(0xE6,0xDE), o2(0xE6,0xDF), o2(0xCE,0xFE), - o2(0xE6,0xE2), o2(0xE6,0xE1), o2(0xE6,0xE0), o2(0xC4,0xB0), - o2(0xE6,0xE3), o2(0xBF,0xA6), o2(0xE6,0xE4), o2(0xE6,0xE5), - o2(0xCF,0xB8), o2(0xE6,0xE6), UNDEF, -}; -static const BYTE_LOOKUP -to_EUC_JP_E8_81 = { - to_SHIFT_JIS_E8_81_offsets, - to_EUC_JP_E8_81_infos -}; - -static const struct byte_lookup* const -to_EUC_JP_E8_82_infos[26] = { - o2(0xE6,0xE7), o2(0xE6,0xE9), o2(0xE6,0xE8), o2(0xC8,0xA5), - o2(0xC6,0xF9), o2(0xCF,0xBE), o2(0xC8,0xA9), o2(0xE6,0xEB), - o2(0xBE,0xD3), o2(0xC9,0xAA), o2(0xE6,0xEC), o2(0xE6,0xEA), - o2(0xB4,0xCE), o2(0xB8,0xD4), o2(0xBB,0xE8), o2(0xC8,0xEE), - o2(0xB8,0xAA), o2(0xCB,0xC3), o2(0xE6,0xEF), o2(0xE6,0xED), - o2(0xB9,0xCE), o2(0xB9,0xCF), o2(0xB0,0xE9), o2(0xBA,0xE8), - o2(0xC7,0xD9), UNDEF, -}; -static const BYTE_LOOKUP -to_EUC_JP_E8_82 = { - to_SHIFT_JIS_E8_82_offsets, - to_EUC_JP_E8_82_infos -}; - -static const struct byte_lookup* const -to_EUC_JP_E8_83_infos[21] = { - o2(0xB0,0xDF), o2(0xE6,0xF4), o2(0xC3,0xC0), o2(0xC7,0xD8), - o2(0xC2,0xDB), o2(0xE6,0xF6), o2(0xE6,0xF2), o2(0xE6,0xF5), - o2(0xE6,0xF0), o2(0xE6,0xF3), o2(0xCB,0xA6), o2(0xB8,0xD5), - o2(0xB0,0xFD), o2(0xE6,0xF1), o2(0xE6,0xF8), o2(0xE6,0xF9), - o2(0xC6,0xB9), o2(0xB6,0xBB), o2(0xE7,0xA6), o2(0xC7,0xBD), - UNDEF, -}; -static const BYTE_LOOKUP -to_EUC_JP_E8_83 = { - to_SHIFT_JIS_E8_83_offsets, - to_EUC_JP_E8_83_infos -}; - -static const struct byte_lookup* const -to_EUC_JP_E8_84_infos[17] = { - o2(0xBB,0xE9), o2(0xB6,0xBC), o2(0xC0,0xC8), o2(0xCF,0xC6), - o2(0xCC,0xAE), o2(0xE6,0xF7), o2(0xC0,0xD4), o2(0xB5,0xD3), - o2(0xE6,0xFA), o2(0xE6,0xFC), o2(0xE6,0xFB), o2(0xE6,0xFD), - o2(0xC3,0xA6), o2(0xC7,0xBE), o2(0xC4,0xB1), o2(0xE7,0xA3), - UNDEF, -}; -static const BYTE_LOOKUP -to_EUC_JP_E8_84 = { - to_SHIFT_JIS_E8_84_offsets, - to_EUC_JP_E8_84_infos -}; - -static const struct byte_lookup* const -to_EUC_JP_E8_85_infos[21] = { - o2(0xE7,0xA2), o2(0xE6,0xFE), o2(0xBF,0xD5), o2(0xC9,0xE5), - o2(0xE7,0xA5), o2(0xE7,0xA4), o2(0xB9,0xD0), o2(0xCF,0xD3), - o2(0xE7,0xB5), o2(0xE7,0xA9), o2(0xE7,0xAA), o2(0xBC,0xF0), - o2(0xE7,0xA8), o2(0xB9,0xF8), o2(0xE7,0xA7), o2(0xE7,0xAB), - o2(0xC4,0xB2), o2(0xCA,0xA2), o2(0xC1,0xA3), o2(0xC2,0xDC), - UNDEF, -}; -static const BYTE_LOOKUP -to_EUC_JP_E8_85 = { - to_SHIFT_JIS_E8_85_offsets, - to_EUC_JP_E8_85_infos -}; - -static const struct byte_lookup* const -to_EUC_JP_E8_86_infos[25] = { - o2(0xE7,0xAF), o2(0xE7,0xB0), o2(0xE7,0xAC), o2(0xE7,0xAD), - o2(0xE7,0xAE), o2(0xB9,0xD1), o2(0xE7,0xB6), o2(0xE7,0xB2), - o2(0xC9,0xE6), o2(0xCB,0xEC), o2(0xC9,0xA8), o2(0xE7,0xB1), - o2(0xE7,0xB4), o2(0xE7,0xB3), o2(0xCB,0xC4), o2(0xE7,0xB7), - o2(0xE7,0xB8), o2(0xC1,0xB7), o2(0xE7,0xB9), o2(0xE7,0xBB), - o2(0xE7,0xBF), o2(0xE7,0xBC), o2(0xE7,0xBA), o2(0xC7,0xBF), - UNDEF, -}; -static const BYTE_LOOKUP -to_EUC_JP_E8_86 = { - to_SHIFT_JIS_E8_86_offsets, - to_EUC_JP_E8_86_infos -}; - -static const struct byte_lookup* const -to_EUC_JP_E8_87_infos[26] = { - o2(0xE7,0xBD), o2(0xE7,0xBE), o2(0xB2,0xB2), o2(0xE7,0xC5), - o2(0xE7,0xC0), o2(0xE7,0xC1), o2(0xE7,0xC2), o2(0xC2,0xA1), - o2(0xE7,0xC4), o2(0xE7,0xC3), o2(0xE7,0xC6), o2(0xE7,0xC7), - o2(0xE7,0xC8), o2(0xBF,0xC3), o2(0xB2,0xE9), o2(0xE7,0xC9), - o2(0xCE,0xD7), o2(0xBC,0xAB), o2(0xBD,0xAD), o2(0xBB,0xEA), - o2(0xC3,0xD7), o2(0xE7,0xCA), o2(0xE7,0xCB), o2(0xB1,0xB1), - o2(0xE7,0xCC), UNDEF, -}; -static const BYTE_LOOKUP -to_EUC_JP_E8_87 = { - to_SHIFT_JIS_E8_87_offsets, - to_EUC_JP_E8_87_infos -}; - -static const struct byte_lookup* const -to_EUC_JP_E8_88_infos[31] = { - o2(0xE7,0xCD), o2(0xE7,0xCE), o2(0xE7,0xCF), o2(0xE7,0xD0), - o2(0xB6,0xBD), o2(0xDA,0xAA), o2(0xE7,0xD1), o2(0xC0,0xE5), - o2(0xE7,0xD2), o2(0xBC,0xCB), o2(0xE7,0xD3), o2(0xD0,0xB0), - o2(0xE7,0xD4), o2(0xCA,0xDE), o2(0xB4,0xDC), o2(0xC1,0xA4), - o2(0xBD,0xD8), o2(0xC9,0xF1), o2(0xBD,0xAE), o2(0xE7,0xD5), - o2(0xB9,0xD2), o2(0xE7,0xD6), o2(0xC8,0xCC), o2(0xE7,0xE4), - o2(0xE7,0xD8), o2(0xC2,0xC9), o2(0xC7,0xF5), o2(0xB8,0xBF), - o2(0xE7,0xD7), o2(0xC1,0xA5), UNDEF, -}; -static const BYTE_LOOKUP -to_EUC_JP_E8_88 = { - to_SHIFT_JIS_E8_88_offsets, - to_EUC_JP_E8_88_infos -}; - -static const struct byte_lookup* const -to_EUC_JP_E8_89_infos[22] = { - o2(0xE7,0xD9), o2(0xC4,0xFA), o2(0xE7,0xDB), o2(0xE7,0xDA), - o2(0xE7,0xDD), o2(0xE7,0xDC), o2(0xE7,0xDE), o2(0xE7,0xE0), - o2(0xE7,0xDF), o2(0xB4,0xCF), o2(0xE7,0xE1), o2(0xE7,0xE2), - o2(0xE7,0xE3), o2(0xBA,0xB1), o2(0xCE,0xC9), o2(0xE7,0xE5), - o2(0xBF,0xA7), o2(0xB1,0xF0), o2(0xE7,0xE6), o2(0xE7,0xE7), - o2(0xE7,0xE8), UNDEF, -}; -static const BYTE_LOOKUP -to_EUC_JP_E8_89 = { - to_SHIFT_JIS_E8_89_offsets, - to_EUC_JP_E8_89_infos -}; - -static const struct byte_lookup* const -to_EUC_JP_E8_8A_infos[19] = { - o2(0xB0,0xF2), o2(0xE7,0xE9), o2(0xE7,0xEA), o2(0xC9,0xE7), - o2(0xBC,0xC7), o2(0xE7,0xEC), o2(0xB3,0xA9), o2(0xB0,0xB2), - o2(0xE7,0xEB), o2(0xE7,0xEE), o2(0xC7,0xCE), o2(0xBF,0xC4), - o2(0xB2,0xD6), o2(0xCB,0xA7), o2(0xB7,0xDD), o2(0xB6,0xDC), - o2(0xE7,0xED), o2(0xB2,0xEA), UNDEF, -}; -static const BYTE_LOOKUP -to_EUC_JP_E8_8A = { - to_SHIFT_JIS_E8_8A_offsets, - to_EUC_JP_E8_8A_infos -}; - -static const struct byte_lookup* const -to_EUC_JP_E8_8B_infos[24] = { - o2(0xB4,0xA3), o2(0xB1,0xF1), o2(0xE7,0xF2), o2(0xCE,0xEA), - o2(0xC2,0xDD), o2(0xC9,0xC4), o2(0xE7,0xFE), o2(0xB2,0xD7), - o2(0xE7,0xFC), o2(0xE7,0xFA), o2(0xE7,0xF1), o2(0xE7,0xEF), - o2(0xE7,0xF0), o2(0xBC,0xE3), o2(0xB6,0xEC), o2(0xC3,0xF7), - o2(0xC6,0xD1), o2(0xB1,0xD1), o2(0xE7,0xF4), o2(0xE7,0xF3), - o2(0xE7,0xF9), o2(0xE7,0xF5), o2(0xE7,0xF8), UNDEF, -}; -static const BYTE_LOOKUP -to_EUC_JP_E8_8B = { - to_SHIFT_JIS_E8_8B_offsets, - to_EUC_JP_E8_8B_infos -}; - -static const struct byte_lookup* const -to_EUC_JP_E8_8C_infos[24] = { - o2(0xFB,0xD7), o2(0xCC,0xD0), o2(0xE7,0xF7), o2(0xB2,0xD8), - o2(0xB3,0xFD), o2(0xE7,0xFB), o2(0xE7,0xFD), o2(0xB7,0xD4), - o2(0xE8,0xA3), o2(0xE8,0xAC), o2(0xE8,0xAD), o2(0xB0,0xAB), - o2(0xE8,0xB4), o2(0xB0,0xF1), o2(0xE8,0xAB), o2(0xE8,0xAA), - o2(0xE8,0xA5), o2(0xE8,0xA4), o2(0xE8,0xA2), o2(0xE8,0xA1), - o2(0xC3,0xE3), o2(0xC2,0xFB), o2(0xE8,0xA7), UNDEF, -}; -static const BYTE_LOOKUP -to_EUC_JP_E8_8C = { - to_SHIFT_JIS_E8_8C_offsets, - to_EUC_JP_E8_8C_infos -}; - -static const struct byte_lookup* const -to_EUC_JP_E8_8D_infos[16] = { - o2(0xE8,0xA6), o2(0xE8,0xA9), o2(0xC1,0xF0), o2(0xB7,0xD5), - o2(0xB1,0xC1), o2(0xE8,0xA8), o2(0xB9,0xD3), o2(0xC1,0xF1), - o2(0xFB,0xD8), o2(0xE8,0xBA), o2(0xE8,0xBB), o2(0xB2,0xD9), - o2(0xB2,0xAE), o2(0xE8,0xB8), o2(0xFB,0xD9), UNDEF, -}; -static const BYTE_LOOKUP -to_EUC_JP_E8_8D = { - to_SHIFT_JIS_E8_8D_offsets, - to_EUC_JP_E8_8D_infos -}; - -static const struct byte_lookup* const -to_EUC_JP_E8_8E_infos[19] = { - o2(0xE8,0xAE), o2(0xE8,0xB6), o2(0xE8,0xBD), o2(0xE8,0xB7), - o2(0xE8,0xB5), o2(0xE7,0xF6), o2(0xE8,0xB3), o2(0xE8,0xAF), - o2(0xB4,0xD0), o2(0xE8,0xB1), o2(0xE8,0xBC), o2(0xE8,0xB2), - o2(0xE8,0xBE), o2(0xE8,0xB0), o2(0xC7,0xFC), o2(0xCD,0xE9), - o2(0xE8,0xB9), o2(0xE8,0xCF), UNDEF, -}; -static const BYTE_LOOKUP -to_EUC_JP_E8_8E = { - to_SHIFT_JIS_E8_8E_offsets, - to_EUC_JP_E8_8E_infos -}; - -static const struct byte_lookup* const -to_EUC_JP_E8_8F_infos[24] = { - o2(0xE8,0xC7), o2(0xBF,0xFB), o2(0xFB,0xDA), o2(0xB5,0xC6), - o2(0xB6,0xDD), o2(0xE8,0xC2), o2(0xB2,0xDB), o2(0xBE,0xD4), - o2(0xE8,0xC5), o2(0xBA,0xDA), o2(0xC5,0xD1), o2(0xE8,0xCA), - o2(0xCA,0xEE), o2(0xE8,0xC1), o2(0xB2,0xDA), o2(0xB8,0xD6), - o2(0xC9,0xA9), o2(0xE8,0xCB), o2(0xE8,0xBF), o2(0xFB,0xDB), - o2(0xE8,0xC8), o2(0xE8,0xD2), o2(0xE8,0xC3), UNDEF, -}; -static const BYTE_LOOKUP -to_EUC_JP_E8_8F = { - to_SHIFT_JIS_E8_8F_offsets, - to_EUC_JP_E8_8F_infos -}; - -static const struct byte_lookup* const -to_EUC_JP_E8_90_infos[19] = { - o2(0xE8,0xC4), o2(0xC6,0xBA), o2(0xE8,0xC9), o2(0xE8,0xC6), - o2(0xCB,0xA8), o2(0xE8,0xCC), o2(0xB0,0xE0), o2(0xE8,0xC0), - o2(0xE8,0xCE), o2(0xE8,0xCD), o2(0xC7,0xEB), o2(0xE8,0xD4), - o2(0xE8,0xDF), o2(0xB3,0xFE), o2(0xE8,0xE2), o2(0xE8,0xD0), - o2(0xE8,0xD5), o2(0xCD,0xEE), UNDEF, -}; -static const BYTE_LOOKUP -to_EUC_JP_E8_90 = { - to_SHIFT_JIS_E8_90_offsets, - to_EUC_JP_E8_90_infos -}; - -static const struct byte_lookup* const -to_EUC_JP_E8_91_infos[22] = { - o2(0xE8,0xDE), o2(0xFB,0xDC), o2(0xCD,0xD5), o2(0xCE,0xAA), - o2(0xC3,0xF8), o2(0xB3,0xEB), o2(0xC9,0xF2), o2(0xE8,0xE4), - o2(0xC6,0xA1), o2(0xB0,0xB1), o2(0xE8,0xDD), o2(0xE8,0xD9), - o2(0xC1,0xF2), o2(0xE8,0xD3), o2(0xE8,0xDB), o2(0xE8,0xE0), - o2(0xC7,0xAC), o2(0xB0,0xAA), o2(0xE8,0xD8), o2(0xE8,0xE1), - o2(0xC9,0xF8), UNDEF, -}; -static const BYTE_LOOKUP -to_EUC_JP_E8_91 = { - to_SHIFT_JIS_E8_91_offsets, - to_EUC_JP_E8_91_infos -}; - -static const struct byte_lookup* const -to_EUC_JP_E8_92_infos[18] = { - o2(0xE8,0xDC), o2(0xE8,0xD7), o2(0xBE,0xD5), o2(0xBD,0xAF), - o2(0xBC,0xAC), o2(0xCC,0xD8), o2(0xC9,0xC7), o2(0xE8,0xE7), - o2(0xE8,0xF0), o2(0xE8,0xDA), o2(0xB3,0xF7), o2(0xFB,0xDD), - o2(0xBE,0xF8), o2(0xE8,0xE5), o2(0xE8,0xEA), o2(0xC1,0xF3), - o2(0xE8,0xE6), UNDEF, -}; -static const BYTE_LOOKUP -to_EUC_JP_E8_92 = { - to_SHIFT_JIS_E8_92_offsets, - to_EUC_JP_E8_92_infos -}; - -static const struct byte_lookup* const -to_EUC_JP_E8_93_infos[19] = { - o2(0xE8,0xED), o2(0xC3,0xDF), o2(0xE8,0xEE), o2(0xCD,0xD6), - o2(0xE8,0xE3), o2(0xB3,0xB8), o2(0xE8,0xE9), o2(0xE8,0xEC), - o2(0xCC,0xAC), o2(0xE8,0xEF), o2(0xE8,0xE8), o2(0xE8,0xEB), - o2(0xF9,0xA5), o2(0xCB,0xA9), o2(0xCF,0xA1), o2(0xE8,0xF3), - o2(0xE8,0xFA), o2(0xE8,0xF2), UNDEF, -}; -static const BYTE_LOOKUP -to_EUC_JP_E8_93 = { - to_SHIFT_JIS_E8_93_offsets, - to_EUC_JP_E8_93_infos -}; - -static const struct byte_lookup* const -to_EUC_JP_E8_94_infos[17] = { - o2(0xBC,0xC3), o2(0xE8,0xD1), o2(0xCA,0xCE), o2(0xCC,0xA2), - o2(0xE8,0xF9), o2(0xE8,0xF8), o2(0xE8,0xF4), o2(0xE8,0xF5), - o2(0xB1,0xB6), o2(0xE8,0xF7), o2(0xE8,0xF1), o2(0xC4,0xD5), - o2(0xE8,0xF6), o2(0xB0,0xFE), o2(0xC2,0xA2), o2(0xCA,0xC3), - UNDEF, -}; -static const BYTE_LOOKUP -to_EUC_JP_E8_94 = { - to_SHIFT_JIS_E8_94_offsets, - to_EUC_JP_E8_94_infos -}; - -static const struct byte_lookup* const -to_EUC_JP_E8_95_infos[23] = { - o2(0xE8,0xFB), o2(0xE9,0xA1), o2(0xC8,0xD9), o2(0xE8,0xFE), - o2(0xBE,0xD6), o2(0xBC,0xC9), o2(0xE9,0xA3), o2(0xB6,0xBE), - o2(0xFB,0xDE), o2(0xE9,0xA4), o2(0xC9,0xF9), o2(0xE8,0xFD), - o2(0xFB,0xDF), o2(0xE8,0xD6), o2(0xE8,0xFC), o2(0xCF,0xCF), - o2(0xC6,0xA2), o2(0xC9,0xF3), o2(0xFB,0xE0), o2(0xE9,0xAB), - o2(0xE9,0xB1), o2(0xE9,0xB2), UNDEF, -}; -static const BYTE_LOOKUP -to_EUC_JP_E8_95 = { - to_SHIFT_JIS_E8_95_offsets, - to_EUC_JP_E8_95_infos -}; - -static const struct byte_lookup* const -to_EUC_JP_E8_96_infos[25] = { - o2(0xE9,0xA5), o2(0xC7,0xF6), o2(0xE9,0xAF), o2(0xE9,0xA7), - o2(0xE9,0xA9), o2(0xE9,0xB3), o2(0xE9,0xA8), o2(0xE9,0xAC), - o2(0xB1,0xF2), o2(0xC6,0xE5), o2(0xE9,0xAD), o2(0xE9,0xB0), - o2(0xE9,0xA6), o2(0xC1,0xA6), o2(0xE9,0xAA), o2(0xBB,0xA7), - o2(0xBF,0xC5), o2(0xB7,0xB0), o2(0xCC,0xF4), o2(0xCC,0xF9), - o2(0xBD,0xF2), o2(0xFB,0xE2), o2(0xE9,0xB7), o2(0xE9,0xB5), - UNDEF, -}; -static const BYTE_LOOKUP -to_EUC_JP_E8_96 = { - to_SHIFT_JIS_E8_96_offsets, - to_EUC_JP_E8_96_infos -}; - -static const struct byte_lookup* const -to_EUC_JP_E8_97_infos[18] = { - o2(0xCF,0xCE), o2(0xE9,0xB4), o2(0xCD,0xF5), o2(0xE9,0xB6), - o2(0xE9,0xB8), o2(0xE9,0xB9), o2(0xE9,0xBC), o2(0xE9,0xBA), - o2(0xC6,0xA3), o2(0xE9,0xBB), o2(0xC8,0xCD), o2(0xE9,0xAE), - o2(0xBD,0xF3), o2(0xE9,0xBD), o2(0xE9,0xC2), o2(0xC1,0xF4), - o2(0xE9,0xC1), UNDEF, -}; -static const BYTE_LOOKUP -to_EUC_JP_E8_97 = { - to_SHIFT_JIS_E8_97_offsets, - to_EUC_JP_E8_97_infos -}; - -static const struct byte_lookup* const -to_EUC_JP_E8_98_infos[15] = { - o2(0xE9,0xA2), o2(0xE9,0xC3), o2(0xC1,0xC9), o2(0xE9,0xBE), - o2(0xE9,0xC0), o2(0xE9,0xBF), o2(0xDD,0xB1), o2(0xDD,0xA2), - o2(0xE9,0xC5), o2(0xE9,0xC4), o2(0xCD,0xF6), o2(0xE2,0xBC), - o2(0xE9,0xC6), o2(0xE9,0xC7), UNDEF, -}; -static const BYTE_LOOKUP -to_EUC_JP_E8_98 = { - to_SHIFT_JIS_E8_98_offsets, - to_EUC_JP_E8_98_infos -}; - -static const struct byte_lookup* const -to_EUC_JP_E8_99_infos[15] = { - o2(0xE9,0xC8), o2(0xB8,0xD7), o2(0xB5,0xD4), o2(0xE9,0xCA), - o2(0xD1,0xDD), o2(0xB5,0xF5), o2(0xCE,0xBA), o2(0xB6,0xF3), - o2(0xE9,0xCB), o2(0xE9,0xCC), o2(0xC3,0xEE), o2(0xE9,0xCD), - o2(0xC6,0xFA), o2(0xB0,0xBA), UNDEF, -}; -static const BYTE_LOOKUP -to_EUC_JP_E8_99 = { - to_SHIFT_JIS_E8_99_offsets, - to_EUC_JP_E8_99_infos -}; - -static const struct byte_lookup* const -to_EUC_JP_E8_9A_infos[14] = { - o2(0xB2,0xE3), o2(0xE9,0xD2), o2(0xE9,0xD3), o2(0xE9,0xCE), - o2(0xBB,0xBD), o2(0xE9,0xCF), o2(0xC7,0xC2), o2(0xE9,0xD0), - o2(0xE9,0xD1), o2(0xE9,0xDB), o2(0xE9,0xD5), o2(0xE9,0xD8), - o2(0xE9,0xD4), UNDEF, -}; -static const BYTE_LOOKUP -to_EUC_JP_E8_9A = { - to_SHIFT_JIS_E8_9A_offsets, - to_EUC_JP_E8_9A_infos -}; - -static const struct byte_lookup* const -to_EUC_JP_E8_9B_infos[23] = { - o2(0xE9,0xD6), o2(0xE9,0xD7), o2(0xBC,0xD8), o2(0xE9,0xD9), - o2(0xC3,0xC1), o2(0xB7,0xD6), o2(0xB3,0xC2), o2(0xE9,0xDC), - o2(0xB3,0xBF), o2(0xE9,0xE1), o2(0xE9,0xDD), o2(0xE9,0xE0), - o2(0xC8,0xBA), o2(0xE9,0xDE), o2(0xE9,0xDF), o2(0xC9,0xC8), - o2(0xC8,0xDA), o2(0xE9,0xE2), o2(0xC2,0xFD), o2(0xE9,0xEC), - o2(0xE9,0xE8), o2(0xB2,0xEB), UNDEF, -}; -static const BYTE_LOOKUP -to_EUC_JP_E8_9B = { - to_SHIFT_JIS_E8_9B_offsets, - to_EUC_JP_E8_9B_infos -}; - -static const struct byte_lookup* const -to_EUC_JP_E8_9C_infos[20] = { - o2(0xE9,0xE6), o2(0xCB,0xAA), o2(0xE9,0xE7), o2(0xE9,0xE4), - o2(0xE9,0xE5), o2(0xE9,0xEA), o2(0xE9,0xED), o2(0xE9,0xEB), - o2(0xE9,0xE9), o2(0xE9,0xE3), o2(0xC3,0xD8), o2(0xE9,0xF4), - o2(0xCC,0xAA), o2(0xE9,0xF2), o2(0xE9,0xF3), o2(0xE9,0xEE), - o2(0xE9,0xF0), o2(0xE9,0xF1), o2(0xE9,0xEF), UNDEF, -}; -static const BYTE_LOOKUP -to_EUC_JP_E8_9C = { - to_SHIFT_JIS_E8_9C_offsets, - to_EUC_JP_E8_9C_infos -}; - -static const struct byte_lookup* const -to_EUC_JP_E8_9D_infos[20] = { - o2(0xC0,0xE6), o2(0xCF,0xB9), o2(0xE9,0xF8), o2(0xE9,0xF9), - o2(0xEA,0xA1), o2(0xBF,0xAA), o2(0xE9,0xFB), o2(0xE9,0xFE), - o2(0xE9,0xF6), o2(0xE9,0xF5), o2(0xEA,0xA2), o2(0xB2,0xDC), - o2(0xE9,0xFC), o2(0xEA,0xA3), o2(0xE9,0xFD), o2(0xE9,0xFA), - o2(0xC4,0xB3), o2(0xE9,0xF7), o2(0xC7,0xE8), UNDEF, -}; -static const BYTE_LOOKUP -to_EUC_JP_E8_9D = { - to_SHIFT_JIS_E8_9D_offsets, - to_EUC_JP_E8_9D_infos -}; - -static const struct byte_lookup* const -to_EUC_JP_E8_9E_infos[11] = { - o2(0xEA,0xA7), o2(0xCD,0xBB), o2(0xEA,0xA6), o2(0xEA,0xA5), - o2(0xEA,0xAE), o2(0xEA,0xA8), o2(0xEA,0xB0), o2(0xCD,0xE6), - o2(0xEA,0xB3), o2(0xEA,0xAA), UNDEF, -}; -static const BYTE_LOOKUP -to_EUC_JP_E8_9E = { - to_SHIFT_JIS_E8_9E_offsets, - to_EUC_JP_E8_9E_infos -}; - -static const struct byte_lookup* const -to_EUC_JP_E8_9F_infos[16] = { - o2(0xEA,0xAB), o2(0xEA,0xAF), o2(0xEA,0xB2), o2(0xEA,0xB1), - o2(0xEA,0xA9), o2(0xEA,0xAC), o2(0xEA,0xBD), o2(0xEA,0xB6), - o2(0xEA,0xB4), o2(0xEA,0xB5), o2(0xEA,0xBA), o2(0xEA,0xBB), - o2(0xB3,0xAA), o2(0xB5,0xC2), o2(0xEA,0xB9), UNDEF, -}; -static const BYTE_LOOKUP -to_EUC_JP_E8_9F = { - to_SHIFT_JIS_E8_9F_offsets, - to_EUC_JP_E8_9F_infos -}; - -static const struct byte_lookup* const -to_EUC_JP_E8_A0_infos[17] = { - o2(0xEA,0xA4), o2(0xFB,0xE5), o2(0xEA,0xB8), o2(0xEA,0xBC), - o2(0xEA,0xB7), o2(0xEA,0xBE), o2(0xEA,0xC0), o2(0xEA,0xBF), - o2(0xEA,0xC2), o2(0xEA,0xC1), o2(0xE9,0xDA), o2(0xEA,0xC6), - o2(0xEA,0xC3), o2(0xEA,0xC4), o2(0xEA,0xC5), o2(0xEA,0xC7), - UNDEF, -}; -static const BYTE_LOOKUP -to_EUC_JP_E8_A0 = { - to_SHIFT_JIS_E8_A0_offsets, - to_EUC_JP_E8_A0_infos -}; - -static const struct byte_lookup* const -to_EUC_JP_E8_A1_infos[26] = { - o2(0xB7,0xEC), o2(0xEA,0xC9), o2(0xEA,0xC8), o2(0xBD,0xB0), - o2(0xB9,0xD4), o2(0xDE,0xA7), o2(0xEA,0xCA), o2(0xBD,0xD1), - o2(0xB3,0xB9), o2(0xEA,0xCB), o2(0xB1,0xD2), o2(0xBE,0xD7), - o2(0xEA,0xCC), o2(0xB9,0xD5), o2(0xEA,0xCD), o2(0xB0,0xE1), - o2(0xC9,0xBD), o2(0xEA,0xCE), o2(0xBF,0xEA), o2(0xEA,0xD5), - o2(0xEA,0xD2), o2(0xC3,0xEF), o2(0xEA,0xD3), o2(0xEA,0xD0), - o2(0xB6,0xDE), UNDEF, -}; -static const BYTE_LOOKUP -to_EUC_JP_E8_A1 = { - to_SHIFT_JIS_E8_A1_offsets, - to_EUC_JP_E8_A1_infos -}; - -static const struct byte_lookup* const -to_EUC_JP_E8_A2_infos[21] = { - o2(0xEA,0xCF), o2(0xEA,0xD6), o2(0xB7,0xB6), o2(0xC2,0xDE), - o2(0xEA,0xDC), o2(0xEA,0xD8), o2(0xC2,0xB5), o2(0xEA,0xD7), - o2(0xEA,0xDA), o2(0xEA,0xD1), o2(0xEA,0xDB), o2(0xEA,0xDD), - o2(0xC8,0xEF), o2(0xEA,0xD9), o2(0xEA,0xDE), o2(0xEA,0xE0), - o2(0xB8,0xD3), o2(0xEA,0xD4), o2(0xB0,0xC1), o2(0xEA,0xDF), - UNDEF, -}; -static const BYTE_LOOKUP -to_EUC_JP_E8_A2 = { - to_SHIFT_JIS_E8_A2_offsets, - to_EUC_JP_E8_A2_infos -}; - -static const struct byte_lookup* const -to_EUC_JP_E8_A3_infos[25] = { - o2(0xBA,0xDB), o2(0xCE,0xF6), o2(0xEA,0xE1), o2(0xEA,0xE2), - o2(0xC1,0xF5), o2(0xCE,0xA2), o2(0xEA,0xE3), o2(0xCD,0xB5), - o2(0xEA,0xE4), o2(0xEA,0xE5), o2(0xCA,0xE4), o2(0xEA,0xE6), - o2(0xBA,0xC0), o2(0xCE,0xA3), o2(0xEA,0xEB), o2(0xEA,0xEC), - o2(0xBE,0xD8), o2(0xEA,0xEA), o2(0xFB,0xE6), o2(0xCD,0xE7), - o2(0xEA,0xE7), o2(0xEA,0xE9), o2(0xC0,0xBD), o2(0xBF,0xFE), - UNDEF, -}; -static const BYTE_LOOKUP -to_EUC_JP_E8_A3 = { - to_SHIFT_JIS_E8_A3_offsets, - to_EUC_JP_E8_A3_infos -}; - -static const struct byte_lookup* const -to_EUC_JP_E8_A4_infos[18] = { - o2(0xEA,0xE8), o2(0xEA,0xED), o2(0xCA,0xA3), o2(0xEA,0xEF), - o2(0xEA,0xEE), o2(0xB3,0xEC), o2(0xCB,0xAB), o2(0xEA,0xF0), - o2(0xF9,0xA2), o2(0xEA,0xFC), o2(0xEA,0xF2), o2(0xEA,0xF3), - o2(0xEA,0xF4), o2(0xEA,0xF5), o2(0xEA,0xF9), o2(0xEA,0xFA), - o2(0xEA,0xF8), UNDEF, -}; -static const BYTE_LOOKUP -to_EUC_JP_E8_A4 = { - to_SHIFT_JIS_E8_A4_offsets, - to_EUC_JP_E8_A4_infos -}; - -static const struct byte_lookup* const -to_EUC_JP_E8_A5_infos[20] = { - o2(0xEA,0xF6), o2(0xEA,0xF1), o2(0xEA,0xF7), o2(0xEA,0xFB), - o2(0xF0,0xB7), o2(0xB2,0xA8), o2(0xEA,0xFE), o2(0xB6,0xDF), - o2(0xEA,0xFD), o2(0xEB,0xA2), o2(0xEB,0xA1), o2(0xEB,0xA4), - o2(0xEB,0xA3), o2(0xEB,0xA5), o2(0xBD,0xB1), o2(0xEB,0xA6), - o2(0xEB,0xA7), o2(0xEB,0xA8), o2(0xC0,0xBE), UNDEF, -}; -static const BYTE_LOOKUP -to_EUC_JP_E8_A5 = { - to_SHIFT_JIS_E8_A5_offsets, - to_EUC_JP_E8_A5_infos -}; - -static const struct byte_lookup* const -to_EUC_JP_E8_A6_infos[26] = { - o2(0xCD,0xD7), o2(0xEB,0xA9), o2(0xCA,0xA4), o2(0xC7,0xC6), - o2(0xEB,0xAA), o2(0xEB,0xAB), o2(0xB8,0xAB), o2(0xB5,0xAC), - o2(0xEB,0xAC), o2(0xBB,0xEB), o2(0xC7,0xC1), o2(0xEB,0xAD), - o2(0xB3,0xD0), o2(0xEB,0xAE), o2(0xEB,0xB0), o2(0xCD,0xF7), - o2(0xEB,0xAF), o2(0xBF,0xC6), o2(0xEB,0xB1), o2(0xEB,0xB2), - o2(0xEB,0xB3), o2(0xB4,0xD1), o2(0xEB,0xB4), o2(0xEB,0xB5), - o2(0xEB,0xB6), UNDEF, -}; -static const BYTE_LOOKUP -to_EUC_JP_E8_A6 = { - to_SHIFT_JIS_E8_A6_offsets, - to_EUC_JP_E8_A6_infos -}; - -static const struct byte_lookup* const -to_EUC_JP_E8_A7_infos[11] = { - o2(0xEB,0xB7), o2(0xB3,0xD1), o2(0xEB,0xB8), o2(0xEB,0xB9), - o2(0xEB,0xBA), o2(0xB2,0xF2), o2(0xBF,0xA8), o2(0xEB,0xBB), - o2(0xEB,0xBC), o2(0xEB,0xBD), UNDEF, -}; -static const BYTE_LOOKUP -to_EUC_JP_E8_A7 = { - to_SHIFT_JIS_E8_A7_offsets, - to_EUC_JP_E8_A7_infos -}; - -static const struct byte_lookup* const -to_EUC_JP_E8_A8_infos[29] = { - o2(0xB8,0xC0), o2(0xC4,0xFB), o2(0xEB,0xBE), o2(0xB7,0xD7), - o2(0xBF,0xD6), o2(0xEB,0xC1), o2(0xC6,0xA4), o2(0xEB,0xC0), - o2(0xFB,0xE7), o2(0xB7,0xB1), o2(0xEB,0xBF), o2(0xC2,0xF7), - o2(0xB5,0xAD), o2(0xEB,0xC2), o2(0xEB,0xC3), o2(0xBE,0xD9), - o2(0xB7,0xED), o2(0xEB,0xC4), o2(0xCB,0xAC), o2(0xC0,0xDF), - o2(0xB5,0xF6), o2(0xCC,0xF5), o2(0xC1,0xCA), o2(0xEB,0xC5), - o2(0xFB,0xE8), o2(0xBF,0xC7), o2(0xC3,0xF0), o2(0xBE,0xDA), - UNDEF, -}; -static const BYTE_LOOKUP -to_EUC_JP_E8_A8 = { - to_SHIFT_JIS_E8_A8_offsets, - to_EUC_JP_E8_A8_infos -}; - -static const struct byte_lookup* const -to_EUC_JP_E8_A9_infos[26] = { - o2(0xEB,0xC6), o2(0xEB,0xC9), o2(0xEB,0xCA), o2(0xBA,0xBE), - o2(0xC2,0xC2), o2(0xEB,0xC8), o2(0xBE,0xDB), o2(0xC9,0xBE), - o2(0xEB,0xC7), o2(0xBB,0xEC), o2(0xB1,0xD3), o2(0xEB,0xCE), - o2(0xB7,0xD8), o2(0xBB,0xEE), o2(0xBB,0xED), o2(0xCF,0xCD), - o2(0xEB,0xCD), o2(0xEB,0xCC), o2(0xC1,0xA7), o2(0xB5,0xCD), - o2(0xCF,0xC3), o2(0xB3,0xBA), o2(0xBE,0xDC), o2(0xFB,0xE9), - o2(0xEB,0xCB), UNDEF, -}; -static const BYTE_LOOKUP -to_EUC_JP_E8_A9 = { - to_SHIFT_JIS_E8_A9_offsets, - to_EUC_JP_E8_A9_infos -}; - -static const struct byte_lookup* const -to_EUC_JP_E8_AA_infos[30] = { - o2(0xEB,0xD0), o2(0xEB,0xD1), o2(0xEB,0xCF), o2(0xB8,0xD8), - o2(0xCD,0xC0), o2(0xBB,0xEF), o2(0xC7,0xA7), o2(0xEB,0xD4), - o2(0xC0,0xC0), o2(0xC3,0xC2), o2(0xCD,0xB6), o2(0xEB,0xD7), - o2(0xB8,0xEC), o2(0xC0,0xBF), o2(0xEB,0xD3), o2(0xEB,0xD8), - o2(0xB8,0xED), o2(0xEB,0xD5), o2(0xEB,0xD6), o2(0xFB,0xEA), - o2(0xEB,0xD2), o2(0xC0,0xE2), o2(0xC6,0xC9), o2(0xC3,0xAF), - o2(0xB2,0xDD), o2(0xC8,0xF0), o2(0xB5,0xC3), o2(0xFB,0xEB), - o2(0xC4,0xB4), UNDEF, -}; -static const BYTE_LOOKUP -to_EUC_JP_E8_AA = { - to_SHIFT_JIS_E8_AA_offsets, - to_EUC_JP_E8_AA_infos -}; - -static const struct byte_lookup* const -to_EUC_JP_E8_AB_infos[31] = { - o2(0xEB,0xDB), o2(0xEB,0xD9), o2(0xC3,0xCC), o2(0xC0,0xC1), - o2(0xB4,0xD2), o2(0xEB,0xDA), o2(0xBF,0xDB), o2(0xCE,0xCA), - o2(0xCF,0xC0), o2(0xEB,0xDC), o2(0xEB,0xE7), o2(0xC4,0xB5), - o2(0xEB,0xE6), o2(0xFB,0xEC), o2(0xEB,0xE3), o2(0xEB,0xEB), - o2(0xEB,0xE4), o2(0xEB,0xE0), o2(0xC4,0xFC), o2(0xEB,0xDF), - o2(0xEB,0xDD), o2(0xCD,0xA1), o2(0xBB,0xF0), o2(0xEB,0xE1), - o2(0xEB,0xDE), o2(0xFB,0xEE), o2(0xEB,0xE5), o2(0xBD,0xF4), - o2(0xB8,0xC1), o2(0xC2,0xFA), UNDEF, -}; -static const BYTE_LOOKUP -to_EUC_JP_E8_AB = { - to_SHIFT_JIS_E8_AB_offsets, - to_EUC_JP_E8_AB_infos -}; - -static const struct byte_lookup* const -to_EUC_JP_E8_AC_infos[25] = { - o2(0xCB,0xC5), o2(0xB1,0xDA), o2(0xB0,0xE2), o2(0xC6,0xA5), - o2(0xEB,0xE9), o2(0xEB,0xE8), o2(0xC6,0xE6), o2(0xEB,0xED), - o2(0xEB,0xE2), o2(0xEB,0xEC), o2(0xEB,0xEE), o2(0xB8,0xAC), - o2(0xEB,0xEA), o2(0xB9,0xD6), o2(0xBC,0xD5), o2(0xEB,0xEF), - o2(0xCD,0xD8), o2(0xEB,0xF2), o2(0xEB,0xF5), o2(0xEB,0xF3), - o2(0xC9,0xB5), o2(0xEB,0xF0), o2(0xB6,0xE0), o2(0xEB,0xF4), - UNDEF, -}; -static const BYTE_LOOKUP -to_EUC_JP_E8_AC = { - to_SHIFT_JIS_E8_AC_offsets, - to_EUC_JP_E8_AC_infos -}; - -static const struct byte_lookup* const -to_EUC_JP_E8_AD_infos[24] = { - o2(0xEB,0xF6), o2(0xEB,0xFA), o2(0xEB,0xF7), o2(0xEB,0xF9), - o2(0xEB,0xF8), o2(0xFB,0xEF), o2(0xEB,0xFB), o2(0xBC,0xB1), - o2(0xEB,0xFD), o2(0xEB,0xFC), o2(0xC9,0xE8), o2(0xEC,0xA1), - o2(0xB7,0xD9), o2(0xEB,0xFE), o2(0xEC,0xA2), o2(0xEC,0xA3), - o2(0xB5,0xC4), o2(0xE6,0xC1), o2(0xBE,0xF9), o2(0xEC,0xA4), - o2(0xB8,0xEE), o2(0xEC,0xA5), o2(0xFB,0xF0), UNDEF, -}; -static const BYTE_LOOKUP -to_EUC_JP_E8_AD = { - to_SHIFT_JIS_E8_AD_offsets, - to_EUC_JP_E8_AD_infos -}; - -static const struct byte_lookup* const -to_EUC_JP_E8_AE_infos[12] = { - o2(0xEC,0xA6), o2(0xBB,0xBE), o2(0xDA,0xCE), o2(0xEC,0xA7), - o2(0xEC,0xA8), o2(0xBD,0xB2), o2(0xEC,0xA9), o2(0xEC,0xAA), - o2(0xEC,0xAB), o2(0xEC,0xAC), o2(0xEC,0xAD), UNDEF, -}; -static const BYTE_LOOKUP -to_EUC_JP_E8_AE = { - to_SHIFT_JIS_E8_AE_offsets, - to_EUC_JP_E8_AE_infos -}; - -static const struct byte_lookup* const -to_EUC_JP_E8_B0_infos[4] = { - o2(0xC3,0xAB), o2(0xEC,0xAE), o2(0xEC,0xB0), UNDEF, -}; -static const BYTE_LOOKUP -to_EUC_JP_E8_B0 = { - to_SHIFT_JIS_E8_B0_offsets, - to_EUC_JP_E8_B0_infos -}; - -static const struct byte_lookup* const -to_EUC_JP_E8_B1_infos[19] = { - o2(0xEC,0xAF), o2(0xC6,0xA6), o2(0xEC,0xB1), o2(0xCB,0xAD), - o2(0xEC,0xB2), o2(0xEC,0xB3), o2(0xEC,0xB4), o2(0xEC,0xB5), - o2(0xC6,0xDA), o2(0xBE,0xDD), o2(0xEC,0xB6), o2(0xB9,0xEB), - o2(0xD0,0xAE), o2(0xEC,0xB7), o2(0xEC,0xB8), o2(0xC9,0xBF), - o2(0xEC,0xB9), o2(0xEC,0xC1), UNDEF, -}; -static const BYTE_LOOKUP -to_EUC_JP_E8_B1 = { - to_SHIFT_JIS_E8_B1_offsets, - to_EUC_JP_E8_B1_infos -}; - -static const struct byte_lookup* const -to_EUC_JP_E8_B2_infos[35] = { - o2(0xEC,0xBA), o2(0xEC,0xBC), o2(0xEC,0xBB), o2(0xEC,0xBD), - o2(0xCB,0xC6), o2(0xEC,0xBE), o2(0xEC,0xBF), o2(0xEC,0xC0), - o2(0xEC,0xC2), o2(0xB3,0xAD), o2(0xC4,0xE7), o2(0xC9,0xE9), - o2(0xBA,0xE2), o2(0xB9,0xD7), o2(0xC9,0xCF), o2(0xB2,0xDF), - o2(0xC8,0xCE), o2(0xEC,0xC5), o2(0xB4,0xD3), o2(0xC0,0xD5), - o2(0xEC,0xC4), o2(0xEC,0xC9), o2(0xC3,0xF9), o2(0xCC,0xE3), - o2(0xEC,0xC7), o2(0xEC,0xC8), o2(0xB5,0xAE), o2(0xEC,0xCA), - o2(0xC7,0xE3), o2(0xC2,0xDF), o2(0xC8,0xF1), o2(0xC5,0xBD), - o2(0xEC,0xC6), o2(0xCB,0xC7), UNDEF, -}; -static const BYTE_LOOKUP -to_EUC_JP_E8_B2 = { - to_SHIFT_JIS_E8_B2_offsets, - to_EUC_JP_E8_B2_infos -}; - -static const struct byte_lookup* const -to_EUC_JP_E8_B3_infos[30] = { - o2(0xB2,0xEC), o2(0xEC,0xCC), o2(0xCF,0xA8), o2(0xC4,0xC2), - o2(0xCF,0xC5), o2(0xBB,0xF1), o2(0xEC,0xCB), o2(0xC2,0xB1), - o2(0xEC,0xDC), o2(0xC1,0xA8), o2(0xC6,0xF8), o2(0xC9,0xD0), - o2(0xEC,0xCF), o2(0xBB,0xBF), o2(0xBB,0xF2), o2(0xBE,0xDE), - o2(0xC7,0xE5), o2(0xB8,0xAD), o2(0xEC,0xCE), o2(0xEC,0xCD), - o2(0xC9,0xEA), o2(0xBC,0xC1), o2(0xC5,0xD2), o2(0xFB,0xF1), - o2(0xFB,0xF2), o2(0xEC,0xD1), o2(0xEC,0xD2), o2(0xB9,0xD8), - o2(0xEC,0xD0), UNDEF, -}; -static const BYTE_LOOKUP -to_EUC_JP_E8_B3 = { - to_SHIFT_JIS_E8_B3_offsets, - to_EUC_JP_E8_B3_infos -}; - -static const struct byte_lookup* const -to_EUC_JP_E8_B4_infos[14] = { - o2(0xEC,0xD3), o2(0xEC,0xD4), o2(0xEC,0xD6), o2(0xC2,0xA3), - o2(0xEC,0xD5), o2(0xB4,0xE6), o2(0xEC,0xD8), o2(0xEC,0xD7), - o2(0xEC,0xD9), o2(0xFB,0xF3), o2(0xEC,0xDB), o2(0xEC,0xDD), - o2(0xEC,0xDE), UNDEF, -}; -static const BYTE_LOOKUP -to_EUC_JP_E8_B4 = { - to_SHIFT_JIS_E8_B4_offsets, - to_EUC_JP_E8_B4_infos -}; - -static const struct byte_lookup* const -to_EUC_JP_E8_B5_infos[12] = { - o2(0xC0,0xD6), o2(0xBC,0xCF), o2(0xEC,0xDF), o2(0xB3,0xD2), - o2(0xEC,0xE0), o2(0xC1,0xF6), o2(0xEC,0xE1), o2(0xEC,0xE2), - o2(0xC9,0xEB), o2(0xFB,0xF4), o2(0xB5,0xAF), UNDEF, -}; -static const BYTE_LOOKUP -to_EUC_JP_E8_B5 = { - to_SHIFT_JIS_E8_B5_offsets, - to_EUC_JP_E8_B5_infos -}; - -static const struct byte_lookup* const -to_EUC_JP_E8_B6_infos[10] = { - o2(0xEC,0xE3), o2(0xC4,0xB6), o2(0xB1,0xDB), o2(0xEC,0xE4), - o2(0xBC,0xF1), o2(0xBF,0xF6), o2(0xC2,0xAD), o2(0xEC,0xE7), - o2(0xEC,0xE6), UNDEF, -}; -static const BYTE_LOOKUP -to_EUC_JP_E8_B6 = { - to_SHIFT_JIS_E8_B6_offsets, - to_EUC_JP_E8_B6_infos -}; - -static const struct byte_lookup* const -to_EUC_JP_E8_B7_infos[20] = { - o2(0xEC,0xE5), o2(0xEC,0xED), o2(0xEC,0xEB), o2(0xEC,0xE8), - o2(0xEC,0xEA), o2(0xEC,0xE9), o2(0xEC,0xEC), o2(0xB5,0xF7), - o2(0xEC,0xF0), o2(0xC0,0xD7), o2(0xEC,0xF1), o2(0xB8,0xD9), - o2(0xEC,0xEE), o2(0xEC,0xEF), o2(0xCF,0xA9), o2(0xC4,0xB7), - o2(0xC1,0xA9), o2(0xEC,0xF2), o2(0xEC,0xF5), UNDEF, -}; -static const BYTE_LOOKUP -to_EUC_JP_E8_B7 = { - to_SHIFT_JIS_E8_B7_offsets, - to_EUC_JP_E8_B7_infos -}; - -static const struct byte_lookup* const -to_EUC_JP_E8_B8_infos[13] = { - o2(0xEC,0xF3), o2(0xEC,0xF4), o2(0xCD,0xD9), o2(0xC6,0xA7), - o2(0xEC,0xF8), o2(0xEC,0xF6), o2(0xEC,0xF7), o2(0xEC,0xF9), - o2(0xED,0xA9), o2(0xEC,0xFC), o2(0xEC,0xFD), o2(0xEC,0xFB), - UNDEF, -}; -static const BYTE_LOOKUP -to_EUC_JP_E8_B8 = { - to_SHIFT_JIS_E8_B8_offsets, - to_EUC_JP_E8_B8_infos -}; - -static const struct byte_lookup* const -to_EUC_JP_E8_B9_infos[19] = { - o2(0xEC,0xFA), o2(0xC4,0xFD), o2(0xED,0xA1), o2(0xED,0xA5), - o2(0xED,0xA2), o2(0xEC,0xFE), o2(0xED,0xA3), o2(0xED,0xA4), - o2(0xED,0xAB), o2(0xED,0xA6), o2(0xC0,0xD8), o2(0xED,0xA8), - o2(0xED,0xAA), o2(0xED,0xA7), o2(0xED,0xAD), o2(0xBD,0xB3), - o2(0xED,0xAC), o2(0xED,0xAE), UNDEF, -}; -static const BYTE_LOOKUP -to_EUC_JP_E8_B9 = { - to_SHIFT_JIS_E8_B9_offsets, - to_EUC_JP_E8_B9_infos -}; - -static const struct byte_lookup* const -to_EUC_JP_E8_BA_infos[20] = { - o2(0xED,0xAF), o2(0xED,0xB2), o2(0xED,0xB1), o2(0xED,0xB0), - o2(0xED,0xB4), o2(0xED,0xB3), o2(0xCC,0xF6), o2(0xED,0xB6), - o2(0xED,0xB5), o2(0xED,0xB7), o2(0xED,0xB8), o2(0xED,0xBA), - o2(0xED,0xB9), o2(0xBF,0xC8), o2(0xED,0xBB), o2(0xB6,0xED), - o2(0xED,0xBC), o2(0xED,0xBE), o2(0xED,0xBF), UNDEF, -}; -static const BYTE_LOOKUP -to_EUC_JP_E8_BA = { - to_SHIFT_JIS_E8_BA_offsets, - to_EUC_JP_E8_BA_infos -}; - -static const struct byte_lookup* const -to_EUC_JP_E8_BB_infos[20] = { - o2(0xED,0xC0), o2(0xED,0xBD), o2(0xED,0xC1), o2(0xBC,0xD6), - o2(0xED,0xC2), o2(0xB5,0xB0), o2(0xB7,0xB3), o2(0xFB,0xF6), - o2(0xB8,0xAE), o2(0xED,0xC3), o2(0xC6,0xF0), o2(0xC5,0xBE), - o2(0xED,0xC4), o2(0xED,0xC7), o2(0xBC,0xB4), o2(0xED,0xC6), - o2(0xED,0xC5), o2(0xB7,0xDA), o2(0xED,0xC8), UNDEF, -}; -static const BYTE_LOOKUP -to_EUC_JP_E8_BB = { - to_SHIFT_JIS_E8_BB_offsets, - to_EUC_JP_E8_BB_infos -}; - -static const struct byte_lookup* const -to_EUC_JP_E8_BC_infos[25] = { - o2(0xB3,0xD3), o2(0xED,0xCA), o2(0xBA,0xDC), o2(0xED,0xC9), - o2(0xED,0xD2), o2(0xED,0xCC), o2(0xED,0xCE), o2(0xCA,0xE5), - o2(0xED,0xCB), o2(0xED,0xCD), o2(0xED,0xD1), o2(0xED,0xCF), - o2(0xB5,0xB1), o2(0xED,0xD0), o2(0xED,0xD3), o2(0xC7,0xDA), - o2(0xCE,0xD8), o2(0xBD,0xB4), o2(0xED,0xD4), o2(0xCD,0xA2), - o2(0xED,0xD6), o2(0xED,0xD5), o2(0xED,0xD9), o2(0xCD,0xC1), - UNDEF, -}; -static const BYTE_LOOKUP -to_EUC_JP_E8_BC = { - to_SHIFT_JIS_E8_BC_offsets, - to_EUC_JP_E8_BC_infos -}; - -static const struct byte_lookup* const -to_EUC_JP_E8_BD_infos[16] = { - o2(0xED,0xD8), o2(0xB3,0xED), o2(0xED,0xD7), o2(0xED,0xDC), - o2(0xED,0xDB), o2(0xED,0xDA), o2(0xC5,0xB2), o2(0xED,0xDD), - o2(0xED,0xDE), o2(0xED,0xDF), o2(0xB9,0xEC), o2(0xB7,0xA5), - o2(0xED,0xE0), o2(0xED,0xE1), o2(0xED,0xE2), UNDEF, -}; -static const BYTE_LOOKUP -to_EUC_JP_E8_BD = { - to_SHIFT_JIS_E8_BD_offsets, - to_EUC_JP_E8_BD_infos -}; - -static const struct byte_lookup* const -to_EUC_JP_E8_BE_infos[19] = { - o2(0xBF,0xC9), o2(0xED,0xE3), o2(0xBC,0xAD), o2(0xED,0xE4), - o2(0xED,0xE5), o2(0xD2,0xA1), o2(0xD1,0xFE), o2(0xED,0xE6), - o2(0xE5,0xF0), o2(0xED,0xE7), o2(0xC3,0xA4), o2(0xBF,0xAB), - o2(0xC7,0xC0), o2(0xED,0xE8), o2(0xCA,0xD5), o2(0xC4,0xD4), - o2(0xB9,0xFE), o2(0xC3,0xA9), UNDEF, -}; -static const BYTE_LOOKUP -to_EUC_JP_E8_BE = { - to_SHIFT_JIS_E8_BE_offsets, - to_EUC_JP_E8_BE_infos -}; - -static const struct byte_lookup* const -to_EUC_JP_E8_BF_infos[23] = { - o2(0xB1,0xAA), o2(0xCB,0xF8), o2(0xBF,0xD7), o2(0xB7,0xDE), - o2(0xB6,0xE1), o2(0xCA,0xD6), o2(0xED,0xE9), o2(0xED,0xEB), - o2(0xED,0xEA), o2(0xB2,0xE0), o2(0xC6,0xF6), o2(0xED,0xEC), - o2(0xC7,0xF7), o2(0xC5,0xB3), o2(0xED,0xED), o2(0xBD,0xD2), - o2(0xED,0xEF), o2(0xCC,0xC2), o2(0xED,0xFE), o2(0xED,0xF1), - o2(0xED,0xF2), o2(0xC4,0xC9), UNDEF, -}; -static const BYTE_LOOKUP -to_EUC_JP_E8_BF = { - to_SHIFT_JIS_E8_BF_offsets, - to_EUC_JP_E8_BF_infos -}; - -static const struct byte_lookup* const -to_EUC_JP_E8_infos[64] = { - &to_EUC_JP_E8_80, &to_EUC_JP_E8_81, &to_EUC_JP_E8_82, &to_EUC_JP_E8_83, - &to_EUC_JP_E8_84, &to_EUC_JP_E8_85, &to_EUC_JP_E8_86, &to_EUC_JP_E8_87, - &to_EUC_JP_E8_88, &to_EUC_JP_E8_89, &to_EUC_JP_E8_8A, &to_EUC_JP_E8_8B, - &to_EUC_JP_E8_8C, &to_EUC_JP_E8_8D, &to_EUC_JP_E8_8E, &to_EUC_JP_E8_8F, - &to_EUC_JP_E8_90, &to_EUC_JP_E8_91, &to_EUC_JP_E8_92, &to_EUC_JP_E8_93, - &to_EUC_JP_E8_94, &to_EUC_JP_E8_95, &to_EUC_JP_E8_96, &to_EUC_JP_E8_97, - &to_EUC_JP_E8_98, &to_EUC_JP_E8_99, &to_EUC_JP_E8_9A, &to_EUC_JP_E8_9B, - &to_EUC_JP_E8_9C, &to_EUC_JP_E8_9D, &to_EUC_JP_E8_9E, &to_EUC_JP_E8_9F, - &to_EUC_JP_E8_A0, &to_EUC_JP_E8_A1, &to_EUC_JP_E8_A2, &to_EUC_JP_E8_A3, - &to_EUC_JP_E8_A4, &to_EUC_JP_E8_A5, &to_EUC_JP_E8_A6, &to_EUC_JP_E8_A7, - &to_EUC_JP_E8_A8, &to_EUC_JP_E8_A9, &to_EUC_JP_E8_AA, &to_EUC_JP_E8_AB, - &to_EUC_JP_E8_AC, &to_EUC_JP_E8_AD, &to_EUC_JP_E8_AE, &to_EUC_JP_E8_B0, - &to_EUC_JP_E8_B1, &to_EUC_JP_E8_B2, &to_EUC_JP_E8_B3, &to_EUC_JP_E8_B4, - &to_EUC_JP_E8_B5, &to_EUC_JP_E8_B6, &to_EUC_JP_E8_B7, &to_EUC_JP_E8_B8, - &to_EUC_JP_E8_B9, &to_EUC_JP_E8_BA, &to_EUC_JP_E8_BB, &to_EUC_JP_E8_BC, - &to_EUC_JP_E8_BD, &to_EUC_JP_E8_BE, &to_EUC_JP_E8_BF, UNDEF, -}; -static const BYTE_LOOKUP -to_EUC_JP_E8 = { - to_SHIFT_JIS_E8_offsets, - to_EUC_JP_E8_infos -}; - -static const struct byte_lookup* const -to_EUC_JP_E9_80_infos[36] = { - o2(0xC2,0xE0), o2(0xC1,0xF7), o2(0xC6,0xA8), o2(0xED,0xF0), - o2(0xB5,0xD5), o2(0xED,0xF9), o2(0xED,0xF6), o2(0xEE,0xA5), - o2(0xC6,0xA9), o2(0xC3,0xE0), o2(0xED,0xF3), o2(0xC4,0xFE), - o2(0xC5,0xD3), o2(0xED,0xF4), o2(0xED,0xF8), o2(0xBF,0xE0), - o2(0xC7,0xE7), o2(0xC4,0xCC), o2(0xC0,0xC2), o2(0xED,0xF7), - o2(0xC2,0xAE), o2(0xC2,0xA4), o2(0xED,0xF5), o2(0xB0,0xA9), - o2(0xCF,0xA2), o2(0xED,0xFA), o2(0xC2,0xE1), o2(0xBD,0xB5), - o2(0xBF,0xCA), o2(0xED,0xFC), o2(0xED,0xFB), o2(0xB0,0xEF), - o2(0xED,0xFD), o2(0xC9,0xAF), o2(0xEE,0xA7), UNDEF, -}; -static const BYTE_LOOKUP -to_EUC_JP_E9_80 = { - to_SHIFT_JIS_E9_80_offsets, - to_EUC_JP_E9_80_infos -}; - -static const struct byte_lookup* const -to_EUC_JP_E9_81_infos[41] = { - o2(0xC6,0xDB), o2(0xBF,0xEB), o2(0xC3,0xD9), o2(0xB6,0xF8), - o2(0xEE,0xA6), o2(0xCD,0xB7), o2(0xB1,0xBF), o2(0xCA,0xD7), - o2(0xB2,0xE1), o2(0xEE,0xA1), o2(0xEE,0xA2), o2(0xEE,0xA3), - o2(0xEE,0xA4), o2(0xC6,0xBB), o2(0xC3,0xA3), o2(0xB0,0xE3), - o2(0xEE,0xA8), o2(0xEE,0xA9), o2(0xF4,0xA3), o2(0xC2,0xBD), - o2(0xEE,0xAA), o2(0xB1,0xF3), o2(0xC1,0xCC), o2(0xB8,0xAF), - o2(0xCD,0xDA), o2(0xFB,0xF9), o2(0xEE,0xAB), o2(0xC5,0xAC), - o2(0xC1,0xF8), o2(0xBC,0xD7), o2(0xEE,0xAC), o2(0xEE,0xAF), - o2(0xBD,0xE5), o2(0xEE,0xAD), o2(0xC1,0xAB), o2(0xC1,0xAA), - o2(0xB0,0xE4), o2(0xCE,0xCB), o2(0xEE,0xB1), o2(0xC8,0xF2), - UNDEF, -}; -static const BYTE_LOOKUP -to_EUC_JP_E9_81 = { - to_SHIFT_JIS_E9_81_offsets, - to_EUC_JP_E9_81_infos -}; - -static const struct byte_lookup* const -to_EUC_JP_E9_82_infos[19] = { - o2(0xEE,0xB3), o2(0xEE,0xB2), o2(0xEE,0xB0), o2(0xE3,0xE4), - o2(0xB4,0xD4), o2(0xED,0xEE), o2(0xEE,0xB5), o2(0xEE,0xB4), - o2(0xEE,0xB6), o2(0xCD,0xB8), o2(0xC6,0xE1), o2(0xCB,0xAE), - o2(0xEE,0xB7), o2(0xBC,0xD9), o2(0xEE,0xB8), o2(0xEE,0xB9), - o2(0xEE,0xBA), o2(0xC5,0xA1), UNDEF, -}; -static const BYTE_LOOKUP -to_EUC_JP_E9_82 = { - to_SHIFT_JIS_E9_82_offsets, - to_EUC_JP_E9_82_infos -}; - -static const struct byte_lookup* const -to_EUC_JP_E9_83_infos[14] = { - o2(0xB0,0xEA), o2(0xB9,0xD9), o2(0xCF,0xBA), o2(0xEE,0xBE), - o2(0xFB,0xFA), o2(0xB7,0xB4), o2(0xEE,0xBB), o2(0xEE,0xBC), - o2(0xC9,0xF4), o2(0xB3,0xD4), o2(0xCD,0xB9), o2(0xB6,0xBF), - o2(0xC5,0xD4), UNDEF, -}; -static const BYTE_LOOKUP -to_EUC_JP_E9_83 = { - to_SHIFT_JIS_E9_83_offsets, - to_EUC_JP_E9_83_infos -}; - -static const struct byte_lookup* const -to_EUC_JP_E9_84_infos[9] = { - o2(0xEE,0xBF), o2(0xEE,0xC0), o2(0xFB,0xFC), o2(0xEE,0xC1), - o2(0xFB,0xFD), o2(0xC5,0xA2), o2(0xEE,0xC3), o2(0xEE,0xC2), - UNDEF, -}; -static const BYTE_LOOKUP -to_EUC_JP_E9_84 = { - to_SHIFT_JIS_E9_84_offsets, - to_EUC_JP_E9_84_infos -}; - -static const struct byte_lookup* const -to_EUC_JP_E9_85_infos[22] = { - o2(0xC6,0xD3), o2(0xEE,0xC4), o2(0xBD,0xB6), o2(0xBC,0xE0), - o2(0xC7,0xDB), o2(0xC3,0xF1), o2(0xBC,0xF2), o2(0xBF,0xEC), - o2(0xEE,0xC5), o2(0xEE,0xC6), o2(0xBF,0xDD), o2(0xEE,0xC7), - o2(0xEE,0xC8), o2(0xEE,0xC9), o2(0xCD,0xEF), o2(0xBD,0xB7), - o2(0xEE,0xCB), o2(0xEE,0xCA), o2(0xB9,0xDA), o2(0xB9,0xF3), - o2(0xBB,0xC0), UNDEF, -}; -static const BYTE_LOOKUP -to_EUC_JP_E9_85 = { - to_SHIFT_JIS_E9_85_offsets, - to_EUC_JP_E9_85_infos -}; - -static const struct byte_lookup* const -to_EUC_JP_E9_86_infos[19] = { - o2(0xEE,0xCE), o2(0xBD,0xE6), o2(0xEE,0xCD), o2(0xEE,0xCC), - o2(0xC2,0xE9), o2(0xB8,0xEF), o2(0xC0,0xC3), o2(0xC8,0xB0), - o2(0xBD,0xB9), o2(0xEE,0xCF), o2(0xBE,0xDF), o2(0xEE,0xD2), - o2(0xEE,0xD0), o2(0xEE,0xD1), o2(0xEE,0xD4), o2(0xEE,0xD3), - o2(0xBE,0xFA), o2(0xEE,0xD5), UNDEF, -}; -static const BYTE_LOOKUP -to_EUC_JP_E9_86 = { - to_SHIFT_JIS_E9_86_offsets, - to_EUC_JP_E9_86_infos -}; - -static const struct byte_lookup* const -to_EUC_JP_E9_87_infos[35] = { - o2(0xEE,0xD6), o2(0xEE,0xD7), o2(0xC8,0xD0), o2(0xBA,0xD3), - o2(0xBC,0xE1), o2(0xEE,0xD8), o2(0xEE,0xD9), o2(0xCE,0xA4), - o2(0xBD,0xC5), o2(0xCC,0xEE), o2(0xCE,0xCC), o2(0xEE,0xDA), - o2(0xB6,0xE2), o2(0xEE,0xDB), o2(0xFC,0xA1), o2(0xC5,0xA3), - o2(0xFB,0xFE), o2(0xEE,0xDE), o2(0xB3,0xF8), o2(0xBF,0xCB), - o2(0xFC,0xA2), o2(0xEE,0xDC), o2(0xEE,0xDD), o2(0xC4,0xE0), - o2(0xFC,0xA5), o2(0xFC,0xA6), o2(0xCB,0xD5), o2(0xB6,0xFC), - o2(0xFC,0xA3), o2(0xFC,0xA4), o2(0xEE,0xE0), o2(0xEE,0xE1), - o2(0xEE,0xDF), o2(0xEE,0xE3), UNDEF, -}; -static const BYTE_LOOKUP -to_EUC_JP_E9_87 = { - to_SHIFT_JIS_E9_87_offsets, - to_EUC_JP_E9_87_infos -}; - -static const struct byte_lookup* const -to_EUC_JP_E9_88_infos[18] = { - o2(0xFC,0xA7), o2(0xFC,0xA9), o2(0xC6,0xDF), o2(0xB3,0xC3), - o2(0xFC,0xA8), o2(0xEE,0xE7), o2(0xEE,0xE4), o2(0xEE,0xE6), - o2(0xEE,0xE2), o2(0xEF,0xCF), o2(0xEE,0xE5), o2(0xCE,0xEB), - o2(0xB8,0xDA), o2(0xFC,0xB0), o2(0xFC,0xAA), o2(0xFC,0xAC), - o2(0xEE,0xEF), UNDEF, -}; -static const BYTE_LOOKUP -to_EUC_JP_E9_88 = { - to_SHIFT_JIS_E9_88_offsets, - to_EUC_JP_E9_88_infos -}; - -static const struct byte_lookup* const -to_EUC_JP_E9_89_infos[23] = { - o2(0xFC,0xAB), o2(0xC5,0xB4), o2(0xEE,0xEA), o2(0xEE,0xED), - o2(0xEE,0xEB), o2(0xEE,0xF0), o2(0xFC,0xAD), o2(0xEE,0xF1), - o2(0xFC,0xAF), o2(0xEE,0xE9), o2(0xFC,0xAE), o2(0xEE,0xF6), - o2(0xB1,0xF4), o2(0xEE,0xE8), o2(0xC8,0xAD), o2(0xEE,0xEC), - o2(0xBE,0xE0), o2(0xFC,0xB1), o2(0xB9,0xDB), o2(0xFC,0xB3), - o2(0xFC,0xB4), o2(0xCB,0xC8), UNDEF, -}; -static const BYTE_LOOKUP -to_EUC_JP_E9_89 = { - to_SHIFT_JIS_E9_89_offsets, - to_EUC_JP_E9_89_infos -}; - -static const struct byte_lookup* const -to_EUC_JP_E9_8A_infos[17] = { - o2(0xB6,0xE4), o2(0xBD,0xC6), o2(0xC6,0xBC), o2(0xF9,0xA4), - o2(0xC1,0xAD), o2(0xEE,0xF4), o2(0xEE,0xEE), o2(0xEE,0xF3), - o2(0xCC,0xC3), o2(0xC4,0xB8), o2(0xEE,0xF5), o2(0xEE,0xF2), - o2(0xFC,0xB2), o2(0xC1,0xAC), o2(0xEE,0xF9), o2(0xEE,0xF8), - UNDEF, -}; -static const BYTE_LOOKUP -to_EUC_JP_E9_8A = { - to_SHIFT_JIS_E9_8A_offsets, - to_EUC_JP_E9_8A_infos -}; - -static const struct byte_lookup* const -to_EUC_JP_E9_8B_infos[22] = { - o2(0xEE,0xF7), o2(0xFC,0xB8), o2(0xCB,0xAF), o2(0xFC,0xBC), - o2(0xFC,0xBA), o2(0xFC,0xB6), o2(0xFC,0xB7), o2(0xFC,0xBB), - o2(0xBD,0xFB), o2(0xFC,0xB5), o2(0xEE,0xFA), o2(0xCA,0xDF), - o2(0xB1,0xD4), o2(0xC9,0xC6), o2(0xC3,0xF2), o2(0xB5,0xF8), - o2(0xF9,0xAA), o2(0xEE,0xFC), o2(0xFC,0xBF), o2(0xB9,0xDD), - o2(0xFC,0xC2), UNDEF, -}; -static const BYTE_LOOKUP -to_EUC_JP_E9_8B = { - to_SHIFT_JIS_E9_8B_offsets, - to_EUC_JP_E9_8B_infos -}; - -static const struct byte_lookup* const -to_EUC_JP_E9_8C_infos[25] = { - o2(0xFC,0xC4), o2(0xBB,0xAC), o2(0xEE,0xFB), o2(0xBF,0xED), - o2(0xBF,0xEE), o2(0xEF,0xA1), o2(0xEF,0xA3), o2(0xFC,0xC3), - o2(0xFC,0xC1), o2(0xBE,0xFB), o2(0xFC,0xBE), o2(0xEF,0xA2), - o2(0xEF,0xA4), o2(0xFC,0xBD), o2(0xB6,0xD3), o2(0xC9,0xC5), - o2(0xBC,0xE2), o2(0xCF,0xA3), o2(0xEE,0xFE), o2(0xBA,0xF8), - o2(0xCF,0xBF), o2(0xEF,0xA6), o2(0xEF,0xA5), o2(0xEF,0xA7), - UNDEF, -}; -static const BYTE_LOOKUP -to_EUC_JP_E9_8C = { - to_SHIFT_JIS_E9_8C_offsets, - to_EUC_JP_E9_8C_infos -}; - -static const struct byte_lookup* const -to_EUC_JP_E9_8D_infos[17] = { - o2(0xEE,0xFD), o2(0xF9,0xA3), o2(0xC6,0xE9), o2(0xC5,0xD5), - o2(0xC4,0xD7), o2(0xEF,0xAC), o2(0xFC,0xC6), o2(0xC3,0xC3), - o2(0xEF,0xA8), o2(0xEF,0xA9), o2(0xB7,0xAD), o2(0xEF,0xAB), - o2(0xFC,0xC5), o2(0xB8,0xB0), o2(0xEF,0xAA), o2(0xBE,0xE1), - UNDEF, -}; -static const BYTE_LOOKUP -to_EUC_JP_E9_8D = { - to_SHIFT_JIS_E9_8D_offsets, - to_EUC_JP_E9_8D_infos -}; - -static const struct byte_lookup* const -to_EUC_JP_E9_8E_infos[13] = { - o2(0xB3,0xF9), o2(0xEF,0xB0), o2(0xBA,0xBF), o2(0xC1,0xF9), - o2(0xC4,0xCA), o2(0xFC,0xC7), o2(0xB3,0xBB), o2(0xEF,0xAE), - o2(0xEF,0xAF), o2(0xC4,0xC3), o2(0xEF,0xAD), o2(0xEF,0xB1), - UNDEF, -}; -static const BYTE_LOOKUP -to_EUC_JP_E9_8E = { - to_SHIFT_JIS_E9_8E_offsets, - to_EUC_JP_E9_8E_infos -}; - -static const struct byte_lookup* const -to_EUC_JP_E9_8F_infos[16] = { - o2(0xEF,0xB7), o2(0xFC,0xC8), o2(0xEF,0xBA), o2(0xEF,0xB9), - o2(0xC5,0xAD), o2(0xEF,0xB2), o2(0xEF,0xB3), o2(0xEF,0xB6), - o2(0xEF,0xB8), o2(0xFC,0xC9), o2(0xB6,0xC0), o2(0xEF,0xBB), - o2(0xEF,0xB5), o2(0xEF,0xB4), o2(0xFC,0xCA), UNDEF, -}; -static const BYTE_LOOKUP -to_EUC_JP_E9_8F = { - to_SHIFT_JIS_E9_8F_offsets, - to_EUC_JP_E9_8F_infos -}; - -static const struct byte_lookup* const -to_EUC_JP_E9_90_infos[16] = { - o2(0xEF,0xBF), o2(0xEF,0xC0), o2(0xEF,0xC1), o2(0xEF,0xBE), - o2(0xEF,0xBD), o2(0xBE,0xE2), o2(0xC6,0xAA), o2(0xEF,0xBC), - o2(0xEF,0xC5), o2(0xEF,0xC3), o2(0xFC,0xCB), o2(0xEF,0xC4), - o2(0xEF,0xC2), o2(0xC2,0xF8), o2(0xEF,0xC6), UNDEF, -}; -static const BYTE_LOOKUP -to_EUC_JP_E9_90 = { - to_SHIFT_JIS_E9_90_offsets, - to_EUC_JP_E9_90_infos -}; - -static const struct byte_lookup* const -to_EUC_JP_E9_91_infos[21] = { - o2(0xEF,0xC7), o2(0xEF,0xC9), o2(0xFC,0xCC), o2(0xFC,0xCD), - o2(0xB4,0xD5), o2(0xEF,0xC8), o2(0xCC,0xFA), o2(0xEF,0xD4), - o2(0xEF,0xCA), o2(0xEF,0xCD), o2(0xEF,0xCB), o2(0xEF,0xCC), - o2(0xEF,0xCE), o2(0xEF,0xD0), o2(0xEF,0xD1), o2(0xEF,0xD2), - o2(0xEF,0xD5), o2(0xEF,0xD3), o2(0xEF,0xD6), o2(0xEF,0xD8), - UNDEF, -}; -static const BYTE_LOOKUP -to_EUC_JP_E9_91 = { - to_SHIFT_JIS_E9_91_offsets, - to_EUC_JP_E9_91_infos -}; - -static const struct byte_lookup* const -to_EUC_JP_E9_92_infos[2] = { - o2(0xEF,0xD7), UNDEF, -}; -static const BYTE_LOOKUP -to_EUC_JP_E9_92 = { - to_SHIFT_JIS_E9_92_offsets, - to_EUC_JP_E9_92_infos -}; - -static const struct byte_lookup* const -to_EUC_JP_E9_95_infos[2] = { - o2(0xC4,0xB9), UNDEF, -}; -static const BYTE_LOOKUP -to_EUC_JP_E9_95 = { - to_SHIFT_JIS_E9_95_offsets, - to_EUC_JP_E9_95_infos -}; - -static const struct byte_lookup* const -to_EUC_JP_E9_96_infos[29] = { - o2(0xCC,0xE7), o2(0xEF,0xD9), o2(0xC1,0xAE), o2(0xEF,0xDA), - o2(0xCA,0xC4), o2(0xEF,0xDB), o2(0xB3,0xAB), o2(0xB1,0xBC), - o2(0xB4,0xD7), o2(0xFC,0xCE), o2(0xB4,0xD6), o2(0xEF,0xDC), - o2(0xEF,0xDD), o2(0xEF,0xDE), o2(0xEF,0xDF), o2(0xEF,0xE0), - o2(0xB4,0xD8), o2(0xB3,0xD5), o2(0xB9,0xDE), o2(0xC8,0xB6), - o2(0xEF,0xE2), o2(0xEF,0xE1), o2(0xEF,0xE3), o2(0xB1,0xDC), - o2(0xEF,0xE6), o2(0xEF,0xE5), o2(0xEF,0xE4), o2(0xEF,0xE7), - UNDEF, -}; -static const BYTE_LOOKUP -to_EUC_JP_E9_96 = { - to_SHIFT_JIS_E9_96_offsets, - to_EUC_JP_E9_96_infos -}; - -static const struct byte_lookup* const -to_EUC_JP_E9_97_infos[14] = { - o2(0xEF,0xEA), o2(0xB0,0xC7), o2(0xEF,0xE8), o2(0xEF,0xEC), - o2(0xEF,0xEB), o2(0xEF,0xEE), o2(0xEF,0xED), o2(0xEF,0xEF), - o2(0xC6,0xAE), o2(0xEF,0xF0), o2(0xEF,0xF1), o2(0xEF,0xF3), - o2(0xEF,0xF2), UNDEF, -}; -static const BYTE_LOOKUP -to_EUC_JP_E9_97 = { - to_SHIFT_JIS_E9_97_offsets, - to_EUC_JP_E9_97_infos -}; - -static const struct byte_lookup* const -to_EUC_JP_E9_98_infos[10] = { - o2(0xC9,0xEC), o2(0xEF,0xF4), o2(0xEF,0xF5), o2(0xBA,0xE5), - o2(0xEF,0xF6), o2(0xEF,0xF7), o2(0xCB,0xC9), o2(0xC1,0xCB), - o2(0xB0,0xA4), UNDEF, -}; -static const BYTE_LOOKUP -to_EUC_JP_E9_98 = { - to_SHIFT_JIS_E9_98_offsets, - to_EUC_JP_E9_98_infos -}; - -static const struct byte_lookup* const -to_EUC_JP_E9_99_infos[30] = { - o2(0xC2,0xCB), o2(0xEF,0xF8), o2(0xC9,0xED), o2(0xEF,0xFB), - o2(0xEF,0xF9), o2(0xB9,0xDF), o2(0xEF,0xFA), o2(0xB8,0xC2), - o2(0xCA,0xC5), o2(0xEF,0xFD), o2(0xF0,0xA1), o2(0xEF,0xFE), - o2(0xF0,0xA2), o2(0xB1,0xA1), o2(0xBF,0xD8), o2(0xBD,0xFC), - o2(0xB4,0xD9), o2(0xF0,0xA3), o2(0xC7,0xE6), o2(0xF0,0xA5), - o2(0xB1,0xA2), o2(0xF0,0xA4), o2(0xC4,0xC4), o2(0xCE,0xCD), - o2(0xC6,0xAB), o2(0xEF,0xFC), o2(0xCE,0xA6), o2(0xB8,0xB1), - o2(0xCD,0xDB), UNDEF, -}; -static const BYTE_LOOKUP -to_EUC_JP_E9_99 = { - to_SHIFT_JIS_E9_99_offsets, - to_EUC_JP_E9_99_infos -}; - -static const struct byte_lookup* const -to_EUC_JP_E9_9A_infos[33] = { - o2(0xB6,0xF9), o2(0xCE,0xB4), o2(0xB7,0xA8), o2(0xC2,0xE2), - o2(0xE7,0xA1), o2(0xF0,0xA6), o2(0xB3,0xAC), o2(0xBF,0xEF), - o2(0xB3,0xD6), o2(0xF0,0xA8), o2(0xF0,0xA9), o2(0xF0,0xA7), - o2(0xB7,0xE4), o2(0xBA,0xDD), o2(0xBE,0xE3), o2(0xFC,0xD1), - o2(0xB1,0xA3), o2(0xCE,0xD9), o2(0xF0,0xAB), o2(0xEE,0xAE), - o2(0xF0,0xAA), o2(0xFC,0xD2), o2(0xF0,0xAE), o2(0xF0,0xAC), - o2(0xF0,0xAD), o2(0xF0,0xAF), o2(0xF0,0xB0), o2(0xCE,0xEC), - o2(0xF0,0xB1), o2(0xF0,0xB2), o2(0xC0,0xC9), o2(0xC8,0xBB), - UNDEF, -}; -static const BYTE_LOOKUP -to_EUC_JP_E9_9A = { - to_SHIFT_JIS_E9_9A_offsets, - to_EUC_JP_E9_9A_infos -}; - -static const struct byte_lookup* const -to_EUC_JP_E9_9B_infos[29] = { - o2(0xBF,0xFD), o2(0xB4,0xE7), o2(0xCD,0xBA), o2(0xB2,0xED), - o2(0xBD,0xB8), o2(0xB8,0xDB), o2(0xF0,0xB5), o2(0xF0,0xB4), - o2(0xBB,0xF3), o2(0xF0,0xB6), o2(0xF0,0xB3), o2(0xBB,0xA8), - o2(0xF0,0xBA), o2(0xEA,0xAD), o2(0xD2,0xD6), o2(0xBF,0xF7), - o2(0xF0,0xB8), o2(0xCE,0xA5), o2(0xC6,0xF1), o2(0xB1,0xAB), - o2(0xC0,0xE3), o2(0xBC,0xB6), o2(0xCA,0xB7), o2(0xB1,0xC0), - o2(0xCE,0xED), o2(0xCD,0xEB), o2(0xF0,0xBB), o2(0xC5,0xC5), - UNDEF, -}; -static const BYTE_LOOKUP -to_EUC_JP_E9_9B = { - to_SHIFT_JIS_E9_9B_offsets, - to_EUC_JP_E9_9B_infos -}; - -static const struct byte_lookup* const -to_EUC_JP_E9_9C_infos[27] = { - o2(0xBC,0xFB), o2(0xF0,0xBC), o2(0xF0,0xBD), o2(0xBF,0xCC), - o2(0xF0,0xBE), o2(0xCE,0xEE), o2(0xF0,0xB9), o2(0xF0,0xC0), - o2(0xF0,0xC2), o2(0xF0,0xC1), o2(0xF0,0xBF), o2(0xF0,0xC3), - o2(0xF0,0xC4), o2(0xC1,0xFA), o2(0xB2,0xE2), o2(0xF0,0xC5), - o2(0xCC,0xB8), o2(0xF0,0xC6), o2(0xF0,0xC7), o2(0xCF,0xAA), - o2(0xFC,0xD3), o2(0xDB,0xB1), o2(0xF0,0xC8), o2(0xFC,0xD4), - o2(0xF0,0xC9), o2(0xF0,0xCA), UNDEF, -}; -static const BYTE_LOOKUP -to_EUC_JP_E9_9C = { - to_SHIFT_JIS_E9_9C_offsets, - to_EUC_JP_E9_9C_infos -}; - -static const struct byte_lookup* const -to_EUC_JP_E9_9D_infos[30] = { - o2(0xF0,0xCE), o2(0xFC,0xD5), o2(0xF0,0xCB), o2(0xF0,0xCC), - o2(0xF0,0xCD), o2(0xF0,0xCF), o2(0xFC,0xD6), o2(0xFC,0xD7), - o2(0xFC,0xD8), o2(0xC0,0xC4), o2(0xFC,0xD9), o2(0xCC,0xF7), - o2(0xC0,0xC5), o2(0xF0,0xD0), o2(0xC8,0xF3), o2(0xF0,0xD1), - o2(0xF3,0xD3), o2(0xCC,0xCC), o2(0xF0,0xD2), o2(0xF0,0xD3), - o2(0xF0,0xD4), o2(0xB3,0xD7), o2(0xF0,0xD6), o2(0xBF,0xD9), - o2(0xF0,0xD7), o2(0xB7,0xA4), o2(0xF0,0xD8), o2(0xF0,0xDC), - o2(0xF0,0xDA), UNDEF, -}; -static const BYTE_LOOKUP -to_EUC_JP_E9_9D = { - to_SHIFT_JIS_E9_9D_offsets, - to_EUC_JP_E9_9D_infos -}; - -static const struct byte_lookup* const -to_EUC_JP_E9_9E_infos[19] = { - o2(0xF0,0xDB), o2(0xB3,0xF3), o2(0xF0,0xD9), o2(0xF0,0xDD), - o2(0xF0,0xDE), o2(0xB0,0xC8), o2(0xF0,0xDF), o2(0xF0,0xE0), - o2(0xBE,0xE4), o2(0xF0,0xE1), o2(0xB5,0xC7), o2(0xF0,0xE4), - o2(0xF0,0xE3), o2(0xF0,0xE2), o2(0xEB,0xF1), o2(0xCA,0xDC), - o2(0xF0,0xE5), o2(0xF0,0xE6), UNDEF, -}; -static const BYTE_LOOKUP -to_EUC_JP_E9_9E = { - to_SHIFT_JIS_E9_9E_offsets, - to_EUC_JP_E9_9E_infos -}; - -static const struct byte_lookup* const -to_EUC_JP_E9_9F_infos[15] = { - o2(0xF0,0xE7), o2(0xF0,0xE8), o2(0xF0,0xE9), o2(0xF0,0xEA), - o2(0xB4,0xDA), o2(0xF0,0xEB), o2(0xF0,0xEC), o2(0xC7,0xA3), - o2(0xF0,0xEE), o2(0xB2,0xBB), o2(0xF0,0xF1), o2(0xF0,0xF0), - o2(0xB1,0xA4), o2(0xB6,0xC1), UNDEF, -}; -static const BYTE_LOOKUP -to_EUC_JP_E9_9F = { - to_SHIFT_JIS_E9_9F_offsets, - to_EUC_JP_E9_9F_infos -}; - -static const struct byte_lookup* const -to_EUC_JP_E9_A0_infos[26] = { - o2(0xCA,0xC7), o2(0xC4,0xBA), o2(0xBA,0xA2), o2(0xB9,0xE0), - o2(0xBD,0xE7), o2(0xBF,0xDC), o2(0xF0,0xF3), o2(0xF0,0xF2), - o2(0xCD,0xC2), o2(0xB4,0xE8), o2(0xC8,0xD2), o2(0xC6,0xDC), - o2(0xBF,0xFC), o2(0xCE,0xCE), o2(0xB7,0xDB), o2(0xF0,0xF6), - o2(0xF0,0xF5), o2(0xCB,0xCB), o2(0xC6,0xAC), o2(0xB1,0xD0), - o2(0xF0,0xF7), o2(0xF0,0xF4), o2(0xC9,0xD1), o2(0xCD,0xEA), - o2(0xF0,0xF8), UNDEF, -}; -static const BYTE_LOOKUP -to_EUC_JP_E9_A0 = { - to_SHIFT_JIS_E9_A0_offsets, - to_EUC_JP_E9_A0_infos -}; - -static const struct byte_lookup* const -to_EUC_JP_E9_A1_infos[21] = { - o2(0xF0,0xF9), o2(0xF0,0xFB), o2(0xC2,0xEA), o2(0xB3,0xDB), - o2(0xB3,0xDC), o2(0xF0,0xFA), o2(0xB4,0xE9), o2(0xB8,0xB2), - o2(0xFC,0xDA), o2(0xB4,0xEA), o2(0xC5,0xBF), o2(0xCE,0xE0), - o2(0xFC,0xDB), o2(0xB8,0xDC), o2(0xF0,0xFC), o2(0xF0,0xFD), - o2(0xF0,0xFE), o2(0xF1,0xA1), o2(0xF1,0xA3), o2(0xF1,0xA2), - UNDEF, -}; -static const BYTE_LOOKUP -to_EUC_JP_E9_A1 = { - to_SHIFT_JIS_E9_A1_offsets, - to_EUC_JP_E9_A1_infos -}; - -static const struct byte_lookup* const -to_EUC_JP_E9_A2_infos[6] = { - o2(0xC9,0xF7), o2(0xF1,0xA4), o2(0xF1,0xA5), o2(0xF1,0xA6), - o2(0xF1,0xA7), UNDEF, -}; -static const BYTE_LOOKUP -to_EUC_JP_E9_A2 = { - to_SHIFT_JIS_E9_A2_offsets, - to_EUC_JP_E9_A2_infos -}; - -static const struct byte_lookup* const -to_EUC_JP_E9_A3_infos[18] = { - o2(0xF1,0xA9), o2(0xF1,0xA8), o2(0xF1,0xAA), o2(0xC8,0xF4), - o2(0xE6,0xCC), o2(0xBF,0xA9), o2(0xB5,0xB2), o2(0xF1,0xAB), - o2(0xF1,0xAC), o2(0xD2,0xAC), o2(0xDD,0xBB), o2(0xC8,0xD3), - o2(0xB0,0xFB), o2(0xB0,0xBB), o2(0xBB,0xF4), o2(0xCB,0xB0), - o2(0xBE,0xFE), UNDEF, -}; -static const BYTE_LOOKUP -to_EUC_JP_E9_A3 = { - to_SHIFT_JIS_E9_A3_offsets, - to_EUC_JP_E9_A3_infos -}; - -static const struct byte_lookup* const -to_EUC_JP_E9_A4_infos[22] = { - o2(0xF1,0xAD), o2(0xCC,0xDF), o2(0xF1,0xAE), o2(0xCD,0xDC), - o2(0xB1,0xC2), o2(0xBB,0xC1), o2(0xF1,0xAF), o2(0xB2,0xEE), - o2(0xF1,0xB0), o2(0xF1,0xB1), o2(0xF1,0xB3), o2(0xF1,0xB4), - o2(0xF1,0xB6), o2(0xF1,0xB2), o2(0xF1,0xB5), o2(0xFC,0xDE), - o2(0xB4,0xDB), o2(0xF1,0xB7), o2(0xF1,0xB8), o2(0xF1,0xB9), - o2(0xF1,0xBA), UNDEF, -}; -static const BYTE_LOOKUP -to_EUC_JP_E9_A4 = { - to_SHIFT_JIS_E9_A4_offsets, - to_EUC_JP_E9_A4_infos -}; - -static const struct byte_lookup* const -to_EUC_JP_E9_A5_infos[11] = { - o2(0xF1,0xBB), o2(0xF1,0xBD), o2(0xF1,0xBC), o2(0xF1,0xBF), - o2(0xF1,0xC2), o2(0xF1,0xBE), o2(0xF1,0xC0), o2(0xF1,0xC1), - o2(0xF1,0xC3), o2(0xB6,0xC2), UNDEF, -}; -static const BYTE_LOOKUP -to_EUC_JP_E9_A5 = { - to_SHIFT_JIS_E9_A5_offsets, - to_EUC_JP_E9_A5_infos -}; - -static const struct byte_lookup* const -to_EUC_JP_E9_A6_infos[14] = { - o2(0xBC,0xF3), o2(0xF1,0xC4), o2(0xF1,0xC5), o2(0xB9,0xE1), - o2(0xFC,0xE0), o2(0xF1,0xC6), o2(0xB3,0xBE), o2(0xC7,0xCF), - o2(0xF1,0xC7), o2(0xF1,0xC8), o2(0xC3,0xDA), o2(0xC6,0xEB), - o2(0xF1,0xC9), UNDEF, -}; -static const BYTE_LOOKUP -to_EUC_JP_E9_A6 = { - to_SHIFT_JIS_E9_A6_offsets, - to_EUC_JP_E9_A6_infos -}; - -static const struct byte_lookup* const -to_EUC_JP_E9_A7_infos[22] = { - o2(0xC7,0xFD), o2(0xC2,0xCC), o2(0xB1,0xD8), o2(0xB6,0xEE), - o2(0xB6,0xEF), o2(0xC3,0xF3), o2(0xF1,0xCE), o2(0xB6,0xF0), - o2(0xB2,0xEF), o2(0xF1,0xCD), o2(0xF1,0xCB), o2(0xF1,0xCC), - o2(0xF1,0xCA), o2(0xF1,0xD8), o2(0xF1,0xCF), o2(0xF1,0xD0), - o2(0xF1,0xD1), o2(0xF1,0xD2), o2(0xF1,0xD4), o2(0xF1,0xD3), - o2(0xBD,0xD9), UNDEF, -}; -static const BYTE_LOOKUP -to_EUC_JP_E9_A7 = { - to_SHIFT_JIS_E9_A7_offsets, - to_EUC_JP_E9_A7_infos -}; - -static const struct byte_lookup* const -to_EUC_JP_E9_A8_infos[13] = { - o2(0xF1,0xD5), o2(0xF1,0xD7), o2(0xB5,0xB3), o2(0xF1,0xD6), - o2(0xC1,0xFB), o2(0xB8,0xB3), o2(0xF1,0xD9), o2(0xC2,0xCD), - o2(0xF1,0xDA), o2(0xC6,0xAD), o2(0xF1,0xDB), o2(0xF1,0xE0), - UNDEF, -}; -static const BYTE_LOOKUP -to_EUC_JP_E9_A8 = { - to_SHIFT_JIS_E9_A8_offsets, - to_EUC_JP_E9_A8_infos -}; - -static const struct byte_lookup* const -to_EUC_JP_E9_A9_infos[18] = { - o2(0xF1,0xDE), o2(0xF1,0xDD), o2(0xF1,0xDF), o2(0xF1,0xDC), - o2(0xF1,0xE2), o2(0xFC,0xE1), o2(0xF1,0xE1), o2(0xF1,0xE4), - o2(0xB6,0xC3), o2(0xF1,0xE3), o2(0xF1,0xE5), o2(0xF1,0xE6), - o2(0xF1,0xE8), o2(0xF1,0xE7), o2(0xF1,0xE9), o2(0xF1,0xEB), - o2(0xF1,0xEA), UNDEF, -}; -static const BYTE_LOOKUP -to_EUC_JP_E9_A9 = { - to_SHIFT_JIS_E9_A9_offsets, - to_EUC_JP_E9_A9_infos -}; - -static const struct byte_lookup* const -to_EUC_JP_E9_AA_infos[6] = { - o2(0xB9,0xFC), o2(0xF1,0xEC), o2(0xF1,0xED), o2(0xB3,0xBC), - o2(0xF1,0xEE), UNDEF, -}; -static const BYTE_LOOKUP -to_EUC_JP_E9_AA = { - to_SHIFT_JIS_E9_AA_offsets, - to_EUC_JP_E9_AA_infos -}; - -static const struct byte_lookup* const -to_EUC_JP_E9_AB_infos[24] = { - o2(0xF1,0xEF), o2(0xBF,0xF1), o2(0xF1,0xF0), o2(0xF1,0xF1), - o2(0xF1,0xF2), o2(0xF1,0xF3), o2(0xB9,0xE2), o2(0xFC,0xE2), - o2(0xFC,0xE3), o2(0xF1,0xF4), o2(0xF1,0xF5), o2(0xF1,0xF6), - o2(0xF1,0xF7), o2(0xF1,0xF8), o2(0xC8,0xB1), o2(0xF1,0xFA), - o2(0xC9,0xA6), o2(0xF1,0xFB), o2(0xF1,0xF9), o2(0xF1,0xFD), - o2(0xF1,0xFC), o2(0xF1,0xFE), o2(0xF2,0xA1), UNDEF, -}; -static const BYTE_LOOKUP -to_EUC_JP_E9_AB = { - to_SHIFT_JIS_E9_AB_offsets, - to_EUC_JP_E9_AB_infos -}; - -static const struct byte_lookup* const -to_EUC_JP_E9_AC_infos[18] = { - o2(0xF2,0xA2), o2(0xF2,0xA3), o2(0xF2,0xA4), o2(0xF2,0xA5), - o2(0xF2,0xA6), o2(0xF2,0xA7), o2(0xF2,0xA8), o2(0xF2,0xA9), - o2(0xF2,0xAA), o2(0xF2,0xAB), o2(0xF2,0xAC), o2(0xF2,0xAD), - o2(0xF2,0xAE), o2(0xDD,0xB5), o2(0xF2,0xAF), o2(0xE4,0xF8), - o2(0xB5,0xB4), UNDEF, -}; -static const BYTE_LOOKUP -to_EUC_JP_E9_AC = { - to_SHIFT_JIS_E9_AC_offsets, - to_EUC_JP_E9_AC_infos -}; - -static const struct byte_lookup* const -to_EUC_JP_E9_AD_infos[17] = { - o2(0xB3,0xA1), o2(0xBA,0xB2), o2(0xF2,0xB1), o2(0xF2,0xB0), - o2(0xCC,0xA5), o2(0xF2,0xB3), o2(0xF2,0xB4), o2(0xF2,0xB2), - o2(0xF2,0xB5), o2(0xCB,0xE2), o2(0xF2,0xB6), o2(0xB5,0xFB), - o2(0xCF,0xA5), o2(0xFC,0xE5), o2(0xF2,0xB7), o2(0xFC,0xE4), - UNDEF, -}; -static const BYTE_LOOKUP -to_EUC_JP_E9_AD = { - to_SHIFT_JIS_E9_AD_offsets, - to_EUC_JP_E9_AD_infos -}; - -static const struct byte_lookup* const -to_EUC_JP_E9_AE_infos[20] = { - o2(0xF2,0xB9), o2(0xB0,0xBE), o2(0xFC,0xE6), o2(0xF2,0xBA), - o2(0xCA,0xAB), o2(0xF2,0xB8), o2(0xF2,0xBB), o2(0xF2,0xBC), - o2(0xF2,0xBD), o2(0xF2,0xBE), o2(0xF2,0xBF), o2(0xCB,0xEE), - o2(0xBB,0xAD), o2(0xBA,0xFA), o2(0xC1,0xAF), o2(0xFC,0xE7), - o2(0xF2,0xC0), o2(0xF2,0xC3), o2(0xFC,0xE8), UNDEF, -}; -static const BYTE_LOOKUP -to_EUC_JP_E9_AE = { - to_SHIFT_JIS_E9_AE_offsets, - to_EUC_JP_E9_AE_infos -}; - -static const struct byte_lookup* const -to_EUC_JP_E9_AF_infos[20] = { - o2(0xF2,0xC1), o2(0xF2,0xC4), o2(0xB8,0xF1), o2(0xF2,0xC2), - o2(0xF2,0xC5), o2(0xF2,0xC6), o2(0xF2,0xC7), o2(0xF2,0xCB), - o2(0xBB,0xAA), o2(0xC2,0xE4), o2(0xF2,0xCC), o2(0xF2,0xC9), - o2(0xF2,0xC8), o2(0xF2,0xCA), o2(0xB7,0xDF), o2(0xF2,0xD0), - o2(0xF2,0xCF), o2(0xF2,0xCE), o2(0xB0,0xB3), UNDEF, -}; -static const BYTE_LOOKUP -to_EUC_JP_E9_AF = { - to_SHIFT_JIS_E9_AF_offsets, - to_EUC_JP_E9_AF_infos -}; - -static const struct byte_lookup* const -to_EUC_JP_E9_B0_infos[27] = { - o2(0xFC,0xE9), o2(0xF2,0xDA), o2(0xF2,0xD6), o2(0xF2,0xD7), - o2(0xF2,0xD3), o2(0xF2,0xD9), o2(0xF2,0xD5), o2(0xB3,0xE2), - o2(0xCF,0xCC), o2(0xF2,0xD8), o2(0xF2,0xD4), o2(0xF2,0xD2), - o2(0xF2,0xD1), o2(0xF2,0xDC), o2(0xF2,0xDF), o2(0xF2,0xDE), - o2(0xF2,0xDD), o2(0xC9,0xC9), o2(0xF2,0xDB), o2(0xB0,0xF3), - o2(0xF2,0xE0), o2(0xF2,0xE2), o2(0xB3,0xEF), o2(0xF2,0xCD), - o2(0xB1,0xB7), o2(0xF2,0xE4), UNDEF, -}; -static const BYTE_LOOKUP -to_EUC_JP_E9_B0 = { - to_SHIFT_JIS_E9_B0_offsets, - to_EUC_JP_E9_B0_infos -}; - -static const struct byte_lookup* const -to_EUC_JP_E9_B1_infos[11] = { - o2(0xF2,0xE3), o2(0xF2,0xE1), o2(0xC3,0xAD), o2(0xCB,0xF0), - o2(0xCE,0xDA), o2(0xF2,0xE5), o2(0xF2,0xE6), o2(0xF2,0xE7), - o2(0xF2,0xE8), o2(0xF2,0xE9), UNDEF, -}; -static const BYTE_LOOKUP -to_EUC_JP_E9_B1 = { - to_SHIFT_JIS_E9_B1_offsets, - to_EUC_JP_E9_B1_infos -}; - -static const struct byte_lookup* const -to_EUC_JP_E9_B3_infos[10] = { - o2(0xC4,0xBB), o2(0xF2,0xEA), o2(0xC8,0xB7), o2(0xF2,0xEF), - o2(0xF2,0xEB), o2(0xF2,0xEC), o2(0xCB,0xB1), o2(0xCC,0xC4), - o2(0xC6,0xD0), UNDEF, -}; -static const BYTE_LOOKUP -to_EUC_JP_E9_B3 = { - to_SHIFT_JIS_E9_B3_offsets, - to_EUC_JP_E9_B3_infos -}; - -static const struct byte_lookup* const -to_EUC_JP_E9_B4_infos[20] = { - o2(0xF2,0xF0), o2(0xF2,0xF1), o2(0xC6,0xBE), o2(0xF2,0xEE), - o2(0xF2,0xED), o2(0xB2,0xAA), o2(0xF2,0xF9), o2(0xF2,0xF8), - o2(0xB1,0xF5), o2(0xF2,0xF6), o2(0xF2,0xF5), o2(0xF2,0xF3), - o2(0xB3,0xFB), o2(0xF2,0xF2), o2(0xBC,0xB2), o2(0xB2,0xA9), - o2(0xB9,0xE3), o2(0xF2,0xFC), o2(0xF2,0xFB), UNDEF, -}; -static const BYTE_LOOKUP -to_EUC_JP_E9_B4 = { - to_SHIFT_JIS_E9_B4_offsets, - to_EUC_JP_E9_B4_infos -}; - -static const struct byte_lookup* const -to_EUC_JP_E9_B5_infos[20] = { - o2(0xF2,0xFA), o2(0xF2,0xF7), o2(0xF2,0xFD), o2(0xF2,0xFE), - o2(0xF3,0xA5), o2(0xF3,0xA4), o2(0xF3,0xA6), o2(0xB1,0xAD), - o2(0xF3,0xA1), o2(0xF3,0xA2), o2(0xB9,0xF4), o2(0xCC,0xB9), - o2(0xF3,0xA3), o2(0xFC,0xEB), o2(0xCB,0xB2), o2(0xF3,0xAB), - o2(0xFC,0xEA), o2(0xF3,0xA7), o2(0xF3,0xAC), UNDEF, -}; -static const BYTE_LOOKUP -to_EUC_JP_E9_B5 = { - to_SHIFT_JIS_E9_B5_offsets, - to_EUC_JP_E9_B5_infos -}; - -static const struct byte_lookup* const -to_EUC_JP_E9_B6_infos[14] = { - o2(0xF3,0xA9), o2(0xF3,0xA8), o2(0xB7,0xDC), o2(0xF3,0xAD), - o2(0xF3,0xAE), o2(0xF3,0xAF), o2(0xF3,0xAA), o2(0xF2,0xF4), - o2(0xF3,0xB0), o2(0xC4,0xE1), o2(0xF3,0xB4), o2(0xF3,0xB5), - o2(0xF3,0xB3), UNDEF, -}; -static const BYTE_LOOKUP -to_EUC_JP_E9_B6 = { - to_SHIFT_JIS_E9_B6_offsets, - to_EUC_JP_E9_B6_infos -}; - -static const struct byte_lookup* const -to_EUC_JP_E9_B7_infos[16] = { - o2(0xF3,0xB2), o2(0xF3,0xB8), o2(0xF3,0xB1), o2(0xF3,0xB6), - o2(0xF3,0xB7), o2(0xF3,0xBA), o2(0xF3,0xB9), o2(0xF3,0xBC), - o2(0xF3,0xBD), o2(0xF3,0xBE), o2(0xCF,0xC9), o2(0xF3,0xBB), - o2(0xC2,0xEB), o2(0xBA,0xED), o2(0xF3,0xBF), UNDEF, -}; -static const BYTE_LOOKUP -to_EUC_JP_E9_B7 = { - to_SHIFT_JIS_E9_B7_offsets, - to_EUC_JP_E9_B7_infos -}; - -static const struct byte_lookup* const -to_EUC_JP_E9_B8_infos[5] = { - o2(0xFC,0xED), o2(0xF3,0xC0), o2(0xF3,0xC1), o2(0xF3,0xC2), - UNDEF, -}; -static const BYTE_LOOKUP -to_EUC_JP_E9_B8 = { - to_SHIFT_JIS_E9_B8_offsets, - to_EUC_JP_E9_B8_infos -}; - -static const struct byte_lookup* const -to_EUC_JP_E9_B9_infos[6] = { - o2(0xF3,0xC3), o2(0xB8,0xB4), o2(0xF3,0xC4), o2(0xF3,0xC5), - o2(0xBC,0xAF), UNDEF, -}; -static const BYTE_LOOKUP -to_EUC_JP_E9_B9 = { - to_SHIFT_JIS_E9_B9_offsets, - to_EUC_JP_E9_B9_infos -}; - -static const struct byte_lookup* const -to_EUC_JP_E9_BA_infos[24] = { - o2(0xF3,0xC6), o2(0xF3,0xC7), o2(0xF3,0xC8), o2(0xF3,0xC9), - o2(0xF3,0xCC), o2(0xF3,0xCA), o2(0xCF,0xBC), o2(0xF3,0xCB), - o2(0xCE,0xEF), o2(0xF3,0xCD), o2(0xCE,0xDB), o2(0xF3,0xCE), - o2(0xC7,0xFE), o2(0xF3,0xCF), o2(0xF3,0xD1), o2(0xF3,0xD2), - o2(0xF3,0xD0), o2(0xB9,0xED), o2(0xCC,0xCD), o2(0xCB,0xE3), - o2(0xD6,0xF7), o2(0xDD,0xE0), o2(0xCB,0xFB), UNDEF, -}; -static const BYTE_LOOKUP -to_EUC_JP_E9_BA = { - to_SHIFT_JIS_E9_BA_offsets, - to_EUC_JP_E9_BA_infos -}; - -static const struct byte_lookup* const -to_EUC_JP_E9_BB_infos[27] = { - o2(0xB2,0xAB), o2(0xF3,0xD4), o2(0xB5,0xD0), o2(0xF3,0xD5), - o2(0xF3,0xD6), o2(0xF3,0xD7), o2(0xFC,0xEE), o2(0xB9,0xF5), - o2(0xF3,0xD8), o2(0xE0,0xD4), o2(0xCC,0xDB), o2(0xC2,0xE3), - o2(0xF3,0xD9), o2(0xF3,0xDB), o2(0xF3,0xDA), o2(0xF3,0xDC), - o2(0xF3,0xDD), o2(0xF3,0xDE), o2(0xF3,0xDF), o2(0xF3,0xE0), - o2(0xF3,0xE1), o2(0xF3,0xE2), o2(0xF3,0xE3), o2(0xF3,0xE4), - o2(0xF3,0xE5), o2(0xF3,0xE6), UNDEF, -}; -static const BYTE_LOOKUP -to_EUC_JP_E9_BB = { - to_SHIFT_JIS_E9_BB_offsets, - to_EUC_JP_E9_BB_infos -}; - -static const struct byte_lookup* const -to_EUC_JP_E9_BC_infos[11] = { - o2(0xF3,0xE7), o2(0xF3,0xE8), o2(0xC5,0xA4), o2(0xB8,0xDD), - o2(0xF3,0xEA), o2(0xC1,0xCD), o2(0xF3,0xEB), o2(0xF3,0xEC), - o2(0xC9,0xA1), o2(0xF3,0xED), UNDEF, -}; -static const BYTE_LOOKUP -to_EUC_JP_E9_BC = { - to_SHIFT_JIS_E9_BC_offsets, - to_EUC_JP_E9_BC_infos -}; - -static const struct byte_lookup* const -to_EUC_JP_E9_BD_infos[19] = { - o2(0xF3,0xEE), o2(0xE3,0xB7), o2(0xEC,0xDA), o2(0xF0,0xED), - o2(0xF3,0xEF), o2(0xF3,0xF0), o2(0xF3,0xF2), o2(0xF3,0xF3), - o2(0xF3,0xF4), o2(0xCE,0xF0), o2(0xF3,0xF1), o2(0xF3,0xF5), - o2(0xF3,0xF6), o2(0xF3,0xF8), o2(0xF3,0xF7), o2(0xF3,0xFA), - o2(0xF3,0xFB), o2(0xF3,0xF9), UNDEF, -}; -static const BYTE_LOOKUP -to_EUC_JP_E9_BD = { - to_SHIFT_JIS_E9_BD_offsets, - to_EUC_JP_E9_BD_infos -}; - -static const struct byte_lookup* const -to_EUC_JP_E9_BE_infos[6] = { - o2(0xCE,0xB6), o2(0xF3,0xFC), o2(0xF3,0xFD), o2(0xE3,0xD4), - o2(0xF3,0xFE), UNDEF, -}; -static const BYTE_LOOKUP -to_EUC_JP_E9_BE = { - to_SHIFT_JIS_E9_BE_offsets, - to_EUC_JP_E9_BE_infos -}; - -static const struct byte_lookup* const -to_EUC_JP_E9_infos[61] = { - &to_EUC_JP_E9_80, &to_EUC_JP_E9_81, &to_EUC_JP_E9_82, &to_EUC_JP_E9_83, - &to_EUC_JP_E9_84, &to_EUC_JP_E9_85, &to_EUC_JP_E9_86, &to_EUC_JP_E9_87, - &to_EUC_JP_E9_88, &to_EUC_JP_E9_89, &to_EUC_JP_E9_8A, &to_EUC_JP_E9_8B, - &to_EUC_JP_E9_8C, &to_EUC_JP_E9_8D, &to_EUC_JP_E9_8E, &to_EUC_JP_E9_8F, - &to_EUC_JP_E9_90, &to_EUC_JP_E9_91, &to_EUC_JP_E9_92, &to_EUC_JP_E9_95, - &to_EUC_JP_E9_96, &to_EUC_JP_E9_97, &to_EUC_JP_E9_98, &to_EUC_JP_E9_99, - &to_EUC_JP_E9_9A, &to_EUC_JP_E9_9B, &to_EUC_JP_E9_9C, &to_EUC_JP_E9_9D, - &to_EUC_JP_E9_9E, &to_EUC_JP_E9_9F, &to_EUC_JP_E9_A0, &to_EUC_JP_E9_A1, - &to_EUC_JP_E9_A2, &to_EUC_JP_E9_A3, &to_EUC_JP_E9_A4, &to_EUC_JP_E9_A5, - &to_EUC_JP_E9_A6, &to_EUC_JP_E9_A7, &to_EUC_JP_E9_A8, &to_EUC_JP_E9_A9, - &to_EUC_JP_E9_AA, &to_EUC_JP_E9_AB, &to_EUC_JP_E9_AC, &to_EUC_JP_E9_AD, - &to_EUC_JP_E9_AE, &to_EUC_JP_E9_AF, &to_EUC_JP_E9_B0, &to_EUC_JP_E9_B1, - &to_EUC_JP_E9_B3, &to_EUC_JP_E9_B4, &to_EUC_JP_E9_B5, &to_EUC_JP_E9_B6, - &to_EUC_JP_E9_B7, &to_EUC_JP_E9_B8, &to_EUC_JP_E9_B9, &to_EUC_JP_E9_BA, - &to_EUC_JP_E9_BB, &to_EUC_JP_E9_BC, &to_EUC_JP_E9_BD, &to_EUC_JP_E9_BE, - UNDEF, -}; -static const BYTE_LOOKUP -to_EUC_JP_E9 = { - to_SHIFT_JIS_E9_offsets, - to_EUC_JP_E9_infos -}; - -static const struct byte_lookup* const -to_EUC_JP_EF_A4_infos[2] = { - o2(0xFA,0xC6), UNDEF, -}; -static const BYTE_LOOKUP -to_EUC_JP_EF_A4 = { - to_SHIFT_JIS_EF_A4_offsets, - to_EUC_JP_EF_A4_infos -}; - -static const struct byte_lookup* const -to_EUC_JP_EF_A7_infos[2] = { - o2(0xFC,0xCF), UNDEF, -}; -static const BYTE_LOOKUP -to_EUC_JP_EF_A7 = { - to_SHIFT_JIS_EF_A7_offsets, - to_EUC_JP_EF_A7_infos -}; - -static const struct byte_lookup* const -to_EUC_JP_EF_A8_infos[33] = { - o2(0xF9,0xD4), o2(0xF9,0xDF), o2(0xF9,0xE0), o2(0xF9,0xF5), - o2(0xFA,0xBE), o2(0xFA,0xCE), o2(0xFA,0xD0), o2(0xFA,0xFB), - o2(0xFB,0xA3), o2(0xFB,0xBA), o2(0xFB,0xC2), o2(0xFB,0xC3), - o2(0xFB,0xC4), o2(0xFB,0xC6), o2(0xFB,0xCA), o2(0xFB,0xCD), - o2(0xFB,0xD6), o2(0xFB,0xE1), o2(0xFB,0xE3), o2(0xFB,0xE4), - o2(0xFB,0xED), o2(0xFB,0xF5), o2(0xFB,0xF7), o2(0xFB,0xF8), - o2(0xFB,0xFB), o2(0xFC,0xB9), o2(0xFC,0xC0), o2(0xFC,0xD0), - o2(0xFC,0xDC), o2(0xFC,0xDD), o2(0xFC,0xDF), o2(0xFC,0xEC), - UNDEF, -}; -static const BYTE_LOOKUP -to_EUC_JP_EF_A8 = { - to_SHIFT_JIS_EF_A8_offsets, - to_EUC_JP_EF_A8_infos -}; - -static const struct byte_lookup* const -to_EUC_JP_EF_BC_infos[62] = { - o2(0xA1,0xAA), o2(0xFC,0xFE), o2(0xA1,0xF4), o2(0xA1,0xF0), - o2(0xA1,0xF3), o2(0xA1,0xF5), o2(0xFC,0xFD), o2(0xA1,0xCA), - o2(0xA1,0xCB), o2(0xA1,0xF6), o2(0xA1,0xDC), o2(0xA1,0xA5), - o2(0xA1,0xBF), o2(0xA3,0xB0), o2(0xA3,0xB1), o2(0xA3,0xB2), - o2(0xA3,0xB3), o2(0xA3,0xB4), o2(0xA3,0xB5), o2(0xA3,0xB6), - o2(0xA3,0xB7), o2(0xA3,0xB8), o2(0xA3,0xB9), o2(0xA1,0xA7), - o2(0xA1,0xA8), o2(0xA1,0xE3), o2(0xA1,0xE1), o2(0xA1,0xE4), - o2(0xA1,0xA9), o2(0xA1,0xF7), o2(0xA3,0xC1), o2(0xA3,0xC2), - o2(0xA3,0xC3), o2(0xA3,0xC4), o2(0xA3,0xC5), o2(0xA3,0xC6), - o2(0xA3,0xC7), o2(0xA3,0xC8), o2(0xA3,0xC9), o2(0xA3,0xCA), - o2(0xA3,0xCB), o2(0xA3,0xCC), o2(0xA3,0xCD), o2(0xA3,0xCE), - o2(0xA3,0xCF), o2(0xA3,0xD0), o2(0xA3,0xD1), o2(0xA3,0xD2), - o2(0xA3,0xD3), o2(0xA3,0xD4), o2(0xA3,0xD5), o2(0xA3,0xD6), - o2(0xA3,0xD7), o2(0xA3,0xD8), o2(0xA3,0xD9), o2(0xA3,0xDA), - o2(0xA1,0xCE), o2(0xA1,0xC0), o2(0xA1,0xCF), o2(0xA1,0xB0), - o2(0xA1,0xB2), UNDEF, -}; -static const BYTE_LOOKUP -to_EUC_JP_EF_BC = { - to_SHIFT_JIS_EF_BC_offsets, - to_EUC_JP_EF_BC_infos -}; - -static const struct byte_lookup* const -to_EUC_JP_EF_BD_infos[62] = { - o2(0xA1,0xAE), o2(0xA3,0xE1), o2(0xA3,0xE2), o2(0xA3,0xE3), - o2(0xA3,0xE4), o2(0xA3,0xE5), o2(0xA3,0xE6), o2(0xA3,0xE7), - o2(0xA3,0xE8), o2(0xA3,0xE9), o2(0xA3,0xEA), o2(0xA3,0xEB), - o2(0xA3,0xEC), o2(0xA3,0xED), o2(0xA3,0xEE), o2(0xA3,0xEF), - o2(0xA3,0xF0), o2(0xA3,0xF1), o2(0xA3,0xF2), o2(0xA3,0xF3), - o2(0xA3,0xF4), o2(0xA3,0xF5), o2(0xA3,0xF6), o2(0xA3,0xF7), - o2(0xA3,0xF8), o2(0xA3,0xF9), o2(0xA3,0xFA), o2(0xA1,0xD0), - o2(0xA1,0xC3), o2(0xA1,0xD1), o2(0x8E,0xA1), o2(0x8E,0xA2), - o2(0x8E,0xA3), o2(0x8E,0xA4), o2(0x8E,0xA5), o2(0x8E,0xA6), - o2(0x8E,0xA7), o2(0x8E,0xA8), o2(0x8E,0xA9), o2(0x8E,0xAA), - o2(0x8E,0xAB), o2(0x8E,0xAC), o2(0x8E,0xAD), o2(0x8E,0xAE), - o2(0x8E,0xAF), o2(0x8E,0xB0), o2(0x8E,0xB1), o2(0x8E,0xB2), - o2(0x8E,0xB3), o2(0x8E,0xB4), o2(0x8E,0xB5), o2(0x8E,0xB6), - o2(0x8E,0xB7), o2(0x8E,0xB8), o2(0x8E,0xB9), o2(0x8E,0xBA), - o2(0x8E,0xBB), o2(0x8E,0xBC), o2(0x8E,0xBD), o2(0x8E,0xBE), - o2(0x8E,0xBF), UNDEF, -}; -static const BYTE_LOOKUP -to_EUC_JP_EF_BD = { - to_SHIFT_JIS_EF_BD_offsets, - to_EUC_JP_EF_BD_infos -}; - -static const struct byte_lookup* const -to_EUC_JP_EF_BE_infos[33] = { - o2(0x8E,0xC0), o2(0x8E,0xC1), o2(0x8E,0xC2), o2(0x8E,0xC3), - o2(0x8E,0xC4), o2(0x8E,0xC5), o2(0x8E,0xC6), o2(0x8E,0xC7), - o2(0x8E,0xC8), o2(0x8E,0xC9), o2(0x8E,0xCA), o2(0x8E,0xCB), - o2(0x8E,0xCC), o2(0x8E,0xCD), o2(0x8E,0xCE), o2(0x8E,0xCF), - o2(0x8E,0xD0), o2(0x8E,0xD1), o2(0x8E,0xD2), o2(0x8E,0xD3), - o2(0x8E,0xD4), o2(0x8E,0xD5), o2(0x8E,0xD6), o2(0x8E,0xD7), - o2(0x8E,0xD8), o2(0x8E,0xD9), o2(0x8E,0xDA), o2(0x8E,0xDB), - o2(0x8E,0xDC), o2(0x8E,0xDD), o2(0x8E,0xDE), o2(0x8E,0xDF), - UNDEF, -}; -static const BYTE_LOOKUP -to_EUC_JP_EF_BE = { - to_SHIFT_JIS_EF_BE_offsets, - to_EUC_JP_EF_BE_infos -}; - -static const struct byte_lookup* const -to_EUC_JP_EF_infos[7] = { - &to_EUC_JP_EF_A4, &to_EUC_JP_EF_A7, &to_EUC_JP_EF_A8, &to_EUC_JP_EF_BC, - &to_EUC_JP_EF_BD, &to_EUC_JP_EF_BE, UNDEF, -}; -static const BYTE_LOOKUP -to_EUC_JP_EF = { - to_SHIFT_JIS_EF_offsets, - to_EUC_JP_EF_infos -}; - -static const struct byte_lookup* const -to_EUC_JP_infos[17] = { - NOMAP, &to_EUC_JP_C2, &to_EUC_JP_C3, &to_EUC_JP_CE, - &to_EUC_JP_CF, &to_EUC_JP_D0, &to_EUC_JP_D1, &to_EUC_JP_E2, - &to_EUC_JP_E3, &to_EUC_JP_E4, &to_EUC_JP_E5, &to_EUC_JP_E6, - &to_EUC_JP_E7, &to_EUC_JP_E8, &to_EUC_JP_E9, &to_EUC_JP_EF, - UNDEF, -}; -const BYTE_LOOKUP -rb_to_EUC_JP = { - to_SHIFT_JIS_offsets, - to_EUC_JP_infos -}; - -#define ISO_2022_ENCODING(escseq, byte) ((escseq<<8)|byte) -enum ISO_2022_ESCSEQ { - ISO_2022_CZD = '!', - ISO_2022_C1D = '"', - ISO_2022_GZD4 = '(', - ISO_2022_G1D4 = ')', - ISO_2022_G2D4 = '*', - ISO_2022_G3D4 = '+', - ISO_2022_G1D6 = '-', - ISO_2022_G2D6 = '.', - ISO_2022_G3D6 = '/', - ISO_2022_GZDM4 = ISO_2022_ENCODING('$','('), - ISO_2022_G1DM4 = ISO_2022_ENCODING('$',')'), - ISO_2022_G2DM4 = ISO_2022_ENCODING('$','*'), - ISO_2022_G3DM4 = ISO_2022_ENCODING('$','+'), - ISO_2022_G1DM6 = ISO_2022_ENCODING('$','-'), - ISO_2022_G2DM6 = ISO_2022_ENCODING('$','.'), - ISO_2022_G3DM6 = ISO_2022_ENCODING('$','/'), - ISO_2022_DOCS = ISO_2022_ENCODING('%','I'), - ISO_2022_IRR = '&' -}; - - -#define ISO_2022_GZ_ASCII ISO_2022_ENCODING(ISO_2022_GZD4, 'B') -#define ISO_2022_GZ_JIS_X_0201_Katakana ISO_2022_ENCODING(ISO_2022_GZD4, 'I') -#define ISO_2022_GZ_JIS_X_0201_Roman ISO_2022_ENCODING(ISO_2022_GZD4, 'J') -#define ISO_2022_GZ_JIS_C_6226_1978 ISO_2022_ENCODING(ISO_2022_GZDM4,'@') -#define ISO_2022_GZ_JIS_X_0208_1983 ISO_2022_ENCODING(ISO_2022_GZDM4,'B') -#define ISO_2022_GZ_JIS_X_0212_1990 ISO_2022_ENCODING(ISO_2022_GZDM4,'D') -#define ISO_2022_GZ_JIS_X_0213_2000_1 ISO_2022_ENCODING(ISO_2022_GZDM4,'O') -#define ISO_2022_GZ_JIS_X_0213_2000_2 ISO_2022_ENCODING(ISO_2022_GZDM4,'P') -#define ISO_2022_GZ_JIS_X_0213_2004_1 ISO_2022_ENCODING(ISO_2022_GZDM4,'Q') - -static int -get_iso_2022_mode(char **in_pos) -{ - int new_mode; - char *in_p = *in_pos; - switch (*in_p++) - { - case '(': - switch (*in_p++) - { - case 'B': case 'I': case 'J': - new_mode = ISO_2022_ENCODING(ISO_2022_GZD4, *(in_p-1)); - break; - default: - rb_raise(rb_eRuntimeError /*change exception*/, "this mode is not supported (ESC ( %c)", *(in_p-1)); - break; - } - break; - case '$': - switch (*in_p++) - { - case '@': case 'A': case 'B': - new_mode = ISO_2022_ENCODING(ISO_2022_GZDM4, *(in_p-1)); - break; - case '(': - switch (*in_p++) - { - case 'D': case 'O': case 'P': case 'Q': - new_mode = ISO_2022_ENCODING(ISO_2022_GZDM4, *(in_p-1)); - break; - default: - rb_raise(rb_eRuntimeError /*change exception*/, "this mode is not supported (ESC $ ( %c)", *(in_p-1)); - break; - } - break; - default: - rb_raise(rb_eRuntimeError /*change exception*/, "this mode is not supported (ESC $ %c)", *(in_p-1)); - break; - } - break; - default: - rb_raise(rb_eRuntimeError /*change exception*/, "this mode is not supported (ESC %c)", *(in_p-1)); - break; - } - *in_pos = in_p; - return new_mode; -} - -void -from_iso_2022_jp_transcoder_preprocessor(char **in_pos, char **out_pos, - char *in_stop, char *out_stop, - transcoder *my_transcoder, - transcoding *my_transcoding) -{ - char *in_p = *in_pos, *out_p = *out_pos; - int cur_mode = ISO_2022_GZ_ASCII; - unsigned char c1; - char *out_s = out_stop - my_transcoder->max_output + 1; - while (in_p < in_stop) { - if (out_p >= out_s) { - int len = (out_p - *out_pos); - int new_len = (len + my_transcoder->max_output) * 2; - *out_pos = (*my_transcoding->flush_func)(my_transcoding, len, new_len); - out_p = *out_pos + len; - out_s = *out_pos + new_len - my_transcoder->max_output; - } - c1 = *in_p++; - if (c1 == 0x1B) { - cur_mode = get_iso_2022_mode(&in_p); - } else if (c1 == 0x1E || c1 == 0x1F) { - /* SHIFT */ - rb_raise(rb_eRuntimeError /*change exception*/, "shift is not supported"); - } else if (c1 >= 0x80) { - rb_raise(rb_eRuntimeError /*change exception*/, "illegal byte sequence"); - } else { - switch (cur_mode) { - case ISO_2022_GZ_ASCII: - case ISO_2022_GZ_JIS_X_0201_Roman: - *out_p++ = c1; - break; - case ISO_2022_GZ_JIS_X_0201_Katakana: - *out_p++ = 0x8E; - *out_p++ = c1 | 0x80; - break; - case ISO_2022_GZ_JIS_X_0212_1990: - *out_p++ = 0x8F; - case ISO_2022_GZ_JIS_C_6226_1978: - case ISO_2022_GZ_JIS_X_0208_1983: - *out_p++ = c1 | 0x80; - *out_p++ = *in_p++ | 0x80; - break; - } - } - } - /* cleanup */ - *in_pos = in_p; - *out_pos = out_p; -} - -static int -select_iso_2022_mode(char **out_pos, int new_mode) -{ - char *out_p = *out_pos; - *out_p++ = '\x1b'; - switch (new_mode>>8) - { - case ISO_2022_GZD4: - *out_p++ = new_mode >> 8; - *out_p++ = new_mode & 0x7F; - break; - case ISO_2022_GZDM4: - *out_p++ = new_mode >> 16; - if ((new_mode & 0x7F) != '@' && - (new_mode & 0x7F) != 'A' && - (new_mode & 0x7F) != 'B') - { - *out_p++ = (new_mode>>8) & 0x7F; - } - *out_p++ = new_mode & 0x7F; - break; - default: - rb_raise(rb_eRuntimeError /*change exception*/, "this mode is not supported."); - break; - } - *out_pos = out_p; - return new_mode; -} - -void -to_iso_2022_jp_transcoder_postprocessor(char **in_pos, char **out_pos, - char *in_stop, char *out_stop, - transcoder *my_transcoder, - transcoding *my_transcoding) -{ - char *in_p = *in_pos, *out_p = *out_pos; - int cur_mode = ISO_2022_GZ_ASCII, new_mode = 0; - unsigned char next_byte; - char *out_s = out_stop - my_transcoder->max_output + 1; - while (in_p < in_stop) { - if (out_p >= out_s) { - int len = (out_p - *out_pos); - int new_len = (len + my_transcoder->max_output) * 2; - *out_pos = (*my_transcoding->flush_func)(my_transcoding, len, new_len); - out_p = *out_pos + len; - out_s = *out_pos + new_len - my_transcoder->max_output; - } - next_byte = *in_p++; - if (next_byte < 0x80) { - new_mode = ISO_2022_GZ_ASCII; - } else if (next_byte == 0x8E) { - new_mode = ISO_2022_GZ_JIS_X_0201_Katakana; - next_byte = *in_p++; - } else if (next_byte == 0x8F) { - new_mode = ISO_2022_GZ_JIS_X_0212_1990; - next_byte = *in_p++; - } else { - new_mode = ISO_2022_GZ_JIS_X_0208_1983; - } - if (cur_mode != new_mode) - cur_mode = select_iso_2022_mode(&out_p, new_mode); - if (cur_mode < 0xFFFF) { - *out_p++ = next_byte & 0x7F; - } else { - *out_p++ = next_byte & 0x7F; - *out_p++ = *in_p++ & 0x7F; - } - } - if (cur_mode != ISO_2022_GZ_ASCII) - cur_mode = select_iso_2022_mode(&out_p, ISO_2022_GZ_ASCII); - /* cleanup */ - *in_pos = in_p; - *out_pos = out_p; -} diff --git a/transcode_data_one_byte.c b/transcode_data_one_byte.c deleted file mode 100644 index f050bfeb4f..0000000000 --- a/transcode_data_one_byte.c +++ /dev/null @@ -1,2849 +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_2 */ - /* used from from_ISO_8859_4 */ - /* used from from_ISO_8859_5 */ - /* used from from_ISO_8859_9 */ - /* used from from_ISO_8859_10 */ - /* used from from_ISO_8859_13 */ - /* used from from_ISO_8859_14 */ - /* used from from_ISO_8859_15 */ - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 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 -rb_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] = { - 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 = { - /* used from to_ISO_8859_1 */ - /* used from to_ISO_8859_9 */ - 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] = { - 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 = { - /* used from to_ISO_8859_1 */ - /* used from to_ISO_8859_15 */ - 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 -rb_to_ISO_8859_1 = { - to_ISO_8859_1_offsets, - to_ISO_8859_1_infos -}; - -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 -rb_from_ISO_8859_2 = { - from_ISO_8859_1_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 -rb_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 -rb_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 -rb_to_ISO_8859_3 = { - to_ISO_8859_2_offsets, - to_ISO_8859_3_infos -}; - -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 -rb_from_ISO_8859_4 = { - from_ISO_8859_1_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_4_C4_offsets[64] = { - /* used from to_ISO_8859_4_C4 */ - /* used from to_ISO_8859_10_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_4_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 -rb_to_ISO_8859_4 = { - to_ISO_8859_2_offsets, - to_ISO_8859_4_infos -}; - -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 -rb_from_ISO_8859_5 = { - from_ISO_8859_1_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 -rb_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 -rb_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 -rb_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 -rb_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 -rb_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 -rb_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_8_E2_offsets[64] = { - /* used from to_ISO_8859_8_E2 */ - /* used from to_ISO_8859_10_E2 */ - /* used from to_ISO_8859_13_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_8_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 -rb_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 -rb_from_ISO_8859_9 = { - from_ISO_8859_1_offsets, - from_ISO_8859_9_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_1_C2, - &to_ISO_8859_9_C3, &to_ISO_8859_9_C4, - &to_ISO_8859_9_C5, UNDEF, -}; -const BYTE_LOOKUP -rb_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 -rb_from_ISO_8859_10 = { - from_ISO_8859_1_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_4_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 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_8_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 -rb_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 -rb_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 -rb_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 -rb_from_ISO_8859_13 = { - from_ISO_8859_1_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_8_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 -rb_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 -rb_from_ISO_8859_14 = { - from_ISO_8859_1_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 -rb_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 -rb_from_ISO_8859_15 = { - from_ISO_8859_1_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 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_1_C3, &to_ISO_8859_15_C5, - &to_ISO_8859_15_E2, UNDEF, -}; -const BYTE_LOOKUP -rb_to_ISO_8859_15 = { - to_ISO_8859_15_offsets, - to_ISO_8859_15_infos -}; - -/* Footprint (bytes): gross: 26788, saved: 3728, net: 23060 */ -- cgit v1.2.3