[前][次][番号順一覧][スレッド一覧]

ruby-changes:3015

From: ko1@a...
Date: 23 Dec 2007 10:24:05 +0900
Subject: [ruby-changes:3015] duerst - Ruby:r14507 (trunk): Sun Dec 23 10:23:23 2007 Martin Duerst <duerst@i...>

duerst	2007-12-23 10:23:39 +0900 (Sun, 23 Dec 2007)

  New Revision: 14507

  Modified files:
    trunk/ChangeLog
    trunk/transcode_data_japanese.c
    trunk/transcode_data_one_byte.c

  Log:
    Sun Dec 23 10:23:23 2007  Martin Duerst  <duerst@i...>
    
    * transcode_data_one_byte.c: Better (and more honest) optimization.
    
    * transcode_data_japanese.c: First optimization step.
    


  http://svn.ruby-lang.org/cgi-bin/viewvc.cgi/trunk/ChangeLog?r1=14507&r2=14506
  http://svn.ruby-lang.org/cgi-bin/viewvc.cgi/trunk/transcode_data_japanese.c?r1=14507&r2=14506
  http://svn.ruby-lang.org/cgi-bin/viewvc.cgi/trunk/transcode_data_one_byte.c?r1=14507&r2=14506

Index: ChangeLog
===================================================================
--- ChangeLog	(revision 14506)
+++ ChangeLog	(revision 14507)
@@ -1,3 +1,9 @@
+Sun Dec 23 10:23:23 2007  Martin Duerst  <duerst@i...>
+
+	* transcode_data_one_byte.c: Better (and more honest) optimization.
+
+	* transcode_data_japanese.c: First optimization step.
+
 Sun Dec 23 09:07:02 2007  Tanaka Akira  <akr@f...>
 
 	* include/ruby/encoding.h, encoding.c, re.c, io.c, parse.y, numeric.c,
Index: transcode_data_japanese.c
===================================================================
--- transcode_data_japanese.c	(revision 14506)
+++ transcode_data_japanese.c	(revision 14507)
@@ -399,6 +399,8 @@
 };
 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),
@@ -469,6 +471,8 @@
 };
 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),
@@ -526,6 +530,39 @@
 
 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,
@@ -647,25 +684,6 @@
     from_SHIFT_JIS_89_infos
 };
 
-static const unsigned char
-from_SHIFT_JIS_8A_offsets[256] = {
-    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_8A_infos[189] = {
      o3(0xE9,0xAD,0x81), o3(0xE6,0x99,0xA6),
@@ -766,29 +784,10 @@
 };
 static const BYTE_LOOKUP
 from_SHIFT_JIS_8A = {
-    from_SHIFT_JIS_8A_offsets,
+    from_SHIFT_JIS_89_offsets,
     from_SHIFT_JIS_8A_infos
 };
 
-static const unsigned char
-from_SHIFT_JIS_8B_offsets[256] = {
-    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_8B_infos[189] = {
      o3(0xE6,0xA9,0x9F), o3(0xE5,0xB8,0xB0),
@@ -889,29 +888,10 @@
 };
 static const BYTE_LOOKUP
 from_SHIFT_JIS_8B = {
-    from_SHIFT_JIS_8B_offsets,
+    from_SHIFT_JIS_89_offsets,
     from_SHIFT_JIS_8B_infos
 };
 
-static const unsigned char
-from_SHIFT_JIS_8C_offsets[256] = {
-    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_8C_infos[189] = {
      o3(0xE6,0x8E,0x98), o3(0xE7,0xAA,0x9F),
@@ -1012,29 +992,10 @@
 };
 static const BYTE_LOOKUP
 from_SHIFT_JIS_8C = {
-    from_SHIFT_JIS_8C_offsets,
+    from_SHIFT_JIS_89_offsets,
     from_SHIFT_JIS_8C_infos
 };
 
-static const unsigned char
-from_SHIFT_JIS_8D_offsets[256] = {
-    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_8D_infos[189] = {
      o3(0xE5,0x90,0x8E), o3(0xE5,0x96,0x89),
@@ -1135,29 +1096,10 @@
 };
 static const BYTE_LOOKUP
 from_SHIFT_JIS_8D = {
-    from_SHIFT_JIS_8D_offsets,
+    from_SHIFT_JIS_89_offsets,
     from_SHIFT_JIS_8D_infos
 };
 
-static const unsigned char
-from_SHIFT_JIS_8E_offsets[256] = {
-    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_8E_infos[189] = {
      o3(0xE5,0xAF,0x9F), o3(0xE6,0x8B,0xB6),
@@ -1258,29 +1200,10 @@
 };
 static const BYTE_LOOKUP
 from_SHIFT_JIS_8E = {
-    from_SHIFT_JIS_8E_offsets,
+    from_SHIFT_JIS_89_offsets,
     from_SHIFT_JIS_8E_infos
 };
 
-static const unsigned char
-from_SHIFT_JIS_8F_offsets[256] = {
-    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_8F_infos[189] = {
      o3(0xE5,0xAE,0x97), o3(0xE5,0xB0,0xB1),
@@ -1381,29 +1304,10 @@
 };
 static const BYTE_LOOKUP
 from_SHIFT_JIS_8F = {
-    from_SHIFT_JIS_8F_offsets,
+    from_SHIFT_JIS_89_offsets,
     from_SHIFT_JIS_8F_infos
 };
 
-static const unsigned char
-from_SHIFT_JIS_90_offsets[256] = {
-    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_90_infos[189] = {
      o3(0xE6,0x8B,0xAD), o3(0xE6,0xA4,0x8D),
@@ -1504,29 +1408,10 @@
 };
 static const BYTE_LOOKUP
 from_SHIFT_JIS_90 = {
-    from_SHIFT_JIS_90_offsets,
+    from_SHIFT_JIS_89_offsets,
     from_SHIFT_JIS_90_infos
 };
 
-static const unsigned char
-from_SHIFT_JIS_91_offsets[256] = {
-    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_91_infos[189] = {
      o3(0xE7,0xB9,0x8A), o3(0xE7,0xBE,0xA8),
@@ -1627,29 +1512,10 @@
 };
 static const BYTE_LOOKUP
 from_SHIFT_JIS_91 = {
-    from_SHIFT_JIS_91_offsets,
+    from_SHIFT_JIS_89_offsets,
     from_SHIFT_JIS_91_infos
 };
 
-static const unsigned char
-from_SHIFT_JIS_92_offsets[256] = {
-    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_92_infos[189] = {
      o3(0xE5,0x8F,0xA9), o3(0xE4,0xBD,0x86),
@@ -1750,29 +1616,10 @@
 };
 static const BYTE_LOOKUP
 from_SHIFT_JIS_92 = {
-    from_SHIFT_JIS_92_offsets,
+    from_SHIFT_JIS_89_offsets,
     from_SHIFT_JIS_92_infos
 };
 
-static const unsigned char
-from_SHIFT_JIS_93_offsets[256] = {
-    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_93_infos[189] = {
      o3(0xE9,0x82,0xB8), o3(0xE9,0x84,0xAD),
@@ -1873,29 +1720,10 @@
 };
 static const BYTE_LOOKUP
 from_SHIFT_JIS_93 = {
-    from_SHIFT_JIS_93_offsets,
+    from_SHIFT_JIS_89_offsets,
     from_SHIFT_JIS_93_infos
 };
 
-static const unsigned char
-from_SHIFT_JIS_94_offsets[256] = {
-    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_94_infos[189] = {
      o3(0xE5,0xA6,0x82), o3(0xE5,0xB0,0xBF),
@@ -1996,29 +1824,10 @@
 };
 static const BYTE_LOOKUP
 from_SHIFT_JIS_94 = {
-    from_SHIFT_JIS_94_offsets,
+    from_SHIFT_JIS_89_offsets,
     from_SHIFT_JIS_94_infos
 };
 
-static const unsigned char
-from_SHIFT_JIS_95_offsets[256] = {
-    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_95_infos[189] = {
      o3(0xE9,0xBC,0xBB), o3(0xE6,0x9F,0x8A),
@@ -2119,29 +1928,10 @@
 };
 static const BYTE_LOOKUP
 from_SHIFT_JIS_95 = {
-    from_SHIFT_JIS_95_offsets,
+    from_SHIFT_JIS_89_offsets,
     from_SHIFT_JIS_95_infos
 };
 
-static const unsigned char
-from_SHIFT_JIS_96_offsets[256] = {
-    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_96_infos[189] = {
      o3(0xE6,0xB3,0x95), o3(0xE6,0xB3,0xA1),
@@ -2242,29 +2032,10 @@
 };
 static const BYTE_LOOKUP
 from_SHIFT_JIS_96 = {
-    from_SHIFT_JIS_96_offsets,
+    from_SHIFT_JIS_89_offsets,
     from_SHIFT_JIS_96_infos
 };
 
-static const unsigned char
-from_SHIFT_JIS_97_offsets[256] = {
-    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_97_infos[189] = {
      o3(0xE8,0xAB,0xAD), o3(0xE8,0xBC,0xB8),
@@ -2365,7 +2136,7 @@
 };
 static const BYTE_LOOKUP
 from_SHIFT_JIS_97 = {
-    from_SHIFT_JIS_97_offsets,
+    from_SHIFT_JIS_89_offsets,
     from_SHIFT_JIS_97_infos
 };
 
@@ -2470,25 +2241,6 @@
     from_SHIFT_JIS_98_infos
 };
 
-static const unsigned char
-from_SHIFT_JIS_99_offsets[256] = {
-    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_99_infos[189] = {
      o3(0xE5,0x83,0x89), o3(0xE5,0x83,0x8A),
@@ -2589,29 +2341,10 @@
 };
 static const BYTE_LOOKUP
 from_SHIFT_JIS_99 = {
-    from_SHIFT_JIS_99_offsets,
+    from_SHIFT_JIS_89_offsets,
     from_SHIFT_JIS_99_infos
 };
 
-static const unsigned char
-from_SHIFT_JIS_9A_offsets[256] = {
-    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_9A_infos[189] = {
      o3(0xE5,0x92,0xAB), o3(0xE5,0x93,0x82),
@@ -2712,29 +2445,10 @@
 };
 static const BYTE_LOOKUP
 from_SHIFT_JIS_9A = {
-    from_SHIFT_JIS_9A_offsets,
+    from_SHIFT_JIS_89_offsets,
     from_SHIFT_JIS_9A_infos
 };
 
-static const unsigned char
-from_SHIFT_JIS_9B_offsets[256] = {
-    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_9B_infos[189] = {
      o3(0xE5,0xA5,0xB8), o3(0xE5,0xA6,0x81),
@@ -2835,29 +2549,10 @@
 };
 static const BYTE_LOOKUP
 from_SHIFT_JIS_9B = {
-    from_SHIFT_JIS_9B_offsets,
+    from_SHIFT_JIS_89_offsets,
     from_SHIFT_JIS_9B_infos
 };
 
-static const unsigned char
-from_SHIFT_JIS_9C_offsets[256] = {
-    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_9C_infos[189] = {
      o3(0xE5,0xBB,0x96), o3(0xE5,0xBB,0xA3),
@@ -2958,29 +2653,10 @@
 };
 static const BYTE_LOOKUP
 from_SHIFT_JIS_9C = {
-    from_SHIFT_JIS_9C_offsets,
+    from_SHIFT_JIS_89_offsets,
     from_SHIFT_JIS_9C_infos
 };
 
-static const unsigned char
-from_SHIFT_JIS_9D_offsets[256] = {
-    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_9D_infos[189] = {
      o3(0xE6,0x88,0x9E), o3(0xE6,0x88,0xA1),
@@ -3081,29 +2757,10 @@
 };
 static const BYTE_LOOKUP
 from_SHIFT_JIS_9D = {
-    from_SHIFT_JIS_9D_offsets,
+    from_SHIFT_JIS_89_offsets,
     from_SHIFT_JIS_9D_infos
 };
 
-static const unsigned char
-from_SHIFT_JIS_9E_offsets[256] = {
-    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_9E_infos[189] = {
      o3(0xE6,0x9B,0x84), o3(0xE6,0x9A,0xB8),
@@ -3204,29 +2861,10 @@
 };
 static const BYTE_LOOKUP
 from_SHIFT_JIS_9E = {
-    from_SHIFT_JIS_9E_offsets,
+    from_SHIFT_JIS_89_offsets,
     from_SHIFT_JIS_9E_infos
 };
 
-static const unsigned char
-from_SHIFT_JIS_9F_offsets[256] = {
-    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_9F_infos[189] = {
      o3(0xE6,0xAA,0x97), o3(0xE8,0x98,0x97),
@@ -3327,29 +2965,10 @@
 };
 static const BYTE_LOOKUP
 from_SHIFT_JIS_9F = {
-    from_SHIFT_JIS_9F_offsets,
+    from_SHIFT_JIS_89_offsets,
     from_SHIFT_JIS_9F_infos
 };
 
-static const unsigned char
-from_SHIFT_JIS_E0_offsets[256] = {
-    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_E0_infos[189] = {
      o3(0xE6,0xBC,0xBE), o3(0xE6,0xBC,0x93),
@@ -3450,29 +3069,10 @@
 };
 static const BYTE_LOOKUP
 from_SHIFT_JIS_E0 = {
-    from_SHIFT_JIS_E0_offsets,
+    from_SHIFT_JIS_89_offsets,
     from_SHIFT_JIS_E0_infos
 };
 
-static const unsigned char
-from_SHIFT_JIS_E1_offsets[256] = {
-    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_E1_infos[189] = {
      o3(0xE7,0x93,0xA0), o3(0xE7,0x93,0xA3),
@@ -3573,29 +3173,10 @@
 };
 static const BYTE_LOOKUP
 from_SHIFT_JIS_E1 = {
-    from_SHIFT_JIS_E1_offsets,
+    from_SHIFT_JIS_89_offsets,
     from_SHIFT_JIS_E1_infos
 };
 
-static const unsigned char
-from_SHIFT_JIS_E2_offsets[256] = {
-    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_E2_infos[189] = {
      o3(0xE7,0xA3,0xA7), o3(0xE7,0xA3,0x9A),
@@ -3696,29 +3277,10 @@
 };
 static const BYTE_LOOKUP
 from_SHIFT_JIS_E2 = {
-    from_SHIFT_JIS_E2_offsets,
+    from_SHIFT_JIS_89_offsets,
     from_SHIFT_JIS_E2_infos
 };
 
-static const unsigned char
-from_SHIFT_JIS_E3_offsets[256] = {
-    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_E3_infos[189] = {
      o3(0xE7,0xB4,0x82), o3(0xE7,0xB4,0x9C),
@@ -3819,29 +3381,10 @@
 };
 static const BYTE_LOOKUP
 from_SHIFT_JIS_E3 = {
-    from_SHIFT_JIS_E3_offsets,
+    from_SHIFT_JIS_89_offsets,
     from_SHIFT_JIS_E3_infos
 };
 
-static const unsigned char
-from_SHIFT_JIS_E4_offsets[256] = {
-    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_E4_infos[189] = {
      o3(0xE9,0x9A,0x8B), o3(0xE8,0x85,0x86),
@@ -3942,29 +3485,10 @@
 };
 static const BYTE_LOOKUP
 from_SHIFT_JIS_E4 = {
-    from_SHIFT_JIS_E4_offsets,
+    from_SHIFT_JIS_89_offsets,
     from_SHIFT_JIS_E4_infos
 };
 
-static const unsigned char
-from_SHIFT_JIS_E5_offsets[256] = {
-    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_E5_infos[189] = {
      o3(0xE8,0x95,0x81), o3(0xE8,0x98,0x82),
@@ -4065,29 +3589,10 @@
 };
 static const BYTE_LOOKUP
 from_SHIFT_JIS_E5 = {
-    from_SHIFT_JIS_E5_offsets,
+    from_SHIFT_JIS_89_offsets,
     from_SHIFT_JIS_E5_infos
 };
 
-static const unsigned char
-from_SHIFT_JIS_E6_offsets[256] = {
-    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_E6_infos[189] = {
      o3(0xE8,0xA5,0xA6), o3(0xE8,0xA5,0xA4),
@@ -4188,29 +3693,10 @@
 };
 static const BYTE_LOOKUP
 from_SHIFT_JIS_E6 = {
-    from_SHIFT_JIS_E6_offsets,
+    from_SHIFT_JIS_89_offsets,
     from_SHIFT_JIS_E6_infos
 };
 
-static const unsigned char
-from_SHIFT_JIS_E7_offsets[256] = {
-    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_E7_infos[189] = {
      o3(0xE8,0xB9,0x87), o3(0xE8,0xB9,0x89),
@@ -4311,29 +3797,10 @@
 };
 static const BYTE_LOOKUP
 from_SHIFT_JIS_E7 = {
-    from_SHIFT_JIS_E7_offsets,
+    from_SHIFT_JIS_89_offsets,
     from_SHIFT_JIS_E7_infos
 };
 
-static const unsigned char
-from_SHIFT_JIS_E8_offsets[256] = {
-    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_E8_infos[189] = {
      o3(0xE9,0x8C,0x99), o3(0xE9,0x8C,0xA2),
@@ -4434,29 +3901,10 @@
 };
 static const BYTE_LOOKUP
 from_SHIFT_JIS_E8 = {
-    from_SHIFT_JIS_E8_offsets,
+    from_SHIFT_JIS_89_offsets,
     from_SHIFT_JIS_E8_infos
 };
 
-static const unsigned char
-from_SHIFT_JIS_E9_offsets[256] = {
-    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_E9_infos[189] = {
      o3(0xE9,0xA1,0xB1), o3(0xE9,0xA1,0xB4),
@@ -4557,7 +4005,7 @@
 };
 static const BYTE_LOOKUP
 from_SHIFT_JIS_E9 = {
-    from_SHIFT_JIS_E9_offsets,
+    from_SHIFT_JIS_89_offsets,
     from_SHIFT_JIS_E9_infos
 };
 
@@ -4755,25 +4203,6 @@
     from_SHIFT_JIS_FA_infos
 };
 
-static const unsigned char
-from_SHIFT_JIS_FB_offsets[256] = {
-    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_FB_infos[189] = {
      o3(0xE6,0xB6,0x96), o3(0xE6,0xB6,0xAC),
@@ -4874,7 +4303,7 @@
 };
 static const BYTE_LOOKUP
 from_SHIFT_JIS_FB = {
-    from_SHIFT_JIS_FB_offsets,
+    from_SHIFT_JIS_89_offsets,
     from_SHIFT_JIS_FB_infos
 };
 
@@ -4997,6 +4426,8 @@
 
 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,
@@ -5017,6 +4448,8 @@
 
 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,
@@ -5034,6 +4467,8 @@
 
 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,
@@ -5060,6 +4495,8 @@
 
 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,
@@ -5079,6 +4516,8 @@
 
 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,
@@ -5108,6 +4547,8 @@
 
 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,
@@ -5129,6 +4570,8 @@
 
 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,
@@ -5149,6 +4592,8 @@
 
 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,
@@ -5167,6 +4612,8 @@
 
 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,
@@ -5189,6 +4636,8 @@
 
 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,
@@ -5207,6 +4656,8 @@
 
 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,
@@ -5224,6 +4675,8 @@
 
 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,
@@ -5246,6 +4699,8 @@
 
 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,
@@ -5264,6 +4719,8 @@
 
 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,
@@ -5282,6 +4739,8 @@
 
 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,
@@ -5299,6 +4758,8 @@
 
 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,
@@ -5321,6 +4782,8 @@
 
 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,
@@ -5345,6 +4808,8 @@
 
 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,
@@ -5362,6 +4827,8 @@
 
 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,
@@ -5380,6 +4847,8 @@
 
 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,
@@ -5398,6 +4867,8 @@
 
 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,
@@ -5415,6 +4886,8 @@
 
 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,
@@ -5433,6 +4906,8 @@
 
 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,
@@ -5458,6 +4933,8 @@
 
 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,
@@ -5481,6 +4958,8 @@
 
 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,
@@ -5513,6 +4992,8 @@
 
 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,
@@ -5543,6 +5024,8 @@
 
 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,
@@ -5574,6 +5057,8 @@
 
 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,
@@ -5591,6 +5076,8 @@
 
 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,
@@ -5609,6 +5096,8 @@
 
 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,
@@ -5628,6 +5117,8 @@
 
 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,
@@ -5647,6 +5138,8 @@
 
 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,
@@ -5665,6 +5158,8 @@
 
 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,
@@ -5682,6 +5177,8 @@
 
 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,
@@ -5704,6 +5201,8 @@
 
 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,
@@ -5729,6 +5228,8 @@
 
 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,
@@ -5750,6 +5251,8 @@
 
 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,
@@ -5775,6 +5278,8 @@
 
 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,
@@ -5800,6 +5305,8 @@
 
 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,
@@ -5822,6 +5329,8 @@
 
 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,
@@ -5845,6 +5354,8 @@
 
 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,
@@ -5868,6 +5379,8 @@
 
 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,
@@ -5892,6 +5405,8 @@
 
 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,
@@ -5913,6 +5428,8 @@
 
 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,
@@ -5937,6 +5454,8 @@
 
 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,
@@ -5959,6 +5478,8 @@
 
 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,
@@ -5980,6 +5501,8 @@
 
 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,
@@ -6002,6 +5525,8 @@
 
 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,
@@ -6024,6 +5549,8 @@
 
 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,
@@ -6049,6 +5576,8 @@
 
 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,
@@ -6075,6 +5604,8 @@
 
 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,
@@ -6099,6 +5630,8 @@
 
 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,
@@ -6123,6 +5656,8 @@
 
 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,
@@ -6146,6 +5681,8 @@
 
 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,
@@ -6169,6 +5706,8 @@
 
 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,
@@ -6193,6 +5732,8 @@
 
 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,
@@ -6217,6 +5758,8 @@
 
 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,
@@ -6242,6 +5785,8 @@
 
 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,
@@ -6263,6 +5808,8 @@
 
 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,
@@ -6289,6 +5836,8 @@
 
 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,
@@ -6313,6 +5862,8 @@
 
 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,
@@ -6335,6 +5886,8 @@
 
 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,
@@ -6358,6 +5911,8 @@
 
 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,
@@ -6380,6 +5935,8 @@
 
 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,
@@ -6400,6 +5957,8 @@
 
 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,
@@ -6420,6 +5979,8 @@
 
 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,
@@ -6443,6 +6004,8 @@
 
 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,
@@ -6463,6 +6026,8 @@
 
 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,
@@ -6483,6 +6048,8 @@
 
 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,
@@ -6503,6 +6070,8 @@
 
 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,
@@ -6523,6 +6092,8 @@
 
 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,
@@ -6545,6 +6116,8 @@
 
 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,
@@ -6567,6 +6140,8 @@
 
 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,
@@ -6588,6 +6163,8 @@
 
 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,
@@ -6608,6 +6185,8 @@
 
 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,
@@ -6630,6 +6209,8 @@
 
 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,
@@ -6651,6 +6232,8 @@
 
 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,
@@ -6673,6 +6256,8 @@
 
 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,
@@ -6694,6 +6279,8 @@
 
 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,
@@ -6718,6 +6305,8 @@
 
 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,
@@ -6741,6 +6330,8 @@
 
 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,
@@ -6765,6 +6356,8 @@
 
 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,
@@ -6787,6 +6380,8 @@
 
 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,
@@ -6808,6 +6403,8 @@
 
 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,
@@ -6828,6 +6425,8 @@
 
 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,
@@ -6847,6 +6446,8 @@
 
 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,
@@ -6865,6 +6466,8 @@
 
 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,
@@ -6885,6 +6488,8 @@
 
 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,
@@ -6904,6 +6509,8 @@
 
 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,
@@ -6927,6 +6534,8 @@
 
 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,
@@ -6952,6 +6561,8 @@
 
 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,
@@ -6978,6 +6589,8 @@
 
 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,
@@ -7003,6 +6616,8 @@
 
 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,
@@ -7026,6 +6641,8 @@
 
 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,
@@ -7047,6 +6664,8 @@
 
 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,
@@ -7068,6 +6687,8 @@
 
 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,
@@ -7089,6 +6710,8 @@
 
 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,
@@ -7109,6 +6732,8 @@
 
 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,
@@ -7130,6 +6755,8 @@
 
 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,
@@ -7153,6 +6780,8 @@
 
 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,
@@ -7175,6 +6804,8 @@
 
 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,
@@ -7199,6 +6830,8 @@
 
 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,
@@ -7221,6 +6854,8 @@
 
 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,
@@ -7246,6 +6881,8 @@
 
 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,
@@ -7271,6 +6908,8 @@
 
 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,
@@ -7295,6 +6934,8 @@
 
 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,
@@ -7320,6 +6961,8 @@
 
 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,
@@ -7342,6 +6985,10 @@
 
 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,
@@ -7390,6 +7037,8 @@
 
 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,
@@ -7412,6 +7061,8 @@
 
 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,
@@ -7436,6 +7087,8 @@
 
 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,
@@ -7460,6 +7113,8 @@
 
 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,
@@ -7483,6 +7138,8 @@
 
 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,
@@ -7506,6 +7163,8 @@
 
 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,
@@ -7531,6 +7190,8 @@
 
 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,
@@ -7553,6 +7214,8 @@
 
 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,
@@ -7575,6 +7238,8 @@
 
 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,
@@ -7599,6 +7264,8 @@
 
 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,
@@ -7621,6 +7288,8 @@
 
 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,
@@ -7644,6 +7313,8 @@
 
 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,
@@ -7669,6 +7340,8 @@
 
 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,
@@ -7690,6 +7363,8 @@
 
 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,
@@ -7711,6 +7386,8 @@
 
 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,
@@ -7735,6 +7412,8 @@
 
 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,
@@ -7756,6 +7435,8 @@
 
 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,
@@ -7776,6 +7457,8 @@
 
 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,
@@ -7795,6 +7478,8 @@
 
 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,
@@ -7816,6 +7501,8 @@
 
 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,
@@ -7839,6 +7526,8 @@
 
 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,
@@ -7861,6 +7550,8 @@
 
 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,
@@ -7883,6 +7574,8 @@
 
 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,
@@ -7906,6 +7599,8 @@
 
 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,
@@ -7929,6 +7624,8 @@
 
 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,
@@ -7953,6 +7650,8 @@
 
 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,
@@ -7976,6 +7675,8 @@
 
 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,
@@ -7999,6 +7700,8 @@
 
 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,
@@ -8022,6 +7725,8 @@
 
 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,
@@ -8047,6 +7752,8 @@
 
 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,
@@ -8072,6 +7779,8 @@
 
 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,
@@ -8095,6 +7804,8 @@
 
 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,
@@ -8119,6 +7830,8 @@
 
 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,
@@ -8140,6 +7853,8 @@
 
 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,
@@ -8163,6 +7878,8 @@
 
 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,
@@ -8186,6 +7903,8 @@
 
 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,
@@ -8209,6 +7928,8 @@
 
 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,
@@ -8233,6 +7954,8 @@
 
 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,
@@ -8256,6 +7979,8 @@
 
 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,
@@ -8277,6 +8002,8 @@
 
 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,
@@ -8300,6 +8027,8 @@
 
 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,
@@ -8323,6 +8052,8 @@
 
 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,
@@ -8344,6 +8075,8 @@
 
 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,
@@ -8365,6 +8098,8 @@
 
 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,
@@ -8385,6 +8120,8 @@
 
 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,
@@ -8406,6 +8143,8 @@
 
 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,
@@ -8429,6 +8168,8 @@
 
 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,
@@ -8452,6 +8193,8 @@
 
 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,
@@ -8473,6 +8216,8 @@
 
 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,
@@ -8493,6 +8238,8 @@
 
 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,
@@ -8515,6 +8262,8 @@
 
 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,
@@ -8539,6 +8288,8 @@
 
 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,
@@ -8561,6 +8312,8 @@
 
 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,
@@ -8583,6 +8336,8 @@
 
 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,
@@ -8604,6 +8359,8 @@
 
 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,
@@ -8625,6 +8382,8 @@
 
 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,
@@ -8649,6 +8408,8 @@
 
 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,
@@ -8673,6 +8434,8 @@
 
 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,
@@ -8694,6 +8457,8 @@
 
 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,
@@ -8716,6 +8481,8 @@
 
 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,
@@ -8738,6 +8505,8 @@
 
 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,
@@ -8759,6 +8528,8 @@
 
 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,
@@ -8780,6 +8551,8 @@
 
 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,
@@ -8801,6 +8574,8 @@
 
 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,
@@ -8821,13 +8596,6 @@
     to_SHIFT_JIS_E6_BF_infos
 };
 
-static const unsigned char
-to_SHIFT_JIS_E6_offsets[64] = {
-      0,  1,  2,  3,  4,  5,  6,  7,    8,  9, 10, 11, 12, 13, 14, 15,
-     16, 17, 18, 19, 20, 21, 22, 23,   24, 25, 26, 27, 28, 29, 30, 31,
-     32, 33, 34, 35, 36, 37, 38, 39,   40, 41, 42, 43, 44, 45, 46, 47,
-     48, 49, 50, 51, 52, 53, 54, 55,   56, 57, 58, 59, 60, 61, 62, 63,
-};
 static const struct byte_lookup* const
 to_SHIFT_JIS_E6_infos[64] = {
      &to_SHIFT_JIS_E6_80, &to_SHIFT_JIS_E6_81,
@@ -8865,12 +8633,14 @@
 };
 static const BYTE_LOOKUP
 to_SHIFT_JIS_E6 = {
-    to_SHIFT_JIS_E6_offsets,
+    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,
@@ -8893,6 +8663,8 @@
 
 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,
@@ -8912,6 +8684,8 @@
 
 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,
@@ -8933,6 +8707,8 @@
 
 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,
@@ -8952,6 +8728,8 @@
 
 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,
@@ -8971,6 +8749,8 @@
 
 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,
@@ -8992,6 +8772,8 @@
 
 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,
@@ -9012,6 +8794,8 @@
 
 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,
@@ -9035,6 +8819,8 @@
 
 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,
@@ -9056,6 +8842,8 @@
 
 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,
@@ -9078,6 +8866,8 @@
 
 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,
@@ -9099,6 +8889,8 @@
 
 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,
@@ -9121,6 +8913,8 @@
 
 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,
@@ -9142,6 +8936,8 @@
 
 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,
@@ -9162,6 +8958,8 @@
 
 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,
@@ -9181,6 +8979,8 @@
 
 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,
@@ -9203,6 +9003,8 @@
 
 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,
@@ -9224,6 +9026,8 @@
 
 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,
@@ -9245,6 +9049,8 @@
 
 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,
@@ -9264,6 +9070,8 @@
 
 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,
@@ -9285,6 +9093,8 @@
 
 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,
@@ -9309,6 +9119,8 @@
 
 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,
@@ -9334,6 +9146,8 @@
 
 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,
@@ -9357,6 +9171,8 @@
 
 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,
@@ -9380,6 +9196,8 @@
 
 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,
@@ -9400,6 +9218,8 @@
 
 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,
@@ -9423,6 +9243,8 @@
 
 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,
@@ -9446,6 +9268,8 @@
 
 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,
@@ -9469,6 +9293,8 @@
 
 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,
@@ -9490,6 +9316,8 @@
 
 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,
@@ -9510,6 +9338,8 @@
 
 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,
@@ -9531,6 +9361,8 @@
 
 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,
@@ -9552,6 +9384,8 @@
 
 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,
@@ -9572,6 +9406,8 @@
 
 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,
@@ -9591,6 +9427,8 @@
 
 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,
@@ -9613,6 +9451,8 @@
 
 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,
@@ -9633,6 +9473,8 @@
 
 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,
@@ -9653,6 +9495,8 @@
 
 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,
@@ -9675,6 +9519,8 @@
 
 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,
@@ -9697,6 +9543,8 @@
 
 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,
@@ -9718,6 +9566,8 @@
 
 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,
@@ -9740,6 +9590,8 @@
 
 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,
@@ -9762,6 +9614,8 @@
 
 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,
@@ -9783,6 +9637,8 @@
 
 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,
@@ -9808,6 +9664,8 @@
 
 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,
@@ -9830,6 +9688,8 @@
 
 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,
@@ -9852,6 +9712,8 @@
 
 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,
@@ -9874,6 +9736,8 @@
 
 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,
@@ -9895,6 +9759,8 @@
 
 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,
@@ -9916,6 +9782,8 @@
 
 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,
@@ -9937,6 +9805,8 @@
 
 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,
@@ -9961,6 +9831,8 @@
 
 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,
@@ -9983,6 +9855,8 @@
 
 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,
@@ -10007,6 +9881,8 @@
 
 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,
@@ -10031,6 +9907,8 @@
 
 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,
@@ -10055,6 +9933,8 @@
 
 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,
@@ -10077,6 +9957,8 @@
 
 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,
@@ -10100,6 +9982,8 @@
 
 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,
@@ -10123,6 +10007,8 @@
 
 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,
@@ -10143,6 +10029,8 @@
 
 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,
@@ -10160,6 +10048,8 @@
 
 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,
@@ -10183,6 +10073,8 @@
 
 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,
@@ -10206,6 +10098,8 @@
 
 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,
@@ -10227,6 +10121,8 @@
 
 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,
@@ -10275,6 +10171,8 @@
 
 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,
@@ -10297,6 +10195,8 @@
 
 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,
@@ -10319,6 +10219,8 @@
 
 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,
@@ -10342,6 +10244,8 @@
 
 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,
@@ -10364,6 +10268,8 @@
 
 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,
@@ -10385,6 +10291,8 @@
 
 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,
@@ -10407,6 +10315,8 @@
 
 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,
@@ -10430,6 +10340,8 @@
 
 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,
@@ -10453,6 +10365,8 @@
 
 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,
@@ -10477,6 +10391,8 @@
 
 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,
@@ -10499,6 +10415,8 @@
 
 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,
@@ -10520,6 +10438,8 @@
 
 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,
@@ -10542,6 +10462,8 @@
 
 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,
@@ -10564,6 +10486,8 @@
 
 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,
@@ -10584,6 +10508,8 @@
 
 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,
@@ -10605,6 +10531,8 @@
 
 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,
@@ -10627,6 +10555,8 @@
 
 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,
@@ -10648,6 +10578,8 @@
 
 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,
@@ -10670,6 +10602,8 @@
 
 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,
@@ -10691,6 +10625,8 @@
 
 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,
@@ -10712,6 +10648,8 @@
 
 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,
@@ -10733,6 +10671,8 @@
 
 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,
@@ -10755,6 +10695,8 @@
 
 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,
@@ -10778,6 +10720,8 @@
 
 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,
@@ -10799,6 +10743,8 @@
 
 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,
@@ -10819,6 +10765,8 @@
 
 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,
@@ -10839,6 +10787,8 @@
 
 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,
@@ -10859,6 +10809,8 @@
 
 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,
@@ -10881,6 +10833,8 @@
 
 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,
@@ -10902,6 +10856,8 @@
 
 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,
@@ -10923,6 +10879,8 @@
 
 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,
@@ -10942,6 +10900,8 @@
 
 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,
@@ -10962,6 +10922,8 @@
 
 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,
@@ -10983,6 +10945,8 @@
 
 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,
@@ -11006,6 +10970,8 @@
 
 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,
@@ -11028,6 +10994,8 @@
 
 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,
@@ -11051,6 +11019,8 @@
 
 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,
@@ -11072,6 +11042,8 @@
 
 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,
@@ -11093,6 +11065,8 @@
 
 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,
@@ -11116,6 +11090,8 @@
 
 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,
@@ -11135,6 +11111,8 @@
 
 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,
@@ -11159,6 +11137,8 @@
 
 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,
@@ -11182,6 +11162,8 @@
 
 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,
@@ -11206,6 +11188,8 @@
 
 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,
@@ -11230,6 +11214,8 @@
 
 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,
@@ -11253,6 +11239,8 @@
 
 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,
@@ -11275,6 +11263,8 @@
 
 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,
@@ -11294,6 +11284,8 @@
 
 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,
@@ -11311,6 +11303,8 @@
 
 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,
@@ -11332,6 +11326,8 @@
 
 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,
@@ -11357,6 +11353,8 @@
 
 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,
@@ -11381,6 +11379,8 @@
 
 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,
@@ -11401,6 +11401,8 @@
 
 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,
@@ -11420,6 +11422,8 @@
 
 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,
@@ -11439,6 +11443,8 @@
 
 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,
@@ -11460,6 +11466,8 @@
 
 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,
@@ -11480,6 +11488,8 @@
 
 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,
@@ -11501,6 +11511,8 @@
 
 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,
@@ -11522,6 +11534,8 @@
 
 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,
@@ -11543,6 +11557,8 @@
 
 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,
@@ -11566,6 +11582,8 @@
 
 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,
@@ -11586,6 +11604,8 @@
 
 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,
@@ -11607,6 +11627,8 @@
 
 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,
@@ -11629,6 +11651,8 @@
 
 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,
@@ -11677,6 +11701,8 @@
 
 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,
@@ -11702,6 +11728,8 @@
 
 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,
@@ -11729,6 +11757,8 @@
 
 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,
@@ -11750,6 +11780,8 @@
 
 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,
@@ -11770,6 +11802,8 @@
 
 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,
@@ -11789,6 +11823,8 @@
 
 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,
@@ -11811,6 +11847,8 @@
 
 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,
@@ -11832,6 +11870,8 @@
 
 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,
@@ -11857,6 +11897,8 @@
 
 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,
@@ -11878,6 +11920,8 @@
 
 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,
@@ -11900,6 +11944,8 @@
 
 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,
@@ -11921,6 +11967,8 @@
 
 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,
@@ -11943,6 +11991,8 @@
 
 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,
@@ -11966,6 +12016,8 @@
 
 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,
@@ -11987,6 +12039,8 @@
 
 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,
@@ -12007,6 +12061,8 @@
 
 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,
@@ -12027,6 +12083,8 @@
 
 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,
@@ -12047,6 +12105,8 @@
 
 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,
@@ -12069,6 +12129,8 @@
 
 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,
@@ -12086,6 +12148,8 @@
 
 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,
@@ -12103,6 +12167,8 @@
 
 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,
@@ -12127,6 +12193,8 @@
 
 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,
@@ -12147,6 +12215,8 @@
 
 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,
@@ -12166,6 +12236,8 @@
 
 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,
@@ -12190,6 +12262,8 @@
 
 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,
@@ -12215,6 +12289,8 @@
 
 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,
@@ -12239,6 +12315,8 @@
 
 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,
@@ -12262,6 +12340,8 @@
 
 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,
@@ -12286,6 +12366,8 @@
 
 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,
@@ -12307,6 +12389,8 @@
 
 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,
@@ -12327,6 +12411,8 @@
 
 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,
@@ -12350,6 +12436,8 @@
 
 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,
@@ -12372,6 +12460,8 @@
 
 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,
@@ -12390,6 +12480,8 @@
 
 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,
@@ -12411,6 +12503,8 @@
 
 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,
@@ -12433,6 +12527,8 @@
 
 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,
@@ -12452,6 +12548,8 @@
 
 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,
@@ -12472,6 +12570,8 @@
 
 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,
@@ -12494,6 +12594,8 @@
 
 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,
@@ -12514,6 +12616,8 @@
 
 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,
@@ -12535,6 +12639,8 @@
 
 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,
@@ -12553,6 +12659,8 @@
 
 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,
@@ -12575,6 +12683,8 @@
 
 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,
@@ -12596,6 +12706,8 @@
 
 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,
@@ -12617,6 +12729,8 @@
 
 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,
@@ -12638,6 +12752,8 @@
 
 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,
@@ -12659,6 +12775,8 @@
 
 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,
@@ -12682,6 +12800,8 @@
 
 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,
@@ -12701,6 +12821,8 @@
 
 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,
@@ -12720,6 +12842,8 @@
 
 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,
@@ -12741,6 +12865,8 @@
 
 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,
@@ -12762,6 +12888,8 @@
 
 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,
@@ -12782,6 +12910,8 @@
 
 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,
@@ -12802,6 +12932,8 @@
 
 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,
@@ -12820,6 +12952,8 @@
 
 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,
@@ -12838,6 +12972,8 @@
 
 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,
@@ -12860,6 +12996,8 @@
 
 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,
@@ -12883,6 +13021,8 @@
 
 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,
@@ -12902,6 +13042,8 @@
 
 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,
@@ -12923,6 +13065,8 @@
 
 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,
@@ -12941,6 +13085,8 @@
 
 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,
@@ -12988,6 +13134,8 @@
 
 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,
@@ -13005,6 +13153,8 @@
 
 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,
@@ -13022,6 +13172,8 @@
 
 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,
@@ -13047,6 +13199,8 @@
 
 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,
@@ -13079,6 +13233,8 @@
 
 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,
@@ -13111,6 +13267,8 @@
 
 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,
@@ -13136,6 +13294,8 @@
 
 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,
@@ -13156,6 +13316,8 @@
 
 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,
@@ -13249,6 +13411,77 @@
 
 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,
@@ -13730,152 +13963,18 @@
      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 struct byte_lookup* const
-from_EUC_JP_AD_infos[84] = {
-     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_EUC_JP_AD = {
     from_EUC_JP_AD_offsets,
-    from_EUC_JP_AD_infos
+    from_SHIFT_JIS_87_infos
 };
 
-static const unsigned char
-from_EUC_JP_B0_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, 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_B0_infos[95] = {
-     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_EUC_JP_B0 = {
-    from_EUC_JP_B0_offsets,
-    from_EUC_JP_B0_infos
+    from_EUC_JP_A1_offsets,
+    from_SHIFT_JIS_88_infos
 };
 
-static const unsigned char
-from_EUC_JP_B1_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, 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_B1_infos[95] = {
      o3(0xE9,0x99,0xA2), o3(0xE9,0x99,0xB0),
@@ -13929,29 +14028,10 @@
 };
 static const BYTE_LOOKUP
 from_EUC_JP_B1 = {
-    from_EUC_JP_B1_offsets,
+    from_EUC_JP_A1_offsets,
     from_EUC_JP_B1_infos
 };
 
-static const unsigned char
-from_EUC_JP_B2_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, 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_B2_infos[95] = {
      o3(0xE6,0x8A,0xBC), o3(0xE6,0x97,0xBA),
@@ -14005,29 +14085,10 @@
 };
 static const BYTE_LOOKUP
 from_EUC_JP_B2 = {
-    from_EUC_JP_B2_offsets,
+    from_EUC_JP_A1_offsets,
     from_EUC_JP_B2_infos
 };
 
-static const unsigned char
-from_EUC_JP_B3_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, 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_B3_infos[95] = {
      o3(0xE9,0xAD,0x81), o3(0xE6,0x99,0xA6),
@@ -14081,29 +14142,10 @@
 };
 static const BYTE_LOOKUP
 from_EUC_JP_B3 = {
-    from_EUC_JP_B3_offsets,
+    from_EUC_JP_A1_offsets,
     from_EUC_JP_B3_infos
 };
 
-static const unsigned char
-from_EUC_JP_B4_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, 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_B4_infos[95] = {
      o3(0xE7,0xB2,0xA5), o3(0xE5,0x88,0x88),
@@ -14157,29 +14199,10 @@
 };
 static const BYTE_LOOKUP
 from_EUC_JP_B4 = {
-    from_EUC_JP_B4_offsets,
+    from_EUC_JP_A1_offsets,
     from_EUC_JP_B4_infos
 };
 
-static const unsigned char
-from_EUC_JP_B5_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, 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_B5_infos[95] = {
      o3(0xE6,0xA9,0x9F), o3(0xE5,0xB8,0xB0),
@@ -14233,29 +14256,10 @@
 };
 static const BYTE_LOOKUP
 from_EUC_JP_B5 = {
-    from_EUC_JP_B5_offsets,
+    from_EUC_JP_A1_offsets,
     from_EUC_JP_B5_infos
 };
 
-static const unsigned char
-from_EUC_JP_B6_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, 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_B6_infos[95] = {
      o3(0xE4,0xBE,0x9B), o3(0xE4,0xBE,0xA0),
@@ -14309,29 +14313,10 @@
 };
 static const BYTE_LOOKUP
 from_EUC_JP_B6 = {
-    from_EUC_JP_B6_offsets,
+    from_EUC_JP_A1_offsets,
     from_EUC_JP_B6_infos
 };
 
-static const unsigned char
-from_EUC_JP_B7_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, 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_B7_infos[95] = {
      o3(0xE6,0x8E,0x98), o3(0xE7,0xAA,0x9F),
@@ -14385,29 +14370,10 @@
 };
 static const BYTE_LOOKUP
 from_EUC_JP_B7 = {
-    from_EUC_JP_B7_offsets,
+    from_EUC_JP_A1_offsets,
     from_EUC_JP_B7_infos
 };
 
-static const unsigned char
-from_EUC_JP_B8_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, 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_B8_infos[95] = {
      o3(0xE6,0xA4,0x9C), o3(0xE6,0xA8,0xA9),
@@ -14461,29 +14427,10 @@
 };
 static const BYTE_LOOKUP
 from_EUC_JP_B8 = {
-    from_EUC_JP_B8_offsets,
+    from_EUC_JP_A1_offsets,
     from_EUC_JP_B8_infos
 };
 
-static const unsigned char
-from_EUC_JP_B9_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, 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_B9_infos[95] = {
      o3(0xE5,0x90,0x8E), o3(0xE5,0x96,0x89),
@@ -14537,29 +14484,10 @@
 };
 static const BYTE_LOOKUP
 from_EUC_JP_B9 = {
-    from_EUC_JP_B9_offsets,
+    from_EUC_JP_A1_offsets,
     from_EUC_JP_B9_infos
 };
 
-static const unsigned char
-from_EUC_JP_BA_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, 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_BA_infos[95] = {
      o3(0xE6,0xAD,0xA4), o3(0xE9,0xA0,0x83),
@@ -14613,29 +14541,10 @@
 };
 static const BYTE_LOOKUP
 from_EUC_JP_BA = {
-    from_EUC_JP_BA_offsets,
+    from_EUC_JP_A1_offsets,
     from_EUC_JP_BA_infos
 };
 
-static const unsigned char
-from_EUC_JP_BB_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, 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_BB_infos[95] = {
      o3(0xE5,0xAF,0x9F), o3(0xE6,0x8B,0xB6),
@@ -14689,29 +14598,10 @@
 };
 static const BYTE_LOOKUP
 from_EUC_JP_BB = {
-    from_EUC_JP_BB_offsets,
+    from_EUC_JP_A1_offsets,
     from_EUC_JP_BB_infos
 };
 
-static const unsigned char
-from_EUC_JP_BC_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, 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_BC_infos[95] = {
      o3(0xE6,0xAC,0xA1), o3(0xE6,0xBB,0x8B),
@@ -14765,29 +14655,10 @@
 };
 static const BYTE_LOOKUP
 from_EUC_JP_BC = {
-    from_EUC_JP_BC_offsets,
+    from_EUC_JP_A1_offsets,
     from_EUC_JP_BC_infos
 };
 
-static const unsigned char
-from_EUC_JP_BD_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, 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_BD_infos[95] = {
      o3(0xE5,0xAE,0x97), o3(0xE5,0xB0,0xB1),
@@ -14841,29 +14712,10 @@
 };
 static const BYTE_LOOKUP
 from_EUC_JP_BD = {
-    from_EUC_JP_BD_offsets,
+    from_EUC_JP_A1_offsets,
     from_EUC_JP_BD_infos
 };
 
-static const unsigned char
-from_EUC_JP_BE_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, 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_BE_infos[95] = {
      o3(0xE5,0x8B,0x9D), o3(0xE5,0x8C,0xA0),
@@ -14917,29 +14769,10 @@
 };
 static const BYTE_LOOKUP
 from_EUC_JP_BE = {
-    from_EUC_JP_BE_offsets,
+    from_EUC_JP_A1_offsets,
     from_EUC_JP_BE_infos
 };
 
-static const unsigned char
-from_EUC_JP_BF_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, 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_BF_infos[95] = {
      o3(0xE6,0x8B,0xAD), o3(0xE6,0xA4,0x8D),
@@ -14993,29 +14826,10 @@
 };
 static const BYTE_LOOKUP
 from_EUC_JP_BF = {
-    from_EUC_JP_BF_offsets,
+    from_EUC_JP_A1_offsets,
     from_EUC_JP_BF_infos
 };
 
-static const unsigned char
-from_EUC_JP_C0_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, 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_C0_infos[95] = {
      o3(0xE6,0xBE,0x84), o3(0xE6,0x91,0xBA),
@@ -15069,29 +14883,10 @@
 };
 static const BYTE_LOOKUP
 from_EUC_JP_C0 = {
-    from_EUC_JP_C0_offsets,
+    from_EUC_JP_A1_offsets,
     from_EUC_JP_C0_infos
 };
 
-static const unsigned char
-from_EUC_JP_C1_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, 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_C1_infos[95] = {
      o3(0xE7,0xB9,0x8A), o3(0xE7,0xBE,0xA8),
@@ -15145,29 +14940,10 @@
 };
 static const BYTE_LOOKUP
 from_EUC_JP_C1 = {
-    from_EUC_JP_C1_offsets,
+    from_EUC_JP_A1_offsets,
     from_EUC_JP_C1_infos
 };
 
-static const unsigned char
-from_EUC_JP_C2_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, 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_C2_infos[95] = {
      o3(0xE8,0x87,0x93), o3(0xE8,0x94,0xB5),
@@ -15221,29 +14997,10 @@
 };
 static const BYTE_LOOKUP
 from_EUC_JP_C2 = {
-    from_EUC_JP_C2_offsets,
+    from_EUC_JP_A1_offsets,
     from_EUC_JP_C2_infos
 };
 
-static const unsigned char
-from_EUC_JP_C3_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, 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_C3_infos[95] = {
      o3(0xE5,0x8F,0xA9), o3(0xE4,0xBD,0x86),
@@ -15297,29 +15054,10 @@
 };
 static const BYTE_LOOKUP
 from_EUC_JP_C3 = {
-    from_EUC_JP_C3_offsets,
+    from_EUC_JP_A1_offsets,
     from_EUC_JP_C3_infos
 };
 
-static const unsigned char
-from_EUC_JP_C4_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, 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_C4_infos[95] = {
      o3(0xE5,0xB8,0x96), o3(0xE5,0xB8,0xB3),
@@ -15373,29 +15111,10 @@
 };
 static const BYTE_LOOKUP
 from_EUC_JP_C4 = {
-    from_EUC_JP_C4_offsets,
+    from_EUC_JP_A1_offsets,
     from_EUC_JP_C4_infos
 };
 
-static const unsigned char
-from_EUC_JP_C5_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, 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_C5_infos[95] = {
      o3(0xE9,0x82,0xB8), o3(0xE9,0x84,0xAD),
@@ -15449,29 +15168,10 @@
 };
 static const BYTE_LOOKUP
 from_EUC_JP_C5 = {
-    from_EUC_JP_C5_offsets,
+    from_EUC_JP_A1_offsets,
     from_EUC_JP_C5_infos
 };
 
-static const unsigned char
-from_EUC_JP_C6_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, 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_C6_infos[95] = {
      o3(0xE8,0x91,0xA3), o3(0xE8,0x95,0xA9),
@@ -15525,29 +15225,10 @@
 };
 static const BYTE_LOOKUP
 from_EUC_JP_C6 = {
-    from_EUC_JP_C6_offsets,
+    from_EUC_JP_A1_offsets,
     from_EUC_JP_C6_infos
 };
 
-static const unsigned char
-from_EUC_JP_C7_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, 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_C7_infos[95] = {
      o3(0xE5,0xA6,0x82), o3(0xE5,0xB0,0xBF),
@@ -15601,29 +15282,10 @@
 };
 static const BYTE_LOOKUP
 from_EUC_JP_C7 = {
-    from_EUC_JP_C7_offsets,
+    from_EUC_JP_A1_offsets,
     from_EUC_JP_C7_infos
 };
 
-static const unsigned char
-from_EUC_JP_C8_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, 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_C8_infos[95] = {
      o3(0xE5,0x87,0xBD), o3(0xE7,0xAE,0xB1),
@@ -15677,29 +15339,10 @@
 };
 static const BYTE_LOOKUP
 from_EUC_JP_C8 = {
-    from_EUC_JP_C8_offsets,
+    from_EUC_JP_A1_offsets,
     from_EUC_JP_C8_infos
 };
 
-static const unsigned char
-from_EUC_JP_C9_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, 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_C9_infos[95] = {
      o3(0xE9,0xBC,0xBB), o3(0xE6,0x9F,0x8A),
@@ -15753,29 +15396,10 @@
 };
 static const BYTE_LOOKUP
 from_EUC_JP_C9 = {
-    from_EUC_JP_C9_offsets,
+    from_EUC_JP_A1_offsets,
     from_EUC_JP_C9_infos
 };
 
-static const unsigned char
-from_EUC_JP_CA_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, 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_CA_infos[95] = {
      o3(0xE7,0xA6,0x8F), o3(0xE8,0x85,0xB9),
@@ -15829,29 +15453,10 @@
 };
 static const BYTE_LOOKUP
 from_EUC_JP_CA = {
-    from_EUC_JP_CA_offsets,
+    from_EUC_JP_A1_offsets,
     from_EUC_JP_CA_infos
 };
 
-static const unsigned char
-from_EUC_JP_CB_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, 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_CB_infos[95] = {
      o3(0xE6,0xB3,0x95), o3(0xE6,0xB3,0xA1),
@@ -15905,29 +15510,10 @@
 };
 static const BYTE_LOOKUP
 from_EUC_JP_CB = {
-    from_EUC_JP_CB_offsets,
+    from_EUC_JP_A1_offsets,
     from_EUC_JP_CB_infos
 };
 
-static const unsigned char
-from_EUC_JP_CC_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, 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_CC_infos[95] = {
      o3(0xE6,0xBC,0xAB), o3(0xE8,0x94,0x93),
@@ -15981,29 +15567,10 @@
 };
 static const BYTE_LOOKUP
 from_EUC_JP_CC = {
-    from_EUC_JP_CC_offsets,
+    from_EUC_JP_A1_offsets,
     from_EUC_JP_CC_infos
 };
 
-static const unsigned char
-from_EUC_JP_CD_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, 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_CD_infos[95] = {
      o3(0xE8,0xAB,0xAD), o3(0xE8,0xBC,0xB8),
@@ -16057,29 +15624,10 @@
 };
 static const BYTE_LOOKUP
 from_EUC_JP_CD = {
-    from_EUC_JP_CD_offsets,
+    from_EUC_JP_A1_offsets,
     from_EUC_JP_CD_infos
 };
 
-static const unsigned char
-from_EUC_JP_CE_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, 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_CE_infos[95] = {
      o3(0xE7,0x97,0xA2), o3(0xE8,0xA3,0x8F),
@@ -16133,7 +15681,7 @@
 };
 static const BYTE_LOOKUP
 from_EUC_JP_CE = {
-    from_EUC_JP_CE_offsets,
+    from_EUC_JP_A1_offsets,
     from_EUC_JP_CE_infos
 };
 
@@ -16191,25 +15739,6 @@
     from_EUC_JP_CF_infos
 };
 
-static const unsigned char
-from_EUC_JP_D0_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, 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_D0_infos[95] = {
      o3(0xE5,0xBC,0x8C), o3(0xE4,0xB8,0x90),
@@ -16263,29 +15792,10 @@
 };
 static const BYTE_LOOKUP
 from_EUC_JP_D0 = {
-    from_EUC_JP_D0_offsets,
+    from_EUC_JP_A1_offsets,
     from_EUC_JP_D0_infos
 };
 
-static const unsigned char
-from_EUC_JP_D1_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, 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_D1_infos[95] = {
      o3(0xE5,0x83,0x89), o3(0xE5,0x83,0x8A),
@@ -16339,29 +15849,10 @@
 };
 static const BYTE_LOOKUP
 from_EUC_JP_D1 = {
-    from_EUC_JP_D1_offsets,
+    from_EUC_JP_A1_offsets,
     from_EUC_JP_D1_infos
 };
 
-static const unsigned char
-from_EUC_JP_D2_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, 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_D2_infos[95] = {
      o3(0xE8,0xBE,0xA7), o3(0xE5,0x8A,0xAC),
@@ -16415,29 +15906,10 @@
 };
 static const BYTE_LOOKUP
 from_EUC_JP_D2 = {
-    from_EUC_JP_D2_offsets,
+    from_EUC_JP_A1_offsets,
     from_EUC_JP_D2_infos
 };
 
-static const unsigned char
-from_EUC_JP_D3_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, 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_D3_infos[95] = {
      o3(0xE5,0x92,0xAB), o3(0xE5,0x93,0x82),
@@ -16491,29 +15963,10 @@
 };
 static const BYTE_LOOKUP
 from_EUC_JP_D3 = {
-    from_EUC_JP_D3_offsets,
+    from_EUC_JP_A1_offsets,
     from_EUC_JP_D3_infos
 };
 
-static const unsigned char
-from_EUC_JP_D4_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, 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_D4_infos[95] = {
      o3(0xE5,0x9C,0x88), o3(0xE5,0x9C,0x8B),
@@ -16567,29 +16020,10 @@
 };
 static const BYTE_LOOKUP
 from_EUC_JP_D4 = {
-    from_EUC_JP_D4_offsets,
+    from_EUC_JP_A1_offsets,
     from_EUC_JP_D4_infos
 };
 
-static const unsigned char
-from_EUC_JP_D5_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, 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_D5_infos[95] = {
      o3(0xE5,0xA5,0xB8), o3(0xE5,0xA6,0x81),
@@ -16643,29 +16077,10 @@
 };
 static const BYTE_LOOKUP
 from_EUC_JP_D5 = {
-    from_EUC_JP_D5_offsets,
+    from_EUC_JP_A1_offsets,
     from_EUC_JP_D5_infos
 };
 
-static const unsigned char
-from_EUC_JP_D6_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, 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_D6_infos[95] = {
      o3(0xE5,0xB1,0x90), o3(0xE5,0xB1,0x8F),
@@ -16719,29 +16134,10 @@
 };
 static const BYTE_LOOKUP
 from_EUC_JP_D6 = {
-    from_EUC_JP_D6_offsets,
+    from_EUC_JP_A1_offsets,
     from_EUC_JP_D6_infos
 };
 
-static const unsigned char
-from_EUC_JP_D7_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, 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_D7_infos[95] = {
      o3(0xE5,0xBB,0x96), o3(0xE5,0xBB,0xA3),
@@ -16795,29 +16191,10 @@
 };
 static const BYTE_LOOKUP
 from_EUC_JP_D7 = {
-    from_EUC_JP_D7_offsets,
+    from_EUC_JP_A1_offsets,
     from_EUC_JP_D7_infos
 };
 
-static const unsigned char
-from_EUC_JP_D8_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, 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_D8_infos[95] = {
      o3(0xE6,0x82,0x84), o3(0xE6,0x82,0x9B),
@@ -16871,29 +16248,10 @@
 };
 static const BYTE_LOOKUP
 from_EUC_JP_D8 = {
-    from_EUC_JP_D8_offsets,
+    from_EUC_JP_A1_offsets,
     from_EUC_JP_D8_infos
 };
 
-static const unsigned char
-from_EUC_JP_D9_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, 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_D9_infos[95] = {
      o3(0xE6,0x88,0x9E), o3(0xE6,0x88,0xA1),
@@ -16947,29 +16305,10 @@
 };
 static const BYTE_LOOKUP
 from_EUC_JP_D9 = {
-    from_EUC_JP_D9_offsets,
+    from_EUC_JP_A1_offsets,
     from_EUC_JP_D9_infos
 };
 
-static const unsigned char
-from_EUC_JP_DA_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, 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_DA_infos[95] = {
      o3(0xE6,0x93,0x9A), o3(0xE6,0x93,0x92),
@@ -17023,29 +16362,10 @@
 };
 static const BYTE_LOOKUP
 from_EUC_JP_DA = {
-    from_EUC_JP_DA_offsets,
+    from_EUC_JP_A1_offsets,
     from_EUC_JP_DA_infos
 };
 
-static const unsigned char
-from_EUC_JP_DB_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, 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_DB_infos[95] = {
      o3(0xE6,0x9B,0x84), o3(0xE6,0x9A,0xB8),
@@ -17099,29 +16419,10 @@
 };
 static const BYTE_LOOKUP
 from_EUC_JP_DB = {
-    from_EUC_JP_DB_offsets,
+    from_EUC_JP_A1_offsets,
     from_EUC_JP_DB_infos
 };
 
-static const unsigned char
-from_EUC_JP_DC_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, 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_DC_infos[95] = {
      o3(0xE6,0xA3,0x94), o3(0xE6,0xA3,0xA7),
@@ -17175,29 +16476,10 @@
 };
 static const BYTE_LOOKUP
 from_EUC_JP_DC = {
-    from_EUC_JP_DC_offsets,
+    from_EUC_JP_A1_offsets,
     from_EUC_JP_DC_infos
 };
 
-static const unsigned char
-from_EUC_JP_DD_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, 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_DD_infos[95] = {
      o3(0xE6,0xAA,0x97), o3(0xE8,0x98,0x97),
@@ -17251,29 +16533,10 @@
 };
 static const BYTE_LOOKUP
 from_EUC_JP_DD = {
-    from_EUC_JP_DD_offsets,
+    from_EUC_JP_A1_offsets,
     from_EUC_JP_DD_infos
 };
 
-static const unsigned char
-from_EUC_JP_DE_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, 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_DE_infos[95] = {
      o3(0xE6,0xB2,0xBA), o3(0xE6,0xB3,0x9B),
@@ -17327,29 +16590,10 @@
 };
 static const BYTE_LOOKUP
 from_EUC_JP_DE = {
-    from_EUC_JP_DE_offsets,
+    from_EUC_JP_A1_offsets,
     from_EUC_JP_DE_infos
 };
 
-static const unsigned char
-from_EUC_JP_DF_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, 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_DF_infos[95] = {
      o3(0xE6,0xBC,0xBE), o3(0xE6,0xBC,0x93),
@@ -17403,29 +16647,10 @@
 };
 static const BYTE_LOOKUP
 from_EUC_JP_DF = {
-    from_EUC_JP_DF_offsets,
+    from_EUC_JP_A1_offsets,
     from_EUC_JP_DF_infos
 };
 
-static const unsigned char
-from_EUC_JP_E0_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, 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_E0_infos[95] = {
      o3(0xE7,0x87,0xB9), o3(0xE7,0x87,0xBF),
@@ -17479,29 +16704,10 @@
 };
 static const BYTE_LOOKUP
 from_EUC_JP_E0 = {
-    from_EUC_JP_E0_offsets,
+    from_EUC_JP_A1_offsets,
     from_EUC_JP_E0_infos
 };
 
-static const unsigned char
-from_EUC_JP_E1_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, 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_E1_infos[95] = {
      o3(0xE7,0x93,0xA0), o3(0xE7,0x93,0xA3),
@@ -17555,29 +16761,10 @@
 };
 static const BYTE_LOOKUP
 from_EUC_JP_E1 = {
-    from_EUC_JP_E1_offsets,
+    from_EUC_JP_A1_offsets,
     from_EUC_JP_E1_infos
 };
 
-static const unsigned char
-from_EUC_JP_E2_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, 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_E2_infos[95] = {
      o3(0xE7,0x99,0xB2), o3(0xE7,0x99,0xB6),
@@ -17631,29 +16818,10 @@
 };
 static const BYTE_LOOKUP
 from_EUC_JP_E2 = {
-    from_EUC_JP_E2_offsets,
+    from_EUC_JP_A1_offsets,
     from_EUC_JP_E2_infos
 };
 
-static const unsigned char
-from_EUC_JP_E3_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, 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_E3_infos[95] = {
      o3(0xE7,0xA3,0xA7), o3(0xE7,0xA3,0x9A),
@@ -17707,29 +16875,10 @@
 };
 static const BYTE_LOOKUP
 from_EUC_JP_E3 = {
-    from_EUC_JP_E3_offsets,
+    from_EUC_JP_A1_offsets,
     from_EUC_JP_E3_infos
 };
 
-static const unsigned char
-from_EUC_JP_E4_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, 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_E4_infos[95] = {
      o3(0xE7,0xAD,0xBA), o3(0xE7,0xAC,0x84),
@@ -17783,29 +16932,10 @@
 };
 static const BYTE_LOOKUP
 from_EUC_JP_E4 = {
-    from_EUC_JP_E4_offsets,
+    from_EUC_JP_A1_offsets,
     from_EUC_JP_E4_infos
 };
 
-static const unsigned char
-from_EUC_JP_E5_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, 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_E5_infos[95] = {
      o3(0xE7,0xB4,0x82), o3(0xE7,0xB4,0x9C),
@@ -17859,29 +16989,10 @@
 };
 static const BYTE_LOOKUP
 from_EUC_JP_E5 = {
-    from_EUC_JP_E5_offsets,
+    from_EUC_JP_A1_offsets,
     from_EUC_JP_E5_infos
 };
 
-static const unsigned char
-from_EUC_JP_E6_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, 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_E6_infos[95] = {
      o3(0xE7,0xBD,0x85), o3(0xE7,0xBD,0x8C),
@@ -17935,29 +17046,10 @@
 };
 static const BYTE_LOOKUP
 from_EUC_JP_E6 = {
-    from_EUC_JP_E6_offsets,
+    from_EUC_JP_A1_offsets,
     from_EUC_JP_E6_infos
 };
 
-static const unsigned char
-from_EUC_JP_E7_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, 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_E7_infos[95] = {
      o3(0xE9,0x9A,0x8B), o3(0xE8,0x85,0x86),
@@ -18011,29 +17103,10 @@
 };
 static const BYTE_LOOKUP
 from_EUC_JP_E7 = {
-    from_EUC_JP_E7_offsets,
+    from_EUC_JP_A1_offsets,
     from_EUC_JP_E7_infos
 };
 
-static const unsigned char
-from_EUC_JP_E8_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, 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_E8_infos[95] = {
      o3(0xE8,0x8C,0xB5), o3(0xE8,0x8C,0xB4),
@@ -18087,29 +17160,10 @@
 };
 static const BYTE_LOOKUP
 from_EUC_JP_E8 = {
-    from_EUC_JP_E8_offsets,
+    from_EUC_JP_A1_offsets,
     from_EUC_JP_E8_infos
 };
 
-static const unsigned char
-from_EUC_JP_E9_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, 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_E9_infos[95] = {
      o3(0xE8,0x95,0x81), o3(0xE8,0x98,0x82),
@@ -18163,29 +17217,10 @@
 };
 static const BYTE_LOOKUP
 from_EUC_JP_E9 = {
-    from_EUC_JP_E9_offsets,
+    from_EUC_JP_A1_offsets,
     from_EUC_JP_E9_infos
 };
 
-static const unsigned char
-from_EUC_JP_EA_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, 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_EA_infos[95] = {
      o3(0xE8,0x9D,0x93), o3(0xE8,0x9D,0xA3),
@@ -18239,29 +17274,10 @@
 };
 static const BYTE_LOOKUP
 from_EUC_JP_EA = {
-    from_EUC_JP_EA_offsets,
+    from_EUC_JP_A1_offsets,
     from_EUC_JP_EA_infos
 };
 
-static const unsigned char
-from_EUC_JP_EB_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, 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_EB_infos[95] = {
      o3(0xE8,0xA5,0xA6), o3(0xE8,0xA5,0xA4),
@@ -18315,29 +17331,10 @@
 };
 static const BYTE_LOOKUP
 from_EUC_JP_EB = {
-    from_EUC_JP_EB_offsets,
+    from_EUC_JP_A1_offsets,
     from_EUC_JP_EB_infos
 };
 
-static const unsigned char
-from_EUC_JP_EC_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, 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_EC_infos[95] = {
      o3(0xE8,0xAD,0x9F), o3(0xE8,0xAD,0xAC),
@@ -18391,29 +17388,10 @@
 };
 static const BYTE_LOOKUP
 from_EUC_JP_EC = {
-    from_EUC_JP_EC_offsets,
+    from_EUC_JP_A1_offsets,
     from_EUC_JP_EC_infos
 };
 
-static const unsigned char
-from_EUC_JP_ED_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, 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_ED_infos[95] = {
      o3(0xE8,0xB9,0x87), o3(0xE8,0xB9,0x89),
@@ -18467,29 +17445,10 @@
 };
 static const BYTE_LOOKUP
 from_EUC_JP_ED = {
-    from_EUC_JP_ED_offsets,
+    from_EUC_JP_A1_offsets,
     from_EUC_JP_ED_infos
 };
 
-static const unsigned char
-from_EUC_JP_EE_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, 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_EE_infos[95] = {
      o3(0xE9,0x81,0x8F), o3(0xE9,0x81,0x90),
@@ -18543,29 +17502,10 @@
 };
 static const BYTE_LOOKUP
 from_EUC_JP_EE = {
-    from_EUC_JP_EE_offsets,
+    from_EUC_JP_A1_offsets,
     from_EUC_JP_EE_infos
 };
 
-static const unsigned char
-from_EUC_JP_EF_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, 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_EF_infos[95] = {
      o3(0xE9,0x8C,0x99), o3(0xE9,0x8C,0xA2),
@@ -18619,29 +17559,10 @@
 };
 static const BYTE_LOOKUP
 from_EUC_JP_EF = {
-    from_EUC_JP_EF_offsets,
+    from_EUC_JP_A1_offsets,
     from_EUC_JP_EF_infos
 };
 
-static const unsigned char
-from_EUC_JP_F0_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, 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_F0_infos[95] = {
      o3(0xE9,0x99,0x9D), o3(0xE9,0x99,0x9F),
@@ -18695,29 +17616,10 @@
 };
 static const BYTE_LOOKUP
 from_EUC_JP_F0 = {
-    from_EUC_JP_F0_offsets,
+    from_EUC_JP_A1_offsets,
     from_EUC_JP_F0_infos
 };
 
-static const unsigned char
-from_EUC_JP_F1_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, 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_F1_infos[95] = {
      o3(0xE9,0xA1,0xB1), o3(0xE9,0xA1,0xB4),
@@ -18771,29 +17673,10 @@
 };
 static const BYTE_LOOKUP
 from_EUC_JP_F1 = {
-    from_EUC_JP_F1_offsets,
+    from_EUC_JP_A1_offsets,
     from_EUC_JP_F1_infos
 };
 
-static const unsigned char
-from_EUC_JP_F2_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, 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_F2_infos[95] = {
      o3(0xE9,0xAB,0xBB), o3(0xE9,0xAC,0x86),
@@ -18847,29 +17730,10 @@
 };
 static const BYTE_LOOKUP
 from_EUC_JP_F2 = {
-    from_EUC_JP_F2_offsets,
+    from_EUC_JP_A1_offsets,
     from_EUC_JP_F2_infos
 };
 
-static const unsigned char
-from_EUC_JP_F3_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, 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_F3_infos[95] = {
      o3(0xE9,0xB5,0x9D), o3(0xE9,0xB5,0x9E),
@@ -18923,7 +17787,7 @@
 };
 static const BYTE_LOOKUP
 from_EUC_JP_F3 = {
-    from_EUC_JP_F3_offsets,
+    from_EUC_JP_A1_offsets,
     from_EUC_JP_F3_infos
 };
 
@@ -18959,25 +17823,6 @@
     from_EUC_JP_F4_infos
 };
 
-static const unsigned char
-from_EUC_JP_F9_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, 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_F9_infos[95] = {
      o3(0xE7,0xBA,0x8A), o3(0xE8,0xA4,0x9C),
@@ -19031,29 +17876,10 @@
 };
 static const BYTE_LOOKUP
 from_EUC_JP_F9 = {
-    from_EUC_JP_F9_offsets,
+    from_EUC_JP_A1_offsets,
     from_EUC_JP_F9_infos
 };
 
-static const unsigned char
-from_EUC_JP_FA_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, 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_FA_infos[95] = {
      o3(0xE5,0xBF,0x9E), o3(0xE6,0x81,0x9D),
@@ -19107,29 +17933,10 @@
 };
 static const BYTE_LOOKUP
 from_EUC_JP_FA = {
-    from_EUC_JP_FA_offsets,
+    from_EUC_JP_A1_offsets,
     from_EUC_JP_FA_infos
 };
 
-static const unsigned char
-from_EUC_JP_FB_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, 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_FB_infos[95] = {
      o3(0xE7,0x8A,0xBE), o3(0xE7,0x8C,0xA4),
@@ -19183,7 +17990,7 @@
 };
 static const BYTE_LOOKUP
 from_EUC_JP_FB = {
-    from_EUC_JP_FB_offsets,
+    from_EUC_JP_A1_offsets,
     from_EUC_JP_FB_infos
 };
 
@@ -19311,13 +18118,6 @@
     from_EUC_JP_infos
 };
 
-static const unsigned char
-to_EUC_JP_C2_offsets[64] = {
-     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_EUC_JP_C2_infos[14] = {
      o2(0xA1,0xF1), o2(0xA1,0xF2), o2(0xA1,0xEF), o2(0xFC,0xFC),
@@ -19327,34 +18127,20 @@
 };
 static const BYTE_LOOKUP
 to_EUC_JP_C2 = {
-    to_EUC_JP_C2_offsets,
+    to_SHIFT_JIS_C2_offsets,
     to_EUC_JP_C2_infos
 };
 
-static const unsigned char
-to_EUC_JP_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_EUC_JP_C3_infos[3] = {
      o2(0xA1,0xDF), o2(0xA1,0xE0),         UNDEF,
 };
 static const BYTE_LOOKUP
 to_EUC_JP_C3 = {
-    to_EUC_JP_C3_offsets,
+    to_SHIFT_JIS_C3_offsets,
     to_EUC_JP_C3_infos
 };
 
-static const unsigned char
-to_EUC_JP_CE_offsets[64] = {
-     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_EUC_JP_CE_infos[40] = {
      o2(0xA6,0xA1), o2(0xA6,0xA2), o2(0xA6,0xA3), o2(0xA6,0xA4),
@@ -19370,17 +18156,10 @@
 };
 static const BYTE_LOOKUP
 to_EUC_JP_CE = {
-    to_EUC_JP_CE_offsets,
+    to_SHIFT_JIS_CE_offsets,
     to_EUC_JP_CE_infos
 };
 
-static const unsigned char
-to_EUC_JP_CF_offsets[64] = {
-      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_EUC_JP_CF_infos[10] = {
      o2(0xA6,0xD0), o2(0xA6,0xD1), o2(0xA6,0xD2), o2(0xA6,0xD3),
@@ -19389,17 +18168,10 @@
 };
 static const BYTE_LOOKUP
 to_EUC_JP_CF = {
-    to_EUC_JP_CF_offsets,
+    to_SHIFT_JIS_CF_offsets,
     to_EUC_JP_CF_infos
 };
 
-static const unsigned char
-to_EUC_JP_D0_offsets[64] = {
-     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_EUC_JP_D0_infos[50] = {
      o2(0xA7,0xA7), o2(0xA7,0xA1), o2(0xA7,0xA2), o2(0xA7,0xA3),
@@ -19418,17 +18190,10 @@
 };
 static const BYTE_LOOKUP
 to_EUC_JP_D0 = {
-    to_EUC_JP_D0_offsets,
+    to_SHIFT_JIS_D0_offsets,
     to_EUC_JP_D0_infos
 };
 
-static const unsigned char
-to_EUC_JP_D1_offsets[64] = {
-      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_EUC_JP_D1_infos[18] = {
      o2(0xA7,0xE2), o2(0xA7,0xE3), o2(0xA7,0xE4), o2(0xA7,0xE5),
@@ -19439,17 +18204,10 @@
 };
 static const BYTE_LOOKUP
 to_EUC_JP_D1 = {
-    to_EUC_JP_D1_offsets,
+    to_SHIFT_JIS_D1_offsets,
     to_EUC_JP_D1_infos
 };
 
-static const unsigned char
-to_EUC_JP_E2_80_offsets[64] = {
-     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_EUC_JP_E2_80_infos[16] = {
      o2(0xA1,0xBE), o2(0xA1,0xBD), o2(0xA1,0xC2), o2(0xA1,0xC6),
@@ -19459,17 +18217,10 @@
 };
 static const BYTE_LOOKUP
 to_EUC_JP_E2_80 = {
-    to_EUC_JP_E2_80_offsets,
+    to_SHIFT_JIS_E2_80_offsets,
     to_EUC_JP_E2_80_infos
 };
 
-static const unsigned char
-to_EUC_JP_E2_84_offsets[64] = {
-      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_EUC_JP_E2_84_infos[5] = {
      o2(0xA1,0xEE), o2(0xAD,0xE2), o2(0xAD,0xE4), o2(0xA2,0xF2),
@@ -19477,17 +18228,10 @@
 };
 static const BYTE_LOOKUP
 to_EUC_JP_E2_84 = {
-    to_EUC_JP_E2_84_offsets,
+    to_SHIFT_JIS_E2_84_offsets,
     to_EUC_JP_E2_84_infos
 };
 
-static const unsigned char
-to_EUC_JP_E2_85_offsets[64] = {
-     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_EUC_JP_E2_85_infos[21] = {
      o2(0xAD,0xB5), o2(0xAD,0xB6), o2(0xAD,0xB7), o2(0xAD,0xB8),
@@ -19499,17 +18243,10 @@
 };
 static const BYTE_LOOKUP
 to_EUC_JP_E2_85 = {
-    to_EUC_JP_E2_85_offsets,
+    to_SHIFT_JIS_E2_85_offsets,
     to_EUC_JP_E2_85_infos
 };
 
-static const unsigned char
-to_EUC_JP_E2_86_offsets[64] = {
-      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_EUC_JP_E2_86_infos[5] = {
      o2(0xA2,0xAB), o2(0xA2,0xAC), o2(0xA2,0xAA), o2(0xA2,0xAD),
@@ -19517,34 +18254,20 @@
 };
 static const BYTE_LOOKUP
 to_EUC_JP_E2_86 = {
-    to_EUC_JP_E2_86_offsets,
+    to_SHIFT_JIS_E2_86_offsets,
     to_EUC_JP_E2_86_infos
 };
 
-static const unsigned char
-to_EUC_JP_E2_87_offsets[64] = {
-      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_EUC_JP_E2_87_infos[3] = {
      o2(0xA2,0xCD), o2(0xA2,0xCE),         UNDEF,
 };
 static const BYTE_LOOKUP
 to_EUC_JP_E2_87 = {
-    to_EUC_JP_E2_87_offsets,
+    to_SHIFT_JIS_E2_87_offsets,
     to_EUC_JP_E2_87_infos
 };
 
-static const unsigned char
-to_EUC_JP_E2_88_offsets[64] = {
-      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_EUC_JP_E2_88_infos[24] = {
      o2(0xA2,0xCF), o2(0xA2,0xDF), o2(0xA2,0xD0), o2(0xA2,0xE0),
@@ -19556,17 +18279,10 @@
 };
 static const BYTE_LOOKUP
 to_EUC_JP_E2_88 = {
-    to_EUC_JP_E2_88_offsets,
+    to_SHIFT_JIS_E2_88_offsets,
     to_EUC_JP_E2_88_infos
 };
 
-static const unsigned char
-to_EUC_JP_E2_89_offsets[64] = {
-      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_EUC_JP_E2_89_infos[8] = {
      o2(0xAD,0xF0), o2(0xA1,0xE2), o2(0xAD,0xF1), o2(0xA1,0xE5),
@@ -19574,17 +18290,10 @@
 };
 static const BYTE_LOOKUP
 to_EUC_JP_E2_89 = {
-    to_EUC_JP_E2_89_offsets,
+    to_SHIFT_JIS_E2_89_offsets,
     to_EUC_JP_E2_89_infos
 };
 
-static const unsigned char
-to_EUC_JP_E2_8A_offsets[64] = {
-      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_EUC_JP_E2_8A_infos[7] = {
      o2(0xA2,0xBE), o2(0xA2,0xBF), o2(0xA2,0xBC), o2(0xA2,0xBD),
@@ -19592,34 +18301,20 @@
 };
 static const BYTE_LOOKUP
 to_EUC_JP_E2_8A = {
-    to_EUC_JP_E2_8A_offsets,
+    to_SHIFT_JIS_E2_8A_offsets,
     to_EUC_JP_E2_8A_infos
 };
 
-static const unsigned char
-to_EUC_JP_E2_8C_offsets[64] = {
-      1,  1,  1,  1,  1,  1,  1,  1,    1,  1,  1,  1,  1,  1,  1,  1,
-      1,  1,  0,  1,  1,  1,  1,  1,    1,  1,  1,  1,  1,  1,  1,  1,
-      1,  1,  1,  1,  1,  1,  1,  1,    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_EUC_JP_E2_8C_infos[2] = {
      o2(0xA2,0xDE),         UNDEF,
 };
 static const BYTE_LOOKUP
 to_EUC_JP_E2_8C = {
-    to_EUC_JP_E2_8C_offsets,
+    to_SHIFT_JIS_E2_8C_offsets,
     to_EUC_JP_E2_8C_infos
 };
 
-static const unsigned char
-to_EUC_JP_E2_91_offsets[64] = {
-     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_EUC_JP_E2_91_infos[21] = {
      o2(0xAD,0xA1), o2(0xAD,0xA2), o2(0xAD,0xA3), o2(0xAD,0xA4),
@@ -19631,17 +18326,10 @@
 };
 static const BYTE_LOOKUP
 to_EUC_JP_E2_91 = {
-    to_EUC_JP_E2_91_offsets,
+    to_SHIFT_JIS_E2_91_offsets,
     to_EUC_JP_E2_91_infos
 };
 
-static const unsigned char
-to_EUC_JP_E2_94_offsets[64] = {
-      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_EUC_JP_E2_94_infos[31] = {
      o2(0xA8,0xA1), o2(0xA8,0xAC), o2(0xA8,0xA2), o2(0xA8,0xAD),
@@ -19655,34 +18343,20 @@
 };
 static const BYTE_LOOKUP
 to_EUC_JP_E2_94 = {
-    to_EUC_JP_E2_94_offsets,
+    to_SHIFT_JIS_E2_94_offsets,
     to_EUC_JP_E2_94_infos
 };
 
-static const unsigned char
-to_EUC_JP_E2_95_offsets[64] = {
-      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_EUC_JP_E2_95_infos[3] = {
      o2(0xA8,0xC0), o2(0xA8,0xB6),         UNDEF,
 };
 static const BYTE_LOOKUP
 to_EUC_JP_E2_95 = {
-    to_EUC_JP_E2_95_offsets,
+    to_SHIFT_JIS_E2_95_offsets,
     to_EUC_JP_E2_95_infos
 };
 
-static const unsigned char
-to_EUC_JP_E2_96_offsets[64] = {
-      6,  6,  6,  6,  6,  6,  6,  6,    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_EUC_JP_E2_96_infos[7] = {
      o2(0xA2,0xA3), o2(0xA2,0xA2), o2(0xA2,0xA5), o2(0xA2,0xA4),
@@ -19690,17 +18364,10 @@
 };
 static const BYTE_LOOKUP
 to_EUC_JP_E2_96 = {
-    to_EUC_JP_E2_96_offsets,
+    to_SHIFT_JIS_E2_96_offsets,
     to_EUC_JP_E2_96_infos
 };
 
-static const unsigned char
-to_EUC_JP_E2_97_offsets[64] = {
-      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_EUC_JP_E2_97_infos[7] = {
      o2(0xA2,0xA1), o2(0xA1,0xFE), o2(0xA1,0xFB), o2(0xA1,0xFD),
@@ -19708,34 +18375,20 @@
 };
 static const BYTE_LOOKUP
 to_EUC_JP_E2_97 = {
-    to_EUC_JP_E2_97_offsets,
+    to_SHIFT_JIS_E2_97_offsets,
     to_EUC_JP_E2_97_infos
 };
 
-static const unsigned char
-to_EUC_JP_E2_98_offsets[64] = {
-      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_EUC_JP_E2_98_infos[3] = {
      o2(0xA1,0xFA), o2(0xA1,0xF9),         UNDEF,
 };
 static const BYTE_LOOKUP
 to_EUC_JP_E2_98 = {
-    to_EUC_JP_E2_98_offsets,
+    to_SHIFT_JIS_E2_98_offsets,
     to_EUC_JP_E2_98_infos
 };
 
-static const unsigned char
-to_EUC_JP_E2_99_offsets[64] = {
-      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_EUC_JP_E2_99_infos[6] = {
      o2(0xA1,0xEA), o2(0xA1,0xE9), o2(0xA2,0xF6), o2(0xA2,0xF5),
@@ -19743,17 +18396,10 @@
 };
 static const BYTE_LOOKUP
 to_EUC_JP_E2_99 = {
-    to_EUC_JP_E2_99_offsets,
+    to_SHIFT_JIS_E2_99_offsets,
     to_EUC_JP_E2_99_infos
 };
 
-static const unsigned char
-to_EUC_JP_E2_offsets[64] = {
-      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_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,
@@ -19764,17 +18410,10 @@
 };
 static const BYTE_LOOKUP
 to_EUC_JP_E2 = {
-    to_EUC_JP_E2_offsets,
+    to_SHIFT_JIS_E2_offsets,
     to_EUC_JP_E2_infos
 };
 
-static const unsigned char
-to_EUC_JP_E3_80_offsets[64] = {
-      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_EUC_JP_E3_80_infos[25] = {
      o2(0xA1,0xA1), o2(0xA1,0xA2), o2(0xA1,0xA3), o2(0xA1,0xB7),
@@ -19787,17 +18426,10 @@
 };
 static const BYTE_LOOKUP
 to_EUC_JP_E3_80 = {
-    to_EUC_JP_E3_80_offsets,
+    to_SHIFT_JIS_E3_80_offsets,
     to_EUC_JP_E3_80_infos
 };
 
-static const unsigned char
-to_EUC_JP_E3_81_offsets[64] = {
-     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_EUC_JP_E3_81_infos[64] = {
      o2(0xA4,0xA1), o2(0xA4,0xA2), o2(0xA4,0xA3), o2(0xA4,0xA4),
@@ -19819,17 +18451,10 @@
 };
 static const BYTE_LOOKUP
 to_EUC_JP_E3_81 = {
-    to_EUC_JP_E3_81_offsets,
+    to_SHIFT_JIS_E3_81_offsets,
     to_EUC_JP_E3_81_infos
 };
 
-static const unsigned char
-to_EUC_JP_E3_82_offsets[64] = {
-      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_EUC_JP_E3_82_infos[56] = {
      o2(0xA4,0xE0), o2(0xA4,0xE1), o2(0xA4,0xE2), o2(0xA4,0xE3),
@@ -19849,17 +18474,10 @@
 };
 static const BYTE_LOOKUP
 to_EUC_JP_E3_82 = {
-    to_EUC_JP_E3_82_offsets,
+    to_SHIFT_JIS_E3_82_offsets,
     to_EUC_JP_E3_82_infos
 };
 
-static const unsigned char
-to_EUC_JP_E3_83_offsets[64] = {
-      0,  1,  2,  3,  4,  5,  6,  7,    8,  9, 10, 11, 12, 13, 14, 15,
-     16, 17, 18, 19, 20, 21, 22, 23,   24, 25, 26, 27, 28, 29, 30, 31,
-     32, 33, 34, 35, 36, 37, 38, 39,   40, 41, 42, 43, 44, 45, 46, 47,
-     48, 49, 50, 51, 52, 53, 54, 59,   59, 59, 59, 55, 56, 57, 58, 59,
-};
 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),
@@ -19880,34 +18498,20 @@
 };
 static const BYTE_LOOKUP
 to_EUC_JP_E3_83 = {
-    to_EUC_JP_E3_83_offsets,
+    to_SHIFT_JIS_E3_83_offsets,
     to_EUC_JP_E3_83_infos
 };
 
-static const unsigned char
-to_EUC_JP_E3_88_offsets[64] = {
-      3,  3,  3,  3,  3,  3,  3,  3,    3,  3,  3,  3,  3,  3,  3,  3,
-      3,  3,  3,  3,  3,  3,  3,  3,    3,  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_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_EUC_JP_E3_88_offsets,
+    to_SHIFT_JIS_E3_88_offsets,
     to_EUC_JP_E3_88_infos
 };
 
-static const unsigned char
-to_EUC_JP_E3_8A_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,  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_EUC_JP_E3_8A_infos[6] = {
      o2(0xAD,0xE5), o2(0xAD,0xE6), o2(0xAD,0xE7), o2(0xAD,0xE8),
@@ -19915,17 +18519,10 @@
 };
 static const BYTE_LOOKUP
 to_EUC_JP_E3_8A = {
-    to_EUC_JP_E3_8A_offsets,
+    to_SHIFT_JIS_E3_8A_offsets,
     to_EUC_JP_E3_8A_infos
 };
 
-static const unsigned char
-to_EUC_JP_E3_8C_offsets[64] = {
-     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_EUC_JP_E3_8C_infos[12] = {
      o2(0xAD,0xC6), o2(0xAD,0xCA), o2(0xAD,0xC1), o2(0xAD,0xC4),
@@ -19934,17 +18531,10 @@
 };
 static const BYTE_LOOKUP
 to_EUC_JP_E3_8C = {
-    to_EUC_JP_E3_8C_offsets,
+    to_SHIFT_JIS_E3_8C_offsets,
     to_EUC_JP_E3_8C_infos
 };
 
-static const unsigned char
-to_EUC_JP_E3_8D_offsets[64] = {
-      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_EUC_JP_E3_8D_infos[10] = {
      o2(0xAD,0xC0), o2(0xAD,0xCE), o2(0xAD,0xC3), o2(0xAD,0xC8),
@@ -19953,17 +18543,10 @@
 };
 static const BYTE_LOOKUP
 to_EUC_JP_E3_8D = {
-    to_EUC_JP_E3_8D_offsets,
+    to_SHIFT_JIS_E3_8D_offsets,
     to_EUC_JP_E3_8D_infos
 };
 
-static const unsigned char
-to_EUC_JP_E3_8E_offsets[64] = {
-      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_EUC_JP_E3_8E_infos[7] = {
      o2(0xAD,0xD3), o2(0xAD,0xD4), o2(0xAD,0xD0), o2(0xAD,0xD1),
@@ -19971,34 +18554,20 @@
 };
 static const BYTE_LOOKUP
 to_EUC_JP_E3_8E = {
-    to_EUC_JP_E3_8E_offsets,
+    to_SHIFT_JIS_E3_8E_offsets,
     to_EUC_JP_E3_8E_infos
 };
 
-static const unsigned char
-to_EUC_JP_E3_8F_offsets[64] = {
-      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_EUC_JP_E3_8F_infos[3] = {
      o2(0xAD,0xD5), o2(0xAD,0xE3),         UNDEF,
 };
 static const BYTE_LOOKUP
 to_EUC_JP_E3_8F = {
-    to_EUC_JP_E3_8F_offsets,
+    to_SHIFT_JIS_E3_8F_offsets,
     to_EUC_JP_E3_8F_infos
 };
 
-static const unsigned char
-to_EUC_JP_E3_offsets[64] = {
-      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_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,
@@ -20007,17 +18576,10 @@
 };
 static const BYTE_LOOKUP
 to_EUC_JP_E3 = {
-    to_EUC_JP_E3_offsets,
+    to_SHIFT_JIS_E3_offsets,
     to_EUC_JP_E3_infos
 };
 
-static const unsigned char
-to_EUC_JP_E4_B8_offsets[64] = {
-      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_EUC_JP_E4_B8_infos[33] = {
      o2(0xB0,0xEC), o2(0xC3,0xFA), o2(0xBC,0xB7), o2(0xCB,0xFC),
@@ -20032,17 +18594,10 @@
 };
 static const BYTE_LOOKUP
 to_EUC_JP_E4_B8 = {
-    to_EUC_JP_E4_B8_offsets,
+    to_SHIFT_JIS_E4_B8_offsets,
     to_EUC_JP_E4_B8_infos
 };
 
-static const unsigned char
-to_EUC_JP_E4_B9_offsets[64] = {
-     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_EUC_JP_E4_B9_infos[20] = {
      o2(0xD0,0xA9), o2(0xC7,0xB5), o2(0xB5,0xD7), o2(0xC7,0xB7),
@@ -20053,17 +18608,10 @@
 };
 static const BYTE_LOOKUP
 to_EUC_JP_E4_B9 = {
-    to_EUC_JP_E4_B9_offsets,
+    to_SHIFT_JIS_E4_B9_offsets,
     to_EUC_JP_E4_B9_infos
 };
 
-static const unsigned char
-to_EUC_JP_E4_BA_offsets[64] = {
-      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_EUC_JP_E4_BA_infos[36] = {
      o2(0xB5,0xB5), o2(0xD0,0xAC), o2(0xD0,0xAD), o2(0xCE,0xBB),
@@ -20078,17 +18626,10 @@
 };
 static const BYTE_LOOKUP
 to_EUC_JP_E4_BA = {
-    to_EUC_JP_E4_BA_offsets,
+    to_SHIFT_JIS_E4_BA_offsets,
     to_EUC_JP_E4_BA_infos
 };
 
-static const unsigned char
-to_EUC_JP_E4_BB_offsets[64] = {
-      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_EUC_JP_E4_BB_infos[33] = {
      o2(0xBD,0xBA), o2(0xBF,0xCE), o2(0xD0,0xBE), o2(0xD0,0xBC),
@@ -20103,17 +18644,10 @@
 };
 static const BYTE_LOOKUP
 to_EUC_JP_E4_BB = {
-    to_EUC_JP_E4_BB_offsets,
+    to_SHIFT_JIS_E4_BB_offsets,
     to_EUC_JP_E4_BB_infos
 };
 
-static const unsigned char
-to_EUC_JP_E4_BC_offsets[64] = {
-      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_EUC_JP_E4_BC_infos[23] = {
      o2(0xF9,0xB0), o2(0xB4,0xEB), o2(0xF9,0xB1), o2(0xD0,0xC4),
@@ -20125,17 +18659,10 @@
 };
 static const BYTE_LOOKUP
 to_EUC_JP_E4_BC = {
-    to_EUC_JP_E4_BC_offsets,
+    to_SHIFT_JIS_E4_BC_offsets,
     to_EUC_JP_E4_BC_infos
 };
 
-static const unsigned char
-to_EUC_JP_E4_BD_offsets[64] = {
-     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_EUC_JP_E4_BD_infos[28] = {
      o2(0xC4,0xD1), o2(0xC3,0xA2), o2(0xD0,0xCA), o2(0xB0,0xCC),
@@ -20148,17 +18675,10 @@
 };
 static const BYTE_LOOKUP
 to_EUC_JP_E4_BD = {
-    to_EUC_JP_E4_BD_offsets,
+    to_SHIFT_JIS_E4_BD_offsets,
     to_EUC_JP_E4_BD_infos
 };
 
-static const unsigned char
-to_EUC_JP_E4_BE_offsets[64] = {
-     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_EUC_JP_E4_BE_infos[25] = {
      o2(0xB4,0xA6), o2(0xD0,0xD4), o2(0xD0,0xCC), o2(0xF9,0xB5),
@@ -20171,17 +18691,10 @@
 };
 static const BYTE_LOOKUP
 to_EUC_JP_E4_BE = {
-    to_EUC_JP_E4_BE_offsets,
+    to_SHIFT_JIS_E4_BE_offsets,
     to_EUC_JP_E4_BE_infos
 };
 
-static const unsigned char
-to_EUC_JP_E4_BF_offsets[64] = {
-     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_EUC_JP_E4_BF_infos[30] = {
      o2(0xB7,0xB8), o2(0xC2,0xA5), o2(0xB2,0xE4), o2(0xF9,0xA6),
@@ -20195,17 +18708,10 @@
 };
 static const BYTE_LOOKUP
 to_EUC_JP_E4_BF = {
-    to_EUC_JP_E4_BF_offsets,
+    to_SHIFT_JIS_E4_BF_offsets,
     to_EUC_JP_E4_BF_infos
 };
 
-static const unsigned char
-to_EUC_JP_E4_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,  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_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,
@@ -20214,17 +18720,10 @@
 };
 static const BYTE_LOOKUP
 to_EUC_JP_E4 = {
-    to_EUC_JP_E4_offsets,
+    to_SHIFT_JIS_E4_offsets,
     to_EUC_JP_E4_infos
 };
 
-static const unsigned char
-to_EUC_JP_E5_80_offsets[64] = {
-     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_EUC_JP_E5_80_infos[29] = {
      o2(0xD0,0xE6), o2(0xD0,0xEF), o2(0xC1,0xD2), o2(0xB8,0xC4),
@@ -20238,17 +18737,10 @@
 };
 static const BYTE_LOOKUP
 to_EUC_JP_E5_80 = {
-    to_EUC_JP_E5_80_offsets,
+    to_SHIFT_JIS_E5_80_offsets,
     to_EUC_JP_E5_80_infos
 };
 
-static const unsigned char
-to_EUC_JP_E5_81_offsets[64] = {
-      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_EUC_JP_E5_81_infos[23] = {
      o2(0xF9,0xB9), o2(0xF9,0xBF), o2(0xD0,0xF0), o2(0xF9,0xBD),
@@ -20260,17 +18752,10 @@
 };
 static const BYTE_LOOKUP
 to_EUC_JP_E5_81 = {
-    to_EUC_JP_E5_81_offsets,
+    to_SHIFT_JIS_E5_81_offsets,
     to_EUC_JP_E5_81_infos
 };
 
-static const unsigned char
-to_EUC_JP_E5_82_offsets[64] = {
-      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_EUC_JP_E5_82_infos[17] = {
      o2(0xD0,0xFA), o2(0xD0,0xFC), o2(0xCB,0xB5), o2(0xB7,0xE6),
@@ -20281,17 +18766,10 @@
 };
 static const BYTE_LOOKUP
 to_EUC_JP_E5_82 = {
-    to_EUC_JP_E5_82_offsets,
+    to_SHIFT_JIS_E5_82_offsets,
     to_EUC_JP_E5_82_infos
 };
 
-static const unsigned char
-to_EUC_JP_E5_83_offsets[64] = {
-     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_EUC_JP_E5_83_infos[22] = {
      o2(0xD1,0xA4), o2(0xB6,0xCF), o2(0xD1,0xA1), o2(0xD1,0xA2),
@@ -20303,17 +18781,10 @@
 };
 static const BYTE_LOOKUP
 to_EUC_JP_E5_83 = {
-    to_EUC_JP_E5_83_offsets,
+    to_SHIFT_JIS_E5_83_offsets,
     to_EUC_JP_E5_83_infos
 };
 
-static const unsigned char
-to_EUC_JP_E5_84_offsets[64] = {
-      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_EUC_JP_E5_84_infos[21] = {
      o2(0xB5,0xB7), o2(0xD1,0xAE), o2(0xD1,0xAF), o2(0xB2,0xAF),
@@ -20325,17 +18796,10 @@
 };
 static const BYTE_LOOKUP
 to_EUC_JP_E5_84 = {
-    to_EUC_JP_E5_84_offsets,
+    to_SHIFT_JIS_E5_84_offsets,
     to_EUC_JP_E5_84_infos
 };
 
-static const unsigned char
-to_EUC_JP_E5_85_offsets[64] = {
-      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_EUC_JP_E5_85_infos[36] = {
      o2(0xD1,0xBA), o2(0xB0,0xF4), o2(0xB8,0xB5), o2(0xB7,0xBB),
@@ -20350,17 +18814,10 @@
 };
 static const BYTE_LOOKUP
 to_EUC_JP_E5_85 = {
-    to_EUC_JP_E5_85_offsets,
+    to_SHIFT_JIS_E5_85_offsets,
     to_EUC_JP_E5_85_infos
 };
 
-static const unsigned char
-to_EUC_JP_E5_86_offsets[64] = {
-      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_EUC_JP_E5_86_infos[39] = {
      o2(0xD1,0xC3), o2(0xD1,0xC4), o2(0xC6,0xE2), o2(0xB1,0xDF),
@@ -20376,17 +18833,10 @@
 };
 static const BYTE_LOOKUP
 to_EUC_JP_E5_86 = {
-    to_EUC_JP_E5_86_offsets,
+    to_SHIFT_JIS_E5_86_offsets,
     to_EUC_JP_E5_86_infos
 };
 
-static const unsigned char
-to_EUC_JP_E5_87_offsets[64] = {
-     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_EUC_JP_E5_87_infos[29] = {
      o2(0xC0,0xA8), o2(0xD1,0xD9), o2(0xBD,0xDA), o2(0xD1,0xDA),
@@ -20400,17 +18850,10 @@
 };
 static const BYTE_LOOKUP
 to_EUC_JP_E5_87 = {
-    to_EUC_JP_E5_87_offsets,
+    to_SHIFT_JIS_E5_87_offsets,
     to_EUC_JP_E5_87_infos
 };
 
-static const unsigned char
-to_EUC_JP_E5_88_offsets[64] = {
-      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_EUC_JP_E5_88_infos[29] = {
      o2(0xC5,0xE1), o2(0xBF,0xCF), o2(0xD1,0xE3), o2(0xCA,0xAC),
@@ -20424,17 +18867,10 @@
 };
 static const BYTE_LOOKUP
 to_EUC_JP_E5_88 = {
-    to_EUC_JP_E5_88_offsets,
+    to_SHIFT_JIS_E5_88_offsets,
     to_EUC_JP_E5_88_infos
 };
 
-static const unsigned char
-to_EUC_JP_E5_89_offsets[64] = {
-     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_EUC_JP_E5_89_infos[27] = {
      o2(0xC4,0xE6), o2(0xD1,0xED), o2(0xC2,0xA7), o2(0xBA,0xEF),
@@ -20447,17 +18883,10 @@
 };
 static const BYTE_LOOKUP
 to_EUC_JP_E5_89 = {
-    to_EUC_JP_E5_89_offsets,
+    to_SHIFT_JIS_E5_89_offsets,
     to_EUC_JP_E5_89_infos
 };
 
-static const unsigned char
-to_EUC_JP_E5_8A_offsets[64] = {
-     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_EUC_JP_E5_8A_infos[27] = {
      o2(0xB3,0xC4), o2(0xB7,0xE0), o2(0xD1,0xFC), o2(0xCE,0xAD),
@@ -20470,17 +18899,10 @@
 };
 static const BYTE_LOOKUP
 to_EUC_JP_E5_8A = {
-    to_EUC_JP_E5_8A_offsets,
+    to_SHIFT_JIS_E5_8A_offsets,
     to_EUC_JP_E5_8A_infos
 };
 
-static const unsigned char
-to_EUC_JP_E5_8B_offsets[64] = {
-      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_EUC_JP_E5_8B_infos[31] = {
      o2(0xF9,0xCB), o2(0xD2,0xA6), o2(0xCB,0xD6), o2(0xC4,0xBC),
@@ -20494,17 +18916,10 @@
 };
 static const BYTE_LOOKUP
 to_EUC_JP_E5_8B = {
-    to_EUC_JP_E5_8B_offsets,
+    to_SHIFT_JIS_E5_8B_offsets,
     to_EUC_JP_E5_8B_infos
 };
 
-static const unsigned char
-to_EUC_JP_E5_8C_offsets[64] = {
-      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_EUC_JP_E5_8C_infos[30] = {
      o2(0xF9,0xCD), o2(0xCC,0xE8), o2(0xC6,0xF7), o2(0xCA,0xF1),
@@ -20518,17 +18933,10 @@
 };
 static const BYTE_LOOKUP
 to_EUC_JP_E5_8C = {
-    to_EUC_JP_E5_8C_offsets,
+    to_SHIFT_JIS_E5_8C_offsets,
     to_EUC_JP_E5_8C_infos
 };
 
-static const unsigned char
-to_EUC_JP_E5_8D_offsets[64] = {
-      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_EUC_JP_E5_8D_infos[35] = {
      o2(0xD2,0xBF), o2(0xBD,0xBD), o2(0xC0,0xE9), o2(0xD2,0xC1),
@@ -20543,17 +18951,10 @@
 };
 static const BYTE_LOOKUP
 to_EUC_JP_E5_8D = {
-    to_EUC_JP_E5_8D_offsets,
+    to_SHIFT_JIS_E5_8D_offsets,
     to_EUC_JP_E5_8D_infos
 };
 
-static const unsigned char
-to_EUC_JP_E5_8E_offsets[64] = {
-     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_EUC_JP_E5_8E_infos[20] = {
      o2(0xD2,0xCC), o2(0xCC,0xF1), o2(0xF9,0xD1), o2(0xD2,0xCD),
@@ -20564,17 +18965,10 @@
 };
 static const BYTE_LOOKUP
 to_EUC_JP_E5_8E = {
-    to_EUC_JP_E5_8E_offsets,
+    to_SHIFT_JIS_E5_8E_offsets,
     to_EUC_JP_E5_8E_infos
 };
 
-static const unsigned char
-to_EUC_JP_E5_8F_offsets[64] = {
-     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_EUC_JP_E5_8F_infos[38] = {
      o2(0xBB,0xB2), o2(0xD2,0xD4), o2(0xCB,0xF4), o2(0xBA,0xB5),
@@ -20590,17 +18984,10 @@
 };
 static const BYTE_LOOKUP
 to_EUC_JP_E5_8F = {
-    to_EUC_JP_E5_8F_offsets,
+    to_SHIFT_JIS_E5_8F_offsets,
     to_EUC_JP_E5_8F_infos
 };
 
-static const unsigned char
-to_EUC_JP_E5_90_offsets[64] = {
-     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_EUC_JP_E5_90_infos[31] = {
      o2(0xD2,0xDE), o2(0xB5,0xC9), o2(0xB3,0xC6), o2(0xB9,0xE7),
@@ -20614,17 +19001,10 @@
 };
 static const BYTE_LOOKUP
 to_EUC_JP_E5_90 = {
-    to_EUC_JP_E5_90_offsets,
+    to_SHIFT_JIS_E5_90_offsets,
     to_EUC_JP_E5_90_infos
 };
 
-static const unsigned char
-to_EUC_JP_E5_91_offsets[64] = {
-      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_EUC_JP_E5_91_infos[21] = {
      o2(0xD2,0xE0), o2(0xCF,0xA4), o2(0xCA,0xF2), o2(0xC4,0xE8),
@@ -20636,17 +19016,10 @@
 };
 static const BYTE_LOOKUP
 to_EUC_JP_E5_91 = {
-    to_EUC_JP_E5_91_offsets,
+    to_SHIFT_JIS_E5_91_offsets,
     to_EUC_JP_E5_91_infos
 };
 
-static const unsigned char
-to_EUC_JP_E5_92_offsets[64] = {
-      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_EUC_JP_E5_92_infos[26] = {
      o2(0xD2,0xF2), o2(0xD2,0xF4), o2(0xD2,0xF6), o2(0xF9,0xD6),
@@ -20659,17 +19032,10 @@
 };
 static const BYTE_LOOKUP
 to_EUC_JP_E5_92 = {
-    to_EUC_JP_E5_92_offsets,
+    to_SHIFT_JIS_E5_92_offsets,
     to_EUC_JP_E5_92_infos
 };
 
-static const unsigned char
-to_EUC_JP_E5_93_offsets[64] = {
-      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_EUC_JP_E5_93_infos[21] = {
      o2(0xB0,0xA5), o2(0xC9,0xCA), o2(0xD3,0xA2), o2(0xD2,0xFC),
@@ -20681,17 +19047,10 @@
 };
 static const BYTE_LOOKUP
 to_EUC_JP_E5_93 = {
-    to_EUC_JP_E5_93_offsets,
+    to_SHIFT_JIS_E5_93_offsets,
     to_EUC_JP_E5_93_infos
 };
 
-static const unsigned char
-to_EUC_JP_E5_94_offsets[64] = {
-     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_EUC_JP_E5_94_infos[15] = {
      o2(0xB1,0xB4), o2(0xBA,0xB6), o2(0xBF,0xB0), o2(0xD3,0xA9),
@@ -20701,17 +19060,10 @@
 };
 static const BYTE_LOOKUP
 to_EUC_JP_E5_94 = {
-    to_EUC_JP_E5_94_offsets,
+    to_SHIFT_JIS_E5_94_offsets,
     to_EUC_JP_E5_94_infos
 };
 
-static const unsigned char
-to_EUC_JP_E5_95_offsets[64] = {
-      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_EUC_JP_E5_95_infos[16] = {
      o2(0xD3,0xB1), o2(0xC2,0xEF), o2(0xD3,0xB6), o2(0xBE,0xA6),
@@ -20721,17 +19073,10 @@
 };
 static const BYTE_LOOKUP
 to_EUC_JP_E5_95 = {
-    to_EUC_JP_E5_95_offsets,
+    to_SHIFT_JIS_E5_95_offsets,
     to_EUC_JP_E5_95_infos
 };
 
-static const unsigned char
-to_EUC_JP_E5_96_offsets[64] = {
-      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_EUC_JP_E5_96_infos[25] = {
      o2(0xD3,0xBD), o2(0xD3,0xC7), o2(0xC1,0xB1), o2(0xF9,0xD9),
@@ -20744,17 +19089,10 @@
 };
 static const BYTE_LOOKUP
 to_EUC_JP_E5_96 = {
-    to_EUC_JP_E5_96_offsets,
+    to_SHIFT_JIS_E5_96_offsets,
     to_EUC_JP_E5_96_infos
 };
 
-static const unsigned char
-to_EUC_JP_E5_97_offsets[64] = {
-     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_EUC_JP_E5_97_infos[14] = {
      o2(0xD3,0xCE), o2(0xD3,0xCC), o2(0xD4,0xA7), o2(0xD3,0xD1),
@@ -20764,17 +19102,10 @@
 };
 static const BYTE_LOOKUP
 to_EUC_JP_E5_97 = {
-    to_EUC_JP_E5_97_offsets,
+    to_SHIFT_JIS_E5_97_offsets,
     to_EUC_JP_E5_97_infos
 };
 
-static const unsigned char
-to_EUC_JP_E5_98_offsets[64] = {
-     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_EUC_JP_E5_98_infos[15] = {
      o2(0xC3,0xB2), o2(0xB2,0xC5), o2(0xD3,0xD2), o2(0xD3,0xD4),
@@ -20784,17 +19115,10 @@
 };
 static const BYTE_LOOKUP
 to_EUC_JP_E5_98 = {
-    to_EUC_JP_E5_98_offsets,
+    to_SHIFT_JIS_E5_98_offsets,
     to_EUC_JP_E5_98_infos
 };
 
-static const unsigned char
-to_EUC_JP_E5_99_offsets[64] = {
-     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_EUC_JP_E5_99_infos[14] = {
      o2(0xB1,0xBD), o2(0xC1,0xB9), o2(0xD3,0xD9), o2(0xD3,0xDA),
@@ -20804,17 +19128,10 @@
 };
 static const BYTE_LOOKUP
 to_EUC_JP_E5_99 = {
-    to_EUC_JP_E5_99_offsets,
+    to_SHIFT_JIS_E5_99_offsets,
     to_EUC_JP_E5_99_infos
 };
 
-static const unsigned char
-to_EUC_JP_E5_9A_offsets[64] = {
-      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_EUC_JP_E5_9A_infos[14] = {
      o2(0xD3,0xE6), o2(0xD3,0xE5), o2(0xB3,0xC5), o2(0xD3,0xE7),
@@ -20824,17 +19141,10 @@
 };
 static const BYTE_LOOKUP
 to_EUC_JP_E5_9A = {
-    to_EUC_JP_E5_9A_offsets,
+    to_SHIFT_JIS_E5_9A_offsets,
     to_EUC_JP_E5_9A_infos
 };
 
-static const unsigned char
-to_EUC_JP_E5_9B_offsets[64] = {
-      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_EUC_JP_E5_9B_infos[24] = {
      o2(0xD3,0xF3), o2(0xD3,0xF1), o2(0xD3,0xEF), o2(0xD3,0xF2),
@@ -20846,17 +19156,10 @@
 };
 static const BYTE_LOOKUP
 to_EUC_JP_E5_9B = {
-    to_EUC_JP_E5_9B_offsets,
+    to_SHIFT_JIS_E5_9B_offsets,
     to_EUC_JP_E5_9B_infos
 };
 
-static const unsigned char
-to_EUC_JP_E5_9C_offsets[64] = {
-      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_EUC_JP_E5_9C_infos[23] = {
      o2(0xD3,0xFB), o2(0xCA,0xE0), o2(0xD3,0xFD), o2(0xD4,0xA1),
@@ -20868,17 +19171,10 @@
 };
 static const BYTE_LOOKUP
 to_EUC_JP_E5_9C = {
-    to_EUC_JP_E5_9C_offsets,
+    to_SHIFT_JIS_E5_9C_offsets,
     to_EUC_JP_E5_9C_infos
 };
 
-static const unsigned char
-to_EUC_JP_E5_9D_offsets[64] = {
-      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_EUC_JP_E5_9D_infos[17] = {
      o2(0xD4,0xAE), o2(0xBA,0xE4), o2(0xB6,0xD1), o2(0xCB,0xB7),
@@ -20889,17 +19185,10 @@
 };
 static const BYTE_LOOKUP
 to_EUC_JP_E5_9D = {
-    to_EUC_JP_E5_9D_offsets,
+    to_SHIFT_JIS_E5_9D_offsets,
     to_EUC_JP_E5_9D_infos
 };
 
-static const unsigned char
-to_EUC_JP_E5_9E_offsets[64] = {
-     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_EUC_JP_E5_9E_infos[14] = {
      o2(0xBF,0xE2), o2(0xD4,0xB2), o2(0xD4,0xB5), o2(0xB7,0xBF),
@@ -20909,17 +19198,10 @@
 };
 static const BYTE_LOOKUP
 to_EUC_JP_E5_9E = {
-    to_EUC_JP_E5_9E_offsets,
+    to_SHIFT_JIS_E5_9E_offsets,
     to_EUC_JP_E5_9E_infos
 };
 
-static const unsigned char
-to_EUC_JP_E5_9F_offsets[64] = {
-      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_EUC_JP_E5_9F_infos[21] = {
      o2(0xD4,0xB1), o2(0xD4,0xBC), o2(0xD4,0xBD), o2(0xF9,0xDE),
@@ -20931,17 +19213,10 @@
 };
 static const BYTE_LOOKUP
 to_EUC_JP_E5_9F = {
-    to_EUC_JP_E5_9F_offsets,
+    to_SHIFT_JIS_E5_9F_offsets,
     to_EUC_JP_E5_9F_infos
 };
 
-static const unsigned char
-to_EUC_JP_E5_A0_offsets[64] = {
-      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_EUC_JP_E5_A0_infos[20] = {
      o2(0xCB,0xD9), o2(0xC6,0xB2), o2(0xB7,0xF8), o2(0xC2,0xCF),
@@ -20952,17 +19227,10 @@
 };
 static const BYTE_LOOKUP
 to_EUC_JP_E5_A0 = {
-    to_EUC_JP_E5_A0_offsets,
+    to_SHIFT_JIS_E5_A0_offsets,
     to_EUC_JP_E5_A0_infos
 };
 
-static const unsigned char
-to_EUC_JP_E5_A1_offsets[64] = {
-      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_EUC_JP_E5_A1_infos[21] = {
      o2(0xCA,0xBD), o2(0xCE,0xDD), o2(0xB2,0xF4), o2(0xD4,0xCA),
@@ -20974,17 +19242,10 @@
 };
 static const BYTE_LOOKUP
 to_EUC_JP_E5_A1 = {
-    to_EUC_JP_E5_A1_offsets,
+    to_SHIFT_JIS_E5_A1_offsets,
     to_EUC_JP_E5_A1_infos
 };
 
-static const unsigned char
-to_EUC_JP_E5_A2_offsets[64] = {
-     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_EUC_JP_E5_A2_infos[18] = {
      o2(0xB6,0xAD), o2(0xD4,0xD0), o2(0xCA,0xE8), o2(0xC1,0xFD),
@@ -20995,17 +19256,10 @@
 };
 static const BYTE_LOOKUP
 to_EUC_JP_E5_A2 = {
-    to_EUC_JP_E5_A2_offsets,
+    to_SHIFT_JIS_E5_A2_offsets,
     to_EUC_JP_E5_A2_infos
 };
 
-static const unsigned char
-to_EUC_JP_E5_A3_offsets[64] = {
-     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_EUC_JP_E5_A3_infos[30] = {
      o2(0xCA,0xC9), o2(0xD4,0xD9), o2(0xC3,0xC5), o2(0xB2,0xF5),
@@ -21019,17 +19273,10 @@
 };
 static const BYTE_LOOKUP
 to_EUC_JP_E5_A3 = {
-    to_EUC_JP_E5_A3_offsets,
+    to_SHIFT_JIS_E5_A3_offsets,
     to_EUC_JP_E5_A3_infos
 };
 
-static const unsigned char
-to_EUC_JP_E5_A4_offsets[64] = {
-     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_EUC_JP_E5_A4_infos[28] = {
      o2(0xD4,0xE9), o2(0xCA,0xD1), o2(0xD4,0xEA), o2(0xF9,0xE3),
@@ -21042,17 +19289,10 @@
 };
 static const BYTE_LOOKUP
 to_EUC_JP_E5_A4 = {
-    to_EUC_JP_E5_A4_offsets,
+    to_SHIFT_JIS_E5_A4_offsets,
     to_EUC_JP_E5_A4_infos
 };
 
-static const unsigned char
-to_EUC_JP_E5_A5_offsets[64] = {
-     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_EUC_JP_E5_A5_infos[31] = {
      o2(0xB1,0xE2), o2(0xB4,0xF1), o2(0xC6,0xE0), o2(0xCA,0xF4),
@@ -21066,17 +19306,10 @@
 };
 static const BYTE_LOOKUP
 to_EUC_JP_E5_A5 = {
-    to_EUC_JP_E5_A5_offsets,
+    to_SHIFT_JIS_E5_A5_offsets,
     to_EUC_JP_E5_A5_infos
 };
 
-static const unsigned char
-to_EUC_JP_E5_A6_offsets[64] = {
-     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_EUC_JP_E5_A6_infos[22] = {
      o2(0xD5,0xA2), o2(0xC7,0xA1), o2(0xC8,0xDE), o2(0xCC,0xD1),
@@ -21088,17 +19321,10 @@
 };
 static const BYTE_LOOKUP
 to_EUC_JP_E5_A6 = {
-    to_EUC_JP_E5_A6_offsets,
+    to_SHIFT_JIS_E5_A6_offsets,
     to_EUC_JP_E5_A6_infos
 };
 
-static const unsigned char
-to_EUC_JP_E5_A7_offsets[64] = {
-     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_EUC_JP_E5_A7_infos[19] = {
      o2(0xD5,0xA8), o2(0xBB,0xD0), o2(0xBB,0xCF), o2(0xB0,0xB9),
@@ -21109,17 +19335,10 @@
 };
 static const BYTE_LOOKUP
 to_EUC_JP_E5_A7 = {
-    to_EUC_JP_E5_A7_offsets,
+    to_SHIFT_JIS_E5_A7_offsets,
     to_EUC_JP_E5_A7_infos
 };
 
-static const unsigned char
-to_EUC_JP_E5_A8_offsets[64] = {
-     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_EUC_JP_E5_A8_infos[16] = {
      o2(0xB0,0xD2), o2(0xB0,0xA3), o2(0xD5,0xB2), o2(0xD5,0xB0),
@@ -21129,17 +19348,10 @@
 };
 static const BYTE_LOOKUP
 to_EUC_JP_E5_A8 = {
-    to_EUC_JP_E5_A8_offsets,
+    to_SHIFT_JIS_E5_A8_offsets,
     to_EUC_JP_E5_A8_infos
 };
 
-static const unsigned char
-to_EUC_JP_E5_A9_offsets[64] = {
-      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_EUC_JP_E5_A9_infos[11] = {
      o2(0xD5,0xB4), o2(0xCF,0xAC), o2(0xC7,0xCC), o2(0xD5,0xB6),
@@ -21148,17 +19360,10 @@
 };
 static const BYTE_LOOKUP
 to_EUC_JP_E5_A9 = {
-    to_EUC_JP_E5_A9_offsets,
+    to_SHIFT_JIS_E5_A9_offsets,
     to_EUC_JP_E5_A9_infos
 };
 
-static const unsigned char
-to_EUC_JP_E5_AA_offsets[64] = {
-      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_EUC_JP_E5_AA_infos[7] = {
      o2(0xC7,0xDE), o2(0xD5,0xBB), o2(0xC9,0xB2), o2(0xD5,0xBC),
@@ -21166,17 +19371,10 @@
 };
 static const BYTE_LOOKUP
 to_EUC_JP_E5_AA = {
-    to_EUC_JP_E5_AA_offsets,
+    to_SHIFT_JIS_E5_AA_offsets,
     to_EUC_JP_E5_AA_infos
 };
 
-static const unsigned char
-to_EUC_JP_E5_AB_offsets[64] = {
-     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_EUC_JP_E5_AB_infos[15] = {
      o2(0xB2,0xC7), o2(0xD5,0xBF), o2(0xBC,0xBB), o2(0xD5,0xBE),
@@ -21186,17 +19384,10 @@
 };
 static const BYTE_LOOKUP
 to_EUC_JP_E5_AB = {
-    to_EUC_JP_E5_AB_offsets,
+    to_SHIFT_JIS_E5_AB_offsets,
     to_EUC_JP_E5_AB_infos
 };
 
-static const unsigned char
-to_EUC_JP_E5_AC_offsets[64] = {
-     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_EUC_JP_E5_AC_infos[12] = {
      o2(0xB4,0xF2), o2(0xD5,0xC9), o2(0xD5,0xC8), o2(0xD5,0xCA),
@@ -21205,17 +19396,10 @@
 };
 static const BYTE_LOOKUP
 to_EUC_JP_E5_AC = {
-    to_EUC_JP_E5_AC_offsets,
+    to_SHIFT_JIS_E5_AC_offsets,
     to_EUC_JP_E5_AC_infos
 };
 
-static const unsigned char
-to_EUC_JP_E5_AD_offsets[64] = {
-      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_EUC_JP_E5_AD_infos[28] = {
      o2(0xD5,0xD2), o2(0xD5,0xD0), o2(0xD5,0xD1), o2(0xBB,0xD2),
@@ -21228,17 +19412,10 @@
 };
 static const BYTE_LOOKUP
 to_EUC_JP_E5_AD = {
-    to_EUC_JP_E5_AD_offsets,
+    to_SHIFT_JIS_E5_AD_offsets,
     to_EUC_JP_E5_AD_infos
 };
 
-static const unsigned char
-to_EUC_JP_E5_AE_offsets[64] = {
-      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_EUC_JP_E5_AE_infos[34] = {
      o2(0xD5,0xDF), o2(0xD5,0xE0), o2(0xC2,0xF0), o2(0xB1,0xA7),
@@ -21253,17 +19430,10 @@
 };
 static const BYTE_LOOKUP
 to_EUC_JP_E5_AE = {
-    to_EUC_JP_E5_AE_offsets,
+    to_SHIFT_JIS_E5_AE_offsets,
     to_EUC_JP_E5_AE_infos
 };
 
-static const unsigned char
-to_EUC_JP_E5_AF_offsets[64] = {
-      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_EUC_JP_E5_AF_infos[38] = {
      o2(0xF9,0xEB), o2(0xBC,0xE4), o2(0xD5,0xE3), o2(0xB4,0xF3),
@@ -21279,17 +19449,10 @@
 };
 static const BYTE_LOOKUP
 to_EUC_JP_E5_AF = {
-    to_EUC_JP_E5_AF_offsets,
+    to_SHIFT_JIS_E5_AF_offsets,
     to_EUC_JP_E5_AF_infos
 };
 
-static const unsigned char
-to_EUC_JP_E5_B0_offsets[64] = {
-     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_EUC_JP_E5_B0_infos[33] = {
      o2(0xC9,0xF5), o2(0xC0,0xEC), o2(0xBC,0xCD), o2(0xD5,0xF1),
@@ -21304,17 +19467,10 @@
 };
 static const BYTE_LOOKUP
 to_EUC_JP_E5_B0 = {
-    to_EUC_JP_E5_B0_offsets,
+    to_SHIFT_JIS_E5_B0_offsets,
     to_EUC_JP_E5_B0_infos
 };
 
-static const unsigned char
-to_EUC_JP_E5_B1_offsets[64] = {
-      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_EUC_JP_E5_B1_infos[26] = {
      o2(0xB6,0xC9), o2(0xD5,0xFB), o2(0xB5,0xEF), o2(0xD5,0xFC),
@@ -21327,17 +19483,10 @@
 };
 static const BYTE_LOOKUP
 to_EUC_JP_E5_B1 = {
-    to_EUC_JP_E5_B1_offsets,
+    to_SHIFT_JIS_E5_B1_offsets,
     to_EUC_JP_E5_B1_infos
 };
 
-static const unsigned char
-to_EUC_JP_E5_B2_offsets[64] = {
-     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_EUC_JP_E5_B2_infos[20] = {
      o2(0xD6,0xA9), o2(0xB4,0xF4), o2(0xD6,0xAA), o2(0xD6,0xAB),
@@ -21348,17 +19497,10 @@
 };
 static const BYTE_LOOKUP
 to_EUC_JP_E5_B2 = {
-    to_EUC_JP_E5_B2_offsets,
+    to_SHIFT_JIS_E5_B2_offsets,
     to_EUC_JP_E5_B2_infos
 };
 
-static const unsigned char
-to_EUC_JP_E5_B3_offsets[64] = {
-     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_EUC_JP_E5_B3_infos[17] = {
      o2(0xD6,0xB2), o2(0xD6,0xB4), o2(0xD6,0xB5), o2(0xC6,0xBD),
@@ -21369,17 +19511,10 @@
 };
 static const BYTE_LOOKUP
 to_EUC_JP_E5_B3 = {
-    to_EUC_JP_E5_B3_offsets,
+    to_SHIFT_JIS_E5_B3_offsets,
     to_EUC_JP_E5_B3_infos
 };
 
-static const unsigned char
-to_EUC_JP_E5_B4_offsets[64] = {
-     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_EUC_JP_E5_B4_infos[17] = {
      o2(0xBF,0xF2), o2(0xD6,0xBC), o2(0xBA,0xEA), o2(0xD6,0xC2),
@@ -21390,17 +19525,10 @@
 };
 static const BYTE_LOOKUP
 to_EUC_JP_E5_B4 = {
-    to_EUC_JP_E5_B4_offsets,
+    to_SHIFT_JIS_E5_B4_offsets,
     to_EUC_JP_E5_B4_infos
 };
 
-static const unsigned char
-to_EUC_JP_E5_B5_offsets[64] = {
-     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_EUC_JP_E5_B5_infos[15] = {
      o2(0xF9,0xF6), o2(0xD6,0xCB), o2(0xD6,0xC8), o2(0xD6,0xCA),
@@ -21410,17 +19538,10 @@
 };
 static const BYTE_LOOKUP
 to_EUC_JP_E5_B5 = {
-    to_EUC_JP_E5_B5_offsets,
+    to_SHIFT_JIS_E5_B5_offsets,
     to_EUC_JP_E5_B5_infos
 };
 
-static const unsigned char
-to_EUC_JP_E5_B6_offsets[64] = {
-     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_EUC_JP_E5_B6_infos[17] = {
      o2(0xD6,0xD1), o2(0xD6,0xD0), o2(0xD6,0xCF), o2(0xC5,0xE8),
@@ -21431,17 +19552,10 @@
 };
 static const BYTE_LOOKUP
 to_EUC_JP_E5_B6 = {
-    to_EUC_JP_E5_B6_offsets,
+    to_SHIFT_JIS_E5_B6_offsets,
     to_EUC_JP_E5_B6_infos
 };
 
-static const unsigned char
-to_EUC_JP_E5_B7_offsets[64] = {
-     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_EUC_JP_E5_B7_infos[28] = {
      o2(0xD6,0xDA), o2(0xB4,0xE0), o2(0xD6,0xDB), o2(0xF9,0xFA),
@@ -21454,17 +19568,10 @@
 };
 static const BYTE_LOOKUP
 to_EUC_JP_E5_B7 = {
-    to_EUC_JP_E5_B7_offsets,
+    to_SHIFT_JIS_E5_B7_offsets,
     to_EUC_JP_E5_B7_infos
 };
 
-static const unsigned char
-to_EUC_JP_E5_B8_offsets[64] = {
-     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_EUC_JP_E5_B8_infos[22] = {
      o2(0xBB,0xD4), o2(0xC9,0xDB), o2(0xC8,0xC1), o2(0xD6,0xE3),
@@ -21476,17 +19583,10 @@
 };
 static const BYTE_LOOKUP
 to_EUC_JP_E5_B8 = {
-    to_EUC_JP_E5_B8_offsets,
+    to_SHIFT_JIS_E5_B8_offsets,
     to_EUC_JP_E5_B8_infos
 };
 
-static const unsigned char
-to_EUC_JP_E5_B9_offsets[64] = {
-      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_EUC_JP_E5_B9_infos[29] = {
      o2(0xD6,0xEC), o2(0xD6,0xEB), o2(0xD6,0xEA), o2(0xC9,0xFD),
@@ -21500,17 +19600,10 @@
 };
 static const BYTE_LOOKUP
 to_EUC_JP_E5_B9 = {
-    to_EUC_JP_E5_B9_offsets,
+    to_SHIFT_JIS_E5_B9_offsets,
     to_EUC_JP_E5_B9_infos
 };
 
-static const unsigned char
-to_EUC_JP_E5_BA_offsets[64] = {
-     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_EUC_JP_E5_BA_infos[21] = {
      o2(0xC4,0xA3), o2(0xB9,0xAD), o2(0xBE,0xB1), o2(0xC8,0xDF),
@@ -21522,17 +19615,10 @@
 };
 static const BYTE_LOOKUP
 to_EUC_JP_E5_BA = {
-    to_EUC_JP_E5_BA_offsets,
+    to_SHIFT_JIS_E5_BA_offsets,
     to_EUC_JP_E5_BA_infos
 };
 
-static const unsigned char
-to_EUC_JP_E5_BB_offsets[64] = {
-     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_EUC_JP_E5_BB_infos[34] = {
      o2(0xD6,0xFA), o2(0xD6,0xFB), o2(0xC7,0xD1), o2(0xD6,0xFC),
@@ -21547,17 +19633,10 @@
 };
 static const BYTE_LOOKUP
 to_EUC_JP_E5_BB = {
-    to_EUC_JP_E5_BB_offsets,
+    to_SHIFT_JIS_E5_BB_offsets,
     to_EUC_JP_E5_BB_infos
 };
 
-static const unsigned char
-to_EUC_JP_E5_BC_offsets[64] = {
-     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_EUC_JP_E5_BC_infos[34] = {
      o2(0xCA,0xDB), o2(0xD7,0xB1), o2(0xCF,0xAE), o2(0xD7,0xB2),
@@ -21572,17 +19651,10 @@
 };
 static const BYTE_LOOKUP
 to_EUC_JP_E5_BC = {
-    to_EUC_JP_E5_BC_offsets,
+    to_SHIFT_JIS_E5_BC_offsets,
     to_EUC_JP_E5_BC_infos
 };
 
-static const unsigned char
-to_EUC_JP_E5_BD_offsets[64] = {
-     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_EUC_JP_E5_BD_infos[30] = {
      o2(0xD7,0xBB), o2(0xF9,0xAC), o2(0xD7,0xBC), o2(0xB6,0xB0),
@@ -21596,17 +19668,10 @@
 };
 static const BYTE_LOOKUP
 to_EUC_JP_E5_BD = {
-    to_EUC_JP_E5_BD_offsets,
+    to_SHIFT_JIS_E5_BD_offsets,
     to_EUC_JP_E5_BD_infos
 };
 
-static const unsigned char
-to_EUC_JP_E5_BE_offsets[64] = {
-      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_EUC_JP_E5_BE_infos[33] = {
      o2(0xB1,0xFD), o2(0xC0,0xAC), o2(0xD7,0xC9), o2(0xD7,0xC8),
@@ -21621,17 +19686,10 @@
 };
 static const BYTE_LOOKUP
 to_EUC_JP_E5_BE = {
-    to_EUC_JP_E5_BE_offsets,
+    to_SHIFT_JIS_E5_BE_offsets,
     to_EUC_JP_E5_BE_infos
 };
 
-static const unsigned char
-to_EUC_JP_E5_BF_offsets[64] = {
-     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_EUC_JP_E5_BF_infos[22] = {
      o2(0xBF,0xB4), o2(0xC9,0xAC), o2(0xB4,0xF7), o2(0xC7,0xA6),
@@ -21643,17 +19701,10 @@
 };
 static const BYTE_LOOKUP
 to_EUC_JP_E5_BF = {
-    to_EUC_JP_E5_BF_offsets,
+    to_SHIFT_JIS_E5_BF_offsets,
     to_EUC_JP_E5_BF_infos
 };
 
-static const unsigned char
-to_EUC_JP_E5_offsets[64] = {
-      0,  1,  2,  3,  4,  5,  6,  7,    8,  9, 10, 11, 12, 13, 14, 15,
-     16, 17, 18, 19, 20, 21, 22, 23,   24, 25, 26, 27, 28, 29, 30, 31,
-     32, 33, 34, 35, 36, 37, 38, 39,   40, 41, 42, 43, 44, 45, 46, 47,
-     48, 49, 50, 51, 52, 53, 54, 55,   56, 57, 58, 59, 60, 61, 62, 63,
-};
 static const struct byte_lookup* const
 to_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,
@@ -21675,17 +19726,10 @@
 };
 static const BYTE_LOOKUP
 to_EUC_JP_E5 = {
-    to_EUC_JP_E5_offsets,
+    to_SHIFT_JIS_E5_offsets,
     to_EUC_JP_E5_infos
 };
 
-static const unsigned char
-to_EUC_JP_E6_80_offsets[64] = {
-     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_EUC_JP_E6_80_infos[23] = {
      o2(0xD7,0xE3), o2(0xD7,0xE9), o2(0xD7,0xE1), o2(0xC5,0xDC),
@@ -21697,17 +19741,10 @@
 };
 static const BYTE_LOOKUP
 to_EUC_JP_E6_80 = {
-    to_EUC_JP_E6_80_offsets,
+    to_SHIFT_JIS_E6_80_offsets,
     to_EUC_JP_E6_80_infos
 };
 
-static const unsigned char
-to_EUC_JP_E6_81_offsets[64] = {
-     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_EUC_JP_E6_81_infos[30] = {
      o2(0xD7,0xEC), o2(0xD7,0xF6), o2(0xD7,0xF4), o2(0xD7,0xF1),
@@ -21721,17 +19758,10 @@
 };
 static const BYTE_LOOKUP
 to_EUC_JP_E6_81 = {
-    to_EUC_JP_E6_81_offsets,
+    to_SHIFT_JIS_E6_81_offsets,
     to_EUC_JP_E6_81_infos
 };
 
-static const unsigned char
-to_EUC_JP_E6_82_offsets[64] = {
-     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_EUC_JP_E6_82_infos[31] = {
      o2(0xD7,0xFA), o2(0xD7,0xFD), o2(0xD8,0xA1), o2(0xFA,0xA3),
@@ -21745,17 +19775,10 @@
 };
 static const BYTE_LOOKUP
 to_EUC_JP_E6_82 = {
-    to_EUC_JP_E6_82_offsets,
+    to_SHIFT_JIS_E6_82_offsets,
     to_EUC_JP_E6_82_infos
 };
 
-static const unsigned char
-to_EUC_JP_E6_83_offsets[64] = {
-     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_EUC_JP_E6_83_infos[27] = {
      o2(0xBE,0xF0), o2(0xD8,0xAF), o2(0xC6,0xD7), o2(0xCF,0xC7),
@@ -21768,17 +19791,10 @@
 };
 static const BYTE_LOOKUP
 to_EUC_JP_E6_83 = {
-    to_EUC_JP_E6_83_offsets,
+    to_SHIFT_JIS_E6_83_offsets,
     to_EUC_JP_E6_83_infos
 };
 
-static const unsigned char
-to_EUC_JP_E6_84_offsets[64] = {
-      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_EUC_JP_E6_84_infos[27] = {
      o2(0xD8,0xB7), o2(0xBD,0xA5), o2(0xD8,0xBA), o2(0xD8,0xB4),
@@ -21791,17 +19807,10 @@
 };
 static const BYTE_LOOKUP
 to_EUC_JP_E6_84 = {
-    to_EUC_JP_E6_84_offsets,
+    to_SHIFT_JIS_E6_84_offsets,
     to_EUC_JP_E6_84_infos
 };
 
-static const unsigned char
-to_EUC_JP_E6_85_offsets[64] = {
-     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_EUC_JP_E6_85_infos[33] = {
      o2(0xD8,0xCA), o2(0xD8,0xCB), o2(0xD8,0xC0), o2(0xBB,0xFC),
@@ -21816,17 +19825,10 @@
 };
 static const BYTE_LOOKUP
 to_EUC_JP_E6_85 = {
-    to_EUC_JP_E6_85_offsets,
+    to_SHIFT_JIS_E6_85_offsets,
     to_EUC_JP_E6_85_infos
 };
 
-static const unsigned char
-to_EUC_JP_E6_86_offsets[64] = {
-     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_EUC_JP_E6_86_infos[22] = {
      o2(0xCD,0xAB), o2(0xD8,0xDC), o2(0xD8,0xE0), o2(0xC1,0xFE),
@@ -21838,17 +19840,10 @@
 };
 static const BYTE_LOOKUP
 to_EUC_JP_E6_86 = {
-    to_EUC_JP_E6_86_offsets,
+    to_SHIFT_JIS_E6_86_offsets,
     to_EUC_JP_E6_86_infos
 };
 
-static const unsigned char
-to_EUC_JP_E6_87_offsets[64] = {
-     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_EUC_JP_E6_87_infos[23] = {
      o2(0xD8,0xE9), o2(0xD8,0xEA), o2(0xBA,0xA9), o2(0xD8,0xE8),
@@ -21860,17 +19855,10 @@
 };
 static const BYTE_LOOKUP
 to_EUC_JP_E6_87 = {
-    to_EUC_JP_E6_87_offsets,
+    to_SHIFT_JIS_E6_87_offsets,
     to_EUC_JP_E6_87_infos
 };
 
-static const unsigned char
-to_EUC_JP_E6_88_offsets[64] = {
-      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_EUC_JP_E6_88_infos[31] = {
      o2(0xD8,0xF8), o2(0xD8,0xF9), o2(0xD8,0xFA), o2(0xCA,0xEA),
@@ -21884,17 +19872,10 @@
 };
 static const BYTE_LOOKUP
 to_EUC_JP_E6_88 = {
-    to_EUC_JP_E6_88_offsets,
+    to_SHIFT_JIS_E6_88_offsets,
     to_EUC_JP_E6_88_infos
 };
 
-static const unsigned char
-to_EUC_JP_E6_89_offsets[64] = {
-      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_EUC_JP_E6_89_infos[24] = {
      o2(0xBD,0xEA), o2(0xD9,0xA8), o2(0xC0,0xF0), o2(0xEE,0xBD),
@@ -21906,17 +19887,10 @@
 };
 static const BYTE_LOOKUP
 to_EUC_JP_E6_89 = {
-    to_EUC_JP_E6_89_offsets,
+    to_SHIFT_JIS_E6_89_offsets,
     to_EUC_JP_E6_89_infos
 };
 
-static const unsigned char
-to_EUC_JP_E6_8A_offsets[64] = {
-      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_EUC_JP_E6_8A_infos[27] = {
      o2(0xB5,0xBB), o2(0xD9,0xB0), o2(0xD9,0xB7), o2(0xBE,0xB6),
@@ -21929,17 +19903,10 @@
 };
 static const BYTE_LOOKUP
 to_EUC_JP_E6_8A = {
-    to_EUC_JP_E6_8A_offsets,
+    to_SHIFT_JIS_E6_8A_offsets,
     to_EUC_JP_E6_8A_infos
 };
 
-static const unsigned char
-to_EUC_JP_E6_8B_offsets[64] = {
-     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_EUC_JP_E6_8B_infos[35] = {
      o2(0xD9,0xC4), o2(0xC3,0xB4), o2(0xD9,0xBE), o2(0xD9,0xC5),
@@ -21954,17 +19921,10 @@
 };
 static const BYTE_LOOKUP
 to_EUC_JP_E6_8B = {
-    to_EUC_JP_E6_8B_offsets,
+    to_SHIFT_JIS_E6_8B_offsets,
     to_EUC_JP_E6_8B_infos
 };
 
-static const unsigned char
-to_EUC_JP_E6_8C_offsets[64] = {
-     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_EUC_JP_E6_8C_infos[18] = {
      o2(0xBB,0xFD), o2(0xD9,0xCC), o2(0xBB,0xD8), o2(0xD9,0xCD),
@@ -21975,17 +19935,10 @@
 };
 static const BYTE_LOOKUP
 to_EUC_JP_E6_8C = {
-    to_EUC_JP_E6_8C_offsets,
+    to_SHIFT_JIS_E6_8C_offsets,
     to_EUC_JP_E6_8C_infos
 };
 
-static const unsigned char
-to_EUC_JP_E6_8D_offsets[64] = {
-     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_EUC_JP_E6_8D_infos[19] = {
      o2(0xC2,0xAA), o2(0xBB,0xAB), o2(0xD9,0xD2), o2(0xD9,0xD4),
@@ -21996,17 +19949,10 @@
 };
 static const BYTE_LOOKUP
 to_EUC_JP_E6_8D = {
-    to_EUC_JP_E6_8D_offsets,
+    to_SHIFT_JIS_E6_8D_offsets,
     to_EUC_JP_E6_8D_infos
 };
 
-static const unsigned char
-to_EUC_JP_E6_8E_offsets[64] = {
-      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_EUC_JP_E6_8E_infos[29] = {
      o2(0xD9,0xD7), o2(0xC1,0xDD), o2(0xBC,0xF8), o2(0xD9,0xDC),
@@ -22020,17 +19966,10 @@
 };
 static const BYTE_LOOKUP
 to_EUC_JP_E6_8E = {
-    to_EUC_JP_E6_8E_offsets,
+    to_SHIFT_JIS_E6_8E_offsets,
     to_EUC_JP_E6_8E_infos
 };
 
-static const unsigned char
-to_EUC_JP_E6_8F_offsets[64] = {
-      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_EUC_JP_E6_8F_infos[20] = {
      o2(0xD9,0xE3), o2(0xC2,0xB7), o2(0xD9,0xE9), o2(0xD9,0xE4),
@@ -22041,17 +19980,10 @@
 };
 static const BYTE_LOOKUP
 to_EUC_JP_E6_8F = {
-    to_EUC_JP_E6_8F_offsets,
+    to_SHIFT_JIS_E6_8F_offsets,
     to_EUC_JP_E6_8F_infos
 };
 
-static const unsigned char
-to_EUC_JP_E6_90_offsets[64] = {
-     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_EUC_JP_E6_90_infos[16] = {
      o2(0xD9,0xEC), o2(0xC2,0xBB), o2(0xD9,0xF3), o2(0xD9,0xED),
@@ -22061,17 +19993,10 @@
 };
 static const BYTE_LOOKUP
 to_EUC_JP_E6_90 = {
-    to_EUC_JP_E6_90_offsets,
+    to_SHIFT_JIS_E6_90_offsets,
     to_EUC_JP_E6_90_infos
 };
 
-static const unsigned char
-to_EUC_JP_E6_91_offsets[64] = {
-     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_EUC_JP_E6_91_infos[11] = {
      o2(0xC0,0xDD), o2(0xD9,0xF7), o2(0xC5,0xA6), o2(0xFA,0xB0),
@@ -22080,17 +20005,10 @@
 };
 static const BYTE_LOOKUP
 to_EUC_JP_E6_91 = {
-    to_EUC_JP_E6_91_offsets,
+    to_SHIFT_JIS_E6_91_offsets,
     to_EUC_JP_E6_91_infos
 };
 
-static const unsigned char
-to_EUC_JP_E6_92_offsets[64] = {
-     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_EUC_JP_E6_92_infos[20] = {
      o2(0xB7,0xE2), o2(0xD9,0xFD), o2(0xBB,0xB5), o2(0xD9,0xFA),
@@ -22101,17 +20019,10 @@
 };
 static const BYTE_LOOKUP
 to_EUC_JP_E6_92 = {
-    to_EUC_JP_E6_92_offsets,
+    to_SHIFT_JIS_E6_92_offsets,
     to_EUC_JP_E6_92_infos
 };
 
-static const unsigned char
-to_EUC_JP_E6_93_offsets[64] = {
-     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_EUC_JP_E6_93_infos[26] = {
      o2(0xCD,0xCA), o2(0xDA,0xA7), o2(0xDA,0xA3), o2(0xDA,0xA4),
@@ -22124,17 +20035,10 @@
 };
 static const BYTE_LOOKUP
 to_EUC_JP_E6_93 = {
-    to_EUC_JP_E6_93_offsets,
+    to_SHIFT_JIS_E6_93_offsets,
     to_EUC_JP_E6_93_infos
 };
 
-static const unsigned char
-to_EUC_JP_E6_94_offsets[64] = {
-      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_EUC_JP_E6_94_infos[21] = {
      o2(0xDA,0xB5), o2(0xDA,0xB9), o2(0xDA,0xB7), o2(0xDA,0xB8),
@@ -22146,17 +20050,10 @@
 };
 static const BYTE_LOOKUP
 to_EUC_JP_E6_94 = {
-    to_EUC_JP_E6_94_offsets,
+    to_SHIFT_JIS_E6_94_offsets,
     to_EUC_JP_E6_94_infos
 };
 
-static const unsigned char
-to_EUC_JP_E6_95_offsets[64] = {
-     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_EUC_JP_E6_95_infos[24] = {
      o2(0xB8,0xCE), o2(0xDA,0xC3), o2(0xDA,0xC6), o2(0xFA,0xB3),
@@ -22168,17 +20065,10 @@
 };
 static const BYTE_LOOKUP
 to_EUC_JP_E6_95 = {
-    to_EUC_JP_E6_95_offsets,
+    to_SHIFT_JIS_E6_95_offsets,
     to_EUC_JP_E6_95_infos
 };
 
-static const unsigned char
-to_EUC_JP_E6_96_offsets[64] = {
-     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_EUC_JP_E6_96_infos[28] = {
      o2(0xDA,0xCC), o2(0xDA,0xCD), o2(0xCA,0xB8), o2(0xD5,0xDD),
@@ -22191,17 +20081,10 @@
 };
 static const BYTE_LOOKUP
 to_EUC_JP_E6_96 = {
-    to_EUC_JP_E6_96_offsets,
+    to_SHIFT_JIS_E6_96_offsets,
     to_EUC_JP_E6_96_infos
 };
 
-static const unsigned char
-to_EUC_JP_E6_97_offsets[64] = {
-     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_EUC_JP_E6_97_infos[26] = {
      o2(0xDA,0xD5), o2(0xDA,0xD3), o2(0xDA,0xD6), o2(0xCE,0xB9),
@@ -22214,17 +20097,10 @@
 };
 static const BYTE_LOOKUP
 to_EUC_JP_E6_97 = {
-    to_EUC_JP_E6_97_offsets,
+    to_SHIFT_JIS_E6_97_offsets,
     to_EUC_JP_E6_97_infos
 };
 
-static const unsigned char
-to_EUC_JP_E6_98_offsets[64] = {
-      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_EUC_JP_E6_98_infos[32] = {
      o2(0xFA,0xB4), o2(0xB9,0xB7), o2(0xDA,0xE0), o2(0xBA,0xAB),
@@ -22238,17 +20114,10 @@
 };
 static const BYTE_LOOKUP
 to_EUC_JP_E6_98 = {
-    to_EUC_JP_E6_98_offsets,
+    to_SHIFT_JIS_E6_98_offsets,
     to_EUC_JP_E6_98_infos
 };
 
-static const unsigned char
-to_EUC_JP_E6_99_offsets[64] = {
-     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_EUC_JP_E6_99_infos[28] = {
      o2(0xDA,0xEA), o2(0xBB,0xFE), o2(0xB9,0xB8), o2(0xDA,0xE8),
@@ -22261,17 +20130,10 @@
 };
 static const BYTE_LOOKUP
 to_EUC_JP_E6_99 = {
-    to_EUC_JP_E6_99_offsets,
+    to_SHIFT_JIS_E6_99_offsets,
     to_EUC_JP_E6_99_infos
 };
 
-static const unsigned char
-to_EUC_JP_E6_9A_offsets[64] = {
-     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_EUC_JP_E6_9A_infos[26] = {
      o2(0xB6,0xC7), o2(0xDA,0xF3), o2(0xDA,0xF7), o2(0xB2,0xCB),
@@ -22284,17 +20146,10 @@
 };
 static const BYTE_LOOKUP
 to_EUC_JP_E6_9A = {
-    to_EUC_JP_E6_9A_offsets,
+    to_SHIFT_JIS_E6_9A_offsets,
     to_EUC_JP_E6_9A_infos
 };
 
-static const unsigned char
-to_EUC_JP_E6_9B_offsets[64] = {
-     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_EUC_JP_E6_9B_infos[27] = {
      o2(0xDA,0xFA), o2(0xDB,0xA1), o2(0xC6,0xDE), o2(0xDA,0xFC),
@@ -22307,17 +20162,10 @@
 };
 static const BYTE_LOOKUP
 to_EUC_JP_E6_9B = {
-    to_EUC_JP_E6_9B_offsets,
+    to_SHIFT_JIS_E6_9B_offsets,
     to_EUC_JP_E6_9B_infos
 };
 
-static const unsigned char
-to_EUC_JP_E6_9C_offsets[64] = {
-      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_EUC_JP_E6_9C_infos[33] = {
      o2(0xBA,0xC7), o2(0xD0,0xF2), o2(0xB7,0xEE), o2(0xCD,0xAD),
@@ -22332,17 +20180,10 @@
 };
 static const BYTE_LOOKUP
 to_EUC_JP_E6_9C = {
-    to_EUC_JP_E6_9C_offsets,
+    to_SHIFT_JIS_E6_9C_offsets,
     to_EUC_JP_E6_9C_infos
 };
 
-static const unsigned char
-to_EUC_JP_E6_9D_offsets[64] = {
-     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_EUC_JP_E6_9D_infos[33] = {
      o2(0xDB,0xB5), o2(0xDB,0xB8), o2(0xBF,0xF9), o2(0xCD,0xFB),
@@ -22357,17 +20198,10 @@
 };
 static const BYTE_LOOKUP
 to_EUC_JP_E6_9D = {
-    to_EUC_JP_E6_9D_offsets,
+    to_SHIFT_JIS_E6_9D_offsets,
     to_EUC_JP_E6_9D_infos
 };
 
-static const unsigned char
-to_EUC_JP_E6_9E_offsets[64] = {
-     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_EUC_JP_E6_9E_infos[25] = {
      o2(0xDB,0xC7), o2(0xC8,0xFA), o2(0xDB,0xBE), o2(0xDB,0xC4),
@@ -22380,17 +20214,10 @@
 };
 static const BYTE_LOOKUP
 to_EUC_JP_E6_9E = {
-    to_EUC_JP_E6_9E_offsets,
+    to_SHIFT_JIS_E6_9E_offsets,
     to_EUC_JP_E6_9E_infos
 };
 
-static const unsigned char
-to_EUC_JP_E6_9F_offsets[64] = {
-      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_EUC_JP_E6_9F_infos[30] = {
      o2(0xFA,0xCA), o2(0xC2,0xC8), o2(0xCA,0xC1), o2(0xDB,0xD6),
@@ -22404,17 +20231,10 @@
 };
 static const BYTE_LOOKUP
 to_EUC_JP_E6_9F = {
-    to_EUC_JP_E6_9F_offsets,
+    to_SHIFT_JIS_E6_9F_offsets,
     to_EUC_JP_E6_9F_infos
 };
 
-static const unsigned char
-to_EUC_JP_E6_A0_offsets[64] = {
-     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_EUC_JP_E6_A0_infos[20] = {
      o2(0xFA,0xCB), o2(0xC4,0xCE), o2(0xC6,0xCA), o2(0xB1,0xC9),
@@ -22425,17 +20245,10 @@
 };
 static const BYTE_LOOKUP
 to_EUC_JP_E6_A0 = {
-    to_EUC_JP_E6_A0_offsets,
+    to_SHIFT_JIS_E6_A0_offsets,
     to_EUC_JP_E6_A0_infos
 };
 
-static const unsigned char
-to_EUC_JP_E6_A1_offsets[64] = {
-      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_EUC_JP_E6_A1_infos[26] = {
      o2(0xDB,0xDC), o2(0xB7,0xE5), o2(0xB7,0xCB), o2(0xC5,0xED),
@@ -22448,17 +20261,10 @@
 };
 static const BYTE_LOOKUP
 to_EUC_JP_E6_A1 = {
-    to_EUC_JP_E6_A1_offsets,
+    to_SHIFT_JIS_E6_A1_offsets,
     to_EUC_JP_E6_A1_infos
 };
 
-static const unsigned char
-to_EUC_JP_E6_A2_offsets[64] = {
-     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_EUC_JP_E6_A2_infos[27] = {
      o2(0xCE,0xC2), o2(0xDB,0xEC), o2(0xC7,0xDF), o2(0xDB,0xF4),
@@ -22471,17 +20277,10 @@
 };
 static const BYTE_LOOKUP
 to_EUC_JP_E6_A2 = {
-    to_EUC_JP_E6_A2_offsets,
+    to_SHIFT_JIS_E6_A2_offsets,
     to_EUC_JP_E6_A2_infos
 };
 
-static const unsigned char
-to_EUC_JP_E6_A3_offsets[64] = {
-     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_EUC_JP_E6_A3_infos[25] = {
      o2(0xB4,0xFE), o2(0xDC,0xB2), o2(0xF9,0xA9), o2(0xCC,0xC9),
@@ -22494,17 +20293,10 @@
 };
 static const BYTE_LOOKUP
 to_EUC_JP_E6_A3 = {
-    to_EUC_JP_E6_A3_offsets,
+    to_SHIFT_JIS_E6_A3_offsets,
     to_EUC_JP_E6_A3_infos
 };
 
-static const unsigned char
-to_EUC_JP_E6_A4_offsets[64] = {
-      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_EUC_JP_E6_A4_infos[29] = {
      o2(0xCF,0xD0), o2(0xDB,0xF6), o2(0xDC,0xA6), o2(0xB0,0xD8),
@@ -22518,17 +20310,10 @@
 };
 static const BYTE_LOOKUP
 to_EUC_JP_E6_A4 = {
-    to_EUC_JP_E6_A4_offsets,
+    to_SHIFT_JIS_E6_A4_offsets,
     to_EUC_JP_E6_A4_infos
 };
 
-static const unsigned char
-to_EUC_JP_E6_A5_offsets[64] = {
-     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_EUC_JP_E6_A5_infos[28] = {
      o2(0xCD,0xCC), o2(0xC9,0xF6), o2(0xDC,0xB8), o2(0xC2,0xCA),
@@ -22541,17 +20326,10 @@
 };
 static const BYTE_LOOKUP
 to_EUC_JP_E6_A5 = {
-    to_EUC_JP_E6_A5_offsets,
+    to_SHIFT_JIS_E6_A5_offsets,
     to_EUC_JP_E6_A5_infos
 };
 
-static const unsigned char
-to_EUC_JP_E6_A6_offsets[64] = {
-     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_EUC_JP_E6_A6_infos[20] = {
      o2(0xDC,0xC3), o2(0xB3,0xB5), o2(0xBA,0xE7), o2(0xB1,0xDD),
@@ -22562,17 +20340,10 @@
 };
 static const BYTE_LOOKUP
 to_EUC_JP_E6_A6 = {
-    to_EUC_JP_E6_A6_offsets,
+    to_SHIFT_JIS_E6_A6_offsets,
     to_EUC_JP_E6_A6_infos
 };
 
-static const unsigned char
-to_EUC_JP_E6_A7_offsets[64] = {
-     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_EUC_JP_E6_A7_infos[25] = {
      o2(0xDC,0xC9), o2(0xDC,0xD1), o2(0xF4,0xA2), o2(0xDC,0xCE),
@@ -22585,17 +20356,10 @@
 };
 static const BYTE_LOOKUP
 to_EUC_JP_E6_A7 = {
-    to_EUC_JP_E6_A7_offsets,
+    to_SHIFT_JIS_E6_A7_offsets,
     to_EUC_JP_E6_A7_infos
 };
 
-static const unsigned char
-to_EUC_JP_E6_A8_offsets[64] = {
-     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_EUC_JP_E6_A8_infos[28] = {
      o2(0xDC,0xDB), o2(0xDC,0xE2), o2(0xDC,0xE8), o2(0xC8,0xF5),
@@ -22608,17 +20372,10 @@
 };
 static const BYTE_LOOKUP
 to_EUC_JP_E6_A8 = {
-    to_EUC_JP_E6_A8_offsets,
+    to_SHIFT_JIS_E6_A8_offsets,
     to_EUC_JP_E6_A8_infos
 };
 
-static const unsigned char
-to_EUC_JP_E6_A9_offsets[64] = {
-     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_EUC_JP_E6_A9_infos[18] = {
      o2(0xDC,0xED), o2(0xFA,0xD5), o2(0xDC,0xF2), o2(0xDC,0xF6),
@@ -22629,17 +20386,10 @@
 };
 static const BYTE_LOOKUP
 to_EUC_JP_E6_A9 = {
-    to_EUC_JP_E6_A9_offsets,
+    to_SHIFT_JIS_E6_A9_offsets,
     to_EUC_JP_E6_A9_infos
 };
 
-static const unsigned char
-to_EUC_JP_E6_AA_offsets[64] = {
-      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_EUC_JP_E6_AA_infos[17] = {
      o2(0xC3,0xC9), o2(0xDC,0xFC), o2(0xDC,0xFA), o2(0xB8,0xE9),
@@ -22650,17 +20400,10 @@
 };
 static const BYTE_LOOKUP
 to_EUC_JP_E6_AA = {
-    to_EUC_JP_E6_AA_offsets,
+    to_SHIFT_JIS_E6_AA_offsets,
     to_EUC_JP_E6_AA_infos
 };
 
-static const unsigned char
-to_EUC_JP_E6_AB_offsets[64] = {
-     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_EUC_JP_E6_AB_infos[16] = {
      o2(0xDC,0xEA), o2(0xDD,0xA5), o2(0xDD,0xA4), o2(0xDD,0xAA),
@@ -22670,17 +20413,10 @@
 };
 static const BYTE_LOOKUP
 to_EUC_JP_E6_AB = {
-    to_EUC_JP_E6_AB_offsets,
+    to_SHIFT_JIS_E6_AB_offsets,
     to_EUC_JP_E6_AB_infos
 };
 
-static const unsigned char
-to_EUC_JP_E6_AC_offsets[64] = {
-     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_EUC_JP_E6_AC_infos[19] = {
      o2(0xCD,0xF3), o2(0xDD,0xB0), o2(0xDC,0xDE), o2(0xDD,0xB3),
@@ -22691,17 +20427,10 @@
 };
 static const BYTE_LOOKUP
 to_EUC_JP_E6_AC = {
-    to_EUC_JP_E6_AC_offsets,
+    to_SHIFT_JIS_E6_AC_offsets,
     to_EUC_JP_E6_AC_infos
 };
 
-static const unsigned char
-to_EUC_JP_E6_AD_offsets[64] = {
-     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_EUC_JP_E6_AD_infos[26] = {
      o2(0xDD,0xBD), o2(0xDD,0xBC), o2(0xDD,0xBE), o2(0xB2,0xCE),
@@ -22714,17 +20443,10 @@
 };
 static const BYTE_LOOKUP
 to_EUC_JP_E6_AD = {
-    to_EUC_JP_E6_AD_offsets,
+    to_SHIFT_JIS_E6_AD_offsets,
     to_EUC_JP_E6_AD_infos
 };
 
-static const unsigned char
-to_EUC_JP_E6_AE_offsets[64] = {
-      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_EUC_JP_E6_AE_infos[27] = {
      o2(0xDD,0xC8), o2(0xDD,0xCA), o2(0xDD,0xC9), o2(0xCB,0xD8),
@@ -22737,17 +20459,10 @@
 };
 static const BYTE_LOOKUP
 to_EUC_JP_E6_AE = {
-    to_EUC_JP_E6_AE_offsets,
+    to_SHIFT_JIS_E6_AE_offsets,
     to_EUC_JP_E6_AE_infos
 };
 
-static const unsigned char
-to_EUC_JP_E6_AF_offsets[64] = {
-      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_EUC_JP_E6_AF_infos[18] = {
      o2(0xD4,0xCC), o2(0xB5,0xA3), o2(0xDD,0xD8), o2(0xDD,0xD9),
@@ -22758,17 +20473,10 @@
 };
 static const BYTE_LOOKUP
 to_EUC_JP_E6_AF = {
-    to_EUC_JP_E6_AF_offsets,
+    to_SHIFT_JIS_E6_AF_offsets,
     to_EUC_JP_E6_AF_infos
 };
 
-static const unsigned char
-to_EUC_JP_E6_B0_offsets[64] = {
-     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_EUC_JP_E6_B0_infos[15] = {
      o2(0xDD,0xE1), o2(0xBB,0xE1), o2(0xCC,0xB1), o2(0xDD,0xE2),
@@ -22778,17 +20486,10 @@
 };
 static const BYTE_LOOKUP
 to_EUC_JP_E6_B0 = {
-    to_EUC_JP_E6_B0_offsets,
+    to_SHIFT_JIS_E6_B0_offsets,
     to_EUC_JP_E6_B0_infos
 };
 
-static const unsigned char
-to_EUC_JP_E6_B1_offsets[64] = {
-      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_EUC_JP_E6_B1_infos[24] = {
      o2(0xC4,0xF5), o2(0xBD,0xC1), o2(0xB5,0xE1), o2(0xC8,0xC6),
@@ -22800,17 +20501,10 @@
 };
 static const BYTE_LOOKUP
 to_EUC_JP_E6_B1 = {
-    to_EUC_JP_E6_B1_offsets,
+    to_SHIFT_JIS_E6_B1_offsets,
     to_EUC_JP_E6_B1_infos
 };
 
-static const unsigned char
-to_EUC_JP_E6_B2_offsets[64] = {
-     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_EUC_JP_E6_B2_infos[29] = {
      o2(0xDD,0xEE), o2(0xDD,0xEB), o2(0xCD,0xE0), o2(0xFA,0xDD),
@@ -22824,17 +20518,10 @@
 };
 static const BYTE_LOOKUP
 to_EUC_JP_E6_B2 = {
-    to_EUC_JP_E6_B2_offsets,
+    to_SHIFT_JIS_E6_B2_offsets,
     to_EUC_JP_E6_B2_infos
 };
 
-static const unsigned char
-to_EUC_JP_E6_B3_offsets[64] = {
-     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_EUC_JP_E6_B3_infos[24] = {
      o2(0xB6,0xB7), o2(0xDD,0xF5), o2(0xDD,0xFA), o2(0xC0,0xF4),
@@ -22846,17 +20533,10 @@
 };
 static const BYTE_LOOKUP
 to_EUC_JP_E6_B3 = {
-    to_EUC_JP_E6_B3_offsets,
+    to_SHIFT_JIS_E6_B3_offsets,
     to_EUC_JP_E6_B3_infos
 };
 
-static const unsigned char
-to_EUC_JP_E6_B4_offsets[64] = {
-     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_EUC_JP_E6_B4_infos[22] = {
      o2(0xFA,0xE0), o2(0xCD,0xCE), o2(0xDE,0xB0), o2(0xDE,0xAF),
@@ -22868,17 +20548,10 @@
 };
 static const BYTE_LOOKUP
 to_EUC_JP_E6_B4 = {
-    to_EUC_JP_E6_B4_offsets,
+    to_SHIFT_JIS_E6_B4_offsets,
     to_EUC_JP_E6_B4_infos
 };
 
-static const unsigned char
-to_EUC_JP_E6_B5_offsets[64] = {
-     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_EUC_JP_E6_B5_infos[19] = {
      o2(0xCE,0xAE), o2(0xBE,0xF4), o2(0xC0,0xF5), o2(0xDE,0xB6),
@@ -22889,17 +20562,10 @@
 };
 static const BYTE_LOOKUP
 to_EUC_JP_E6_B5 = {
-    to_EUC_JP_E6_B5_offsets,
+    to_SHIFT_JIS_E6_B5_offsets,
     to_EUC_JP_E6_B5_infos
 };
 
-static const unsigned char
-to_EUC_JP_E6_B6_offsets[64] = {
-     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_EUC_JP_E6_B6_infos[18] = {
      o2(0xDE,0xBA), o2(0xFA,0xE1), o2(0xBE,0xC3), o2(0xCD,0xB0),
@@ -22910,17 +20576,10 @@
 };
 static const BYTE_LOOKUP
 to_EUC_JP_E6_B6 = {
-    to_EUC_JP_E6_B6_offsets,
+    to_SHIFT_JIS_E6_B6_offsets,
     to_EUC_JP_E6_B6_infos
 };
 
-static const unsigned char
-to_EUC_JP_E6_B7_offsets[64] = {
-      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_EUC_JP_E6_B7_infos[32] = {
      o2(0xCD,0xE4), o2(0xDE,0xC8), o2(0xDE,0xC2), o2(0xDE,0xBF),
@@ -22934,17 +20593,10 @@
 };
 static const BYTE_LOOKUP
 to_EUC_JP_E6_B7 = {
-    to_EUC_JP_E6_B7_offsets,
+    to_SHIFT_JIS_E6_B7_offsets,
     to_EUC_JP_E6_B7_infos
 };
 
-static const unsigned char
-to_EUC_JP_E6_B8_offsets[64] = {
-     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_EUC_JP_E6_B8_infos[32] = {
      o2(0xC0,0xB6), o2(0xB3,0xE9), o2(0xBA,0xD1), o2(0xBE,0xC4),
@@ -22958,17 +20610,10 @@
 };
 static const BYTE_LOOKUP
 to_EUC_JP_E6_B8 = {
-    to_EUC_JP_E6_B8_offsets,
+    to_SHIFT_JIS_E6_B8_offsets,
     to_EUC_JP_E6_B8_infos
 };
 
-static const unsigned char
-to_EUC_JP_E6_B9_offsets[64] = {
-     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_EUC_JP_E6_B9_infos[18] = {
      o2(0xDE,0xDC), o2(0xCC,0xAB), o2(0xDE,0xDA), o2(0xDE,0xDE),
@@ -22979,17 +20624,10 @@
 };
 static const BYTE_LOOKUP
 to_EUC_JP_E6_B9 = {
-    to_EUC_JP_E6_B9_offsets,
+    to_SHIFT_JIS_E6_B9_offsets,
     to_EUC_JP_E6_B9_infos
 };
 
-static const unsigned char
-to_EUC_JP_E6_BA_offsets[64] = {
-      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_EUC_JP_E6_BA_infos[21] = {
      o2(0xCB,0xFE), o2(0xDE,0xE3), o2(0xC8,0xAE), o2(0xDE,0xEF),
@@ -23001,17 +20639,10 @@
 };
 static const BYTE_LOOKUP
 to_EUC_JP_E6_BA = {
-    to_EUC_JP_E6_BA_offsets,
+    to_SHIFT_JIS_E6_BA_offsets,
     to_EUC_JP_E6_BA_infos
 };
 
-static const unsigned char
-to_EUC_JP_E6_BB_offsets[64] = {
-     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_EUC_JP_E6_BB_infos[21] = {
      o2(0xDE,0xF1), o2(0xDE,0xEB), o2(0xCC,0xC7), o2(0xDE,0xE6),
@@ -23023,17 +20654,10 @@
 };
 static const BYTE_LOOKUP
 to_EUC_JP_E6_BB = {
-    to_EUC_JP_E6_BB_offsets,
+    to_SHIFT_JIS_E6_BB_offsets,
     to_EUC_JP_E6_BB_infos
 };
 
-static const unsigned char
-to_EUC_JP_E6_BC_offsets[64] = {
-     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_EUC_JP_E6_BC_infos[20] = {
      o2(0xB5,0xF9), o2(0xC9,0xBA), o2(0xBC,0xBF), o2(0xB9,0xF7),
@@ -23044,17 +20668,10 @@
 };
 static const BYTE_LOOKUP
 to_EUC_JP_E6_BC = {
-    to_EUC_JP_E6_BC_offsets,
+    to_SHIFT_JIS_E6_BC_offsets,
     to_EUC_JP_E6_BC_infos
 };
 
-static const unsigned char
-to_EUC_JP_E6_BD_offsets[64] = {
-     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_EUC_JP_E6_BD_infos[18] = {
      o2(0xDE,0xF3), o2(0xB4,0xC3), o2(0xB7,0xE9), o2(0xDF,0xAF),
@@ -23065,17 +20682,10 @@
 };
 static const BYTE_LOOKUP
 to_EUC_JP_E6_BD = {
-    to_EUC_JP_E6_BD_offsets,
+    to_SHIFT_JIS_E6_BD_offsets,
     to_EUC_JP_E6_BD_infos
 };
 
-static const unsigned char
-to_EUC_JP_E6_BE_offsets[64] = {
-      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_EUC_JP_E6_BE_infos[18] = {
      o2(0xDF,0xA8), o2(0xDF,0xA7), o2(0xDF,0xAD), o2(0xC0,0xA1),
@@ -23086,17 +20696,10 @@
 };
 static const BYTE_LOOKUP
 to_EUC_JP_E6_BE = {
-    to_EUC_JP_E6_BE_offsets,
+    to_SHIFT_JIS_E6_BE_offsets,
     to_EUC_JP_E6_BE_infos
 };
 
-static const unsigned char
-to_EUC_JP_E6_BF_offsets[64] = {
-      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_EUC_JP_E6_BF_infos[24] = {
      o2(0xB7,0xE3), o2(0xC2,0xF9), o2(0xDF,0xB2), o2(0xC7,0xBB),
@@ -23108,17 +20711,10 @@
 };
 static const BYTE_LOOKUP
 to_EUC_JP_E6_BF = {
-    to_EUC_JP_E6_BF_offsets,
+    to_SHIFT_JIS_E6_BF_offsets,
     to_EUC_JP_E6_BF_infos
 };
 
-static const unsigned char
-to_EUC_JP_E6_offsets[64] = {
-      0,  1,  2,  3,  4,  5,  6,  7,    8,  9, 10, 11, 12, 13, 14, 15,
-     16, 17, 18, 19, 20, 21, 22, 23,   24, 25, 26, 27, 28, 29, 30, 31,
-     32, 33, 34, 35, 36, 37, 38, 39,   40, 41, 42, 43, 44, 45, 46, 47,
-     48, 49, 50, 51, 52, 53, 54, 55,   56, 57, 58, 59, 60, 61, 62, 63,
-};
 static const struct byte_lookup* const
 to_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,
@@ -23140,17 +20736,10 @@
 };
 static const BYTE_LOOKUP
 to_EUC_JP_E6 = {
-    to_EUC_JP_E6_offsets,
+    to_SHIFT_JIS_E5_offsets,
     to_EUC_JP_E6_infos
 };
 
-static const unsigned char
-to_EUC_JP_E7_80_offsets[64] = {
-     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_EUC_JP_E7_80_infos[22] = {
      o2(0xDF,0xC7), o2(0xFA,0xF1), o2(0xFA,0xF2), o2(0xDF,0xC3),
@@ -23162,17 +20751,10 @@
 };
 static const BYTE_LOOKUP
 to_EUC_JP_E7_80 = {
-    to_EUC_JP_E7_80_offsets,
+    to_SHIFT_JIS_E7_80_offsets,
     to_EUC_JP_E7_80_infos
 };
 
-static const unsigned char
-to_EUC_JP_E7_81_offsets[64] = {
-     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_EUC_JP_E7_81_infos[11] = {
      o2(0xDE,0xF5), o2(0xDF,0xD3), o2(0xC6,0xE7), o2(0xDF,0xD4),
@@ -23181,17 +20763,10 @@
 };
 static const BYTE_LOOKUP
 to_EUC_JP_E7_81 = {
-    to_EUC_JP_E7_81_offsets,
+    to_SHIFT_JIS_E7_81_offsets,
     to_EUC_JP_E7_81_infos
 };
 
-static const unsigned char
-to_EUC_JP_E7_82_offsets[64] = {
-     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_EUC_JP_E7_82_infos[17] = {
      o2(0xFA,0xF4), o2(0xCF,0xA7), o2(0xBF,0xE6), o2(0xB1,0xEA),
@@ -23202,17 +20777,10 @@
 };
 static const BYTE_LOOKUP
 to_EUC_JP_E7_82 = {
-    to_EUC_JP_E7_82_offsets,
+    to_SHIFT_JIS_E7_82_offsets,
     to_EUC_JP_E7_82_infos
 };
 
-static const unsigned char
-to_EUC_JP_E7_83_offsets[64] = {
-      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_EUC_JP_E7_83_infos[10] = {
      o2(0xCE,0xF5), o2(0xDF,0xDE), o2(0xB1,0xA8), o2(0xDF,0xE0),
@@ -23221,17 +20789,10 @@
 };
 static const BYTE_LOOKUP
 to_EUC_JP_E7_83 = {
-    to_EUC_JP_E7_83_offsets,
+    to_SHIFT_JIS_E7_83_offsets,
     to_EUC_JP_E7_83_infos
 };
 
-static const unsigned char
-to_EUC_JP_E7_84_offsets[64] = {
-     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_EUC_JP_E7_84_infos[12] = {
      o2(0xFA,0xF7), o2(0xDF,0xE1), o2(0xFA,0xF6), o2(0xB1,0xEB),
@@ -23240,17 +20801,10 @@
 };
 static const BYTE_LOOKUP
 to_EUC_JP_E7_84 = {
-    to_EUC_JP_E7_84_offsets,
+    to_SHIFT_JIS_E7_84_offsets,
     to_EUC_JP_E7_84_infos
 };
 
-static const unsigned char
-to_EUC_JP_E7_85_offsets[64] = {
-     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_EUC_JP_E7_85_infos[19] = {
      o2(0xFA,0xF9), o2(0xFA,0xFA), o2(0xCE,0xFB), o2(0xDF,0xEA),
@@ -23261,17 +20815,10 @@
 };
 static const BYTE_LOOKUP
 to_EUC_JP_E7_85 = {
-    to_EUC_JP_E7_85_offsets,
+    to_SHIFT_JIS_E7_85_offsets,
     to_EUC_JP_E7_85_infos
 };
 
-static const unsigned char
-to_EUC_JP_E7_86_offsets[64] = {
-     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_EUC_JP_E7_86_infos[14] = {
      o2(0xDF,0xEF), o2(0xDF,0xE7), o2(0xB7,0xA7), o2(0xDF,0xED),
@@ -23281,17 +20828,10 @@
 };
 static const BYTE_LOOKUP
 to_EUC_JP_E7_86 = {
-    to_EUC_JP_E7_86_offsets,
+    to_SHIFT_JIS_E7_86_offsets,
     to_EUC_JP_E7_86_infos
 };
 
-static const unsigned char
-to_EUC_JP_E7_87_offsets[64] = {
-     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_EUC_JP_E7_87_infos[25] = {
      o2(0xFA,0xFC), o2(0xC7,0xB3), o2(0xC5,0xF5), o2(0xDF,0xF7),
@@ -23304,17 +20844,10 @@
 };
 static const BYTE_LOOKUP
 to_EUC_JP_E7_87 = {
-    to_EUC_JP_E7_87_offsets,
+    to_SHIFT_JIS_E7_87_offsets,
     to_EUC_JP_E7_87_infos
 };
 
-static const unsigned char
-to_EUC_JP_E7_88_offsets[64] = {
-     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_EUC_JP_E7_88_infos[19] = {
      o2(0xC7,0xFA), o2(0xE0,0xA3), o2(0xE0,0xA4), o2(0xE0,0xA5),
@@ -23325,17 +20858,10 @@
 };
 static const BYTE_LOOKUP
 to_EUC_JP_E7_88 = {
-    to_EUC_JP_E7_88_offsets,
+    to_SHIFT_JIS_E7_88_offsets,
     to_EUC_JP_E7_88_infos
 };
 
-static const unsigned char
-to_EUC_JP_E7_89_offsets[64] = {
-      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_EUC_JP_E7_89_infos[22] = {
      o2(0xE0,0xAE), o2(0xE0,0xAF), o2(0xCA,0xD2), o2(0xC8,0xC7),
@@ -23347,17 +20873,10 @@
 };
 static const BYTE_LOOKUP
 to_EUC_JP_E7_89 = {
-    to_EUC_JP_E7_89_offsets,
+    to_SHIFT_JIS_E7_89_offsets,
     to_EUC_JP_E7_89_infos
 };
 
-static const unsigned char
-to_EUC_JP_E7_8A_offsets[64] = {
-      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_EUC_JP_E7_8A_infos[17] = {
      o2(0xBA,0xD4), o2(0xE0,0xB5), o2(0xE0,0xB4), o2(0xE0,0xB6),
@@ -23368,17 +20887,10 @@
 };
 static const BYTE_LOOKUP
 to_EUC_JP_E7_8A = {
-    to_EUC_JP_E7_8A_offsets,
+    to_SHIFT_JIS_E7_8A_offsets,
     to_EUC_JP_E7_8A_infos
 };
 
-static const unsigned char
-to_EUC_JP_E7_8B_offsets[64] = {
-     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_EUC_JP_E7_8B_infos[22] = {
      o2(0xB6,0xB8), o2(0xE0,0xBD), o2(0xE0,0xBF), o2(0xE0,0xBE),
@@ -23390,17 +20902,10 @@
 };
 static const BYTE_LOOKUP
 to_EUC_JP_E7_8B = {
-    to_EUC_JP_E7_8B_offsets,
+    to_SHIFT_JIS_E7_8B_offsets,
     to_EUC_JP_E7_8B_infos
 };
 
-static const unsigned char
-to_EUC_JP_E7_8C_offsets[64] = {
-     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_EUC_JP_E7_8C_infos[20] = {
      o2(0xE0,0xC9), o2(0xE0,0xCB), o2(0xE0,0xC8), o2(0xCC,0xD4),
@@ -23411,17 +20916,10 @@
 };
 static const BYTE_LOOKUP
 to_EUC_JP_E7_8C = {
-    to_EUC_JP_E7_8C_offsets,
+    to_SHIFT_JIS_E7_8C_offsets,
     to_EUC_JP_E7_8C_infos
 };
 
-static const unsigned char
-to_EUC_JP_E7_8D_offsets[64] = {
-     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_EUC_JP_E7_8D_infos[16] = {
      o2(0xB9,0xF6), o2(0xBB,0xE2), o2(0xE0,0xD2), o2(0xE0,0xD3),
@@ -23431,17 +20929,10 @@
 };
 static const BYTE_LOOKUP
 to_EUC_JP_E7_8D = {
-    to_EUC_JP_E7_8D_offsets,
+    to_SHIFT_JIS_E7_8D_offsets,
     to_EUC_JP_E7_8D_infos
 };
 
-static const unsigned char
-to_EUC_JP_E7_8E_offsets[64] = {
-     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_EUC_JP_E7_8E_infos[11] = {
      o2(0xB8,0xBC), o2(0xCE,0xA8), o2(0xB6,0xCC), o2(0xB2,0xA6),
@@ -23450,17 +20941,10 @@
 };
 static const BYTE_LOOKUP
 to_EUC_JP_E7_8E = {
-    to_EUC_JP_E7_8E_offsets,
+    to_SHIFT_JIS_E7_8E_offsets,
     to_EUC_JP_E7_8E_infos
 };
 
-static const unsigned char
-to_EUC_JP_E7_8F_offsets[64] = {
-      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_EUC_JP_E7_8F_infos[21] = {
      o2(0xE0,0xE1), o2(0xB2,0xD1), o2(0xE0,0xDD), o2(0xFB,0xA6),
@@ -23472,17 +20956,10 @@
 };
 static const BYTE_LOOKUP
 to_EUC_JP_E7_8F = {
-    to_EUC_JP_E7_8F_offsets,
+    to_SHIFT_JIS_E7_8F_offsets,
     to_EUC_JP_E7_8F_infos
 };
 
-static const unsigned char
-to_EUC_JP_E7_90_offsets[64] = {
-     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_EUC_JP_E7_90_infos[19] = {
      o2(0xB5,0xE5), o2(0xE0,0xE6), o2(0xCD,0xFD), o2(0xFB,0xAA),
@@ -23493,17 +20970,10 @@
 };
 static const BYTE_LOOKUP
 to_EUC_JP_E7_90 = {
-    to_EUC_JP_E7_90_offsets,
+    to_SHIFT_JIS_E7_90_offsets,
     to_EUC_JP_E7_90_infos
 };
 
-static const unsigned char
-to_EUC_JP_E7_91_offsets[64] = {
-     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_EUC_JP_E7_91_infos[20] = {
      o2(0xE0,0xF0), o2(0xE0,0xEC), o2(0xE0,0xEF), o2(0xB8,0xEA),
@@ -23514,17 +20984,10 @@
 };
 static const BYTE_LOOKUP
 to_EUC_JP_E7_91 = {
-    to_EUC_JP_E7_91_offsets,
+    to_SHIFT_JIS_E7_91_offsets,
     to_EUC_JP_E7_91_infos
 };
 
-static const unsigned char
-to_EUC_JP_E7_92_offsets[64] = {
-      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_EUC_JP_E7_92_infos[10] = {
      o2(0xCD,0xFE), o2(0xFB,0xB1), o2(0xE0,0xF8), o2(0xE0,0xF9),
@@ -23533,17 +20996,10 @@
 };
 static const BYTE_LOOKUP
 to_EUC_JP_E7_92 = {
-    to_EUC_JP_E7_92_offsets,
+    to_SHIFT_JIS_E7_92_offsets,
     to_EUC_JP_E7_92_infos
 };
 
-static const unsigned char
-to_EUC_JP_E7_93_offsets[64] = {
-     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_EUC_JP_E7_93_infos[18] = {
      o2(0xE0,0xFB), o2(0xE0,0xFC), o2(0xE0,0xFD), o2(0xB1,0xBB),
@@ -23554,17 +21010,10 @@
 };
 static const BYTE_LOOKUP
 to_EUC_JP_E7_93 = {
-    to_EUC_JP_E7_93_offsets,
+    to_SHIFT_JIS_E7_93_offsets,
     to_EUC_JP_E7_93_infos
 };
 
-static const unsigned char
-to_EUC_JP_E7_94_offsets[64] = {
-     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_EUC_JP_E7_94_infos[32] = {
      o2(0xFB,0xB3), o2(0xE1,0xAC), o2(0xE1,0xAB), o2(0xE1,0xAD),
@@ -23578,17 +21027,10 @@
 };
 static const BYTE_LOOKUP
 to_EUC_JP_E7_94 = {
-    to_EUC_JP_E7_94_offsets,
+    to_SHIFT_JIS_E7_94_offsets,
     to_EUC_JP_E7_94_infos
 };
 
-static const unsigned char
-to_EUC_JP_E7_95_offsets[64] = {
-     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_EUC_JP_E7_95_infos[34] = {
      o2(0xE1,0xB7), o2(0xE1,0xBC), o2(0xE1,0xBA), o2(0xE1,0xB9),
@@ -23603,17 +21045,10 @@
 };
 static const BYTE_LOOKUP
 to_EUC_JP_E7_95 = {
-    to_EUC_JP_E7_95_offsets,
+    to_SHIFT_JIS_E7_95_offsets,
     to_EUC_JP_E7_95_infos
 };
 
-static const unsigned char
-to_EUC_JP_E7_96_offsets[64] = {
-     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_EUC_JP_E7_96_infos[25] = {
      o2(0xE1,0xCA), o2(0xE1,0xC5), o2(0xE1,0xC6), o2(0xE1,0xC9),
@@ -23626,17 +21061,10 @@
 };
 static const BYTE_LOOKUP
 to_EUC_JP_E7_96 = {
-    to_EUC_JP_E7_96_offsets,
+    to_SHIFT_JIS_E7_96_offsets,
     to_EUC_JP_E7_96_infos
 };
 
-static const unsigned char
-to_EUC_JP_E7_97_offsets[64] = {
-     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_EUC_JP_E7_97_infos[25] = {
      o2(0xE1,0xD0), o2(0xE1,0xD2), o2(0xC9,0xC2), o2(0xBE,0xC9),
@@ -23649,17 +21077,10 @@
 };
 static const BYTE_LOOKUP
 to_EUC_JP_E7_97 = {
-    to_EUC_JP_E7_97_offsets,
+    to_SHIFT_JIS_E7_97_offsets,
     to_EUC_JP_E7_97_infos
 };
 
-static const unsigned char
-to_EUC_JP_E7_98_offsets[64] = {
-     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_EUC_JP_E7_98_infos[14] = {
      o2(0xE1,0xE1), o2(0xE1,0xE8), o2(0xE1,0xE6), o2(0xE1,0xE7),
@@ -23669,17 +21090,10 @@
 };
 static const BYTE_LOOKUP
 to_EUC_JP_E7_98 = {
-    to_EUC_JP_E7_98_offsets,
+    to_SHIFT_JIS_E7_98_offsets,
     to_EUC_JP_E7_98_infos
 };
 
-static const unsigned char
-to_EUC_JP_E7_99_offsets[64] = {
-     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_EUC_JP_E7_99_infos[26] = {
      o2(0xCE,0xC5), o2(0xE1,0xF4), o2(0xE1,0xF2), o2(0xE1,0xF3),
@@ -23692,17 +21106,10 @@
 };
 static const BYTE_LOOKUP
 to_EUC_JP_E7_99 = {
-    to_EUC_JP_E7_99_offsets,
+    to_SHIFT_JIS_E7_99_offsets,
     to_EUC_JP_E7_99_infos
 };
 
-static const unsigned char
-to_EUC_JP_E7_9A_offsets[64] = {
-      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_EUC_JP_E7_9A_infos[27] = {
      o2(0xE2,0xA5), o2(0xFB,0xB5), o2(0xE2,0xA6), o2(0xC5,0xAA),
@@ -23715,17 +21122,10 @@
 };
 static const BYTE_LOOKUP
 to_EUC_JP_E7_9A = {
-    to_EUC_JP_E7_9A_offsets,
+    to_SHIFT_JIS_E7_9A_offsets,
     to_EUC_JP_E7_9A_infos
 };
 
-static const unsigned char
-to_EUC_JP_E7_9B_offsets[64] = {
-     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_EUC_JP_E7_9B_infos[26] = {
      o2(0xE2,0xB3), o2(0xC7,0xD6), o2(0xCB,0xDF), o2(0xB1,0xCE),
@@ -23738,17 +21138,10 @@
 };
 static const BYTE_LOOKUP
 to_EUC_JP_E7_9B = {
-    to_EUC_JP_E7_9B_offsets,
+    to_SHIFT_JIS_E7_9B_offsets,
     to_EUC_JP_E7_9B_infos
 };
 
-static const unsigned char
-to_EUC_JP_E7_9C_offsets[64] = {
-     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_EUC_JP_E7_9C_infos[20] = {
      o2(0xBE,0xCA), o2(0xE2,0xC0), o2(0xE2,0xBF), o2(0xE2,0xBE),
@@ -23759,17 +21152,10 @@
 };
 static const BYTE_LOOKUP
 to_EUC_JP_E7_9C = {
-    to_EUC_JP_E7_9C_offsets,
+    to_SHIFT_JIS_E7_9C_offsets,
     to_EUC_JP_E7_9C_infos
 };
 
-static const unsigned char
-to_EUC_JP_E7_9D_offsets[64] = {
-      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_EUC_JP_E7_9D_infos[15] = {
      o2(0xC3,0xE5), o2(0xFB,0xBB), o2(0xE2,0xC9), o2(0xE2,0xCA),
@@ -23779,17 +21165,10 @@
 };
 static const BYTE_LOOKUP
 to_EUC_JP_E7_9D = {
-    to_EUC_JP_E7_9D_offsets,
+    to_SHIFT_JIS_E7_9D_offsets,
     to_EUC_JP_E7_9D_infos
 };
 
-static const unsigned char
-to_EUC_JP_E7_9E_offsets[64] = {
-     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_EUC_JP_E7_9E_infos[17] = {
      o2(0xE2,0xD3), o2(0xE2,0xD2), o2(0xE2,0xD4), o2(0xE2,0xD6),
@@ -23800,17 +21179,10 @@
 };
 static const BYTE_LOOKUP
 to_EUC_JP_E7_9E = {
-    to_EUC_JP_E7_9E_offsets,
+    to_SHIFT_JIS_E7_9E_offsets,
     to_EUC_JP_E7_9E_infos
 };
 
-static const unsigned char
-to_EUC_JP_E7_9F_offsets[64] = {
-     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_EUC_JP_E7_9F_infos[17] = {
      o2(0xE2,0xDE), o2(0xE2,0xDF), o2(0xE2,0xE0), o2(0xE2,0xE1),
@@ -23821,17 +21193,10 @@
 };
 static const BYTE_LOOKUP
 to_EUC_JP_E7_9F = {
-    to_EUC_JP_E7_9F_offsets,
+    to_SHIFT_JIS_E7_9F_offsets,
     to_EUC_JP_E7_9F_infos
 };
 
-static const unsigned char
-to_EUC_JP_E7_A0_offsets[64] = {
-     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_EUC_JP_E7_A0_infos[15] = {
      o2(0xBA,0xBD), o2(0xE2,0xE6), o2(0xE2,0xE7), o2(0xB8,0xA6),
@@ -23841,17 +21206,10 @@
 };
 static const BYTE_LOOKUP
 to_EUC_JP_E7_A0 = {
-    to_EUC_JP_E7_A0_offsets,
+    to_SHIFT_JIS_E7_A0_offsets,
     to_EUC_JP_E7_A0_infos
 };
 
-static const unsigned char
-to_EUC_JP_E7_A1_offsets[64] = {
-     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_EUC_JP_E7_A1_infos[12] = {
      o2(0xE2,0xEB), o2(0xFB,0xBE), o2(0xBE,0xCB), o2(0xFB,0xBF),
@@ -23860,17 +21218,10 @@
 };
 static const BYTE_LOOKUP
 to_EUC_JP_E7_A1 = {
-    to_EUC_JP_E7_A1_offsets,
+    to_SHIFT_JIS_E7_A1_offsets,
     to_EUC_JP_E7_A1_infos
 };
 
-static const unsigned char
-to_EUC_JP_E7_A2_offsets[64] = {
-     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_EUC_JP_E7_A2_infos[21] = {
      o2(0xB8,0xEB), o2(0xE2,0xEE), o2(0xC4,0xF6), o2(0xE2,0xF1),
@@ -23882,17 +21233,10 @@
 };
 static const BYTE_LOOKUP
 to_EUC_JP_E7_A2 = {
-    to_EUC_JP_E7_A2_offsets,
+    to_SHIFT_JIS_E7_A2_offsets,
     to_EUC_JP_E7_A2_infos
 };
 
-static const unsigned char
-to_EUC_JP_E7_A3_offsets[64] = {
-     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_EUC_JP_E7_A3_infos[16] = {
      o2(0xBC,0xA7), o2(0xE2,0xFC), o2(0xE2,0xF7), o2(0xE2,0xFD),
@@ -23902,17 +21246,10 @@
 };
 static const BYTE_LOOKUP
 to_EUC_JP_E7_A3 = {
-    to_EUC_JP_E7_A3_offsets,
+    to_SHIFT_JIS_E7_A3_offsets,
     to_EUC_JP_E7_A3_infos
 };
 
-static const unsigned char
-to_EUC_JP_E7_A4_offsets[64] = {
-     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_EUC_JP_E7_A4_infos[15] = {
      o2(0xBE,0xCC), o2(0xE3,0xA5), o2(0xC1,0xC3), o2(0xE3,0xA7),
@@ -23922,17 +21259,10 @@
 };
 static const BYTE_LOOKUP
 to_EUC_JP_E7_A4 = {
-    to_EUC_JP_E7_A4_offsets,
+    to_SHIFT_JIS_E7_A4_offsets,
     to_EUC_JP_E7_A4_infos
 };
 
-static const unsigned char
-to_EUC_JP_E7_A5_offsets[64] = {
-      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_EUC_JP_E7_A5_infos[23] = {
      o2(0xE3,0xAB), o2(0xB7,0xB7), o2(0xB5,0xC0), o2(0xB5,0xA7),
@@ -23944,17 +21274,10 @@
 };
 static const BYTE_LOOKUP
 to_EUC_JP_E7_A5 = {
-    to_EUC_JP_E7_A5_offsets,
+    to_SHIFT_JIS_E7_A5_offsets,
     to_EUC_JP_E7_A5_infos
 };
 
-static const unsigned char
-to_EUC_JP_E7_A6_offsets[64] = {
-      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_EUC_JP_E7_A6_infos[23] = {
      o2(0xE3,0xC9), o2(0xB6,0xD8), o2(0xCF,0xBD), o2(0xC1,0xB5),
@@ -23966,17 +21289,10 @@
 };
 static const BYTE_LOOKUP
 to_EUC_JP_E7_A6 = {
-    to_EUC_JP_E7_A6_offsets,
+    to_SHIFT_JIS_E7_A6_offsets,
     to_EUC_JP_E7_A6_infos
 };
 
-static const unsigned char
-to_EUC_JP_E7_A7_offsets[64] = {
-      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_EUC_JP_E7_A7_infos[19] = {
      o2(0xBD,0xA8), o2(0xBB,0xE4), o2(0xE3,0xBD), o2(0xBD,0xA9),
@@ -23987,17 +21303,10 @@
 };
 static const BYTE_LOOKUP
 to_EUC_JP_E7_A7 = {
-    to_EUC_JP_E7_A7_offsets,
+    to_SHIFT_JIS_E7_A7_offsets,
     to_EUC_JP_E7_A7_infos
 };
 
-static const unsigned char
-to_EUC_JP_E7_A8_offsets[64] = {
-      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_EUC_JP_E7_A8_infos[23] = {
      o2(0xB5,0xA9), o2(0xE3,0xC3), o2(0xC4,0xF8), o2(0xE3,0xC4),
@@ -24009,17 +21318,10 @@
 };
 static const BYTE_LOOKUP
 to_EUC_JP_E7_A8 = {
-    to_EUC_JP_E7_A8_offsets,
+    to_SHIFT_JIS_E7_A8_offsets,
     to_EUC_JP_E7_A8_infos
 };
 
-static const unsigned char
-to_EUC_JP_E7_A9_offsets[64] = {
-      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_EUC_JP_E7_A9_infos[23] = {
      o2(0xB9,0xF2), o2(0xCA,0xE6), o2(0xE3,0xCE), o2(0xCB,0xD4),
@@ -24031,17 +21333,10 @@
 };
 static const BYTE_LOOKUP
 to_EUC_JP_E7_A9 = {
-    to_EUC_JP_E7_A9_offsets,
+    to_SHIFT_JIS_E7_A9_offsets,
     to_EUC_JP_E7_A9_infos
 };
 
-static const unsigned char
-to_EUC_JP_E7_AA_offsets[64] = {
-     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_EUC_JP_E7_AA_infos[20] = {
      o2(0xC6,0xCD), o2(0xC0,0xE0), o2(0xBA,0xF5), o2(0xE3,0xD8),
@@ -24052,17 +21347,10 @@
 };
 static const BYTE_LOOKUP
 to_EUC_JP_E7_AA = {
-    to_EUC_JP_E7_AA_offsets,
+    to_SHIFT_JIS_E7_AA_offsets,
     to_EUC_JP_E7_AA_infos
 };
 
-static const unsigned char
-to_EUC_JP_E7_AB_offsets[64] = {
-     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_EUC_JP_E7_AB_infos[36] = {
      o2(0xB3,0xF6), o2(0xE3,0xE2), o2(0xE3,0xE1), o2(0xE3,0xE5),
@@ -24077,17 +21365,10 @@
 };
 static const BYTE_LOOKUP
 to_EUC_JP_E7_AB = {
-    to_EUC_JP_E7_AB_offsets,
+    to_SHIFT_JIS_E7_AB_offsets,
     to_EUC_JP_E7_AB_infos
 };
 
-static const unsigned char
-to_EUC_JP_E7_AC_offsets[64] = {
-     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_EUC_JP_E7_AC_infos[22] = {
      o2(0xE3,0xF3), o2(0xE4,0xA2), o2(0xE3,0xF6), o2(0xB5,0xE8),
@@ -24099,17 +21380,10 @@
 };
 static const BYTE_LOOKUP
 to_EUC_JP_E7_AC = {
-    to_EUC_JP_E7_AC_offsets,
+    to_SHIFT_JIS_E7_AC_offsets,
     to_EUC_JP_E7_AC_infos
 };
 
-static const unsigned char
-to_EUC_JP_E7_AD_offsets[64] = {
-     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_EUC_JP_E7_AD_infos[24] = {
      o2(0xE4,0xA6), o2(0xC9,0xAE), o2(0xC8,0xA6), o2(0xC5,0xF9),
@@ -24121,17 +21395,10 @@
 };
 static const BYTE_LOOKUP
 to_EUC_JP_E7_AD = {
-    to_EUC_JP_E7_AD_offsets,
+    to_SHIFT_JIS_E7_AD_offsets,
     to_EUC_JP_E7_AD_infos
 };
 
-static const unsigned char
-to_EUC_JP_E7_AE_offsets[64] = {
-     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_EUC_JP_E7_AE_infos[23] = {
      o2(0xCA,0xCF), o2(0xB2,0xD5), o2(0xE4,0xB5), o2(0xE4,0xB2),
@@ -24143,17 +21410,10 @@
 };
 static const BYTE_LOOKUP
 to_EUC_JP_E7_AE = {
-    to_EUC_JP_E7_AE_offsets,
+    to_SHIFT_JIS_E7_AE_offsets,
     to_EUC_JP_E7_AE_infos
 };
 
-static const unsigned char
-to_EUC_JP_E7_AF_offsets[64] = {
-      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_EUC_JP_E7_AF_infos[20] = {
      o2(0xC0,0xE1), o2(0xE4,0xBB), o2(0xC8,0xCF), o2(0xE4,0xBF),
@@ -24164,17 +21424,10 @@
 };
 static const BYTE_LOOKUP
 to_EUC_JP_E7_AF = {
-    to_EUC_JP_E7_AF_offsets,
+    to_SHIFT_JIS_E7_AF_offsets,
     to_EUC_JP_E7_AF_infos
 };
 
-static const unsigned char
-to_EUC_JP_E7_B0_offsets[64] = {
-      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_EUC_JP_E7_B0_infos[20] = {
      o2(0xE4,0xC7), o2(0xE4,0xC8), o2(0xE4,0xCD), o2(0xE4,0xC2),
@@ -24185,17 +21438,10 @@
 };
 static const BYTE_LOOKUP
 to_EUC_JP_E7_B0 = {
-    to_EUC_JP_E7_B0_offsets,
+    to_SHIFT_JIS_E7_B0_offsets,
     to_EUC_JP_E7_B0_infos
 };
 
-static const unsigned char
-to_EUC_JP_E7_B1_offsets[64] = {
-      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_EUC_JP_E7_B1_infos[18] = {
      o2(0xE4,0xDA), o2(0xE4,0xD7), o2(0xE4,0xD6), o2(0xC0,0xD2),
@@ -24206,17 +21452,10 @@
 };
 static const BYTE_LOOKUP
 to_EUC_JP_E7_B1 = {
-    to_EUC_JP_E7_B1_offsets,
+    to_SHIFT_JIS_E7_B1_offsets,
     to_EUC_JP_E7_B1_infos
 };
 
-static const unsigned char
-to_EUC_JP_E7_B2_offsets[64] = {
-     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_EUC_JP_E7_B2_infos[29] = {
      o2(0xB6,0xCE), o2(0xB7,0xA9), o2(0xE4,0xE3), o2(0xCA,0xB4),
@@ -24230,17 +21469,10 @@
 };
 static const BYTE_LOOKUP
 to_EUC_JP_E7_B2 = {
-    to_EUC_JP_E7_B2_offsets,
+    to_SHIFT_JIS_E7_B2_offsets,
     to_EUC_JP_E7_B2_infos
 };
 
-static const unsigned char
-to_EUC_JP_E7_B3_offsets[64] = {
-      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_EUC_JP_E7_B3_infos[23] = {
      o2(0xE4,0xF1), o2(0xE4,0xF3), o2(0xE4,0xF2), o2(0xB8,0xD2),
@@ -24252,17 +21484,10 @@
 };
 static const BYTE_LOOKUP
 to_EUC_JP_E7_B3 = {
-    to_EUC_JP_E7_B3_offsets,
+    to_SHIFT_JIS_E7_B3_offsets,
     to_EUC_JP_E7_B3_infos
 };
 
-static const unsigned char
-to_EUC_JP_E7_B4_offsets[64] = {
-      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_EUC_JP_E7_B4_infos[32] = {
      o2(0xB5,0xAA), o2(0xE5,0xA1), o2(0xCC,0xF3), o2(0xB9,0xC8),
@@ -24276,17 +21501,10 @@
 };
 static const BYTE_LOOKUP
 to_EUC_JP_E7_B4 = {
-    to_EUC_JP_E7_B4_offsets,
+    to_SHIFT_JIS_E7_B4_offsets,
     to_EUC_JP_E7_B4_infos
 };
 
-static const unsigned char
-to_EUC_JP_E7_B5_offsets[64] = {
-     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_EUC_JP_E7_B5_infos[29] = {
      o2(0xBD,0xAA), o2(0xB8,0xBE), o2(0xC1,0xC8), o2(0xE5,0xA5),
@@ -24300,17 +21518,10 @@
 };
 static const BYTE_LOOKUP
 to_EUC_JP_E7_B5 = {
-    to_EUC_JP_E7_B5_offsets,
+    to_SHIFT_JIS_E7_B5_offsets,
     to_EUC_JP_E7_B5_infos
 };
 
-static const unsigned char
-to_EUC_JP_E7_B6_offsets[64] = {
-     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_EUC_JP_E7_B6_infos[29] = {
      o2(0xE5,0xB5), o2(0xE5,0xB7), o2(0xE5,0xB4), o2(0xB7,0xD1),
@@ -24324,17 +21535,10 @@
 };
 static const BYTE_LOOKUP
 to_EUC_JP_E7_B6 = {
-    to_EUC_JP_E7_B6_offsets,
+    to_SHIFT_JIS_E7_B6_offsets,
     to_EUC_JP_E7_B6_infos
 };
 
-static const unsigned char
-to_EUC_JP_E7_B7_offsets[64] = {
-     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_EUC_JP_E7_B7_infos[24] = {
      o2(0xE5,0xBE), o2(0xB6,0xDB), o2(0xC8,0xEC), o2(0xC1,0xED),
@@ -24346,17 +21550,10 @@
 };
 static const BYTE_LOOKUP
 to_EUC_JP_E7_B7 = {
-    to_EUC_JP_E7_B7_offsets,
+    to_SHIFT_JIS_E7_B7_offsets,
     to_EUC_JP_E7_B7_infos
 };
 
-static const unsigned char
-to_EUC_JP_E7_B8_offsets[64] = {
-     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_EUC_JP_E7_B8_infos[26] = {
      o2(0xB1,0xEF), o2(0xC6,0xEC), o2(0xE5,0xCF), o2(0xE5,0xD6),
@@ -24369,17 +21566,10 @@
 };
 static const BYTE_LOOKUP
 to_EUC_JP_E7_B8 = {
-    to_EUC_JP_E7_B8_offsets,
+    to_SHIFT_JIS_E7_B8_offsets,
     to_EUC_JP_E7_B8_infos
 };
 
-static const unsigned char
-to_EUC_JP_E7_B9_offsets[64] = {
-     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_EUC_JP_E7_B9_infos[26] = {
      o2(0xC8,0xCB), o2(0xE5,0xDE), o2(0xE5,0xD9), o2(0xC1,0xA1),
@@ -24392,17 +21582,10 @@
 };
 static const BYTE_LOOKUP
 to_EUC_JP_E7_B9 = {
-    to_EUC_JP_E7_B9_offsets,
+    to_SHIFT_JIS_E7_B9_offsets,
     to_EUC_JP_E7_B9_infos
 };
 
-static const unsigned char
-to_EUC_JP_E7_BA_offsets[64] = {
-     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_EUC_JP_E7_BA_infos[16] = {
      o2(0xBB,0xBC), o2(0xE5,0xED), o2(0xE5,0xF2), o2(0xE5,0xF3),
@@ -24412,34 +21595,20 @@
 };
 static const BYTE_LOOKUP
 to_EUC_JP_E7_BA = {
-    to_EUC_JP_E7_BA_offsets,
+    to_SHIFT_JIS_E7_BA_offsets,
     to_EUC_JP_E7_BA_infos
 };
 
-static const unsigned char
-to_EUC_JP_E7_BC_offsets[64] = {
-      3,  3,  3,  3,  3,  3,  3,  3,    3,  3,  3,  3,  3,  3,  3,  3,
-      3,  3,  3,  3,  3,  3,  3,  3,    3,  3,  3,  3,  3,  3,  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_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_EUC_JP_E7_BC_offsets,
+    to_SHIFT_JIS_E7_BC_offsets,
     to_EUC_JP_E7_BC_infos
 };
 
-static const unsigned char
-to_EUC_JP_E7_BD_offsets[64] = {
-     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_EUC_JP_E7_BD_infos[25] = {
      o2(0xE6,0xA1), o2(0xFB,0xD4), o2(0xE6,0xA2), o2(0xE6,0xA3),
@@ -24452,17 +21621,10 @@
 };
 static const BYTE_LOOKUP
 to_EUC_JP_E7_BD = {
-    to_EUC_JP_E7_BD_offsets,
+    to_SHIFT_JIS_E7_BD_offsets,
     to_EUC_JP_E7_BD_infos
 };
 
-static const unsigned char
-to_EUC_JP_E7_BE_offsets[64] = {
-     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_EUC_JP_E7_BE_infos[26] = {
      o2(0xE6,0xB0), o2(0xE6,0xB2), o2(0xCD,0xE5), o2(0xE6,0xB1),
@@ -24475,17 +21637,10 @@
 };
 static const BYTE_LOOKUP
 to_EUC_JP_E7_BE = {
-    to_EUC_JP_E7_BE_offsets,
+    to_SHIFT_JIS_E7_BE_offsets,
     to_EUC_JP_E7_BE_infos
 };
 
-static const unsigned char
-to_EUC_JP_E7_BF_offsets[64] = {
-     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_EUC_JP_E7_BF_infos[19] = {
      o2(0xB2,0xA7), o2(0xE6,0xC2), o2(0xE6,0xC3), o2(0xE6,0xC4),
@@ -24496,17 +21651,10 @@
 };
 static const BYTE_LOOKUP
 to_EUC_JP_E7_BF = {
-    to_EUC_JP_E7_BF_offsets,
+    to_SHIFT_JIS_E7_BF_offsets,
     to_EUC_JP_E7_BF_infos
 };
 
-static const unsigned char
-to_EUC_JP_E7_offsets[64] = {
-      0,  1,  2,  3,  4,  5,  6,  7,    8,  9, 10, 11, 12, 13, 14, 15,
-     16, 17, 18, 19, 20, 21, 22, 23,   24, 25, 26, 27, 28, 29, 30, 31,
-     32, 33, 34, 35, 36, 37, 38, 39,   40, 41, 42, 43, 44, 45, 46, 47,
-     48, 49, 50, 51, 52, 53, 54, 55,   56, 57, 58, 63, 59, 60, 61, 62,
-};
 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,
@@ -24528,17 +21676,10 @@
 };
 static const BYTE_LOOKUP
 to_EUC_JP_E7 = {
-    to_EUC_JP_E7_offsets,
+    to_SHIFT_JIS_E7_offsets,
     to_EUC_JP_E7_infos
 };
 
-static const unsigned char
-to_EUC_JP_E8_80_offsets[64] = {
-      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_EUC_JP_E8_80_infos[23] = {
      o2(0xCD,0xD4), o2(0xCF,0xB7), o2(0xB9,0xCD), o2(0xE6,0xCE),
@@ -24550,17 +21691,10 @@
 };
 static const BYTE_LOOKUP
 to_EUC_JP_E8_80 = {
-    to_EUC_JP_E8_80_offsets,
+    to_SHIFT_JIS_E8_80_offsets,
     to_EUC_JP_E8_80_infos
 };
 
-static const unsigned char
-to_EUC_JP_E8_81_offsets[64] = {
-     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_EUC_JP_E8_81_infos[23] = {
      o2(0xE6,0xD9), o2(0xE6,0xD8), o2(0xE6,0xDA), o2(0xC0,0xBB),
@@ -24572,17 +21706,10 @@
 };
 static const BYTE_LOOKUP
 to_EUC_JP_E8_81 = {
-    to_EUC_JP_E8_81_offsets,
+    to_SHIFT_JIS_E8_81_offsets,
     to_EUC_JP_E8_81_infos
 };
 
-static const unsigned char
-to_EUC_JP_E8_82_offsets[64] = {
-     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_EUC_JP_E8_82_infos[26] = {
      o2(0xE6,0xE7), o2(0xE6,0xE9), o2(0xE6,0xE8), o2(0xC8,0xA5),
@@ -24595,17 +21722,10 @@
 };
 static const BYTE_LOOKUP
 to_EUC_JP_E8_82 = {
-    to_EUC_JP_E8_82_offsets,
+    to_SHIFT_JIS_E8_82_offsets,
     to_EUC_JP_E8_82_infos
 };
 
-static const unsigned char
-to_EUC_JP_E8_83_offsets[64] = {
-     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_EUC_JP_E8_83_infos[21] = {
      o2(0xB0,0xDF), o2(0xE6,0xF4), o2(0xC3,0xC0), o2(0xC7,0xD8),
@@ -24617,17 +21737,10 @@
 };
 static const BYTE_LOOKUP
 to_EUC_JP_E8_83 = {
-    to_EUC_JP_E8_83_offsets,
+    to_SHIFT_JIS_E8_83_offsets,
     to_EUC_JP_E8_83_infos
 };
 
-static const unsigned char
-to_EUC_JP_E8_84_offsets[64] = {
-     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_EUC_JP_E8_84_infos[17] = {
      o2(0xBB,0xE9), o2(0xB6,0xBC), o2(0xC0,0xC8), o2(0xCF,0xC6),
@@ -24638,17 +21751,10 @@
 };
 static const BYTE_LOOKUP
 to_EUC_JP_E8_84 = {
-    to_EUC_JP_E8_84_offsets,
+    to_SHIFT_JIS_E8_84_offsets,
     to_EUC_JP_E8_84_infos
 };
 
-static const unsigned char
-to_EUC_JP_E8_85_offsets[64] = {
-     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_EUC_JP_E8_85_infos[21] = {
      o2(0xE7,0xA2), o2(0xE6,0xFE), o2(0xBF,0xD5), o2(0xC9,0xE5),
@@ -24660,17 +21766,10 @@
 };
 static const BYTE_LOOKUP
 to_EUC_JP_E8_85 = {
-    to_EUC_JP_E8_85_offsets,
+    to_SHIFT_JIS_E8_85_offsets,
     to_EUC_JP_E8_85_infos
 };
 
-static const unsigned char
-to_EUC_JP_E8_86_offsets[64] = {
-      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_EUC_JP_E8_86_infos[25] = {
      o2(0xE7,0xAF), o2(0xE7,0xB0), o2(0xE7,0xAC), o2(0xE7,0xAD),
@@ -24683,17 +21782,10 @@
 };
 static const BYTE_LOOKUP
 to_EUC_JP_E8_86 = {
-    to_EUC_JP_E8_86_offsets,
+    to_SHIFT_JIS_E8_86_offsets,
     to_EUC_JP_E8_86_infos
 };
 
-static const unsigned char
-to_EUC_JP_E8_87_offsets[64] = {
-      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_EUC_JP_E8_87_infos[26] = {
      o2(0xE7,0xBD), o2(0xE7,0xBE), o2(0xB2,0xB2), o2(0xE7,0xC5),
@@ -24706,17 +21798,10 @@
 };
 static const BYTE_LOOKUP
 to_EUC_JP_E8_87 = {
-    to_EUC_JP_E8_87_offsets,
+    to_SHIFT_JIS_E8_87_offsets,
     to_EUC_JP_E8_87_infos
 };
 
-static const unsigned char
-to_EUC_JP_E8_88_offsets[64] = {
-     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_EUC_JP_E8_88_infos[31] = {
      o2(0xE7,0xCD), o2(0xE7,0xCE), o2(0xE7,0xCF), o2(0xE7,0xD0),
@@ -24730,17 +21815,10 @@
 };
 static const BYTE_LOOKUP
 to_EUC_JP_E8_88 = {
-    to_EUC_JP_E8_88_offsets,
+    to_SHIFT_JIS_E8_88_offsets,
     to_EUC_JP_E8_88_infos
 };
 
-static const unsigned char
-to_EUC_JP_E8_89_offsets[64] = {
-      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_EUC_JP_E8_89_infos[22] = {
      o2(0xE7,0xD9), o2(0xC4,0xFA), o2(0xE7,0xDB), o2(0xE7,0xDA),
@@ -24752,17 +21830,10 @@
 };
 static const BYTE_LOOKUP
 to_EUC_JP_E8_89 = {
-    to_EUC_JP_E8_89_offsets,
+    to_SHIFT_JIS_E8_89_offsets,
     to_EUC_JP_E8_89_infos
 };
 
-static const unsigned char
-to_EUC_JP_E8_8A_offsets[64] = {
-     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_EUC_JP_E8_8A_infos[19] = {
      o2(0xB0,0xF2), o2(0xE7,0xE9), o2(0xE7,0xEA), o2(0xC9,0xE7),
@@ -24773,17 +21844,10 @@
 };
 static const BYTE_LOOKUP
 to_EUC_JP_E8_8A = {
-    to_EUC_JP_E8_8A_offsets,
+    to_SHIFT_JIS_E8_8A_offsets,
     to_EUC_JP_E8_8A_infos
 };
 
-static const unsigned char
-to_EUC_JP_E8_8B_offsets[64] = {
-     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_EUC_JP_E8_8B_infos[24] = {
      o2(0xB4,0xA3), o2(0xB1,0xF1), o2(0xE7,0xF2), o2(0xCE,0xEA),
@@ -24795,17 +21859,10 @@
 };
 static const BYTE_LOOKUP
 to_EUC_JP_E8_8B = {
-    to_EUC_JP_E8_8B_offsets,
+    to_SHIFT_JIS_E8_8B_offsets,
     to_EUC_JP_E8_8B_infos
 };
 
-static const unsigned char
-to_EUC_JP_E8_8C_offsets[64] = {
-     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_EUC_JP_E8_8C_infos[24] = {
      o2(0xFB,0xD7), o2(0xCC,0xD0), o2(0xE7,0xF7), o2(0xB2,0xD8),
@@ -24817,17 +21874,10 @@
 };
 static const BYTE_LOOKUP
 to_EUC_JP_E8_8C = {
-    to_EUC_JP_E8_8C_offsets,
+    to_SHIFT_JIS_E8_8C_offsets,
     to_EUC_JP_E8_8C_infos
 };
 
-static const unsigned char
-to_EUC_JP_E8_8D_offsets[64] = {
-      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_EUC_JP_E8_8D_infos[16] = {
      o2(0xE8,0xA6), o2(0xE8,0xA9), o2(0xC1,0xF0), o2(0xB7,0xD5),
@@ -24837,17 +21887,10 @@
 };
 static const BYTE_LOOKUP
 to_EUC_JP_E8_8D = {
-    to_EUC_JP_E8_8D_offsets,
+    to_SHIFT_JIS_E8_8D_offsets,
     to_EUC_JP_E8_8D_infos
 };
 
-static const unsigned char
-to_EUC_JP_E8_8E_offsets[64] = {
-     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_EUC_JP_E8_8E_infos[19] = {
      o2(0xE8,0xAE), o2(0xE8,0xB6), o2(0xE8,0xBD), o2(0xE8,0xB7),
@@ -24858,17 +21901,10 @@
 };
 static const BYTE_LOOKUP
 to_EUC_JP_E8_8E = {
-    to_EUC_JP_E8_8E_offsets,
+    to_SHIFT_JIS_E8_8E_offsets,
     to_EUC_JP_E8_8E_infos
 };
 
-static const unsigned char
-to_EUC_JP_E8_8F_offsets[64] = {
-     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_EUC_JP_E8_8F_infos[24] = {
      o2(0xE8,0xC7), o2(0xBF,0xFB), o2(0xFB,0xDA), o2(0xB5,0xC6),
@@ -24880,17 +21916,10 @@
 };
 static const BYTE_LOOKUP
 to_EUC_JP_E8_8F = {
-    to_EUC_JP_E8_8F_offsets,
+    to_SHIFT_JIS_E8_8F_offsets,
     to_EUC_JP_E8_8F_infos
 };
 
-static const unsigned char
-to_EUC_JP_E8_90_offsets[64] = {
-     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_EUC_JP_E8_90_infos[19] = {
      o2(0xE8,0xC4), o2(0xC6,0xBA), o2(0xE8,0xC9), o2(0xE8,0xC6),
@@ -24901,17 +21930,10 @@
 };
 static const BYTE_LOOKUP
 to_EUC_JP_E8_90 = {
-    to_EUC_JP_E8_90_offsets,
+    to_SHIFT_JIS_E8_90_offsets,
     to_EUC_JP_E8_90_infos
 };
 
-static const unsigned char
-to_EUC_JP_E8_91_offsets[64] = {
-     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_EUC_JP_E8_91_infos[22] = {
      o2(0xE8,0xDE), o2(0xFB,0xDC), o2(0xCD,0xD5), o2(0xCE,0xAA),
@@ -24923,17 +21945,10 @@
 };
 static const BYTE_LOOKUP
 to_EUC_JP_E8_91 = {
-    to_EUC_JP_E8_91_offsets,
+    to_SHIFT_JIS_E8_91_offsets,
     to_EUC_JP_E8_91_infos
 };
 
-static const unsigned char
-to_EUC_JP_E8_92_offsets[64] = {
-     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_EUC_JP_E8_92_infos[18] = {
      o2(0xE8,0xDC), o2(0xE8,0xD7), o2(0xBE,0xD5), o2(0xBD,0xAF),
@@ -24944,17 +21959,10 @@
 };
 static const BYTE_LOOKUP
 to_EUC_JP_E8_92 = {
-    to_EUC_JP_E8_92_offsets,
+    to_SHIFT_JIS_E8_92_offsets,
     to_EUC_JP_E8_92_infos
 };
 
-static const unsigned char
-to_EUC_JP_E8_93_offsets[64] = {
-     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_EUC_JP_E8_93_infos[19] = {
      o2(0xE8,0xED), o2(0xC3,0xDF), o2(0xE8,0xEE), o2(0xCD,0xD6),
@@ -24965,17 +21973,10 @@
 };
 static const BYTE_LOOKUP
 to_EUC_JP_E8_93 = {
-    to_EUC_JP_E8_93_offsets,
+    to_SHIFT_JIS_E8_93_offsets,
     to_EUC_JP_E8_93_infos
 };
 
-static const unsigned char
-to_EUC_JP_E8_94_offsets[64] = {
-      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_EUC_JP_E8_94_infos[17] = {
      o2(0xBC,0xC3), o2(0xE8,0xD1), o2(0xCA,0xCE), o2(0xCC,0xA2),
@@ -24986,17 +21987,10 @@
 };
 static const BYTE_LOOKUP
 to_EUC_JP_E8_94 = {
-    to_EUC_JP_E8_94_offsets,
+    to_SHIFT_JIS_E8_94_offsets,
     to_EUC_JP_E8_94_infos
 };
 
-static const unsigned char
-to_EUC_JP_E8_95_offsets[64] = {
-      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_EUC_JP_E8_95_infos[23] = {
      o2(0xE8,0xFB), o2(0xE9,0xA1), o2(0xC8,0xD9), o2(0xE8,0xFE),
@@ -25008,17 +22002,10 @@
 };
 static const BYTE_LOOKUP
 to_EUC_JP_E8_95 = {
-    to_EUC_JP_E8_95_offsets,
+    to_SHIFT_JIS_E8_95_offsets,
     to_EUC_JP_E8_95_infos
 };
 
-static const unsigned char
-to_EUC_JP_E8_96_offsets[64] = {
-      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_EUC_JP_E8_96_infos[25] = {
      o2(0xE9,0xA5), o2(0xC7,0xF6), o2(0xE9,0xAF), o2(0xE9,0xA7),
@@ -25031,17 +22018,10 @@
 };
 static const BYTE_LOOKUP
 to_EUC_JP_E8_96 = {
-    to_EUC_JP_E8_96_offsets,
+    to_SHIFT_JIS_E8_96_offsets,
     to_EUC_JP_E8_96_infos
 };
 
-static const unsigned char
-to_EUC_JP_E8_97_offsets[64] = {
-     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_EUC_JP_E8_97_infos[18] = {
      o2(0xCF,0xCE), o2(0xE9,0xB4), o2(0xCD,0xF5), o2(0xE9,0xB6),
@@ -25052,17 +22032,10 @@
 };
 static const BYTE_LOOKUP
 to_EUC_JP_E8_97 = {
-    to_EUC_JP_E8_97_offsets,
+    to_SHIFT_JIS_E8_97_offsets,
     to_EUC_JP_E8_97_infos
 };
 
-static const unsigned char
-to_EUC_JP_E8_98_offsets[64] = {
-     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_EUC_JP_E8_98_infos[15] = {
      o2(0xE9,0xA2), o2(0xE9,0xC3), o2(0xC1,0xC9), o2(0xE9,0xBE),
@@ -25072,17 +22045,10 @@
 };
 static const BYTE_LOOKUP
 to_EUC_JP_E8_98 = {
-    to_EUC_JP_E8_98_offsets,
+    to_SHIFT_JIS_E8_98_offsets,
     to_EUC_JP_E8_98_infos
 };
 
-static const unsigned char
-to_EUC_JP_E8_99_offsets[64] = {
-     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_EUC_JP_E8_99_infos[15] = {
      o2(0xE9,0xC8), o2(0xB8,0xD7), o2(0xB5,0xD4), o2(0xE9,0xCA),
@@ -25092,17 +22058,10 @@
 };
 static const BYTE_LOOKUP
 to_EUC_JP_E8_99 = {
-    to_EUC_JP_E8_99_offsets,
+    to_SHIFT_JIS_E8_99_offsets,
     to_EUC_JP_E8_99_infos
 };
 
-static const unsigned char
-to_EUC_JP_E8_9A_offsets[64] = {
-     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_EUC_JP_E8_9A_infos[14] = {
      o2(0xB2,0xE3), o2(0xE9,0xD2), o2(0xE9,0xD3), o2(0xE9,0xCE),
@@ -25112,17 +22071,10 @@
 };
 static const BYTE_LOOKUP
 to_EUC_JP_E8_9A = {
-    to_EUC_JP_E8_9A_offsets,
+    to_SHIFT_JIS_E8_9A_offsets,
     to_EUC_JP_E8_9A_infos
 };
 
-static const unsigned char
-to_EUC_JP_E8_9B_offsets[64] = {
-     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_EUC_JP_E8_9B_infos[23] = {
      o2(0xE9,0xD6), o2(0xE9,0xD7), o2(0xBC,0xD8), o2(0xE9,0xD9),
@@ -25134,17 +22086,10 @@
 };
 static const BYTE_LOOKUP
 to_EUC_JP_E8_9B = {
-    to_EUC_JP_E8_9B_offsets,
+    to_SHIFT_JIS_E8_9B_offsets,
     to_EUC_JP_E8_9B_infos
 };
 
-static const unsigned char
-to_EUC_JP_E8_9C_offsets[64] = {
-      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_EUC_JP_E8_9C_infos[20] = {
      o2(0xE9,0xE6), o2(0xCB,0xAA), o2(0xE9,0xE7), o2(0xE9,0xE4),
@@ -25155,17 +22100,10 @@
 };
 static const BYTE_LOOKUP
 to_EUC_JP_E8_9C = {
-    to_EUC_JP_E8_9C_offsets,
+    to_SHIFT_JIS_E8_9C_offsets,
     to_EUC_JP_E8_9C_infos
 };
 
-static const unsigned char
-to_EUC_JP_E8_9D_offsets[64] = {
-     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_EUC_JP_E8_9D_infos[20] = {
      o2(0xC0,0xE6), o2(0xCF,0xB9), o2(0xE9,0xF8), o2(0xE9,0xF9),
@@ -25176,17 +22114,10 @@
 };
 static const BYTE_LOOKUP
 to_EUC_JP_E8_9D = {
-    to_EUC_JP_E8_9D_offsets,
+    to_SHIFT_JIS_E8_9D_offsets,
     to_EUC_JP_E8_9D_infos
 };
 
-static const unsigned char
-to_EUC_JP_E8_9E_offsets[64] = {
-     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_EUC_JP_E8_9E_infos[11] = {
      o2(0xEA,0xA7), o2(0xCD,0xBB), o2(0xEA,0xA6), o2(0xEA,0xA5),
@@ -25195,17 +22126,10 @@
 };
 static const BYTE_LOOKUP
 to_EUC_JP_E8_9E = {
-    to_EUC_JP_E8_9E_offsets,
+    to_SHIFT_JIS_E8_9E_offsets,
     to_EUC_JP_E8_9E_infos
 };
 
-static const unsigned char
-to_EUC_JP_E8_9F_offsets[64] = {
-      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_EUC_JP_E8_9F_infos[16] = {
      o2(0xEA,0xAB), o2(0xEA,0xAF), o2(0xEA,0xB2), o2(0xEA,0xB1),
@@ -25215,17 +22139,10 @@
 };
 static const BYTE_LOOKUP
 to_EUC_JP_E8_9F = {
-    to_EUC_JP_E8_9F_offsets,
+    to_SHIFT_JIS_E8_9F_offsets,
     to_EUC_JP_E8_9F_infos
 };
 
-static const unsigned char
-to_EUC_JP_E8_A0_offsets[64] = {
-     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_EUC_JP_E8_A0_infos[17] = {
      o2(0xEA,0xA4), o2(0xFB,0xE5), o2(0xEA,0xB8), o2(0xEA,0xBC),
@@ -25236,17 +22153,10 @@
 };
 static const BYTE_LOOKUP
 to_EUC_JP_E8_A0 = {
-    to_EUC_JP_E8_A0_offsets,
+    to_SHIFT_JIS_E8_A0_offsets,
     to_EUC_JP_E8_A0_infos
 };
 
-static const unsigned char
-to_EUC_JP_E8_A1_offsets[64] = {
-      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_EUC_JP_E8_A1_infos[26] = {
      o2(0xB7,0xEC), o2(0xEA,0xC9), o2(0xEA,0xC8), o2(0xBD,0xB0),
@@ -25259,17 +22169,10 @@
 };
 static const BYTE_LOOKUP
 to_EUC_JP_E8_A1 = {
-    to_EUC_JP_E8_A1_offsets,
+    to_SHIFT_JIS_E8_A1_offsets,
     to_EUC_JP_E8_A1_infos
 };
 
-static const unsigned char
-to_EUC_JP_E8_A2_offsets[64] = {
-     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_EUC_JP_E8_A2_infos[21] = {
      o2(0xEA,0xCF), o2(0xEA,0xD6), o2(0xB7,0xB6), o2(0xC2,0xDE),
@@ -25281,17 +22184,10 @@
 };
 static const BYTE_LOOKUP
 to_EUC_JP_E8_A2 = {
-    to_EUC_JP_E8_A2_offsets,
+    to_SHIFT_JIS_E8_A2_offsets,
     to_EUC_JP_E8_A2_infos
 };
 
-static const unsigned char
-to_EUC_JP_E8_A3_offsets[64] = {
-     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_EUC_JP_E8_A3_infos[25] = {
      o2(0xBA,0xDB), o2(0xCE,0xF6), o2(0xEA,0xE1), o2(0xEA,0xE2),
@@ -25304,17 +22200,10 @@
 };
 static const BYTE_LOOKUP
 to_EUC_JP_E8_A3 = {
-    to_EUC_JP_E8_A3_offsets,
+    to_SHIFT_JIS_E8_A3_offsets,
     to_EUC_JP_E8_A3_infos
 };
 
-static const unsigned char
-to_EUC_JP_E8_A4_offsets[64] = {
-     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_EUC_JP_E8_A4_infos[18] = {
      o2(0xEA,0xE8), o2(0xEA,0xED), o2(0xCA,0xA3), o2(0xEA,0xEF),
@@ -25325,17 +22214,10 @@
 };
 static const BYTE_LOOKUP
 to_EUC_JP_E8_A4 = {
-    to_EUC_JP_E8_A4_offsets,
+    to_SHIFT_JIS_E8_A4_offsets,
     to_EUC_JP_E8_A4_infos
 };
 
-static const unsigned char
-to_EUC_JP_E8_A5_offsets[64] = {
-     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_EUC_JP_E8_A5_infos[20] = {
      o2(0xEA,0xF6), o2(0xEA,0xF1), o2(0xEA,0xF7), o2(0xEA,0xFB),
@@ -25346,17 +22228,10 @@
 };
 static const BYTE_LOOKUP
 to_EUC_JP_E8_A5 = {
-    to_EUC_JP_E8_A5_offsets,
+    to_SHIFT_JIS_E8_A5_offsets,
     to_EUC_JP_E8_A5_infos
 };
 
-static const unsigned char
-to_EUC_JP_E8_A6_offsets[64] = {
-     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_EUC_JP_E8_A6_infos[26] = {
      o2(0xCD,0xD7), o2(0xEB,0xA9), o2(0xCA,0xA4), o2(0xC7,0xC6),
@@ -25369,17 +22244,10 @@
 };
 static const BYTE_LOOKUP
 to_EUC_JP_E8_A6 = {
-    to_EUC_JP_E8_A6_offsets,
+    to_SHIFT_JIS_E8_A6_offsets,
     to_EUC_JP_E8_A6_infos
 };
 
-static const unsigned char
-to_EUC_JP_E8_A7_offsets[64] = {
-      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_EUC_JP_E8_A7_infos[11] = {
      o2(0xEB,0xB7), o2(0xB3,0xD1), o2(0xEB,0xB8), o2(0xEB,0xB9),
@@ -25388,17 +22256,10 @@
 };
 static const BYTE_LOOKUP
 to_EUC_JP_E8_A7 = {
-    to_EUC_JP_E8_A7_offsets,
+    to_SHIFT_JIS_E8_A7_offsets,
     to_EUC_JP_E8_A7_infos
 };
 
-static const unsigned char
-to_EUC_JP_E8_A8_offsets[64] = {
-      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_EUC_JP_E8_A8_infos[29] = {
      o2(0xB8,0xC0), o2(0xC4,0xFB), o2(0xEB,0xBE), o2(0xB7,0xD7),
@@ -25412,17 +22273,10 @@
 };
 static const BYTE_LOOKUP
 to_EUC_JP_E8_A8 = {
-    to_EUC_JP_E8_A8_offsets,
+    to_SHIFT_JIS_E8_A8_offsets,
     to_EUC_JP_E8_A8_infos
 };
 
-static const unsigned char
-to_EUC_JP_E8_A9_offsets[64] = {
-     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_EUC_JP_E8_A9_infos[26] = {
      o2(0xEB,0xC6), o2(0xEB,0xC9), o2(0xEB,0xCA), o2(0xBA,0xBE),
@@ -25435,17 +22289,10 @@
 };
 static const BYTE_LOOKUP
 to_EUC_JP_E8_A9 = {
-    to_EUC_JP_E8_A9_offsets,
+    to_SHIFT_JIS_E8_A9_offsets,
     to_EUC_JP_E8_A9_infos
 };
 
-static const unsigned char
-to_EUC_JP_E8_AA_offsets[64] = {
-     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_EUC_JP_E8_AA_infos[30] = {
      o2(0xEB,0xD0), o2(0xEB,0xD1), o2(0xEB,0xCF), o2(0xB8,0xD8),
@@ -25459,17 +22306,10 @@
 };
 static const BYTE_LOOKUP
 to_EUC_JP_E8_AA = {
-    to_EUC_JP_E8_AA_offsets,
+    to_SHIFT_JIS_E8_AA_offsets,
     to_EUC_JP_E8_AA_infos
 };
 
-static const unsigned char
-to_EUC_JP_E8_AB_offsets[64] = {
-     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_EUC_JP_E8_AB_infos[31] = {
      o2(0xEB,0xDB), o2(0xEB,0xD9), o2(0xC3,0xCC), o2(0xC0,0xC1),
@@ -25483,17 +22323,10 @@
 };
 static const BYTE_LOOKUP
 to_EUC_JP_E8_AB = {
-    to_EUC_JP_E8_AB_offsets,
+    to_SHIFT_JIS_E8_AB_offsets,
     to_EUC_JP_E8_AB_infos
 };
 
-static const unsigned char
-to_EUC_JP_E8_AC_offsets[64] = {
-      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_EUC_JP_E8_AC_infos[25] = {
      o2(0xCB,0xC5), o2(0xB1,0xDA), o2(0xB0,0xE2), o2(0xC6,0xA5),
@@ -25506,17 +22339,10 @@
 };
 static const BYTE_LOOKUP
 to_EUC_JP_E8_AC = {
-    to_EUC_JP_E8_AC_offsets,
+    to_SHIFT_JIS_E8_AC_offsets,
     to_EUC_JP_E8_AC_infos
 };
 
-static const unsigned char
-to_EUC_JP_E8_AD_offsets[64] = {
-     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_EUC_JP_E8_AD_infos[24] = {
      o2(0xEB,0xF6), o2(0xEB,0xFA), o2(0xEB,0xF7), o2(0xEB,0xF9),
@@ -25528,17 +22354,10 @@
 };
 static const BYTE_LOOKUP
 to_EUC_JP_E8_AD = {
-    to_EUC_JP_E8_AD_offsets,
+    to_SHIFT_JIS_E8_AD_offsets,
     to_EUC_JP_E8_AD_infos
 };
 
-static const unsigned char
-to_EUC_JP_E8_AE_offsets[64] = {
-      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_EUC_JP_E8_AE_infos[12] = {
      o2(0xEC,0xA6), o2(0xBB,0xBE), o2(0xDA,0xCE), o2(0xEC,0xA7),
@@ -25547,34 +22366,20 @@
 };
 static const BYTE_LOOKUP
 to_EUC_JP_E8_AE = {
-    to_EUC_JP_E8_AE_offsets,
+    to_SHIFT_JIS_E8_AE_offsets,
     to_EUC_JP_E8_AE_infos
 };
 
-static const unsigned char
-to_EUC_JP_E8_B0_offsets[64] = {
-      3,  3,  3,  3,  3,  3,  3,  3,    3,  3,  3,  3,  3,  3,  3,  3,
-      3,  3,  3,  3,  3,  3,  3,  3,    3,  3,  3,  3,  3,  3,  3,  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_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_EUC_JP_E8_B0_offsets,
+    to_SHIFT_JIS_E8_B0_offsets,
     to_EUC_JP_E8_B0_infos
 };
 
-static const unsigned char
-to_EUC_JP_E8_B1_offsets[64] = {
-     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_EUC_JP_E8_B1_infos[19] = {
      o2(0xEC,0xAF), o2(0xC6,0xA6), o2(0xEC,0xB1), o2(0xCB,0xAD),
@@ -25585,17 +22390,10 @@
 };
 static const BYTE_LOOKUP
 to_EUC_JP_E8_B1 = {
-    to_EUC_JP_E8_B1_offsets,
+    to_SHIFT_JIS_E8_B1_offsets,
     to_EUC_JP_E8_B1_infos
 };
 
-static const unsigned char
-to_EUC_JP_E8_B2_offsets[64] = {
-     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_EUC_JP_E8_B2_infos[35] = {
      o2(0xEC,0xBA), o2(0xEC,0xBC), o2(0xEC,0xBB), o2(0xEC,0xBD),
@@ -25610,17 +22408,10 @@
 };
 static const BYTE_LOOKUP
 to_EUC_JP_E8_B2 = {
-    to_EUC_JP_E8_B2_offsets,
+    to_SHIFT_JIS_E8_B2_offsets,
     to_EUC_JP_E8_B2_infos
 };
 
-static const unsigned char
-to_EUC_JP_E8_B3_offsets[64] = {
-      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_EUC_JP_E8_B3_infos[30] = {
      o2(0xB2,0xEC), o2(0xEC,0xCC), o2(0xCF,0xA8), o2(0xC4,0xC2),
@@ -25634,17 +22425,10 @@
 };
 static const BYTE_LOOKUP
 to_EUC_JP_E8_B3 = {
-    to_EUC_JP_E8_B3_offsets,
+    to_SHIFT_JIS_E8_B3_offsets,
     to_EUC_JP_E8_B3_infos
 };
 
-static const unsigned char
-to_EUC_JP_E8_B4_offsets[64] = {
-     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_EUC_JP_E8_B4_infos[14] = {
      o2(0xEC,0xD3), o2(0xEC,0xD4), o2(0xEC,0xD6), o2(0xC2,0xA3),
@@ -25654,17 +22438,10 @@
 };
 static const BYTE_LOOKUP
 to_EUC_JP_E8_B4 = {
-    to_EUC_JP_E8_B4_offsets,
+    to_SHIFT_JIS_E8_B4_offsets,
     to_EUC_JP_E8_B4_infos
 };
 
-static const unsigned char
-to_EUC_JP_E8_B5_offsets[64] = {
-     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_EUC_JP_E8_B5_infos[12] = {
      o2(0xC0,0xD6), o2(0xBC,0xCF), o2(0xEC,0xDF), o2(0xB3,0xD2),
@@ -25673,17 +22450,10 @@
 };
 static const BYTE_LOOKUP
 to_EUC_JP_E8_B5 = {
-    to_EUC_JP_E8_B5_offsets,
+    to_SHIFT_JIS_E8_B5_offsets,
     to_EUC_JP_E8_B5_infos
 };
 
-static const unsigned char
-to_EUC_JP_E8_B6_offsets[64] = {
-      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_EUC_JP_E8_B6_infos[10] = {
      o2(0xEC,0xE3), o2(0xC4,0xB6), o2(0xB1,0xDB), o2(0xEC,0xE4),
@@ -25692,17 +22462,10 @@
 };
 static const BYTE_LOOKUP
 to_EUC_JP_E8_B6 = {
-    to_EUC_JP_E8_B6_offsets,
+    to_SHIFT_JIS_E8_B6_offsets,
     to_EUC_JP_E8_B6_infos
 };
 
-static const unsigned char
-to_EUC_JP_E8_B7_offsets[64] = {
-     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_EUC_JP_E8_B7_infos[20] = {
      o2(0xEC,0xE5), o2(0xEC,0xED), o2(0xEC,0xEB), o2(0xEC,0xE8),
@@ -25713,17 +22476,10 @@
 };
 static const BYTE_LOOKUP
 to_EUC_JP_E8_B7 = {
-    to_EUC_JP_E8_B7_offsets,
+    to_SHIFT_JIS_E8_B7_offsets,
     to_EUC_JP_E8_B7_infos
 };
 
-static const unsigned char
-to_EUC_JP_E8_B8_offsets[64] = {
-     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_EUC_JP_E8_B8_infos[13] = {
      o2(0xEC,0xF3), o2(0xEC,0xF4), o2(0xCD,0xD9), o2(0xC6,0xA7),
@@ -25733,17 +22489,10 @@
 };
 static const BYTE_LOOKUP
 to_EUC_JP_E8_B8 = {
-    to_EUC_JP_E8_B8_offsets,
+    to_SHIFT_JIS_E8_B8_offsets,
     to_EUC_JP_E8_B8_infos
 };
 
-static const unsigned char
-to_EUC_JP_E8_B9_offsets[64] = {
-     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_EUC_JP_E8_B9_infos[19] = {
      o2(0xEC,0xFA), o2(0xC4,0xFD), o2(0xED,0xA1), o2(0xED,0xA5),
@@ -25754,17 +22503,10 @@
 };
 static const BYTE_LOOKUP
 to_EUC_JP_E8_B9 = {
-    to_EUC_JP_E8_B9_offsets,
+    to_SHIFT_JIS_E8_B9_offsets,
     to_EUC_JP_E8_B9_infos
 };
 
-static const unsigned char
-to_EUC_JP_E8_BA_offsets[64] = {
-     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_EUC_JP_E8_BA_infos[20] = {
      o2(0xED,0xAF), o2(0xED,0xB2), o2(0xED,0xB1), o2(0xED,0xB0),
@@ -25775,17 +22517,10 @@
 };
 static const BYTE_LOOKUP
 to_EUC_JP_E8_BA = {
-    to_EUC_JP_E8_BA_offsets,
+    to_SHIFT_JIS_E8_BA_offsets,
     to_EUC_JP_E8_BA_infos
 };
 
-static const unsigned char
-to_EUC_JP_E8_BB_offsets[64] = {
-     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_EUC_JP_E8_BB_infos[20] = {
      o2(0xED,0xC0), o2(0xED,0xBD), o2(0xED,0xC1), o2(0xBC,0xD6),
@@ -25796,17 +22531,10 @@
 };
 static const BYTE_LOOKUP
 to_EUC_JP_E8_BB = {
-    to_EUC_JP_E8_BB_offsets,
+    to_SHIFT_JIS_E8_BB_offsets,
     to_EUC_JP_E8_BB_infos
 };
 
-static const unsigned char
-to_EUC_JP_E8_BC_offsets[64] = {
-     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_EUC_JP_E8_BC_infos[25] = {
      o2(0xB3,0xD3), o2(0xED,0xCA), o2(0xBA,0xDC), o2(0xED,0xC9),
@@ -25819,17 +22547,10 @@
 };
 static const BYTE_LOOKUP
 to_EUC_JP_E8_BC = {
-    to_EUC_JP_E8_BC_offsets,
+    to_SHIFT_JIS_E8_BC_offsets,
     to_EUC_JP_E8_BC_infos
 };
 
-static const unsigned char
-to_EUC_JP_E8_BD_offsets[64] = {
-     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_EUC_JP_E8_BD_infos[16] = {
      o2(0xED,0xD8), o2(0xB3,0xED), o2(0xED,0xD7), o2(0xED,0xDC),
@@ -25839,17 +22560,10 @@
 };
 static const BYTE_LOOKUP
 to_EUC_JP_E8_BD = {
-    to_EUC_JP_E8_BD_offsets,
+    to_SHIFT_JIS_E8_BD_offsets,
     to_EUC_JP_E8_BD_infos
 };
 
-static const unsigned char
-to_EUC_JP_E8_BE_offsets[64] = {
-     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_EUC_JP_E8_BE_infos[19] = {
      o2(0xBF,0xC9), o2(0xED,0xE3), o2(0xBC,0xAD), o2(0xED,0xE4),
@@ -25860,17 +22574,10 @@
 };
 static const BYTE_LOOKUP
 to_EUC_JP_E8_BE = {
-    to_EUC_JP_E8_BE_offsets,
+    to_SHIFT_JIS_E8_BE_offsets,
     to_EUC_JP_E8_BE_infos
 };
 
-static const unsigned char
-to_EUC_JP_E8_BF_offsets[64] = {
-     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_EUC_JP_E8_BF_infos[23] = {
      o2(0xB1,0xAA), o2(0xCB,0xF8), o2(0xBF,0xD7), o2(0xB7,0xDE),
@@ -25882,17 +22589,10 @@
 };
 static const BYTE_LOOKUP
 to_EUC_JP_E8_BF = {
-    to_EUC_JP_E8_BF_offsets,
+    to_SHIFT_JIS_E8_BF_offsets,
     to_EUC_JP_E8_BF_infos
 };
 
-static const unsigned char
-to_EUC_JP_E8_offsets[64] = {
-      0,  1,  2,  3,  4,  5,  6,  7,    8,  9, 10, 11, 12, 13, 14, 15,
-     16, 17, 18, 19, 20, 21, 22, 23,   24, 25, 26, 27, 28, 29, 30, 31,
-     32, 33, 34, 35, 36, 37, 38, 39,   40, 41, 42, 43, 44, 45, 46, 63,
-     47, 48, 49, 50, 51, 52, 53, 54,   55, 56, 57, 58, 59, 60, 61, 62,
-};
 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,
@@ -25914,17 +22614,10 @@
 };
 static const BYTE_LOOKUP
 to_EUC_JP_E8 = {
-    to_EUC_JP_E8_offsets,
+    to_SHIFT_JIS_E8_offsets,
     to_EUC_JP_E8_infos
 };
 
-static const unsigned char
-to_EUC_JP_E9_80_offsets[64] = {
-      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_EUC_JP_E9_80_infos[36] = {
      o2(0xC2,0xE0), o2(0xC1,0xF7), o2(0xC6,0xA8), o2(0xED,0xF0),
@@ -25939,17 +22632,10 @@
 };
 static const BYTE_LOOKUP
 to_EUC_JP_E9_80 = {
-    to_EUC_JP_E9_80_offsets,
+    to_SHIFT_JIS_E9_80_offsets,
     to_EUC_JP_E9_80_infos
 };
 
-static const unsigned char
-to_EUC_JP_E9_81_offsets[64] = {
-     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_EUC_JP_E9_81_infos[41] = {
      o2(0xC6,0xDB), o2(0xBF,0xEB), o2(0xC3,0xD9), o2(0xB6,0xF8),
@@ -25966,17 +22652,10 @@
 };
 static const BYTE_LOOKUP
 to_EUC_JP_E9_81 = {
-    to_EUC_JP_E9_81_offsets,
+    to_SHIFT_JIS_E9_81_offsets,
     to_EUC_JP_E9_81_infos
 };
 
-static const unsigned char
-to_EUC_JP_E9_82_offsets[64] = {
-      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_EUC_JP_E9_82_infos[19] = {
      o2(0xEE,0xB3), o2(0xEE,0xB2), o2(0xEE,0xB0), o2(0xE3,0xE4),
@@ -25987,17 +22666,10 @@
 };
 static const BYTE_LOOKUP
 to_EUC_JP_E9_82 = {
-    to_EUC_JP_E9_82_offsets,
+    to_SHIFT_JIS_E9_82_offsets,
     to_EUC_JP_E9_82_infos
 };
 
-static const unsigned char
-to_EUC_JP_E9_83_offsets[64] = {
-     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_EUC_JP_E9_83_infos[14] = {
      o2(0xB0,0xEA), o2(0xB9,0xD9), o2(0xCF,0xBA), o2(0xEE,0xBE),
@@ -26007,17 +22679,10 @@
 };
 static const BYTE_LOOKUP
 to_EUC_JP_E9_83 = {
-    to_EUC_JP_E9_83_offsets,
+    to_SHIFT_JIS_E9_83_offsets,
     to_EUC_JP_E9_83_infos
 };
 
-static const unsigned char
-to_EUC_JP_E9_84_offsets[64] = {
-      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_EUC_JP_E9_84_infos[9] = {
      o2(0xEE,0xBF), o2(0xEE,0xC0), o2(0xFB,0xFC), o2(0xEE,0xC1),
@@ -26026,17 +22691,10 @@
 };
 static const BYTE_LOOKUP
 to_EUC_JP_E9_84 = {
-    to_EUC_JP_E9_84_offsets,
+    to_SHIFT_JIS_E9_84_offsets,
     to_EUC_JP_E9_84_infos
 };
 
-static const unsigned char
-to_EUC_JP_E9_85_offsets[64] = {
-     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_EUC_JP_E9_85_infos[22] = {
      o2(0xC6,0xD3), o2(0xEE,0xC4), o2(0xBD,0xB6), o2(0xBC,0xE0),
@@ -26048,17 +22706,10 @@
 };
 static const BYTE_LOOKUP
 to_EUC_JP_E9_85 = {
-    to_EUC_JP_E9_85_offsets,
+    to_SHIFT_JIS_E9_85_offsets,
     to_EUC_JP_E9_85_infos
 };
 
-static const unsigned char
-to_EUC_JP_E9_86_offsets[64] = {
-     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_EUC_JP_E9_86_infos[19] = {
      o2(0xEE,0xCE), o2(0xBD,0xE6), o2(0xEE,0xCD), o2(0xEE,0xCC),
@@ -26069,17 +22720,10 @@
 };
 static const BYTE_LOOKUP
 to_EUC_JP_E9_86 = {
-    to_EUC_JP_E9_86_offsets,
+    to_SHIFT_JIS_E9_86_offsets,
     to_EUC_JP_E9_86_infos
 };
 
-static const unsigned char
-to_EUC_JP_E9_87_offsets[64] = {
-      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_EUC_JP_E9_87_infos[35] = {
      o2(0xEE,0xD6), o2(0xEE,0xD7), o2(0xC8,0xD0), o2(0xBA,0xD3),
@@ -26094,17 +22738,10 @@
 };
 static const BYTE_LOOKUP
 to_EUC_JP_E9_87 = {
-    to_EUC_JP_E9_87_offsets,
+    to_SHIFT_JIS_E9_87_offsets,
     to_EUC_JP_E9_87_infos
 };
 
-static const unsigned char
-to_EUC_JP_E9_88_offsets[64] = {
-     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_EUC_JP_E9_88_infos[18] = {
      o2(0xFC,0xA7), o2(0xFC,0xA9), o2(0xC6,0xDF), o2(0xB3,0xC3),
@@ -26115,17 +22752,10 @@
 };
 static const BYTE_LOOKUP
 to_EUC_JP_E9_88 = {
-    to_EUC_JP_E9_88_offsets,
+    to_SHIFT_JIS_E9_88_offsets,
     to_EUC_JP_E9_88_infos
 };
 
-static const unsigned char
-to_EUC_JP_E9_89_offsets[64] = {
-      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_EUC_JP_E9_89_infos[23] = {
      o2(0xFC,0xAB), o2(0xC5,0xB4), o2(0xEE,0xEA), o2(0xEE,0xED),
@@ -26137,17 +22767,10 @@
 };
 static const BYTE_LOOKUP
 to_EUC_JP_E9_89 = {
-    to_EUC_JP_E9_89_offsets,
+    to_SHIFT_JIS_E9_89_offsets,
     to_EUC_JP_E9_89_infos
 };
 
-static const unsigned char
-to_EUC_JP_E9_8A_offsets[64] = {
-      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_EUC_JP_E9_8A_infos[17] = {
      o2(0xB6,0xE4), o2(0xBD,0xC6), o2(0xC6,0xBC), o2(0xF9,0xA4),
@@ -26158,17 +22781,10 @@
 };
 static const BYTE_LOOKUP
 to_EUC_JP_E9_8A = {
-    to_EUC_JP_E9_8A_offsets,
+    to_SHIFT_JIS_E9_8A_offsets,
     to_EUC_JP_E9_8A_infos
 };
 
-static const unsigned char
-to_EUC_JP_E9_8B_offsets[64] = {
-     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_EUC_JP_E9_8B_infos[22] = {
      o2(0xEE,0xF7), o2(0xFC,0xB8), o2(0xCB,0xAF), o2(0xFC,0xBC),
@@ -26180,17 +22796,10 @@
 };
 static const BYTE_LOOKUP
 to_EUC_JP_E9_8B = {
-    to_EUC_JP_E9_8B_offsets,
+    to_SHIFT_JIS_E9_8B_offsets,
     to_EUC_JP_E9_8B_infos
 };
 
-static const unsigned char
-to_EUC_JP_E9_8C_offsets[64] = {
-     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_EUC_JP_E9_8C_infos[25] = {
      o2(0xFC,0xC4), o2(0xBB,0xAC), o2(0xEE,0xFB), o2(0xBF,0xED),
@@ -26203,17 +22812,10 @@
 };
 static const BYTE_LOOKUP
 to_EUC_JP_E9_8C = {
-    to_EUC_JP_E9_8C_offsets,
+    to_SHIFT_JIS_E9_8C_offsets,
     to_EUC_JP_E9_8C_infos
 };
 
-static const unsigned char
-to_EUC_JP_E9_8D_offsets[64] = {
-     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_EUC_JP_E9_8D_infos[17] = {
      o2(0xEE,0xFD), o2(0xF9,0xA3), o2(0xC6,0xE9), o2(0xC5,0xD5),
@@ -26224,17 +22826,10 @@
 };
 static const BYTE_LOOKUP
 to_EUC_JP_E9_8D = {
-    to_EUC_JP_E9_8D_offsets,
+    to_SHIFT_JIS_E9_8D_offsets,
     to_EUC_JP_E9_8D_infos
 };
 
-static const unsigned char
-to_EUC_JP_E9_8E_offsets[64] = {
-     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_EUC_JP_E9_8E_infos[13] = {
      o2(0xB3,0xF9), o2(0xEF,0xB0), o2(0xBA,0xBF), o2(0xC1,0xF9),
@@ -26244,17 +22839,10 @@
 };
 static const BYTE_LOOKUP
 to_EUC_JP_E9_8E = {
-    to_EUC_JP_E9_8E_offsets,
+    to_SHIFT_JIS_E9_8E_offsets,
     to_EUC_JP_E9_8E_infos
 };
 
-static const unsigned char
-to_EUC_JP_E9_8F_offsets[64] = {
-     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_EUC_JP_E9_8F_infos[16] = {
      o2(0xEF,0xB7), o2(0xFC,0xC8), o2(0xEF,0xBA), o2(0xEF,0xB9),
@@ -26264,17 +22852,10 @@
 };
 static const BYTE_LOOKUP
 to_EUC_JP_E9_8F = {
-    to_EUC_JP_E9_8F_offsets,
+    to_SHIFT_JIS_E9_8F_offsets,
     to_EUC_JP_E9_8F_infos
 };
 
-static const unsigned char
-to_EUC_JP_E9_90_offsets[64] = {
-     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_EUC_JP_E9_90_infos[16] = {
      o2(0xEF,0xBF), o2(0xEF,0xC0), o2(0xEF,0xC1), o2(0xEF,0xBE),
@@ -26284,17 +22865,10 @@
 };
 static const BYTE_LOOKUP
 to_EUC_JP_E9_90 = {
-    to_EUC_JP_E9_90_offsets,
+    to_SHIFT_JIS_E9_90_offsets,
     to_EUC_JP_E9_90_infos
 };
 
-static const unsigned char
-to_EUC_JP_E9_91_offsets[64] = {
-     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_EUC_JP_E9_91_infos[21] = {
      o2(0xEF,0xC7), o2(0xEF,0xC9), o2(0xFC,0xCC), o2(0xFC,0xCD),
@@ -26306,51 +22880,30 @@
 };
 static const BYTE_LOOKUP
 to_EUC_JP_E9_91 = {
-    to_EUC_JP_E9_91_offsets,
+    to_SHIFT_JIS_E9_91_offsets,
     to_EUC_JP_E9_91_infos
 };
 
-static const unsigned char
-to_EUC_JP_E9_92_offsets[64] = {
-      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_EUC_JP_E9_92_infos[2] = {
      o2(0xEF,0xD7),         UNDEF,
 };
 static const BYTE_LOOKUP
 to_EUC_JP_E9_92 = {
-    to_EUC_JP_E9_92_offsets,
+    to_SHIFT_JIS_E9_92_offsets,
     to_EUC_JP_E9_92_infos
 };
 
-static const unsigned char
-to_EUC_JP_E9_95_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,  0,    1,  1,  1,  1,  1,  1,  1,  1,
-};
 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_EUC_JP_E9_95_offsets,
+    to_SHIFT_JIS_E9_95_offsets,
     to_EUC_JP_E9_95_infos
 };
 
-static const unsigned char
-to_EUC_JP_E9_96_offsets[64] = {
-      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_EUC_JP_E9_96_infos[29] = {
      o2(0xCC,0xE7), o2(0xEF,0xD9), o2(0xC1,0xAE), o2(0xEF,0xDA),
@@ -26364,17 +22917,10 @@
 };
 static const BYTE_LOOKUP
 to_EUC_JP_E9_96 = {
-    to_EUC_JP_E9_96_offsets,
+    to_SHIFT_JIS_E9_96_offsets,
     to_EUC_JP_E9_96_infos
 };
 
-static const unsigned char
-to_EUC_JP_E9_97_offsets[64] = {
-     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_EUC_JP_E9_97_infos[14] = {
      o2(0xEF,0xEA), o2(0xB0,0xC7), o2(0xEF,0xE8), o2(0xEF,0xEC),
@@ -26384,17 +22930,10 @@
 };
 static const BYTE_LOOKUP
 to_EUC_JP_E9_97 = {
-    to_EUC_JP_E9_97_offsets,
+    to_SHIFT_JIS_E9_97_offsets,
     to_EUC_JP_E9_97_infos
 };
 
-static const unsigned char
-to_EUC_JP_E9_98_offsets[64] = {
-      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_EUC_JP_E9_98_infos[10] = {
      o2(0xC9,0xEC), o2(0xEF,0xF4), o2(0xEF,0xF5), o2(0xBA,0xE5),
@@ -26403,17 +22942,10 @@
 };
 static const BYTE_LOOKUP
 to_EUC_JP_E9_98 = {
-    to_EUC_JP_E9_98_offsets,
+    to_SHIFT_JIS_E9_98_offsets,
     to_EUC_JP_E9_98_infos
 };
 
-static const unsigned char
-to_EUC_JP_E9_99_offsets[64] = {
-      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_EUC_JP_E9_99_infos[30] = {
      o2(0xC2,0xCB), o2(0xEF,0xF8), o2(0xC9,0xED), o2(0xEF,0xFB),
@@ -26427,17 +22959,10 @@
 };
 static const BYTE_LOOKUP
 to_EUC_JP_E9_99 = {
-    to_EUC_JP_E9_99_offsets,
+    to_SHIFT_JIS_E9_99_offsets,
     to_EUC_JP_E9_99_infos
 };
 
-static const unsigned char
-to_EUC_JP_E9_9A_offsets[64] = {
-     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_EUC_JP_E9_9A_infos[33] = {
      o2(0xB6,0xF9), o2(0xCE,0xB4), o2(0xB7,0xA8), o2(0xC2,0xE2),
@@ -26452,17 +22977,10 @@
 };
 static const BYTE_LOOKUP
 to_EUC_JP_E9_9A = {
-    to_EUC_JP_E9_9A_offsets,
+    to_SHIFT_JIS_E9_9A_offsets,
     to_EUC_JP_E9_9A_infos
 };
 
-static const unsigned char
-to_EUC_JP_E9_9B_offsets[64] = {
-      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_EUC_JP_E9_9B_infos[29] = {
      o2(0xBF,0xFD), o2(0xB4,0xE7), o2(0xCD,0xBA), o2(0xB2,0xED),
@@ -26476,17 +22994,10 @@
 };
 static const BYTE_LOOKUP
 to_EUC_JP_E9_9B = {
-    to_EUC_JP_E9_9B_offsets,
+    to_SHIFT_JIS_E9_9B_offsets,
     to_EUC_JP_E9_9B_infos
 };
 
-static const unsigned char
-to_EUC_JP_E9_9C_offsets[64] = {
-      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_EUC_JP_E9_9C_infos[27] = {
      o2(0xBC,0xFB), o2(0xF0,0xBC), o2(0xF0,0xBD), o2(0xBF,0xCC),
@@ -26499,17 +23010,10 @@
 };
 static const BYTE_LOOKUP
 to_EUC_JP_E9_9C = {
-    to_EUC_JP_E9_9C_offsets,
+    to_SHIFT_JIS_E9_9C_offsets,
     to_EUC_JP_E9_9C_infos
 };
 
-static const unsigned char
-to_EUC_JP_E9_9D_offsets[64] = {
-     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_EUC_JP_E9_9D_infos[30] = {
      o2(0xF0,0xCE), o2(0xFC,0xD5), o2(0xF0,0xCB), o2(0xF0,0xCC),
@@ -26523,17 +23027,10 @@
 };
 static const BYTE_LOOKUP
 to_EUC_JP_E9_9D = {
-    to_EUC_JP_E9_9D_offsets,
+    to_SHIFT_JIS_E9_9D_offsets,
     to_EUC_JP_E9_9D_infos
 };
 
-static const unsigned char
-to_EUC_JP_E9_9E_offsets[64] = {
-     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_EUC_JP_E9_9E_infos[19] = {
      o2(0xF0,0xDB), o2(0xB3,0xF3), o2(0xF0,0xD9), o2(0xF0,0xDD),
@@ -26544,17 +23041,10 @@
 };
 static const BYTE_LOOKUP
 to_EUC_JP_E9_9E = {
-    to_EUC_JP_E9_9E_offsets,
+    to_SHIFT_JIS_E9_9E_offsets,
     to_EUC_JP_E9_9E_infos
 };
 
-static const unsigned char
-to_EUC_JP_E9_9F_offsets[64] = {
-     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_EUC_JP_E9_9F_infos[15] = {
      o2(0xF0,0xE7), o2(0xF0,0xE8), o2(0xF0,0xE9), o2(0xF0,0xEA),
@@ -26564,17 +23054,10 @@
 };
 static const BYTE_LOOKUP
 to_EUC_JP_E9_9F = {
-    to_EUC_JP_E9_9F_offsets,
+    to_SHIFT_JIS_E9_9F_offsets,
     to_EUC_JP_E9_9F_infos
 };
 
-static const unsigned char
-to_EUC_JP_E9_A0_offsets[64] = {
-     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_EUC_JP_E9_A0_infos[26] = {
      o2(0xCA,0xC7), o2(0xC4,0xBA), o2(0xBA,0xA2), o2(0xB9,0xE0),
@@ -26587,17 +23070,10 @@
 };
 static const BYTE_LOOKUP
 to_EUC_JP_E9_A0 = {
-    to_EUC_JP_E9_A0_offsets,
+    to_SHIFT_JIS_E9_A0_offsets,
     to_EUC_JP_E9_A0_infos
 };
 
-static const unsigned char
-to_EUC_JP_E9_A1_offsets[64] = {
-     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_EUC_JP_E9_A1_infos[21] = {
      o2(0xF0,0xF9), o2(0xF0,0xFB), o2(0xC2,0xEA), o2(0xB3,0xDB),
@@ -26609,17 +23085,10 @@
 };
 static const BYTE_LOOKUP
 to_EUC_JP_E9_A1 = {
-    to_EUC_JP_E9_A1_offsets,
+    to_SHIFT_JIS_E9_A1_offsets,
     to_EUC_JP_E9_A1_infos
 };
 
-static const unsigned char
-to_EUC_JP_E9_A2_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,    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_EUC_JP_E9_A2_infos[6] = {
      o2(0xC9,0xF7), o2(0xF1,0xA4), o2(0xF1,0xA5), o2(0xF1,0xA6),
@@ -26627,17 +23096,10 @@
 };
 static const BYTE_LOOKUP
 to_EUC_JP_E9_A2 = {
-    to_EUC_JP_E9_A2_offsets,
+    to_SHIFT_JIS_E9_A2_offsets,
     to_EUC_JP_E9_A2_infos
 };
 
-static const unsigned char
-to_EUC_JP_E9_A3_offsets[64] = {
-     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_EUC_JP_E9_A3_infos[18] = {
      o2(0xF1,0xA9), o2(0xF1,0xA8), o2(0xF1,0xAA), o2(0xC8,0xF4),
@@ -26648,17 +23110,10 @@
 };
 static const BYTE_LOOKUP
 to_EUC_JP_E9_A3 = {
-    to_EUC_JP_E9_A3_offsets,
+    to_SHIFT_JIS_E9_A3_offsets,
     to_EUC_JP_E9_A3_infos
 };
 
-static const unsigned char
-to_EUC_JP_E9_A4_offsets[64] = {
-     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_EUC_JP_E9_A4_infos[22] = {
      o2(0xF1,0xAD), o2(0xCC,0xDF), o2(0xF1,0xAE), o2(0xCD,0xDC),
@@ -26670,17 +23125,10 @@
 };
 static const BYTE_LOOKUP
 to_EUC_JP_E9_A4 = {
-    to_EUC_JP_E9_A4_offsets,
+    to_SHIFT_JIS_E9_A4_offsets,
     to_EUC_JP_E9_A4_infos
 };
 
-static const unsigned char
-to_EUC_JP_E9_A5_offsets[64] = {
-     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_EUC_JP_E9_A5_infos[11] = {
      o2(0xF1,0xBB), o2(0xF1,0xBD), o2(0xF1,0xBC), o2(0xF1,0xBF),
@@ -26689,17 +23137,10 @@
 };
 static const BYTE_LOOKUP
 to_EUC_JP_E9_A5 = {
-    to_EUC_JP_E9_A5_offsets,
+    to_SHIFT_JIS_E9_A5_offsets,
     to_EUC_JP_E9_A5_infos
 };
 
-static const unsigned char
-to_EUC_JP_E9_A6_offsets[64] = {
-     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_EUC_JP_E9_A6_infos[14] = {
      o2(0xBC,0xF3), o2(0xF1,0xC4), o2(0xF1,0xC5), o2(0xB9,0xE1),
@@ -26709,17 +23150,10 @@
 };
 static const BYTE_LOOKUP
 to_EUC_JP_E9_A6 = {
-    to_EUC_JP_E9_A6_offsets,
+    to_SHIFT_JIS_E9_A6_offsets,
     to_EUC_JP_E9_A6_infos
 };
 
-static const unsigned char
-to_EUC_JP_E9_A7_offsets[64] = {
-     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_EUC_JP_E9_A7_infos[22] = {
      o2(0xC7,0xFD), o2(0xC2,0xCC), o2(0xB1,0xD8), o2(0xB6,0xEE),
@@ -26731,17 +23165,10 @@
 };
 static const BYTE_LOOKUP
 to_EUC_JP_E9_A7 = {
-    to_EUC_JP_E9_A7_offsets,
+    to_SHIFT_JIS_E9_A7_offsets,
     to_EUC_JP_E9_A7_infos
 };
 
-static const unsigned char
-to_EUC_JP_E9_A8_offsets[64] = {
-     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_EUC_JP_E9_A8_infos[13] = {
      o2(0xF1,0xD5), o2(0xF1,0xD7), o2(0xB5,0xB3), o2(0xF1,0xD6),
@@ -26751,17 +23178,10 @@
 };
 static const BYTE_LOOKUP
 to_EUC_JP_E9_A8 = {
-    to_EUC_JP_E9_A8_offsets,
+    to_SHIFT_JIS_E9_A8_offsets,
     to_EUC_JP_E9_A8_infos
 };
 
-static const unsigned char
-to_EUC_JP_E9_A9_offsets[64] = {
-      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_EUC_JP_E9_A9_infos[18] = {
      o2(0xF1,0xDE), o2(0xF1,0xDD), o2(0xF1,0xDF), o2(0xF1,0xDC),
@@ -26772,17 +23192,10 @@
 };
 static const BYTE_LOOKUP
 to_EUC_JP_E9_A9 = {
-    to_EUC_JP_E9_A9_offsets,
+    to_SHIFT_JIS_E9_A9_offsets,
     to_EUC_JP_E9_A9_infos
 };
 
-static const unsigned char
-to_EUC_JP_E9_AA_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,    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_EUC_JP_E9_AA_infos[6] = {
      o2(0xB9,0xFC), o2(0xF1,0xEC), o2(0xF1,0xED), o2(0xB3,0xBC),
@@ -26790,17 +23203,10 @@
 };
 static const BYTE_LOOKUP
 to_EUC_JP_E9_AA = {
-    to_EUC_JP_E9_AA_offsets,
+    to_SHIFT_JIS_E9_AA_offsets,
     to_EUC_JP_E9_AA_infos
 };
 
-static const unsigned char
-to_EUC_JP_E9_AB_offsets[64] = {
-      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_EUC_JP_E9_AB_infos[24] = {
      o2(0xF1,0xEF), o2(0xBF,0xF1), o2(0xF1,0xF0), o2(0xF1,0xF1),
@@ -26812,17 +23218,10 @@
 };
 static const BYTE_LOOKUP
 to_EUC_JP_E9_AB = {
-    to_EUC_JP_E9_AB_offsets,
+    to_SHIFT_JIS_E9_AB_offsets,
     to_EUC_JP_E9_AB_infos
 };
 
-static const unsigned char
-to_EUC_JP_E9_AC_offsets[64] = {
-     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_EUC_JP_E9_AC_infos[18] = {
      o2(0xF2,0xA2), o2(0xF2,0xA3), o2(0xF2,0xA4), o2(0xF2,0xA5),
@@ -26833,17 +23232,10 @@
 };
 static const BYTE_LOOKUP
 to_EUC_JP_E9_AC = {
-    to_EUC_JP_E9_AC_offsets,
+    to_SHIFT_JIS_E9_AC_offsets,
     to_EUC_JP_E9_AC_infos
 };
 
-static const unsigned char
-to_EUC_JP_E9_AD_offsets[64] = {
-     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_EUC_JP_E9_AD_infos[17] = {
      o2(0xB3,0xA1), o2(0xBA,0xB2), o2(0xF2,0xB1), o2(0xF2,0xB0),
@@ -26854,17 +23246,10 @@
 };
 static const BYTE_LOOKUP
 to_EUC_JP_E9_AD = {
-    to_EUC_JP_E9_AD_offsets,
+    to_SHIFT_JIS_E9_AD_offsets,
     to_EUC_JP_E9_AD_infos
 };
 
-static const unsigned char
-to_EUC_JP_E9_AE_offsets[64] = {
-     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_EUC_JP_E9_AE_infos[20] = {
      o2(0xF2,0xB9), o2(0xB0,0xBE), o2(0xFC,0xE6), o2(0xF2,0xBA),
@@ -26875,17 +23260,10 @@
 };
 static const BYTE_LOOKUP
 to_EUC_JP_E9_AE = {
-    to_EUC_JP_E9_AE_offsets,
+    to_SHIFT_JIS_E9_AE_offsets,
     to_EUC_JP_E9_AE_infos
 };
 
-static const unsigned char
-to_EUC_JP_E9_AF_offsets[64] = {
-      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_EUC_JP_E9_AF_infos[20] = {
      o2(0xF2,0xC1), o2(0xF2,0xC4), o2(0xB8,0xF1), o2(0xF2,0xC2),
@@ -26896,17 +23274,10 @@
 };
 static const BYTE_LOOKUP
 to_EUC_JP_E9_AF = {
-    to_EUC_JP_E9_AF_offsets,
+    to_SHIFT_JIS_E9_AF_offsets,
     to_EUC_JP_E9_AF_infos
 };
 
-static const unsigned char
-to_EUC_JP_E9_B0_offsets[64] = {
-      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_EUC_JP_E9_B0_infos[27] = {
      o2(0xFC,0xE9), o2(0xF2,0xDA), o2(0xF2,0xD6), o2(0xF2,0xD7),
@@ -26919,17 +23290,10 @@
 };
 static const BYTE_LOOKUP
 to_EUC_JP_E9_B0 = {
-    to_EUC_JP_E9_B0_offsets,
+    to_SHIFT_JIS_E9_B0_offsets,
     to_EUC_JP_E9_B0_infos
 };
 
-static const unsigned char
-to_EUC_JP_E9_B1_offsets[64] = {
-     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_EUC_JP_E9_B1_infos[11] = {
      o2(0xF2,0xE3), o2(0xF2,0xE1), o2(0xC3,0xAD), o2(0xCB,0xF0),
@@ -26938,17 +23302,10 @@
 };
 static const BYTE_LOOKUP
 to_EUC_JP_E9_B1 = {
-    to_EUC_JP_E9_B1_offsets,
+    to_SHIFT_JIS_E9_B1_offsets,
     to_EUC_JP_E9_B1_infos
 };
 
-static const unsigned char
-to_EUC_JP_E9_B3_offsets[64] = {
-      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_EUC_JP_E9_B3_infos[10] = {
      o2(0xC4,0xBB), o2(0xF2,0xEA), o2(0xC8,0xB7), o2(0xF2,0xEF),
@@ -26957,17 +23314,10 @@
 };
 static const BYTE_LOOKUP
 to_EUC_JP_E9_B3 = {
-    to_EUC_JP_E9_B3_offsets,
+    to_SHIFT_JIS_E9_B3_offsets,
     to_EUC_JP_E9_B3_infos
 };
 
-static const unsigned char
-to_EUC_JP_E9_B4_offsets[64] = {
-     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_EUC_JP_E9_B4_infos[20] = {
      o2(0xF2,0xF0), o2(0xF2,0xF1), o2(0xC6,0xBE), o2(0xF2,0xEE),
@@ -26978,17 +23328,10 @@
 };
 static const BYTE_LOOKUP
 to_EUC_JP_E9_B4 = {
-    to_EUC_JP_E9_B4_offsets,
+    to_SHIFT_JIS_E9_B4_offsets,
     to_EUC_JP_E9_B4_infos
 };
 
-static const unsigned char
-to_EUC_JP_E9_B5_offsets[64] = {
-     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_EUC_JP_E9_B5_infos[20] = {
      o2(0xF2,0xFA), o2(0xF2,0xF7), o2(0xF2,0xFD), o2(0xF2,0xFE),
@@ -26999,17 +23342,10 @@
 };
 static const BYTE_LOOKUP
 to_EUC_JP_E9_B5 = {
-    to_EUC_JP_E9_B5_offsets,
+    to_SHIFT_JIS_E9_B5_offsets,
     to_EUC_JP_E9_B5_infos
 };
 
-static const unsigned char
-to_EUC_JP_E9_B6_offsets[64] = {
-     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_EUC_JP_E9_B6_infos[14] = {
      o2(0xF3,0xA9), o2(0xF3,0xA8), o2(0xB7,0xDC), o2(0xF3,0xAD),
@@ -27019,17 +23355,10 @@
 };
 static const BYTE_LOOKUP
 to_EUC_JP_E9_B6 = {
-    to_EUC_JP_E9_B6_offsets,
+    to_SHIFT_JIS_E9_B6_offsets,
     to_EUC_JP_E9_B6_infos
 };
 
-static const unsigned char
-to_EUC_JP_E9_B7_offsets[64] = {
-     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_EUC_JP_E9_B7_infos[16] = {
      o2(0xF3,0xB2), o2(0xF3,0xB8), o2(0xF3,0xB1), o2(0xF3,0xB6),
@@ -27039,17 +23368,10 @@
 };
 static const BYTE_LOOKUP
 to_EUC_JP_E9_B7 = {
-    to_EUC_JP_E9_B7_offsets,
+    to_SHIFT_JIS_E9_B7_offsets,
     to_EUC_JP_E9_B7_infos
 };
 
-static const unsigned char
-to_EUC_JP_E9_B8_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,  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_EUC_JP_E9_B8_infos[5] = {
      o2(0xFC,0xED), o2(0xF3,0xC0), o2(0xF3,0xC1), o2(0xF3,0xC2),
@@ -27057,17 +23379,10 @@
 };
 static const BYTE_LOOKUP
 to_EUC_JP_E9_B8 = {
-    to_EUC_JP_E9_B8_offsets,
+    to_SHIFT_JIS_E9_B8_offsets,
     to_EUC_JP_E9_B8_infos
 };
 
-static const unsigned char
-to_EUC_JP_E9_B9_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,  5,  0,  5,  5,    1,  2,  5,  5,  5,  3,  5,  4,
-};
 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),
@@ -27075,17 +23390,10 @@
 };
 static const BYTE_LOOKUP
 to_EUC_JP_E9_B9 = {
-    to_EUC_JP_E9_B9_offsets,
+    to_SHIFT_JIS_E9_B9_offsets,
     to_EUC_JP_E9_B9_infos
 };
 
-static const unsigned char
-to_EUC_JP_E9_BA_offsets[64] = {
-     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_EUC_JP_E9_BA_infos[24] = {
      o2(0xF3,0xC6), o2(0xF3,0xC7), o2(0xF3,0xC8), o2(0xF3,0xC9),
@@ -27097,17 +23405,10 @@
 };
 static const BYTE_LOOKUP
 to_EUC_JP_E9_BA = {
-    to_EUC_JP_E9_BA_offsets,
+    to_SHIFT_JIS_E9_BA_offsets,
     to_EUC_JP_E9_BA_infos
 };
 
-static const unsigned char
-to_EUC_JP_E9_BB_offsets[64] = {
-     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_EUC_JP_E9_BB_infos[27] = {
      o2(0xB2,0xAB), o2(0xF3,0xD4), o2(0xB5,0xD0), o2(0xF3,0xD5),
@@ -27120,17 +23421,10 @@
 };
 static const BYTE_LOOKUP
 to_EUC_JP_E9_BB = {
-    to_EUC_JP_E9_BB_offsets,
+    to_SHIFT_JIS_E9_BB_offsets,
     to_EUC_JP_E9_BB_infos
 };
 
-static const unsigned char
-to_EUC_JP_E9_BC_offsets[64] = {
-     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_EUC_JP_E9_BC_infos[11] = {
      o2(0xF3,0xE7), o2(0xF3,0xE8), o2(0xC5,0xA4), o2(0xB8,0xDD),
@@ -27139,17 +23433,10 @@
 };
 static const BYTE_LOOKUP
 to_EUC_JP_E9_BC = {
-    to_EUC_JP_E9_BC_offsets,
+    to_SHIFT_JIS_E9_BC_offsets,
     to_EUC_JP_E9_BC_infos
 };
 
-static const unsigned char
-to_EUC_JP_E9_BD_offsets[64] = {
-     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_EUC_JP_E9_BD_infos[19] = {
      o2(0xF3,0xEE), o2(0xE3,0xB7), o2(0xEC,0xDA), o2(0xF0,0xED),
@@ -27160,17 +23447,10 @@
 };
 static const BYTE_LOOKUP
 to_EUC_JP_E9_BD = {
-    to_EUC_JP_E9_BD_offsets,
+    to_SHIFT_JIS_E9_BD_offsets,
     to_EUC_JP_E9_BD_infos
 };
 
-static const unsigned char
-to_EUC_JP_E9_BE_offsets[64] = {
-      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_EUC_JP_E9_BE_infos[6] = {
      o2(0xCE,0xB6), o2(0xF3,0xFC), o2(0xF3,0xFD), o2(0xE3,0xD4),
@@ -27178,17 +23458,10 @@
 };
 static const BYTE_LOOKUP
 to_EUC_JP_E9_BE = {
-    to_EUC_JP_E9_BE_offsets,
+    to_SHIFT_JIS_E9_BE_offsets,
     to_EUC_JP_E9_BE_infos
 };
 
-static const unsigned char
-to_EUC_JP_E9_offsets[64] = {
-      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_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,
@@ -27210,51 +23483,30 @@
 };
 static const BYTE_LOOKUP
 to_EUC_JP_E9 = {
-    to_EUC_JP_E9_offsets,
+    to_SHIFT_JIS_E9_offsets,
     to_EUC_JP_E9_infos
 };
 
-static const unsigned char
-to_EUC_JP_EF_A4_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,  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_EUC_JP_EF_A4_infos[2] = {
      o2(0xFA,0xC6),         UNDEF,
 };
 static const BYTE_LOOKUP
 to_EUC_JP_EF_A4 = {
-    to_EUC_JP_EF_A4_offsets,
+    to_SHIFT_JIS_EF_A4_offsets,
     to_EUC_JP_EF_A4_infos
 };
 
-static const unsigned char
-to_EUC_JP_EF_A7_offsets[64] = {
-      1,  1,  1,  1,  1,  1,  1,  1,    1,  1,  1,  1,  1,  1,  1,  1,
-      1,  1,  1,  1,  1,  1,  1,  1,    1,  1,  1,  1,  0,  1,  1,  1,
-      1,  1,  1,  1,  1,  1,  1,  1,    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_EUC_JP_EF_A7_infos[2] = {
      o2(0xFC,0xCF),         UNDEF,
 };
 static const BYTE_LOOKUP
 to_EUC_JP_EF_A7 = {
-    to_EUC_JP_EF_A7_offsets,
+    to_SHIFT_JIS_EF_A7_offsets,
     to_EUC_JP_EF_A7_infos
 };
 
-static const unsigned char
-to_EUC_JP_EF_A8_offsets[64] = {
-     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_EUC_JP_EF_A8_infos[33] = {
      o2(0xF9,0xD4), o2(0xF9,0xDF), o2(0xF9,0xE0), o2(0xF9,0xF5),
@@ -27269,17 +23521,10 @@
 };
 static const BYTE_LOOKUP
 to_EUC_JP_EF_A8 = {
-    to_EUC_JP_EF_A8_offsets,
+    to_SHIFT_JIS_EF_A8_offsets,
     to_EUC_JP_EF_A8_infos
 };
 
-static const unsigned char
-to_EUC_JP_EF_BC_offsets[64] = {
-     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_EUC_JP_EF_BC_infos[62] = {
      o2(0xA1,0xAA), o2(0xFC,0xFE), o2(0xA1,0xF4), o2(0xA1,0xF0),
@@ -27301,17 +23546,10 @@
 };
 static const BYTE_LOOKUP
 to_EUC_JP_EF_BC = {
-    to_EUC_JP_EF_BC_offsets,
+    to_SHIFT_JIS_EF_BC_offsets,
     to_EUC_JP_EF_BC_infos
 };
 
-static const unsigned char
-to_EUC_JP_EF_BD_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, 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_EUC_JP_EF_BD_infos[62] = {
      o2(0xA1,0xAE), o2(0xA3,0xE1), o2(0xA3,0xE2), o2(0xA3,0xE3),
@@ -27333,17 +23571,10 @@
 };
 static const BYTE_LOOKUP
 to_EUC_JP_EF_BD = {
-    to_EUC_JP_EF_BD_offsets,
+    to_SHIFT_JIS_EF_BD_offsets,
     to_EUC_JP_EF_BD_infos
 };
 
-static const unsigned char
-to_EUC_JP_EF_BE_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, 32, 32, 32, 32, 32, 32, 32,   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_EUC_JP_EF_BE_infos[33] = {
      o2(0x8E,0xC0), o2(0x8E,0xC1), o2(0x8E,0xC2), o2(0x8E,0xC3),
@@ -27358,17 +23589,10 @@
 };
 static const BYTE_LOOKUP
 to_EUC_JP_EF_BE = {
-    to_EUC_JP_EF_BE_offsets,
+    to_SHIFT_JIS_EF_BE_offsets,
     to_EUC_JP_EF_BE_infos
 };
 
-static const unsigned char
-to_EUC_JP_EF_offsets[64] = {
-      6,  6,  6,  6,  6,  6,  6,  6,    6,  6,  6,  6,  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_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,
@@ -27376,29 +23600,10 @@
 };
 static const BYTE_LOOKUP
 to_EUC_JP_EF = {
-    to_EUC_JP_EF_offsets,
+    to_SHIFT_JIS_EF_offsets,
     to_EUC_JP_EF_infos
 };
 
-static const unsigned char
-to_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,
-     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_EUC_JP_infos[17] = {
              NOMAP, &to_EUC_JP_C2, &to_EUC_JP_C3, &to_EUC_JP_CE,
@@ -27409,8 +23614,8 @@
 };
 const BYTE_LOOKUP
 to_EUC_JP = {
-    to_EUC_JP_offsets,
+    to_SHIFT_JIS_offsets,
     to_EUC_JP_infos
 };
 
-/* Footprint (bytes): gross: 212680, saved: 0, net: 212680 */
+/* Footprint (bytes): gross: 212680, saved: 50764, net: 161916 */
Index: transcode_data_one_byte.c
===================================================================
--- transcode_data_one_byte.c	(revision 14506)
+++ transcode_data_one_byte.c	(revision 14507)
@@ -4,8 +4,14 @@
 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,
@@ -158,29 +164,6 @@
     to_ISO_8859_1_infos
 };
 
-static const unsigned char
-from_ISO_8859_10_offsets[256] = {
-  /* used from from_ISO_8859_10 */
-  /* used from from_ISO_8859_15 */
-  /* used from from_ISO_8859_2 */
-  /* used from from_ISO_8859_9 */
-      0,  0,  0,  0,  0,  0,  0,  0,    0,  0,  0,  0,  0,  0,  0,  0,
-      0,  0,  0,  0,  0,  0,  0,  0,    0,  0,  0,  0,  0,  0,  0,  0,
-      0,  0,  0,  0,  0,  0,  0,  0,    0,  0,  0,  0,  0,  0,  0,  0,
-      0,  0,  0,  0,  0,  0,  0,  0,    0,  0,  0,  0,  0,  0,  0,  0,
-      0,  0,  0,  0,  0,  0,  0,  0,    0,  0,  0,  0,  0,  0,  0,  0,
-      0,  0,  0,  0,  0,  0,  0,  0,    0,  0,  0,  0,  0,  0,  0,  0,
-      0,  0,  0,  0,  0,  0,  0,  0,    0,  0,  0,  0,  0,  0,  0,  0,
-      0,  0,  0,  0,  0,  0,  0,  0,    0,  0,  0,  0,  0,  0,  0,  0,
-      1,  2,  3,  4,  5,  6,  7,  8,    9, 10, 11, 12, 13, 14, 15, 16,
-     17, 18, 19, 20, 21, 22, 23, 24,   25, 26, 27, 28, 29, 30, 31, 32,
-     33, 34, 35, 36, 37, 38, 39, 40,   41, 42, 43, 44, 45, 46, 47, 48,
-     49, 50, 51, 52, 53, 54, 55, 56,   57, 58, 59, 60, 61, 62, 63, 64,
-     65, 66, 67, 68, 69, 70, 71, 72,   73, 74, 75, 76, 77, 78, 79, 80,
-     81, 82, 83, 84, 85, 86, 87, 88,   89, 90, 91, 92, 93, 94, 95, 96,
-     97, 98, 99,100,101,102,103,104,  105,106,107,108,109,110,111,112,
-    113,114,115,116,117,118,119,120,  121,122,123,124,125,126,127,128,
-};
 static const struct byte_lookup* const
 from_ISO_8859_2_infos[129] = {
              NOMAP, o2(0xC2,0x80), o2(0xC2,0x81), o2(0xC2,0x82),
@@ -219,7 +202,7 @@
 };
 const BYTE_LOOKUP
 from_ISO_8859_2 = {
-    from_ISO_8859_10_offsets,
+    from_ISO_8859_1_offsets,
     from_ISO_8859_2_infos
 };
 
@@ -342,6 +325,7 @@
 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,
@@ -545,25 +529,6 @@
     to_ISO_8859_3_CB_infos
 };
 
-static const unsigned char
-to_ISO_8859_3_offsets[256] = {
-      0,  0,  0,  0,  0,  0,  0,  0,    0,  0,  0,  0,  0,  0,  0,  0,
-      0,  0,  0,  0,  0,  0,  0,  0,    0,  0,  0,  0,  0,  0,  0,  0,
-      0,  0,  0,  0,  0,  0,  0,  0,    0,  0,  0,  0,  0,  0,  0,  0,
-      0,  0,  0,  0,  0,  0,  0,  0,    0,  0,  0,  0,  0,  0,  0,  0,
-      0,  0,  0,  0,  0,  0,  0,  0,    0,  0,  0,  0,  0,  0,  0,  0,
-      0,  0,  0,  0,  0,  0,  0,  0,    0,  0,  0,  0,  0,  0,  0,  0,
-      0,  0,  0,  0,  0,  0,  0,  0,    0,  0,  0,  0,  0,  0,  0,  0,
-      0,  0,  0,  0,  0,  0,  0,  0,    0,  0,  0,  0,  0,  0,  0,  0,
-      6,  6,  6,  6,  6,  6,  6,  6,    6,  6,  6,  6,  6,  6,  6,  6,
-      6,  6,  6,  6,  6,  6,  6,  6,    6,  6,  6,  6,  6,  6,  6,  6,
-      6,  6,  6,  6,  6,  6,  6,  6,    6,  6,  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_3_infos[7] = {
                  NOMAP, &to_ISO_8859_3_C2,
@@ -573,31 +538,10 @@
 };
 const BYTE_LOOKUP
 to_ISO_8859_3 = {
-    to_ISO_8859_3_offsets,
+    to_ISO_8859_2_offsets,
     to_ISO_8859_3_infos
 };
 
-static const unsigned char
-from_ISO_8859_14_offsets[256] = {
-  /* used from from_ISO_8859_14 */
-  /* used from from_ISO_8859_4 */
-      0,  0,  0,  0,  0,  0,  0,  0,    0,  0,  0,  0,  0,  0,  0,  0,
-      0,  0,  0,  0,  0,  0,  0,  0,    0,  0,  0,  0,  0,  0,  0,  0,
-      0,  0,  0,  0,  0,  0,  0,  0,    0,  0,  0,  0,  0,  0,  0,  0,
-      0,  0,  0,  0,  0,  0,  0,  0,    0,  0,  0,  0,  0,  0,  0,  0,
-      0,  0,  0,  0,  0,  0,  0,  0,    0,  0,  0,  0,  0,  0,  0,  0,
-      0,  0,  0,  0,  0,  0,  0,  0,    0,  0,  0,  0,  0,  0,  0,  0,
-      0,  0,  0,  0,  0,  0,  0,  0,    0,  0,  0,  0,  0,  0,  0,  0,
-      0,  0,  0,  0,  0,  0,  0,  0,    0,  0,  0,  0,  0,  0,  0,  0,
-      1,  2,  3,  4,  5,  6,  7,  8,    9, 10, 11, 12, 13, 14, 15, 16,
-     17, 18, 19, 20, 21, 22, 23, 24,   25, 26, 27, 28, 29, 30, 31, 32,
-     33, 34, 35, 36, 37, 38, 39, 40,   41, 42, 43, 44, 45, 46, 47, 48,
-     49, 50, 51, 52, 53, 54, 55, 56,   57, 58, 59, 60, 61, 62, 63, 64,
-     65, 66, 67, 68, 69, 70, 71, 72,   73, 74, 75, 76, 77, 78, 79, 80,
-     81, 82, 83, 84, 85, 86, 87, 88,   89, 90, 91, 92, 93, 94, 95, 96,
-     97, 98, 99,100,101,102,103,104,  105,106,107,108,109,110,111,112,
-    113,114,115,116,117,118,119,120,  121,122,123,124,125,126,127,128,
-};
 static const struct byte_lookup* const
 from_ISO_8859_4_infos[129] = {
              NOMAP, o2(0xC2,0x80), o2(0xC2,0x81), o2(0xC2,0x82),
@@ -636,7 +580,7 @@
 };
 const BYTE_LOOKUP
 from_ISO_8859_4 = {
-    from_ISO_8859_14_offsets,
+    from_ISO_8859_1_offsets,
     from_ISO_8859_4_infos
 };
 
@@ -694,9 +638,9 @@
 };
 
 static const unsigned char
-to_ISO_8859_10_C4_offsets[64] = {
-  /* used from to_ISO_8859_10_C4 */
+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,
@@ -714,7 +658,7 @@
 };
 static const BYTE_LOOKUP
 to_ISO_8859_4_C4 = {
-    to_ISO_8859_10_C4_offsets,
+    to_ISO_8859_4_C4_offsets,
     to_ISO_8859_4_C4_infos
 };
 
@@ -1579,10 +1523,10 @@
 };
 
 static const unsigned char
-to_ISO_8859_10_E2_offsets[64] = {
+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 */
-  /* used from to_ISO_8859_8_E2 */
       0,  1,  1,  1,  1,  1,  1,  1,    1,  1,  1,  1,  1,  1,  1,  1,
       1,  1,  1,  1,  1,  1,  1,  1,    1,  1,  1,  1,  1,  1,  1,  1,
       1,  1,  1,  1,  1,  1,  1,  1,    1,  1,  1,  1,  1,  1,  1,  1,
@@ -1594,7 +1538,7 @@
 };
 static const BYTE_LOOKUP
 to_ISO_8859_8_E2 = {
-    to_ISO_8859_10_E2_offsets,
+    to_ISO_8859_8_E2_offsets,
     to_ISO_8859_8_E2_infos
 };
 
@@ -1667,7 +1611,7 @@
 };
 const BYTE_LOOKUP
 from_ISO_8859_9 = {
-    from_ISO_8859_10_offsets,
+    from_ISO_8859_1_offsets,
     from_ISO_8859_9_infos
 };
 
@@ -1838,7 +1782,7 @@
 };
 const BYTE_LOOKUP
 from_ISO_8859_10 = {
-    from_ISO_8859_10_offsets,
+    from_ISO_8859_1_offsets,
     from_ISO_8859_10_infos
 };
 
@@ -1908,7 +1852,7 @@
 };
 static const BYTE_LOOKUP
 to_ISO_8859_10_C4 = {
-    to_ISO_8859_10_C4_offsets,
+    to_ISO_8859_4_C4_offsets,
     to_ISO_8859_10_C4_infos
 };
 
@@ -1956,7 +1900,7 @@
 };
 static const BYTE_LOOKUP
 to_ISO_8859_10_E2 = {
-    to_ISO_8859_10_E2_offsets,
+    to_ISO_8859_8_E2_offsets,
     to_ISO_8859_10_E2_infos
 };
 
@@ -2407,7 +2351,7 @@
 };
 static const BYTE_LOOKUP
 to_ISO_8859_13_E2 = {
-    to_ISO_8859_10_E2_offsets,
+    to_ISO_8859_8_E2_offsets,
     to_ISO_8859_13_E2_infos
 };
 
@@ -2494,7 +2438,7 @@
 };
 const BYTE_LOOKUP
 from_ISO_8859_14 = {
-    from_ISO_8859_14_offsets,
+    from_ISO_8859_1_offsets,
     from_ISO_8859_14_infos
 };
 
@@ -2784,7 +2728,7 @@
 };
 const BYTE_LOOKUP
 from_ISO_8859_15 = {
-    from_ISO_8859_10_offsets,
+    from_ISO_8859_1_offsets,
     from_ISO_8859_15_infos
 };
 
@@ -2902,4 +2846,4 @@
     to_ISO_8859_15_infos
 };
 
-/* Footprint (bytes): gross: 27556, saved: 3728, net: 23828 */
+/* Footprint (bytes): gross: 26788, saved: 3728, net: 23060 */

--
ML: ruby-changes@q...
Info: http://www.atdot.net/~ko1/quickml

[前][次][番号順一覧][スレッド一覧]