mirror of
				https://github.com/postgres/postgres.git
				synced 2025-11-03 09:13:20 +03:00 
			
		
		
		
	> Tatsuo Ishii wrote:
> > > > It was made to cope with encoding such as an Asian bloc in 7.2Beta2. > > > > > > > > Added ServerEncoding > > > > Korean (JOHAB), Thai (WIN874), > > > > Vietnamese (TCVN), Arabic (WIN1256) > > > > > > > > Added ClientEncoding > > > > Simplified Chinese (GBK), Korean (UHC) > > > > > > > > > > > > > http://www.sankyo-unyu.co.jp/Pool/postgresql-7.2b2.newencoding.diff.tar.gz > > > > (608K) > > > > > > Looks good. I need some people to review this for me. > > > > For me they look good too. The only missing part is a > > documentation. I will ask him to write it up. If he couldn't, I will > > do it for him. > > > The diff is 3mb > > > but appears to address only additions to multibyte. I have attached a > > > list of files it modifies. Also, look at the sizes of the mb/ > > > directory. It is getting large: > > > > > > 4 ./CVS > > > 6 ./Unicode/CVS > > > 3433 ./Unicode > > > 6197 . > > > > Yes. We definitely need the on-the-fly encoding addition capability: > > i.e. CREATE CHRACTER SET in the future... > > -- > > Tatsuo Ishii > > > > Address chainge. http://www.sankyo-unyu.co.jp/Pool/postgresql-7.2.newencoding.diff.gz Add PsqlODBC and document ...etc patch. Eiji Tokuya
This commit is contained in:
		
							
								
								
									
										5
									
								
								configure
									
									
									
									
										vendored
									
									
								
							
							
						
						
									
										5
									
								
								configure
									
									
									
									
										vendored
									
									
								
							@@ -895,14 +895,15 @@ if test x"${enable_multibyte+set}" = xset; then
 | 
				
			|||||||
      enable_multibyte=yes
 | 
					      enable_multibyte=yes
 | 
				
			||||||
 | 
					
 | 
				
			||||||
  case $enableval in
 | 
					  case $enableval in
 | 
				
			||||||
    SQL_ASCII|EUC_JP|EUC_CN|EUC_KR|EUC_TW|UNICODE|MULE_INTERNAL|LATIN1|LATIN2|LATIN3|LATIN4|LATIN5|LATIN6|LATIN7|LATIN8|LATIN9|LATIN10|KOI8|WIN|ALT|ISO_8859_5|ISO_8859_6|ISO_8859_7|ISO_8859_8)
 | 
					    SQL_ASCII|EUC_JP|EUC_CN|EUC_KR|EUC_TW|JOHAB|UNICODE|MULE_INTERNAL|LATIN1|LATIN2|LATIN3|LATIN4|LATIN5|LATIN6|LATIN7|LATIN8|LATIN9|LATIN10|WIN1256|TCVN|WIN874|KOI8|WIN|ALT|ISO_8859_5|ISO_8859_6|ISO_8859_7|ISO_8859_8)
 | 
				
			||||||
      MULTIBYTE=$enableval;;
 | 
					      MULTIBYTE=$enableval;;
 | 
				
			||||||
    *)
 | 
					    *)
 | 
				
			||||||
      { echo "configure: error: argument to --enable-multibyte must be one of:
 | 
					      { echo "configure: error: argument to --enable-multibyte must be one of:
 | 
				
			||||||
  SQL_ASCII, EUC_JP, EUC_CN, EUC_KR, EUC_TW,
 | 
					  SQL_ASCII, EUC_JP, EUC_CN, EUC_KR, EUC_TW, JOHAB,
 | 
				
			||||||
  UNICODE, MULE_INTERNAL,
 | 
					  UNICODE, MULE_INTERNAL,
 | 
				
			||||||
  LATIN1, LATIN2, LATIN3, LATIN4, LATIN5,
 | 
					  LATIN1, LATIN2, LATIN3, LATIN4, LATIN5,
 | 
				
			||||||
  LATIN6, LATIN7, LATIN8, LATIN9, LATIN10,
 | 
					  LATIN6, LATIN7, LATIN8, LATIN9, LATIN10,
 | 
				
			||||||
 | 
					  WIN1256, TCVN, WIN874,
 | 
				
			||||||
  KOI8, WIN, ALT,
 | 
					  KOI8, WIN, ALT,
 | 
				
			||||||
  ISO_8859_5, ISO_8859_6, ISO_8859_7, ISO_8859_8
 | 
					  ISO_8859_5, ISO_8859_6, ISO_8859_7, ISO_8859_8
 | 
				
			||||||
Or do not specify an argument to the option to use the default." 1>&2; exit 1; };;
 | 
					Or do not specify an argument to the option to use the default." 1>&2; exit 1; };;
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -179,16 +179,16 @@ PGAC_ARG_OPTARG(enable, multibyte, [  --enable-multibyte      enable multibyte c
 | 
				
			|||||||
[MULTIBYTE=SQL_ASCII],
 | 
					[MULTIBYTE=SQL_ASCII],
 | 
				
			||||||
[
 | 
					[
 | 
				
			||||||
  case $enableval in
 | 
					  case $enableval in
 | 
				
			||||||
    SQL_ASCII|EUC_JP|EUC_CN|EUC_KR|EUC_TW|UNICODE|MULE_INTERNAL|LATIN1|LATIN2|LATIN3|LATIN4|LATIN5|LATIN6|LATIN7|LATIN8|LATIN9|LATIN10|KOI8|WIN|ALT|ISO_8859_5|ISO_8859_6|ISO_8859_7|ISO_8859_8)
 | 
					    SQL_ASCII|EUC_JP|EUC_CN|EUC_KR|EUC_TW|JOHAB|UNICODE|MULE_INTERNAL|LATIN1|LATIN2|LATIN3|LATIN4|LATIN5|LATIN6|LATIN7|LATIN8|LATIN9|LATIN10|WIN1256|TCVN|WIN874|KOI8|WIN|ALT|ISO_8859_5|ISO_8859_6|ISO_8859_7|ISO_8859_8)
 | 
				
			||||||
      MULTIBYTE=$enableval;;
 | 
					      MULTIBYTE=$enableval;;
 | 
				
			||||||
    *)
 | 
					    *)
 | 
				
			||||||
      AC_MSG_ERROR(
 | 
					      AC_MSG_ERROR(
 | 
				
			||||||
[argument to --enable-multibyte must be one of:
 | 
					[argument to --enable-multibyte must be one of:
 | 
				
			||||||
  SQL_ASCII, EUC_JP, EUC_CN, EUC_KR, EUC_TW,
 | 
					  SQL_ASCII, EUC_JP, EUC_CN, EUC_KR, EUC_TW, JOHAB,
 | 
				
			||||||
  UNICODE, MULE_INTERNAL,
 | 
					  UNICODE, MULE_INTERNAL,
 | 
				
			||||||
  LATIN1, LATIN2, LATIN3, LATIN4, LATIN5,
 | 
					  LATIN1, LATIN2, LATIN3, LATIN4, LATIN5,
 | 
				
			||||||
  LATIN6, LATIN7, LATIN8, LATIN9, LATIN10,
 | 
					  LATIN6, LATIN7, LATIN8, LATIN9, LATIN10,
 | 
				
			||||||
  KOI8, WIN, ALT,
 | 
					  WIN1256, TCVN, WIN874, KOI8, WIN, ALT,
 | 
				
			||||||
  ISO_8859_5, ISO_8859_6, ISO_8859_7, ISO_8859_8
 | 
					  ISO_8859_5, ISO_8859_6, ISO_8859_7, ISO_8859_8
 | 
				
			||||||
Or do not specify an argument to the option to use the default.]);;
 | 
					Or do not specify an argument to the option to use the default.]);;
 | 
				
			||||||
  esac
 | 
					  esac
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -45,6 +45,7 @@ PostgreSQL 7.2 multi-byte (MB) support README	       2001/9/18 $B:n@.(B
 | 
				
			|||||||
	EUC_CN		GB $B$r%Y!<%9$K$7$?CfJ8(BEUC$B!%(Bcode set 2 $B$O(B
 | 
						EUC_CN		GB $B$r%Y!<%9$K$7$?CfJ8(BEUC$B!%(Bcode set 2 $B$O(B
 | 
				
			||||||
			SS2+2$B%P%$%H%3!<%I(B = 3$B%P%$%HI=8=$G$9!%(B
 | 
								SS2+2$B%P%$%H%3!<%I(B = 3$B%P%$%HI=8=$G$9!%(B
 | 
				
			||||||
	EUC_KR		$B4Z9q8l(B EUC$B!%(B
 | 
						EUC_KR		$B4Z9q8l(B EUC$B!%(B
 | 
				
			||||||
 | 
						JOHAB		$B%O%s%0%k%Y!<%9$N4Z9q8l(BEUC.
 | 
				
			||||||
	EUC_TW		$BBfOQ$N(B EUC$B!%(Bcode set 2 $B$O(B
 | 
						EUC_TW		$BBfOQ$N(B EUC$B!%(Bcode set 2 $B$O(B
 | 
				
			||||||
			SS2+$BLLHV9f(B+2$B%P%$%H%3!<%I(B = 4$B%P%$%HI=8=$G$9!%(B
 | 
								SS2+$BLLHV9f(B+2$B%P%$%H%3!<%I(B = 4$B%P%$%HI=8=$G$9!%(B
 | 
				
			||||||
	UNICODE		UTF-8$B!%$?$@$7%5%]!<%H$9$k$N$O(B UCS-2 $B$NHO0O!$(B
 | 
						UNICODE		UTF-8$B!%$?$@$7%5%]!<%H$9$k$N$O(B UCS-2 $B$NHO0O!$(B
 | 
				
			||||||
@@ -56,6 +57,9 @@ PostgreSQL 7.2 multi-byte (MB) support README	       2001/9/18 $B:n@.(B
 | 
				
			|||||||
	$B%-%j%kJ8;z(B	KOI8(KOI8-R), WIN(CP1251), ALT(CP866)$B$r%5%]!<%H(B
 | 
						$B%-%j%kJ8;z(B	KOI8(KOI8-R), WIN(CP1251), ALT(CP866)$B$r%5%]!<%H(B
 | 
				
			||||||
			$B$7$F$$$^$9!%$b$A$m$s(B ISO 8859-5 $B$b;HMQ2DG=$G$9!%(B
 | 
								$B$7$F$$$^$9!%$b$A$m$s(B ISO 8859-5 $B$b;HMQ2DG=$G$9!%(B
 | 
				
			||||||
			$B$3$N>l9g!$(B"LATIN5" $B$H$7$F;XDj$7$F2<$5$$!%(B
 | 
								$B$3$N>l9g!$(B"LATIN5" $B$H$7$F;XDj$7$F2<$5$$!%(B
 | 
				
			||||||
 | 
						WIN1256		$B%"%i%V=t9q8l(BWindows$BMQ%(%s%3!<%G%#%s%0(B.
 | 
				
			||||||
 | 
						TCVN		$B%Y%H%J%`8l(B."ABC"$B$d(B"VSCII"$B$b;HMQ2DG=(B.
 | 
				
			||||||
 | 
						WIN874		$B%?%$8l(B.
 | 
				
			||||||
 | 
					
 | 
				
			||||||
  $BA*Br$NL\0B$H$7$F$O!$1Q8l$HF|K\8l$7$+;H$o$J$$>l9g$O(B EUC_JP($BF1MM$K!$Cf(B
 | 
					  $BA*Br$NL\0B$H$7$F$O!$1Q8l$HF|K\8l$7$+;H$o$J$$>l9g$O(B EUC_JP($BF1MM$K!$Cf(B
 | 
				
			||||||
  $B9q8l$7$+;H$o$J$$>l9g$O(B EUC_CN... $B$J$I$H$J$j$^$9(B)$B!$$=$NB>$N8@8l$b;H$$$?(B
 | 
					  $B9q8l$7$+;H$o$J$$>l9g$O(B EUC_CN... $B$J$I$H$J$j$^$9(B)$B!$$=$NB>$N8@8l$b;H$$$?(B
 | 
				
			||||||
@@ -168,19 +172,37 @@ $ psql -l
 | 
				
			|||||||
 | 
					
 | 
				
			||||||
	EUC_TW				EUC_TW, BIG5, UNICODE
 | 
						EUC_TW				EUC_TW, BIG5, UNICODE
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
						EUC_CN				EUC_CN, UNICODE
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
						EUC_KR				EUC_KR, UNICODE
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
						JOHAB				JOHAB, UNICODE
 | 
				
			||||||
 | 
					
 | 
				
			||||||
	LATIN1,3,4			LATIN1,3,4, UNICODE
 | 
						LATIN1,3,4			LATIN1,3,4, UNICODE
 | 
				
			||||||
 | 
					
 | 
				
			||||||
  	LATIN2				LATIN2, WIN1250, UNICODE
 | 
					  	LATIN2				LATIN2, WIN1250, UNICODE
 | 
				
			||||||
 | 
					
 | 
				
			||||||
	LATIN5				LATIN5, WIN, ALT, UNICODE
 | 
						LATIN5				LATIN5, WIN, ALT, UNICODE
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
						LATIN6,7,8,9,10			LATIN6,7,8,9,10, UNICODE
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
						ISO_8859_5,6,7,8		ISO_8859_5,6,7,8, UNICODE
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
						WIN1256				WIN1256, UNICODE
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
						TCVN				TCVN, UNICODE
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
						WIN874				WIN874, UNICODE
 | 
				
			||||||
 | 
					
 | 
				
			||||||
	MULE_INTERNAL			EUC_JP, SJIS, EUC_KR, EUC_CN, 
 | 
						MULE_INTERNAL			EUC_JP, SJIS, EUC_KR, EUC_CN, 
 | 
				
			||||||
					EUC_TW, BIG5, LATIN1$B$+$i(B5, 
 | 
										EUC_TW, BIG5, LATIN1$B$+$i(B5, 
 | 
				
			||||||
					WIN, ALT, WIN1250
 | 
										WIN, ALT, WIN1250
 | 
				
			||||||
 | 
					
 | 
				
			||||||
	UNICODE				EUC_JP, SJIS, EUC_KR, EUC_CN, 
 | 
						UNICODE				EUC_JP, SJIS, EUC_KR, UHC,
 | 
				
			||||||
					EUC_TW, BIG5, LATIN1$B$+$i(B5, 
 | 
										EUC_CN, GBK, EUC_TW, BIG5,
 | 
				
			||||||
					WIN, ALT, WIN1250
 | 
										LATIN1$B$+$i(B10, ISO_8859_5$B$+$i(B8,
 | 
				
			||||||
 | 
										WIN, ALT, WIN1250, WIN1256,
 | 
				
			||||||
 | 
										TCVN, WIN874, JOHAB
 | 
				
			||||||
  ----------------------------------------------------------------
 | 
					  ----------------------------------------------------------------
 | 
				
			||||||
 | 
					
 | 
				
			||||||
  $B%P%C%/%(%s%I$H%U%m%s%H%(%s%I$N%(%s%3!<%G%#%s%0$,0[$J$k>l9g!$$=$N$3$H(B
 | 
					  $B%P%C%/%(%s%I$H%U%m%s%H%(%s%I$N%(%s%3!<%G%#%s%0$,0[$J$k>l9g!$$=$N$3$H(B
 | 
				
			||||||
@@ -390,12 +412,28 @@ o set client_encoding $B%3%^%s%I$r;H$&J}K!(B
 | 
				
			|||||||
  ISO 8859-3		8859-3.TXT
 | 
					  ISO 8859-3		8859-3.TXT
 | 
				
			||||||
  ISO 8859-4		8859-4.TXT
 | 
					  ISO 8859-4		8859-4.TXT
 | 
				
			||||||
  ISO 8859-5		8859-5.TXT
 | 
					  ISO 8859-5		8859-5.TXT
 | 
				
			||||||
  EUC_JP		JIS0201.TXT, JIS0208.TXT, JIS0212.TXT
 | 
					  ISO 8859-6		8859-6.TXT
 | 
				
			||||||
 | 
					  ISO 8859-7		8859-7.TXT
 | 
				
			||||||
 | 
					  ISO 8859-8		8859-8.TXT
 | 
				
			||||||
 | 
					  ISO 8859-9		8859-9.TXT
 | 
				
			||||||
 | 
					  ISO 8859-10		8859-10.TXT
 | 
				
			||||||
 | 
					  ISO 8859-13		8859-13.TXT
 | 
				
			||||||
 | 
					  ISO 8859-14		8859-14.TXT
 | 
				
			||||||
 | 
					  ISO 8859-15		8859-15.TXT
 | 
				
			||||||
 | 
					  ISO 8859-16		8859-16.TXT
 | 
				
			||||||
 | 
					  EUC_JP		JIS0201.TXT, JIS0208.TXT, JIS0212.TXT,
 | 
				
			||||||
 | 
								CP932.TXT, sjis.map
 | 
				
			||||||
  SJIS			CP932.TXT
 | 
					  SJIS			CP932.TXT
 | 
				
			||||||
  EUC_CN		GB2312.TXT
 | 
					  EUC_CN		GB2312.TXT
 | 
				
			||||||
  EUC_KR		OLD5601.TXT
 | 
					  GBK			CP936.TXT
 | 
				
			||||||
 | 
					  EUC_KR		KSX1001.TXT
 | 
				
			||||||
 | 
					  UHC			CP949.TXT
 | 
				
			||||||
 | 
					  JOHAB			JOHAB.TXT
 | 
				
			||||||
  EUC_TW		CNS11643.TXT
 | 
					  EUC_TW		CNS11643.TXT
 | 
				
			||||||
  Big5			BIG5.TXT
 | 
					  Big5			BIG5.TXT
 | 
				
			||||||
 | 
					  WIN1256		CP1256.TXT
 | 
				
			||||||
 | 
					  TCVN			CP1258.TXT
 | 
				
			||||||
 | 
					  WIN874		CP874.TXT
 | 
				
			||||||
  ============================================================
 | 
					  ============================================================
 | 
				
			||||||
 | 
					
 | 
				
			||||||
$B<U<-!'(B
 | 
					$B<U<-!'(B
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -1,4 +1,4 @@
 | 
				
			|||||||
<!-- $Header: /cvsroot/pgsql/doc/src/sgml/charset.sgml,v 2.21 2002/01/20 22:19:55 petere Exp $ -->
 | 
					<!-- $Header: /cvsroot/pgsql/doc/src/sgml/charset.sgml,v 2.22 2002/03/05 05:52:42 momjian Exp $ -->
 | 
				
			||||||
 | 
					
 | 
				
			||||||
<chapter id="charset">
 | 
					<chapter id="charset">
 | 
				
			||||||
 <title>Localization</>
 | 
					 <title>Localization</>
 | 
				
			||||||
@@ -370,6 +370,10 @@ perl: warning: Falling back to the standard locale ("C").
 | 
				
			|||||||
	 <entry><literal>EUC_KR</literal></entry>
 | 
						 <entry><literal>EUC_KR</literal></entry>
 | 
				
			||||||
	 <entry>Korean <acronym>EUC</></entry>
 | 
						 <entry>Korean <acronym>EUC</></entry>
 | 
				
			||||||
	</row>
 | 
						</row>
 | 
				
			||||||
 | 
						<row>
 | 
				
			||||||
 | 
						 <entry><literal>JOHAB</literal></entry>
 | 
				
			||||||
 | 
						 <entry>Korean <acronym>EUC</> (Hangle base)</entry>
 | 
				
			||||||
 | 
						</row>
 | 
				
			||||||
	<row>
 | 
						<row>
 | 
				
			||||||
	 <entry><literal>EUC_TW</literal></entry>
 | 
						 <entry><literal>EUC_TW</literal></entry>
 | 
				
			||||||
	 <entry>Taiwan <acronym>EUC</acronym></entry>
 | 
						 <entry>Taiwan <acronym>EUC</acronym></entry>
 | 
				
			||||||
@@ -450,6 +454,18 @@ perl: warning: Falling back to the standard locale ("C").
 | 
				
			|||||||
	 <entry><literal>ALT</literal></entry>
 | 
						 <entry><literal>ALT</literal></entry>
 | 
				
			||||||
	 <entry>Windows CP866</entry>
 | 
						 <entry>Windows CP866</entry>
 | 
				
			||||||
	</row>
 | 
						</row>
 | 
				
			||||||
 | 
						<row>
 | 
				
			||||||
 | 
						 <entry><literal>WIN1256</literal></entry>
 | 
				
			||||||
 | 
						 <entry>Arabic Windows CP1256</entry>
 | 
				
			||||||
 | 
						</row>
 | 
				
			||||||
 | 
						<row>
 | 
				
			||||||
 | 
						 <entry><literal>TCVN</literal></entry>
 | 
				
			||||||
 | 
						 <entry>Vietnamese TCVN-5712(Windows CP1258)</entry>
 | 
				
			||||||
 | 
						</row>
 | 
				
			||||||
 | 
						<row>
 | 
				
			||||||
 | 
						 <entry><literal>WIN874</literal></entry>
 | 
				
			||||||
 | 
						 <entry>Thai Windows CP874</entry>
 | 
				
			||||||
 | 
						</row>
 | 
				
			||||||
       </tbody>
 | 
					       </tbody>
 | 
				
			||||||
      </tgroup>
 | 
					      </tgroup>
 | 
				
			||||||
     </table>
 | 
					     </table>
 | 
				
			||||||
@@ -580,6 +596,21 @@ $ <userinput>psql -l</userinput>
 | 
				
			|||||||
	 <literal>UNICODE</literal>, <literal>MULE_INTERNAL</literal>
 | 
						 <literal>UNICODE</literal>, <literal>MULE_INTERNAL</literal>
 | 
				
			||||||
	 </entry>
 | 
						 </entry>
 | 
				
			||||||
	</row>
 | 
						</row>
 | 
				
			||||||
 | 
						<row>
 | 
				
			||||||
 | 
						 <entry><literal>EUC_CN</literal></entry>
 | 
				
			||||||
 | 
						 <entry><literal>EUC_CN</literal>, <literal>UNICODE</literal>, <literal>MULE_INTERNAL</literal>
 | 
				
			||||||
 | 
						 </entry>
 | 
				
			||||||
 | 
						</row>
 | 
				
			||||||
 | 
						<row>
 | 
				
			||||||
 | 
						 <entry><literal>EUC_KR</literal></entry>
 | 
				
			||||||
 | 
						 <entry><literal>EUC_KR</literal>, <literal>UNICODE</literal>, <literal>MULE_INTERNAL</literal>
 | 
				
			||||||
 | 
						 </entry>
 | 
				
			||||||
 | 
						</row>
 | 
				
			||||||
 | 
						<row>
 | 
				
			||||||
 | 
						 <entry><literal>JOHAB</literal></entry>
 | 
				
			||||||
 | 
						 <entry><literal>JOHAB</literal>, <literal>UNICODE</literal>
 | 
				
			||||||
 | 
						 </entry>
 | 
				
			||||||
 | 
						</row>
 | 
				
			||||||
	<row>
 | 
						<row>
 | 
				
			||||||
	 <entry><literal>EUC_TW</literal></entry>
 | 
						 <entry><literal>EUC_TW</literal></entry>
 | 
				
			||||||
	 <entry><literal>EUC_TW</literal>, <literal>BIG5</literal>,
 | 
						 <entry><literal>EUC_TW</literal>, <literal>BIG5</literal>,
 | 
				
			||||||
@@ -682,7 +713,8 @@ $ <userinput>psql -l</userinput>
 | 
				
			|||||||
	 <entry><literal>UNICODE</literal></entry>
 | 
						 <entry><literal>UNICODE</literal></entry>
 | 
				
			||||||
	 <entry>
 | 
						 <entry>
 | 
				
			||||||
	 <literal>EUC_JP</literal>, <literal>SJIS</literal>, 
 | 
						 <literal>EUC_JP</literal>, <literal>SJIS</literal>, 
 | 
				
			||||||
	 <literal>EUC_KR</literal>, <literal>EUC_CN</literal>, 
 | 
						 <literal>EUC_KR</literal>, <literal>UHC</literal>, <literal>JOHAB</literal>,
 | 
				
			||||||
 | 
						 <literal>EUC_CN</literal>, <literal>GBK</literal>,
 | 
				
			||||||
	 <literal>EUC_TW</literal>, <literal>BIG5</literal>, 
 | 
						 <literal>EUC_TW</literal>, <literal>BIG5</literal>, 
 | 
				
			||||||
	 <literal>LATIN1</literal> to <literal>LATIN10</literal>, 
 | 
						 <literal>LATIN1</literal> to <literal>LATIN10</literal>, 
 | 
				
			||||||
	 <literal>ISO_8859_5</literal>, 
 | 
						 <literal>ISO_8859_5</literal>, 
 | 
				
			||||||
@@ -690,7 +722,10 @@ $ <userinput>psql -l</userinput>
 | 
				
			|||||||
 	 <literal>ISO_8859_7</literal>, 
 | 
					 	 <literal>ISO_8859_7</literal>, 
 | 
				
			||||||
	 <literal>ISO_8859_8</literal>, 
 | 
						 <literal>ISO_8859_8</literal>, 
 | 
				
			||||||
	 <literal>WIN</literal>, <literal>ALT</literal>, 
 | 
						 <literal>WIN</literal>, <literal>ALT</literal>, 
 | 
				
			||||||
	 <literal>KOI8</literal>
 | 
						 <literal>KOI8</literal>, 
 | 
				
			||||||
 | 
						 <literal>WIN1256</literal>,
 | 
				
			||||||
 | 
						 <literal>TCVN</literal>,
 | 
				
			||||||
 | 
						 <literal>WIN874</literal>,
 | 
				
			||||||
	 </entry>
 | 
						 </entry>
 | 
				
			||||||
	</row>
 | 
						</row>
 | 
				
			||||||
	<row>
 | 
						<row>
 | 
				
			||||||
@@ -720,6 +755,24 @@ $ <userinput>psql -l</userinput>
 | 
				
			|||||||
	 <literal>UNICODE</literal>, <literal>MULE_INTERNAL</literal>
 | 
						 <literal>UNICODE</literal>, <literal>MULE_INTERNAL</literal>
 | 
				
			||||||
	 </entry>
 | 
						 </entry>
 | 
				
			||||||
	</row>
 | 
						</row>
 | 
				
			||||||
 | 
						<row>
 | 
				
			||||||
 | 
						 <entry><literal>WIN1256</literal></entry>
 | 
				
			||||||
 | 
						 <entry><literal>WIN1256</literal>,
 | 
				
			||||||
 | 
						 <literal>UNICODE</literal>
 | 
				
			||||||
 | 
						 </entry>
 | 
				
			||||||
 | 
						</row>
 | 
				
			||||||
 | 
						<row>
 | 
				
			||||||
 | 
						 <entry><literal>TCVN</literal></entry>
 | 
				
			||||||
 | 
						 <entry><literal>TCVN</literal>,
 | 
				
			||||||
 | 
						 <literal>UNICODE</literal>
 | 
				
			||||||
 | 
						 </entry>
 | 
				
			||||||
 | 
						</row>
 | 
				
			||||||
 | 
						<row>
 | 
				
			||||||
 | 
						 <entry><literal>WIN874</literal></entry>
 | 
				
			||||||
 | 
						 <entry><literal>WIN874</literal>,
 | 
				
			||||||
 | 
						 <literal>UNICODE</literal>
 | 
				
			||||||
 | 
						 </entry>
 | 
				
			||||||
 | 
						</row>
 | 
				
			||||||
       </tbody>
 | 
					       </tbody>
 | 
				
			||||||
      </tgroup>
 | 
					      </tgroup>
 | 
				
			||||||
     </table>
 | 
					     </table>
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -2,7 +2,7 @@
 | 
				
			|||||||
#
 | 
					#
 | 
				
			||||||
# Copyright 2001 by PostgreSQL Global Development Group
 | 
					# Copyright 2001 by PostgreSQL Global Development Group
 | 
				
			||||||
#
 | 
					#
 | 
				
			||||||
# $Id: UCS_to_EUC_KR.pl,v 1.2 2001/04/16 06:10:18 ishii Exp $
 | 
					# $Id: UCS_to_EUC_KR.pl,v 1.3 2002/03/05 05:52:45 momjian Exp $
 | 
				
			||||||
#
 | 
					#
 | 
				
			||||||
# Generate UTF-8 <--> EUC_KR code conversion tables from
 | 
					# Generate UTF-8 <--> EUC_KR code conversion tables from
 | 
				
			||||||
# map files provided by Unicode organization.
 | 
					# map files provided by Unicode organization.
 | 
				
			||||||
@@ -20,7 +20,7 @@ require "ucs2utf.pl";
 | 
				
			|||||||
 | 
					
 | 
				
			||||||
# first generate UTF-8 --> EUC_KR table
 | 
					# first generate UTF-8 --> EUC_KR table
 | 
				
			||||||
 | 
					
 | 
				
			||||||
$in_file = "OLD5601.TXT";
 | 
					$in_file = "KSX1001.TXT";
 | 
				
			||||||
 | 
					
 | 
				
			||||||
open( FILE, $in_file ) || die( "cannot open $in_file" );
 | 
					open( FILE, $in_file ) || die( "cannot open $in_file" );
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -1,4 +1,4 @@
 | 
				
			|||||||
static pg_local_to_utf LUmapEUC_JP[ 13007 ] = {
 | 
					static pg_local_to_utf LUmapEUC_JP[ 13477 ] = {
 | 
				
			||||||
  {0x8ea1, 0xefbda1},
 | 
					  {0x8ea1, 0xefbda1},
 | 
				
			||||||
  {0x8ea2, 0xefbda2},
 | 
					  {0x8ea2, 0xefbda2},
 | 
				
			||||||
  {0x8ea3, 0xefbda3},
 | 
					  {0x8ea3, 0xefbda3},
 | 
				
			||||||
@@ -93,8 +93,9 @@ static pg_local_to_utf LUmapEUC_JP[ 13007 ] = {
 | 
				
			|||||||
  {0xa1bd, 0xe28095},
 | 
					  {0xa1bd, 0xe28095},
 | 
				
			||||||
  {0xa1be, 0xe28090},
 | 
					  {0xa1be, 0xe28090},
 | 
				
			||||||
  {0xa1bf, 0xefbc8f},
 | 
					  {0xa1bf, 0xefbc8f},
 | 
				
			||||||
  {0xa1c1, 0xe3809c},
 | 
					  {0xa1c0, 0xefbcbc},
 | 
				
			||||||
  {0xa1c2, 0xe28096},
 | 
					  {0xa1c1, 0xefbd9e},
 | 
				
			||||||
 | 
					  {0xa1c2, 0xe288a5},
 | 
				
			||||||
  {0xa1c3, 0xefbd9c},
 | 
					  {0xa1c3, 0xefbd9c},
 | 
				
			||||||
  {0xa1c4, 0xe280a6},
 | 
					  {0xa1c4, 0xe280a6},
 | 
				
			||||||
  {0xa1c5, 0xe280a5},
 | 
					  {0xa1c5, 0xe280a5},
 | 
				
			||||||
@@ -121,7 +122,7 @@ static pg_local_to_utf LUmapEUC_JP[ 13007 ] = {
 | 
				
			|||||||
  {0xa1da, 0xe38090},
 | 
					  {0xa1da, 0xe38090},
 | 
				
			||||||
  {0xa1db, 0xe38091},
 | 
					  {0xa1db, 0xe38091},
 | 
				
			||||||
  {0xa1dc, 0xefbc8b},
 | 
					  {0xa1dc, 0xefbc8b},
 | 
				
			||||||
  {0xa1dd, 0xe28892},
 | 
					  {0xa1dd, 0xefbc8d},
 | 
				
			||||||
  {0xa1de, 0xc2b1},
 | 
					  {0xa1de, 0xc2b1},
 | 
				
			||||||
  {0xa1df, 0xc397},
 | 
					  {0xa1df, 0xc397},
 | 
				
			||||||
  {0xa1e0, 0xc3b7},
 | 
					  {0xa1e0, 0xc3b7},
 | 
				
			||||||
@@ -141,8 +142,8 @@ static pg_local_to_utf LUmapEUC_JP[ 13007 ] = {
 | 
				
			|||||||
  {0xa1ee, 0xe28483},
 | 
					  {0xa1ee, 0xe28483},
 | 
				
			||||||
  {0xa1ef, 0xefbfa5},
 | 
					  {0xa1ef, 0xefbfa5},
 | 
				
			||||||
  {0xa1f0, 0xefbc84},
 | 
					  {0xa1f0, 0xefbc84},
 | 
				
			||||||
  {0xa1f1, 0xc2a2},
 | 
					  {0xa1f1, 0xefbfa0},
 | 
				
			||||||
  {0xa1f2, 0xc2a3},
 | 
					  {0xa1f2, 0xefbfa1},
 | 
				
			||||||
  {0xa1f3, 0xefbc85},
 | 
					  {0xa1f3, 0xefbc85},
 | 
				
			||||||
  {0xa1f4, 0xefbc83},
 | 
					  {0xa1f4, 0xefbc83},
 | 
				
			||||||
  {0xa1f5, 0xefbc86},
 | 
					  {0xa1f5, 0xefbc86},
 | 
				
			||||||
@@ -179,7 +180,7 @@ static pg_local_to_utf LUmapEUC_JP[ 13007 ] = {
 | 
				
			|||||||
  {0xa2c1, 0xe288a9},
 | 
					  {0xa2c1, 0xe288a9},
 | 
				
			||||||
  {0xa2ca, 0xe288a7},
 | 
					  {0xa2ca, 0xe288a7},
 | 
				
			||||||
  {0xa2cb, 0xe288a8},
 | 
					  {0xa2cb, 0xe288a8},
 | 
				
			||||||
  {0xa2cc, 0xc2ac},
 | 
					  {0xa2cc, 0xefbfa2},
 | 
				
			||||||
  {0xa2cd, 0xe28792},
 | 
					  {0xa2cd, 0xe28792},
 | 
				
			||||||
  {0xa2ce, 0xe28794},
 | 
					  {0xa2ce, 0xe28794},
 | 
				
			||||||
  {0xa2cf, 0xe28880},
 | 
					  {0xa2cf, 0xe28880},
 | 
				
			||||||
@@ -585,6 +586,89 @@ static pg_local_to_utf LUmapEUC_JP[ 13007 ] = {
 | 
				
			|||||||
  {0xa8be, 0xe294a5},
 | 
					  {0xa8be, 0xe294a5},
 | 
				
			||||||
  {0xa8bf, 0xe294b8},
 | 
					  {0xa8bf, 0xe294b8},
 | 
				
			||||||
  {0xa8c0, 0xe29582},
 | 
					  {0xa8c0, 0xe29582},
 | 
				
			||||||
 | 
					  {0xada1, 0xe291a0},
 | 
				
			||||||
 | 
					  {0xada2, 0xe291a1},
 | 
				
			||||||
 | 
					  {0xada3, 0xe291a2},
 | 
				
			||||||
 | 
					  {0xada4, 0xe291a3},
 | 
				
			||||||
 | 
					  {0xada5, 0xe291a4},
 | 
				
			||||||
 | 
					  {0xada6, 0xe291a5},
 | 
				
			||||||
 | 
					  {0xada7, 0xe291a6},
 | 
				
			||||||
 | 
					  {0xada8, 0xe291a7},
 | 
				
			||||||
 | 
					  {0xada9, 0xe291a8},
 | 
				
			||||||
 | 
					  {0xadaa, 0xe291a9},
 | 
				
			||||||
 | 
					  {0xadab, 0xe291aa},
 | 
				
			||||||
 | 
					  {0xadac, 0xe291ab},
 | 
				
			||||||
 | 
					  {0xadad, 0xe291ac},
 | 
				
			||||||
 | 
					  {0xadae, 0xe291ad},
 | 
				
			||||||
 | 
					  {0xadaf, 0xe291ae},
 | 
				
			||||||
 | 
					  {0xadb0, 0xe291af},
 | 
				
			||||||
 | 
					  {0xadb1, 0xe291b0},
 | 
				
			||||||
 | 
					  {0xadb2, 0xe291b1},
 | 
				
			||||||
 | 
					  {0xadb3, 0xe291b2},
 | 
				
			||||||
 | 
					  {0xadb4, 0xe291b3},
 | 
				
			||||||
 | 
					  {0xadb5, 0xe285a0},
 | 
				
			||||||
 | 
					  {0xadb6, 0xe285a1},
 | 
				
			||||||
 | 
					  {0xadb7, 0xe285a2},
 | 
				
			||||||
 | 
					  {0xadb8, 0xe285a3},
 | 
				
			||||||
 | 
					  {0xadb9, 0xe285a4},
 | 
				
			||||||
 | 
					  {0xadba, 0xe285a5},
 | 
				
			||||||
 | 
					  {0xadbb, 0xe285a6},
 | 
				
			||||||
 | 
					  {0xadbc, 0xe285a7},
 | 
				
			||||||
 | 
					  {0xadbd, 0xe285a8},
 | 
				
			||||||
 | 
					  {0xadbe, 0xe285a9},
 | 
				
			||||||
 | 
					  {0xadc0, 0xe38d89},
 | 
				
			||||||
 | 
					  {0xadc1, 0xe38c94},
 | 
				
			||||||
 | 
					  {0xadc2, 0xe38ca2},
 | 
				
			||||||
 | 
					  {0xadc3, 0xe38d8d},
 | 
				
			||||||
 | 
					  {0xadc4, 0xe38c98},
 | 
				
			||||||
 | 
					  {0xadc5, 0xe38ca7},
 | 
				
			||||||
 | 
					  {0xadc6, 0xe38c83},
 | 
				
			||||||
 | 
					  {0xadc7, 0xe38cb6},
 | 
				
			||||||
 | 
					  {0xadc8, 0xe38d91},
 | 
				
			||||||
 | 
					  {0xadc9, 0xe38d97},
 | 
				
			||||||
 | 
					  {0xadca, 0xe38c8d},
 | 
				
			||||||
 | 
					  {0xadcb, 0xe38ca6},
 | 
				
			||||||
 | 
					  {0xadcc, 0xe38ca3},
 | 
				
			||||||
 | 
					  {0xadcd, 0xe38cab},
 | 
				
			||||||
 | 
					  {0xadce, 0xe38d8a},
 | 
				
			||||||
 | 
					  {0xadcf, 0xe38cbb},
 | 
				
			||||||
 | 
					  {0xadd0, 0xe38e9c},
 | 
				
			||||||
 | 
					  {0xadd1, 0xe38e9d},
 | 
				
			||||||
 | 
					  {0xadd2, 0xe38e9e},
 | 
				
			||||||
 | 
					  {0xadd3, 0xe38e8e},
 | 
				
			||||||
 | 
					  {0xadd4, 0xe38e8f},
 | 
				
			||||||
 | 
					  {0xadd5, 0xe38f84},
 | 
				
			||||||
 | 
					  {0xadd6, 0xe38ea1},
 | 
				
			||||||
 | 
					  {0xaddf, 0xe38dbb},
 | 
				
			||||||
 | 
					  {0xade0, 0xe3809d},
 | 
				
			||||||
 | 
					  {0xade1, 0xe3809f},
 | 
				
			||||||
 | 
					  {0xade2, 0xe28496},
 | 
				
			||||||
 | 
					  {0xade3, 0xe38f8d},
 | 
				
			||||||
 | 
					  {0xade4, 0xe284a1},
 | 
				
			||||||
 | 
					  {0xade5, 0xe38aa4},
 | 
				
			||||||
 | 
					  {0xade6, 0xe38aa5},
 | 
				
			||||||
 | 
					  {0xade7, 0xe38aa6},
 | 
				
			||||||
 | 
					  {0xade8, 0xe38aa7},
 | 
				
			||||||
 | 
					  {0xade9, 0xe38aa8},
 | 
				
			||||||
 | 
					  {0xadea, 0xe388b1},
 | 
				
			||||||
 | 
					  {0xadeb, 0xe388b2},
 | 
				
			||||||
 | 
					  {0xadec, 0xe388b9},
 | 
				
			||||||
 | 
					  {0xaded, 0xe38dbe},
 | 
				
			||||||
 | 
					  {0xadee, 0xe38dbd},
 | 
				
			||||||
 | 
					  {0xadef, 0xe38dbc},
 | 
				
			||||||
 | 
					  {0xadf0, 0xe28992},
 | 
				
			||||||
 | 
					  {0xadf1, 0xe289a1},
 | 
				
			||||||
 | 
					  {0xadf2, 0xe288ab},
 | 
				
			||||||
 | 
					  {0xadf3, 0xe288ae},
 | 
				
			||||||
 | 
					  {0xadf4, 0xe28891},
 | 
				
			||||||
 | 
					  {0xadf5, 0xe2889a},
 | 
				
			||||||
 | 
					  {0xadf6, 0xe28aa5},
 | 
				
			||||||
 | 
					  {0xadf7, 0xe288a0},
 | 
				
			||||||
 | 
					  {0xadf8, 0xe2889f},
 | 
				
			||||||
 | 
					  {0xadf9, 0xe28abf},
 | 
				
			||||||
 | 
					  {0xadfa, 0xe288b5},
 | 
				
			||||||
 | 
					  {0xadfb, 0xe288a9},
 | 
				
			||||||
 | 
					  {0xadfc, 0xe288aa},
 | 
				
			||||||
  {0xb0a1, 0xe4ba9c},
 | 
					  {0xb0a1, 0xe4ba9c},
 | 
				
			||||||
  {0xb0a2, 0xe59496},
 | 
					  {0xb0a2, 0xe59496},
 | 
				
			||||||
  {0xb0a3, 0xe5a883},
 | 
					  {0xb0a3, 0xe5a883},
 | 
				
			||||||
@@ -6951,7 +7035,7 @@ static pg_local_to_utf LUmapEUC_JP[ 13007 ] = {
 | 
				
			|||||||
  {0x8fa2b8, 0xce84},
 | 
					  {0x8fa2b8, 0xce84},
 | 
				
			||||||
  {0x8fa2b9, 0xce85},
 | 
					  {0x8fa2b9, 0xce85},
 | 
				
			||||||
  {0x8fa2c2, 0xc2a1},
 | 
					  {0x8fa2c2, 0xc2a1},
 | 
				
			||||||
  {0x8fa2c3, 0xc2a6},
 | 
					  {0x8fa2c3, 0xefbfa4},
 | 
				
			||||||
  {0x8fa2c4, 0xc2bf},
 | 
					  {0x8fa2c4, 0xc2bf},
 | 
				
			||||||
  {0x8fa2eb, 0xc2ba},
 | 
					  {0x8fa2eb, 0xc2ba},
 | 
				
			||||||
  {0x8fa2ec, 0xc2aa},
 | 
					  {0x8fa2ec, 0xc2aa},
 | 
				
			||||||
@@ -13005,5 +13089,111 @@ static pg_local_to_utf LUmapEUC_JP[ 13007 ] = {
 | 
				
			|||||||
  {0x8fede0, 0xe9bea1},
 | 
					  {0x8fede0, 0xe9bea1},
 | 
				
			||||||
  {0x8fede1, 0xe9bea2},
 | 
					  {0x8fede1, 0xe9bea2},
 | 
				
			||||||
  {0x8fede2, 0xe9bea3},
 | 
					  {0x8fede2, 0xe9bea3},
 | 
				
			||||||
  {0x8fede3, 0xe9bea5}
 | 
					  {0x8fede3, 0xe9bea5},
 | 
				
			||||||
 | 
					  {0x8ff3f3, 0xe285b0},
 | 
				
			||||||
 | 
					  {0x8ff3f4, 0xe285b1},
 | 
				
			||||||
 | 
					  {0x8ff3f5, 0xe285b2},
 | 
				
			||||||
 | 
					  {0x8ff3f6, 0xe285b3},
 | 
				
			||||||
 | 
					  {0x8ff3f7, 0xe285b4},
 | 
				
			||||||
 | 
					  {0x8ff3f8, 0xe285b5},
 | 
				
			||||||
 | 
					  {0x8ff3f9, 0xe285b6},
 | 
				
			||||||
 | 
					  {0x8ff3fa, 0xe285b7},
 | 
				
			||||||
 | 
					  {0x8ff3fb, 0xe285b8},
 | 
				
			||||||
 | 
					  {0x8ff3fc, 0xe285b9},
 | 
				
			||||||
 | 
					  {0x8ff3fd, 0xe285a0},
 | 
				
			||||||
 | 
					  {0x8ff3fe, 0xe285a1},
 | 
				
			||||||
 | 
					  {0x8ff4a1, 0xe285a2},
 | 
				
			||||||
 | 
					  {0x8ff4a2, 0xe285a3},
 | 
				
			||||||
 | 
					  {0x8ff4a3, 0xe285a4},
 | 
				
			||||||
 | 
					  {0x8ff4a4, 0xe285a5},
 | 
				
			||||||
 | 
					  {0x8ff4a5, 0xe285a6},
 | 
				
			||||||
 | 
					  {0x8ff4a6, 0xe285a7},
 | 
				
			||||||
 | 
					  {0x8ff4a7, 0xe285a8},
 | 
				
			||||||
 | 
					  {0x8ff4a8, 0xe285a9},
 | 
				
			||||||
 | 
					  {0x8ff4a9, 0xefbc87},
 | 
				
			||||||
 | 
					  {0x8ff4aa, 0xefbc82},
 | 
				
			||||||
 | 
					  {0x8ff4ab, 0xe388b1},
 | 
				
			||||||
 | 
					  {0x8ff4ac, 0xe28496},
 | 
				
			||||||
 | 
					  {0x8ff4ad, 0xe284a1},
 | 
				
			||||||
 | 
					  {0x8ff4ae, 0xe782bb},
 | 
				
			||||||
 | 
					  {0x8ff4af, 0xe4bbbc},
 | 
				
			||||||
 | 
					  {0x8ff4b0, 0xe583b4},
 | 
				
			||||||
 | 
					  {0x8ff4b1, 0xe587ac},
 | 
				
			||||||
 | 
					  {0x8ff4b2, 0xe58c87},
 | 
				
			||||||
 | 
					  {0x8ff4b3, 0xe58ca4},
 | 
				
			||||||
 | 
					  {0x8ff4b4, 0xefa88e},
 | 
				
			||||||
 | 
					  {0x8ff4b5, 0xe5928a},
 | 
				
			||||||
 | 
					  {0x8ff4b6, 0xe59d99},
 | 
				
			||||||
 | 
					  {0x8ff4b7, 0xefa88f},
 | 
				
			||||||
 | 
					  {0x8ff4b8, 0xefa890},
 | 
				
			||||||
 | 
					  {0x8ff4b9, 0xe5a29e},
 | 
				
			||||||
 | 
					  {0x8ff4ba, 0xe5afac},
 | 
				
			||||||
 | 
					  {0x8ff4bb, 0xe5b3b5},
 | 
				
			||||||
 | 
					  {0x8ff4bc, 0xe5b593},
 | 
				
			||||||
 | 
					  {0x8ff4bd, 0xefa891},
 | 
				
			||||||
 | 
					  {0x8ff4be, 0xe5beb7},
 | 
				
			||||||
 | 
					  {0x8ff4bf, 0xe68285},
 | 
				
			||||||
 | 
					  {0x8ff4c0, 0xe684a0},
 | 
				
			||||||
 | 
					  {0x8ff4c1, 0xe6958e},
 | 
				
			||||||
 | 
					  {0x8ff4c2, 0xe698bb},
 | 
				
			||||||
 | 
					  {0x8ff4c3, 0xe699a5},
 | 
				
			||||||
 | 
					  {0x8ff4c4, 0xefa892},
 | 
				
			||||||
 | 
					  {0x8ff4c5, 0xefa4a9},
 | 
				
			||||||
 | 
					  {0x8ff4c6, 0xe6a081},
 | 
				
			||||||
 | 
					  {0x8ff4c7, 0xefa893},
 | 
				
			||||||
 | 
					  {0x8ff4c8, 0xefa894},
 | 
				
			||||||
 | 
					  {0x8ff4c9, 0xe6a9ab},
 | 
				
			||||||
 | 
					  {0x8ff4ca, 0xe6aba2},
 | 
				
			||||||
 | 
					  {0x8ff4cb, 0xe6b7b8},
 | 
				
			||||||
 | 
					  {0x8ff4cc, 0xe6b7b2},
 | 
				
			||||||
 | 
					  {0x8ff4cd, 0xe780a8},
 | 
				
			||||||
 | 
					  {0x8ff4ce, 0xefa895},
 | 
				
			||||||
 | 
					  {0x8ff4cf, 0xefa896},
 | 
				
			||||||
 | 
					  {0x8ff4d0, 0xe79481},
 | 
				
			||||||
 | 
					  {0x8ff4d1, 0xe79a82},
 | 
				
			||||||
 | 
					  {0x8ff4d2, 0xe79a9e},
 | 
				
			||||||
 | 
					  {0x8ff4d3, 0xefa897},
 | 
				
			||||||
 | 
					  {0x8ff4d4, 0xe7a4b0},
 | 
				
			||||||
 | 
					  {0x8ff4d5, 0xefa898},
 | 
				
			||||||
 | 
					  {0x8ff4d6, 0xefa899},
 | 
				
			||||||
 | 
					  {0x8ff4d7, 0xefa89a},
 | 
				
			||||||
 | 
					  {0x8ff4d8, 0xefa89b},
 | 
				
			||||||
 | 
					  {0x8ff4d9, 0xe7aba7},
 | 
				
			||||||
 | 
					  {0x8ff4da, 0xefa89c},
 | 
				
			||||||
 | 
					  {0x8ff4db, 0xefa89d},
 | 
				
			||||||
 | 
					  {0x8ff4dc, 0xe7b6a0},
 | 
				
			||||||
 | 
					  {0x8ff4dd, 0xe7b796},
 | 
				
			||||||
 | 
					  {0x8ff4de, 0xefa89e},
 | 
				
			||||||
 | 
					  {0x8ff4df, 0xe88da2},
 | 
				
			||||||
 | 
					  {0x8ff4e0, 0xefa89f},
 | 
				
			||||||
 | 
					  {0x8ff4e1, 0xe896b0},
 | 
				
			||||||
 | 
					  {0x8ff4e2, 0xefa8a0},
 | 
				
			||||||
 | 
					  {0x8ff4e3, 0xefa8a1},
 | 
				
			||||||
 | 
					  {0x8ff4e4, 0xe8a087},
 | 
				
			||||||
 | 
					  {0x8ff4e5, 0xefa8a2},
 | 
				
			||||||
 | 
					  {0x8ff4e6, 0xe8adbf},
 | 
				
			||||||
 | 
					  {0x8ff4e7, 0xe8b3b4},
 | 
				
			||||||
 | 
					  {0x8ff4e8, 0xe8b5b6},
 | 
				
			||||||
 | 
					  {0x8ff4e9, 0xefa8a3},
 | 
				
			||||||
 | 
					  {0x8ff4ea, 0xefa8a4},
 | 
				
			||||||
 | 
					  {0x8ff4eb, 0xefa8a5},
 | 
				
			||||||
 | 
					  {0x8ff4ec, 0xe9839e},
 | 
				
			||||||
 | 
					  {0x8ff4ed, 0xefa8a6},
 | 
				
			||||||
 | 
					  {0x8ff4ee, 0xe98495},
 | 
				
			||||||
 | 
					  {0x8ff4ef, 0xefa8a7},
 | 
				
			||||||
 | 
					  {0x8ff4f0, 0xefa8a8},
 | 
				
			||||||
 | 
					  {0x8ff4f1, 0xe99692},
 | 
				
			||||||
 | 
					  {0x8ff4f2, 0xefa79c},
 | 
				
			||||||
 | 
					  {0x8ff4f3, 0xefa8a9},
 | 
				
			||||||
 | 
					  {0x8ff4f4, 0xe99cbb},
 | 
				
			||||||
 | 
					  {0x8ff4f5, 0xe99d8d},
 | 
				
			||||||
 | 
					  {0x8ff4f6, 0xe99d91},
 | 
				
			||||||
 | 
					  {0x8ff4f7, 0xefa8aa},
 | 
				
			||||||
 | 
					  {0x8ff4f8, 0xefa8ab},
 | 
				
			||||||
 | 
					  {0x8ff4f9, 0xefa8ac},
 | 
				
			||||||
 | 
					  {0x8ff4fa, 0xe9a69e},
 | 
				
			||||||
 | 
					  {0x8ff4fb, 0xe9ab99},
 | 
				
			||||||
 | 
					  {0x8ff4fc, 0xe9adb2},
 | 
				
			||||||
 | 
					  {0x8ff4fd, 0xefa8ad},
 | 
				
			||||||
 | 
					  {0x8ff4fe, 0xe9bb91},
 | 
				
			||||||
};
 | 
					};
 | 
				
			||||||
 
 | 
				
			|||||||
										
											
												File diff suppressed because it is too large
												Load Diff
											
										
									
								
							@@ -1,14 +1,11 @@
 | 
				
			|||||||
static pg_utf_to_local ULmapEUC_JP[ 13007 ] = {
 | 
					static pg_utf_to_local ULmapEUC_JP[ 13175 ] = {
 | 
				
			||||||
  {0xc2a1, 0x8fa2c2},
 | 
					  {0xc2a1, 0x8fa2c2},
 | 
				
			||||||
  {0xc2a2, 0xa1f1},
 | 
					 | 
				
			||||||
  {0xc2a3, 0xa1f2},
 | 
					 | 
				
			||||||
  {0xc2a4, 0x8fa2f0},
 | 
					  {0xc2a4, 0x8fa2f0},
 | 
				
			||||||
  {0xc2a6, 0x8fa2c3},
 | 
					  {0xc2a6, 0x8fa2c3},
 | 
				
			||||||
  {0xc2a7, 0xa1f8},
 | 
					  {0xc2a7, 0xa1f8},
 | 
				
			||||||
  {0xc2a8, 0xa1af},
 | 
					  {0xc2a8, 0xa1af},
 | 
				
			||||||
  {0xc2a9, 0x8fa2ed},
 | 
					  {0xc2a9, 0x8fa2ed},
 | 
				
			||||||
  {0xc2aa, 0x8fa2ec},
 | 
					  {0xc2aa, 0x8fa2ec},
 | 
				
			||||||
  {0xc2ac, 0xa2cc},
 | 
					 | 
				
			||||||
  {0xc2ae, 0x8fa2ee},
 | 
					  {0xc2ae, 0x8fa2ee},
 | 
				
			||||||
  {0xc2af, 0x8fa2b4},
 | 
					  {0xc2af, 0x8fa2b4},
 | 
				
			||||||
  {0xc2b0, 0xa1eb},
 | 
					  {0xc2b0, 0xa1eb},
 | 
				
			||||||
@@ -389,7 +386,6 @@ static pg_utf_to_local ULmapEUC_JP[ 13007 ] = {
 | 
				
			|||||||
  {0xd19f, 0x8fa7fe},
 | 
					  {0xd19f, 0x8fa7fe},
 | 
				
			||||||
  {0xe28090, 0xa1be},
 | 
					  {0xe28090, 0xa1be},
 | 
				
			||||||
  {0xe28095, 0xa1bd},
 | 
					  {0xe28095, 0xa1bd},
 | 
				
			||||||
  {0xe28096, 0xa1c2},
 | 
					 | 
				
			||||||
  {0xe28098, 0xa1c6},
 | 
					  {0xe28098, 0xa1c6},
 | 
				
			||||||
  {0xe28099, 0xa1c7},
 | 
					  {0xe28099, 0xa1c7},
 | 
				
			||||||
  {0xe2809c, 0xa1c8},
 | 
					  {0xe2809c, 0xa1c8},
 | 
				
			||||||
@@ -403,9 +399,30 @@ static pg_utf_to_local ULmapEUC_JP[ 13007 ] = {
 | 
				
			|||||||
  {0xe280b3, 0xa1ed},
 | 
					  {0xe280b3, 0xa1ed},
 | 
				
			||||||
  {0xe280bb, 0xa2a8},
 | 
					  {0xe280bb, 0xa2a8},
 | 
				
			||||||
  {0xe28483, 0xa1ee},
 | 
					  {0xe28483, 0xa1ee},
 | 
				
			||||||
  {0xe28496, 0x8fa2f1},
 | 
					  {0xe28496, 0xade2},
 | 
				
			||||||
 | 
					  {0xe284a1, 0xade4},
 | 
				
			||||||
  {0xe284a2, 0x8fa2ef},
 | 
					  {0xe284a2, 0x8fa2ef},
 | 
				
			||||||
  {0xe284ab, 0xa2f2},
 | 
					  {0xe284ab, 0xa2f2},
 | 
				
			||||||
 | 
					  {0xe285a0, 0xadb5},
 | 
				
			||||||
 | 
					  {0xe285a1, 0xadb6},
 | 
				
			||||||
 | 
					  {0xe285a2, 0xadb7},
 | 
				
			||||||
 | 
					  {0xe285a3, 0xadb8},
 | 
				
			||||||
 | 
					  {0xe285a4, 0xadb9},
 | 
				
			||||||
 | 
					  {0xe285a5, 0xadba},
 | 
				
			||||||
 | 
					  {0xe285a6, 0xadbb},
 | 
				
			||||||
 | 
					  {0xe285a7, 0xadbc},
 | 
				
			||||||
 | 
					  {0xe285a8, 0xadbd},
 | 
				
			||||||
 | 
					  {0xe285a9, 0xadbe},
 | 
				
			||||||
 | 
					  {0xe285b0, 0x8ff3f3},
 | 
				
			||||||
 | 
					  {0xe285b1, 0x8ff3f4},
 | 
				
			||||||
 | 
					  {0xe285b2, 0x8ff3f5},
 | 
				
			||||||
 | 
					  {0xe285b3, 0x8ff3f6},
 | 
				
			||||||
 | 
					  {0xe285b4, 0x8ff3f7},
 | 
				
			||||||
 | 
					  {0xe285b5, 0x8ff3f8},
 | 
				
			||||||
 | 
					  {0xe285b6, 0x8ff3f9},
 | 
				
			||||||
 | 
					  {0xe285b7, 0x8ff3fa},
 | 
				
			||||||
 | 
					  {0xe285b8, 0x8ff3fb},
 | 
				
			||||||
 | 
					  {0xe285b9, 0x8ff3fc},
 | 
				
			||||||
  {0xe28690, 0xa2ab},
 | 
					  {0xe28690, 0xa2ab},
 | 
				
			||||||
  {0xe28691, 0xa2ac},
 | 
					  {0xe28691, 0xa2ac},
 | 
				
			||||||
  {0xe28692, 0xa2aa},
 | 
					  {0xe28692, 0xa2aa},
 | 
				
			||||||
@@ -418,17 +435,20 @@ static pg_utf_to_local ULmapEUC_JP[ 13007 ] = {
 | 
				
			|||||||
  {0xe28887, 0xa2e0},
 | 
					  {0xe28887, 0xa2e0},
 | 
				
			||||||
  {0xe28888, 0xa2ba},
 | 
					  {0xe28888, 0xa2ba},
 | 
				
			||||||
  {0xe2888b, 0xa2bb},
 | 
					  {0xe2888b, 0xa2bb},
 | 
				
			||||||
  {0xe28892, 0xa1dd},
 | 
					  {0xe28891, 0xadf4},
 | 
				
			||||||
  {0xe2889a, 0xa2e5},
 | 
					  {0xe2889a, 0xa2e5},
 | 
				
			||||||
  {0xe2889d, 0xa2e7},
 | 
					  {0xe2889d, 0xa2e7},
 | 
				
			||||||
  {0xe2889e, 0xa1e7},
 | 
					  {0xe2889e, 0xa1e7},
 | 
				
			||||||
 | 
					  {0xe2889f, 0xadf8},
 | 
				
			||||||
  {0xe288a0, 0xa2dc},
 | 
					  {0xe288a0, 0xa2dc},
 | 
				
			||||||
 | 
					  {0xe288a5, 0xa1c2},
 | 
				
			||||||
  {0xe288a7, 0xa2ca},
 | 
					  {0xe288a7, 0xa2ca},
 | 
				
			||||||
  {0xe288a8, 0xa2cb},
 | 
					  {0xe288a8, 0xa2cb},
 | 
				
			||||||
  {0xe288a9, 0xa2c1},
 | 
					  {0xe288a9, 0xa2c1},
 | 
				
			||||||
  {0xe288aa, 0xa2c0},
 | 
					  {0xe288aa, 0xa2c0},
 | 
				
			||||||
  {0xe288ab, 0xa2e9},
 | 
					  {0xe288ab, 0xa2e9},
 | 
				
			||||||
  {0xe288ac, 0xa2ea},
 | 
					  {0xe288ac, 0xa2ea},
 | 
				
			||||||
 | 
					  {0xe288ae, 0xadf3},
 | 
				
			||||||
  {0xe288b4, 0xa1e8},
 | 
					  {0xe288b4, 0xa1e8},
 | 
				
			||||||
  {0xe288b5, 0xa2e8},
 | 
					  {0xe288b5, 0xa2e8},
 | 
				
			||||||
  {0xe288bd, 0xa2e6},
 | 
					  {0xe288bd, 0xa2e6},
 | 
				
			||||||
@@ -444,7 +464,28 @@ static pg_utf_to_local ULmapEUC_JP[ 13007 ] = {
 | 
				
			|||||||
  {0xe28a86, 0xa2bc},
 | 
					  {0xe28a86, 0xa2bc},
 | 
				
			||||||
  {0xe28a87, 0xa2bd},
 | 
					  {0xe28a87, 0xa2bd},
 | 
				
			||||||
  {0xe28aa5, 0xa2dd},
 | 
					  {0xe28aa5, 0xa2dd},
 | 
				
			||||||
 | 
					  {0xe28abf, 0xadf9},
 | 
				
			||||||
  {0xe28c92, 0xa2de},
 | 
					  {0xe28c92, 0xa2de},
 | 
				
			||||||
 | 
					  {0xe291a0, 0xada1},
 | 
				
			||||||
 | 
					  {0xe291a1, 0xada2},
 | 
				
			||||||
 | 
					  {0xe291a2, 0xada3},
 | 
				
			||||||
 | 
					  {0xe291a3, 0xada4},
 | 
				
			||||||
 | 
					  {0xe291a4, 0xada5},
 | 
				
			||||||
 | 
					  {0xe291a5, 0xada6},
 | 
				
			||||||
 | 
					  {0xe291a6, 0xada7},
 | 
				
			||||||
 | 
					  {0xe291a7, 0xada8},
 | 
				
			||||||
 | 
					  {0xe291a8, 0xada9},
 | 
				
			||||||
 | 
					  {0xe291a9, 0xadaa},
 | 
				
			||||||
 | 
					  {0xe291aa, 0xadab},
 | 
				
			||||||
 | 
					  {0xe291ab, 0xadac},
 | 
				
			||||||
 | 
					  {0xe291ac, 0xadad},
 | 
				
			||||||
 | 
					  {0xe291ad, 0xadae},
 | 
				
			||||||
 | 
					  {0xe291ae, 0xadaf},
 | 
				
			||||||
 | 
					  {0xe291af, 0xadb0},
 | 
				
			||||||
 | 
					  {0xe291b0, 0xadb1},
 | 
				
			||||||
 | 
					  {0xe291b1, 0xadb2},
 | 
				
			||||||
 | 
					  {0xe291b2, 0xadb3},
 | 
				
			||||||
 | 
					  {0xe291b3, 0xadb4},
 | 
				
			||||||
  {0xe29480, 0xa8a1},
 | 
					  {0xe29480, 0xa8a1},
 | 
				
			||||||
  {0xe29481, 0xa8ac},
 | 
					  {0xe29481, 0xa8ac},
 | 
				
			||||||
  {0xe29482, 0xa8a2},
 | 
					  {0xe29482, 0xa8a2},
 | 
				
			||||||
@@ -517,7 +558,8 @@ static pg_utf_to_local ULmapEUC_JP[ 13007 ] = {
 | 
				
			|||||||
  {0xe38093, 0xa2ae},
 | 
					  {0xe38093, 0xa2ae},
 | 
				
			||||||
  {0xe38094, 0xa1cc},
 | 
					  {0xe38094, 0xa1cc},
 | 
				
			||||||
  {0xe38095, 0xa1cd},
 | 
					  {0xe38095, 0xa1cd},
 | 
				
			||||||
  {0xe3809c, 0xa1c1},
 | 
					  {0xe3809d, 0xade0},
 | 
				
			||||||
 | 
					  {0xe3809f, 0xade1},
 | 
				
			||||||
  {0xe38181, 0xa4a1},
 | 
					  {0xe38181, 0xa4a1},
 | 
				
			||||||
  {0xe38182, 0xa4a2},
 | 
					  {0xe38182, 0xa4a2},
 | 
				
			||||||
  {0xe38183, 0xa4a3},
 | 
					  {0xe38183, 0xa4a3},
 | 
				
			||||||
@@ -695,6 +737,42 @@ static pg_utf_to_local ULmapEUC_JP[ 13007 ] = {
 | 
				
			|||||||
  {0xe383bc, 0xa1bc},
 | 
					  {0xe383bc, 0xa1bc},
 | 
				
			||||||
  {0xe383bd, 0xa1b3},
 | 
					  {0xe383bd, 0xa1b3},
 | 
				
			||||||
  {0xe383be, 0xa1b4},
 | 
					  {0xe383be, 0xa1b4},
 | 
				
			||||||
 | 
					  {0xe388b1, 0xadea},
 | 
				
			||||||
 | 
					  {0xe388b2, 0xadeb},
 | 
				
			||||||
 | 
					  {0xe388b9, 0xadec},
 | 
				
			||||||
 | 
					  {0xe38aa4, 0xade5},
 | 
				
			||||||
 | 
					  {0xe38aa5, 0xade6},
 | 
				
			||||||
 | 
					  {0xe38aa6, 0xade7},
 | 
				
			||||||
 | 
					  {0xe38aa7, 0xade8},
 | 
				
			||||||
 | 
					  {0xe38aa8, 0xade9},
 | 
				
			||||||
 | 
					  {0xe38c83, 0xadc6},
 | 
				
			||||||
 | 
					  {0xe38c8d, 0xadca},
 | 
				
			||||||
 | 
					  {0xe38c94, 0xadc1},
 | 
				
			||||||
 | 
					  {0xe38c98, 0xadc4},
 | 
				
			||||||
 | 
					  {0xe38ca2, 0xadc2},
 | 
				
			||||||
 | 
					  {0xe38ca3, 0xadcc},
 | 
				
			||||||
 | 
					  {0xe38ca6, 0xadcb},
 | 
				
			||||||
 | 
					  {0xe38ca7, 0xadc5},
 | 
				
			||||||
 | 
					  {0xe38cab, 0xadcd},
 | 
				
			||||||
 | 
					  {0xe38cb6, 0xadc7},
 | 
				
			||||||
 | 
					  {0xe38cbb, 0xadcf},
 | 
				
			||||||
 | 
					  {0xe38d89, 0xadc0},
 | 
				
			||||||
 | 
					  {0xe38d8a, 0xadce},
 | 
				
			||||||
 | 
					  {0xe38d8d, 0xadc3},
 | 
				
			||||||
 | 
					  {0xe38d91, 0xadc8},
 | 
				
			||||||
 | 
					  {0xe38d97, 0xadc9},
 | 
				
			||||||
 | 
					  {0xe38dbb, 0xaddf},
 | 
				
			||||||
 | 
					  {0xe38dbc, 0xadef},
 | 
				
			||||||
 | 
					  {0xe38dbd, 0xadee},
 | 
				
			||||||
 | 
					  {0xe38dbe, 0xaded},
 | 
				
			||||||
 | 
					  {0xe38e8e, 0xadd3},
 | 
				
			||||||
 | 
					  {0xe38e8f, 0xadd4},
 | 
				
			||||||
 | 
					  {0xe38e9c, 0xadd0},
 | 
				
			||||||
 | 
					  {0xe38e9d, 0xadd1},
 | 
				
			||||||
 | 
					  {0xe38e9e, 0xadd2},
 | 
				
			||||||
 | 
					  {0xe38ea1, 0xadd6},
 | 
				
			||||||
 | 
					  {0xe38f84, 0xadd5},
 | 
				
			||||||
 | 
					  {0xe38f8d, 0xade3},
 | 
				
			||||||
  {0xe4b880, 0xb0ec},
 | 
					  {0xe4b880, 0xb0ec},
 | 
				
			||||||
  {0xe4b881, 0xc3fa},
 | 
					  {0xe4b881, 0xc3fa},
 | 
				
			||||||
  {0xe4b882, 0x8fb0a1},
 | 
					  {0xe4b882, 0x8fb0a1},
 | 
				
			||||||
@@ -856,6 +934,7 @@ static pg_utf_to_local ULmapEUC_JP[ 13007 ] = {
 | 
				
			|||||||
  {0xe4bbb6, 0xb7ef},
 | 
					  {0xe4bbb6, 0xb7ef},
 | 
				
			||||||
  {0xe4bbb7, 0xd0c3},
 | 
					  {0xe4bbb7, 0xd0c3},
 | 
				
			||||||
  {0xe4bbbb, 0xc7a4},
 | 
					  {0xe4bbbb, 0xc7a4},
 | 
				
			||||||
 | 
					  {0xe4bbbc, 0x8ff4af},
 | 
				
			||||||
  {0xe4bbbd, 0x8fb0cf},
 | 
					  {0xe4bbbd, 0x8fb0cf},
 | 
				
			||||||
  {0xe4bbbe, 0x8fb0d0},
 | 
					  {0xe4bbbe, 0x8fb0d0},
 | 
				
			||||||
  {0xe4bbbf, 0x8fb0d1},
 | 
					  {0xe4bbbf, 0x8fb0d1},
 | 
				
			||||||
@@ -1202,6 +1281,7 @@ static pg_utf_to_local ULmapEUC_JP[ 13007 ] = {
 | 
				
			|||||||
  {0xe583af, 0x8fb2c4},
 | 
					  {0xe583af, 0x8fb2c4},
 | 
				
			||||||
  {0xe583b1, 0x8fb2c5},
 | 
					  {0xe583b1, 0x8fb2c5},
 | 
				
			||||||
  {0xe583b2, 0x8fb2d1},
 | 
					  {0xe583b2, 0x8fb2d1},
 | 
				
			||||||
 | 
					  {0xe583b4, 0x8ff4b0},
 | 
				
			||||||
  {0xe583b5, 0xd1ac},
 | 
					  {0xe583b5, 0xd1ac},
 | 
				
			||||||
  {0xe583b6, 0x8fb2c6},
 | 
					  {0xe583b6, 0x8fb2c6},
 | 
				
			||||||
  {0xe583b9, 0xd1ab},
 | 
					  {0xe583b9, 0xd1ab},
 | 
				
			||||||
@@ -1377,6 +1457,7 @@ static pg_utf_to_local ULmapEUC_JP[ 13007 ] = {
 | 
				
			|||||||
  {0xe587a7, 0xc2fc},
 | 
					  {0xe587a7, 0xc2fc},
 | 
				
			||||||
  {0xe587a9, 0xd1de},
 | 
					  {0xe587a9, 0xd1de},
 | 
				
			||||||
  {0xe587aa, 0xc6e4},
 | 
					  {0xe587aa, 0xc6e4},
 | 
				
			||||||
 | 
					  {0xe587ac, 0x8ff4b1},
 | 
				
			||||||
  {0xe587ad, 0xd1df},
 | 
					  {0xe587ad, 0xd1df},
 | 
				
			||||||
  {0xe587ae, 0x8fb3ab},
 | 
					  {0xe587ae, 0x8fb3ab},
 | 
				
			||||||
  {0xe587b0, 0xd1e0},
 | 
					  {0xe587b0, 0xd1e0},
 | 
				
			||||||
@@ -1577,6 +1658,7 @@ static pg_utf_to_local ULmapEUC_JP[ 13007 ] = {
 | 
				
			|||||||
  {0xe58c83, 0x8fb3fc},
 | 
					  {0xe58c83, 0x8fb3fc},
 | 
				
			||||||
  {0xe58c85, 0xcaf1},
 | 
					  {0xe58c85, 0xcaf1},
 | 
				
			||||||
  {0xe58c86, 0xd2b2},
 | 
					  {0xe58c86, 0xd2b2},
 | 
				
			||||||
 | 
					  {0xe58c87, 0x8ff4b2},
 | 
				
			||||||
  {0xe58c88, 0xd2b3},
 | 
					  {0xe58c88, 0xd2b3},
 | 
				
			||||||
  {0xe58c8a, 0x8fb3fd},
 | 
					  {0xe58c8a, 0x8fb3fd},
 | 
				
			||||||
  {0xe58c8b, 0x8fb3fe},
 | 
					  {0xe58c8b, 0x8fb3fe},
 | 
				
			||||||
@@ -1600,6 +1682,7 @@ static pg_utf_to_local ULmapEUC_JP[ 13007 ] = {
 | 
				
			|||||||
  {0xe58ca0, 0xbea2},
 | 
					  {0xe58ca0, 0xbea2},
 | 
				
			||||||
  {0xe58ca1, 0xb6a9},
 | 
					  {0xe58ca1, 0xb6a9},
 | 
				
			||||||
  {0xe58ca3, 0xd2ba},
 | 
					  {0xe58ca3, 0xd2ba},
 | 
				
			||||||
 | 
					  {0xe58ca4, 0x8ff4b3},
 | 
				
			||||||
  {0xe58ca5, 0x8fb4a9},
 | 
					  {0xe58ca5, 0x8fb4a9},
 | 
				
			||||||
  {0xe58ca7, 0x8fb4aa},
 | 
					  {0xe58ca7, 0x8fb4aa},
 | 
				
			||||||
  {0xe58ca8, 0x8fb4ab},
 | 
					  {0xe58ca8, 0x8fb4ab},
 | 
				
			||||||
@@ -1839,6 +1922,7 @@ static pg_utf_to_local ULmapEUC_JP[ 13007 ] = {
 | 
				
			|||||||
  {0xe59286, 0xd2f6},
 | 
					  {0xe59286, 0xd2f6},
 | 
				
			||||||
  {0xe59288, 0x8fb5a4},
 | 
					  {0xe59288, 0x8fb5a4},
 | 
				
			||||||
  {0xe59289, 0x8fb5a5},
 | 
					  {0xe59289, 0x8fb5a5},
 | 
				
			||||||
 | 
					  {0xe5928a, 0x8ff4b5},
 | 
				
			||||||
  {0xe5928b, 0xbaf0},
 | 
					  {0xe5928b, 0xbaf0},
 | 
				
			||||||
  {0xe5928c, 0xcfc2},
 | 
					  {0xe5928c, 0xcfc2},
 | 
				
			||||||
  {0xe5928d, 0x8fb5a6},
 | 
					  {0xe5928d, 0x8fb5a6},
 | 
				
			||||||
@@ -2250,6 +2334,7 @@ static pg_utf_to_local ULmapEUC_JP[ 13007 ] = {
 | 
				
			|||||||
  {0xe59d90, 0xbac1},
 | 
					  {0xe59d90, 0xbac1},
 | 
				
			||||||
  {0xe59d91, 0xb9a3},
 | 
					  {0xe59d91, 0xb9a3},
 | 
				
			||||||
  {0xe59d92, 0x8fb7c0},
 | 
					  {0xe59d92, 0x8fb7c0},
 | 
				
			||||||
 | 
					  {0xe59d99, 0x8ff4b6},
 | 
				
			||||||
  {0xe59da1, 0xd4b3},
 | 
					  {0xe59da1, 0xd4b3},
 | 
				
			||||||
  {0xe59da2, 0x8fb7c1},
 | 
					  {0xe59da2, 0x8fb7c1},
 | 
				
			||||||
  {0xe59da4, 0xbaa5},
 | 
					  {0xe59da4, 0xbaa5},
 | 
				
			||||||
@@ -2431,6 +2516,7 @@ static pg_utf_to_local ULmapEUC_JP[ 13007 ] = {
 | 
				
			|||||||
  {0xe5a297, 0xc1fd},
 | 
					  {0xe5a297, 0xc1fd},
 | 
				
			||||||
  {0xe5a29c, 0xc4c6},
 | 
					  {0xe5a29c, 0xc4c6},
 | 
				
			||||||
  {0xe5a29d, 0x8fb8c7},
 | 
					  {0xe5a29d, 0x8fb8c7},
 | 
				
			||||||
 | 
					  {0xe5a29e, 0x8ff4b9},
 | 
				
			||||||
  {0xe5a29f, 0xd4d2},
 | 
					  {0xe5a29f, 0xd4d2},
 | 
				
			||||||
  {0xe5a2a0, 0x8fb8c8},
 | 
					  {0xe5a2a0, 0x8fb8c8},
 | 
				
			||||||
  {0xe5a2a1, 0x8fb8c9},
 | 
					  {0xe5a2a1, 0x8fb8c9},
 | 
				
			||||||
@@ -2915,6 +3001,7 @@ static pg_utf_to_local ULmapEUC_JP[ 13007 ] = {
 | 
				
			|||||||
  {0xe5afa8, 0xdccd},
 | 
					  {0xe5afa8, 0xdccd},
 | 
				
			||||||
  {0xe5afa9, 0xbfb3},
 | 
					  {0xe5afa9, 0xbfb3},
 | 
				
			||||||
  {0xe5afab, 0xd5ed},
 | 
					  {0xe5afab, 0xd5ed},
 | 
				
			||||||
 | 
					  {0xe5afac, 0x8ff4ba},
 | 
				
			||||||
  {0xe5afae, 0xcec0},
 | 
					  {0xe5afae, 0xcec0},
 | 
				
			||||||
  {0xe5afaf, 0x8fbae5},
 | 
					  {0xe5afaf, 0x8fbae5},
 | 
				
			||||||
  {0xe5afb0, 0xd5ee},
 | 
					  {0xe5afb0, 0xd5ee},
 | 
				
			||||||
@@ -3067,6 +3154,7 @@ static pg_utf_to_local ULmapEUC_JP[ 13007 ] = {
 | 
				
			|||||||
  {0xe5b3b1, 0x8fbbbf},
 | 
					  {0xe5b3b1, 0x8fbbbf},
 | 
				
			||||||
  {0xe5b3b2, 0x8fbbc0},
 | 
					  {0xe5b3b2, 0x8fbbc0},
 | 
				
			||||||
  {0xe5b3b4, 0x8fbbc1},
 | 
					  {0xe5b3b4, 0x8fbbc1},
 | 
				
			||||||
 | 
					  {0xe5b3b5, 0x8ff4bb},
 | 
				
			||||||
  {0xe5b3b6, 0xc5e7},
 | 
					  {0xe5b3b6, 0xc5e7},
 | 
				
			||||||
  {0xe5b3ba, 0xd6b8},
 | 
					  {0xe5b3ba, 0xd6b8},
 | 
				
			||||||
  {0xe5b3bb, 0xbdd4},
 | 
					  {0xe5b3bb, 0xbdd4},
 | 
				
			||||||
@@ -3111,6 +3199,7 @@ static pg_utf_to_local ULmapEUC_JP[ 13007 ] = {
 | 
				
			|||||||
  {0xe5b590, 0xcdf2},
 | 
					  {0xe5b590, 0xcdf2},
 | 
				
			||||||
  {0xe5b591, 0x8fbbd5},
 | 
					  {0xe5b591, 0x8fbbd5},
 | 
				
			||||||
  {0xe5b592, 0xd6c9},
 | 
					  {0xe5b592, 0xd6c9},
 | 
				
			||||||
 | 
					  {0xe5b593, 0x8ff4bc},
 | 
				
			||||||
  {0xe5b595, 0x8fbbd4},
 | 
					  {0xe5b595, 0x8fbbd4},
 | 
				
			||||||
  {0xe5b599, 0x8fbbd6},
 | 
					  {0xe5b599, 0x8fbbd6},
 | 
				
			||||||
  {0xe5b59c, 0xd6bf},
 | 
					  {0xe5b59c, 0xd6bf},
 | 
				
			||||||
@@ -3503,6 +3592,7 @@ static pg_utf_to_local ULmapEUC_JP[ 13007 ] = {
 | 
				
			|||||||
  {0xe5beb1, 0x8fbdb6},
 | 
					  {0xe5beb1, 0x8fbdb6},
 | 
				
			||||||
  {0xe5beb3, 0xc6c1},
 | 
					  {0xe5beb3, 0xc6c1},
 | 
				
			||||||
  {0xe5beb4, 0xc4a7},
 | 
					  {0xe5beb4, 0xc4a7},
 | 
				
			||||||
 | 
					  {0xe5beb7, 0x8ff4be},
 | 
				
			||||||
  {0xe5beb8, 0x8fbdb7},
 | 
					  {0xe5beb8, 0x8fbdb7},
 | 
				
			||||||
  {0xe5beb9, 0xc5b0},
 | 
					  {0xe5beb9, 0xc5b0},
 | 
				
			||||||
  {0xe5bebc, 0xd7d5},
 | 
					  {0xe5bebc, 0xd7d5},
 | 
				
			||||||
@@ -3634,6 +3724,7 @@ static pg_utf_to_local ULmapEUC_JP[ 13007 ] = {
 | 
				
			|||||||
  {0xe68282, 0x8fbded},
 | 
					  {0xe68282, 0x8fbded},
 | 
				
			||||||
  {0xe68283, 0xd7fd},
 | 
					  {0xe68283, 0xd7fd},
 | 
				
			||||||
  {0xe68284, 0xd8a1},
 | 
					  {0xe68284, 0xd8a1},
 | 
				
			||||||
 | 
					  {0xe68285, 0x8ff4bf},
 | 
				
			||||||
  {0xe68286, 0x8fbdee},
 | 
					  {0xe68286, 0x8fbdee},
 | 
				
			||||||
  {0xe68288, 0x8fbdef},
 | 
					  {0xe68288, 0x8fbdef},
 | 
				
			||||||
  {0xe68289, 0xbcbd},
 | 
					  {0xe68289, 0xbcbd},
 | 
				
			||||||
@@ -3749,6 +3840,7 @@ static pg_utf_to_local ULmapEUC_JP[ 13007 ] = {
 | 
				
			|||||||
  {0xe6849c, 0x8fbec4},
 | 
					  {0xe6849c, 0x8fbec4},
 | 
				
			||||||
  {0xe6849e, 0x8fbec5},
 | 
					  {0xe6849e, 0x8fbec5},
 | 
				
			||||||
  {0xe6849f, 0xb4b6},
 | 
					  {0xe6849f, 0xb4b6},
 | 
				
			||||||
 | 
					  {0xe684a0, 0x8ff4c0},
 | 
				
			||||||
  {0xe684a1, 0xd8bb},
 | 
					  {0xe684a1, 0xd8bb},
 | 
				
			||||||
  {0xe684a2, 0x8fbec6},
 | 
					  {0xe684a2, 0x8fbec6},
 | 
				
			||||||
  {0xe684a7, 0xd8c3},
 | 
					  {0xe684a7, 0xd8c3},
 | 
				
			||||||
@@ -4402,6 +4494,7 @@ static pg_utf_to_local ULmapEUC_JP[ 13007 ] = {
 | 
				
			|||||||
  {0xe69588, 0xdac3},
 | 
					  {0xe69588, 0xdac3},
 | 
				
			||||||
  {0xe69589, 0x8fc1cc},
 | 
					  {0xe69589, 0x8fc1cc},
 | 
				
			||||||
  {0xe6958d, 0xdac6},
 | 
					  {0xe6958d, 0xdac6},
 | 
				
			||||||
 | 
					  {0xe6958e, 0x8ff4c1},
 | 
				
			||||||
  {0xe6958f, 0xc9d2},
 | 
					  {0xe6958f, 0xc9d2},
 | 
				
			||||||
  {0xe69590, 0x8fc1cd},
 | 
					  {0xe69590, 0x8fc1cd},
 | 
				
			||||||
  {0xe69591, 0xb5df},
 | 
					  {0xe69591, 0xb5df},
 | 
				
			||||||
@@ -4560,6 +4653,7 @@ static pg_utf_to_local ULmapEUC_JP[ 13007 ] = {
 | 
				
			|||||||
  {0xe698b6, 0xdae4},
 | 
					  {0xe698b6, 0xdae4},
 | 
				
			||||||
  {0xe698b7, 0x8fc2b0},
 | 
					  {0xe698b7, 0x8fc2b0},
 | 
				
			||||||
  {0xe698b9, 0x8fc2af},
 | 
					  {0xe698b9, 0x8fc2af},
 | 
				
			||||||
 | 
					  {0xe698bb, 0x8ff4c2},
 | 
				
			||||||
  {0xe698bc, 0xc3eb},
 | 
					  {0xe698bc, 0xc3eb},
 | 
				
			||||||
  {0xe698bf, 0xdba6},
 | 
					  {0xe698bf, 0xdba6},
 | 
				
			||||||
  {0xe69980, 0x8fc2b1},
 | 
					  {0xe69980, 0x8fc2b1},
 | 
				
			||||||
@@ -4589,6 +4683,7 @@ static pg_utf_to_local ULmapEUC_JP[ 13007 ] = {
 | 
				
			|||||||
  {0xe699a1, 0x8fc2be},
 | 
					  {0xe699a1, 0x8fc2be},
 | 
				
			||||||
  {0xe699a2, 0xdaf1},
 | 
					  {0xe699a2, 0xdaf1},
 | 
				
			||||||
  {0xe699a4, 0xdaed},
 | 
					  {0xe699a4, 0xdaed},
 | 
				
			||||||
 | 
					  {0xe699a5, 0x8ff4c3},
 | 
				
			||||||
  {0xe699a6, 0xb3a2},
 | 
					  {0xe699a6, 0xb3a2},
 | 
				
			||||||
  {0xe699a7, 0xdaee},
 | 
					  {0xe699a7, 0xdaee},
 | 
				
			||||||
  {0xe699a8, 0xdaef},
 | 
					  {0xe699a8, 0xdaef},
 | 
				
			||||||
@@ -4861,6 +4956,7 @@ static pg_utf_to_local ULmapEUC_JP[ 13007 ] = {
 | 
				
			|||||||
  {0xe69fbb, 0xbaba},
 | 
					  {0xe69fbb, 0xbaba},
 | 
				
			||||||
  {0xe69fbe, 0xcbef},
 | 
					  {0xe69fbe, 0xcbef},
 | 
				
			||||||
  {0xe69fbf, 0xb3c1},
 | 
					  {0xe69fbf, 0xb3c1},
 | 
				
			||||||
 | 
					  {0xe6a081, 0x8ff4c6},
 | 
				
			||||||
  {0xe6a082, 0xc4ce},
 | 
					  {0xe6a082, 0xc4ce},
 | 
				
			||||||
  {0xe6a083, 0xc6ca},
 | 
					  {0xe6a083, 0xc6ca},
 | 
				
			||||||
  {0xe6a084, 0xb1c9},
 | 
					  {0xe6a084, 0xb1c9},
 | 
				
			||||||
@@ -5248,6 +5344,7 @@ static pg_utf_to_local ULmapEUC_JP[ 13007 ] = {
 | 
				
			|||||||
  {0xe6a9a6, 0xdcf5},
 | 
					  {0xe6a9a6, 0xdcf5},
 | 
				
			||||||
  {0xe6a9a7, 0x8fc5b2},
 | 
					  {0xe6a9a7, 0x8fc5b2},
 | 
				
			||||||
  {0xe6a9aa, 0x8fc5b3},
 | 
					  {0xe6a9aa, 0x8fc5b3},
 | 
				
			||||||
 | 
					  {0xe6a9ab, 0x8ff4c9},
 | 
				
			||||||
  {0xe6a9b1, 0x8fc5b4},
 | 
					  {0xe6a9b1, 0x8fc5b4},
 | 
				
			||||||
  {0xe6a9b2, 0xdcef},
 | 
					  {0xe6a9b2, 0xdcef},
 | 
				
			||||||
  {0xe6a9b3, 0x8fc5b5},
 | 
					  {0xe6a9b3, 0x8fc5b5},
 | 
				
			||||||
@@ -5309,6 +5406,7 @@ static pg_utf_to_local ULmapEUC_JP[ 13007 ] = {
 | 
				
			|||||||
  {0xe6ab9d, 0x8fc5d4},
 | 
					  {0xe6ab9d, 0x8fc5d4},
 | 
				
			||||||
  {0xe6ab9e, 0xdda9},
 | 
					  {0xe6ab9e, 0xdda9},
 | 
				
			||||||
  {0xe6ab9f, 0xddab},
 | 
					  {0xe6ab9f, 0xddab},
 | 
				
			||||||
 | 
					  {0xe6aba2, 0x8ff4ca},
 | 
				
			||||||
  {0xe6aba4, 0x8fc5d5},
 | 
					  {0xe6aba4, 0x8fc5d5},
 | 
				
			||||||
  {0xe6aba7, 0x8fc5d6},
 | 
					  {0xe6aba7, 0x8fc5d6},
 | 
				
			||||||
  {0xe6aba8, 0xc8a7},
 | 
					  {0xe6aba8, 0xc8a7},
 | 
				
			||||||
@@ -5756,11 +5854,13 @@ static pg_utf_to_local ULmapEUC_JP[ 13007 ] = {
 | 
				
			|||||||
  {0xe6b7af, 0x8fc7e2},
 | 
					  {0xe6b7af, 0x8fc7e2},
 | 
				
			||||||
  {0xe6b7b0, 0x8fc7e3},
 | 
					  {0xe6b7b0, 0x8fc7e3},
 | 
				
			||||||
  {0xe6b7b1, 0xbfbc},
 | 
					  {0xe6b7b1, 0xbfbc},
 | 
				
			||||||
 | 
					  {0xe6b7b2, 0x8ff4cc},
 | 
				
			||||||
  {0xe6b7b3, 0xbddf},
 | 
					  {0xe6b7b3, 0xbddf},
 | 
				
			||||||
  {0xe6b7b4, 0x8fc7e4},
 | 
					  {0xe6b7b4, 0x8fc7e4},
 | 
				
			||||||
  {0xe6b7b5, 0xcaa5},
 | 
					  {0xe6b7b5, 0xcaa5},
 | 
				
			||||||
  {0xe6b7b6, 0x8fc7e5},
 | 
					  {0xe6b7b6, 0x8fc7e5},
 | 
				
			||||||
  {0xe6b7b7, 0xbaae},
 | 
					  {0xe6b7b7, 0xbaae},
 | 
				
			||||||
 | 
					  {0xe6b7b8, 0x8ff4cb},
 | 
				
			||||||
  {0xe6b7b9, 0xdebb},
 | 
					  {0xe6b7b9, 0xdebb},
 | 
				
			||||||
  {0xe6b7ba, 0xdec9},
 | 
					  {0xe6b7ba, 0xdec9},
 | 
				
			||||||
  {0xe6b7bb, 0xc5ba},
 | 
					  {0xe6b7bb, 0xc5ba},
 | 
				
			||||||
@@ -6070,6 +6170,7 @@ static pg_utf_to_local ULmapEUC_JP[ 13007 ] = {
 | 
				
			|||||||
  {0xe780a3, 0x8fc9b1},
 | 
					  {0xe780a3, 0x8fc9b1},
 | 
				
			||||||
  {0xe780a6, 0xc3f5},
 | 
					  {0xe780a6, 0xc3f5},
 | 
				
			||||||
  {0xe780a7, 0xc2ed},
 | 
					  {0xe780a7, 0xc2ed},
 | 
				
			||||||
 | 
					  {0xe780a8, 0x8ff4cd},
 | 
				
			||||||
  {0xe780ac, 0xc0a5},
 | 
					  {0xe780ac, 0xc0a5},
 | 
				
			||||||
  {0xe780af, 0x8fc9b2},
 | 
					  {0xe780af, 0x8fc9b2},
 | 
				
			||||||
  {0xe780b0, 0xdfd0},
 | 
					  {0xe780b0, 0xdfd0},
 | 
				
			||||||
@@ -6135,6 +6236,7 @@ static pg_utf_to_local ULmapEUC_JP[ 13007 ] = {
 | 
				
			|||||||
  {0xe782b8, 0xdfda},
 | 
					  {0xe782b8, 0xdfda},
 | 
				
			||||||
  {0xe782b9, 0xc5c0},
 | 
					  {0xe782b9, 0xc5c0},
 | 
				
			||||||
  {0xe782ba, 0xb0d9},
 | 
					  {0xe782ba, 0xb0d9},
 | 
				
			||||||
 | 
					  {0xe782bb, 0x8ff4ae},
 | 
				
			||||||
  {0xe78388, 0xcef5},
 | 
					  {0xe78388, 0xcef5},
 | 
				
			||||||
  {0xe7838a, 0x8fc9d8},
 | 
					  {0xe7838a, 0x8fc9d8},
 | 
				
			||||||
  {0xe7838b, 0xdfde},
 | 
					  {0xe7838b, 0xdfde},
 | 
				
			||||||
@@ -6708,6 +6810,7 @@ static pg_utf_to_local ULmapEUC_JP[ 13007 ] = {
 | 
				
			|||||||
  {0xe793bb, 0x8fccfb},
 | 
					  {0xe793bb, 0x8fccfb},
 | 
				
			||||||
  {0xe793bc, 0x8fccfc},
 | 
					  {0xe793bc, 0x8fccfc},
 | 
				
			||||||
  {0xe793bf, 0x8fccfd},
 | 
					  {0xe793bf, 0x8fccfd},
 | 
				
			||||||
 | 
					  {0xe79481, 0x8ff4d0},
 | 
				
			||||||
  {0xe79483, 0xe1ac},
 | 
					  {0xe79483, 0xe1ac},
 | 
				
			||||||
  {0xe79484, 0xe1ab},
 | 
					  {0xe79484, 0xe1ab},
 | 
				
			||||||
  {0xe79485, 0xe1ad},
 | 
					  {0xe79485, 0xe1ad},
 | 
				
			||||||
@@ -6972,6 +7075,7 @@ static pg_utf_to_local ULmapEUC_JP[ 13007 ] = {
 | 
				
			|||||||
  {0xe799be, 0xc9b4},
 | 
					  {0xe799be, 0xc9b4},
 | 
				
			||||||
  {0xe79a80, 0xe2a5},
 | 
					  {0xe79a80, 0xe2a5},
 | 
				
			||||||
  {0xe79a81, 0x8fceb5},
 | 
					  {0xe79a81, 0x8fceb5},
 | 
				
			||||||
 | 
					  {0xe79a82, 0x8ff4d1},
 | 
				
			||||||
  {0xe79a83, 0xe2a6},
 | 
					  {0xe79a83, 0xe2a6},
 | 
				
			||||||
  {0xe79a84, 0xc5aa},
 | 
					  {0xe79a84, 0xc5aa},
 | 
				
			||||||
  {0xe79a85, 0x8fceb6},
 | 
					  {0xe79a85, 0x8fceb6},
 | 
				
			||||||
@@ -6991,6 +7095,7 @@ static pg_utf_to_local ULmapEUC_JP[ 13007 ] = {
 | 
				
			|||||||
  {0xe79a9b, 0x8fceba},
 | 
					  {0xe79a9b, 0x8fceba},
 | 
				
			||||||
  {0xe79a9c, 0x8fcebb},
 | 
					  {0xe79a9c, 0x8fcebb},
 | 
				
			||||||
  {0xe79a9d, 0x8fcebc},
 | 
					  {0xe79a9d, 0x8fcebc},
 | 
				
			||||||
 | 
					  {0xe79a9e, 0x8ff4d2},
 | 
				
			||||||
  {0xe79a9f, 0x8fcebd},
 | 
					  {0xe79a9f, 0x8fcebd},
 | 
				
			||||||
  {0xe79aa0, 0x8fcebe},
 | 
					  {0xe79aa0, 0x8fcebe},
 | 
				
			||||||
  {0xe79aa2, 0x8fcebf},
 | 
					  {0xe79aa2, 0x8fcebf},
 | 
				
			||||||
@@ -7353,6 +7458,7 @@ static pg_utf_to_local ULmapEUC_JP[ 13007 ] = {
 | 
				
			|||||||
  {0xe7a4ab, 0xe3aa},
 | 
					  {0xe7a4ab, 0xe3aa},
 | 
				
			||||||
  {0xe7a4ac, 0xe3a9},
 | 
					  {0xe7a4ac, 0xe3a9},
 | 
				
			||||||
  {0xe7a4ad, 0x8fd0c7},
 | 
					  {0xe7a4ad, 0x8fd0c7},
 | 
				
			||||||
 | 
					  {0xe7a4b0, 0x8ff4d4},
 | 
				
			||||||
  {0xe7a4b1, 0x8fd0c8},
 | 
					  {0xe7a4b1, 0x8fd0c8},
 | 
				
			||||||
  {0xe7a4b4, 0x8fd0c9},
 | 
					  {0xe7a4b4, 0x8fd0c9},
 | 
				
			||||||
  {0xe7a4b5, 0x8fd0ca},
 | 
					  {0xe7a4b5, 0x8fd0ca},
 | 
				
			||||||
@@ -7630,6 +7736,7 @@ static pg_utf_to_local ULmapEUC_JP[ 13007 ] = {
 | 
				
			|||||||
  {0xe7aba3, 0xbdd7},
 | 
					  {0xe7aba3, 0xbdd7},
 | 
				
			||||||
  {0xe7aba5, 0xc6b8},
 | 
					  {0xe7aba5, 0xc6b8},
 | 
				
			||||||
  {0xe7aba6, 0xe3f0},
 | 
					  {0xe7aba6, 0xe3f0},
 | 
				
			||||||
 | 
					  {0xe7aba7, 0x8ff4d9},
 | 
				
			||||||
  {0xe7aba8, 0x8fd1ea},
 | 
					  {0xe7aba8, 0x8fd1ea},
 | 
				
			||||||
  {0xe7aba9, 0x8fd1eb},
 | 
					  {0xe7aba9, 0x8fd1eb},
 | 
				
			||||||
  {0xe7abaa, 0xc3a8},
 | 
					  {0xe7abaa, 0xc3a8},
 | 
				
			||||||
@@ -8084,6 +8191,7 @@ static pg_utf_to_local ULmapEUC_JP[ 13007 ] = {
 | 
				
			|||||||
  {0xe7b69d, 0x8fd3fe},
 | 
					  {0xe7b69d, 0x8fd3fe},
 | 
				
			||||||
  {0xe7b69e, 0x8fd4a1},
 | 
					  {0xe7b69e, 0x8fd4a1},
 | 
				
			||||||
  {0xe7b69f, 0xe5c6},
 | 
					  {0xe7b69f, 0xe5c6},
 | 
				
			||||||
 | 
					  {0xe7b6a0, 0x8ff4dc},
 | 
				
			||||||
  {0xe7b6a2, 0xe5c2},
 | 
					  {0xe7b6a2, 0xe5c2},
 | 
				
			||||||
  {0xe7b6a3, 0xe5bc},
 | 
					  {0xe7b6a3, 0xe5bc},
 | 
				
			||||||
  {0xe7b6a6, 0x8fd4a2},
 | 
					  {0xe7b6a6, 0x8fd4a2},
 | 
				
			||||||
@@ -8124,6 +8232,7 @@ static pg_utf_to_local ULmapEUC_JP[ 13007 ] = {
 | 
				
			|||||||
  {0xe7b791, 0xced0},
 | 
					  {0xe7b791, 0xced0},
 | 
				
			||||||
  {0xe7b792, 0xbdef},
 | 
					  {0xe7b792, 0xbdef},
 | 
				
			||||||
  {0xe7b795, 0xe5ee},
 | 
					  {0xe7b795, 0xe5ee},
 | 
				
			||||||
 | 
					  {0xe7b796, 0x8ff4dd},
 | 
				
			||||||
  {0xe7b797, 0x8fd4b1},
 | 
					  {0xe7b797, 0x8fd4b1},
 | 
				
			||||||
  {0xe7b798, 0xe5c8},
 | 
					  {0xe7b798, 0xe5c8},
 | 
				
			||||||
  {0xe7b799, 0x8fd4b2},
 | 
					  {0xe7b799, 0x8fd4b2},
 | 
				
			||||||
@@ -8925,6 +9034,7 @@ static pg_utf_to_local ULmapEUC_JP[ 13007 ] = {
 | 
				
			|||||||
  {0xe88d96, 0x8fd7fb},
 | 
					  {0xe88d96, 0x8fd7fb},
 | 
				
			||||||
  {0xe88d97, 0x8fd7fc},
 | 
					  {0xe88d97, 0x8fd7fc},
 | 
				
			||||||
  {0xe88d98, 0xc1f1},
 | 
					  {0xe88d98, 0xc1f1},
 | 
				
			||||||
 | 
					  {0xe88da2, 0x8ff4df},
 | 
				
			||||||
  {0xe88db0, 0x8fd7fd},
 | 
					  {0xe88db0, 0x8fd7fd},
 | 
				
			||||||
  {0xe88db3, 0xe8ba},
 | 
					  {0xe88db3, 0xe8ba},
 | 
				
			||||||
  {0xe88db5, 0xe8bb},
 | 
					  {0xe88db5, 0xe8bb},
 | 
				
			||||||
@@ -9262,6 +9372,7 @@ static pg_utf_to_local ULmapEUC_JP[ 13007 ] = {
 | 
				
			|||||||
  {0xe896ad, 0x8fd9f4},
 | 
					  {0xe896ad, 0x8fd9f4},
 | 
				
			||||||
  {0xe896ae, 0xccf9},
 | 
					  {0xe896ae, 0xccf9},
 | 
				
			||||||
  {0xe896af, 0xbdf2},
 | 
					  {0xe896af, 0xbdf2},
 | 
				
			||||||
 | 
					  {0xe896b0, 0x8ff4e1},
 | 
				
			||||||
  {0xe896b4, 0x8fd9e7},
 | 
					  {0xe896b4, 0x8fd9e7},
 | 
				
			||||||
  {0xe896b6, 0x8fd9e8},
 | 
					  {0xe896b6, 0x8fd9e8},
 | 
				
			||||||
  {0xe896b7, 0x8fd9e9},
 | 
					  {0xe896b7, 0x8fd9e9},
 | 
				
			||||||
@@ -9600,6 +9711,7 @@ static pg_utf_to_local ULmapEUC_JP[ 13007 ] = {
 | 
				
			|||||||
  {0xe8a083, 0x8fdbe9},
 | 
					  {0xe8a083, 0x8fdbe9},
 | 
				
			||||||
  {0xe8a085, 0xeaa4},
 | 
					  {0xe8a085, 0xeaa4},
 | 
				
			||||||
  {0xe8a086, 0x8fdbea},
 | 
					  {0xe8a086, 0x8fdbea},
 | 
				
			||||||
 | 
					  {0xe8a087, 0x8ff4e4},
 | 
				
			||||||
  {0xe8a089, 0x8fdbeb},
 | 
					  {0xe8a089, 0x8fdbeb},
 | 
				
			||||||
  {0xe8a08a, 0x8fdbec},
 | 
					  {0xe8a08a, 0x8fdbec},
 | 
				
			||||||
  {0xe8a08b, 0x8fdbed},
 | 
					  {0xe8a08b, 0x8fdbed},
 | 
				
			||||||
@@ -10164,6 +10276,7 @@ static pg_utf_to_local ULmapEUC_JP[ 13007 ] = {
 | 
				
			|||||||
  {0xe8adbc, 0x8fded5},
 | 
					  {0xe8adbc, 0x8fded5},
 | 
				
			||||||
  {0xe8adbd, 0xeca5},
 | 
					  {0xe8adbd, 0xeca5},
 | 
				
			||||||
  {0xe8adbe, 0x8fded6},
 | 
					  {0xe8adbe, 0x8fded6},
 | 
				
			||||||
 | 
					  {0xe8adbf, 0x8ff4e6},
 | 
				
			||||||
  {0xe8ae80, 0xeca6},
 | 
					  {0xe8ae80, 0xeca6},
 | 
				
			||||||
  {0xe8ae81, 0x8fded7},
 | 
					  {0xe8ae81, 0x8fded7},
 | 
				
			||||||
  {0xe8ae83, 0xbbbe},
 | 
					  {0xe8ae83, 0xbbbe},
 | 
				
			||||||
@@ -10319,6 +10432,7 @@ static pg_utf_to_local ULmapEUC_JP[ 13007 ] = {
 | 
				
			|||||||
  {0xe8b3af, 0x8fdfb8},
 | 
					  {0xe8b3af, 0x8fdfb8},
 | 
				
			||||||
  {0xe8b3b0, 0x8fdfb9},
 | 
					  {0xe8b3b0, 0x8fdfb9},
 | 
				
			||||||
  {0xe8b3b2, 0x8fdfba},
 | 
					  {0xe8b3b2, 0x8fdfba},
 | 
				
			||||||
 | 
					  {0xe8b3b4, 0x8ff4e7},
 | 
				
			||||||
  {0xe8b3b5, 0x8fdfbb},
 | 
					  {0xe8b3b5, 0x8fdfbb},
 | 
				
			||||||
  {0xe8b3b7, 0x8fdfbc},
 | 
					  {0xe8b3b7, 0x8fdfbc},
 | 
				
			||||||
  {0xe8b3b8, 0x8fdfbd},
 | 
					  {0xe8b3b8, 0x8fdfbd},
 | 
				
			||||||
@@ -10359,6 +10473,7 @@ static pg_utf_to_local ULmapEUC_JP[ 13007 ] = {
 | 
				
			|||||||
  {0xe8b5b1, 0xece1},
 | 
					  {0xe8b5b1, 0xece1},
 | 
				
			||||||
  {0xe8b5b3, 0xece2},
 | 
					  {0xe8b5b3, 0xece2},
 | 
				
			||||||
  {0xe8b5b4, 0xc9eb},
 | 
					  {0xe8b5b4, 0xc9eb},
 | 
				
			||||||
 | 
					  {0xe8b5b6, 0x8ff4e8},
 | 
				
			||||||
  {0xe8b5b7, 0xb5af},
 | 
					  {0xe8b5b7, 0xb5af},
 | 
				
			||||||
  {0xe8b5bf, 0x8fdfca},
 | 
					  {0xe8b5bf, 0x8fdfca},
 | 
				
			||||||
  {0xe8b681, 0xece3},
 | 
					  {0xe8b681, 0xece3},
 | 
				
			||||||
@@ -10882,6 +10997,7 @@ static pg_utf_to_local ULmapEUC_JP[ 13007 ] = {
 | 
				
			|||||||
  {0xe9839b, 0xeebe},
 | 
					  {0xe9839b, 0xeebe},
 | 
				
			||||||
  {0xe9839c, 0x8fe2a9},
 | 
					  {0xe9839c, 0x8fe2a9},
 | 
				
			||||||
  {0xe9839d, 0x8fe2aa},
 | 
					  {0xe9839d, 0x8fe2aa},
 | 
				
			||||||
 | 
					  {0xe9839e, 0x8ff4ec},
 | 
				
			||||||
  {0xe9839f, 0x8fe2ab},
 | 
					  {0xe9839f, 0x8fe2ab},
 | 
				
			||||||
  {0xe983a1, 0xb7b4},
 | 
					  {0xe983a1, 0xb7b4},
 | 
				
			||||||
  {0xe983a2, 0xeebb},
 | 
					  {0xe983a2, 0xeebb},
 | 
				
			||||||
@@ -10909,6 +11025,7 @@ static pg_utf_to_local ULmapEUC_JP[ 13007 ] = {
 | 
				
			|||||||
  {0xe98490, 0x8fe2bb},
 | 
					  {0xe98490, 0x8fe2bb},
 | 
				
			||||||
  {0xe98492, 0xeec0},
 | 
					  {0xe98492, 0xeec0},
 | 
				
			||||||
  {0xe98494, 0x8fe2bc},
 | 
					  {0xe98494, 0x8fe2bc},
 | 
				
			||||||
 | 
					  {0xe98495, 0x8ff4ee},
 | 
				
			||||||
  {0xe98496, 0x8fe2bd},
 | 
					  {0xe98496, 0x8fe2bd},
 | 
				
			||||||
  {0xe98497, 0x8fe2be},
 | 
					  {0xe98497, 0x8fe2be},
 | 
				
			||||||
  {0xe98498, 0x8fe2bf},
 | 
					  {0xe98498, 0x8fe2bf},
 | 
				
			||||||
@@ -11482,6 +11599,7 @@ static pg_utf_to_local ULmapEUC_JP[ 13007 ] = {
 | 
				
			|||||||
  {0xe9968e, 0x8fe6a6},
 | 
					  {0xe9968e, 0x8fe6a6},
 | 
				
			||||||
  {0xe9968f, 0xb1bc},
 | 
					  {0xe9968f, 0xb1bc},
 | 
				
			||||||
  {0xe99691, 0xb4d7},
 | 
					  {0xe99691, 0xb4d7},
 | 
				
			||||||
 | 
					  {0xe99692, 0x8ff4f1},
 | 
				
			||||||
  {0xe99693, 0xb4d6},
 | 
					  {0xe99693, 0xb4d6},
 | 
				
			||||||
  {0xe99694, 0xefdc},
 | 
					  {0xe99694, 0xefdc},
 | 
				
			||||||
  {0xe99696, 0xefdd},
 | 
					  {0xe99696, 0xefdd},
 | 
				
			||||||
@@ -11730,6 +11848,7 @@ static pg_utf_to_local ULmapEUC_JP[ 13007 ] = {
 | 
				
			|||||||
  {0xe99cb3, 0x8fe7ac},
 | 
					  {0xe99cb3, 0x8fe7ac},
 | 
				
			||||||
  {0xe99cb8, 0xdbb1},
 | 
					  {0xe99cb8, 0xdbb1},
 | 
				
			||||||
  {0xe99cb9, 0xf0c8},
 | 
					  {0xe99cb9, 0xf0c8},
 | 
				
			||||||
 | 
					  {0xe99cbb, 0x8ff4f4},
 | 
				
			||||||
  {0xe99cbd, 0xf0c9},
 | 
					  {0xe99cbd, 0xf0c9},
 | 
				
			||||||
  {0xe99cbe, 0xf0ca},
 | 
					  {0xe99cbe, 0xf0ca},
 | 
				
			||||||
  {0xe99d81, 0x8fe7ad},
 | 
					  {0xe99d81, 0x8fe7ad},
 | 
				
			||||||
@@ -11740,8 +11859,10 @@ static pg_utf_to_local ULmapEUC_JP[ 13007 ] = {
 | 
				
			|||||||
  {0xe99d88, 0xf0cd},
 | 
					  {0xe99d88, 0xf0cd},
 | 
				
			||||||
  {0xe99d89, 0xf0cf},
 | 
					  {0xe99d89, 0xf0cf},
 | 
				
			||||||
  {0xe99d8a, 0x8fe7af},
 | 
					  {0xe99d8a, 0x8fe7af},
 | 
				
			||||||
 | 
					  {0xe99d8d, 0x8ff4f5},
 | 
				
			||||||
  {0xe99d8e, 0x8fe7b0},
 | 
					  {0xe99d8e, 0x8fe7b0},
 | 
				
			||||||
  {0xe99d8f, 0x8fe7b1},
 | 
					  {0xe99d8f, 0x8fe7b1},
 | 
				
			||||||
 | 
					  {0xe99d91, 0x8ff4f6},
 | 
				
			||||||
  {0xe99d92, 0xc0c4},
 | 
					  {0xe99d92, 0xc0c4},
 | 
				
			||||||
  {0xe99d95, 0x8fe7b2},
 | 
					  {0xe99d95, 0x8fe7b2},
 | 
				
			||||||
  {0xe99d96, 0xccf7},
 | 
					  {0xe99d96, 0xccf7},
 | 
				
			||||||
@@ -12057,6 +12178,7 @@ static pg_utf_to_local ULmapEUC_JP[ 13007 ] = {
 | 
				
			|||||||
  {0xe9a699, 0xb9e1},
 | 
					  {0xe9a699, 0xb9e1},
 | 
				
			||||||
  {0xe9a69b, 0x8fe8f7},
 | 
					  {0xe9a69b, 0x8fe8f7},
 | 
				
			||||||
  {0xe9a69d, 0x8fe8f8},
 | 
					  {0xe9a69d, 0x8fe8f8},
 | 
				
			||||||
 | 
					  {0xe9a69e, 0x8ff4fa},
 | 
				
			||||||
  {0xe9a69f, 0x8fe8f9},
 | 
					  {0xe9a69f, 0x8fe8f9},
 | 
				
			||||||
  {0xe9a6a5, 0xf1c6},
 | 
					  {0xe9a6a5, 0xf1c6},
 | 
				
			||||||
  {0xe9a6a6, 0x8fe8fa},
 | 
					  {0xe9a6a6, 0x8fe8fa},
 | 
				
			||||||
@@ -12207,6 +12329,7 @@ static pg_utf_to_local ULmapEUC_JP[ 13007 ] = {
 | 
				
			|||||||
  {0xe9ab96, 0x8fe9ea},
 | 
					  {0xe9ab96, 0x8fe9ea},
 | 
				
			||||||
  {0xe9ab97, 0x8fe9eb},
 | 
					  {0xe9ab97, 0x8fe9eb},
 | 
				
			||||||
  {0xe9ab98, 0xb9e2},
 | 
					  {0xe9ab98, 0xb9e2},
 | 
				
			||||||
 | 
					  {0xe9ab99, 0x8ff4fb},
 | 
				
			||||||
  {0xe9ab9b, 0x8fe9ec},
 | 
					  {0xe9ab9b, 0x8fe9ec},
 | 
				
			||||||
  {0xe9ab9c, 0x8fe9ed},
 | 
					  {0xe9ab9c, 0x8fe9ed},
 | 
				
			||||||
  {0xe9ab9e, 0xf1f4},
 | 
					  {0xe9ab9e, 0xf1f4},
 | 
				
			||||||
@@ -12313,6 +12436,7 @@ static pg_utf_to_local ULmapEUC_JP[ 13007 ] = {
 | 
				
			|||||||
  {0xe9adad, 0x8feaca},
 | 
					  {0xe9adad, 0x8feaca},
 | 
				
			||||||
  {0xe9adae, 0x8feacb},
 | 
					  {0xe9adae, 0x8feacb},
 | 
				
			||||||
  {0xe9adaf, 0xcfa5},
 | 
					  {0xe9adaf, 0xcfa5},
 | 
				
			||||||
 | 
					  {0xe9adb2, 0x8ff4fc},
 | 
				
			||||||
  {0xe9adb3, 0x8feacc},
 | 
					  {0xe9adb3, 0x8feacc},
 | 
				
			||||||
  {0xe9adb4, 0xf2b7},
 | 
					  {0xe9adb4, 0xf2b7},
 | 
				
			||||||
  {0xe9adb5, 0x8feacd},
 | 
					  {0xe9adb5, 0x8feacd},
 | 
				
			||||||
@@ -12722,6 +12846,7 @@ static pg_utf_to_local ULmapEUC_JP[ 13007 ] = {
 | 
				
			|||||||
  {0xe9bb8e, 0xf3d5},
 | 
					  {0xe9bb8e, 0xf3d5},
 | 
				
			||||||
  {0xe9bb8f, 0xf3d6},
 | 
					  {0xe9bb8f, 0xf3d6},
 | 
				
			||||||
  {0xe9bb90, 0xf3d7},
 | 
					  {0xe9bb90, 0xf3d7},
 | 
				
			||||||
 | 
					  {0xe9bb91, 0x8ff4fe},
 | 
				
			||||||
  {0xe9bb92, 0xb9f5},
 | 
					  {0xe9bb92, 0xb9f5},
 | 
				
			||||||
  {0xe9bb94, 0xf3d8},
 | 
					  {0xe9bb94, 0xf3d8},
 | 
				
			||||||
  {0xe9bb95, 0x8fecf4},
 | 
					  {0xe9bb95, 0x8fecf4},
 | 
				
			||||||
@@ -12852,16 +12977,53 @@ static pg_utf_to_local ULmapEUC_JP[ 13007 ] = {
 | 
				
			|||||||
  {0xe9bea2, 0x8fede1},
 | 
					  {0xe9bea2, 0x8fede1},
 | 
				
			||||||
  {0xe9bea3, 0x8fede2},
 | 
					  {0xe9bea3, 0x8fede2},
 | 
				
			||||||
  {0xe9bea5, 0x8fede3},
 | 
					  {0xe9bea5, 0x8fede3},
 | 
				
			||||||
 | 
					  {0xefa4a9, 0x8ff4c5},
 | 
				
			||||||
 | 
					  {0xefa79c, 0x8ff4f2},
 | 
				
			||||||
 | 
					  {0xefa88e, 0x8ff4b4},
 | 
				
			||||||
 | 
					  {0xefa88f, 0x8ff4b7},
 | 
				
			||||||
 | 
					  {0xefa890, 0x8ff4b8},
 | 
				
			||||||
 | 
					  {0xefa891, 0x8ff4bd},
 | 
				
			||||||
 | 
					  {0xefa892, 0x8ff4c4},
 | 
				
			||||||
 | 
					  {0xefa893, 0x8ff4c7},
 | 
				
			||||||
 | 
					  {0xefa894, 0x8ff4c8},
 | 
				
			||||||
 | 
					  {0xefa895, 0x8ff4ce},
 | 
				
			||||||
 | 
					  {0xefa896, 0x8ff4cf},
 | 
				
			||||||
 | 
					  {0xefa897, 0x8ff4d3},
 | 
				
			||||||
 | 
					  {0xefa898, 0x8ff4d5},
 | 
				
			||||||
 | 
					  {0xefa899, 0x8ff4d6},
 | 
				
			||||||
 | 
					  {0xefa89a, 0x8ff4d7},
 | 
				
			||||||
 | 
					  {0xefa89b, 0x8ff4d8},
 | 
				
			||||||
 | 
					  {0xefa89c, 0x8ff4da},
 | 
				
			||||||
 | 
					  {0xefa89d, 0x8ff4db},
 | 
				
			||||||
 | 
					  {0xefa89e, 0x8ff4de},
 | 
				
			||||||
 | 
					  {0xefa89f, 0x8ff4e0},
 | 
				
			||||||
 | 
					  {0xefa8a0, 0x8ff4e2},
 | 
				
			||||||
 | 
					  {0xefa8a1, 0x8ff4e3},
 | 
				
			||||||
 | 
					  {0xefa8a2, 0x8ff4e5},
 | 
				
			||||||
 | 
					  {0xefa8a3, 0x8ff4e9},
 | 
				
			||||||
 | 
					  {0xefa8a4, 0x8ff4ea},
 | 
				
			||||||
 | 
					  {0xefa8a5, 0x8ff4eb},
 | 
				
			||||||
 | 
					  {0xefa8a6, 0x8ff4ed},
 | 
				
			||||||
 | 
					  {0xefa8a7, 0x8ff4ef},
 | 
				
			||||||
 | 
					  {0xefa8a8, 0x8ff4f0},
 | 
				
			||||||
 | 
					  {0xefa8a9, 0x8ff4f3},
 | 
				
			||||||
 | 
					  {0xefa8aa, 0x8ff4f7},
 | 
				
			||||||
 | 
					  {0xefa8ab, 0x8ff4f8},
 | 
				
			||||||
 | 
					  {0xefa8ac, 0x8ff4f9},
 | 
				
			||||||
 | 
					  {0xefa8ad, 0x8ff4fd},
 | 
				
			||||||
  {0xefbc81, 0xa1aa},
 | 
					  {0xefbc81, 0xa1aa},
 | 
				
			||||||
 | 
					  {0xefbc82, 0x8ff4aa},
 | 
				
			||||||
  {0xefbc83, 0xa1f4},
 | 
					  {0xefbc83, 0xa1f4},
 | 
				
			||||||
  {0xefbc84, 0xa1f0},
 | 
					  {0xefbc84, 0xa1f0},
 | 
				
			||||||
  {0xefbc85, 0xa1f3},
 | 
					  {0xefbc85, 0xa1f3},
 | 
				
			||||||
  {0xefbc86, 0xa1f5},
 | 
					  {0xefbc86, 0xa1f5},
 | 
				
			||||||
 | 
					  {0xefbc87, 0x8ff4a9},
 | 
				
			||||||
  {0xefbc88, 0xa1ca},
 | 
					  {0xefbc88, 0xa1ca},
 | 
				
			||||||
  {0xefbc89, 0xa1cb},
 | 
					  {0xefbc89, 0xa1cb},
 | 
				
			||||||
  {0xefbc8a, 0xa1f6},
 | 
					  {0xefbc8a, 0xa1f6},
 | 
				
			||||||
  {0xefbc8b, 0xa1dc},
 | 
					  {0xefbc8b, 0xa1dc},
 | 
				
			||||||
  {0xefbc8c, 0xa1a4},
 | 
					  {0xefbc8c, 0xa1a4},
 | 
				
			||||||
 | 
					  {0xefbc8d, 0xa1dd},
 | 
				
			||||||
  {0xefbc8e, 0xa1a5},
 | 
					  {0xefbc8e, 0xa1a5},
 | 
				
			||||||
  {0xefbc8f, 0xa1bf},
 | 
					  {0xefbc8f, 0xa1bf},
 | 
				
			||||||
  {0xefbc90, 0xa3b0},
 | 
					  {0xefbc90, 0xa3b0},
 | 
				
			||||||
@@ -12908,6 +13070,7 @@ static pg_utf_to_local ULmapEUC_JP[ 13007 ] = {
 | 
				
			|||||||
  {0xefbcb9, 0xa3d9},
 | 
					  {0xefbcb9, 0xa3d9},
 | 
				
			||||||
  {0xefbcba, 0xa3da},
 | 
					  {0xefbcba, 0xa3da},
 | 
				
			||||||
  {0xefbcbb, 0xa1ce},
 | 
					  {0xefbcbb, 0xa1ce},
 | 
				
			||||||
 | 
					  {0xefbcbc, 0xa1c0},
 | 
				
			||||||
  {0xefbcbd, 0xa1cf},
 | 
					  {0xefbcbd, 0xa1cf},
 | 
				
			||||||
  {0xefbcbe, 0xa1b0},
 | 
					  {0xefbcbe, 0xa1b0},
 | 
				
			||||||
  {0xefbcbf, 0xa1b2},
 | 
					  {0xefbcbf, 0xa1b2},
 | 
				
			||||||
@@ -12941,6 +13104,7 @@ static pg_utf_to_local ULmapEUC_JP[ 13007 ] = {
 | 
				
			|||||||
  {0xefbd9b, 0xa1d0},
 | 
					  {0xefbd9b, 0xa1d0},
 | 
				
			||||||
  {0xefbd9c, 0xa1c3},
 | 
					  {0xefbd9c, 0xa1c3},
 | 
				
			||||||
  {0xefbd9d, 0xa1d1},
 | 
					  {0xefbd9d, 0xa1d1},
 | 
				
			||||||
 | 
					  {0xefbd9e, 0xa1c1},
 | 
				
			||||||
  {0xefbda1, 0x8ea1},
 | 
					  {0xefbda1, 0x8ea1},
 | 
				
			||||||
  {0xefbda2, 0x8ea2},
 | 
					  {0xefbda2, 0x8ea2},
 | 
				
			||||||
  {0xefbda3, 0x8ea3},
 | 
					  {0xefbda3, 0x8ea3},
 | 
				
			||||||
@@ -13004,6 +13168,10 @@ static pg_utf_to_local ULmapEUC_JP[ 13007 ] = {
 | 
				
			|||||||
  {0xefbe9d, 0x8edd},
 | 
					  {0xefbe9d, 0x8edd},
 | 
				
			||||||
  {0xefbe9e, 0x8ede},
 | 
					  {0xefbe9e, 0x8ede},
 | 
				
			||||||
  {0xefbe9f, 0x8edf},
 | 
					  {0xefbe9f, 0x8edf},
 | 
				
			||||||
 | 
					  {0xefbfa0, 0xa1f1},
 | 
				
			||||||
 | 
					  {0xefbfa1, 0xa1f2},
 | 
				
			||||||
 | 
					  {0xefbfa2, 0xa2cc},
 | 
				
			||||||
  {0xefbfa3, 0xa1b1},
 | 
					  {0xefbfa3, 0xa1b1},
 | 
				
			||||||
 | 
					  {0xefbfa4, 0x8fa2c3},
 | 
				
			||||||
  {0xefbfa5, 0xa1ef}
 | 
					  {0xefbfa5, 0xa1ef}
 | 
				
			||||||
};
 | 
					};
 | 
				
			||||||
 
 | 
				
			|||||||
										
											
												File diff suppressed because it is too large
												Load Diff
											
										
									
								
							@@ -1,6 +1,11 @@
 | 
				
			|||||||
static pg_utf_to_local ULmapSJIS[ 7389 ] = {
 | 
					static pg_utf_to_local ULmapSJIS[ 7398 ] = {
 | 
				
			||||||
 | 
					  {0xc19c, 0x815f},
 | 
				
			||||||
 | 
					  {0xc2a2, 0x8191},
 | 
				
			||||||
 | 
					  {0xc2a3, 0x8192},
 | 
				
			||||||
 | 
					  {0xc2a5, 0x5c},
 | 
				
			||||||
  {0xc2a7, 0x8198},
 | 
					  {0xc2a7, 0x8198},
 | 
				
			||||||
  {0xc2a8, 0x814e},
 | 
					  {0xc2a8, 0x814e},
 | 
				
			||||||
 | 
					  {0xc2ac, 0x81ca},
 | 
				
			||||||
  {0xc2b0, 0x818b},
 | 
					  {0xc2b0, 0x818b},
 | 
				
			||||||
  {0xc2b1, 0x817d},
 | 
					  {0xc2b1, 0x817d},
 | 
				
			||||||
  {0xc2b4, 0x814c},
 | 
					  {0xc2b4, 0x814c},
 | 
				
			||||||
@@ -123,6 +128,7 @@ static pg_utf_to_local ULmapSJIS[ 7389 ] = {
 | 
				
			|||||||
  {0xd191, 0x8476},
 | 
					  {0xd191, 0x8476},
 | 
				
			||||||
  {0xe28090, 0x815d},
 | 
					  {0xe28090, 0x815d},
 | 
				
			||||||
  {0xe28095, 0x815c},
 | 
					  {0xe28095, 0x815c},
 | 
				
			||||||
 | 
					  {0xe28096, 0x8161},
 | 
				
			||||||
  {0xe28098, 0x8165},
 | 
					  {0xe28098, 0x8165},
 | 
				
			||||||
  {0xe28099, 0x8166},
 | 
					  {0xe28099, 0x8166},
 | 
				
			||||||
  {0xe2809c, 0x8167},
 | 
					  {0xe2809c, 0x8167},
 | 
				
			||||||
@@ -135,6 +141,7 @@ static pg_utf_to_local ULmapSJIS[ 7389 ] = {
 | 
				
			|||||||
  {0xe280b2, 0x818c},
 | 
					  {0xe280b2, 0x818c},
 | 
				
			||||||
  {0xe280b3, 0x818d},
 | 
					  {0xe280b3, 0x818d},
 | 
				
			||||||
  {0xe280bb, 0x81a6},
 | 
					  {0xe280bb, 0x81a6},
 | 
				
			||||||
 | 
					  {0xe280be, 0x7e},
 | 
				
			||||||
  {0xe28483, 0x818e},
 | 
					  {0xe28483, 0x818e},
 | 
				
			||||||
  {0xe28496, 0xfa59},
 | 
					  {0xe28496, 0xfa59},
 | 
				
			||||||
  {0xe284a1, 0xfa5a},
 | 
					  {0xe284a1, 0xfa5a},
 | 
				
			||||||
@@ -172,6 +179,7 @@ static pg_utf_to_local ULmapSJIS[ 7389 ] = {
 | 
				
			|||||||
  {0xe28888, 0x81b8},
 | 
					  {0xe28888, 0x81b8},
 | 
				
			||||||
  {0xe2888b, 0x81b9},
 | 
					  {0xe2888b, 0x81b9},
 | 
				
			||||||
  {0xe28891, 0x8794},
 | 
					  {0xe28891, 0x8794},
 | 
				
			||||||
 | 
					  {0xe28892, 0x817c},
 | 
				
			||||||
  {0xe2889a, 0x81e3},
 | 
					  {0xe2889a, 0x81e3},
 | 
				
			||||||
  {0xe2889d, 0x81e5},
 | 
					  {0xe2889d, 0x81e5},
 | 
				
			||||||
  {0xe2889e, 0x8187},
 | 
					  {0xe2889e, 0x8187},
 | 
				
			||||||
@@ -294,6 +302,7 @@ static pg_utf_to_local ULmapSJIS[ 7389 ] = {
 | 
				
			|||||||
  {0xe38093, 0x81ac},
 | 
					  {0xe38093, 0x81ac},
 | 
				
			||||||
  {0xe38094, 0x816b},
 | 
					  {0xe38094, 0x816b},
 | 
				
			||||||
  {0xe38095, 0x816c},
 | 
					  {0xe38095, 0x816c},
 | 
				
			||||||
 | 
					  {0xe3809c, 0x8160},
 | 
				
			||||||
  {0xe3809d, 0x8780},
 | 
					  {0xe3809d, 0x8780},
 | 
				
			||||||
  {0xe3809f, 0x8781},
 | 
					  {0xe3809f, 0x8781},
 | 
				
			||||||
  {0xe38181, 0x829f},
 | 
					  {0xe38181, 0x829f},
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -6,7 +6,7 @@
 | 
				
			|||||||
 * WIN1250 client encoding support contributed by Pavel Behal
 | 
					 * WIN1250 client encoding support contributed by Pavel Behal
 | 
				
			||||||
 * SJIS UDC (NEC selection IBM kanji) support contributed by Eiji Tokuya
 | 
					 * SJIS UDC (NEC selection IBM kanji) support contributed by Eiji Tokuya
 | 
				
			||||||
 *
 | 
					 *
 | 
				
			||||||
 * $Id: conv.c,v 1.35 2001/11/05 17:46:30 momjian Exp $
 | 
					 * $Id: conv.c,v 1.36 2002/03/05 05:52:43 momjian Exp $
 | 
				
			||||||
 *
 | 
					 *
 | 
				
			||||||
 *
 | 
					 *
 | 
				
			||||||
 */
 | 
					 */
 | 
				
			||||||
@@ -56,6 +56,20 @@
 | 
				
			|||||||
#include "Unicode/sjis_to_utf8.map"
 | 
					#include "Unicode/sjis_to_utf8.map"
 | 
				
			||||||
#include "Unicode/utf8_to_big5.map"
 | 
					#include "Unicode/utf8_to_big5.map"
 | 
				
			||||||
#include "Unicode/big5_to_utf8.map"
 | 
					#include "Unicode/big5_to_utf8.map"
 | 
				
			||||||
 | 
					#include "Unicode/utf8_to_gbk.map"
 | 
				
			||||||
 | 
					#include "Unicode/gbk_to_utf8.map"
 | 
				
			||||||
 | 
					#include "Unicode/utf8_to_uhc.map"
 | 
				
			||||||
 | 
					#include "Unicode/uhc_to_utf8.map"
 | 
				
			||||||
 | 
					#include "Unicode/utf8_to_johab.map"
 | 
				
			||||||
 | 
					#include "Unicode/johab_to_utf8.map"
 | 
				
			||||||
 | 
					#include "Unicode/utf8_to_tcvn.map"
 | 
				
			||||||
 | 
					#include "Unicode/tcvn_to_utf8.map"
 | 
				
			||||||
 | 
					#include "Unicode/utf8_to_win1250.map"
 | 
				
			||||||
 | 
					#include "Unicode/win1250_to_utf8.map"
 | 
				
			||||||
 | 
					#include "Unicode/utf8_to_win1256.map"
 | 
				
			||||||
 | 
					#include "Unicode/win1256_to_utf8.map"
 | 
				
			||||||
 | 
					#include "Unicode/utf8_to_win874.map"
 | 
				
			||||||
 | 
					#include "Unicode/win874_to_utf8.map"
 | 
				
			||||||
/* Cyrillic charset conversion */
 | 
					/* Cyrillic charset conversion */
 | 
				
			||||||
#include "Unicode/alt_to_utf8.map"
 | 
					#include "Unicode/alt_to_utf8.map"
 | 
				
			||||||
#include "Unicode/koi8r_to_utf8.map"
 | 
					#include "Unicode/koi8r_to_utf8.map"
 | 
				
			||||||
@@ -1666,6 +1680,153 @@ big5_to_utf(unsigned char *euc, unsigned char *utf, int len)
 | 
				
			|||||||
			  sizeof(LUmapBIG5) / sizeof(pg_local_to_utf), PG_BIG5, len);
 | 
								  sizeof(LUmapBIG5) / sizeof(pg_local_to_utf), PG_BIG5, len);
 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					/*
 | 
				
			||||||
 | 
					 * UTF-8 ---> GBK
 | 
				
			||||||
 | 
					 */
 | 
				
			||||||
 | 
					static void
 | 
				
			||||||
 | 
					utf_to_gbk(unsigned char *utf, unsigned char *euc, int len)
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					{
 | 
				
			||||||
 | 
						utf_to_local(utf, euc, ULmapGBK,
 | 
				
			||||||
 | 
									 sizeof(ULmapGBK) / sizeof(pg_utf_to_local), len);
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					/*
 | 
				
			||||||
 | 
					 * GBK ---> UTF-8
 | 
				
			||||||
 | 
					 */
 | 
				
			||||||
 | 
					static void
 | 
				
			||||||
 | 
					gbk_to_utf(unsigned char *euc, unsigned char *utf, int len)
 | 
				
			||||||
 | 
					{
 | 
				
			||||||
 | 
						local_to_utf(euc, utf, LUmapGBK,
 | 
				
			||||||
 | 
								  sizeof(LUmapGBK) / sizeof(pg_local_to_utf), PG_GBK, len);
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					/*
 | 
				
			||||||
 | 
					 * UTF-8 ---> UHC
 | 
				
			||||||
 | 
					 */
 | 
				
			||||||
 | 
					static void
 | 
				
			||||||
 | 
					utf_to_uhc(unsigned char *utf, unsigned char *euc, int len)
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					{
 | 
				
			||||||
 | 
						utf_to_local(utf, euc, ULmapUHC,
 | 
				
			||||||
 | 
									 sizeof(ULmapUHC) / sizeof(pg_utf_to_local), len);
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					/*
 | 
				
			||||||
 | 
					 * UHC ---> UTF-8
 | 
				
			||||||
 | 
					 */
 | 
				
			||||||
 | 
					static void
 | 
				
			||||||
 | 
					uhc_to_utf(unsigned char *euc, unsigned char *utf, int len)
 | 
				
			||||||
 | 
					{
 | 
				
			||||||
 | 
						local_to_utf(euc, utf, LUmapUHC,
 | 
				
			||||||
 | 
								  sizeof(LUmapUHC) / sizeof(pg_local_to_utf), PG_UHC, len);
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					/*
 | 
				
			||||||
 | 
					 * UTF-8 ---> JOHAB
 | 
				
			||||||
 | 
					 */
 | 
				
			||||||
 | 
					static void
 | 
				
			||||||
 | 
					utf_to_johab(unsigned char *utf, unsigned char *euc, int len)
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					{
 | 
				
			||||||
 | 
						utf_to_local(utf, euc, ULmapJOHAB,
 | 
				
			||||||
 | 
									 sizeof(ULmapJOHAB) / sizeof(pg_utf_to_local), len);
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					/*
 | 
				
			||||||
 | 
					 * JOHAB ---> UTF-8
 | 
				
			||||||
 | 
					 */
 | 
				
			||||||
 | 
					static void
 | 
				
			||||||
 | 
					johab_to_utf(unsigned char *euc, unsigned char *utf, int len)
 | 
				
			||||||
 | 
					{
 | 
				
			||||||
 | 
						local_to_utf(euc, utf, LUmapJOHAB,
 | 
				
			||||||
 | 
								  sizeof(LUmapJOHAB) / sizeof(pg_local_to_utf), PG_JOHAB, len);
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					/*
 | 
				
			||||||
 | 
					 * UTF-8 ---> WIN1250
 | 
				
			||||||
 | 
					 */
 | 
				
			||||||
 | 
					static void
 | 
				
			||||||
 | 
					utf_to_win1250(unsigned char *utf, unsigned char *euc, int len)
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					{
 | 
				
			||||||
 | 
					        utf_to_local(utf, euc, ULmapWIN1250,
 | 
				
			||||||
 | 
					                                 sizeof(ULmapWIN1250) / sizeof(pg_utf_to_local), len);
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					/*
 | 
				
			||||||
 | 
					 * WIN1250 ---> UTF-8
 | 
				
			||||||
 | 
					 */
 | 
				
			||||||
 | 
					static void
 | 
				
			||||||
 | 
					win1250_to_utf(unsigned char *euc, unsigned char *utf, int len)
 | 
				
			||||||
 | 
					{
 | 
				
			||||||
 | 
					        local_to_utf(euc, utf, LUmapWIN1250,
 | 
				
			||||||
 | 
					                          sizeof(LUmapWIN1250) / sizeof(pg_local_to_utf), PG_WIN1250, len);
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					/*
 | 
				
			||||||
 | 
					 * UTF-8 ---> WIN1256
 | 
				
			||||||
 | 
					 */
 | 
				
			||||||
 | 
					static void
 | 
				
			||||||
 | 
					utf_to_win1256(unsigned char *utf, unsigned char *euc, int len)
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					{
 | 
				
			||||||
 | 
					        utf_to_local(utf, euc, ULmapWIN1256,
 | 
				
			||||||
 | 
					                                 sizeof(ULmapWIN1256) / sizeof(pg_utf_to_local), len);
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					/*
 | 
				
			||||||
 | 
					 * WIN1256 ---> UTF-8
 | 
				
			||||||
 | 
					 */
 | 
				
			||||||
 | 
					static void
 | 
				
			||||||
 | 
					win1256_to_utf(unsigned char *euc, unsigned char *utf, int len)
 | 
				
			||||||
 | 
					{
 | 
				
			||||||
 | 
						local_to_utf(euc, utf, LUmapWIN1256,
 | 
				
			||||||
 | 
								  sizeof(LUmapWIN1256) / sizeof(pg_local_to_utf), PG_WIN1256, len);
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					/*
 | 
				
			||||||
 | 
					 * UTF-8 ---> TCVN
 | 
				
			||||||
 | 
					 */
 | 
				
			||||||
 | 
					static void
 | 
				
			||||||
 | 
					utf_to_tcvn(unsigned char *utf, unsigned char *euc, int len)
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					{
 | 
				
			||||||
 | 
						utf_to_local(utf, euc, ULmapTCVN,
 | 
				
			||||||
 | 
									 sizeof(ULmapTCVN) / sizeof(pg_utf_to_local), len);
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					/*
 | 
				
			||||||
 | 
					 * TCVN ---> UTF-8
 | 
				
			||||||
 | 
					 */
 | 
				
			||||||
 | 
					static void
 | 
				
			||||||
 | 
					tcvn_to_utf(unsigned char *euc, unsigned char *utf, int len)
 | 
				
			||||||
 | 
					{
 | 
				
			||||||
 | 
						local_to_utf(euc, utf, LUmapTCVN,
 | 
				
			||||||
 | 
								  sizeof(LUmapTCVN) / sizeof(pg_local_to_utf), PG_TCVN, len);
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					/*
 | 
				
			||||||
 | 
					 * UTF-8 ---> WIN874
 | 
				
			||||||
 | 
					 */
 | 
				
			||||||
 | 
					static void
 | 
				
			||||||
 | 
					utf_to_win874(unsigned char *utf, unsigned char *euc, int len)
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					{
 | 
				
			||||||
 | 
						utf_to_local(utf, euc, ULmapWIN874,
 | 
				
			||||||
 | 
									 sizeof(ULmapWIN874) / sizeof(pg_utf_to_local), len);
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					/*
 | 
				
			||||||
 | 
					 * WIN874 ---> UTF-8
 | 
				
			||||||
 | 
					 */
 | 
				
			||||||
 | 
					static void
 | 
				
			||||||
 | 
					win874_to_utf(unsigned char *euc, unsigned char *utf, int len)
 | 
				
			||||||
 | 
					{
 | 
				
			||||||
 | 
						local_to_utf(euc, utf, LUmapWIN874,
 | 
				
			||||||
 | 
								  sizeof(LUmapWIN874) / sizeof(pg_local_to_utf), PG_WIN874, len);
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
/* ----------
 | 
					/* ----------
 | 
				
			||||||
 * Encoding conversion routines
 | 
					 * Encoding conversion routines
 | 
				
			||||||
 *
 | 
					 *
 | 
				
			||||||
@@ -1689,6 +1850,9 @@ pg_enconv	pg_enconv_tbl[] =
 | 
				
			|||||||
	{
 | 
						{
 | 
				
			||||||
		PG_EUC_TW, euc_tw2mic, mic2euc_tw, euc_tw_to_utf, utf_to_euc_tw
 | 
							PG_EUC_TW, euc_tw2mic, mic2euc_tw, euc_tw_to_utf, utf_to_euc_tw
 | 
				
			||||||
	},
 | 
						},
 | 
				
			||||||
 | 
						{
 | 
				
			||||||
 | 
							PG_JOHAB, 0, 0, johab_to_utf, utf_to_johab
 | 
				
			||||||
 | 
						},
 | 
				
			||||||
	{
 | 
						{
 | 
				
			||||||
		PG_UTF8, 0, 0, 0, 0
 | 
							PG_UTF8, 0, 0, 0, 0
 | 
				
			||||||
	},
 | 
						},
 | 
				
			||||||
@@ -1725,6 +1889,15 @@ pg_enconv	pg_enconv_tbl[] =
 | 
				
			|||||||
	{
 | 
						{
 | 
				
			||||||
		PG_LATIN10, 0, 0, iso8859_16_to_utf, utf_to_iso8859_16
 | 
							PG_LATIN10, 0, 0, iso8859_16_to_utf, utf_to_iso8859_16
 | 
				
			||||||
	},
 | 
						},
 | 
				
			||||||
 | 
						{
 | 
				
			||||||
 | 
							PG_WIN1256, 0, 0, win1256_to_utf, utf_to_win1256
 | 
				
			||||||
 | 
						},
 | 
				
			||||||
 | 
						{
 | 
				
			||||||
 | 
							PG_TCVN, 0, 0, tcvn_to_utf, utf_to_tcvn
 | 
				
			||||||
 | 
						},
 | 
				
			||||||
 | 
						{
 | 
				
			||||||
 | 
							PG_WIN874, 0, 0, win874_to_utf, utf_to_win874
 | 
				
			||||||
 | 
						},
 | 
				
			||||||
	{
 | 
						{
 | 
				
			||||||
		PG_KOI8R, koi8r2mic, mic2koi8r, KOI8R_to_utf, utf_to_KOI8R
 | 
							PG_KOI8R, koi8r2mic, mic2koi8r, KOI8R_to_utf, utf_to_KOI8R
 | 
				
			||||||
	},
 | 
						},
 | 
				
			||||||
@@ -1754,7 +1927,13 @@ pg_enconv	pg_enconv_tbl[] =
 | 
				
			|||||||
		PG_BIG5, big52mic, mic2big5, big5_to_utf, utf_to_big5
 | 
							PG_BIG5, big52mic, mic2big5, big5_to_utf, utf_to_big5
 | 
				
			||||||
	},
 | 
						},
 | 
				
			||||||
	{
 | 
						{
 | 
				
			||||||
		PG_WIN1250, win12502mic, mic2win1250, 0, 0
 | 
							PG_GBK, 0, 0, gbk_to_utf, utf_to_gbk
 | 
				
			||||||
 | 
						},
 | 
				
			||||||
 | 
						{
 | 
				
			||||||
 | 
							PG_UHC, 0, 0, uhc_to_utf, utf_to_uhc
 | 
				
			||||||
 | 
						},
 | 
				
			||||||
 | 
						{
 | 
				
			||||||
 | 
							PG_WIN1250, win12502mic, mic2win1250, win1250_to_utf, utf_to_win1250
 | 
				
			||||||
	},
 | 
						},
 | 
				
			||||||
};
 | 
					};
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -2,7 +2,7 @@
 | 
				
			|||||||
 * Encoding names and routines for work with it. All
 | 
					 * Encoding names and routines for work with it. All
 | 
				
			||||||
 * in this file is shared bedween FE and BE.
 | 
					 * in this file is shared bedween FE and BE.
 | 
				
			||||||
 *
 | 
					 *
 | 
				
			||||||
 * $Id: encnames.c,v 1.6 2001/10/28 06:25:56 momjian Exp $
 | 
					 * $Id: encnames.c,v 1.7 2002/03/05 05:52:44 momjian Exp $
 | 
				
			||||||
 */
 | 
					 */
 | 
				
			||||||
#ifdef FRONTEND
 | 
					#ifdef FRONTEND
 | 
				
			||||||
#include "postgres_fe.h"
 | 
					#include "postgres_fe.h"
 | 
				
			||||||
@@ -36,6 +36,9 @@
 | 
				
			|||||||
 */
 | 
					 */
 | 
				
			||||||
pg_encname	pg_encname_tbl[] =
 | 
					pg_encname	pg_encname_tbl[] =
 | 
				
			||||||
{
 | 
					{
 | 
				
			||||||
 | 
						{
 | 
				
			||||||
 | 
							"abc", PG_TCVN
 | 
				
			||||||
 | 
						},							/* alias for TCVN */
 | 
				
			||||||
	{
 | 
						{
 | 
				
			||||||
		"alt", PG_ALT
 | 
							"alt", PG_ALT
 | 
				
			||||||
	},							/* IBM866 */
 | 
						},							/* IBM866 */
 | 
				
			||||||
@@ -52,11 +55,16 @@ pg_encname	pg_encname_tbl[] =
 | 
				
			|||||||
								 * for Japanese, stdandard OSF */
 | 
													 * for Japanese, stdandard OSF */
 | 
				
			||||||
	{
 | 
						{
 | 
				
			||||||
		"euckr", PG_EUC_KR
 | 
							"euckr", PG_EUC_KR
 | 
				
			||||||
	},							/* EUC-KR; RFC1557,Choi */
 | 
						},							/* EUC-KR; Extended Unix Code for
 | 
				
			||||||
 | 
					                                                                 * Korean , KS X 1001 standard */
 | 
				
			||||||
	{
 | 
						{
 | 
				
			||||||
		"euctw", PG_EUC_TW
 | 
							"euctw", PG_EUC_TW
 | 
				
			||||||
	},							/* EUC-TW; Extended Unix Code for
 | 
						},							/* EUC-TW; Extended Unix Code for
 | 
				
			||||||
								 * traditional Chinese */
 | 
													 * traditional Chinese */
 | 
				
			||||||
 | 
						{
 | 
				
			||||||
 | 
							"gbk", PG_GBK
 | 
				
			||||||
 | 
						},							/* GBK; Chinese Windows CodePage 936
 | 
				
			||||||
 | 
													 * simplified Chinese */
 | 
				
			||||||
	{
 | 
						{
 | 
				
			||||||
		"iso88591", PG_LATIN1
 | 
							"iso88591", PG_LATIN1
 | 
				
			||||||
	},							/* ISO-8859-1; RFC1345,KXS2 */
 | 
						},							/* ISO-8859-1; RFC1345,KXS2 */
 | 
				
			||||||
@@ -99,6 +107,10 @@ pg_encname	pg_encname_tbl[] =
 | 
				
			|||||||
	{
 | 
						{
 | 
				
			||||||
		"iso88599", PG_LATIN5
 | 
							"iso88599", PG_LATIN5
 | 
				
			||||||
	},							/* ISO-8859-9; RFC1345,KXS2 */
 | 
						},							/* ISO-8859-9; RFC1345,KXS2 */
 | 
				
			||||||
 | 
						{
 | 
				
			||||||
 | 
							"johab", PG_JOHAB
 | 
				
			||||||
 | 
						},							/* JOHAB; Extended Unix Code for
 | 
				
			||||||
 | 
													 * simplified Chinese */
 | 
				
			||||||
	{
 | 
						{
 | 
				
			||||||
		"koi8", PG_KOI8R
 | 
							"koi8", PG_KOI8R
 | 
				
			||||||
	},							/* _dirty_ alias for KOI8-R (backward
 | 
						},							/* _dirty_ alias for KOI8-R (backward
 | 
				
			||||||
@@ -151,12 +163,24 @@ pg_encname	pg_encname_tbl[] =
 | 
				
			|||||||
	{
 | 
						{
 | 
				
			||||||
		"sqlascii", PG_SQL_ASCII
 | 
							"sqlascii", PG_SQL_ASCII
 | 
				
			||||||
	},
 | 
						},
 | 
				
			||||||
 | 
						{
 | 
				
			||||||
 | 
							"tcvn", PG_TCVN
 | 
				
			||||||
 | 
						},							/* TCVN; Vietnamese TCVN-5712 */
 | 
				
			||||||
 | 
						{
 | 
				
			||||||
 | 
							"tcvn5712",PG_TCVN
 | 
				
			||||||
 | 
						},							/* alias for TCVN */
 | 
				
			||||||
 | 
						{
 | 
				
			||||||
 | 
							"uhc", PG_UHC
 | 
				
			||||||
 | 
						},							/* UHC; Korean Windows CodePage 949 */
 | 
				
			||||||
	{
 | 
						{
 | 
				
			||||||
		"unicode", PG_UTF8
 | 
							"unicode", PG_UTF8
 | 
				
			||||||
	},							/* alias for UTF-8 */
 | 
						},							/* alias for UTF-8 */
 | 
				
			||||||
	{
 | 
						{
 | 
				
			||||||
		"utf8", PG_UTF8
 | 
							"utf8", PG_UTF8
 | 
				
			||||||
	},							/* UTF-8; RFC2279 */
 | 
						},							/* UTF-8; RFC2279 */
 | 
				
			||||||
 | 
						{
 | 
				
			||||||
 | 
							"vscii", PG_TCVN
 | 
				
			||||||
 | 
						},							/* alias for TCVN */
 | 
				
			||||||
	{
 | 
						{
 | 
				
			||||||
		"win", PG_WIN1251
 | 
							"win", PG_WIN1251
 | 
				
			||||||
	},							/* _dirty_ alias for windows-1251
 | 
						},							/* _dirty_ alias for windows-1251
 | 
				
			||||||
@@ -167,12 +191,54 @@ pg_encname	pg_encname_tbl[] =
 | 
				
			|||||||
	{
 | 
						{
 | 
				
			||||||
		"win1251", PG_WIN1251
 | 
							"win1251", PG_WIN1251
 | 
				
			||||||
	},							/* alias for Windows-1251 */
 | 
						},							/* alias for Windows-1251 */
 | 
				
			||||||
 | 
						{
 | 
				
			||||||
 | 
							"win1256", PG_WIN1256
 | 
				
			||||||
 | 
						},							/* alias for Windows-1256 */
 | 
				
			||||||
 | 
						{
 | 
				
			||||||
 | 
							"win1258", PG_TCVN
 | 
				
			||||||
 | 
						},							/* alias for Windows-1258 */
 | 
				
			||||||
 | 
						{
 | 
				
			||||||
 | 
							"win874", PG_WIN874
 | 
				
			||||||
 | 
						},							/* alias for Windows-874 */
 | 
				
			||||||
 | 
						{
 | 
				
			||||||
 | 
							"win932", PG_SJIS
 | 
				
			||||||
 | 
						},							/* alias for Shift_JIS */
 | 
				
			||||||
 | 
						{
 | 
				
			||||||
 | 
							"win936", PG_GBK
 | 
				
			||||||
 | 
						},							/* alias for GBK */
 | 
				
			||||||
 | 
						{
 | 
				
			||||||
 | 
							"win949", PG_UHC
 | 
				
			||||||
 | 
						},							/* alias for UHC */
 | 
				
			||||||
 | 
						{
 | 
				
			||||||
 | 
							"win950", PG_BIG5
 | 
				
			||||||
 | 
						},							/* alias for BIG5 */
 | 
				
			||||||
	{
 | 
						{
 | 
				
			||||||
		"windows1250", PG_WIN1250
 | 
							"windows1250", PG_WIN1250
 | 
				
			||||||
	},							/* Windows-1251; Microsoft */
 | 
						},							/* Windows-1251; Microsoft */
 | 
				
			||||||
	{
 | 
						{
 | 
				
			||||||
		"windows1251", PG_WIN1251
 | 
							"windows1251", PG_WIN1251
 | 
				
			||||||
	},							/* Windows-1251; Microsoft */
 | 
						},							/* Windows-1251; Microsoft */
 | 
				
			||||||
 | 
						{
 | 
				
			||||||
 | 
							"windows1256", PG_WIN1256
 | 
				
			||||||
 | 
						},							/* Windows-1256; Microsoft */
 | 
				
			||||||
 | 
						{
 | 
				
			||||||
 | 
							"windows1258", PG_TCVN
 | 
				
			||||||
 | 
						},							/* Windows-1258; Microsoft */
 | 
				
			||||||
 | 
						{
 | 
				
			||||||
 | 
							"windows874", PG_WIN874
 | 
				
			||||||
 | 
						},							/* Windows-874; Microsoft */
 | 
				
			||||||
 | 
						{
 | 
				
			||||||
 | 
							"windows932", PG_SJIS
 | 
				
			||||||
 | 
						},							/* alias for Shift_JIS */
 | 
				
			||||||
 | 
						{
 | 
				
			||||||
 | 
							"windows936", PG_GBK
 | 
				
			||||||
 | 
						},							/* alias for GBK */
 | 
				
			||||||
 | 
						{
 | 
				
			||||||
 | 
							"windows949", PG_UHC
 | 
				
			||||||
 | 
						},							/* alias for UHC */
 | 
				
			||||||
 | 
						{
 | 
				
			||||||
 | 
							"windows950", PG_BIG5
 | 
				
			||||||
 | 
						},							/* alias for BIG5 */
 | 
				
			||||||
 | 
					
 | 
				
			||||||
	{
 | 
						{
 | 
				
			||||||
		NULL, 0
 | 
							NULL, 0
 | 
				
			||||||
@@ -204,6 +270,9 @@ pg_enc2name pg_enc2name_tbl[] =
 | 
				
			|||||||
	{
 | 
						{
 | 
				
			||||||
		"EUC_TW", PG_EUC_TW
 | 
							"EUC_TW", PG_EUC_TW
 | 
				
			||||||
	},
 | 
						},
 | 
				
			||||||
 | 
						{
 | 
				
			||||||
 | 
							"JOHAB", PG_JOHAB
 | 
				
			||||||
 | 
						},
 | 
				
			||||||
	{
 | 
						{
 | 
				
			||||||
		"UNICODE", PG_UTF8
 | 
							"UNICODE", PG_UTF8
 | 
				
			||||||
	},
 | 
						},
 | 
				
			||||||
@@ -240,6 +309,15 @@ pg_enc2name pg_enc2name_tbl[] =
 | 
				
			|||||||
	{
 | 
						{
 | 
				
			||||||
		"LATIN10", PG_LATIN10
 | 
							"LATIN10", PG_LATIN10
 | 
				
			||||||
	},
 | 
						},
 | 
				
			||||||
 | 
						{
 | 
				
			||||||
 | 
							"WIN1256", PG_WIN1256
 | 
				
			||||||
 | 
						},
 | 
				
			||||||
 | 
						{
 | 
				
			||||||
 | 
							"TCVN", PG_TCVN
 | 
				
			||||||
 | 
						},
 | 
				
			||||||
 | 
						{
 | 
				
			||||||
 | 
							"WIN874", PG_WIN874
 | 
				
			||||||
 | 
						},
 | 
				
			||||||
	{
 | 
						{
 | 
				
			||||||
		"KOI8", PG_KOI8R
 | 
							"KOI8", PG_KOI8R
 | 
				
			||||||
	},
 | 
						},
 | 
				
			||||||
@@ -267,6 +345,12 @@ pg_enc2name pg_enc2name_tbl[] =
 | 
				
			|||||||
	{
 | 
						{
 | 
				
			||||||
		"BIG5", PG_BIG5
 | 
							"BIG5", PG_BIG5
 | 
				
			||||||
	},
 | 
						},
 | 
				
			||||||
 | 
						{
 | 
				
			||||||
 | 
							"GBK", PG_GBK
 | 
				
			||||||
 | 
						},
 | 
				
			||||||
 | 
						{
 | 
				
			||||||
 | 
							"UHC", PG_UHC
 | 
				
			||||||
 | 
						},
 | 
				
			||||||
	{
 | 
						{
 | 
				
			||||||
		"WIN1250", PG_WIN1250
 | 
							"WIN1250", PG_WIN1250
 | 
				
			||||||
	}
 | 
						}
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -1,7 +1,7 @@
 | 
				
			|||||||
/*
 | 
					/*
 | 
				
			||||||
 * conversion functions between pg_wchar and multi-byte streams.
 | 
					 * conversion functions between pg_wchar and multi-byte streams.
 | 
				
			||||||
 * Tatsuo Ishii
 | 
					 * Tatsuo Ishii
 | 
				
			||||||
 * $Id: wchar.c,v 1.26 2001/10/28 06:25:56 momjian Exp $
 | 
					 * $Id: wchar.c,v 1.27 2002/03/05 05:52:44 momjian Exp $
 | 
				
			||||||
 *
 | 
					 *
 | 
				
			||||||
 * WIN1250 client encoding updated by Pavel Behal
 | 
					 * WIN1250 client encoding updated by Pavel Behal
 | 
				
			||||||
 *
 | 
					 *
 | 
				
			||||||
@@ -250,6 +250,21 @@ pg_euctw_mblen(const unsigned char *s)
 | 
				
			|||||||
	return (len);
 | 
						return (len);
 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					/*
 | 
				
			||||||
 | 
					 * JOHAB
 | 
				
			||||||
 | 
					 */
 | 
				
			||||||
 | 
					static int
 | 
				
			||||||
 | 
					pg_johab2wchar_with_len(const unsigned char *from, pg_wchar *to, int len)
 | 
				
			||||||
 | 
					{
 | 
				
			||||||
 | 
						return (pg_euc2wchar_with_len(from, to, len));
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					static int
 | 
				
			||||||
 | 
					pg_johab_mblen(const unsigned char *s)
 | 
				
			||||||
 | 
					{
 | 
				
			||||||
 | 
						return (pg_euc_mblen(s));
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
/*
 | 
					/*
 | 
				
			||||||
 * convert UTF-8 string to pg_wchar (UCS-2)
 | 
					 * convert UTF-8 string to pg_wchar (UCS-2)
 | 
				
			||||||
 * caller should allocate enough space for "to"
 | 
					 * caller should allocate enough space for "to"
 | 
				
			||||||
@@ -457,34 +472,78 @@ pg_big5_mblen(const unsigned char *s)
 | 
				
			|||||||
	return (len);
 | 
						return (len);
 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					/*
 | 
				
			||||||
 | 
					 * GBK
 | 
				
			||||||
 | 
					 */
 | 
				
			||||||
 | 
					static int
 | 
				
			||||||
 | 
					pg_gbk_mblen(const unsigned char *s)
 | 
				
			||||||
 | 
					{
 | 
				
			||||||
 | 
						int			len;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
						if (*s > 0x7f)
 | 
				
			||||||
 | 
						{							/* kanji? */
 | 
				
			||||||
 | 
							len = 2;
 | 
				
			||||||
 | 
						}
 | 
				
			||||||
 | 
						else
 | 
				
			||||||
 | 
						{							/* should be ASCII */
 | 
				
			||||||
 | 
							len = 1;
 | 
				
			||||||
 | 
						}
 | 
				
			||||||
 | 
						return (len);
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					/*
 | 
				
			||||||
 | 
					 * UHC
 | 
				
			||||||
 | 
					 */
 | 
				
			||||||
 | 
					static int
 | 
				
			||||||
 | 
					pg_uhc_mblen(const unsigned char *s)
 | 
				
			||||||
 | 
					{
 | 
				
			||||||
 | 
						int			len;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
						if (*s > 0x7f)
 | 
				
			||||||
 | 
						{							/* 2byte? */
 | 
				
			||||||
 | 
							len = 2;
 | 
				
			||||||
 | 
						}
 | 
				
			||||||
 | 
						else
 | 
				
			||||||
 | 
						{							/* should be ASCII */
 | 
				
			||||||
 | 
							len = 1;
 | 
				
			||||||
 | 
						}
 | 
				
			||||||
 | 
						return (len);
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
pg_wchar_tbl pg_wchar_table[] = {
 | 
					pg_wchar_tbl pg_wchar_table[] = {
 | 
				
			||||||
	{pg_ascii2wchar_with_len, pg_ascii_mblen, 1},		/* 0; PG_SQL_ASCII	*/
 | 
						{pg_ascii2wchar_with_len, pg_ascii_mblen, 1},		/* 0; PG_SQL_ASCII	*/
 | 
				
			||||||
	{pg_eucjp2wchar_with_len, pg_eucjp_mblen, 3},		/* 1; PG_EUC_JP */
 | 
						{pg_eucjp2wchar_with_len, pg_eucjp_mblen, 3},		/* 1; PG_EUC_JP */
 | 
				
			||||||
	{pg_euccn2wchar_with_len, pg_euccn_mblen, 3},		/* 2; PG_EUC_CN */
 | 
						{pg_euccn2wchar_with_len, pg_euccn_mblen, 3},		/* 2; PG_EUC_CN */
 | 
				
			||||||
	{pg_euckr2wchar_with_len, pg_euckr_mblen, 3},		/* 3; PG_EUC_KR */
 | 
						{pg_euckr2wchar_with_len, pg_euckr_mblen, 3},		/* 3; PG_EUC_KR */
 | 
				
			||||||
	{pg_euctw2wchar_with_len, pg_euctw_mblen, 3},		/* 4; PG_EUC_TW */
 | 
						{pg_euctw2wchar_with_len, pg_euctw_mblen, 3},		/* 4; PG_EUC_TW */
 | 
				
			||||||
	{pg_utf2wchar_with_len, pg_utf_mblen, 3},	/* 5; PG_UNICODE */
 | 
						{pg_johab2wchar_with_len, pg_johab_mblen, 3},		/* 5; PG_JOHAB */
 | 
				
			||||||
	{pg_mule2wchar_with_len, pg_mule_mblen, 3}, /* 6; PG_MULE_INTERNAL */
 | 
						{pg_utf2wchar_with_len, pg_utf_mblen, 3},	/* 6; PG_UNICODE */
 | 
				
			||||||
	{pg_latin12wchar_with_len, pg_latin1_mblen, 1},		/* 7; PG_LATIN1 */
 | 
						{pg_mule2wchar_with_len, pg_mule_mblen, 3},	/* 7; PG_MULE_INTERNAL */
 | 
				
			||||||
	{pg_latin12wchar_with_len, pg_latin1_mblen, 1},		/* 8; PG_LATIN2 */
 | 
						{pg_latin12wchar_with_len, pg_latin1_mblen, 1},		/* 8; PG_LATIN1 */
 | 
				
			||||||
	{pg_latin12wchar_with_len, pg_latin1_mblen, 1},		/* 9; PG_LATIN3 */
 | 
						{pg_latin12wchar_with_len, pg_latin1_mblen, 1},		/* 9; PG_LATIN2 */
 | 
				
			||||||
	{pg_latin12wchar_with_len, pg_latin1_mblen, 1},		/* 10; PG_LATIN4 */
 | 
						{pg_latin12wchar_with_len, pg_latin1_mblen, 1},		/* 10; PG_LATIN3 */
 | 
				
			||||||
	{pg_latin12wchar_with_len, pg_latin1_mblen, 1},		/* 11; PG_LATIN5 */
 | 
						{pg_latin12wchar_with_len, pg_latin1_mblen, 1},		/* 11; PG_LATIN4 */
 | 
				
			||||||
	{pg_latin12wchar_with_len, pg_latin1_mblen, 1},		/* 12; PG_KOI8 */
 | 
						{pg_latin12wchar_with_len, pg_latin1_mblen, 1},		/* 12; PG_LATIN5 */
 | 
				
			||||||
	{pg_latin12wchar_with_len, pg_latin1_mblen, 1},		/* 13; PG_WIN1251 */
 | 
						{pg_latin12wchar_with_len, pg_latin1_mblen, 1},		/* 13; PG_LATIN6 */
 | 
				
			||||||
	{pg_latin12wchar_with_len, pg_latin1_mblen, 1},		/* 14; PG_ALT */
 | 
						{pg_latin12wchar_with_len, pg_latin1_mblen, 1},		/* 14; PG_LATIN7 */
 | 
				
			||||||
	{pg_latin12wchar_with_len, pg_latin1_mblen, 1},		/* 15; ISO-8859-5 */
 | 
						{pg_latin12wchar_with_len, pg_latin1_mblen, 1},		/* 15; PG_LATIN8 */
 | 
				
			||||||
	{pg_latin12wchar_with_len, pg_latin1_mblen, 1},		/* 16; ISO-8859-6 */
 | 
						{pg_latin12wchar_with_len, pg_latin1_mblen, 1},		/* 16; PG_LATIN9 */
 | 
				
			||||||
	{pg_latin12wchar_with_len, pg_latin1_mblen, 1},		/* 17; ISO-8859-7 */
 | 
						{pg_latin12wchar_with_len, pg_latin1_mblen, 1},		/* 17; PG_LATIN10 */
 | 
				
			||||||
	{pg_latin12wchar_with_len, pg_latin1_mblen, 1},		/* 18; ISO-8859-8 */
 | 
						{pg_latin12wchar_with_len, pg_latin1_mblen, 1},		/* 18; PG_WIN1256 */
 | 
				
			||||||
	{pg_latin12wchar_with_len, pg_latin1_mblen, 1},		/* 19; ISO-8859-10 */
 | 
						{pg_latin12wchar_with_len, pg_latin1_mblen, 1},		/* 19; PG_TCVN */
 | 
				
			||||||
	{pg_latin12wchar_with_len, pg_latin1_mblen, 1},		/* 20; ISO-8859-13 */
 | 
						{pg_latin12wchar_with_len, pg_latin1_mblen, 1},		/* 20; PG_WIN874 */
 | 
				
			||||||
	{pg_latin12wchar_with_len, pg_latin1_mblen, 1},		/* 21; ISO-8859-14 */
 | 
						{pg_latin12wchar_with_len, pg_latin1_mblen, 1},		/* 21; PG_KOI8 */
 | 
				
			||||||
	{pg_latin12wchar_with_len, pg_latin1_mblen, 1},		/* 22; ISO-8859-15 */
 | 
						{pg_latin12wchar_with_len, pg_latin1_mblen, 1},		/* 22; PG_WIN1251 */
 | 
				
			||||||
	{pg_latin12wchar_with_len, pg_latin1_mblen, 1},		/* 23; ISO-8859-16 */
 | 
						{pg_latin12wchar_with_len, pg_latin1_mblen, 1},		/* 23; PG_ALT */
 | 
				
			||||||
	{0, pg_sjis_mblen, 2},		/* 24; PG_SJIS */
 | 
						{pg_latin12wchar_with_len, pg_latin1_mblen, 1},		/* 24; ISO-8859-5 */
 | 
				
			||||||
	{0, pg_big5_mblen, 2},		/* 25; PG_BIG5 */
 | 
						{pg_latin12wchar_with_len, pg_latin1_mblen, 1},		/* 25; ISO-8859-6 */
 | 
				
			||||||
	{pg_latin12wchar_with_len, pg_latin1_mblen, 1}		/* 26; PG_WIN1250 */
 | 
						{pg_latin12wchar_with_len, pg_latin1_mblen, 1},		/* 26; ISO-8859-7 */
 | 
				
			||||||
 | 
						{pg_latin12wchar_with_len, pg_latin1_mblen, 1},		/* 27; ISO-8859-8 */
 | 
				
			||||||
 | 
						{0, pg_sjis_mblen, 2},		/* 28; PG_SJIS */
 | 
				
			||||||
 | 
						{0, pg_big5_mblen, 2},		/* 29; PG_BIG5 */
 | 
				
			||||||
 | 
						{0, pg_gbk_mblen, 2},		/* 30; PG_GBK */
 | 
				
			||||||
 | 
						{0, pg_uhc_mblen, 2},		/* 31; PG_UHC */
 | 
				
			||||||
 | 
						{pg_latin12wchar_with_len, pg_latin1_mblen, 1},		/* 32; PG_WIN1250 */
 | 
				
			||||||
};
 | 
					};
 | 
				
			||||||
 | 
					
 | 
				
			||||||
/* returns the byte length of a word for mule internal code */
 | 
					/* returns the byte length of a word for mule internal code */
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -1,4 +1,4 @@
 | 
				
			|||||||
/* $Id: pg_wchar.h,v 1.37 2001/11/05 17:46:33 momjian Exp $ */
 | 
					/* $Id: pg_wchar.h,v 1.38 2002/03/05 05:52:50 momjian Exp $ */
 | 
				
			||||||
 | 
					
 | 
				
			||||||
#ifndef PG_WCHAR_H
 | 
					#ifndef PG_WCHAR_H
 | 
				
			||||||
#define PG_WCHAR_H
 | 
					#define PG_WCHAR_H
 | 
				
			||||||
@@ -159,6 +159,7 @@ typedef enum pg_enc
 | 
				
			|||||||
	PG_EUC_CN,					/* EUC for Chinese */
 | 
						PG_EUC_CN,					/* EUC for Chinese */
 | 
				
			||||||
	PG_EUC_KR,					/* EUC for Korean */
 | 
						PG_EUC_KR,					/* EUC for Korean */
 | 
				
			||||||
	PG_EUC_TW,					/* EUC for Taiwan */
 | 
						PG_EUC_TW,					/* EUC for Taiwan */
 | 
				
			||||||
 | 
						PG_JOHAB,					/* EUC for Korean JOHAB */
 | 
				
			||||||
	PG_UTF8,					/* Unicode UTF-8 */
 | 
						PG_UTF8,					/* Unicode UTF-8 */
 | 
				
			||||||
	PG_MULE_INTERNAL,			/* Mule internal code */
 | 
						PG_MULE_INTERNAL,			/* Mule internal code */
 | 
				
			||||||
	PG_LATIN1,					/* ISO-8859-1 Latin 1 */
 | 
						PG_LATIN1,					/* ISO-8859-1 Latin 1 */
 | 
				
			||||||
@@ -171,6 +172,9 @@ typedef enum pg_enc
 | 
				
			|||||||
	PG_LATIN8,					/* ISO-8859-14 Latin8 */
 | 
						PG_LATIN8,					/* ISO-8859-14 Latin8 */
 | 
				
			||||||
	PG_LATIN9,					/* ISO-8859-15 Latin9 */
 | 
						PG_LATIN9,					/* ISO-8859-15 Latin9 */
 | 
				
			||||||
	PG_LATIN10,					/* ISO-8859-16 Latin10 */
 | 
						PG_LATIN10,					/* ISO-8859-16 Latin10 */
 | 
				
			||||||
 | 
						PG_WIN1256,					/* windows-1256 */
 | 
				
			||||||
 | 
						PG_TCVN,					/* TCVN (Windows-1258) */
 | 
				
			||||||
 | 
						PG_WIN874,					/* windows-874 */
 | 
				
			||||||
	PG_KOI8R,					/* KOI8-R */
 | 
						PG_KOI8R,					/* KOI8-R */
 | 
				
			||||||
	PG_WIN1251,					/* windows-1251 (was: WIN) */
 | 
						PG_WIN1251,					/* windows-1251 (was: WIN) */
 | 
				
			||||||
	PG_ALT,						/* (MS-DOS CP866) */
 | 
						PG_ALT,						/* (MS-DOS CP866) */
 | 
				
			||||||
@@ -180,8 +184,10 @@ typedef enum pg_enc
 | 
				
			|||||||
	PG_ISO_8859_8,				/* ISO-8859-8 */
 | 
						PG_ISO_8859_8,				/* ISO-8859-8 */
 | 
				
			||||||
 | 
					
 | 
				
			||||||
	/* followings are for client encoding only */
 | 
						/* followings are for client encoding only */
 | 
				
			||||||
	PG_SJIS,					/* Shift JIS */
 | 
						PG_SJIS,					/* Shift JIS (Winindows-932) */
 | 
				
			||||||
	PG_BIG5,					/* Big5 */
 | 
						PG_BIG5,					/* Big5 (Windows-950) */
 | 
				
			||||||
 | 
						PG_GBK,					/* GBK (Windows-936) */
 | 
				
			||||||
 | 
						PG_UHC,					/* UHC (Windows-949) */
 | 
				
			||||||
	PG_WIN1250,					/* windows-1250 */
 | 
						PG_WIN1250,					/* windows-1250 */
 | 
				
			||||||
 | 
					
 | 
				
			||||||
	_PG_LAST_ENCODING_			/* mark only */
 | 
						_PG_LAST_ENCODING_			/* mark only */
 | 
				
			||||||
@@ -189,7 +195,7 @@ typedef enum pg_enc
 | 
				
			|||||||
} pg_enc;
 | 
					} pg_enc;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
#define PG_ENCODING_BE_LAST PG_ISO_8859_8
 | 
					#define PG_ENCODING_BE_LAST PG_ISO_8859_8
 | 
				
			||||||
#define PG_ENCODING_FE_LAST PG_WIN1250
 | 
					#define PG_ENCODING_FE_LAST PG_WIN1256
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
#ifdef MULTIBYTE
 | 
					#ifdef MULTIBYTE
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -944,6 +944,9 @@ another_version_retry:
 | 
				
			|||||||
	CC_send_settings(self);
 | 
						CC_send_settings(self);
 | 
				
			||||||
	CC_lookup_lo(self);			/* a hack to get the oid of our large
 | 
						CC_lookup_lo(self);			/* a hack to get the oid of our large
 | 
				
			||||||
								 * object oid type */
 | 
													 * object oid type */
 | 
				
			||||||
 | 
					#ifdef MULTIBYTE
 | 
				
			||||||
 | 
						CC_lookup_characterset(self);
 | 
				
			||||||
 | 
					#endif
 | 
				
			||||||
	CC_lookup_pg_version(self); /* Get PostgreSQL version for SQLGetInfo
 | 
						CC_lookup_pg_version(self); /* Get PostgreSQL version for SQLGetInfo
 | 
				
			||||||
								 * use */
 | 
													 * use */
 | 
				
			||||||
 | 
					
 | 
				
			||||||
@@ -1247,9 +1250,27 @@ CC_send_query(ConnectionClass *self, char *query, QueryInfo *qi)
 | 
				
			|||||||
				if (QR_command_successful(res))
 | 
									if (QR_command_successful(res))
 | 
				
			||||||
					QR_set_status(res, PGRES_NONFATAL_ERROR);
 | 
										QR_set_status(res, PGRES_NONFATAL_ERROR);
 | 
				
			||||||
				QR_set_notice(res, cmdbuffer);	/* will dup this string */
 | 
									QR_set_notice(res, cmdbuffer);	/* will dup this string */
 | 
				
			||||||
 | 
					#ifdef MULTIBYTE
 | 
				
			||||||
 | 
									if (strstr(cmdbuffer,"encoding is"))
 | 
				
			||||||
 | 
									{
 | 
				
			||||||
 | 
										if (strstr(cmdbuffer,"Current client encoding is"))
 | 
				
			||||||
 | 
											strcpy(PG_CCSS, cmdbuffer + 36);
 | 
				
			||||||
 | 
										if (strstr(cmdbuffer,"Current server encoding is"))
 | 
				
			||||||
 | 
											strcpy(PG_SCSS, cmdbuffer + 36);
 | 
				
			||||||
 | 
										mylog("~~~ NOTICE: '%s'\n", cmdbuffer);
 | 
				
			||||||
 | 
										qlog("NOTICE from backend during send_query: '%s'\n ClientEncoding = %s\n ServerEncoding = %s\n", cmdbuffer, PG_CCSS, PG_SCSS);
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
									}
 | 
				
			||||||
 | 
									else
 | 
				
			||||||
 | 
									{
 | 
				
			||||||
 | 
					
 | 
				
			||||||
					mylog("~~~ NOTICE: '%s'\n", cmdbuffer);
 | 
										mylog("~~~ NOTICE: '%s'\n", cmdbuffer);
 | 
				
			||||||
					qlog("NOTICE from backend during send_query: '%s'\n", cmdbuffer);
 | 
										qlog("NOTICE from backend during send_query: '%s'\n", cmdbuffer);
 | 
				
			||||||
 | 
									}
 | 
				
			||||||
 | 
					#else
 | 
				
			||||||
 | 
									mylog("~~~ NOTICE: '%s'\n", cmdbuffer);
 | 
				
			||||||
 | 
									qlog("NOTICE from backend during send_query: '%s'\n", cmdbuffer);
 | 
				
			||||||
 | 
					#endif
 | 
				
			||||||
				while (msg_truncated)
 | 
									while (msg_truncated)
 | 
				
			||||||
					msg_truncated = SOCK_get_string(sock, cmdbuffer, ERROR_MSG_LENGTH);
 | 
										msg_truncated = SOCK_get_string(sock, cmdbuffer, ERROR_MSG_LENGTH);
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -1,138 +1,330 @@
 | 
				
			|||||||
/*--------
 | 
					/*--------
 | 
				
			||||||
 * Module :			multibyte.c
 | 
					 * Module :			multibyte.c
 | 
				
			||||||
 *
 | 
					 *
 | 
				
			||||||
 * Description:		Mlutibyte related additional function.
 | 
					 * Description:		New Mlutibyte related additional function.
 | 
				
			||||||
 *
 | 
					 *
 | 
				
			||||||
 *					Create 2001-03-03 Eiji Tokuya
 | 
					 *					Create 2001-03-03 Eiji Tokuya
 | 
				
			||||||
 | 
					 *					New Create 2001-09-16 Eiji Tokuya
 | 
				
			||||||
 *--------
 | 
					 *--------
 | 
				
			||||||
 */
 | 
					 */
 | 
				
			||||||
 | 
					
 | 
				
			||||||
#include "multibyte.h"
 | 
					#include "multibyte.h"
 | 
				
			||||||
 | 
					#include "connection.h"
 | 
				
			||||||
 | 
					#include "pgapifunc.h"
 | 
				
			||||||
#include <string.h>
 | 
					#include <string.h>
 | 
				
			||||||
 | 
					#include <ctype.h>
 | 
				
			||||||
 | 
					#include <stdio.h>
 | 
				
			||||||
 | 
					#include <stdlib.h>
 | 
				
			||||||
 | 
					
 | 
				
			||||||
int			multibyte_client_encoding;	/* Multibyte Client Encoding. */
 | 
					int PG_CCST;				/* Client Charcter Status */
 | 
				
			||||||
int			multibyte_status;	/* Multibyte Odds and ends character. */
 | 
					 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					int PG_SCSC;				/* Server Charcter Set (code) */
 | 
				
			||||||
 | 
					int PG_CCSC;				/* Client Charcter Set (code) */
 | 
				
			||||||
 | 
					unsigned char *PG_SCSS;	/* Server Charcter Set (string) */
 | 
				
			||||||
 | 
					unsigned char *PG_CCSS;	/* Client Charcter Set (string) */
 | 
				
			||||||
 | 
					
 | 
				
			||||||
unsigned char *
 | 
					pg_CS CS_Table[] =
 | 
				
			||||||
multibyte_strchr(const unsigned char *s, unsigned char c)
 | 
					 | 
				
			||||||
{
 | 
					{
 | 
				
			||||||
	int			mb_st = 0,
 | 
						{ "SQL_ASCII",	SQL_ASCII },
 | 
				
			||||||
				i = 0;
 | 
						{ "EUC_JP",	EUC_JP },
 | 
				
			||||||
 | 
						{ "EUC_CN",	EUC_CN },
 | 
				
			||||||
 | 
						{ "EUC_KR",	EUC_KR },
 | 
				
			||||||
 | 
						{ "EUC_TW",	EUC_TW },
 | 
				
			||||||
 | 
						{ "JOHAB", JOHAB },
 | 
				
			||||||
 | 
						{ "UNICODE",	UTF8 },
 | 
				
			||||||
 | 
						{ "MULE_INTERNAL",MULE_INTERNAL },
 | 
				
			||||||
 | 
						{ "LATIN1",	LATIN1 },
 | 
				
			||||||
 | 
						{ "LATIN2",	LATIN2 },
 | 
				
			||||||
 | 
						{ "LATIN3",	LATIN3 },
 | 
				
			||||||
 | 
						{ "LATIN4",	LATIN4 },
 | 
				
			||||||
 | 
						{ "LATIN5",	LATIN5 },
 | 
				
			||||||
 | 
						{ "LATIN6", LATIN6 },
 | 
				
			||||||
 | 
						{ "LATIN7", LATIN7 },
 | 
				
			||||||
 | 
						{ "LATIN8", LATIN8 },
 | 
				
			||||||
 | 
						{ "LATIN9", LATIN9 },
 | 
				
			||||||
 | 
						{ "LATIN10", LATIN10 },
 | 
				
			||||||
 | 
						{ "WIN1256", WIN1256 },
 | 
				
			||||||
 | 
						{ "TCVN", TCVN },
 | 
				
			||||||
 | 
						{ "WIN874", WIN874 },
 | 
				
			||||||
 | 
						{ "KOI8",	KOI8R },
 | 
				
			||||||
 | 
						{ "WIN",	WIN1251 },
 | 
				
			||||||
 | 
						{ "ALT",	ALT },
 | 
				
			||||||
 | 
						{ "ISO_8859_5", ISO_8859_5 },
 | 
				
			||||||
 | 
						{ "ISO_8859_6", ISO_8859_6 },
 | 
				
			||||||
 | 
						{ "ISO_8859_7", ISO_8859_7 },
 | 
				
			||||||
 | 
						{ "ISO_8859_8", ISO_8859_8 },
 | 
				
			||||||
 | 
					
 | 
				
			||||||
	while (!(mb_st == 0 && (s[i] == c || s[i] == 0)))
 | 
					 | 
				
			||||||
	{
 | 
					 | 
				
			||||||
		if (s[i] == 0)
 | 
					 | 
				
			||||||
			return (0);
 | 
					 | 
				
			||||||
		switch (multibyte_client_encoding)
 | 
					 | 
				
			||||||
		{
 | 
					 | 
				
			||||||
			case SJIS:
 | 
					 | 
				
			||||||
				{
 | 
					 | 
				
			||||||
					if (mb_st < 2 && s[i] > 0x80 && !(s[i] > 0x9f && s[i] < 0xe0))
 | 
					 | 
				
			||||||
						mb_st = 2;
 | 
					 | 
				
			||||||
					else if (mb_st == 2)
 | 
					 | 
				
			||||||
						mb_st = 1;
 | 
					 | 
				
			||||||
					else
 | 
					 | 
				
			||||||
						mb_st = 0;
 | 
					 | 
				
			||||||
				}
 | 
					 | 
				
			||||||
				break;
 | 
					 | 
				
			||||||
 | 
					
 | 
				
			||||||
/* Chinese Big5 Support. */
 | 
						{ "SJIS",	SJIS },
 | 
				
			||||||
			case BIG5:
 | 
						{ "BIG5",	BIG5 },
 | 
				
			||||||
 | 
						{ "GBK", GBK },
 | 
				
			||||||
 | 
						{ "UHC", UHC },
 | 
				
			||||||
 | 
						{ "WIN1250",	WIN1250 },
 | 
				
			||||||
 | 
						{ "OTHER", OTHER }
 | 
				
			||||||
 | 
					};
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					int
 | 
				
			||||||
 | 
					pg_ismb(int characterset_code)
 | 
				
			||||||
 | 
					{
 | 
				
			||||||
 | 
						int i=0,MB_CHARACTERSET[]={EUC_JP,EUC_CN,EUC_KR,EUC_TW,UTF8,MULE_INTERNAL,SJIS,BIG5,GBK,UHC,JOHAB};
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
						while (MB_CHARACTERSET[i] != characterset_code || OTHER != MB_CHARACTERSET[i] )
 | 
				
			||||||
	{
 | 
						{
 | 
				
			||||||
					if (mb_st < 2 && s[i] > 0xA0)
 | 
					 | 
				
			||||||
						mb_st = 2;
 | 
					 | 
				
			||||||
					else if (mb_st == 2)
 | 
					 | 
				
			||||||
						mb_st = 1;
 | 
					 | 
				
			||||||
					else
 | 
					 | 
				
			||||||
						mb_st = 0;
 | 
					 | 
				
			||||||
				}
 | 
					 | 
				
			||||||
				break;
 | 
					 | 
				
			||||||
			default:
 | 
					 | 
				
			||||||
				mb_st = 0;
 | 
					 | 
				
			||||||
		}
 | 
					 | 
				
			||||||
		i++;
 | 
							i++;
 | 
				
			||||||
	}
 | 
						}
 | 
				
			||||||
#ifdef _DEBUG
 | 
						return (MB_CHARACTERSET[i]);
 | 
				
			||||||
	qlog("i = %d\n", i);
 | 
					 | 
				
			||||||
#endif
 | 
					 | 
				
			||||||
	return (char *) (s + i);
 | 
					 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					int
 | 
				
			||||||
void
 | 
					pg_CS_code(const unsigned char *characterset_string)
 | 
				
			||||||
multibyte_init(void)
 | 
					 | 
				
			||||||
{
 | 
					{
 | 
				
			||||||
	multibyte_status = 0;
 | 
						int i = 0, c;
 | 
				
			||||||
 | 
						for(i = 0; CS_Table[i].code != OTHER; i++)
 | 
				
			||||||
 | 
						{
 | 
				
			||||||
 | 
							if (strstr(characterset_string,CS_Table[i].name))
 | 
				
			||||||
 | 
								c = CS_Table[i].code;
 | 
				
			||||||
 | 
						}
 | 
				
			||||||
 | 
						return (c);
 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					 | 
				
			||||||
unsigned char *
 | 
					unsigned char *
 | 
				
			||||||
check_client_encoding(unsigned char *str)
 | 
					pg_CS_name(const int characterset_code)
 | 
				
			||||||
{
 | 
					{
 | 
				
			||||||
	if (strstr(str, "%27SJIS%27") ||
 | 
						int i = 0;
 | 
				
			||||||
		strstr(str, "%27Shift_JIS%27") ||
 | 
						for (i = 0; CS_Table[i].code != OTHER; i++)
 | 
				
			||||||
		strstr(str, "'SJIS'") ||
 | 
					 | 
				
			||||||
		strstr(str, "'sjis'") ||
 | 
					 | 
				
			||||||
		strstr(str, "'Shift_JIS'"))
 | 
					 | 
				
			||||||
	{
 | 
						{
 | 
				
			||||||
		multibyte_client_encoding = SJIS;
 | 
							if (CS_Table[i].code == characterset_code)
 | 
				
			||||||
		return ("SJIS");
 | 
								return CS_Table[i].name;
 | 
				
			||||||
	}
 | 
					 | 
				
			||||||
	if (strstr(str, "%27BIG5%27") ||
 | 
					 | 
				
			||||||
		strstr(str, "%27Big5%27") ||
 | 
					 | 
				
			||||||
		strstr(str, "'BIG5'") ||
 | 
					 | 
				
			||||||
		strstr(str, "'big5'") ||
 | 
					 | 
				
			||||||
		strstr(str, "'Big5'"))
 | 
					 | 
				
			||||||
	{
 | 
					 | 
				
			||||||
		multibyte_client_encoding = BIG5;
 | 
					 | 
				
			||||||
		return ("BIG5");
 | 
					 | 
				
			||||||
	}
 | 
						}
 | 
				
			||||||
	return ("OTHER");
 | 
						return ("OTHER");
 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					 | 
				
			||||||
/*--------
 | 
					 | 
				
			||||||
 * Multibyte Status Function.
 | 
					 | 
				
			||||||
 *	Input	char
 | 
					 | 
				
			||||||
 *	Output	0	: 1 Byte Character.
 | 
					 | 
				
			||||||
 *			1	: MultibyteCharacter Last Byte.
 | 
					 | 
				
			||||||
 *			N	: MultibyteCharacter Fast or Middle Byte.
 | 
					 | 
				
			||||||
 *--------
 | 
					 | 
				
			||||||
 */
 | 
					 | 
				
			||||||
int
 | 
					int
 | 
				
			||||||
multibyte_char_check(unsigned char s)
 | 
					pg_CS_stat(int stat,unsigned int character,int characterset_code)
 | 
				
			||||||
{
 | 
					{
 | 
				
			||||||
	switch (multibyte_client_encoding)
 | 
						if (character == 0)
 | 
				
			||||||
 | 
							stat = 0;
 | 
				
			||||||
 | 
						switch (characterset_code)
 | 
				
			||||||
	{
 | 
						{
 | 
				
			||||||
			/* Japanese Shift-JIS(CP932) Support. */
 | 
							case UTF8:
 | 
				
			||||||
 | 
								{
 | 
				
			||||||
 | 
									if (stat < 2 &&
 | 
				
			||||||
 | 
										character >= 0x80)
 | 
				
			||||||
 | 
									{
 | 
				
			||||||
 | 
										if (character >= 0xfc)
 | 
				
			||||||
 | 
											stat = 6;
 | 
				
			||||||
 | 
										else if (character >= 0xf8)
 | 
				
			||||||
 | 
											stat = 5;
 | 
				
			||||||
 | 
										else if (character >= 0xf0)
 | 
				
			||||||
 | 
											stat = 4;
 | 
				
			||||||
 | 
										else if (character >= 0xe0)
 | 
				
			||||||
 | 
											stat = 3;
 | 
				
			||||||
 | 
										else if (character >= 0xc0)
 | 
				
			||||||
 | 
											stat = 2;
 | 
				
			||||||
 | 
									}
 | 
				
			||||||
 | 
									else if (stat > 2 &&
 | 
				
			||||||
 | 
										character > 0x7f)
 | 
				
			||||||
 | 
										stat--;
 | 
				
			||||||
 | 
									else
 | 
				
			||||||
 | 
										stat=0;
 | 
				
			||||||
 | 
								}
 | 
				
			||||||
 | 
								break;
 | 
				
			||||||
 | 
					/* Shift-JIS Support. */
 | 
				
			||||||
			case SJIS:
 | 
								case SJIS:
 | 
				
			||||||
			{
 | 
								{
 | 
				
			||||||
				if (multibyte_status < 2 && s > 0x80 && !(s > 0x9f && s < 0xE0))
 | 
									if (stat < 2 &&
 | 
				
			||||||
					multibyte_status = 2;
 | 
										character > 0x80 &&
 | 
				
			||||||
				else if (multibyte_status == 2)
 | 
										!(character > 0x9f &&
 | 
				
			||||||
					multibyte_status = 1;
 | 
										character < 0xe0))
 | 
				
			||||||
 | 
										stat = 2;
 | 
				
			||||||
 | 
									else if (stat == 2)
 | 
				
			||||||
 | 
										stat = 1;
 | 
				
			||||||
				else
 | 
									else
 | 
				
			||||||
					multibyte_status = 0;
 | 
										stat = 0;
 | 
				
			||||||
 | 
								}
 | 
				
			||||||
 | 
								break;
 | 
				
			||||||
 | 
					/* Chinese Big5 Support. */
 | 
				
			||||||
 | 
							case BIG5:
 | 
				
			||||||
 | 
								{
 | 
				
			||||||
 | 
									if (stat < 2 &&
 | 
				
			||||||
 | 
										character > 0xA0)
 | 
				
			||||||
 | 
										stat = 2;
 | 
				
			||||||
 | 
									else if (stat == 2)
 | 
				
			||||||
 | 
										stat = 1;
 | 
				
			||||||
 | 
									else
 | 
				
			||||||
 | 
										stat = 0;
 | 
				
			||||||
 | 
								}
 | 
				
			||||||
 | 
								break;
 | 
				
			||||||
 | 
					/* Chinese GBK Support. */
 | 
				
			||||||
 | 
							case GBK:
 | 
				
			||||||
 | 
								{
 | 
				
			||||||
 | 
									if (stat < 2 &&
 | 
				
			||||||
 | 
										character > 0x7F)
 | 
				
			||||||
 | 
										stat = 2;
 | 
				
			||||||
 | 
									else if (stat == 2)
 | 
				
			||||||
 | 
										stat = 1;
 | 
				
			||||||
 | 
									else
 | 
				
			||||||
 | 
										stat = 0;
 | 
				
			||||||
			}
 | 
								}
 | 
				
			||||||
			break;
 | 
								break;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
			/* Chinese Big5(CP950) Support. */
 | 
					/* Korian UHC Support. */
 | 
				
			||||||
		case BIG5:
 | 
							case UHC:
 | 
				
			||||||
			{
 | 
								{
 | 
				
			||||||
				if (multibyte_status < 2 && s > 0xA0)
 | 
									if (stat < 2 &&
 | 
				
			||||||
					multibyte_status = 2;
 | 
										character > 0x7F)
 | 
				
			||||||
				else if (multibyte_status == 2)
 | 
										stat = 2;
 | 
				
			||||||
					multibyte_status = 1;
 | 
									else if (stat == 2)
 | 
				
			||||||
 | 
										stat = 1;
 | 
				
			||||||
				else
 | 
									else
 | 
				
			||||||
					multibyte_status = 0;
 | 
										stat = 0;
 | 
				
			||||||
 | 
								}
 | 
				
			||||||
 | 
								break;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					/* EUC_JP Support */
 | 
				
			||||||
 | 
							case EUC_JP:
 | 
				
			||||||
 | 
								{
 | 
				
			||||||
 | 
									if (stat < 3 && 
 | 
				
			||||||
 | 
										character == 0x8f)	/* JIS X 0212 */
 | 
				
			||||||
 | 
										stat = 3;
 | 
				
			||||||
 | 
									else
 | 
				
			||||||
 | 
									if (stat != 2 && 
 | 
				
			||||||
 | 
										(character == 0x8e ||
 | 
				
			||||||
 | 
										character > 0xa0))	/* Half Katakana HighByte & Kanji HighByte */
 | 
				
			||||||
 | 
										stat = 2;
 | 
				
			||||||
 | 
									else if (stat == 2)
 | 
				
			||||||
 | 
										stat = 1;
 | 
				
			||||||
 | 
									else
 | 
				
			||||||
 | 
										stat = 0;
 | 
				
			||||||
 | 
								}
 | 
				
			||||||
 | 
								break;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					/* EUC_CN, EUC_KR, JOHAB Support */
 | 
				
			||||||
 | 
							case EUC_CN:
 | 
				
			||||||
 | 
							case EUC_KR:
 | 
				
			||||||
 | 
							case JOHAB:
 | 
				
			||||||
 | 
								{
 | 
				
			||||||
 | 
									if (stat < 2 &&
 | 
				
			||||||
 | 
										character > 0xa0)
 | 
				
			||||||
 | 
										stat = 2;
 | 
				
			||||||
 | 
									else if (stat == 2)
 | 
				
			||||||
 | 
										stat = 1;
 | 
				
			||||||
 | 
									else
 | 
				
			||||||
 | 
										stat = 0;
 | 
				
			||||||
 | 
								}
 | 
				
			||||||
 | 
								break;
 | 
				
			||||||
 | 
							case EUC_TW:
 | 
				
			||||||
 | 
								{
 | 
				
			||||||
 | 
									if (stat < 4 &&
 | 
				
			||||||
 | 
										character == 0x8e)
 | 
				
			||||||
 | 
										stat = 4;
 | 
				
			||||||
 | 
									else if (stat == 4 &&
 | 
				
			||||||
 | 
										character > 0xa0)
 | 
				
			||||||
 | 
										stat = 3;
 | 
				
			||||||
 | 
									else if (stat == 3 ||
 | 
				
			||||||
 | 
										stat < 2 &&
 | 
				
			||||||
 | 
										character > 0xa0)
 | 
				
			||||||
 | 
										stat = 2;
 | 
				
			||||||
 | 
									else if (stat == 2)
 | 
				
			||||||
 | 
										stat = 1;
 | 
				
			||||||
 | 
									else
 | 
				
			||||||
 | 
										stat = 0;
 | 
				
			||||||
			}
 | 
								}
 | 
				
			||||||
			break;
 | 
								break;
 | 
				
			||||||
		default:
 | 
							default:
 | 
				
			||||||
			multibyte_status = 0;
 | 
								{
 | 
				
			||||||
 | 
									stat = 0;
 | 
				
			||||||
			}
 | 
								}
 | 
				
			||||||
#ifdef _DEBUG
 | 
								break;
 | 
				
			||||||
	qlog("multibyte_client_encoding = %d   s = 0x%02X   multibyte_stat = %d\n", multibyte_client_encoding, s, multibyte_status);
 | 
						}
 | 
				
			||||||
#endif
 | 
						return stat;
 | 
				
			||||||
	return (multibyte_status);
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					unsigned char *
 | 
				
			||||||
 | 
					pg_mbschr(const unsigned char *string, unsigned int character)
 | 
				
			||||||
 | 
					{
 | 
				
			||||||
 | 
						int			mb_st = 0;
 | 
				
			||||||
 | 
						unsigned char *s;
 | 
				
			||||||
 | 
						s = (unsigned char *) string;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
						for(;;) 
 | 
				
			||||||
 | 
						{
 | 
				
			||||||
 | 
							mb_st = pg_CS_stat(mb_st, (unsigned char) *s,PG_CCSC);
 | 
				
			||||||
 | 
							if (mb_st == 0 && (*s == character || *s == 0))
 | 
				
			||||||
 | 
								break;
 | 
				
			||||||
 | 
							else
 | 
				
			||||||
 | 
								s++;
 | 
				
			||||||
 | 
						}
 | 
				
			||||||
 | 
						return (s);
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					int
 | 
				
			||||||
 | 
					pg_mbslen(const unsigned char *string)
 | 
				
			||||||
 | 
					{
 | 
				
			||||||
 | 
						unsigned char *s;
 | 
				
			||||||
 | 
						int len, cs_stat;
 | 
				
			||||||
 | 
						for (len = 0, cs_stat = 0, s = (unsigned char *) string; *s != 0; s++)
 | 
				
			||||||
 | 
						{
 | 
				
			||||||
 | 
							cs_stat = pg_CS_stat(cs_stat,(unsigned int) *s, PG_CCSC);
 | 
				
			||||||
 | 
							if (cs_stat < 2)
 | 
				
			||||||
 | 
								len++;
 | 
				
			||||||
 | 
						}
 | 
				
			||||||
 | 
						return len;
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					unsigned char *
 | 
				
			||||||
 | 
					pg_mbsinc(const unsigned char *current )
 | 
				
			||||||
 | 
					{
 | 
				
			||||||
 | 
						int mb_stat = 0;
 | 
				
			||||||
 | 
						if (*current != 0)
 | 
				
			||||||
 | 
						{
 | 
				
			||||||
 | 
							mb_stat = (int) pg_CS_stat(mb_stat, *current, PG_CCSC);
 | 
				
			||||||
 | 
							if (mb_stat == 0)
 | 
				
			||||||
 | 
								mb_stat = 1;
 | 
				
			||||||
 | 
							return ((unsigned char *) current + mb_stat);
 | 
				
			||||||
 | 
						}
 | 
				
			||||||
 | 
						else
 | 
				
			||||||
 | 
							return NULL;
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					void
 | 
				
			||||||
 | 
					CC_lookup_characterset(ConnectionClass *self)
 | 
				
			||||||
 | 
					{
 | 
				
			||||||
 | 
						HSTMT		hstmt;
 | 
				
			||||||
 | 
						StatementClass *stmt;
 | 
				
			||||||
 | 
						RETCODE		result;
 | 
				
			||||||
 | 
						static char *func = "CC_lookup_characterset";
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
						mylog("%s: entering...\n", func);
 | 
				
			||||||
 | 
						PG_SCSS = malloc(MAX_CHARACTERSET_NAME);
 | 
				
			||||||
 | 
						PG_CCSS = malloc(MAX_CHARACTERSET_NAME);
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
						result = PGAPI_AllocStmt(self, &hstmt);
 | 
				
			||||||
 | 
						if ((result != SQL_SUCCESS) && (result != SQL_SUCCESS_WITH_INFO))
 | 
				
			||||||
 | 
							return;
 | 
				
			||||||
 | 
						stmt = (StatementClass *) hstmt;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
						result = PGAPI_ExecDirect(hstmt, "Show Client_Encoding", SQL_NTS);
 | 
				
			||||||
 | 
						if ((result != SQL_SUCCESS) && (result != SQL_SUCCESS_WITH_INFO))
 | 
				
			||||||
 | 
						{
 | 
				
			||||||
 | 
							PGAPI_FreeStmt(hstmt, SQL_DROP);
 | 
				
			||||||
 | 
							return;
 | 
				
			||||||
 | 
						}
 | 
				
			||||||
 | 
						result = PGAPI_AllocStmt(self, &hstmt);
 | 
				
			||||||
 | 
						if ((result != SQL_SUCCESS) && (result != SQL_SUCCESS_WITH_INFO))
 | 
				
			||||||
 | 
							return;
 | 
				
			||||||
 | 
						stmt = (StatementClass *) hstmt;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
						result = PGAPI_ExecDirect(hstmt, "Show Server_Encoding", SQL_NTS);
 | 
				
			||||||
 | 
						if ((result != SQL_SUCCESS) && (result != SQL_SUCCESS_WITH_INFO))
 | 
				
			||||||
 | 
						{
 | 
				
			||||||
 | 
							PGAPI_FreeStmt(hstmt, SQL_DROP);
 | 
				
			||||||
 | 
							return;
 | 
				
			||||||
 | 
						}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
						strcpy(PG_SCSS , pg_CS_name(PG_SCSC = pg_CS_code(PG_SCSS)));
 | 
				
			||||||
 | 
						strcpy(PG_CCSS , pg_CS_name(PG_CCSC = pg_CS_code(PG_CCSS)));
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
						qlog("    [ Server encoding = '%s' (code = %d), Client encoding = '%s' (code = %d) ]\n", PG_SCSS, PG_SCSC, PG_CCSS, PG_CCSC);
 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -11,29 +11,77 @@
 | 
				
			|||||||
#define EUC_CN				2	/* EUC for Chinese */
 | 
					#define EUC_CN				2	/* EUC for Chinese */
 | 
				
			||||||
#define EUC_KR				3	/* EUC for Korean */
 | 
					#define EUC_KR				3	/* EUC for Korean */
 | 
				
			||||||
#define EUC_TW				4	/* EUC for Taiwan */
 | 
					#define EUC_TW				4	/* EUC for Taiwan */
 | 
				
			||||||
#define UNICODE				5	/* Unicode UTF-8 */
 | 
					#define JOHAB				5
 | 
				
			||||||
#define MULE_INTERNAL		6	/* Mule internal code */
 | 
					#define UTF8				6	/* Unicode UTF-8 */
 | 
				
			||||||
#define LATIN1				7	/* ISO-8859 Latin 1 */
 | 
					#define MULE_INTERNAL		7	/* Mule internal code */
 | 
				
			||||||
#define LATIN2				8	/* ISO-8859 Latin 2 */
 | 
					#define LATIN1				8	/* ISO-8859 Latin 1 */
 | 
				
			||||||
#define LATIN3				9	/* ISO-8859 Latin 3 */
 | 
					#define LATIN2				9	/* ISO-8859 Latin 2 */
 | 
				
			||||||
#define LATIN4				10	/* ISO-8859 Latin 4 */
 | 
					#define LATIN3				10	/* ISO-8859 Latin 3 */
 | 
				
			||||||
#define LATIN5				11	/* ISO-8859 Latin 5 */
 | 
					#define LATIN4				11	/* ISO-8859 Latin 4 */
 | 
				
			||||||
#define LATIN6				12	/* ISO-8859 Latin 6 */
 | 
					#define LATIN5				12	/* ISO-8859 Latin 5 */
 | 
				
			||||||
#define LATIN7				13	/* ISO-8859 Latin 7 */
 | 
					#define LATIN6				13	/* ISO-8859 Latin 6 */
 | 
				
			||||||
#define LATIN8				14	/* ISO-8859 Latin 8 */
 | 
					#define LATIN7				14	/* ISO-8859 Latin 7 */
 | 
				
			||||||
#define LATIN9				15	/* ISO-8859 Latin 9 */
 | 
					#define LATIN8				15	/* ISO-8859 Latin 8 */
 | 
				
			||||||
#define KOI8				16	/* KOI8-R/U */
 | 
					#define LATIN9				16	/* ISO-8859 Latin 9 */
 | 
				
			||||||
#define WIN					17	/* windows-1251 */
 | 
					#define LATIN10				17	/* ISO-8859 Latin 10 */
 | 
				
			||||||
#define ALT					18	/* Alternativny Variant (MS-DOS CP866) */
 | 
					#define WIN1256				18	/* Arabic Windows */
 | 
				
			||||||
#define SJIS				32	/* Shift JIS */
 | 
					#define TCVN				19	/* Vietnamese Windows */
 | 
				
			||||||
#define BIG5				33	/* Big5 */
 | 
					#define WIN874				20	/* Thai Windows */
 | 
				
			||||||
#define WIN1250				34	/* windows-1250 */
 | 
					#define KOI8R				21	/* KOI8-R/U */
 | 
				
			||||||
 | 
					#define WIN1251				22	/* windows-1251 */
 | 
				
			||||||
 | 
					#define ALT					23	/* Alternativny Variant (MS-DOS CP866) */
 | 
				
			||||||
 | 
					#define ISO_8859_5			24	/* ISO-8859-5 */
 | 
				
			||||||
 | 
					#define ISO_8859_6			25	/* ISO-8859-6 */
 | 
				
			||||||
 | 
					#define ISO_8859_7			26	/* ISO-8859-7 */
 | 
				
			||||||
 | 
					#define ISO_8859_8			27	/* ISO-8859-8 */
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					#define SJIS				28	/* Shift JIS */
 | 
				
			||||||
 | 
					#define BIG5				29	/* Big5 */
 | 
				
			||||||
 | 
					#define GBK					30	/* GBK */
 | 
				
			||||||
 | 
					#define UHC					31  /* UHC */
 | 
				
			||||||
 | 
					#define WIN1250				32	/* windows-1250 */
 | 
				
			||||||
 | 
					#define OTHER				-1
 | 
				
			||||||
 | 
					
 | 
				
			||||||
extern int	multibyte_client_encoding;	/* Multibyte client encoding. */
 | 
					#define MAX_CHARACTERSET_NAME	24
 | 
				
			||||||
extern int	multibyte_status;	/* Multibyte charcter status. */
 | 
					#define MAX_CHARACTER_LEN	6
 | 
				
			||||||
 | 
					
 | 
				
			||||||
void		multibyte_init(void);
 | 
					/* OLD Type */
 | 
				
			||||||
unsigned char *check_client_encoding(unsigned char *str);
 | 
					// extern int	multibyte_client_encoding;	/* Multibyte client encoding. */
 | 
				
			||||||
int			multibyte_char_check(unsigned char s);
 | 
					// extern int	multibyte_status;	/* Multibyte charcter status. */
 | 
				
			||||||
unsigned char *multibyte_strchr(const unsigned char *s, unsigned char c);
 | 
					//
 | 
				
			||||||
 | 
					// void		multibyte_init(void);
 | 
				
			||||||
 | 
					// unsigned char *check_client_encoding(unsigned char *sql_string);
 | 
				
			||||||
 | 
					// int			multibyte_char_check(unsigned char s);
 | 
				
			||||||
 | 
					// unsigned char *multibyte_strchr(const unsigned char *string, unsigned int c);
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					/* New Type */
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					extern int PG_CCST;				/* Client Character StaTus */
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					extern int PG_SCSC;				/* Server Character Set (Code) */
 | 
				
			||||||
 | 
					extern int PG_CCSC;				/* Client Character Set (Code) */
 | 
				
			||||||
 | 
					extern unsigned char *PG_SCSS;	/* Server Character Set (String) */
 | 
				
			||||||
 | 
					extern unsigned char *PG_CCSS;	/* Client Character Set (String) */
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					extern void CC_lookup_characterset(ConnectionClass *self);
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					extern int pg_CS_stat(int stat,unsigned int charcter,int characterset_code);
 | 
				
			||||||
 | 
					extern int pg_CS_code(const unsigned char *stat_string);
 | 
				
			||||||
 | 
					extern unsigned char *pg_CS_name(const int code);
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					typedef struct pg_CS
 | 
				
			||||||
 | 
					{
 | 
				
			||||||
 | 
						unsigned char *name;
 | 
				
			||||||
 | 
						int code;
 | 
				
			||||||
 | 
					}pg_CS;
 | 
				
			||||||
 | 
					extern pg_CS CS_Table[];
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					extern int pg_mbslen(const unsigned char *string);
 | 
				
			||||||
 | 
					extern unsigned char *pg_mbschr(const unsigned char *string, unsigned int character);
 | 
				
			||||||
 | 
					extern unsigned char *pg_mbsinc( const unsigned char *current );
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					/* Old Type Compatible */
 | 
				
			||||||
 | 
					#define multibyte_init() (PG_CCST = 0)
 | 
				
			||||||
 | 
					#define multibyte_char_check(X) pg_CS_stat(PG_CCST, (unsigned int) X, PG_CCSC)
 | 
				
			||||||
 | 
					#define multibyte_strchr(X,Y) pg_mbschr(X,Y)
 | 
				
			||||||
 | 
					#define check_client_encoding(X) pg_CS_name(PG_CCSC = pg_CS_code(X))
 | 
				
			||||||
 
 | 
				
			|||||||
		Reference in New Issue
	
	Block a user