Enhance multibyte support.
authorTatsuo Ishii
Sat, 20 May 2000 13:12:26 +0000 (13:12 +0000)
committerTatsuo Ishii
Sat, 20 May 2000 13:12:26 +0000 (13:12 +0000)
SJIS UDC (NEC selection IBM kanji) support contributed by Eiji Tokuya

src/backend/utils/mb/conv.c

index b274440e7f01236dbe8bd1f5d3ac86f4620da01e..7ee42f0e336f155fd008192da80c3545487f87e7 100644 (file)
@@ -2,9 +2,11 @@
  * conversion between client encoding and server internal encoding
  * (currently mule internal code (mic) is used)
  * Tatsuo Ishii
+ *
  * WIN1250 client encoding support contributed by Pavel Behal
+ * SJIS UDC (NEC selection IBM kanji) support contributed by Eiji Tokuya
  *
- * $Id: conv.c,v 1.14 2000/04/12 17:16:06 momjian Exp $
+ * $Id: conv.c,v 1.15 2000/05/20 13:12:26 ishii Exp $
  *
  *
  */
 /*
  * conversion table between SJIS UDC (IBM kanji) and EUC_JP
  */
+/* Eiji Tokuya patched begin */
 static struct
 {
-   int         sjis;           /* SJIS UDC (IBM kanji) */
+   unsigned short int nec;     /* SJIS UDC (NEC selection IBM kanji) */
+   unsigned short int sjis;    /* SJIS UDC (IBM kanji) */
    int         euc;            /* EUC_JP */
-}          ibmkanji[] =
-
-{
-   {
-       0xfa40, 0x8ff3f3
-   },
-   {
-       0xfa41, 0x8ff3f4
-   },
-   {
-       0xfa42, 0x8ff3f5
-   },
-   {
-       0xfa43, 0x8ff3f6
-   },
-   {
-       0xfa44, 0x8ff3f7
-   },
-   {
-       0xfa45, 0x8ff3f8
-   },
-   {
-       0xfa46, 0x8ff3f9
-   },
-   {
-       0xfa47, 0x8ff3fa
-   },
-   {
-       0xfa48, 0x8ff3fb
-   },
-   {
-       0xfa49, 0x8ff3fc
-   },
-   {
-       0xfa4a, 0x8ff3fd
-   },
-   {
-       0xfa4b, 0x8ff3fe
-   },
-   {
-       0xfa4c, 0x8ff4a1
-   },
-   {
-       0xfa4d, 0x8ff4a2
-   },
-   {
-       0xfa4e, 0x8ff4a3
-   },
-   {
-       0xfa4f, 0x8ff4a4
-   },
-   {
-       0xfa50, 0x8ff4a5
-   },
-   {
-       0xfa51, 0x8ff4a6
-   },
-   {
-       0xfa52, 0x8ff4a7
-   },
-   {
-       0xfa53, 0x8ff4a8
-   },
-   {
-       0xfa54, 0xa2cc
-   },
-   {
-       0xfa55, 0x8fa2c3
-   },
-   {
-       0xfa56, 0x8ff4a9
-   },
-   {
-       0xfa57, 0x8ff4aa
-   },
-   {
-       0xfa58, 0x8ff4ab
-   },
-   {
-       0xfa59, 0x8ff4ac
-   },
-   {
-       0xfa5a, 0x8ff4ad
-   },
-   {
-       0xfa5b, 0xa2e8
-   },
-   {
-       0xfa5c, 0x8fd4e3
-   },
-   {
-       0xfa5d, 0x8fdcdf
-   },
-   {
-       0xfa5e, 0x8fe4e9
-   },
-   {
-       0xfa5f, 0x8fe3f8
-   },
-   {
-       0xfa60, 0x8fd9a1
-   },
-   {
-       0xfa61, 0x8fb1bb
-   },
-   {
-       0xfa62, 0x8ff4ae
-   },
-   {
-       0xfa63, 0x8fc2ad
-   },
-   {
-       0xfa64, 0x8fc3fc
-   },
-   {
-       0xfa65, 0x8fe4d0
-   },
-   {
-       0xfa66, 0x8fc2bf
-   },
-   {
-       0xfa67, 0x8fbcf4
-   },
-   {
-       0xfa68, 0x8fb0a9
-   },
-   {
-       0xfa69, 0x8fb0c8
-   },
-   {
-       0xfa6a, 0x8ff4af
-   },
-   {
-       0xfa6b, 0x8fb0d2
-   },
-   {
-       0xfa6c, 0x8fb0d4
-   },
-   {
-       0xfa6d, 0x8fb0e3
-   },
-   {
-       0xfa6e, 0x8fb0ee
-   },
-   {
-       0xfa6f, 0x8fb1a7
-   },
-   {
-       0xfa70, 0x8fb1a3
-   },
-   {
-       0xfa71, 0x8fb1ac
-   },
-   {
-       0xfa72, 0x8fb1a9
-   },
-   {
-       0xfa73, 0x8fb1be
-   },
-   {
-       0xfa74, 0x8fb1df
-   },
-   {
-       0xfa75, 0x8fb1d8
-   },
-   {
-       0xfa76, 0x8fb1c8
-   },
-   {
-       0xfa77, 0x8fb1d7
-   },
-   {
-       0xfa78, 0x8fb1e3
-   },
-   {
-       0xfa79, 0x8fb1f4
-   },
-   {
-       0xfa7a, 0x8fb1e1
-   },
-   {
-       0xfa7b, 0x8fb2a3
-   },
-   {
-       0xfa7c, 0x8ff4b0
-   },
-   {
-       0xfa7d, 0x8fb2bb
-   },
-   {
-       0xfa7e, 0x8fb2e6
-   },
-   {
-       0xfa80, 0x8fb2ed
-   },
-   {
-       0xfa81, 0x8fb2f5
-   },
-   {
-       0xfa82, 0x8fb2fc
-   },
-   {
-       0xfa83, 0x8ff4b1
-   },
-   {
-       0xfa84, 0x8fb3b5
-   },
-   {
-       0xfa85, 0x8fb3d8
-   },
-   {
-       0xfa86, 0x8fb3db
-   },
-   {
-       0xfa87, 0x8fb3e5
-   },
-   {
-       0xfa88, 0x8fb3ee
-   },
-   {
-       0xfa89, 0x8fb3fb
-   },
-   {
-       0xfa8a, 0x8ff4b2
-   },
-   {
-       0xfa8b, 0x8ff4b3
-   },
-   {
-       0xfa8c, 0x8fb4c0
-   },
-   {
-       0xfa8d, 0x8fb4c7
-   },
-   {
-       0xfa8e, 0x8fb4d0
-   },
-   {
-       0xfa8f, 0x8fb4de
-   },
-   {
-       0xfa90, 0x8ff4b4
-   },
-   {
-       0xfa91, 0x8fb5aa
-   },
-   {
-       0xfa92, 0x8ff4b5
-   },
-   {
-       0xfa93, 0x8fb5af
-   },
-   {
-       0xfa94, 0x8fb5c4
-   },
-   {
-       0xfa95, 0x8fb5e8
-   },
-   {
-       0xfa96, 0x8ff4b6
-   },
-   {
-       0xfa97, 0x8fb7c2
-   },
-   {
-       0xfa98, 0x8fb7e4
-   },
-   {
-       0xfa99, 0x8fb7e8
-   },
-   {
-       0xfa9a, 0x8fb7e7
-   },
-   {
-       0xfa9b, 0x8ff4b7
-   },
-   {
-       0xfa9c, 0x8ff4b8
-   },
-   {
-       0xfa9d, 0x8ff4b9
-   },
-   {
-       0xfa9e, 0x8fb8ce
-   },
-   {
-       0xfa9f, 0x8fb8e1
-   },
-   {
-       0xfaa0, 0x8fb8f5
-   },
-   {
-       0xfaa1, 0x8fb8f7
-   },
-   {
-       0xfaa2, 0x8fb8f8
-   },
-   {
-       0xfaa3, 0x8fb8fc
-   },
-   {
-       0xfaa4, 0x8fb9af
-   },
-   {
-       0xfaa5, 0x8fb9b7
-   },
-   {
-       0xfaa6, 0x8fbabe
-   },
-   {
-       0xfaa7, 0x8fbadb
-   },
-   {
-       0xfaa8, 0x8fcdaa
-   },
-   {
-       0xfaa9, 0x8fbae1
-   },
-   {
-       0xfaaa, 0x8ff4ba
-   },
-   {
-       0xfaab, 0x8fbaeb
-   },
-   {
-       0xfaac, 0x8fbbb3
-   },
-   {
-       0xfaad, 0x8fbbb8
-   },
-   {
-       0xfaae, 0x8ff4bb
-   },
-   {
-       0xfaaf, 0x8fbbca
-   },
-   {
-       0xfab0, 0x8ff4bc
-   },
-   {
-       0xfab1, 0x8ff4bd
-   },
-   {
-       0xfab2, 0x8fbbd0
-   },
-   {
-       0xfab3, 0x8fbbde
-   },
-   {
-       0xfab4, 0x8fbbf4
-   },
-   {
-       0xfab5, 0x8fbbf5
-   },
-   {
-       0xfab6, 0x8fbbf9
-   },
-   {
-       0xfab7, 0x8fbce4
-   },
-   {
-       0xfab8, 0x8fbced
-   },
-   {
-       0xfab9, 0x8fbcfe
-   },
-   {
-       0xfaba, 0x8ff4be
-   },
-   {
-       0xfabb, 0x8fbdc2
-   },
-   {
-       0xfabc, 0x8fbde7
-   },
-   {
-       0xfabd, 0x8ff4bf
-   },
-   {
-       0xfabe, 0x8fbdf0
-   },
-   {
-       0xfabf, 0x8fbeb0
-   },
-   {
-       0xfac0, 0x8fbeac
-   },
-   {
-       0xfac1, 0x8ff4c0
-   },
-   {
-       0xfac2, 0x8fbeb3
-   },
-   {
-       0xfac3, 0x8fbebd
-   },
-   {
-       0xfac4, 0x8fbecd
-   },
-   {
-       0xfac5, 0x8fbec9
-   },
-   {
-       0xfac6, 0x8fbee4
-   },
-   {
-       0xfac7, 0x8fbfa8
-   },
-   {
-       0xfac8, 0x8fbfc9
-   },
-   {
-       0xfac9, 0x8fc0c4
-   },
-   {
-       0xfaca, 0x8fc0e4
-   },
-   {
-       0xfacb, 0x8fc0f4
-   },
-   {
-       0xfacc, 0x8fc1a6
-   },
-   {
-       0xfacd, 0x8ff4c1
-   },
-   {
-       0xface, 0x8fc1f5
-   },
-   {
-       0xfacf, 0x8fc1fc
-   },
-   {
-       0xfad0, 0x8ff4c2
-   },
-   {
-       0xfad1, 0x8fc1f8
-   },
-   {
-       0xfad2, 0x8fc2ab
-   },
-   {
-       0xfad3, 0x8fc2a1
-   },
-   {
-       0xfad4, 0x8fc2a5
-   },
-   {
-       0xfad5, 0x8ff4c3
-   },
-   {
-       0xfad6, 0x8fc2b8
-   },
-   {
-       0xfad7, 0x8fc2ba
-   },
-   {
-       0xfad8, 0x8ff4c4
-   },
-   {
-       0xfad9, 0x8fc2c4
-   },
-   {
-       0xfada, 0x8fc2d2
-   },
-   {
-       0xfadb, 0x8fc2d7
-   },
-   {
-       0xfadc, 0x8fc2db
-   },
-   {
-       0xfadd, 0x8fc2de
-   },
-   {
-       0xfade, 0x8fc2ed
-   },
-   {
-       0xfadf, 0x8fc2f0
-   },
-   {
-       0xfae0, 0x8ff4c5
-   },
-   {
-       0xfae1, 0x8fc3a1
-   },
-   {
-       0xfae2, 0x8fc3b5
-   },
-   {
-       0xfae3, 0x8fc3c9
-   },
-   {
-       0xfae4, 0x8fc3b9
-   },
-   {
-       0xfae5, 0x8ff4c6
-   },
-   {
-       0xfae6, 0x8fc3d8
-   },
-   {
-       0xfae7, 0x8fc3fe
-   },
-   {
-       0xfae8, 0x8ff4c7
-   },
-   {
-       0xfae9, 0x8fc4cc
-   },
-   {
-       0xfaea, 0x8ff4c8
-   },
-   {
-       0xfaeb, 0x8fc4d9
-   },
-   {
-       0xfaec, 0x8fc4ea
-   },
-   {
-       0xfaed, 0x8fc4fd
-   },
-   {
-       0xfaee, 0x8ff4c9
-   },
-   {
-       0xfaef, 0x8fc5a7
-   },
-   {
-       0xfaf0, 0x8fc5b5
-   },
-   {
-       0xfaf1, 0x8fc5b6
-   },
-   {
-       0xfaf2, 0x8ff4ca
-   },
-   {
-       0xfaf3, 0x8fc5d5
-   },
-   {
-       0xfaf4, 0x8fc6b8
-   },
-   {
-       0xfaf5, 0x8fc6d7
-   },
-   {
-       0xfaf6, 0x8fc6e0
-   },
-   {
-       0xfaf7, 0x8fc6ea
-   },
-   {
-       0xfaf8, 0x8fc6e3
-   },
-   {
-       0xfaf9, 0x8fc7a1
-   },
-   {
-       0xfafa, 0x8fc7ab
-   },
-   {
-       0xfafb, 0x8fc7c7
-   },
-   {
-       0xfafc, 0x8fc7c3
-   },
-   {
-       0xfb40, 0x8fc7cb
-   },
-   {
-       0xfb41, 0x8fc7cf
-   },
-   {
-       0xfb42, 0x8fc7d9
-   },
-   {
-       0xfb43, 0x8ff4cb
-   },
-   {
-       0xfb44, 0x8ff4cc
-   },
-   {
-       0xfb45, 0x8fc7e6
-   },
-   {
-       0xfb46, 0x8fc7ee
-   },
-   {
-       0xfb47, 0x8fc7fc
-   },
-   {
-       0xfb48, 0x8fc7eb
-   },
-   {
-       0xfb49, 0x8fc7f0
-   },
-   {
-       0xfb4a, 0x8fc8b1
-   },
-   {
-       0xfb4b, 0x8fc8e5
-   },
-   {
-       0xfb4c, 0x8fc8f8
-   },
-   {
-       0xfb4d, 0x8fc9a6
-   },
-   {
-       0xfb4e, 0x8fc9ab
-   },
-   {
-       0xfb4f, 0x8fc9ad
-   },
-   {
-       0xfb50, 0x8ff4cd
-   },
-   {
-       0xfb51, 0x8fc9ca
-   },
-   {
-       0xfb52, 0x8fc9d3
-   },
-   {
-       0xfb53, 0x8fc9e9
-   },
-   {
-       0xfb54, 0x8fc9e3
-   },
-   {
-       0xfb55, 0x8fc9fc
-   },
-   {
-       0xfb56, 0x8fc9f4
-   },
-   {
-       0xfb57, 0x8fc9f5
-   },
-   {
-       0xfb58, 0x8ff4ce
-   },
-   {
-       0xfb59, 0x8fcab3
-   },
-   {
-       0xfb5a, 0x8fcabd
-   },
-   {
-       0xfb5b, 0x8fcaef
-   },
-   {
-       0xfb5c, 0x8fcaf1
-   },
-   {
-       0xfb5d, 0x8fcbae
-   },
-   {
-       0xfb5e, 0x8ff4cf
-   },
-   {
-       0xfb5f, 0x8fcbca
-   },
-   {
-       0xfb60, 0x8fcbe6
-   },
-   {
-       0xfb61, 0x8fcbea
-   },
-   {
-       0xfb62, 0x8fcbf0
-   },
-   {
-       0xfb63, 0x8fcbf4
-   },
-   {
-       0xfb64, 0x8fcbee
-   },
-   {
-       0xfb65, 0x8fcca5
-   },
-   {
-       0xfb66, 0x8fcbf9
-   },
-   {
-       0xfb67, 0x8fccab
-   },
-   {
-       0xfb68, 0x8fccae
-   },
-   {
-       0xfb69, 0x8fccad
-   },
-   {
-       0xfb6a, 0x8fccb2
-   },
-   {
-       0xfb6b, 0x8fccc2
-   },
-   {
-       0xfb6c, 0x8fccd0
-   },
-   {
-       0xfb6d, 0x8fccd9
-   },
-   {
-       0xfb6e, 0x8ff4d0
-   },
-   {
-       0xfb6f, 0x8fcdbb
-   },
-   {
-       0xfb70, 0x8ff4d1
-   },
-   {
-       0xfb71, 0x8fcebb
-   },
-   {
-       0xfb72, 0x8ff4d2
-   },
-   {
-       0xfb73, 0x8fceba
-   },
-   {
-       0xfb74, 0x8fcec3
-   },
-   {
-       0xfb75, 0x8ff4d3
-   },
-   {
-       0xfb76, 0x8fcef2
-   },
-   {
-       0xfb77, 0x8fb3dd
-   },
-   {
-       0xfb78, 0x8fcfd5
-   },
-   {
-       0xfb79, 0x8fcfe2
-   },
-   {
-       0xfb7a, 0x8fcfe9
-   },
-   {
-       0xfb7b, 0x8fcfed
-   },
-   {
-       0xfb7c, 0x8ff4d4
-   },
-   {
-       0xfb7d, 0x8ff4d5
-   },
-   {
-       0xfb7e, 0x8ff4d6
-   },
-   {
-       0xfb80, 0x8ff4d7
-   },
-   {
-       0xfb81, 0x8fd0e5
-   },
-   {
-       0xfb82, 0x8ff4d8
-   },
-   {
-       0xfb83, 0x8fd0e9
-   },
-   {
-       0xfb84, 0x8fd1e8
-   },
-   {
-       0xfb85, 0x8ff4d9
-   },
-   {
-       0xfb86, 0x8ff4da
-   },
-   {
-       0xfb87, 0x8fd1ec
-   },
-   {
-       0xfb88, 0x8fd2bb
-   },
-   {
-       0xfb89, 0x8ff4db
-   },
-   {
-       0xfb8a, 0x8fd3e1
-   },
-   {
-       0xfb8b, 0x8fd3e8
-   },
-   {
-       0xfb8c, 0x8fd4a7
-   },
-   {
-       0xfb8d, 0x8ff4dc
-   },
-   {
-       0xfb8e, 0x8ff4dd
-   },
-   {
-       0xfb8f, 0x8fd4d4
-   },
-   {
-       0xfb90, 0x8fd4f2
-   },
-   {
-       0xfb91, 0x8fd5ae
-   },
-   {
-       0xfb92, 0x8ff4de
-   },
-   {
-       0xfb93, 0x8fd7de
-   },
-   {
-       0xfb94, 0x8ff4df
-   },
-   {
-       0xfb95, 0x8fd8a2
-   },
-   {
-       0xfb96, 0x8fd8b7
-   },
-   {
-       0xfb97, 0x8fd8c1
-   },
-   {
-       0xfb98, 0x8fd8d1
-   },
-   {
-       0xfb99, 0x8fd8f4
-   },
-   {
-       0xfb9a, 0x8fd9c6
-   },
-   {
-       0xfb9b, 0x8fd9c8
-   },
-   {
-       0xfb9c, 0x8fd9d1
-   },
-   {
-       0xfb9d, 0x8ff4e0
-   },
-   {
-       0xfb9e, 0x8ff4e1
-   },
-   {
-       0xfb9f, 0x8ff4e2
-   },
-   {
-       0xfba0, 0x8ff4e3
-   },
-   {
-       0xfba1, 0x8ff4e4
-   },
-   {
-       0xfba2, 0x8fdcd3
-   },
-   {
-       0xfba3, 0x8fddc8
-   },
-   {
-       0xfba4, 0x8fddd4
-   },
-   {
-       0xfba5, 0x8fddea
-   },
-   {
-       0xfba6, 0x8fddfa
-   },
-   {
-       0xfba7, 0x8fdea4
-   },
-   {
-       0xfba8, 0x8fdeb0
-   },
-   {
-       0xfba9, 0x8ff4e5
-   },
-   {
-       0xfbaa, 0x8fdeb5
-   },
-   {
-       0xfbab, 0x8fdecb
-   },
-   {
-       0xfbac, 0x8ff4e6
-   },
-   {
-       0xfbad, 0x8fdfb9
-   },
-   {
-       0xfbae, 0x8ff4e7
-   },
-   {
-       0xfbaf, 0x8fdfc3
-   },
-   {
-       0xfbb0, 0x8ff4e8
-   },
-   {
-       0xfbb1, 0x8ff4e9
-   },
-   {
-       0xfbb2, 0x8fe0d9
-   },
-   {
-       0xfbb3, 0x8ff4ea
-   },
-   {
-       0xfbb4, 0x8ff4eb
-   },
-   {
-       0xfbb5, 0x8fe1e2
-   },
-   {
-       0xfbb6, 0x8ff4ec
-   },
-   {
-       0xfbb7, 0x8ff4ed
-   },
-   {
-       0xfbb8, 0x8ff4ee
-   },
-   {
-       0xfbb9, 0x8fe2c7
-   },
-   {
-       0xfbba, 0x8fe3a8
-   },
-   {
-       0xfbbb, 0x8fe3a6
-   },
-   {
-       0xfbbc, 0x8fe3a9
-   },
-   {
-       0xfbbd, 0x8fe3af
-   },
-   {
-       0xfbbe, 0x8fe3b0
-   },
-   {
-       0xfbbf, 0x8fe3aa
-   },
-   {
-       0xfbc0, 0x8fe3ab
-   },
-   {
-       0xfbc1, 0x8fe3bc
-   },
-   {
-       0xfbc2, 0x8fe3c1
-   },
-   {
-       0xfbc3, 0x8fe3bf
-   },
-   {
-       0xfbc4, 0x8fe3d5
-   },
-   {
-       0xfbc5, 0x8fe3d8
-   },
-   {
-       0xfbc6, 0x8fe3d6
-   },
-   {
-       0xfbc7, 0x8fe3df
-   },
-   {
-       0xfbc8, 0x8fe3e3
-   },
-   {
-       0xfbc9, 0x8fe3e1
-   },
-   {
-       0xfbca, 0x8fe3d4
-   },
-   {
-       0xfbcb, 0x8fe3e9
-   },
-   {
-       0xfbcc, 0x8fe4a6
-   },
-   {
-       0xfbcd, 0x8fe3f1
-   },
-   {
-       0xfbce, 0x8fe3f2
-   },
-   {
-       0xfbcf, 0x8fe4cb
-   },
-   {
-       0xfbd0, 0x8fe4c1
-   },
-   {
-       0xfbd1, 0x8fe4c3
-   },
-   {
-       0xfbd2, 0x8fe4be
-   },
-   {
-       0xfbd3, 0x8ff4ef
-   },
-   {
-       0xfbd4, 0x8fe4c0
-   },
-   {
-       0xfbd5, 0x8fe4c7
-   },
-   {
-       0xfbd6, 0x8fe4bf
-   },
-   {
-       0xfbd7, 0x8fe4e0
-   },
-   {
-       0xfbd8, 0x8fe4de
-   },
-   {
-       0xfbd9, 0x8fe4d1
-   },
-   {
-       0xfbda, 0x8ff4f0
-   },
-   {
-       0xfbdb, 0x8fe4dc
-   },
-   {
-       0xfbdc, 0x8fe4d2
-   },
-   {
-       0xfbdd, 0x8fe4db
-   },
-   {
-       0xfbde, 0x8fe4d4
-   },
-   {
-       0xfbdf, 0x8fe4fa
-   },
-   {
-       0xfbe0, 0x8fe4ef
-   },
-   {
-       0xfbe1, 0x8fe5b3
-   },
-   {
-       0xfbe2, 0x8fe5bf
-   },
-   {
-       0xfbe3, 0x8fe5c9
-   },
-   {
-       0xfbe4, 0x8fe5d0
-   },
-   {
-       0xfbe5, 0x8fe5e2
-   },
-   {
-       0xfbe6, 0x8fe5ea
-   },
-   {
-       0xfbe7, 0x8fe5eb
-   },
-   {
-       0xfbe8, 0x8ff4f1
-   },
-   {
-       0xfbe9, 0x8ff4f2
-   },
-   {
-       0xfbea, 0x8ff4f3
-   },
-   {
-       0xfbeb, 0x8fe6e8
-   },
-   {
-       0xfbec, 0x8fe6ef
-   },
-   {
-       0xfbed, 0x8fe7ac
-   },
-   {
-       0xfbee, 0x8ff4f4
-   },
-   {
-       0xfbef, 0x8fe7ae
-   },
-   {
-       0xfbf0, 0x8ff4f5
-   },
-   {
-       0xfbf1, 0x8fe7b1
-   },
-   {
-       0xfbf2, 0x8ff4f6
-   },
-   {
-       0xfbf3, 0x8fe7b2
-   },
-   {
-       0xfbf4, 0x8fe8b1
-   },
-   {
-       0xfbf5, 0x8fe8b6
-   },
-   {
-       0xfbf6, 0x8ff4f7
-   },
-   {
-       0xfbf7, 0x8ff4f8
-   },
-   {
-       0xfbf8, 0x8fe8dd
-   },
-   {
-       0xfbf9, 0x8ff4f9
-   },
-   {
-       0xfbfa, 0x8ff4fa
-   },
-   {
-       0xfbfb, 0x8fe9d1
-   },
-   {
-       0xfbfc, 0x8ff4fb
-   },
-   {
-       0xfc40, 0x8fe9ed
-   },
-   {
-       0xfc41, 0x8feacd
-   },
-   {
-       0xfc42, 0x8ff4fc
-   },
-   {
-       0xfc43, 0x8feadb
-   },
-   {
-       0xfc44, 0x8feae6
-   },
-   {
-       0xfc45, 0x8feaea
-   },
-   {
-       0xfc46, 0x8feba5
-   },
-   {
-       0xfc47, 0x8febfb
-   },
-   {
-       0xfc48, 0x8febfa
-   },
-   {
-       0xfc49, 0x8ff4fd
-   },
-   {
-       0xfc4a, 0x8fecd6
-   },
-   {
-       0xfc4b, 0x8ff4fe
-   },
-   {
-       0xffff, 0xffff
-   }                           /* stop code */
+} ibmkanji[] = {
+{  0xEEEF  ,   0xfa40   ,   0x8ff3f3   },
+{  0xEEF0  ,   0xfa41   ,   0x8ff3f4   },
+{  0xEEF1  ,   0xfa42   ,   0x8ff3f5   },
+{  0xEEF2  ,   0xfa43   ,   0x8ff3f6   },
+{  0xEEF3  ,   0xfa44   ,   0x8ff3f7   },
+{  0xEEF4  ,   0xfa45   ,   0x8ff3f8   },
+{  0xEEF5  ,   0xfa46   ,   0x8ff3f9   },
+{  0xEEF6  ,   0xfa47   ,   0x8ff3fa   },
+{  0xEEF7  ,   0xfa48   ,   0x8ff3fb   },
+{  0xEEF8  ,   0xfa49   ,   0x8ff3fc   },
+{  0x8754  ,   0xfa4a   ,   0x8ff3fd   },
+{  0x8755  ,   0xfa4b   ,   0x8ff3fe   },
+{  0x8756  ,   0xfa4c   ,   0x8ff4a1   },
+{  0x8757  ,   0xfa4d   ,   0x8ff4a2   },
+{  0x8758  ,   0xfa4e   ,   0x8ff4a3   },
+{  0x8759  ,   0xfa4f   ,   0x8ff4a4   },
+{  0x875A  ,   0xfa50   ,   0x8ff4a5   },
+{  0x875B  ,   0xfa51   ,   0x8ff4a6   },
+{  0x875C  ,   0xfa52   ,   0x8ff4a7   },
+{  0x875D  ,   0xfa53   ,   0x8ff4a8   },
+{  0xEEF9  ,   0xfa54   ,   0xa2cc },
+{  0xEEFA  ,   0xfa55   ,   0x8fa2c3   },
+{  0xEEFB  ,   0xfa56   ,   0x8ff4a9   },
+{  0xEEFC  ,   0xfa57   ,   0x8ff4aa   },
+{  0x878A  ,   0xfa58   ,   0x8ff4ab   },
+{  0x8782  ,   0xfa59   ,   0x8ff4ac   },
+{  0x8784  ,   0xfa5a   ,   0x8ff4ad   },
+{  0x879A  ,   0xfa5b   ,   0xa2e8 },
+{  0xED40  ,   0xfa5c   ,   0x8fd4e3   },
+{  0xED41  ,   0xfa5d   ,   0x8fdcdf   },
+{  0xED42  ,   0xfa5e   ,   0x8fe4e9   },
+{  0xED43  ,   0xfa5f   ,   0x8fe3f8   },
+{  0xED44  ,   0xfa60   ,   0x8fd9a1   },
+{  0xED45  ,   0xfa61   ,   0x8fb1bb   },
+{  0xED46  ,   0xfa62   ,   0x8ff4ae   },
+{  0xED47  ,   0xfa63   ,   0x8fc2ad   },
+{  0xED48  ,   0xfa64   ,   0x8fc3fc   },
+{  0xED49  ,   0xfa65   ,   0x8fe4d0   },
+{  0xED4A  ,   0xfa66   ,   0x8fc2bf   },
+{  0xED4B  ,   0xfa67   ,   0x8fbcf4   },
+{  0xED4C  ,   0xfa68   ,   0x8fb0a9   },
+{  0xED4D  ,   0xfa69   ,   0x8fb0c8   },
+{  0xED4E  ,   0xfa6a   ,   0x8ff4af   },
+{  0xED4F  ,   0xfa6b   ,   0x8fb0d2   },
+{  0xED50  ,   0xfa6c   ,   0x8fb0d4   },
+{  0xED51  ,   0xfa6d   ,   0x8fb0e3   },
+{  0xED52  ,   0xfa6e   ,   0x8fb0ee   },
+{  0xED53  ,   0xfa6f   ,   0x8fb1a7   },
+{  0xED54  ,   0xfa70   ,   0x8fb1a3   },
+{  0xED55  ,   0xfa71   ,   0x8fb1ac   },
+{  0xED56  ,   0xfa72   ,   0x8fb1a9   },
+{  0xED57  ,   0xfa73   ,   0x8fb1be   },
+{  0xED58  ,   0xfa74   ,   0x8fb1df   },
+{  0xED59  ,   0xfa75   ,   0x8fb1d8   },
+{  0xED5A  ,   0xfa76   ,   0x8fb1c8   },
+{  0xED5B  ,   0xfa77   ,   0x8fb1d7   },
+{  0xED5C  ,   0xfa78   ,   0x8fb1e3   },
+{  0xED5D  ,   0xfa79   ,   0x8fb1f4   },
+{  0xED5E  ,   0xfa7a   ,   0x8fb1e1   },
+{  0xED5F  ,   0xfa7b   ,   0x8fb2a3   },
+{  0xED60  ,   0xfa7c   ,   0x8ff4b0   },
+{  0xED61  ,   0xfa7d   ,   0x8fb2bb   },
+{  0xED62  ,   0xfa7e   ,   0x8fb2e6   },
+{  0xED63  ,   0xfa80   ,   0x8fb2ed   },
+{  0xED64  ,   0xfa81   ,   0x8fb2f5   },
+{  0xED65  ,   0xfa82   ,   0x8fb2fc   },
+{  0xED66  ,   0xfa83   ,   0x8ff4b1   },
+{  0xED67  ,   0xfa84   ,   0x8fb3b5   },
+{  0xED68  ,   0xfa85   ,   0x8fb3d8   },
+{  0xED69  ,   0xfa86   ,   0x8fb3db   },
+{  0xED6A  ,   0xfa87   ,   0x8fb3e5   },
+{  0xED6B  ,   0xfa88   ,   0x8fb3ee   },
+{  0xED6C  ,   0xfa89   ,   0x8fb3fb   },
+{  0xED6D  ,   0xfa8a   ,   0x8ff4b2   },
+{  0xED6E  ,   0xfa8b   ,   0x8ff4b3   },
+{  0xED6F  ,   0xfa8c   ,   0x8fb4c0   },
+{  0xED70  ,   0xfa8d   ,   0x8fb4c7   },
+{  0xED71  ,   0xfa8e   ,   0x8fb4d0   },
+{  0xED72  ,   0xfa8f   ,   0x8fb4de   },
+{  0xED73  ,   0xfa90   ,   0x8ff4b4   },
+{  0xED74  ,   0xfa91   ,   0x8fb5aa   },
+{  0xED75  ,   0xfa92   ,   0x8ff4b5   },
+{  0xED76  ,   0xfa93   ,   0x8fb5af   },
+{  0xED77  ,   0xfa94   ,   0x8fb5c4   },
+{  0xED78  ,   0xfa95   ,   0x8fb5e8   },
+{  0xED79  ,   0xfa96   ,   0x8ff4b6   },
+{  0xED7A  ,   0xfa97   ,   0x8fb7c2   },
+{  0xED7B  ,   0xfa98   ,   0x8fb7e4   },
+{  0xED7C  ,   0xfa99   ,   0x8fb7e8   },
+{  0xED7D  ,   0xfa9a   ,   0x8fb7e7   },
+{  0xED7E  ,   0xfa9b   ,   0x8ff4b7   },
+{  0xED80  ,   0xfa9c   ,   0x8ff4b8   },
+{  0xED81  ,   0xfa9d   ,   0x8ff4b9   },
+{  0xED82  ,   0xfa9e   ,   0x8fb8ce   },
+{  0xED83  ,   0xfa9f   ,   0x8fb8e1   },
+{  0xED84  ,   0xfaa0   ,   0x8fb8f5   },
+{  0xED85  ,   0xfaa1   ,   0x8fb8f7   },
+{  0xED86  ,   0xfaa2   ,   0x8fb8f8   },
+{  0xED87  ,   0xfaa3   ,   0x8fb8fc   },
+{  0xED88  ,   0xfaa4   ,   0x8fb9af   },
+{  0xED89  ,   0xfaa5   ,   0x8fb9b7   },
+{  0xED8A  ,   0xfaa6   ,   0x8fbabe   },
+{  0xED8B  ,   0xfaa7   ,   0x8fbadb   },
+{  0xED8C  ,   0xfaa8   ,   0x8fcdaa   },
+{  0xED8D  ,   0xfaa9   ,   0x8fbae1   },
+{  0xED8E  ,   0xfaaa   ,   0x8ff4ba   },
+{  0xED8F  ,   0xfaab   ,   0x8fbaeb   },
+{  0xED90  ,   0xfaac   ,   0x8fbbb3   },
+{  0xED91  ,   0xfaad   ,   0x8fbbb8   },
+{  0xED92  ,   0xfaae   ,   0x8ff4bb   },
+{  0xED93  ,   0xfaaf   ,   0x8fbbca   },
+{  0xED94  ,   0xfab0   ,   0x8ff4bc   },
+{  0xED95  ,   0xfab1   ,   0x8ff4bd   },
+{  0xED96  ,   0xfab2   ,   0x8fbbd0   },
+{  0xED97  ,   0xfab3   ,   0x8fbbde   },
+{  0xED98  ,   0xfab4   ,   0x8fbbf4   },
+{  0xED99  ,   0xfab5   ,   0x8fbbf5   },
+{  0xED9A  ,   0xfab6   ,   0x8fbbf9   },
+{  0xED9B  ,   0xfab7   ,   0x8fbce4   },
+{  0xED9C  ,   0xfab8   ,   0x8fbced   },
+{  0xED9D  ,   0xfab9   ,   0x8fbcfe   },
+{  0xED9E  ,   0xfaba   ,   0x8ff4be   },
+{  0xED9F  ,   0xfabb   ,   0x8fbdc2   },
+{  0xEDA0  ,   0xfabc   ,   0x8fbde7   },
+{  0xEDA1  ,   0xfabd   ,   0x8ff4bf   },
+{  0xEDA2  ,   0xfabe   ,   0x8fbdf0   },
+{  0xEDA3  ,   0xfabf   ,   0x8fbeb0   },
+{  0xEDA4  ,   0xfac0   ,   0x8fbeac   },
+{  0xEDA5  ,   0xfac1   ,   0x8ff4c0   },
+{  0xEDA6  ,   0xfac2   ,   0x8fbeb3   },
+{  0xEDA7  ,   0xfac3   ,   0x8fbebd   },
+{  0xEDA8  ,   0xfac4   ,   0x8fbecd   },
+{  0xEDA9  ,   0xfac5   ,   0x8fbec9   },
+{  0xEDAA  ,   0xfac6   ,   0x8fbee4   },
+{  0xEDAB  ,   0xfac7   ,   0x8fbfa8   },
+{  0xEDAC  ,   0xfac8   ,   0x8fbfc9   },
+{  0xEDAD  ,   0xfac9   ,   0x8fc0c4   },
+{  0xEDAE  ,   0xfaca   ,   0x8fc0e4   },
+{  0xEDAF  ,   0xfacb   ,   0x8fc0f4   },
+{  0xEDB0  ,   0xfacc   ,   0x8fc1a6   },
+{  0xEDB1  ,   0xfacd   ,   0x8ff4c1   },
+{  0xEDB2  ,   0xface   ,   0x8fc1f5   },
+{  0xEDB3  ,   0xfacf   ,   0x8fc1fc   },
+{  0xEDB4  ,   0xfad0   ,   0x8ff4c2   },
+{  0xEDB5  ,   0xfad1   ,   0x8fc1f8   },
+{  0xEDB6  ,   0xfad2   ,   0x8fc2ab   },
+{  0xEDB7  ,   0xfad3   ,   0x8fc2a1   },
+{  0xEDB8  ,   0xfad4   ,   0x8fc2a5   },
+{  0xEDB9  ,   0xfad5   ,   0x8ff4c3   },
+{  0xEDBA  ,   0xfad6   ,   0x8fc2b8   },
+{  0xEDBB  ,   0xfad7   ,   0x8fc2ba   },
+{  0xEDBC  ,   0xfad8   ,   0x8ff4c4   },
+{  0xEDBD  ,   0xfad9   ,   0x8fc2c4   },
+{  0xEDBE  ,   0xfada   ,   0x8fc2d2   },
+{  0xEDBF  ,   0xfadb   ,   0x8fc2d7   },
+{  0xEDC0  ,   0xfadc   ,   0x8fc2db   },
+{  0xEDC1  ,   0xfadd   ,   0x8fc2de   },
+{  0xEDC2  ,   0xfade   ,   0x8fc2ed   },
+{  0xEDC3  ,   0xfadf   ,   0x8fc2f0   },
+{  0xEDC4  ,   0xfae0   ,   0x8ff4c5   },
+{  0xEDC5  ,   0xfae1   ,   0x8fc3a1   },
+{  0xEDC6  ,   0xfae2   ,   0x8fc3b5   },
+{  0xEDC7  ,   0xfae3   ,   0x8fc3c9   },
+{  0xEDC8  ,   0xfae4   ,   0x8fc3b9   },
+{  0xEDC9  ,   0xfae5   ,   0x8ff4c6   },
+{  0xEDCA  ,   0xfae6   ,   0x8fc3d8   },
+{  0xEDCB  ,   0xfae7   ,   0x8fc3fe   },
+{  0xEDCC  ,   0xfae8   ,   0x8ff4c7   },
+{  0xEDCD  ,   0xfae9   ,   0x8fc4cc   },
+{  0xEDCE  ,   0xfaea   ,   0x8ff4c8   },
+{  0xEDCF  ,   0xfaeb   ,   0x8fc4d9   },
+{  0xEDD0  ,   0xfaec   ,   0x8fc4ea   },
+{  0xEDD1  ,   0xfaed   ,   0x8fc4fd   },
+{  0xEDD2  ,   0xfaee   ,   0x8ff4c9   },
+{  0xEDD3  ,   0xfaef   ,   0x8fc5a7   },
+{  0xEDD4  ,   0xfaf0   ,   0x8fc5b5   },
+{  0xEDD5  ,   0xfaf1   ,   0x8fc5b6   },
+{  0xEDD6  ,   0xfaf2   ,   0x8ff4ca   },
+{  0xEDD7  ,   0xfaf3   ,   0x8fc5d5   },
+{  0xEDD8  ,   0xfaf4   ,   0x8fc6b8   },
+{  0xEDD9  ,   0xfaf5   ,   0x8fc6d7   },
+{  0xEDDA  ,   0xfaf6   ,   0x8fc6e0   },
+{  0xEDDB  ,   0xfaf7   ,   0x8fc6ea   },
+{  0xEDDC  ,   0xfaf8   ,   0x8fc6e3   },
+{  0xEDDD  ,   0xfaf9   ,   0x8fc7a1   },
+{  0xEDDE  ,   0xfafa   ,   0x8fc7ab   },
+{  0xEDDF  ,   0xfafb   ,   0x8fc7c7   },
+{  0xEDE0  ,   0xfafc   ,   0x8fc7c3   },
+{  0xEDE1  ,   0xfb40   ,   0x8fc7cb   },
+{  0xEDE2  ,   0xfb41   ,   0x8fc7cf   },
+{  0xEDE3  ,   0xfb42   ,   0x8fc7d9   },
+{  0xEDE4  ,   0xfb43   ,   0x8ff4cb   },
+{  0xEDE5  ,   0xfb44   ,   0x8ff4cc   },
+{  0xEDE6  ,   0xfb45   ,   0x8fc7e6   },
+{  0xEDE7  ,   0xfb46   ,   0x8fc7ee   },
+{  0xEDE8  ,   0xfb47   ,   0x8fc7fc   },
+{  0xEDE9  ,   0xfb48   ,   0x8fc7eb   },
+{  0xEDEA  ,   0xfb49   ,   0x8fc7f0   },
+{  0xEDEB  ,   0xfb4a   ,   0x8fc8b1   },
+{  0xEDEC  ,   0xfb4b   ,   0x8fc8e5   },
+{  0xEDED  ,   0xfb4c   ,   0x8fc8f8   },
+{  0xEDEE  ,   0xfb4d   ,   0x8fc9a6   },
+{  0xEDEF  ,   0xfb4e   ,   0x8fc9ab   },
+{  0xEDF0  ,   0xfb4f   ,   0x8fc9ad   },
+{  0xEDF1  ,   0xfb50   ,   0x8ff4cd   },
+{  0xEDF2  ,   0xfb51   ,   0x8fc9ca   },
+{  0xEDF3  ,   0xfb52   ,   0x8fc9d3   },
+{  0xEDF4  ,   0xfb53   ,   0x8fc9e9   },
+{  0xEDF5  ,   0xfb54   ,   0x8fc9e3   },
+{  0xEDF6  ,   0xfb55   ,   0x8fc9fc   },
+{  0xEDF7  ,   0xfb56   ,   0x8fc9f4   },
+{  0xEDF8  ,   0xfb57   ,   0x8fc9f5   },
+{  0xEDF9  ,   0xfb58   ,   0x8ff4ce   },
+{  0xEDFA  ,   0xfb59   ,   0x8fcab3   },
+{  0xEDFB  ,   0xfb5a   ,   0x8fcabd   },
+{  0xEDFC  ,   0xfb5b   ,   0x8fcaef   },
+{  0xEE40  ,   0xfb5c   ,   0x8fcaf1   },
+{  0xEE41  ,   0xfb5d   ,   0x8fcbae   },
+{  0xEE42  ,   0xfb5e   ,   0x8ff4cf   },
+{  0xEE43  ,   0xfb5f   ,   0x8fcbca   },
+{  0xEE44  ,   0xfb60   ,   0x8fcbe6   },
+{  0xEE45  ,   0xfb61   ,   0x8fcbea   },
+{  0xEE46  ,   0xfb62   ,   0x8fcbf0   },
+{  0xEE47  ,   0xfb63   ,   0x8fcbf4   },
+{  0xEE48  ,   0xfb64   ,   0x8fcbee   },
+{  0xEE49  ,   0xfb65   ,   0x8fcca5   },
+{  0xEE4A  ,   0xfb66   ,   0x8fcbf9   },
+{  0xEE4B  ,   0xfb67   ,   0x8fccab   },
+{  0xEE4C  ,   0xfb68   ,   0x8fccae   },
+{  0xEE4D  ,   0xfb69   ,   0x8fccad   },
+{  0xEE4E  ,   0xfb6a   ,   0x8fccb2   },
+{  0xEE4F  ,   0xfb6b   ,   0x8fccc2   },
+{  0xEE50  ,   0xfb6c   ,   0x8fccd0   },
+{  0xEE51  ,   0xfb6d   ,   0x8fccd9   },
+{  0xEE52  ,   0xfb6e   ,   0x8ff4d0   },
+{  0xEE53  ,   0xfb6f   ,   0x8fcdbb   },
+{  0xEE54  ,   0xfb70   ,   0x8ff4d1   },
+{  0xEE55  ,   0xfb71   ,   0x8fcebb   },
+{  0xEE56  ,   0xfb72   ,   0x8ff4d2   },
+{  0xEE57  ,   0xfb73   ,   0x8fceba   },
+{  0xEE58  ,   0xfb74   ,   0x8fcec3   },
+{  0xEE59  ,   0xfb75   ,   0x8ff4d3   },
+{  0xEE5A  ,   0xfb76   ,   0x8fcef2   },
+{  0xEE5B  ,   0xfb77   ,   0x8fb3dd   },
+{  0xEE5C  ,   0xfb78   ,   0x8fcfd5   },
+{  0xEE5D  ,   0xfb79   ,   0x8fcfe2   },
+{  0xEE5E  ,   0xfb7a   ,   0x8fcfe9   },
+{  0xEE5F  ,   0xfb7b   ,   0x8fcfed   },
+{  0xEE60  ,   0xfb7c   ,   0x8ff4d4   },
+{  0xEE61  ,   0xfb7d   ,   0x8ff4d5   },
+{  0xEE62  ,   0xfb7e   ,   0x8ff4d6   },
+{  0xEE63  ,   0xfb80   ,   0x8ff4d7   },
+{  0xEE64  ,   0xfb81   ,   0x8fd0e5   },
+{  0xEE65  ,   0xfb82   ,   0x8ff4d8   },
+{  0xEE66  ,   0xfb83   ,   0x8fd0e9   },
+{  0xEE67  ,   0xfb84   ,   0x8fd1e8   },
+{  0xEE68  ,   0xfb85   ,   0x8ff4d9   },
+{  0xEE69  ,   0xfb86   ,   0x8ff4da   },
+{  0xEE6A  ,   0xfb87   ,   0x8fd1ec   },
+{  0xEE6B  ,   0xfb88   ,   0x8fd2bb   },
+{  0xEE6C  ,   0xfb89   ,   0x8ff4db   },
+{  0xEE6D  ,   0xfb8a   ,   0x8fd3e1   },
+{  0xEE6E  ,   0xfb8b   ,   0x8fd3e8   },
+{  0xEE6F  ,   0xfb8c   ,   0x8fd4a7   },
+{  0xEE70  ,   0xfb8d   ,   0x8ff4dc   },
+{  0xEE71  ,   0xfb8e   ,   0x8ff4dd   },
+{  0xEE72  ,   0xfb8f   ,   0x8fd4d4   },
+{  0xEE73  ,   0xfb90   ,   0x8fd4f2   },
+{  0xEE74  ,   0xfb91   ,   0x8fd5ae   },
+{  0xEE75  ,   0xfb92   ,   0x8ff4de   },
+{  0xEE76  ,   0xfb93   ,   0x8fd7de   },
+{  0xEE77  ,   0xfb94   ,   0x8ff4df   },
+{  0xEE78  ,   0xfb95   ,   0x8fd8a2   },
+{  0xEE79  ,   0xfb96   ,   0x8fd8b7   },
+{  0xEE7A  ,   0xfb97   ,   0x8fd8c1   },
+{  0xEE7B  ,   0xfb98   ,   0x8fd8d1   },
+{  0xEE7C  ,   0xfb99   ,   0x8fd8f4   },
+{  0xEE7D  ,   0xfb9a   ,   0x8fd9c6   },
+{  0xEE7E  ,   0xfb9b   ,   0x8fd9c8   },
+{  0xEE80  ,   0xfb9c   ,   0x8fd9d1   },
+{  0xEE81  ,   0xfb9d   ,   0x8ff4e0   },
+{  0xEE82  ,   0xfb9e   ,   0x8ff4e1   },
+{  0xEE83  ,   0xfb9f   ,   0x8ff4e2   },
+{  0xEE84  ,   0xfba0   ,   0x8ff4e3   },
+{  0xEE85  ,   0xfba1   ,   0x8ff4e4   },
+{  0xEE86  ,   0xfba2   ,   0x8fdcd3   },
+{  0xEE87  ,   0xfba3   ,   0x8fddc8   },
+{  0xEE88  ,   0xfba4   ,   0x8fddd4   },
+{  0xEE89  ,   0xfba5   ,   0x8fddea   },
+{  0xEE8A  ,   0xfba6   ,   0x8fddfa   },
+{  0xEE8B  ,   0xfba7   ,   0x8fdea4   },
+{  0xEE8C  ,   0xfba8   ,   0x8fdeb0   },
+{  0xEE8D  ,   0xfba9   ,   0x8ff4e5   },
+{  0xEE8E  ,   0xfbaa   ,   0x8fdeb5   },
+{  0xEE8F  ,   0xfbab   ,   0x8fdecb   },
+{  0xEE90  ,   0xfbac   ,   0x8ff4e6   },
+{  0xEE91  ,   0xfbad   ,   0x8fdfb9   },
+{  0xEE92  ,   0xfbae   ,   0x8ff4e7   },
+{  0xEE93  ,   0xfbaf   ,   0x8fdfc3   },
+{  0xEE94  ,   0xfbb0   ,   0x8ff4e8   },
+{  0xEE95  ,   0xfbb1   ,   0x8ff4e9   },
+{  0xEE96  ,   0xfbb2   ,   0x8fe0d9   },
+{  0xEE97  ,   0xfbb3   ,   0x8ff4ea   },
+{  0xEE98  ,   0xfbb4   ,   0x8ff4eb   },
+{  0xEE99  ,   0xfbb5   ,   0x8fe1e2   },
+{  0xEE9A  ,   0xfbb6   ,   0x8ff4ec   },
+{  0xEE9B  ,   0xfbb7   ,   0x8ff4ed   },
+{  0xEE9C  ,   0xfbb8   ,   0x8ff4ee   },
+{  0xEE9D  ,   0xfbb9   ,   0x8fe2c7   },
+{  0xEE9E  ,   0xfbba   ,   0x8fe3a8   },
+{  0xEE9F  ,   0xfbbb   ,   0x8fe3a6   },
+{  0xEEA0  ,   0xfbbc   ,   0x8fe3a9   },
+{  0xEEA1  ,   0xfbbd   ,   0x8fe3af   },
+{  0xEEA2  ,   0xfbbe   ,   0x8fe3b0   },
+{  0xEEA3  ,   0xfbbf   ,   0x8fe3aa   },
+{  0xEEA4  ,   0xfbc0   ,   0x8fe3ab   },
+{  0xEEA5  ,   0xfbc1   ,   0x8fe3bc   },
+{  0xEEA6  ,   0xfbc2   ,   0x8fe3c1   },
+{  0xEEA7  ,   0xfbc3   ,   0x8fe3bf   },
+{  0xEEA8  ,   0xfbc4   ,   0x8fe3d5   },
+{  0xEEA9  ,   0xfbc5   ,   0x8fe3d8   },
+{  0xEEAA  ,   0xfbc6   ,   0x8fe3d6   },
+{  0xEEAB  ,   0xfbc7   ,   0x8fe3df   },
+{  0xEEAC  ,   0xfbc8   ,   0x8fe3e3   },
+{  0xEEAD  ,   0xfbc9   ,   0x8fe3e1   },
+{  0xEEAE  ,   0xfbca   ,   0x8fe3d4   },
+{  0xEEAF  ,   0xfbcb   ,   0x8fe3e9   },
+{  0xEEB0  ,   0xfbcc   ,   0x8fe4a6   },
+{  0xEEB1  ,   0xfbcd   ,   0x8fe3f1   },
+{  0xEEB2  ,   0xfbce   ,   0x8fe3f2   },
+{  0xEEB3  ,   0xfbcf   ,   0x8fe4cb   },
+{  0xEEB4  ,   0xfbd0   ,   0x8fe4c1   },
+{  0xEEB5  ,   0xfbd1   ,   0x8fe4c3   },
+{  0xEEB6  ,   0xfbd2   ,   0x8fe4be   },
+{  0xEEB7  ,   0xfbd3   ,   0x8ff4ef   },
+{  0xEEB8  ,   0xfbd4   ,   0x8fe4c0   },
+{  0xEEB9  ,   0xfbd5   ,   0x8fe4c7   },
+{  0xEEBA  ,   0xfbd6   ,   0x8fe4bf   },
+{  0xEEBB  ,   0xfbd7   ,   0x8fe4e0   },
+{  0xEEBC  ,   0xfbd8   ,   0x8fe4de   },
+{  0xEEBD  ,   0xfbd9   ,   0x8fe4d1   },
+{  0xEEBE  ,   0xfbda   ,   0x8ff4f0   },
+{  0xEEBF  ,   0xfbdb   ,   0x8fe4dc   },
+{  0xEEC0  ,   0xfbdc   ,   0x8fe4d2   },
+{  0xEEC1  ,   0xfbdd   ,   0x8fe4db   },
+{  0xEEC2  ,   0xfbde   ,   0x8fe4d4   },
+{  0xEEC3  ,   0xfbdf   ,   0x8fe4fa   },
+{  0xEEC4  ,   0xfbe0   ,   0x8fe4ef   },
+{  0xEEC5  ,   0xfbe1   ,   0x8fe5b3   },
+{  0xEEC6  ,   0xfbe2   ,   0x8fe5bf   },
+{  0xEEC7  ,   0xfbe3   ,   0x8fe5c9   },
+{  0xEEC8  ,   0xfbe4   ,   0x8fe5d0   },
+{  0xEEC9  ,   0xfbe5   ,   0x8fe5e2   },
+{  0xEECA  ,   0xfbe6   ,   0x8fe5ea   },
+{  0xEECB  ,   0xfbe7   ,   0x8fe5eb   },
+{  0xEECC  ,   0xfbe8   ,   0x8ff4f1   },
+{  0xEECD  ,   0xfbe9   ,   0x8ff4f2   },
+{  0xEECE  ,   0xfbea   ,   0x8ff4f3   },
+{  0xEECF  ,   0xfbeb   ,   0x8fe6e8   },
+{  0xEED0  ,   0xfbec   ,   0x8fe6ef   },
+{  0xEED1  ,   0xfbed   ,   0x8fe7ac   },
+{  0xEED2  ,   0xfbee   ,   0x8ff4f4   },
+{  0xEED3  ,   0xfbef   ,   0x8fe7ae   },
+{  0xEED4  ,   0xfbf0   ,   0x8ff4f5   },
+{  0xEED5  ,   0xfbf1   ,   0x8fe7b1   },
+{  0xEED6  ,   0xfbf2   ,   0x8ff4f6   },
+{  0xEED7  ,   0xfbf3   ,   0x8fe7b2   },
+{  0xEED8  ,   0xfbf4   ,   0x8fe8b1   },
+{  0xEED9  ,   0xfbf5   ,   0x8fe8b6   },
+{  0xEEDA  ,   0xfbf6   ,   0x8ff4f7   },
+{  0xEEDB  ,   0xfbf7   ,   0x8ff4f8   },
+{  0xEEDC  ,   0xfbf8   ,   0x8fe8dd   },
+{  0xEEDD  ,   0xfbf9   ,   0x8ff4f9   },
+{  0xEEDE  ,   0xfbfa   ,   0x8ff4fa   },
+{  0xEEDF  ,   0xfbfb   ,   0x8fe9d1   },
+{  0xEEE0  ,   0xfbfc   ,   0x8ff4fb   },
+{  0xEEE1  ,   0xfc40   ,   0x8fe9ed   },
+{  0xEEE2  ,   0xfc41   ,   0x8feacd   },
+{  0xEEE3  ,   0xfc42   ,   0x8ff4fc   },
+{  0xEEE4  ,   0xfc43   ,   0x8feadb   },
+{  0xEEE5  ,   0xfc44   ,   0x8feae6   },
+{  0xEEE6  ,   0xfc45   ,   0x8feaea   },
+{  0xEEE7  ,   0xfc46   ,   0x8feba5   },
+{  0xEEE8  ,   0xfc47   ,   0x8febfb   },
+{  0xEEE9  ,   0xfc48   ,   0x8febfa   },
+{  0xEEEA  ,   0xfc49   ,   0x8ff4fd   },
+{  0xEEEB  ,   0xfc4a   ,   0x8fecd6   },
+{  0xEEEC  ,   0xfc4b   ,   0x8ff4fe   },
+{  0xffff  ,   0xffff   ,   0xffff   }     /* Stop code */
 };
-
+/* Eiji Tokuya patched End */
 /*
  * convert bogus chars that cannot be represented in the current
 encoding
@@ -1229,8 +453,11 @@ sjis2mic(unsigned char *sjis, unsigned char *p, int len)
 {
    int         c1,
                c2,
-               k;
-
+/* Eiji Tokuya patched begin */
+               i,
+               k,
+               k2;
+/* Eiji Tokuya patched end */
    while (len > 0 && (c1 = *sjis++))
    {
        if (c1 >= 0xa1 && c1 <= 0xdf)
@@ -1248,8 +475,26 @@ sjis2mic(unsigned char *sjis, unsigned char *p, int len)
             */
            c2 = *sjis++;
            k = (c1 << 8) + c2;
+/* Eiji Tokuya patched begin */
+           if (k >= 0xed40 && k < 0xf040)
+           {
+               /* NEC selection IBM kanji */
+               for (i = 0;; i++)
+               {
+                   k2 = ibmkanji[i].nec;
+                   if (k2 == 0xffff)
+                       break;
+                   if (k2 == k)
+                   {
+                       k = ibmkanji[i].sjis;
+                       c1 = (k >> 8) & 0xff;
+                       c2 = k &  0xff;
+                   }
+               }
+           }
 
-           if (k < 0xeafc)
+           if (k < 0xeb3f)
+/* Eiji Tokuya patched end */
            {
                /* JIS X0208 */
                len -= 2;
@@ -1257,9 +502,11 @@ sjis2mic(unsigned char *sjis, unsigned char *p, int len)
                *p++ = ((c1 & 0x3f) << 1) + 0x9f + (c2 > 0x9e);
                *p++ = c2 + ((c2 > 0x9e) ? 2 : 0x60) + (c2 < 0x80);
            }
-           else if (k >= 0xed40 && k < 0xf040)
+/* Eiji Tokuya patched begin */
+           else if ((k >= 0xeb40 && k < 0xf040)||(k >= 0xfc4c && k <= 0xfcfc))
            {
-               /* NEC sentei IBM kanji */
+               /* NEC selection IBM kanji - Other undecided justice */
+/* Eiji Tokuya patched end */
                *p++ = LC_JISX0208;
                *p++ = PGEUCALTCODE >> 8;
                *p++ = PGEUCALTCODE & 0xff;
@@ -1297,9 +544,6 @@ sjis2mic(unsigned char *sjis, unsigned char *p, int len)
                 * mapping IBM kanji to X0208 and X0212
                 *
                 */
-               int         i,
-                           k2;
-
                len -= 2;
                for (i = 0;; i++)
                {