nkf-2.1.5/000755 001751 001751 00000000000 13405143432 012776 5ustar00naruseusers000000 000000 nkf-2.1.5/nkf32.h000755 001751 001751 00000007544 13405143432 014107 0ustar00naruseusers000000 000000 #ifndef NKF32_H #ifndef CLASS_DECLSPEC /* dll __declspec(dllexport) */ /* app __declspec(dllimport) */ #define CLASS_DECLSPEC #endif #ifndef LPSTR #include #endif #ifdef __cplusplus extern "C" { #endif /* __cplusplus */ #ifdef __BORLANDC__ #pragma argsused #endif /*__BORLANDC__*/ /* uminchu nkf32103a.lzh 1.00 */ void CALLBACK CLASS_DECLSPEC GetNkfVersion(LPSTR verStr); int CALLBACK CLASS_DECLSPEC SetNkfOption(LPSTR optStr); void CALLBACK CLASS_DECLSPEC NkfConvert(LPSTR outStr, LPCSTR inStr); /* uminchu nkf32103a.lzh 1.02 */ void CALLBACK CLASS_DECLSPEC ToHankaku(LPSTR inStr); void CALLBACK CLASS_DECLSPEC ToZenkakuKana(LPSTR outStr ,LPCSTR inStr); /* uminchu nkf32103a.lzh 1.03 */ void CALLBACK CLASS_DECLSPEC EncodeSubject(LPSTR outStr ,LPCSTR inStr); /* tkaneto nkf32204.zip 2.0.4.0 */ #ifdef TOMIME void CALLBACK CLASS_DECLSPEC ToMime(LPSTR outStr ,LPCSTR inStr); #endif /*TOMIME*/ #ifdef GETKANJICODE int CALLBACK CLASS_DECLSPEC NkfGetKanjiCode(VOID); #endif /*GETKANJICODE*/ #ifdef FILECONVERT1 void CALLBACK CLASS_DECLSPEC NkfFileConvert1(LPCSTR fName); #endif /*FILECONVERT1*/ #ifdef FILECONVERT2 void CALLBACK CLASS_DECLSPEC NkfFileConvert2(LPCSTR fInName,LPCSTR fOutName); #endif /*FILECONVERT2*/ #ifndef NKF32103A /* safe */ BOOL WINAPI CLASS_DECLSPEC GetNkfVersionSafeA(LPSTR verStr,DWORD nBufferLength /*in TCHARs*/,LPDWORD lpTCHARsReturned /*in TCHARs*/); BOOL WINAPI CLASS_DECLSPEC NkfConvertSafe(LPSTR outStr,DWORD nOutBufferLength /*in Bytes*/,LPDWORD lpBytesReturned /*in Bytes*/, LPCSTR inStr,DWORD nInBufferLength /*in Bytes*/); BOOL WINAPI CLASS_DECLSPEC ToZenkakuKanaSafe(LPSTR outStr,DWORD nOutBufferLength /*in Bytes*/,LPDWORD lpBytesReturned /*in Bytes*/,LPCSTR inStr,DWORD nInBufferLength /*in Bytes*/); BOOL WINAPI CLASS_DECLSPEC ToHankakuSafe(LPSTR outStr,DWORD nOutBufferLength /*in Bytes*/,LPDWORD lpBytesReturned /*in Bytes*/,LPCSTR inStr,DWORD nInBufferLength /*in Bytes*/); BOOL WINAPI CLASS_DECLSPEC EncodeSubjectSafe(LPSTR outStr,DWORD nOutBufferLength /*in Bytes*/,LPDWORD lpBytesReturned /*in Bytes*/,LPCSTR inStr,DWORD nInBufferLength /*in Bytes*/); BOOL WINAPI CLASS_DECLSPEC NkfFileConvert1SafeA(LPCSTR fName,DWORD nBufferLength /*in TCHARs*/); BOOL WINAPI CLASS_DECLSPEC NkfFileConvert2SafeA(LPCSTR fInName,DWORD fInBufferLength /*in TCHARs*/,LPCSTR fOutName,DWORD fOutBufferLength /*in TCHARs*/); BOOL WINAPI CLASS_DECLSPEC GetNkfGuessA(LPSTR outStr,DWORD nBufferLength /*in TCHARs*/,LPDWORD lpTCHARsReturned /*in TCHARs*/); BOOL WINAPI CLASS_DECLSPEC GetNkfVersionSafeW(LPWSTR verStr,DWORD nBufferLength /*in TCHARs*/,LPDWORD lpTCHARsReturned /*in TCHARs*/); BOOL WINAPI CLASS_DECLSPEC NkfFileConvert1SafeW(LPCWSTR fName,DWORD nBufferLength /*in TCHARs*/); BOOL WINAPI CLASS_DECLSPEC NkfFileConvert2SafeW(LPCWSTR fInName,DWORD fInBufferLength /*in TCHARs*/,LPCWSTR fOutName,DWORD fOutBufferLength /*in TCHARs*/); BOOL WINAPI CLASS_DECLSPEC GetNkfGuessW(LPWSTR outStr,DWORD nBufferLength /*in TCHARs*/,LPDWORD lpTCHARsReturned /*in TCHARs*/); BOOL WINAPI CLASS_DECLSPEC GetNkfSupportFunctions(void *outStr,DWORD nBufferLength /*in Bytes*/,LPDWORD lpBytesReturned /*in Bytes*/); BOOL WINAPI CLASS_DECLSPEC NkfUsage(LPSTR outStr,DWORD nBufferLength /*in Bytes*/,LPDWORD lpBytesReturned /*in Bytes*/); #ifdef UNICODE #define GetNkfVersionSafe GetNkfVersionSafeW #define GetNkfGuess GetNkfGuessW #define NkfFileConvert1Safe NkfFileConvert1SafeW #define NkfFileConvert2Safe NkfFileConvert2SafeW #else /*UNICODE*/ #define GetNkfVersionSafe GetNkfVersionSafeA #define GetNkfGuess GetNkfGuessA #define NkfFileConvert1Safe NkfFileConvert1SafeA #define NkfFileConvert2Safe NkfFileConvert2SafeA #endif /*UNICODE*/ struct NKFSUPPORTFUNCTIONS { DWORD size; LPCSTR copyrightA; LPCSTR versionA; LPCSTR dateA; DWORD functions; }; void reinitdll(void); #endif /*!defined(NKF32103A)*/ #ifdef __cplusplus } // Balance extern "C" above #endif /*__cplusplus*/ #endif nkf-2.1.5/.gitignore000644 001751 001751 00000000203 13405143432 014761 0ustar00naruseusers000000 000000 nkf nkf.exe nkf.in nkf.out nkf-* *~ *.o *.bad *.swp NKF.mod/Makefile NKF.mod/NKF.bs NKF.mod/NKF.c NKF.mod/blib/ NKF.mod/pm_to_blib nkf-2.1.5/Makefile000644 001751 001751 00000003560 13405143432 014442 0ustar00naruseusers000000 000000 CC = cc CFLAGS = -g -O2 -Wall -pedantic # CFLAGS = -O3 SHAR = shar # SHAR = shar -T PERL = perl RM = rm -rf VERSION = 2.1.5 MKDIR = mkdir prefix = /usr/local PYTHON2 = python PYTHON3 = python .PHONY: clean install test tar shar nkf : nkf.o utf8tbl.o $(CC) $(CFLAGS) $(LDFLAGS) -o nkf nkf.o utf8tbl.o nkf.o : nkf.c nkf.h utf8tbl.h config.h $(CC) $(CFLAGS) -c nkf.c utf8tbl.o : utf8tbl.c utf8tbl.h config.h $(CC) $(CFLAGS) -c utf8tbl.c clean: -$(RM) nkf.o nkf nkf.exe nkf.in nkf.out nkf-$(VERSION) *~ *.bad utf8tbl.o cd NKF.mod; if [ -f Makefile ]; then make clean; fi test: nkf $(PERL) test.pl perl: ( cd NKF.mod ; \ $(PERL) Makefile.PL ; \ make ; \ make test ) python2: ( cd NKF.python2 ; \ $(PYTHON2) setup.py build ) python3: ( cd NKF.python3 ; \ $(PYTHON3) setup.py build ) install: install-main install-man install-man-ja install-main: -$(MKDIR) $(prefix)/bin cp -f nkf $(prefix)/bin/ install-man: -$(MKDIR) $(prefix)/man -$(MKDIR) $(prefix)/man/man1 cp -f nkf.1 $(prefix)/man/man1/ install-man-ja: -$(MKDIR) $(prefix)/man/ja -$(MKDIR) $(prefix)/man/ja/man1 cp -f nkf.1j $(prefix)/man/ja/man1/nkf.1 shar: -mkdir nkf-$(VERSION) -mkdir nkf-$(VERSION)/NKF.mod for file in `cat MANIFEST`; \ do \ nkf -j -m0 $$file > nkf-$(VERSION)/$$file ; \ done echo "#!/bin/sh" >nkf-$(VERSION).shar echo "mkdir nkf-$(VERSION)" >>nkf-$(VERSION).shar echo "mkdir nkf-$(VERSION)/NKF.mod" >>nkf-$(VERSION).shar echo "cd nkf-$(VERSION)" >>nkf-$(VERSION).shar ( cd nkf-$(VERSION) ; $(SHAR) `cat ../MANIFEST` ) >> nkf-$(VERSION).shar -$(RM) nkf-$(VERSION) tar: -mkdir nkf-$(VERSION) -mkdir nkf-$(VERSION)/NKF.mod -mkdir nkf-$(VERSION)/NKF.python2 -mkdir nkf-$(VERSION)/NKF.python3 -mkdir nkf-$(VERSION)/man for file in `cat MANIFEST`; \ do \ cp $$file nkf-$(VERSION)/$$file ; \ done tar cf nkf-$(VERSION).tar nkf-$(VERSION) -$(RM) nkf-$(VERSION) nkf-2.1.5/nkf.1000644 001751 001751 00000034606 13405143432 013647 0ustar00naruseusers000000 000000 .\" Automatically generated by Pod::Man 4.09 (Pod::Simple 3.35) .\" .\" Standard preamble: .\" ======================================================================== .de Sp \" Vertical space (when we can't use .PP) .if t .sp .5v .if n .sp .. .de Vb \" Begin verbatim text .ft CW .nf .ne \\$1 .. .de Ve \" End verbatim text .ft R .fi .. .\" Set up some character translations and predefined strings. \*(-- will .\" give an unbreakable dash, \*(PI will give pi, \*(L" will give a left .\" double quote, and \*(R" will give a right double quote. \*(C+ will .\" give a nicer C++. Capital omega is used to do unbreakable dashes and .\" therefore won't be available. \*(C` and \*(C' expand to `' in nroff, .\" nothing in troff, for use with C<>. .tr \(*W- .ds C+ C\v'-.1v'\h'-1p'\s-2+\h'-1p'+\s0\v'.1v'\h'-1p' .ie n \{\ . ds -- \(*W- . ds PI pi . if (\n(.H=4u)&(1m=24u) .ds -- \(*W\h'-12u'\(*W\h'-12u'-\" diablo 10 pitch . if (\n(.H=4u)&(1m=20u) .ds -- \(*W\h'-12u'\(*W\h'-8u'-\" diablo 12 pitch . ds L" "" . ds R" "" . ds C` "" . ds C' "" 'br\} .el\{\ . ds -- \|\(em\| . ds PI \(*p . ds L" `` . ds R" '' . ds C` . ds C' 'br\} .\" .\" Escape single quotes in literal strings from groff's Unicode transform. .ie \n(.g .ds Aq \(aq .el .ds Aq ' .\" .\" If the F register is >0, we'll generate index entries on stderr for .\" titles (.TH), headers (.SH), subsections (.SS), items (.Ip), and index .\" entries marked with X<> in POD. Of course, you'll have to process the .\" output yourself in some meaningful fashion. .\" .\" Avoid warning from groff about undefined register 'F'. .de IX .. .if !\nF .nr F 0 .if \nF>0 \{\ . de IX . tm Index:\\$1\t\\n%\t"\\$2" .. . if !\nF==2 \{\ . nr % 0 . nr F 2 . \} .\} .\" .\" Accent mark definitions (@(#)ms.acc 1.5 88/02/08 SMI; from UCB 4.2). .\" Fear. Run. Save yourself. No user-serviceable parts. . \" fudge factors for nroff and troff .if n \{\ . ds #H 0 . ds #V .8m . ds #F .3m . ds #[ \f1 . ds #] \fP .\} .if t \{\ . ds #H ((1u-(\\\\n(.fu%2u))*.13m) . ds #V .6m . ds #F 0 . ds #[ \& . ds #] \& .\} . \" simple accents for nroff and troff .if n \{\ . ds ' \& . ds ` \& . ds ^ \& . ds , \& . ds ~ ~ . ds / .\} .if t \{\ . ds ' \\k:\h'-(\\n(.wu*8/10-\*(#H)'\'\h"|\\n:u" . ds ` \\k:\h'-(\\n(.wu*8/10-\*(#H)'\`\h'|\\n:u' . ds ^ \\k:\h'-(\\n(.wu*10/11-\*(#H)'^\h'|\\n:u' . ds , \\k:\h'-(\\n(.wu*8/10)',\h'|\\n:u' . ds ~ \\k:\h'-(\\n(.wu-\*(#H-.1m)'~\h'|\\n:u' . ds / \\k:\h'-(\\n(.wu*8/10-\*(#H)'\z\(sl\h'|\\n:u' .\} . \" troff and (daisy-wheel) nroff accents .ds : \\k:\h'-(\\n(.wu*8/10-\*(#H+.1m+\*(#F)'\v'-\*(#V'\z.\h'.2m+\*(#F'.\h'|\\n:u'\v'\*(#V' .ds 8 \h'\*(#H'\(*b\h'-\*(#H' .ds o \\k:\h'-(\\n(.wu+\w'\(de'u-\*(#H)/2u'\v'-.3n'\*(#[\z\(de\v'.3n'\h'|\\n:u'\*(#] .ds d- \h'\*(#H'\(pd\h'-\w'~'u'\v'-.25m'\f2\(hy\fP\v'.25m'\h'-\*(#H' .ds D- D\\k:\h'-\w'D'u'\v'-.11m'\z\(hy\v'.11m'\h'|\\n:u' .ds th \*(#[\v'.3m'\s+1I\s-1\v'-.3m'\h'-(\w'I'u*2/3)'\s-1o\s+1\*(#] .ds Th \*(#[\s+2I\s-2\h'-\w'I'u*3/5'\v'-.3m'o\v'.3m'\*(#] .ds ae a\h'-(\w'a'u*4/10)'e .ds Ae A\h'-(\w'A'u*4/10)'E . \" corrections for vroff .if v .ds ~ \\k:\h'-(\\n(.wu*9/10-\*(#H)'\s-2\u~\d\s+2\h'|\\n:u' .if v .ds ^ \\k:\h'-(\\n(.wu*10/11-\*(#H)'\v'-.4m'^\v'.4m'\h'|\\n:u' . \" for low resolution devices (crt and lpr) .if \n(.H>23 .if \n(.V>19 \ \{\ . ds : e . ds 8 ss . ds o a . ds d- d\h'-1'\(ga . ds D- D\h'-1'\(hy . ds th \o'bp' . ds Th \o'LP' . ds ae ae . ds Ae AE .\} .rm #[ #] #H #V #F C .\" ======================================================================== .\" .IX Title "nkf 1" .TH nkf 1 "2018-12-15" "nkf 2.1.5" " " .\" For nroff, turn off justification. Always turn off hyphenation; it makes .\" way too many mistakes in technical documents. .if n .ad l .nh .SH "NAME" nkf \- Network Kanji Filter .SH "SYNOPSIS" .IX Header "SYNOPSIS" nkf \fB[\-butjnesliohrTVvwWJESZxXFfmMBOcdILg]\fR \fB[\fR\fIfile ...\fR\fB]\fR .SH "DESCRIPTION" .IX Header "DESCRIPTION" \&\fBNkf\fR is a yet another kanji code converter among networks, hosts and terminals. It converts input kanji code to designated kanji code such as \s-1ISO\-2022\-JP,\s0 Shift_JIS, EUC-JP, \s-1UTF\-8, UTF\-16\s0 or \s-1UTF\-32.\s0 .PP One of the most unique faculty of \fBnkf\fR is the guess of the input kanji encodings. It currently recognizes \s-1ISO\-2022\-JP,\s0 Shift_JIS, EUC-JP, \s-1UTF\-8, UTF\-16\s0 and \s-1UTF\-32.\s0 So users needn't set the input kanji code explicitly. .PP By default, X0201 kana is converted into X0208 kana. For X0201 kana, \s-1SO/SI, SSO\s0 and \s-1ESC\-\s0(\-I methods are supported. For automatic code detection, nkf assumes no X0201 kana in Shift_JIS. To accept X0201 in Shift_JIS, use \fB\-X\fR, \fB\-x\fR or \fB\-S\fR. .PP multiple options are specifed as seprate strings, such as .PP .Vb 1 \& print nkf(\*(Aq\-\-ic=UTF8\-MAC\*(Aq, \*(Aq\-w\*(Aq, $string), "\en"; .Ve .PP except the last arguments. .SH "OPTIONS" .IX Header "OPTIONS" .IP "\fB\-J \-S \-E \-W \-W16 \-W32 \-j \-s \-e \-w \-w16 \-w32\fR" 4 .IX Item "-J -S -E -W -W16 -W32 -j -s -e -w -w16 -w32" Specify input and output encodings. Upper case is input. cf. \-\-ic and \-\-oc. .RS 4 .IP "\fB\-J\fR" 4 .IX Item "-J" \&\s-1ISO\-2022\-JP\s0 (\s-1JIS\s0 code). .IP "\fB\-S\fR" 4 .IX Item "-S" Shift_JIS and \s-1JIS X 0201\s0 kana. EUC-JP is recognized as X0201 kana. Without \fB\-x\fR flag, \&\s-1JIS X 0201\s0 Katakana (a.k.a.halfwidth kana) is converted into \s-1JIS X 0208.\s0 If you use Windows, see Windows\-31J (\s-1CP932\s0). .IP "\fB\-E\fR" 4 .IX Item "-E" EUC-JP. .IP "\fB\-W\fR" 4 .IX Item "-W" \&\s-1UTF\-8N.\s0 .IP "\fB\-W16[\s-1BL\s0][0]\fR" 4 .IX Item "-W16[BL][0]" \&\s-1UTF\-16. B\s0 or L gives whether Big Endian or Little Endian. 0 gives whther put \s-1BOM\s0 or not. .IP "\fB\-W32[\s-1BL\s0][0]\fR" 4 .IX Item "-W32[BL][0]" \&\s-1UTF\-32. B\s0 or L gives whether Big Endian or Little Endian. 0 gives whther put \s-1BOM\s0 or not. .RE .RS 4 .RE .IP "\fB\-b \-u\fR" 4 .IX Item "-b -u" Output is buffered (\s-1DEFAULT\s0), Output is unbuffered. .IP "\fB\-t\fR" 4 .IX Item "-t" No conversion. .IP "\fB\-i[@B]\fR" 4 .IX Item "-i[@B]" Specify the escape sequence for \s-1JIS X 0208.\s0 .RS 4 .IP "\fB\-i@\fR" 4 .IX Item "-i@" Use \s-1ESC\s0 ( @. (\s-1JIS X 0208\-1978\s0) .IP "\fB\-iB\fR" 4 .IX Item "-iB" Use \s-1ESC\s0 ( B. (\s-1JIS X 0208\-1983/1990 DEFAULT\s0) .RE .RS 4 .RE .IP "\fB\-o[\s-1BJ\s0]\fR" 4 .IX Item "-o[BJ]" Specify the escape sequence for \s-1US\-ASCII/JIS X 0201\s0 Roman. (\s-1DEFAULT B\s0) .IP "\fB\-r\fR" 4 .IX Item "-r" {de/en}crypt \s-1ROT13/47\s0 .IP "\fB\-h[123] \-\-hiragana \-\-katakana \-\-katakana\-hiragana\fR" 4 .IX Item "-h[123] --hiragana --katakana --katakana-hiragana" .RS 4 .PD 0 .IP "\fB\-h1 \-\-hiragana\fR" 4 .IX Item "-h1 --hiragana" .PD Katakana to Hiragana conversion. .IP "\fB\-h2 \-\-katakana\fR" 4 .IX Item "-h2 --katakana" Hiragana to Katakana conversion. .IP "\fB\-h3 \-\-katakana\-hiragana\fR" 4 .IX Item "-h3 --katakana-hiragana" Katakana to Hiragana and Hiragana to Katakana conversion. .RE .RS 4 .RE .IP "\fB\-T\fR" 4 .IX Item "-T" Text mode output (MS-DOS) .IP "\fB\-f[\f(BIm\fB [\- \f(BIn\fB]]\fR" 4 .IX Item "-f[m [- n]]" Folding on \fIm\fR length with \fIn\fR margin in a line. Without this option, fold length is 60 and fold margin is 10. .IP "\fB\-F\fR" 4 .IX Item "-F" New line preserving line folding. .IP "\fB\-Z[0\-3]\fR" 4 .IX Item "-Z[0-3]" Convert X0208 alphabet (Fullwidth Alphabets) to \s-1ASCII.\s0 .RS 4 .IP "\fB\-Z \-Z0\fR" 4 .IX Item "-Z -Z0" Convert X0208 alphabet to \s-1ASCII.\s0 .IP "\fB\-Z1\fR" 4 .IX Item "-Z1" Convert X0208 kankaku to single \s-1ASCII\s0 space. .IP "\fB\-Z2\fR" 4 .IX Item "-Z2" Convert X0208 kankaku to double \s-1ASCII\s0 spaces. .IP "\fB\-Z3\fR" 4 .IX Item "-Z3" Replacing fullwidth >, <, ", & into '>', '<', '"', '&' as in \s-1HTML.\s0 .RE .RS 4 .RE .IP "\fB\-X \-x\fR" 4 .IX Item "-X -x" With \fB\-X\fR or without this option, X0201 is converted into X0208 Kana. With \fB\-x\fR, try to preserve X0208 kana and do not convert X0201 kana to X0208. In \s-1JIS\s0 output, \s-1ESC\-\s0(\-I is used. In \s-1EUC\s0 output, \s-1SS2\s0 is used. .IP "\fB\-B[0\-2]\fR" 4 .IX Item "-B[0-2]" Assume broken JIS-Kanji input, which lost \s-1ESC.\s0 Useful when your site is using old B\-News Nihongo patch. .RS 4 .IP "\fB\-B1\fR" 4 .IX Item "-B1" allows any chars after \s-1ESC\-\s0( or \s-1ESC\-$.\s0 .IP "\fB\-B2\fR" 4 .IX Item "-B2" force \s-1ASCII\s0 after \s-1NL.\s0 .RE .RS 4 .RE .IP "\fB\-I\fR" 4 .IX Item "-I" Replacing non iso\-2022\-jp char into a geta character (substitute character in Japanese). .IP "\fB\-m[\s-1BQN0\s0]\fR" 4 .IX Item "-m[BQN0]" \&\s-1MIME ISO\-2022\-JP/ISO8859\-1\s0 decode. (\s-1DEFAULT\s0) To see \s-1ISO8859\-1\s0 (Latin\-1) \-l is necessary. .RS 4 .IP "\fB\-mB\fR" 4 .IX Item "-mB" Decode \s-1MIME\s0 base64 encoded stream. Remove header or other part before conversion. .IP "\fB\-mQ\fR" 4 .IX Item "-mQ" Decode \s-1MIME\s0 quoted stream. '_' in quoted stream is converted to space. .IP "\fB\-mN\fR" 4 .IX Item "-mN" Non-strict decoding. It allows line break in the middle of the base64 encoding. .IP "\fB\-m0\fR" 4 .IX Item "-m0" No \s-1MIME\s0 decode. .RE .RS 4 .RE .IP "\fB\-M\fR" 4 .IX Item "-M" \&\s-1MIME\s0 encode. Header style. All \s-1ASCII\s0 code and control characters are intact. .RS 4 .IP "\fB\-MB\fR" 4 .IX Item "-MB" \&\s-1MIME\s0 encode Base64 stream. Kanji conversion is performed before encoding, so this cannot be used as a picture encoder. .IP "\fB\-MQ\fR" 4 .IX Item "-MQ" Perform quoted encoding. .RE .RS 4 .RE .IP "\fB\-l\fR" 4 .IX Item "-l" Input and output code is \s-1ISO8859\-1\s0 (Latin\-1) and \s-1ISO\-2022\-JP.\s0 \&\fB\-s\fR, \fB\-e\fR and \fB\-x\fR are not compatible with this option. .IP "\fB\-L[uwm] \-d \-c\fR" 4 .IX Item "-L[uwm] -d -c" Convert line breaks. .RS 4 .IP "\fB\-Lu \-d\fR" 4 .IX Item "-Lu -d" unix (\s-1LF\s0) .IP "\fB\-Lw \-c\fR" 4 .IX Item "-Lw -c" windows (\s-1CRLF\s0) .IP "\fB\-Lm\fR" 4 .IX Item "-Lm" mac (\s-1CR\s0) .Sp Without this option, nkf doesn't convert line breaks. .RE .RS 4 .RE .IP "\fB\-\-fj \-\-unix \-\-mac \-\-msdos \-\-windows\fR" 4 .IX Item "--fj --unix --mac --msdos --windows" Convert for these systems. .IP "\fB\-\-jis \-\-euc \-\-sjis \-\-mime \-\-base64\fR" 4 .IX Item "--jis --euc --sjis --mime --base64" Convert to named code. .IP "\fB\-\-jis\-input \-\-euc\-input \-\-sjis\-input \-\-mime\-input \-\-base64\-input\fR" 4 .IX Item "--jis-input --euc-input --sjis-input --mime-input --base64-input" Assume input system .IP "\fB\-\-ic=\f(BIinput codeset\fB \-\-oc=\f(BIoutput codeset\fB\fR" 4 .IX Item "--ic=input codeset --oc=output codeset" Set the input or output codeset. \&\s-1NKF\s0 supports following codesets and those codeset names are case insensitive. .RS 4 .IP "\s-1ISO\-2022\-JP\s0" 4 .IX Item "ISO-2022-JP" a.k.a. \s-1RFC1468,\s0 7bit \s-1JIS, JUNET\s0 .IP "EUC-JP (eucJP-nkf)" 4 .IX Item "EUC-JP (eucJP-nkf)" a.k.a. \s-1AT&T JIS,\s0 Japanese \s-1EUC, UJIS\s0 .IP "eucJP-ascii" 4 .IX Item "eucJP-ascii" .PD 0 .IP "eucJP-ms" 4 .IX Item "eucJP-ms" .IP "\s-1CP51932\s0" 4 .IX Item "CP51932" .PD Microsoft Version of EUC-JP. .IP "Shift_JIS" 4 .IX Item "Shift_JIS" a.k.a. \s-1SJIS,\s0 MS_Kanji .IP "Windows\-31J" 4 .IX Item "Windows-31J" a.k.a. \s-1CP932\s0 .IP "\s-1UTF\-8\s0" 4 .IX Item "UTF-8" same as \s-1UTF\-8N\s0 .IP "\s-1UTF\-8N\s0" 4 .IX Item "UTF-8N" \&\s-1UTF\-8\s0 without \s-1BOM\s0 .IP "\s-1UTF\-8\-BOM\s0" 4 .IX Item "UTF-8-BOM" \&\s-1UTF\-8\s0 with \s-1BOM\s0 .IP "\s-1UTF8\-MAC\s0 (input only)" 4 .IX Item "UTF8-MAC (input only)" decomposed \s-1UTF\-8\s0 .IP "\s-1UTF\-16\s0" 4 .IX Item "UTF-16" same as \s-1UTF\-16BE\s0 .IP "\s-1UTF\-16BE\s0" 4 .IX Item "UTF-16BE" \&\s-1UTF\-16\s0 Big Endian without \s-1BOM\s0 .IP "\s-1UTF\-16BE\-BOM\s0" 4 .IX Item "UTF-16BE-BOM" \&\s-1UTF\-16\s0 Big Endian with \s-1BOM\s0 .IP "\s-1UTF\-16LE\s0" 4 .IX Item "UTF-16LE" \&\s-1UTF\-16\s0 Little Endian without \s-1BOM\s0 .IP "\s-1UTF\-16LE\-BOM\s0" 4 .IX Item "UTF-16LE-BOM" \&\s-1UTF\-16\s0 Little Endian with \s-1BOM\s0 .IP "\s-1UTF\-32\s0" 4 .IX Item "UTF-32" same as \s-1UTF\-32BE\s0 .IP "\s-1UTF\-32BE\s0" 4 .IX Item "UTF-32BE" \&\s-1UTF\-32\s0 Big Endian without \s-1BOM\s0 .IP "\s-1UTF\-32BE\-BOM\s0" 4 .IX Item "UTF-32BE-BOM" \&\s-1UTF\-32\s0 Big Endian with \s-1BOM\s0 .IP "\s-1UTF\-32LE\s0" 4 .IX Item "UTF-32LE" \&\s-1UTF\-32\s0 Little Endian without \s-1BOM\s0 .IP "\s-1UTF\-32LE\-BOM\s0" 4 .IX Item "UTF-32LE-BOM" \&\s-1UTF\-32\s0 Little Endian with \s-1BOM\s0 .RE .RS 4 .RE .IP "\fB\-\-fb\-{skip, html, xml, perl, java, subchar}\fR" 4 .IX Item "--fb-{skip, html, xml, perl, java, subchar}" Specify the way that nkf handles unassigned characters. Without this option, \-\-fb\-skip is assumed. .IP "\fB\-\-prefix=\f(BIescape character\fB\f(BItarget character\fB..\fR" 4 .IX Item "--prefix=escape charactertarget character.." When nkf converts to Shift_JIS, nkf adds a specified escape character to specified 2nd byte of Shift_JIS characters. 1st byte of argument is the escape character and following bytes are target characters. .IP "\fB\-\-no\-cp932ext\fR" 4 .IX Item "--no-cp932ext" Handle the characters extended in \s-1CP932\s0 as unassigned characters. .IP "\fB\-\-no\-best\-fit\-chars\fR" 4 .IX Item "--no-best-fit-chars" When Unicode to Encoded byte conversion, don't convert characters which is not round trip safe. When Unicode to Unicode conversion, with this and \-x option, nkf can be used as \s-1UTF\s0 converter. (In other words, without this and \-x option, nkf doesn't save some characters) .Sp When nkf converts strings that related to path, you should use this opion. .IP "\fB\-\-cap\-input\fR" 4 .IX Item "--cap-input" Decode hex encoded characters. .IP "\fB\-\-url\-input\fR" 4 .IX Item "--url-input" Unescape percent escaped characters. .IP "\fB\-\-numchar\-input\fR" 4 .IX Item "--numchar-input" Decode character reference, such as \*(L"&#....;\*(R". .IP "\fB\-\-in\-place[=\fR\fI\s-1SUFFIX\s0\fR\fB]\fR \fB\-\-overwrite[=\fR\fI\s-1SUFFIX\s0\fR\fB]\fR" 4 .IX Item "--in-place[=SUFFIX] --overwrite[=SUFFIX]" Overwrite \fBoriginal\fR listed files by filtered result. .Sp \&\fBNote\fR \-\-overwrite preserves timestamps of original files. .IP "\fB\-\-guess=[12]\fR" 4 .IX Item "--guess=[12]" Print guessed encoding and newline. (2 is default, 1 is only encoding) .IP "\fB\-\-help\fR" 4 .IX Item "--help" Print nkf's help. .IP "\fB\-\-version\fR" 4 .IX Item "--version" Print nkf's version. .IP "\fB\-\-\fR" 4 .IX Item "--" Ignore rest of \-option. .SH "AUTHOR" .IX Header "AUTHOR" Copyright (c) 1987, Fujitsu \s-1LTD.\s0 (Itaru \s-1ICHIKAWA\s0). .PP Copyright (c) 1996\-2018, The nkf Project. nkf-2.1.5/INSTALL000644 001751 001751 00000001015 13405143432 014024 0ustar00naruseusers000000 000000 INSTALL Sun Sep 8 14:11:16 JST 2002 See Makefile, check CC CFLAGS PERL are correct. Then do make It should work on Linux, Solaris, Mac OS X. If mkstemp is not in the library, comment out #define OVERWRITE in config.h To make Perl module, do make perl it creates NKF.mod. Or you can perform standard perl Makefile.PL; make in NKF.mod. It should work above Perl 5. Perl 5.6 or Perl 5.8 is checked. You can do test, make test both in here and NKF.mod. Shinji KONO kono@ie.u-ryukyu.ac.jp nkf-2.1.5/man/000755 001751 001751 00000000000 13405143432 013551 5ustar00naruseusers000000 000000 nkf-2.1.5/NKF.mod/000755 001751 001751 00000000000 13405143432 014172 5ustar00naruseusers000000 000000 nkf-2.1.5/make_test.pl000644 001751 001751 00000001106 13405143432 015305 0ustar00naruseusers000000 000000 #!/usr/bin/perl while ( ) { $file = $_; $test = $file; $test =~ s/\.cmd$//; $out = $test.".out"; $out = `cat $out`; $in = $test.".in"; $in = `cat $in`; $opt = `cat $file`; chomp($opt); $inpack = pack('u',$in); chomp($inpack); $outpack = pack('u',$out); chomp($outpack); print << "EOFEOF"; # $test \$example{'$test'} = unpack('u',<<'eofeof'); $inpack eofeof \$example{'$test.ans'} = unpack('u',<<'eofeof'); $outpack eofeof printf "%-40s", "$test "; \&test("\$nkf $opt",\$example{'$test'},\$example{'$test.ans'}); EOFEOF } nkf-2.1.5/utf8tbl.c000644 001751 001751 00003156336 13405143432 014553 0ustar00naruseusers000000 000000 /* * utf8tbl.c - Convertion Table for nkf * */ #include "config.h" #include "utf8tbl.h" #ifdef UTF8_OUTPUT_ENABLE static const unsigned short euc_to_utf8_A1[] = { 0x3000, 0x3001, 0x3002, 0xFF0C, 0xFF0E, 0x30FB, 0xFF1A, 0xFF1B, 0xFF1F, 0xFF01, 0x309B, 0x309C, 0x00B4, 0xFF40, 0x00A8, 0xFF3E, 0x203E, 0xFF3F, 0x30FD, 0x30FE, 0x309D, 0x309E, 0x3003, 0x4EDD, 0x3005, 0x3006, 0x3007, 0x30FC, 0x2014, 0x2010, 0xFF0F, 0xFF3C, 0x301C, 0x2016, 0xFF5C, 0x2026, 0x2025, 0x2018, 0x2019, 0x201C, 0x201D, 0xFF08, 0xFF09, 0x3014, 0x3015, 0xFF3B, 0xFF3D, 0xFF5B, 0xFF5D, 0x3008, 0x3009, 0x300A, 0x300B, 0x300C, 0x300D, 0x300E, 0x300F, 0x3010, 0x3011, 0xFF0B, 0x2212, 0x00B1, 0x00D7, 0x00F7, 0xFF1D, 0x2260, 0xFF1C, 0xFF1E, 0x2266, 0x2267, 0x221E, 0x2234, 0x2642, 0x2640, 0x00B0, 0x2032, 0x2033, 0x2103, 0x00A5, 0xFF04, 0x00A2, 0x00A3, 0xFF05, 0xFF03, 0xFF06, 0xFF0A, 0xFF20, 0x00A7, 0x2606, 0x2605, 0x25CB, 0x25CF, 0x25CE, 0x25C7, }; /* Microsoft UCS Mapping Compatible */ static const unsigned short euc_to_utf8_A1_ms[] = { 0x3000, 0x3001, 0x3002, 0xFF0C, 0xFF0E, 0x30FB, 0xFF1A, 0xFF1B, 0xFF1F, 0xFF01, 0x309B, 0x309C, 0x00B4, 0xFF40, 0x00A8, 0xFF3E, 0xFFE3, 0xFF3F, 0x30FD, 0x30FE, 0x309D, 0x309E, 0x3003, 0x4EDD, 0x3005, 0x3006, 0x3007, 0x30FC, 0x2015, 0x2010, 0xFF0F, 0xFF3C, 0xFF5E, 0x2225, 0xFF5C, 0x2026, 0x2025, 0x2018, 0x2019, 0x201C, 0x201D, 0xFF08, 0xFF09, 0x3014, 0x3015, 0xFF3B, 0xFF3D, 0xFF5B, 0xFF5D, 0x3008, 0x3009, 0x300A, 0x300B, 0x300C, 0x300D, 0x300E, 0x300F, 0x3010, 0x3011, 0xFF0B, 0xFF0D, 0x00B1, 0x00D7, 0x00F7, 0xFF1D, 0x2260, 0xFF1C, 0xFF1E, 0x2266, 0x2267, 0x221E, 0x2234, 0x2642, 0x2640, 0x00B0, 0x2032, 0x2033, 0x2103, 0xFFE5, 0xFF04, 0xFFE0, 0xFFE1, 0xFF05, 0xFF03, 0xFF06, 0xFF0A, 0xFF20, 0x00A7, 0x2606, 0x2605, 0x25CB, 0x25CF, 0x25CE, 0x25C7, }; static const unsigned short euc_to_utf8_A2[] = { 0x25C6, 0x25A1, 0x25A0, 0x25B3, 0x25B2, 0x25BD, 0x25BC, 0x203B, 0x3012, 0x2192, 0x2190, 0x2191, 0x2193, 0x3013, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0x2208, 0x220B, 0x2286, 0x2287, 0x2282, 0x2283, 0x222A, 0x2229, 0, 0, 0, 0, 0, 0, 0, 0, 0x2227, 0x2228, 0x00AC, 0x21D2, 0x21D4, 0x2200, 0x2203, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0x2220, 0x22A5, 0x2312, 0x2202, 0x2207, 0x2261, 0x2252, 0x226A, 0x226B, 0x221A, 0x223D, 0x221D, 0x2235, 0x222B, 0x222C, 0, 0, 0, 0, 0, 0, 0, 0x212B, 0x2030, 0x266F, 0x266D, 0x266A, 0x2020, 0x2021, 0x00B6, 0, 0, 0, 0, 0x25EF, }; /* Microsoft UCS Mapping Compatible */ static const unsigned short euc_to_utf8_A2_ms[] = { 0x25C6, 0x25A1, 0x25A0, 0x25B3, 0x25B2, 0x25BD, 0x25BC, 0x203B, 0x3012, 0x2192, 0x2190, 0x2191, 0x2193, 0x3013, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0x2208, 0x220B, 0x2286, 0x2287, 0x2282, 0x2283, 0x222A, 0x2229, 0, 0, 0, 0, 0, 0, 0, 0, 0x2227, 0x2228, 0xFFE2, 0x21D2, 0x21D4, 0x2200, 0x2203, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0x2220, 0x22A5, 0x2312, 0x2202, 0x2207, 0x2261, 0x2252, 0x226A, 0x226B, 0x221A, 0x223D, 0x221D, 0x2235, 0x222B, 0x222C, 0, 0, 0, 0, 0, 0, 0, 0x212B, 0x2030, 0x266F, 0x266D, 0x266A, 0x2020, 0x2021, 0x00B6, 0, 0, 0, 0, 0x25EF, }; static const unsigned short euc_to_utf8_A2_x0213[] = { 0x25C6, 0x25A1, 0x25A0, 0x25B3, 0x25B2, 0x25BD, 0x25BC, 0x203B, 0x3012, 0x2192, 0x2190, 0x2191, 0x2193, 0x3013, 0xFF07, 0xFF02, 0xFF0D, 0xFF5E, 0x3033, 0x3034, 0x3035, 0x303B, 0x303C, 0x30FF, 0x309F, 0x2208, 0x220B, 0x2286, 0x2287, 0x2282, 0x2283, 0x222A, 0x2229, 0x2284, 0x2285, 0x228A, 0x228B, 0x2209, 0x2205, 0x2305, 0x2306, 0x2227, 0x2228, 0x00AC, 0x21D2, 0x21D4, 0x2200, 0x2203, 0x2295, 0x2296, 0x2297, 0x2225, 0x2226, 0xFF5F, 0xFF60, 0x3018, 0x3019, 0x3016, 0x3017, 0x2220, 0x22A5, 0x2312, 0x2202, 0x2207, 0x2261, 0x2252, 0x226A, 0x226B, 0x221A, 0x223D, 0x221D, 0x2235, 0x222B, 0x222C, 0x2262, 0x2243, 0x2245, 0x2248, 0x2276, 0x2277, 0x2194, 0x212B, 0x2030, 0x266F, 0x266D, 0x266A, 0x2020, 0x2021, 0x00B6, 0x266E, 0x266B, 0x266C, 0x2669, 0x25EF, }; static const unsigned short euc_to_utf8_A3[] = { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0xFF10, 0xFF11, 0xFF12, 0xFF13, 0xFF14, 0xFF15, 0xFF16, 0xFF17, 0xFF18, 0xFF19, 0, 0, 0, 0, 0, 0, 0, 0xFF21, 0xFF22, 0xFF23, 0xFF24, 0xFF25, 0xFF26, 0xFF27, 0xFF28, 0xFF29, 0xFF2A, 0xFF2B, 0xFF2C, 0xFF2D, 0xFF2E, 0xFF2F, 0xFF30, 0xFF31, 0xFF32, 0xFF33, 0xFF34, 0xFF35, 0xFF36, 0xFF37, 0xFF38, 0xFF39, 0xFF3A, 0, 0, 0, 0, 0, 0, 0xFF41, 0xFF42, 0xFF43, 0xFF44, 0xFF45, 0xFF46, 0xFF47, 0xFF48, 0xFF49, 0xFF4A, 0xFF4B, 0xFF4C, 0xFF4D, 0xFF4E, 0xFF4F, 0xFF50, 0xFF51, 0xFF52, 0xFF53, 0xFF54, 0xFF55, 0xFF56, 0xFF57, 0xFF58, 0xFF59, 0xFF5A, 0, 0, 0, 0, }; static const unsigned short euc_to_utf8_A3_x0213[] = { 0x25B7, 0x25B6, 0x25C1, 0x25C0, 0x2197, 0x2198, 0x2196, 0x2199, 0x21C4, 0x21E8, 0x21E6, 0x21E7, 0x21E9, 0x2934, 0x2935, 0xFF10, 0xFF11, 0xFF12, 0xFF13, 0xFF14, 0xFF15, 0xFF16, 0xFF17, 0xFF18, 0xFF19, 0x29BF, 0x25C9, 0x303D, 0xFE46, 0xFE45, 0x25E6, 0x2022, 0xFF21, 0xFF22, 0xFF23, 0xFF24, 0xFF25, 0xFF26, 0xFF27, 0xFF28, 0xFF29, 0xFF2A, 0xFF2B, 0xFF2C, 0xFF2D, 0xFF2E, 0xFF2F, 0xFF30, 0xFF31, 0xFF32, 0xFF33, 0xFF34, 0xFF35, 0xFF36, 0xFF37, 0xFF38, 0xFF39, 0xFF3A, 0x2213, 0x2135, 0x210F, 0x33CB, 0x2113, 0x2127, 0xFF41, 0xFF42, 0xFF43, 0xFF44, 0xFF45, 0xFF46, 0xFF47, 0xFF48, 0xFF49, 0xFF4A, 0xFF4B, 0xFF4C, 0xFF4D, 0xFF4E, 0xFF4F, 0xFF50, 0xFF51, 0xFF52, 0xFF53, 0xFF54, 0xFF55, 0xFF56, 0xFF57, 0xFF58, 0xFF59, 0xFF5A, 0x30A0, 0x2013, 0x29FA, 0x29FB, }; static const unsigned short euc_to_utf8_A4[] = { 0x3041, 0x3042, 0x3043, 0x3044, 0x3045, 0x3046, 0x3047, 0x3048, 0x3049, 0x304A, 0x304B, 0x304C, 0x304D, 0x304E, 0x304F, 0x3050, 0x3051, 0x3052, 0x3053, 0x3054, 0x3055, 0x3056, 0x3057, 0x3058, 0x3059, 0x305A, 0x305B, 0x305C, 0x305D, 0x305E, 0x305F, 0x3060, 0x3061, 0x3062, 0x3063, 0x3064, 0x3065, 0x3066, 0x3067, 0x3068, 0x3069, 0x306A, 0x306B, 0x306C, 0x306D, 0x306E, 0x306F, 0x3070, 0x3071, 0x3072, 0x3073, 0x3074, 0x3075, 0x3076, 0x3077, 0x3078, 0x3079, 0x307A, 0x307B, 0x307C, 0x307D, 0x307E, 0x307F, 0x3080, 0x3081, 0x3082, 0x3083, 0x3084, 0x3085, 0x3086, 0x3087, 0x3088, 0x3089, 0x308A, 0x308B, 0x308C, 0x308D, 0x308E, 0x308F, 0x3090, 0x3091, 0x3092, 0x3093, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, }; static const unsigned short euc_to_utf8_A4_x0213[] = { 0x3041, 0x3042, 0x3043, 0x3044, 0x3045, 0x3046, 0x3047, 0x3048, 0x3049, 0x304A, 0x304B, 0x304C, 0x304D, 0x304E, 0x304F, 0x3050, 0x3051, 0x3052, 0x3053, 0x3054, 0x3055, 0x3056, 0x3057, 0x3058, 0x3059, 0x305A, 0x305B, 0x305C, 0x305D, 0x305E, 0x305F, 0x3060, 0x3061, 0x3062, 0x3063, 0x3064, 0x3065, 0x3066, 0x3067, 0x3068, 0x3069, 0x306A, 0x306B, 0x306C, 0x306D, 0x306E, 0x306F, 0x3070, 0x3071, 0x3072, 0x3073, 0x3074, 0x3075, 0x3076, 0x3077, 0x3078, 0x3079, 0x307A, 0x307B, 0x307C, 0x307D, 0x307E, 0x307F, 0x3080, 0x3081, 0x3082, 0x3083, 0x3084, 0x3085, 0x3086, 0x3087, 0x3088, 0x3089, 0x308A, 0x308B, 0x308C, 0x308D, 0x308E, 0x308F, 0x3090, 0x3091, 0x3092, 0x3093, 0x3094, 0x3095, 0x3096, /*0x304B*/ 0x309A, /*0x304D*/ 0x309A, /*0x304F*/ 0x309A, /*0x3051*/ 0x309A, /*0x3053*/ 0x309A, 0, 0, 0, }; static const unsigned short euc_to_utf8_A5[] = { 0x30A1, 0x30A2, 0x30A3, 0x30A4, 0x30A5, 0x30A6, 0x30A7, 0x30A8, 0x30A9, 0x30AA, 0x30AB, 0x30AC, 0x30AD, 0x30AE, 0x30AF, 0x30B0, 0x30B1, 0x30B2, 0x30B3, 0x30B4, 0x30B5, 0x30B6, 0x30B7, 0x30B8, 0x30B9, 0x30BA, 0x30BB, 0x30BC, 0x30BD, 0x30BE, 0x30BF, 0x30C0, 0x30C1, 0x30C2, 0x30C3, 0x30C4, 0x30C5, 0x30C6, 0x30C7, 0x30C8, 0x30C9, 0x30CA, 0x30CB, 0x30CC, 0x30CD, 0x30CE, 0x30CF, 0x30D0, 0x30D1, 0x30D2, 0x30D3, 0x30D4, 0x30D5, 0x30D6, 0x30D7, 0x30D8, 0x30D9, 0x30DA, 0x30DB, 0x30DC, 0x30DD, 0x30DE, 0x30DF, 0x30E0, 0x30E1, 0x30E2, 0x30E3, 0x30E4, 0x30E5, 0x30E6, 0x30E7, 0x30E8, 0x30E9, 0x30EA, 0x30EB, 0x30EC, 0x30ED, 0x30EE, 0x30EF, 0x30F0, 0x30F1, 0x30F2, 0x30F3, 0x30F4, 0x30F5, 0x30F6, 0, 0, 0, 0, 0, 0, 0, 0, }; static const unsigned short euc_to_utf8_A5_x0213[] = { 0x30A1, 0x30A2, 0x30A3, 0x30A4, 0x30A5, 0x30A6, 0x30A7, 0x30A8, 0x30A9, 0x30AA, 0x30AB, 0x30AC, 0x30AD, 0x30AE, 0x30AF, 0x30B0, 0x30B1, 0x30B2, 0x30B3, 0x30B4, 0x30B5, 0x30B6, 0x30B7, 0x30B8, 0x30B9, 0x30BA, 0x30BB, 0x30BC, 0x30BD, 0x30BE, 0x30BF, 0x30C0, 0x30C1, 0x30C2, 0x30C3, 0x30C4, 0x30C5, 0x30C6, 0x30C7, 0x30C8, 0x30C9, 0x30CA, 0x30CB, 0x30CC, 0x30CD, 0x30CE, 0x30CF, 0x30D0, 0x30D1, 0x30D2, 0x30D3, 0x30D4, 0x30D5, 0x30D6, 0x30D7, 0x30D8, 0x30D9, 0x30DA, 0x30DB, 0x30DC, 0x30DD, 0x30DE, 0x30DF, 0x30E0, 0x30E1, 0x30E2, 0x30E3, 0x30E4, 0x30E5, 0x30E6, 0x30E7, 0x30E8, 0x30E9, 0x30EA, 0x30EB, 0x30EC, 0x30ED, 0x30EE, 0x30EF, 0x30F0, 0x30F1, 0x30F2, 0x30F3, 0x30F4, 0x30F5, 0x30F6, /*0x30AB*/ 0x309A, /*0x30AD*/ 0x309A, /*0x30AF*/ 0x309A, /*0x30B1*/ 0x309A, /*0x30B3*/ 0x309A, /*0x30BB*/ 0x309A, /*0x30C4*/ 0x309A, /*0x30C8*/ 0x309A, }; static const unsigned short euc_to_utf8_A6[] = { 0x0391, 0x0392, 0x0393, 0x0394, 0x0395, 0x0396, 0x0397, 0x0398, 0x0399, 0x039A, 0x039B, 0x039C, 0x039D, 0x039E, 0x039F, 0x03A0, 0x03A1, 0x03A3, 0x03A4, 0x03A5, 0x03A6, 0x03A7, 0x03A8, 0x03A9, 0, 0, 0, 0, 0, 0, 0, 0, 0x03B1, 0x03B2, 0x03B3, 0x03B4, 0x03B5, 0x03B6, 0x03B7, 0x03B8, 0x03B9, 0x03BA, 0x03BB, 0x03BC, 0x03BD, 0x03BE, 0x03BF, 0x03C0, 0x03C1, 0x03C3, 0x03C4, 0x03C5, 0x03C6, 0x03C7, 0x03C8, 0x03C9, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, }; static const unsigned short euc_to_utf8_A6_x0213[] = { 0x0391, 0x0392, 0x0393, 0x0394, 0x0395, 0x0396, 0x0397, 0x0398, 0x0399, 0x039A, 0x039B, 0x039C, 0x039D, 0x039E, 0x039F, 0x03A0, 0x03A1, 0x03A3, 0x03A4, 0x03A5, 0x03A6, 0x03A7, 0x03A8, 0x03A9, 0x2664, 0x2660, 0x2662, 0x2666, 0x2661, 0x2665, 0x2667, 0x2663, 0x03B1, 0x03B2, 0x03B3, 0x03B4, 0x03B5, 0x03B6, 0x03B7, 0x03B8, 0x03B9, 0x03BA, 0x03BB, 0x03BC, 0x03BD, 0x03BE, 0x03BF, 0x03C0, 0x03C1, 0x03C3, 0x03C4, 0x03C5, 0x03C6, 0x03C7, 0x03C8, 0x03C9, 0x03C2, 0x24F5, 0x24F6, 0x24F7, 0x24F8, 0x24F9, 0x24FA, 0x24FB, 0x24FC, 0x24FD, 0x24FE, 0x2616, 0x2617, 0x3020, 0x260E, 0x2600, 0x2601, 0x2602, 0x2603, 0x2668, 0x25B1, 0x31F0, 0x31F1, 0x31F2, 0x31F3, 0x31F4, 0x31F5, 0x31F6, 0x31F7, 0x31F8, 0x31F9, /*0x31F7*/ 0x309A, 0x31FA, 0x31FB, 0x31FC, 0x31FD, 0x31FE, 0x31FF, }; static const unsigned short euc_to_utf8_A7[] = { 0x0410, 0x0411, 0x0412, 0x0413, 0x0414, 0x0415, 0x0401, 0x0416, 0x0417, 0x0418, 0x0419, 0x041A, 0x041B, 0x041C, 0x041D, 0x041E, 0x041F, 0x0420, 0x0421, 0x0422, 0x0423, 0x0424, 0x0425, 0x0426, 0x0427, 0x0428, 0x0429, 0x042A, 0x042B, 0x042C, 0x042D, 0x042E, 0x042F, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0x0430, 0x0431, 0x0432, 0x0433, 0x0434, 0x0435, 0x0451, 0x0436, 0x0437, 0x0438, 0x0439, 0x043A, 0x043B, 0x043C, 0x043D, 0x043E, 0x043F, 0x0440, 0x0441, 0x0442, 0x0443, 0x0444, 0x0445, 0x0446, 0x0447, 0x0448, 0x0449, 0x044A, 0x044B, 0x044C, 0x044D, 0x044E, 0x044F, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, }; static const unsigned short euc_to_utf8_A7_x0213[] = { 0x0410, 0x0411, 0x0412, 0x0413, 0x0414, 0x0415, 0x0401, 0x0416, 0x0417, 0x0418, 0x0419, 0x041A, 0x041B, 0x041C, 0x041D, 0x041E, 0x041F, 0x0420, 0x0421, 0x0422, 0x0423, 0x0424, 0x0425, 0x0426, 0x0427, 0x0428, 0x0429, 0x042A, 0x042B, 0x042C, 0x042D, 0x042E, 0x042F, 0x23BE, 0x23BF, 0x23C0, 0x23C1, 0x23C2, 0x23C3, 0x23C4, 0x23C5, 0x23C6, 0x23C7, 0x23C8, 0x23C9, 0x23CA, 0x23CB, 0x23CC, 0x0430, 0x0431, 0x0432, 0x0433, 0x0434, 0x0435, 0x0451, 0x0436, 0x0437, 0x0438, 0x0439, 0x043A, 0x043B, 0x043C, 0x043D, 0x043E, 0x043F, 0x0440, 0x0441, 0x0442, 0x0443, 0x0444, 0x0445, 0x0446, 0x0447, 0x0448, 0x0449, 0x044A, 0x044B, 0x044C, 0x044D, 0x044E, 0x044F, 0x30F7, 0x30F8, 0x30F9, 0x30FA, 0x22DA, 0x22DB, 0x2153, 0x2154, 0x2155, 0x2713, 0x2318, 0x2423, 0x23CE, }; static const unsigned short euc_to_utf8_A8[] = { 0x2500, 0x2502, 0x250C, 0x2510, 0x2518, 0x2514, 0x251C, 0x252C, 0x2524, 0x2534, 0x253C, 0x2501, 0x2503, 0x250F, 0x2513, 0x251B, 0x2517, 0x2523, 0x2533, 0x252B, 0x253B, 0x254B, 0x2520, 0x252F, 0x2528, 0x2537, 0x253F, 0x251D, 0x2530, 0x2525, 0x2538, 0x2542, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, }; static const unsigned short euc_to_utf8_A8_x0213[] = { 0x2500, 0x2502, 0x250C, 0x2510, 0x2518, 0x2514, 0x251C, 0x252C, 0x2524, 0x2534, 0x253C, 0x2501, 0x2503, 0x250F, 0x2513, 0x251B, 0x2517, 0x2523, 0x2533, 0x252B, 0x253B, 0x254B, 0x2520, 0x252F, 0x2528, 0x2537, 0x253F, 0x251D, 0x2530, 0x2525, 0x2538, 0x2542, 0x3251, 0x3252, 0x3253, 0x3254, 0x3255, 0x3256, 0x3257, 0x3258, 0x3259, 0x325A, 0x325B, 0x325C, 0x325D, 0x325E, 0x325F, 0x32B1, 0x32B2, 0x32B3, 0x32B4, 0x32B5, 0x32B6, 0x32B7, 0x32B8, 0x32B9, 0x32BA, 0x32BB, 0x32BC, 0x32BD, 0x32BE, 0x32BF, 0, 0, 0, 0, 0, 0, 0, 0, 0x25D0, 0x25D1, 0x25D2, 0x25D3, 0x203C, 0x2047, 0x2048, 0x2049, 0x01CD, 0x01CE, 0x01D0, 0x1E3E, 0x1E3F, 0x01F8, 0x01F9, 0x01D1, 0x01D2, 0x01D4, 0x01D6, 0x01D8, 0x01DA, 0x01DC, 0, 0, }; static const unsigned short euc_to_utf8_A9[] = { 0x2460, 0x2461, 0x2462, 0x2463, 0x2464, 0x2465, 0x2466, 0x2467, 0x2468, 0x2469, 0x246A, 0x246B, 0x246C, 0x246D, 0x246E, 0x246F, 0x2470, 0x2471, 0x2472, 0x2473, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0x2474, 0x2475, 0x2476, 0x2477, 0x2478, 0x2479, 0x247A, 0x247B, 0x247C, 0x247D, 0x247E, 0x247F, 0x2480, 0x2481, 0x2482, 0x2483, 0x2484, 0x2485, 0x2486, 0x2487, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0x2776, 0x2777, 0x2778, 0x2779, 0x277A, 0x277B, 0x277C, 0x277D, 0x277E, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0x2488, 0x2489, 0x248A, 0x248B, 0x248C, 0x248D, 0x248E, 0x248F, 0x2490, 0, 0, 0, 0, }; static const unsigned short euc_to_utf8_A9_x0213[] = { 0x20AC, 0x00A0, 0x00A1, 0x00A4, 0x00A6, 0x00A9, 0x00AA, 0x00AB, 0x00AD, 0x00AE, 0x00AF, 0x00B2, 0x00B3, 0x00B7, 0x00B8, 0x00B9, 0x00BA, 0x00BB, 0x00BC, 0x00BD, 0x00BE, 0x00BF, 0x00C0, 0x00C1, 0x00C2, 0x00C3, 0x00C4, 0x00C5, 0x00C6, 0x00C7, 0x00C8, 0x00C9, 0x00CA, 0x00CB, 0x00CC, 0x00CD, 0x00CE, 0x00CF, 0x00D0, 0x00D1, 0x00D2, 0x00D3, 0x00D4, 0x00D5, 0x00D6, 0x00D8, 0x00D9, 0x00DA, 0x00DB, 0x00DC, 0x00DD, 0x00DE, 0x00DF, 0x00E0, 0x00E1, 0x00E2, 0x00E3, 0x00E4, 0x00E5, 0x00E6, 0x00E7, 0x00E8, 0x00E9, 0x00EA, 0x00EB, 0x00EC, 0x00ED, 0x00EE, 0x00EF, 0x00F0, 0x00F1, 0x00F2, 0x00F3, 0x00F4, 0x00F5, 0x00F6, 0x00F8, 0x00F9, 0x00FA, 0x00FB, 0x00FC, 0x00FD, 0x00FE, 0x00FF, 0x0100, 0x012A, 0x016A, 0x0112, 0x014C, 0x0101, 0x012B, 0x016B, 0x0113, 0x014D, }; static const unsigned short euc_to_utf8_AA[] = { 0x2160, 0x2161, 0x2162, 0x2163, 0x2164, 0x2165, 0x2166, 0x2167, 0x2168, 0x2169, 0x216A, 0x216B, 0, 0, 0, 0, 0, 0, 0, 0, 0x2170, 0x2171, 0x2172, 0x2173, 0x2174, 0x2175, 0x2176, 0x2177, 0x2178, 0x2179, 0x217A, 0x217B, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0x249C, 0x249D, 0x249E, 0x249F, 0x24A0, 0x24A1, 0x24A2, 0x24A3, 0x24A4, 0x24A5, 0x24A6, 0x24A7, 0x24A8, 0x24A9, 0x24AA, 0x24AB, 0x24AC, 0x24AD, 0x24AE, 0x24AF, 0x24B0, 0x24B1, 0x24B2, 0x24B3, 0x24B4, 0x24B5, 0, 0, 0, 0, 0, 0, 0, 0, }; static const unsigned short euc_to_utf8_AA_x0213[] = { 0x0104, 0x02D8, 0x0141, 0x013D, 0x015A, 0x0160, 0x015E, 0x0164, 0x0179, 0x017D, 0x017B, 0x0105, 0x02DB, 0x0142, 0x013E, 0x015B, 0x02C7, 0x0161, 0x015F, 0x0165, 0x017A, 0x02DD, 0x017E, 0x017C, 0x0154, 0x0102, 0x0139, 0x0106, 0x010C, 0x0118, 0x011A, 0x010E, 0x0143, 0x0147, 0x0150, 0x0158, 0x016E, 0x0170, 0x0162, 0x0155, 0x0103, 0x013A, 0x0107, 0x010D, 0x0119, 0x011B, 0x010F, 0x0111, 0x0144, 0x0148, 0x0151, 0x0159, 0x016F, 0x0171, 0x0163, 0x02D9, 0x0108, 0x011C, 0x0124, 0x0134, 0x015C, 0x016C, 0x0109, 0x011D, 0x0125, 0x0135, 0x015D, 0x016D, 0x0271, 0x028B, 0x027E, 0x0283, 0x0292, 0x026C, 0x026E, 0x0279, 0x0288, 0x0256, 0x0273, 0x027D, 0x0282, 0x0290, 0x027B, 0x026D, 0x025F, 0x0272, 0x029D, 0x028E, 0x0261, 0x014B, 0x0270, 0x0281, 0x0127, 0x0295, }; static const unsigned short euc_to_utf8_AB[] = { 0x339C, 0x339F, 0x339D, 0x33A0, 0x33A4, 0, 0x33A1, 0x33A5, 0x339E, 0x33A2, 0x338E, 0, 0x338F, 0x33C4, 0x3396, 0x3397, 0x2113, 0x3398, 0x33B3, 0x33B2, 0x33B1, 0x33B0, 0x2109, 0x33D4, 0x33CB, 0x3390, 0x3385, 0x3386, 0x3387, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0x2116, 0x33CD, 0x2121, 0, }; static const unsigned short euc_to_utf8_AB_x0213[] = { 0x0294, 0x0266, 0x0298, 0x01C2, 0x0253, 0x0257, 0x0284, 0x0260, 0x0193, 0x0153, 0x0152, 0x0268, 0x0289, 0x0258, 0x0275, 0x0259, 0x025C, 0x025E, 0x0250, 0x026F, 0x028A, 0x0264, 0x028C, 0x0254, 0x0251, 0x0252, 0x028D, 0x0265, 0x02A2, 0x02A1, 0x0255, 0x0291, 0x027A, 0x0267, 0x025A, /*0x00E6*/ 0x0300, 0x01FD, 0x1F70, 0x1F71, /*0x0254*/ 0x0300, /*0x0254*/ 0x0301, /*0x028C*/ 0x0300, /*0x028C*/ 0x0301, /*0x0259*/ 0x0300, /*0x0259*/ 0x0301, /*0x025A*/ 0x0300, /*0x025A*/ 0x0301, 0x1F72, 0x1F73, 0x0361, 0x02C8, 0x02CC, 0x02D0, 0x02D1, 0x0306, 0x203F, 0x030B, /*0*/ 0x0301, 0x0304, /*0*/ 0x0300, 0x030F, 0x030C, 0x0302, /*0*/ 0x02E5, 0x02E6, 0x02E7, 0x02E8, /*0*/ 0x02E9, /*0x02E9*/ 0x02E5, /*0x02E5*/ 0x02E9, 0x0325, 0x032C, 0x0339, 0x031C, 0x031F, 0x0320, 0x0308, 0x033D, 0x0329, 0x032F, 0x02DE, 0x0324, 0x0330, 0x033C, 0x0334, 0x031D, 0x031E, 0x0318, 0x0319, 0x032A, 0x033A, 0x033B, 0x0303, 0x031A, }; static const unsigned short euc_to_utf8_AC[] = { 0x2664, 0x2667, 0x2661, 0x2662, 0x2660, 0x2663, 0x2665, 0x2666, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0x3020, 0x260E, 0x3004, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0x261E, 0x261C, 0x261D, 0x261F, 0x21C6, 0x21C4, 0x21C5, 0, 0x21E8, 0x21E6, 0x21E7, 0x21E9, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, }; static const unsigned short euc_to_utf8_AC_mac[] = { 0x2664, 0x2667, 0x2661, 0x2662, 0x2660, 0x2663, 0x2665, 0x2666, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0x3020, 0x260E, 0x3004, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0x261E, 0x261C, 0x261D, 0x261F, 0x21C6, 0x21C4, 0x21C5, 0, 0x21E8, 0x21E6, 0x21E7, 0x21E9, 0x2192, 0x2190, 0x2191, 0x2193, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, }; static const unsigned short euc_to_utf8_AC_x0213[] = { 0x2776, 0x2777, 0x2778, 0x2779, 0x277A, 0x277B, 0x277C, 0x277D, 0x277E, 0x277F, 0x24EB, 0x24EC, 0x24ED, 0x24EE, 0x24EF, 0x24F0, 0x24F1, 0x24F2, 0x24F3, 0x24F4, 0x2170, 0x2171, 0x2172, 0x2173, 0x2174, 0x2175, 0x2176, 0x2177, 0x2178, 0x2179, 0x217A, 0x217B, 0x24D0, 0x24D1, 0x24D2, 0x24D3, 0x24D4, 0x24D5, 0x24D6, 0x24D7, 0x24D8, 0x24D9, 0x24DA, 0x24DB, 0x24DC, 0x24DD, 0x24DE, 0x24DF, 0x24E0, 0x24E1, 0x24E2, 0x24E3, 0x24E4, 0x24E5, 0x24E6, 0x24E7, 0x24E8, 0x24E9, 0x32D0, 0x32D1, 0x32D2, 0x32D3, 0x32D4, 0x32D5, 0x32D6, 0x32D7, 0x32D8, 0x32D9, 0x32DA, 0x32DB, 0x32DC, 0x32DD, 0x32DE, 0x32DF, 0x32E0, 0x32E1, 0x32E2, 0x32E3, 0x32FA, 0x32E9, 0x32E5, 0x32ED, 0x32EC, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0x2051, 0x2042, }; static const unsigned short euc_to_utf8_AD[] = { 0x2460, 0x2461, 0x2462, 0x2463, 0x2464, 0x2465, 0x2466, 0x2467, 0x2468, 0x2469, 0x246A, 0x246B, 0x246C, 0x246D, 0x246E, 0x246F, 0x2470, 0x2471, 0x2472, 0x2473, 0x2160, 0x2161, 0x2162, 0x2163, 0x2164, 0x2165, 0x2166, 0x2167, 0x2168, 0x2169, 0, 0x3349, 0x3314, 0x3322, 0x334D, 0x3318, 0x3327, 0x3303, 0x3336, 0x3351, 0x3357, 0x330D, 0x3326, 0x3323, 0x332B, 0x334A, 0x333B, 0x339C, 0x339D, 0x339E, 0x338E, 0x338F, 0x33C4, 0x33A1, 0, 0, 0, 0, 0, 0, 0, 0, 0x337B, 0x301D, 0x301F, 0x2116, 0x33CD, 0x2121, 0x32A4, 0x32A5, 0x32A6, 0x32A7, 0x32A8, 0x3231, 0x3232, 0x3239, 0x337E, 0x337D, 0x337C, 0x2252, 0x2261, 0x222B, 0x222E, 0x2211, 0x221A, 0x22A5, 0x2220, 0x221F, 0x22BF, 0x2235, 0x2229, 0x222A, 0, 0x3299, }; static const unsigned short euc_to_utf8_AD_mac[] = { 0x65E5, 0x6708, 0x706B, 0x6C34, 0x6728, 0x91D1, 0x571F, 0x796D, 0x795D, 0x81EA, 0x81F3, 0x3239, 0x547C, 0x3231, 0x8CC7, 0x540D, 0x3232, 0x5B66, 0x8CA1, 0x793E, 0x7279, 0x76E3, 0x4F01, 0x5354, 0x52B4, 0x2165, 0x2166, 0x2167, 0x2168, 0x2169, 0, 0x3349, 0x3314, 0x3322, 0x334D, 0x3318, 0x3327, 0x3303, 0x3336, 0x3351, 0x3357, 0x330D, 0x3326, 0x3323, 0x332B, 0x334A, 0x333B, 0x339C, 0x339D, 0x339E, 0x338E, 0x338F, 0x33C4, 0x33A1, 0, 0, 0, 0, 0, 0, 0, 0, 0x337B, 0x301D, 0x301F, 0x2116, 0x33CD, 0x2121, 0x32A4, 0x32A5, 0x32A6, 0x32A7, 0x32A8, 0x3231, 0x3232, 0x3239, 0x337E, 0x337D, 0x337C, 0x2252, 0x5927, 0x5C0F, 0x32A4, 0x32A5, 0x32A6, 0x32A7, 0x32A8, 0x533B, 0x8CA1, 0x512A, 0x52B4, 0x5370, 0x63A7, 0x79D8, }; static const unsigned short euc_to_utf8_AD_x0213[] = { 0x2460, 0x2461, 0x2462, 0x2463, 0x2464, 0x2465, 0x2466, 0x2467, 0x2468, 0x2469, 0x246A, 0x246B, 0x246C, 0x246D, 0x246E, 0x246F, 0x2470, 0x2471, 0x2472, 0x2473, 0x2160, 0x2161, 0x2162, 0x2163, 0x2164, 0x2165, 0x2166, 0x2167, 0x2168, 0x2169, 0x216A, 0x3349, 0x3314, 0x3322, 0x334D, 0x3318, 0x3327, 0x3303, 0x3336, 0x3351, 0x3357, 0x330D, 0x3326, 0x3323, 0x332B, 0x334A, 0x333B, 0x339C, 0x339D, 0x339E, 0x338E, 0x338F, 0x33C4, 0x33A1, 0x216B, 0, 0, 0, 0, 0, 0, 0, 0x337B, 0x301D, 0x301F, 0x2116, 0x33CD, 0x2121, 0x32A4, 0x32A5, 0x32A6, 0x32A7, 0x32A8, 0x3231, 0x3232, 0x3239, 0x337E, 0x337D, 0x337C, 0x2252, 0x2261, 0x222B, 0x222E, 0x2211, 0x221A, 0x22A5, 0x2220, 0x221F, 0x22BF, 0x2235, 0x2229, 0x222A, 0x2756, 0x261E, }; static const unsigned short euc_to_utf8_AE[] = { 0x3349, 0x3322, 0x334D, 0x3314, 0x3316, 0x3305, 0x3333, 0x334E, 0x3303, 0x3336, 0x3318, 0x3315, 0x3327, 0x3351, 0x334A, 0x3339, 0x3357, 0x330D, 0x3342, 0x3323, 0x3326, 0x333B, 0x332B, 0, 0, 0, 0, 0, 0, 0, 0x3300, 0x331E, 0x332A, 0x3331, 0x3347, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0x337E, 0x337D, 0x337C, 0x337B, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0x337F, 0, 0, }; static const unsigned short euc_to_utf8_AE_x0213[] = { 0x4FF1, 0xD840 /*0xDC0B*/, 0x3402, 0x4E28, 0x4E2F, 0x4E30, 0x4E8D, 0x4EE1, 0x4EFD, 0x4EFF, 0x4F03, 0x4F0B, 0x4F60, 0x4F48, 0x4F49, 0x4F56, 0x4F5F, 0x4F6A, 0x4F6C, 0x4F7E, 0x4F8A, 0x4F94, 0x4F97, 0xFA30, 0x4FC9, 0x4FE0, 0x5001, 0x5002, 0x500E, 0x5018, 0x5027, 0x502E, 0x5040, 0x503B, 0x5041, 0x5094, 0x50CC, 0x50F2, 0x50D0, 0x50E6, 0xFA31, 0x5106, 0x5103, 0x510B, 0x511E, 0x5135, 0x514A, 0xFA32, 0x5155, 0x5157, 0x34B5, 0x519D, 0x51C3, 0x51CA, 0x51DE, 0x51E2, 0x51EE, 0x5201, 0x34DB, 0x5213, 0x5215, 0x5249, 0x5257, 0x5261, 0x5293, 0x52C8, 0xFA33, 0x52CC, 0x52D0, 0x52D6, 0x52DB, 0xFA34, 0x52F0, 0x52FB, 0x5300, 0x5307, 0x531C, 0xFA35, 0x5361, 0x5363, 0x537D, 0x5393, 0x539D, 0x53B2, 0x5412, 0x5427, 0x544D, 0x549C, 0x546B, 0x5474, 0x547F, 0x5488, 0x5496, 0x54A1, }; static const unsigned short euc_to_utf8_AF[] = { 0x222E, 0x221F, 0x22BF, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0x301D, 0x301F, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0x3094, 0, 0x30F7, 0x30F8, 0x30F9, 0x30FA, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, }; static const unsigned short euc_to_utf8_AF_x0213[] = { 0x54A9, 0x54C6, 0x54FF, 0x550E, 0x552B, 0x5535, 0x5550, 0x555E, 0x5581, 0x5586, 0x558E, 0xFA36, 0x55AD, 0x55CE, 0xFA37, 0x5608, 0x560E, 0x563B, 0x5649, 0x5676, 0x5666, 0xFA38, 0x566F, 0x5671, 0x5672, 0x5699, 0x569E, 0x56A9, 0x56AC, 0x56B3, 0x56C9, 0x56CA, 0x570A, 0xD844 /*0xDE3D*/, 0x5721, 0x572F, 0x5733, 0x5734, 0x5770, 0x5777, 0x577C, 0x579C, 0xFA0F, 0xD844 /*0xDF1B*/, 0x57B8, 0x57C7, 0x57C8, 0x57CF, 0x57E4, 0x57ED, 0x57F5, 0x57F6, 0x57FF, 0x5809, 0xFA10, 0x5861, 0x5864, 0xFA39, 0x587C, 0x5889, 0x589E, 0xFA3A, 0x58A9, 0xD845 /*0xDC6E*/, 0x58D2, 0x58CE, 0x58D4, 0x58DA, 0x58E0, 0x58E9, 0x590C, 0x8641, 0x595D, 0x596D, 0x598B, 0x5992, 0x59A4, 0x59C3, 0x59D2, 0x59DD, 0x5A13, 0x5A23, 0x5A67, 0x5A6D, 0x5A77, 0x5A7E, 0x5A84, 0x5A9E, 0x5AA7, 0x5AC4, 0xD846 /*0xDCBD*/, 0x5B19, 0x5B25, 0x525D, }; static const unsigned short euc_to_utf8_B0[] = { 0x4E9C, 0x5516, 0x5A03, 0x963F, 0x54C0, 0x611B, 0x6328, 0x59F6, 0x9022, 0x8475, 0x831C, 0x7A50, 0x60AA, 0x63E1, 0x6E25, 0x65ED, 0x8466, 0x82A6, 0x9BF5, 0x6893, 0x5727, 0x65A1, 0x6271, 0x5B9B, 0x59D0, 0x867B, 0x98F4, 0x7D62, 0x7DBE, 0x9B8E, 0x6216, 0x7C9F, 0x88B7, 0x5B89, 0x5EB5, 0x6309, 0x6697, 0x6848, 0x95C7, 0x978D, 0x674F, 0x4EE5, 0x4F0A, 0x4F4D, 0x4F9D, 0x5049, 0x56F2, 0x5937, 0x59D4, 0x5A01, 0x5C09, 0x60DF, 0x610F, 0x6170, 0x6613, 0x6905, 0x70BA, 0x754F, 0x7570, 0x79FB, 0x7DAD, 0x7DEF, 0x80C3, 0x840E, 0x8863, 0x8B02, 0x9055, 0x907A, 0x533B, 0x4E95, 0x4EA5, 0x57DF, 0x80B2, 0x90C1, 0x78EF, 0x4E00, 0x58F1, 0x6EA2, 0x9038, 0x7A32, 0x8328, 0x828B, 0x9C2F, 0x5141, 0x5370, 0x54BD, 0x54E1, 0x56E0, 0x59FB, 0x5F15, 0x98F2, 0x6DEB, 0x80E4, 0x852D, }; static const unsigned short euc_to_utf8_B1[] = { 0x9662, 0x9670, 0x96A0, 0x97FB, 0x540B, 0x53F3, 0x5B87, 0x70CF, 0x7FBD, 0x8FC2, 0x96E8, 0x536F, 0x9D5C, 0x7ABA, 0x4E11, 0x7893, 0x81FC, 0x6E26, 0x5618, 0x5504, 0x6B1D, 0x851A, 0x9C3B, 0x59E5, 0x53A9, 0x6D66, 0x74DC, 0x958F, 0x5642, 0x4E91, 0x904B, 0x96F2, 0x834F, 0x990C, 0x53E1, 0x55B6, 0x5B30, 0x5F71, 0x6620, 0x66F3, 0x6804, 0x6C38, 0x6CF3, 0x6D29, 0x745B, 0x76C8, 0x7A4E, 0x9834, 0x82F1, 0x885B, 0x8A60, 0x92ED, 0x6DB2, 0x75AB, 0x76CA, 0x99C5, 0x60A6, 0x8B01, 0x8D8A, 0x95B2, 0x698E, 0x53AD, 0x5186, 0x5712, 0x5830, 0x5944, 0x5BB4, 0x5EF6, 0x6028, 0x63A9, 0x63F4, 0x6CBF, 0x6F14, 0x708E, 0x7114, 0x7159, 0x71D5, 0x733F, 0x7E01, 0x8276, 0x82D1, 0x8597, 0x9060, 0x925B, 0x9D1B, 0x5869, 0x65BC, 0x6C5A, 0x7525, 0x51F9, 0x592E, 0x5965, 0x5F80, 0x5FDC, }; static const unsigned short euc_to_utf8_B2[] = { 0x62BC, 0x65FA, 0x6A2A, 0x6B27, 0x6BB4, 0x738B, 0x7FC1, 0x8956, 0x9D2C, 0x9D0E, 0x9EC4, 0x5CA1, 0x6C96, 0x837B, 0x5104, 0x5C4B, 0x61B6, 0x81C6, 0x6876, 0x7261, 0x4E59, 0x4FFA, 0x5378, 0x6069, 0x6E29, 0x7A4F, 0x97F3, 0x4E0B, 0x5316, 0x4EEE, 0x4F55, 0x4F3D, 0x4FA1, 0x4F73, 0x52A0, 0x53EF, 0x5609, 0x590F, 0x5AC1, 0x5BB6, 0x5BE1, 0x79D1, 0x6687, 0x679C, 0x67B6, 0x6B4C, 0x6CB3, 0x706B, 0x73C2, 0x798D, 0x79BE, 0x7A3C, 0x7B87, 0x82B1, 0x82DB, 0x8304, 0x8377, 0x83EF, 0x83D3, 0x8766, 0x8AB2, 0x5629, 0x8CA8, 0x8FE6, 0x904E, 0x971E, 0x868A, 0x4FC4, 0x5CE8, 0x6211, 0x7259, 0x753B, 0x81E5, 0x82BD, 0x86FE, 0x8CC0, 0x96C5, 0x9913, 0x99D5, 0x4ECB, 0x4F1A, 0x89E3, 0x56DE, 0x584A, 0x58CA, 0x5EFB, 0x5FEB, 0x602A, 0x6094, 0x6062, 0x61D0, 0x6212, 0x62D0, 0x6539, }; static const unsigned short euc_to_utf8_B3[] = { 0x9B41, 0x6666, 0x68B0, 0x6D77, 0x7070, 0x754C, 0x7686, 0x7D75, 0x82A5, 0x87F9, 0x958B, 0x968E, 0x8C9D, 0x51F1, 0x52BE, 0x5916, 0x54B3, 0x5BB3, 0x5D16, 0x6168, 0x6982, 0x6DAF, 0x788D, 0x84CB, 0x8857, 0x8A72, 0x93A7, 0x9AB8, 0x6D6C, 0x99A8, 0x86D9, 0x57A3, 0x67FF, 0x86CE, 0x920E, 0x5283, 0x5687, 0x5404, 0x5ED3, 0x62E1, 0x64B9, 0x683C, 0x6838, 0x6BBB, 0x7372, 0x78BA, 0x7A6B, 0x899A, 0x89D2, 0x8D6B, 0x8F03, 0x90ED, 0x95A3, 0x9694, 0x9769, 0x5B66, 0x5CB3, 0x697D, 0x984D, 0x984E, 0x639B, 0x7B20, 0x6A2B, 0x6A7F, 0x68B6, 0x9C0D, 0x6F5F, 0x5272, 0x559D, 0x6070, 0x62EC, 0x6D3B, 0x6E07, 0x6ED1, 0x845B, 0x8910, 0x8F44, 0x4E14, 0x9C39, 0x53F6, 0x691B, 0x6A3A, 0x9784, 0x682A, 0x515C, 0x7AC3, 0x84B2, 0x91DC, 0x938C, 0x565B, 0x9D28, 0x6822, 0x8305, 0x8431, }; static const unsigned short euc_to_utf8_B4[] = { 0x7CA5, 0x5208, 0x82C5, 0x74E6, 0x4E7E, 0x4F83, 0x51A0, 0x5BD2, 0x520A, 0x52D8, 0x52E7, 0x5DFB, 0x559A, 0x582A, 0x59E6, 0x5B8C, 0x5B98, 0x5BDB, 0x5E72, 0x5E79, 0x60A3, 0x611F, 0x6163, 0x61BE, 0x63DB, 0x6562, 0x67D1, 0x6853, 0x68FA, 0x6B3E, 0x6B53, 0x6C57, 0x6F22, 0x6F97, 0x6F45, 0x74B0, 0x7518, 0x76E3, 0x770B, 0x7AFF, 0x7BA1, 0x7C21, 0x7DE9, 0x7F36, 0x7FF0, 0x809D, 0x8266, 0x839E, 0x89B3, 0x8ACC, 0x8CAB, 0x9084, 0x9451, 0x9593, 0x9591, 0x95A2, 0x9665, 0x97D3, 0x9928, 0x8218, 0x4E38, 0x542B, 0x5CB8, 0x5DCC, 0x73A9, 0x764C, 0x773C, 0x5CA9, 0x7FEB, 0x8D0B, 0x96C1, 0x9811, 0x9854, 0x9858, 0x4F01, 0x4F0E, 0x5371, 0x559C, 0x5668, 0x57FA, 0x5947, 0x5B09, 0x5BC4, 0x5C90, 0x5E0C, 0x5E7E, 0x5FCC, 0x63EE, 0x673A, 0x65D7, 0x65E2, 0x671F, 0x68CB, 0x68C4, }; static const unsigned short euc_to_utf8_B5[] = { 0x6A5F, 0x5E30, 0x6BC5, 0x6C17, 0x6C7D, 0x757F, 0x7948, 0x5B63, 0x7A00, 0x7D00, 0x5FBD, 0x898F, 0x8A18, 0x8CB4, 0x8D77, 0x8ECC, 0x8F1D, 0x98E2, 0x9A0E, 0x9B3C, 0x4E80, 0x507D, 0x5100, 0x5993, 0x5B9C, 0x622F, 0x6280, 0x64EC, 0x6B3A, 0x72A0, 0x7591, 0x7947, 0x7FA9, 0x87FB, 0x8ABC, 0x8B70, 0x63AC, 0x83CA, 0x97A0, 0x5409, 0x5403, 0x55AB, 0x6854, 0x6A58, 0x8A70, 0x7827, 0x6775, 0x9ECD, 0x5374, 0x5BA2, 0x811A, 0x8650, 0x9006, 0x4E18, 0x4E45, 0x4EC7, 0x4F11, 0x53CA, 0x5438, 0x5BAE, 0x5F13, 0x6025, 0x6551, 0x673D, 0x6C42, 0x6C72, 0x6CE3, 0x7078, 0x7403, 0x7A76, 0x7AAE, 0x7B08, 0x7D1A, 0x7CFE, 0x7D66, 0x65E7, 0x725B, 0x53BB, 0x5C45, 0x5DE8, 0x62D2, 0x62E0, 0x6319, 0x6E20, 0x865A, 0x8A31, 0x8DDD, 0x92F8, 0x6F01, 0x79A6, 0x9B5A, 0x4EA8, 0x4EAB, 0x4EAC, }; static const unsigned short euc_to_utf8_B6[] = { 0x4F9B, 0x4FA0, 0x50D1, 0x5147, 0x7AF6, 0x5171, 0x51F6, 0x5354, 0x5321, 0x537F, 0x53EB, 0x55AC, 0x5883, 0x5CE1, 0x5F37, 0x5F4A, 0x602F, 0x6050, 0x606D, 0x631F, 0x6559, 0x6A4B, 0x6CC1, 0x72C2, 0x72ED, 0x77EF, 0x80F8, 0x8105, 0x8208, 0x854E, 0x90F7, 0x93E1, 0x97FF, 0x9957, 0x9A5A, 0x4EF0, 0x51DD, 0x5C2D, 0x6681, 0x696D, 0x5C40, 0x66F2, 0x6975, 0x7389, 0x6850, 0x7C81, 0x50C5, 0x52E4, 0x5747, 0x5DFE, 0x9326, 0x65A4, 0x6B23, 0x6B3D, 0x7434, 0x7981, 0x79BD, 0x7B4B, 0x7DCA, 0x82B9, 0x83CC, 0x887F, 0x895F, 0x8B39, 0x8FD1, 0x91D1, 0x541F, 0x9280, 0x4E5D, 0x5036, 0x53E5, 0x533A, 0x72D7, 0x7396, 0x77E9, 0x82E6, 0x8EAF, 0x99C6, 0x99C8, 0x99D2, 0x5177, 0x611A, 0x865E, 0x55B0, 0x7A7A, 0x5076, 0x5BD3, 0x9047, 0x9685, 0x4E32, 0x6ADB, 0x91E7, 0x5C51, 0x5C48, }; static const unsigned short euc_to_utf8_B7[] = { 0x6398, 0x7A9F, 0x6C93, 0x9774, 0x8F61, 0x7AAA, 0x718A, 0x9688, 0x7C82, 0x6817, 0x7E70, 0x6851, 0x936C, 0x52F2, 0x541B, 0x85AB, 0x8A13, 0x7FA4, 0x8ECD, 0x90E1, 0x5366, 0x8888, 0x7941, 0x4FC2, 0x50BE, 0x5211, 0x5144, 0x5553, 0x572D, 0x73EA, 0x578B, 0x5951, 0x5F62, 0x5F84, 0x6075, 0x6176, 0x6167, 0x61A9, 0x63B2, 0x643A, 0x656C, 0x666F, 0x6842, 0x6E13, 0x7566, 0x7A3D, 0x7CFB, 0x7D4C, 0x7D99, 0x7E4B, 0x7F6B, 0x830E, 0x834A, 0x86CD, 0x8A08, 0x8A63, 0x8B66, 0x8EFD, 0x981A, 0x9D8F, 0x82B8, 0x8FCE, 0x9BE8, 0x5287, 0x621F, 0x6483, 0x6FC0, 0x9699, 0x6841, 0x5091, 0x6B20, 0x6C7A, 0x6F54, 0x7A74, 0x7D50, 0x8840, 0x8A23, 0x6708, 0x4EF6, 0x5039, 0x5026, 0x5065, 0x517C, 0x5238, 0x5263, 0x55A7, 0x570F, 0x5805, 0x5ACC, 0x5EFA, 0x61B2, 0x61F8, 0x62F3, 0x6372, }; static const unsigned short euc_to_utf8_B8[] = { 0x691C, 0x6A29, 0x727D, 0x72AC, 0x732E, 0x7814, 0x786F, 0x7D79, 0x770C, 0x80A9, 0x898B, 0x8B19, 0x8CE2, 0x8ED2, 0x9063, 0x9375, 0x967A, 0x9855, 0x9A13, 0x9E78, 0x5143, 0x539F, 0x53B3, 0x5E7B, 0x5F26, 0x6E1B, 0x6E90, 0x7384, 0x73FE, 0x7D43, 0x8237, 0x8A00, 0x8AFA, 0x9650, 0x4E4E, 0x500B, 0x53E4, 0x547C, 0x56FA, 0x59D1, 0x5B64, 0x5DF1, 0x5EAB, 0x5F27, 0x6238, 0x6545, 0x67AF, 0x6E56, 0x72D0, 0x7CCA, 0x88B4, 0x80A1, 0x80E1, 0x83F0, 0x864E, 0x8A87, 0x8DE8, 0x9237, 0x96C7, 0x9867, 0x9F13, 0x4E94, 0x4E92, 0x4F0D, 0x5348, 0x5449, 0x543E, 0x5A2F, 0x5F8C, 0x5FA1, 0x609F, 0x68A7, 0x6A8E, 0x745A, 0x7881, 0x8A9E, 0x8AA4, 0x8B77, 0x9190, 0x4E5E, 0x9BC9, 0x4EA4, 0x4F7C, 0x4FAF, 0x5019, 0x5016, 0x5149, 0x516C, 0x529F, 0x52B9, 0x52FE, 0x539A, 0x53E3, 0x5411, }; static const unsigned short euc_to_utf8_B9[] = { 0x540E, 0x5589, 0x5751, 0x57A2, 0x597D, 0x5B54, 0x5B5D, 0x5B8F, 0x5DE5, 0x5DE7, 0x5DF7, 0x5E78, 0x5E83, 0x5E9A, 0x5EB7, 0x5F18, 0x6052, 0x614C, 0x6297, 0x62D8, 0x63A7, 0x653B, 0x6602, 0x6643, 0x66F4, 0x676D, 0x6821, 0x6897, 0x69CB, 0x6C5F, 0x6D2A, 0x6D69, 0x6E2F, 0x6E9D, 0x7532, 0x7687, 0x786C, 0x7A3F, 0x7CE0, 0x7D05, 0x7D18, 0x7D5E, 0x7DB1, 0x8015, 0x8003, 0x80AF, 0x80B1, 0x8154, 0x818F, 0x822A, 0x8352, 0x884C, 0x8861, 0x8B1B, 0x8CA2, 0x8CFC, 0x90CA, 0x9175, 0x9271, 0x783F, 0x92FC, 0x95A4, 0x964D, 0x9805, 0x9999, 0x9AD8, 0x9D3B, 0x525B, 0x52AB, 0x53F7, 0x5408, 0x58D5, 0x62F7, 0x6FE0, 0x8C6A, 0x8F5F, 0x9EB9, 0x514B, 0x523B, 0x544A, 0x56FD, 0x7A40, 0x9177, 0x9D60, 0x9ED2, 0x7344, 0x6F09, 0x8170, 0x7511, 0x5FFD, 0x60DA, 0x9AA8, 0x72DB, 0x8FBC, }; static const unsigned short euc_to_utf8_BA[] = { 0x6B64, 0x9803, 0x4ECA, 0x56F0, 0x5764, 0x58BE, 0x5A5A, 0x6068, 0x61C7, 0x660F, 0x6606, 0x6839, 0x68B1, 0x6DF7, 0x75D5, 0x7D3A, 0x826E, 0x9B42, 0x4E9B, 0x4F50, 0x53C9, 0x5506, 0x5D6F, 0x5DE6, 0x5DEE, 0x67FB, 0x6C99, 0x7473, 0x7802, 0x8A50, 0x9396, 0x88DF, 0x5750, 0x5EA7, 0x632B, 0x50B5, 0x50AC, 0x518D, 0x6700, 0x54C9, 0x585E, 0x59BB, 0x5BB0, 0x5F69, 0x624D, 0x63A1, 0x683D, 0x6B73, 0x6E08, 0x707D, 0x91C7, 0x7280, 0x7815, 0x7826, 0x796D, 0x658E, 0x7D30, 0x83DC, 0x88C1, 0x8F09, 0x969B, 0x5264, 0x5728, 0x6750, 0x7F6A, 0x8CA1, 0x51B4, 0x5742, 0x962A, 0x583A, 0x698A, 0x80B4, 0x54B2, 0x5D0E, 0x57FC, 0x7895, 0x9DFA, 0x4F5C, 0x524A, 0x548B, 0x643E, 0x6628, 0x6714, 0x67F5, 0x7A84, 0x7B56, 0x7D22, 0x932F, 0x685C, 0x9BAD, 0x7B39, 0x5319, 0x518A, 0x5237, }; static const unsigned short euc_to_utf8_BB[] = { 0x5BDF, 0x62F6, 0x64AE, 0x64E6, 0x672D, 0x6BBA, 0x85A9, 0x96D1, 0x7690, 0x9BD6, 0x634C, 0x9306, 0x9BAB, 0x76BF, 0x6652, 0x4E09, 0x5098, 0x53C2, 0x5C71, 0x60E8, 0x6492, 0x6563, 0x685F, 0x71E6, 0x73CA, 0x7523, 0x7B97, 0x7E82, 0x8695, 0x8B83, 0x8CDB, 0x9178, 0x9910, 0x65AC, 0x66AB, 0x6B8B, 0x4ED5, 0x4ED4, 0x4F3A, 0x4F7F, 0x523A, 0x53F8, 0x53F2, 0x55E3, 0x56DB, 0x58EB, 0x59CB, 0x59C9, 0x59FF, 0x5B50, 0x5C4D, 0x5E02, 0x5E2B, 0x5FD7, 0x601D, 0x6307, 0x652F, 0x5B5C, 0x65AF, 0x65BD, 0x65E8, 0x679D, 0x6B62, 0x6B7B, 0x6C0F, 0x7345, 0x7949, 0x79C1, 0x7CF8, 0x7D19, 0x7D2B, 0x80A2, 0x8102, 0x81F3, 0x8996, 0x8A5E, 0x8A69, 0x8A66, 0x8A8C, 0x8AEE, 0x8CC7, 0x8CDC, 0x96CC, 0x98FC, 0x6B6F, 0x4E8B, 0x4F3C, 0x4F8D, 0x5150, 0x5B57, 0x5BFA, 0x6148, 0x6301, 0x6642, }; static const unsigned short euc_to_utf8_BC[] = { 0x6B21, 0x6ECB, 0x6CBB, 0x723E, 0x74BD, 0x75D4, 0x78C1, 0x793A, 0x800C, 0x8033, 0x81EA, 0x8494, 0x8F9E, 0x6C50, 0x9E7F, 0x5F0F, 0x8B58, 0x9D2B, 0x7AFA, 0x8EF8, 0x5B8D, 0x96EB, 0x4E03, 0x53F1, 0x57F7, 0x5931, 0x5AC9, 0x5BA4, 0x6089, 0x6E7F, 0x6F06, 0x75BE, 0x8CEA, 0x5B9F, 0x8500, 0x7BE0, 0x5072, 0x67F4, 0x829D, 0x5C61, 0x854A, 0x7E1E, 0x820E, 0x5199, 0x5C04, 0x6368, 0x8D66, 0x659C, 0x716E, 0x793E, 0x7D17, 0x8005, 0x8B1D, 0x8ECA, 0x906E, 0x86C7, 0x90AA, 0x501F, 0x52FA, 0x5C3A, 0x6753, 0x707C, 0x7235, 0x914C, 0x91C8, 0x932B, 0x82E5, 0x5BC2, 0x5F31, 0x60F9, 0x4E3B, 0x53D6, 0x5B88, 0x624B, 0x6731, 0x6B8A, 0x72E9, 0x73E0, 0x7A2E, 0x816B, 0x8DA3, 0x9152, 0x9996, 0x5112, 0x53D7, 0x546A, 0x5BFF, 0x6388, 0x6A39, 0x7DAC, 0x9700, 0x56DA, 0x53CE, 0x5468, }; static const unsigned short euc_to_utf8_BD[] = { 0x5B97, 0x5C31, 0x5DDE, 0x4FEE, 0x6101, 0x62FE, 0x6D32, 0x79C0, 0x79CB, 0x7D42, 0x7E4D, 0x7FD2, 0x81ED, 0x821F, 0x8490, 0x8846, 0x8972, 0x8B90, 0x8E74, 0x8F2F, 0x9031, 0x914B, 0x916C, 0x96C6, 0x919C, 0x4EC0, 0x4F4F, 0x5145, 0x5341, 0x5F93, 0x620E, 0x67D4, 0x6C41, 0x6E0B, 0x7363, 0x7E26, 0x91CD, 0x9283, 0x53D4, 0x5919, 0x5BBF, 0x6DD1, 0x795D, 0x7E2E, 0x7C9B, 0x587E, 0x719F, 0x51FA, 0x8853, 0x8FF0, 0x4FCA, 0x5CFB, 0x6625, 0x77AC, 0x7AE3, 0x821C, 0x99FF, 0x51C6, 0x5FAA, 0x65EC, 0x696F, 0x6B89, 0x6DF3, 0x6E96, 0x6F64, 0x76FE, 0x7D14, 0x5DE1, 0x9075, 0x9187, 0x9806, 0x51E6, 0x521D, 0x6240, 0x6691, 0x66D9, 0x6E1A, 0x5EB6, 0x7DD2, 0x7F72, 0x66F8, 0x85AF, 0x85F7, 0x8AF8, 0x52A9, 0x53D9, 0x5973, 0x5E8F, 0x5F90, 0x6055, 0x92E4, 0x9664, 0x50B7, 0x511F, }; static const unsigned short euc_to_utf8_BE[] = { 0x52DD, 0x5320, 0x5347, 0x53EC, 0x54E8, 0x5546, 0x5531, 0x5617, 0x5968, 0x59BE, 0x5A3C, 0x5BB5, 0x5C06, 0x5C0F, 0x5C11, 0x5C1A, 0x5E84, 0x5E8A, 0x5EE0, 0x5F70, 0x627F, 0x6284, 0x62DB, 0x638C, 0x6377, 0x6607, 0x660C, 0x662D, 0x6676, 0x677E, 0x68A2, 0x6A1F, 0x6A35, 0x6CBC, 0x6D88, 0x6E09, 0x6E58, 0x713C, 0x7126, 0x7167, 0x75C7, 0x7701, 0x785D, 0x7901, 0x7965, 0x79F0, 0x7AE0, 0x7B11, 0x7CA7, 0x7D39, 0x8096, 0x83D6, 0x848B, 0x8549, 0x885D, 0x88F3, 0x8A1F, 0x8A3C, 0x8A54, 0x8A73, 0x8C61, 0x8CDE, 0x91A4, 0x9266, 0x937E, 0x9418, 0x969C, 0x9798, 0x4E0A, 0x4E08, 0x4E1E, 0x4E57, 0x5197, 0x5270, 0x57CE, 0x5834, 0x58CC, 0x5B22, 0x5E38, 0x60C5, 0x64FE, 0x6761, 0x6756, 0x6D44, 0x72B6, 0x7573, 0x7A63, 0x84B8, 0x8B72, 0x91B8, 0x9320, 0x5631, 0x57F4, 0x98FE, }; static const unsigned short euc_to_utf8_BF[] = { 0x62ED, 0x690D, 0x6B96, 0x71ED, 0x7E54, 0x8077, 0x8272, 0x89E6, 0x98DF, 0x8755, 0x8FB1, 0x5C3B, 0x4F38, 0x4FE1, 0x4FB5, 0x5507, 0x5A20, 0x5BDD, 0x5BE9, 0x5FC3, 0x614E, 0x632F, 0x65B0, 0x664B, 0x68EE, 0x699B, 0x6D78, 0x6DF1, 0x7533, 0x75B9, 0x771F, 0x795E, 0x79E6, 0x7D33, 0x81E3, 0x82AF, 0x85AA, 0x89AA, 0x8A3A, 0x8EAB, 0x8F9B, 0x9032, 0x91DD, 0x9707, 0x4EBA, 0x4EC1, 0x5203, 0x5875, 0x58EC, 0x5C0B, 0x751A, 0x5C3D, 0x814E, 0x8A0A, 0x8FC5, 0x9663, 0x976D, 0x7B25, 0x8ACF, 0x9808, 0x9162, 0x56F3, 0x53A8, 0x9017, 0x5439, 0x5782, 0x5E25, 0x63A8, 0x6C34, 0x708A, 0x7761, 0x7C8B, 0x7FE0, 0x8870, 0x9042, 0x9154, 0x9310, 0x9318, 0x968F, 0x745E, 0x9AC4, 0x5D07, 0x5D69, 0x6570, 0x67A2, 0x8DA8, 0x96DB, 0x636E, 0x6749, 0x6919, 0x83C5, 0x9817, 0x96C0, 0x88FE, }; static const unsigned short euc_to_utf8_C0[] = { 0x6F84, 0x647A, 0x5BF8, 0x4E16, 0x702C, 0x755D, 0x662F, 0x51C4, 0x5236, 0x52E2, 0x59D3, 0x5F81, 0x6027, 0x6210, 0x653F, 0x6574, 0x661F, 0x6674, 0x68F2, 0x6816, 0x6B63, 0x6E05, 0x7272, 0x751F, 0x76DB, 0x7CBE, 0x8056, 0x58F0, 0x88FD, 0x897F, 0x8AA0, 0x8A93, 0x8ACB, 0x901D, 0x9192, 0x9752, 0x9759, 0x6589, 0x7A0E, 0x8106, 0x96BB, 0x5E2D, 0x60DC, 0x621A, 0x65A5, 0x6614, 0x6790, 0x77F3, 0x7A4D, 0x7C4D, 0x7E3E, 0x810A, 0x8CAC, 0x8D64, 0x8DE1, 0x8E5F, 0x78A9, 0x5207, 0x62D9, 0x63A5, 0x6442, 0x6298, 0x8A2D, 0x7A83, 0x7BC0, 0x8AAC, 0x96EA, 0x7D76, 0x820C, 0x8749, 0x4ED9, 0x5148, 0x5343, 0x5360, 0x5BA3, 0x5C02, 0x5C16, 0x5DDD, 0x6226, 0x6247, 0x64B0, 0x6813, 0x6834, 0x6CC9, 0x6D45, 0x6D17, 0x67D3, 0x6F5C, 0x714E, 0x717D, 0x65CB, 0x7A7F, 0x7BAD, 0x7DDA, }; static const unsigned short euc_to_utf8_C1[] = { 0x7E4A, 0x7FA8, 0x817A, 0x821B, 0x8239, 0x85A6, 0x8A6E, 0x8CCE, 0x8DF5, 0x9078, 0x9077, 0x92AD, 0x9291, 0x9583, 0x9BAE, 0x524D, 0x5584, 0x6F38, 0x7136, 0x5168, 0x7985, 0x7E55, 0x81B3, 0x7CCE, 0x564C, 0x5851, 0x5CA8, 0x63AA, 0x66FE, 0x66FD, 0x695A, 0x72D9, 0x758F, 0x758E, 0x790E, 0x7956, 0x79DF, 0x7C97, 0x7D20, 0x7D44, 0x8607, 0x8A34, 0x963B, 0x9061, 0x9F20, 0x50E7, 0x5275, 0x53CC, 0x53E2, 0x5009, 0x55AA, 0x58EE, 0x594F, 0x723D, 0x5B8B, 0x5C64, 0x531D, 0x60E3, 0x60F3, 0x635C, 0x6383, 0x633F, 0x63BB, 0x64CD, 0x65E9, 0x66F9, 0x5DE3, 0x69CD, 0x69FD, 0x6F15, 0x71E5, 0x4E89, 0x75E9, 0x76F8, 0x7A93, 0x7CDF, 0x7DCF, 0x7D9C, 0x8061, 0x8349, 0x8358, 0x846C, 0x84BC, 0x85FB, 0x88C5, 0x8D70, 0x9001, 0x906D, 0x9397, 0x971C, 0x9A12, 0x50CF, 0x5897, 0x618E, }; static const unsigned short euc_to_utf8_C2[] = { 0x81D3, 0x8535, 0x8D08, 0x9020, 0x4FC3, 0x5074, 0x5247, 0x5373, 0x606F, 0x6349, 0x675F, 0x6E2C, 0x8DB3, 0x901F, 0x4FD7, 0x5C5E, 0x8CCA, 0x65CF, 0x7D9A, 0x5352, 0x8896, 0x5176, 0x63C3, 0x5B58, 0x5B6B, 0x5C0A, 0x640D, 0x6751, 0x905C, 0x4ED6, 0x591A, 0x592A, 0x6C70, 0x8A51, 0x553E, 0x5815, 0x59A5, 0x60F0, 0x6253, 0x67C1, 0x8235, 0x6955, 0x9640, 0x99C4, 0x9A28, 0x4F53, 0x5806, 0x5BFE, 0x8010, 0x5CB1, 0x5E2F, 0x5F85, 0x6020, 0x614B, 0x6234, 0x66FF, 0x6CF0, 0x6EDE, 0x80CE, 0x817F, 0x82D4, 0x888B, 0x8CB8, 0x9000, 0x902E, 0x968A, 0x9EDB, 0x9BDB, 0x4EE3, 0x53F0, 0x5927, 0x7B2C, 0x918D, 0x984C, 0x9DF9, 0x6EDD, 0x7027, 0x5353, 0x5544, 0x5B85, 0x6258, 0x629E, 0x62D3, 0x6CA2, 0x6FEF, 0x7422, 0x8A17, 0x9438, 0x6FC1, 0x8AFE, 0x8338, 0x51E7, 0x86F8, 0x53EA, }; static const unsigned short euc_to_utf8_C3[] = { 0x53E9, 0x4F46, 0x9054, 0x8FB0, 0x596A, 0x8131, 0x5DFD, 0x7AEA, 0x8FBF, 0x68DA, 0x8C37, 0x72F8, 0x9C48, 0x6A3D, 0x8AB0, 0x4E39, 0x5358, 0x5606, 0x5766, 0x62C5, 0x63A2, 0x65E6, 0x6B4E, 0x6DE1, 0x6E5B, 0x70AD, 0x77ED, 0x7AEF, 0x7BAA, 0x7DBB, 0x803D, 0x80C6, 0x86CB, 0x8A95, 0x935B, 0x56E3, 0x58C7, 0x5F3E, 0x65AD, 0x6696, 0x6A80, 0x6BB5, 0x7537, 0x8AC7, 0x5024, 0x77E5, 0x5730, 0x5F1B, 0x6065, 0x667A, 0x6C60, 0x75F4, 0x7A1A, 0x7F6E, 0x81F4, 0x8718, 0x9045, 0x99B3, 0x7BC9, 0x755C, 0x7AF9, 0x7B51, 0x84C4, 0x9010, 0x79E9, 0x7A92, 0x8336, 0x5AE1, 0x7740, 0x4E2D, 0x4EF2, 0x5B99, 0x5FE0, 0x62BD, 0x663C, 0x67F1, 0x6CE8, 0x866B, 0x8877, 0x8A3B, 0x914E, 0x92F3, 0x99D0, 0x6A17, 0x7026, 0x732A, 0x82E7, 0x8457, 0x8CAF, 0x4E01, 0x5146, 0x51CB, 0x558B, 0x5BF5, }; static const unsigned short euc_to_utf8_C4[] = { 0x5E16, 0x5E33, 0x5E81, 0x5F14, 0x5F35, 0x5F6B, 0x5FB4, 0x61F2, 0x6311, 0x66A2, 0x671D, 0x6F6E, 0x7252, 0x753A, 0x773A, 0x8074, 0x8139, 0x8178, 0x8776, 0x8ABF, 0x8ADC, 0x8D85, 0x8DF3, 0x929A, 0x9577, 0x9802, 0x9CE5, 0x52C5, 0x6357, 0x76F4, 0x6715, 0x6C88, 0x73CD, 0x8CC3, 0x93AE, 0x9673, 0x6D25, 0x589C, 0x690E, 0x69CC, 0x8FFD, 0x939A, 0x75DB, 0x901A, 0x585A, 0x6802, 0x63B4, 0x69FB, 0x4F43, 0x6F2C, 0x67D8, 0x8FBB, 0x8526, 0x7DB4, 0x9354, 0x693F, 0x6F70, 0x576A, 0x58F7, 0x5B2C, 0x7D2C, 0x722A, 0x540A, 0x91E3, 0x9DB4, 0x4EAD, 0x4F4E, 0x505C, 0x5075, 0x5243, 0x8C9E, 0x5448, 0x5824, 0x5B9A, 0x5E1D, 0x5E95, 0x5EAD, 0x5EF7, 0x5F1F, 0x608C, 0x62B5, 0x633A, 0x63D0, 0x68AF, 0x6C40, 0x7887, 0x798E, 0x7A0B, 0x7DE0, 0x8247, 0x8A02, 0x8AE6, 0x8E44, 0x9013, }; static const unsigned short euc_to_utf8_C5[] = { 0x90B8, 0x912D, 0x91D8, 0x9F0E, 0x6CE5, 0x6458, 0x64E2, 0x6575, 0x6EF4, 0x7684, 0x7B1B, 0x9069, 0x93D1, 0x6EBA, 0x54F2, 0x5FB9, 0x64A4, 0x8F4D, 0x8FED, 0x9244, 0x5178, 0x586B, 0x5929, 0x5C55, 0x5E97, 0x6DFB, 0x7E8F, 0x751C, 0x8CBC, 0x8EE2, 0x985B, 0x70B9, 0x4F1D, 0x6BBF, 0x6FB1, 0x7530, 0x96FB, 0x514E, 0x5410, 0x5835, 0x5857, 0x59AC, 0x5C60, 0x5F92, 0x6597, 0x675C, 0x6E21, 0x767B, 0x83DF, 0x8CED, 0x9014, 0x90FD, 0x934D, 0x7825, 0x783A, 0x52AA, 0x5EA6, 0x571F, 0x5974, 0x6012, 0x5012, 0x515A, 0x51AC, 0x51CD, 0x5200, 0x5510, 0x5854, 0x5858, 0x5957, 0x5B95, 0x5CF6, 0x5D8B, 0x60BC, 0x6295, 0x642D, 0x6771, 0x6843, 0x68BC, 0x68DF, 0x76D7, 0x6DD8, 0x6E6F, 0x6D9B, 0x706F, 0x71C8, 0x5F53, 0x75D8, 0x7977, 0x7B49, 0x7B54, 0x7B52, 0x7CD6, 0x7D71, 0x5230, }; static const unsigned short euc_to_utf8_C6[] = { 0x8463, 0x8569, 0x85E4, 0x8A0E, 0x8B04, 0x8C46, 0x8E0F, 0x9003, 0x900F, 0x9419, 0x9676, 0x982D, 0x9A30, 0x95D8, 0x50CD, 0x52D5, 0x540C, 0x5802, 0x5C0E, 0x61A7, 0x649E, 0x6D1E, 0x77B3, 0x7AE5, 0x80F4, 0x8404, 0x9053, 0x9285, 0x5CE0, 0x9D07, 0x533F, 0x5F97, 0x5FB3, 0x6D9C, 0x7279, 0x7763, 0x79BF, 0x7BE4, 0x6BD2, 0x72EC, 0x8AAD, 0x6803, 0x6A61, 0x51F8, 0x7A81, 0x6934, 0x5C4A, 0x9CF6, 0x82EB, 0x5BC5, 0x9149, 0x701E, 0x5678, 0x5C6F, 0x60C7, 0x6566, 0x6C8C, 0x8C5A, 0x9041, 0x9813, 0x5451, 0x66C7, 0x920D, 0x5948, 0x90A3, 0x5185, 0x4E4D, 0x51EA, 0x8599, 0x8B0E, 0x7058, 0x637A, 0x934B, 0x6962, 0x99B4, 0x7E04, 0x7577, 0x5357, 0x6960, 0x8EDF, 0x96E3, 0x6C5D, 0x4E8C, 0x5C3C, 0x5F10, 0x8FE9, 0x5302, 0x8CD1, 0x8089, 0x8679, 0x5EFF, 0x65E5, 0x4E73, 0x5165, }; static const unsigned short euc_to_utf8_C7[] = { 0x5982, 0x5C3F, 0x97EE, 0x4EFB, 0x598A, 0x5FCD, 0x8A8D, 0x6FE1, 0x79B0, 0x7962, 0x5BE7, 0x8471, 0x732B, 0x71B1, 0x5E74, 0x5FF5, 0x637B, 0x649A, 0x71C3, 0x7C98, 0x4E43, 0x5EFC, 0x4E4B, 0x57DC, 0x56A2, 0x60A9, 0x6FC3, 0x7D0D, 0x80FD, 0x8133, 0x81BF, 0x8FB2, 0x8997, 0x86A4, 0x5DF4, 0x628A, 0x64AD, 0x8987, 0x6777, 0x6CE2, 0x6D3E, 0x7436, 0x7834, 0x5A46, 0x7F75, 0x82AD, 0x99AC, 0x4FF3, 0x5EC3, 0x62DD, 0x6392, 0x6557, 0x676F, 0x76C3, 0x724C, 0x80CC, 0x80BA, 0x8F29, 0x914D, 0x500D, 0x57F9, 0x5A92, 0x6885, 0x6973, 0x7164, 0x72FD, 0x8CB7, 0x58F2, 0x8CE0, 0x966A, 0x9019, 0x877F, 0x79E4, 0x77E7, 0x8429, 0x4F2F, 0x5265, 0x535A, 0x62CD, 0x67CF, 0x6CCA, 0x767D, 0x7B94, 0x7C95, 0x8236, 0x8584, 0x8FEB, 0x66DD, 0x6F20, 0x7206, 0x7E1B, 0x83AB, 0x99C1, 0x9EA6, }; static const unsigned short euc_to_utf8_C8[] = { 0x51FD, 0x7BB1, 0x7872, 0x7BB8, 0x8087, 0x7B48, 0x6AE8, 0x5E61, 0x808C, 0x7551, 0x7560, 0x516B, 0x9262, 0x6E8C, 0x767A, 0x9197, 0x9AEA, 0x4F10, 0x7F70, 0x629C, 0x7B4F, 0x95A5, 0x9CE9, 0x567A, 0x5859, 0x86E4, 0x96BC, 0x4F34, 0x5224, 0x534A, 0x53CD, 0x53DB, 0x5E06, 0x642C, 0x6591, 0x677F, 0x6C3E, 0x6C4E, 0x7248, 0x72AF, 0x73ED, 0x7554, 0x7E41, 0x822C, 0x85E9, 0x8CA9, 0x7BC4, 0x91C6, 0x7169, 0x9812, 0x98EF, 0x633D, 0x6669, 0x756A, 0x76E4, 0x78D0, 0x8543, 0x86EE, 0x532A, 0x5351, 0x5426, 0x5983, 0x5E87, 0x5F7C, 0x60B2, 0x6249, 0x6279, 0x62AB, 0x6590, 0x6BD4, 0x6CCC, 0x75B2, 0x76AE, 0x7891, 0x79D8, 0x7DCB, 0x7F77, 0x80A5, 0x88AB, 0x8AB9, 0x8CBB, 0x907F, 0x975E, 0x98DB, 0x6A0B, 0x7C38, 0x5099, 0x5C3E, 0x5FAE, 0x6787, 0x6BD8, 0x7435, 0x7709, 0x7F8E, }; static const unsigned short euc_to_utf8_C9[] = { 0x9F3B, 0x67CA, 0x7A17, 0x5339, 0x758B, 0x9AED, 0x5F66, 0x819D, 0x83F1, 0x8098, 0x5F3C, 0x5FC5, 0x7562, 0x7B46, 0x903C, 0x6867, 0x59EB, 0x5A9B, 0x7D10, 0x767E, 0x8B2C, 0x4FF5, 0x5F6A, 0x6A19, 0x6C37, 0x6F02, 0x74E2, 0x7968, 0x8868, 0x8A55, 0x8C79, 0x5EDF, 0x63CF, 0x75C5, 0x79D2, 0x82D7, 0x9328, 0x92F2, 0x849C, 0x86ED, 0x9C2D, 0x54C1, 0x5F6C, 0x658C, 0x6D5C, 0x7015, 0x8CA7, 0x8CD3, 0x983B, 0x654F, 0x74F6, 0x4E0D, 0x4ED8, 0x57E0, 0x592B, 0x5A66, 0x5BCC, 0x51A8, 0x5E03, 0x5E9C, 0x6016, 0x6276, 0x6577, 0x65A7, 0x666E, 0x6D6E, 0x7236, 0x7B26, 0x8150, 0x819A, 0x8299, 0x8B5C, 0x8CA0, 0x8CE6, 0x8D74, 0x961C, 0x9644, 0x4FAE, 0x64AB, 0x6B66, 0x821E, 0x8461, 0x856A, 0x90E8, 0x5C01, 0x6953, 0x98A8, 0x847A, 0x8557, 0x4F0F, 0x526F, 0x5FA9, 0x5E45, 0x670D, }; static const unsigned short euc_to_utf8_CA[] = { 0x798F, 0x8179, 0x8907, 0x8986, 0x6DF5, 0x5F17, 0x6255, 0x6CB8, 0x4ECF, 0x7269, 0x9B92, 0x5206, 0x543B, 0x5674, 0x58B3, 0x61A4, 0x626E, 0x711A, 0x596E, 0x7C89, 0x7CDE, 0x7D1B, 0x96F0, 0x6587, 0x805E, 0x4E19, 0x4F75, 0x5175, 0x5840, 0x5E63, 0x5E73, 0x5F0A, 0x67C4, 0x4E26, 0x853D, 0x9589, 0x965B, 0x7C73, 0x9801, 0x50FB, 0x58C1, 0x7656, 0x78A7, 0x5225, 0x77A5, 0x8511, 0x7B86, 0x504F, 0x5909, 0x7247, 0x7BC7, 0x7DE8, 0x8FBA, 0x8FD4, 0x904D, 0x4FBF, 0x52C9, 0x5A29, 0x5F01, 0x97AD, 0x4FDD, 0x8217, 0x92EA, 0x5703, 0x6355, 0x6B69, 0x752B, 0x88DC, 0x8F14, 0x7A42, 0x52DF, 0x5893, 0x6155, 0x620A, 0x66AE, 0x6BCD, 0x7C3F, 0x83E9, 0x5023, 0x4FF8, 0x5305, 0x5446, 0x5831, 0x5949, 0x5B9D, 0x5CF0, 0x5CEF, 0x5D29, 0x5E96, 0x62B1, 0x6367, 0x653E, 0x65B9, 0x670B, }; static const unsigned short euc_to_utf8_CB[] = { 0x6CD5, 0x6CE1, 0x70F9, 0x7832, 0x7E2B, 0x80DE, 0x82B3, 0x840C, 0x84EC, 0x8702, 0x8912, 0x8A2A, 0x8C4A, 0x90A6, 0x92D2, 0x98FD, 0x9CF3, 0x9D6C, 0x4E4F, 0x4EA1, 0x508D, 0x5256, 0x574A, 0x59A8, 0x5E3D, 0x5FD8, 0x5FD9, 0x623F, 0x66B4, 0x671B, 0x67D0, 0x68D2, 0x5192, 0x7D21, 0x80AA, 0x81A8, 0x8B00, 0x8C8C, 0x8CBF, 0x927E, 0x9632, 0x5420, 0x982C, 0x5317, 0x50D5, 0x535C, 0x58A8, 0x64B2, 0x6734, 0x7267, 0x7766, 0x7A46, 0x91E6, 0x52C3, 0x6CA1, 0x6B86, 0x5800, 0x5E4C, 0x5954, 0x672C, 0x7FFB, 0x51E1, 0x76C6, 0x6469, 0x78E8, 0x9B54, 0x9EBB, 0x57CB, 0x59B9, 0x6627, 0x679A, 0x6BCE, 0x54E9, 0x69D9, 0x5E55, 0x819C, 0x6795, 0x9BAA, 0x67FE, 0x9C52, 0x685D, 0x4EA6, 0x4FE3, 0x53C8, 0x62B9, 0x672B, 0x6CAB, 0x8FC4, 0x4FAD, 0x7E6D, 0x9EBF, 0x4E07, 0x6162, 0x6E80, }; static const unsigned short euc_to_utf8_CC[] = { 0x6F2B, 0x8513, 0x5473, 0x672A, 0x9B45, 0x5DF3, 0x7B95, 0x5CAC, 0x5BC6, 0x871C, 0x6E4A, 0x84D1, 0x7A14, 0x8108, 0x5999, 0x7C8D, 0x6C11, 0x7720, 0x52D9, 0x5922, 0x7121, 0x725F, 0x77DB, 0x9727, 0x9D61, 0x690B, 0x5A7F, 0x5A18, 0x51A5, 0x540D, 0x547D, 0x660E, 0x76DF, 0x8FF7, 0x9298, 0x9CF4, 0x59EA, 0x725D, 0x6EC5, 0x514D, 0x68C9, 0x7DBF, 0x7DEC, 0x9762, 0x9EBA, 0x6478, 0x6A21, 0x8302, 0x5984, 0x5B5F, 0x6BDB, 0x731B, 0x76F2, 0x7DB2, 0x8017, 0x8499, 0x5132, 0x6728, 0x9ED9, 0x76EE, 0x6762, 0x52FF, 0x9905, 0x5C24, 0x623B, 0x7C7E, 0x8CB0, 0x554F, 0x60B6, 0x7D0B, 0x9580, 0x5301, 0x4E5F, 0x51B6, 0x591C, 0x723A, 0x8036, 0x91CE, 0x5F25, 0x77E2, 0x5384, 0x5F79, 0x7D04, 0x85AC, 0x8A33, 0x8E8D, 0x9756, 0x67F3, 0x85AE, 0x9453, 0x6109, 0x6108, 0x6CB9, 0x7652, }; static const unsigned short euc_to_utf8_CD[] = { 0x8AED, 0x8F38, 0x552F, 0x4F51, 0x512A, 0x52C7, 0x53CB, 0x5BA5, 0x5E7D, 0x60A0, 0x6182, 0x63D6, 0x6709, 0x67DA, 0x6E67, 0x6D8C, 0x7336, 0x7337, 0x7531, 0x7950, 0x88D5, 0x8A98, 0x904A, 0x9091, 0x90F5, 0x96C4, 0x878D, 0x5915, 0x4E88, 0x4F59, 0x4E0E, 0x8A89, 0x8F3F, 0x9810, 0x50AD, 0x5E7C, 0x5996, 0x5BB9, 0x5EB8, 0x63DA, 0x63FA, 0x64C1, 0x66DC, 0x694A, 0x69D8, 0x6D0B, 0x6EB6, 0x7194, 0x7528, 0x7AAF, 0x7F8A, 0x8000, 0x8449, 0x84C9, 0x8981, 0x8B21, 0x8E0A, 0x9065, 0x967D, 0x990A, 0x617E, 0x6291, 0x6B32, 0x6C83, 0x6D74, 0x7FCC, 0x7FFC, 0x6DC0, 0x7F85, 0x87BA, 0x88F8, 0x6765, 0x83B1, 0x983C, 0x96F7, 0x6D1B, 0x7D61, 0x843D, 0x916A, 0x4E71, 0x5375, 0x5D50, 0x6B04, 0x6FEB, 0x85CD, 0x862D, 0x89A7, 0x5229, 0x540F, 0x5C65, 0x674E, 0x68A8, 0x7406, 0x7483, }; static const unsigned short euc_to_utf8_CE[] = { 0x75E2, 0x88CF, 0x88E1, 0x91CC, 0x96E2, 0x9678, 0x5F8B, 0x7387, 0x7ACB, 0x844E, 0x63A0, 0x7565, 0x5289, 0x6D41, 0x6E9C, 0x7409, 0x7559, 0x786B, 0x7C92, 0x9686, 0x7ADC, 0x9F8D, 0x4FB6, 0x616E, 0x65C5, 0x865C, 0x4E86, 0x4EAE, 0x50DA, 0x4E21, 0x51CC, 0x5BEE, 0x6599, 0x6881, 0x6DBC, 0x731F, 0x7642, 0x77AD, 0x7A1C, 0x7CE7, 0x826F, 0x8AD2, 0x907C, 0x91CF, 0x9675, 0x9818, 0x529B, 0x7DD1, 0x502B, 0x5398, 0x6797, 0x6DCB, 0x71D0, 0x7433, 0x81E8, 0x8F2A, 0x96A3, 0x9C57, 0x9E9F, 0x7460, 0x5841, 0x6D99, 0x7D2F, 0x985E, 0x4EE4, 0x4F36, 0x4F8B, 0x51B7, 0x52B1, 0x5DBA, 0x601C, 0x73B2, 0x793C, 0x82D3, 0x9234, 0x96B7, 0x96F6, 0x970A, 0x9E97, 0x9F62, 0x66A6, 0x6B74, 0x5217, 0x52A3, 0x70C8, 0x88C2, 0x5EC9, 0x604B, 0x6190, 0x6F23, 0x7149, 0x7C3E, 0x7DF4, 0x806F, }; static const unsigned short euc_to_utf8_CF[] = { 0x84EE, 0x9023, 0x932C, 0x5442, 0x9B6F, 0x6AD3, 0x7089, 0x8CC2, 0x8DEF, 0x9732, 0x52B4, 0x5A41, 0x5ECA, 0x5F04, 0x6717, 0x697C, 0x6994, 0x6D6A, 0x6F0F, 0x7262, 0x72FC, 0x7BED, 0x8001, 0x807E, 0x874B, 0x90CE, 0x516D, 0x9E93, 0x7984, 0x808B, 0x9332, 0x8AD6, 0x502D, 0x548C, 0x8A71, 0x6B6A, 0x8CC4, 0x8107, 0x60D1, 0x67A0, 0x9DF2, 0x4E99, 0x4E98, 0x9C10, 0x8A6B, 0x85C1, 0x8568, 0x6900, 0x6E7E, 0x7897, 0x8155, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, }; static const unsigned short euc_to_utf8_CF_x0213[] = { 0x84EE, 0x9023, 0x932C, 0x5442, 0x9B6F, 0x6AD3, 0x7089, 0x8CC2, 0x8DEF, 0x9732, 0x52B4, 0x5A41, 0x5ECA, 0x5F04, 0x6717, 0x697C, 0x6994, 0x6D6A, 0x6F0F, 0x7262, 0x72FC, 0x7BED, 0x8001, 0x807E, 0x874B, 0x90CE, 0x516D, 0x9E93, 0x7984, 0x808B, 0x9332, 0x8AD6, 0x502D, 0x548C, 0x8A71, 0x6B6A, 0x8CC4, 0x8107, 0x60D1, 0x67A0, 0x9DF2, 0x4E99, 0x4E98, 0x9C10, 0x8A6B, 0x85C1, 0x8568, 0x6900, 0x6E7E, 0x7897, 0x8155, 0xD842 /*0xDF9F*/, 0x5B41, 0x5B56, 0x5B7D, 0x5B93, 0x5BD8, 0x5BEC, 0x5C12, 0x5C1E, 0x5C23, 0x5C2B, 0x378D, 0x5C62, 0xFA3B, 0xFA3C, 0xD845 /*0xDEB4*/, 0x5C7A, 0x5C8F, 0x5C9F, 0x5CA3, 0x5CAA, 0x5CBA, 0x5CCB, 0x5CD0, 0x5CD2, 0x5CF4, 0xD847 /*0xDE34*/, 0x37E2, 0x5D0D, 0x5D27, 0xFA11, 0x5D46, 0x5D47, 0x5D53, 0x5D4A, 0x5D6D, 0x5D81, 0x5DA0, 0x5DA4, 0x5DA7, 0x5DB8, 0x5DCB, 0x541E, }; static const unsigned short euc_to_utf8_D0[] = { 0x5F0C, 0x4E10, 0x4E15, 0x4E2A, 0x4E31, 0x4E36, 0x4E3C, 0x4E3F, 0x4E42, 0x4E56, 0x4E58, 0x4E82, 0x4E85, 0x8C6B, 0x4E8A, 0x8212, 0x5F0D, 0x4E8E, 0x4E9E, 0x4E9F, 0x4EA0, 0x4EA2, 0x4EB0, 0x4EB3, 0x4EB6, 0x4ECE, 0x4ECD, 0x4EC4, 0x4EC6, 0x4EC2, 0x4ED7, 0x4EDE, 0x4EED, 0x4EDF, 0x4EF7, 0x4F09, 0x4F5A, 0x4F30, 0x4F5B, 0x4F5D, 0x4F57, 0x4F47, 0x4F76, 0x4F88, 0x4F8F, 0x4F98, 0x4F7B, 0x4F69, 0x4F70, 0x4F91, 0x4F6F, 0x4F86, 0x4F96, 0x5118, 0x4FD4, 0x4FDF, 0x4FCE, 0x4FD8, 0x4FDB, 0x4FD1, 0x4FDA, 0x4FD0, 0x4FE4, 0x4FE5, 0x501A, 0x5028, 0x5014, 0x502A, 0x5025, 0x5005, 0x4F1C, 0x4FF6, 0x5021, 0x5029, 0x502C, 0x4FFE, 0x4FEF, 0x5011, 0x5006, 0x5043, 0x5047, 0x6703, 0x5055, 0x5050, 0x5048, 0x505A, 0x5056, 0x506C, 0x5078, 0x5080, 0x509A, 0x5085, 0x50B4, 0x50B2, }; static const unsigned short euc_to_utf8_D1[] = { 0x50C9, 0x50CA, 0x50B3, 0x50C2, 0x50D6, 0x50DE, 0x50E5, 0x50ED, 0x50E3, 0x50EE, 0x50F9, 0x50F5, 0x5109, 0x5101, 0x5102, 0x5116, 0x5115, 0x5114, 0x511A, 0x5121, 0x513A, 0x5137, 0x513C, 0x513B, 0x513F, 0x5140, 0x5152, 0x514C, 0x5154, 0x5162, 0x7AF8, 0x5169, 0x516A, 0x516E, 0x5180, 0x5182, 0x56D8, 0x518C, 0x5189, 0x518F, 0x5191, 0x5193, 0x5195, 0x5196, 0x51A4, 0x51A6, 0x51A2, 0x51A9, 0x51AA, 0x51AB, 0x51B3, 0x51B1, 0x51B2, 0x51B0, 0x51B5, 0x51BD, 0x51C5, 0x51C9, 0x51DB, 0x51E0, 0x8655, 0x51E9, 0x51ED, 0x51F0, 0x51F5, 0x51FE, 0x5204, 0x520B, 0x5214, 0x520E, 0x5227, 0x522A, 0x522E, 0x5233, 0x5239, 0x524F, 0x5244, 0x524B, 0x524C, 0x525E, 0x5254, 0x526A, 0x5274, 0x5269, 0x5273, 0x527F, 0x527D, 0x528D, 0x5294, 0x5292, 0x5271, 0x5288, 0x5291, 0x8FA8, }; static const unsigned short euc_to_utf8_D2[] = { 0x8FA7, 0x52AC, 0x52AD, 0x52BC, 0x52B5, 0x52C1, 0x52CD, 0x52D7, 0x52DE, 0x52E3, 0x52E6, 0x98ED, 0x52E0, 0x52F3, 0x52F5, 0x52F8, 0x52F9, 0x5306, 0x5308, 0x7538, 0x530D, 0x5310, 0x530F, 0x5315, 0x531A, 0x5323, 0x532F, 0x5331, 0x5333, 0x5338, 0x5340, 0x5346, 0x5345, 0x4E17, 0x5349, 0x534D, 0x51D6, 0x535E, 0x5369, 0x536E, 0x5918, 0x537B, 0x5377, 0x5382, 0x5396, 0x53A0, 0x53A6, 0x53A5, 0x53AE, 0x53B0, 0x53B6, 0x53C3, 0x7C12, 0x96D9, 0x53DF, 0x66FC, 0x71EE, 0x53EE, 0x53E8, 0x53ED, 0x53FA, 0x5401, 0x543D, 0x5440, 0x542C, 0x542D, 0x543C, 0x542E, 0x5436, 0x5429, 0x541D, 0x544E, 0x548F, 0x5475, 0x548E, 0x545F, 0x5471, 0x5477, 0x5470, 0x5492, 0x547B, 0x5480, 0x5476, 0x5484, 0x5490, 0x5486, 0x54C7, 0x54A2, 0x54B8, 0x54A5, 0x54AC, 0x54C4, 0x54C8, 0x54A8, }; static const unsigned short euc_to_utf8_D3[] = { 0x54AB, 0x54C2, 0x54A4, 0x54BE, 0x54BC, 0x54D8, 0x54E5, 0x54E6, 0x550F, 0x5514, 0x54FD, 0x54EE, 0x54ED, 0x54FA, 0x54E2, 0x5539, 0x5540, 0x5563, 0x554C, 0x552E, 0x555C, 0x5545, 0x5556, 0x5557, 0x5538, 0x5533, 0x555D, 0x5599, 0x5580, 0x54AF, 0x558A, 0x559F, 0x557B, 0x557E, 0x5598, 0x559E, 0x55AE, 0x557C, 0x5583, 0x55A9, 0x5587, 0x55A8, 0x55DA, 0x55C5, 0x55DF, 0x55C4, 0x55DC, 0x55E4, 0x55D4, 0x5614, 0x55F7, 0x5616, 0x55FE, 0x55FD, 0x561B, 0x55F9, 0x564E, 0x5650, 0x71DF, 0x5634, 0x5636, 0x5632, 0x5638, 0x566B, 0x5664, 0x562F, 0x566C, 0x566A, 0x5686, 0x5680, 0x568A, 0x56A0, 0x5694, 0x568F, 0x56A5, 0x56AE, 0x56B6, 0x56B4, 0x56C2, 0x56BC, 0x56C1, 0x56C3, 0x56C0, 0x56C8, 0x56CE, 0x56D1, 0x56D3, 0x56D7, 0x56EE, 0x56F9, 0x5700, 0x56FF, 0x5704, 0x5709, }; static const unsigned short euc_to_utf8_D4[] = { 0x5708, 0x570B, 0x570D, 0x5713, 0x5718, 0x5716, 0x55C7, 0x571C, 0x5726, 0x5737, 0x5738, 0x574E, 0x573B, 0x5740, 0x574F, 0x5769, 0x57C0, 0x5788, 0x5761, 0x577F, 0x5789, 0x5793, 0x57A0, 0x57B3, 0x57A4, 0x57AA, 0x57B0, 0x57C3, 0x57C6, 0x57D4, 0x57D2, 0x57D3, 0x580A, 0x57D6, 0x57E3, 0x580B, 0x5819, 0x581D, 0x5872, 0x5821, 0x5862, 0x584B, 0x5870, 0x6BC0, 0x5852, 0x583D, 0x5879, 0x5885, 0x58B9, 0x589F, 0x58AB, 0x58BA, 0x58DE, 0x58BB, 0x58B8, 0x58AE, 0x58C5, 0x58D3, 0x58D1, 0x58D7, 0x58D9, 0x58D8, 0x58E5, 0x58DC, 0x58E4, 0x58DF, 0x58EF, 0x58FA, 0x58F9, 0x58FB, 0x58FC, 0x58FD, 0x5902, 0x590A, 0x5910, 0x591B, 0x68A6, 0x5925, 0x592C, 0x592D, 0x5932, 0x5938, 0x593E, 0x7AD2, 0x5955, 0x5950, 0x594E, 0x595A, 0x5958, 0x5962, 0x5960, 0x5967, 0x596C, 0x5969, }; static const unsigned short euc_to_utf8_D5[] = { 0x5978, 0x5981, 0x599D, 0x4F5E, 0x4FAB, 0x59A3, 0x59B2, 0x59C6, 0x59E8, 0x59DC, 0x598D, 0x59D9, 0x59DA, 0x5A25, 0x5A1F, 0x5A11, 0x5A1C, 0x5A09, 0x5A1A, 0x5A40, 0x5A6C, 0x5A49, 0x5A35, 0x5A36, 0x5A62, 0x5A6A, 0x5A9A, 0x5ABC, 0x5ABE, 0x5ACB, 0x5AC2, 0x5ABD, 0x5AE3, 0x5AD7, 0x5AE6, 0x5AE9, 0x5AD6, 0x5AFA, 0x5AFB, 0x5B0C, 0x5B0B, 0x5B16, 0x5B32, 0x5AD0, 0x5B2A, 0x5B36, 0x5B3E, 0x5B43, 0x5B45, 0x5B40, 0x5B51, 0x5B55, 0x5B5A, 0x5B5B, 0x5B65, 0x5B69, 0x5B70, 0x5B73, 0x5B75, 0x5B78, 0x6588, 0x5B7A, 0x5B80, 0x5B83, 0x5BA6, 0x5BB8, 0x5BC3, 0x5BC7, 0x5BC9, 0x5BD4, 0x5BD0, 0x5BE4, 0x5BE6, 0x5BE2, 0x5BDE, 0x5BE5, 0x5BEB, 0x5BF0, 0x5BF6, 0x5BF3, 0x5C05, 0x5C07, 0x5C08, 0x5C0D, 0x5C13, 0x5C20, 0x5C22, 0x5C28, 0x5C38, 0x5C39, 0x5C41, 0x5C46, 0x5C4E, 0x5C53, }; static const unsigned short euc_to_utf8_D6[] = { 0x5C50, 0x5C4F, 0x5B71, 0x5C6C, 0x5C6E, 0x4E62, 0x5C76, 0x5C79, 0x5C8C, 0x5C91, 0x5C94, 0x599B, 0x5CAB, 0x5CBB, 0x5CB6, 0x5CBC, 0x5CB7, 0x5CC5, 0x5CBE, 0x5CC7, 0x5CD9, 0x5CE9, 0x5CFD, 0x5CFA, 0x5CED, 0x5D8C, 0x5CEA, 0x5D0B, 0x5D15, 0x5D17, 0x5D5C, 0x5D1F, 0x5D1B, 0x5D11, 0x5D14, 0x5D22, 0x5D1A, 0x5D19, 0x5D18, 0x5D4C, 0x5D52, 0x5D4E, 0x5D4B, 0x5D6C, 0x5D73, 0x5D76, 0x5D87, 0x5D84, 0x5D82, 0x5DA2, 0x5D9D, 0x5DAC, 0x5DAE, 0x5DBD, 0x5D90, 0x5DB7, 0x5DBC, 0x5DC9, 0x5DCD, 0x5DD3, 0x5DD2, 0x5DD6, 0x5DDB, 0x5DEB, 0x5DF2, 0x5DF5, 0x5E0B, 0x5E1A, 0x5E19, 0x5E11, 0x5E1B, 0x5E36, 0x5E37, 0x5E44, 0x5E43, 0x5E40, 0x5E4E, 0x5E57, 0x5E54, 0x5E5F, 0x5E62, 0x5E64, 0x5E47, 0x5E75, 0x5E76, 0x5E7A, 0x9EBC, 0x5E7F, 0x5EA0, 0x5EC1, 0x5EC2, 0x5EC8, 0x5ED0, 0x5ECF, }; static const unsigned short euc_to_utf8_D7[] = { 0x5ED6, 0x5EE3, 0x5EDD, 0x5EDA, 0x5EDB, 0x5EE2, 0x5EE1, 0x5EE8, 0x5EE9, 0x5EEC, 0x5EF1, 0x5EF3, 0x5EF0, 0x5EF4, 0x5EF8, 0x5EFE, 0x5F03, 0x5F09, 0x5F5D, 0x5F5C, 0x5F0B, 0x5F11, 0x5F16, 0x5F29, 0x5F2D, 0x5F38, 0x5F41, 0x5F48, 0x5F4C, 0x5F4E, 0x5F2F, 0x5F51, 0x5F56, 0x5F57, 0x5F59, 0x5F61, 0x5F6D, 0x5F73, 0x5F77, 0x5F83, 0x5F82, 0x5F7F, 0x5F8A, 0x5F88, 0x5F91, 0x5F87, 0x5F9E, 0x5F99, 0x5F98, 0x5FA0, 0x5FA8, 0x5FAD, 0x5FBC, 0x5FD6, 0x5FFB, 0x5FE4, 0x5FF8, 0x5FF1, 0x5FDD, 0x60B3, 0x5FFF, 0x6021, 0x6060, 0x6019, 0x6010, 0x6029, 0x600E, 0x6031, 0x601B, 0x6015, 0x602B, 0x6026, 0x600F, 0x603A, 0x605A, 0x6041, 0x606A, 0x6077, 0x605F, 0x604A, 0x6046, 0x604D, 0x6063, 0x6043, 0x6064, 0x6042, 0x606C, 0x606B, 0x6059, 0x6081, 0x608D, 0x60E7, 0x6083, 0x609A, }; static const unsigned short euc_to_utf8_D8[] = { 0x6084, 0x609B, 0x6096, 0x6097, 0x6092, 0x60A7, 0x608B, 0x60E1, 0x60B8, 0x60E0, 0x60D3, 0x60B4, 0x5FF0, 0x60BD, 0x60C6, 0x60B5, 0x60D8, 0x614D, 0x6115, 0x6106, 0x60F6, 0x60F7, 0x6100, 0x60F4, 0x60FA, 0x6103, 0x6121, 0x60FB, 0x60F1, 0x610D, 0x610E, 0x6147, 0x613E, 0x6128, 0x6127, 0x614A, 0x613F, 0x613C, 0x612C, 0x6134, 0x613D, 0x6142, 0x6144, 0x6173, 0x6177, 0x6158, 0x6159, 0x615A, 0x616B, 0x6174, 0x616F, 0x6165, 0x6171, 0x615F, 0x615D, 0x6153, 0x6175, 0x6199, 0x6196, 0x6187, 0x61AC, 0x6194, 0x619A, 0x618A, 0x6191, 0x61AB, 0x61AE, 0x61CC, 0x61CA, 0x61C9, 0x61F7, 0x61C8, 0x61C3, 0x61C6, 0x61BA, 0x61CB, 0x7F79, 0x61CD, 0x61E6, 0x61E3, 0x61F6, 0x61FA, 0x61F4, 0x61FF, 0x61FD, 0x61FC, 0x61FE, 0x6200, 0x6208, 0x6209, 0x620D, 0x620C, 0x6214, 0x621B, }; static const unsigned short euc_to_utf8_D9[] = { 0x621E, 0x6221, 0x622A, 0x622E, 0x6230, 0x6232, 0x6233, 0x6241, 0x624E, 0x625E, 0x6263, 0x625B, 0x6260, 0x6268, 0x627C, 0x6282, 0x6289, 0x627E, 0x6292, 0x6293, 0x6296, 0x62D4, 0x6283, 0x6294, 0x62D7, 0x62D1, 0x62BB, 0x62CF, 0x62FF, 0x62C6, 0x64D4, 0x62C8, 0x62DC, 0x62CC, 0x62CA, 0x62C2, 0x62C7, 0x629B, 0x62C9, 0x630C, 0x62EE, 0x62F1, 0x6327, 0x6302, 0x6308, 0x62EF, 0x62F5, 0x6350, 0x633E, 0x634D, 0x641C, 0x634F, 0x6396, 0x638E, 0x6380, 0x63AB, 0x6376, 0x63A3, 0x638F, 0x6389, 0x639F, 0x63B5, 0x636B, 0x6369, 0x63BE, 0x63E9, 0x63C0, 0x63C6, 0x63E3, 0x63C9, 0x63D2, 0x63F6, 0x63C4, 0x6416, 0x6434, 0x6406, 0x6413, 0x6426, 0x6436, 0x651D, 0x6417, 0x6428, 0x640F, 0x6467, 0x646F, 0x6476, 0x644E, 0x652A, 0x6495, 0x6493, 0x64A5, 0x64A9, 0x6488, 0x64BC, }; static const unsigned short euc_to_utf8_DA[] = { 0x64DA, 0x64D2, 0x64C5, 0x64C7, 0x64BB, 0x64D8, 0x64C2, 0x64F1, 0x64E7, 0x8209, 0x64E0, 0x64E1, 0x62AC, 0x64E3, 0x64EF, 0x652C, 0x64F6, 0x64F4, 0x64F2, 0x64FA, 0x6500, 0x64FD, 0x6518, 0x651C, 0x6505, 0x6524, 0x6523, 0x652B, 0x6534, 0x6535, 0x6537, 0x6536, 0x6538, 0x754B, 0x6548, 0x6556, 0x6555, 0x654D, 0x6558, 0x655E, 0x655D, 0x6572, 0x6578, 0x6582, 0x6583, 0x8B8A, 0x659B, 0x659F, 0x65AB, 0x65B7, 0x65C3, 0x65C6, 0x65C1, 0x65C4, 0x65CC, 0x65D2, 0x65DB, 0x65D9, 0x65E0, 0x65E1, 0x65F1, 0x6772, 0x660A, 0x6603, 0x65FB, 0x6773, 0x6635, 0x6636, 0x6634, 0x661C, 0x664F, 0x6644, 0x6649, 0x6641, 0x665E, 0x665D, 0x6664, 0x6667, 0x6668, 0x665F, 0x6662, 0x6670, 0x6683, 0x6688, 0x668E, 0x6689, 0x6684, 0x6698, 0x669D, 0x66C1, 0x66B9, 0x66C9, 0x66BE, 0x66BC, }; static const unsigned short euc_to_utf8_DB[] = { 0x66C4, 0x66B8, 0x66D6, 0x66DA, 0x66E0, 0x663F, 0x66E6, 0x66E9, 0x66F0, 0x66F5, 0x66F7, 0x670F, 0x6716, 0x671E, 0x6726, 0x6727, 0x9738, 0x672E, 0x673F, 0x6736, 0x6741, 0x6738, 0x6737, 0x6746, 0x675E, 0x6760, 0x6759, 0x6763, 0x6764, 0x6789, 0x6770, 0x67A9, 0x677C, 0x676A, 0x678C, 0x678B, 0x67A6, 0x67A1, 0x6785, 0x67B7, 0x67EF, 0x67B4, 0x67EC, 0x67B3, 0x67E9, 0x67B8, 0x67E4, 0x67DE, 0x67DD, 0x67E2, 0x67EE, 0x67B9, 0x67CE, 0x67C6, 0x67E7, 0x6A9C, 0x681E, 0x6846, 0x6829, 0x6840, 0x684D, 0x6832, 0x684E, 0x68B3, 0x682B, 0x6859, 0x6863, 0x6877, 0x687F, 0x689F, 0x688F, 0x68AD, 0x6894, 0x689D, 0x689B, 0x6883, 0x6AAE, 0x68B9, 0x6874, 0x68B5, 0x68A0, 0x68BA, 0x690F, 0x688D, 0x687E, 0x6901, 0x68CA, 0x6908, 0x68D8, 0x6922, 0x6926, 0x68E1, 0x690C, 0x68CD, }; static const unsigned short euc_to_utf8_DC[] = { 0x68D4, 0x68E7, 0x68D5, 0x6936, 0x6912, 0x6904, 0x68D7, 0x68E3, 0x6925, 0x68F9, 0x68E0, 0x68EF, 0x6928, 0x692A, 0x691A, 0x6923, 0x6921, 0x68C6, 0x6979, 0x6977, 0x695C, 0x6978, 0x696B, 0x6954, 0x697E, 0x696E, 0x6939, 0x6974, 0x693D, 0x6959, 0x6930, 0x6961, 0x695E, 0x695D, 0x6981, 0x696A, 0x69B2, 0x69AE, 0x69D0, 0x69BF, 0x69C1, 0x69D3, 0x69BE, 0x69CE, 0x5BE8, 0x69CA, 0x69DD, 0x69BB, 0x69C3, 0x69A7, 0x6A2E, 0x6991, 0x69A0, 0x699C, 0x6995, 0x69B4, 0x69DE, 0x69E8, 0x6A02, 0x6A1B, 0x69FF, 0x6B0A, 0x69F9, 0x69F2, 0x69E7, 0x6A05, 0x69B1, 0x6A1E, 0x69ED, 0x6A14, 0x69EB, 0x6A0A, 0x6A12, 0x6AC1, 0x6A23, 0x6A13, 0x6A44, 0x6A0C, 0x6A72, 0x6A36, 0x6A78, 0x6A47, 0x6A62, 0x6A59, 0x6A66, 0x6A48, 0x6A38, 0x6A22, 0x6A90, 0x6A8D, 0x6AA0, 0x6A84, 0x6AA2, 0x6AA3, }; static const unsigned short euc_to_utf8_DD[] = { 0x6A97, 0x8617, 0x6ABB, 0x6AC3, 0x6AC2, 0x6AB8, 0x6AB3, 0x6AAC, 0x6ADE, 0x6AD1, 0x6ADF, 0x6AAA, 0x6ADA, 0x6AEA, 0x6AFB, 0x6B05, 0x8616, 0x6AFA, 0x6B12, 0x6B16, 0x9B31, 0x6B1F, 0x6B38, 0x6B37, 0x76DC, 0x6B39, 0x98EE, 0x6B47, 0x6B43, 0x6B49, 0x6B50, 0x6B59, 0x6B54, 0x6B5B, 0x6B5F, 0x6B61, 0x6B78, 0x6B79, 0x6B7F, 0x6B80, 0x6B84, 0x6B83, 0x6B8D, 0x6B98, 0x6B95, 0x6B9E, 0x6BA4, 0x6BAA, 0x6BAB, 0x6BAF, 0x6BB2, 0x6BB1, 0x6BB3, 0x6BB7, 0x6BBC, 0x6BC6, 0x6BCB, 0x6BD3, 0x6BDF, 0x6BEC, 0x6BEB, 0x6BF3, 0x6BEF, 0x9EBE, 0x6C08, 0x6C13, 0x6C14, 0x6C1B, 0x6C24, 0x6C23, 0x6C5E, 0x6C55, 0x6C62, 0x6C6A, 0x6C82, 0x6C8D, 0x6C9A, 0x6C81, 0x6C9B, 0x6C7E, 0x6C68, 0x6C73, 0x6C92, 0x6C90, 0x6CC4, 0x6CF1, 0x6CD3, 0x6CBD, 0x6CD7, 0x6CC5, 0x6CDD, 0x6CAE, 0x6CB1, 0x6CBE, }; static const unsigned short euc_to_utf8_DE[] = { 0x6CBA, 0x6CDB, 0x6CEF, 0x6CD9, 0x6CEA, 0x6D1F, 0x884D, 0x6D36, 0x6D2B, 0x6D3D, 0x6D38, 0x6D19, 0x6D35, 0x6D33, 0x6D12, 0x6D0C, 0x6D63, 0x6D93, 0x6D64, 0x6D5A, 0x6D79, 0x6D59, 0x6D8E, 0x6D95, 0x6FE4, 0x6D85, 0x6DF9, 0x6E15, 0x6E0A, 0x6DB5, 0x6DC7, 0x6DE6, 0x6DB8, 0x6DC6, 0x6DEC, 0x6DDE, 0x6DCC, 0x6DE8, 0x6DD2, 0x6DC5, 0x6DFA, 0x6DD9, 0x6DE4, 0x6DD5, 0x6DEA, 0x6DEE, 0x6E2D, 0x6E6E, 0x6E2E, 0x6E19, 0x6E72, 0x6E5F, 0x6E3E, 0x6E23, 0x6E6B, 0x6E2B, 0x6E76, 0x6E4D, 0x6E1F, 0x6E43, 0x6E3A, 0x6E4E, 0x6E24, 0x6EFF, 0x6E1D, 0x6E38, 0x6E82, 0x6EAA, 0x6E98, 0x6EC9, 0x6EB7, 0x6ED3, 0x6EBD, 0x6EAF, 0x6EC4, 0x6EB2, 0x6ED4, 0x6ED5, 0x6E8F, 0x6EA5, 0x6EC2, 0x6E9F, 0x6F41, 0x6F11, 0x704C, 0x6EEC, 0x6EF8, 0x6EFE, 0x6F3F, 0x6EF2, 0x6F31, 0x6EEF, 0x6F32, 0x6ECC, }; static const unsigned short euc_to_utf8_DF[] = { 0x6F3E, 0x6F13, 0x6EF7, 0x6F86, 0x6F7A, 0x6F78, 0x6F81, 0x6F80, 0x6F6F, 0x6F5B, 0x6FF3, 0x6F6D, 0x6F82, 0x6F7C, 0x6F58, 0x6F8E, 0x6F91, 0x6FC2, 0x6F66, 0x6FB3, 0x6FA3, 0x6FA1, 0x6FA4, 0x6FB9, 0x6FC6, 0x6FAA, 0x6FDF, 0x6FD5, 0x6FEC, 0x6FD4, 0x6FD8, 0x6FF1, 0x6FEE, 0x6FDB, 0x7009, 0x700B, 0x6FFA, 0x7011, 0x7001, 0x700F, 0x6FFE, 0x701B, 0x701A, 0x6F74, 0x701D, 0x7018, 0x701F, 0x7030, 0x703E, 0x7032, 0x7051, 0x7063, 0x7099, 0x7092, 0x70AF, 0x70F1, 0x70AC, 0x70B8, 0x70B3, 0x70AE, 0x70DF, 0x70CB, 0x70DD, 0x70D9, 0x7109, 0x70FD, 0x711C, 0x7119, 0x7165, 0x7155, 0x7188, 0x7166, 0x7162, 0x714C, 0x7156, 0x716C, 0x718F, 0x71FB, 0x7184, 0x7195, 0x71A8, 0x71AC, 0x71D7, 0x71B9, 0x71BE, 0x71D2, 0x71C9, 0x71D4, 0x71CE, 0x71E0, 0x71EC, 0x71E7, 0x71F5, 0x71FC, }; static const unsigned short euc_to_utf8_E0[] = { 0x71F9, 0x71FF, 0x720D, 0x7210, 0x721B, 0x7228, 0x722D, 0x722C, 0x7230, 0x7232, 0x723B, 0x723C, 0x723F, 0x7240, 0x7246, 0x724B, 0x7258, 0x7274, 0x727E, 0x7282, 0x7281, 0x7287, 0x7292, 0x7296, 0x72A2, 0x72A7, 0x72B9, 0x72B2, 0x72C3, 0x72C6, 0x72C4, 0x72CE, 0x72D2, 0x72E2, 0x72E0, 0x72E1, 0x72F9, 0x72F7, 0x500F, 0x7317, 0x730A, 0x731C, 0x7316, 0x731D, 0x7334, 0x732F, 0x7329, 0x7325, 0x733E, 0x734E, 0x734F, 0x9ED8, 0x7357, 0x736A, 0x7368, 0x7370, 0x7378, 0x7375, 0x737B, 0x737A, 0x73C8, 0x73B3, 0x73CE, 0x73BB, 0x73C0, 0x73E5, 0x73EE, 0x73DE, 0x74A2, 0x7405, 0x746F, 0x7425, 0x73F8, 0x7432, 0x743A, 0x7455, 0x743F, 0x745F, 0x7459, 0x7441, 0x745C, 0x7469, 0x7470, 0x7463, 0x746A, 0x7476, 0x747E, 0x748B, 0x749E, 0x74A7, 0x74CA, 0x74CF, 0x74D4, 0x73F1, }; static const unsigned short euc_to_utf8_E1[] = { 0x74E0, 0x74E3, 0x74E7, 0x74E9, 0x74EE, 0x74F2, 0x74F0, 0x74F1, 0x74F8, 0x74F7, 0x7504, 0x7503, 0x7505, 0x750C, 0x750E, 0x750D, 0x7515, 0x7513, 0x751E, 0x7526, 0x752C, 0x753C, 0x7544, 0x754D, 0x754A, 0x7549, 0x755B, 0x7546, 0x755A, 0x7569, 0x7564, 0x7567, 0x756B, 0x756D, 0x7578, 0x7576, 0x7586, 0x7587, 0x7574, 0x758A, 0x7589, 0x7582, 0x7594, 0x759A, 0x759D, 0x75A5, 0x75A3, 0x75C2, 0x75B3, 0x75C3, 0x75B5, 0x75BD, 0x75B8, 0x75BC, 0x75B1, 0x75CD, 0x75CA, 0x75D2, 0x75D9, 0x75E3, 0x75DE, 0x75FE, 0x75FF, 0x75FC, 0x7601, 0x75F0, 0x75FA, 0x75F2, 0x75F3, 0x760B, 0x760D, 0x7609, 0x761F, 0x7627, 0x7620, 0x7621, 0x7622, 0x7624, 0x7634, 0x7630, 0x763B, 0x7647, 0x7648, 0x7646, 0x765C, 0x7658, 0x7661, 0x7662, 0x7668, 0x7669, 0x766A, 0x7667, 0x766C, 0x7670, }; static const unsigned short euc_to_utf8_E2[] = { 0x7672, 0x7676, 0x7678, 0x767C, 0x7680, 0x7683, 0x7688, 0x768B, 0x768E, 0x7696, 0x7693, 0x7699, 0x769A, 0x76B0, 0x76B4, 0x76B8, 0x76B9, 0x76BA, 0x76C2, 0x76CD, 0x76D6, 0x76D2, 0x76DE, 0x76E1, 0x76E5, 0x76E7, 0x76EA, 0x862F, 0x76FB, 0x7708, 0x7707, 0x7704, 0x7729, 0x7724, 0x771E, 0x7725, 0x7726, 0x771B, 0x7737, 0x7738, 0x7747, 0x775A, 0x7768, 0x776B, 0x775B, 0x7765, 0x777F, 0x777E, 0x7779, 0x778E, 0x778B, 0x7791, 0x77A0, 0x779E, 0x77B0, 0x77B6, 0x77B9, 0x77BF, 0x77BC, 0x77BD, 0x77BB, 0x77C7, 0x77CD, 0x77D7, 0x77DA, 0x77DC, 0x77E3, 0x77EE, 0x77FC, 0x780C, 0x7812, 0x7926, 0x7820, 0x792A, 0x7845, 0x788E, 0x7874, 0x7886, 0x787C, 0x789A, 0x788C, 0x78A3, 0x78B5, 0x78AA, 0x78AF, 0x78D1, 0x78C6, 0x78CB, 0x78D4, 0x78BE, 0x78BC, 0x78C5, 0x78CA, 0x78EC, }; static const unsigned short euc_to_utf8_E3[] = { 0x78E7, 0x78DA, 0x78FD, 0x78F4, 0x7907, 0x7912, 0x7911, 0x7919, 0x792C, 0x792B, 0x7940, 0x7960, 0x7957, 0x795F, 0x795A, 0x7955, 0x7953, 0x797A, 0x797F, 0x798A, 0x799D, 0x79A7, 0x9F4B, 0x79AA, 0x79AE, 0x79B3, 0x79B9, 0x79BA, 0x79C9, 0x79D5, 0x79E7, 0x79EC, 0x79E1, 0x79E3, 0x7A08, 0x7A0D, 0x7A18, 0x7A19, 0x7A20, 0x7A1F, 0x7980, 0x7A31, 0x7A3B, 0x7A3E, 0x7A37, 0x7A43, 0x7A57, 0x7A49, 0x7A61, 0x7A62, 0x7A69, 0x9F9D, 0x7A70, 0x7A79, 0x7A7D, 0x7A88, 0x7A97, 0x7A95, 0x7A98, 0x7A96, 0x7AA9, 0x7AC8, 0x7AB0, 0x7AB6, 0x7AC5, 0x7AC4, 0x7ABF, 0x9083, 0x7AC7, 0x7ACA, 0x7ACD, 0x7ACF, 0x7AD5, 0x7AD3, 0x7AD9, 0x7ADA, 0x7ADD, 0x7AE1, 0x7AE2, 0x7AE6, 0x7AED, 0x7AF0, 0x7B02, 0x7B0F, 0x7B0A, 0x7B06, 0x7B33, 0x7B18, 0x7B19, 0x7B1E, 0x7B35, 0x7B28, 0x7B36, 0x7B50, }; static const unsigned short euc_to_utf8_E4[] = { 0x7B7A, 0x7B04, 0x7B4D, 0x7B0B, 0x7B4C, 0x7B45, 0x7B75, 0x7B65, 0x7B74, 0x7B67, 0x7B70, 0x7B71, 0x7B6C, 0x7B6E, 0x7B9D, 0x7B98, 0x7B9F, 0x7B8D, 0x7B9C, 0x7B9A, 0x7B8B, 0x7B92, 0x7B8F, 0x7B5D, 0x7B99, 0x7BCB, 0x7BC1, 0x7BCC, 0x7BCF, 0x7BB4, 0x7BC6, 0x7BDD, 0x7BE9, 0x7C11, 0x7C14, 0x7BE6, 0x7BE5, 0x7C60, 0x7C00, 0x7C07, 0x7C13, 0x7BF3, 0x7BF7, 0x7C17, 0x7C0D, 0x7BF6, 0x7C23, 0x7C27, 0x7C2A, 0x7C1F, 0x7C37, 0x7C2B, 0x7C3D, 0x7C4C, 0x7C43, 0x7C54, 0x7C4F, 0x7C40, 0x7C50, 0x7C58, 0x7C5F, 0x7C64, 0x7C56, 0x7C65, 0x7C6C, 0x7C75, 0x7C83, 0x7C90, 0x7CA4, 0x7CAD, 0x7CA2, 0x7CAB, 0x7CA1, 0x7CA8, 0x7CB3, 0x7CB2, 0x7CB1, 0x7CAE, 0x7CB9, 0x7CBD, 0x7CC0, 0x7CC5, 0x7CC2, 0x7CD8, 0x7CD2, 0x7CDC, 0x7CE2, 0x9B3B, 0x7CEF, 0x7CF2, 0x7CF4, 0x7CF6, 0x7CFA, 0x7D06, }; static const unsigned short euc_to_utf8_E5[] = { 0x7D02, 0x7D1C, 0x7D15, 0x7D0A, 0x7D45, 0x7D4B, 0x7D2E, 0x7D32, 0x7D3F, 0x7D35, 0x7D46, 0x7D73, 0x7D56, 0x7D4E, 0x7D72, 0x7D68, 0x7D6E, 0x7D4F, 0x7D63, 0x7D93, 0x7D89, 0x7D5B, 0x7D8F, 0x7D7D, 0x7D9B, 0x7DBA, 0x7DAE, 0x7DA3, 0x7DB5, 0x7DC7, 0x7DBD, 0x7DAB, 0x7E3D, 0x7DA2, 0x7DAF, 0x7DDC, 0x7DB8, 0x7D9F, 0x7DB0, 0x7DD8, 0x7DDD, 0x7DE4, 0x7DDE, 0x7DFB, 0x7DF2, 0x7DE1, 0x7E05, 0x7E0A, 0x7E23, 0x7E21, 0x7E12, 0x7E31, 0x7E1F, 0x7E09, 0x7E0B, 0x7E22, 0x7E46, 0x7E66, 0x7E3B, 0x7E35, 0x7E39, 0x7E43, 0x7E37, 0x7E32, 0x7E3A, 0x7E67, 0x7E5D, 0x7E56, 0x7E5E, 0x7E59, 0x7E5A, 0x7E79, 0x7E6A, 0x7E69, 0x7E7C, 0x7E7B, 0x7E83, 0x7DD5, 0x7E7D, 0x8FAE, 0x7E7F, 0x7E88, 0x7E89, 0x7E8C, 0x7E92, 0x7E90, 0x7E93, 0x7E94, 0x7E96, 0x7E8E, 0x7E9B, 0x7E9C, 0x7F38, 0x7F3A, }; static const unsigned short euc_to_utf8_E6[] = { 0x7F45, 0x7F4C, 0x7F4D, 0x7F4E, 0x7F50, 0x7F51, 0x7F55, 0x7F54, 0x7F58, 0x7F5F, 0x7F60, 0x7F68, 0x7F69, 0x7F67, 0x7F78, 0x7F82, 0x7F86, 0x7F83, 0x7F88, 0x7F87, 0x7F8C, 0x7F94, 0x7F9E, 0x7F9D, 0x7F9A, 0x7FA3, 0x7FAF, 0x7FB2, 0x7FB9, 0x7FAE, 0x7FB6, 0x7FB8, 0x8B71, 0x7FC5, 0x7FC6, 0x7FCA, 0x7FD5, 0x7FD4, 0x7FE1, 0x7FE6, 0x7FE9, 0x7FF3, 0x7FF9, 0x98DC, 0x8006, 0x8004, 0x800B, 0x8012, 0x8018, 0x8019, 0x801C, 0x8021, 0x8028, 0x803F, 0x803B, 0x804A, 0x8046, 0x8052, 0x8058, 0x805A, 0x805F, 0x8062, 0x8068, 0x8073, 0x8072, 0x8070, 0x8076, 0x8079, 0x807D, 0x807F, 0x8084, 0x8086, 0x8085, 0x809B, 0x8093, 0x809A, 0x80AD, 0x5190, 0x80AC, 0x80DB, 0x80E5, 0x80D9, 0x80DD, 0x80C4, 0x80DA, 0x80D6, 0x8109, 0x80EF, 0x80F1, 0x811B, 0x8129, 0x8123, 0x812F, 0x814B, }; static const unsigned short euc_to_utf8_E7[] = { 0x968B, 0x8146, 0x813E, 0x8153, 0x8151, 0x80FC, 0x8171, 0x816E, 0x8165, 0x8166, 0x8174, 0x8183, 0x8188, 0x818A, 0x8180, 0x8182, 0x81A0, 0x8195, 0x81A4, 0x81A3, 0x815F, 0x8193, 0x81A9, 0x81B0, 0x81B5, 0x81BE, 0x81B8, 0x81BD, 0x81C0, 0x81C2, 0x81BA, 0x81C9, 0x81CD, 0x81D1, 0x81D9, 0x81D8, 0x81C8, 0x81DA, 0x81DF, 0x81E0, 0x81E7, 0x81FA, 0x81FB, 0x81FE, 0x8201, 0x8202, 0x8205, 0x8207, 0x820A, 0x820D, 0x8210, 0x8216, 0x8229, 0x822B, 0x8238, 0x8233, 0x8240, 0x8259, 0x8258, 0x825D, 0x825A, 0x825F, 0x8264, 0x8262, 0x8268, 0x826A, 0x826B, 0x822E, 0x8271, 0x8277, 0x8278, 0x827E, 0x828D, 0x8292, 0x82AB, 0x829F, 0x82BB, 0x82AC, 0x82E1, 0x82E3, 0x82DF, 0x82D2, 0x82F4, 0x82F3, 0x82FA, 0x8393, 0x8303, 0x82FB, 0x82F9, 0x82DE, 0x8306, 0x82DC, 0x8309, 0x82D9, }; static const unsigned short euc_to_utf8_E8[] = { 0x8335, 0x8334, 0x8316, 0x8332, 0x8331, 0x8340, 0x8339, 0x8350, 0x8345, 0x832F, 0x832B, 0x8317, 0x8318, 0x8385, 0x839A, 0x83AA, 0x839F, 0x83A2, 0x8396, 0x8323, 0x838E, 0x8387, 0x838A, 0x837C, 0x83B5, 0x8373, 0x8375, 0x83A0, 0x8389, 0x83A8, 0x83F4, 0x8413, 0x83EB, 0x83CE, 0x83FD, 0x8403, 0x83D8, 0x840B, 0x83C1, 0x83F7, 0x8407, 0x83E0, 0x83F2, 0x840D, 0x8422, 0x8420, 0x83BD, 0x8438, 0x8506, 0x83FB, 0x846D, 0x842A, 0x843C, 0x855A, 0x8484, 0x8477, 0x846B, 0x84AD, 0x846E, 0x8482, 0x8469, 0x8446, 0x842C, 0x846F, 0x8479, 0x8435, 0x84CA, 0x8462, 0x84B9, 0x84BF, 0x849F, 0x84D9, 0x84CD, 0x84BB, 0x84DA, 0x84D0, 0x84C1, 0x84C6, 0x84D6, 0x84A1, 0x8521, 0x84FF, 0x84F4, 0x8517, 0x8518, 0x852C, 0x851F, 0x8515, 0x8514, 0x84FC, 0x8540, 0x8563, 0x8558, 0x8548, }; static const unsigned short euc_to_utf8_E9[] = { 0x8541, 0x8602, 0x854B, 0x8555, 0x8580, 0x85A4, 0x8588, 0x8591, 0x858A, 0x85A8, 0x856D, 0x8594, 0x859B, 0x85EA, 0x8587, 0x859C, 0x8577, 0x857E, 0x8590, 0x85C9, 0x85BA, 0x85CF, 0x85B9, 0x85D0, 0x85D5, 0x85DD, 0x85E5, 0x85DC, 0x85F9, 0x860A, 0x8613, 0x860B, 0x85FE, 0x85FA, 0x8606, 0x8622, 0x861A, 0x8630, 0x863F, 0x864D, 0x4E55, 0x8654, 0x865F, 0x8667, 0x8671, 0x8693, 0x86A3, 0x86A9, 0x86AA, 0x868B, 0x868C, 0x86B6, 0x86AF, 0x86C4, 0x86C6, 0x86B0, 0x86C9, 0x8823, 0x86AB, 0x86D4, 0x86DE, 0x86E9, 0x86EC, 0x86DF, 0x86DB, 0x86EF, 0x8712, 0x8706, 0x8708, 0x8700, 0x8703, 0x86FB, 0x8711, 0x8709, 0x870D, 0x86F9, 0x870A, 0x8734, 0x873F, 0x8737, 0x873B, 0x8725, 0x8729, 0x871A, 0x8760, 0x875F, 0x8778, 0x874C, 0x874E, 0x8774, 0x8757, 0x8768, 0x876E, 0x8759, }; static const unsigned short euc_to_utf8_EA[] = { 0x8753, 0x8763, 0x876A, 0x8805, 0x87A2, 0x879F, 0x8782, 0x87AF, 0x87CB, 0x87BD, 0x87C0, 0x87D0, 0x96D6, 0x87AB, 0x87C4, 0x87B3, 0x87C7, 0x87C6, 0x87BB, 0x87EF, 0x87F2, 0x87E0, 0x880F, 0x880D, 0x87FE, 0x87F6, 0x87F7, 0x880E, 0x87D2, 0x8811, 0x8816, 0x8815, 0x8822, 0x8821, 0x8831, 0x8836, 0x8839, 0x8827, 0x883B, 0x8844, 0x8842, 0x8852, 0x8859, 0x885E, 0x8862, 0x886B, 0x8881, 0x887E, 0x889E, 0x8875, 0x887D, 0x88B5, 0x8872, 0x8882, 0x8897, 0x8892, 0x88AE, 0x8899, 0x88A2, 0x888D, 0x88A4, 0x88B0, 0x88BF, 0x88B1, 0x88C3, 0x88C4, 0x88D4, 0x88D8, 0x88D9, 0x88DD, 0x88F9, 0x8902, 0x88FC, 0x88F4, 0x88E8, 0x88F2, 0x8904, 0x890C, 0x890A, 0x8913, 0x8943, 0x891E, 0x8925, 0x892A, 0x892B, 0x8941, 0x8944, 0x893B, 0x8936, 0x8938, 0x894C, 0x891D, 0x8960, 0x895E, }; static const unsigned short euc_to_utf8_EB[] = { 0x8966, 0x8964, 0x896D, 0x896A, 0x896F, 0x8974, 0x8977, 0x897E, 0x8983, 0x8988, 0x898A, 0x8993, 0x8998, 0x89A1, 0x89A9, 0x89A6, 0x89AC, 0x89AF, 0x89B2, 0x89BA, 0x89BD, 0x89BF, 0x89C0, 0x89DA, 0x89DC, 0x89DD, 0x89E7, 0x89F4, 0x89F8, 0x8A03, 0x8A16, 0x8A10, 0x8A0C, 0x8A1B, 0x8A1D, 0x8A25, 0x8A36, 0x8A41, 0x8A5B, 0x8A52, 0x8A46, 0x8A48, 0x8A7C, 0x8A6D, 0x8A6C, 0x8A62, 0x8A85, 0x8A82, 0x8A84, 0x8AA8, 0x8AA1, 0x8A91, 0x8AA5, 0x8AA6, 0x8A9A, 0x8AA3, 0x8AC4, 0x8ACD, 0x8AC2, 0x8ADA, 0x8AEB, 0x8AF3, 0x8AE7, 0x8AE4, 0x8AF1, 0x8B14, 0x8AE0, 0x8AE2, 0x8AF7, 0x8ADE, 0x8ADB, 0x8B0C, 0x8B07, 0x8B1A, 0x8AE1, 0x8B16, 0x8B10, 0x8B17, 0x8B20, 0x8B33, 0x97AB, 0x8B26, 0x8B2B, 0x8B3E, 0x8B28, 0x8B41, 0x8B4C, 0x8B4F, 0x8B4E, 0x8B49, 0x8B56, 0x8B5B, 0x8B5A, 0x8B6B, }; static const unsigned short euc_to_utf8_EC[] = { 0x8B5F, 0x8B6C, 0x8B6F, 0x8B74, 0x8B7D, 0x8B80, 0x8B8C, 0x8B8E, 0x8B92, 0x8B93, 0x8B96, 0x8B99, 0x8B9A, 0x8C3A, 0x8C41, 0x8C3F, 0x8C48, 0x8C4C, 0x8C4E, 0x8C50, 0x8C55, 0x8C62, 0x8C6C, 0x8C78, 0x8C7A, 0x8C82, 0x8C89, 0x8C85, 0x8C8A, 0x8C8D, 0x8C8E, 0x8C94, 0x8C7C, 0x8C98, 0x621D, 0x8CAD, 0x8CAA, 0x8CBD, 0x8CB2, 0x8CB3, 0x8CAE, 0x8CB6, 0x8CC8, 0x8CC1, 0x8CE4, 0x8CE3, 0x8CDA, 0x8CFD, 0x8CFA, 0x8CFB, 0x8D04, 0x8D05, 0x8D0A, 0x8D07, 0x8D0F, 0x8D0D, 0x8D10, 0x9F4E, 0x8D13, 0x8CCD, 0x8D14, 0x8D16, 0x8D67, 0x8D6D, 0x8D71, 0x8D73, 0x8D81, 0x8D99, 0x8DC2, 0x8DBE, 0x8DBA, 0x8DCF, 0x8DDA, 0x8DD6, 0x8DCC, 0x8DDB, 0x8DCB, 0x8DEA, 0x8DEB, 0x8DDF, 0x8DE3, 0x8DFC, 0x8E08, 0x8E09, 0x8DFF, 0x8E1D, 0x8E1E, 0x8E10, 0x8E1F, 0x8E42, 0x8E35, 0x8E30, 0x8E34, 0x8E4A, }; static const unsigned short euc_to_utf8_ED[] = { 0x8E47, 0x8E49, 0x8E4C, 0x8E50, 0x8E48, 0x8E59, 0x8E64, 0x8E60, 0x8E2A, 0x8E63, 0x8E55, 0x8E76, 0x8E72, 0x8E7C, 0x8E81, 0x8E87, 0x8E85, 0x8E84, 0x8E8B, 0x8E8A, 0x8E93, 0x8E91, 0x8E94, 0x8E99, 0x8EAA, 0x8EA1, 0x8EAC, 0x8EB0, 0x8EC6, 0x8EB1, 0x8EBE, 0x8EC5, 0x8EC8, 0x8ECB, 0x8EDB, 0x8EE3, 0x8EFC, 0x8EFB, 0x8EEB, 0x8EFE, 0x8F0A, 0x8F05, 0x8F15, 0x8F12, 0x8F19, 0x8F13, 0x8F1C, 0x8F1F, 0x8F1B, 0x8F0C, 0x8F26, 0x8F33, 0x8F3B, 0x8F39, 0x8F45, 0x8F42, 0x8F3E, 0x8F4C, 0x8F49, 0x8F46, 0x8F4E, 0x8F57, 0x8F5C, 0x8F62, 0x8F63, 0x8F64, 0x8F9C, 0x8F9F, 0x8FA3, 0x8FAD, 0x8FAF, 0x8FB7, 0x8FDA, 0x8FE5, 0x8FE2, 0x8FEA, 0x8FEF, 0x9087, 0x8FF4, 0x9005, 0x8FF9, 0x8FFA, 0x9011, 0x9015, 0x9021, 0x900D, 0x901E, 0x9016, 0x900B, 0x9027, 0x9036, 0x9035, 0x9039, 0x8FF8, }; static const unsigned short euc_to_utf8_EE[] = { 0x904F, 0x9050, 0x9051, 0x9052, 0x900E, 0x9049, 0x903E, 0x9056, 0x9058, 0x905E, 0x9068, 0x906F, 0x9076, 0x96A8, 0x9072, 0x9082, 0x907D, 0x9081, 0x9080, 0x908A, 0x9089, 0x908F, 0x90A8, 0x90AF, 0x90B1, 0x90B5, 0x90E2, 0x90E4, 0x6248, 0x90DB, 0x9102, 0x9112, 0x9119, 0x9132, 0x9130, 0x914A, 0x9156, 0x9158, 0x9163, 0x9165, 0x9169, 0x9173, 0x9172, 0x918B, 0x9189, 0x9182, 0x91A2, 0x91AB, 0x91AF, 0x91AA, 0x91B5, 0x91B4, 0x91BA, 0x91C0, 0x91C1, 0x91C9, 0x91CB, 0x91D0, 0x91D6, 0x91DF, 0x91E1, 0x91DB, 0x91FC, 0x91F5, 0x91F6, 0x921E, 0x91FF, 0x9214, 0x922C, 0x9215, 0x9211, 0x925E, 0x9257, 0x9245, 0x9249, 0x9264, 0x9248, 0x9295, 0x923F, 0x924B, 0x9250, 0x929C, 0x9296, 0x9293, 0x929B, 0x925A, 0x92CF, 0x92B9, 0x92B7, 0x92E9, 0x930F, 0x92FA, 0x9344, 0x932E, }; static const unsigned short euc_to_utf8_EF[] = { 0x9319, 0x9322, 0x931A, 0x9323, 0x933A, 0x9335, 0x933B, 0x935C, 0x9360, 0x937C, 0x936E, 0x9356, 0x93B0, 0x93AC, 0x93AD, 0x9394, 0x93B9, 0x93D6, 0x93D7, 0x93E8, 0x93E5, 0x93D8, 0x93C3, 0x93DD, 0x93D0, 0x93C8, 0x93E4, 0x941A, 0x9414, 0x9413, 0x9403, 0x9407, 0x9410, 0x9436, 0x942B, 0x9435, 0x9421, 0x943A, 0x9441, 0x9452, 0x9444, 0x945B, 0x9460, 0x9462, 0x945E, 0x946A, 0x9229, 0x9470, 0x9475, 0x9477, 0x947D, 0x945A, 0x947C, 0x947E, 0x9481, 0x947F, 0x9582, 0x9587, 0x958A, 0x9594, 0x9596, 0x9598, 0x9599, 0x95A0, 0x95A8, 0x95A7, 0x95AD, 0x95BC, 0x95BB, 0x95B9, 0x95BE, 0x95CA, 0x6FF6, 0x95C3, 0x95CD, 0x95CC, 0x95D5, 0x95D4, 0x95D6, 0x95DC, 0x95E1, 0x95E5, 0x95E2, 0x9621, 0x9628, 0x962E, 0x962F, 0x9642, 0x964C, 0x964F, 0x964B, 0x9677, 0x965C, 0x965E, }; static const unsigned short euc_to_utf8_F0[] = { 0x965D, 0x965F, 0x9666, 0x9672, 0x966C, 0x968D, 0x9698, 0x9695, 0x9697, 0x96AA, 0x96A7, 0x96B1, 0x96B2, 0x96B0, 0x96B4, 0x96B6, 0x96B8, 0x96B9, 0x96CE, 0x96CB, 0x96C9, 0x96CD, 0x894D, 0x96DC, 0x970D, 0x96D5, 0x96F9, 0x9704, 0x9706, 0x9708, 0x9713, 0x970E, 0x9711, 0x970F, 0x9716, 0x9719, 0x9724, 0x972A, 0x9730, 0x9739, 0x973D, 0x973E, 0x9744, 0x9746, 0x9748, 0x9742, 0x9749, 0x975C, 0x9760, 0x9764, 0x9766, 0x9768, 0x52D2, 0x976B, 0x9771, 0x9779, 0x9785, 0x977C, 0x9781, 0x977A, 0x9786, 0x978B, 0x978F, 0x9790, 0x979C, 0x97A8, 0x97A6, 0x97A3, 0x97B3, 0x97B4, 0x97C3, 0x97C6, 0x97C8, 0x97CB, 0x97DC, 0x97ED, 0x9F4F, 0x97F2, 0x7ADF, 0x97F6, 0x97F5, 0x980F, 0x980C, 0x9838, 0x9824, 0x9821, 0x9837, 0x983D, 0x9846, 0x984F, 0x984B, 0x986B, 0x986F, 0x9870, }; static const unsigned short euc_to_utf8_F1[] = { 0x9871, 0x9874, 0x9873, 0x98AA, 0x98AF, 0x98B1, 0x98B6, 0x98C4, 0x98C3, 0x98C6, 0x98E9, 0x98EB, 0x9903, 0x9909, 0x9912, 0x9914, 0x9918, 0x9921, 0x991D, 0x991E, 0x9924, 0x9920, 0x992C, 0x992E, 0x993D, 0x993E, 0x9942, 0x9949, 0x9945, 0x9950, 0x994B, 0x9951, 0x9952, 0x994C, 0x9955, 0x9997, 0x9998, 0x99A5, 0x99AD, 0x99AE, 0x99BC, 0x99DF, 0x99DB, 0x99DD, 0x99D8, 0x99D1, 0x99ED, 0x99EE, 0x99F1, 0x99F2, 0x99FB, 0x99F8, 0x9A01, 0x9A0F, 0x9A05, 0x99E2, 0x9A19, 0x9A2B, 0x9A37, 0x9A45, 0x9A42, 0x9A40, 0x9A43, 0x9A3E, 0x9A55, 0x9A4D, 0x9A5B, 0x9A57, 0x9A5F, 0x9A62, 0x9A65, 0x9A64, 0x9A69, 0x9A6B, 0x9A6A, 0x9AAD, 0x9AB0, 0x9ABC, 0x9AC0, 0x9ACF, 0x9AD1, 0x9AD3, 0x9AD4, 0x9ADE, 0x9ADF, 0x9AE2, 0x9AE3, 0x9AE6, 0x9AEF, 0x9AEB, 0x9AEE, 0x9AF4, 0x9AF1, 0x9AF7, }; static const unsigned short euc_to_utf8_F2[] = { 0x9AFB, 0x9B06, 0x9B18, 0x9B1A, 0x9B1F, 0x9B22, 0x9B23, 0x9B25, 0x9B27, 0x9B28, 0x9B29, 0x9B2A, 0x9B2E, 0x9B2F, 0x9B32, 0x9B44, 0x9B43, 0x9B4F, 0x9B4D, 0x9B4E, 0x9B51, 0x9B58, 0x9B74, 0x9B93, 0x9B83, 0x9B91, 0x9B96, 0x9B97, 0x9B9F, 0x9BA0, 0x9BA8, 0x9BB4, 0x9BC0, 0x9BCA, 0x9BB9, 0x9BC6, 0x9BCF, 0x9BD1, 0x9BD2, 0x9BE3, 0x9BE2, 0x9BE4, 0x9BD4, 0x9BE1, 0x9C3A, 0x9BF2, 0x9BF1, 0x9BF0, 0x9C15, 0x9C14, 0x9C09, 0x9C13, 0x9C0C, 0x9C06, 0x9C08, 0x9C12, 0x9C0A, 0x9C04, 0x9C2E, 0x9C1B, 0x9C25, 0x9C24, 0x9C21, 0x9C30, 0x9C47, 0x9C32, 0x9C46, 0x9C3E, 0x9C5A, 0x9C60, 0x9C67, 0x9C76, 0x9C78, 0x9CE7, 0x9CEC, 0x9CF0, 0x9D09, 0x9D08, 0x9CEB, 0x9D03, 0x9D06, 0x9D2A, 0x9D26, 0x9DAF, 0x9D23, 0x9D1F, 0x9D44, 0x9D15, 0x9D12, 0x9D41, 0x9D3F, 0x9D3E, 0x9D46, 0x9D48, }; static const unsigned short euc_to_utf8_F3[] = { 0x9D5D, 0x9D5E, 0x9D64, 0x9D51, 0x9D50, 0x9D59, 0x9D72, 0x9D89, 0x9D87, 0x9DAB, 0x9D6F, 0x9D7A, 0x9D9A, 0x9DA4, 0x9DA9, 0x9DB2, 0x9DC4, 0x9DC1, 0x9DBB, 0x9DB8, 0x9DBA, 0x9DC6, 0x9DCF, 0x9DC2, 0x9DD9, 0x9DD3, 0x9DF8, 0x9DE6, 0x9DED, 0x9DEF, 0x9DFD, 0x9E1A, 0x9E1B, 0x9E1E, 0x9E75, 0x9E79, 0x9E7D, 0x9E81, 0x9E88, 0x9E8B, 0x9E8C, 0x9E92, 0x9E95, 0x9E91, 0x9E9D, 0x9EA5, 0x9EA9, 0x9EB8, 0x9EAA, 0x9EAD, 0x9761, 0x9ECC, 0x9ECE, 0x9ECF, 0x9ED0, 0x9ED4, 0x9EDC, 0x9EDE, 0x9EDD, 0x9EE0, 0x9EE5, 0x9EE8, 0x9EEF, 0x9EF4, 0x9EF6, 0x9EF7, 0x9EF9, 0x9EFB, 0x9EFC, 0x9EFD, 0x9F07, 0x9F08, 0x76B7, 0x9F15, 0x9F21, 0x9F2C, 0x9F3E, 0x9F4A, 0x9F52, 0x9F54, 0x9F63, 0x9F5F, 0x9F60, 0x9F61, 0x9F66, 0x9F67, 0x9F6C, 0x9F6A, 0x9F77, 0x9F72, 0x9F76, 0x9F95, 0x9F9C, 0x9FA0, }; static const unsigned short euc_to_utf8_F4[] = { 0x582F, 0x69C7, 0x9059, 0x7464, 0x51DC, 0x7199, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, }; static const unsigned short euc_to_utf8_F4_x0213[] = { 0x582F, 0x69C7, 0x9059, 0x7464, 0x51DC, 0x7199, 0x5653, 0x5DE2, 0x5E14, 0x5E18, 0x5E58, 0x5E5E, 0x5EBE, 0xF928, 0x5ECB, 0x5EF9, 0x5F00, 0x5F02, 0x5F07, 0x5F1D, 0x5F23, 0x5F34, 0x5F36, 0x5F3D, 0x5F40, 0x5F45, 0x5F54, 0x5F58, 0x5F64, 0x5F67, 0x5F7D, 0x5F89, 0x5F9C, 0x5FA7, 0x5FAF, 0x5FB5, 0x5FB7, 0x5FC9, 0x5FDE, 0x5FE1, 0x5FE9, 0x600D, 0x6014, 0x6018, 0x6033, 0x6035, 0x6047, 0xFA3D, 0x609D, 0x609E, 0x60CB, 0x60D4, 0x60D5, 0x60DD, 0x60F8, 0x611C, 0x612B, 0x6130, 0x6137, 0xFA3E, 0x618D, 0xFA3F, 0x61BC, 0x61B9, 0xFA40, 0x6222, 0x623E, 0x6243, 0x6256, 0x625A, 0x626F, 0x6285, 0x62C4, 0x62D6, 0x62FC, 0x630A, 0x6318, 0x6339, 0x6343, 0x6365, 0x637C, 0x63E5, 0x63ED, 0x63F5, 0x6410, 0x6414, 0x6422, 0x6479, 0x6451, 0x6460, 0x646D, 0x64CE, 0x64BE, 0x64BF, }; static const unsigned short euc_to_utf8_F5[] = { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0xFE33, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0xFE31, 0, 0, 0, 0, 0, 0, 0, 0xFE30, 0, 0, 0, 0, 0xFE35, 0xFE36, 0xFE39, 0xFE3A, 0, 0, 0xFE37, 0xFE38, 0xFE3F, 0xFE40, 0xFE3D, 0xFE3E, 0xFE41, 0xFE42, 0xFE43, 0xFE44, 0xFE3B, 0xFE3C, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, }; static const unsigned short euc_to_utf8_F5_x0213[] = { 0x64C4, 0x64CA, 0x64D0, 0x64F7, 0x64FB, 0x6522, 0x6529, 0xFA41, 0x6567, 0x659D, 0xFA42, 0x6600, 0x6609, 0x6615, 0x661E, 0x663A, 0x6622, 0x6624, 0x662B, 0x6630, 0x6631, 0x6633, 0x66FB, 0x6648, 0x664C, 0xD84C /*0xDDC4*/, 0x6659, 0x665A, 0x6661, 0x6665, 0x6673, 0x6677, 0x6678, 0x668D, 0xFA43, 0x66A0, 0x66B2, 0x66BB, 0x66C6, 0x66C8, 0x3B22, 0x66DB, 0x66E8, 0x66FA, 0x6713, 0xF929, 0x6733, 0x6766, 0x6747, 0x6748, 0x677B, 0x6781, 0x6793, 0x6798, 0x679B, 0x67BB, 0x67F9, 0x67C0, 0x67D7, 0x67FC, 0x6801, 0x6852, 0x681D, 0x682C, 0x6831, 0x685B, 0x6872, 0x6875, 0xFA44, 0x68A3, 0x68A5, 0x68B2, 0x68C8, 0x68D0, 0x68E8, 0x68ED, 0x68F0, 0x68F1, 0x68FC, 0x690A, 0x6949, 0xD84D /*0xDDC4*/, 0x6935, 0x6942, 0x6957, 0x6963, 0x6964, 0x6968, 0x6980, 0xFA14, 0x69A5, 0x69AD, 0x69CF, 0x3BB6, }; static const unsigned short euc_to_utf8_F6_x0213[] = { 0x3BC3, 0x69E2, 0x69E9, 0x69EA, 0x69F5, 0x69F6, 0x6A0F, 0x6A15, 0xD84D /*0xDF3F*/, 0x6A3B, 0x6A3E, 0x6A45, 0x6A50, 0x6A56, 0x6A5B, 0x6A6B, 0x6A73, 0xD84D /*0xDF63*/, 0x6A89, 0x6A94, 0x6A9D, 0x6A9E, 0x6AA5, 0x6AE4, 0x6AE7, 0x3C0F, 0xF91D, 0x6B1B, 0x6B1E, 0x6B2C, 0x6B35, 0x6B46, 0x6B56, 0x6B60, 0x6B65, 0x6B67, 0x6B77, 0x6B82, 0x6BA9, 0x6BAD, 0xF970, 0x6BCF, 0x6BD6, 0x6BD7, 0x6BFF, 0x6C05, 0x6C10, 0x6C33, 0x6C59, 0x6C5C, 0x6CAA, 0x6C74, 0x6C76, 0x6C85, 0x6C86, 0x6C98, 0x6C9C, 0x6CFB, 0x6CC6, 0x6CD4, 0x6CE0, 0x6CEB, 0x6CEE, 0xD84F /*0xDCFE*/, 0x6D04, 0x6D0E, 0x6D2E, 0x6D31, 0x6D39, 0x6D3F, 0x6D58, 0x6D65, 0xFA45, 0x6D82, 0x6D87, 0x6D89, 0x6D94, 0x6DAA, 0x6DAC, 0x6DBF, 0x6DC4, 0x6DD6, 0x6DDA, 0x6DDB, 0x6DDD, 0x6DFC, 0xFA46, 0x6E34, 0x6E44, 0x6E5C, 0x6E5E, 0x6EAB, 0x6EB1, 0x6EC1, }; static const unsigned short euc_to_utf8_F7_x0213[] = { 0x6EC7, 0x6ECE, 0x6F10, 0x6F1A, 0xFA47, 0x6F2A, 0x6F2F, 0x6F33, 0x6F51, 0x6F59, 0x6F5E, 0x6F61, 0x6F62, 0x6F7E, 0x6F88, 0x6F8C, 0x6F8D, 0x6F94, 0x6FA0, 0x6FA7, 0x6FB6, 0x6FBC, 0x6FC7, 0x6FCA, 0x6FF9, 0x6FF0, 0x6FF5, 0x7005, 0x7006, 0x7028, 0x704A, 0x705D, 0x705E, 0x704E, 0x7064, 0x7075, 0x7085, 0x70A4, 0x70AB, 0x70B7, 0x70D4, 0x70D8, 0x70E4, 0x710F, 0x712B, 0x711E, 0x7120, 0x712E, 0x7130, 0x7146, 0x7147, 0x7151, 0xFA48, 0x7152, 0x715C, 0x7160, 0x7168, 0xFA15, 0x7185, 0x7187, 0x7192, 0x71C1, 0x71BA, 0x71C4, 0x71FE, 0x7200, 0x7215, 0x7255, 0x7256, 0x3E3F, 0x728D, 0x729B, 0x72BE, 0x72C0, 0x72FB, 0xD851 /*0xDFF1*/, 0x7327, 0x7328, 0xFA16, 0x7350, 0x7366, 0x737C, 0x7395, 0x739F, 0x73A0, 0x73A2, 0x73A6, 0x73AB, 0x73C9, 0x73CF, 0x73D6, 0x73D9, 0x73E3, 0x73E9, }; static const unsigned short euc_to_utf8_F8_x0213[] = { 0x7407, 0x740A, 0x741A, 0x741B, 0xFA4A, 0x7426, 0x7428, 0x742A, 0x742B, 0x742C, 0x742E, 0x742F, 0x7430, 0x7444, 0x7446, 0x7447, 0x744B, 0x7457, 0x7462, 0x746B, 0x746D, 0x7486, 0x7487, 0x7489, 0x7498, 0x749C, 0x749F, 0x74A3, 0x7490, 0x74A6, 0x74A8, 0x74A9, 0x74B5, 0x74BF, 0x74C8, 0x74C9, 0x74DA, 0x74FF, 0x7501, 0x7517, 0x752F, 0x756F, 0x7579, 0x7592, 0x3F72, 0x75CE, 0x75E4, 0x7600, 0x7602, 0x7608, 0x7615, 0x7616, 0x7619, 0x761E, 0x762D, 0x7635, 0x7643, 0x764B, 0x7664, 0x7665, 0x766D, 0x766F, 0x7671, 0x7681, 0x769B, 0x769D, 0x769E, 0x76A6, 0x76AA, 0x76B6, 0x76C5, 0x76CC, 0x76CE, 0x76D4, 0x76E6, 0x76F1, 0x76FC, 0x770A, 0x7719, 0x7734, 0x7736, 0x7746, 0x774D, 0x774E, 0x775C, 0x775F, 0x7762, 0x777A, 0x7780, 0x7794, 0x77AA, 0x77E0, 0x782D, 0xD855 /*0xDC8E*/, }; static const unsigned short euc_to_utf8_F9[] = { 0x7E8A, 0x891C, 0x9348, 0x9288, 0x84DC, 0x4FC9, 0x70BB, 0x6631, 0x68C8, 0x92F9, 0x66FB, 0x5F45, 0x4E28, 0x4EE1, 0x4EFC, 0x4F00, 0x4F03, 0x4F39, 0x4F56, 0x4F92, 0x4F8A, 0x4F9A, 0x4F94, 0x4FCD, 0x5040, 0x5022, 0x4FFF, 0x501E, 0x5046, 0x5070, 0x5042, 0x5094, 0x50F4, 0x50D8, 0x514A, 0x5164, 0x519D, 0x51BE, 0x51EC, 0x5215, 0x529C, 0x52A6, 0x52C0, 0x52DB, 0x5300, 0x5307, 0x5324, 0x5372, 0x5393, 0x53B2, 0x53DD, 0xFA0E, 0x549C, 0x548A, 0x54A9, 0x54FF, 0x5586, 0x5759, 0x5765, 0x57AC, 0x57C8, 0x57C7, 0xFA0F, 0xFA10, 0x589E, 0x58B2, 0x590B, 0x5953, 0x595B, 0x595D, 0x5963, 0x59A4, 0x59BA, 0x5B56, 0x5BC0, 0x752F, 0x5BD8, 0x5BEC, 0x5C1E, 0x5CA6, 0x5CBA, 0x5CF5, 0x5D27, 0x5D53, 0xFA11, 0x5D42, 0x5D6D, 0x5DB8, 0x5DB9, 0x5DD0, 0x5F21, 0x5F34, 0x5F67, 0x5FB7, }; static const unsigned short euc_to_utf8_F9_x0213[] = { 0x7843, 0x784E, 0x784F, 0x7851, 0x7868, 0x786E, 0xFA4B, 0x78B0, 0xD855 /*0xDD0E*/, 0x78AD, 0x78E4, 0x78F2, 0x7900, 0x78F7, 0x791C, 0x792E, 0x7931, 0x7934, 0xFA4C, 0xFA4D, 0x7945, 0x7946, 0xFA4E, 0xFA4F, 0xFA50, 0x795C, 0xFA51, 0xFA19, 0xFA1A, 0x7979, 0xFA52, 0xFA53, 0xFA1B, 0x7998, 0x79B1, 0x79B8, 0x79C8, 0x79CA, 0xD855 /*0xDF71*/, 0x79D4, 0x79DE, 0x79EB, 0x79ED, 0x7A03, 0xFA54, 0x7A39, 0x7A5D, 0x7A6D, 0xFA55, 0x7A85, 0x7AA0, 0xD856 /*0xDDC4*/, 0x7AB3, 0x7ABB, 0x7ACE, 0x7AEB, 0x7AFD, 0x7B12, 0x7B2D, 0x7B3B, 0x7B47, 0x7B4E, 0x7B60, 0x7B6D, 0x7B6F, 0x7B72, 0x7B9E, 0xFA56, 0x7BD7, 0x7BD9, 0x7C01, 0x7C31, 0x7C1E, 0x7C20, 0x7C33, 0x7C36, 0x4264, 0xD857 /*0xDDA1*/, 0x7C59, 0x7C6D, 0x7C79, 0x7C8F, 0x7C94, 0x7CA0, 0x7CBC, 0x7CD5, 0x7CD9, 0x7CDD, 0x7D07, 0x7D08, 0x7D13, 0x7D1D, 0x7D23, 0x7D31, }; static const unsigned short euc_to_utf8_FA[] = { 0x5FDE, 0x605D, 0x6085, 0x608A, 0x60DE, 0x60D5, 0x6120, 0x60F2, 0x6111, 0x6137, 0x6130, 0x6198, 0x6213, 0x62A6, 0x63F5, 0x6460, 0x649D, 0x64CE, 0x654E, 0x6600, 0x6615, 0x663B, 0x6609, 0x662E, 0x661E, 0x6624, 0x6665, 0x6657, 0x6659, 0xFA12, 0x6673, 0x6699, 0x66A0, 0x66B2, 0x66BF, 0x66FA, 0x670E, 0xF929, 0x6766, 0x67BB, 0x6852, 0x67C0, 0x6801, 0x6844, 0x68CF, 0xFA13, 0x6968, 0xFA14, 0x6998, 0x69E2, 0x6A30, 0x6A6B, 0x6A46, 0x6A73, 0x6A7E, 0x6AE2, 0x6AE4, 0x6BD6, 0x6C3F, 0x6C5C, 0x6C86, 0x6C6F, 0x6CDA, 0x6D04, 0x6D87, 0x6D6F, 0x6D96, 0x6DAC, 0x6DCF, 0x6DF8, 0x6DF2, 0x6DFC, 0x6E39, 0x6E5C, 0x6E27, 0x6E3C, 0x6EBF, 0x6F88, 0x6FB5, 0x6FF5, 0x7005, 0x7007, 0x7028, 0x7085, 0x70AB, 0x710F, 0x7104, 0x715C, 0x7146, 0x7147, 0xFA15, 0x71C1, 0x71FE, 0x72B1, }; static const unsigned short euc_to_utf8_FA_x0213[] = { 0x7D41, 0x7D48, 0x7D53, 0x7D5C, 0x7D7A, 0x7D83, 0x7D8B, 0x7DA0, 0x7DA6, 0x7DC2, 0x7DCC, 0x7DD6, 0x7DE3, 0xFA57, 0x7E28, 0x7E08, 0x7E11, 0x7E15, 0xFA59, 0x7E47, 0x7E52, 0x7E61, 0x7E8A, 0x7E8D, 0x7F47, 0xFA5A, 0x7F91, 0x7F97, 0x7FBF, 0x7FCE, 0x7FDB, 0x7FDF, 0x7FEC, 0x7FEE, 0x7FFA, 0xFA5B, 0x8014, 0x8026, 0x8035, 0x8037, 0x803C, 0x80CA, 0x80D7, 0x80E0, 0x80F3, 0x8118, 0x814A, 0x8160, 0x8167, 0x8168, 0x816D, 0x81BB, 0x81CA, 0x81CF, 0x81D7, 0xFA5C, 0x4453, 0x445B, 0x8260, 0x8274, 0xD85A /*0xDEFF*/, 0x828E, 0x82A1, 0x82A3, 0x82A4, 0x82A9, 0x82AE, 0x82B7, 0x82BE, 0x82BF, 0x82C6, 0x82D5, 0x82FD, 0x82FE, 0x8300, 0x8301, 0x8362, 0x8322, 0x832D, 0x833A, 0x8343, 0x8347, 0x8351, 0x8355, 0x837D, 0x8386, 0x8392, 0x8398, 0x83A7, 0x83A9, 0x83BF, 0x83C0, 0x83C7, 0x83CF, }; static const unsigned short euc_to_utf8_FB[] = { 0x72BE, 0x7324, 0xFA16, 0x7377, 0x73BD, 0x73C9, 0x73D6, 0x73E3, 0x73D2, 0x7407, 0x73F5, 0x7426, 0x742A, 0x7429, 0x742E, 0x7462, 0x7489, 0x749F, 0x7501, 0x756F, 0x7682, 0x769C, 0x769E, 0x769B, 0x76A6, 0xFA17, 0x7746, 0x52AF, 0x7821, 0x784E, 0x7864, 0x787A, 0x7930, 0xFA18, 0xFA19, 0xFA1A, 0x7994, 0xFA1B, 0x799B, 0x7AD1, 0x7AE7, 0xFA1C, 0x7AEB, 0x7B9E, 0xFA1D, 0x7D48, 0x7D5C, 0x7DB7, 0x7DA0, 0x7DD6, 0x7E52, 0x7F47, 0x7FA1, 0xFA1E, 0x8301, 0x8362, 0x837F, 0x83C7, 0x83F6, 0x8448, 0x84B4, 0x8553, 0x8559, 0x856B, 0xFA1F, 0x85B0, 0xFA20, 0xFA21, 0x8807, 0x88F5, 0x8A12, 0x8A37, 0x8A79, 0x8AA7, 0x8ABE, 0x8ADF, 0xFA22, 0x8AF6, 0x8B53, 0x8B7F, 0x8CF0, 0x8CF4, 0x8D12, 0x8D76, 0xFA23, 0x8ECF, 0xFA24, 0xFA25, 0x9067, 0x90DE, 0xFA26, 0x9115, 0x9127, 0x91DA, }; static const unsigned short euc_to_utf8_FB_x0213[] = { 0x83D1, 0x83E1, 0x83EA, 0x8401, 0x8406, 0x840A, 0xFA5F, 0x8448, 0x845F, 0x8470, 0x8473, 0x8485, 0x849E, 0x84AF, 0x84B4, 0x84BA, 0x84C0, 0x84C2, 0xD85B /*0xDE40*/, 0x8532, 0x851E, 0x8523, 0x852F, 0x8559, 0x8564, 0xFA1F, 0x85AD, 0x857A, 0x858C, 0x858F, 0x85A2, 0x85B0, 0x85CB, 0x85CE, 0x85ED, 0x8612, 0x85FF, 0x8604, 0x8605, 0x8610, 0xD85C /*0xDCF4*/, 0x8618, 0x8629, 0x8638, 0x8657, 0x865B, 0xF936, 0x8662, 0x459D, 0x866C, 0x8675, 0x8698, 0x86B8, 0x86FA, 0x86FC, 0x86FD, 0x870B, 0x8771, 0x8787, 0x8788, 0x87AC, 0x87AD, 0x87B5, 0x45EA, 0x87D6, 0x87EC, 0x8806, 0x880A, 0x8810, 0x8814, 0x881F, 0x8898, 0x88AA, 0x88CA, 0x88CE, 0xD85D /*0xDE84*/, 0x88F5, 0x891C, 0xFA60, 0x8918, 0x8919, 0x891A, 0x8927, 0x8930, 0x8932, 0x8939, 0x8940, 0x8994, 0xFA61, 0x89D4, 0x89E5, 0x89F6, 0x8A12, 0x8A15, }; static const unsigned short euc_to_utf8_FC[] = { 0x91D7, 0x91DE, 0x91ED, 0x91EE, 0x91E4, 0x91E5, 0x9206, 0x9210, 0x920A, 0x923A, 0x9240, 0x923C, 0x924E, 0x9259, 0x9251, 0x9239, 0x9267, 0x92A7, 0x9277, 0x9278, 0x92E7, 0x92D7, 0x92D9, 0x92D0, 0xFA27, 0x92D5, 0x92E0, 0x92D3, 0x9325, 0x9321, 0x92FB, 0xFA28, 0x931E, 0x92FF, 0x931D, 0x9302, 0x9370, 0x9357, 0x93A4, 0x93C6, 0x93DE, 0x93F8, 0x9431, 0x9445, 0x9448, 0x9592, 0xF9DC, 0xFA29, 0x969D, 0x96AF, 0x9733, 0x973B, 0x9743, 0x974D, 0x974F, 0x9751, 0x9755, 0x9857, 0x9865, 0xFA2A, 0xFA2B, 0x9927, 0xFA2C, 0x999E, 0x9A4E, 0x9AD9, 0x9ADC, 0x9B75, 0x9B72, 0x9B8F, 0x9BB1, 0x9BBB, 0x9C00, 0x9D70, 0x9D6B, 0xFA2D, 0x9E19, 0x9ED1, 0, 0, 0x2170, 0x2171, 0x2172, 0x2173, 0x2174, 0x2175, 0x2176, 0x2177, 0x2178, 0x2179, 0xFFE2, 0x00A6, 0xFF07, 0xFF02, }; /* Microsoft UCS Mapping Compatible */ static const unsigned short euc_to_utf8_FC_ms[] = { 0x91D7, 0x91DE, 0x91ED, 0x91EE, 0x91E4, 0x91E5, 0x9206, 0x9210, 0x920A, 0x923A, 0x9240, 0x923C, 0x924E, 0x9259, 0x9251, 0x9239, 0x9267, 0x92A7, 0x9277, 0x9278, 0x92E7, 0x92D7, 0x92D9, 0x92D0, 0xFA27, 0x92D5, 0x92E0, 0x92D3, 0x9325, 0x9321, 0x92FB, 0xFA28, 0x931E, 0x92FF, 0x931D, 0x9302, 0x9370, 0x9357, 0x93A4, 0x93C6, 0x93DE, 0x93F8, 0x9431, 0x9445, 0x9448, 0x9592, 0xF9DC, 0xFA29, 0x969D, 0x96AF, 0x9733, 0x973B, 0x9743, 0x974D, 0x974F, 0x9751, 0x9755, 0x9857, 0x9865, 0xFA2A, 0xFA2B, 0x9927, 0xFA2C, 0x999E, 0x9A4E, 0x9AD9, 0x9ADC, 0x9B75, 0x9B72, 0x9B8F, 0x9BB1, 0x9BBB, 0x9C00, 0x9D70, 0x9D6B, 0xFA2D, 0x9E19, 0x9ED1, 0, 0, 0x2170, 0x2171, 0x2172, 0x2173, 0x2174, 0x2175, 0x2176, 0x2177, 0x2178, 0x2179, 0xFFE2, 0xFFE4, 0xFF07, 0xFF02, }; static const unsigned short euc_to_utf8_FC_x0213[] = { 0x8A22, 0x8A37, 0x8A47, 0x8A4E, 0x8A5D, 0x8A61, 0x8A75, 0x8A79, 0x8AA7, 0x8AD0, 0x8ADF, 0x8AF4, 0x8AF6, 0xFA22, 0xFA62, 0xFA63, 0x8B46, 0x8B54, 0x8B59, 0x8B69, 0x8B9D, 0x8C49, 0x8C68, 0xFA64, 0x8CE1, 0x8CF4, 0x8CF8, 0x8CFE, 0xFA65, 0x8D12, 0x8D1B, 0x8DAF, 0x8DCE, 0x8DD1, 0x8DD7, 0x8E20, 0x8E23, 0x8E3D, 0x8E70, 0x8E7B, 0xD860 /*0xDE77*/, 0x8EC0, 0x4844, 0x8EFA, 0x8F1E, 0x8F2D, 0x8F36, 0x8F54, 0xD860 /*0xDFCD*/, 0x8FA6, 0x8FB5, 0x8FE4, 0x8FE8, 0x8FEE, 0x9008, 0x902D, 0xFA67, 0x9088, 0x9095, 0x9097, 0x9099, 0x909B, 0x90A2, 0x90B3, 0x90BE, 0x90C4, 0x90C5, 0x90C7, 0x90D7, 0x90DD, 0x90DE, 0x90EF, 0x90F4, 0xFA26, 0x9114, 0x9115, 0x9116, 0x9122, 0x9123, 0x9127, 0x912F, 0x9131, 0x9134, 0x913D, 0x9148, 0x915B, 0x9183, 0x919E, 0x91AC, 0x91B1, 0x91BC, 0x91D7, 0x91FB, 0x91E4, }; static const unsigned short euc_to_utf8_FD_x0213[] = { 0x91E5, 0x91ED, 0x91F1, 0x9207, 0x9210, 0x9238, 0x9239, 0x923A, 0x923C, 0x9240, 0x9243, 0x924F, 0x9278, 0x9288, 0x92C2, 0x92CB, 0x92CC, 0x92D3, 0x92E0, 0x92FF, 0x9304, 0x931F, 0x9321, 0x9325, 0x9348, 0x9349, 0x934A, 0x9364, 0x9365, 0x936A, 0x9370, 0x939B, 0x93A3, 0x93BA, 0x93C6, 0x93DE, 0x93DF, 0x9404, 0x93FD, 0x9433, 0x944A, 0x9463, 0x946B, 0x9471, 0x9472, 0x958E, 0x959F, 0x95A6, 0x95A9, 0x95AC, 0x95B6, 0x95BD, 0x95CB, 0x95D0, 0x95D3, 0x49B0, 0x95DA, 0x95DE, 0x9658, 0x9684, 0xF9DC, 0x969D, 0x96A4, 0x96A5, 0x96D2, 0x96DE, 0xFA68, 0x96E9, 0x96EF, 0x9733, 0x973B, 0x974D, 0x974E, 0x974F, 0x975A, 0x976E, 0x9773, 0x9795, 0x97AE, 0x97BA, 0x97C1, 0x97C9, 0x97DE, 0x97DB, 0x97F4, 0xFA69, 0x980A, 0x981E, 0x982B, 0x9830, 0xFA6A, 0x9852, 0x9853, 0x9856, }; static const unsigned short euc_to_utf8_FE_x0213[] = { 0x9857, 0x9859, 0x985A, 0xF9D0, 0x9865, 0x986C, 0x98BA, 0x98C8, 0x98E7, 0x9958, 0x999E, 0x9A02, 0x9A03, 0x9A24, 0x9A2D, 0x9A2E, 0x9A38, 0x9A4A, 0x9A4E, 0x9A52, 0x9AB6, 0x9AC1, 0x9AC3, 0x9ACE, 0x9AD6, 0x9AF9, 0x9B02, 0x9B08, 0x9B20, 0x4C17, 0x9B2D, 0x9B5E, 0x9B79, 0x9B66, 0x9B72, 0x9B75, 0x9B84, 0x9B8A, 0x9B8F, 0x9B9E, 0x9BA7, 0x9BC1, 0x9BCE, 0x9BE5, 0x9BF8, 0x9BFD, 0x9C00, 0x9C23, 0x9C41, 0x9C4F, 0x9C50, 0x9C53, 0x9C63, 0x9C65, 0x9C77, 0x9D1D, 0x9D1E, 0x9D43, 0x9D47, 0x9D52, 0x9D63, 0x9D70, 0x9D7C, 0x9D8A, 0x9D96, 0x9DC0, 0x9DAC, 0x9DBC, 0x9DD7, 0xD868 /*0xDD90*/, 0x9DE7, 0x9E07, 0x9E15, 0x9E7C, 0x9E9E, 0x9EA4, 0x9EAC, 0x9EAF, 0x9EB4, 0x9EB5, 0x9EC3, 0x9ED1, 0x9F10, 0x9F39, 0x9F57, 0x9F90, 0x9F94, 0x9F97, 0x9FA2, 0x59F8, 0x5C5B, 0x5E77, 0x7626, 0x7E6B, }; static const unsigned short euc_to_utf8_8FA1_x0213[] = { 0xD840 /*0xDC89*/, 0x4E02, 0x4E0F, 0x4E12, 0x4E29, 0x4E2B, 0x4E2E, 0x4E40, 0x4E47, 0x4E48, 0xD840 /*0xDCA2*/, 0x4E51, 0x3406, 0xD840 /*0xDCA4*/, 0x4E5A, 0x4E69, 0x4E9D, 0x342C, 0x342E, 0x4EB9, 0x4EBB, 0xD840 /*0xDDA2*/, 0x4EBC, 0x4EC3, 0x4EC8, 0x4ED0, 0x4EEB, 0x4EDA, 0x4EF1, 0x4EF5, 0x4F00, 0x4F16, 0x4F64, 0x4F37, 0x4F3E, 0x4F54, 0x4F58, 0xD840 /*0xDE13*/, 0x4F77, 0x4F78, 0x4F7A, 0x4F7D, 0x4F82, 0x4F85, 0x4F92, 0x4F9A, 0x4FE6, 0x4FB2, 0x4FBE, 0x4FC5, 0x4FCB, 0x4FCF, 0x4FD2, 0x346A, 0x4FF2, 0x5000, 0x5010, 0x5013, 0x501C, 0x501E, 0x5022, 0x3468, 0x5042, 0x5046, 0x504E, 0x5053, 0x5057, 0x5063, 0x5066, 0x506A, 0x5070, 0x50A3, 0x5088, 0x5092, 0x5093, 0x5095, 0x5096, 0x509C, 0x50AA, 0xD840 /*0xDF2B*/, 0x50B1, 0x50BA, 0x50BB, 0x50C4, 0x50C7, 0x50F3, 0xD840 /*0xDF81*/, 0x50CE, 0xD840 /*0xDF71*/, 0x50D4, 0x50D9, 0x50E1, 0x50E9, 0x3492, }; static const unsigned short euc_to_utf8_8FA3_x0213[] = { 0x5108, 0xD840 /*0xDFF9*/, 0x5117, 0x511B, 0xD841 /*0xDC4A*/, 0x5160, 0xD841 /*0xDD09*/, 0x5173, 0x5183, 0x518B, 0x34BC, 0x5198, 0x51A3, 0x51AD, 0x34C7, 0x51BC, 0xD841 /*0xDDD6*/, 0xD841 /*0xDE28*/, 0x51F3, 0x51F4, 0x5202, 0x5212, 0x5216, 0xD841 /*0xDF4F*/, 0x5255, 0x525C, 0x526C, 0x5277, 0x5284, 0x5282, 0xD842 /*0xDC07*/, 0x5298, 0xD842 /*0xDC3A*/, 0x52A4, 0x52A6, 0x52AF, 0x52BA, 0x52BB, 0x52CA, 0x351F, 0x52D1, 0xD842 /*0xDCB9*/, 0x52F7, 0x530A, 0x530B, 0x5324, 0x5335, 0x533E, 0x5342, 0xD842 /*0xDD7C*/, 0xD842 /*0xDD9D*/, 0x5367, 0x536C, 0x537A, 0x53A4, 0x53B4, 0xD842 /*0xDED3*/, 0x53B7, 0x53C0, 0xD842 /*0xDF1D*/, 0x355D, 0x355E, 0x53D5, 0x53DA, 0x3563, 0x53F4, 0x53F5, 0x5455, 0x5424, 0x5428, 0x356E, 0x5443, 0x5462, 0x5466, 0x546C, 0x548A, 0x548D, 0x5495, 0x54A0, 0x54A6, 0x54AD, 0x54AE, 0x54B7, 0x54BA, 0x54BF, 0x54C3, 0xD843 /*0xDD45*/, 0x54EC, 0x54EF, 0x54F1, 0x54F3, 0x5500, 0x5501, 0x5509, }; static const unsigned short euc_to_utf8_8FA4_x0213[] = { 0x553C, 0x5541, 0x35A6, 0x5547, 0x554A, 0x35A8, 0x5560, 0x5561, 0x5564, 0xD843 /*0xDDE1*/, 0x557D, 0x5582, 0x5588, 0x5591, 0x35C5, 0x55D2, 0xD843 /*0xDE95*/, 0xD843 /*0xDE6D*/, 0x55BF, 0x55C9, 0x55CC, 0x55D1, 0x55DD, 0x35DA, 0x55E2, 0xD843 /*0xDE64*/, 0x55E9, 0x5628, 0xD843 /*0xDF5F*/, 0x5607, 0x5610, 0x5630, 0x5637, 0x35F4, 0x563D, 0x563F, 0x5640, 0x5647, 0x565E, 0x5660, 0x566D, 0x3605, 0x5688, 0x568C, 0x5695, 0x569A, 0x569D, 0x56A8, 0x56AD, 0x56B2, 0x56C5, 0x56CD, 0x56DF, 0x56E8, 0x56F6, 0x56F7, 0xD844 /*0xDE01*/, 0x5715, 0x5723, 0xD844 /*0xDE55*/, 0x5729, 0xD844 /*0xDE7B*/, 0x5745, 0x5746, 0x574C, 0x574D, 0xD844 /*0xDE74*/, 0x5768, 0x576F, 0x5773, 0x5774, 0x5775, 0x577B, 0xD844 /*0xDEE4*/, 0xD844 /*0xDED7*/, 0x57AC, 0x579A, 0x579D, 0x579E, 0x57A8, 0x57D7, 0xD844 /*0xDEFD*/, 0x57CC, 0xD844 /*0xDF36*/, 0xD844 /*0xDF44*/, 0x57DE, 0x57E6, 0x57F0, 0x364A, 0x57F8, 0x57FB, 0x57FD, 0x5804, 0x581E, }; static const unsigned short euc_to_utf8_8FA5_x0213[] = { 0x5820, 0x5827, 0x5832, 0x5839, 0xD844 /*0xDFC4*/, 0x5849, 0x584C, 0x5867, 0x588A, 0x588B, 0x588D, 0x588F, 0x5890, 0x5894, 0x589D, 0x58AA, 0x58B1, 0xD845 /*0xDC6D*/, 0x58C3, 0x58CD, 0x58E2, 0x58F3, 0x58F4, 0x5905, 0x5906, 0x590B, 0x590D, 0x5914, 0x5924, 0xD845 /*0xDDD7*/, 0x3691, 0x593D, 0x3699, 0x5946, 0x3696, 0xD85B /*0xDC29*/, 0x595B, 0x595F, 0xD845 /*0xDE47*/, 0x5975, 0x5976, 0x597C, 0x599F, 0x59AE, 0x59BC, 0x59C8, 0x59CD, 0x59DE, 0x59E3, 0x59E4, 0x59E7, 0x59EE, 0xD845 /*0xDF06*/, 0xD845 /*0xDF42*/, 0x36CF, 0x5A0C, 0x5A0D, 0x5A17, 0x5A27, 0x5A2D, 0x5A55, 0x5A65, 0x5A7A, 0x5A8B, 0x5A9C, 0x5A9F, 0x5AA0, 0x5AA2, 0x5AB1, 0x5AB3, 0x5AB5, 0x5ABA, 0x5ABF, 0x5ADA, 0x5ADC, 0x5AE0, 0x5AE5, 0x5AF0, 0x5AEE, 0x5AF5, 0x5B00, 0x5B08, 0x5B17, 0x5B34, 0x5B2D, 0x5B4C, 0x5B52, 0x5B68, 0x5B6F, 0x5B7C, 0x5B7F, 0x5B81, 0x5B84, 0xD846 /*0xDDC3*/, }; static const unsigned short euc_to_utf8_8FA8_x0213[] = { 0x5B96, 0x5BAC, 0x3761, 0x5BC0, 0x3762, 0x5BCE, 0x5BD6, 0x376C, 0x376B, 0x5BF1, 0x5BFD, 0x3775, 0x5C03, 0x5C29, 0x5C30, 0xD847 /*0xDC56*/, 0x5C5F, 0x5C63, 0x5C67, 0x5C68, 0x5C69, 0x5C70, 0xD847 /*0xDD2D*/, 0xD847 /*0xDD45*/, 0x5C7C, 0xD847 /*0xDD78*/, 0xD847 /*0xDD62*/, 0x5C88, 0x5C8A, 0x37C1, 0xD847 /*0xDDA1*/, 0xD847 /*0xDD9C*/, 0x5CA0, 0x5CA2, 0x5CA6, 0x5CA7, 0xD847 /*0xDD92*/, 0x5CAD, 0x5CB5, 0xD847 /*0xDDB7*/, 0x5CC9, 0xD847 /*0xDDE0*/, 0xD847 /*0xDE33*/, 0x5D06, 0x5D10, 0x5D2B, 0x5D1D, 0x5D20, 0x5D24, 0x5D26, 0x5D31, 0x5D39, 0x5D42, 0x37E8, 0x5D61, 0x5D6A, 0x37F4, 0x5D70, 0xD847 /*0xDF1E*/, 0x37FD, 0x5D88, 0x3800, 0x5D92, 0x5D94, 0x5D97, 0x5D99, 0x5DB0, 0x5DB2, 0x5DB4, 0xD847 /*0xDF76*/, 0x5DB9, 0x5DD1, 0x5DD7, 0x5DD8, 0x5DE0, 0xD847 /*0xDFFA*/, 0x5DE4, 0x5DE9, 0x382F, 0x5E00, 0x3836, 0x5E12, 0x5E15, 0x3840, 0x5E1F, 0x5E2E, 0x5E3E, 0x5E49, 0x385C, 0x5E56, 0x3861, 0x5E6B, 0x5E6C, 0x5E6D, }; static const unsigned short euc_to_utf8_8FAC_x0213[] = { 0x5E6E, 0xD848 /*0xDD7B*/, 0x5EA5, 0x5EAA, 0x5EAC, 0x5EB9, 0x5EBF, 0x5EC6, 0x5ED2, 0x5ED9, 0xD848 /*0xDF1E*/, 0x5EFD, 0x5F08, 0x5F0E, 0x5F1C, 0xD848 /*0xDFAD*/, 0x5F1E, 0x5F47, 0x5F63, 0x5F72, 0x5F7E, 0x5F8F, 0x5FA2, 0x5FA4, 0x5FB8, 0x5FC4, 0x38FA, 0x5FC7, 0x5FCB, 0x5FD2, 0x5FD3, 0x5FD4, 0x5FE2, 0x5FEE, 0x5FEF, 0x5FF3, 0x5FFC, 0x3917, 0x6017, 0x6022, 0x6024, 0x391A, 0x604C, 0x607F, 0x608A, 0x6095, 0x60A8, 0xD849 /*0xDEF3*/, 0x60B0, 0x60B1, 0x60BE, 0x60C8, 0x60D9, 0x60DB, 0x60EE, 0x60F2, 0x60F5, 0x6110, 0x6112, 0x6113, 0x6119, 0x611E, 0x613A, 0x396F, 0x6141, 0x6146, 0x6160, 0x617C, 0xD84A /*0xDC5B*/, 0x6192, 0x6193, 0x6197, 0x6198, 0x61A5, 0x61A8, 0x61AD, 0xD84A /*0xDCAB*/, 0x61D5, 0x61DD, 0x61DF, 0x61F5, 0xD84A /*0xDD8F*/, 0x6215, 0x6223, 0x6229, 0x6246, 0x624C, 0x6251, 0x6252, 0x6261, 0x6264, 0x627B, 0x626D, 0x6273, }; static const unsigned short euc_to_utf8_8FAD_x0213[] = { 0x6299, 0x62A6, 0x62D5, 0xD84A /*0xDEB8*/, 0x62FD, 0x6303, 0x630D, 0x6310, 0xD84A /*0xDF4F*/, 0xD84A /*0xDF50*/, 0x6332, 0x6335, 0x633B, 0x633C, 0x6341, 0x6344, 0x634E, 0xD84A /*0xDF46*/, 0x6359, 0xD84B /*0xDC1D*/, 0xD84A /*0xDFA6*/, 0x636C, 0x6384, 0x6399, 0xD84B /*0xDC24*/, 0x6394, 0x63BD, 0x63F7, 0x63D4, 0x63D5, 0x63DC, 0x63E0, 0x63EB, 0x63EC, 0x63F2, 0x6409, 0x641E, 0x6425, 0x6429, 0x642F, 0x645A, 0x645B, 0x645D, 0x6473, 0x647D, 0x6487, 0x6491, 0x649D, 0x649F, 0x64CB, 0x64CC, 0x64D5, 0x64D7, 0xD84B /*0xDDE1*/, 0x64E4, 0x64E5, 0x64FF, 0x6504, 0x3A6E, 0x650F, 0x6514, 0x6516, 0x3A73, 0x651E, 0x6532, 0x6544, 0x6554, 0x656B, 0x657A, 0x6581, 0x6584, 0x6585, 0x658A, 0x65B2, 0x65B5, 0x65B8, 0x65BF, 0x65C2, 0x65C9, 0x65D4, 0x3AD6, 0x65F2, 0x65F9, 0x65FC, 0x6604, 0x6608, 0x6621, 0x662A, 0x6645, 0x6651, 0x664E, 0x3AEA, 0xD84C /*0xDDC3*/, 0x6657, }; static const unsigned short euc_to_utf8_8FAE_x0213[] = { 0x665B, 0x6663, 0xD84C /*0xDDF5*/, 0xD84C /*0xDDB6*/, 0x666A, 0x666B, 0x666C, 0x666D, 0x667B, 0x6680, 0x6690, 0x6692, 0x6699, 0x3B0E, 0x66AD, 0x66B1, 0x66B5, 0x3B1A, 0x66BF, 0x3B1C, 0x66EC, 0x3AD7, 0x6701, 0x6705, 0x6712, 0xD84C /*0xDF72*/, 0x6719, 0xD84C /*0xDFD3*/, 0xD84C /*0xDFD2*/, 0x674C, 0x674D, 0x6754, 0x675D, 0xD84C /*0xDFD0*/, 0xD84C /*0xDFE4*/, 0xD84C /*0xDFD5*/, 0x6774, 0x6776, 0xD84C /*0xDFDA*/, 0x6792, 0xD84C /*0xDFDF*/, 0x8363, 0x6810, 0x67B0, 0x67B2, 0x67C3, 0x67C8, 0x67D2, 0x67D9, 0x67DB, 0x67F0, 0x67F7, 0xD84D /*0xDC4A*/, 0xD84D /*0xDC51*/, 0xD84D /*0xDC4B*/, 0x6818, 0x681F, 0x682D, 0xD84D /*0xDC65*/, 0x6833, 0x683B, 0x683E, 0x6844, 0x6845, 0x6849, 0x684C, 0x6855, 0x6857, 0x3B77, 0x686B, 0x686E, 0x687A, 0x687C, 0x6882, 0x6890, 0x6896, 0x3B6D, 0x6898, 0x6899, 0x689A, 0x689C, 0x68AA, 0x68AB, 0x68B4, 0x68BB, 0x68FB, 0xD84D /*0xDCE4*/, 0xD84D /*0xDD5A*/, 0xFA13, 0x68C3, 0x68C5, 0x68CC, 0x68CF, 0x68D6, }; static const unsigned short euc_to_utf8_8FAF_x0213[] = { 0x68D9, 0x68E4, 0x68E5, 0x68EC, 0x68F7, 0x6903, 0x6907, 0x3B87, 0x3B88, 0xD84D /*0xDD94*/, 0x693B, 0x3B8D, 0x6946, 0x6969, 0x696C, 0x6972, 0x697A, 0x697F, 0x6992, 0x3BA4, 0x6996, 0x6998, 0x69A6, 0x69B0, 0x69B7, 0x69BA, 0x69BC, 0x69C0, 0x69D1, 0x69D6, 0xD84D /*0xDE39*/, 0xD84D /*0xDE47*/, 0x6A30, 0xD84D /*0xDE38*/, 0xD84D /*0xDE3A*/, 0x69E3, 0x69EE, 0x69EF, 0x69F3, 0x3BCD, 0x69F4, 0x69FE, 0x6A11, 0x6A1A, 0x6A1D, 0xD84D /*0xDF1C*/, 0x6A32, 0x6A33, 0x6A34, 0x6A3F, 0x6A46, 0x6A49, 0x6A7A, 0x6A4E, 0x6A52, 0x6A64, 0xD84D /*0xDF0C*/, 0x6A7E, 0x6A83, 0x6A8B, 0x3BF0, 0x6A91, 0x6A9F, 0x6AA1, 0xD84D /*0xDF64*/, 0x6AAB, 0x6ABD, 0x6AC6, 0x6AD4, 0x6AD0, 0x6ADC, 0x6ADD, 0xD84D /*0xDFFF*/, 0xD84D /*0xDFE7*/, 0x6AEC, 0x6AF1, 0x6AF2, 0x6AF3, 0x6AFD, 0xD84E /*0xDC24*/, 0x6B0B, 0x6B0F, 0x6B10, 0x6B11, 0xD84E /*0xDC3D*/, 0x6B17, 0x3C26, 0x6B2F, 0x6B4A, 0x6B58, 0x6B6C, 0x6B75, 0x6B7A, 0x6B81, }; static const unsigned short euc_to_utf8_8FEE_x0213[] = { 0x6B9B, 0x6BAE, 0xD84E /*0xDE98*/, 0x6BBD, 0x6BBE, 0x6BC7, 0x6BC8, 0x6BC9, 0x6BDA, 0x6BE6, 0x6BE7, 0x6BEE, 0x6BF1, 0x6C02, 0x6C0A, 0x6C0E, 0x6C35, 0x6C36, 0x6C3A, 0xD84F /*0xDC7F*/, 0x6C3F, 0x6C4D, 0x6C5B, 0x6C6D, 0x6C84, 0x6C89, 0x3CC3, 0x6C94, 0x6C95, 0x6C97, 0x6CAD, 0x6CC2, 0x6CD0, 0x3CD2, 0x6CD6, 0x6CDA, 0x6CDC, 0x6CE9, 0x6CEC, 0x6CED, 0xD84F /*0xDD00*/, 0x6D00, 0x6D0A, 0x6D24, 0x6D26, 0x6D27, 0x6C67, 0x6D2F, 0x6D3C, 0x6D5B, 0x6D5E, 0x6D60, 0x6D70, 0x6D80, 0x6D81, 0x6D8A, 0x6D8D, 0x6D91, 0x6D98, 0xD84F /*0xDD40*/, 0x6E17, 0xD84F /*0xDDFA*/, 0xD84F /*0xDDF9*/, 0xD84F /*0xDDD3*/, 0x6DAB, 0x6DAE, 0x6DB4, 0x6DC2, 0x6D34, 0x6DC8, 0x6DCE, 0x6DCF, 0x6DD0, 0x6DDF, 0x6DE9, 0x6DF6, 0x6E36, 0x6E1E, 0x6E22, 0x6E27, 0x3D11, 0x6E32, 0x6E3C, 0x6E48, 0x6E49, 0x6E4B, 0x6E4C, 0x6E4F, 0x6E51, 0x6E53, 0x6E54, 0x6E57, 0x6E63, 0x3D1E, }; static const unsigned short euc_to_utf8_8FEF_x0213[] = { 0x6E93, 0x6EA7, 0x6EB4, 0x6EBF, 0x6EC3, 0x6ECA, 0x6ED9, 0x6F35, 0x6EEB, 0x6EF9, 0x6EFB, 0x6F0A, 0x6F0C, 0x6F18, 0x6F25, 0x6F36, 0x6F3C, 0xD84F /*0xDF7E*/, 0x6F52, 0x6F57, 0x6F5A, 0x6F60, 0x6F68, 0x6F98, 0x6F7D, 0x6F90, 0x6F96, 0x6FBE, 0x6F9F, 0x6FA5, 0x6FAF, 0x3D64, 0x6FB5, 0x6FC8, 0x6FC9, 0x6FDA, 0x6FDE, 0x6FE9, 0xD850 /*0xDC96*/, 0x6FFC, 0x7000, 0x7007, 0x700A, 0x7023, 0xD850 /*0xDD03*/, 0x7039, 0x703A, 0x703C, 0x7043, 0x7047, 0x704B, 0x3D9A, 0x7054, 0x7065, 0x7069, 0x706C, 0x706E, 0x7076, 0x707E, 0x7081, 0x7086, 0x7095, 0x7097, 0x70BB, 0xD850 /*0xDDC6*/, 0x709F, 0x70B1, 0xD850 /*0xDDFE*/, 0x70EC, 0x70CA, 0x70D1, 0x70D3, 0x70DC, 0x7103, 0x7104, 0x7106, 0x7107, 0x7108, 0x710C, 0x3DC0, 0x712F, 0x7131, 0x7150, 0x714A, 0x7153, 0x715E, 0x3DD4, 0x7196, 0x7180, 0x719B, 0x71A0, 0x71A2, 0x71AE, 0x71AF, }; static const unsigned short euc_to_utf8_8FF0_x0213[] = { 0x71B3, 0xD850 /*0xDFBC*/, 0x71CB, 0x71D3, 0x71D9, 0x71DC, 0x7207, 0x3E05, 0xFA49, 0x722B, 0x7234, 0x7238, 0x7239, 0x4E2C, 0x7242, 0x7253, 0x7257, 0x7263, 0xD851 /*0xDE29*/, 0x726E, 0x726F, 0x7278, 0x727F, 0x728E, 0xD851 /*0xDEA5*/, 0x72AD, 0x72AE, 0x72B0, 0x72B1, 0x72C1, 0x3E60, 0x72CC, 0x3E66, 0x3E68, 0x72F3, 0x72FA, 0x7307, 0x7312, 0x7318, 0x7319, 0x3E83, 0x7339, 0x732C, 0x7331, 0x7333, 0x733D, 0x7352, 0x3E94, 0x736B, 0x736C, 0xD852 /*0xDC96*/, 0x736E, 0x736F, 0x7371, 0x7377, 0x7381, 0x7385, 0x738A, 0x7394, 0x7398, 0x739C, 0x739E, 0x73A5, 0x73A8, 0x73B5, 0x73B7, 0x73B9, 0x73BC, 0x73BF, 0x73C5, 0x73CB, 0x73E1, 0x73E7, 0x73F9, 0x7413, 0x73FA, 0x7401, 0x7424, 0x7431, 0x7439, 0x7453, 0x7440, 0x7443, 0x744D, 0x7452, 0x745D, 0x7471, 0x7481, 0x7485, 0x7488, 0xD852 /*0xDE4D*/, 0x7492, 0x7497, 0x7499, }; static const unsigned short euc_to_utf8_8FF1_x0213[] = { 0x74A0, 0x74A1, 0x74A5, 0x74AA, 0x74AB, 0x74B9, 0x74BB, 0x74BA, 0x74D6, 0x74D8, 0x74DE, 0x74EF, 0x74EB, 0xD852 /*0xDF56*/, 0x74FA, 0xD852 /*0xDF6F*/, 0x7520, 0x7524, 0x752A, 0x3F57, 0xD853 /*0xDC16*/, 0x753D, 0x753E, 0x7540, 0x7548, 0x754E, 0x7550, 0x7552, 0x756C, 0x7572, 0x7571, 0x757A, 0x757D, 0x757E, 0x7581, 0xD853 /*0xDD14*/, 0x758C, 0x3F75, 0x75A2, 0x3F77, 0x75B0, 0x75B7, 0x75BF, 0x75C0, 0x75C6, 0x75CF, 0x75D3, 0x75DD, 0x75DF, 0x75E0, 0x75E7, 0x75EC, 0x75EE, 0x75F1, 0x75F9, 0x7603, 0x7618, 0x7607, 0x760F, 0x3FAE, 0xD853 /*0xDE0E*/, 0x7613, 0x761B, 0x761C, 0xD853 /*0xDE37*/, 0x7625, 0x7628, 0x763C, 0x7633, 0xD853 /*0xDE6A*/, 0x3FC9, 0x7641, 0xD853 /*0xDE8B*/, 0x7649, 0x7655, 0x3FD7, 0x766E, 0x7695, 0x769C, 0x76A1, 0x76A0, 0x76A7, 0x76A8, 0x76AF, 0xD854 /*0xDC4A*/, 0x76C9, 0xD854 /*0xDC55*/, 0x76E8, 0x76EC, 0xD854 /*0xDD22*/, 0x7717, 0x771A, 0x772D, 0x7735, }; static const unsigned short euc_to_utf8_8FF2_x0213[] = { 0xD854 /*0xDDA9*/, 0x4039, 0xD854 /*0xDDE5*/, 0xD854 /*0xDDCD*/, 0x7758, 0x7760, 0x776A, 0xD854 /*0xDE1E*/, 0x7772, 0x777C, 0x777D, 0xD854 /*0xDE4C*/, 0x4058, 0x779A, 0x779F, 0x77A2, 0x77A4, 0x77A9, 0x77DE, 0x77DF, 0x77E4, 0x77E6, 0x77EA, 0x77EC, 0x4093, 0x77F0, 0x77F4, 0x77FB, 0xD855 /*0xDC2E*/, 0x7805, 0x7806, 0x7809, 0x780D, 0x7819, 0x7821, 0x782C, 0x7847, 0x7864, 0x786A, 0xD855 /*0xDCD9*/, 0x788A, 0x7894, 0x78A4, 0x789D, 0x789E, 0x789F, 0x78BB, 0x78C8, 0x78CC, 0x78CE, 0x78D5, 0x78E0, 0x78E1, 0x78E6, 0x78F9, 0x78FA, 0x78FB, 0x78FE, 0xD855 /*0xDDA7*/, 0x7910, 0x791B, 0x7930, 0x7925, 0x793B, 0x794A, 0x7958, 0x795B, 0x4105, 0x7967, 0x7972, 0x7994, 0x7995, 0x7996, 0x799B, 0x79A1, 0x79A9, 0x79B4, 0x79BB, 0x79C2, 0x79C7, 0x79CC, 0x79CD, 0x79D6, 0x4148, 0xD855 /*0xDFA9*/, 0xD855 /*0xDFB4*/, 0x414F, 0x7A0A, 0x7A11, 0x7A15, 0x7A1B, 0x7A1E, 0x4163, 0x7A2D, }; static const unsigned short euc_to_utf8_8FF3_x0213[] = { 0x7A38, 0x7A47, 0x7A4C, 0x7A56, 0x7A59, 0x7A5C, 0x7A5F, 0x7A60, 0x7A67, 0x7A6A, 0x7A75, 0x7A78, 0x7A82, 0x7A8A, 0x7A90, 0x7AA3, 0x7AAC, 0xD856 /*0xDDD4*/, 0x41B4, 0x7AB9, 0x7ABC, 0x7ABE, 0x41BF, 0x7ACC, 0x7AD1, 0x7AE7, 0x7AE8, 0x7AF4, 0xD856 /*0xDEE4*/, 0xD856 /*0xDEE3*/, 0x7B07, 0xD856 /*0xDEF1*/, 0x7B3D, 0x7B27, 0x7B2A, 0x7B2E, 0x7B2F, 0x7B31, 0x41E6, 0x41F3, 0x7B7F, 0x7B41, 0x41EE, 0x7B55, 0x7B79, 0x7B64, 0x7B66, 0x7B69, 0x7B73, 0xD856 /*0xDFB2*/, 0x4207, 0x7B90, 0x7B91, 0x7B9B, 0x420E, 0x7BAF, 0x7BB5, 0x7BBC, 0x7BC5, 0x7BCA, 0xD857 /*0xDC4B*/, 0xD857 /*0xDC64*/, 0x7BD4, 0x7BD6, 0x7BDA, 0x7BEA, 0x7BF0, 0x7C03, 0x7C0B, 0x7C0E, 0x7C0F, 0x7C26, 0x7C45, 0x7C4A, 0x7C51, 0x7C57, 0x7C5E, 0x7C61, 0x7C69, 0x7C6E, 0x7C6F, 0x7C70, 0xD857 /*0xDE2E*/, 0xD857 /*0xDE56*/, 0xD857 /*0xDE65*/, 0x7CA6, 0xD857 /*0xDE62*/, 0x7CB6, 0x7CB7, 0x7CBF, 0xD857 /*0xDED8*/, 0x7CC4, 0xD857 /*0xDEC2*/, 0x7CC8, }; static const unsigned short euc_to_utf8_8FF4_x0213[] = { 0x7CCD, 0xD857 /*0xDEE8*/, 0x7CD7, 0xD857 /*0xDF23*/, 0x7CE6, 0x7CEB, 0xD857 /*0xDF5C*/, 0x7CF5, 0x7D03, 0x7D09, 0x42C6, 0x7D12, 0x7D1E, 0xD857 /*0xDFE0*/, 0xD857 /*0xDFD4*/, 0x7D3D, 0x7D3E, 0x7D40, 0x7D47, 0xD858 /*0xDC0C*/, 0xD857 /*0xDFFB*/, 0x42D6, 0x7D59, 0x7D5A, 0x7D6A, 0x7D70, 0x42DD, 0x7D7F, 0xD858 /*0xDC17*/, 0x7D86, 0x7D88, 0x7D8C, 0x7D97, 0xD858 /*0xDC60*/, 0x7D9D, 0x7DA7, 0x7DAA, 0x7DB6, 0x7DB7, 0x7DC0, 0x7DD7, 0x7DD9, 0x7DE6, 0x7DF1, 0x7DF9, 0x4302, 0xD858 /*0xDCED*/, 0xFA58, 0x7E10, 0x7E17, 0x7E1D, 0x7E20, 0x7E27, 0x7E2C, 0x7E45, 0x7E73, 0x7E75, 0x7E7E, 0x7E86, 0x7E87, 0x432B, 0x7E91, 0x7E98, 0x7E9A, 0x4343, 0x7F3C, 0x7F3B, 0x7F3E, 0x7F43, 0x7F44, 0x7F4F, 0x34C1, 0xD858 /*0xDE70*/, 0x7F52, 0xD858 /*0xDE86*/, 0x7F61, 0x7F63, 0x7F64, 0x7F6D, 0x7F7D, 0x7F7E, 0xD858 /*0xDF4C*/, 0x7F90, 0x517B, 0xD84F /*0xDD0E*/, 0x7F96, 0x7F9C, 0x7FAD, 0xD859 /*0xDC02*/, 0x7FC3, 0x7FCF, 0x7FE3, 0x7FE5, 0x7FEF, }; static const unsigned short euc_to_utf8_8FF5_x0213[] = { 0x7FF2, 0x8002, 0x800A, 0x8008, 0x800E, 0x8011, 0x8016, 0x8024, 0x802C, 0x8030, 0x8043, 0x8066, 0x8071, 0x8075, 0x807B, 0x8099, 0x809C, 0x80A4, 0x80A7, 0x80B8, 0xD859 /*0xDE7E*/, 0x80C5, 0x80D5, 0x80D8, 0x80E6, 0xD859 /*0xDEB0*/, 0x810D, 0x80F5, 0x80FB, 0x43EE, 0x8135, 0x8116, 0x811E, 0x43F0, 0x8124, 0x8127, 0x812C, 0xD859 /*0xDF1D*/, 0x813D, 0x4408, 0x8169, 0x4417, 0x8181, 0x441C, 0x8184, 0x8185, 0x4422, 0x8198, 0x81B2, 0x81C1, 0x81C3, 0x81D6, 0x81DB, 0xD85A /*0xDCDD*/, 0x81E4, 0xD85A /*0xDCEA*/, 0x81EC, 0xD85A /*0xDD51*/, 0x81FD, 0x81FF, 0xD85A /*0xDD6F*/, 0x8204, 0xD85A /*0xDDDD*/, 0x8219, 0x8221, 0x8222, 0xD85A /*0xDE1E*/, 0x8232, 0x8234, 0x823C, 0x8246, 0x8249, 0x8245, 0xD85A /*0xDE58*/, 0x824B, 0x4476, 0x824F, 0x447A, 0x8257, 0xD85A /*0xDE8C*/, 0x825C, 0x8263, 0xD85A /*0xDEB7*/, 0xFA5D, 0xFA5E, 0x8279, 0x4491, 0x827D, 0x827F, 0x8283, 0x828A, 0x8293, 0x82A7, 0x82A8, }; static const unsigned short euc_to_utf8_8FF6_x0213[] = { 0x82B2, 0x82B4, 0x82BA, 0x82BC, 0x82E2, 0x82E8, 0x82F7, 0x8307, 0x8308, 0x830C, 0x8354, 0x831B, 0x831D, 0x8330, 0x833C, 0x8344, 0x8357, 0x44BE, 0x837F, 0x44D4, 0x44B3, 0x838D, 0x8394, 0x8395, 0x839B, 0x839D, 0x83C9, 0x83D0, 0x83D4, 0x83DD, 0x83E5, 0x83F9, 0x840F, 0x8411, 0x8415, 0xD85B /*0xDC73*/, 0x8417, 0x8439, 0x844A, 0x844F, 0x8451, 0x8452, 0x8459, 0x845A, 0x845C, 0xD85B /*0xDCDD*/, 0x8465, 0x8476, 0x8478, 0x847C, 0x8481, 0x450D, 0x84DC, 0x8497, 0x84A6, 0x84BE, 0x4508, 0x84CE, 0x84CF, 0x84D3, 0xD85B /*0xDE65*/, 0x84E7, 0x84EA, 0x84EF, 0x84F0, 0x84F1, 0x84FA, 0x84FD, 0x850C, 0x851B, 0x8524, 0x8525, 0x852B, 0x8534, 0x854F, 0x856F, 0x4525, 0x4543, 0x853E, 0x8551, 0x8553, 0x855E, 0x8561, 0x8562, 0xD85B /*0xDF94*/, 0x857B, 0x857D, 0x857F, 0x8581, 0x8586, 0x8593, 0x859D, 0x859F, 0xD85B /*0xDFF8*/, }; static const unsigned short euc_to_utf8_8FF7_x0213[] = { 0xD85B /*0xDFF6*/, 0xD85B /*0xDFF7*/, 0x85B7, 0x85BC, 0x85C7, 0x85CA, 0x85D8, 0x85D9, 0x85DF, 0x85E1, 0x85E6, 0x85F6, 0x8600, 0x8611, 0x861E, 0x8621, 0x8624, 0x8627, 0xD85C /*0xDD0D*/, 0x8639, 0x863C, 0xD85C /*0xDD39*/, 0x8640, 0xFA20, 0x8653, 0x8656, 0x866F, 0x8677, 0x867A, 0x8687, 0x8689, 0x868D, 0x8691, 0x869C, 0x869D, 0x86A8, 0xFA21, 0x86B1, 0x86B3, 0x86C1, 0x86C3, 0x86D1, 0x86D5, 0x86D7, 0x86E3, 0x86E6, 0x45B8, 0x8705, 0x8707, 0x870E, 0x8710, 0x8713, 0x8719, 0x871F, 0x8721, 0x8723, 0x8731, 0x873A, 0x873E, 0x8740, 0x8743, 0x8751, 0x8758, 0x8764, 0x8765, 0x8772, 0x877C, 0xD85C /*0xDFDB*/, 0xD85C /*0xDFDA*/, 0x87A7, 0x8789, 0x878B, 0x8793, 0x87A0, 0xD85C /*0xDFFE*/, 0x45E5, 0x87BE, 0xD85D /*0xDC10*/, 0x87C1, 0x87CE, 0x87F5, 0x87DF, 0xD85D /*0xDC49*/, 0x87E3, 0x87E5, 0x87E6, 0x87EA, 0x87EB, 0x87ED, 0x8801, 0x8803, 0x880B, 0x8813, 0x8828, }; static const unsigned short euc_to_utf8_8FF8_x0213[] = { 0x882E, 0x8832, 0x883C, 0x460F, 0x884A, 0x8858, 0x885F, 0x8864, 0xD85D /*0xDE15*/, 0xD85D /*0xDE14*/, 0x8869, 0xD85D /*0xDE31*/, 0x886F, 0x88A0, 0x88BC, 0x88BD, 0x88BE, 0x88C0, 0x88D2, 0xD85D /*0xDE93*/, 0x88D1, 0x88D3, 0x88DB, 0x88F0, 0x88F1, 0x4641, 0x8901, 0xD85D /*0xDF0E*/, 0x8937, 0xD85D /*0xDF23*/, 0x8942, 0x8945, 0x8949, 0xD85D /*0xDF52*/, 0x4665, 0x8962, 0x8980, 0x8989, 0x8990, 0x899F, 0x89B0, 0x89B7, 0x89D6, 0x89D8, 0x89EB, 0x46A1, 0x89F1, 0x89F3, 0x89FD, 0x89FF, 0x46AF, 0x8A11, 0x8A14, 0xD85E /*0xDD85*/, 0x8A21, 0x8A35, 0x8A3E, 0x8A45, 0x8A4D, 0x8A58, 0x8AAE, 0x8A90, 0x8AB7, 0x8ABE, 0x8AD7, 0x8AFC, 0xD85E /*0xDE84*/, 0x8B0A, 0x8B05, 0x8B0D, 0x8B1C, 0x8B1F, 0x8B2D, 0x8B43, 0x470C, 0x8B51, 0x8B5E, 0x8B76, 0x8B7F, 0x8B81, 0x8B8B, 0x8B94, 0x8B95, 0x8B9C, 0x8B9E, 0x8C39, 0xD85E /*0xDFB3*/, 0x8C3D, 0xD85E /*0xDFBE*/, 0xD85E /*0xDFC7*/, 0x8C45, 0x8C47, 0x8C4F, 0x8C54, }; static const unsigned short euc_to_utf8_8FF9_x0213[] = { 0x8C57, 0x8C69, 0x8C6D, 0x8C73, 0xD85F /*0xDCB8*/, 0x8C93, 0x8C92, 0x8C99, 0x4764, 0x8C9B, 0x8CA4, 0x8CD6, 0x8CD5, 0x8CD9, 0xD85F /*0xDDA0*/, 0x8CF0, 0x8CF1, 0xD85F /*0xDE10*/, 0x8D09, 0x8D0E, 0x8D6C, 0x8D84, 0x8D95, 0x8DA6, 0xD85F /*0xDFB7*/, 0x8DC6, 0x8DC8, 0x8DD9, 0x8DEC, 0x8E0C, 0x47FD, 0x8DFD, 0x8E06, 0xD860 /*0xDC8A*/, 0x8E14, 0x8E16, 0x8E21, 0x8E22, 0x8E27, 0xD860 /*0xDCBB*/, 0x4816, 0x8E36, 0x8E39, 0x8E4B, 0x8E54, 0x8E62, 0x8E6C, 0x8E6D, 0x8E6F, 0x8E98, 0x8E9E, 0x8EAE, 0x8EB3, 0x8EB5, 0x8EB6, 0x8EBB, 0xD860 /*0xDE82*/, 0x8ED1, 0x8ED4, 0x484E, 0x8EF9, 0xD860 /*0xDEF3*/, 0x8F00, 0x8F08, 0x8F17, 0x8F2B, 0x8F40, 0x8F4A, 0x8F58, 0xD861 /*0xDC0C*/, 0x8FA4, 0x8FB4, 0xFA66, 0x8FB6, 0xD861 /*0xDC55*/, 0x8FC1, 0x8FC6, 0xFA24, 0x8FCA, 0x8FCD, 0x8FD3, 0x8FD5, 0x8FE0, 0x8FF1, 0x8FF5, 0x8FFB, 0x9002, 0x900C, 0x9037, 0xD861 /*0xDD6B*/, 0x9043, 0x9044, 0x905D, 0xD861 /*0xDDC8*/, }; static const unsigned short euc_to_utf8_8FFA_x0213[] = { 0xD861 /*0xDDC9*/, 0x9085, 0x908C, 0x9090, 0x961D, 0x90A1, 0x48B5, 0x90B0, 0x90B6, 0x90C3, 0x90C8, 0xD861 /*0xDED7*/, 0x90DC, 0x90DF, 0xD861 /*0xDEFA*/, 0x90F6, 0x90F2, 0x9100, 0x90EB, 0x90FE, 0x90FF, 0x9104, 0x9106, 0x9118, 0x911C, 0x911E, 0x9137, 0x9139, 0x913A, 0x9146, 0x9147, 0x9157, 0x9159, 0x9161, 0x9164, 0x9174, 0x9179, 0x9185, 0x918E, 0x91A8, 0x91AE, 0x91B3, 0x91B6, 0x91C3, 0x91C4, 0x91DA, 0xD862 /*0xDD49*/, 0xD862 /*0xDD46*/, 0x91EC, 0x91EE, 0x9201, 0x920A, 0x9216, 0x9217, 0xD862 /*0xDD6B*/, 0x9233, 0x9242, 0x9247, 0x924A, 0x924E, 0x9251, 0x9256, 0x9259, 0x9260, 0x9261, 0x9265, 0x9267, 0x9268, 0xD862 /*0xDD87*/, 0xD862 /*0xDD88*/, 0x927C, 0x927D, 0x927F, 0x9289, 0x928D, 0x9297, 0x9299, 0x929F, 0x92A7, 0x92AB, 0xD862 /*0xDDBA*/, 0xD862 /*0xDDBB*/, 0x92B2, 0x92BF, 0x92C0, 0x92C6, 0x92CE, 0x92D0, 0x92D7, 0x92D9, 0x92E5, 0x92E7, 0x9311, 0xD862 /*0xDE1E*/, }; static const unsigned short euc_to_utf8_8FFB_x0213[] = { 0xD862 /*0xDE29*/, 0x92F7, 0x92F9, 0x92FB, 0x9302, 0x930D, 0x9315, 0x931D, 0x931E, 0x9327, 0x9329, 0xD862 /*0xDE71*/, 0xD862 /*0xDE43*/, 0x9347, 0x9351, 0x9357, 0x935A, 0x936B, 0x9371, 0x9373, 0x93A1, 0xD862 /*0xDE99*/, 0xD862 /*0xDECD*/, 0x9388, 0x938B, 0x938F, 0x939E, 0x93F5, 0xD862 /*0xDEE4*/, 0xD862 /*0xDEDD*/, 0x93F1, 0x93C1, 0x93C7, 0x93DC, 0x93E2, 0x93E7, 0x9409, 0x940F, 0x9416, 0x9417, 0x93FB, 0x9432, 0x9434, 0x943B, 0x9445, 0xD862 /*0xDFC1*/, 0xD862 /*0xDFEF*/, 0x946D, 0x946F, 0x9578, 0x9579, 0x9586, 0x958C, 0x958D, 0xD863 /*0xDD10*/, 0x95AB, 0x95B4, 0xD863 /*0xDD71*/, 0x95C8, 0xD863 /*0xDDFB*/, 0xD863 /*0xDE1F*/, 0x962C, 0x9633, 0x9634, 0xD863 /*0xDE36*/, 0x963C, 0x9641, 0x9661, 0xD863 /*0xDE89*/, 0x9682, 0xD863 /*0xDEEB*/, 0x969A, 0xD863 /*0xDF32*/, 0x49E7, 0x96A9, 0x96AF, 0x96B3, 0x96BA, 0x96BD, 0x49FA, 0xD863 /*0xDFF8*/, 0x96D8, 0x96DA, 0x96DD, 0x4A04, 0x9714, 0x9723, 0x4A29, 0x9736, 0x9741, 0x9747, 0x9755, 0x9757, 0x975B, }; static const unsigned short euc_to_utf8_8FFC_x0213[] = { 0x976A, 0xD864 /*0xDEA0*/, 0xD864 /*0xDEB1*/, 0x9796, 0x979A, 0x979E, 0x97A2, 0x97B1, 0x97B2, 0x97BE, 0x97CC, 0x97D1, 0x97D4, 0x97D8, 0x97D9, 0x97E1, 0x97F1, 0x9804, 0x980D, 0x980E, 0x9814, 0x9816, 0x4ABC, 0xD865 /*0xDC90*/, 0x9823, 0x9832, 0x9833, 0x9825, 0x9847, 0x9866, 0x98AB, 0x98AD, 0x98B0, 0xD865 /*0xDDCF*/, 0x98B7, 0x98B8, 0x98BB, 0x98BC, 0x98BF, 0x98C2, 0x98C7, 0x98CB, 0x98E0, 0xD865 /*0xDE7F*/, 0x98E1, 0x98E3, 0x98E5, 0x98EA, 0x98F0, 0x98F1, 0x98F3, 0x9908, 0x4B3B, 0xD865 /*0xDEF0*/, 0x9916, 0x9917, 0xD865 /*0xDF19*/, 0x991A, 0x991B, 0x991C, 0xD865 /*0xDF50*/, 0x9931, 0x9932, 0x9933, 0x993A, 0x993B, 0x993C, 0x9940, 0x9941, 0x9946, 0x994D, 0x994E, 0x995C, 0x995F, 0x9960, 0x99A3, 0x99A6, 0x99B9, 0x99BD, 0x99BF, 0x99C3, 0x99C9, 0x99D4, 0x99D9, 0x99DE, 0xD866 /*0xDCC6*/, 0x99F0, 0x99F9, 0x99FC, 0x9A0A, 0x9A11, 0x9A16, 0x9A1A, 0x9A20, }; static const unsigned short euc_to_utf8_8FFD_x0213[] = { 0x9A31, 0x9A36, 0x9A44, 0x9A4C, 0x9A58, 0x4BC2, 0x9AAF, 0x4BCA, 0x9AB7, 0x4BD2, 0x9AB9, 0xD866 /*0xDE72*/, 0x9AC6, 0x9AD0, 0x9AD2, 0x9AD5, 0x4BE8, 0x9ADC, 0x9AE0, 0x9AE5, 0x9AE9, 0x9B03, 0x9B0C, 0x9B10, 0x9B12, 0x9B16, 0x9B1C, 0x9B2B, 0x9B33, 0x9B3D, 0x4C20, 0x9B4B, 0x9B63, 0x9B65, 0x9B6B, 0x9B6C, 0x9B73, 0x9B76, 0x9B77, 0x9BA6, 0x9BAC, 0x9BB1, 0xD867 /*0xDDDB*/, 0xD867 /*0xDE3D*/, 0x9BB2, 0x9BB8, 0x9BBE, 0x9BC7, 0x9BF3, 0x9BD8, 0x9BDD, 0x9BE7, 0x9BEA, 0x9BEB, 0x9BEF, 0x9BEE, 0xD867 /*0xDE15*/, 0x9BFA, 0xD867 /*0xDE8A*/, 0x9BF7, 0xD867 /*0xDE49*/, 0x9C16, 0x9C18, 0x9C19, 0x9C1A, 0x9C1D, 0x9C22, 0x9C27, 0x9C29, 0x9C2A, 0xD867 /*0xDEC4*/, 0x9C31, 0x9C36, 0x9C37, 0x9C45, 0x9C5C, 0xD867 /*0xDEE9*/, 0x9C49, 0x9C4A, 0xD867 /*0xDEDB*/, 0x9C54, 0x9C58, 0x9C5B, 0x9C5D, 0x9C5F, 0x9C69, 0x9C6A, 0x9C6B, 0x9C6D, 0x9C6E, 0x9C70, 0x9C72, 0x9C75, 0x9C7A, }; static const unsigned short euc_to_utf8_8FFE_x0213[] = { 0x9CE6, 0x9CF2, 0x9D0B, 0x9D02, 0xD867 /*0xDFCE*/, 0x9D11, 0x9D17, 0x9D18, 0xD868 /*0xDC2F*/, 0x4CC4, 0xD868 /*0xDC1A*/, 0x9D32, 0x4CD1, 0x9D42, 0x9D4A, 0x9D5F, 0x9D62, 0xD868 /*0xDCF9*/, 0x9D69, 0x9D6B, 0xD868 /*0xDC82*/, 0x9D73, 0x9D76, 0x9D77, 0x9D7E, 0x9D84, 0x9D8D, 0x9D99, 0x9DA1, 0x9DBF, 0x9DB5, 0x9DB9, 0x9DBD, 0x9DC3, 0x9DC7, 0x9DC9, 0x9DD6, 0x9DDA, 0x9DDF, 0x9DE0, 0x9DE3, 0x9DF4, 0x4D07, 0x9E0A, 0x9E02, 0x9E0D, 0x9E19, 0x9E1C, 0x9E1D, 0x9E7B, 0xD848 /*0xDE18*/, 0x9E80, 0x9E85, 0x9E9B, 0x9EA8, 0xD868 /*0xDF8C*/, 0x9EBD, 0xD869 /*0xDC37*/, 0x9EDF, 0x9EE7, 0x9EEE, 0x9EFF, 0x9F02, 0x4D77, 0x9F03, 0x9F17, 0x9F19, 0x9F2F, 0x9F37, 0x9F3A, 0x9F3D, 0x9F41, 0x9F45, 0x9F46, 0x9F53, 0x9F55, 0x9F58, 0xD869 /*0xDDF1*/, 0x9F5D, 0xD869 /*0xDE02*/, 0x9F69, 0xD869 /*0xDE1A*/, 0x9F6D, 0x9F70, 0x9F75, 0xD869 /*0xDEB2*/, 0, 0, 0, 0, 0, 0, 0, 0, }; #ifdef X0212_ENABLE static const unsigned short euc_to_utf8_8FA2[] = { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0x02D8, 0x02C7, 0x00B8, 0x02D9, 0x02DD, 0x00AF, 0x02DB, 0x02DA, 0xFF5E, 0x0384, 0x0385, 0, 0, 0, 0, 0, 0, 0, 0, 0x00A1, 0xFFE4, 0x00BF, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0x00BA, 0x00AA, 0x00A9, 0x00AE, 0x2122, 0x00A4, 0x2116, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, }; static const unsigned short euc_to_utf8_8FA6[] = { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0x0386, 0x0388, 0x0389, 0x038A, 0x03AA, 0, 0x038C, 0, 0x038E, 0x03AB, 0, 0x038F, 0, 0, 0, 0, 0x03AC, 0x03AD, 0x03AE, 0x03AF, 0x03CA, 0x0390, 0x03CC, 0x03C2, 0x03CD, 0x03CB, 0x03B0, 0x03CE, 0, 0, }; static const unsigned short euc_to_utf8_8FA7[] = { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0x0402, 0x0403, 0x0404, 0x0405, 0x0406, 0x0407, 0x0408, 0x0409, 0x040A, 0x040B, 0x040C, 0x040E, 0x040F, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0x0452, 0x0453, 0x0454, 0x0455, 0x0456, 0x0457, 0x0458, 0x0459, 0x045A, 0x045B, 0x045C, 0x045E, 0x045F, }; static const unsigned short euc_to_utf8_8FA9[] = { 0x00C6, 0x0110, 0, 0x0126, 0, 0x0132, 0, 0x0141, 0x013F, 0, 0x014A, 0x00D8, 0x0152, 0, 0x0166, 0x00DE, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0x00E6, 0x0111, 0x00F0, 0x0127, 0x0131, 0x0133, 0x0138, 0x0142, 0x0140, 0x0149, 0x014B, 0x00F8, 0x0153, 0x00DF, 0x0167, 0x00FE, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, }; static const unsigned short euc_to_utf8_8FAA[] = { 0x00C1, 0x00C0, 0x00C4, 0x00C2, 0x0102, 0x01CD, 0x0100, 0x0104, 0x00C5, 0x00C3, 0x0106, 0x0108, 0x010C, 0x00C7, 0x010A, 0x010E, 0x00C9, 0x00C8, 0x00CB, 0x00CA, 0x011A, 0x0116, 0x0112, 0x0118, 0, 0x011C, 0x011E, 0x0122, 0x0120, 0x0124, 0x00CD, 0x00CC, 0x00CF, 0x00CE, 0x01CF, 0x0130, 0x012A, 0x012E, 0x0128, 0x0134, 0x0136, 0x0139, 0x013D, 0x013B, 0x0143, 0x0147, 0x0145, 0x00D1, 0x00D3, 0x00D2, 0x00D6, 0x00D4, 0x01D1, 0x0150, 0x014C, 0x00D5, 0x0154, 0x0158, 0x0156, 0x015A, 0x015C, 0x0160, 0x015E, 0x0164, 0x0162, 0x00DA, 0x00D9, 0x00DC, 0x00DB, 0x016C, 0x01D3, 0x0170, 0x016A, 0x0172, 0x016E, 0x0168, 0x01D7, 0x01DB, 0x01D9, 0x01D5, 0x0174, 0x00DD, 0x0178, 0x0176, 0x0179, 0x017D, 0x017B, 0, 0, 0, 0, 0, 0, 0, }; static const unsigned short euc_to_utf8_8FAB[] = { 0x00E1, 0x00E0, 0x00E4, 0x00E2, 0x0103, 0x01CE, 0x0101, 0x0105, 0x00E5, 0x00E3, 0x0107, 0x0109, 0x010D, 0x00E7, 0x010B, 0x010F, 0x00E9, 0x00E8, 0x00EB, 0x00EA, 0x011B, 0x0117, 0x0113, 0x0119, 0x01F5, 0x011D, 0x011F, 0, 0x0121, 0x0125, 0x00ED, 0x00EC, 0x00EF, 0x00EE, 0x01D0, 0, 0x012B, 0x012F, 0x0129, 0x0135, 0x0137, 0x013A, 0x013E, 0x013C, 0x0144, 0x0148, 0x0146, 0x00F1, 0x00F3, 0x00F2, 0x00F6, 0x00F4, 0x01D2, 0x0151, 0x014D, 0x00F5, 0x0155, 0x0159, 0x0157, 0x015B, 0x015D, 0x0161, 0x015F, 0x0165, 0x0163, 0x00FA, 0x00F9, 0x00FC, 0x00FB, 0x016D, 0x01D4, 0x0171, 0x016B, 0x0173, 0x016F, 0x0169, 0x01D8, 0x01DC, 0x01DA, 0x01D6, 0x0175, 0x00FD, 0x00FF, 0x0177, 0x017A, 0x017E, 0x017C, 0, 0, 0, 0, 0, 0, 0, }; static const unsigned short euc_to_utf8_8FB0[] = { 0x4E02, 0x4E04, 0x4E05, 0x4E0C, 0x4E12, 0x4E1F, 0x4E23, 0x4E24, 0x4E28, 0x4E2B, 0x4E2E, 0x4E2F, 0x4E30, 0x4E35, 0x4E40, 0x4E41, 0x4E44, 0x4E47, 0x4E51, 0x4E5A, 0x4E5C, 0x4E63, 0x4E68, 0x4E69, 0x4E74, 0x4E75, 0x4E79, 0x4E7F, 0x4E8D, 0x4E96, 0x4E97, 0x4E9D, 0x4EAF, 0x4EB9, 0x4EC3, 0x4ED0, 0x4EDA, 0x4EDB, 0x4EE0, 0x4EE1, 0x4EE2, 0x4EE8, 0x4EEF, 0x4EF1, 0x4EF3, 0x4EF5, 0x4EFD, 0x4EFE, 0x4EFF, 0x4F00, 0x4F02, 0x4F03, 0x4F08, 0x4F0B, 0x4F0C, 0x4F12, 0x4F15, 0x4F16, 0x4F17, 0x4F19, 0x4F2E, 0x4F31, 0x4F60, 0x4F33, 0x4F35, 0x4F37, 0x4F39, 0x4F3B, 0x4F3E, 0x4F40, 0x4F42, 0x4F48, 0x4F49, 0x4F4B, 0x4F4C, 0x4F52, 0x4F54, 0x4F56, 0x4F58, 0x4F5F, 0x4F63, 0x4F6A, 0x4F6C, 0x4F6E, 0x4F71, 0x4F77, 0x4F78, 0x4F79, 0x4F7A, 0x4F7D, 0x4F7E, 0x4F81, 0x4F82, 0x4F84, }; static const unsigned short euc_to_utf8_8FB1[] = { 0x4F85, 0x4F89, 0x4F8A, 0x4F8C, 0x4F8E, 0x4F90, 0x4F92, 0x4F93, 0x4F94, 0x4F97, 0x4F99, 0x4F9A, 0x4F9E, 0x4F9F, 0x4FB2, 0x4FB7, 0x4FB9, 0x4FBB, 0x4FBC, 0x4FBD, 0x4FBE, 0x4FC0, 0x4FC1, 0x4FC5, 0x4FC6, 0x4FC8, 0x4FC9, 0x4FCB, 0x4FCC, 0x4FCD, 0x4FCF, 0x4FD2, 0x4FDC, 0x4FE0, 0x4FE2, 0x4FF0, 0x4FF2, 0x4FFC, 0x4FFD, 0x4FFF, 0x5000, 0x5001, 0x5004, 0x5007, 0x500A, 0x500C, 0x500E, 0x5010, 0x5013, 0x5017, 0x5018, 0x501B, 0x501C, 0x501D, 0x501E, 0x5022, 0x5027, 0x502E, 0x5030, 0x5032, 0x5033, 0x5035, 0x5040, 0x5041, 0x5042, 0x5045, 0x5046, 0x504A, 0x504C, 0x504E, 0x5051, 0x5052, 0x5053, 0x5057, 0x5059, 0x505F, 0x5060, 0x5062, 0x5063, 0x5066, 0x5067, 0x506A, 0x506D, 0x5070, 0x5071, 0x503B, 0x5081, 0x5083, 0x5084, 0x5086, 0x508A, 0x508E, 0x508F, 0x5090, }; static const unsigned short euc_to_utf8_8FB2[] = { 0x5092, 0x5093, 0x5094, 0x5096, 0x509B, 0x509C, 0x509E, 0x509F, 0x50A0, 0x50A1, 0x50A2, 0x50AA, 0x50AF, 0x50B0, 0x50B9, 0x50BA, 0x50BD, 0x50C0, 0x50C3, 0x50C4, 0x50C7, 0x50CC, 0x50CE, 0x50D0, 0x50D3, 0x50D4, 0x50D8, 0x50DC, 0x50DD, 0x50DF, 0x50E2, 0x50E4, 0x50E6, 0x50E8, 0x50E9, 0x50EF, 0x50F1, 0x50F6, 0x50FA, 0x50FE, 0x5103, 0x5106, 0x5107, 0x5108, 0x510B, 0x510C, 0x510D, 0x510E, 0x50F2, 0x5110, 0x5117, 0x5119, 0x511B, 0x511C, 0x511D, 0x511E, 0x5123, 0x5127, 0x5128, 0x512C, 0x512D, 0x512F, 0x5131, 0x5133, 0x5134, 0x5135, 0x5138, 0x5139, 0x5142, 0x514A, 0x514F, 0x5153, 0x5155, 0x5157, 0x5158, 0x515F, 0x5164, 0x5166, 0x517E, 0x5183, 0x5184, 0x518B, 0x518E, 0x5198, 0x519D, 0x51A1, 0x51A3, 0x51AD, 0x51B8, 0x51BA, 0x51BC, 0x51BE, 0x51BF, 0x51C2, }; static const unsigned short euc_to_utf8_8FB3[] = { 0x51C8, 0x51CF, 0x51D1, 0x51D2, 0x51D3, 0x51D5, 0x51D8, 0x51DE, 0x51E2, 0x51E5, 0x51EE, 0x51F2, 0x51F3, 0x51F4, 0x51F7, 0x5201, 0x5202, 0x5205, 0x5212, 0x5213, 0x5215, 0x5216, 0x5218, 0x5222, 0x5228, 0x5231, 0x5232, 0x5235, 0x523C, 0x5245, 0x5249, 0x5255, 0x5257, 0x5258, 0x525A, 0x525C, 0x525F, 0x5260, 0x5261, 0x5266, 0x526E, 0x5277, 0x5278, 0x5279, 0x5280, 0x5282, 0x5285, 0x528A, 0x528C, 0x5293, 0x5295, 0x5296, 0x5297, 0x5298, 0x529A, 0x529C, 0x52A4, 0x52A5, 0x52A6, 0x52A7, 0x52AF, 0x52B0, 0x52B6, 0x52B7, 0x52B8, 0x52BA, 0x52BB, 0x52BD, 0x52C0, 0x52C4, 0x52C6, 0x52C8, 0x52CC, 0x52CF, 0x52D1, 0x52D4, 0x52D6, 0x52DB, 0x52DC, 0x52E1, 0x52E5, 0x52E8, 0x52E9, 0x52EA, 0x52EC, 0x52F0, 0x52F1, 0x52F4, 0x52F6, 0x52F7, 0x5300, 0x5303, 0x530A, 0x530B, }; static const unsigned short euc_to_utf8_8FB4[] = { 0x530C, 0x5311, 0x5313, 0x5318, 0x531B, 0x531C, 0x531E, 0x531F, 0x5325, 0x5327, 0x5328, 0x5329, 0x532B, 0x532C, 0x532D, 0x5330, 0x5332, 0x5335, 0x533C, 0x533D, 0x533E, 0x5342, 0x534C, 0x534B, 0x5359, 0x535B, 0x5361, 0x5363, 0x5365, 0x536C, 0x536D, 0x5372, 0x5379, 0x537E, 0x5383, 0x5387, 0x5388, 0x538E, 0x5393, 0x5394, 0x5399, 0x539D, 0x53A1, 0x53A4, 0x53AA, 0x53AB, 0x53AF, 0x53B2, 0x53B4, 0x53B5, 0x53B7, 0x53B8, 0x53BA, 0x53BD, 0x53C0, 0x53C5, 0x53CF, 0x53D2, 0x53D3, 0x53D5, 0x53DA, 0x53DD, 0x53DE, 0x53E0, 0x53E6, 0x53E7, 0x53F5, 0x5402, 0x5413, 0x541A, 0x5421, 0x5427, 0x5428, 0x542A, 0x542F, 0x5431, 0x5434, 0x5435, 0x5443, 0x5444, 0x5447, 0x544D, 0x544F, 0x545E, 0x5462, 0x5464, 0x5466, 0x5467, 0x5469, 0x546B, 0x546D, 0x546E, 0x5474, 0x547F, }; static const unsigned short euc_to_utf8_8FB5[] = { 0x5481, 0x5483, 0x5485, 0x5488, 0x5489, 0x548D, 0x5491, 0x5495, 0x5496, 0x549C, 0x549F, 0x54A1, 0x54A6, 0x54A7, 0x54A9, 0x54AA, 0x54AD, 0x54AE, 0x54B1, 0x54B7, 0x54B9, 0x54BA, 0x54BB, 0x54BF, 0x54C6, 0x54CA, 0x54CD, 0x54CE, 0x54E0, 0x54EA, 0x54EC, 0x54EF, 0x54F6, 0x54FC, 0x54FE, 0x54FF, 0x5500, 0x5501, 0x5505, 0x5508, 0x5509, 0x550C, 0x550D, 0x550E, 0x5515, 0x552A, 0x552B, 0x5532, 0x5535, 0x5536, 0x553B, 0x553C, 0x553D, 0x5541, 0x5547, 0x5549, 0x554A, 0x554D, 0x5550, 0x5551, 0x5558, 0x555A, 0x555B, 0x555E, 0x5560, 0x5561, 0x5564, 0x5566, 0x557F, 0x5581, 0x5582, 0x5586, 0x5588, 0x558E, 0x558F, 0x5591, 0x5592, 0x5593, 0x5594, 0x5597, 0x55A3, 0x55A4, 0x55AD, 0x55B2, 0x55BF, 0x55C1, 0x55C3, 0x55C6, 0x55C9, 0x55CB, 0x55CC, 0x55CE, 0x55D1, 0x55D2, }; static const unsigned short euc_to_utf8_8FB6[] = { 0x55D3, 0x55D7, 0x55D8, 0x55DB, 0x55DE, 0x55E2, 0x55E9, 0x55F6, 0x55FF, 0x5605, 0x5608, 0x560A, 0x560D, 0x560E, 0x560F, 0x5610, 0x5611, 0x5612, 0x5619, 0x562C, 0x5630, 0x5633, 0x5635, 0x5637, 0x5639, 0x563B, 0x563C, 0x563D, 0x563F, 0x5640, 0x5641, 0x5643, 0x5644, 0x5646, 0x5649, 0x564B, 0x564D, 0x564F, 0x5654, 0x565E, 0x5660, 0x5661, 0x5662, 0x5663, 0x5666, 0x5669, 0x566D, 0x566F, 0x5671, 0x5672, 0x5675, 0x5684, 0x5685, 0x5688, 0x568B, 0x568C, 0x5695, 0x5699, 0x569A, 0x569D, 0x569E, 0x569F, 0x56A6, 0x56A7, 0x56A8, 0x56A9, 0x56AB, 0x56AC, 0x56AD, 0x56B1, 0x56B3, 0x56B7, 0x56BE, 0x56C5, 0x56C9, 0x56CA, 0x56CB, 0x56CF, 0x56D0, 0x56CC, 0x56CD, 0x56D9, 0x56DC, 0x56DD, 0x56DF, 0x56E1, 0x56E4, 0x56E5, 0x56E6, 0x56E7, 0x56E8, 0x56F1, 0x56EB, 0x56ED, }; static const unsigned short euc_to_utf8_8FB7[] = { 0x56F6, 0x56F7, 0x5701, 0x5702, 0x5707, 0x570A, 0x570C, 0x5711, 0x5715, 0x571A, 0x571B, 0x571D, 0x5720, 0x5722, 0x5723, 0x5724, 0x5725, 0x5729, 0x572A, 0x572C, 0x572E, 0x572F, 0x5733, 0x5734, 0x573D, 0x573E, 0x573F, 0x5745, 0x5746, 0x574C, 0x574D, 0x5752, 0x5762, 0x5765, 0x5767, 0x5768, 0x576B, 0x576D, 0x576E, 0x576F, 0x5770, 0x5771, 0x5773, 0x5774, 0x5775, 0x5777, 0x5779, 0x577A, 0x577B, 0x577C, 0x577E, 0x5781, 0x5783, 0x578C, 0x5794, 0x5797, 0x5799, 0x579A, 0x579C, 0x579D, 0x579E, 0x579F, 0x57A1, 0x5795, 0x57A7, 0x57A8, 0x57A9, 0x57AC, 0x57B8, 0x57BD, 0x57C7, 0x57C8, 0x57CC, 0x57CF, 0x57D5, 0x57DD, 0x57DE, 0x57E4, 0x57E6, 0x57E7, 0x57E9, 0x57ED, 0x57F0, 0x57F5, 0x57F6, 0x57F8, 0x57FD, 0x57FE, 0x57FF, 0x5803, 0x5804, 0x5808, 0x5809, 0x57E1, }; static const unsigned short euc_to_utf8_8FB8[] = { 0x580C, 0x580D, 0x581B, 0x581E, 0x581F, 0x5820, 0x5826, 0x5827, 0x582D, 0x5832, 0x5839, 0x583F, 0x5849, 0x584C, 0x584D, 0x584F, 0x5850, 0x5855, 0x585F, 0x5861, 0x5864, 0x5867, 0x5868, 0x5878, 0x587C, 0x587F, 0x5880, 0x5881, 0x5887, 0x5888, 0x5889, 0x588A, 0x588C, 0x588D, 0x588F, 0x5890, 0x5894, 0x5896, 0x589D, 0x58A0, 0x58A1, 0x58A2, 0x58A6, 0x58A9, 0x58B1, 0x58B2, 0x58C4, 0x58BC, 0x58C2, 0x58C8, 0x58CD, 0x58CE, 0x58D0, 0x58D2, 0x58D4, 0x58D6, 0x58DA, 0x58DD, 0x58E1, 0x58E2, 0x58E9, 0x58F3, 0x5905, 0x5906, 0x590B, 0x590C, 0x5912, 0x5913, 0x5914, 0x8641, 0x591D, 0x5921, 0x5923, 0x5924, 0x5928, 0x592F, 0x5930, 0x5933, 0x5935, 0x5936, 0x593F, 0x5943, 0x5946, 0x5952, 0x5953, 0x5959, 0x595B, 0x595D, 0x595E, 0x595F, 0x5961, 0x5963, 0x596B, 0x596D, }; static const unsigned short euc_to_utf8_8FB9[] = { 0x596F, 0x5972, 0x5975, 0x5976, 0x5979, 0x597B, 0x597C, 0x598B, 0x598C, 0x598E, 0x5992, 0x5995, 0x5997, 0x599F, 0x59A4, 0x59A7, 0x59AD, 0x59AE, 0x59AF, 0x59B0, 0x59B3, 0x59B7, 0x59BA, 0x59BC, 0x59C1, 0x59C3, 0x59C4, 0x59C8, 0x59CA, 0x59CD, 0x59D2, 0x59DD, 0x59DE, 0x59DF, 0x59E3, 0x59E4, 0x59E7, 0x59EE, 0x59EF, 0x59F1, 0x59F2, 0x59F4, 0x59F7, 0x5A00, 0x5A04, 0x5A0C, 0x5A0D, 0x5A0E, 0x5A12, 0x5A13, 0x5A1E, 0x5A23, 0x5A24, 0x5A27, 0x5A28, 0x5A2A, 0x5A2D, 0x5A30, 0x5A44, 0x5A45, 0x5A47, 0x5A48, 0x5A4C, 0x5A50, 0x5A55, 0x5A5E, 0x5A63, 0x5A65, 0x5A67, 0x5A6D, 0x5A77, 0x5A7A, 0x5A7B, 0x5A7E, 0x5A8B, 0x5A90, 0x5A93, 0x5A96, 0x5A99, 0x5A9C, 0x5A9E, 0x5A9F, 0x5AA0, 0x5AA2, 0x5AA7, 0x5AAC, 0x5AB1, 0x5AB2, 0x5AB3, 0x5AB5, 0x5AB8, 0x5ABA, 0x5ABB, 0x5ABF, }; static const unsigned short euc_to_utf8_8FBA[] = { 0x5AC4, 0x5AC6, 0x5AC8, 0x5ACF, 0x5ADA, 0x5ADC, 0x5AE0, 0x5AE5, 0x5AEA, 0x5AEE, 0x5AF5, 0x5AF6, 0x5AFD, 0x5B00, 0x5B01, 0x5B08, 0x5B17, 0x5B34, 0x5B19, 0x5B1B, 0x5B1D, 0x5B21, 0x5B25, 0x5B2D, 0x5B38, 0x5B41, 0x5B4B, 0x5B4C, 0x5B52, 0x5B56, 0x5B5E, 0x5B68, 0x5B6E, 0x5B6F, 0x5B7C, 0x5B7D, 0x5B7E, 0x5B7F, 0x5B81, 0x5B84, 0x5B86, 0x5B8A, 0x5B8E, 0x5B90, 0x5B91, 0x5B93, 0x5B94, 0x5B96, 0x5BA8, 0x5BA9, 0x5BAC, 0x5BAD, 0x5BAF, 0x5BB1, 0x5BB2, 0x5BB7, 0x5BBA, 0x5BBC, 0x5BC0, 0x5BC1, 0x5BCD, 0x5BCF, 0x5BD6, 0x5BD7, 0x5BD8, 0x5BD9, 0x5BDA, 0x5BE0, 0x5BEF, 0x5BF1, 0x5BF4, 0x5BFD, 0x5C0C, 0x5C17, 0x5C1E, 0x5C1F, 0x5C23, 0x5C26, 0x5C29, 0x5C2B, 0x5C2C, 0x5C2E, 0x5C30, 0x5C32, 0x5C35, 0x5C36, 0x5C59, 0x5C5A, 0x5C5C, 0x5C62, 0x5C63, 0x5C67, 0x5C68, 0x5C69, }; static const unsigned short euc_to_utf8_8FBB[] = { 0x5C6D, 0x5C70, 0x5C74, 0x5C75, 0x5C7A, 0x5C7B, 0x5C7C, 0x5C7D, 0x5C87, 0x5C88, 0x5C8A, 0x5C8F, 0x5C92, 0x5C9D, 0x5C9F, 0x5CA0, 0x5CA2, 0x5CA3, 0x5CA6, 0x5CAA, 0x5CB2, 0x5CB4, 0x5CB5, 0x5CBA, 0x5CC9, 0x5CCB, 0x5CD2, 0x5CDD, 0x5CD7, 0x5CEE, 0x5CF1, 0x5CF2, 0x5CF4, 0x5D01, 0x5D06, 0x5D0D, 0x5D12, 0x5D2B, 0x5D23, 0x5D24, 0x5D26, 0x5D27, 0x5D31, 0x5D34, 0x5D39, 0x5D3D, 0x5D3F, 0x5D42, 0x5D43, 0x5D46, 0x5D48, 0x5D55, 0x5D51, 0x5D59, 0x5D4A, 0x5D5F, 0x5D60, 0x5D61, 0x5D62, 0x5D64, 0x5D6A, 0x5D6D, 0x5D70, 0x5D79, 0x5D7A, 0x5D7E, 0x5D7F, 0x5D81, 0x5D83, 0x5D88, 0x5D8A, 0x5D92, 0x5D93, 0x5D94, 0x5D95, 0x5D99, 0x5D9B, 0x5D9F, 0x5DA0, 0x5DA7, 0x5DAB, 0x5DB0, 0x5DB4, 0x5DB8, 0x5DB9, 0x5DC3, 0x5DC7, 0x5DCB, 0x5DD0, 0x5DCE, 0x5DD8, 0x5DD9, 0x5DE0, 0x5DE4, }; static const unsigned short euc_to_utf8_8FBC[] = { 0x5DE9, 0x5DF8, 0x5DF9, 0x5E00, 0x5E07, 0x5E0D, 0x5E12, 0x5E14, 0x5E15, 0x5E18, 0x5E1F, 0x5E20, 0x5E2E, 0x5E28, 0x5E32, 0x5E35, 0x5E3E, 0x5E4B, 0x5E50, 0x5E49, 0x5E51, 0x5E56, 0x5E58, 0x5E5B, 0x5E5C, 0x5E5E, 0x5E68, 0x5E6A, 0x5E6B, 0x5E6C, 0x5E6D, 0x5E6E, 0x5E70, 0x5E80, 0x5E8B, 0x5E8E, 0x5EA2, 0x5EA4, 0x5EA5, 0x5EA8, 0x5EAA, 0x5EAC, 0x5EB1, 0x5EB3, 0x5EBD, 0x5EBE, 0x5EBF, 0x5EC6, 0x5ECC, 0x5ECB, 0x5ECE, 0x5ED1, 0x5ED2, 0x5ED4, 0x5ED5, 0x5EDC, 0x5EDE, 0x5EE5, 0x5EEB, 0x5F02, 0x5F06, 0x5F07, 0x5F08, 0x5F0E, 0x5F19, 0x5F1C, 0x5F1D, 0x5F21, 0x5F22, 0x5F23, 0x5F24, 0x5F28, 0x5F2B, 0x5F2C, 0x5F2E, 0x5F30, 0x5F34, 0x5F36, 0x5F3B, 0x5F3D, 0x5F3F, 0x5F40, 0x5F44, 0x5F45, 0x5F47, 0x5F4D, 0x5F50, 0x5F54, 0x5F58, 0x5F5B, 0x5F60, 0x5F63, 0x5F64, 0x5F67, }; static const unsigned short euc_to_utf8_8FBD[] = { 0x5F6F, 0x5F72, 0x5F74, 0x5F75, 0x5F78, 0x5F7A, 0x5F7D, 0x5F7E, 0x5F89, 0x5F8D, 0x5F8F, 0x5F96, 0x5F9C, 0x5F9D, 0x5FA2, 0x5FA7, 0x5FAB, 0x5FA4, 0x5FAC, 0x5FAF, 0x5FB0, 0x5FB1, 0x5FB8, 0x5FC4, 0x5FC7, 0x5FC8, 0x5FC9, 0x5FCB, 0x5FD0, 0x5FD1, 0x5FD2, 0x5FD3, 0x5FD4, 0x5FDE, 0x5FE1, 0x5FE2, 0x5FE8, 0x5FE9, 0x5FEA, 0x5FEC, 0x5FED, 0x5FEE, 0x5FEF, 0x5FF2, 0x5FF3, 0x5FF6, 0x5FFA, 0x5FFC, 0x6007, 0x600A, 0x600D, 0x6013, 0x6014, 0x6017, 0x6018, 0x601A, 0x601F, 0x6024, 0x602D, 0x6033, 0x6035, 0x6040, 0x6047, 0x6048, 0x6049, 0x604C, 0x6051, 0x6054, 0x6056, 0x6057, 0x605D, 0x6061, 0x6067, 0x6071, 0x607E, 0x607F, 0x6082, 0x6086, 0x6088, 0x608A, 0x608E, 0x6091, 0x6093, 0x6095, 0x6098, 0x609D, 0x609E, 0x60A2, 0x60A4, 0x60A5, 0x60A8, 0x60B0, 0x60B1, 0x60B7, }; static const unsigned short euc_to_utf8_8FBE[] = { 0x60BB, 0x60BE, 0x60C2, 0x60C4, 0x60C8, 0x60C9, 0x60CA, 0x60CB, 0x60CE, 0x60CF, 0x60D4, 0x60D5, 0x60D9, 0x60DB, 0x60DD, 0x60DE, 0x60E2, 0x60E5, 0x60F2, 0x60F5, 0x60F8, 0x60FC, 0x60FD, 0x6102, 0x6107, 0x610A, 0x610C, 0x6110, 0x6111, 0x6112, 0x6113, 0x6114, 0x6116, 0x6117, 0x6119, 0x611C, 0x611E, 0x6122, 0x612A, 0x612B, 0x6130, 0x6131, 0x6135, 0x6136, 0x6137, 0x6139, 0x6141, 0x6145, 0x6146, 0x6149, 0x615E, 0x6160, 0x616C, 0x6172, 0x6178, 0x617B, 0x617C, 0x617F, 0x6180, 0x6181, 0x6183, 0x6184, 0x618B, 0x618D, 0x6192, 0x6193, 0x6197, 0x6198, 0x619C, 0x619D, 0x619F, 0x61A0, 0x61A5, 0x61A8, 0x61AA, 0x61AD, 0x61B8, 0x61B9, 0x61BC, 0x61C0, 0x61C1, 0x61C2, 0x61CE, 0x61CF, 0x61D5, 0x61DC, 0x61DD, 0x61DE, 0x61DF, 0x61E1, 0x61E2, 0x61E7, 0x61E9, 0x61E5, }; static const unsigned short euc_to_utf8_8FBF[] = { 0x61EC, 0x61ED, 0x61EF, 0x6201, 0x6203, 0x6204, 0x6207, 0x6213, 0x6215, 0x621C, 0x6220, 0x6222, 0x6223, 0x6227, 0x6229, 0x622B, 0x6239, 0x623D, 0x6242, 0x6243, 0x6244, 0x6246, 0x624C, 0x6250, 0x6251, 0x6252, 0x6254, 0x6256, 0x625A, 0x625C, 0x6264, 0x626D, 0x626F, 0x6273, 0x627A, 0x627D, 0x628D, 0x628E, 0x628F, 0x6290, 0x62A6, 0x62A8, 0x62B3, 0x62B6, 0x62B7, 0x62BA, 0x62BE, 0x62BF, 0x62C4, 0x62CE, 0x62D5, 0x62D6, 0x62DA, 0x62EA, 0x62F2, 0x62F4, 0x62FC, 0x62FD, 0x6303, 0x6304, 0x630A, 0x630B, 0x630D, 0x6310, 0x6313, 0x6316, 0x6318, 0x6329, 0x632A, 0x632D, 0x6335, 0x6336, 0x6339, 0x633C, 0x6341, 0x6342, 0x6343, 0x6344, 0x6346, 0x634A, 0x634B, 0x634E, 0x6352, 0x6353, 0x6354, 0x6358, 0x635B, 0x6365, 0x6366, 0x636C, 0x636D, 0x6371, 0x6374, 0x6375, }; static const unsigned short euc_to_utf8_8FC0[] = { 0x6378, 0x637C, 0x637D, 0x637F, 0x6382, 0x6384, 0x6387, 0x638A, 0x6390, 0x6394, 0x6395, 0x6399, 0x639A, 0x639E, 0x63A4, 0x63A6, 0x63AD, 0x63AE, 0x63AF, 0x63BD, 0x63C1, 0x63C5, 0x63C8, 0x63CE, 0x63D1, 0x63D3, 0x63D4, 0x63D5, 0x63DC, 0x63E0, 0x63E5, 0x63EA, 0x63EC, 0x63F2, 0x63F3, 0x63F5, 0x63F8, 0x63F9, 0x6409, 0x640A, 0x6410, 0x6412, 0x6414, 0x6418, 0x641E, 0x6420, 0x6422, 0x6424, 0x6425, 0x6429, 0x642A, 0x642F, 0x6430, 0x6435, 0x643D, 0x643F, 0x644B, 0x644F, 0x6451, 0x6452, 0x6453, 0x6454, 0x645A, 0x645B, 0x645C, 0x645D, 0x645F, 0x6460, 0x6461, 0x6463, 0x646D, 0x6473, 0x6474, 0x647B, 0x647D, 0x6485, 0x6487, 0x648F, 0x6490, 0x6491, 0x6498, 0x6499, 0x649B, 0x649D, 0x649F, 0x64A1, 0x64A3, 0x64A6, 0x64A8, 0x64AC, 0x64B3, 0x64BD, 0x64BE, 0x64BF, }; static const unsigned short euc_to_utf8_8FC1[] = { 0x64C4, 0x64C9, 0x64CA, 0x64CB, 0x64CC, 0x64CE, 0x64D0, 0x64D1, 0x64D5, 0x64D7, 0x64E4, 0x64E5, 0x64E9, 0x64EA, 0x64ED, 0x64F0, 0x64F5, 0x64F7, 0x64FB, 0x64FF, 0x6501, 0x6504, 0x6508, 0x6509, 0x650A, 0x650F, 0x6513, 0x6514, 0x6516, 0x6519, 0x651B, 0x651E, 0x651F, 0x6522, 0x6526, 0x6529, 0x652E, 0x6531, 0x653A, 0x653C, 0x653D, 0x6543, 0x6547, 0x6549, 0x6550, 0x6552, 0x6554, 0x655F, 0x6560, 0x6567, 0x656B, 0x657A, 0x657D, 0x6581, 0x6585, 0x658A, 0x6592, 0x6595, 0x6598, 0x659D, 0x65A0, 0x65A3, 0x65A6, 0x65AE, 0x65B2, 0x65B3, 0x65B4, 0x65BF, 0x65C2, 0x65C8, 0x65C9, 0x65CE, 0x65D0, 0x65D4, 0x65D6, 0x65D8, 0x65DF, 0x65F0, 0x65F2, 0x65F4, 0x65F5, 0x65F9, 0x65FE, 0x65FF, 0x6600, 0x6604, 0x6608, 0x6609, 0x660D, 0x6611, 0x6612, 0x6615, 0x6616, 0x661D, }; static const unsigned short euc_to_utf8_8FC2[] = { 0x661E, 0x6621, 0x6622, 0x6623, 0x6624, 0x6626, 0x6629, 0x662A, 0x662B, 0x662C, 0x662E, 0x6630, 0x6631, 0x6633, 0x6639, 0x6637, 0x6640, 0x6645, 0x6646, 0x664A, 0x664C, 0x6651, 0x664E, 0x6657, 0x6658, 0x6659, 0x665B, 0x665C, 0x6660, 0x6661, 0x66FB, 0x666A, 0x666B, 0x666C, 0x667E, 0x6673, 0x6675, 0x667F, 0x6677, 0x6678, 0x6679, 0x667B, 0x6680, 0x667C, 0x668B, 0x668C, 0x668D, 0x6690, 0x6692, 0x6699, 0x669A, 0x669B, 0x669C, 0x669F, 0x66A0, 0x66A4, 0x66AD, 0x66B1, 0x66B2, 0x66B5, 0x66BB, 0x66BF, 0x66C0, 0x66C2, 0x66C3, 0x66C8, 0x66CC, 0x66CE, 0x66CF, 0x66D4, 0x66DB, 0x66DF, 0x66E8, 0x66EB, 0x66EC, 0x66EE, 0x66FA, 0x6705, 0x6707, 0x670E, 0x6713, 0x6719, 0x671C, 0x6720, 0x6722, 0x6733, 0x673E, 0x6745, 0x6747, 0x6748, 0x674C, 0x6754, 0x6755, 0x675D, }; static const unsigned short euc_to_utf8_8FC3[] = { 0x6766, 0x676C, 0x676E, 0x6774, 0x6776, 0x677B, 0x6781, 0x6784, 0x678E, 0x678F, 0x6791, 0x6793, 0x6796, 0x6798, 0x6799, 0x679B, 0x67B0, 0x67B1, 0x67B2, 0x67B5, 0x67BB, 0x67BC, 0x67BD, 0x67F9, 0x67C0, 0x67C2, 0x67C3, 0x67C5, 0x67C8, 0x67C9, 0x67D2, 0x67D7, 0x67D9, 0x67DC, 0x67E1, 0x67E6, 0x67F0, 0x67F2, 0x67F6, 0x67F7, 0x6852, 0x6814, 0x6819, 0x681D, 0x681F, 0x6828, 0x6827, 0x682C, 0x682D, 0x682F, 0x6830, 0x6831, 0x6833, 0x683B, 0x683F, 0x6844, 0x6845, 0x684A, 0x684C, 0x6855, 0x6857, 0x6858, 0x685B, 0x686B, 0x686E, 0x686F, 0x6870, 0x6871, 0x6872, 0x6875, 0x6879, 0x687A, 0x687B, 0x687C, 0x6882, 0x6884, 0x6886, 0x6888, 0x6896, 0x6898, 0x689A, 0x689C, 0x68A1, 0x68A3, 0x68A5, 0x68A9, 0x68AA, 0x68AE, 0x68B2, 0x68BB, 0x68C5, 0x68C8, 0x68CC, 0x68CF, }; static const unsigned short euc_to_utf8_8FC4[] = { 0x68D0, 0x68D1, 0x68D3, 0x68D6, 0x68D9, 0x68DC, 0x68DD, 0x68E5, 0x68E8, 0x68EA, 0x68EB, 0x68EC, 0x68ED, 0x68F0, 0x68F1, 0x68F5, 0x68F6, 0x68FB, 0x68FC, 0x68FD, 0x6906, 0x6909, 0x690A, 0x6910, 0x6911, 0x6913, 0x6916, 0x6917, 0x6931, 0x6933, 0x6935, 0x6938, 0x693B, 0x6942, 0x6945, 0x6949, 0x694E, 0x6957, 0x695B, 0x6963, 0x6964, 0x6965, 0x6966, 0x6968, 0x6969, 0x696C, 0x6970, 0x6971, 0x6972, 0x697A, 0x697B, 0x697F, 0x6980, 0x698D, 0x6992, 0x6996, 0x6998, 0x69A1, 0x69A5, 0x69A6, 0x69A8, 0x69AB, 0x69AD, 0x69AF, 0x69B7, 0x69B8, 0x69BA, 0x69BC, 0x69C5, 0x69C8, 0x69D1, 0x69D6, 0x69D7, 0x69E2, 0x69E5, 0x69EE, 0x69EF, 0x69F1, 0x69F3, 0x69F5, 0x69FE, 0x6A00, 0x6A01, 0x6A03, 0x6A0F, 0x6A11, 0x6A15, 0x6A1A, 0x6A1D, 0x6A20, 0x6A24, 0x6A28, 0x6A30, 0x6A32, }; static const unsigned short euc_to_utf8_8FC5[] = { 0x6A34, 0x6A37, 0x6A3B, 0x6A3E, 0x6A3F, 0x6A45, 0x6A46, 0x6A49, 0x6A4A, 0x6A4E, 0x6A50, 0x6A51, 0x6A52, 0x6A55, 0x6A56, 0x6A5B, 0x6A64, 0x6A67, 0x6A6A, 0x6A71, 0x6A73, 0x6A7E, 0x6A81, 0x6A83, 0x6A86, 0x6A87, 0x6A89, 0x6A8B, 0x6A91, 0x6A9B, 0x6A9D, 0x6A9E, 0x6A9F, 0x6AA5, 0x6AAB, 0x6AAF, 0x6AB0, 0x6AB1, 0x6AB4, 0x6ABD, 0x6ABE, 0x6ABF, 0x6AC6, 0x6AC9, 0x6AC8, 0x6ACC, 0x6AD0, 0x6AD4, 0x6AD5, 0x6AD6, 0x6ADC, 0x6ADD, 0x6AE4, 0x6AE7, 0x6AEC, 0x6AF0, 0x6AF1, 0x6AF2, 0x6AFC, 0x6AFD, 0x6B02, 0x6B03, 0x6B06, 0x6B07, 0x6B09, 0x6B0F, 0x6B10, 0x6B11, 0x6B17, 0x6B1B, 0x6B1E, 0x6B24, 0x6B28, 0x6B2B, 0x6B2C, 0x6B2F, 0x6B35, 0x6B36, 0x6B3B, 0x6B3F, 0x6B46, 0x6B4A, 0x6B4D, 0x6B52, 0x6B56, 0x6B58, 0x6B5D, 0x6B60, 0x6B67, 0x6B6B, 0x6B6E, 0x6B70, 0x6B75, 0x6B7D, }; static const unsigned short euc_to_utf8_8FC6[] = { 0x6B7E, 0x6B82, 0x6B85, 0x6B97, 0x6B9B, 0x6B9F, 0x6BA0, 0x6BA2, 0x6BA3, 0x6BA8, 0x6BA9, 0x6BAC, 0x6BAD, 0x6BAE, 0x6BB0, 0x6BB8, 0x6BB9, 0x6BBD, 0x6BBE, 0x6BC3, 0x6BC4, 0x6BC9, 0x6BCC, 0x6BD6, 0x6BDA, 0x6BE1, 0x6BE3, 0x6BE6, 0x6BE7, 0x6BEE, 0x6BF1, 0x6BF7, 0x6BF9, 0x6BFF, 0x6C02, 0x6C04, 0x6C05, 0x6C09, 0x6C0D, 0x6C0E, 0x6C10, 0x6C12, 0x6C19, 0x6C1F, 0x6C26, 0x6C27, 0x6C28, 0x6C2C, 0x6C2E, 0x6C33, 0x6C35, 0x6C36, 0x6C3A, 0x6C3B, 0x6C3F, 0x6C4A, 0x6C4B, 0x6C4D, 0x6C4F, 0x6C52, 0x6C54, 0x6C59, 0x6C5B, 0x6C5C, 0x6C6B, 0x6C6D, 0x6C6F, 0x6C74, 0x6C76, 0x6C78, 0x6C79, 0x6C7B, 0x6C85, 0x6C86, 0x6C87, 0x6C89, 0x6C94, 0x6C95, 0x6C97, 0x6C98, 0x6C9C, 0x6C9F, 0x6CB0, 0x6CB2, 0x6CB4, 0x6CC2, 0x6CC6, 0x6CCD, 0x6CCF, 0x6CD0, 0x6CD1, 0x6CD2, 0x6CD4, 0x6CD6, }; static const unsigned short euc_to_utf8_8FC7[] = { 0x6CDA, 0x6CDC, 0x6CE0, 0x6CE7, 0x6CE9, 0x6CEB, 0x6CEC, 0x6CEE, 0x6CF2, 0x6CF4, 0x6D04, 0x6D07, 0x6D0A, 0x6D0E, 0x6D0F, 0x6D11, 0x6D13, 0x6D1A, 0x6D26, 0x6D27, 0x6D28, 0x6C67, 0x6D2E, 0x6D2F, 0x6D31, 0x6D39, 0x6D3C, 0x6D3F, 0x6D57, 0x6D5E, 0x6D5F, 0x6D61, 0x6D65, 0x6D67, 0x6D6F, 0x6D70, 0x6D7C, 0x6D82, 0x6D87, 0x6D91, 0x6D92, 0x6D94, 0x6D96, 0x6D97, 0x6D98, 0x6DAA, 0x6DAC, 0x6DB4, 0x6DB7, 0x6DB9, 0x6DBD, 0x6DBF, 0x6DC4, 0x6DC8, 0x6DCA, 0x6DCE, 0x6DCF, 0x6DD6, 0x6DDB, 0x6DDD, 0x6DDF, 0x6DE0, 0x6DE2, 0x6DE5, 0x6DE9, 0x6DEF, 0x6DF0, 0x6DF4, 0x6DF6, 0x6DFC, 0x6E00, 0x6E04, 0x6E1E, 0x6E22, 0x6E27, 0x6E32, 0x6E36, 0x6E39, 0x6E3B, 0x6E3C, 0x6E44, 0x6E45, 0x6E48, 0x6E49, 0x6E4B, 0x6E4F, 0x6E51, 0x6E52, 0x6E53, 0x6E54, 0x6E57, 0x6E5C, 0x6E5D, 0x6E5E, }; static const unsigned short euc_to_utf8_8FC8[] = { 0x6E62, 0x6E63, 0x6E68, 0x6E73, 0x6E7B, 0x6E7D, 0x6E8D, 0x6E93, 0x6E99, 0x6EA0, 0x6EA7, 0x6EAD, 0x6EAE, 0x6EB1, 0x6EB3, 0x6EBB, 0x6EBF, 0x6EC0, 0x6EC1, 0x6EC3, 0x6EC7, 0x6EC8, 0x6ECA, 0x6ECD, 0x6ECE, 0x6ECF, 0x6EEB, 0x6EED, 0x6EEE, 0x6EF9, 0x6EFB, 0x6EFD, 0x6F04, 0x6F08, 0x6F0A, 0x6F0C, 0x6F0D, 0x6F16, 0x6F18, 0x6F1A, 0x6F1B, 0x6F26, 0x6F29, 0x6F2A, 0x6F2F, 0x6F30, 0x6F33, 0x6F36, 0x6F3B, 0x6F3C, 0x6F2D, 0x6F4F, 0x6F51, 0x6F52, 0x6F53, 0x6F57, 0x6F59, 0x6F5A, 0x6F5D, 0x6F5E, 0x6F61, 0x6F62, 0x6F68, 0x6F6C, 0x6F7D, 0x6F7E, 0x6F83, 0x6F87, 0x6F88, 0x6F8B, 0x6F8C, 0x6F8D, 0x6F90, 0x6F92, 0x6F93, 0x6F94, 0x6F96, 0x6F9A, 0x6F9F, 0x6FA0, 0x6FA5, 0x6FA6, 0x6FA7, 0x6FA8, 0x6FAE, 0x6FAF, 0x6FB0, 0x6FB5, 0x6FB6, 0x6FBC, 0x6FC5, 0x6FC7, 0x6FC8, 0x6FCA, }; static const unsigned short euc_to_utf8_8FC9[] = { 0x6FDA, 0x6FDE, 0x6FE8, 0x6FE9, 0x6FF0, 0x6FF5, 0x6FF9, 0x6FFC, 0x6FFD, 0x7000, 0x7005, 0x7006, 0x7007, 0x700D, 0x7017, 0x7020, 0x7023, 0x702F, 0x7034, 0x7037, 0x7039, 0x703C, 0x7043, 0x7044, 0x7048, 0x7049, 0x704A, 0x704B, 0x7054, 0x7055, 0x705D, 0x705E, 0x704E, 0x7064, 0x7065, 0x706C, 0x706E, 0x7075, 0x7076, 0x707E, 0x7081, 0x7085, 0x7086, 0x7094, 0x7095, 0x7096, 0x7097, 0x7098, 0x709B, 0x70A4, 0x70AB, 0x70B0, 0x70B1, 0x70B4, 0x70B7, 0x70CA, 0x70D1, 0x70D3, 0x70D4, 0x70D5, 0x70D6, 0x70D8, 0x70DC, 0x70E4, 0x70FA, 0x7103, 0x7104, 0x7105, 0x7106, 0x7107, 0x710B, 0x710C, 0x710F, 0x711E, 0x7120, 0x712B, 0x712D, 0x712F, 0x7130, 0x7131, 0x7138, 0x7141, 0x7145, 0x7146, 0x7147, 0x714A, 0x714B, 0x7150, 0x7152, 0x7157, 0x715A, 0x715C, 0x715E, 0x7160, }; static const unsigned short euc_to_utf8_8FCA[] = { 0x7168, 0x7179, 0x7180, 0x7185, 0x7187, 0x718C, 0x7192, 0x719A, 0x719B, 0x71A0, 0x71A2, 0x71AF, 0x71B0, 0x71B2, 0x71B3, 0x71BA, 0x71BF, 0x71C0, 0x71C1, 0x71C4, 0x71CB, 0x71CC, 0x71D3, 0x71D6, 0x71D9, 0x71DA, 0x71DC, 0x71F8, 0x71FE, 0x7200, 0x7207, 0x7208, 0x7209, 0x7213, 0x7217, 0x721A, 0x721D, 0x721F, 0x7224, 0x722B, 0x722F, 0x7234, 0x7238, 0x7239, 0x7241, 0x7242, 0x7243, 0x7245, 0x724E, 0x724F, 0x7250, 0x7253, 0x7255, 0x7256, 0x725A, 0x725C, 0x725E, 0x7260, 0x7263, 0x7268, 0x726B, 0x726E, 0x726F, 0x7271, 0x7277, 0x7278, 0x727B, 0x727C, 0x727F, 0x7284, 0x7289, 0x728D, 0x728E, 0x7293, 0x729B, 0x72A8, 0x72AD, 0x72AE, 0x72B1, 0x72B4, 0x72BE, 0x72C1, 0x72C7, 0x72C9, 0x72CC, 0x72D5, 0x72D6, 0x72D8, 0x72DF, 0x72E5, 0x72F3, 0x72F4, 0x72FA, 0x72FB, }; static const unsigned short euc_to_utf8_8FCB[] = { 0x72FE, 0x7302, 0x7304, 0x7305, 0x7307, 0x730B, 0x730D, 0x7312, 0x7313, 0x7318, 0x7319, 0x731E, 0x7322, 0x7324, 0x7327, 0x7328, 0x732C, 0x7331, 0x7332, 0x7335, 0x733A, 0x733B, 0x733D, 0x7343, 0x734D, 0x7350, 0x7352, 0x7356, 0x7358, 0x735D, 0x735E, 0x735F, 0x7360, 0x7366, 0x7367, 0x7369, 0x736B, 0x736C, 0x736E, 0x736F, 0x7371, 0x7377, 0x7379, 0x737C, 0x7380, 0x7381, 0x7383, 0x7385, 0x7386, 0x738E, 0x7390, 0x7393, 0x7395, 0x7397, 0x7398, 0x739C, 0x739E, 0x739F, 0x73A0, 0x73A2, 0x73A5, 0x73A6, 0x73AA, 0x73AB, 0x73AD, 0x73B5, 0x73B7, 0x73B9, 0x73BC, 0x73BD, 0x73BF, 0x73C5, 0x73C6, 0x73C9, 0x73CB, 0x73CC, 0x73CF, 0x73D2, 0x73D3, 0x73D6, 0x73D9, 0x73DD, 0x73E1, 0x73E3, 0x73E6, 0x73E7, 0x73E9, 0x73F4, 0x73F5, 0x73F7, 0x73F9, 0x73FA, 0x73FB, 0x73FD, }; static const unsigned short euc_to_utf8_8FCC[] = { 0x73FF, 0x7400, 0x7401, 0x7404, 0x7407, 0x740A, 0x7411, 0x741A, 0x741B, 0x7424, 0x7426, 0x7428, 0x7429, 0x742A, 0x742B, 0x742C, 0x742D, 0x742E, 0x742F, 0x7430, 0x7431, 0x7439, 0x7440, 0x7443, 0x7444, 0x7446, 0x7447, 0x744B, 0x744D, 0x7451, 0x7452, 0x7457, 0x745D, 0x7462, 0x7466, 0x7467, 0x7468, 0x746B, 0x746D, 0x746E, 0x7471, 0x7472, 0x7480, 0x7481, 0x7485, 0x7486, 0x7487, 0x7489, 0x748F, 0x7490, 0x7491, 0x7492, 0x7498, 0x7499, 0x749A, 0x749C, 0x749F, 0x74A0, 0x74A1, 0x74A3, 0x74A6, 0x74A8, 0x74A9, 0x74AA, 0x74AB, 0x74AE, 0x74AF, 0x74B1, 0x74B2, 0x74B5, 0x74B9, 0x74BB, 0x74BF, 0x74C8, 0x74C9, 0x74CC, 0x74D0, 0x74D3, 0x74D8, 0x74DA, 0x74DB, 0x74DE, 0x74DF, 0x74E4, 0x74E8, 0x74EA, 0x74EB, 0x74EF, 0x74F4, 0x74FA, 0x74FB, 0x74FC, 0x74FF, 0x7506, }; static const unsigned short euc_to_utf8_8FCD[] = { 0x7512, 0x7516, 0x7517, 0x7520, 0x7521, 0x7524, 0x7527, 0x7529, 0x752A, 0x752F, 0x7536, 0x7539, 0x753D, 0x753E, 0x753F, 0x7540, 0x7543, 0x7547, 0x7548, 0x754E, 0x7550, 0x7552, 0x7557, 0x755E, 0x755F, 0x7561, 0x756F, 0x7571, 0x7579, 0x757A, 0x757B, 0x757C, 0x757D, 0x757E, 0x7581, 0x7585, 0x7590, 0x7592, 0x7593, 0x7595, 0x7599, 0x759C, 0x75A2, 0x75A4, 0x75B4, 0x75BA, 0x75BF, 0x75C0, 0x75C1, 0x75C4, 0x75C6, 0x75CC, 0x75CE, 0x75CF, 0x75D7, 0x75DC, 0x75DF, 0x75E0, 0x75E1, 0x75E4, 0x75E7, 0x75EC, 0x75EE, 0x75EF, 0x75F1, 0x75F9, 0x7600, 0x7602, 0x7603, 0x7604, 0x7607, 0x7608, 0x760A, 0x760C, 0x760F, 0x7612, 0x7613, 0x7615, 0x7616, 0x7619, 0x761B, 0x761C, 0x761D, 0x761E, 0x7623, 0x7625, 0x7626, 0x7629, 0x762D, 0x7632, 0x7633, 0x7635, 0x7638, 0x7639, }; static const unsigned short euc_to_utf8_8FCE[] = { 0x763A, 0x763C, 0x764A, 0x7640, 0x7641, 0x7643, 0x7644, 0x7645, 0x7649, 0x764B, 0x7655, 0x7659, 0x765F, 0x7664, 0x7665, 0x766D, 0x766E, 0x766F, 0x7671, 0x7674, 0x7681, 0x7685, 0x768C, 0x768D, 0x7695, 0x769B, 0x769C, 0x769D, 0x769F, 0x76A0, 0x76A2, 0x76A3, 0x76A4, 0x76A5, 0x76A6, 0x76A7, 0x76A8, 0x76AA, 0x76AD, 0x76BD, 0x76C1, 0x76C5, 0x76C9, 0x76CB, 0x76CC, 0x76CE, 0x76D4, 0x76D9, 0x76E0, 0x76E6, 0x76E8, 0x76EC, 0x76F0, 0x76F1, 0x76F6, 0x76F9, 0x76FC, 0x7700, 0x7706, 0x770A, 0x770E, 0x7712, 0x7714, 0x7715, 0x7717, 0x7719, 0x771A, 0x771C, 0x7722, 0x7728, 0x772D, 0x772E, 0x772F, 0x7734, 0x7735, 0x7736, 0x7739, 0x773D, 0x773E, 0x7742, 0x7745, 0x7746, 0x774A, 0x774D, 0x774E, 0x774F, 0x7752, 0x7756, 0x7757, 0x775C, 0x775E, 0x775F, 0x7760, 0x7762, }; static const unsigned short euc_to_utf8_8FCF[] = { 0x7764, 0x7767, 0x776A, 0x776C, 0x7770, 0x7772, 0x7773, 0x7774, 0x777A, 0x777D, 0x7780, 0x7784, 0x778C, 0x778D, 0x7794, 0x7795, 0x7796, 0x779A, 0x779F, 0x77A2, 0x77A7, 0x77AA, 0x77AE, 0x77AF, 0x77B1, 0x77B5, 0x77BE, 0x77C3, 0x77C9, 0x77D1, 0x77D2, 0x77D5, 0x77D9, 0x77DE, 0x77DF, 0x77E0, 0x77E4, 0x77E6, 0x77EA, 0x77EC, 0x77F0, 0x77F1, 0x77F4, 0x77F8, 0x77FB, 0x7805, 0x7806, 0x7809, 0x780D, 0x780E, 0x7811, 0x781D, 0x7821, 0x7822, 0x7823, 0x782D, 0x782E, 0x7830, 0x7835, 0x7837, 0x7843, 0x7844, 0x7847, 0x7848, 0x784C, 0x784E, 0x7852, 0x785C, 0x785E, 0x7860, 0x7861, 0x7863, 0x7864, 0x7868, 0x786A, 0x786E, 0x787A, 0x787E, 0x788A, 0x788F, 0x7894, 0x7898, 0x78A1, 0x789D, 0x789E, 0x789F, 0x78A4, 0x78A8, 0x78AC, 0x78AD, 0x78B0, 0x78B1, 0x78B2, 0x78B3, }; static const unsigned short euc_to_utf8_8FD0[] = { 0x78BB, 0x78BD, 0x78BF, 0x78C7, 0x78C8, 0x78C9, 0x78CC, 0x78CE, 0x78D2, 0x78D3, 0x78D5, 0x78D6, 0x78E4, 0x78DB, 0x78DF, 0x78E0, 0x78E1, 0x78E6, 0x78EA, 0x78F2, 0x78F3, 0x7900, 0x78F6, 0x78F7, 0x78FA, 0x78FB, 0x78FF, 0x7906, 0x790C, 0x7910, 0x791A, 0x791C, 0x791E, 0x791F, 0x7920, 0x7925, 0x7927, 0x7929, 0x792D, 0x7931, 0x7934, 0x7935, 0x793B, 0x793D, 0x793F, 0x7944, 0x7945, 0x7946, 0x794A, 0x794B, 0x794F, 0x7951, 0x7954, 0x7958, 0x795B, 0x795C, 0x7967, 0x7969, 0x796B, 0x7972, 0x7979, 0x797B, 0x797C, 0x797E, 0x798B, 0x798C, 0x7991, 0x7993, 0x7994, 0x7995, 0x7996, 0x7998, 0x799B, 0x799C, 0x79A1, 0x79A8, 0x79A9, 0x79AB, 0x79AF, 0x79B1, 0x79B4, 0x79B8, 0x79BB, 0x79C2, 0x79C4, 0x79C7, 0x79C8, 0x79CA, 0x79CF, 0x79D4, 0x79D6, 0x79DA, 0x79DD, 0x79DE, }; static const unsigned short euc_to_utf8_8FD1[] = { 0x79E0, 0x79E2, 0x79E5, 0x79EA, 0x79EB, 0x79ED, 0x79F1, 0x79F8, 0x79FC, 0x7A02, 0x7A03, 0x7A07, 0x7A09, 0x7A0A, 0x7A0C, 0x7A11, 0x7A15, 0x7A1B, 0x7A1E, 0x7A21, 0x7A27, 0x7A2B, 0x7A2D, 0x7A2F, 0x7A30, 0x7A34, 0x7A35, 0x7A38, 0x7A39, 0x7A3A, 0x7A44, 0x7A45, 0x7A47, 0x7A48, 0x7A4C, 0x7A55, 0x7A56, 0x7A59, 0x7A5C, 0x7A5D, 0x7A5F, 0x7A60, 0x7A65, 0x7A67, 0x7A6A, 0x7A6D, 0x7A75, 0x7A78, 0x7A7E, 0x7A80, 0x7A82, 0x7A85, 0x7A86, 0x7A8A, 0x7A8B, 0x7A90, 0x7A91, 0x7A94, 0x7A9E, 0x7AA0, 0x7AA3, 0x7AAC, 0x7AB3, 0x7AB5, 0x7AB9, 0x7ABB, 0x7ABC, 0x7AC6, 0x7AC9, 0x7ACC, 0x7ACE, 0x7AD1, 0x7ADB, 0x7AE8, 0x7AE9, 0x7AEB, 0x7AEC, 0x7AF1, 0x7AF4, 0x7AFB, 0x7AFD, 0x7AFE, 0x7B07, 0x7B14, 0x7B1F, 0x7B23, 0x7B27, 0x7B29, 0x7B2A, 0x7B2B, 0x7B2D, 0x7B2E, 0x7B2F, 0x7B30, }; static const unsigned short euc_to_utf8_8FD2[] = { 0x7B31, 0x7B34, 0x7B3D, 0x7B3F, 0x7B40, 0x7B41, 0x7B47, 0x7B4E, 0x7B55, 0x7B60, 0x7B64, 0x7B66, 0x7B69, 0x7B6A, 0x7B6D, 0x7B6F, 0x7B72, 0x7B73, 0x7B77, 0x7B84, 0x7B89, 0x7B8E, 0x7B90, 0x7B91, 0x7B96, 0x7B9B, 0x7B9E, 0x7BA0, 0x7BA5, 0x7BAC, 0x7BAF, 0x7BB0, 0x7BB2, 0x7BB5, 0x7BB6, 0x7BBA, 0x7BBB, 0x7BBC, 0x7BBD, 0x7BC2, 0x7BC5, 0x7BC8, 0x7BCA, 0x7BD4, 0x7BD6, 0x7BD7, 0x7BD9, 0x7BDA, 0x7BDB, 0x7BE8, 0x7BEA, 0x7BF2, 0x7BF4, 0x7BF5, 0x7BF8, 0x7BF9, 0x7BFA, 0x7BFC, 0x7BFE, 0x7C01, 0x7C02, 0x7C03, 0x7C04, 0x7C06, 0x7C09, 0x7C0B, 0x7C0C, 0x7C0E, 0x7C0F, 0x7C19, 0x7C1B, 0x7C20, 0x7C25, 0x7C26, 0x7C28, 0x7C2C, 0x7C31, 0x7C33, 0x7C34, 0x7C36, 0x7C39, 0x7C3A, 0x7C46, 0x7C4A, 0x7C55, 0x7C51, 0x7C52, 0x7C53, 0x7C59, 0x7C5A, 0x7C5B, 0x7C5C, 0x7C5D, 0x7C5E, }; static const unsigned short euc_to_utf8_8FD3[] = { 0x7C61, 0x7C63, 0x7C67, 0x7C69, 0x7C6D, 0x7C6E, 0x7C70, 0x7C72, 0x7C79, 0x7C7C, 0x7C7D, 0x7C86, 0x7C87, 0x7C8F, 0x7C94, 0x7C9E, 0x7CA0, 0x7CA6, 0x7CB0, 0x7CB6, 0x7CB7, 0x7CBA, 0x7CBB, 0x7CBC, 0x7CBF, 0x7CC4, 0x7CC7, 0x7CC8, 0x7CC9, 0x7CCD, 0x7CCF, 0x7CD3, 0x7CD4, 0x7CD5, 0x7CD7, 0x7CD9, 0x7CDA, 0x7CDD, 0x7CE6, 0x7CE9, 0x7CEB, 0x7CF5, 0x7D03, 0x7D07, 0x7D08, 0x7D09, 0x7D0F, 0x7D11, 0x7D12, 0x7D13, 0x7D16, 0x7D1D, 0x7D1E, 0x7D23, 0x7D26, 0x7D2A, 0x7D2D, 0x7D31, 0x7D3C, 0x7D3D, 0x7D3E, 0x7D40, 0x7D41, 0x7D47, 0x7D48, 0x7D4D, 0x7D51, 0x7D53, 0x7D57, 0x7D59, 0x7D5A, 0x7D5C, 0x7D5D, 0x7D65, 0x7D67, 0x7D6A, 0x7D70, 0x7D78, 0x7D7A, 0x7D7B, 0x7D7F, 0x7D81, 0x7D82, 0x7D83, 0x7D85, 0x7D86, 0x7D88, 0x7D8B, 0x7D8C, 0x7D8D, 0x7D91, 0x7D96, 0x7D97, 0x7D9D, }; static const unsigned short euc_to_utf8_8FD4[] = { 0x7D9E, 0x7DA6, 0x7DA7, 0x7DAA, 0x7DB3, 0x7DB6, 0x7DB7, 0x7DB9, 0x7DC2, 0x7DC3, 0x7DC4, 0x7DC5, 0x7DC6, 0x7DCC, 0x7DCD, 0x7DCE, 0x7DD7, 0x7DD9, 0x7E00, 0x7DE2, 0x7DE5, 0x7DE6, 0x7DEA, 0x7DEB, 0x7DED, 0x7DF1, 0x7DF5, 0x7DF6, 0x7DF9, 0x7DFA, 0x7E08, 0x7E10, 0x7E11, 0x7E15, 0x7E17, 0x7E1C, 0x7E1D, 0x7E20, 0x7E27, 0x7E28, 0x7E2C, 0x7E2D, 0x7E2F, 0x7E33, 0x7E36, 0x7E3F, 0x7E44, 0x7E45, 0x7E47, 0x7E4E, 0x7E50, 0x7E52, 0x7E58, 0x7E5F, 0x7E61, 0x7E62, 0x7E65, 0x7E6B, 0x7E6E, 0x7E6F, 0x7E73, 0x7E78, 0x7E7E, 0x7E81, 0x7E86, 0x7E87, 0x7E8A, 0x7E8D, 0x7E91, 0x7E95, 0x7E98, 0x7E9A, 0x7E9D, 0x7E9E, 0x7F3C, 0x7F3B, 0x7F3D, 0x7F3E, 0x7F3F, 0x7F43, 0x7F44, 0x7F47, 0x7F4F, 0x7F52, 0x7F53, 0x7F5B, 0x7F5C, 0x7F5D, 0x7F61, 0x7F63, 0x7F64, 0x7F65, 0x7F66, 0x7F6D, }; static const unsigned short euc_to_utf8_8FD5[] = { 0x7F71, 0x7F7D, 0x7F7E, 0x7F7F, 0x7F80, 0x7F8B, 0x7F8D, 0x7F8F, 0x7F90, 0x7F91, 0x7F96, 0x7F97, 0x7F9C, 0x7FA1, 0x7FA2, 0x7FA6, 0x7FAA, 0x7FAD, 0x7FB4, 0x7FBC, 0x7FBF, 0x7FC0, 0x7FC3, 0x7FC8, 0x7FCE, 0x7FCF, 0x7FDB, 0x7FDF, 0x7FE3, 0x7FE5, 0x7FE8, 0x7FEC, 0x7FEE, 0x7FEF, 0x7FF2, 0x7FFA, 0x7FFD, 0x7FFE, 0x7FFF, 0x8007, 0x8008, 0x800A, 0x800D, 0x800E, 0x800F, 0x8011, 0x8013, 0x8014, 0x8016, 0x801D, 0x801E, 0x801F, 0x8020, 0x8024, 0x8026, 0x802C, 0x802E, 0x8030, 0x8034, 0x8035, 0x8037, 0x8039, 0x803A, 0x803C, 0x803E, 0x8040, 0x8044, 0x8060, 0x8064, 0x8066, 0x806D, 0x8071, 0x8075, 0x8081, 0x8088, 0x808E, 0x809C, 0x809E, 0x80A6, 0x80A7, 0x80AB, 0x80B8, 0x80B9, 0x80C8, 0x80CD, 0x80CF, 0x80D2, 0x80D4, 0x80D5, 0x80D7, 0x80D8, 0x80E0, 0x80ED, 0x80EE, }; static const unsigned short euc_to_utf8_8FD6[] = { 0x80F0, 0x80F2, 0x80F3, 0x80F6, 0x80F9, 0x80FA, 0x80FE, 0x8103, 0x810B, 0x8116, 0x8117, 0x8118, 0x811C, 0x811E, 0x8120, 0x8124, 0x8127, 0x812C, 0x8130, 0x8135, 0x813A, 0x813C, 0x8145, 0x8147, 0x814A, 0x814C, 0x8152, 0x8157, 0x8160, 0x8161, 0x8167, 0x8168, 0x8169, 0x816D, 0x816F, 0x8177, 0x8181, 0x8190, 0x8184, 0x8185, 0x8186, 0x818B, 0x818E, 0x8196, 0x8198, 0x819B, 0x819E, 0x81A2, 0x81AE, 0x81B2, 0x81B4, 0x81BB, 0x81CB, 0x81C3, 0x81C5, 0x81CA, 0x81CE, 0x81CF, 0x81D5, 0x81D7, 0x81DB, 0x81DD, 0x81DE, 0x81E1, 0x81E4, 0x81EB, 0x81EC, 0x81F0, 0x81F1, 0x81F2, 0x81F5, 0x81F6, 0x81F8, 0x81F9, 0x81FD, 0x81FF, 0x8200, 0x8203, 0x820F, 0x8213, 0x8214, 0x8219, 0x821A, 0x821D, 0x8221, 0x8222, 0x8228, 0x8232, 0x8234, 0x823A, 0x8243, 0x8244, 0x8245, 0x8246, }; static const unsigned short euc_to_utf8_8FD7[] = { 0x824B, 0x824E, 0x824F, 0x8251, 0x8256, 0x825C, 0x8260, 0x8263, 0x8267, 0x826D, 0x8274, 0x827B, 0x827D, 0x827F, 0x8280, 0x8281, 0x8283, 0x8284, 0x8287, 0x8289, 0x828A, 0x828E, 0x8291, 0x8294, 0x8296, 0x8298, 0x829A, 0x829B, 0x82A0, 0x82A1, 0x82A3, 0x82A4, 0x82A7, 0x82A8, 0x82A9, 0x82AA, 0x82AE, 0x82B0, 0x82B2, 0x82B4, 0x82B7, 0x82BA, 0x82BC, 0x82BE, 0x82BF, 0x82C6, 0x82D0, 0x82D5, 0x82DA, 0x82E0, 0x82E2, 0x82E4, 0x82E8, 0x82EA, 0x82ED, 0x82EF, 0x82F6, 0x82F7, 0x82FD, 0x82FE, 0x8300, 0x8301, 0x8307, 0x8308, 0x830A, 0x830B, 0x8354, 0x831B, 0x831D, 0x831E, 0x831F, 0x8321, 0x8322, 0x832C, 0x832D, 0x832E, 0x8330, 0x8333, 0x8337, 0x833A, 0x833C, 0x833D, 0x8342, 0x8343, 0x8344, 0x8347, 0x834D, 0x834E, 0x8351, 0x8355, 0x8356, 0x8357, 0x8370, 0x8378, }; static const unsigned short euc_to_utf8_8FD8[] = { 0x837D, 0x837F, 0x8380, 0x8382, 0x8384, 0x8386, 0x838D, 0x8392, 0x8394, 0x8395, 0x8398, 0x8399, 0x839B, 0x839C, 0x839D, 0x83A6, 0x83A7, 0x83A9, 0x83AC, 0x83BE, 0x83BF, 0x83C0, 0x83C7, 0x83C9, 0x83CF, 0x83D0, 0x83D1, 0x83D4, 0x83DD, 0x8353, 0x83E8, 0x83EA, 0x83F6, 0x83F8, 0x83F9, 0x83FC, 0x8401, 0x8406, 0x840A, 0x840F, 0x8411, 0x8415, 0x8419, 0x83AD, 0x842F, 0x8439, 0x8445, 0x8447, 0x8448, 0x844A, 0x844D, 0x844F, 0x8451, 0x8452, 0x8456, 0x8458, 0x8459, 0x845A, 0x845C, 0x8460, 0x8464, 0x8465, 0x8467, 0x846A, 0x8470, 0x8473, 0x8474, 0x8476, 0x8478, 0x847C, 0x847D, 0x8481, 0x8485, 0x8492, 0x8493, 0x8495, 0x849E, 0x84A6, 0x84A8, 0x84A9, 0x84AA, 0x84AF, 0x84B1, 0x84B4, 0x84BA, 0x84BD, 0x84BE, 0x84C0, 0x84C2, 0x84C7, 0x84C8, 0x84CC, 0x84CF, 0x84D3, }; static const unsigned short euc_to_utf8_8FD9[] = { 0x84DC, 0x84E7, 0x84EA, 0x84EF, 0x84F0, 0x84F1, 0x84F2, 0x84F7, 0x8532, 0x84FA, 0x84FB, 0x84FD, 0x8502, 0x8503, 0x8507, 0x850C, 0x850E, 0x8510, 0x851C, 0x851E, 0x8522, 0x8523, 0x8524, 0x8525, 0x8527, 0x852A, 0x852B, 0x852F, 0x8533, 0x8534, 0x8536, 0x853F, 0x8546, 0x854F, 0x8550, 0x8551, 0x8552, 0x8553, 0x8556, 0x8559, 0x855C, 0x855D, 0x855E, 0x855F, 0x8560, 0x8561, 0x8562, 0x8564, 0x856B, 0x856F, 0x8579, 0x857A, 0x857B, 0x857D, 0x857F, 0x8581, 0x8585, 0x8586, 0x8589, 0x858B, 0x858C, 0x858F, 0x8593, 0x8598, 0x859D, 0x859F, 0x85A0, 0x85A2, 0x85A5, 0x85A7, 0x85B4, 0x85B6, 0x85B7, 0x85B8, 0x85BC, 0x85BD, 0x85BE, 0x85BF, 0x85C2, 0x85C7, 0x85CA, 0x85CB, 0x85CE, 0x85AD, 0x85D8, 0x85DA, 0x85DF, 0x85E0, 0x85E6, 0x85E8, 0x85ED, 0x85F3, 0x85F6, 0x85FC, }; static const unsigned short euc_to_utf8_8FDA[] = { 0x85FF, 0x8600, 0x8604, 0x8605, 0x860D, 0x860E, 0x8610, 0x8611, 0x8612, 0x8618, 0x8619, 0x861B, 0x861E, 0x8621, 0x8627, 0x8629, 0x8636, 0x8638, 0x863A, 0x863C, 0x863D, 0x8640, 0x8642, 0x8646, 0x8652, 0x8653, 0x8656, 0x8657, 0x8658, 0x8659, 0x865D, 0x8660, 0x8661, 0x8662, 0x8663, 0x8664, 0x8669, 0x866C, 0x866F, 0x8675, 0x8676, 0x8677, 0x867A, 0x868D, 0x8691, 0x8696, 0x8698, 0x869A, 0x869C, 0x86A1, 0x86A6, 0x86A7, 0x86A8, 0x86AD, 0x86B1, 0x86B3, 0x86B4, 0x86B5, 0x86B7, 0x86B8, 0x86B9, 0x86BF, 0x86C0, 0x86C1, 0x86C3, 0x86C5, 0x86D1, 0x86D2, 0x86D5, 0x86D7, 0x86DA, 0x86DC, 0x86E0, 0x86E3, 0x86E5, 0x86E7, 0x8688, 0x86FA, 0x86FC, 0x86FD, 0x8704, 0x8705, 0x8707, 0x870B, 0x870E, 0x870F, 0x8710, 0x8713, 0x8714, 0x8719, 0x871E, 0x871F, 0x8721, 0x8723, }; static const unsigned short euc_to_utf8_8FDB[] = { 0x8728, 0x872E, 0x872F, 0x8731, 0x8732, 0x8739, 0x873A, 0x873C, 0x873D, 0x873E, 0x8740, 0x8743, 0x8745, 0x874D, 0x8758, 0x875D, 0x8761, 0x8764, 0x8765, 0x876F, 0x8771, 0x8772, 0x877B, 0x8783, 0x8784, 0x8785, 0x8786, 0x8787, 0x8788, 0x8789, 0x878B, 0x878C, 0x8790, 0x8793, 0x8795, 0x8797, 0x8798, 0x8799, 0x879E, 0x87A0, 0x87A3, 0x87A7, 0x87AC, 0x87AD, 0x87AE, 0x87B1, 0x87B5, 0x87BE, 0x87BF, 0x87C1, 0x87C8, 0x87C9, 0x87CA, 0x87CE, 0x87D5, 0x87D6, 0x87D9, 0x87DA, 0x87DC, 0x87DF, 0x87E2, 0x87E3, 0x87E4, 0x87EA, 0x87EB, 0x87ED, 0x87F1, 0x87F3, 0x87F8, 0x87FA, 0x87FF, 0x8801, 0x8803, 0x8806, 0x8809, 0x880A, 0x880B, 0x8810, 0x8819, 0x8812, 0x8813, 0x8814, 0x8818, 0x881A, 0x881B, 0x881C, 0x881E, 0x881F, 0x8828, 0x882D, 0x882E, 0x8830, 0x8832, 0x8835, }; static const unsigned short euc_to_utf8_8FDC[] = { 0x883A, 0x883C, 0x8841, 0x8843, 0x8845, 0x8848, 0x8849, 0x884A, 0x884B, 0x884E, 0x8851, 0x8855, 0x8856, 0x8858, 0x885A, 0x885C, 0x885F, 0x8860, 0x8864, 0x8869, 0x8871, 0x8879, 0x887B, 0x8880, 0x8898, 0x889A, 0x889B, 0x889C, 0x889F, 0x88A0, 0x88A8, 0x88AA, 0x88BA, 0x88BD, 0x88BE, 0x88C0, 0x88CA, 0x88CB, 0x88CC, 0x88CD, 0x88CE, 0x88D1, 0x88D2, 0x88D3, 0x88DB, 0x88DE, 0x88E7, 0x88EF, 0x88F0, 0x88F1, 0x88F5, 0x88F7, 0x8901, 0x8906, 0x890D, 0x890E, 0x890F, 0x8915, 0x8916, 0x8918, 0x8919, 0x891A, 0x891C, 0x8920, 0x8926, 0x8927, 0x8928, 0x8930, 0x8931, 0x8932, 0x8935, 0x8939, 0x893A, 0x893E, 0x8940, 0x8942, 0x8945, 0x8946, 0x8949, 0x894F, 0x8952, 0x8957, 0x895A, 0x895B, 0x895C, 0x8961, 0x8962, 0x8963, 0x896B, 0x896E, 0x8970, 0x8973, 0x8975, 0x897A, }; static const unsigned short euc_to_utf8_8FDD[] = { 0x897B, 0x897C, 0x897D, 0x8989, 0x898D, 0x8990, 0x8994, 0x8995, 0x899B, 0x899C, 0x899F, 0x89A0, 0x89A5, 0x89B0, 0x89B4, 0x89B5, 0x89B6, 0x89B7, 0x89BC, 0x89D4, 0x89D5, 0x89D6, 0x89D7, 0x89D8, 0x89E5, 0x89E9, 0x89EB, 0x89ED, 0x89F1, 0x89F3, 0x89F6, 0x89F9, 0x89FD, 0x89FF, 0x8A04, 0x8A05, 0x8A07, 0x8A0F, 0x8A11, 0x8A12, 0x8A14, 0x8A15, 0x8A1E, 0x8A20, 0x8A22, 0x8A24, 0x8A26, 0x8A2B, 0x8A2C, 0x8A2F, 0x8A35, 0x8A37, 0x8A3D, 0x8A3E, 0x8A40, 0x8A43, 0x8A45, 0x8A47, 0x8A49, 0x8A4D, 0x8A4E, 0x8A53, 0x8A56, 0x8A57, 0x8A58, 0x8A5C, 0x8A5D, 0x8A61, 0x8A65, 0x8A67, 0x8A75, 0x8A76, 0x8A77, 0x8A79, 0x8A7A, 0x8A7B, 0x8A7E, 0x8A7F, 0x8A80, 0x8A83, 0x8A86, 0x8A8B, 0x8A8F, 0x8A90, 0x8A92, 0x8A96, 0x8A97, 0x8A99, 0x8A9F, 0x8AA7, 0x8AA9, 0x8AAE, 0x8AAF, 0x8AB3, }; static const unsigned short euc_to_utf8_8FDE[] = { 0x8AB6, 0x8AB7, 0x8ABB, 0x8ABE, 0x8AC3, 0x8AC6, 0x8AC8, 0x8AC9, 0x8ACA, 0x8AD1, 0x8AD3, 0x8AD4, 0x8AD5, 0x8AD7, 0x8ADD, 0x8ADF, 0x8AEC, 0x8AF0, 0x8AF4, 0x8AF5, 0x8AF6, 0x8AFC, 0x8AFF, 0x8B05, 0x8B06, 0x8B0B, 0x8B11, 0x8B1C, 0x8B1E, 0x8B1F, 0x8B0A, 0x8B2D, 0x8B30, 0x8B37, 0x8B3C, 0x8B42, 0x8B43, 0x8B44, 0x8B45, 0x8B46, 0x8B48, 0x8B52, 0x8B53, 0x8B54, 0x8B59, 0x8B4D, 0x8B5E, 0x8B63, 0x8B6D, 0x8B76, 0x8B78, 0x8B79, 0x8B7C, 0x8B7E, 0x8B81, 0x8B84, 0x8B85, 0x8B8B, 0x8B8D, 0x8B8F, 0x8B94, 0x8B95, 0x8B9C, 0x8B9E, 0x8B9F, 0x8C38, 0x8C39, 0x8C3D, 0x8C3E, 0x8C45, 0x8C47, 0x8C49, 0x8C4B, 0x8C4F, 0x8C51, 0x8C53, 0x8C54, 0x8C57, 0x8C58, 0x8C5B, 0x8C5D, 0x8C59, 0x8C63, 0x8C64, 0x8C66, 0x8C68, 0x8C69, 0x8C6D, 0x8C73, 0x8C75, 0x8C76, 0x8C7B, 0x8C7E, 0x8C86, }; static const unsigned short euc_to_utf8_8FDF[] = { 0x8C87, 0x8C8B, 0x8C90, 0x8C92, 0x8C93, 0x8C99, 0x8C9B, 0x8C9C, 0x8CA4, 0x8CB9, 0x8CBA, 0x8CC5, 0x8CC6, 0x8CC9, 0x8CCB, 0x8CCF, 0x8CD6, 0x8CD5, 0x8CD9, 0x8CDD, 0x8CE1, 0x8CE8, 0x8CEC, 0x8CEF, 0x8CF0, 0x8CF2, 0x8CF5, 0x8CF7, 0x8CF8, 0x8CFE, 0x8CFF, 0x8D01, 0x8D03, 0x8D09, 0x8D12, 0x8D17, 0x8D1B, 0x8D65, 0x8D69, 0x8D6C, 0x8D6E, 0x8D7F, 0x8D82, 0x8D84, 0x8D88, 0x8D8D, 0x8D90, 0x8D91, 0x8D95, 0x8D9E, 0x8D9F, 0x8DA0, 0x8DA6, 0x8DAB, 0x8DAC, 0x8DAF, 0x8DB2, 0x8DB5, 0x8DB7, 0x8DB9, 0x8DBB, 0x8DC0, 0x8DC5, 0x8DC6, 0x8DC7, 0x8DC8, 0x8DCA, 0x8DCE, 0x8DD1, 0x8DD4, 0x8DD5, 0x8DD7, 0x8DD9, 0x8DE4, 0x8DE5, 0x8DE7, 0x8DEC, 0x8DF0, 0x8DBC, 0x8DF1, 0x8DF2, 0x8DF4, 0x8DFD, 0x8E01, 0x8E04, 0x8E05, 0x8E06, 0x8E0B, 0x8E11, 0x8E14, 0x8E16, 0x8E20, 0x8E21, 0x8E22, }; static const unsigned short euc_to_utf8_8FE0[] = { 0x8E23, 0x8E26, 0x8E27, 0x8E31, 0x8E33, 0x8E36, 0x8E37, 0x8E38, 0x8E39, 0x8E3D, 0x8E40, 0x8E41, 0x8E4B, 0x8E4D, 0x8E4E, 0x8E4F, 0x8E54, 0x8E5B, 0x8E5C, 0x8E5D, 0x8E5E, 0x8E61, 0x8E62, 0x8E69, 0x8E6C, 0x8E6D, 0x8E6F, 0x8E70, 0x8E71, 0x8E79, 0x8E7A, 0x8E7B, 0x8E82, 0x8E83, 0x8E89, 0x8E90, 0x8E92, 0x8E95, 0x8E9A, 0x8E9B, 0x8E9D, 0x8E9E, 0x8EA2, 0x8EA7, 0x8EA9, 0x8EAD, 0x8EAE, 0x8EB3, 0x8EB5, 0x8EBA, 0x8EBB, 0x8EC0, 0x8EC1, 0x8EC3, 0x8EC4, 0x8EC7, 0x8ECF, 0x8ED1, 0x8ED4, 0x8EDC, 0x8EE8, 0x8EEE, 0x8EF0, 0x8EF1, 0x8EF7, 0x8EF9, 0x8EFA, 0x8EED, 0x8F00, 0x8F02, 0x8F07, 0x8F08, 0x8F0F, 0x8F10, 0x8F16, 0x8F17, 0x8F18, 0x8F1E, 0x8F20, 0x8F21, 0x8F23, 0x8F25, 0x8F27, 0x8F28, 0x8F2C, 0x8F2D, 0x8F2E, 0x8F34, 0x8F35, 0x8F36, 0x8F37, 0x8F3A, 0x8F40, 0x8F41, }; static const unsigned short euc_to_utf8_8FE1[] = { 0x8F43, 0x8F47, 0x8F4F, 0x8F51, 0x8F52, 0x8F53, 0x8F54, 0x8F55, 0x8F58, 0x8F5D, 0x8F5E, 0x8F65, 0x8F9D, 0x8FA0, 0x8FA1, 0x8FA4, 0x8FA5, 0x8FA6, 0x8FB5, 0x8FB6, 0x8FB8, 0x8FBE, 0x8FC0, 0x8FC1, 0x8FC6, 0x8FCA, 0x8FCB, 0x8FCD, 0x8FD0, 0x8FD2, 0x8FD3, 0x8FD5, 0x8FE0, 0x8FE3, 0x8FE4, 0x8FE8, 0x8FEE, 0x8FF1, 0x8FF5, 0x8FF6, 0x8FFB, 0x8FFE, 0x9002, 0x9004, 0x9008, 0x900C, 0x9018, 0x901B, 0x9028, 0x9029, 0x902F, 0x902A, 0x902C, 0x902D, 0x9033, 0x9034, 0x9037, 0x903F, 0x9043, 0x9044, 0x904C, 0x905B, 0x905D, 0x9062, 0x9066, 0x9067, 0x906C, 0x9070, 0x9074, 0x9079, 0x9085, 0x9088, 0x908B, 0x908C, 0x908E, 0x9090, 0x9095, 0x9097, 0x9098, 0x9099, 0x909B, 0x90A0, 0x90A1, 0x90A2, 0x90A5, 0x90B0, 0x90B2, 0x90B3, 0x90B4, 0x90B6, 0x90BD, 0x90CC, 0x90BE, 0x90C3, }; static const unsigned short euc_to_utf8_8FE2[] = { 0x90C4, 0x90C5, 0x90C7, 0x90C8, 0x90D5, 0x90D7, 0x90D8, 0x90D9, 0x90DC, 0x90DD, 0x90DF, 0x90E5, 0x90D2, 0x90F6, 0x90EB, 0x90EF, 0x90F0, 0x90F4, 0x90FE, 0x90FF, 0x9100, 0x9104, 0x9105, 0x9106, 0x9108, 0x910D, 0x9110, 0x9114, 0x9116, 0x9117, 0x9118, 0x911A, 0x911C, 0x911E, 0x9120, 0x9125, 0x9122, 0x9123, 0x9127, 0x9129, 0x912E, 0x912F, 0x9131, 0x9134, 0x9136, 0x9137, 0x9139, 0x913A, 0x913C, 0x913D, 0x9143, 0x9147, 0x9148, 0x914F, 0x9153, 0x9157, 0x9159, 0x915A, 0x915B, 0x9161, 0x9164, 0x9167, 0x916D, 0x9174, 0x9179, 0x917A, 0x917B, 0x9181, 0x9183, 0x9185, 0x9186, 0x918A, 0x918E, 0x9191, 0x9193, 0x9194, 0x9195, 0x9198, 0x919E, 0x91A1, 0x91A6, 0x91A8, 0x91AC, 0x91AD, 0x91AE, 0x91B0, 0x91B1, 0x91B2, 0x91B3, 0x91B6, 0x91BB, 0x91BC, 0x91BD, 0x91BF, }; static const unsigned short euc_to_utf8_8FE3[] = { 0x91C2, 0x91C3, 0x91C5, 0x91D3, 0x91D4, 0x91D7, 0x91D9, 0x91DA, 0x91DE, 0x91E4, 0x91E5, 0x91E9, 0x91EA, 0x91EC, 0x91ED, 0x91EE, 0x91EF, 0x91F0, 0x91F1, 0x91F7, 0x91F9, 0x91FB, 0x91FD, 0x9200, 0x9201, 0x9204, 0x9205, 0x9206, 0x9207, 0x9209, 0x920A, 0x920C, 0x9210, 0x9212, 0x9213, 0x9216, 0x9218, 0x921C, 0x921D, 0x9223, 0x9224, 0x9225, 0x9226, 0x9228, 0x922E, 0x922F, 0x9230, 0x9233, 0x9235, 0x9236, 0x9238, 0x9239, 0x923A, 0x923C, 0x923E, 0x9240, 0x9242, 0x9243, 0x9246, 0x9247, 0x924A, 0x924D, 0x924E, 0x924F, 0x9251, 0x9258, 0x9259, 0x925C, 0x925D, 0x9260, 0x9261, 0x9265, 0x9267, 0x9268, 0x9269, 0x926E, 0x926F, 0x9270, 0x9275, 0x9276, 0x9277, 0x9278, 0x9279, 0x927B, 0x927C, 0x927D, 0x927F, 0x9288, 0x9289, 0x928A, 0x928D, 0x928E, 0x9292, 0x9297, }; static const unsigned short euc_to_utf8_8FE4[] = { 0x9299, 0x929F, 0x92A0, 0x92A4, 0x92A5, 0x92A7, 0x92A8, 0x92AB, 0x92AF, 0x92B2, 0x92B6, 0x92B8, 0x92BA, 0x92BB, 0x92BC, 0x92BD, 0x92BF, 0x92C0, 0x92C1, 0x92C2, 0x92C3, 0x92C5, 0x92C6, 0x92C7, 0x92C8, 0x92CB, 0x92CC, 0x92CD, 0x92CE, 0x92D0, 0x92D3, 0x92D5, 0x92D7, 0x92D8, 0x92D9, 0x92DC, 0x92DD, 0x92DF, 0x92E0, 0x92E1, 0x92E3, 0x92E5, 0x92E7, 0x92E8, 0x92EC, 0x92EE, 0x92F0, 0x92F9, 0x92FB, 0x92FF, 0x9300, 0x9302, 0x9308, 0x930D, 0x9311, 0x9314, 0x9315, 0x931C, 0x931D, 0x931E, 0x931F, 0x9321, 0x9324, 0x9325, 0x9327, 0x9329, 0x932A, 0x9333, 0x9334, 0x9336, 0x9337, 0x9347, 0x9348, 0x9349, 0x9350, 0x9351, 0x9352, 0x9355, 0x9357, 0x9358, 0x935A, 0x935E, 0x9364, 0x9365, 0x9367, 0x9369, 0x936A, 0x936D, 0x936F, 0x9370, 0x9371, 0x9373, 0x9374, 0x9376, }; static const unsigned short euc_to_utf8_8FE5[] = { 0x937A, 0x937D, 0x937F, 0x9380, 0x9381, 0x9382, 0x9388, 0x938A, 0x938B, 0x938D, 0x938F, 0x9392, 0x9395, 0x9398, 0x939B, 0x939E, 0x93A1, 0x93A3, 0x93A4, 0x93A6, 0x93A8, 0x93AB, 0x93B4, 0x93B5, 0x93B6, 0x93BA, 0x93A9, 0x93C1, 0x93C4, 0x93C5, 0x93C6, 0x93C7, 0x93C9, 0x93CA, 0x93CB, 0x93CC, 0x93CD, 0x93D3, 0x93D9, 0x93DC, 0x93DE, 0x93DF, 0x93E2, 0x93E6, 0x93E7, 0x93F9, 0x93F7, 0x93F8, 0x93FA, 0x93FB, 0x93FD, 0x9401, 0x9402, 0x9404, 0x9408, 0x9409, 0x940D, 0x940E, 0x940F, 0x9415, 0x9416, 0x9417, 0x941F, 0x942E, 0x942F, 0x9431, 0x9432, 0x9433, 0x9434, 0x943B, 0x943F, 0x943D, 0x9443, 0x9445, 0x9448, 0x944A, 0x944C, 0x9455, 0x9459, 0x945C, 0x945F, 0x9461, 0x9463, 0x9468, 0x946B, 0x946D, 0x946E, 0x946F, 0x9471, 0x9472, 0x9484, 0x9483, 0x9578, 0x9579, }; static const unsigned short euc_to_utf8_8FE6[] = { 0x957E, 0x9584, 0x9588, 0x958C, 0x958D, 0x958E, 0x959D, 0x959E, 0x959F, 0x95A1, 0x95A6, 0x95A9, 0x95AB, 0x95AC, 0x95B4, 0x95B6, 0x95BA, 0x95BD, 0x95BF, 0x95C6, 0x95C8, 0x95C9, 0x95CB, 0x95D0, 0x95D1, 0x95D2, 0x95D3, 0x95D9, 0x95DA, 0x95DD, 0x95DE, 0x95DF, 0x95E0, 0x95E4, 0x95E6, 0x961D, 0x961E, 0x9622, 0x9624, 0x9625, 0x9626, 0x962C, 0x9631, 0x9633, 0x9637, 0x9638, 0x9639, 0x963A, 0x963C, 0x963D, 0x9641, 0x9652, 0x9654, 0x9656, 0x9657, 0x9658, 0x9661, 0x966E, 0x9674, 0x967B, 0x967C, 0x967E, 0x967F, 0x9681, 0x9682, 0x9683, 0x9684, 0x9689, 0x9691, 0x9696, 0x969A, 0x969D, 0x969F, 0x96A4, 0x96A5, 0x96A6, 0x96A9, 0x96AE, 0x96AF, 0x96B3, 0x96BA, 0x96CA, 0x96D2, 0x5DB2, 0x96D8, 0x96DA, 0x96DD, 0x96DE, 0x96DF, 0x96E9, 0x96EF, 0x96F1, 0x96FA, 0x9702, }; static const unsigned short euc_to_utf8_8FE7[] = { 0x9703, 0x9705, 0x9709, 0x971A, 0x971B, 0x971D, 0x9721, 0x9722, 0x9723, 0x9728, 0x9731, 0x9733, 0x9741, 0x9743, 0x974A, 0x974E, 0x974F, 0x9755, 0x9757, 0x9758, 0x975A, 0x975B, 0x9763, 0x9767, 0x976A, 0x976E, 0x9773, 0x9776, 0x9777, 0x9778, 0x977B, 0x977D, 0x977F, 0x9780, 0x9789, 0x9795, 0x9796, 0x9797, 0x9799, 0x979A, 0x979E, 0x979F, 0x97A2, 0x97AC, 0x97AE, 0x97B1, 0x97B2, 0x97B5, 0x97B6, 0x97B8, 0x97B9, 0x97BA, 0x97BC, 0x97BE, 0x97BF, 0x97C1, 0x97C4, 0x97C5, 0x97C7, 0x97C9, 0x97CA, 0x97CC, 0x97CD, 0x97CE, 0x97D0, 0x97D1, 0x97D4, 0x97D7, 0x97D8, 0x97D9, 0x97DD, 0x97DE, 0x97E0, 0x97DB, 0x97E1, 0x97E4, 0x97EF, 0x97F1, 0x97F4, 0x97F7, 0x97F8, 0x97FA, 0x9807, 0x980A, 0x9819, 0x980D, 0x980E, 0x9814, 0x9816, 0x981C, 0x981E, 0x9820, 0x9823, 0x9826, }; static const unsigned short euc_to_utf8_8FE8[] = { 0x982B, 0x982E, 0x982F, 0x9830, 0x9832, 0x9833, 0x9835, 0x9825, 0x983E, 0x9844, 0x9847, 0x984A, 0x9851, 0x9852, 0x9853, 0x9856, 0x9857, 0x9859, 0x985A, 0x9862, 0x9863, 0x9865, 0x9866, 0x986A, 0x986C, 0x98AB, 0x98AD, 0x98AE, 0x98B0, 0x98B4, 0x98B7, 0x98B8, 0x98BA, 0x98BB, 0x98BF, 0x98C2, 0x98C5, 0x98C8, 0x98CC, 0x98E1, 0x98E3, 0x98E5, 0x98E6, 0x98E7, 0x98EA, 0x98F3, 0x98F6, 0x9902, 0x9907, 0x9908, 0x9911, 0x9915, 0x9916, 0x9917, 0x991A, 0x991B, 0x991C, 0x991F, 0x9922, 0x9926, 0x9927, 0x992B, 0x9931, 0x9932, 0x9933, 0x9934, 0x9935, 0x9939, 0x993A, 0x993B, 0x993C, 0x9940, 0x9941, 0x9946, 0x9947, 0x9948, 0x994D, 0x994E, 0x9954, 0x9958, 0x9959, 0x995B, 0x995C, 0x995E, 0x995F, 0x9960, 0x999B, 0x999D, 0x999F, 0x99A6, 0x99B0, 0x99B1, 0x99B2, 0x99B5, }; static const unsigned short euc_to_utf8_8FE9[] = { 0x99B9, 0x99BA, 0x99BD, 0x99BF, 0x99C3, 0x99C9, 0x99D3, 0x99D4, 0x99D9, 0x99DA, 0x99DC, 0x99DE, 0x99E7, 0x99EA, 0x99EB, 0x99EC, 0x99F0, 0x99F4, 0x99F5, 0x99F9, 0x99FD, 0x99FE, 0x9A02, 0x9A03, 0x9A04, 0x9A0B, 0x9A0C, 0x9A10, 0x9A11, 0x9A16, 0x9A1E, 0x9A20, 0x9A22, 0x9A23, 0x9A24, 0x9A27, 0x9A2D, 0x9A2E, 0x9A33, 0x9A35, 0x9A36, 0x9A38, 0x9A47, 0x9A41, 0x9A44, 0x9A4A, 0x9A4B, 0x9A4C, 0x9A4E, 0x9A51, 0x9A54, 0x9A56, 0x9A5D, 0x9AAA, 0x9AAC, 0x9AAE, 0x9AAF, 0x9AB2, 0x9AB4, 0x9AB5, 0x9AB6, 0x9AB9, 0x9ABB, 0x9ABE, 0x9ABF, 0x9AC1, 0x9AC3, 0x9AC6, 0x9AC8, 0x9ACE, 0x9AD0, 0x9AD2, 0x9AD5, 0x9AD6, 0x9AD7, 0x9ADB, 0x9ADC, 0x9AE0, 0x9AE4, 0x9AE5, 0x9AE7, 0x9AE9, 0x9AEC, 0x9AF2, 0x9AF3, 0x9AF5, 0x9AF9, 0x9AFA, 0x9AFD, 0x9AFF, 0x9B00, 0x9B01, 0x9B02, 0x9B03, }; static const unsigned short euc_to_utf8_8FEA[] = { 0x9B04, 0x9B05, 0x9B08, 0x9B09, 0x9B0B, 0x9B0C, 0x9B0D, 0x9B0E, 0x9B10, 0x9B12, 0x9B16, 0x9B19, 0x9B1B, 0x9B1C, 0x9B20, 0x9B26, 0x9B2B, 0x9B2D, 0x9B33, 0x9B34, 0x9B35, 0x9B37, 0x9B39, 0x9B3A, 0x9B3D, 0x9B48, 0x9B4B, 0x9B4C, 0x9B55, 0x9B56, 0x9B57, 0x9B5B, 0x9B5E, 0x9B61, 0x9B63, 0x9B65, 0x9B66, 0x9B68, 0x9B6A, 0x9B6B, 0x9B6C, 0x9B6D, 0x9B6E, 0x9B73, 0x9B75, 0x9B77, 0x9B78, 0x9B79, 0x9B7F, 0x9B80, 0x9B84, 0x9B85, 0x9B86, 0x9B87, 0x9B89, 0x9B8A, 0x9B8B, 0x9B8D, 0x9B8F, 0x9B90, 0x9B94, 0x9B9A, 0x9B9D, 0x9B9E, 0x9BA6, 0x9BA7, 0x9BA9, 0x9BAC, 0x9BB0, 0x9BB1, 0x9BB2, 0x9BB7, 0x9BB8, 0x9BBB, 0x9BBC, 0x9BBE, 0x9BBF, 0x9BC1, 0x9BC7, 0x9BC8, 0x9BCE, 0x9BD0, 0x9BD7, 0x9BD8, 0x9BDD, 0x9BDF, 0x9BE5, 0x9BE7, 0x9BEA, 0x9BEB, 0x9BEF, 0x9BF3, 0x9BF7, 0x9BF8, }; static const unsigned short euc_to_utf8_8FEB[] = { 0x9BF9, 0x9BFA, 0x9BFD, 0x9BFF, 0x9C00, 0x9C02, 0x9C0B, 0x9C0F, 0x9C11, 0x9C16, 0x9C18, 0x9C19, 0x9C1A, 0x9C1C, 0x9C1E, 0x9C22, 0x9C23, 0x9C26, 0x9C27, 0x9C28, 0x9C29, 0x9C2A, 0x9C31, 0x9C35, 0x9C36, 0x9C37, 0x9C3D, 0x9C41, 0x9C43, 0x9C44, 0x9C45, 0x9C49, 0x9C4A, 0x9C4E, 0x9C4F, 0x9C50, 0x9C53, 0x9C54, 0x9C56, 0x9C58, 0x9C5B, 0x9C5D, 0x9C5E, 0x9C5F, 0x9C63, 0x9C69, 0x9C6A, 0x9C5C, 0x9C6B, 0x9C68, 0x9C6E, 0x9C70, 0x9C72, 0x9C75, 0x9C77, 0x9C7B, 0x9CE6, 0x9CF2, 0x9CF7, 0x9CF9, 0x9D0B, 0x9D02, 0x9D11, 0x9D17, 0x9D18, 0x9D1C, 0x9D1D, 0x9D1E, 0x9D2F, 0x9D30, 0x9D32, 0x9D33, 0x9D34, 0x9D3A, 0x9D3C, 0x9D45, 0x9D3D, 0x9D42, 0x9D43, 0x9D47, 0x9D4A, 0x9D53, 0x9D54, 0x9D5F, 0x9D63, 0x9D62, 0x9D65, 0x9D69, 0x9D6A, 0x9D6B, 0x9D70, 0x9D76, 0x9D77, 0x9D7B, }; static const unsigned short euc_to_utf8_8FEC[] = { 0x9D7C, 0x9D7E, 0x9D83, 0x9D84, 0x9D86, 0x9D8A, 0x9D8D, 0x9D8E, 0x9D92, 0x9D93, 0x9D95, 0x9D96, 0x9D97, 0x9D98, 0x9DA1, 0x9DAA, 0x9DAC, 0x9DAE, 0x9DB1, 0x9DB5, 0x9DB9, 0x9DBC, 0x9DBF, 0x9DC3, 0x9DC7, 0x9DC9, 0x9DCA, 0x9DD4, 0x9DD5, 0x9DD6, 0x9DD7, 0x9DDA, 0x9DDE, 0x9DDF, 0x9DE0, 0x9DE5, 0x9DE7, 0x9DE9, 0x9DEB, 0x9DEE, 0x9DF0, 0x9DF3, 0x9DF4, 0x9DFE, 0x9E0A, 0x9E02, 0x9E07, 0x9E0E, 0x9E10, 0x9E11, 0x9E12, 0x9E15, 0x9E16, 0x9E19, 0x9E1C, 0x9E1D, 0x9E7A, 0x9E7B, 0x9E7C, 0x9E80, 0x9E82, 0x9E83, 0x9E84, 0x9E85, 0x9E87, 0x9E8E, 0x9E8F, 0x9E96, 0x9E98, 0x9E9B, 0x9E9E, 0x9EA4, 0x9EA8, 0x9EAC, 0x9EAE, 0x9EAF, 0x9EB0, 0x9EB3, 0x9EB4, 0x9EB5, 0x9EC6, 0x9EC8, 0x9ECB, 0x9ED5, 0x9EDF, 0x9EE4, 0x9EE7, 0x9EEC, 0x9EED, 0x9EEE, 0x9EF0, 0x9EF1, 0x9EF2, 0x9EF5, }; static const unsigned short euc_to_utf8_8FED[] = { 0x9EF8, 0x9EFF, 0x9F02, 0x9F03, 0x9F09, 0x9F0F, 0x9F10, 0x9F11, 0x9F12, 0x9F14, 0x9F16, 0x9F17, 0x9F19, 0x9F1A, 0x9F1B, 0x9F1F, 0x9F22, 0x9F26, 0x9F2A, 0x9F2B, 0x9F2F, 0x9F31, 0x9F32, 0x9F34, 0x9F37, 0x9F39, 0x9F3A, 0x9F3C, 0x9F3D, 0x9F3F, 0x9F41, 0x9F43, 0x9F44, 0x9F45, 0x9F46, 0x9F47, 0x9F53, 0x9F55, 0x9F56, 0x9F57, 0x9F58, 0x9F5A, 0x9F5D, 0x9F5E, 0x9F68, 0x9F69, 0x9F6D, 0x9F6E, 0x9F6F, 0x9F70, 0x9F71, 0x9F73, 0x9F75, 0x9F7A, 0x9F7D, 0x9F8F, 0x9F90, 0x9F91, 0x9F92, 0x9F94, 0x9F96, 0x9F97, 0x9F9E, 0x9FA1, 0x9FA2, 0x9FA3, 0x9FA5, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, }; static const unsigned short euc_to_utf8_8FF3[] = { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0x2170, 0x2171, 0x2172, 0x2173, 0x2174, 0x2175, 0x2176, 0x2177, 0x2178, 0x2179, 0x2160, 0x2161, }; static const unsigned short euc_to_utf8_8FF4[] = { 0x2162, 0x2163, 0x2164, 0x2165, 0x2166, 0x2167, 0x2168, 0x2169, 0xff07, 0xff02, 0x3231, 0x2116, 0x2121, 0x70bb, 0x4efc, 0x50f4, 0x51ec, 0x5307, 0x5324, 0xfa0e, 0x548a, 0x5759, 0xfa0f, 0xfa10, 0x589e, 0x5bec, 0x5cf5, 0x5d53, 0xfa11, 0x5fb7, 0x6085, 0x6120, 0x654e, 0x663b, 0x6665, 0xfa12, 0xf929, 0x6801, 0xfa13, 0xfa14, 0x6a6b, 0x6ae2, 0x6df8, 0x6df2, 0x7028, 0xfa15, 0xfa16, 0x7501, 0x7682, 0x769e, 0xfa17, 0x7930, 0xfa18, 0xfa19, 0xfa1a, 0xfa1b, 0x7ae7, 0xfa1c, 0xfa1d, 0x7da0, 0x7dd6, 0xfa1e, 0x8362, 0xfa1f, 0x85b0, 0xfa20, 0xfa21, 0x8807, 0xfa22, 0x8b7f, 0x8cf4, 0x8d76, 0xfa23, 0xfa24, 0xfa25, 0x90de, 0xfa26, 0x9115, 0xfa27, 0xfa28, 0x9592, 0xf9dc, 0xfa29, 0x973b, 0x974d, 0x9751, 0xfa2a, 0xfa2b, 0xfa2c, 0x999e, 0x9ad9, 0x9b72, 0xfa2d, 0x9ed1, }; #endif /* X0212_ENABLE */ const unsigned short euc_to_utf8_1byte[] = { 0xFF61, 0xFF62, 0xFF63, 0xFF64, 0xFF65, 0xFF66, 0xFF67, 0xFF68, 0xFF69, 0xFF6A, 0xFF6B, 0xFF6C, 0xFF6D, 0xFF6E, 0xFF6F, 0xFF70, 0xFF71, 0xFF72, 0xFF73, 0xFF74, 0xFF75, 0xFF76, 0xFF77, 0xFF78, 0xFF79, 0xFF7A, 0xFF7B, 0xFF7C, 0xFF7D, 0xFF7E, 0xFF7F, 0xFF80, 0xFF81, 0xFF82, 0xFF83, 0xFF84, 0xFF85, 0xFF86, 0xFF87, 0xFF88, 0xFF89, 0xFF8A, 0xFF8B, 0xFF8C, 0xFF8D, 0xFF8E, 0xFF8F, 0xFF90, 0xFF91, 0xFF92, 0xFF93, 0xFF94, 0xFF95, 0xFF96, 0xFF97, 0xFF98, 0xFF99, 0xFF9A, 0xFF9B, 0xFF9C, 0xFF9D, 0xFF9E, 0xFF9F, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0x00A9, 0x2122, }; const unsigned short *const euc_to_utf8_2bytes[] = { euc_to_utf8_A1, euc_to_utf8_A2, euc_to_utf8_A3, euc_to_utf8_A4, euc_to_utf8_A5, euc_to_utf8_A6, euc_to_utf8_A7, euc_to_utf8_A8, euc_to_utf8_A9, euc_to_utf8_AA, euc_to_utf8_AB, euc_to_utf8_AC, euc_to_utf8_AD, euc_to_utf8_AE, euc_to_utf8_AF, euc_to_utf8_B0, euc_to_utf8_B1, euc_to_utf8_B2, euc_to_utf8_B3, euc_to_utf8_B4, euc_to_utf8_B5, euc_to_utf8_B6, euc_to_utf8_B7, euc_to_utf8_B8, euc_to_utf8_B9, euc_to_utf8_BA, euc_to_utf8_BB, euc_to_utf8_BC, euc_to_utf8_BD, euc_to_utf8_BE, euc_to_utf8_BF, euc_to_utf8_C0, euc_to_utf8_C1, euc_to_utf8_C2, euc_to_utf8_C3, euc_to_utf8_C4, euc_to_utf8_C5, euc_to_utf8_C6, euc_to_utf8_C7, euc_to_utf8_C8, euc_to_utf8_C9, euc_to_utf8_CA, euc_to_utf8_CB, euc_to_utf8_CC, euc_to_utf8_CD, euc_to_utf8_CE, euc_to_utf8_CF, euc_to_utf8_D0, euc_to_utf8_D1, euc_to_utf8_D2, euc_to_utf8_D3, euc_to_utf8_D4, euc_to_utf8_D5, euc_to_utf8_D6, euc_to_utf8_D7, euc_to_utf8_D8, euc_to_utf8_D9, euc_to_utf8_DA, euc_to_utf8_DB, euc_to_utf8_DC, euc_to_utf8_DD, euc_to_utf8_DE, euc_to_utf8_DF, euc_to_utf8_E0, euc_to_utf8_E1, euc_to_utf8_E2, euc_to_utf8_E3, euc_to_utf8_E4, euc_to_utf8_E5, euc_to_utf8_E6, euc_to_utf8_E7, euc_to_utf8_E8, euc_to_utf8_E9, euc_to_utf8_EA, euc_to_utf8_EB, euc_to_utf8_EC, euc_to_utf8_ED, euc_to_utf8_EE, euc_to_utf8_EF, euc_to_utf8_F0, euc_to_utf8_F1, euc_to_utf8_F2, euc_to_utf8_F3, euc_to_utf8_F4, euc_to_utf8_F5, 0, 0, 0, euc_to_utf8_F9, euc_to_utf8_FA, euc_to_utf8_FB, euc_to_utf8_FC, 0, 0, }; /* Microsoft UCS Mapping Compatible */ const unsigned short *const euc_to_utf8_2bytes_ms[] = { euc_to_utf8_A1_ms, euc_to_utf8_A2_ms, euc_to_utf8_A3, euc_to_utf8_A4, euc_to_utf8_A5, euc_to_utf8_A6, euc_to_utf8_A7, euc_to_utf8_A8, euc_to_utf8_A9, euc_to_utf8_AA, euc_to_utf8_AB, euc_to_utf8_AC, euc_to_utf8_AD, euc_to_utf8_AE, euc_to_utf8_AF, euc_to_utf8_B0, euc_to_utf8_B1, euc_to_utf8_B2, euc_to_utf8_B3, euc_to_utf8_B4, euc_to_utf8_B5, euc_to_utf8_B6, euc_to_utf8_B7, euc_to_utf8_B8, euc_to_utf8_B9, euc_to_utf8_BA, euc_to_utf8_BB, euc_to_utf8_BC, euc_to_utf8_BD, euc_to_utf8_BE, euc_to_utf8_BF, euc_to_utf8_C0, euc_to_utf8_C1, euc_to_utf8_C2, euc_to_utf8_C3, euc_to_utf8_C4, euc_to_utf8_C5, euc_to_utf8_C6, euc_to_utf8_C7, euc_to_utf8_C8, euc_to_utf8_C9, euc_to_utf8_CA, euc_to_utf8_CB, euc_to_utf8_CC, euc_to_utf8_CD, euc_to_utf8_CE, euc_to_utf8_CF, euc_to_utf8_D0, euc_to_utf8_D1, euc_to_utf8_D2, euc_to_utf8_D3, euc_to_utf8_D4, euc_to_utf8_D5, euc_to_utf8_D6, euc_to_utf8_D7, euc_to_utf8_D8, euc_to_utf8_D9, euc_to_utf8_DA, euc_to_utf8_DB, euc_to_utf8_DC, euc_to_utf8_DD, euc_to_utf8_DE, euc_to_utf8_DF, euc_to_utf8_E0, euc_to_utf8_E1, euc_to_utf8_E2, euc_to_utf8_E3, euc_to_utf8_E4, euc_to_utf8_E5, euc_to_utf8_E6, euc_to_utf8_E7, euc_to_utf8_E8, euc_to_utf8_E9, euc_to_utf8_EA, euc_to_utf8_EB, euc_to_utf8_EC, euc_to_utf8_ED, euc_to_utf8_EE, euc_to_utf8_EF, euc_to_utf8_F0, euc_to_utf8_F1, euc_to_utf8_F2, euc_to_utf8_F3, euc_to_utf8_F4, euc_to_utf8_F5, 0, 0, 0, euc_to_utf8_F9, euc_to_utf8_FA, euc_to_utf8_FB, euc_to_utf8_FC_ms, 0, 0, }; /* CP10001 */ const unsigned short *const euc_to_utf8_2bytes_mac[] = { euc_to_utf8_A1_ms, euc_to_utf8_A2_ms, euc_to_utf8_A3, euc_to_utf8_A4, euc_to_utf8_A5, euc_to_utf8_A6, euc_to_utf8_A7, euc_to_utf8_A8, euc_to_utf8_A9, euc_to_utf8_AA, euc_to_utf8_AB, euc_to_utf8_AC_mac, euc_to_utf8_AD_mac, euc_to_utf8_AE, euc_to_utf8_AF, euc_to_utf8_B0, euc_to_utf8_B1, euc_to_utf8_B2, euc_to_utf8_B3, euc_to_utf8_B4, euc_to_utf8_B5, euc_to_utf8_B6, euc_to_utf8_B7, euc_to_utf8_B8, euc_to_utf8_B9, euc_to_utf8_BA, euc_to_utf8_BB, euc_to_utf8_BC, euc_to_utf8_BD, euc_to_utf8_BE, euc_to_utf8_BF, euc_to_utf8_C0, euc_to_utf8_C1, euc_to_utf8_C2, euc_to_utf8_C3, euc_to_utf8_C4, euc_to_utf8_C5, euc_to_utf8_C6, euc_to_utf8_C7, euc_to_utf8_C8, euc_to_utf8_C9, euc_to_utf8_CA, euc_to_utf8_CB, euc_to_utf8_CC, euc_to_utf8_CD, euc_to_utf8_CE, euc_to_utf8_CF, euc_to_utf8_D0, euc_to_utf8_D1, euc_to_utf8_D2, euc_to_utf8_D3, euc_to_utf8_D4, euc_to_utf8_D5, euc_to_utf8_D6, euc_to_utf8_D7, euc_to_utf8_D8, euc_to_utf8_D9, euc_to_utf8_DA, euc_to_utf8_DB, euc_to_utf8_DC, euc_to_utf8_DD, euc_to_utf8_DE, euc_to_utf8_DF, euc_to_utf8_E0, euc_to_utf8_E1, euc_to_utf8_E2, euc_to_utf8_E3, euc_to_utf8_E4, euc_to_utf8_E5, euc_to_utf8_E6, euc_to_utf8_E7, euc_to_utf8_E8, euc_to_utf8_E9, euc_to_utf8_EA, euc_to_utf8_EB, euc_to_utf8_EC, euc_to_utf8_ED, euc_to_utf8_EE, euc_to_utf8_EF, euc_to_utf8_F0, euc_to_utf8_F1, euc_to_utf8_F2, euc_to_utf8_F3, euc_to_utf8_F4, euc_to_utf8_F5, 0, 0, 0, euc_to_utf8_F9, euc_to_utf8_FA, euc_to_utf8_FB, euc_to_utf8_FC_ms, 0, 0, }; const unsigned short *const euc_to_utf8_2bytes_x0213[] = { euc_to_utf8_A1, euc_to_utf8_A2_x0213, euc_to_utf8_A3_x0213, euc_to_utf8_A4_x0213, euc_to_utf8_A5_x0213, euc_to_utf8_A6_x0213, euc_to_utf8_A7_x0213, euc_to_utf8_A8_x0213, euc_to_utf8_A9_x0213, euc_to_utf8_AA_x0213, euc_to_utf8_AB_x0213, euc_to_utf8_AC_x0213, euc_to_utf8_AD_x0213, euc_to_utf8_AE_x0213, euc_to_utf8_AF_x0213, euc_to_utf8_B0, euc_to_utf8_B1, euc_to_utf8_B2, euc_to_utf8_B3, euc_to_utf8_B4, euc_to_utf8_B5, euc_to_utf8_B6, euc_to_utf8_B7, euc_to_utf8_B8, euc_to_utf8_B9, euc_to_utf8_BA, euc_to_utf8_BB, euc_to_utf8_BC, euc_to_utf8_BD, euc_to_utf8_BE, euc_to_utf8_BF, euc_to_utf8_C0, euc_to_utf8_C1, euc_to_utf8_C2, euc_to_utf8_C3, euc_to_utf8_C4, euc_to_utf8_C5, euc_to_utf8_C6, euc_to_utf8_C7, euc_to_utf8_C8, euc_to_utf8_C9, euc_to_utf8_CA, euc_to_utf8_CB, euc_to_utf8_CC, euc_to_utf8_CD, euc_to_utf8_CE, euc_to_utf8_CF_x0213, euc_to_utf8_D0, euc_to_utf8_D1, euc_to_utf8_D2, euc_to_utf8_D3, euc_to_utf8_D4, euc_to_utf8_D5, euc_to_utf8_D6, euc_to_utf8_D7, euc_to_utf8_D8, euc_to_utf8_D9, euc_to_utf8_DA, euc_to_utf8_DB, euc_to_utf8_DC, euc_to_utf8_DD, euc_to_utf8_DE, euc_to_utf8_DF, euc_to_utf8_E0, euc_to_utf8_E1, euc_to_utf8_E2, euc_to_utf8_E3, euc_to_utf8_E4, euc_to_utf8_E5, euc_to_utf8_E6, euc_to_utf8_E7, euc_to_utf8_E8, euc_to_utf8_E9, euc_to_utf8_EA, euc_to_utf8_EB, euc_to_utf8_EC, euc_to_utf8_ED, euc_to_utf8_EE, euc_to_utf8_EF, euc_to_utf8_F0, euc_to_utf8_F1, euc_to_utf8_F2, euc_to_utf8_F3, euc_to_utf8_F4_x0213, euc_to_utf8_F5_x0213, euc_to_utf8_F6_x0213, euc_to_utf8_F7_x0213, euc_to_utf8_F8_x0213, euc_to_utf8_F9_x0213, euc_to_utf8_FA_x0213, euc_to_utf8_FB_x0213, euc_to_utf8_FC_x0213, euc_to_utf8_FD_x0213, euc_to_utf8_FE_x0213, }; #ifdef X0212_ENABLE const unsigned short *const x0212_to_utf8_2bytes[] = { 0, euc_to_utf8_8FA2, 0, 0, 0, euc_to_utf8_8FA6, euc_to_utf8_8FA7, 0, euc_to_utf8_8FA9, euc_to_utf8_8FAA, euc_to_utf8_8FAB, 0, 0, 0, 0, euc_to_utf8_8FB0, euc_to_utf8_8FB1, euc_to_utf8_8FB2, euc_to_utf8_8FB3, euc_to_utf8_8FB4, euc_to_utf8_8FB5, euc_to_utf8_8FB6, euc_to_utf8_8FB7, euc_to_utf8_8FB8, euc_to_utf8_8FB9, euc_to_utf8_8FBA, euc_to_utf8_8FBB, euc_to_utf8_8FBC, euc_to_utf8_8FBD, euc_to_utf8_8FBE, euc_to_utf8_8FBF, euc_to_utf8_8FC0, euc_to_utf8_8FC1, euc_to_utf8_8FC2, euc_to_utf8_8FC3, euc_to_utf8_8FC4, euc_to_utf8_8FC5, euc_to_utf8_8FC6, euc_to_utf8_8FC7, euc_to_utf8_8FC8, euc_to_utf8_8FC9, euc_to_utf8_8FCA, euc_to_utf8_8FCB, euc_to_utf8_8FCC, euc_to_utf8_8FCD, euc_to_utf8_8FCE, euc_to_utf8_8FCF, euc_to_utf8_8FD0, euc_to_utf8_8FD1, euc_to_utf8_8FD2, euc_to_utf8_8FD3, euc_to_utf8_8FD4, euc_to_utf8_8FD5, euc_to_utf8_8FD6, euc_to_utf8_8FD7, euc_to_utf8_8FD8, euc_to_utf8_8FD9, euc_to_utf8_8FDA, euc_to_utf8_8FDB, euc_to_utf8_8FDC, euc_to_utf8_8FDD, euc_to_utf8_8FDE, euc_to_utf8_8FDF, euc_to_utf8_8FE0, euc_to_utf8_8FE1, euc_to_utf8_8FE2, euc_to_utf8_8FE3, euc_to_utf8_8FE4, euc_to_utf8_8FE5, euc_to_utf8_8FE6, euc_to_utf8_8FE7, euc_to_utf8_8FE8, euc_to_utf8_8FE9, euc_to_utf8_8FEA, euc_to_utf8_8FEB, euc_to_utf8_8FEC, euc_to_utf8_8FED, 0, 0, 0, 0, 0, euc_to_utf8_8FF3, euc_to_utf8_8FF4, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,}; const unsigned short *const x0212_to_utf8_2bytes_x0213[] = { euc_to_utf8_8FA1_x0213, euc_to_utf8_8FA2, euc_to_utf8_8FA3_x0213, euc_to_utf8_8FA4_x0213, euc_to_utf8_8FA5_x0213, euc_to_utf8_8FA6, euc_to_utf8_8FA7, euc_to_utf8_8FA8_x0213, euc_to_utf8_8FA9, euc_to_utf8_8FAA, euc_to_utf8_8FAB, euc_to_utf8_8FAC_x0213, euc_to_utf8_8FAD_x0213, euc_to_utf8_8FAE_x0213, euc_to_utf8_8FAF_x0213, euc_to_utf8_8FB0, euc_to_utf8_8FB1, euc_to_utf8_8FB2, euc_to_utf8_8FB3, euc_to_utf8_8FB4, euc_to_utf8_8FB5, euc_to_utf8_8FB6, euc_to_utf8_8FB7, euc_to_utf8_8FB8, euc_to_utf8_8FB9, euc_to_utf8_8FBA, euc_to_utf8_8FBB, euc_to_utf8_8FBC, euc_to_utf8_8FBD, euc_to_utf8_8FBE, euc_to_utf8_8FBF, euc_to_utf8_8FC0, euc_to_utf8_8FC1, euc_to_utf8_8FC2, euc_to_utf8_8FC3, euc_to_utf8_8FC4, euc_to_utf8_8FC5, euc_to_utf8_8FC6, euc_to_utf8_8FC7, euc_to_utf8_8FC8, euc_to_utf8_8FC9, euc_to_utf8_8FCA, euc_to_utf8_8FCB, euc_to_utf8_8FCC, euc_to_utf8_8FCD, euc_to_utf8_8FCE, euc_to_utf8_8FCF, euc_to_utf8_8FD0, euc_to_utf8_8FD1, euc_to_utf8_8FD2, euc_to_utf8_8FD3, euc_to_utf8_8FD4, euc_to_utf8_8FD5, euc_to_utf8_8FD6, euc_to_utf8_8FD7, euc_to_utf8_8FD8, euc_to_utf8_8FD9, euc_to_utf8_8FDA, euc_to_utf8_8FDB, euc_to_utf8_8FDC, euc_to_utf8_8FDD, euc_to_utf8_8FDE, euc_to_utf8_8FDF, euc_to_utf8_8FE0, euc_to_utf8_8FE1, euc_to_utf8_8FE2, euc_to_utf8_8FE3, euc_to_utf8_8FE4, euc_to_utf8_8FE5, euc_to_utf8_8FE6, euc_to_utf8_8FE7, euc_to_utf8_8FE8, euc_to_utf8_8FE9, euc_to_utf8_8FEA, euc_to_utf8_8FEB, euc_to_utf8_8FEC, euc_to_utf8_8FED, euc_to_utf8_8FEE_x0213, euc_to_utf8_8FEF_x0213, euc_to_utf8_8FF0_x0213, euc_to_utf8_8FF1_x0213, euc_to_utf8_8FF2_x0213, euc_to_utf8_8FF3_x0213, euc_to_utf8_8FF4_x0213, euc_to_utf8_8FF5_x0213, euc_to_utf8_8FF6_x0213, euc_to_utf8_8FF7_x0213, euc_to_utf8_8FF8_x0213, euc_to_utf8_8FF9_x0213, euc_to_utf8_8FFA_x0213, euc_to_utf8_8FFB_x0213, euc_to_utf8_8FFC_x0213, euc_to_utf8_8FFD_x0213, euc_to_utf8_8FFE_x0213,}; #endif /* X0212_ENABLE */ const unsigned short x0213_combining_chars[sizeof_x0213_combining_chars] = { 0x309A, 0x0300, 0x0301, 0x02E5, 0x02E9, }; const unsigned short x0213_combining_table[sizeof_x0213_combining_table][3] = { {0x2477, 0x304B, 0x309A}, {0x2478, 0x304D, 0x309A}, {0x2479, 0x304F, 0x309A}, {0x247A, 0x3051, 0x309A}, {0x247B, 0x3053, 0x309A}, {0x2577, 0x30AB, 0x309A}, {0x2578, 0x30AD, 0x309A}, {0x2579, 0x30AF, 0x309A}, {0x257A, 0x30B1, 0x309A}, {0x257B, 0x30B3, 0x309A}, {0x257C, 0x30BB, 0x309A}, {0x257D, 0x30C4, 0x309A}, {0x257E, 0x30C8, 0x309A}, {0x2678, 0x31F7, 0x309A}, {0x2B44, 0x00E6, 0x0300}, {0x2B48, 0x0254, 0x0300}, {0x2B49, 0x0254, 0x0301}, {0x2B4A, 0x028C, 0x0300}, {0x2B4B, 0x028C, 0x0301}, {0x2B4C, 0x0259, 0x0300}, {0x2B4D, 0x0259, 0x0301}, {0x2B4E, 0x025A, 0x0300}, {0x2B4F, 0x025A, 0x0301}, {0x2B65, 0x02E9, 0x02E5}, {0x2B66, 0x02E5, 0x02E9}, }; const unsigned short x0213_1_surrogate_table[sizeof_x0213_1_surrogate_table][3] = { {0x2E22, 0xD840, 0xDC0B}, {0x2F42, 0xD844, 0xDE3D}, {0x2F4C, 0xD844, 0xDF1B}, {0x2F60, 0xD845, 0xDC6E}, {0x2F7B, 0xD846, 0xDCBD}, {0x4F54, 0xD842, 0xDF9F}, {0x4F63, 0xD845, 0xDEB4}, {0x4F6E, 0xD847, 0xDE34}, {0x753A, 0xD84C, 0xDDC4}, {0x7572, 0xD84D, 0xDDC4}, {0x7629, 0xD84D, 0xDF3F}, {0x7632, 0xD84D, 0xDF63}, {0x7660, 0xD84F, 0xDCFE}, {0x776C, 0xD851, 0xDFF1}, {0x787E, 0xD855, 0xDC8E}, {0x7929, 0xD855, 0xDD0E}, {0x7947, 0xD855, 0xDF71}, {0x7954, 0xD856, 0xDDC4}, {0x796E, 0xD857, 0xDDA1}, {0x7A5D, 0xD85A, 0xDEFF}, {0x7B33, 0xD85B, 0xDE40}, {0x7B49, 0xD85C, 0xDCF4}, {0x7B6C, 0xD85D, 0xDE84}, {0x7C49, 0xD860, 0xDE77}, {0x7C51, 0xD860, 0xDFCD}, {0x7E66, 0xD868, 0xDD90}, }; const unsigned short x0213_2_surrogate_table[sizeof_x0213_2_surrogate_table][3] = { {0x2121, 0xD840, 0xDC89}, {0x212B, 0xD840, 0xDCA2}, {0x212E, 0xD840, 0xDCA4}, {0x2136, 0xD840, 0xDDA2}, {0x2146, 0xD840, 0xDE13}, {0x2170, 0xD840, 0xDF2B}, {0x2177, 0xD840, 0xDF81}, {0x2179, 0xD840, 0xDF71}, {0x2322, 0xD840, 0xDFF9}, {0x2325, 0xD841, 0xDC4A}, {0x2327, 0xD841, 0xDD09}, {0x2331, 0xD841, 0xDDD6}, {0x2332, 0xD841, 0xDE28}, {0x2338, 0xD841, 0xDF4F}, {0x233F, 0xD842, 0xDC07}, {0x2341, 0xD842, 0xDC3A}, {0x234A, 0xD842, 0xDCB9}, {0x2352, 0xD842, 0xDD7C}, {0x2353, 0xD842, 0xDD9D}, {0x2359, 0xD842, 0xDED3}, {0x235C, 0xD842, 0xDF1D}, {0x2377, 0xD843, 0xDD45}, {0x242A, 0xD843, 0xDDE1}, {0x2431, 0xD843, 0xDE95}, {0x2432, 0xD843, 0xDE6D}, {0x243A, 0xD843, 0xDE64}, {0x243D, 0xD843, 0xDF5F}, {0x2459, 0xD844, 0xDE01}, {0x245C, 0xD844, 0xDE55}, {0x245E, 0xD844, 0xDE7B}, {0x2463, 0xD844, 0xDE74}, {0x246A, 0xD844, 0xDEE4}, {0x246B, 0xD844, 0xDED7}, {0x2472, 0xD844, 0xDEFD}, {0x2474, 0xD844, 0xDF36}, {0x2475, 0xD844, 0xDF44}, {0x2525, 0xD844, 0xDFC4}, {0x2532, 0xD845, 0xDC6D}, {0x253E, 0xD845, 0xDDD7}, {0x2544, 0xD85B, 0xDC29}, {0x2547, 0xD845, 0xDE47}, {0x2555, 0xD845, 0xDF06}, {0x2556, 0xD845, 0xDF42}, {0x257E, 0xD846, 0xDDC3}, {0x2830, 0xD847, 0xDC56}, {0x2837, 0xD847, 0xDD2D}, {0x2838, 0xD847, 0xDD45}, {0x283A, 0xD847, 0xDD78}, {0x283B, 0xD847, 0xDD62}, {0x283F, 0xD847, 0xDDA1}, {0x2840, 0xD847, 0xDD9C}, {0x2845, 0xD847, 0xDD92}, {0x2848, 0xD847, 0xDDB7}, {0x284A, 0xD847, 0xDDE0}, {0x284B, 0xD847, 0xDE33}, {0x285B, 0xD847, 0xDF1E}, {0x2866, 0xD847, 0xDF76}, {0x286C, 0xD847, 0xDFFA}, {0x2C22, 0xD848, 0xDD7B}, {0x2C2B, 0xD848, 0xDF1E}, {0x2C30, 0xD848, 0xDFAD}, {0x2C50, 0xD849, 0xDEF3}, {0x2C65, 0xD84A, 0xDC5B}, {0x2C6D, 0xD84A, 0xDCAB}, {0x2C72, 0xD84A, 0xDD8F}, {0x2D24, 0xD84A, 0xDEB8}, {0x2D29, 0xD84A, 0xDF4F}, {0x2D2A, 0xD84A, 0xDF50}, {0x2D32, 0xD84A, 0xDF46}, {0x2D34, 0xD84B, 0xDC1D}, {0x2D35, 0xD84A, 0xDFA6}, {0x2D39, 0xD84B, 0xDC24}, {0x2D56, 0xD84B, 0xDDE1}, {0x2D7D, 0xD84C, 0xDDC3}, {0x2E23, 0xD84C, 0xDDF5}, {0x2E24, 0xD84C, 0xDDB6}, {0x2E3A, 0xD84C, 0xDF72}, {0x2E3C, 0xD84C, 0xDFD3}, {0x2E3D, 0xD84C, 0xDFD2}, {0x2E42, 0xD84C, 0xDFD0}, {0x2E43, 0xD84C, 0xDFE4}, {0x2E44, 0xD84C, 0xDFD5}, {0x2E47, 0xD84C, 0xDFDA}, {0x2E49, 0xD84C, 0xDFDF}, {0x2E55, 0xD84D, 0xDC4A}, {0x2E56, 0xD84D, 0xDC51}, {0x2E57, 0xD84D, 0xDC4B}, {0x2E5B, 0xD84D, 0xDC65}, {0x2E77, 0xD84D, 0xDCE4}, {0x2E78, 0xD84D, 0xDD5A}, {0x2F2A, 0xD84D, 0xDD94}, {0x2F3F, 0xD84D, 0xDE39}, {0x2F40, 0xD84D, 0xDE47}, {0x2F42, 0xD84D, 0xDE38}, {0x2F43, 0xD84D, 0xDE3A}, {0x2F4E, 0xD84D, 0xDF1C}, {0x2F59, 0xD84D, 0xDF0C}, {0x2F61, 0xD84D, 0xDF64}, {0x2F69, 0xD84D, 0xDFFF}, {0x2F6A, 0xD84D, 0xDFE7}, {0x2F70, 0xD84E, 0xDC24}, {0x2F75, 0xD84E, 0xDC3D}, {0x6E23, 0xD84E, 0xDE98}, {0x6E34, 0xD84F, 0xDC7F}, {0x6E49, 0xD84F, 0xDD00}, {0x6E5C, 0xD84F, 0xDD40}, {0x6E5E, 0xD84F, 0xDDFA}, {0x6E5F, 0xD84F, 0xDDF9}, {0x6E60, 0xD84F, 0xDDD3}, {0x6F32, 0xD84F, 0xDF7E}, {0x6F47, 0xD850, 0xDC96}, {0x6F4D, 0xD850, 0xDD03}, {0x6F61, 0xD850, 0xDDC6}, {0x6F64, 0xD850, 0xDDFE}, {0x7022, 0xD850, 0xDFBC}, {0x7033, 0xD851, 0xDE29}, {0x7039, 0xD851, 0xDEA5}, {0x7053, 0xD852, 0xDC96}, {0x707B, 0xD852, 0xDE4D}, {0x712E, 0xD852, 0xDF56}, {0x7130, 0xD852, 0xDF6F}, {0x7135, 0xD853, 0xDC16}, {0x7144, 0xD853, 0xDD14}, {0x715D, 0xD853, 0xDE0E}, {0x7161, 0xD853, 0xDE37}, {0x7166, 0xD853, 0xDE6A}, {0x7169, 0xD853, 0xDE8B}, {0x7175, 0xD854, 0xDC4A}, {0x7177, 0xD854, 0xDC55}, {0x717A, 0xD854, 0xDD22}, {0x7221, 0xD854, 0xDDA9}, {0x7223, 0xD854, 0xDDE5}, {0x7224, 0xD854, 0xDDCD}, {0x7228, 0xD854, 0xDE1E}, {0x722C, 0xD854, 0xDE4C}, {0x723D, 0xD855, 0xDC2E}, {0x7248, 0xD855, 0xDCD9}, {0x725B, 0xD855, 0xDDA7}, {0x7275, 0xD855, 0xDFA9}, {0x7276, 0xD855, 0xDFB4}, {0x7332, 0xD856, 0xDDD4}, {0x733D, 0xD856, 0xDEE4}, {0x733E, 0xD856, 0xDEE3}, {0x7340, 0xD856, 0xDEF1}, {0x7352, 0xD856, 0xDFB2}, {0x735D, 0xD857, 0xDC4B}, {0x735E, 0xD857, 0xDC64}, {0x7373, 0xD857, 0xDE2E}, {0x7374, 0xD857, 0xDE56}, {0x7375, 0xD857, 0xDE65}, {0x7377, 0xD857, 0xDE62}, {0x737B, 0xD857, 0xDED8}, {0x737D, 0xD857, 0xDEC2}, {0x7422, 0xD857, 0xDEE8}, {0x7424, 0xD857, 0xDF23}, {0x7427, 0xD857, 0xDF5C}, {0x742E, 0xD857, 0xDFE0}, {0x742F, 0xD857, 0xDFD4}, {0x7434, 0xD858, 0xDC0C}, {0x7435, 0xD857, 0xDFFB}, {0x743D, 0xD858, 0xDC17}, {0x7442, 0xD858, 0xDC60}, {0x744F, 0xD858, 0xDCED}, {0x7469, 0xD858, 0xDE70}, {0x746B, 0xD858, 0xDE86}, {0x7472, 0xD858, 0xDF4C}, {0x7475, 0xD84F, 0xDD0E}, {0x7479, 0xD859, 0xDC02}, {0x7535, 0xD859, 0xDE7E}, {0x753A, 0xD859, 0xDEB0}, {0x7546, 0xD859, 0xDF1D}, {0x7556, 0xD85A, 0xDCDD}, {0x7558, 0xD85A, 0xDCEA}, {0x755A, 0xD85A, 0xDD51}, {0x755D, 0xD85A, 0xDD6F}, {0x755F, 0xD85A, 0xDDDD}, {0x7563, 0xD85A, 0xDE1E}, {0x756A, 0xD85A, 0xDE58}, {0x7570, 0xD85A, 0xDE8C}, {0x7573, 0xD85A, 0xDEB7}, {0x7644, 0xD85B, 0xDC73}, {0x764E, 0xD85B, 0xDCDD}, {0x765D, 0xD85B, 0xDE65}, {0x7675, 0xD85B, 0xDF94}, {0x767E, 0xD85B, 0xDFF8}, {0x7721, 0xD85B, 0xDFF6}, {0x7722, 0xD85B, 0xDFF7}, {0x7733, 0xD85C, 0xDD0D}, {0x7736, 0xD85C, 0xDD39}, {0x7764, 0xD85C, 0xDFDB}, {0x7765, 0xD85C, 0xDFDA}, {0x776B, 0xD85C, 0xDFFE}, {0x776E, 0xD85D, 0xDC10}, {0x7773, 0xD85D, 0xDC49}, {0x7829, 0xD85D, 0xDE15}, {0x782A, 0xD85D, 0xDE14}, {0x782C, 0xD85D, 0xDE31}, {0x7834, 0xD85D, 0xDE93}, {0x783C, 0xD85D, 0xDF0E}, {0x783E, 0xD85D, 0xDF23}, {0x7842, 0xD85D, 0xDF52}, {0x7856, 0xD85E, 0xDD85}, {0x7863, 0xD85E, 0xDE84}, {0x7877, 0xD85E, 0xDFB3}, {0x7879, 0xD85E, 0xDFBE}, {0x787A, 0xD85E, 0xDFC7}, {0x7925, 0xD85F, 0xDCB8}, {0x792F, 0xD85F, 0xDDA0}, {0x7932, 0xD85F, 0xDE10}, {0x7939, 0xD85F, 0xDFB7}, {0x7942, 0xD860, 0xDC8A}, {0x7948, 0xD860, 0xDCBB}, {0x7959, 0xD860, 0xDE82}, {0x795E, 0xD860, 0xDEF3}, {0x7966, 0xD861, 0xDC0C}, {0x796B, 0xD861, 0xDC55}, {0x797A, 0xD861, 0xDD6B}, {0x797E, 0xD861, 0xDDC8}, {0x7A21, 0xD861, 0xDDC9}, {0x7A2C, 0xD861, 0xDED7}, {0x7A2F, 0xD861, 0xDEFA}, {0x7A4F, 0xD862, 0xDD49}, {0x7A50, 0xD862, 0xDD46}, {0x7A57, 0xD862, 0xDD6B}, {0x7A65, 0xD862, 0xDD87}, {0x7A66, 0xD862, 0xDD88}, {0x7A71, 0xD862, 0xDDBA}, {0x7A72, 0xD862, 0xDDBB}, {0x7A7E, 0xD862, 0xDE1E}, {0x7B21, 0xD862, 0xDE29}, {0x7B2C, 0xD862, 0xDE71}, {0x7B2D, 0xD862, 0xDE43}, {0x7B36, 0xD862, 0xDE99}, {0x7B37, 0xD862, 0xDECD}, {0x7B3D, 0xD862, 0xDEE4}, {0x7B3E, 0xD862, 0xDEDD}, {0x7B4E, 0xD862, 0xDFC1}, {0x7B4F, 0xD862, 0xDFEF}, {0x7B57, 0xD863, 0xDD10}, {0x7B5A, 0xD863, 0xDD71}, {0x7B5C, 0xD863, 0xDDFB}, {0x7B5D, 0xD863, 0xDE1F}, {0x7B61, 0xD863, 0xDE36}, {0x7B65, 0xD863, 0xDE89}, {0x7B67, 0xD863, 0xDEEB}, {0x7B69, 0xD863, 0xDF32}, {0x7B71, 0xD863, 0xDFF8}, {0x7C22, 0xD864, 0xDEA0}, {0x7C23, 0xD864, 0xDEB1}, {0x7C38, 0xD865, 0xDC90}, {0x7C42, 0xD865, 0xDDCF}, {0x7C4C, 0xD865, 0xDE7F}, {0x7C56, 0xD865, 0xDEF0}, {0x7C59, 0xD865, 0xDF19}, {0x7C5D, 0xD865, 0xDF50}, {0x7C76, 0xD866, 0xDCC6}, {0x7D2C, 0xD866, 0xDE72}, {0x7D4B, 0xD867, 0xDDDB}, {0x7D4C, 0xD867, 0xDE3D}, {0x7D59, 0xD867, 0xDE15}, {0x7D5B, 0xD867, 0xDE8A}, {0x7D5D, 0xD867, 0xDE49}, {0x7D67, 0xD867, 0xDEC4}, {0x7D6D, 0xD867, 0xDEE9}, {0x7D70, 0xD867, 0xDEDB}, {0x7E25, 0xD867, 0xDFCE}, {0x7E29, 0xD868, 0xDC2F}, {0x7E2B, 0xD868, 0xDC1A}, {0x7E32, 0xD868, 0xDCF9}, {0x7E35, 0xD868, 0xDC82}, {0x7E53, 0xD848, 0xDE18}, {0x7E58, 0xD868, 0xDF8C}, {0x7E5A, 0xD869, 0xDC37}, {0x7E6E, 0xD869, 0xDDF1}, {0x7E70, 0xD869, 0xDE02}, {0x7E72, 0xD869, 0xDE1A}, {0x7E76, 0xD869, 0xDEB2}, }; #endif /* UTF8_OUTPUT_ENABLE */ #ifdef UTF8_INPUT_ENABLE static const unsigned short utf8_to_euc_C2[] = { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0xA242, 0x2171, 0x2172, 0xA270, 0x216F, 0xA243, 0x2178, 0x212F, 0xA26D, 0xA26C, 0, 0x224C, 0, 0xA26E, 0xA234, 0x216B, 0x215E, 0, 0, 0x212D, 0, 0x2279, 0, 0xA231, 0, 0xA26B, 0, 0, 0, 0, 0xA244, }; static const unsigned short utf8_to_euc_C2_ms[] = { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0xA242, 0x2171, 0x2172, 0xA270, 0x5C, 0xA243, 0x2178, 0x212F, 0xA26D, 0xA26C, 0, 0x224C, 0, 0xA26E, 0xA234, 0x216B, 0x215E, 0, 0, 0x212D, 0, 0x2279, 0, 0xA231, 0, 0xA26B, 0, 0, 0, 0, 0xA244, }; static const unsigned short utf8_to_euc_C2_mac[] = { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0x00A0, 0xA242, 0x2171, 0x2172, 0xA270, 0x5C, 0xA243, 0x2178, 0x212F, 0x00FD, 0xA26C, 0, 0x224C, 0, 0xA26E, 0xA234, 0x216B, 0x215E, 0, 0, 0x212D, 0, 0x2279, 0, 0xA231, 0, 0xA26B, 0, 0, 0, 0, 0xA244, }; static const unsigned short utf8_to_euc_C2_932[] = { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0x21, 0x2171, 0x2172, 0, 0x5C, 0x7C, 0x2178, 0x212F, 0x63, 0x61, 0x2263, 0x224C, 0x2D, 0x52, 0x2131, 0x216B, 0x215E, 0x32, 0x33, 0x212D, 0x264C, 0x2279, 0x2126, 0x2124, 0x31, 0x6F, 0x2264, 0, 0, 0, 0, }; static const unsigned short utf8_to_euc_C2_x0213[] = { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0x2922, 0x2923, 0x2171, 0x2172, 0x2924, 0x216F, 0x2925, 0x2178, 0x212F, 0x2926, 0x2927, 0x2928, 0x224C, 0x2929, 0x292A, 0x292B, 0x216B, 0x215E, 0x292C, 0x292D, 0x212D, 0, 0x2279, 0x292E, 0x292F, 0x2930, 0x2931, 0x2932, 0x2933, 0x2934, 0x2935, 0x2936, }; static const unsigned short utf8_to_euc_C3[] = { 0xAA22, 0xAA21, 0xAA24, 0xAA2A, 0xAA23, 0xAA29, 0xA921, 0xAA2E, 0xAA32, 0xAA31, 0xAA34, 0xAA33, 0xAA40, 0xAA3F, 0xAA42, 0xAA41, 0, 0xAA50, 0xAA52, 0xAA51, 0xAA54, 0xAA58, 0xAA53, 0x215F, 0xA92C, 0xAA63, 0xAA62, 0xAA65, 0xAA64, 0xAA72, 0xA930, 0xA94E, 0xAB22, 0xAB21, 0xAB24, 0xAB2A, 0xAB23, 0xAB29, 0xA941, 0xAB2E, 0xAB32, 0xAB31, 0xAB34, 0xAB33, 0xAB40, 0xAB3F, 0xAB42, 0xAB41, 0xA943, 0xAB50, 0xAB52, 0xAB51, 0xAB54, 0xAB58, 0xAB53, 0x2160, 0xA94C, 0xAB63, 0xAB62, 0xAB65, 0xAB64, 0xAB72, 0xA950, 0xAB73, }; static const unsigned short utf8_to_euc_C3_932[] = { 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x41, 0x43, 0x45, 0x45, 0x45, 0x45, 0x49, 0x49, 0x49, 0x49, 0x44, 0x4E, 0x4F, 0x4F, 0x4F, 0x4F, 0x4F, 0x215F, 0x4F, 0x55, 0x55, 0x55, 0x55, 0x59, 0x54, 0x73, 0x61, 0x61, 0x61, 0x61, 0x61, 0x61, 0x61, 0x63, 0x65, 0x65, 0x65, 0x65, 0x69, 0x69, 0x69, 0x69, 0x64, 0x6E, 0x6F, 0x6F, 0x6F, 0x6F, 0x6F, 0x2160, 0x6F, 0x75, 0x75, 0x75, 0x75, 0x79, 0x74, 0x79, }; static const unsigned short utf8_to_euc_C3_x0213[] = { 0x2937, 0x2938, 0x2939, 0x293A, 0x293B, 0x293C, 0x293D, 0x293E, 0x293F, 0x2940, 0x2941, 0x2942, 0x2943, 0x2944, 0x2945, 0x2946, 0x2947, 0x2948, 0x2949, 0x294A, 0x294B, 0x294C, 0x294D, 0x215F, 0x294E, 0x294F, 0x2950, 0x2951, 0x2952, 0x2953, 0x2954, 0x2955, 0x2956, 0x2957, 0x2958, 0x2959, 0x295A, 0x295B, 0x295C, 0x295D, 0x295E, 0x295F, 0x2960, 0x2961, 0x2962, 0x2963, 0x2964, 0x2965, 0x2966, 0x2967, 0x2968, 0x2969, 0x296A, 0x296B, 0x296C, 0x2160, 0x296D, 0x296E, 0x296F, 0x2970, 0x2971, 0x2972, 0x2973, 0x2974, }; static const unsigned short utf8_to_euc_C4[] = { 0xAA27, 0xAB27, 0xAA25, 0xAB25, 0xAA28, 0xAB28, 0xAA2B, 0xAB2B, 0xAA2C, 0xAB2C, 0xAA2F, 0xAB2F, 0xAA2D, 0xAB2D, 0xAA30, 0xAB30, 0xA922, 0xA942, 0xAA37, 0xAB37, 0, 0, 0xAA36, 0xAB36, 0xAA38, 0xAB38, 0xAA35, 0xAB35, 0xAA3A, 0xAB3A, 0xAA3B, 0xAB3B, 0xAA3D, 0xAB3D, 0xAA3C, 0, 0xAA3E, 0xAB3E, 0xA924, 0xA944, 0xAA47, 0xAB47, 0xAA45, 0xAB45, 0, 0, 0xAA46, 0xAB46, 0xAA44, 0xA945, 0xA926, 0xA946, 0xAA48, 0xAB48, 0xAA49, 0xAB49, 0xA947, 0xAA4A, 0xAB4A, 0xAA4C, 0xAB4C, 0xAA4B, 0xAB4B, 0xA929, }; static const unsigned short utf8_to_euc_C4_x0213[] = { 0x2975, 0x297A, 0x2A3A, 0x2A49, 0x2A21, 0x2A2C, 0x2A3C, 0x2A4B, 0x2A59, 0x2A5F, 0xAA2F, 0xAB2F, 0x2A3D, 0x2A4C, 0x2A40, 0x2A4F, 0xA922, 0x2A50, 0x2978, 0x297D, 0, 0, 0xAA36, 0xAB36, 0x2A3E, 0x2A4D, 0x2A3F, 0x2A4E, 0x2A5A, 0x2A60, 0xAA3B, 0xAB3B, 0xAA3D, 0xAB3D, 0xAA3C, 0, 0x2A5B, 0x2A61, 0xA924, 0x2A7D, 0xAA47, 0xAB47, 0x2976, 0x297B, 0, 0, 0xAA46, 0xAB46, 0xAA44, 0xA945, 0xA926, 0xA946, 0x2A5C, 0x2A62, 0xAA49, 0xAB49, 0xA947, 0x2A3B, 0x2A4A, 0xAA4C, 0xAB4C, 0x2A24, 0x2A2F, 0xA929, }; static const unsigned short utf8_to_euc_C5[] = { 0xA949, 0xA928, 0xA948, 0xAA4D, 0xAB4D, 0xAA4F, 0xAB4F, 0xAA4E, 0xAB4E, 0xA94A, 0xA92B, 0xA94B, 0xAA57, 0xAB57, 0, 0, 0xAA56, 0xAB56, 0xA92D, 0xA94D, 0xAA59, 0xAB59, 0xAA5B, 0xAB5B, 0xAA5A, 0xAB5A, 0xAA5C, 0xAB5C, 0xAA5D, 0xAB5D, 0xAA5F, 0xAB5F, 0xAA5E, 0xAB5E, 0xAA61, 0xAB61, 0xAA60, 0xAB60, 0xA92F, 0xA94F, 0xAA6C, 0xAB6C, 0xAA69, 0xAB69, 0xAA66, 0xAB66, 0xAA6B, 0xAB6B, 0xAA68, 0xAB68, 0xAA6A, 0xAB6A, 0xAA71, 0xAB71, 0xAA74, 0xAB74, 0xAA73, 0xAA75, 0xAB75, 0xAA77, 0xAB77, 0xAA76, 0xAB76, 0, }; static const unsigned short utf8_to_euc_C5_x0213[] = { 0xA949, 0x2A23, 0x2A2E, 0x2A41, 0x2A51, 0xAA4F, 0xAB4F, 0x2A42, 0x2A52, 0xA94A, 0xA92B, 0x2A7A, 0x2979, 0x297E, 0, 0, 0x2A43, 0x2A53, 0x2B2B, 0x2B2A, 0x2A39, 0x2A48, 0xAA5B, 0xAB5B, 0x2A44, 0x2A54, 0x2A25, 0x2A30, 0x2A5D, 0x2A63, 0x2A27, 0x2A33, 0x2A26, 0x2A32, 0x2A47, 0x2A57, 0x2A28, 0x2A34, 0xA92F, 0xA94F, 0xAA6C, 0xAB6C, 0x2977, 0x297C, 0x2A5E, 0x2A64, 0x2A45, 0x2A55, 0x2A46, 0x2A56, 0xAA6A, 0xAB6A, 0xAA71, 0xAB71, 0xAA74, 0xAB74, 0xAA73, 0x2A29, 0x2A35, 0x2A2B, 0x2A38, 0x2A2A, 0x2A37, 0, }; static const unsigned short utf8_to_euc_C6_x0213[] = { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0x2B29, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, }; static const unsigned short utf8_to_euc_C7[] = { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0xAA26, 0xAB26, 0xAA43, 0xAB43, 0xAA55, 0xAB55, 0xAA67, 0xAB67, 0xAA70, 0xAB70, 0xAA6D, 0xAB6D, 0xAA6F, 0xAB6F, 0xAA6E, 0xAB6E, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0xAB39, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, }; static const unsigned short utf8_to_euc_C7_x0213[] = { 0, 0, 0x2B24, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0x286F, 0x2870, 0xAA43, 0x2871, 0x2876, 0x2877, 0xAA67, 0x2878, 0xAA70, 0x2879, 0xAA6D, 0x287A, 0xAA6F, 0x287B, 0xAA6E, 0x287C, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0xAB39, 0, 0, 0x2874, 0x2875, 0, 0, 0, 0x2B45, 0, 0, }; static const unsigned short utf8_to_euc_C9_x0213[] = { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0x2B33, 0x2B39, 0x2B3A, 0x2B25, 0x2B38, 0x2B3F, 0x2A6E, 0x2B26, 0x2B2E, 0x2B30, 0x2B43, 0, 0x2B31, 0, 0x2B32, 0x2A75, 0x2B28, 0x2A79, 0, 0, 0x2B36, 0x2B3C, 0x2B22, 0x2B42, 0x2B2C, 0, 0, 0, 0x2A6A, 0x2A74, 0x2A6B, 0x2B34, 0x2A7B, 0x2A65, 0x2A76, 0x2A6F, 0, 0x2B2F, 0, 0, 0, 0x2A6C, 0x2B41, 0x2A73, 0, 0x2A70, 0x2A67, 0, }; static const unsigned short utf8_to_euc_CA_x0213[] = { 0, 0x2A7C, 0x2A71, 0x2A68, 0x2B27, 0, 0, 0, 0x2A6D, 0x2B2D, 0x2B35, 0x2A66, 0x2B37, 0x2B3B, 0x2A78, 0, 0x2A72, 0x2B40, 0x2A69, 0, 0x2B21, 0x2A7E, 0, 0, 0x2B23, 0, 0, 0, 0, 0x2A77, 0, 0, 0, 0x2B3E, 0x2B3D, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, }; static const unsigned short utf8_to_euc_CB[] = { 0, 0, 0, 0, 0, 0, 0, 0xA230, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0xA22F, 0xA232, 0xA236, 0xA235, 0, 0xA233, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, }; static const unsigned short utf8_to_euc_CB_x0213[] = { 0, 0, 0, 0, 0, 0, 0, 0x2A31, 0x2B53, 0, 0, 0, 0x2B54, 0, 0, 0, 0x2B55, 0x2B56, 0, 0, 0, 0, 0, 0, 0x2A22, 0x2A58, 0xA236, 0x2A2D, 0, 0x2A36, 0x2B71, 0, 0, 0, 0, 0, 0, 0x2B60, 0x2B61, 0x2B62, 0x2B63, 0x2B64, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, }; static const unsigned short utf8_to_euc_CC_x0213[] = { 0x2B5C, 0x2B5A, 0x2B5F, 0x2B7D, 0x2B5B, 0, 0x2B57, 0, 0x2B6D, 0, 0, 0x2B59, 0x2B5E, 0, 0, 0x2B5D, 0, 0, 0, 0, 0, 0, 0, 0, 0x2B78, 0x2B79, 0x2B7E, 0, 0x2B6A, 0x2B76, 0x2B77, 0x2B6B, 0x2B6C, 0, 0, 0, 0x2B72, 0x2B67, 0, 0, 0, 0x2B6F, 0x2B7A, 0, 0x2B68, 0, 0, 0x2B70, 0x2B73, 0, 0, 0, 0x2B75, 0, 0, 0, 0, 0x2B69, 0x2B7B, 0x2B7C, 0x2B74, 0x2B6E, 0, 0, }; static const unsigned short utf8_to_euc_CD_x0213[] = { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0x2B52, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, }; static const unsigned short utf8_to_euc_CE[] = { 0, 0, 0, 0, 0xA238, 0xA239, 0xA661, 0, 0xA662, 0xA663, 0xA664, 0, 0xA667, 0, 0xA669, 0xA66C, 0xA676, 0x2621, 0x2622, 0x2623, 0x2624, 0x2625, 0x2626, 0x2627, 0x2628, 0x2629, 0x262A, 0x262B, 0x262C, 0x262D, 0x262E, 0x262F, 0x2630, 0x2631, 0, 0x2632, 0x2633, 0x2634, 0x2635, 0x2636, 0x2637, 0x2638, 0xA665, 0xA66A, 0xA671, 0xA672, 0xA673, 0xA674, 0xA67B, 0x2641, 0x2642, 0x2643, 0x2644, 0x2645, 0x2646, 0x2647, 0x2648, 0x2649, 0x264A, 0x264B, 0x264C, 0x264D, 0x264E, 0x264F, }; static const unsigned short utf8_to_euc_CF[] = { 0x2650, 0x2651, 0xA678, 0x2652, 0x2653, 0x2654, 0x2655, 0x2656, 0x2657, 0x2658, 0xA675, 0xA67A, 0xA677, 0xA679, 0xA67C, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, }; static const unsigned short utf8_to_euc_CF_x0213[] = { 0x2650, 0x2651, 0x2659, 0x2652, 0x2653, 0x2654, 0x2655, 0x2656, 0x2657, 0x2658, 0xA675, 0xA67A, 0xA677, 0xA679, 0xA67C, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, }; static const unsigned short utf8_to_euc_D0[] = { 0, 0x2727, 0xA742, 0xA743, 0xA744, 0xA745, 0xA746, 0xA747, 0xA748, 0xA749, 0xA74A, 0xA74B, 0xA74C, 0, 0xA74D, 0xA74E, 0x2721, 0x2722, 0x2723, 0x2724, 0x2725, 0x2726, 0x2728, 0x2729, 0x272A, 0x272B, 0x272C, 0x272D, 0x272E, 0x272F, 0x2730, 0x2731, 0x2732, 0x2733, 0x2734, 0x2735, 0x2736, 0x2737, 0x2738, 0x2739, 0x273A, 0x273B, 0x273C, 0x273D, 0x273E, 0x273F, 0x2740, 0x2741, 0x2751, 0x2752, 0x2753, 0x2754, 0x2755, 0x2756, 0x2758, 0x2759, 0x275A, 0x275B, 0x275C, 0x275D, 0x275E, 0x275F, 0x2760, 0x2761, }; static const unsigned short utf8_to_euc_D1[] = { 0x2762, 0x2763, 0x2764, 0x2765, 0x2766, 0x2767, 0x2768, 0x2769, 0x276A, 0x276B, 0x276C, 0x276D, 0x276E, 0x276F, 0x2770, 0x2771, 0, 0x2757, 0xA772, 0xA773, 0xA774, 0xA775, 0xA776, 0xA777, 0xA778, 0xA779, 0xA77A, 0xA77B, 0xA77C, 0, 0xA77D, 0xA77E, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, }; static const unsigned short utf8_to_euc_E1B8_x0213[] = { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0x2872, 0x2873, }; static const unsigned short utf8_to_euc_E1BD_x0213[] = { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0x2B46, 0x2B47, 0x2B50, 0x2B51, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, }; static const unsigned short utf8_to_euc_E280[] = { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0x213E, 0, 0, 0, 0x213D, 0x213D, 0x2142, 0, 0x2146, 0x2147, 0, 0, 0x2148, 0x2149, 0, 0, 0x2277, 0x2278, 0, 0, 0, 0x2145, 0x2144, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0x2273, 0, 0x216C, 0x216D, 0, 0, 0, 0, 0, 0, 0, 0x2228, 0, 0, 0x2131, 0, }; static const unsigned short utf8_to_euc_E280_ms[] = { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0x213E, 0, 0, 0, 0x213D, 0x213D, 0x2142, 0, 0x2146, 0x2147, 0, 0, 0x2148, 0x2149, 0, 0, 0x2277, 0x2278, 0, 0, 0, 0x2145, 0x2144, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0x2273, 0, 0x216C, 0x216D, 0, 0, 0, 0, 0, 0, 0, 0x2228, 0, 0, 0x7E, 0, }; static const unsigned short utf8_to_euc_E280_932[] = { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0x213E, 0, 0, 0, 0, 0x213D, 0, 0, 0x2146, 0x2147, 0, 0, 0x2148, 0x2149, 0, 0, 0x2277, 0x2278, 0, 0, 0, 0x2145, 0x2144, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0x2273, 0, 0x216C, 0x216D, 0, 0, 0, 0, 0, 0, 0, 0x2228, 0, 0, 0, 0, }; static const unsigned short utf8_to_euc_E280_x0213[] = { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0x213E, 0, 0, 0x237C, 0x213D, 0x213D, 0x2142, 0, 0x2146, 0x2147, 0, 0, 0x2148, 0x2149, 0, 0, 0x2277, 0x2278, 0x2340, 0, 0, 0x2145, 0x2144, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0x2273, 0, 0x216C, 0x216D, 0, 0, 0, 0, 0, 0, 0, 0x2228, 0x286B, 0, 0x2131, 0x2B58, }; static const unsigned short utf8_to_euc_E281_x0213[] = { 0, 0, 0x2C7E, 0, 0, 0, 0, 0x286C, 0x286D, 0x286E, 0, 0, 0, 0, 0, 0, 0, 0x2C7D, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, }; static const unsigned short utf8_to_euc_E282_x0213[] = { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0x2921, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, }; static const unsigned short utf8_to_euc_E284[] = { 0, 0, 0, 0x216E, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0x2D62, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0x2D64, 0xA26F, 0, 0, 0, 0, 0, 0, 0, 0, 0x2272, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, }; static const unsigned short utf8_to_euc_E284_mac[] = { 0, 0, 0, 0x216E, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0x2B7B, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0x2B7D, 0x00FE, 0, 0, 0, 0, 0, 0, 0, 0, 0x2272, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, }; static const unsigned short utf8_to_euc_E284_x0213[] = { 0, 0, 0, 0x216E, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0x235D, 0, 0, 0, 0x235F, 0, 0, 0x2D62, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0x2D64, 0xA26F, 0, 0, 0, 0, 0x2360, 0, 0, 0, 0x2272, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0x235C, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, }; static const unsigned short utf8_to_euc_E285[] = { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0x2D35, 0x2D36, 0x2D37, 0x2D38, 0x2D39, 0x2D3A, 0x2D3B, 0x2D3C, 0x2D3D, 0x2D3E, 0, 0, 0, 0, 0, 0, 0xF373, 0xF374, 0xF375, 0xF376, 0xF377, 0xF378, 0xF379, 0xF37A, 0xF37B, 0xF37C, 0, 0, 0, 0, 0, 0, }; static const unsigned short utf8_to_euc_E285_mac[] = { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0x2A21, 0x2A22, 0x2A23, 0x2A24, 0x2A25, 0x2A26, 0x2A27, 0x2A28, 0x2A29, 0x2A2A, 0, 0, 0, 0, 0, 0, 0x2A35, 0x2A36, 0x2A37, 0x2A38, 0x2A39, 0x2A3A, 0x2A3B, 0x2A3C, 0x2A3D, 0x2A3E, 0, 0, 0, 0, 0, 0, }; static const unsigned short utf8_to_euc_E285_x0213[] = { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0x2778, 0x2779, 0x277A, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0x2D35, 0x2D36, 0x2D37, 0x2D38, 0x2D39, 0x2D3A, 0x2D3B, 0x2D3C, 0x2D3D, 0x2D3E, 0x2D3F, 0x2D57, 0, 0, 0, 0, 0x2C35, 0x2C36, 0x2C37, 0x2C38, 0x2C39, 0x2C3A, 0x2C3B, 0x2C3C, 0x2C3D, 0x2C3E, 0x2C3F, 0x2C40, 0, 0, 0, 0, }; static const unsigned short utf8_to_euc_E286[] = { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0x222B, 0x222C, 0x222A, 0x222D, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, }; static const unsigned short utf8_to_euc_E286_x0213[] = { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0x222B, 0x222C, 0x222A, 0x222D, 0x2271, 0, 0x2327, 0x2325, 0x2326, 0x2328, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, }; static const unsigned short utf8_to_euc_E287[] = { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0x224D, 0, 0x224E, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, }; static const unsigned short utf8_to_euc_E287_x0213[] = { 0, 0, 0, 0, 0x2329, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0x224D, 0, 0x224E, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0x232B, 0x232C, 0x232A, 0x232D, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, }; static const unsigned short utf8_to_euc_E288[] = { 0x224F, 0, 0x225F, 0x2250, 0, 0, 0, 0x2260, 0x223A, 0, 0, 0x223B, 0, 0, 0, 0, 0, 0x2D74, 0x215D, 0, 0, 0, 0, 0, 0, 0, 0x2265, 0, 0, 0x2267, 0x2167, 0x2D78, 0x225C, 0, 0, 0, 0, 0x2142, 0, 0x224A, 0x224B, 0x2241, 0x2240, 0x2269, 0x226A, 0, 0x2D73, 0, 0, 0, 0, 0, 0x2168, 0x2268, 0, 0, 0, 0, 0, 0, 0, 0x2266, 0, 0, }; static const unsigned short utf8_to_euc_E288_932[] = { 0x224F, 0, 0x225F, 0x2250, 0, 0, 0, 0x2260, 0x223A, 0, 0, 0x223B, 0, 0, 0, 0, 0, 0x2D74, 0, 0, 0, 0, 0, 0, 0, 0, 0x2265, 0, 0, 0x2267, 0x2167, 0x2D78, 0x225C, 0, 0, 0, 0, 0x2142, 0, 0x224A, 0x224B, 0x2241, 0x2240, 0x2269, 0x226A, 0, 0x2D73, 0, 0, 0, 0, 0, 0x2168, 0x2268, 0, 0, 0, 0, 0, 0, 0, 0x2266, 0, 0, }; static const unsigned short utf8_to_euc_E288_mac[] = { 0x224F, 0, 0x225F, 0x2250, 0, 0, 0, 0x2260, 0x223A, 0, 0, 0x223B, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0x2265, 0, 0, 0x2267, 0x2167, 0x2F22, 0x225C, 0, 0, 0, 0, 0x2142, 0, 0x224A, 0x224B, 0x2241, 0x2240, 0x2269, 0x226A, 0, 0x2F21, 0, 0, 0, 0, 0, 0x2168, 0x2268, 0, 0, 0, 0, 0, 0, 0, 0x2266, 0, 0, }; static const unsigned short utf8_to_euc_E288_x0213[] = { 0x224F, 0, 0x225F, 0x2250, 0, 0x2247, 0, 0x2260, 0x223A, 0x2246, 0, 0x223B, 0, 0, 0, 0, 0, 0x2D74, 0x215D, 0x235B, 0, 0, 0, 0, 0, 0, 0x2265, 0, 0, 0x2267, 0x2167, 0x2D78, 0x225C, 0, 0, 0, 0, 0x2254, 0x2255, 0x224A, 0x224B, 0x2241, 0x2240, 0x2269, 0x226A, 0, 0x2D73, 0, 0, 0, 0, 0, 0x2168, 0x2268, 0, 0, 0, 0, 0, 0, 0, 0x2266, 0, 0, }; static const unsigned short utf8_to_euc_E289[] = { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0x2262, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0x2162, 0x2261, 0, 0, 0, 0, 0x2165, 0x2166, 0, 0, 0x2263, 0x2264, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, }; static const unsigned short utf8_to_euc_E289_x0213[] = { 0, 0, 0, 0x226C, 0, 0x226D, 0, 0, 0x226E, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0x2262, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0x2162, 0x2261, 0x226B, 0, 0, 0, 0x2165, 0x2166, 0, 0, 0x2263, 0x2264, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0x226F, 0x2270, 0, 0, 0, 0, 0, 0, 0, 0, }; static const unsigned short utf8_to_euc_E28A[] = { 0, 0, 0x223E, 0x223F, 0, 0, 0x223C, 0x223D, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0x225D, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0x2D79, }; static const unsigned short utf8_to_euc_E28A_mac[] = { 0, 0, 0x223E, 0x223F, 0, 0, 0x223C, 0x223D, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0x225D, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0x2F23, }; static const unsigned short utf8_to_euc_E28A_x0213[] = { 0, 0, 0x223E, 0x223F, 0x2242, 0x2243, 0x223C, 0x223D, 0, 0, 0x2244, 0x2245, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0x2251, 0x2252, 0x2253, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0x225D, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0x2D79, }; static const unsigned short utf8_to_euc_E28B_x0213[] = { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0x2776, 0x2777, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, }; static const unsigned short utf8_to_euc_E28C[] = { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0x225E, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, }; static const unsigned short utf8_to_euc_E28C_x0213[] = { 0, 0, 0, 0, 0, 0x2248, 0x2249, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0x225E, 0, 0, 0, 0, 0, 0x277C, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, }; static const unsigned short utf8_to_euc_E28E_x0213[] = { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0x2742, 0x2743, }; static const unsigned short utf8_to_euc_E28F_x0213[] = { 0x2744, 0x2745, 0x2746, 0x2747, 0x2748, 0x2749, 0x274A, 0x274B, 0x274C, 0x274D, 0x274E, 0x274F, 0x2750, 0, 0x277E, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, }; static const unsigned short utf8_to_euc_E290_x0213[] = { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0x277D, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, }; static const unsigned short utf8_to_euc_E291[] = { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0x2D21, 0x2D22, 0x2D23, 0x2D24, 0x2D25, 0x2D26, 0x2D27, 0x2D28, 0x2D29, 0x2D2A, 0x2D2B, 0x2D2C, 0x2D2D, 0x2D2E, 0x2D2F, 0x2D30, 0x2D31, 0x2D32, 0x2D33, 0x2D34, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, }; static const unsigned short utf8_to_euc_E291_mac[] = { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0x2921, 0x2922, 0x2923, 0x2924, 0x2925, 0x2926, 0x2927, 0x2928, 0x2929, 0x292A, 0x292B, 0x292C, 0x292D, 0x292E, 0x292F, 0x2930, 0x2931, 0x2932, 0x2933, 0x2934, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, }; static const unsigned short utf8_to_euc_E293_x0213[] = { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0x2C41, 0x2C42, 0x2C43, 0x2C44, 0x2C45, 0x2C46, 0x2C47, 0x2C48, 0x2C49, 0x2C4A, 0x2C4B, 0x2C4C, 0x2C4D, 0x2C4E, 0x2C4F, 0x2C50, 0x2C51, 0x2C52, 0x2C53, 0x2C54, 0x2C55, 0x2C56, 0x2C57, 0x2C58, 0x2C59, 0x2C5A, 0, 0x2C2B, 0x2C2C, 0x2C2D, 0x2C2E, 0x2C2F, 0x2C30, 0x2C31, 0x2C32, 0x2C33, 0x2C34, 0x265A, 0x265B, 0x265C, 0x265D, 0x265E, 0x265F, 0x2660, 0x2661, 0x2662, 0x2663, 0, }; static const unsigned short utf8_to_euc_E294[] = { 0x2821, 0x282C, 0x2822, 0x282D, 0, 0, 0, 0, 0, 0, 0, 0, 0x2823, 0, 0, 0x282E, 0x2824, 0, 0, 0x282F, 0x2826, 0, 0, 0x2831, 0x2825, 0, 0, 0x2830, 0x2827, 0x283C, 0, 0, 0x2837, 0, 0, 0x2832, 0x2829, 0x283E, 0, 0, 0x2839, 0, 0, 0x2834, 0x2828, 0, 0, 0x2838, 0x283D, 0, 0, 0x2833, 0x282A, 0, 0, 0x283A, 0x283F, 0, 0, 0x2835, 0x282B, 0, 0, 0x283B, }; static const unsigned short utf8_to_euc_E295[] = { 0, 0, 0x2840, 0, 0, 0, 0, 0, 0, 0, 0, 0x2836, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, }; static const unsigned short utf8_to_euc_E296[] = { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0x2223, 0x2222, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0x2225, 0x2224, 0, 0, 0, 0, 0, 0, 0, 0, 0x2227, 0x2226, 0, 0, }; static const unsigned short utf8_to_euc_E296_x0213[] = { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0x2223, 0x2222, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0x266D, 0x2225, 0x2224, 0, 0, 0x2322, 0x2321, 0, 0, 0, 0, 0x2227, 0x2226, 0, 0, }; static const unsigned short utf8_to_euc_E297[] = { 0, 0, 0, 0, 0, 0, 0x2221, 0x217E, 0, 0, 0, 0x217B, 0, 0, 0x217D, 0x217C, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0x227E, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, }; static const unsigned short utf8_to_euc_E297_x0213[] = { 0x2324, 0x2323, 0, 0, 0, 0, 0x2221, 0x217E, 0, 0x233B, 0, 0x217B, 0, 0, 0x217D, 0x217C, 0x2867, 0x2868, 0x2869, 0x286A, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0x233F, 0, 0, 0, 0, 0, 0, 0, 0, 0x227E, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, }; static const unsigned short utf8_to_euc_E298[] = { 0, 0, 0, 0, 0, 0x217A, 0x2179, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, }; static const unsigned short utf8_to_euc_E298_x0213[] = { 0x2668, 0x2669, 0x266A, 0x266B, 0, 0x217A, 0x2179, 0, 0, 0, 0, 0, 0, 0, 0x2667, 0, 0, 0, 0, 0, 0, 0, 0x2664, 0x2665, 0, 0, 0, 0, 0, 0, 0x2D7E, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, }; static const unsigned short utf8_to_euc_E299[] = { 0x216A, 0, 0x2169, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0x2276, 0, 0, 0x2275, 0, 0x2274, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, }; static const unsigned short utf8_to_euc_E299_x0213[] = { 0x216A, 0, 0x2169, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0x263A, 0x263D, 0x263B, 0x2640, 0x2639, 0x263E, 0x263C, 0x263F, 0x266C, 0x227D, 0x2276, 0x227B, 0x227C, 0x2275, 0x227A, 0x2274, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, }; static const unsigned short utf8_to_euc_E29C_x0213[] = { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0x277B, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, }; static const unsigned short utf8_to_euc_E29D_x0213[] = { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0x2D7D, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0x2C21, 0x2C22, 0x2C23, 0x2C24, 0x2C25, 0x2C26, 0x2C27, 0x2C28, 0x2C29, 0x2C2A, }; static const unsigned short utf8_to_euc_E2A4_x0213[] = { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0x232E, 0x232F, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, }; static const unsigned short utf8_to_euc_E2A6_x0213[] = { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0x233A, }; static const unsigned short utf8_to_euc_E2A7_x0213[] = { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0x237D, 0x237E, 0, 0, 0, 0, }; static const unsigned short utf8_to_euc_E380[] = { 0x2121, 0x2122, 0x2123, 0x2137, 0, 0x2139, 0x213A, 0x213B, 0x2152, 0x2153, 0x2154, 0x2155, 0x2156, 0x2157, 0x2158, 0x2159, 0x215A, 0x215B, 0x2229, 0x222E, 0x214C, 0x214D, 0, 0, 0, 0, 0, 0, 0x2141, 0x2D60, 0, 0x2D61, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, }; static const unsigned short utf8_to_euc_E380_932[] = { 0x2121, 0x2122, 0x2123, 0x2137, 0, 0x2139, 0x213A, 0x213B, 0x2152, 0x2153, 0x2154, 0x2155, 0x2156, 0x2157, 0x2158, 0x2159, 0x215A, 0x215B, 0x2229, 0x222E, 0x214C, 0x214D, 0, 0, 0, 0, 0, 0, 0, 0x2D60, 0, 0x2D61, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, }; static const unsigned short utf8_to_euc_E380_x0213[] = { 0x2121, 0x2122, 0x2123, 0x2137, 0, 0x2139, 0x213A, 0x213B, 0x2152, 0x2153, 0x2154, 0x2155, 0x2156, 0x2157, 0x2158, 0x2159, 0x215A, 0x215B, 0x2229, 0x222E, 0x214C, 0x214D, 0x225A, 0x225B, 0x2258, 0x2259, 0, 0, 0x2141, 0x2D60, 0, 0x2D61, 0x2666, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0x2233, 0x2234, 0x2235, 0, 0, 0, 0, 0, 0x2236, 0x2237, 0x233C, 0, 0, }; static const unsigned short utf8_to_euc_E381[] = { 0, 0x2421, 0x2422, 0x2423, 0x2424, 0x2425, 0x2426, 0x2427, 0x2428, 0x2429, 0x242A, 0x242B, 0x242C, 0x242D, 0x242E, 0x242F, 0x2430, 0x2431, 0x2432, 0x2433, 0x2434, 0x2435, 0x2436, 0x2437, 0x2438, 0x2439, 0x243A, 0x243B, 0x243C, 0x243D, 0x243E, 0x243F, 0x2440, 0x2441, 0x2442, 0x2443, 0x2444, 0x2445, 0x2446, 0x2447, 0x2448, 0x2449, 0x244A, 0x244B, 0x244C, 0x244D, 0x244E, 0x244F, 0x2450, 0x2451, 0x2452, 0x2453, 0x2454, 0x2455, 0x2456, 0x2457, 0x2458, 0x2459, 0x245A, 0x245B, 0x245C, 0x245D, 0x245E, 0x245F, }; static const unsigned short utf8_to_euc_E382[] = { 0x2460, 0x2461, 0x2462, 0x2463, 0x2464, 0x2465, 0x2466, 0x2467, 0x2468, 0x2469, 0x246A, 0x246B, 0x246C, 0x246D, 0x246E, 0x246F, 0x2470, 0x2471, 0x2472, 0x2473, 0, 0, 0, 0, 0, 0, 0, 0x212B, 0x212C, 0x2135, 0x2136, 0, 0, 0x2521, 0x2522, 0x2523, 0x2524, 0x2525, 0x2526, 0x2527, 0x2528, 0x2529, 0x252A, 0x252B, 0x252C, 0x252D, 0x252E, 0x252F, 0x2530, 0x2531, 0x2532, 0x2533, 0x2534, 0x2535, 0x2536, 0x2537, 0x2538, 0x2539, 0x253A, 0x253B, 0x253C, 0x253D, 0x253E, 0x253F, }; static const unsigned short utf8_to_euc_E382_932[] = { 0x2460, 0x2461, 0x2462, 0x2463, 0x2464, 0x2465, 0x2466, 0x2467, 0x2468, 0x2469, 0x246A, 0x246B, 0x246C, 0x246D, 0x246E, 0x246F, 0x2470, 0x2471, 0x2472, 0x2473, 0x2574, 0, 0, 0, 0, 0, 0, 0x212B, 0x212C, 0x2135, 0x2136, 0, 0, 0x2521, 0x2522, 0x2523, 0x2524, 0x2525, 0x2526, 0x2527, 0x2528, 0x2529, 0x252A, 0x252B, 0x252C, 0x252D, 0x252E, 0x252F, 0x2530, 0x2531, 0x2532, 0x2533, 0x2534, 0x2535, 0x2536, 0x2537, 0x2538, 0x2539, 0x253A, 0x253B, 0x253C, 0x253D, 0x253E, 0x253F, }; static const unsigned short utf8_to_euc_E382_x0213[] = { 0x2460, 0x2461, 0x2462, 0x2463, 0x2464, 0x2465, 0x2466, 0x2467, 0x2468, 0x2469, 0x246A, 0x246B, 0x246C, 0x246D, 0x246E, 0x246F, 0x2470, 0x2471, 0x2472, 0x2473, 0x2474, 0x2475, 0x2476, 0, 0, 0, 0, 0x212B, 0x212C, 0x2135, 0x2136, 0x2239, 0x237B, 0x2521, 0x2522, 0x2523, 0x2524, 0x2525, 0x2526, 0x2527, 0x2528, 0x2529, 0x252A, 0x252B, 0x252C, 0x252D, 0x252E, 0x252F, 0x2530, 0x2531, 0x2532, 0x2533, 0x2534, 0x2535, 0x2536, 0x2537, 0x2538, 0x2539, 0x253A, 0x253B, 0x253C, 0x253D, 0x253E, 0x253F, }; static const unsigned short utf8_to_euc_E383[] = { 0x2540, 0x2541, 0x2542, 0x2543, 0x2544, 0x2545, 0x2546, 0x2547, 0x2548, 0x2549, 0x254A, 0x254B, 0x254C, 0x254D, 0x254E, 0x254F, 0x2550, 0x2551, 0x2552, 0x2553, 0x2554, 0x2555, 0x2556, 0x2557, 0x2558, 0x2559, 0x255A, 0x255B, 0x255C, 0x255D, 0x255E, 0x255F, 0x2560, 0x2561, 0x2562, 0x2563, 0x2564, 0x2565, 0x2566, 0x2567, 0x2568, 0x2569, 0x256A, 0x256B, 0x256C, 0x256D, 0x256E, 0x256F, 0x2570, 0x2571, 0x2572, 0x2573, 0x2574, 0x2575, 0x2576, 0, 0, 0, 0, 0x2126, 0x213C, 0x2133, 0x2134, 0, }; static const unsigned short utf8_to_euc_E383_x0213[] = { 0x2540, 0x2541, 0x2542, 0x2543, 0x2544, 0x2545, 0x2546, 0x2547, 0x2548, 0x2549, 0x254A, 0x254B, 0x254C, 0x254D, 0x254E, 0x254F, 0x2550, 0x2551, 0x2552, 0x2553, 0x2554, 0x2555, 0x2556, 0x2557, 0x2558, 0x2559, 0x255A, 0x255B, 0x255C, 0x255D, 0x255E, 0x255F, 0x2560, 0x2561, 0x2562, 0x2563, 0x2564, 0x2565, 0x2566, 0x2567, 0x2568, 0x2569, 0x256A, 0x256B, 0x256C, 0x256D, 0x256E, 0x256F, 0x2570, 0x2571, 0x2572, 0x2573, 0x2574, 0x2575, 0x2576, 0x2772, 0x2773, 0x2774, 0x2775, 0x2126, 0x213C, 0x2133, 0x2134, 0x2238, }; static const unsigned short utf8_to_euc_E387_x0213[] = { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0x266E, 0x266F, 0x2670, 0x2671, 0x2672, 0x2673, 0x2674, 0x2675, 0x2676, 0x2677, 0x2679, 0x267A, 0x267B, 0x267C, 0x267D, 0x267E, }; static const unsigned short utf8_to_euc_E388[] = { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0x2D6A, 0x2D6B, 0, 0, 0, 0, 0, 0, 0x2D6C, 0, 0, 0, 0, 0, 0, }; static const unsigned short utf8_to_euc_E388_mac[] = { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0x2D2E, 0x2D31, 0, 0, 0, 0, 0, 0, 0x2D2C, 0, 0, 0, 0, 0, 0, }; static const unsigned short utf8_to_euc_E389_x0213[] = { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0x2841, 0x2842, 0x2843, 0x2844, 0x2845, 0x2846, 0x2847, 0x2848, 0x2849, 0x284A, 0x284B, 0x284C, 0x284D, 0x284E, 0x284F, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, }; static const unsigned short utf8_to_euc_E38A[] = { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0x2D65, 0x2D66, 0x2D67, 0x2D68, 0x2D69, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, }; static const unsigned short utf8_to_euc_E38A_mac[] = { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0x2D73, 0x2D74, 0x2D75, 0x2D76, 0x2D77, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, }; static const unsigned short utf8_to_euc_E38A_x0213[] = { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0x2D65, 0x2D66, 0x2D67, 0x2D68, 0x2D69, 0, 0, 0, 0, 0, 0, 0, 0, 0x2850, 0x2851, 0x2852, 0x2853, 0x2854, 0x2855, 0x2856, 0x2857, 0x2858, 0x2859, 0x285A, 0x285B, 0x285C, 0x285D, 0x285E, }; static const unsigned short utf8_to_euc_E38B_x0213[] = { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0x2C5B, 0x2C5C, 0x2C5D, 0x2C5E, 0x2C5F, 0x2C60, 0x2C61, 0x2C62, 0x2C63, 0x2C64, 0x2C65, 0x2C66, 0x2C67, 0x2C68, 0x2C69, 0x2C6A, 0x2C6B, 0x2C6C, 0x2C6D, 0x2C6E, 0, 0x2C71, 0, 0, 0, 0x2C70, 0, 0, 0x2C73, 0x2C72, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0x2C6F, 0, 0, 0, 0, 0, }; static const unsigned short utf8_to_euc_E38C[] = { 0, 0, 0, 0x2D46, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0x2D4A, 0, 0, 0, 0, 0, 0, 0x2D41, 0, 0, 0, 0x2D44, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0x2D42, 0x2D4C, 0, 0, 0x2D4B, 0x2D45, 0, 0, 0, 0x2D4D, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0x2D47, 0, 0, 0, 0, 0x2D4F, 0, 0, 0, 0, }; static const unsigned short utf8_to_euc_E38C_mac[] = { 0, 0, 0, 0x2E29, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0x2E32, 0, 0, 0, 0, 0, 0, 0x2E24, 0, 0, 0, 0x2E2B, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0x2E22, 0x2E34, 0, 0, 0x2E35, 0x2E2D, 0, 0, 0, 0x2E37, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0x2E2A, 0, 0, 0, 0, 0x2E36, 0, 0, 0, 0, }; static const unsigned short utf8_to_euc_E38D[] = { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0x2D40, 0x2D4E, 0, 0, 0x2D43, 0, 0, 0, 0x2D48, 0, 0, 0, 0, 0, 0x2D49, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0x2D5F, 0x2D6F, 0x2D6E, 0x2D6D, 0, }; static const unsigned short utf8_to_euc_E38D_mac[] = { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0x2E21, 0x2E2F, 0, 0, 0x2E23, 0, 0, 0, 0x2E2E, 0, 0, 0, 0, 0, 0x2E31, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0x2E6A, 0x2E69, 0x2E68, 0x2E67, 0, }; static const unsigned short utf8_to_euc_E38E[] = { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0x2D53, 0x2D54, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0x2D50, 0x2D51, 0x2D52, 0, 0, 0x2D56, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, }; static const unsigned short utf8_to_euc_E38E_mac[] = { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0x2B2B, 0x2B2D, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0x2B21, 0x2B23, 0x2B29, 0, 0, 0x2B27, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, }; static const unsigned short utf8_to_euc_E38F[] = { 0, 0, 0, 0, 0x2D55, 0, 0, 0, 0, 0, 0, 0, 0, 0x2D63, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, }; static const unsigned short utf8_to_euc_E38F_mac[] = { 0, 0, 0, 0, 0x2B2E, 0, 0, 0, 0, 0, 0, 0, 0, 0x2B7C, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, }; static const unsigned short utf8_to_euc_E38F_x0213[] = { 0, 0, 0, 0, 0x2D55, 0, 0, 0, 0, 0, 0, 0x235E, 0, 0x2D63, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, }; static const unsigned short utf8_to_euc_E390_x0213[] = { 0, 0, 0x2E23, 0, 0, 0, 0xA12D, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0xA132, 0, 0xA133, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, }; static const unsigned short utf8_to_euc_E391_x0213[] = { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0xA15E, 0, 0xA156, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, }; static const unsigned short utf8_to_euc_E392_x0213[] = { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0xA17E, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0x2E53, 0, 0, 0, 0, 0, 0, 0xA32B, 0, 0, 0, }; static const unsigned short utf8_to_euc_E393_x0213[] = { 0, 0xF468, 0, 0, 0, 0, 0, 0xA32F, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0x2E5B, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, }; static const unsigned short utf8_to_euc_E394_x0213[] = { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0xA348, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, }; static const unsigned short utf8_to_euc_E395_x0213[] = { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0xA35D, 0xA35E, 0, 0, 0, 0, 0xA361, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0xA367, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, }; static const unsigned short utf8_to_euc_E396_x0213[] = { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0xA423, 0, 0xA426, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, }; static const unsigned short utf8_to_euc_E397_x0213[] = { 0, 0, 0, 0, 0, 0xA42F, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0xA438, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0xA442, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, }; static const unsigned short utf8_to_euc_E398_x0213[] = { 0, 0, 0, 0, 0, 0xA44A, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, }; static const unsigned short utf8_to_euc_E399_x0213[] = { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0xA479, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, }; static const unsigned short utf8_to_euc_E39A_x0213[] = { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0xA53F, 0, 0, 0, 0, 0xA543, 0, 0, 0xA541, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, }; static const unsigned short utf8_to_euc_E39B_x0213[] = { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0xA557, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, }; static const unsigned short utf8_to_euc_E39D_x0213[] = { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0xA823, 0xA825, 0, 0, 0, 0, 0, 0, 0, 0, 0xA829, 0xA828, 0, 0, 0, 0, 0, 0, 0, 0, 0xA82C, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, }; static const unsigned short utf8_to_euc_E39E_x0213[] = { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0x4F5F, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, }; static const unsigned short utf8_to_euc_E39F_x0213[] = { 0, 0xA83E, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0x4F6F, 0, 0, 0, 0, 0, 0xA856, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0xA859, 0, 0, 0, 0, 0, 0, 0, 0, 0xA85C, 0, 0, }; static const unsigned short utf8_to_euc_E3A0_x0213[] = { 0xA85E, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0xA86F, 0, 0, 0, 0, 0, 0, 0xA871, 0, 0, 0, 0, 0, 0, 0, 0, 0, }; static const unsigned short utf8_to_euc_E3A1_x0213[] = { 0xA874, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0xA879, 0, 0, 0, 0, 0xA87B, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, }; static const unsigned short utf8_to_euc_E3A3_x0213[] = { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0xAC3B, 0, 0, 0, 0, 0, }; static const unsigned short utf8_to_euc_E3A4_x0213[] = { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0xAC46, 0, 0, 0xAC4A, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, }; static const unsigned short utf8_to_euc_E3A5_x0213[] = { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0xAC60, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, }; static const unsigned short utf8_to_euc_E3A9_x0213[] = { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0xAD5B, 0, 0, 0, 0, 0xAD5F, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, }; static const unsigned short utf8_to_euc_E3AB_x0213[] = { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0xAD71, 0xAE36, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0xAD7C, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, }; static const unsigned short utf8_to_euc_E3AC_x0213[] = { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0xAE2E, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0xAE32, 0, 0xAE34, 0, 0, 0, 0, 0, 0x7549, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, }; static const unsigned short utf8_to_euc_E3AD_x0213[] = { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0xAE6D, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0xAE65, 0, 0, 0, 0, 0, 0, 0, 0, }; static const unsigned short utf8_to_euc_E3AE_x0213[] = { 0, 0, 0, 0, 0, 0, 0, 0xAF28, 0xAF29, 0, 0, 0, 0, 0xAF2C, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0xAF34, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0x757E, 0, 0, 0, 0, 0, 0, 0, 0, 0, }; static const unsigned short utf8_to_euc_E3AF_x0213[] = { 0, 0, 0, 0x7621, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0xAF48, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0xAF5D, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, }; static const unsigned short utf8_to_euc_E3B0_x0213[] = { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0x763A, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0xAF77, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, }; static const unsigned short utf8_to_euc_E3B3_x0213[] = { 0, 0, 0, 0xEE3B, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0xEE42, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, }; static const unsigned short utf8_to_euc_E3B4_x0213[] = { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0xEE71, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0xEE7E, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, }; static const unsigned short utf8_to_euc_E3B5_x0213[] = { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0xEF40, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, }; static const unsigned short utf8_to_euc_E3B6_x0213[] = { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0xEF54, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, }; static const unsigned short utf8_to_euc_E3B7_x0213[] = { 0xEF70, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0xEF77, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, }; static const unsigned short utf8_to_euc_E3B8_x0213[] = { 0, 0, 0, 0, 0, 0xF028, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0x7766, }; static const unsigned short utf8_to_euc_E3B9_x0213[] = { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0xF03F, 0, 0, 0, 0, 0, 0xF041, 0, 0xF042, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, }; static const unsigned short utf8_to_euc_E3BA_x0213[] = { 0, 0, 0, 0xF049, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0xF050, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, }; static const unsigned short utf8_to_euc_E3BD_x0213[] = { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0xF134, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0x784D, 0, 0, 0xF146, 0, 0xF148, 0, 0, 0, 0, 0, 0, 0, 0, }; static const unsigned short utf8_to_euc_E3BE_x0213[] = { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0xF15C, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, }; static const unsigned short utf8_to_euc_E3BF_x0213[] = { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0xF167, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0xF16C, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, }; static const unsigned short utf8_to_euc_E480_x0213[] = { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0xF222, 0, 0, 0, 0, 0, 0, }; static const unsigned short utf8_to_euc_E481_x0213[] = { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0xF22D, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, }; static const unsigned short utf8_to_euc_E482_x0213[] = { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0xF239, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, }; static const unsigned short utf8_to_euc_E484_x0213[] = { 0, 0, 0, 0, 0, 0xF264, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, }; static const unsigned short utf8_to_euc_E485_x0213[] = { 0, 0, 0, 0, 0, 0, 0, 0, 0xF274, 0, 0, 0, 0, 0, 0, 0xF277, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0xF27D, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, }; static const unsigned short utf8_to_euc_E486_x0213[] = { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0xF333, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0xF337, }; static const unsigned short utf8_to_euc_E487_x0213[] = { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0xF347, 0, 0, 0, 0, 0, 0, 0, 0xF34B, 0, 0, 0, 0, 0xF348, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, }; static const unsigned short utf8_to_euc_E488_x0213[] = { 0, 0, 0, 0, 0, 0, 0, 0xF353, 0, 0, 0, 0, 0, 0, 0xF357, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, }; static const unsigned short utf8_to_euc_E489_x0213[] = { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0x796D, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, }; static const unsigned short utf8_to_euc_E48B_x0213[] = { 0, 0, 0, 0, 0, 0, 0xF42B, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0xF436, 0, 0, 0, 0, 0, 0, 0xF43B, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, }; static const unsigned short utf8_to_euc_E48C_x0213[] = { 0, 0, 0xF44E, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0xF45D, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, }; static const unsigned short utf8_to_euc_E48D_x0213[] = { 0, 0, 0, 0xF461, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, }; static const unsigned short utf8_to_euc_E48F_x0213[] = { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0xF53E, 0, 0xF542, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, }; static const unsigned short utf8_to_euc_E490_x0213[] = { 0, 0, 0, 0, 0, 0, 0, 0, 0xF548, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0xF54A, 0, 0, 0, 0, 0xF54C, 0, 0, 0, 0, 0, 0xF54F, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, }; static const unsigned short utf8_to_euc_E491_x0213[] = { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0x7A59, 0, 0, 0, 0, 0, 0, 0, 0x7A5A, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0xF56C, 0, 0, 0, 0xF56E, 0, 0, 0, 0, 0, }; static const unsigned short utf8_to_euc_E492_x0213[] = { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0xF577, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0xF635, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0xF632, 0, }; static const unsigned short utf8_to_euc_E493_x0213[] = { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0xF634, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, }; static const unsigned short utf8_to_euc_E494_x0213[] = { 0, 0, 0, 0, 0, 0, 0, 0, 0xF659, 0, 0, 0, 0, 0xF654, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0xF66D, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, }; static const unsigned short utf8_to_euc_E495_x0213[] = { 0, 0, 0, 0xF66E, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, }; static const unsigned short utf8_to_euc_E496_x0213[] = { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0x7B51, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0xF74F, 0, 0, 0, 0, 0, 0, 0, }; static const unsigned short utf8_to_euc_E497_x0213[] = { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0xF76C, 0, 0, 0, 0, 0x7B60, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, }; static const unsigned short utf8_to_euc_E498_x0213[] = { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0xF824, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, }; static const unsigned short utf8_to_euc_E499_x0213[] = { 0, 0xF83A, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0xF843, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, }; static const unsigned short utf8_to_euc_E49A_x0213[] = { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0xF84E, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0xF853, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, }; static const unsigned short utf8_to_euc_E49C_x0213[] = { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0xF86B, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, }; static const unsigned short utf8_to_euc_E49D_x0213[] = { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0xF929, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, }; static const unsigned short utf8_to_euc_E49F_x0213[] = { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0xF93F, 0, 0, }; static const unsigned short utf8_to_euc_E4A0_x0213[] = { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0xF949, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, }; static const unsigned short utf8_to_euc_E4A1_x0213[] = { 0, 0, 0, 0, 0x7C4B, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0xF95C, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, }; static const unsigned short utf8_to_euc_E4A2_x0213[] = { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0xFA27, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, }; static const unsigned short utf8_to_euc_E4A6_x0213[] = { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0x7D58, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, }; static const unsigned short utf8_to_euc_E4A7_x0213[] = { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0xFB6A, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0xFB70, 0, 0, 0, 0, 0, }; static const unsigned short utf8_to_euc_E4A8_x0213[] = { 0, 0, 0, 0, 0xFB75, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0xFB78, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, }; static const unsigned short utf8_to_euc_E4AA_x0213[] = { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0xFC37, 0, 0, 0, }; static const unsigned short utf8_to_euc_E4AC_x0213[] = { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0xFC55, 0, 0, 0, 0, }; static const unsigned short utf8_to_euc_E4AF_x0213[] = { 0, 0, 0xFD26, 0, 0, 0, 0, 0, 0, 0, 0xFD28, 0, 0, 0, 0, 0, 0, 0, 0xFD2A, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0xFD31, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, }; static const unsigned short utf8_to_euc_E4B0_x0213[] = { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0x7E3E, 0, 0, 0, 0, 0, 0, 0, 0, 0xFD3F, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, }; static const unsigned short utf8_to_euc_E4B3_x0213[] = { 0, 0, 0, 0, 0xFE2A, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0xFE2D, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, }; static const unsigned short utf8_to_euc_E4B4_x0213[] = { 0, 0, 0, 0, 0, 0, 0, 0xFE4B, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, }; static const unsigned short utf8_to_euc_E4B5_x0213[] = { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0xFE60, 0, 0, 0, 0, 0, 0, 0, 0, }; static const unsigned short utf8_to_euc_E4B8[] = { 0x306C, 0x437A, 0xB021, 0x3C37, 0xB022, 0xB023, 0, 0x4B7C, 0x3E66, 0x3B30, 0x3E65, 0x323C, 0xB024, 0x4954, 0x4D3F, 0, 0x5022, 0x312F, 0xB025, 0, 0x336E, 0x5023, 0x4024, 0x5242, 0x3556, 0x4A3A, 0, 0, 0, 0, 0x3E67, 0xB026, 0, 0x4E3E, 0, 0xB027, 0xB028, 0, 0x4A42, 0, 0xB029, 0, 0x5024, 0xB02A, 0, 0x4366, 0xB02B, 0xB02C, 0xB02D, 0x5025, 0x367A, 0, 0, 0xB02E, 0x5026, 0, 0x345D, 0x4330, 0, 0x3C67, 0x5027, 0, 0, 0x5028, }; static const unsigned short utf8_to_euc_E4B8_x0213[] = { 0x306C, 0x437A, 0xA122, 0x3C37, 0xB022, 0xB023, 0, 0x4B7C, 0x3E66, 0x3B30, 0x3E65, 0x323C, 0xB024, 0x4954, 0x4D3F, 0xA123, 0x5022, 0x312F, 0xA124, 0, 0x336E, 0x5023, 0x4024, 0x5242, 0x3556, 0x4A3A, 0, 0, 0, 0, 0x3E67, 0xB026, 0, 0x4E3E, 0, 0xB027, 0xB028, 0, 0x4A42, 0, 0x2E24, 0xA125, 0x5024, 0xA126, 0xF02E, 0x4366, 0xA127, 0x2E25, 0x2E26, 0x5025, 0x367A, 0, 0, 0xB02E, 0x5026, 0, 0x345D, 0x4330, 0, 0x3C67, 0x5027, 0, 0, 0x5028, }; static const unsigned short utf8_to_euc_E4B9[] = { 0xB02F, 0xB030, 0x5029, 0x4735, 0xB031, 0x3557, 0, 0xB032, 0, 0, 0, 0x4737, 0, 0x4663, 0x3843, 0x4B33, 0, 0xB033, 0, 0, 0, 0x6949, 0x502A, 0x3E68, 0x502B, 0x3235, 0xB034, 0, 0xB035, 0x3665, 0x3870, 0x4C69, 0, 0, 0x5626, 0xB036, 0, 0, 0, 0, 0xB037, 0xB038, 0, 0, 0, 0, 0, 0, 0, 0x4D70, 0, 0x467D, 0xB039, 0xB03A, 0, 0, 0, 0xB03B, 0, 0, 0, 0, 0x3425, 0xB03C, }; static const unsigned short utf8_to_euc_E4B9_x0213[] = { 0xA128, 0xB030, 0x5029, 0x4735, 0xB031, 0x3557, 0, 0xA129, 0xA12A, 0, 0, 0x4737, 0, 0x4663, 0x3843, 0x4B33, 0, 0xA12C, 0, 0, 0, 0x6949, 0x502A, 0x3E68, 0x502B, 0x3235, 0xA12F, 0, 0xB035, 0x3665, 0x3870, 0x4C69, 0, 0, 0x5626, 0xB036, 0, 0, 0, 0, 0xB037, 0xA130, 0, 0, 0, 0, 0, 0, 0, 0x4D70, 0, 0x467D, 0xB039, 0xB03A, 0, 0, 0, 0xB03B, 0, 0, 0, 0, 0x3425, 0xB03C, }; static const unsigned short utf8_to_euc_E4BA[] = { 0x3535, 0, 0x502C, 0, 0, 0x502D, 0x4E3B, 0, 0x4D3D, 0x4168, 0x502F, 0x3B76, 0x4673, 0xB03D, 0x5032, 0, 0, 0x313E, 0x385F, 0, 0x385E, 0x3066, 0xB03E, 0xB03F, 0x4F4B, 0x4F4A, 0, 0x3A33, 0x3021, 0xB040, 0x5033, 0x5034, 0x5035, 0x4B34, 0x5036, 0, 0x3872, 0x3067, 0x4B72, 0, 0x357C, 0, 0, 0x357D, 0x357E, 0x4462, 0x4E3C, 0xB041, 0x5037, 0, 0, 0x5038, 0, 0, 0x5039, 0, 0, 0xB042, 0x3F4D, 0, 0, 0, 0, 0, }; static const unsigned short utf8_to_euc_E4BA_x0213[] = { 0x3535, 0, 0x502C, 0, 0, 0x502D, 0x4E3B, 0, 0x4D3D, 0x4168, 0x502F, 0x3B76, 0x4673, 0x2E27, 0x5032, 0, 0, 0x313E, 0x385F, 0, 0x385E, 0x3066, 0xB03E, 0xB03F, 0x4F4B, 0x4F4A, 0, 0x3A33, 0x3021, 0xA131, 0x5033, 0x5034, 0x5035, 0x4B34, 0x5036, 0, 0x3872, 0x3067, 0x4B72, 0, 0x357C, 0, 0, 0x357D, 0x357E, 0x4462, 0x4E3C, 0xB041, 0x5037, 0, 0, 0x5038, 0, 0, 0x5039, 0, 0, 0xA134, 0x3F4D, 0xA135, 0xA137, 0, 0, 0, }; static const unsigned short utf8_to_euc_E4BB[] = { 0x3D3A, 0x3F4E, 0x503E, 0xB043, 0x503C, 0, 0x503D, 0x3558, 0, 0, 0x3A23, 0x3270, 0, 0x503B, 0x503A, 0x4A29, 0xB044, 0, 0, 0, 0x3B46, 0x3B45, 0x423E, 0x503F, 0x4955, 0x4067, 0xB045, 0xB046, 0, 0x2138, 0x5040, 0x5042, 0xB047, 0xB048, 0xB049, 0x4265, 0x4E61, 0x304A, 0, 0, 0xB04A, 0, 0, 0, 0, 0x5041, 0x323E, 0xB04B, 0x3644, 0xB04C, 0x4367, 0xB04D, 0, 0xB04E, 0x376F, 0x5043, 0, 0, 0, 0x4724, 0xF42F, 0xB04F, 0xB050, 0xB051, }; static const unsigned short utf8_to_euc_E4BB_x0213[] = { 0x3D3A, 0x3F4E, 0x503E, 0xA138, 0x503C, 0, 0x503D, 0x3558, 0xA139, 0, 0x3A23, 0x3270, 0, 0x503B, 0x503A, 0x4A29, 0xA13A, 0, 0, 0, 0x3B46, 0x3B45, 0x423E, 0x503F, 0x4955, 0x4067, 0xA13C, 0xB046, 0, 0x2138, 0x5040, 0x5042, 0xB047, 0x2E28, 0xB049, 0x4265, 0x4E61, 0x304A, 0, 0, 0xB04A, 0, 0, 0xA13B, 0, 0x5041, 0x323E, 0xB04B, 0x3644, 0xA13D, 0x4367, 0xB04D, 0, 0xA13E, 0x376F, 0x5043, 0, 0, 0, 0x4724, 0, 0x2E29, 0xB050, 0x2E2A, }; static const unsigned short utf8_to_euc_E4BC[] = { 0xB052, 0x346B, 0xB053, 0xB054, 0, 0, 0, 0, 0xB055, 0x5044, 0x304B, 0xB056, 0xB057, 0x3860, 0x346C, 0x497A, 0x4832, 0x3559, 0xB058, 0, 0, 0xB059, 0xB05A, 0xB05B, 0, 0xB05C, 0x3271, 0, 0x5067, 0x4541, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0xB05D, 0x476C, 0x5046, 0xB05E, 0, 0xB060, 0x483C, 0xB061, 0x4E62, 0xB062, 0x3F2D, 0xB063, 0x3B47, 0xB064, 0x3B77, 0x3240, 0xB065, 0, }; static const unsigned short utf8_to_euc_E4BC_x0213[] = { 0xA13F, 0x346B, 0xB053, 0x2E2B, 0, 0, 0, 0, 0xB055, 0x5044, 0x304B, 0x2E2C, 0xB057, 0x3860, 0x346C, 0x497A, 0x4832, 0x3559, 0xB058, 0, 0, 0xB059, 0xA140, 0xB05B, 0, 0xB05C, 0x3271, 0, 0x5067, 0x4541, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0xB05D, 0x476C, 0x5046, 0xB05E, 0, 0xB060, 0x483C, 0xB061, 0x4E62, 0xA142, 0x3F2D, 0, 0x3B47, 0xB064, 0x3B77, 0x3240, 0xA143, 0, }; static const unsigned short utf8_to_euc_E4BD[] = { 0xB066, 0, 0xB067, 0x4451, 0, 0, 0x4322, 0x504A, 0xB068, 0xB069, 0, 0xB06A, 0xB06B, 0x304C, 0x4463, 0x3D3B, 0x3A34, 0x4D24, 0xB06C, 0x424E, 0xB06D, 0x323F, 0xB06E, 0x5049, 0xB06F, 0x4D3E, 0x5045, 0x5047, 0x3A6E, 0x5048, 0x5524, 0xB070, 0xB05F, 0, 0, 0xB071, 0, 0, 0, 0, 0, 0x5050, 0xB072, 0, 0xB073, 0, 0xB074, 0x5053, 0x5051, 0xB075, 0, 0x3242, 0, 0x4A3B, 0x504B, 0xB076, 0xB077, 0xB078, 0xB079, 0x504F, 0x3873, 0xB07A, 0xB07B, 0x3B48, }; static const unsigned short utf8_to_euc_E4BD_x0213[] = { 0xB066, 0, 0xB067, 0x4451, 0, 0, 0x4322, 0x504A, 0x2E2E, 0x2E2F, 0, 0xB06A, 0xB06B, 0x304C, 0x4463, 0x3D3B, 0x3A34, 0x4D24, 0xB06C, 0x424E, 0xA144, 0x323F, 0x2E30, 0x5049, 0xA145, 0x4D3E, 0x5045, 0x5047, 0x3A6E, 0x5048, 0x5524, 0x2E31, 0x2E2D, 0, 0, 0xB071, 0xA141, 0, 0, 0, 0, 0x5050, 0x2E32, 0, 0x2E33, 0, 0xB074, 0x5053, 0x5051, 0xB075, 0, 0x3242, 0, 0x4A3B, 0x504B, 0xA147, 0xA148, 0xB078, 0xA149, 0x504F, 0x3873, 0xA14A, 0x2E34, 0x3B48, }; static const unsigned short utf8_to_euc_E4BE[] = { 0, 0xB07C, 0xB07D, 0x3426, 0xB07E, 0xB121, 0x5054, 0, 0x504C, 0xB122, 0xB123, 0x4E63, 0xB124, 0x3B78, 0xB125, 0x504D, 0xB126, 0x5052, 0xB127, 0xB128, 0xB129, 0, 0x5055, 0xB12A, 0x504E, 0xB12B, 0xB12C, 0x3621, 0, 0x304D, 0xB12D, 0xB12E, 0x3622, 0x3241, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0x5525, 0, 0x4B79, 0x496E, 0x3874, 0, 0, 0xB12F, 0, 0, 0x3F2F, 0x4E37, 0xB130, 0, 0xB131, 0, 0xB132, 0xB133, 0xB134, 0xB135, 0x4A58, }; static const unsigned short utf8_to_euc_E4BE_x0213[] = { 0, 0xB07C, 0xA14B, 0x3426, 0xB07E, 0xA14C, 0x5054, 0, 0x504C, 0xB122, 0x2E35, 0x4E63, 0xB124, 0x3B78, 0xB125, 0x504D, 0xB126, 0x5052, 0xA14D, 0xB128, 0x2E36, 0, 0x5055, 0x2E37, 0x504E, 0xB12B, 0xA14E, 0x3621, 0, 0x304D, 0xB12D, 0xB12E, 0x3622, 0x3241, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0x5525, 0, 0x4B79, 0x496E, 0x3874, 0, 0, 0xA150, 0, 0, 0x3F2F, 0x4E37, 0xB130, 0, 0xB131, 0, 0xB132, 0xB133, 0xB134, 0xA151, 0x4A58, }; static const unsigned short utf8_to_euc_E4BF[] = { 0xB136, 0xB137, 0x3738, 0x4225, 0x3264, 0xB138, 0xB139, 0, 0xB13A, 0xB13B, 0x3D53, 0xB13C, 0xB13D, 0xB13E, 0x5059, 0xB13F, 0x505E, 0x505C, 0xB140, 0, 0x5057, 0, 0, 0x422F, 0x505A, 0, 0x505D, 0x505B, 0xB141, 0x4A5D, 0, 0x5058, 0xB142, 0x3F2E, 0xB143, 0x4B73, 0x505F, 0x5060, 0, 0, 0, 0, 0, 0, 0, 0, 0x3D24, 0x506D, 0xB144, 0, 0xB145, 0x4750, 0, 0x4936, 0x5068, 0, 0x4A70, 0, 0x3236, 0, 0xB146, 0xB147, 0x506C, 0xB148, }; static const unsigned short utf8_to_euc_E4BF_x0213[] = { 0xB136, 0xB137, 0x3738, 0x4225, 0x3264, 0xA152, 0xB139, 0, 0xB13A, 0x2E39, 0x3D53, 0xA153, 0xB13D, 0, 0x5059, 0xA154, 0x505E, 0x505C, 0xA155, 0, 0x5057, 0, 0, 0x422F, 0x505A, 0, 0x505D, 0x505B, 0xB141, 0x4A5D, 0, 0x5058, 0x2E3A, 0x3F2E, 0xB143, 0x4B73, 0x505F, 0x5060, 0xA14F, 0, 0, 0, 0, 0, 0, 0, 0x3D24, 0x506D, 0xB144, 0x2E21, 0xA157, 0x4750, 0, 0x4936, 0x5068, 0, 0x4A70, 0, 0x3236, 0, 0xB146, 0xB147, 0x506C, 0, }; static const unsigned short utf8_to_euc_E580[] = { 0xB149, 0xB14A, 0, 0, 0xB14B, 0x5066, 0x506F, 0xB14C, 0, 0x4152, 0xB14D, 0x3844, 0xB14E, 0x475C, 0xB14F, 0x6047, 0xB150, 0x506E, 0x455D, 0xB151, 0x5063, 0, 0x3876, 0xB152, 0xB153, 0x3875, 0x5061, 0xB154, 0xB155, 0xB156, 0xB157, 0x3C5A, 0, 0x5069, 0xB158, 0x4A6F, 0x434D, 0x5065, 0x3771, 0xB159, 0x5062, 0x506A, 0x5064, 0x4E51, 0x506B, 0x4F41, 0xB15A, 0, 0xB15B, 0, 0xB15C, 0xB15D, 0, 0xB15E, 0x3666, 0, 0, 0x3770, 0, 0xB176, 0, 0, 0, 0, }; static const unsigned short utf8_to_euc_E580_x0213[] = { 0xA158, 0x2E3B, 0x2E3C, 0, 0xB14B, 0x5066, 0x506F, 0xB14C, 0, 0x4152, 0xB14D, 0x3844, 0xB14E, 0x475C, 0x2E3D, 0x6047, 0xA159, 0x506E, 0x455D, 0xA15A, 0x5063, 0, 0x3876, 0xB152, 0x2E3E, 0x3875, 0x5061, 0xB154, 0xA15B, 0xB156, 0xA15C, 0x3C5A, 0, 0x5069, 0xA15D, 0x4A6F, 0x434D, 0x5065, 0x3771, 0x2E3F, 0x5062, 0x506A, 0x5064, 0x4E51, 0x506B, 0x4F41, 0x2E40, 0, 0xB15B, 0, 0xB15C, 0xB15D, 0, 0xB15E, 0x3666, 0, 0, 0x3770, 0, 0x2E42, 0, 0, 0, 0, }; static const unsigned short utf8_to_euc_E581[] = { 0xB15F, 0xB160, 0xB161, 0x5070, 0, 0xB162, 0xB163, 0x5071, 0x5075, 0x304E, 0xB164, 0, 0xB165, 0, 0xB166, 0x4A50, 0x5074, 0xB167, 0xB168, 0xB169, 0, 0x5073, 0x5077, 0xB16A, 0, 0xB16B, 0x5076, 0, 0x4464, 0, 0, 0xB16C, 0xB16D, 0, 0xB16E, 0xB16F, 0, 0x3772, 0xB170, 0xB171, 0, 0, 0xB172, 0, 0x5078, 0xB173, 0, 0, 0xB174, 0xB175, 0x3C45, 0, 0x4226, 0x4465, 0x3676, 0, 0x5079, 0, 0, 0, 0, 0x3536, 0, 0, }; static const unsigned short utf8_to_euc_E581_x0213[] = { 0x2E41, 0x2E43, 0xA15F, 0x5070, 0, 0xB162, 0xA160, 0x5071, 0x5075, 0x304E, 0xB164, 0, 0xB165, 0, 0xA161, 0x4A50, 0x5074, 0xB167, 0xB168, 0xA162, 0, 0x5073, 0x5077, 0xA163, 0, 0xB16B, 0x5076, 0, 0x4464, 0, 0, 0xB16C, 0xB16D, 0, 0xB16E, 0xA164, 0, 0x3772, 0xA165, 0xB171, 0, 0, 0xA166, 0, 0x5078, 0xB173, 0, 0, 0xA167, 0xB175, 0x3C45, 0, 0x4226, 0x4465, 0x3676, 0, 0x5079, 0, 0, 0, 0, 0x3536, 0, 0, }; static const unsigned short utf8_to_euc_E582[] = { 0x507A, 0xB177, 0, 0xB178, 0xB179, 0x507C, 0xB17A, 0, 0, 0, 0xB17B, 0, 0, 0x4B35, 0xB17C, 0xB17D, 0xB17E, 0x3766, 0xB221, 0xB222, 0xB223, 0, 0xB224, 0, 0x3B31, 0x4877, 0x507B, 0xB225, 0xB226, 0, 0xB227, 0xB228, 0xB229, 0xB22A, 0xB22B, 0, 0, 0, 0, 0, 0, 0, 0xB22C, 0, 0x3A45, 0x4D43, 0, 0xB22D, 0xB22E, 0, 0x507E, 0x5123, 0x507D, 0x3A44, 0, 0x3D7D, 0, 0xB22F, 0xB230, 0, 0, 0xB231, 0x3739, 0, }; static const unsigned short utf8_to_euc_E582_x0213[] = { 0x507A, 0xB177, 0, 0xB178, 0xB179, 0x507C, 0xB17A, 0, 0xA169, 0, 0xB17B, 0, 0, 0x4B35, 0xB17C, 0xB17D, 0xB17E, 0x3766, 0xA16A, 0xA16B, 0x2E44, 0xA16C, 0xA16D, 0, 0x3B31, 0x4877, 0x507B, 0xB225, 0xA16E, 0, 0xB227, 0xB228, 0xB229, 0xB22A, 0xB22B, 0xA168, 0, 0, 0, 0, 0, 0, 0xA16F, 0, 0x3A45, 0x4D43, 0, 0xB22D, 0xB22E, 0xA171, 0x507E, 0x5123, 0x507D, 0x3A44, 0, 0x3D7D, 0, 0xB22F, 0xA172, 0xA173, 0, 0xB231, 0x3739, 0, }; static const unsigned short utf8_to_euc_E583[] = { 0xB232, 0, 0x5124, 0xB233, 0xB234, 0x364F, 0, 0xB235, 0, 0x5121, 0x5122, 0, 0xB236, 0x462F, 0xB237, 0x417C, 0xB238, 0x3623, 0, 0xB239, 0xB23A, 0x4B4D, 0x5125, 0, 0xB23B, 0, 0x4E3D, 0, 0xB23C, 0xB23D, 0x5126, 0xB23E, 0, 0, 0xB23F, 0x5129, 0xB240, 0x5127, 0xB241, 0x414E, 0xB242, 0xB243, 0, 0, 0, 0x5128, 0x512A, 0xB244, 0, 0xB245, 0xB251, 0, 0xF430, 0x512C, 0xB246, 0, 0, 0x512B, 0xB247, 0x4A48, 0, 0, 0xB248, 0, }; static const unsigned short utf8_to_euc_E583_x0213[] = { 0xB232, 0, 0x5124, 0xB233, 0xA174, 0x364F, 0, 0xA175, 0, 0x5121, 0x5122, 0, 0x2E45, 0x462F, 0xA178, 0x417C, 0x2E47, 0x3623, 0, 0xB239, 0xA17A, 0x4B4D, 0x5125, 0, 0, 0xA17B, 0x4E3D, 0, 0xB23C, 0xB23D, 0x5126, 0xB23E, 0, 0xA17C, 0xB23F, 0x5129, 0xB240, 0x5127, 0x2E48, 0x414E, 0xB242, 0xA17D, 0, 0, 0, 0x5128, 0x512A, 0xB244, 0, 0xB245, 0x2E46, 0xA176, 0, 0x512C, 0xB246, 0, 0, 0x512B, 0xB247, 0x4A48, 0, 0, 0xB248, 0, }; static const unsigned short utf8_to_euc_E584[] = { 0x3537, 0x512E, 0x512F, 0xB249, 0x322F, 0, 0xB24A, 0xB24B, 0xB24C, 0x512D, 0, 0xB24D, 0xB24E, 0xB24F, 0xB250, 0, 0xB252, 0, 0x3C74, 0, 0x5132, 0x5131, 0x5130, 0xB253, 0x5056, 0xB254, 0x5133, 0xB255, 0xB256, 0xB257, 0xB258, 0x3D7E, 0, 0x5134, 0, 0xB259, 0, 0, 0, 0xB25A, 0xB25B, 0, 0x4D25, 0, 0xB25C, 0xB25D, 0, 0xB25E, 0, 0xB25F, 0x4C59, 0xB260, 0xB261, 0xB262, 0, 0x5136, 0xB263, 0xB264, 0x5135, 0x5138, 0x5137, 0, 0, 0x5139, }; static const unsigned short utf8_to_euc_E584_x0213[] = { 0x3537, 0x512E, 0x512F, 0x2E4B, 0x322F, 0, 0x2E4A, 0xB24B, 0xA321, 0x512D, 0, 0x2E4C, 0xB24E, 0xB24F, 0xB250, 0, 0xB252, 0, 0x3C74, 0, 0x5132, 0x5131, 0x5130, 0xA323, 0x5056, 0xB254, 0x5133, 0xA324, 0xB256, 0xB257, 0x2E4D, 0x3D7E, 0, 0x5134, 0, 0xB259, 0, 0, 0, 0xB25A, 0xB25B, 0, 0x4D25, 0, 0xB25C, 0xB25D, 0, 0xB25E, 0, 0xB25F, 0x4C59, 0xB260, 0xB261, 0x2E4E, 0, 0x5136, 0xB263, 0xB264, 0x5135, 0x5138, 0x5137, 0, 0, 0x5139, }; static const unsigned short utf8_to_euc_E585[] = { 0x513A, 0x3074, 0xB265, 0x3835, 0x373B, 0x3D3C, 0x437B, 0x3624, 0x4068, 0x3877, 0xB266, 0x396E, 0x513C, 0x4C48, 0x4546, 0xB267, 0x3B79, 0, 0x513B, 0xB268, 0x513D, 0xB269, 0, 0xB26A, 0xB26B, 0, 0x455E, 0, 0x3375, 0, 0, 0xB26C, 0, 0, 0x513E, 0, 0xB26D, 0x467E, 0xB26E, 0, 0x4134, 0x5140, 0x5141, 0x482C, 0x3878, 0x4F3B, 0x5142, 0, 0, 0x3626, 0, 0, 0, 0x4A3C, 0x4236, 0x3671, 0x4535, 0, 0, 0, 0x3773, 0, 0xB26F, 0, }; static const unsigned short utf8_to_euc_E585_x0213[] = { 0x513A, 0x3074, 0xB265, 0x3835, 0x373B, 0x3D3C, 0x437B, 0x3624, 0x4068, 0x3877, 0x2E4F, 0x396E, 0x513C, 0x4C48, 0x4546, 0xB267, 0x3B79, 0, 0x513B, 0xB268, 0x513D, 0x2E51, 0, 0x2E52, 0xB26B, 0, 0x455E, 0, 0x3375, 0, 0, 0xB26C, 0xA326, 0, 0x513E, 0, 0, 0x467E, 0xB26E, 0, 0x4134, 0x5140, 0x5141, 0x482C, 0x3878, 0x4F3B, 0x5142, 0, 0, 0x3626, 0, 0xA328, 0, 0x4A3C, 0x4236, 0x3671, 0x4535, 0, 0, 0xF474, 0x3773, 0, 0xB26F, 0, }; static const unsigned short utf8_to_euc_E586[] = { 0x5143, 0, 0x5144, 0xB270, 0xB271, 0x4662, 0x315F, 0, 0, 0x5147, 0x3A7D, 0xB272, 0x5146, 0x3A46, 0xB273, 0x5148, 0x666E, 0x5149, 0x4B41, 0x514A, 0, 0x514B, 0x514C, 0x3E69, 0xB274, 0x3C4C, 0, 0, 0, 0xB275, 0, 0, 0x3427, 0xB276, 0x514F, 0xB277, 0x514D, 0x4C3D, 0x514E, 0, 0x495A, 0x5150, 0x5151, 0x5152, 0x455F, 0xB278, 0, 0, 0x5156, 0x5154, 0x5155, 0x5153, 0x3A63, 0x5157, 0x4C6A, 0x4E64, 0xB279, 0, 0xB27A, 0, 0xB27B, 0x5158, 0xB27C, 0xB27D, }; static const unsigned short utf8_to_euc_E586_x0213[] = { 0x5143, 0, 0x5144, 0xA329, 0xB271, 0x4662, 0x315F, 0, 0, 0x5147, 0x3A7D, 0xA32A, 0x5146, 0x3A46, 0xB273, 0x5148, 0x666E, 0x5149, 0x4B41, 0x514A, 0, 0x514B, 0x514C, 0x3E69, 0xA32C, 0x3C4C, 0, 0, 0, 0x2E54, 0, 0, 0x3427, 0xB276, 0x514F, 0xA32D, 0x514D, 0x4C3D, 0x514E, 0, 0x495A, 0x5150, 0x5151, 0x5152, 0x455F, 0xA32E, 0, 0, 0x5156, 0x5154, 0x5155, 0x5153, 0x3A63, 0x5157, 0x4C6A, 0x4E64, 0xB279, 0, 0xB27A, 0, 0xA330, 0x5158, 0, 0xB27D, }; static const unsigned short utf8_to_euc_E587[] = { 0, 0, 0xB27E, 0, 0x4028, 0x5159, 0x3D5A, 0, 0xB321, 0x515A, 0, 0x437C, 0x4E3F, 0x4560, 0, 0xB322, 0, 0xB323, 0xB324, 0xB325, 0, 0xB326, 0x5245, 0, 0xB327, 0, 0, 0x515B, 0x7425, 0x3645, 0xB328, 0, 0x515C, 0x4B5E, 0xB329, 0, 0, 0xB32A, 0x3D68, 0x427C, 0, 0x515E, 0x4664, 0, 0xF431, 0x515F, 0xB32B, 0, 0x5160, 0x332E, 0xB32C, 0xB32D, 0xB32E, 0x5161, 0x3627, 0xB32F, 0x464C, 0x317A, 0x3D50, 0, 0, 0x4821, 0x5162, 0, }; static const unsigned short utf8_to_euc_E587_x0213[] = { 0, 0, 0xB27E, 0x2E55, 0x4028, 0x5159, 0x3D5A, 0, 0xB321, 0x515A, 0x2E56, 0x437C, 0x4E3F, 0x4560, 0, 0xB322, 0, 0xB323, 0xB324, 0xB325, 0, 0xB326, 0x5245, 0, 0xB327, 0, 0, 0x515B, 0x7425, 0x3645, 0x2E57, 0, 0x515C, 0x4B5E, 0x2E58, 0, 0, 0xB32A, 0x3D68, 0x427C, 0, 0x515E, 0x4664, 0, 0, 0x515F, 0x2E59, 0, 0x5160, 0x332E, 0xB32C, 0xA333, 0xA334, 0x5161, 0x3627, 0xB32F, 0x464C, 0x317A, 0x3D50, 0, 0, 0x4821, 0x5162, 0, }; static const unsigned short utf8_to_euc_E588[] = { 0x4561, 0xB330, 0xB331, 0x3F4F, 0x5163, 0xB332, 0x4A2C, 0x405A, 0x3422, 0, 0x3429, 0x5164, 0, 0, 0x5166, 0, 0, 0x373A, 0xB333, 0xB334, 0x5165, 0xB335, 0xB336, 0x4E73, 0xB337, 0, 0, 0, 0, 0x3D69, 0, 0, 0, 0, 0xB338, 0, 0x483D, 0x4A4C, 0, 0x5167, 0xB339, 0x4D78, 0x5168, 0, 0, 0, 0x5169, 0, 0x457E, 0xB33A, 0xB33B, 0x516A, 0, 0xB33C, 0x4029, 0x3A7E, 0x3774, 0x516B, 0x3B49, 0x396F, 0xB33D, 0, 0, 0, }; static const unsigned short utf8_to_euc_E588_x0213[] = { 0x4561, 0x2E5A, 0xA335, 0x3F4F, 0x5163, 0xB332, 0x4A2C, 0x405A, 0x3422, 0, 0x3429, 0x5164, 0, 0, 0x5166, 0, 0, 0x373A, 0xA336, 0x2E5C, 0x5165, 0x2E5D, 0xA337, 0x4E73, 0xB337, 0, 0, 0, 0, 0x3D69, 0, 0, 0, 0, 0xB338, 0, 0x483D, 0x4A4C, 0, 0x5167, 0xB339, 0x4D78, 0x5168, 0, 0, 0, 0x5169, 0, 0x457E, 0xB33A, 0xB33B, 0x516A, 0, 0xB33C, 0x4029, 0x3A7E, 0x3774, 0x516B, 0x3B49, 0x396F, 0xB33D, 0, 0, 0, }; static const unsigned short utf8_to_euc_E589[] = { 0, 0, 0, 0x4466, 0x516D, 0xB33E, 0, 0x4227, 0, 0xB33F, 0x3A6F, 0x516E, 0x516F, 0x4130, 0, 0x516C, 0, 0, 0, 0, 0x5171, 0xB340, 0x4B36, 0xB341, 0xB342, 0, 0xB343, 0x3964, 0xB344, 0, 0x5170, 0xB345, 0xB346, 0xB347, 0, 0x3775, 0x3A5E, 0x476D, 0xB348, 0, 0, 0x5174, 0x5172, 0, 0, 0, 0xB349, 0x497B, 0x3E6A, 0x517B, 0x3364, 0x5175, 0x5173, 0x414F, 0, 0xB34A, 0xB34B, 0xB34C, 0, 0, 0, 0x5177, 0, 0x5176, }; static const unsigned short utf8_to_euc_E589_x0213[] = { 0, 0, 0, 0x4466, 0x516D, 0xB33E, 0, 0x4227, 0, 0x2E5E, 0x3A6F, 0x516E, 0x516F, 0x4130, 0, 0x516C, 0, 0, 0, 0, 0x5171, 0xA339, 0x4B36, 0x2E5F, 0xB342, 0, 0xB343, 0x3964, 0xA33A, 0x2F7E, 0x5170, 0xB345, 0xB346, 0x2E60, 0, 0x3775, 0x3A5E, 0x476D, 0xB348, 0, 0, 0x5174, 0x5172, 0, 0xA33B, 0, 0xB349, 0x497B, 0x3E6A, 0x517B, 0x3364, 0x5175, 0x5173, 0x414F, 0, 0xA33C, 0xB34B, 0xB34C, 0, 0, 0, 0x5177, 0, 0x5176, }; static const unsigned short utf8_to_euc_E58A[] = { 0xB34D, 0, 0xB34E, 0x3344, 0, 0xB34F, 0, 0x3760, 0x517C, 0x4E2D, 0xB350, 0, 0xB351, 0x5178, 0, 0, 0, 0x517D, 0x517A, 0xB352, 0x5179, 0xB353, 0xB354, 0xB355, 0xB356, 0, 0xB357, 0x4E4F, 0xB358, 0, 0, 0x3879, 0x3243, 0, 0, 0x4E74, 0xB359, 0xB35A, 0xB35B, 0xB35C, 0, 0x3D75, 0x4558, 0x3965, 0x5222, 0x5223, 0, 0xB35D, 0xB35E, 0x4E65, 0, 0, 0x4F2B, 0x5225, 0xB35F, 0xB360, 0xB361, 0x387A, 0xB362, 0xB363, 0x5224, 0xB364, 0x332F, 0, }; static const unsigned short utf8_to_euc_E58A_x0213[] = { 0xB34D, 0, 0xA33E, 0x3344, 0xA33D, 0xB34F, 0, 0x3760, 0x517C, 0x4E2D, 0xB350, 0, 0xB351, 0x5178, 0, 0, 0, 0x517D, 0x517A, 0x2E61, 0x5179, 0xB353, 0xB354, 0xB355, 0xA340, 0, 0xB357, 0x4E4F, 0, 0, 0, 0x3879, 0x3243, 0, 0, 0x4E74, 0xA342, 0xB35A, 0xA343, 0xB35C, 0, 0x3D75, 0x4558, 0x3965, 0x5222, 0x5223, 0, 0xA344, 0xB35E, 0x4E65, 0, 0, 0x4F2B, 0x5225, 0xB35F, 0xB360, 0xB361, 0x387A, 0xA345, 0xA346, 0x5224, 0xB364, 0x332F, 0, }; static const unsigned short utf8_to_euc_E58B[] = { 0xB365, 0x5226, 0, 0x4B56, 0xB366, 0x443C, 0xB367, 0x4D26, 0xB368, 0x4A59, 0, 0, 0xB369, 0x5227, 0, 0xB36A, 0, 0xB36B, 0x7055, 0, 0xB36C, 0x4630, 0xB36D, 0x5228, 0x342A, 0x4C33, 0, 0xB36E, 0xB36F, 0x3E21, 0x5229, 0x4A67, 0x522D, 0xB370, 0x402A, 0x522A, 0x3650, 0xB371, 0x522B, 0x342B, 0xB372, 0xB373, 0xB374, 0, 0xB375, 0, 0, 0, 0xB376, 0xB377, 0x372E, 0x522E, 0xB378, 0x522F, 0xB379, 0xB37A, 0x5230, 0x5231, 0x3C5B, 0, 0, 0, 0x387B, 0x4C5E, }; static const unsigned short utf8_to_euc_E58B_x0213[] = { 0, 0x5226, 0, 0x4B56, 0xB366, 0x443C, 0xB367, 0x4D26, 0x2E62, 0x4A59, 0xA347, 0, 0x2E64, 0x5227, 0, 0xB36A, 0x2E65, 0xA349, 0x7055, 0, 0xB36C, 0x4630, 0x2E66, 0x5228, 0x342A, 0x4C33, 0, 0x2E67, 0xB36F, 0x3E21, 0x5229, 0x4A67, 0x522D, 0xB370, 0x402A, 0x522A, 0x3650, 0xB371, 0x522B, 0x342B, 0xB372, 0xB373, 0xB374, 0, 0xB375, 0, 0, 0, 0x2E69, 0xB377, 0x372E, 0x522E, 0xB378, 0x522F, 0xB379, 0xA34B, 0x5230, 0x5231, 0x3C5B, 0x2E6A, 0, 0, 0x387B, 0x4C5E, }; static const unsigned short utf8_to_euc_E58C[] = { 0xB37B, 0x4C68, 0x4677, 0xB37C, 0, 0x4A71, 0x5232, 0xF432, 0x5233, 0, 0xB37D, 0xB37E, 0xB421, 0x5235, 0, 0x5237, 0x5236, 0xB422, 0, 0xB423, 0, 0x5238, 0x323D, 0x4B4C, 0xB424, 0x3A7C, 0x5239, 0xB425, 0xB426, 0x4159, 0xB427, 0xB428, 0x3E22, 0x3629, 0, 0x523A, 0xF433, 0xB429, 0, 0xB42A, 0xB42B, 0xB42C, 0x485B, 0xB42D, 0xB42E, 0xB42F, 0, 0x523B, 0xB430, 0x523C, 0xB431, 0x523D, 0, 0xB432, 0, 0, 0x523E, 0x4924, 0x3668, 0x3065, 0xB433, 0xB434, 0xB435, 0x463F, }; static const unsigned short utf8_to_euc_E58C_x0213[] = { 0x2E6B, 0x4C68, 0x4677, 0xB37C, 0, 0x4A71, 0x5232, 0x2E6C, 0x5233, 0, 0xA34C, 0xA34D, 0xB421, 0x5235, 0, 0x5237, 0x5236, 0xB422, 0, 0xB423, 0, 0x5238, 0x323D, 0x4B4C, 0xB424, 0x3A7C, 0x5239, 0xB425, 0x2E6D, 0x4159, 0xB427, 0xB428, 0x3E22, 0x3629, 0, 0x523A, 0xA34E, 0xB429, 0, 0xB42A, 0xB42B, 0xB42C, 0x485B, 0xB42D, 0xB42E, 0xB42F, 0, 0x523B, 0xB430, 0x523C, 0xB431, 0x523D, 0, 0xA34F, 0, 0, 0x523E, 0x4924, 0x3668, 0x3065, 0xB433, 0xB434, 0xA350, 0x463F, }; static const unsigned short utf8_to_euc_E58D[] = { 0x523F, 0x3D3D, 0xB436, 0x4069, 0, 0x5241, 0x5240, 0x3E23, 0x3861, 0x5243, 0x483E, 0xB438, 0xB437, 0x5244, 0, 0, 0, 0x485C, 0x4234, 0x426E, 0x3628, 0, 0, 0x466E, 0x4331, 0xB439, 0x476E, 0xB43A, 0x4B4E, 0, 0x5246, 0, 0x406A, 0xB43B, 0, 0xB43C, 0, 0xB43D, 0x3735, 0, 0, 0x5247, 0, 0, 0xB43E, 0xB43F, 0x5248, 0x312C, 0x3075, 0x346D, 0xB440, 0x4228, 0x3551, 0x4D71, 0, 0x524B, 0x3237, 0xB441, 0, 0x524A, 0, 0, 0xB442, 0x362A, }; static const unsigned short utf8_to_euc_E58D_x0213[] = { 0x523F, 0x3D3D, 0xA351, 0x4069, 0, 0x5241, 0x5240, 0x3E23, 0x3861, 0x5243, 0x483E, 0xB438, 0xB437, 0x5244, 0, 0, 0, 0x485C, 0x4234, 0x426E, 0x3628, 0, 0, 0x466E, 0x4331, 0xB439, 0x476E, 0xB43A, 0x4B4E, 0, 0x5246, 0, 0x406A, 0x2E6F, 0, 0x2E70, 0, 0xB43D, 0x3735, 0xA354, 0, 0x5247, 0, 0, 0xA355, 0xB43F, 0x5248, 0x312C, 0x3075, 0x346D, 0, 0x4228, 0x3551, 0x4D71, 0, 0x524B, 0x3237, 0xB441, 0xA356, 0x524A, 0, 0x2E71, 0xB442, 0x362A, }; static const unsigned short utf8_to_euc_E58E[] = { 0, 0, 0x524C, 0xB443, 0x4C71, 0, 0, 0xB444, 0xB445, 0, 0, 0, 0, 0, 0xB446, 0, 0, 0, 0, 0xB447, 0xB448, 0, 0x524D, 0, 0x4E52, 0xB449, 0x387C, 0, 0, 0xB44A, 0, 0x3836, 0x524E, 0xB44B, 0, 0, 0xB44C, 0x5250, 0x524F, 0, 0x3F5F, 0x3139, 0xB44D, 0xB44E, 0, 0x315E, 0x5251, 0xB44F, 0x5252, 0, 0xB450, 0x3837, 0xB451, 0xB452, 0x5253, 0xB453, 0xB454, 0, 0xB455, 0x356E, 0, 0xB456, 0, 0, }; static const unsigned short utf8_to_euc_E58E_x0213[] = { 0, 0, 0x524C, 0xB443, 0x4C71, 0, 0, 0xB444, 0xB445, 0, 0, 0, 0, 0, 0xB446, 0, 0, 0, 0, 0x2E72, 0xB448, 0, 0x524D, 0, 0x4E52, 0xB449, 0x387C, 0, 0, 0x2E73, 0, 0x3836, 0x524E, 0xB44B, 0, 0, 0xA357, 0x5250, 0x524F, 0, 0x3F5F, 0x3139, 0xB44D, 0xB44E, 0, 0x315E, 0x5251, 0xB44F, 0x5252, 0, 0x2E74, 0x3837, 0xA358, 0xB452, 0x5253, 0xA35A, 0xB454, 0, 0xB455, 0x356E, 0, 0xB456, 0, 0, }; static const unsigned short utf8_to_euc_E58F[] = { 0xB457, 0, 0x3B32, 0x5254, 0, 0xB458, 0, 0, 0x4B74, 0x3A35, 0x355A, 0x4D27, 0x4150, 0x483F, 0x3C7D, 0xB459, 0, 0, 0xB45A, 0xB45B, 0x3D47, 0xB45C, 0x3C68, 0x3C75, 0, 0x3D76, 0xB45D, 0x4840, 0, 0xB45E, 0xB45F, 0x5257, 0xB460, 0x3143, 0x4151, 0x387D, 0x3845, 0x3667, 0xB461, 0xB462, 0x525B, 0x4321, 0x427E, 0x362B, 0x3E24, 0x525C, 0x525A, 0x3244, 0x4266, 0x3C38, 0x3B4B, 0x3126, 0, 0xB463, 0x3370, 0x3966, 0x3B4A, 0, 0x525D, 0, 0, 0, 0, 0, }; static const unsigned short utf8_to_euc_E58F_x0213[] = { 0xA35B, 0, 0x3B32, 0x5254, 0, 0xB458, 0, 0, 0x4B74, 0x3A35, 0x355A, 0x4D27, 0x4150, 0x483F, 0x3C7D, 0xB459, 0, 0, 0xB45A, 0xB45B, 0x3D47, 0xA35F, 0x3C68, 0x3C75, 0, 0x3D76, 0xA360, 0x4840, 0, 0, 0xB45F, 0x5257, 0xB460, 0x3143, 0x4151, 0x387D, 0x3845, 0x3667, 0xB461, 0xB462, 0x525B, 0x4321, 0x427E, 0x362B, 0x3E24, 0x525C, 0x525A, 0x3244, 0x4266, 0x3C38, 0x3B4B, 0x3126, 0xA362, 0xA363, 0x3370, 0x3966, 0x3B4A, 0, 0x525D, 0, 0, 0, 0, 0, }; static const unsigned short utf8_to_euc_E590[] = { 0, 0x525E, 0xB464, 0x3549, 0x3346, 0, 0, 0, 0x3967, 0x3548, 0x445F, 0x3125, 0x4631, 0x4C3E, 0x3921, 0x4D79, 0x4547, 0x387E, 0, 0xB465, 0, 0, 0, 0, 0, 0, 0xB466, 0x372F, 0, 0x5267, 0, 0x3663, 0x4B4A, 0xB467, 0, 0, 0, 0, 0x485D, 0xB468, 0xB469, 0x5266, 0xB46A, 0x345E, 0x5261, 0x5262, 0x5264, 0xB46B, 0, 0xB46C, 0, 0, 0xB46D, 0xB46E, 0x5265, 0, 0x355B, 0x3F61, 0, 0x4A2D, 0x5263, 0x525F, 0x3863, 0, }; static const unsigned short utf8_to_euc_E590_x0213[] = { 0, 0x525E, 0xB464, 0x3549, 0x3346, 0, 0, 0, 0x3967, 0x3548, 0x445F, 0x3125, 0x4631, 0x4C3E, 0x3921, 0x4D79, 0x4547, 0x387E, 0x2E75, 0xB465, 0, 0, 0, 0, 0, 0, 0xB466, 0x372F, 0, 0x5267, 0x4F7E, 0x3663, 0x4B4A, 0xB467, 0, 0, 0xA365, 0, 0x485D, 0x2E76, 0xA366, 0x5266, 0xB46A, 0x345E, 0x5261, 0x5262, 0x5264, 0xB46B, 0, 0xB46C, 0, 0, 0xB46D, 0xB46E, 0x5265, 0, 0x355B, 0x3F61, 0, 0x4A2D, 0x5263, 0x525F, 0x3863, 0, }; static const unsigned short utf8_to_euc_E591[] = { 0x5260, 0, 0x4F24, 0xB46F, 0xB470, 0, 0x4A72, 0xB471, 0x4468, 0x3862, 0x3970, 0, 0, 0xB472, 0x5268, 0xB473, 0, 0x465D, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0xB474, 0x526C, 0, 0, 0xB475, 0, 0xB476, 0, 0xB477, 0xB478, 0x3C7E, 0xB479, 0x3C76, 0xB47A, 0, 0xB47B, 0xB47C, 0, 0x526F, 0x526D, 0, 0x4C23, 0xB47D, 0x526A, 0x5273, 0x526E, 0, 0, 0, 0x5271, 0x3846, 0x4C3F, 0, 0xB47E, }; static const unsigned short utf8_to_euc_E591_x0213[] = { 0x5260, 0, 0x4F24, 0xA368, 0xB470, 0, 0x4A72, 0xB471, 0x4468, 0x3862, 0x3970, 0, 0, 0x2E77, 0x5268, 0xB473, 0, 0x465D, 0, 0, 0, 0xA364, 0, 0, 0, 0, 0, 0, 0, 0, 0xB474, 0x526C, 0, 0, 0xA369, 0, 0xB476, 0, 0xA36A, 0xB478, 0x3C7E, 0xB479, 0x3C76, 0x2E79, 0xA36B, 0xB47B, 0xB47C, 0, 0x526F, 0x526D, 0, 0x4C23, 0x2E7A, 0x526A, 0x5273, 0x526E, 0, 0, 0, 0x5271, 0x3846, 0x4C3F, 0, 0x2E7B, }; static const unsigned short utf8_to_euc_E592[] = { 0x5272, 0xB521, 0, 0xB522, 0x5274, 0xB523, 0x5276, 0, 0xB524, 0xB525, 0xF435, 0x3A70, 0x4F42, 0xB526, 0x526B, 0x5269, 0x5275, 0xB527, 0x5270, 0, 0, 0xB528, 0xB529, 0, 0, 0, 0, 0, 0xB52A, 0, 0, 0xB52B, 0, 0xB52C, 0x5278, 0, 0x5323, 0x527A, 0xB52D, 0xB52E, 0x527E, 0xB52F, 0xB530, 0x5321, 0x527B, 0xB531, 0xB532, 0x533E, 0, 0xB533, 0x3A69, 0x3331, 0, 0, 0, 0xB534, 0x5279, 0xB535, 0xB536, 0xB537, 0x5325, 0x3076, 0x5324, 0xB538, }; static const unsigned short utf8_to_euc_E592_x0213[] = { 0x5272, 0xB521, 0, 0xB522, 0x5274, 0xB523, 0x5276, 0, 0x2E7C, 0xB525, 0xA36C, 0x3A70, 0x4F42, 0xA36D, 0x526B, 0x5269, 0x5275, 0xB527, 0x5270, 0, 0, 0xA36E, 0x2E7D, 0, 0, 0, 0, 0, 0x2E78, 0, 0, 0xB52B, 0xA36F, 0x2E7E, 0x5278, 0, 0x5323, 0x527A, 0xA370, 0xB52E, 0x527E, 0x2F21, 0xB530, 0x5321, 0x527B, 0xA371, 0xA372, 0x533E, 0, 0xB533, 0x3A69, 0x3331, 0, 0, 0, 0xA373, 0x5279, 0xB535, 0xA374, 0xB537, 0x5325, 0x3076, 0x5324, 0xA375, }; static const unsigned short utf8_to_euc_E593[] = { 0x3025, 0x494A, 0x5322, 0, 0x527C, 0, 0xB539, 0x5277, 0x527D, 0x3A48, 0xB53A, 0, 0, 0xB53B, 0xB53C, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0x5326, 0, 0, 0, 0, 0, 0, 0, 0xB53D, 0x3077, 0x532F, 0, 0, 0x5327, 0x5328, 0, 0x3E25, 0x4B69, 0xB53E, 0, 0xB53F, 0x532D, 0x532C, 0xB540, 0, 0, 0x452F, 0, 0, 0, 0xB541, 0, 0, 0, 0x532E, 0, 0xB542, 0x532B, 0xB543, 0xB544, }; static const unsigned short utf8_to_euc_E593_x0213[] = { 0x3025, 0x494A, 0x5322, 0xA376, 0x527C, 0, 0x2F22, 0x5277, 0x527D, 0x3A48, 0xB53A, 0, 0, 0xB53B, 0xB53C, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0x5326, 0, 0, 0, 0, 0, 0, 0, 0xB53D, 0x3077, 0x532F, 0, 0, 0x5327, 0x5328, 0, 0x3E25, 0x4B69, 0xB53E, 0, 0xA378, 0x532D, 0x532C, 0xA379, 0, 0xA37A, 0x452F, 0xA37B, 0, 0, 0xB541, 0, 0, 0, 0x532E, 0, 0xB542, 0x532B, 0xB543, 0x2F23, }; static const unsigned short utf8_to_euc_E594[] = { 0xB545, 0xB546, 0, 0, 0x3134, 0xB547, 0x3A36, 0x3F30, 0xB548, 0xB549, 0, 0, 0xB54A, 0xB54B, 0xB54C, 0x5329, 0x4562, 0, 0, 0, 0x532A, 0xB54D, 0x3022, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0xB54E, 0xB54F, 0, 0, 0x5334, 0x4D23, 0, 0x3E27, 0xB550, 0x533A, 0, 0xB551, 0xB552, 0, 0x5339, 0x5330, 0, 0xB553, 0xB554, 0xB555, 0x4243, 0, }; static const unsigned short utf8_to_euc_E594_x0213[] = { 0xA37C, 0xA37D, 0, 0, 0x3134, 0xB547, 0x3A36, 0x3F30, 0xB548, 0xA37E, 0, 0, 0xB54A, 0xB54B, 0x2F24, 0x5329, 0x4562, 0, 0, 0, 0x532A, 0xB54D, 0x3022, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0xB54E, 0x2F25, 0, 0, 0x5334, 0x4D23, 0, 0x3E27, 0xB550, 0x533A, 0, 0x2F26, 0xB552, 0, 0x5339, 0x5330, 0, 0xB553, 0xA421, 0xB555, 0x4243, 0, }; static const unsigned short utf8_to_euc_E595[] = { 0x5331, 0xB556, 0, 0, 0x426F, 0x5336, 0x3E26, 0xB557, 0, 0xB558, 0xB559, 0, 0x5333, 0xB55A, 0, 0x4C64, 0xB55B, 0xB55C, 0, 0x373C, 0, 0, 0x5337, 0x5338, 0xB55D, 0, 0xB55E, 0xB55F, 0x5335, 0x533B, 0xB560, 0, 0xB561, 0xB562, 0, 0x5332, 0xB563, 0, 0xB564, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0x5341, 0x5346, 0, 0x5342, 0xB565, }; static const unsigned short utf8_to_euc_E595_x0213[] = { 0x5331, 0xA422, 0, 0, 0x426F, 0x5336, 0x3E26, 0xA424, 0, 0xB558, 0xA425, 0, 0x5333, 0xB55A, 0, 0x4C64, 0x2F27, 0xB55C, 0, 0x373C, 0, 0, 0x5337, 0x5338, 0xB55D, 0, 0xB55E, 0xB55F, 0x5335, 0x533B, 0x2F28, 0, 0xA427, 0xA428, 0, 0x5332, 0xA429, 0, 0xB564, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0x5341, 0x5346, 0xA42B, 0x5342, 0xB565, }; static const unsigned short utf8_to_euc_E596[] = { 0x533D, 0xB566, 0xB567, 0x5347, 0x4131, 0, 0xB568, 0x5349, 0xB569, 0x3922, 0x533F, 0x437D, 0, 0, 0xB56A, 0xB56B, 0, 0xB56C, 0xB56D, 0xB56E, 0xB56F, 0, 0, 0xB570, 0x5343, 0x533C, 0x342D, 0, 0x346E, 0x3365, 0x5344, 0x5340, 0, 0, 0, 0xB571, 0xB572, 0, 0, 0x3776, 0x534A, 0x5348, 0x4153, 0x354A, 0x362C, 0xB573, 0x5345, 0, 0x3674, 0, 0xB574, 0, 0, 0, 0x3144, 0, 0, 0, 0, 0, 0, 0, 0, 0xB575, }; static const unsigned short utf8_to_euc_E596_x0213[] = { 0x533D, 0x2F29, 0xA42C, 0x5347, 0x4131, 0, 0x2F2A, 0x5349, 0xA42D, 0x3922, 0x533F, 0x437D, 0, 0, 0x2F2B, 0xB56B, 0, 0xA42E, 0xB56D, 0xB56E, 0xB56F, 0, 0, 0xB570, 0x5343, 0x533C, 0x342D, 0, 0x346E, 0x3365, 0x5344, 0x5340, 0, 0, 0, 0xB571, 0xB572, 0, 0, 0x3776, 0x534A, 0x5348, 0x4153, 0x354A, 0x362C, 0x2F2D, 0x5345, 0, 0x3674, 0, 0xB574, 0, 0, 0, 0x3144, 0, 0, 0, 0, 0, 0, 0, 0, 0xA433, }; static const unsigned short utf8_to_euc_E597[] = { 0, 0xB576, 0, 0xB577, 0x534E, 0x534C, 0xB578, 0x5427, 0, 0xB579, 0, 0xB57A, 0xB57B, 0, 0xB57C, 0, 0, 0xB57D, 0xB57E, 0xB621, 0x5351, 0, 0, 0xB622, 0xB623, 0, 0x534B, 0xB624, 0x534F, 0, 0xB625, 0x534D, 0, 0, 0xB626, 0x3B4C, 0x5350, 0, 0, 0, 0, 0xB627, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0xB628, 0x5353, 0, 0x5358, 0, 0, 0, 0x5356, 0x5355, 0xB629, }; static const unsigned short utf8_to_euc_E597_x0213[] = { 0, 0xB576, 0, 0xB577, 0x534E, 0x534C, 0xB578, 0x5427, 0, 0xA434, 0, 0xB57A, 0xA435, 0, 0x2F2E, 0, 0, 0xA436, 0xA430, 0xB621, 0x5351, 0, 0, 0xB622, 0xB623, 0, 0x534B, 0xB624, 0x534F, 0xA437, 0xB625, 0x534D, 0, 0, 0xA439, 0x3B4C, 0x5350, 0, 0, 0, 0, 0xA43B, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0xB628, 0x5353, 0, 0x5358, 0, 0, 0, 0x5356, 0x5355, 0xB629, }; static const unsigned short utf8_to_euc_E598[] = { 0, 0, 0, 0, 0, 0xB62A, 0x4332, 0, 0xB62B, 0x3245, 0xB62C, 0, 0, 0xB62D, 0xB62E, 0xB62F, 0xB630, 0xB631, 0xB632, 0, 0x5352, 0, 0x5354, 0x3E28, 0x3133, 0xB633, 0, 0x5357, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0x325E, 0, 0, 0xB634, 0, 0, 0x5362, 0xB635, 0x3E7C, 0x535E, 0xB636, 0x535C, 0xB637, 0x535D, 0xB638, 0x535F, 0xB639, 0, 0xB63A, 0xB63B, 0xB63C, 0, 0xB63D, }; static const unsigned short utf8_to_euc_E598_x0213[] = { 0, 0, 0, 0, 0, 0xB62A, 0x4332, 0xA43E, 0x2F30, 0x3245, 0xB62C, 0, 0, 0xB62D, 0x2F31, 0xB62F, 0xA43F, 0xB631, 0xB632, 0, 0x5352, 0, 0x5354, 0x3E28, 0x3133, 0xB633, 0, 0x5357, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0xA43C, 0x325E, 0, 0, 0xB634, 0, 0, 0x5362, 0xA440, 0x3E7C, 0x535E, 0xB636, 0x535C, 0xB637, 0x535D, 0xA441, 0x535F, 0xB639, 0, 0x2F32, 0xB63B, 0xA443, 0, 0xA444, }; static const unsigned short utf8_to_euc_E599[] = { 0xB63E, 0xB63F, 0x313D, 0xB640, 0xB641, 0, 0xB642, 0, 0, 0xB643, 0, 0xB644, 0x4139, 0xB645, 0x5359, 0xB646, 0x535A, 0, 0, 0, 0xB647, 0, 0, 0, 0, 0, 0, 0x337A, 0, 0, 0xB648, 0, 0xB649, 0xB64A, 0xB64B, 0xB64C, 0x5361, 0, 0xB64D, 0, 0x346F, 0xB64E, 0x5364, 0x5360, 0x5363, 0xB64F, 0, 0xB650, 0, 0xB651, 0xB652, 0, 0x4A2E, 0xB653, 0, 0, 0x4655, 0, 0x4838, 0, 0, 0, 0, 0, }; static const unsigned short utf8_to_euc_E599_x0213[] = { 0xA445, 0xB63F, 0x313D, 0xB640, 0xB641, 0, 0xB642, 0xA446, 0, 0x2F33, 0, 0xB644, 0x4139, 0xB645, 0x5359, 0xB646, 0x535A, 0, 0, 0x7427, 0xB647, 0, 0, 0, 0, 0, 0, 0x337A, 0, 0, 0xA447, 0, 0xA448, 0xB64A, 0xB64B, 0xB64C, 0x5361, 0, 0x2F35, 0, 0x346F, 0xB64E, 0x5364, 0x5360, 0x5363, 0xA449, 0, 0x2F37, 0, 0x2F38, 0x2F39, 0, 0x4A2E, 0xB653, 0x2F34, 0, 0x4655, 0, 0x4838, 0, 0, 0, 0, 0, }; static const unsigned short utf8_to_euc_E59A[] = { 0x5366, 0, 0, 0, 0xB654, 0xB655, 0x5365, 0x3345, 0xB656, 0, 0x5367, 0xB657, 0xB658, 0, 0, 0x536A, 0, 0, 0, 0, 0x5369, 0xB659, 0, 0, 0, 0xB65A, 0xB65B, 0, 0, 0xB65C, 0xB65D, 0xB65E, 0x5368, 0, 0x4739, 0, 0, 0x536B, 0xB65F, 0xB660, 0xB661, 0xB662, 0, 0xB663, 0xB664, 0xB665, 0x536C, 0, 0, 0xB666, 0, 0xB667, 0x536E, 0, 0x536D, 0xB668, 0, 0, 0, 0, 0x5370, 0, 0xB669, 0, }; static const unsigned short utf8_to_euc_E59A_x0213[] = { 0x5366, 0, 0, 0, 0xB654, 0xB655, 0x5365, 0x3345, 0xA44B, 0, 0x5367, 0xB657, 0xA44C, 0, 0, 0x536A, 0, 0, 0, 0, 0x5369, 0xA44D, 0, 0, 0, 0x2F3A, 0xA44E, 0, 0, 0xA44F, 0x2F3B, 0xB65E, 0x5368, 0, 0x4739, 0, 0, 0x536B, 0xB65F, 0xB660, 0xA450, 0x2F3C, 0, 0xB663, 0x2F3D, 0xA451, 0x536C, 0, 0, 0xB666, 0xA452, 0x2F3E, 0x536E, 0, 0x536D, 0xB668, 0, 0, 0, 0, 0x5370, 0, 0xB669, 0, }; static const unsigned short utf8_to_euc_E59B[] = { 0x5373, 0x5371, 0x536F, 0x5372, 0, 0xB66A, 0, 0, 0x5374, 0xB66B, 0xB66C, 0xB66D, 0xB670, 0xB671, 0x5375, 0xB66E, 0xB66F, 0x5376, 0, 0x5377, 0, 0, 0, 0x5378, 0x5145, 0xB672, 0x3C7C, 0x3B4D, 0xB673, 0xB674, 0x3273, 0xB675, 0x3078, 0xB676, 0, 0x4344, 0xB677, 0xB678, 0xB679, 0xB67A, 0xB67B, 0, 0, 0xB67D, 0, 0xB67E, 0x5379, 0, 0x3A24, 0xB67C, 0x304F, 0x3F5E, 0, 0, 0xB721, 0xB722, 0, 0x537A, 0x3847, 0, 0, 0x3971, 0, 0x537C, }; static const unsigned short utf8_to_euc_E59B_x0213[] = { 0x5373, 0x5371, 0x536F, 0x5372, 0, 0xA453, 0, 0, 0x5374, 0x2F3F, 0x2F40, 0xB66D, 0xB670, 0xA454, 0x5375, 0xB66E, 0xB66F, 0x5376, 0, 0x5377, 0, 0, 0, 0x5378, 0x5145, 0xB672, 0x3C7C, 0x3B4D, 0xB673, 0xB674, 0x3273, 0xA455, 0x3078, 0xB676, 0, 0x4344, 0xB677, 0xB678, 0xB679, 0xB67A, 0xA456, 0, 0, 0xB67D, 0, 0xB67E, 0x5379, 0, 0x3A24, 0xB67C, 0x304F, 0x3F5E, 0, 0, 0xA457, 0xA458, 0, 0x537A, 0x3847, 0, 0, 0x3971, 0, 0x537C, }; static const unsigned short utf8_to_euc_E59C[] = { 0x537B, 0xB723, 0xB724, 0x4A60, 0x537D, 0, 0, 0xB725, 0x5421, 0x537E, 0xB726, 0x5422, 0xB727, 0x5423, 0, 0x3777, 0, 0xB728, 0x3160, 0x5424, 0, 0xB729, 0x5426, 0, 0x5425, 0, 0xB72A, 0xB72B, 0x5428, 0xB72C, 0, 0x455A, 0xB72D, 0, 0xB72E, 0xB72F, 0xB730, 0xB731, 0x5429, 0x3035, 0x3A5F, 0xB732, 0xB733, 0, 0xB734, 0x373D, 0xB735, 0xB736, 0x434F, 0, 0, 0xB737, 0xB738, 0, 0, 0x542A, 0x542B, 0, 0, 0x542D, 0, 0xB739, 0xB73A, 0xB73B, }; static const unsigned short utf8_to_euc_E59C_x0213[] = { 0x537B, 0xB723, 0xB724, 0x4A60, 0x537D, 0, 0, 0xB725, 0x5421, 0x537E, 0x2F41, 0x5422, 0xB727, 0x5423, 0, 0x3777, 0, 0xB728, 0x3160, 0x5424, 0, 0xA45A, 0x5426, 0, 0x5425, 0, 0xB72A, 0xB72B, 0x5428, 0xB72C, 0, 0x455A, 0xB72D, 0x2F43, 0xB72E, 0xA45B, 0xB730, 0xB731, 0x5429, 0x3035, 0x3A5F, 0xA45D, 0xB733, 0, 0xB734, 0x373D, 0xB735, 0x2F44, 0x434F, 0, 0, 0x2F45, 0x2F46, 0, 0, 0x542A, 0x542B, 0, 0, 0x542D, 0, 0xB739, 0xB73A, 0xB73B, }; static const unsigned short utf8_to_euc_E59D[] = { 0x542E, 0, 0x3A64, 0, 0, 0xB73C, 0xB73D, 0x3651, 0, 0, 0x4B37, 0, 0xB73E, 0xB73F, 0x542C, 0x542F, 0x3A41, 0x3923, 0xB740, 0, 0, 0, 0, 0, 0, 0xF436, 0, 0, 0, 0, 0, 0, 0, 0x5433, 0xB741, 0, 0x3A25, 0xB742, 0x4333, 0xB743, 0xB744, 0x5430, 0x445A, 0xB745, 0, 0xB746, 0xB747, 0xB748, 0xB749, 0xB74A, 0, 0xB74B, 0xB74C, 0xB74D, 0, 0xB74E, 0, 0xB74F, 0xB750, 0xB751, 0xB752, 0, 0xB753, 0x5434, }; static const unsigned short utf8_to_euc_E59D_x0213[] = { 0x542E, 0, 0x3A64, 0, 0, 0xA45F, 0xA460, 0x3651, 0, 0, 0x4B37, 0, 0xA461, 0xA462, 0x542C, 0x542F, 0x3A41, 0x3923, 0xB740, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0x5433, 0xB741, 0, 0x3A25, 0, 0x4333, 0xB743, 0xA464, 0x5430, 0x445A, 0xB745, 0, 0xB746, 0xB747, 0xA465, 0x2F47, 0xB74A, 0, 0xA466, 0xA467, 0xA468, 0, 0x2F48, 0, 0xB74F, 0xB750, 0xA469, 0x2F49, 0, 0xB753, 0x5434, }; static const unsigned short utf8_to_euc_E59E[] = { 0, 0xB754, 0x3F62, 0xB755, 0, 0, 0, 0, 0x5432, 0x5435, 0, 0x373F, 0xB756, 0, 0, 0, 0, 0, 0, 0x5436, 0xB757, 0xB760, 0, 0xB758, 0, 0xB759, 0xB75A, 0, 0xB75B, 0xB75C, 0xB75D, 0xB75E, 0x5437, 0xB75F, 0x3924, 0x3340, 0x5439, 0, 0, 0xB761, 0xB762, 0xB763, 0x543A, 0, 0xB764, 0, 0, 0, 0x543B, 0, 0, 0x5438, 0, 0, 0, 0, 0xB765, 0, 0, 0, 0, 0xB766, 0, 0, }; static const unsigned short utf8_to_euc_E59E_x0213[] = { 0, 0xB754, 0x3F62, 0xB755, 0, 0, 0, 0, 0x5432, 0x5435, 0, 0x373F, 0xB756, 0, 0, 0, 0, 0, 0, 0x5436, 0xB757, 0xB760, 0, 0xB758, 0, 0xB759, 0xA46D, 0, 0x2F4A, 0xA46E, 0xA46F, 0xB75E, 0x5437, 0xB75F, 0x3924, 0x3340, 0x5439, 0, 0, 0xB761, 0xA470, 0xB763, 0x543A, 0, 0xA46C, 0, 0, 0, 0x543B, 0, 0, 0x5438, 0, 0, 0, 0, 0x2F4D, 0, 0, 0, 0, 0xB766, 0, 0, }; static const unsigned short utf8_to_euc_E59F[] = { 0x5431, 0, 0, 0x543C, 0, 0, 0x543D, 0xB767, 0xB768, 0, 0, 0x4B64, 0xB769, 0, 0x3E6B, 0xB76A, 0, 0, 0x543F, 0x5440, 0x543E, 0xB76B, 0x5442, 0, 0, 0, 0, 0, 0x4738, 0xB76C, 0xB76D, 0x3068, 0x4956, 0xB77E, 0, 0x5443, 0xB76E, 0, 0xB76F, 0xB770, 0, 0xB771, 0, 0, 0, 0xB772, 0, 0, 0xB773, 0, 0, 0, 0x3E7D, 0xB774, 0xB775, 0x3C39, 0xB776, 0x475D, 0x3470, 0, 0x3A6B, 0xB777, 0xB778, 0xB779, }; static const unsigned short utf8_to_euc_E59F_x0213[] = { 0x5431, 0, 0, 0x543C, 0, 0, 0x543D, 0x2F4E, 0x2F4F, 0, 0, 0x4B64, 0xA473, 0, 0x3E6B, 0x2F50, 0, 0, 0x543F, 0x5440, 0x543E, 0xB76B, 0x5442, 0xA471, 0, 0, 0, 0, 0x4738, 0xB76C, 0xA476, 0x3068, 0x4956, 0xB77E, 0, 0x5443, 0x2F51, 0, 0xA477, 0xB770, 0, 0xB771, 0, 0, 0, 0x2F52, 0, 0, 0xA478, 0, 0, 0, 0x3E7D, 0x2F53, 0x2F54, 0x3C39, 0xA47A, 0x475D, 0x3470, 0xA47B, 0x3A6B, 0xA47C, 0xB778, 0x2F55, }; static const unsigned short utf8_to_euc_E5A0[] = { 0x4B59, 0, 0x4632, 0xB77A, 0xB77B, 0x3778, 0x424F, 0, 0xB77C, 0xB77D, 0x5441, 0x5444, 0xB821, 0xB822, 0, 0, 0, 0, 0, 0, 0, 0x4244, 0, 0, 0, 0x5445, 0, 0xB823, 0, 0x5446, 0xB824, 0xB825, 0xB826, 0x5448, 0, 0, 0x4469, 0, 0xB827, 0xB828, 0, 0, 0x342E, 0, 0, 0xB829, 0, 0x7421, 0x3161, 0x4A73, 0xB82A, 0, 0x3E6C, 0x4548, 0, 0, 0, 0xB82B, 0x3A66, 0, 0, 0x544E, 0, 0xB82C, }; static const unsigned short utf8_to_euc_E5A0_x0213[] = { 0x4B59, 0, 0x4632, 0xB77A, 0xA47D, 0x3778, 0x424F, 0, 0xB77C, 0x2F56, 0x5441, 0x5444, 0xB821, 0xB822, 0, 0, 0, 0, 0, 0, 0, 0x4244, 0, 0, 0, 0x5445, 0, 0xB823, 0, 0x5446, 0xA47E, 0xB825, 0xA521, 0x5448, 0, 0, 0x4469, 0, 0xB827, 0xA522, 0, 0, 0x342E, 0, 0, 0xB829, 0, 0x7421, 0x3161, 0x4A73, 0xA523, 0, 0x3E6C, 0x4548, 0, 0, 0, 0xA524, 0x3A66, 0, 0, 0x544E, 0, 0xB82C, }; static const unsigned short utf8_to_euc_E5A1[] = { 0x4A3D, 0x4E5D, 0, 0, 0, 0, 0, 0, 0, 0xB82D, 0x3274, 0x544A, 0xB82E, 0xB82F, 0, 0xB830, 0xB831, 0x413A, 0x544D, 0, 0x4563, 0xB832, 0, 0x4549, 0x4564, 0x4839, 0x444D, 0, 0, 0, 0x3A49, 0xB833, 0, 0xB834, 0x5449, 0, 0xB835, 0, 0, 0xB836, 0xB837, 0x3176, 0, 0x4536, 0, 0, 0, 0, 0x544B, 0, 0x5447, 0, 0, 0x3F50, 0, 0, 0xB838, 0x544F, 0, 0, 0xB839, 0, 0x3D4E, 0xB83A, }; static const unsigned short utf8_to_euc_E5A1_x0213[] = { 0x4A3D, 0x4E5D, 0, 0, 0, 0, 0, 0, 0, 0xA526, 0x3274, 0x544A, 0xA527, 0xB82F, 0, 0xB830, 0xB831, 0x413A, 0x544D, 0, 0x4563, 0xB832, 0, 0x4549, 0x4564, 0x4839, 0x444D, 0, 0, 0, 0x3A49, 0xB833, 0, 0x2F58, 0x5449, 0, 0x2F59, 0, 0, 0xA528, 0xB837, 0x3176, 0, 0x4536, 0, 0, 0, 0, 0x544B, 0, 0x5447, 0, 0, 0x3F50, 0, 0, 0xB838, 0x544F, 0, 0, 0x2F5B, 0, 0x3D4E, 0xB83A, }; static const unsigned short utf8_to_euc_E5A2[] = { 0xB83B, 0xB83C, 0, 0x362D, 0, 0x5450, 0, 0xB83D, 0xB83E, 0xB83F, 0xB840, 0, 0xB841, 0xB842, 0, 0xB843, 0xB844, 0, 0, 0x4A68, 0xB845, 0, 0xB846, 0x417D, 0, 0, 0, 0, 0x4446, 0xB847, 0xF439, 0x5452, 0xB848, 0xB849, 0xB84A, 0, 0, 0, 0xB84B, 0, 0x4B4F, 0xB84C, 0, 0x5453, 0, 0, 0x5458, 0, 0, 0xB84D, 0xB84E, 0x4A2F, 0, 0, 0, 0, 0x5457, 0x5451, 0x5454, 0x5456, 0xB850, 0, 0x3A26, 0, }; static const unsigned short utf8_to_euc_E5A2_x0213[] = { 0xB83B, 0xB83C, 0, 0x362D, 0, 0x5450, 0, 0xB83D, 0xB83E, 0x2F5C, 0xA529, 0xA52A, 0xB841, 0xA52B, 0, 0xA52C, 0xA52D, 0, 0, 0x4A68, 0xA52E, 0, 0xB846, 0x417D, 0, 0, 0, 0, 0x4446, 0xA52F, 0x2F5D, 0x5452, 0xB848, 0xB849, 0xB84A, 0, 0, 0, 0xB84B, 0, 0x4B4F, 0x2F5F, 0xA530, 0x5453, 0, 0, 0x5458, 0, 0, 0xA531, 0, 0x4A2F, 0, 0, 0, 0, 0x5457, 0x5451, 0x5454, 0x5456, 0xB850, 0, 0x3A26, 0, }; static const unsigned short utf8_to_euc_E5A3[] = { 0, 0x4A49, 0xB851, 0, 0xB84F, 0x5459, 0, 0x4345, 0xB852, 0, 0x3275, 0, 0x3E6D, 0xB853, 0xB854, 0, 0xB855, 0x545B, 0xB856, 0x545A, 0xB857, 0x3968, 0xB858, 0x545C, 0x545E, 0x545D, 0xB859, 0, 0x5460, 0xB85A, 0x5455, 0x5462, 0, 0xB85B, 0xB85C, 0, 0x5461, 0x545F, 0, 0, 0, 0xB85D, 0, 0x3B4E, 0x3F51, 0, 0x4154, 0x5463, 0x403C, 0x306D, 0x4764, 0xB85E, 0, 0, 0, 0x445B, 0, 0x5465, 0x5464, 0x5466, 0x5467, 0x5468, 0, 0, }; static const unsigned short utf8_to_euc_E5A3_x0213[] = { 0, 0x4A49, 0xB851, 0xA533, 0xB84F, 0x5459, 0, 0x4345, 0xB852, 0, 0x3275, 0, 0x3E6D, 0xA534, 0x2F62, 0, 0xB855, 0x545B, 0x2F61, 0x545A, 0x2F63, 0x3968, 0xB858, 0x545C, 0x545E, 0x545D, 0x2F64, 0, 0x5460, 0xB85A, 0x5455, 0x5462, 0x2F65, 0xB85B, 0xA535, 0, 0x5461, 0x545F, 0, 0, 0, 0x2F66, 0, 0x3B4E, 0x3F51, 0, 0x4154, 0x5463, 0x403C, 0x306D, 0x4764, 0xA536, 0xA537, 0, 0, 0x445B, 0, 0x5465, 0x5464, 0x5466, 0x5467, 0x5468, 0, 0, }; static const unsigned short utf8_to_euc_E5A4[] = { 0, 0, 0x5469, 0, 0, 0xB85F, 0xB860, 0, 0, 0x4A51, 0x546A, 0xB861, 0xB862, 0, 0, 0x3246, 0x546B, 0, 0xB863, 0xB864, 0xB865, 0x4D3C, 0x3330, 0, 0x5249, 0x3D48, 0x423F, 0x546C, 0x4C6B, 0xB867, 0, 0, 0, 0xB868, 0x4C34, 0xB869, 0xB86A, 0x546E, 0, 0x4267, 0xB86B, 0x4537, 0x4240, 0x4957, 0x546F, 0x5470, 0x317B, 0xB86C, 0xB86D, 0x3C3A, 0x5471, 0xB86E, 0, 0xB86F, 0xB870, 0x3050, 0x5472, 0, 0, 0, 0, 0, 0x5473, 0xB871, }; static const unsigned short utf8_to_euc_E5A4_x0213[] = { 0, 0, 0x5469, 0, 0, 0xA538, 0xA539, 0, 0, 0x4A51, 0x546A, 0xA53A, 0x2F67, 0xA53B, 0, 0x3246, 0x546B, 0, 0xB863, 0xB864, 0xA53C, 0x4D3C, 0x3330, 0, 0x5249, 0x3D48, 0x423F, 0x546C, 0x4C6B, 0xB867, 0, 0, 0, 0xB868, 0x4C34, 0xB869, 0xA53D, 0x546E, 0, 0x4267, 0xB86B, 0x4537, 0x4240, 0x4957, 0x546F, 0x5470, 0x317B, 0xB86C, 0xB86D, 0x3C3A, 0x5471, 0xB86E, 0, 0xB86F, 0xB870, 0x3050, 0x5472, 0, 0, 0, 0, 0xA540, 0x5473, 0xB871, }; static const unsigned short utf8_to_euc_E5A5[] = { 0, 0, 0, 0xB872, 0x3162, 0, 0xB873, 0x3471, 0x4660, 0x4A74, 0, 0, 0, 0, 0x5477, 0x4155, 0x5476, 0x3740, 0xB874, 0xB875, 0x4B5B, 0x5475, 0, 0x4565, 0x5479, 0xB876, 0x5478, 0xB877, 0, 0xB878, 0xB879, 0xB87A, 0x547B, 0xB87B, 0x547A, 0xB87C, 0, 0x317C, 0, 0x547C, 0x3E29, 0x547E, 0x4325, 0xB87D, 0x547D, 0xB87E, 0x4A33, 0xB921, 0, 0, 0xB922, 0x3D77, 0x455B, 0xB923, 0xB924, 0, 0x5521, 0xB925, 0, 0xB926, 0xB927, 0x3925, 0, 0, }; static const unsigned short utf8_to_euc_E5A5_x0213[] = { 0, 0, 0, 0xB872, 0x3162, 0, 0xA542, 0x3471, 0x4660, 0x4A74, 0, 0, 0, 0, 0x5477, 0x4155, 0x5476, 0x3740, 0xB874, 0, 0x4B5B, 0x5475, 0, 0x4565, 0x5479, 0xB876, 0x5478, 0xA545, 0, 0x2F69, 0xB879, 0xA546, 0x547B, 0xB87B, 0x547A, 0, 0, 0x317C, 0, 0x547C, 0x3E29, 0x547E, 0x4325, 0xB87D, 0x547D, 0x2F6A, 0x4A33, 0xB921, 0, 0, 0xB922, 0x3D77, 0x455B, 0xA548, 0xA549, 0, 0x5521, 0xB925, 0, 0xB926, 0xA54A, 0x3925, 0, 0, }; static const unsigned short utf8_to_euc_E5A6[] = { 0, 0x5522, 0x4721, 0x485E, 0x4C51, 0, 0, 0, 0, 0, 0x4725, 0xB928, 0xB929, 0x552B, 0xB92A, 0, 0, 0, 0xB92B, 0x3538, 0, 0xB92C, 0x4D45, 0xB92D, 0, 0x4C2F, 0, 0x562C, 0, 0x5523, 0, 0xB92E, 0, 0, 0, 0x5526, 0xB92F, 0x4245, 0, 0xB930, 0x4B38, 0, 0, 0, 0x454A, 0xB931, 0xB932, 0xB933, 0xB934, 0, 0x5527, 0xB935, 0, 0, 0, 0xB936, 0, 0x4B65, 0xB937, 0x3A4A, 0xB938, 0, 0x3E2A, 0, }; static const unsigned short utf8_to_euc_E5A6_x0213[] = { 0, 0x5522, 0x4721, 0x485E, 0x4C51, 0, 0, 0, 0, 0, 0x4725, 0x2F6B, 0xB929, 0x552B, 0xB92A, 0, 0, 0, 0x2F6C, 0x3538, 0, 0xB92C, 0x4D45, 0xB92D, 0, 0x4C2F, 0, 0x562C, 0, 0x5523, 0, 0xA54B, 0, 0, 0, 0x5526, 0x2F6D, 0x4245, 0, 0xB930, 0x4B38, 0, 0, 0, 0x454A, 0xB931, 0xA54C, 0xB933, 0xB934, 0, 0x5527, 0xB935, 0, 0, 0, 0xB936, 0, 0x4B65, 0, 0x3A4A, 0xA54D, 0, 0x3E2A, 0, }; static const unsigned short utf8_to_euc_E5A7[] = { 0, 0xB939, 0, 0xB93A, 0xB93B, 0, 0x5528, 0, 0xB93C, 0x3B50, 0xB93D, 0x3B4F, 0, 0xB93E, 0, 0, 0x3039, 0x3848, 0xB93F, 0x402B, 0x3051, 0, 0, 0, 0, 0x552C, 0x552D, 0, 0x552A, 0xB940, 0xB941, 0xB942, 0, 0, 0, 0xB943, 0xB944, 0x3138, 0x342F, 0xB945, 0x5529, 0, 0x4C45, 0x4931, 0, 0, 0xB946, 0xB947, 0, 0xB948, 0xB949, 0, 0xB94A, 0, 0x3028, 0xB94B, 0, 0, 0, 0x3079, 0, 0, 0, 0x3B51, }; static const unsigned short utf8_to_euc_E5A7_x0213[] = { 0, 0xB939, 0, 0x2F6E, 0xB93B, 0, 0x5528, 0, 0xA54E, 0x3B50, 0xB93D, 0x3B4F, 0, 0xA54F, 0, 0, 0x3039, 0x3848, 0x2F6F, 0x402B, 0x3051, 0, 0, 0, 0, 0x552C, 0x552D, 0, 0x552A, 0x2F70, 0xA550, 0xB942, 0, 0, 0, 0xA551, 0xA552, 0x3138, 0x342F, 0xA553, 0x5529, 0, 0x4C45, 0x4931, 0, 0, 0xA554, 0xB947, 0, 0xB948, 0xB949, 0, 0xB94A, 0, 0x3028, 0xB94B, 0x7E7A, 0, 0, 0x3079, 0, 0, 0, 0x3B51, }; static const unsigned short utf8_to_euc_E5A8[] = { 0xB94C, 0x3052, 0, 0x3023, 0xB94D, 0, 0, 0, 0, 0x5532, 0, 0, 0xB94E, 0xB94F, 0xB950, 0, 0, 0x5530, 0xB951, 0xB952, 0, 0, 0, 0, 0x4C3C, 0, 0x5533, 0, 0x5531, 0, 0xB953, 0x552F, 0x3F31, 0, 0, 0xB954, 0xB955, 0x552E, 0, 0xB956, 0xB957, 0x4A5A, 0xB958, 0, 0, 0xB959, 0, 0x3864, 0xB95A, 0, 0, 0, 0, 0x5537, 0x5538, 0, 0, 0, 0, 0, 0x3E2B, 0, 0, 0, }; static const unsigned short utf8_to_euc_E5A8_x0213[] = { 0xB94C, 0x3052, 0, 0x3023, 0xB94D, 0, 0, 0, 0, 0x5532, 0, 0, 0xA558, 0xA559, 0xB950, 0, 0, 0x5530, 0xB951, 0x2F71, 0, 0, 0, 0xA55A, 0x4C3C, 0, 0x5533, 0, 0x5531, 0, 0xB953, 0x552F, 0x3F31, 0, 0, 0x2F72, 0xB955, 0x552E, 0, 0xA55B, 0xB957, 0x4A5A, 0xB958, 0, 0, 0xA55C, 0, 0x3864, 0xB95A, 0, 0, 0, 0, 0x5537, 0x5538, 0, 0, 0, 0, 0, 0x3E2B, 0, 0, 0, }; static const unsigned short utf8_to_euc_E5A9[] = { 0x5534, 0x4F2C, 0, 0, 0xB95B, 0xB95C, 0x474C, 0xB95D, 0xB95E, 0x5536, 0, 0, 0xB95F, 0, 0, 0, 0xB960, 0, 0, 0, 0, 0xB961, 0, 0, 0, 0, 0x3A27, 0, 0, 0, 0xB962, 0, 0, 0, 0x5539, 0xB963, 0, 0xB964, 0x4958, 0xB965, 0, 0, 0x553A, 0, 0x5535, 0xB966, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0xB967, 0, 0, 0xB968, 0xB969, 0, 0, 0xB96A, 0x4C3B, }; static const unsigned short utf8_to_euc_E5A9_x0213[] = { 0x5534, 0x4F2C, 0, 0, 0xB95B, 0xB95C, 0x474C, 0xB95D, 0xB95E, 0x5536, 0, 0, 0xB95F, 0, 0, 0, 0xB960, 0, 0, 0, 0, 0xA55D, 0, 0, 0, 0, 0x3A27, 0, 0, 0, 0xB962, 0, 0, 0, 0x5539, 0xB963, 0, 0xA55E, 0x4958, 0x2F73, 0, 0, 0x553A, 0, 0x5535, 0x2F74, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0x2F75, 0, 0, 0xA55F, 0xB969, 0, 0, 0x2F76, 0x4C3B, }; static const unsigned short utf8_to_euc_E5AA[] = { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0xB96B, 0, 0, 0, 0, 0xB96C, 0, 0x475E, 0xB96D, 0, 0, 0xB96E, 0, 0, 0xB96F, 0x553B, 0x4932, 0xB970, 0, 0xB971, 0xB972, 0xB973, 0, 0xB974, 0, 0, 0, 0, 0xB975, 0, 0, 0, 0, 0xB976, 0, 0, 0, 0, 0xB977, 0xB978, 0xB979, 0, 0xB97A, 0, 0, 0xB97B, 0, 0xB97C, 0xB97D, 0x553C, 0x5540, 0x553D, 0xB97E, }; static const unsigned short utf8_to_euc_E5AA_x0213[] = { 0, 0, 0, 0, 0x2F77, 0, 0, 0, 0, 0, 0, 0xA560, 0, 0, 0, 0, 0xB96C, 0, 0x475E, 0xB96D, 0, 0, 0xB96E, 0, 0, 0xB96F, 0x553B, 0x4932, 0xA561, 0, 0x2F78, 0xA562, 0xA563, 0, 0xA564, 0, 0, 0, 0, 0x2F79, 0, 0, 0, 0, 0xB976, 0, 0, 0, 0, 0xA565, 0xB978, 0xA566, 0, 0xA567, 0, 0, 0xB97B, 0, 0xA568, 0xB97D, 0x553C, 0x5540, 0x553D, 0xA569, }; static const unsigned short utf8_to_euc_E5AB[] = { 0, 0x3247, 0x553F, 0, 0xBA21, 0, 0xBA22, 0, 0xBA23, 0x3C3B, 0, 0x553E, 0x3779, 0, 0, 0xBA24, 0x554C, 0, 0, 0, 0, 0, 0x5545, 0x5542, 0, 0, 0xBA25, 0, 0xBA26, 0, 0, 0, 0xBA27, 0x4364, 0, 0x5541, 0, 0xBA28, 0x5543, 0, 0, 0x5544, 0xBA29, 0, 0, 0, 0xBA2A, 0, 0, 0, 0, 0, 0, 0xBA2B, 0xBA2C, 0, 0, 0, 0x5546, 0x5547, 0, 0xBA2D, 0, 0, }; static const unsigned short utf8_to_euc_E5AB_x0213[] = { 0, 0x3247, 0x553F, 0, 0x2F7A, 0, 0xBA22, 0, 0xBA23, 0x3C3B, 0, 0x553E, 0x3779, 0, 0, 0xBA24, 0x554C, 0, 0, 0, 0, 0, 0x5545, 0x5542, 0, 0, 0xA56A, 0, 0xA56B, 0, 0, 0, 0xA56C, 0x4364, 0, 0x5541, 0, 0xA56D, 0x5543, 0, 0, 0x5544, 0xBA29, 0, 0, 0, 0xA56F, 0, 0xA56E, 0, 0, 0, 0, 0xA570, 0xBA2C, 0, 0, 0, 0x5546, 0x5547, 0, 0xBA2D, 0, 0, }; static const unsigned short utf8_to_euc_E5AC[] = { 0xBA2E, 0xBA2F, 0, 0, 0, 0, 0, 0, 0xBA30, 0x3472, 0, 0x5549, 0x5548, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0x554A, 0xBA31, 0, 0xBA33, 0, 0xBA34, 0, 0xBA35, 0, 0, 0, 0xBA36, 0x3E6E, 0, 0, 0xBA37, 0, 0, 0, 0, 0x554D, 0, 0x445C, 0xBA38, 0, 0, 0x3145, 0, 0x554B, 0, 0xBA32, 0, 0x554E, 0, 0xBA39, 0, 0, 0, 0, 0, 0x554F, 0, }; static const unsigned short utf8_to_euc_E5AC_x0213[] = { 0xA571, 0xBA2F, 0, 0, 0, 0, 0, 0, 0xA572, 0x3472, 0, 0x5549, 0x5548, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0x554A, 0xA573, 0, 0x2F7C, 0, 0xBA34, 0, 0xBA35, 0, 0, 0, 0xBA36, 0x3E6E, 0, 0, 0x2F7D, 0, 0, 0, 0, 0x554D, 0, 0x445C, 0xA575, 0, 0, 0x3145, 0, 0x554B, 0, 0xA574, 0, 0x554E, 0, 0xBA39, 0, 0, 0, 0, 0, 0x554F, 0, }; static const unsigned short utf8_to_euc_E5AD[] = { 0x5552, 0xBA3A, 0, 0x5550, 0, 0x5551, 0, 0, 0, 0, 0, 0xBA3B, 0xBA3C, 0, 0, 0, 0x3B52, 0x5553, 0xBA3D, 0, 0x3926, 0x5554, 0xBA3E, 0x3B7A, 0x4238, 0, 0x5555, 0x5556, 0x3B5A, 0x3927, 0xBA3F, 0x4C52, 0, 0, 0, 0x3528, 0x3849, 0x5557, 0x3358, 0, 0xBA40, 0x5558, 0, 0x4239, 0, 0, 0xBA41, 0xBA42, 0x5559, 0x5623, 0, 0x555A, 0, 0x555B, 0, 0, 0x555C, 0, 0x555E, 0, 0xBA43, 0xBA44, 0xBA45, 0xBA46, }; static const unsigned short utf8_to_euc_E5AD_x0213[] = { 0x5552, 0x4F55, 0, 0x5550, 0, 0x5551, 0, 0, 0, 0, 0, 0xBA3B, 0xA576, 0, 0, 0, 0x3B52, 0x5553, 0xA577, 0, 0x3926, 0x5554, 0x4F56, 0x3B7A, 0x4238, 0, 0x5555, 0x5556, 0x3B5A, 0x3927, 0xBA3F, 0x4C52, 0, 0, 0, 0x3528, 0x3849, 0x5557, 0x3358, 0, 0xA578, 0x5558, 0, 0x4239, 0, 0, 0xBA41, 0xA579, 0x5559, 0x5623, 0, 0x555A, 0, 0x555B, 0, 0, 0x555C, 0, 0x555E, 0, 0xA57A, 0x4F57, 0xBA45, 0xA57B, }; static const unsigned short utf8_to_euc_E5AE[] = { 0x555F, 0xBA47, 0, 0x5560, 0xBA48, 0x4270, 0xBA49, 0x3127, 0x3C69, 0x3042, 0xBA4A, 0x4157, 0x3430, 0x3C35, 0xBA4B, 0x3928, 0xBA4C, 0xBA4D, 0, 0xBA4E, 0xBA4F, 0x4566, 0xBA50, 0x3D21, 0x3431, 0x4368, 0x446A, 0x3038, 0x3539, 0x4A75, 0, 0x3C42, 0, 0, 0x3552, 0x406B, 0x3C3C, 0x4D28, 0x5561, 0, 0xBA51, 0xBA52, 0, 0, 0xBA53, 0xBA54, 0x355C, 0xBA55, 0x3A4B, 0xBA56, 0xBA57, 0x3332, 0x3163, 0x3E2C, 0x3248, 0xBA58, 0x5562, 0x4D46, 0xBA59, 0, 0xBA5A, 0, 0, 0x3D49, }; static const unsigned short utf8_to_euc_E5AE_x0213[] = { 0x555F, 0xA57C, 0, 0x5560, 0xA57D, 0x4270, 0xBA49, 0x3127, 0x3C69, 0x3042, 0xBA4A, 0x4157, 0x3430, 0x3C35, 0xBA4B, 0x3928, 0xBA4C, 0xBA4D, 0, 0x4F58, 0xBA4F, 0x4566, 0xA821, 0x3D21, 0x3431, 0x4368, 0x446A, 0x3038, 0x3539, 0x4A75, 0, 0x3C42, 0, 0, 0x3552, 0x406B, 0x3C3C, 0x4D28, 0x5561, 0, 0xBA51, 0xBA52, 0, 0, 0xA822, 0xBA54, 0x355C, 0xBA55, 0x3A4B, 0xBA56, 0xBA57, 0x3332, 0x3163, 0x3E2C, 0x3248, 0xBA58, 0x5562, 0x4D46, 0xBA59, 0, 0xBA5A, 0, 0, 0x3D49, }; static const unsigned short utf8_to_euc_E5AF[] = { 0xBA5B, 0xBA5C, 0x3C64, 0x5563, 0x3473, 0x4652, 0x4C29, 0x5564, 0, 0x5565, 0, 0, 0x4959, 0xBA5D, 0, 0xBA5E, 0x5567, 0, 0x3428, 0x3677, 0x5566, 0, 0xBA5F, 0xBA60, 0xBA61, 0xBA62, 0xBA63, 0x3432, 0, 0x3F32, 0x556B, 0x3B21, 0xBA64, 0x3249, 0x556A, 0, 0x5568, 0x556C, 0x5569, 0x472B, 0x5C4D, 0x3F33, 0, 0x556D, 0xF43A, 0, 0x4E40, 0xBA65, 0x556E, 0xBA66, 0, 0x5570, 0xBA67, 0x437E, 0x556F, 0, 0x4023, 0, 0x3B7B, 0, 0, 0xBA68, 0x4250, 0x3C77, }; static const unsigned short utf8_to_euc_E5AF_x0213[] = { 0xA824, 0xBA5C, 0x3C64, 0x5563, 0x3473, 0x4652, 0x4C29, 0x5564, 0, 0x5565, 0, 0, 0x4959, 0xBA5D, 0xA826, 0xBA5E, 0x5567, 0, 0x3428, 0x3677, 0x5566, 0, 0xA827, 0xBA60, 0x4F59, 0xBA62, 0xBA63, 0x3432, 0, 0x3F32, 0x556B, 0x3B21, 0xBA64, 0x3249, 0x556A, 0, 0x5568, 0x556C, 0x5569, 0x472B, 0x5C4D, 0x3F33, 0, 0x556D, 0x4F5A, 0, 0x4E40, 0xBA65, 0x556E, 0xA82A, 0, 0x5570, 0xBA67, 0x437E, 0x556F, 0, 0x4023, 0, 0x3B7B, 0, 0, 0xA82B, 0x4250, 0x3C77, }; static const unsigned short utf8_to_euc_E5B0[] = { 0, 0x4975, 0x406C, 0, 0x3C4D, 0x5571, 0x3E2D, 0x5572, 0x5573, 0x3053, 0x423A, 0x3F52, 0xBA69, 0x5574, 0x4633, 0x3E2E, 0, 0x3E2F, 0, 0x5575, 0, 0, 0x406D, 0xBA6A, 0, 0, 0x3E30, 0, 0, 0, 0xBA6B, 0xBA6C, 0x5576, 0, 0x5577, 0xBA6D, 0x4C60, 0, 0xBA6E, 0, 0x5578, 0xBA6F, 0, 0xBA70, 0xBA71, 0x3646, 0xBA72, 0, 0xBA73, 0x3D22, 0xBA74, 0, 0, 0xBA75, 0xBA76, 0, 0x5579, 0x557A, 0x3C5C, 0x3F2C, 0x4674, 0x3F54, 0x4878, 0x4722, }; static const unsigned short utf8_to_euc_E5B0_x0213[] = { 0, 0x4975, 0x406C, 0xA82D, 0x3C4D, 0x5571, 0x3E2D, 0x5572, 0x5573, 0x3053, 0x423A, 0x3F52, 0xBA69, 0x5574, 0x4633, 0x3E2E, 0, 0x3E2F, 0x4F5B, 0x5575, 0, 0, 0x406D, 0xBA6A, 0, 0, 0x3E30, 0, 0, 0, 0x4F5C, 0xBA6C, 0x5576, 0, 0x5577, 0x4F5D, 0x4C60, 0, 0xBA6E, 0, 0x5578, 0xA82E, 0, 0x4F5E, 0xBA71, 0x3646, 0xBA72, 0, 0xA82F, 0x3D22, 0xBA74, 0, 0, 0xBA75, 0xBA76, 0, 0x5579, 0x557A, 0x3C5C, 0x3F2C, 0x4674, 0x3F54, 0x4878, 0x4722, }; static const unsigned short utf8_to_euc_E5B1[] = { 0x3649, 0x557B, 0, 0, 0, 0x356F, 0x557C, 0, 0x367E, 0, 0x464F, 0x3230, 0, 0x3B53, 0x557D, 0x5622, 0x5621, 0x367D, 0, 0x557E, 0, 0x4538, 0, 0, 0, 0xBA77, 0xBA78, 0, 0xBA79, 0, 0x4230, 0, 0x454B, 0x3C48, 0xBA7A, 0xBA7B, 0x4158, 0x4D7A, 0, 0xBA7C, 0xBA7D, 0xBA7E, 0, 0, 0x5624, 0xBB21, 0x5625, 0x4656, 0xBB22, 0x3B33, 0, 0, 0xBB23, 0xBB24, 0x5627, 0, 0, 0x5628, 0xBB25, 0xBB26, 0xBB27, 0xBB28, 0, 0, }; static const unsigned short utf8_to_euc_E5B1_x0213[] = { 0x3649, 0x557B, 0, 0, 0, 0x356F, 0x557C, 0, 0x367E, 0, 0x464F, 0x3230, 0, 0x3B53, 0x557D, 0x5622, 0x5621, 0x367D, 0, 0x557E, 0, 0x4538, 0, 0, 0, 0xBA77, 0xBA78, 0x7E7B, 0xBA79, 0, 0x4230, 0xA831, 0x454B, 0x3C48, 0x4F60, 0xA832, 0x4158, 0x4D7A, 0, 0xA833, 0xA834, 0xA835, 0, 0, 0x5624, 0xBB21, 0x5625, 0x4656, 0xA836, 0x3B33, 0, 0, 0xBB23, 0xBB24, 0x5627, 0, 0, 0x5628, 0x4F64, 0xBB26, 0xA839, 0xBB28, 0, 0, }; static const unsigned short utf8_to_euc_E5B2[] = { 0, 0, 0, 0, 0, 0, 0, 0xBB29, 0xBB2A, 0, 0xBB2B, 0, 0x5629, 0, 0, 0xBB2C, 0x3474, 0x562A, 0xBB2D, 0, 0x562B, 0, 0, 0, 0, 0, 0, 0, 0, 0xBB2E, 0, 0xBB2F, 0xBB30, 0x322C, 0xBB31, 0xBB32, 0, 0, 0xBB33, 0, 0x413B, 0x3464, 0xBB34, 0x562D, 0x4C28, 0, 0, 0, 0, 0x4252, 0xBB35, 0x3359, 0xBB36, 0xBB37, 0x562F, 0x5631, 0x345F, 0, 0xBB38, 0x562E, 0x5630, 0, 0x5633, 0, }; static const unsigned short utf8_to_euc_E5B2_x0213[] = { 0, 0, 0, 0, 0, 0, 0, 0xBB29, 0xA83C, 0, 0xA83D, 0, 0x5629, 0, 0, 0x4F65, 0x3474, 0x562A, 0xBB2D, 0, 0x562B, 0, 0, 0, 0, 0, 0, 0, 0, 0xBB2E, 0, 0x4F66, 0xA841, 0x322C, 0xA842, 0x4F67, 0, 0, 0xA843, 0xA844, 0x413B, 0x3464, 0x4F68, 0x562D, 0x4C28, 0xA846, 0, 0, 0, 0x4252, 0xBB35, 0x3359, 0xBB36, 0xA847, 0x562F, 0x5631, 0x345F, 0, 0x4F69, 0x562E, 0x5630, 0, 0x5633, 0, }; static const unsigned short utf8_to_euc_E5B3[] = { 0, 0, 0, 0, 0, 0x5632, 0, 0x5634, 0, 0xBB39, 0, 0xBB3A, 0, 0, 0, 0, 0, 0, 0xBB3B, 0, 0, 0, 0, 0xBB3D, 0, 0x5635, 0, 0, 0, 0xBB3C, 0, 0, 0x463D, 0x362E, 0, 0, 0, 0, 0, 0, 0x3265, 0x5636, 0x563B, 0, 0, 0x5639, 0xBB3E, 0x4A77, 0x4A76, 0xBB3F, 0xBB40, 0, 0xBB41, 0xF43B, 0x4567, 0, 0, 0, 0x5638, 0x3D54, 0, 0x5637, 0, 0, }; static const unsigned short utf8_to_euc_E5B3_x0213[] = { 0, 0, 0, 0, 0, 0x5632, 0, 0x5634, 0, 0xA849, 0, 0x4F6A, 0, 0, 0, 0, 0x4F6B, 0, 0x4F6C, 0, 0, 0, 0, 0xBB3D, 0, 0x5635, 0, 0, 0, 0xBB3C, 0, 0, 0x463D, 0x362E, 0, 0, 0, 0, 0, 0, 0x3265, 0x5636, 0x563B, 0, 0, 0x5639, 0xBB3E, 0x4A77, 0x4A76, 0xBB3F, 0xBB40, 0, 0x4F6D, 0, 0x4567, 0, 0, 0, 0x5638, 0x3D54, 0, 0x5637, 0, 0, }; static const unsigned short utf8_to_euc_E5B4[] = { 0, 0xBB42, 0, 0, 0, 0, 0xBB43, 0x3F72, 0, 0, 0, 0x563C, 0, 0xBB44, 0x3A6A, 0, 0, 0x5642, 0xBB45, 0, 0x5643, 0x563D, 0x3333, 0x563E, 0x5647, 0x5646, 0x5645, 0x5641, 0, 0, 0, 0x5640, 0, 0, 0x5644, 0xBB47, 0xBB48, 0, 0xBB49, 0xBB4A, 0, 0x4A78, 0, 0xBB46, 0, 0, 0, 0, 0, 0xBB4B, 0, 0, 0xBB4C, 0, 0, 0, 0, 0xBB4D, 0, 0, 0, 0xBB4E, 0, 0xBB4F, }; static const unsigned short utf8_to_euc_E5B4_x0213[] = { 0, 0xBB42, 0, 0, 0, 0, 0xA84C, 0x3F72, 0, 0, 0, 0x563C, 0, 0x4F70, 0x3A6A, 0, 0xA84D, 0x5642, 0xBB45, 0, 0x5643, 0x563D, 0x3333, 0x563E, 0x5647, 0x5646, 0x5645, 0x5641, 0, 0xA84F, 0, 0x5640, 0xA850, 0, 0x5644, 0xBB47, 0xA851, 0, 0xA852, 0x4F71, 0, 0x4A78, 0, 0xA84E, 0, 0, 0, 0, 0, 0xA853, 0, 0, 0xBB4C, 0, 0, 0, 0, 0xA854, 0, 0, 0, 0xBB4E, 0, 0xBB4F, }; static const unsigned short utf8_to_euc_E5B5[] = { 0, 0, 0xBB50, 0xBB51, 0, 0, 0xBB52, 0, 0xBB53, 0, 0xBB57, 0x564B, 0x5648, 0, 0x564A, 0, 0x4D72, 0xBB55, 0x5649, 0xF43C, 0, 0xBB54, 0, 0, 0, 0xBB56, 0, 0, 0x563F, 0, 0, 0xBB58, 0xBB59, 0xBB5A, 0xBB5B, 0, 0xBB5C, 0, 0, 0, 0, 0x3F73, 0xBB5D, 0, 0x564C, 0xBB5E, 0, 0x3A37, 0xBB5F, 0, 0, 0x564D, 0, 0, 0x564E, 0, 0, 0xBB60, 0xBB61, 0, 0, 0, 0xBB62, 0xBB63, }; static const unsigned short utf8_to_euc_E5B5_x0213[] = { 0, 0, 0xA855, 0xBB51, 0, 0, 0x4F73, 0x4F74, 0xBB53, 0, 0x4F76, 0x564B, 0x5648, 0, 0x564A, 0, 0x4D72, 0xBB55, 0x5649, 0x4F75, 0, 0xBB54, 0, 0, 0, 0xBB56, 0, 0, 0x563F, 0, 0, 0xBB58, 0xBB59, 0xA857, 0xBB5B, 0, 0xBB5C, 0, 0, 0, 0, 0x3F73, 0xA858, 0, 0x564C, 0x4F77, 0, 0x3A37, 0xA85A, 0, 0, 0x564D, 0, 0, 0x564E, 0, 0, 0xBB60, 0xBB61, 0, 0, 0, 0xBB62, 0xBB63, }; static const unsigned short utf8_to_euc_E5B6[] = { 0, 0xBB64, 0x5651, 0xBB65, 0x5650, 0, 0, 0x564F, 0xBB66, 0, 0xBB67, 0x4568, 0x563A, 0, 0, 0, 0x5657, 0, 0xBB68, 0xBB69, 0xBB6A, 0xBB6B, 0, 0, 0, 0xBB6C, 0, 0xBB6D, 0, 0x5653, 0, 0xBB6E, 0xBB6F, 0, 0x5652, 0, 0, 0, 0, 0xBB70, 0, 0, 0, 0xBB71, 0x5654, 0, 0x5655, 0, 0xBB72, 0, 0xE674, 0, 0xBB73, 0, 0, 0x5658, 0xBB74, 0xBB75, 0x4E66, 0, 0x5659, 0x5656, 0, 0, }; static const unsigned short utf8_to_euc_E5B6_x0213[] = { 0, 0x4F78, 0x5651, 0xBB65, 0x5650, 0, 0, 0x564F, 0xA85D, 0, 0xBB67, 0x4568, 0x563A, 0, 0, 0, 0x5657, 0, 0xA85F, 0xBB69, 0xA860, 0xBB6B, 0, 0xA861, 0, 0xA862, 0, 0xBB6D, 0, 0x5653, 0, 0xBB6E, 0x4F79, 0, 0x5652, 0, 0x4F7A, 0, 0, 0x4F7B, 0, 0, 0, 0xBB71, 0x5654, 0, 0x5655, 0, 0xA863, 0, 0xA864, 0, 0xA865, 0, 0, 0x5658, 0x4F7C, 0xA867, 0x4E66, 0, 0x5659, 0x5656, 0, 0, }; static const unsigned short utf8_to_euc_E5B7[] = { 0, 0, 0, 0xBB76, 0, 0, 0, 0xBB77, 0, 0x565A, 0, 0xBB78, 0x3460, 0x565B, 0xBB7A, 0, 0xBB79, 0, 0x565D, 0x565C, 0, 0, 0x565E, 0, 0xBB7B, 0xBB7C, 0, 0x565F, 0, 0x406E, 0x3D23, 0, 0xBB7D, 0x3D64, 0, 0x4163, 0xBB7E, 0x3929, 0x3A38, 0x392A, 0x3570, 0xBC21, 0, 0x5660, 0, 0, 0x3A39, 0, 0, 0x384A, 0x5661, 0x4C26, 0x4743, 0x5662, 0, 0x392B, 0xBC22, 0xBC23, 0, 0x342C, 0, 0x4327, 0x3652, 0, }; static const unsigned short utf8_to_euc_E5B7_x0213[] = { 0, 0, 0, 0xBB76, 0, 0, 0, 0xBB77, 0, 0x565A, 0, 0x4F7D, 0x3460, 0x565B, 0xBB7A, 0, 0, 0xA868, 0x565D, 0x565C, 0, 0, 0x565E, 0xA869, 0xA86A, 0xBB7C, 0, 0x565F, 0, 0x406E, 0x3D23, 0, 0xA86B, 0x3D64, 0x7428, 0x4163, 0xA86D, 0x3929, 0x3A38, 0x392A, 0x3570, 0xA86E, 0, 0x5660, 0, 0, 0x3A39, 0, 0, 0x384A, 0x5661, 0x4C26, 0x4743, 0x5662, 0, 0x392B, 0xBC22, 0xBC23, 0, 0x342C, 0, 0x4327, 0x3652, 0, }; static const unsigned short utf8_to_euc_E5B8[] = { 0xBC24, 0, 0x3B54, 0x495B, 0, 0, 0x4841, 0xBC25, 0, 0, 0, 0x5663, 0x3475, 0xBC26, 0, 0, 0, 0x5666, 0xBC27, 0, 0xBC28, 0xBC29, 0x4421, 0, 0xBC2A, 0x5665, 0x5664, 0x5667, 0, 0x446B, 0, 0xBC2B, 0xBC2C, 0, 0, 0, 0, 0x3F63, 0, 0, 0xBC2E, 0, 0, 0x3B55, 0, 0x404A, 0xBC2D, 0x4253, 0x3522, 0, 0xBC2F, 0x4422, 0, 0xBC30, 0x5668, 0x5669, 0x3E6F, 0, 0, 0, 0, 0x4B39, 0xBC31, 0, }; static const unsigned short utf8_to_euc_E5B8_x0213[] = { 0xA870, 0, 0x3B54, 0x495B, 0, 0, 0x4841, 0xBC25, 0, 0, 0, 0x5663, 0x3475, 0xBC26, 0, 0, 0, 0x5666, 0xA872, 0, 0x7429, 0xA873, 0x4421, 0, 0x742A, 0x5665, 0x5664, 0x5667, 0, 0x446B, 0, 0xA875, 0xBC2C, 0, 0, 0, 0, 0x3F63, 0, 0, 0xBC2E, 0, 0, 0x3B55, 0, 0x404A, 0xA876, 0x4253, 0x3522, 0, 0xBC2F, 0x4422, 0, 0xBC30, 0x5668, 0x5669, 0x3E6F, 0, 0, 0, 0, 0x4B39, 0xA877, 0, }; static const unsigned short utf8_to_euc_E5B9[] = { 0x566C, 0, 0, 0x566B, 0x566A, 0x497D, 0, 0x5673, 0, 0xBC34, 0, 0xBC32, 0x4B5A, 0, 0x566D, 0, 0xBC33, 0xBC35, 0, 0, 0x566F, 0x4B6B, 0xBC36, 0x566E, 0xBC37, 0, 0, 0xBC38, 0xBC39, 0, 0xBC3A, 0x5670, 0, 0x4828, 0x5671, 0x4A3E, 0x5672, 0, 0, 0, 0xBC3B, 0, 0xBC3C, 0xBC3D, 0xBC3E, 0xBC3F, 0xBC40, 0, 0xBC41, 0, 0x3433, 0x4A3F, 0x472F, 0x5674, 0x5675, 0, 0x392C, 0x3434, 0x5676, 0x3838, 0x4D44, 0x4D29, 0x3476, 0x5678, }; static const unsigned short utf8_to_euc_E5B9_x0213[] = { 0x566C, 0, 0, 0x566B, 0x566A, 0x497D, 0, 0x5673, 0, 0xA878, 0, 0xBC32, 0x4B5A, 0, 0x566D, 0, 0xBC33, 0xBC35, 0, 0, 0x566F, 0x4B6B, 0xA87A, 0x566E, 0x742B, 0, 0, 0xBC38, 0xBC39, 0, 0x742C, 0x5670, 0, 0x4828, 0x5671, 0x4A3E, 0x5672, 0, 0, 0, 0xBC3B, 0, 0xBC3C, 0xA87C, 0xA87D, 0xA87E, 0xAC21, 0, 0xBC41, 0, 0x3433, 0x4A3F, 0x472F, 0x5674, 0x5675, 0x7E7C, 0x392C, 0x3434, 0x5676, 0x3838, 0x4D44, 0x4D29, 0x3476, 0x5678, }; static const unsigned short utf8_to_euc_E5BA[] = { 0xBC42, 0x4423, 0, 0x392D, 0x3E31, 0, 0, 0x485F, 0, 0, 0x3E32, 0xBC43, 0, 0, 0xBC44, 0x3D78, 0, 0, 0, 0, 0, 0x446C, 0x4A79, 0x4539, 0, 0, 0x392E, 0, 0x495C, 0, 0, 0, 0x5679, 0, 0xBC45, 0, 0xBC46, 0xBC47, 0x4559, 0x3A42, 0xBC48, 0, 0xBC49, 0x384B, 0xBC4A, 0x446D, 0, 0, 0, 0xBC4B, 0, 0xBC4C, 0, 0x3043, 0x3D6E, 0x392F, 0x4D47, 0, 0, 0, 0, 0xBC4D, 0xBC4E, 0xBC4F, }; static const unsigned short utf8_to_euc_E5BA_x0213[] = { 0xBC42, 0x4423, 0, 0x392D, 0x3E31, 0, 0, 0x485F, 0, 0, 0x3E32, 0xBC43, 0, 0, 0xBC44, 0x3D78, 0, 0, 0, 0, 0, 0x446C, 0x4A79, 0x4539, 0, 0, 0x392E, 0, 0x495C, 0, 0, 0, 0x5679, 0, 0xBC45, 0, 0xBC46, 0xAC23, 0x4559, 0x3A42, 0xBC48, 0, 0xAC24, 0x384B, 0xAC25, 0x446D, 0, 0, 0, 0xBC4B, 0, 0xBC4C, 0, 0x3043, 0x3D6E, 0x392F, 0x4D47, 0xAC26, 0, 0, 0, 0xBC4D, 0x742D, 0xAC27, }; static const unsigned short utf8_to_euc_E5BB[] = { 0, 0x567A, 0x567B, 0x4751, 0, 0, 0xBC50, 0, 0x567C, 0x4E77, 0x4F2D, 0xBC52, 0xBC51, 0, 0xBC53, 0x567E, 0x567D, 0xBC54, 0xBC55, 0x3347, 0xBC56, 0xBC57, 0x5721, 0, 0, 0, 0x5724, 0x5725, 0xBC58, 0x5723, 0xBC59, 0x4940, 0x3E33, 0x5727, 0x5726, 0x5722, 0, 0xBC5A, 0, 0, 0x5728, 0x5729, 0, 0xBC5B, 0x572A, 0, 0, 0, 0x572D, 0x572B, 0, 0x572C, 0x572E, 0, 0x3164, 0x446E, 0x572F, 0, 0x377A, 0x3276, 0x4736, 0, 0x5730, 0x467B, }; static const unsigned short utf8_to_euc_E5BB_x0213[] = { 0, 0x567A, 0x567B, 0x4751, 0, 0, 0xAC28, 0, 0x567C, 0x4E77, 0x4F2D, 0x742F, 0xBC51, 0, 0xBC53, 0x567E, 0x567D, 0xBC54, 0xAC29, 0x3347, 0xBC56, 0xBC57, 0x5721, 0, 0, 0xAC2A, 0x5724, 0x5725, 0xBC58, 0x5723, 0xBC59, 0x4940, 0x3E33, 0x5727, 0x5726, 0x5722, 0, 0xBC5A, 0, 0, 0x5728, 0x5729, 0, 0xBC5B, 0x572A, 0, 0, 0, 0x572D, 0x572B, 0, 0x572C, 0x572E, 0, 0x3164, 0x446E, 0x572F, 0x7430, 0x377A, 0x3276, 0x4736, 0xAC2C, 0x5730, 0x467B, }; static const unsigned short utf8_to_euc_E5BC[] = { 0, 0x4A5B, 0xBC5C, 0x5731, 0x4F2E, 0, 0xBC5D, 0xBC5E, 0xBC5F, 0x5732, 0x4A40, 0x5735, 0x5021, 0x5031, 0xBC60, 0x3C30, 0x4675, 0x5736, 0, 0x355D, 0x4424, 0x307A, 0x5737, 0x4A26, 0x3930, 0xBC61, 0, 0x4350, 0xBC62, 0xBC63, 0, 0x446F, 0, 0xBC64, 0xBC65, 0xBC66, 0xBC67, 0x4C6F, 0x3839, 0x384C, 0xBC68, 0x5738, 0, 0xBC69, 0xBC6A, 0x5739, 0xBC6B, 0x573F, 0xBC6C, 0x3C65, 0, 0, 0xBC6D, 0x4425, 0xBC6E, 0x362F, 0x573A, 0, 0, 0xBC6F, 0x492B, 0xBC70, 0x4346, 0xBC71, }; static const unsigned short utf8_to_euc_E5BC_x0213[] = { 0x7431, 0x4A5B, 0x7432, 0x5731, 0x4F2E, 0, 0xBC5D, 0x7433, 0xAC2D, 0x5732, 0x4A40, 0x5735, 0x5021, 0x5031, 0xAC2E, 0x3C30, 0x4675, 0x5736, 0, 0x355D, 0x4424, 0x307A, 0x5737, 0x4A26, 0x3930, 0xBC61, 0, 0x4350, 0xAC2F, 0x7434, 0xAC31, 0x446F, 0, 0, 0xBC65, 0x7435, 0xBC67, 0x4C6F, 0x3839, 0x384C, 0xBC68, 0x5738, 0, 0xBC69, 0xBC6A, 0x5739, 0xBC6B, 0x573F, 0xBC6C, 0x3C65, 0, 0, 0x7436, 0x4425, 0x7437, 0x362F, 0x573A, 0, 0, 0xBC6F, 0x492B, 0x7438, 0x4346, 0xBC71, }; static const unsigned short utf8_to_euc_E5BD[] = { 0xBC72, 0x573B, 0, 0, 0xBC73, 0xBC74, 0, 0xBC75, 0x573C, 0, 0x3630, 0, 0x573D, 0xBC76, 0x573E, 0, 0xBC77, 0x5740, 0, 0x4576, 0xBC78, 0, 0x5741, 0x5742, 0xBC79, 0x5743, 0, 0xBC7A, 0x5734, 0x5733, 0, 0, 0xBC7B, 0x5744, 0x3741, 0xBC7C, 0xBC7D, 0, 0x4927, 0xBC7E, 0, 0x3A4C, 0x4937, 0x4426, 0x494B, 0x5745, 0, 0xBD21, 0x3E34, 0x3146, 0xBD22, 0x5746, 0xBD23, 0xBD24, 0, 0x5747, 0xBD25, 0x4C72, 0xBD26, 0, 0x4860, 0xBD27, 0xBD28, 0x574A, }; static const unsigned short utf8_to_euc_E5BD_x0213[] = { 0x7439, 0x573B, 0, 0, 0xBC73, 0x743A, 0, 0xAC32, 0x573C, 0, 0x3630, 0, 0x573D, 0xBC76, 0x573E, 0, 0xBC77, 0x5740, 0, 0x4576, 0x743B, 0, 0x5741, 0x5742, 0x743C, 0x5743, 0, 0xBC7A, 0x5734, 0x5733, 0, 0, 0xBC7B, 0x5744, 0x3741, 0xAC33, 0x743D, 0, 0x4927, 0x743E, 0, 0x3A4C, 0x4937, 0x4426, 0x494B, 0x5745, 0, 0xBD21, 0x3E34, 0x3146, 0xAC34, 0x5746, 0xBD23, 0xBD24, 0, 0x5747, 0xBD25, 0x4C72, 0xBD26, 0, 0x4860, 0x743F, 0xAC35, 0x574A, }; static const unsigned short utf8_to_euc_E5BE[] = { 0x317D, 0x402C, 0x5749, 0x5748, 0x3742, 0x4254, 0, 0x574E, 0x574C, 0xBD29, 0x574B, 0x4E27, 0x3865, 0xBD2A, 0, 0xBD2B, 0x3D79, 0x574D, 0x454C, 0x3D3E, 0, 0, 0xBD2C, 0x4640, 0x5751, 0x5750, 0, 0, 0xBD2D, 0xBD2E, 0x574F, 0, 0x5752, 0x3866, 0xBD2F, 0, 0xBD32, 0, 0, 0xBD30, 0x5753, 0x497C, 0x3D5B, 0xBD31, 0xBD33, 0x5754, 0x4879, 0xBD34, 0xBD35, 0xBD36, 0, 0x4641, 0x4427, 0, 0, 0xF43E, 0xBD37, 0x4530, 0, 0, 0x5755, 0x352B, 0, 0, }; static const unsigned short utf8_to_euc_E5BE_x0213[] = { 0x317D, 0x402C, 0x5749, 0x5748, 0x3742, 0x4254, 0, 0x574E, 0x574C, 0x7440, 0x574B, 0x4E27, 0x3865, 0xBD2A, 0, 0xAC36, 0x3D79, 0x574D, 0x454C, 0x3D3E, 0, 0, 0xBD2C, 0x4640, 0x5751, 0x5750, 0, 0, 0x7441, 0xBD2E, 0x574F, 0, 0x5752, 0x3866, 0xAC37, 0, 0xAC38, 0, 0, 0x7442, 0x5753, 0x497C, 0x3D5B, 0xBD31, 0xBD33, 0x5754, 0x4879, 0x7443, 0xBD35, 0xBD36, 0, 0x4641, 0x4427, 0x7444, 0, 0x7445, 0xAC39, 0x4530, 0, 0, 0x5755, 0x352B, 0, 0, }; static const unsigned short utf8_to_euc_E5BF[] = { 0, 0, 0, 0x3F34, 0xBD38, 0x492C, 0, 0xBD39, 0xBD3A, 0xBD3B, 0, 0xBD3C, 0x3477, 0x4726, 0, 0, 0xBD3D, 0xBD3E, 0xBD3F, 0xBD40, 0xBD41, 0, 0x5756, 0x3B56, 0x4B3A, 0x4B3B, 0, 0, 0x317E, 0x575B, 0xBD42, 0, 0x4369, 0xBD43, 0xBD44, 0, 0x5758, 0, 0, 0, 0xBD45, 0xBD46, 0xBD47, 0x3277, 0xBD48, 0xBD49, 0xBD4A, 0xBD4B, 0x582D, 0x575A, 0xBD4C, 0xBD4D, 0, 0x4730, 0xBD4E, 0, 0x5759, 0, 0xBD4F, 0x5757, 0xBD50, 0x397A, 0, 0x575D, }; static const unsigned short utf8_to_euc_E5BF_x0213[] = { 0, 0, 0, 0x3F34, 0xAC3A, 0x492C, 0, 0xAC3C, 0xBD3A, 0x7446, 0, 0xAC3D, 0x3477, 0x4726, 0, 0, 0xBD3D, 0xBD3E, 0xAC3E, 0xAC3F, 0xAC40, 0, 0x5756, 0x3B56, 0x4B3A, 0x4B3B, 0, 0, 0x317E, 0x575B, 0x7447, 0, 0x4369, 0x7448, 0xAC41, 0, 0x5758, 0, 0, 0, 0xBD45, 0x7449, 0xBD47, 0x3277, 0xBD48, 0xBD49, 0xAC42, 0xAC43, 0x582D, 0x575A, 0xBD4C, 0xAC44, 0, 0x4730, 0xBD4E, 0, 0x5759, 0, 0xBD4F, 0x5757, 0xAC45, 0x397A, 0, 0x575D, }; static const unsigned short utf8_to_euc_E680[] = { 0, 0, 0, 0, 0, 0, 0, 0xBD51, 0, 0, 0xBD52, 0, 0, 0xBD53, 0x5763, 0x5769, 0x5761, 0, 0x455C, 0xBD54, 0xBD55, 0x5766, 0x495D, 0xBD56, 0xBD57, 0x5760, 0xBD58, 0x5765, 0x4E67, 0x3B57, 0, 0xBD59, 0x4255, 0x575E, 0, 0, 0xBD5A, 0x355E, 0x5768, 0x402D, 0x3165, 0x5762, 0x3278, 0x5767, 0, 0xBD5B, 0, 0x3631, 0, 0x5764, 0, 0xBD5C, 0, 0xBD5D, 0, 0, 0, 0, 0x576A, 0, 0, 0, 0, 0, }; static const unsigned short utf8_to_euc_E680_x0213[] = { 0, 0, 0, 0, 0, 0, 0, 0xBD51, 0, 0, 0xBD52, 0, 0, 0x744A, 0x5763, 0x5769, 0x5761, 0, 0x455C, 0xBD54, 0x744B, 0x5766, 0x495D, 0xAC47, 0x744C, 0x5760, 0xBD58, 0x5765, 0x4E67, 0x3B57, 0, 0xBD59, 0x4255, 0x575E, 0xAC48, 0, 0xAC49, 0x355E, 0x5768, 0x402D, 0x3165, 0x5762, 0x3278, 0x5767, 0, 0xBD5B, 0, 0x3631, 0, 0x5764, 0, 0x744D, 0, 0x744E, 0, 0, 0, 0, 0x576A, 0, 0, 0, 0, 0, }; static const unsigned short utf8_to_euc_E681[] = { 0xBD5E, 0x576C, 0x5776, 0x5774, 0, 0, 0x5771, 0xBD5F, 0xBD60, 0xBD61, 0x5770, 0x4E78, 0xBD62, 0x5772, 0, 0, 0x3632, 0xBD63, 0x3931, 0, 0xBD64, 0x3D7A, 0xBD65, 0xBD66, 0, 0x5779, 0x576B, 0, 0, 0xBD67, 0, 0x576F, 0x575F, 0xBD68, 0x327A, 0x5773, 0x5775, 0x4351, 0, 0xBD69, 0x3A28, 0x3238, 0x576D, 0x5778, 0x5777, 0x3633, 0, 0x4229, 0x3366, 0xBD6A, 0, 0, 0, 0x3743, 0, 0x576E, 0, 0, 0, 0, 0, 0, 0xBD6B, 0xBD6C, }; static const unsigned short utf8_to_euc_E681_x0213[] = { 0xBD5E, 0x576C, 0x5776, 0x5774, 0, 0, 0x5771, 0x744F, 0xBD60, 0xBD61, 0x5770, 0x4E78, 0xAC4B, 0x5772, 0, 0, 0x3632, 0xBD63, 0x3931, 0, 0xBD64, 0x3D7A, 0xBD65, 0xBD66, 0, 0x5779, 0x576B, 0, 0, 0, 0, 0x576F, 0x575F, 0xBD68, 0x327A, 0x5773, 0x5775, 0x4351, 0, 0xBD69, 0x3A28, 0x3238, 0x576D, 0x5778, 0x5777, 0x3633, 0, 0x4229, 0x3366, 0xBD6A, 0, 0, 0, 0x3743, 0, 0x576E, 0, 0, 0, 0, 0, 0, 0xBD6B, 0xAC4C, }; static const unsigned short utf8_to_euc_E682[] = { 0, 0x577A, 0xBD6D, 0x577D, 0x5821, 0xF43F, 0xBD6E, 0, 0xBD6F, 0x3C3D, 0xBD70, 0x5827, 0x4470, 0x577B, 0xBD71, 0, 0, 0xBD72, 0x5825, 0xBD73, 0x3279, 0xBD74, 0x5823, 0x5824, 0xBD75, 0, 0x577E, 0x5822, 0, 0xBD76, 0xBD77, 0x3867, 0x4D2A, 0, 0xBD78, 0x3435, 0xBD79, 0xBD7A, 0x3159, 0x5826, 0xBD7B, 0x473A, 0x302D, 0, 0, 0, 0, 0, 0xBD7C, 0xBD7D, 0x4861, 0x575C, 0x582C, 0x5830, 0x4C65, 0xBD7E, 0x5829, 0, 0, 0xBE21, 0x4569, 0x582E, 0xBE22, 0, }; static const unsigned short utf8_to_euc_E682_x0213[] = { 0, 0x577A, 0xBD6D, 0x577D, 0x5821, 0, 0xBD6E, 0, 0xBD6F, 0x3C3D, 0xAC4D, 0x5827, 0x4470, 0x577B, 0xBD71, 0, 0, 0xBD72, 0x5825, 0xBD73, 0x3279, 0xAC4E, 0x5823, 0x5824, 0xBD75, 0, 0x577E, 0x5822, 0, 0x7451, 0x7452, 0x3867, 0x4D2A, 0, 0xBD78, 0x3435, 0xBD79, 0xBD7A, 0x3159, 0x5826, 0xAC4F, 0x473A, 0x302D, 0, 0, 0, 0, 0, 0xAC51, 0xAC52, 0x4861, 0x575C, 0x582C, 0x5830, 0x4C65, 0xBD7E, 0x5829, 0, 0, 0xBE21, 0x4569, 0x582E, 0xAC53, 0, }; static const unsigned short utf8_to_euc_E683[] = { 0, 0, 0xBE23, 0, 0xBE24, 0x3E70, 0x582F, 0x4657, 0xBE25, 0xBE26, 0xBE27, 0xBE28, 0, 0, 0xBE29, 0xBE2A, 0, 0x4F47, 0, 0x582B, 0xBE2B, 0xBE2C, 0, 0, 0x5831, 0xBE2D, 0x397B, 0xBE2E, 0x404B, 0xBE2F, 0xBE30, 0x3054, 0x582A, 0x5828, 0xBE31, 0x415A, 0, 0xBE32, 0, 0x577C, 0x3B34, 0, 0, 0, 0, 0, 0, 0, 0x4246, 0x583D, 0xBE33, 0x415B, 0x5838, 0xBE34, 0x5835, 0x5836, 0xBE35, 0x3C66, 0x5839, 0x583C, 0xBE36, 0xBE37, 0, 0, }; static const unsigned short utf8_to_euc_E683_x0213[] = { 0, 0, 0xBE23, 0, 0xBE24, 0x3E70, 0x582F, 0x4657, 0xAC54, 0xBE26, 0xBE27, 0x7453, 0, 0, 0xBE29, 0xBE2A, 0, 0x4F47, 0, 0x582B, 0x7454, 0x7455, 0, 0, 0x5831, 0xAC55, 0x397B, 0xAC56, 0x404B, 0x7456, 0, 0x3054, 0x582A, 0x5828, 0xBE31, 0x415A, 0, 0xBE32, 0, 0x577C, 0x3B34, 0, 0, 0, 0, 0, 0xAC57, 0, 0x4246, 0x583D, 0xAC58, 0x415B, 0x5838, 0xAC59, 0x5835, 0x5836, 0x7457, 0x3C66, 0x5839, 0x583C, 0xBE36, 0xBE37, 0, 0, }; static const unsigned short utf8_to_euc_E684[] = { 0x5837, 0x3D25, 0xBE38, 0x583A, 0, 0, 0x5834, 0xBE39, 0x4C7C, 0x4C7B, 0xBE3A, 0, 0xBE3B, 0x583E, 0x583F, 0x3055, 0xBE3C, 0xBE3D, 0xBE3E, 0xBE3F, 0xBE40, 0x5833, 0xBE41, 0xBE42, 0, 0xBE43, 0x3672, 0x3026, 0xBE44, 0, 0xBE45, 0x3436, 0xF440, 0x583B, 0xBE46, 0, 0, 0, 0, 0x5843, 0x5842, 0, 0xBE47, 0xBE48, 0x5847, 0, 0, 0, 0xBE49, 0xBE4A, 0, 0, 0x5848, 0xBE4B, 0xBE4C, 0xBE4D, 0, 0xBE4E, 0, 0, 0x5846, 0x5849, 0x5841, 0x5845, }; static const unsigned short utf8_to_euc_E684_x0213[] = { 0x5837, 0x3D25, 0xBE38, 0x583A, 0, 0, 0x5834, 0xBE39, 0x4C7C, 0x4C7B, 0xBE3A, 0, 0xBE3B, 0x583E, 0x583F, 0x3055, 0xAC5A, 0, 0xAC5B, 0xAC5C, 0xBE40, 0x5833, 0xBE41, 0xBE42, 0, 0xAC5D, 0x3672, 0x3026, 0x7458, 0, 0xAC5E, 0x3436, 0, 0x583B, 0xBE46, 0, 0, 0, 0, 0x5843, 0x5842, 0, 0xBE47, 0x7459, 0x5847, 0, 0, 0, 0x745A, 0xBE4A, 0, 0, 0x5848, 0xBE4B, 0xBE4C, 0x745B, 0, 0xBE4E, 0xAC5F, 0, 0x5846, 0x5849, 0x5841, 0x5845, }; static const unsigned short utf8_to_euc_E685[] = { 0, 0xBE4F, 0x584A, 0, 0x584B, 0xBE50, 0xBE51, 0x5840, 0x3B7C, 0xBE52, 0x5844, 0x4256, 0x3932, 0x5832, 0x3F35, 0, 0, 0, 0, 0x5858, 0, 0x4A69, 0, 0, 0x584E, 0x584F, 0x5850, 0, 0, 0x5857, 0xBE53, 0x5856, 0xBE54, 0, 0x4B7D, 0x3437, 0, 0x5854, 0, 0x3745, 0x3334, 0, 0, 0x5851, 0xBE55, 0, 0x4E38, 0x5853, 0x3056, 0x5855, 0xBE56, 0x584C, 0x5852, 0x5859, 0x3744, 0x584D, 0xBE57, 0, 0, 0xBE58, 0xBE59, 0, 0x4D5D, 0xBE5A, }; static const unsigned short utf8_to_euc_E685_x0213[] = { 0, 0xAC61, 0x584A, 0, 0x584B, 0xBE50, 0xAC62, 0x5840, 0x3B7C, 0xBE52, 0x5844, 0x4256, 0x3932, 0x5832, 0x3F35, 0, 0, 0, 0, 0x5858, 0, 0x4A69, 0, 0, 0x584E, 0x584F, 0x5850, 0, 0, 0x5857, 0xBE53, 0x5856, 0xAC63, 0, 0x4B7D, 0x3437, 0, 0x5854, 0, 0x3745, 0x3334, 0, 0, 0x5851, 0xBE55, 0, 0x4E38, 0x5853, 0x3056, 0x5855, 0xBE56, 0x584C, 0x5852, 0x5859, 0x3744, 0x584D, 0xBE57, 0, 0, 0xBE58, 0xAC64, 0, 0x4D5D, 0xBE5A, }; static const unsigned short utf8_to_euc_E686[] = { 0xBE5B, 0xBE5C, 0x4D2B, 0xBE5D, 0xBE5E, 0, 0, 0x585C, 0, 0, 0x5860, 0xBE5F, 0, 0xBE60, 0x417E, 0, 0x4E79, 0x5861, 0xBE61, 0xBE62, 0x585E, 0, 0x585B, 0xBE63, 0xBE64, 0x585A, 0x585F, 0, 0xBE65, 0xBE66, 0, 0xBE67, 0xBE68, 0, 0, 0, 0x4A30, 0xBE69, 0, 0x4634, 0xBE6A, 0x3746, 0xBE6B, 0x5862, 0x585D, 0xBE6C, 0x5863, 0, 0, 0, 0x377B, 0, 0, 0, 0x3231, 0, 0xBE6D, 0xBE6E, 0x586B, 0, 0xBE6F, 0, 0x3438, 0, }; static const unsigned short utf8_to_euc_E686_x0213[] = { 0xBE5B, 0xBE5C, 0x4D2B, 0xBE5D, 0xBE5E, 0, 0, 0x585C, 0, 0, 0x5860, 0xBE5F, 0, 0x745D, 0x417E, 0, 0x4E79, 0x5861, 0xAC66, 0xAC67, 0x585E, 0, 0x585B, 0xAC68, 0xAC69, 0x585A, 0x585F, 0, 0xBE65, 0xBE66, 0, 0xBE67, 0xBE68, 0, 0, 0, 0x4A30, 0xAC6A, 0, 0x4634, 0xAC6B, 0x3746, 0xBE6B, 0x5862, 0x585D, 0xAC6C, 0x5863, 0, 0, 0, 0x377B, 0, 0, 0, 0x3231, 0, 0xBE6D, 0x7460, 0x586B, 0, 0x745F, 0, 0x3438, 0, }; static const unsigned short utf8_to_euc_E687[] = { 0xBE70, 0xBE71, 0xBE72, 0x5869, 0, 0, 0x586A, 0x3A29, 0x5868, 0x5866, 0x5865, 0x586C, 0x5864, 0x586E, 0xBE73, 0xBE74, 0x327B, 0, 0, 0, 0, 0xBE75, 0, 0, 0, 0, 0, 0, 0xBE76, 0xBE77, 0xBE78, 0xBE79, 0, 0xBE7A, 0xBE7B, 0x5870, 0, 0xBE7E, 0x586F, 0xBE7C, 0, 0xBE7D, 0, 0, 0xBF21, 0xBF22, 0, 0xBF23, 0, 0, 0x4428, 0, 0x5873, 0, 0x5871, 0x5867, 0x377C, 0, 0x5872, 0, 0x5876, 0x5875, 0x5877, 0x5874, }; static const unsigned short utf8_to_euc_E687_x0213[] = { 0xBE70, 0xBE71, 0xBE72, 0x5869, 0, 0, 0x586A, 0x3A29, 0x5868, 0x5866, 0x5865, 0x586C, 0x5864, 0x586E, 0xBE73, 0xBE74, 0x327B, 0, 0, 0, 0, 0xAC6E, 0, 0, 0, 0, 0, 0, 0xBE76, 0xAC6F, 0xBE78, 0xAC70, 0, 0xBE7A, 0xBE7B, 0x5870, 0, 0xBE7E, 0x586F, 0xBE7C, 0, 0xBE7D, 0, 0, 0xBF21, 0xBF22, 0, 0xBF23, 0, 0, 0x4428, 0, 0x5873, 0xAC71, 0x5871, 0x5867, 0x377C, 0, 0x5872, 0, 0x5876, 0x5875, 0x5877, 0x5874, }; static const unsigned short utf8_to_euc_E688[] = { 0x5878, 0xBF24, 0, 0xBF25, 0xBF26, 0, 0, 0xBF27, 0x5879, 0x587A, 0x4A6A, 0, 0x587C, 0x587B, 0x3D3F, 0, 0x402E, 0x3266, 0x327C, 0xBF28, 0x587D, 0xBF29, 0x303F, 0, 0, 0, 0x404C, 0x587E, 0xBF2A, 0x6C43, 0x5921, 0x3761, 0xBF2B, 0x5922, 0xBF2C, 0xBF2D, 0, 0, 0x406F, 0xBF2E, 0, 0xBF2F, 0x5923, 0xBF30, 0, 0, 0x5924, 0x353A, 0x5925, 0, 0x5926, 0x5927, 0x4257, 0, 0, 0, 0x384D, 0xBF31, 0, 0x4C61, 0, 0xBF32, 0, 0x4B3C, }; static const unsigned short utf8_to_euc_E688_x0213[] = { 0x5878, 0xBF24, 0, 0xBF25, 0xBF26, 0, 0, 0xBF27, 0x5879, 0x587A, 0x4A6A, 0, 0x587C, 0x587B, 0x3D3F, 0, 0x402E, 0x3266, 0x327C, 0, 0x587D, 0xAC73, 0x303F, 0, 0, 0, 0x404C, 0x587E, 0xBF2A, 0x6C43, 0x5921, 0x3761, 0xBF2B, 0x5922, 0x7462, 0xAC74, 0, 0, 0x406F, 0xBF2E, 0, 0xAC75, 0x5923, 0xBF30, 0, 0, 0x5924, 0x353A, 0x5925, 0, 0x5926, 0x5927, 0x4257, 0, 0, 0, 0x384D, 0xBF31, 0, 0x4C61, 0, 0xBF32, 0x7463, 0x4B3C, }; static const unsigned short utf8_to_euc_E689[] = { 0x3D6A, 0x5928, 0xBF33, 0xBF34, 0xBF35, 0, 0xBF36, 0x4070, 0x6E3D, 0x4862, 0, 0x3C6A, 0xBF37, 0x3A4D, 0x5929, 0, 0xBF38, 0xBF39, 0xBF3A, 0x4247, 0xBF3B, 0x4A27, 0xBF3C, 0, 0x4271, 0, 0xBF3D, 0x592C, 0xBF3E, 0, 0x592A, 0, 0x592D, 0, 0, 0x592B, 0xBF3F, 0, 0, 0, 0x592E, 0, 0, 0, 0, 0xBF40, 0x4A31, 0xBF41, 0, 0x3037, 0, 0xBF42, 0, 0, 0x495E, 0, 0, 0x4863, 0xBF43, 0, 0x592F, 0xBF44, 0x5932, 0x3E35, }; static const unsigned short utf8_to_euc_E689_x0213[] = { 0x3D6A, 0x5928, 0xBF33, 0x7464, 0xBF35, 0, 0xAC76, 0x4070, 0x6E3D, 0x4862, 0, 0x3C6A, 0xAC77, 0x3A4D, 0x5929, 0, 0xBF38, 0xAC78, 0xAC79, 0x4247, 0xBF3B, 0x4A27, 0x7465, 0, 0x4271, 0, 0x7466, 0x592C, 0xBF3E, 0, 0x592A, 0, 0x592D, 0xAC7A, 0, 0x592B, 0xAC7B, 0, 0, 0, 0x592E, 0, 0, 0, 0, 0xAC7D, 0x4A31, 0x7467, 0, 0x3037, 0, 0xAC7E, 0, 0, 0x495E, 0, 0, 0x4863, 0xBF43, 0xAC7C, 0x592F, 0xBF44, 0x5932, 0x3E35, }; static const unsigned short utf8_to_euc_E68A[] = { 0x353B, 0, 0x5930, 0x5937, 0x3E36, 0, 0, 0, 0, 0x5931, 0x4744, 0, 0, 0xBF45, 0xBF46, 0xBF47, 0xBF48, 0x4D5E, 0x5933, 0x5934, 0x5938, 0x456A, 0x5935, 0x3933, 0x405E, 0, 0, 0x5946, 0x4834, 0, 0x4272, 0, 0, 0, 0, 0, 0, 0, 0xBF49, 0, 0xBF4A, 0, 0, 0x4864, 0x5A2D, 0, 0, 0, 0, 0x4A7A, 0, 0xBF4B, 0, 0x4471, 0xBF4C, 0xBF4D, 0, 0x4B75, 0xBF4E, 0x593B, 0x3221, 0x436A, 0xBF4F, 0xBF50, }; static const unsigned short utf8_to_euc_E68A_x0213[] = { 0x353B, 0, 0x5930, 0x5937, 0x3E36, 0x7468, 0, 0, 0, 0x5931, 0x4744, 0, 0, 0xBF45, 0xBF46, 0xBF47, 0xBF48, 0x4D5E, 0x5933, 0x5934, 0x5938, 0x456A, 0x5935, 0x3933, 0x405E, 0xAD21, 0, 0x5946, 0x4834, 0, 0x4272, 0, 0, 0, 0, 0, 0, 0, 0xAD22, 0, 0xBF4A, 0, 0, 0x4864, 0x5A2D, 0, 0, 0, 0, 0x4A7A, 0, 0xBF4B, 0, 0x4471, 0xBF4C, 0xBF4D, 0, 0x4B75, 0xBF4E, 0x593B, 0x3221, 0x436A, 0xBF4F, 0xBF50, }; static const unsigned short utf8_to_euc_E68B[] = { 0, 0, 0x5944, 0, 0xBF51, 0x4334, 0x593E, 0x5945, 0x5940, 0x5947, 0x5943, 0, 0x5942, 0x476F, 0xBF52, 0x593C, 0x327D, 0x593A, 0x3571, 0x4273, 0x5936, 0xBF53, 0xBF54, 0x5939, 0x3934, 0x405B, 0xBF55, 0x3E37, 0x5941, 0x4752, 0, 0, 0x3572, 0x3348, 0, 0, 0, 0, 0, 0, 0, 0, 0xBF56, 0, 0x3367, 0x3F21, 0x5949, 0x594E, 0, 0x594A, 0xBF57, 0x377D, 0xBF58, 0x594F, 0x3B22, 0x3969, 0, 0, 0, 0, 0xBF59, 0xBF5A, 0x3D26, 0x593D, }; static const unsigned short utf8_to_euc_E68B_x0213[] = { 0, 0, 0x5944, 0, 0x7469, 0x4334, 0x593E, 0x5945, 0x5940, 0x5947, 0x5943, 0, 0x5942, 0x476F, 0xBF52, 0x593C, 0x327D, 0x593A, 0x3571, 0x4273, 0x5936, 0xAD23, 0x746A, 0x5939, 0x3934, 0x405B, 0xBF55, 0x3E37, 0x5941, 0x4752, 0, 0, 0x3572, 0x3348, 0, 0, 0, 0, 0, 0, 0, 0, 0xBF56, 0, 0x3367, 0x3F21, 0x5949, 0x594E, 0, 0x594A, 0xBF57, 0x377D, 0xBF58, 0x594F, 0x3B22, 0x3969, 0, 0, 0, 0, 0x746B, 0xAD25, 0x3D26, 0x593D, }; static const unsigned short utf8_to_euc_E68C[] = { 0, 0x3B7D, 0x594C, 0xBF5B, 0xBF5C, 0, 0, 0x3B58, 0x594D, 0x3044, 0xBF5D, 0xBF5E, 0x5948, 0xBF5F, 0, 0, 0xBF60, 0x4429, 0, 0xBF61, 0, 0, 0xBF62, 0, 0xBF63, 0x3573, 0, 0, 0, 0, 0, 0x3634, 0, 0, 0, 0, 0, 0, 0, 0x594B, 0x3027, 0xBF64, 0xBF65, 0x3A43, 0, 0xBF66, 0, 0x3F36, 0, 0, 0, 0, 0, 0xBF67, 0xBF68, 0, 0, 0xBF69, 0x4472, 0, 0xBF6A, 0x4854, 0x5951, 0x415E, }; static const unsigned short utf8_to_euc_E68C_x0213[] = { 0, 0x3B7D, 0x594C, 0xAD26, 0xBF5C, 0, 0, 0x3B58, 0x594D, 0x3044, 0x746C, 0xBF5E, 0x5948, 0xAD27, 0, 0, 0xAD28, 0x4429, 0, 0xBF61, 0, 0, 0xBF62, 0, 0x746D, 0x3573, 0, 0, 0, 0, 0, 0x3634, 0, 0, 0, 0, 0, 0, 0, 0x594B, 0x3027, 0xBF64, 0xBF65, 0x3A43, 0, 0xBF66, 0, 0x3F36, 0, 0, 0xAD2B, 0, 0, 0xAD2C, 0xBF68, 0, 0, 0x746E, 0x4472, 0xAD2D, 0xAD2E, 0x4854, 0x5951, 0x415E, }; static const unsigned short utf8_to_euc_E68D[] = { 0, 0xBF6B, 0xBF6C, 0xBF6D, 0xBF6E, 0, 0xBF6F, 0, 0, 0x422A, 0xBF70, 0xBF71, 0x3B2B, 0x5952, 0xBF72, 0x5954, 0x5950, 0, 0xBF73, 0xBF74, 0xBF75, 0x4A61, 0, 0x443D, 0xBF76, 0, 0, 0xBF77, 0x415C, 0, 0, 0, 0, 0, 0, 0, 0, 0xBF78, 0xBF79, 0x4A7B, 0x3C4E, 0x5960, 0, 0x595F, 0xBF7A, 0xBF7B, 0x3F78, 0, 0, 0xBF7C, 0x377E, 0, 0xBF7D, 0xBF7E, 0x5959, 0x3E39, 0xC021, 0, 0x4668, 0x4731, 0xC022, 0xC023, 0, 0xC024, }; static const unsigned short utf8_to_euc_E68D_x0213[] = { 0, 0xAD2F, 0xBF6C, 0x746F, 0xAD30, 0, 0xBF6F, 0, 0, 0x422A, 0xBF70, 0xBF71, 0x3B2B, 0x5952, 0xAD31, 0x5954, 0x5950, 0, 0xBF73, 0xBF74, 0xBF75, 0x4A61, 0, 0x443D, 0xBF76, 0xAD33, 0, 0xBF77, 0x415C, 0, 0, 0, 0, 0, 0, 0, 0, 0x7470, 0xBF79, 0x4A7B, 0x3C4E, 0x5960, 0, 0x595F, 0xAD36, 0xBF7B, 0x3F78, 0, 0, 0xBF7C, 0x377E, 0, 0xBF7D, 0xBF7E, 0x5959, 0x3E39, 0xC021, 0, 0x4668, 0x4731, 0x7471, 0xC023, 0, 0xC024, }; static const unsigned short utf8_to_euc_E68E[] = { 0x5957, 0, 0xC025, 0x415D, 0xC026, 0, 0, 0xC027, 0x3C78, 0x595C, 0xC028, 0, 0x3E38, 0, 0x5956, 0x595B, 0xC029, 0, 0x4753, 0, 0xC02A, 0xC02B, 0x5955, 0, 0x3721, 0xC02C, 0xC02D, 0x335D, 0, 0, 0xC02E, 0x595D, 0x4E2B, 0x3A4E, 0x4335, 0x595A, 0xC02F, 0x405C, 0xC030, 0x3935, 0x3F64, 0x3166, 0x413C, 0x5958, 0x3545, 0xC031, 0xC032, 0xC033, 0, 0, 0x3747, 0, 0x444F, 0x595E, 0, 0, 0, 0, 0, 0x415F, 0, 0xC034, 0x5961, 0, }; static const unsigned short utf8_to_euc_E68E_x0213[] = { 0x5957, 0, 0xC025, 0x415D, 0xAD37, 0, 0, 0xC027, 0x3C78, 0x595C, 0xC028, 0, 0x3E38, 0, 0x5956, 0x595B, 0xC029, 0, 0x4753, 0, 0xAD3A, 0xC02B, 0x5955, 0, 0x3721, 0xAD38, 0xC02D, 0x335D, 0, 0, 0xC02E, 0x595D, 0x4E2B, 0x3A4E, 0x4335, 0x595A, 0xC02F, 0x405C, 0xC030, 0x3935, 0x3F64, 0x3166, 0x413C, 0x5958, 0x3545, 0xC031, 0xC032, 0xC033, 0, 0, 0x3747, 0, 0x444F, 0x595E, 0, 0, 0, 0, 0, 0x415F, 0, 0xAD3B, 0x5961, 0, }; static const unsigned short utf8_to_euc_E68F[] = { 0x5963, 0xC035, 0, 0x4237, 0x5969, 0xC036, 0x5964, 0, 0xC037, 0x5966, 0, 0, 0, 0, 0xC038, 0x4941, 0x4473, 0xC039, 0x5967, 0xC03A, 0xC03B, 0xC03C, 0x4D2C, 0, 0, 0, 0x4D48, 0x3439, 0xC03D, 0, 0, 0, 0xC03E, 0x302E, 0, 0x5965, 0, 0xC03F, 0, 0, 0, 0x5962, 0xC040, 0, 0xC041, 0, 0x3478, 0, 0, 0, 0xC042, 0xC043, 0x3167, 0xC044, 0x5968, 0, 0xC045, 0xC046, 0x4D49, 0, 0, 0, 0, 0, }; static const unsigned short utf8_to_euc_E68F_x0213[] = { 0x5963, 0xC035, 0, 0x4237, 0x5969, 0xC036, 0x5964, 0, 0xC037, 0x5966, 0, 0, 0, 0, 0xC038, 0x4941, 0x4473, 0xC039, 0x5967, 0xC03A, 0xAD3D, 0xAD3E, 0x4D2C, 0, 0, 0, 0x4D48, 0x3439, 0xAD3F, 0, 0, 0, 0xAD40, 0x302E, 0, 0x5965, 0, 0x7472, 0, 0, 0, 0x5962, 0xC040, 0xAD41, 0xAD42, 0x7473, 0x3478, 0, 0, 0, 0xAD43, 0xC043, 0x3167, 0x7474, 0x5968, 0xAD3C, 0xC045, 0xC046, 0x4D49, 0, 0, 0, 0, 0, }; static const unsigned short utf8_to_euc_E690[] = { 0, 0, 0, 0, 0, 0, 0x596C, 0, 0, 0xC047, 0xC048, 0, 0, 0x423B, 0, 0x5973, 0xC049, 0, 0xC04A, 0x596D, 0xC04B, 0, 0x596A, 0x5971, 0xC04C, 0, 0, 0, 0x5953, 0, 0xC04D, 0, 0xC04E, 0, 0xC04F, 0, 0xC050, 0xC051, 0x596E, 0, 0x5972, 0xC052, 0xC053, 0, 0x4842, 0x456B, 0, 0xC054, 0xC055, 0, 0, 0, 0x596B, 0xC056, 0x596F, 0, 0, 0, 0x3748, 0, 0, 0xC057, 0x3A71, 0xC058, }; static const unsigned short utf8_to_euc_E690_x0213[] = { 0, 0, 0, 0, 0, 0, 0x596C, 0, 0, 0xAD44, 0xC048, 0, 0, 0x423B, 0, 0x5973, 0x7475, 0, 0xC04A, 0x596D, 0x7476, 0, 0x596A, 0x5971, 0xC04C, 0, 0, 0, 0x5953, 0, 0xAD45, 0, 0xC04E, 0, 0x7477, 0, 0xC050, 0xAD46, 0x596E, 0, 0x5972, 0xAD47, 0xC053, 0, 0x4842, 0x456B, 0, 0xAD48, 0xC055, 0, 0, 0, 0x596B, 0xC056, 0x596F, 0, 0, 0, 0x3748, 0, 0, 0xC057, 0x3A71, 0xC058, }; static const unsigned short utf8_to_euc_E691[] = { 0, 0, 0x405D, 0, 0, 0, 0, 0, 0, 0, 0, 0xC059, 0, 0, 0x5977, 0xC05A, 0, 0xC05B, 0xC05C, 0xC05D, 0xC05E, 0, 0, 0, 0x4526, 0, 0xC05F, 0xC060, 0xC061, 0xC062, 0, 0xC063, 0xC064, 0xC065, 0, 0xC066, 0, 0, 0, 0x5974, 0, 0x4B60, 0, 0, 0, 0xC067, 0, 0x5975, 0, 0, 0, 0xC068, 0xC069, 0, 0x5976, 0, 0x4C4E, 0, 0x4022, 0xC06A, 0, 0xC06B, 0, 0, }; static const unsigned short utf8_to_euc_E691_x0213[] = { 0, 0, 0x405D, 0, 0, 0, 0, 0, 0, 0, 0, 0xC059, 0, 0, 0x5977, 0xC05A, 0, 0x7479, 0xC05C, 0xC05D, 0xC05E, 0, 0, 0, 0x4526, 0, 0xAD49, 0xAD4A, 0xC061, 0xAD4B, 0, 0xC063, 0x747A, 0xC065, 0, 0xC066, 0, 0, 0, 0x5974, 0, 0x4B60, 0, 0, 0, 0x747B, 0, 0x5975, 0, 0, 0, 0xAD4C, 0xC069, 0, 0x5976, 0, 0x4C4E, 0x7478, 0x4022, 0xC06A, 0, 0xAD4D, 0, 0, }; static const unsigned short utf8_to_euc_E692[] = { 0, 0, 0, 0x3762, 0, 0xC06C, 0, 0xC06D, 0x597D, 0, 0, 0, 0, 0, 0, 0xC06E, 0xC06F, 0xC070, 0x3B35, 0x597A, 0, 0x5979, 0, 0, 0xC071, 0xC072, 0x4732, 0xC073, 0, 0xC074, 0x4635, 0xC075, 0, 0xC076, 0, 0xC077, 0x4531, 0x597B, 0xC078, 0, 0xC079, 0x597C, 0, 0x496F, 0xC07A, 0x4745, 0x3B23, 0, 0x4071, 0, 0x4B50, 0xC07B, 0, 0, 0, 0, 0, 0x3349, 0, 0x5A25, 0x597E, 0xC07C, 0xC07D, 0xC07E, }; static const unsigned short utf8_to_euc_E692_x0213[] = { 0, 0, 0, 0x3762, 0, 0xC06C, 0, 0xAD4E, 0x597D, 0, 0, 0, 0, 0, 0, 0xC06E, 0xC06F, 0xAD4F, 0x3B35, 0x597A, 0, 0x5979, 0, 0, 0xC071, 0xC072, 0x4732, 0xC073, 0, 0xAD50, 0x4635, 0xAD51, 0, 0xC076, 0, 0xC077, 0x4531, 0x597B, 0xC078, 0, 0xC079, 0x597C, 0, 0x496F, 0xC07A, 0x4745, 0x3B23, 0, 0x4071, 0, 0x4B50, 0xC07B, 0, 0, 0, 0, 0, 0x3349, 0, 0x5A25, 0x597E, 0xC07C, 0x747D, 0x747E, }; static const unsigned short utf8_to_euc_E693[] = { 0, 0x4D4A, 0x5A27, 0, 0xC121, 0x5A23, 0, 0x5A24, 0, 0xC122, 0xC123, 0xC124, 0xC125, 0x4160, 0xC126, 0, 0xC127, 0xC128, 0x5A22, 0, 0x593F, 0xC129, 0, 0xC12A, 0x5A26, 0, 0x5A21, 0, 0, 0, 0, 0, 0x5A2B, 0x5A2C, 0x4527, 0x5A2E, 0xC12B, 0xC12C, 0x3B24, 0x5A29, 0, 0xC12D, 0xC12E, 0, 0x353C, 0xC12F, 0, 0x5A2F, 0xC130, 0x5A28, 0x5A33, 0, 0x5A32, 0xC131, 0x5A31, 0xC132, 0, 0, 0x5A34, 0xC133, 0, 0x5A36, 0x3E71, 0xC134, }; static const unsigned short utf8_to_euc_E693_x0213[] = { 0, 0x4D4A, 0x5A27, 0, 0x7521, 0x5A23, 0, 0x5A24, 0, 0xC122, 0x7522, 0xAD52, 0xAD53, 0x4160, 0x747C, 0, 0x7523, 0xC128, 0x5A22, 0, 0x593F, 0xAD54, 0, 0xAD55, 0x5A26, 0, 0x5A21, 0, 0, 0, 0, 0, 0x5A2B, 0x5A2C, 0x4527, 0x5A2E, 0xAD57, 0xAD58, 0x3B24, 0x5A29, 0, 0xC12D, 0xC12E, 0, 0x353C, 0xC12F, 0, 0x5A2F, 0xC130, 0x5A28, 0x5A33, 0, 0x5A32, 0xC131, 0x5A31, 0x7524, 0, 0, 0x5A34, 0x7525, 0, 0x5A36, 0x3E71, 0xAD59, }; static const unsigned short utf8_to_euc_E694[] = { 0x5A35, 0xC135, 0, 0, 0xC136, 0x5A39, 0, 0, 0xC137, 0xC138, 0xC139, 0, 0, 0, 0, 0xC13A, 0, 0, 0, 0xC13B, 0xC13C, 0, 0xC13D, 0, 0x5A37, 0xC13E, 0, 0xC13F, 0x5A38, 0x5970, 0xC140, 0xC141, 0, 0, 0xC142, 0x5A3B, 0x5A3A, 0, 0xC143, 0, 0, 0xC144, 0x5978, 0x5A3C, 0x5A30, 0, 0xC145, 0x3B59, 0, 0xC146, 0, 0, 0x5A3D, 0x5A3E, 0x5A40, 0x5A3F, 0x5A41, 0x327E, 0xC147, 0x3936, 0xC148, 0xC149, 0x4A7C, 0x402F, }; static const unsigned short utf8_to_euc_E694_x0213[] = { 0x5A35, 0xC135, 0, 0, 0xAD5A, 0x5A39, 0, 0, 0xC137, 0xC138, 0xC139, 0, 0, 0, 0, 0xAD5C, 0, 0, 0, 0xC13B, 0xAD5D, 0, 0xAD5E, 0, 0x5A37, 0xC13E, 0, 0xC13F, 0x5A38, 0x5970, 0xAD60, 0xC141, 0, 0, 0x7526, 0x5A3B, 0x5A3A, 0, 0xC143, 0, 0, 0x7527, 0x5978, 0x5A3C, 0x5A30, 0, 0xC145, 0x3B59, 0, 0xC146, 0xAD61, 0, 0x5A3D, 0x5A3E, 0x5A40, 0x5A3F, 0x5A41, 0x327E, 0xC147, 0x3936, 0xC148, 0xC149, 0x4A7C, 0x402F, }; static const unsigned short utf8_to_euc_E695[] = { 0, 0, 0, 0xC14A, 0, 0x384E, 0, 0xC14B, 0x5A43, 0xC14C, 0, 0, 0, 0x5A46, 0xF441, 0x4952, 0xC14D, 0x355F, 0xC14E, 0, 0xC14F, 0x5A45, 0x5A44, 0x4754, 0x5A47, 0x3635, 0, 0, 0, 0x5A49, 0x5A48, 0xC150, 0xC151, 0, 0x343A, 0x3B36, 0, 0, 0x4658, 0xC152, 0, 0, 0, 0xC153, 0x3749, 0, 0, 0, 0x3F74, 0, 0x5A4A, 0, 0x4030, 0x4528, 0, 0x495F, 0x5A4B, 0, 0xC154, 0, 0, 0xC155, 0, 0, }; static const unsigned short utf8_to_euc_E695_x0213[] = { 0, 0, 0, 0xC14A, 0xAD62, 0x384E, 0, 0xC14B, 0x5A43, 0xC14C, 0, 0, 0, 0x5A46, 0, 0x4952, 0xC14D, 0x355F, 0xC14E, 0, 0xAD63, 0x5A45, 0x5A44, 0x4754, 0x5A47, 0x3635, 0, 0, 0, 0x5A49, 0x5A48, 0xC150, 0xC151, 0, 0x343A, 0x3B36, 0, 0, 0x4658, 0x7529, 0, 0, 0, 0xAD64, 0x3749, 0, 0, 0, 0x3F74, 0, 0x5A4A, 0, 0x4030, 0x4528, 0, 0x495F, 0x5A4B, 0, 0xAD65, 0, 0, 0xC155, 0, 0, }; static const unsigned short utf8_to_euc_E696[] = { 0, 0xC156, 0x5A4C, 0x5A4D, 0, 0xC157, 0, 0x4A38, 0x555D, 0x4046, 0xC158, 0, 0x494C, 0, 0x3A58, 0, 0x4865, 0x4843, 0xC159, 0, 0, 0xC15A, 0, 0x454D, 0xC15B, 0x4E41, 0, 0x5A4F, 0x3C50, 0xC15C, 0, 0x5A50, 0xC15D, 0x3036, 0, 0xC15E, 0x3654, 0x404D, 0xC15F, 0x4960, 0, 0, 0, 0x5A51, 0x3B42, 0x4347, 0xC160, 0x3B5B, 0x3F37, 0, 0xC161, 0xC162, 0xC163, 0, 0, 0x5A52, 0, 0x4A7D, 0, 0, 0x3177, 0x3B5C, 0, 0xC164, }; static const unsigned short utf8_to_euc_E696_x0213[] = { 0, 0xAD66, 0x5A4C, 0x5A4D, 0xAD67, 0xAD68, 0, 0x4A38, 0x555D, 0x4046, 0xAD69, 0, 0x494C, 0, 0x3A58, 0, 0x4865, 0x4843, 0xC159, 0, 0, 0xC15A, 0, 0x454D, 0xC15B, 0x4E41, 0, 0x5A4F, 0x3C50, 0x752A, 0, 0x5A50, 0xC15D, 0x3036, 0, 0xC15E, 0x3654, 0x404D, 0xC15F, 0x4960, 0, 0, 0, 0x5A51, 0x3B42, 0x4347, 0xC160, 0x3B5B, 0x3F37, 0, 0xAD6A, 0xC162, 0xC163, 0xAD6B, 0, 0x5A52, 0xAD6C, 0x4A7D, 0, 0, 0x3177, 0x3B5C, 0, 0xAD6D, }; static const unsigned short utf8_to_euc_E697[] = { 0, 0x5A55, 0xC165, 0x5A53, 0x5A56, 0x4E39, 0x5A54, 0, 0xC166, 0xC167, 0, 0x407B, 0x5A57, 0, 0xC168, 0x4232, 0xC169, 0, 0x5A58, 0, 0xC16A, 0, 0xC16B, 0x347A, 0xC16C, 0x5A5A, 0, 0x5A59, 0, 0, 0, 0xC16D, 0x5A5B, 0x5A5C, 0x347B, 0, 0, 0x467C, 0x4336, 0x356C, 0x3B5D, 0x4161, 0, 0, 0x3D5C, 0x3030, 0, 0, 0xC16E, 0x5A5D, 0xC16F, 0, 0xC170, 0xC171, 0, 0, 0, 0xC172, 0x3222, 0x5A61, 0, 0, 0xC173, 0xC174, }; static const unsigned short utf8_to_euc_E697_x0213[] = { 0, 0x5A55, 0xAD6E, 0x5A53, 0x5A56, 0x4E39, 0x5A54, 0, 0xC166, 0xAD6F, 0, 0x407B, 0x5A57, 0, 0xC168, 0x4232, 0xC169, 0, 0x5A58, 0, 0xAD70, 0, 0xC16B, 0x347A, 0xC16C, 0x5A5A, 0, 0x5A59, 0, 0, 0, 0xC16D, 0x5A5B, 0x5A5C, 0x347B, 0, 0, 0x467C, 0x4336, 0x356C, 0x3B5D, 0x4161, 0, 0, 0x3D5C, 0x3030, 0, 0, 0xC16E, 0x5A5D, 0xAD72, 0, 0xC170, 0xC171, 0, 0, 0, 0xAD73, 0x3222, 0x5A61, 0xAD74, 0, 0xC173, 0xC174, }; static const unsigned short utf8_to_euc_E698[] = { 0xC175, 0, 0x3937, 0x5A60, 0xC176, 0, 0x3A2B, 0x3E3A, 0xC177, 0xC178, 0x5A5F, 0, 0x3E3B, 0xC179, 0x4C40, 0x3A2A, 0, 0xC17A, 0xC17B, 0x3057, 0x404E, 0xC17C, 0xC17D, 0, 0, 0, 0, 0, 0x5A66, 0xC17E, 0xC221, 0x4031, 0x3147, 0xC222, 0xC223, 0xC224, 0xC225, 0x3D55, 0xC226, 0x4B66, 0x3A72, 0xC227, 0xC228, 0xC229, 0xC22A, 0x3E3C, 0xC22B, 0x4027, 0xC22C, 0xC22D, 0, 0xC22E, 0x5A65, 0x5A63, 0x5A64, 0xC230, 0, 0xC22F, 0, 0xF442, 0x436B, 0, 0, 0x5B26, }; static const unsigned short utf8_to_euc_E698_x0213[] = { 0x752C, 0, 0x3937, 0x5A60, 0xAD75, 0, 0x3A2B, 0x3E3A, 0xAD76, 0x752D, 0x5A5F, 0, 0x3E3B, 0xC179, 0x4C40, 0x3A2A, 0, 0xC17A, 0xC17B, 0x3057, 0x404E, 0x752E, 0xC17D, 0, 0, 0, 0, 0, 0x5A66, 0xC17E, 0x752F, 0x4031, 0x3147, 0xAD77, 0x7531, 0xC224, 0x7532, 0x3D55, 0xC226, 0x4B66, 0x3A72, 0xC227, 0xAD78, 0x7533, 0xC22A, 0x3E3C, 0, 0x4027, 0x7534, 0x7535, 0, 0x7536, 0x5A65, 0x5A63, 0x5A64, 0xC230, 0, 0xC22F, 0x7530, 0, 0x436B, 0, 0, 0x5B26, }; static const unsigned short utf8_to_euc_E699[] = { 0xC231, 0x5A6A, 0x3B7E, 0x3938, 0x5A68, 0xC232, 0xC233, 0, 0, 0x5A69, 0xC234, 0x3F38, 0xC235, 0, 0xC237, 0x5A67, 0, 0xC236, 0x3B2F, 0, 0, 0, 0, 0xC238, 0xC239, 0xC23A, 0, 0xC23B, 0xC23C, 0x5A6C, 0x5A6B, 0x5A70, 0xC23D, 0xC23E, 0x5A71, 0, 0x5A6D, 0xF443, 0x3322, 0x5A6E, 0x5A6F, 0x4855, 0xC240, 0xC241, 0xC242, 0, 0x4961, 0x374A, 0x5A72, 0, 0, 0xC244, 0x4032, 0xC245, 0x3E3D, 0xC247, 0xC248, 0xC249, 0x4352, 0xC24A, 0xC24C, 0, 0xC243, 0xC246, }; static const unsigned short utf8_to_euc_E699_x0213[] = { 0xC231, 0x5A6A, 0x3B7E, 0x3938, 0x5A68, 0xAD79, 0xC233, 0, 0x7538, 0x5A69, 0xC234, 0x3F38, 0x7539, 0, 0xAD7B, 0x5A67, 0, 0xAD7A, 0x3B2F, 0, 0, 0, 0, 0xAD7E, 0xC239, 0x753B, 0x753C, 0xAE21, 0xC23C, 0x5A6C, 0x5A6B, 0x5A70, 0xC23D, 0x753D, 0x5A71, 0xAE22, 0x5A6D, 0x753E, 0x3322, 0x5A6E, 0x5A6F, 0x4855, 0xAE25, 0xAE26, 0xAE27, 0xAE28, 0x4961, 0x374A, 0x5A72, 0, 0, 0x753F, 0x4032, 0xC245, 0x3E3D, 0x7540, 0x7541, 0xC249, 0x4352, 0xAE29, 0xC24C, 0, 0xC243, 0xC246, }; static const unsigned short utf8_to_euc_E69A[] = { 0xC24B, 0x3647, 0, 0x5A73, 0x5A77, 0, 0, 0x324B, 0x5A74, 0x5A76, 0, 0xC24D, 0xC24E, 0xC24F, 0x5A75, 0, 0xC250, 0x3D6B, 0xC251, 0, 0, 0, 0x4348, 0x3045, 0x5A78, 0xC252, 0xC253, 0xC254, 0xC255, 0x5A79, 0, 0xC256, 0xC257, 0, 0x442A, 0, 0xC258, 0, 0x4E71, 0, 0, 0, 0, 0x3B43, 0, 0xC259, 0x4A6B, 0, 0, 0xC25A, 0xC25B, 0, 0x4B3D, 0xC25C, 0, 0, 0x5B22, 0x5A7B, 0, 0xC25D, 0x5A7E, 0, 0x5A7D, 0xC25E, }; static const unsigned short utf8_to_euc_E69A_x0213[] = { 0xAE2A, 0x3647, 0, 0x5A73, 0x5A77, 0, 0, 0x324B, 0x5A74, 0x5A76, 0, 0xC24D, 0xC24E, 0x7542, 0x5A75, 0, 0xAE2B, 0x3D6B, 0xAE2C, 0, 0, 0, 0x4348, 0x3045, 0x5A78, 0xAE2D, 0xC253, 0xC254, 0xC255, 0x5A79, 0, 0xC256, 0x7544, 0, 0x442A, 0, 0xC258, 0, 0x4E71, 0, 0, 0, 0, 0x3B43, 0, 0xAE2F, 0x4A6B, 0, 0, 0xAE30, 0x7545, 0, 0x4B3D, 0xAE31, 0, 0, 0x5B22, 0x5A7B, 0, 0x7546, 0x5A7E, 0, 0x5A7D, 0xAE33, }; static const unsigned short utf8_to_euc_E69B[] = { 0xC25F, 0x5A7A, 0xC260, 0xC261, 0x5B21, 0, 0, 0x465E, 0xC262, 0x5A7C, 0, 0, 0xC263, 0, 0xC264, 0xC265, 0, 0, 0, 0, 0xC266, 0, 0x5B23, 0, 0, 0x3D6C, 0x5B24, 0xC267, 0x4D4B, 0x4778, 0, 0xC268, 0x5B25, 0, 0, 0, 0, 0, 0x5B27, 0, 0xC269, 0x5B28, 0, 0xC26A, 0xC26B, 0, 0xC26C, 0, 0x5B29, 0, 0x364A, 0x3148, 0x3939, 0x5B2A, 0, 0x5B2B, 0x3D71, 0x4162, 0xC26D, 0xC23F, 0x5258, 0x413E, 0x413D, 0x4258, }; static const unsigned short utf8_to_euc_E69B_x0213[] = { 0xC25F, 0x5A7A, 0xC260, 0xC261, 0x5B21, 0, 0x7547, 0x465E, 0x7548, 0x5A7C, 0, 0, 0xC263, 0, 0xC264, 0xC265, 0, 0, 0, 0, 0xC266, 0, 0x5B23, 0, 0, 0x3D6C, 0x5B24, 0x754A, 0x4D4B, 0x4778, 0, 0xC268, 0x5B25, 0, 0, 0, 0, 0, 0x5B27, 0, 0x754B, 0x5B28, 0, 0xC26A, 0xAE35, 0, 0xC26C, 0, 0x5B29, 0, 0x364A, 0x3148, 0x3939, 0x5B2A, 0, 0x5B2B, 0x3D71, 0x4162, 0x754C, 0x7537, 0x5258, 0x413E, 0x413D, 0x4258, }; static const unsigned short utf8_to_euc_E69C[] = { 0x3A47, 0, 0, 0x5072, 0, 0xC26E, 0, 0xC26F, 0x376E, 0x4D2D, 0, 0x4A7E, 0, 0x497E, 0xC270, 0x5B2C, 0, 0, 0, 0xC271, 0x3A73, 0x443F, 0x5B2D, 0x4F2F, 0, 0xC272, 0, 0x4B3E, 0xC273, 0x442B, 0x5B2E, 0x347C, 0xC274, 0, 0xC275, 0, 0, 0, 0x5B2F, 0x5B30, 0x4C5A, 0, 0x4C24, 0x4B76, 0x4B5C, 0x3B25, 0x5B32, 0, 0, 0x3C6B, 0, 0xC276, 0x4B51, 0, 0x5B34, 0x5B37, 0x5B36, 0, 0x3479, 0, 0, 0x3560, 0xC277, 0x5B33, }; static const unsigned short utf8_to_euc_E69C_x0213[] = { 0x3A47, 0xAE37, 0, 0x5072, 0, 0xAE38, 0, 0xC26F, 0x376E, 0x4D2D, 0, 0x4A7E, 0, 0x497E, 0, 0x5B2C, 0, 0, 0xAE39, 0x754D, 0x3A73, 0x443F, 0x5B2D, 0x4F2F, 0, 0xAE3B, 0, 0x4B3E, 0xC273, 0x442B, 0x5B2E, 0x347C, 0xC274, 0, 0xC275, 0, 0, 0, 0x5B2F, 0x5B30, 0x4C5A, 0, 0x4C24, 0x4B76, 0x4B5C, 0x3B25, 0x5B32, 0, 0, 0x3C6B, 0, 0x754F, 0x4B51, 0, 0x5B34, 0x5B37, 0x5B36, 0, 0x3479, 0, 0, 0x3560, 0xC277, 0x5B33, }; static const unsigned short utf8_to_euc_E69D[] = { 0, 0x5B35, 0, 0, 0, 0xC278, 0x5B38, 0xC279, 0xC27A, 0x3F79, 0, 0, 0xC27B, 0, 0x4D7B, 0x3049, 0x3A60, 0x423C, 0, 0x3C5D, 0xC27C, 0xC27D, 0x3E73, 0, 0, 0x5B3B, 0, 0, 0x454E, 0xC27E, 0x5B39, 0x422B, 0x5B3A, 0x3E72, 0x4C5D, 0x5B3C, 0x5B3D, 0x4D68, 0xC321, 0, 0, 0, 0x5B42, 0, 0xC322, 0x393A, 0xC323, 0x4755, 0x5B3F, 0x456C, 0x5A5E, 0x5A62, 0xC324, 0x354F, 0xC325, 0x4747, 0, 0, 0, 0xC326, 0x5B41, 0, 0x3E3E, 0x4844, }; static const unsigned short utf8_to_euc_E69D_x0213[] = { 0, 0x5B35, 0, 0, 0, 0xC278, 0x5B38, 0x7551, 0x7552, 0x3F79, 0, 0, 0xAE3E, 0xAE3F, 0x4D7B, 0x3049, 0x3A60, 0x423C, 0, 0x3C5D, 0xAE40, 0xC27D, 0x3E73, 0, 0, 0x5B3B, 0, 0, 0x454E, 0xAE41, 0x5B39, 0x422B, 0x5B3A, 0x3E72, 0x4C5D, 0x5B3C, 0x5B3D, 0x4D68, 0x7550, 0, 0, 0, 0x5B42, 0, 0xC322, 0x393A, 0xC323, 0x4755, 0x5B3F, 0x456C, 0x5A5E, 0x5A62, 0xAE45, 0x354F, 0xAE46, 0x4747, 0, 0, 0, 0x7553, 0x5B41, 0, 0x3E3E, 0x4844, }; static const unsigned short utf8_to_euc_E69E[] = { 0, 0xC327, 0, 0, 0xC328, 0x5B47, 0, 0x487A, 0, 0x5B3E, 0, 0x5B44, 0x5B43, 0, 0xC329, 0xC32A, 0x404F, 0xC32B, 0, 0xC32C, 0, 0x4B6D, 0xC32D, 0x4E53, 0xC32E, 0xC32F, 0x4B67, 0xC330, 0x324C, 0x3B5E, 0, 0, 0x4F48, 0x5B46, 0x3F75, 0, 0, 0, 0x5B45, 0, 0, 0x5B40, 0, 0, 0, 0, 0, 0x384F, 0xC331, 0xC332, 0xC333, 0x5B4C, 0x5B4A, 0xC334, 0x324D, 0x5B48, 0x5B4E, 0x5B54, 0, 0xC335, 0xC336, 0xC337, 0, 0, }; static const unsigned short utf8_to_euc_E69E_x0213[] = { 0, 0x7554, 0, 0, 0xC328, 0x5B47, 0, 0x487A, 0, 0x5B3E, 0, 0x5B44, 0x5B43, 0, 0xC329, 0xC32A, 0x404F, 0xC32B, 0xAE48, 0x7555, 0, 0x4B6D, 0xC32D, 0x4E53, 0x7556, 0xC32F, 0x4B67, 0x7557, 0x324C, 0x3B5E, 0, 0, 0x4F48, 0x5B46, 0x3F75, 0, 0, 0, 0x5B45, 0, 0, 0x5B40, 0, 0, 0, 0, 0, 0x384F, 0xAE4C, 0xC332, 0xAE4D, 0x5B4C, 0x5B4A, 0xC334, 0x324D, 0x5B48, 0x5B4E, 0x5B54, 0, 0x7558, 0xC336, 0xC337, 0, 0, }; static const unsigned short utf8_to_euc_E69F[] = { 0xC339, 0x4248, 0xC33A, 0xC33B, 0x4A41, 0xC33C, 0x5B56, 0, 0xC33D, 0xC33E, 0x4922, 0, 0, 0, 0x5B55, 0x4770, 0x4B3F, 0x343B, 0xC33F, 0x4077, 0x3D40, 0, 0, 0xC340, 0x4453, 0xC341, 0x4D2E, 0, 0xC342, 0x5B51, 0x5B50, 0, 0, 0xC343, 0x5B52, 0, 0x5B4F, 0, 0xC344, 0x5B57, 0, 0x5B4D, 0, 0, 0x5B4B, 0, 0x5B53, 0x5B49, 0xC345, 0x436C, 0xC346, 0x4C78, 0x3C46, 0x3A74, 0xC347, 0xC348, 0, 0xC338, 0, 0x3A3A, 0, 0, 0x4B6F, 0x3341, }; static const unsigned short utf8_to_euc_E69F_x0213[] = { 0x755A, 0x4248, 0xC33A, 0xAE4E, 0x4A41, 0xC33C, 0x5B56, 0, 0xAE4F, 0xC33E, 0x4922, 0, 0, 0, 0x5B55, 0x4770, 0x4B3F, 0x343B, 0xAE50, 0x4077, 0x3D40, 0, 0, 0x755B, 0x4453, 0xAE51, 0x4D2E, 0xAE52, 0xC342, 0x5B51, 0x5B50, 0, 0, 0xC343, 0x5B52, 0, 0x5B4F, 0, 0xC344, 0x5B57, 0, 0x5B4D, 0, 0, 0x5B4B, 0, 0x5B53, 0x5B49, 0xAE53, 0x436C, 0xC346, 0x4C78, 0x3C46, 0x3A74, 0xC347, 0xAE54, 0, 0x7559, 0, 0x3A3A, 0x755C, 0, 0x4B6F, 0x3341, }; static const unsigned short utf8_to_euc_E6A0[] = { 0, 0xF446, 0x444E, 0x464A, 0x3149, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0x4072, 0xC34A, 0, 0x4034, 0x372A, 0, 0xC34B, 0, 0, 0, 0xC34C, 0x5B59, 0xC34D, 0, 0x393B, 0x337C, 0, 0, 0, 0, 0xC34F, 0xC34E, 0x5B5B, 0x3374, 0x5B61, 0xC350, 0xC351, 0, 0xC352, 0xC353, 0xC354, 0x5B5E, 0xC355, 0x4073, 0, 0, 0, 0x334B, 0x3A2C, 0, 0xC356, 0x334A, 0x3A4F, 0, 0xC357, }; static const unsigned short utf8_to_euc_E6A0_x0213[] = { 0, 0x755D, 0x444E, 0x464A, 0x3149, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0xAE4B, 0, 0, 0x4072, 0xC34A, 0, 0x4034, 0x372A, 0xAE58, 0xC34B, 0, 0, 0, 0x755F, 0x5B59, 0xAE59, 0, 0x393B, 0x337C, 0, 0, 0, 0, 0xC34F, 0xC34E, 0x5B5B, 0x3374, 0x5B61, 0x7560, 0xAE5A, 0, 0xC352, 0xC353, 0x7561, 0x5B5E, 0xAE5C, 0x4073, 0, 0, 0, 0x334B, 0x3A2C, 0, 0xAE5D, 0x334A, 0x3A4F, 0xAE5E, 0xC357, }; static const unsigned short utf8_to_euc_E6A1[] = { 0x5B5C, 0x3765, 0x374B, 0x456D, 0xC358, 0xC359, 0x5B5A, 0, 0x3046, 0, 0xC35A, 0, 0xC35B, 0x5B5D, 0x5B5F, 0, 0x364D, 0x372C, 0xC349, 0x343C, 0x354B, 0xC35C, 0, 0xC35D, 0xC35E, 0x5B62, 0, 0xC35F, 0x3A79, 0x4B71, 0, 0x3B37, 0, 0, 0, 0x5B63, 0, 0, 0, 0x4930, 0, 0, 0, 0xC360, 0, 0, 0xC361, 0xC362, 0xC363, 0xC364, 0xC365, 0, 0x5B6F, 0xC366, 0x3233, 0x5B64, 0, 0xC367, 0xC368, 0xC369, 0xC36A, 0, 0x5B75, 0x5B65, }; static const unsigned short utf8_to_euc_E6A1_x0213[] = { 0x5B5C, 0x3765, 0x374B, 0x456D, 0xAE5F, 0xAE60, 0x5B5A, 0, 0x3046, 0xAE61, 0xC35A, 0, 0xAE62, 0x5B5D, 0x5B5F, 0, 0x364D, 0x372C, 0x755E, 0x343C, 0x354B, 0xAE63, 0, 0xAE64, 0xC35E, 0x5B62, 0, 0x7562, 0x3A79, 0x4B71, 0, 0x3B37, 0, 0, 0, 0x5B63, 0, 0, 0, 0x4930, 0, 0, 0, 0xAE66, 0, 0, 0xAE67, 0xC362, 0xC363, 0xC364, 0x7563, 0, 0x5B6F, 0x7564, 0x3233, 0x5B64, 0, 0xC367, 0xAE68, 0xC369, 0xAE69, 0, 0x5B75, 0x5B65, }; static const unsigned short utf8_to_euc_E6A2[] = { 0, 0x4E42, 0xC36B, 0x5B6C, 0xC36C, 0x475F, 0xC36D, 0, 0xC36E, 0, 0, 0, 0, 0x5B74, 0, 0x5B67, 0, 0, 0, 0x3034, 0x5B69, 0, 0xC36F, 0x393C, 0xC370, 0, 0xC371, 0x5B6B, 0xC372, 0x5B6A, 0, 0x5B66, 0x5B71, 0xC373, 0x3E3F, 0xC374, 0, 0xC375, 0x546D, 0x3868, 0x4D7C, 0xC376, 0xC377, 0, 0, 0x5B68, 0xC378, 0x4474, 0x3323, 0x3A2D, 0xC379, 0x5B60, 0, 0x5B70, 0x3361, 0, 0, 0x5B6E, 0x5B72, 0xC37A, 0x456E, 0, 0, 0, }; static const unsigned short utf8_to_euc_E6A2_x0213[] = { 0, 0x4E42, 0xAE6A, 0x5B6C, 0xC36C, 0x475F, 0xC36D, 0, 0xC36E, 0, 0, 0, 0, 0x5B74, 0, 0x5B67, 0xAE6B, 0, 0, 0x3034, 0x5B69, 0, 0xAE6C, 0x393C, 0xAE6E, 0xAE6F, 0xAE70, 0x5B6B, 0xAE71, 0x5B6A, 0, 0x5B66, 0x5B71, 0xC373, 0x3E3F, 0x7566, 0, 0x7567, 0x546D, 0x3868, 0x4D7C, 0xC376, 0xAE72, 0xAE73, 0, 0x5B68, 0xC378, 0x4474, 0x3323, 0x3A2D, 0x7568, 0x5B60, 0xAE74, 0x5B70, 0x3361, 0, 0, 0x5B6E, 0x5B72, 0xAE75, 0x456E, 0, 0, 0, }; static const unsigned short utf8_to_euc_E6A3[] = { 0, 0, 0, 0, 0x347E, 0xC37B, 0x5C32, 0, 0xC37C, 0x4C49, 0x5B77, 0x347D, 0xC37D, 0x5B7E, 0, 0xC37E, 0xC421, 0xC422, 0x4B40, 0xC423, 0x5C21, 0x5C23, 0xC424, 0x5C27, 0x5B79, 0xC425, 0x432A, 0, 0xC426, 0xC427, 0, 0x456F, 0x5C2B, 0x5B7C, 0, 0x5C28, 0, 0xC428, 0, 0x5C22, 0xC429, 0, 0xC42A, 0xC42B, 0xC42C, 0xC42D, 0x3F39, 0x5C2C, 0xC42E, 0xC42F, 0x4033, 0, 0, 0xC430, 0xC431, 0, 0, 0x5C2A, 0x343D, 0xC432, 0xC433, 0xC434, 0, 0, }; static const unsigned short utf8_to_euc_E6A3_x0213[] = { 0, 0, 0, 0xAE7A, 0x347E, 0xAE7B, 0x5C32, 0, 0x7569, 0x4C49, 0x5B77, 0x347D, 0xAE7C, 0x5B7E, 0, 0xAE7D, 0x756A, 0xC422, 0x4B40, 0xC423, 0x5C21, 0x5C23, 0xAE7E, 0x5C27, 0x5B79, 0xAF21, 0x432A, 0, 0xC426, 0xC427, 0, 0x456F, 0x5C2B, 0x5B7C, 0, 0x5C28, 0xAF22, 0xAF23, 0, 0x5C22, 0x756B, 0, 0xC42A, 0xC42B, 0xAF24, 0x756C, 0x3F39, 0x5C2C, 0x756D, 0x756E, 0x4033, 0, 0, 0xC430, 0xC431, 0xAF25, 0, 0x5C2A, 0x343D, 0xAE76, 0x756F, 0xC434, 0, 0, }; static const unsigned short utf8_to_euc_E6A4[] = { 0x4F50, 0x5B76, 0, 0, 0x5C26, 0x3058, 0xC435, 0, 0x5B78, 0xC436, 0xC437, 0x4C3A, 0x5B7D, 0x3F22, 0x4447, 0x5B73, 0xC438, 0xC439, 0x5C25, 0xC43A, 0, 0, 0xC43B, 0xC43C, 0, 0x3F7A, 0x5C2F, 0x3371, 0x3821, 0, 0, 0, 0, 0x5C31, 0x5B7A, 0x5C30, 0, 0x5C29, 0x5B7B, 0, 0x5C2D, 0, 0x5C2E, 0, 0, 0, 0, 0, 0x5C3F, 0xC43D, 0, 0xC43E, 0x464E, 0xC43F, 0x5C24, 0, 0xC440, 0x5C3B, 0, 0xC441, 0, 0x5C3D, 0, 0x4458, }; static const unsigned short utf8_to_euc_E6A4_x0213[] = { 0x4F50, 0x5B76, 0, 0xAF26, 0x5C26, 0x3058, 0xC435, 0xAF27, 0x5B78, 0xC436, 0x7570, 0x4C3A, 0x5B7D, 0x3F22, 0x4447, 0x5B73, 0xC438, 0xC439, 0x5C25, 0xC43A, 0, 0, 0xC43B, 0xC43C, 0, 0x3F7A, 0x5C2F, 0x3371, 0x3821, 0, 0, 0, 0, 0x5C31, 0x5B7A, 0x5C30, 0, 0x5C29, 0x5B7B, 0, 0x5C2D, 0, 0x5C2E, 0, 0, 0, 0, 0, 0x5C3F, 0xC43D, 0, 0xC43E, 0x464E, 0x7573, 0x5C24, 0, 0xC440, 0x5C3B, 0, 0xAF2B, 0, 0x5C3D, 0, 0x4458, }; static const unsigned short utf8_to_euc_E6A5[] = { 0, 0, 0xC442, 0, 0, 0xC443, 0, 0, 0, 0xC444, 0x4D4C, 0, 0, 0, 0xC445, 0, 0, 0, 0, 0x4976, 0x5C38, 0x424A, 0, 0xC446, 0, 0x5C3E, 0x413F, 0xC447, 0x5C35, 0x5C42, 0x5C41, 0, 0x466F, 0x5C40, 0x466A, 0xC448, 0xC449, 0xC44A, 0xC44B, 0, 0xC44C, 0xC44D, 0x5C44, 0x5C37, 0xC44E, 0x3648, 0x5C3A, 0x3D5D, 0xC44F, 0xC450, 0xC451, 0x4760, 0x5C3C, 0x364B, 0, 0x5C34, 0x5C36, 0x5C33, 0xC452, 0xC453, 0x4F30, 0x335A, 0x5C39, 0xC454, }; static const unsigned short utf8_to_euc_E6A5_x0213[] = { 0, 0, 0x7574, 0, 0, 0xC443, 0xAF2D, 0, 0, 0x7571, 0x4D4C, 0, 0, 0, 0xC445, 0, 0, 0, 0, 0x4976, 0x5C38, 0x424A, 0, 0x7575, 0, 0x5C3E, 0x413F, 0xC447, 0x5C35, 0x5C42, 0x5C41, 0, 0x466F, 0x5C40, 0x466A, 0x7576, 0x7577, 0xC44A, 0xC44B, 0, 0x7578, 0xAF2E, 0x5C44, 0x5C37, 0xAF2F, 0x3648, 0x5C3A, 0x3D5D, 0xC44F, 0xC450, 0xAF30, 0x4760, 0x5C3C, 0x364B, 0, 0x5C34, 0x5C36, 0x5C33, 0xAF31, 0xC453, 0x4F30, 0x335A, 0x5C39, 0xAF32, }; static const unsigned short utf8_to_euc_E6A6[] = { 0xC455, 0x5C43, 0x3335, 0, 0, 0, 0, 0, 0, 0, 0x3A67, 0, 0, 0xC456, 0x315D, 0, 0, 0x5C54, 0xC457, 0, 0x4F31, 0x5C57, 0xC458, 0, 0xC459, 0, 0, 0x3F3A, 0x5C56, 0, 0, 0, 0x5C55, 0xC45A, 0, 0, 0, 0xC45B, 0xC45C, 0x5C52, 0xC45D, 0, 0, 0xC45E, 0, 0xC45F, 0x5C46, 0xC460, 0, 0x5C63, 0x5C45, 0, 0x5C58, 0, 0, 0xC461, 0xC462, 0, 0xC463, 0x5C50, 0xC464, 0, 0x5C4B, 0x5C48, }; static const unsigned short utf8_to_euc_E6A6_x0213[] = { 0x7579, 0x5C43, 0x3335, 0, 0, 0, 0, 0, 0, 0, 0x3A67, 0, 0, 0xC456, 0x315D, 0, 0, 0x5C54, 0xAF33, 0, 0x4F31, 0x5C57, 0xAF35, 0, 0xAF36, 0, 0, 0x3F3A, 0x5C56, 0, 0, 0, 0x5C55, 0xC45A, 0, 0, 0, 0x757B, 0xAF37, 0x5C52, 0xC45D, 0, 0, 0xC45E, 0, 0x757C, 0x5C46, 0xC460, 0xAF38, 0x5C63, 0x5C45, 0, 0x5C58, 0, 0, 0xAF39, 0xC462, 0, 0xAF3A, 0x5C50, 0xAF3B, 0, 0x5C4B, 0x5C48, }; static const unsigned short utf8_to_euc_E6A7[] = { 0, 0x5C49, 0, 0x5C51, 0, 0xC465, 0, 0x7422, 0xC466, 0, 0x5C4E, 0x393D, 0x4448, 0x4164, 0x5C4C, 0, 0x5C47, 0xC467, 0, 0x5C4A, 0, 0, 0xC468, 0xC469, 0x4D4D, 0x4B6A, 0, 0, 0, 0x5C4F, 0x5C59, 0, 0, 0, 0xC46A, 0, 0, 0xC46B, 0, 0x5C61, 0x5C5A, 0, 0, 0x5C67, 0, 0x5C65, 0xC46C, 0xC46D, 0, 0xC46E, 0x5C60, 0xC46F, 0, 0xC470, 0, 0, 0, 0x5C5F, 0, 0x4450, 0, 0x4165, 0xC471, 0x5C5D, }; static const unsigned short utf8_to_euc_E6A7_x0213[] = { 0xAF3C, 0x5C49, 0, 0x5C51, 0, 0xC465, 0, 0x7422, 0xC466, 0, 0x5C4E, 0x393D, 0x4448, 0x4164, 0x5C4C, 0x757D, 0x5C47, 0xAF3D, 0, 0x5C4A, 0, 0, 0xAF3E, 0xC469, 0x4D4D, 0x4B6A, 0, 0, 0, 0x5C4F, 0x5C59, 0, 0, 0, 0x7622, 0xAF44, 0, 0xC46B, 0, 0x5C61, 0x5C5A, 0x7623, 0x7624, 0x5C67, 0, 0x5C65, 0xAF45, 0xAF46, 0, 0xC46E, 0x5C60, 0xAF47, 0xAF49, 0x7625, 0x7626, 0, 0, 0x5C5F, 0, 0x4450, 0, 0x4165, 0xAF4A, 0x5C5D, }; static const unsigned short utf8_to_euc_E6A8[] = { 0xC472, 0xC473, 0x5C5B, 0xC474, 0, 0x5C62, 0, 0, 0, 0, 0x5C68, 0x4875, 0x5C6E, 0, 0, 0xC475, 0, 0xC476, 0x5C69, 0x5C6C, 0x5C66, 0xC477, 0, 0x4374, 0, 0x4938, 0xC478, 0x5C5C, 0, 0xC479, 0x5C64, 0x3E40, 0xC47A, 0x4C4F, 0x5C78, 0x5C6B, 0xC47B, 0, 0, 0, 0xC47C, 0x3822, 0x3223, 0x335F, 0, 0, 0x5C53, 0, 0xC47D, 0, 0xC47E, 0, 0xC521, 0x3E41, 0x5C70, 0xC522, 0x5C77, 0x3C79, 0x3372, 0xC523, 0, 0x432E, 0xC524, 0xC525, }; static const unsigned short utf8_to_euc_E6A8_x0213[] = { 0xC472, 0xC473, 0x5C5B, 0xC474, 0, 0x5C62, 0, 0, 0, 0, 0x5C68, 0x4875, 0x5C6E, 0, 0, 0x7627, 0, 0xAF4B, 0x5C69, 0x5C6C, 0x5C66, 0x7628, 0, 0x4374, 0, 0x4938, 0xAF4C, 0x5C5C, 0, 0xAF4D, 0x5C64, 0x3E40, 0xC47A, 0x4C4F, 0x5C78, 0x5C6B, 0xC47B, 0, 0, 0, 0xC47C, 0x3822, 0x3223, 0x335F, 0, 0, 0x5C53, 0, 0xAF41, 0, 0xAF4F, 0xAF50, 0xAF51, 0x3E41, 0x5C70, 0xC522, 0x5C77, 0x3C79, 0x3372, 0x762A, 0, 0x432E, 0x762B, 0xAF52, }; static const unsigned short utf8_to_euc_E6A9[] = { 0, 0, 0, 0, 0x5C6D, 0xC526, 0xC527, 0x5C72, 0x5C76, 0xC528, 0xC529, 0x3636, 0, 0, 0xC52A, 0, 0xC52B, 0xC52C, 0xC52D, 0, 0, 0xC52E, 0xC52F, 0, 0x354C, 0x5C74, 0, 0xC530, 0, 0, 0, 0x3521, 0, 0x464B, 0x5C73, 0, 0xC531, 0, 0x5C75, 0xC532, 0, 0, 0xC533, 0xF449, 0, 0, 0, 0, 0, 0xC534, 0x5C6F, 0xC535, 0, 0, 0, 0, 0x5C71, 0, 0, 0, 0, 0, 0xC536, 0x3360, }; static const unsigned short utf8_to_euc_E6A9_x0213[] = { 0, 0, 0, 0, 0x5C6D, 0x762C, 0xAF53, 0x5C72, 0x5C76, 0xAF54, 0xC529, 0x3636, 0, 0, 0xAF56, 0, 0x762D, 0xC52C, 0xAF57, 0, 0, 0xC52E, 0x762E, 0, 0x354C, 0x5C74, 0, 0x762F, 0, 0, 0, 0x3521, 0, 0x464B, 0x5C73, 0, 0xAF58, 0, 0x5C75, 0xC532, 0, 0, 0xC533, 0x7630, 0, 0, 0, 0, 0, 0xC534, 0x5C6F, 0x7631, 0, 0, 0, 0, 0x5C71, 0, 0xAF55, 0, 0, 0, 0xAF5A, 0x3360, }; static const unsigned short utf8_to_euc_E6AA[] = { 0x4349, 0xC537, 0, 0xC538, 0x5C7C, 0, 0xC539, 0xC53A, 0, 0xC53B, 0, 0xC53C, 0, 0x5C7A, 0x3869, 0, 0x5C79, 0xC53D, 0, 0, 0, 0, 0, 0x5D21, 0, 0, 0, 0xC53E, 0x5B58, 0xC53F, 0xC540, 0xC541, 0x5C7B, 0, 0x5C7D, 0x5C7E, 0, 0xC542, 0, 0, 0, 0, 0x5D2C, 0xC543, 0x5D28, 0, 0x5B6D, 0xC544, 0xC545, 0xC546, 0, 0x5D27, 0xC547, 0, 0, 0, 0x5D26, 0, 0, 0x5D23, 0, 0xC548, 0xC549, 0xC54A, }; static const unsigned short utf8_to_euc_E6AA_x0213[] = { 0x4349, 0xC537, 0, 0xAF5B, 0x5C7C, 0, 0xC539, 0xC53A, 0, 0x7633, 0, 0xAF5C, 0, 0x5C7A, 0x3869, 0, 0x5C79, 0xAF5E, 0, 0, 0x7634, 0, 0, 0x5D21, 0, 0, 0, 0xC53E, 0x5B58, 0x7635, 0x7636, 0xAF5F, 0x5C7B, 0xAF60, 0x5C7D, 0x5C7E, 0, 0x7637, 0, 0, 0, 0, 0x5D2C, 0xAF62, 0x5D28, 0, 0x5B6D, 0xC544, 0xC545, 0xC546, 0, 0x5D27, 0xC547, 0, 0, 0, 0x5D26, 0, 0, 0x5D23, 0, 0xAF63, 0xC549, 0xC54A, }; static const unsigned short utf8_to_euc_E6AB[] = { 0, 0x5C6A, 0x5D25, 0x5D24, 0, 0, 0xC54B, 0, 0xC54D, 0xC54C, 0, 0, 0xC54E, 0, 0, 0, 0xC54F, 0x5D2A, 0, 0x4F26, 0xC550, 0xC551, 0xC552, 0, 0, 0, 0x5D2D, 0x367B, 0xC553, 0xC554, 0x5D29, 0x5D2B, 0, 0, 0xF44A, 0, 0xC555, 0, 0, 0xC556, 0x4827, 0, 0x5D2E, 0, 0xC557, 0, 0, 0, 0xC558, 0xC559, 0xC55A, 0, 0, 0, 0, 0, 0, 0, 0x5D32, 0x5D2F, 0xC55B, 0xC55C, 0, 0, }; static const unsigned short utf8_to_euc_E6AB_x0213[] = { 0, 0x5C6A, 0x5D25, 0x5D24, 0, 0, 0xAF64, 0, 0xC54D, 0xC54C, 0, 0, 0xC54E, 0, 0, 0, 0xAF66, 0x5D2A, 0, 0x4F26, 0xAF65, 0xC551, 0xC552, 0, 0, 0, 0x5D2D, 0x367B, 0xAF67, 0xAF68, 0x5D29, 0x5D2B, 0, 0, 0, 0, 0x7638, 0, 0, 0x7639, 0x4827, 0, 0x5D2E, 0, 0xAF6B, 0, 0, 0, 0xC558, 0xAF6C, 0xAF6D, 0xAF6E, 0, 0, 0, 0, 0, 0, 0x5D32, 0x5D2F, 0xC55B, 0xAF6F, 0, 0, }; static const unsigned short utf8_to_euc_E6AC[] = { 0, 0, 0xC55D, 0xC55E, 0x4D73, 0x5D30, 0xC55F, 0xC560, 0, 0xC561, 0x5C5E, 0, 0, 0, 0, 0xC562, 0xC563, 0xC564, 0x5D33, 0, 0, 0, 0x5D34, 0xC565, 0, 0, 0, 0xC566, 0, 0x3135, 0xC567, 0x5D36, 0x3767, 0x3C21, 0, 0x3655, 0xC568, 0, 0, 0x3224, 0xC569, 0, 0, 0xC56A, 0xC56B, 0, 0, 0xC56C, 0, 0, 0x4D5F, 0, 0, 0xC56D, 0xC56E, 0x5D38, 0x5D37, 0x5D3A, 0x353D, 0xC56F, 0, 0x3656, 0x343E, 0xC570, }; static const unsigned short utf8_to_euc_E6AC_x0213[] = { 0, 0, 0xC55D, 0xC55E, 0x4D73, 0x5D30, 0xC55F, 0xC560, 0, 0xC561, 0x5C5E, 0xAF71, 0, 0, 0, 0xAF72, 0xAF73, 0xAF74, 0x5D33, 0, 0, 0, 0x5D34, 0xAF76, 0, 0, 0, 0x763C, 0, 0x3135, 0x763D, 0x5D36, 0x3767, 0x3C21, 0, 0x3655, 0xC568, 0, 0, 0x3224, 0xC569, 0, 0, 0xC56A, 0x763E, 0, 0, 0xAF78, 0, 0, 0x4D5F, 0, 0, 0x763F, 0xC56E, 0x5D38, 0x5D37, 0x5D3A, 0x353D, 0xC56F, 0, 0x3656, 0x343E, 0xC570, }; static const unsigned short utf8_to_euc_E6AD[] = { 0, 0, 0, 0x5D3D, 0, 0, 0xC571, 0x5D3C, 0, 0x5D3E, 0xC572, 0, 0x324E, 0xC573, 0x4337, 0, 0x5D3F, 0, 0xC574, 0x343F, 0x5D41, 0, 0xC575, 0, 0xC576, 0x5D40, 0, 0x5D42, 0, 0xC577, 0, 0x5D43, 0xC578, 0x5D44, 0x3B5F, 0x4035, 0x3A21, 0, 0x4970, 0xC579, 0, 0x4A62, 0x4F44, 0xC57A, 0, 0, 0xC57B, 0x3B75, 0xC57C, 0, 0, 0x3A50, 0x4E72, 0xC57D, 0, 0, 0x5D45, 0x5D46, 0, 0x3B60, 0, 0xC57E, 0xC621, 0x5D47, }; static const unsigned short utf8_to_euc_E6AD_x0213[] = { 0, 0, 0, 0x5D3D, 0, 0, 0x7640, 0x5D3C, 0, 0x5D3E, 0xAF79, 0, 0x324E, 0xC573, 0x4337, 0, 0x5D3F, 0, 0xC574, 0x343F, 0x5D41, 0, 0x7641, 0, 0xAF7A, 0x5D40, 0, 0x5D42, 0, 0xC577, 0, 0x5D43, 0x7642, 0x5D44, 0x3B5F, 0x4035, 0x3A21, 0x7643, 0x4970, 0x7644, 0, 0x4A62, 0x4F44, 0xC57A, 0xAF7B, 0, 0xC57B, 0x3B75, 0xC57C, 0, 0, 0x3A50, 0x4E72, 0xAF7C, 0, 0x7645, 0x5D45, 0x5D46, 0xAF7D, 0x3B60, 0, 0xC57E, 0xC621, 0x5D47, }; static const unsigned short utf8_to_euc_E6AE[] = { 0x5D48, 0, 0xC622, 0x5D4A, 0x5D49, 0xC623, 0x4B58, 0, 0, 0x3D5E, 0x3C6C, 0x3B44, 0, 0x5D4B, 0, 0, 0, 0, 0, 0, 0, 0x5D4D, 0x3F23, 0xC624, 0x5D4C, 0, 0, 0xC625, 0, 0, 0x5D4E, 0xC626, 0xC627, 0, 0xC628, 0xC629, 0x5D4F, 0, 0, 0, 0xC62A, 0xC62B, 0x5D50, 0x5D51, 0xC62C, 0xC62D, 0xC62E, 0x5D52, 0xC62F, 0x5D54, 0x5D53, 0x5D55, 0x3225, 0x434A, 0, 0x5D56, 0xC630, 0xC631, 0x3B26, 0x334C, 0x5D57, 0xC632, 0xC633, 0x4542, }; static const unsigned short utf8_to_euc_E6AE_x0213[] = { 0x5D48, 0xAF7E, 0x7646, 0x5D4A, 0x5D49, 0xC623, 0x4B58, 0, 0, 0x3D5E, 0x3C6C, 0x3B44, 0, 0x5D4B, 0, 0, 0, 0, 0, 0, 0, 0x5D4D, 0x3F23, 0xC624, 0x5D4C, 0, 0, 0xEE21, 0, 0, 0x5D4E, 0xC626, 0xC627, 0, 0xC628, 0xC629, 0x5D4F, 0, 0, 0, 0xC62A, 0x7647, 0x5D50, 0x5D51, 0xC62C, 0x7648, 0xEE22, 0x5D52, 0xC62F, 0x5D54, 0x5D53, 0x5D55, 0x3225, 0x434A, 0, 0x5D56, 0xC630, 0xC631, 0x3B26, 0x334C, 0x5D57, 0xEE24, 0xEE25, 0x4542, }; static const unsigned short utf8_to_euc_E6AF[] = { 0x544C, 0, 0, 0xC634, 0xC635, 0x3523, 0x5D58, 0, 0, 0xC636, 0, 0x5D59, 0xC637, 0x4A6C, 0x4B68, 0, 0, 0, 0x4647, 0x5D5A, 0x4866, 0, 0xC638, 0, 0x487B, 0, 0xC639, 0x4C53, 0, 0, 0, 0x5D5B, 0, 0xC63A, 0, 0xC63B, 0, 0, 0xC63C, 0xC63D, 0, 0, 0, 0x5D5D, 0x5D5C, 0, 0xC63E, 0x5D5F, 0, 0xC63F, 0, 0x5D5E, 0, 0, 0, 0xC640, 0, 0xC641, 0, 0, 0, 0, 0, 0xC642, }; static const unsigned short utf8_to_euc_E6AF_x0213[] = { 0x544C, 0, 0, 0xC634, 0xC635, 0x3523, 0x5D58, 0xEE26, 0xEE27, 0xEE28, 0, 0x5D59, 0xC637, 0x4A6C, 0x4B68, 0x764A, 0, 0, 0x4647, 0x5D5A, 0x4866, 0, 0x764B, 0x764C, 0x487B, 0, 0xEE29, 0x4C53, 0, 0, 0, 0x5D5B, 0, 0xC63A, 0, 0xC63B, 0, 0, 0xEE2A, 0xEE2B, 0, 0, 0, 0x5D5D, 0x5D5C, 0, 0xEE2C, 0x5D5F, 0, 0xEE2D, 0, 0x5D5E, 0, 0, 0, 0xC640, 0, 0xC641, 0, 0, 0, 0, 0, 0x764D, }; static const unsigned short utf8_to_euc_E6B0[] = { 0, 0, 0xC643, 0, 0xC644, 0xC645, 0, 0, 0x5D61, 0xC646, 0, 0, 0, 0xC647, 0xC648, 0x3B61, 0xC649, 0x4C31, 0xC64A, 0x5D62, 0x5D63, 0, 0, 0x3524, 0, 0xC64B, 0, 0x5D64, 0, 0, 0, 0xC64C, 0, 0, 0, 0x5D66, 0x5D65, 0, 0xC64D, 0xC64E, 0xC64F, 0, 0, 0, 0xC650, 0, 0xC651, 0, 0, 0, 0, 0xC652, 0x3F65, 0xC653, 0xC654, 0x4939, 0x314A, 0, 0xC655, 0xC656, 0, 0, 0x4845, 0xC657, }; static const unsigned short utf8_to_euc_E6B0_x0213[] = { 0, 0, 0xEE2E, 0, 0xC644, 0x764E, 0, 0, 0x5D61, 0xC646, 0xEE2F, 0, 0, 0xC647, 0xEE30, 0x3B61, 0x764F, 0x4C31, 0xC64A, 0x5D62, 0x5D63, 0, 0, 0x3524, 0, 0xC64B, 0, 0x5D64, 0, 0, 0, 0xC64C, 0, 0, 0, 0x5D66, 0x5D65, 0, 0xC64D, 0xC64E, 0xC64F, 0, 0, 0, 0xC650, 0, 0xC651, 0, 0, 0, 0, 0x7650, 0x3F65, 0xEE31, 0xEE32, 0x4939, 0x314A, 0, 0xEE33, 0xC656, 0, 0, 0x4845, 0xEE35, }; static const unsigned short utf8_to_euc_E6B1[] = { 0x4475, 0x3D41, 0x3561, 0, 0, 0, 0, 0, 0, 0, 0xC658, 0xC659, 0, 0xC65A, 0x4846, 0xC65B, 0x3C2E, 0, 0xC65C, 0, 0xC65D, 0x5D68, 0, 0x3440, 0, 0xC65E, 0x3178, 0xC65F, 0xC660, 0x4672, 0x5D67, 0x393E, 0x4353, 0, 0x5D69, 0, 0, 0, 0, 0xC736, 0x5D71, 0, 0x5D6A, 0xC661, 0, 0xC662, 0, 0xC663, 0x4241, 0, 0x3562, 0x5D72, 0xC664, 0, 0xC665, 0, 0xC666, 0xC667, 0x3768, 0xC668, 0, 0x3525, 0x5D70, 0, }; static const unsigned short utf8_to_euc_E6B1_x0213[] = { 0x4475, 0x3D41, 0x3561, 0, 0, 0, 0, 0, 0, 0, 0xC658, 0xC659, 0, 0xEE36, 0x4846, 0xC65B, 0x3C2E, 0, 0xC65C, 0, 0xC65D, 0x5D68, 0, 0x3440, 0, 0x7651, 0x3178, 0xEE37, 0x7652, 0x4672, 0x5D67, 0x393E, 0x4353, 0, 0x5D69, 0, 0, 0, 0, 0xEE4F, 0x5D71, 0, 0x5D6A, 0xC661, 0, 0xEE38, 0, 0, 0x4241, 0, 0x3562, 0x5D72, 0x7654, 0, 0x7655, 0, 0xC666, 0xC667, 0x3768, 0xC668, 0, 0x3525, 0x5D70, 0, }; static const unsigned short utf8_to_euc_E6B2[] = { 0, 0x5D6E, 0x5D6B, 0x4D60, 0, 0xC669, 0xC66A, 0xC66B, 0x4440, 0xC66C, 0, 0, 0x4659, 0x5D6C, 0, 0, 0x5D74, 0, 0x5D73, 0x3723, 0xC66D, 0xC66E, 0x322D, 0xC66F, 0xC670, 0x3A3B, 0x5D6D, 0x5D6F, 0xC671, 0, 0, 0xC672, 0, 0x4B57, 0x4274, 0, 0, 0, 0, 0, 0, 0, 0, 0x4B77, 0, 0, 0x5D7C, 0, 0xC673, 0x5D7D, 0xC674, 0x324F, 0xC675, 0, 0, 0, 0x4A28, 0x4C7D, 0x5E21, 0x3C23, 0x3E42, 0x5D78, 0x5D7E, 0x3168, }; static const unsigned short utf8_to_euc_E6B2_x0213[] = { 0, 0x5D6E, 0x5D6B, 0x4D60, 0xEE39, 0x7656, 0x7657, 0xC66B, 0x4440, 0xEE3A, 0, 0, 0x4659, 0x5D6C, 0, 0, 0x5D74, 0, 0x5D73, 0x3723, 0xEE3C, 0xEE3D, 0x322D, 0xEE3E, 0x7658, 0x3A3B, 0x5D6D, 0x5D6F, 0x7659, 0, 0, 0xC672, 0, 0x4B57, 0x4274, 0, 0, 0, 0, 0, 0, 0, 0x7653, 0x4B77, 0, 0xEE3F, 0x5D7C, 0, 0xC673, 0x5D7D, 0xC674, 0x324F, 0xC675, 0, 0, 0, 0x4A28, 0x4C7D, 0x5E21, 0x3C23, 0x3E42, 0x5D78, 0x5D7E, 0x3168, }; static const unsigned short utf8_to_euc_E6B3[] = { 0, 0x3637, 0xC676, 0, 0x5D75, 0x5D7A, 0xC677, 0, 0, 0x4074, 0x4771, 0, 0x4867, 0xC678, 0, 0xC679, 0xC67A, 0xC67B, 0xC67C, 0x5D77, 0xC67D, 0x4B21, 0xC67E, 0x5D79, 0, 0x5E24, 0xC721, 0x5E22, 0xC722, 0x5D7B, 0, 0, 0xC723, 0x4B22, 0x4748, 0x3563, 0, 0x4525, 0, 0xC724, 0x436D, 0xC725, 0x5E25, 0xC726, 0xC727, 0, 0xC728, 0x5E23, 0x4259, 0x5D76, 0xC729, 0x314B, 0xC72A, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, }; static const unsigned short utf8_to_euc_E6B3_x0213[] = { 0, 0x3637, 0xEE40, 0, 0x5D75, 0x5D7A, 0x765B, 0, 0, 0x4074, 0x4771, 0, 0x4867, 0xC678, 0, 0xC679, 0xEE41, 0xC67B, 0xC67C, 0x5D77, 0x765C, 0x4B21, 0xEE43, 0x5D79, 0, 0x5E24, 0xEE44, 0x5E22, 0xEE45, 0x5D7B, 0, 0, 0x765D, 0x4B22, 0x4748, 0x3563, 0, 0x4525, 0, 0xC724, 0x436D, 0xEE46, 0x5E25, 0x765E, 0xEE47, 0xEE48, 0x765F, 0x5E23, 0x4259, 0x5D76, 0xC729, 0x314B, 0xC72A, 0, 0, 0, 0, 0, 0, 0x765A, 0, 0, 0, 0, }; static const unsigned short utf8_to_euc_E6B4[] = { 0, 0, 0, 0, 0xC72B, 0, 0, 0xC72C, 0, 0, 0xC72D, 0x4D4E, 0x5E30, 0, 0xC72E, 0xC72F, 0, 0xC730, 0x5E2F, 0xC731, 0, 0, 0, 0x4076, 0, 0x5E2C, 0xC732, 0x4D6C, 0, 0, 0x4636, 0x5E26, 0, 0, 0, 0, 0, 0x4445, 0xC733, 0xC734, 0xC735, 0x314C, 0x393F, 0x5E29, 0, 0, 0xC737, 0xC738, 0, 0xC739, 0x3D27, 0x5E2E, 0, 0x5E2D, 0x5E28, 0, 0x5E2B, 0xC73A, 0, 0x3368, 0xC73B, 0x5E2A, 0x4749, 0xC73C, }; static const unsigned short utf8_to_euc_E6B4_x0213[] = { 0xEE4A, 0, 0, 0, 0x7661, 0, 0, 0xC72C, 0, 0, 0xEE4B, 0x4D4E, 0x5E30, 0, 0x7662, 0xC72F, 0, 0xC730, 0x5E2F, 0xC731, 0, 0, 0, 0x4076, 0, 0x5E2C, 0xC732, 0x4D6C, 0, 0, 0x4636, 0x5E26, 0, 0, 0, 0, 0xEE4C, 0x4445, 0xEE4D, 0xEE4E, 0xC735, 0x314C, 0x393F, 0x5E29, 0, 0, 0x7663, 0xEE50, 0, 0x7664, 0x3D27, 0x5E2E, 0xEE65, 0x5E2D, 0x5E28, 0, 0x5E2B, 0x7665, 0, 0x3368, 0xEE51, 0x5E2A, 0x4749, 0x7666, }; static const unsigned short utf8_to_euc_E6B5[] = { 0, 0x4E2E, 0, 0, 0x3E74, 0x4075, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0xC73D, 0, 0x5E36, 0x5E34, 0, 0x494D, 0, 0xC73E, 0xC73F, 0, 0xC740, 0, 0x5E31, 0x5E33, 0xC741, 0x313A, 0xC742, 0, 0x3940, 0x4F32, 0, 0x333D, 0, 0x4962, 0xC743, 0xC744, 0, 0, 0, 0x4D61, 0, 0, 0x3324, 0x3F3B, 0x5E35, 0, 0, 0xC745, 0, 0, 0, }; static const unsigned short utf8_to_euc_E6B5_x0213[] = { 0, 0x4E2E, 0, 0, 0x3E74, 0x4075, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0xC73D, 0x7667, 0x5E36, 0x5E34, 0xEE52, 0x494D, 0, 0xEE53, 0xC73F, 0xEE54, 0xC740, 0, 0x5E31, 0x5E33, 0x7668, 0x313A, 0xC742, 0, 0x3940, 0x4F32, 0, 0x333D, 0, 0x4962, 0, 0xEE55, 0, 0, 0, 0x4D61, 0, 0, 0x3324, 0x3F3B, 0x5E35, 0, 0, 0xC745, 0, 0, 0, }; static const unsigned short utf8_to_euc_E6B6[] = { 0, 0, 0xC746, 0, 0, 0x5E3A, 0, 0xC747, 0x3E43, 0, 0, 0, 0x4D30, 0, 0x5E37, 0, 0, 0xC748, 0xC749, 0x5E32, 0xC74A, 0x5E38, 0xC74B, 0xC74C, 0xC74D, 0x4E5E, 0, 0x4573, 0x4642, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0xC74E, 0, 0xC74F, 0, 0, 0x3336, 0, 0, 0x3155, 0, 0xC750, 0x5E3E, 0, 0xC751, 0x5E41, 0xC752, 0, 0, 0x4E43, 0xC753, 0, 0xC754, }; static const unsigned short utf8_to_euc_E6B6_x0213[] = { 0xEE56, 0xEE57, 0x766A, 0, 0, 0x5E3A, 0, 0x766B, 0x3E43, 0x766C, 0xEE58, 0, 0x4D30, 0xEE59, 0x5E37, 0, 0, 0xEE5A, 0xC749, 0x5E32, 0x766D, 0x5E38, 0, 0xC74C, 0xEE5B, 0x4E5E, 0, 0x4573, 0x4642, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0x766E, 0xEE61, 0x766F, 0, 0xEE62, 0x3336, 0, 0, 0x3155, 0, 0xEE63, 0x5E3E, 0, 0xC751, 0x5E41, 0xC752, 0, 0, 0x4E43, 0xC753, 0, 0x7670, }; static const unsigned short utf8_to_euc_E6B7[] = { 0x4D64, 0, 0, 0, 0xC755, 0x5E48, 0x5E42, 0x5E3F, 0xC756, 0, 0xC757, 0x4E54, 0x5E45, 0, 0xC758, 0xC759, 0, 0x3D4A, 0x5E47, 0, 0, 0x5E4C, 0xC75A, 0, 0x4571, 0x5E4A, 0, 0xC75B, 0, 0xC75C, 0x5E44, 0xC75D, 0xC75E, 0x4338, 0xC75F, 0, 0x5E4B, 0xC760, 0x5E40, 0, 0x5E46, 0xC761, 0x5E4D, 0x307C, 0x5E43, 0, 0x5E4E, 0xC762, 0xC763, 0x3F3C, 0xF44C, 0x3D5F, 0xC764, 0x4A25, 0xC765, 0x3A2E, 0xF44B, 0x5E3B, 0x5E49, 0x453A, 0xC766, 0, 0, 0, }; static const unsigned short utf8_to_euc_E6B7_x0213[] = { 0x4D64, 0, 0xEE64, 0, 0x7671, 0x5E48, 0x5E42, 0x5E3F, 0xEE66, 0, 0xC757, 0x4E54, 0x5E45, 0, 0xEE67, 0xEE68, 0xEE69, 0x3D4A, 0x5E47, 0, 0, 0x5E4C, 0x7672, 0, 0x4571, 0x5E4A, 0x7673, 0x7674, 0, 0x7675, 0x5E44, 0xEE6A, 0xC75E, 0x4338, 0xC75F, 0, 0x5E4B, 0xC760, 0x5E40, 0, 0x5E46, 0xEE6B, 0x5E4D, 0x307C, 0x5E43, 0, 0x5E4E, 0xC762, 0xC763, 0x3F3C, 0, 0x3D5F, 0xC764, 0x4A25, 0xEE6C, 0x3A2E, 0, 0x5E3B, 0x5E49, 0x453A, 0x7676, 0, 0, 0, }; static const unsigned short utf8_to_euc_E6B8[] = { 0xC767, 0, 0, 0, 0xC768, 0x4036, 0, 0x3369, 0x3A51, 0x3E44, 0x5E3D, 0x3D42, 0, 0, 0, 0, 0, 0, 0, 0x374C, 0, 0x5E3C, 0, 0, 0, 0x5E52, 0x3D6D, 0x383A, 0, 0x5E61, 0xC769, 0x5E5B, 0x3574, 0x454F, 0xC76A, 0x5E56, 0x5E5F, 0x302F, 0x3132, 0xC76B, 0, 0x3239, 0, 0x5E58, 0x422C, 0x5E4F, 0x5E51, 0x3941, 0, 0, 0xC76C, 0, 0, 0, 0xC76D, 0, 0x5E62, 0xC76E, 0x5E5D, 0xC76F, 0xC770, 0, 0x5E55, 0, }; static const unsigned short utf8_to_euc_E6B8_x0213[] = { 0xC767, 0, 0, 0, 0xC768, 0x4036, 0, 0x3369, 0x3A51, 0x3E44, 0x5E3D, 0x3D42, 0, 0, 0, 0, 0, 0, 0, 0x374C, 0, 0x5E3C, 0, 0xEE5D, 0, 0x5E52, 0x3D6D, 0x383A, 0, 0x5E61, 0xEE6E, 0x5E5B, 0x3574, 0x454F, 0xEE6F, 0x5E56, 0x5E5F, 0x302F, 0x3132, 0xEE70, 0, 0x3239, 0, 0x5E58, 0x422C, 0x5E4F, 0x5E51, 0x3941, 0, 0, 0xEE72, 0, 0x7678, 0, 0xEE6D, 0, 0x5E62, 0, 0x5E5D, 0xC76F, 0xEE73, 0, 0x5E55, 0, }; static const unsigned short utf8_to_euc_E6B9[] = { 0, 0, 0, 0x5E5C, 0xC771, 0xC772, 0, 0, 0xC773, 0xC774, 0x4C2B, 0xC775, 0, 0x5E5A, 0x5E5E, 0xC776, 0, 0xC777, 0xC778, 0xC779, 0xC77A, 0, 0x3850, 0xC77B, 0x3E45, 0, 0, 0x4339, 0xC77C, 0xC77D, 0xC77E, 0x5E54, 0, 0, 0xC821, 0xC822, 0, 0, 0, 0x4D2F, 0xC823, 0, 0, 0x5E57, 0, 0, 0x5E50, 0x4572, 0, 0, 0x5E53, 0xC824, 0, 0, 0x5E59, 0, 0, 0, 0, 0xC825, 0, 0xC826, 0x4F51, 0x3C3E, }; static const unsigned short utf8_to_euc_E6B9_x0213[] = { 0, 0, 0, 0x5E5C, 0x7679, 0xC772, 0, 0, 0xEE74, 0xEE75, 0x4C2B, 0xEE76, 0xEE77, 0x5E5A, 0x5E5E, 0xEE78, 0, 0xEE79, 0xC778, 0xEE7A, 0xEE7B, 0, 0x3850, 0xEE7C, 0x3E45, 0, 0, 0x4339, 0x767A, 0xC77D, 0x767B, 0x5E54, 0, 0, 0xC821, 0xEE7D, 0, 0, 0, 0x4D2F, 0xC823, 0, 0, 0x5E57, 0, 0, 0x5E50, 0x4572, 0, 0, 0x5E53, 0xC824, 0, 0, 0x5E59, 0, 0, 0, 0, 0xC825, 0, 0xC826, 0x4F51, 0x3C3E, }; static const unsigned short utf8_to_euc_E6BA[] = { 0x4B7E, 0, 0x5E63, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0x482E, 0xC827, 0, 0x5E6F, 0x383B, 0, 0, 0xC828, 0, 0, 0x3D60, 0, 0x5E65, 0xC829, 0, 0, 0x4E2F, 0x3942, 0, 0x5E72, 0xC82A, 0, 0x306E, 0, 0, 0x5E70, 0, 0xC82B, 0, 0, 0x5E64, 0, 0, 0xC82C, 0xC82D, 0x5E6A, 0, 0xC82E, 0x5E6C, 0xC82F, 0, 0, 0x4D4F, 0x5E67, 0, 0, 0x452E, 0xC830, 0, 0x5E69, 0, 0xC831, }; static const unsigned short utf8_to_euc_E6BA_x0213[] = { 0x4B7E, 0, 0x5E63, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0x482E, 0xC827, 0, 0x5E6F, 0x383B, 0, 0, 0xEF21, 0, 0, 0x3D60, 0, 0x5E65, 0xC829, 0, 0, 0x4E2F, 0x3942, 0, 0x5E72, 0xC82A, 0, 0x306E, 0, 0, 0x5E70, 0, 0xEF22, 0, 0, 0x5E64, 0x767C, 0, 0xC82C, 0xC82D, 0x5E6A, 0, 0x767D, 0x5E6C, 0xC82F, 0xEF23, 0, 0x4D4F, 0x5E67, 0, 0, 0x452E, 0xC830, 0, 0x5E69, 0, 0xEF24, }; static const unsigned short utf8_to_euc_E6BB[] = { 0xC832, 0xC833, 0x5E71, 0xC834, 0x5E6B, 0x4C47, 0, 0xC835, 0xC836, 0x5E66, 0xC837, 0x3C22, 0x5E7E, 0xC838, 0xC839, 0xC83A, 0, 0x336A, 0, 0x5E68, 0x5E6D, 0x5E6E, 0, 0, 0, 0, 0, 0, 0, 0x426C, 0x425A, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0xC83B, 0x5E76, 0xC83C, 0xC83D, 0x5E7C, 0, 0, 0x5E7A, 0, 0x4529, 0, 0, 0x5F23, 0x5E77, 0xC83E, 0, 0xC83F, 0, 0xC840, 0x5E78, 0x5E60, }; static const unsigned short utf8_to_euc_E6BB_x0213[] = { 0xC832, 0x767E, 0x5E71, 0xEF25, 0x5E6B, 0x4C47, 0, 0x7721, 0xC836, 0x5E66, 0xEF26, 0x3C22, 0x5E7E, 0xC838, 0x7722, 0xC83A, 0, 0x336A, 0, 0x5E68, 0x5E6D, 0x5E6E, 0, 0, 0, 0xEF27, 0, 0, 0, 0x426C, 0x425A, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0xEF29, 0x5E76, 0xC83C, 0xC83D, 0x5E7C, 0, 0, 0x5E7A, 0, 0x4529, 0, 0, 0x5F23, 0x5E77, 0xEF2A, 0, 0xEF2B, 0, 0xC840, 0x5E78, 0x5E60, }; static const unsigned short utf8_to_euc_E6BC[] = { 0, 0x3579, 0x493A, 0, 0xC841, 0, 0x3C3F, 0, 0xC842, 0x3977, 0xC843, 0, 0xC844, 0xC845, 0, 0x4F33, 0, 0x5E74, 0, 0x5F22, 0x3169, 0x4166, 0xC846, 0, 0xC847, 0, 0xC848, 0xC849, 0, 0, 0, 0, 0x4779, 0, 0x3441, 0x4E7A, 0, 0, 0xC84A, 0, 0, 0xC84B, 0xC84C, 0x4C21, 0x4452, 0xC853, 0, 0xC84D, 0xC84E, 0x5E7B, 0x5E7D, 0xC84F, 0, 0, 0xC850, 0, 0x4132, 0, 0, 0xC851, 0xC852, 0, 0x5F21, 0x5E79, }; static const unsigned short utf8_to_euc_E6BC_x0213[] = { 0, 0x3579, 0x493A, 0, 0xC841, 0, 0x3C3F, 0, 0xC842, 0x3977, 0xEF2C, 0, 0xEF2D, 0xC845, 0, 0x4F33, 0x7723, 0x5E74, 0, 0x5F22, 0x3169, 0x4166, 0xC846, 0, 0xEF2E, 0, 0x7724, 0xC849, 0, 0, 0, 0, 0x4779, 0, 0x3441, 0x4E7A, 0, 0xEF2F, 0xC84A, 0, 0, 0xC84B, 0x7726, 0x4C21, 0x4452, 0xC853, 0, 0x7727, 0xC84E, 0x5E7B, 0x5E7D, 0x7728, 0, 0xEF28, 0xEF30, 0, 0x4132, 0, 0, 0xC851, 0xEF31, 0, 0x5F21, 0x5E79, }; static const unsigned short utf8_to_euc_E6BD[] = { 0, 0x5E73, 0, 0, 0, 0x3443, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0xC854, 0, 0xC855, 0xC856, 0xC857, 0x3769, 0, 0, 0xC858, 0x5F2F, 0xC859, 0xC85A, 0x5F2A, 0x4078, 0xC85B, 0xC85C, 0x3363, 0, 0xC85D, 0xC85E, 0, 0x3D61, 0, 0x5F33, 0, 0xC85F, 0, 0, 0, 0xC860, 0x5F2C, 0x442C, 0x5F29, 0x4459, 0, 0, 0, 0x5F4C, 0, 0, 0, 0x5F26, 0, 0x5F25, 0, 0x5F2E, 0xC861, 0xC862, 0, }; static const unsigned short utf8_to_euc_E6BD_x0213[] = { 0, 0x5E73, 0, 0, 0, 0x3443, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0xC854, 0, 0x7729, 0xEF33, 0xC857, 0x3769, 0, 0, 0xEF34, 0x5F2F, 0x772A, 0xEF35, 0x5F2A, 0x4078, 0xC85B, 0x772B, 0x3363, 0xEF36, 0x772C, 0x772D, 0, 0x3D61, 0, 0x5F33, 0, 0xEF37, 0, 0, 0, 0xC860, 0x5F2C, 0x442C, 0x5F29, 0x4459, 0, 0, 0, 0x5F4C, 0, 0, 0, 0x5F26, 0, 0x5F25, 0, 0x5F2E, 0xEF39, 0x772E, 0, }; static const unsigned short utf8_to_euc_E6BE[] = { 0x5F28, 0x5F27, 0x5F2D, 0xC863, 0x4021, 0, 0x5F24, 0xC864, 0xC865, 0, 0, 0xC866, 0xC867, 0xC868, 0x5F30, 0, 0xC869, 0x5F31, 0xC86A, 0xC86B, 0xC86C, 0, 0xC86D, 0x3442, 0, 0, 0xC86E, 0, 0, 0, 0, 0xC86F, 0xC870, 0x5F36, 0, 0x5F35, 0x5F37, 0xC871, 0xC872, 0xC873, 0xC874, 0, 0x5F3A, 0, 0, 0, 0xC875, 0xC876, 0xC877, 0x4543, 0, 0x5F34, 0, 0xC878, 0xC879, 0, 0, 0x5F38, 0, 0, 0xC87A, 0, 0, 0, }; static const unsigned short utf8_to_euc_E6BE_x0213[] = { 0x5F28, 0x5F27, 0x5F2D, 0xC863, 0x4021, 0, 0x5F24, 0xC864, 0x772F, 0, 0, 0xC866, 0x7730, 0x7731, 0x5F30, 0, 0xEF3A, 0x5F31, 0xC86A, 0xC86B, 0x7732, 0, 0xEF3B, 0x3442, 0xEF38, 0, 0xC86E, 0, 0, 0, 0, 0xEF3D, 0x7733, 0x5F36, 0, 0x5F35, 0x5F37, 0xEF3E, 0xC872, 0x7734, 0xC874, 0, 0x5F3A, 0, 0, 0, 0xC875, 0xEF3F, 0xC877, 0x4543, 0, 0x5F34, 0, 0xEF41, 0x7735, 0, 0, 0x5F38, 0, 0, 0x7736, 0, 0xEF3C, 0, }; static const unsigned short utf8_to_euc_E6BF[] = { 0x3763, 0x4279, 0x5F32, 0x473B, 0, 0xC87B, 0x5F39, 0xC87C, 0xC87D, 0, 0xC87E, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0x5F3E, 0x5F3C, 0, 0, 0x5F3F, 0, 0xC921, 0x5F42, 0, 0, 0xC922, 0x5F3B, 0x396A, 0x4728, 0, 0, 0x5E39, 0, 0, 0, 0xC923, 0xC924, 0, 0x4D74, 0x5F3D, 0, 0x5F41, 0x4275, 0xC925, 0x5F40, 0, 0x5F2B, 0, 0xC926, 0x6F69, 0, 0, 0xC927, 0x5F45, 0, 0xC928, 0xC929, 0x5F49, 0, }; static const unsigned short utf8_to_euc_E6BF_x0213[] = { 0x3763, 0x4279, 0x5F32, 0x473B, 0, 0xC87B, 0x5F39, 0x7737, 0xEF42, 0xEF43, 0x7738, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0x5F3E, 0x5F3C, 0, 0, 0x5F3F, 0, 0xEF44, 0x5F42, 0, 0, 0xEF45, 0x5F3B, 0x396A, 0x4728, 0, 0, 0x5E39, 0, 0, 0, 0xC923, 0xEF46, 0, 0x4D74, 0x5F3D, 0, 0x5F41, 0x4275, 0x773A, 0x5F40, 0, 0x5F2B, 0, 0x773B, 0x6F69, 0, 0, 0x7739, 0x5F45, 0, 0xEF48, 0xC929, 0x5F49, 0, }; static const unsigned short utf8_to_euc_E780[] = { 0xC92A, 0x5F47, 0, 0, 0, 0xC92B, 0xC92C, 0xC92D, 0, 0x5F43, 0, 0x5F44, 0, 0xC92E, 0, 0x5F48, 0, 0x5F46, 0, 0, 0, 0x494E, 0, 0xC92F, 0x5F4E, 0, 0x5F4B, 0x5F4A, 0, 0x5F4D, 0x4654, 0x5F4F, 0xC930, 0, 0, 0xC931, 0, 0, 0x4375, 0x426D, 0xF44D, 0, 0, 0, 0x4025, 0, 0, 0xC932, 0x5F50, 0, 0x5F52, 0, 0xC933, 0, 0, 0xC934, 0, 0xC935, 0, 0, 0xC936, 0, 0x5F51, 0, }; static const unsigned short utf8_to_euc_E780_x0213[] = { 0xEF49, 0x5F47, 0, 0, 0, 0x773C, 0x773D, 0xEF4A, 0, 0x5F43, 0xEF4B, 0x5F44, 0, 0xC92E, 0, 0x5F48, 0, 0x5F46, 0, 0, 0, 0x494E, 0, 0xC92F, 0x5F4E, 0, 0x5F4B, 0x5F4A, 0, 0x5F4D, 0x4654, 0x5F4F, 0xC930, 0, 0, 0xEF4C, 0, 0, 0x4375, 0x426D, 0x773E, 0, 0, 0, 0x4025, 0, 0, 0xC932, 0x5F50, 0, 0x5F52, 0, 0xC933, 0, 0, 0xC934, 0, 0xEF4E, 0xEF4F, 0, 0xEF50, 0, 0x5F51, 0, }; static const unsigned short utf8_to_euc_E781[] = { 0, 0, 0, 0xC937, 0xC938, 0, 0, 0, 0xC939, 0xC93A, 0xC93B, 0xC93C, 0x5E75, 0, 0xC941, 0, 0, 0x5F53, 0, 0, 0xC93D, 0xC93E, 0, 0, 0x4667, 0, 0, 0, 0, 0xC93F, 0xC940, 0, 0, 0, 0, 0x5F54, 0xC942, 0xC943, 0, 0, 0, 0, 0, 0x3250, 0xC944, 0, 0xC945, 0x4574, 0x3325, 0, 0, 0, 0, 0xC946, 0xC947, 0, 0x3564, 0, 0, 0, 0x3C5E, 0x3A52, 0xC948, 0, }; static const unsigned short utf8_to_euc_E781_x0213[] = { 0, 0, 0, 0xEF51, 0xC938, 0, 0, 0xEF52, 0xC939, 0xC93A, 0x773F, 0xEF53, 0x5E75, 0, 0x7742, 0, 0, 0x5F53, 0, 0, 0xEF55, 0xC93E, 0, 0, 0x4667, 0, 0, 0, 0, 0x7740, 0x7741, 0, 0, 0, 0, 0x5F54, 0x7743, 0xEF56, 0, 0, 0, 0xEF57, 0, 0x3250, 0xEF58, 0, 0xEF59, 0x4574, 0x3325, 0, 0, 0, 0, 0x7744, 0xEF5A, 0, 0x3564, 0, 0, 0, 0x3C5E, 0x3A52, 0xEF5B, 0, }; static const unsigned short utf8_to_euc_E782[] = { 0, 0xC949, 0, 0, 0, 0xC94A, 0xC94B, 0, 0, 0x4F27, 0x3F66, 0, 0, 0, 0x316A, 0, 0, 0, 0x5F56, 0, 0xC94C, 0xC94D, 0xC94E, 0xC94F, 0xC950, 0x5F55, 0, 0xC951, 0, 0, 0, 0, 0, 0, 0, 0, 0xC952, 0, 0, 0, 0, 0, 0, 0xC953, 0x5F59, 0x433A, 0x5F5C, 0x5F57, 0xC954, 0xC955, 0, 0x5F5B, 0xC956, 0, 0, 0xC957, 0x5F5A, 0x4540, 0x3059, 0xF42E, 0, 0, 0, 0, }; static const unsigned short utf8_to_euc_E782_x0213[] = { 0, 0xEF5C, 0, 0, 0, 0x7745, 0xEF5D, 0, 0, 0x4F27, 0x3F66, 0, 0, 0, 0x316A, 0, 0, 0, 0x5F56, 0, 0xC94C, 0xEF5E, 0xC94E, 0xEF5F, 0xC950, 0x5F55, 0, 0xC951, 0, 0, 0, 0xEF62, 0, 0, 0, 0, 0x7746, 0, 0, 0, 0, 0, 0, 0x7747, 0x5F59, 0x433A, 0x5F5C, 0x5F57, 0xC954, 0xEF63, 0, 0x5F5B, 0xC956, 0, 0, 0x7748, 0x5F5A, 0x4540, 0x3059, 0xEF60, 0, 0, 0, 0, }; static const unsigned short utf8_to_euc_E783[] = { 0, 0, 0, 0, 0, 0, 0, 0, 0x4E75, 0, 0xC958, 0x5F5E, 0, 0, 0, 0x3128, 0, 0xC959, 0, 0xC95A, 0xC95B, 0xC95C, 0xC95D, 0, 0xC95E, 0x5F60, 0, 0, 0xC95F, 0x5F5F, 0, 0x5F5D, 0, 0, 0, 0, 0xC960, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0x5F58, 0, 0, 0, 0, 0, 0, 0, 0x4B23, 0xC961, 0, 0, 0x5F62, 0, 0, }; static const unsigned short utf8_to_euc_E783_x0213[] = { 0, 0, 0, 0, 0, 0, 0, 0, 0x4E75, 0, 0xEF66, 0x5F5E, 0, 0, 0, 0x3128, 0, 0xEF67, 0, 0xEF68, 0x7749, 0xC95C, 0xC95D, 0, 0x774A, 0x5F60, 0, 0, 0xEF69, 0x5F5F, 0, 0x5F5D, 0, 0, 0, 0, 0x774B, 0, 0, 0, 0, 0, 0, 0, 0xEF65, 0, 0, 0, 0, 0x5F58, 0, 0, 0, 0, 0, 0, 0, 0x4B23, 0xC961, 0, 0, 0x5F62, 0, 0, }; static const unsigned short utf8_to_euc_E784[] = { 0, 0, 0, 0xC962, 0xC963, 0xC964, 0xC965, 0xC966, 0, 0x5F61, 0, 0xC967, 0xC968, 0, 0, 0xC969, 0, 0, 0, 0, 0x316B, 0, 0, 0, 0, 0x5F64, 0x4A32, 0, 0x5F63, 0, 0xC96A, 0, 0xC96B, 0x4C35, 0, 0, 0, 0, 0x3E47, 0, 0, 0, 0, 0xC96C, 0, 0xC96D, 0, 0xC96E, 0xC96F, 0xC970, 0, 0, 0, 0, 0x4133, 0, 0xC971, 0, 0, 0, 0x3E46, 0, 0, 0, }; static const unsigned short utf8_to_euc_E784_x0213[] = { 0, 0, 0, 0xEF6A, 0xEF6B, 0xC964, 0xEF6C, 0xEF6D, 0xEF6E, 0x5F61, 0, 0xC967, 0xEF6F, 0, 0, 0x774C, 0, 0, 0, 0, 0x316B, 0, 0, 0, 0, 0x5F64, 0x4A32, 0, 0x5F63, 0, 0x774E, 0, 0x774F, 0x4C35, 0, 0, 0, 0, 0x3E47, 0, 0, 0, 0, 0x774D, 0, 0xC96D, 0x7750, 0xEF71, 0x7751, 0xEF72, 0, 0, 0, 0, 0x4133, 0, 0xC971, 0, 0, 0, 0x3E46, 0, 0, 0, }; static const unsigned short utf8_to_euc_E785[] = { 0, 0xC972, 0, 0, 0, 0xC973, 0xC974, 0xC975, 0, 0x4E7B, 0xC976, 0xC977, 0x5F6A, 0, 0x4079, 0, 0xC978, 0, 0xC979, 0, 0, 0x5F66, 0x5F6B, 0xC97A, 0, 0x316C, 0xC97B, 0, 0xC97C, 0, 0xC97D, 0, 0xC97E, 0, 0x5F69, 0, 0x4761, 0x5F65, 0x5F68, 0x3E48, 0xCA21, 0x4851, 0, 0, 0x5F6C, 0, 0x3C51, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0xCA22, 0, 0, 0, 0x407A, 0, 0, }; static const unsigned short utf8_to_euc_E785_x0213[] = { 0, 0xC972, 0, 0, 0, 0xC973, 0x7752, 0x7753, 0, 0x4E7B, 0xEF74, 0xC977, 0x5F6A, 0, 0x4079, 0, 0xEF73, 0x7754, 0x7756, 0xEF75, 0, 0x5F66, 0x5F6B, 0xC97A, 0, 0x316C, 0xC97B, 0, 0x7757, 0, 0xEF76, 0, 0x7758, 0, 0x5F69, 0, 0x4761, 0x5F65, 0x5F68, 0x3E48, 0x7759, 0x4851, 0, 0, 0x5F6C, 0, 0x3C51, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0xCA22, 0, 0, 0, 0x407A, 0, 0, }; static const unsigned short utf8_to_euc_E786[] = { 0xCA23, 0, 0, 0, 0x5F6F, 0xCA24, 0, 0xCA25, 0x5F67, 0, 0x3727, 0, 0xCA26, 0, 0, 0x5F6D, 0, 0, 0xCA27, 0, 0x4D50, 0x5F70, 0, 0, 0, 0x7426, 0xCA28, 0xCA29, 0, 0, 0, 0x3D4F, 0xCA2A, 0, 0xCA2B, 0, 0, 0, 0, 0, 0x5F71, 0, 0, 0, 0x5F72, 0, 0, 0xCA2C, 0xCA2D, 0x472E, 0xCA2E, 0xCA2F, 0, 0, 0, 0, 0, 0x5F74, 0xCA30, 0, 0, 0, 0x5F75, 0xCA31, }; static const unsigned short utf8_to_euc_E786_x0213[] = { 0xEF79, 0, 0, 0, 0x5F6F, 0x775B, 0, 0x775C, 0x5F67, 0, 0x3727, 0, 0xCA26, 0, 0, 0x5F6D, 0, 0, 0x775D, 0, 0x4D50, 0x5F70, 0xEF78, 0, 0, 0x7426, 0xCA28, 0xEF7A, 0, 0, 0, 0x3D4F, 0xEF7B, 0, 0xEF7C, 0, 0, 0, 0, 0, 0x5F71, 0, 0, 0, 0x5F72, 0, 0xEF7D, 0xEF7E, 0xCA2D, 0x472E, 0xCA2E, 0xF021, 0, 0, 0, 0, 0, 0x5F74, 0x775F, 0, 0, 0, 0x5F75, 0xCA31, }; static const unsigned short utf8_to_euc_E787[] = { 0xCA32, 0xCA33, 0, 0x4733, 0xCA34, 0, 0, 0, 0x4575, 0x5F77, 0, 0xCA35, 0xCA36, 0, 0x5F79, 0, 0x4E55, 0, 0x5F76, 0xCA37, 0x5F78, 0x316D, 0xCA38, 0x5F73, 0, 0xCA39, 0xCA3A, 0, 0xCA3B, 0, 0, 0x535B, 0x5F7A, 0, 0, 0, 0, 0x4167, 0x3B38, 0x5F7C, 0, 0, 0, 0, 0x5F7B, 0x3F24, 0x5259, 0, 0, 0, 0, 0, 0, 0x5F7D, 0, 0, 0xCA3C, 0x6021, 0, 0x5F6E, 0x5F7E, 0, 0xCA3D, 0x6022, }; static const unsigned short utf8_to_euc_E787_x0213[] = { 0xCA32, 0x775E, 0, 0x4733, 0x7760, 0, 0, 0, 0x4575, 0x5F77, 0, 0xF023, 0xCA36, 0, 0x5F79, 0, 0x4E55, 0, 0x5F76, 0xF024, 0x5F78, 0x316D, 0xCA38, 0x5F73, 0, 0xF025, 0xCA3A, 0, 0xF026, 0, 0, 0x535B, 0x5F7A, 0, 0, 0, 0, 0x4167, 0x3B38, 0x5F7C, 0, 0, 0, 0, 0x5F7B, 0x3F24, 0x5259, 0, 0, 0, 0, 0, 0, 0x5F7D, 0, 0, 0xCA3C, 0x6021, 0, 0x5F6E, 0x5F7E, 0, 0x7761, 0x6022, }; static const unsigned short utf8_to_euc_E788[] = { 0xCA3E, 0, 0, 0, 0, 0, 0x477A, 0xCA3F, 0xCA40, 0xCA41, 0, 0, 0, 0x6023, 0, 0, 0x6024, 0, 0, 0xCA42, 0, 0, 0, 0xCA43, 0, 0, 0xCA44, 0x6025, 0, 0xCA45, 0, 0xCA46, 0, 0, 0, 0, 0xCA47, 0, 0, 0, 0x6026, 0, 0x445E, 0xCA48, 0x6028, 0x6027, 0, 0xCA49, 0x6029, 0, 0x602A, 0, 0xCA4A, 0x3C5F, 0x4963, 0, 0xCA4B, 0xCA4C, 0x4C6C, 0x602B, 0x602C, 0x4156, 0x3C24, 0x602D, }; static const unsigned short utf8_to_euc_E788_x0213[] = { 0x7762, 0, 0, 0, 0, 0, 0x477A, 0xF027, 0xCA40, 0xCA41, 0, 0, 0, 0x6023, 0, 0, 0x6024, 0, 0, 0xCA42, 0, 0x7763, 0, 0xCA43, 0, 0, 0xCA44, 0x6025, 0, 0xCA45, 0, 0xCA46, 0, 0, 0, 0, 0xCA47, 0, 0, 0, 0x6026, 0, 0x445E, 0xF02A, 0x6028, 0x6027, 0, 0xCA49, 0x6029, 0, 0x602A, 0, 0xF02B, 0x3C5F, 0x4963, 0, 0xF02C, 0xF02D, 0x4C6C, 0x602B, 0x602C, 0x4156, 0x3C24, 0x602D, }; static const unsigned short utf8_to_euc_E789[] = { 0x602E, 0xCA4D, 0xCA4E, 0xCA4F, 0, 0xCA50, 0x602F, 0x4A52, 0x4847, 0, 0, 0x6030, 0x4757, 0, 0xCA51, 0xCA52, 0xCA53, 0, 0x442D, 0xCA54, 0, 0xCA55, 0xCA56, 0, 0x6031, 0x3267, 0xCA57, 0x356D, 0xCA58, 0x4C46, 0xCA59, 0x4C36, 0xCA5A, 0x3234, 0x4F34, 0xCA5B, 0, 0, 0, 0x4B52, 0xCA5C, 0x4A2A, 0, 0xCA5D, 0, 0, 0xCA5E, 0xCA5F, 0, 0xCA60, 0x4037, 0, 0x6032, 0, 0, 0xCA61, 0xCA62, 0x4643, 0, 0xCA63, 0xCA64, 0x3823, 0x6033, 0xCA65, }; static const unsigned short utf8_to_euc_E789_x0213[] = { 0x602E, 0xCA4D, 0xF02F, 0xCA4F, 0, 0xCA50, 0x602F, 0x4A52, 0x4847, 0, 0, 0x6030, 0x4757, 0, 0xCA51, 0xCA52, 0xCA53, 0, 0x442D, 0xF030, 0, 0x7764, 0x7765, 0xF031, 0x6031, 0x3267, 0xCA57, 0x356D, 0xCA58, 0x4C46, 0xCA59, 0x4C36, 0xCA5A, 0x3234, 0x4F34, 0xF032, 0, 0, 0, 0x4B52, 0xCA5C, 0x4A2A, 0, 0xCA5D, 0, 0, 0xF034, 0xF035, 0, 0xCA60, 0x4037, 0, 0x6032, 0, 0, 0xCA61, 0xF036, 0x4643, 0, 0xCA63, 0xCA64, 0x3823, 0x6033, 0xF037, }; static const unsigned short utf8_to_euc_E78A[] = { 0x3A54, 0x6035, 0x6034, 0, 0xCA66, 0, 0, 0x6036, 0, 0xCA67, 0, 0, 0, 0xCA68, 0xCA69, 0, 0, 0, 0x6037, 0xCA6A, 0, 0, 0x6038, 0, 0, 0, 0, 0xCA6B, 0, 0, 0, 0, 0x353E, 0, 0x6039, 0, 0, 0, 0, 0x603A, 0xCA6C, 0, 0, 0, 0x3824, 0xCA6D, 0xCA6E, 0x4848, 0, 0xCA6F, 0x603C, 0, 0xCA70, 0, 0x3E75, 0, 0, 0x603B, 0, 0, 0, 0, 0xCA71, 0, }; static const unsigned short utf8_to_euc_E78A_x0213[] = { 0x3A54, 0x6035, 0x6034, 0, 0xCA66, 0, 0, 0x6036, 0, 0xCA67, 0, 0, 0, 0x7767, 0xF038, 0, 0, 0, 0x6037, 0xCA6A, 0, 0, 0x6038, 0, 0, 0, 0, 0x7768, 0, 0, 0, 0, 0x353E, 0, 0x6039, 0, 0, 0, 0, 0x603A, 0xCA6C, 0, 0, 0, 0x3824, 0xF03A, 0xF03B, 0x4848, 0xF03C, 0xF03D, 0x603C, 0, 0xCA70, 0, 0x3E75, 0, 0, 0x603B, 0, 0, 0, 0, 0x7769, 0, }; static const unsigned short utf8_to_euc_E78B[] = { 0, 0xCA72, 0x3638, 0x603D, 0x603F, 0, 0x603E, 0xCA73, 0, 0xCA74, 0, 0, 0xCA75, 0, 0x6040, 0, 0x3851, 0, 0x6041, 0, 0, 0xCA76, 0xCA77, 0x3669, 0xCA78, 0x4140, 0, 0x397D, 0, 0, 0, 0xCA79, 0x6043, 0x6044, 0x6042, 0, 0, 0xCA7A, 0, 0, 0, 0x3C6D, 0, 0, 0x4648, 0x3639, 0, 0, 0, 0, 0, 0xCA7B, 0xCA7C, 0, 0, 0x6046, 0x432C, 0x6045, 0xCA7D, 0xCA7E, 0x4F35, 0x4762, 0xCB21, 0, }; static const unsigned short utf8_to_euc_E78B_x0213[] = { 0x776A, 0xF03E, 0x3638, 0x603D, 0x603F, 0, 0x603E, 0xCA73, 0, 0xCA74, 0, 0, 0xF040, 0, 0x6040, 0, 0x3851, 0, 0x6041, 0, 0, 0xCA76, 0xCA77, 0x3669, 0xCA78, 0x4140, 0, 0x397D, 0, 0, 0, 0xCA79, 0x6043, 0x6044, 0x6042, 0, 0, 0xCA7A, 0, 0, 0, 0x3C6D, 0, 0, 0x4648, 0x3639, 0, 0, 0, 0, 0, 0xF043, 0xCA7C, 0, 0, 0x6046, 0x432C, 0x6045, 0xF044, 0x776B, 0x4F35, 0x4762, 0xCB21, 0, }; static const unsigned short utf8_to_euc_E78C[] = { 0, 0, 0xCB22, 0, 0xCB23, 0xCB24, 0, 0xCB25, 0, 0, 0x6049, 0xCB26, 0, 0xCB27, 0, 0, 0, 0, 0xCB28, 0xCB29, 0, 0, 0x604B, 0x6048, 0xCB2A, 0xCB2B, 0, 0x4C54, 0x604A, 0x604C, 0xCB2C, 0x4E44, 0, 0, 0xCB2D, 0, 0xCB2E, 0x6050, 0, 0xCB2F, 0xCB30, 0x604F, 0x4376, 0x472D, 0xCB31, 0, 0x3825, 0x604E, 0, 0xCB32, 0xCB33, 0, 0x604D, 0xCB34, 0x4D31, 0x4D32, 0, 0, 0xCB35, 0xCB36, 0, 0xCB37, 0x6051, 0x316E, }; static const unsigned short utf8_to_euc_E78C_x0213[] = { 0, 0, 0xCB22, 0, 0xCB23, 0xCB24, 0, 0xF045, 0, 0, 0x6049, 0xCB26, 0, 0xCB27, 0, 0, 0, 0, 0xF046, 0xCB29, 0, 0, 0x604B, 0x6048, 0xF047, 0xF048, 0, 0x4C54, 0x604A, 0x604C, 0xCB2C, 0x4E44, 0, 0, 0xCB2D, 0, 0, 0x6050, 0, 0x776D, 0x776E, 0x604F, 0x4376, 0x472D, 0xF04B, 0, 0x3825, 0x604E, 0, 0xF04C, 0xCB33, 0xF04D, 0x604D, 0xCB34, 0x4D31, 0x4D32, 0, 0xF04A, 0xCB35, 0xCB36, 0, 0xF04E, 0x6051, 0x316E, }; static const unsigned short utf8_to_euc_E78D[] = { 0, 0, 0, 0xCB38, 0x3976, 0x3B62, 0, 0, 0, 0, 0, 0, 0, 0xCB39, 0x6052, 0x6053, 0xCB3A, 0, 0xCB3B, 0, 0, 0, 0xCB3C, 0x6055, 0xCB3D, 0, 0, 0, 0, 0xCB3E, 0xCB3F, 0xCB40, 0xCB41, 0, 0, 0x3D43, 0, 0, 0xCB42, 0xCB43, 0x6057, 0xCB44, 0x6056, 0xCB45, 0xCB46, 0, 0xCB47, 0xCB48, 0x6058, 0xCB49, 0x334D, 0, 0, 0x605A, 0, 0xCB4A, 0x6059, 0xCB4B, 0x605C, 0x605B, 0xCB4C, 0, 0, 0, }; static const unsigned short utf8_to_euc_E78D_x0213[] = { 0, 0, 0, 0xCB38, 0x3976, 0x3B62, 0, 0, 0, 0, 0, 0, 0, 0xCB39, 0x6052, 0x6053, 0x7770, 0, 0xF04F, 0, 0, 0, 0xCB3C, 0x6055, 0xCB3D, 0, 0, 0, 0, 0xCB3E, 0xCB3F, 0xCB40, 0xCB41, 0, 0, 0x3D43, 0, 0, 0x7771, 0xCB43, 0x6057, 0xCB44, 0x6056, 0xF051, 0xF052, 0, 0xF054, 0xF055, 0x6058, 0xF056, 0x334D, 0, 0, 0x605A, 0, 0xF057, 0x6059, 0xCB4B, 0x605C, 0x605B, 0x7772, 0, 0, 0, }; static const unsigned short utf8_to_euc_E78E[] = { 0xCB4D, 0xCB4E, 0, 0xCB4F, 0x383C, 0xCB50, 0xCB51, 0x4E28, 0, 0x364C, 0, 0x3226, 0, 0, 0xCB52, 0, 0xCB53, 0, 0, 0xCB54, 0, 0xCB55, 0x366A, 0xCB56, 0xCB57, 0, 0, 0, 0xCB58, 0, 0xCB59, 0xCB5A, 0xCB5B, 0, 0xCB5C, 0, 0, 0xCB5D, 0xCB5E, 0, 0, 0x3461, 0xCB5F, 0xCB60, 0, 0xCB61, 0, 0, 0, 0, 0x4E68, 0x605E, 0, 0xCB62, 0, 0xCB63, 0, 0xCB64, 0, 0x6060, 0xCB65, 0xCB66, 0, 0xCB67, }; static const unsigned short utf8_to_euc_E78E_x0213[] = { 0xCB4D, 0xF058, 0, 0xCB4F, 0x383C, 0xF059, 0xCB51, 0x4E28, 0, 0x364C, 0xF05A, 0x3226, 0, 0, 0xCB52, 0, 0xCB53, 0, 0, 0xCB54, 0xF05B, 0x7773, 0x366A, 0xCB56, 0xF05C, 0, 0, 0, 0xF05D, 0, 0xF05E, 0x7774, 0x7775, 0, 0x7776, 0, 0, 0xF05F, 0x7777, 0, 0xF060, 0x3461, 0xCB5F, 0x7778, 0, 0xCB61, 0, 0, 0, 0, 0x4E68, 0x605E, 0, 0xF061, 0, 0xF062, 0, 0xF063, 0, 0x6060, 0xF064, 0, 0, 0xF065, }; static const unsigned short utf8_to_euc_E78F[] = { 0x6061, 0, 0x3251, 0, 0, 0xCB68, 0xCB69, 0, 0x605D, 0xCB6A, 0x3B39, 0xCB6B, 0xCB6C, 0x4441, 0x605F, 0xCB6D, 0, 0, 0xCB6E, 0xCB6F, 0, 0, 0xCB70, 0, 0, 0xCB71, 0, 0, 0, 0xCB72, 0x6064, 0, 0x3C6E, 0xCB73, 0, 0xCB74, 0, 0x6062, 0xCB75, 0xCB76, 0, 0xCB77, 0x373E, 0, 0, 0x4849, 0x6063, 0, 0, 0x607E, 0, 0, 0xCB78, 0xCB79, 0, 0xCB7A, 0x6069, 0xCB7B, 0xCB7C, 0xCB7D, 0, 0xCB7E, 0x383D, 0xCC21, }; static const unsigned short utf8_to_euc_E78F_x0213[] = { 0x6061, 0, 0x3251, 0, 0, 0xF066, 0xCB69, 0, 0x605D, 0x7779, 0x3B39, 0xF067, 0xCB6C, 0x4441, 0x605F, 0x777A, 0, 0, 0, 0xCB6F, 0, 0, 0x777B, 0, 0, 0x777C, 0, 0, 0, 0xCB72, 0x6064, 0, 0x3C6E, 0xF068, 0, 0x777D, 0, 0x6062, 0xCB75, 0xF069, 0, 0x777E, 0x373E, 0, 0, 0x4849, 0x6063, 0, 0, 0x607E, 0, 0, 0xCB78, 0, 0, 0xCB7A, 0x6069, 0xF06A, 0xF06C, 0xCB7D, 0, 0xCB7E, 0x383D, 0xCC21, }; static const unsigned short utf8_to_euc_E790[] = { 0xCC22, 0xCC23, 0, 0x3565, 0xCC24, 0x6066, 0x4D7D, 0xCC25, 0, 0x4E30, 0xCC26, 0, 0, 0, 0, 0, 0, 0xCC27, 0, 0, 0, 0, 0, 0, 0, 0, 0xCC28, 0xCC29, 0, 0, 0, 0, 0, 0, 0x4276, 0, 0xCC2A, 0x6068, 0xCC2B, 0, 0xCC2C, 0xCC2D, 0xCC2E, 0xCC2F, 0xCC30, 0xCC31, 0xCC32, 0xCC33, 0xCC34, 0xCC35, 0x606A, 0x4E56, 0x3657, 0x487C, 0x474A, 0, 0, 0xCC36, 0x606B, 0, 0, 0, 0, 0x606D, }; static const unsigned short utf8_to_euc_E790_x0213[] = { 0xCC22, 0xF06D, 0, 0x3565, 0xCC24, 0x6066, 0x4D7D, 0x7821, 0, 0x4E30, 0x7822, 0, 0, 0, 0, 0, 0, 0xCC27, 0, 0xF06B, 0, 0, 0, 0, 0, 0, 0x7823, 0x7824, 0, 0, 0, 0, 0, 0, 0x4276, 0, 0xF06E, 0x6068, 0x7826, 0, 0x7827, 0, 0x7828, 0x7829, 0x782A, 0xCC31, 0x782B, 0x782C, 0x782D, 0xF06F, 0x606A, 0x4E56, 0x3657, 0x487C, 0x474A, 0, 0, 0xF070, 0x606B, 0, 0, 0, 0, 0x606D, }; static const unsigned short utf8_to_euc_E791[] = { 0xCC37, 0x6070, 0, 0xCC38, 0xCC39, 0, 0xCC3A, 0xCC3B, 0, 0, 0, 0xCC3C, 0, 0xCC3D, 0, 0, 0, 0xCC3E, 0xCC3F, 0, 0, 0x606C, 0, 0xCC40, 0, 0x606F, 0x386A, 0x314D, 0x6071, 0xCC41, 0x3F70, 0x606E, 0x4E5C, 0, 0xCC42, 0x6074, 0x7424, 0, 0xCC43, 0xCC44, 0xCC45, 0x6072, 0x6075, 0xCC46, 0, 0xCC47, 0xCC48, 0x6067, 0x6073, 0xCC49, 0xCC4A, 0x3A3C, 0, 0, 0x6076, 0, 0, 0, 0, 0, 0, 0, 0x6077, 0, }; static const unsigned short utf8_to_euc_E791_x0213[] = { 0xF072, 0x6070, 0, 0xF073, 0x782E, 0, 0x782F, 0x7830, 0, 0, 0, 0x7831, 0, 0xF074, 0, 0, 0, 0xCC3E, 0xF075, 0xF071, 0, 0x606C, 0, 0x7832, 0, 0x606F, 0x386A, 0x314D, 0x6071, 0xF076, 0x3F70, 0x606E, 0x4E5C, 0, 0x7833, 0x6074, 0x7424, 0, 0xCC43, 0xCC44, 0xCC45, 0x6072, 0x6075, 0x7834, 0, 0x7835, 0xCC48, 0x6067, 0x6073, 0xF077, 0xCC4A, 0x3A3C, 0, 0, 0x6076, 0, 0, 0, 0, 0, 0, 0, 0x6077, 0, }; static const unsigned short utf8_to_euc_E792[] = { 0xCC4B, 0xCC4C, 0, 0x4D7E, 0, 0xCC4D, 0xCC4E, 0xCC4F, 0, 0xCC50, 0, 0x6078, 0, 0, 0, 0xCC51, 0xCC52, 0xCC53, 0xCC54, 0, 0, 0, 0, 0, 0xCC55, 0xCC56, 0xCC57, 0, 0xCC58, 0, 0x6079, 0xCC59, 0xCC5A, 0xCC5B, 0x6065, 0xCC5C, 0, 0, 0xCC5D, 0x607A, 0xCC5E, 0xCC5F, 0xCC60, 0xCC61, 0, 0, 0xCC62, 0xCC63, 0x3444, 0xCC64, 0xCC65, 0, 0, 0xCC66, 0, 0, 0, 0xCC67, 0, 0xCC68, 0, 0x3C25, 0, 0xCC69, }; static const unsigned short utf8_to_euc_E792_x0213[] = { 0xCC4B, 0xF078, 0, 0x4D7E, 0, 0xF079, 0x7836, 0x7837, 0xF07A, 0x7838, 0, 0x6078, 0, 0, 0, 0xCC51, 0x783D, 0xCC53, 0xF07C, 0, 0, 0, 0, 0xF07D, 0x7839, 0xF07E, 0xCC57, 0, 0x783A, 0, 0x6079, 0x783B, 0xF121, 0xF122, 0x6065, 0x783C, 0, 0xF123, 0x783E, 0x607A, 0x783F, 0x7840, 0xF124, 0xF125, 0, 0, 0xCC62, 0xCC63, 0x3444, 0xCC64, 0xCC65, 0, 0, 0x7841, 0, 0, 0, 0xF126, 0xF128, 0xF127, 0, 0x3C25, 0, 0x7842, }; static const unsigned short utf8_to_euc_E793[] = { 0, 0, 0, 0, 0, 0, 0, 0, 0xCC6A, 0xCC6B, 0x607B, 0, 0xCC6C, 0, 0, 0x607C, 0xCC6D, 0, 0, 0xCC6E, 0x607D, 0, 0, 0, 0xCC6F, 0, 0xCC70, 0xCC71, 0x313B, 0, 0xCC72, 0xCC73, 0x6121, 0, 0x493B, 0x6122, 0xCC74, 0, 0x3424, 0x6123, 0xCC75, 0x6124, 0xCC76, 0xCC77, 0, 0, 0x6125, 0xCC78, 0x6127, 0x6128, 0x6126, 0, 0xCC79, 0, 0x4953, 0x612A, 0x6129, 0, 0xCC7A, 0xCC7B, 0xCC7C, 0, 0, 0xCC7D, }; static const unsigned short utf8_to_euc_E793_x0213[] = { 0, 0, 0, 0, 0, 0, 0, 0, 0x7843, 0x7844, 0x607B, 0, 0xCC6C, 0, 0, 0x607C, 0xCC6D, 0, 0, 0xCC6E, 0x607D, 0, 0xF129, 0, 0xF12A, 0, 0x7845, 0xCC71, 0x313B, 0, 0xF12B, 0xCC73, 0x6121, 0, 0x493B, 0x6122, 0xCC74, 0, 0x3424, 0x6123, 0xCC75, 0x6124, 0xCC76, 0xF12D, 0, 0, 0x6125, 0xF12C, 0x6127, 0x6128, 0x6126, 0, 0xCC79, 0, 0x4953, 0x612A, 0x6129, 0, 0xF12F, 0xCC7B, 0xCC7C, 0, 0, 0x7846, }; static const unsigned short utf8_to_euc_E794[] = { 0, 0xF450, 0, 0x612C, 0x612B, 0x612D, 0xCC7E, 0, 0, 0, 0, 0, 0x612E, 0x6130, 0x612F, 0, 0, 0x3979, 0xCD21, 0x6132, 0, 0x6131, 0xCD22, 0xCD23, 0x3445, 0, 0x3F53, 0, 0x453C, 0, 0x6133, 0x4038, 0xCD24, 0xCD25, 0, 0x3B3A, 0xCD26, 0x3179, 0x6134, 0xCD27, 0x4D51, 0xCD28, 0xCD29, 0x4A63, 0x6135, 0, 0, 0xCD2A, 0x4544, 0x4D33, 0x3943, 0x3F3D, 0, 0, 0xCD2B, 0x434B, 0x5234, 0xCD2C, 0x442E, 0x3268, 0x6136, 0xCD2D, 0xCD2E, 0xCD2F, }; static const unsigned short utf8_to_euc_E794_x0213[] = { 0, 0x7847, 0, 0x612C, 0x612B, 0x612D, 0xCC7E, 0, 0, 0, 0, 0, 0x612E, 0x6130, 0x612F, 0, 0, 0x3979, 0xCD21, 0x6132, 0, 0x6131, 0xCD22, 0x7848, 0x3445, 0, 0x3F53, 0, 0x453C, 0, 0x6133, 0x4038, 0xF131, 0xCD25, 0, 0x3B3A, 0xF132, 0x3179, 0x6134, 0xCD27, 0x4D51, 0xCD28, 0xF133, 0x4A63, 0x6135, 0, 0, 0x7849, 0x4544, 0x4D33, 0x3943, 0x3F3D, 0, 0, 0xCD2B, 0x434B, 0x5234, 0xCD2C, 0x442E, 0x3268, 0x6136, 0xF136, 0xF137, 0xCD2F, }; static const unsigned short utf8_to_euc_E795[] = { 0xCD30, 0, 0, 0xCD31, 0x6137, 0, 0x613C, 0xCD32, 0xCD33, 0x613A, 0x6139, 0x5A42, 0x3326, 0x6138, 0xCD34, 0x305A, 0xCD35, 0x482A, 0xCD36, 0, 0x484A, 0, 0, 0xCD37, 0, 0x4E31, 0x613D, 0x613B, 0x435C, 0x4026, 0xCD38, 0xCD39, 0x482B, 0xCD3A, 0x492D, 0, 0x613F, 0x4E2C, 0x374D, 0x6140, 0, 0x613E, 0x4856, 0x6141, 0, 0x6142, 0, 0xCD3B, 0x305B, 0xCD3C, 0, 0x3E76, 0x6147, 0, 0x6144, 0x466D, 0x6143, 0xCD3D, 0xCD3E, 0xCD3F, 0xCD40, 0xCD41, 0xCD42, 0x3526, }; static const unsigned short utf8_to_euc_E795_x0213[] = { 0xF138, 0, 0, 0xCD31, 0x6137, 0, 0x613C, 0xCD32, 0xF139, 0x613A, 0x6139, 0x5A42, 0x3326, 0x6138, 0xF13A, 0x305A, 0xF13B, 0x482A, 0xF13C, 0, 0x484A, 0, 0, 0xCD37, 0, 0x4E31, 0x613D, 0x613B, 0x435C, 0x4026, 0xCD38, 0xCD39, 0x482B, 0xCD3A, 0x492D, 0, 0x613F, 0x4E2C, 0x374D, 0x6140, 0, 0x613E, 0x4856, 0x6141, 0xF13D, 0x6142, 0, 0x784A, 0x305B, 0xF13F, 0xF13E, 0x3E76, 0x6147, 0, 0x6144, 0x466D, 0x6143, 0x784B, 0xF140, 0xCD3F, 0xCD40, 0xF141, 0xF142, 0x3526, }; static const unsigned short utf8_to_euc_E796[] = { 0, 0xCD43, 0x614A, 0, 0, 0xCD44, 0x6145, 0x6146, 0, 0x6149, 0x6148, 0x4925, 0, 0, 0x4142, 0x4141, 0xCD45, 0x353F, 0xCD46, 0xCD47, 0x614B, 0xCD48, 0, 0, 0, 0xCD49, 0x614C, 0, 0xCD4A, 0x614D, 0, 0, 0, 0, 0xCD4B, 0x614F, 0xCD4C, 0x614E, 0, 0, 0, 0, 0, 0x3156, 0, 0, 0, 0, 0, 0x6157, 0x4868, 0x6151, 0xCD4D, 0x6153, 0, 0, 0x6155, 0x3F3E, 0xCD4E, 0, 0x6156, 0x6154, 0x3C40, 0xCD4F, }; static const unsigned short utf8_to_euc_E796_x0213[] = { 0, 0xF143, 0x614A, 0, 0, 0xCD44, 0x6145, 0x6146, 0, 0x6149, 0x6148, 0x4925, 0xF145, 0, 0x4142, 0x4141, 0xCD45, 0x353F, 0x784C, 0xCD47, 0x614B, 0xCD48, 0, 0, 0, 0xCD49, 0x614C, 0, 0xCD4A, 0x614D, 0, 0, 0, 0, 0xF147, 0x614F, 0xCD4C, 0x614E, 0, 0, 0, 0, 0, 0x3156, 0, 0, 0, 0, 0xF149, 0x6157, 0x4868, 0x6151, 0xCD4D, 0x6153, 0, 0xF14A, 0x6155, 0x3F3E, 0xCD4E, 0, 0x6156, 0x6154, 0x3C40, 0xF14B, }; static const unsigned short utf8_to_euc_E797[] = { 0xCD50, 0xCD51, 0x6150, 0x6152, 0xCD52, 0x4942, 0xCD53, 0x3E49, 0, 0, 0x6159, 0, 0xCD54, 0x6158, 0xCD55, 0xCD56, 0, 0, 0x615A, 0, 0x3C26, 0x3A2F, 0, 0xCD57, 0x4577, 0x615B, 0, 0x444B, 0xCD58, 0, 0x615D, 0xCD59, 0xCD5A, 0xCD5B, 0x4E21, 0x615C, 0xCD5C, 0, 0, 0xCD5D, 0, 0x4169, 0, 0, 0xCD5E, 0, 0xCD5F, 0xCD60, 0x6162, 0xCD61, 0x6164, 0x6165, 0x4354, 0, 0, 0, 0, 0xCD62, 0x6163, 0, 0x6160, 0, 0x615E, 0x615F, }; static const unsigned short utf8_to_euc_E797_x0213[] = { 0xF14C, 0xCD51, 0x6150, 0x6152, 0xCD52, 0x4942, 0xF14D, 0x3E49, 0, 0, 0x6159, 0, 0xCD54, 0x6158, 0x784E, 0xF14E, 0, 0, 0x615A, 0xF14F, 0x3C26, 0x3A2F, 0, 0xCD57, 0x4577, 0x615B, 0, 0x444B, 0xCD58, 0xF150, 0x615D, 0xF151, 0xF152, 0xCD5B, 0x4E21, 0x615C, 0x784F, 0, 0, 0xF153, 0, 0x4169, 0, 0, 0xF154, 0, 0xF155, 0xCD60, 0x6162, 0xF156, 0x6164, 0x6165, 0x4354, 0, 0, 0, 0, 0xF157, 0x6163, 0, 0x6160, 0, 0x615E, 0x615F, }; static const unsigned short utf8_to_euc_E798[] = { 0xCD63, 0x6161, 0xCD64, 0xCD65, 0xCD66, 0, 0, 0xCD67, 0xCD68, 0x6168, 0xCD69, 0x6166, 0xCD6A, 0x6167, 0, 0xCD6B, 0, 0, 0xCD6C, 0xCD6D, 0, 0xCD6E, 0xCD6F, 0, 0, 0xCD70, 0, 0xCD71, 0xCD72, 0xCD73, 0xCD74, 0x6169, 0x616B, 0x616C, 0x616D, 0xCD75, 0x616E, 0xCD76, 0xCD77, 0x616A, 0, 0xCD78, 0, 0, 0, 0xCD79, 0, 0, 0x6170, 0, 0xCD7A, 0xCD7B, 0x616F, 0xCD7C, 0, 0, 0xCD7D, 0xCD7E, 0xCE21, 0x6171, 0xCE22, 0, 0, 0, }; static const unsigned short utf8_to_euc_E798_x0213[] = { 0x7850, 0x6161, 0x7851, 0xF158, 0xCD66, 0, 0, 0xF15A, 0x7852, 0x6168, 0xCD69, 0x6166, 0xCD6A, 0x6167, 0, 0xF15B, 0, 0, 0xCD6C, 0xF15E, 0, 0x7853, 0x7854, 0, 0xF159, 0x7855, 0, 0xF15F, 0xF160, 0xCD73, 0x7856, 0x6169, 0x616B, 0x616C, 0x616D, 0xCD75, 0x616E, 0xF162, 0x7E7D, 0x616A, 0xF163, 0xCD78, 0, 0, 0, 0x7857, 0, 0, 0x6170, 0, 0xCD7A, 0xF165, 0x616F, 0x7858, 0, 0, 0xCD7D, 0xCD7E, 0xCE21, 0x6171, 0xF164, 0, 0, 0, }; static const unsigned short utf8_to_euc_E799[] = { 0xCE24, 0xCE25, 0x4E45, 0xCE26, 0xCE27, 0xCE28, 0x6174, 0x6172, 0x6173, 0xCE29, 0xCE23, 0xCE2A, 0x3462, 0, 0, 0, 0, 0, 0x4C7E, 0, 0, 0xCE2B, 0x4A4A, 0, 0x6176, 0xCE2C, 0, 0, 0x6175, 0, 0, 0xCE2D, 0, 0x6177, 0x6178, 0, 0xCE2E, 0xCE2F, 0, 0x617C, 0x6179, 0x617A, 0x617B, 0, 0x617D, 0xCE30, 0xCE31, 0xCE32, 0x617E, 0xCE33, 0x6221, 0, 0xCE34, 0, 0x6222, 0, 0x6223, 0, 0x482F, 0x4550, 0x6224, 0x4772, 0x4934, 0, }; static const unsigned short utf8_to_euc_E799_x0213[] = { 0xCE24, 0xF168, 0x4E45, 0x7859, 0xCE27, 0xCE28, 0x6174, 0x6172, 0x6173, 0xF16A, 0xCE23, 0x785A, 0x3462, 0, 0, 0, 0, 0, 0x4C7E, 0, 0, 0xF16B, 0x4A4A, 0, 0x6176, 0xCE2C, 0, 0, 0x6175, 0, 0, 0xCE2D, 0, 0x6177, 0x6178, 0, 0x785B, 0x785C, 0, 0x617C, 0x6179, 0x617A, 0x617B, 0, 0x617D, 0x785D, 0xF16D, 0x785E, 0x617E, 0x785F, 0x6221, 0, 0xCE34, 0, 0x6222, 0, 0x6223, 0, 0x482F, 0x4550, 0x6224, 0x4772, 0x4934, 0, }; static const unsigned short utf8_to_euc_E79A[] = { 0x6225, 0xCE35, 0xF451, 0x6226, 0x452A, 0xCE36, 0x3327, 0x3944, 0x6227, 0, 0, 0x6228, 0xCE37, 0xCE38, 0x6229, 0, 0x3B29, 0, 0, 0x622B, 0, 0xCE39, 0x622A, 0, 0, 0x622C, 0x622D, 0xCE3A, 0xCE3B, 0xCE3C, 0xF452, 0xCE3D, 0xCE3E, 0, 0xCE3F, 0xCE40, 0xCE41, 0xCE42, 0xCE43, 0xCE44, 0xCE45, 0, 0xCE46, 0, 0, 0xCE47, 0x4869, 0, 0x622E, 0, 0, 0, 0x622F, 0, 0, 0x7369, 0x6230, 0x6231, 0x6232, 0, 0, 0xCE48, 0, 0x3B2E, }; static const unsigned short utf8_to_euc_E79A_x0213[] = { 0x6225, 0x7860, 0, 0x6226, 0x452A, 0xCE36, 0x3327, 0x3944, 0x6227, 0, 0, 0x6228, 0xCE37, 0xCE38, 0x6229, 0, 0x3B29, 0, 0, 0x622B, 0, 0xF16E, 0x622A, 0, 0, 0x622C, 0x622D, 0x7861, 0xF16F, 0x7862, 0x7863, 0xCE3D, 0xF171, 0xF170, 0xCE3F, 0xCE40, 0xCE41, 0xCE42, 0x7864, 0xF172, 0xF173, 0, 0x7865, 0, 0, 0xCE47, 0x4869, 0xF174, 0x622E, 0, 0, 0, 0x622F, 0, 0x7866, 0x7369, 0x6230, 0x6231, 0x6232, 0, 0, 0xCE48, 0, 0x3B2E, }; static const unsigned short utf8_to_euc_E79B[] = { 0, 0xCE49, 0x6233, 0x4756, 0, 0xCE4A, 0x4B5F, 0, 0x314E, 0xCE4B, 0x3157, 0xCE4C, 0xCE4D, 0x6234, 0xCE4E, 0, 0, 0, 0x6236, 0, 0xCE4F, 0, 0x6235, 0x4570, 0, 0xCE50, 0, 0x4039, 0x5D39, 0, 0x6237, 0x4C41, 0xCE51, 0x6238, 0, 0x3446, 0x4857, 0x6239, 0xCE52, 0x623A, 0xCE53, 0, 0x623B, 0, 0xCE54, 0, 0x4C5C, 0, 0xCE55, 0xCE56, 0x4C55, 0, 0x443E, 0, 0xCE57, 0, 0x416A, 0xCE58, 0, 0x623D, 0xCE59, 0, 0x3D62, 0, }; static const unsigned short utf8_to_euc_E79B_x0213[] = { 0, 0xCE49, 0x6233, 0x4756, 0, 0x7867, 0x4B5F, 0, 0x314E, 0xF176, 0x3157, 0xCE4C, 0x7868, 0x6234, 0x7869, 0, 0, 0, 0x6236, 0, 0x786A, 0, 0x6235, 0x4570, 0, 0xCE50, 0, 0x4039, 0x5D39, 0, 0x6237, 0x4C41, 0xCE51, 0x6238, 0, 0x3446, 0x4857, 0x6239, 0x786B, 0x623A, 0xF178, 0, 0x623B, 0, 0xF179, 0, 0x4C5C, 0, 0xCE55, 0x786C, 0x4C55, 0, 0x443E, 0, 0xCE57, 0, 0x416A, 0xCE58, 0, 0x623D, 0x786D, 0, 0x3D62, 0, }; static const unsigned short utf8_to_euc_E79C[] = { 0xCE5A, 0x3E4A, 0, 0, 0x6240, 0, 0xCE5B, 0x623F, 0x623E, 0x487D, 0xCE5C, 0x3447, 0x3829, 0, 0xCE5D, 0, 0, 0, 0xCE5E, 0, 0xCE5F, 0xCE60, 0, 0xCE61, 0, 0xCE62, 0xCE63, 0x6246, 0xCE64, 0, 0x6243, 0x3F3F, 0x4C32, 0, 0xCE65, 0, 0x6242, 0x6244, 0x6245, 0, 0xCE66, 0x6241, 0, 0, 0, 0xCE67, 0xCE68, 0xCE69, 0, 0, 0, 0, 0xCE6A, 0xCE6B, 0xCE6C, 0x6247, 0x6248, 0xCE6D, 0x442F, 0, 0x3463, 0xCE6E, 0xCE6F, 0, }; static const unsigned short utf8_to_euc_E79C_x0213[] = { 0xCE5A, 0x3E4A, 0, 0, 0x6240, 0, 0xCE5B, 0x623F, 0x623E, 0x487D, 0x786E, 0x3447, 0x3829, 0, 0xCE5D, 0, 0, 0, 0xCE5E, 0, 0xCE5F, 0xCE60, 0, 0xF17B, 0, 0x786F, 0xF17C, 0x6246, 0xCE64, 0, 0x6243, 0x3F3F, 0x4C32, 0, 0xCE65, 0, 0x6242, 0x6244, 0x6245, 0, 0xCE66, 0x6241, 0, 0, 0, 0xF17D, 0xCE68, 0xCE69, 0, 0, 0, 0, 0x7870, 0xF17E, 0x7871, 0x6247, 0x6248, 0xCE6D, 0x442F, 0, 0x3463, 0xCE6E, 0xCE6F, 0, }; static const unsigned short utf8_to_euc_E79D[] = { 0x4365, 0, 0xCE70, 0, 0, 0xCE71, 0xCE72, 0x6249, 0, 0, 0xCE73, 0, 0, 0xCE74, 0xCE75, 0xCE76, 0, 0, 0xCE77, 0, 0, 0, 0xCE78, 0xCE79, 0, 0, 0x624A, 0x624D, 0xCE7A, 0, 0xCE7B, 0xCE7C, 0xCE7D, 0x3F67, 0xCE7E, 0x4644, 0xCF21, 0x624E, 0x4B53, 0xCF22, 0x624B, 0, 0xCF23, 0x624C, 0xCF24, 0, 0, 0, 0xCF25, 0, 0xCF26, 0xCF27, 0xCF28, 0, 0, 0, 0, 0x6251, 0xCF29, 0, 0, 0xCF2A, 0x6250, 0x624F, }; static const unsigned short utf8_to_euc_E79D_x0213[] = { 0x4365, 0, 0xCE70, 0, 0, 0xCE71, 0x7872, 0x6249, 0, 0, 0xCE73, 0, 0, 0x7873, 0x7874, 0xCE76, 0, 0, 0xCE77, 0, 0, 0, 0xCE78, 0xCE79, 0xF225, 0, 0x624A, 0x624D, 0x7875, 0, 0xCE7B, 0x7876, 0xF226, 0x3F67, 0x7877, 0x4644, 0xCF21, 0x624E, 0x4B53, 0xCF22, 0x624B, 0, 0xF227, 0x624C, 0xCF24, 0, 0, 0, 0xCF25, 0, 0xF229, 0xCF27, 0xCF28, 0, 0, 0, 0, 0x6251, 0x7878, 0, 0xF22A, 0xF22B, 0x6250, 0x624F, }; static const unsigned short utf8_to_euc_E79E[] = { 0xCF2B, 0, 0, 0, 0xCF2C, 0, 0, 0, 0, 0, 0, 0x6253, 0xCF2D, 0xCF2E, 0x6252, 0, 0, 0x6254, 0, 0, 0xCF2F, 0xCF30, 0xCF31, 0, 0, 0, 0xCF32, 0, 0, 0, 0x6256, 0xCF33, 0x6255, 0, 0xCF34, 0, 0, 0x4A4D, 0, 0xCF35, 0, 0, 0xCF36, 0, 0x3D56, 0x4E46, 0xCF37, 0xCF38, 0x6257, 0xCF39, 0, 0x4637, 0, 0xCF3A, 0x6258, 0, 0, 0x6259, 0, 0x625D, 0x625B, 0x625C, 0xCF3B, 0x625A, }; static const unsigned short utf8_to_euc_E79E_x0213[] = { 0x7879, 0, 0, 0, 0xCF2C, 0, 0, 0, 0, 0, 0, 0x6253, 0xCF2D, 0xCF2E, 0x6252, 0, 0, 0x6254, 0, 0, 0x787A, 0xCF30, 0xCF31, 0, 0, 0, 0xF22E, 0, 0, 0, 0x6256, 0xF22F, 0x6255, 0, 0xF230, 0, 0xF231, 0x4A4D, 0, 0xCF35, 0, 0xF232, 0x787B, 0, 0x3D56, 0x4E46, 0xCF37, 0xCF38, 0x6257, 0xCF39, 0, 0x4637, 0, 0xCF3A, 0x6258, 0, 0, 0x6259, 0, 0x625D, 0x625B, 0x625C, 0xCF3B, 0x625A, }; static const unsigned short utf8_to_euc_E79F[] = { 0, 0, 0, 0xCF3C, 0, 0, 0, 0x625E, 0, 0xCF3D, 0, 0, 0, 0x625F, 0, 0, 0, 0xCF3E, 0xCF3F, 0, 0, 0xCF40, 0, 0x6260, 0, 0xCF41, 0x6261, 0x4C37, 0x6262, 0, 0xCF42, 0xCF43, 0xCF44, 0, 0x4C70, 0x6263, 0xCF45, 0x434E, 0xCF46, 0x476A, 0, 0x366B, 0xCF47, 0, 0xCF48, 0x433B, 0x6264, 0x363A, 0xCF49, 0xCF4A, 0, 0x4050, 0xCF4B, 0, 0, 0, 0xCF4C, 0, 0, 0xCF4D, 0x6265, 0, 0, 0, }; static const unsigned short utf8_to_euc_E79F_x0213[] = { 0, 0, 0, 0xCF3C, 0, 0, 0, 0x625E, 0, 0xCF3D, 0, 0, 0, 0x625F, 0, 0, 0, 0xCF3E, 0xCF3F, 0, 0, 0xCF40, 0, 0x6260, 0, 0xCF41, 0x6261, 0x4C37, 0x6262, 0, 0xF233, 0xF234, 0x787C, 0, 0x4C70, 0x6263, 0xF235, 0x434E, 0xF236, 0x476A, 0, 0x366B, 0xF237, 0, 0xF238, 0x433B, 0x6264, 0x363A, 0xF23A, 0xCF4A, 0, 0x4050, 0xF23B, 0, 0, 0, 0xCF4C, 0, 0, 0xF23C, 0x6265, 0, 0, 0, }; static const unsigned short utf8_to_euc_E7A0[] = { 0, 0, 0x3A3D, 0, 0, 0xCF4E, 0xCF4F, 0, 0, 0xCF50, 0, 0, 0x6266, 0xCF51, 0xCF52, 0, 0, 0xCF53, 0x6267, 0, 0x3826, 0x3A55, 0, 0, 0, 0, 0, 0, 0, 0xCF54, 0, 0, 0x6269, 0xCF55, 0xCF56, 0xCF57, 0, 0x4556, 0x3A56, 0x354E, 0, 0, 0, 0, 0, 0xCF58, 0xCF59, 0, 0xCF5A, 0, 0x4B24, 0, 0x474B, 0xCF5B, 0, 0xCF5C, 0, 0, 0x4557, 0, 0, 0, 0, 0x395C, }; static const unsigned short utf8_to_euc_E7A0_x0213[] = { 0, 0, 0x3A3D, 0, 0, 0xF23E, 0xF23F, 0, 0, 0xF240, 0, 0, 0x6266, 0xF241, 0xCF52, 0, 0, 0xCF53, 0x6267, 0, 0x3826, 0x3A55, 0, 0, 0, 0xF242, 0, 0, 0, 0xCF54, 0, 0, 0x6269, 0xF243, 0xCF56, 0xCF57, 0, 0x4556, 0x3A56, 0x354E, 0, 0, 0, 0, 0xF244, 0x787D, 0xCF59, 0, 0xCF5A, 0, 0x4B24, 0, 0x474B, 0xCF5B, 0, 0xCF5C, 0, 0, 0x4557, 0, 0, 0, 0, 0x395C, }; static const unsigned short utf8_to_euc_E7A1[] = { 0, 0, 0, 0xCF5D, 0xCF5E, 0x626B, 0, 0xCF5F, 0xCF60, 0, 0, 0, 0xCF61, 0, 0xCF62, 0, 0, 0, 0xCF63, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0xCF64, 0x3E4B, 0xCF65, 0, 0xCF66, 0xCF67, 0, 0xCF68, 0xCF69, 0, 0, 0, 0xCF6A, 0, 0xCF6B, 0x4E32, 0x3945, 0, 0xCF6C, 0x3827, 0, 0, 0x4823, 0, 0x626D, 0, 0, 0, 0, 0, 0xCF6D, 0, 0x626F, 0, 0xCF6E, 0, }; static const unsigned short utf8_to_euc_E7A1_x0213[] = { 0, 0, 0, 0x7921, 0xCF5E, 0x626B, 0, 0xF245, 0xCF60, 0, 0, 0, 0xCF61, 0, 0x7922, 0x7923, 0, 0x7924, 0xCF63, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0xCF64, 0x3E4B, 0xCF65, 0, 0xCF66, 0xCF67, 0, 0xCF68, 0xF246, 0, 0, 0, 0x7925, 0, 0xF247, 0x4E32, 0x3945, 0, 0x7926, 0x3827, 0, 0, 0x4823, 0, 0x626D, 0, 0, 0, 0, 0, 0, 0, 0x626F, 0, 0xCF6E, 0, }; static const unsigned short utf8_to_euc_E7A2[] = { 0, 0x386B, 0, 0, 0, 0, 0x626E, 0x4476, 0, 0, 0xCF6F, 0, 0x6271, 0x3337, 0x626C, 0xCF70, 0, 0x486A, 0, 0x3130, 0xCF71, 0x3A6C, 0, 0x4F52, 0xCF72, 0, 0x6270, 0, 0, 0xCF74, 0xCF75, 0xCF76, 0, 0xCF73, 0, 0x6272, 0xCF77, 0, 0, 0x4A4B, 0xCF78, 0x4059, 0x6274, 0, 0xCF79, 0xCF7A, 0, 0x6275, 0xCF7B, 0xCF7C, 0xCF7D, 0xCF7E, 0, 0x6273, 0, 0, 0, 0, 0x334E, 0xD021, 0x627B, 0xD022, 0x627A, 0xD023, }; static const unsigned short utf8_to_euc_E7A2_x0213[] = { 0, 0x386B, 0, 0, 0, 0, 0x626E, 0x4476, 0, 0, 0xF249, 0, 0x6271, 0x3337, 0x626C, 0xCF70, 0, 0x486A, 0, 0x3130, 0xF24A, 0x3A6C, 0, 0x4F52, 0xCF72, 0, 0x6270, 0, 0, 0xF24C, 0xF24D, 0xF24E, 0, 0xCF73, 0, 0x6272, 0xF24B, 0, 0, 0x4A4B, 0xCF78, 0x4059, 0x6274, 0, 0xCF79, 0x792A, 0, 0x6275, 0x7928, 0xCF7C, 0xCF7D, 0xCF7E, 0, 0x6273, 0, 0, 0, 0, 0x334E, 0xF24F, 0x627B, 0xD022, 0x627A, 0xD023, }; static const unsigned short utf8_to_euc_E7A3[] = { 0, 0x3C27, 0, 0, 0, 0x627C, 0x6277, 0xD024, 0xD025, 0xD026, 0x627D, 0x6278, 0xD027, 0, 0xD028, 0, 0x4858, 0x6276, 0xD029, 0xD02A, 0x6279, 0xD02B, 0xD02C, 0, 0, 0, 0x6322, 0xD02E, 0, 0, 0, 0xD02F, 0xD030, 0xD031, 0, 0, 0xD02D, 0, 0xD032, 0x6321, 0x4B61, 0, 0xD033, 0, 0x627E, 0, 0, 0x306B, 0, 0, 0xD034, 0xD035, 0x6324, 0, 0xD037, 0xD038, 0, 0, 0xD039, 0xD03A, 0, 0x6323, 0, 0xD03B, }; static const unsigned short utf8_to_euc_E7A3_x0213[] = { 0, 0x3C27, 0, 0, 0, 0x627C, 0x6277, 0xD024, 0xF250, 0xD026, 0x627D, 0x6278, 0xF251, 0, 0xF252, 0, 0x4858, 0x6276, 0xD029, 0xD02A, 0x6279, 0xF253, 0xD02C, 0, 0, 0, 0x6322, 0xD02E, 0, 0, 0, 0xD02F, 0xF254, 0xF255, 0, 0, 0x792B, 0, 0xF256, 0x6321, 0x4B61, 0, 0xD033, 0, 0x627E, 0, 0, 0x306B, 0, 0, 0x792C, 0xD035, 0x6324, 0, 0xD037, 0x792E, 0, 0xF257, 0xF258, 0xF259, 0, 0x6323, 0xF25A, 0xD03B, }; static const unsigned short utf8_to_euc_E7A4[] = { 0xD036, 0x3E4C, 0, 0, 0, 0, 0xD03C, 0x6325, 0, 0, 0, 0, 0xD03D, 0, 0x4143, 0, 0xD03E, 0x6327, 0x6326, 0, 0, 0, 0, 0, 0, 0x6328, 0xD03F, 0, 0xD040, 0, 0xD041, 0xD042, 0xD043, 0, 0, 0, 0, 0xD044, 0x6268, 0xD045, 0, 0xD046, 0x626A, 0x632A, 0x6329, 0xD047, 0, 0, 0xF454, 0xD048, 0, 0, 0xD049, 0xD04A, 0, 0, 0, 0, 0x3C28, 0xD04B, 0x4E69, 0xD04C, 0x3C52, 0xD04D, }; static const unsigned short utf8_to_euc_E7A4_x0213[] = { 0x792D, 0x3E4C, 0, 0, 0, 0, 0xD03C, 0x6325, 0, 0, 0, 0, 0xD03D, 0, 0x4143, 0, 0xF25C, 0x6327, 0x6326, 0, 0, 0, 0, 0, 0, 0x6328, 0xD03F, 0xF25D, 0x792F, 0, 0xD041, 0xD042, 0xD043, 0, 0, 0, 0, 0xF25F, 0x6268, 0xD045, 0, 0xD046, 0x626A, 0x632A, 0x6329, 0xD047, 0x7930, 0, 0xF25E, 0x7931, 0, 0, 0x7932, 0xD04A, 0, 0, 0, 0, 0x3C28, 0xF260, 0x4E69, 0xD04C, 0x3C52, 0xD04D, }; static const unsigned short utf8_to_euc_E7A5[] = { 0x632B, 0x3737, 0, 0, 0xD04E, 0xD04F, 0xD050, 0x3540, 0x3527, 0x3B63, 0xD051, 0xD052, 0, 0, 0, 0xD053, 0x4D34, 0xD054, 0, 0x6331, 0xD055, 0x6330, 0x4144, 0x632D, 0xD056, 0, 0x632F, 0xD057, 0xD058, 0x3D4B, 0x3F40, 0x632E, 0x632C, 0, 0x472A, 0, 0, 0x3E4D, 0, 0xD059, 0x493C, 0xD05A, 0, 0xD05B, 0, 0x3A57, 0, 0, 0, 0, 0xD05C, 0, 0, 0, 0, 0x4578, 0, 0xD05D, 0x6332, 0xD05E, 0xD05F, 0, 0xD060, 0x6333, }; static const unsigned short utf8_to_euc_E7A5_x0213[] = { 0x632B, 0x3737, 0, 0, 0xD04E, 0x7935, 0x7936, 0x3540, 0x3527, 0x3B63, 0xF261, 0xD052, 0, 0, 0, 0xD053, 0x4D34, 0xD054, 0, 0x6331, 0xD055, 0x6330, 0x4144, 0x632D, 0xF262, 0, 0x632F, 0xF263, 0x793A, 0x3D4B, 0x3F40, 0x632E, 0x632C, 0, 0x472A, 0, 0, 0x3E4D, 0, 0xF265, 0x493C, 0xD05A, 0, 0xD05B, 0, 0x3A57, 0, 0, 0, 0, 0xF266, 0, 0, 0, 0, 0x4578, 0, 0x793E, 0x6332, 0xD05E, 0xD05F, 0, 0xD060, 0x6333, }; static const unsigned short utf8_to_euc_E7A6[] = { 0x6349, 0x3658, 0, 0, 0x4F3D, 0x4135, 0, 0, 0, 0, 0x6334, 0xD061, 0xD062, 0x3252, 0x4477, 0x4A21, 0, 0xD063, 0, 0xD064, 0xD065, 0xD066, 0xD067, 0, 0xD068, 0, 0, 0xD069, 0xD06A, 0x6335, 0, 0, 0, 0xD06B, 0, 0, 0, 0, 0x357A, 0x6336, 0xD06C, 0xD06D, 0x6338, 0xD06E, 0, 0, 0x6339, 0xD06F, 0x4729, 0xD070, 0, 0x633A, 0xD071, 0, 0, 0, 0xD072, 0x633B, 0x633C, 0xD073, 0, 0x3659, 0x3253, 0x4645, }; static const unsigned short utf8_to_euc_E7A6_x0213[] = { 0x6349, 0x3658, 0, 0, 0x4F3D, 0x4135, 0, 0, 0, 0, 0x6334, 0xD061, 0xD062, 0x3252, 0x4477, 0x4A21, 0, 0xD063, 0, 0xD064, 0xF267, 0xF268, 0xF269, 0, 0x7942, 0, 0, 0xF26A, 0xD06A, 0x6335, 0, 0, 0, 0xF26B, 0, 0, 0, 0, 0x357A, 0x6336, 0xD06C, 0xF26C, 0x6338, 0xD06E, 0, 0, 0x6339, 0xD06F, 0x4729, 0x7943, 0, 0x633A, 0xF26D, 0, 0, 0, 0x7944, 0x633B, 0x633C, 0xF26E, 0, 0x3659, 0x3253, 0x4645, }; static const unsigned short utf8_to_euc_E7A7[] = { 0x3D28, 0x3B64, 0xD074, 0, 0xD075, 0, 0, 0xD076, 0xD077, 0x633D, 0xD078, 0x3D29, 0, 0, 0, 0xD079, 0, 0x324A, 0x4943, 0, 0xD07A, 0x633E, 0xD07B, 0, 0x486B, 0, 0xD07C, 0, 0, 0xD07D, 0xD07E, 0x4145, 0xD121, 0x6341, 0xD122, 0x6342, 0x4769, 0xD123, 0x3F41, 0x633F, 0, 0x4361, 0xD124, 0xD125, 0x6340, 0xD126, 0, 0, 0x3E4E, 0xD127, 0, 0, 0, 0, 0, 0, 0xD128, 0, 0, 0x305C, 0xD129, 0, 0, 0, }; static const unsigned short utf8_to_euc_E7A7_x0213[] = { 0x3D28, 0x3B64, 0xF26F, 0, 0xD075, 0, 0, 0xF270, 0x7945, 0x633D, 0x7946, 0x3D29, 0xF271, 0xF272, 0, 0xD079, 0, 0x324A, 0x4943, 0, 0x7948, 0x633E, 0xF273, 0, 0x486B, 0, 0xD07C, 0, 0, 0xD07D, 0x7949, 0x4145, 0xD121, 0x6341, 0xD122, 0x6342, 0x4769, 0xD123, 0x3F41, 0x633F, 0, 0x4361, 0xD124, 0x794A, 0x6340, 0x794B, 0, 0, 0x3E4E, 0xD127, 0, 0, 0, 0, 0, 0, 0xD128, 0, 0, 0x305C, 0xD129, 0, 0, 0, }; static const unsigned short utf8_to_euc_E7A8[] = { 0x3529, 0, 0xD12A, 0xD12B, 0, 0, 0, 0xD12C, 0x6343, 0xD12D, 0xD12E, 0x4478, 0xD12F, 0x6344, 0x4047, 0, 0, 0xD130, 0, 0, 0x4C2D, 0xD131, 0, 0x4923, 0x6345, 0x6346, 0x4355, 0xD132, 0x4E47, 0, 0xD133, 0x6348, 0x6347, 0xD134, 0, 0, 0, 0, 0, 0xD135, 0, 0, 0, 0xD136, 0, 0xD137, 0x3C6F, 0xD138, 0xD139, 0x634A, 0x3070, 0, 0xD13A, 0xD13B, 0, 0x634D, 0xD13C, 0xD13D, 0xD13E, 0x634B, 0x3254, 0x374E, 0x634C, 0x3946, }; static const unsigned short utf8_to_euc_E7A8_x0213[] = { 0x3529, 0, 0xD12A, 0x794C, 0, 0, 0, 0xD12C, 0x6343, 0xD12D, 0xF278, 0x4478, 0xD12F, 0x6344, 0x4047, 0, 0, 0xF279, 0, 0, 0x4C2D, 0xF27A, 0, 0x4923, 0x6345, 0x6346, 0x4355, 0xF27B, 0x4E47, 0, 0xF27C, 0x6348, 0x6347, 0xD134, 0, 0, 0, 0, 0, 0xD135, 0, 0, 0, 0xD136, 0, 0xF27E, 0x3C6F, 0xD138, 0xD139, 0x634A, 0x3070, 0, 0xD13A, 0xD13B, 0, 0x634D, 0xF321, 0x794E, 0xD13E, 0x634B, 0x3254, 0x374E, 0x634C, 0x3946, }; static const unsigned short utf8_to_euc_E7A9[] = { 0x3972, 0, 0x4A66, 0x634E, 0xD13F, 0xD140, 0x4B54, 0xD141, 0xD142, 0x6350, 0, 0, 0xD143, 0x4051, 0x314F, 0x323A, 0x302C, 0, 0, 0, 0, 0xD144, 0xD145, 0x634F, 0, 0xD146, 0, 0, 0xD147, 0xD148, 0, 0xD149, 0xD14A, 0x6351, 0x6352, 0x3E77, 0, 0xD14B, 0, 0xD14C, 0, 0x6353, 0xD14D, 0x334F, 0, 0xD14E, 0, 0, 0x6355, 0, 0, 0, 0x376A, 0xD14F, 0x3566, 0, 0xD150, 0x6356, 0x3675, 0, 0, 0x6357, 0xD151, 0x407C, }; static const unsigned short utf8_to_euc_E7A9_x0213[] = { 0x3972, 0, 0x4A66, 0x634E, 0xD13F, 0xD140, 0x4B54, 0xF322, 0xD142, 0x6350, 0, 0, 0xF323, 0x4051, 0x314F, 0x323A, 0x302C, 0, 0, 0, 0, 0xD144, 0xF324, 0x634F, 0, 0xF325, 0, 0, 0xF326, 0x794F, 0, 0xF327, 0xF328, 0x6351, 0x6352, 0x3E77, 0, 0xD14B, 0, 0xF329, 0, 0x6353, 0xF32A, 0x334F, 0, 0x7950, 0, 0, 0x6355, 0, 0, 0, 0x376A, 0xF32B, 0x3566, 0, 0xF32C, 0x6356, 0x3675, 0, 0, 0x6357, 0xD151, 0x407C, }; static const unsigned short utf8_to_euc_E7AA[] = { 0xD152, 0x464D, 0xD153, 0x4060, 0x3A75, 0xD154, 0xD155, 0, 0x6358, 0, 0xD156, 0xD157, 0, 0, 0, 0, 0xD158, 0xD159, 0x4362, 0x416B, 0xD15A, 0x635A, 0x635C, 0x6359, 0x635B, 0, 0, 0, 0, 0, 0xD15B, 0x3722, 0xD15C, 0, 0, 0xD15D, 0, 0, 0, 0, 0, 0x635D, 0x3726, 0, 0xD15E, 0, 0x3567, 0x4D52, 0x635F, 0, 0, 0xD15F, 0, 0xD160, 0x6360, 0, 0, 0xD161, 0x312E, 0xD162, 0xD163, 0, 0, 0x6363, }; static const unsigned short utf8_to_euc_E7AA_x0213[] = { 0xD152, 0x464D, 0xF32D, 0x4060, 0x3A75, 0x7952, 0xD155, 0, 0x6358, 0, 0xF32E, 0xD157, 0, 0, 0, 0, 0xF32F, 0xD159, 0x4362, 0x416B, 0xD15A, 0x635A, 0x635C, 0x6359, 0x635B, 0, 0, 0, 0, 0, 0xD15B, 0x3722, 0x7953, 0, 0, 0xF330, 0, 0, 0, 0, 0, 0x635D, 0x3726, 0, 0xF331, 0, 0x3567, 0x4D52, 0x635F, 0, 0, 0x7955, 0, 0xD160, 0x6360, 0, 0, 0xF334, 0x312E, 0x7956, 0xF335, 0, 0xF336, 0x6363, }; static const unsigned short utf8_to_euc_E7AB[] = { 0, 0, 0, 0x3376, 0x6362, 0x6361, 0xD164, 0x6365, 0x635E, 0xD165, 0x6366, 0x4E29, 0xD166, 0x6367, 0xD167, 0x6368, 0, 0xD168, 0x5474, 0x636A, 0, 0x6369, 0, 0, 0, 0x636B, 0x636C, 0xD169, 0x4E35, 0x636D, 0, 0x706F, 0x3E4F, 0x636E, 0x636F, 0x3D57, 0, 0x4638, 0x6370, 0xF459, 0xD16A, 0xD16B, 0x4328, 0xD16C, 0xD16D, 0x6371, 0, 0x433C, 0x6372, 0xD16E, 0, 0, 0xD16F, 0, 0x3625, 0, 0x513F, 0x435D, 0x3C33, 0xD170, 0, 0xD171, 0xD172, 0x3448, }; static const unsigned short utf8_to_euc_E7AB_x0213[] = { 0, 0, 0, 0x3376, 0x6362, 0x6361, 0xD164, 0x6365, 0x635E, 0xD165, 0x6366, 0x4E29, 0xF338, 0x6367, 0x7957, 0x6368, 0, 0xF339, 0x5474, 0x636A, 0, 0x6369, 0, 0, 0, 0x636B, 0x636C, 0xD169, 0x4E35, 0x636D, 0, 0x706F, 0x3E4F, 0x636E, 0x636F, 0x3D57, 0, 0x4638, 0x6370, 0xF33A, 0xF33B, 0xD16B, 0x4328, 0x7958, 0xD16D, 0x6371, 0, 0x433C, 0x6372, 0xD16E, 0, 0, 0xF33C, 0, 0x3625, 0, 0x513F, 0x435D, 0x3C33, 0xD170, 0, 0x7959, 0xD172, 0x3448, }; static const unsigned short utf8_to_euc_E7AC[] = { 0, 0, 0x6373, 0, 0x6422, 0, 0x6376, 0xD173, 0x3568, 0, 0x6375, 0x6424, 0, 0, 0, 0x6374, 0, 0x3E50, 0, 0, 0xD174, 0, 0, 0, 0x6378, 0x6379, 0, 0x452B, 0, 0, 0x637A, 0xD175, 0x335E, 0, 0, 0xD176, 0, 0x3F5A, 0x4964, 0xD177, 0x637C, 0xD178, 0xD179, 0xD17A, 0x4268, 0xD17B, 0xD17C, 0xD17D, 0xD17E, 0xD221, 0, 0x6377, 0xD222, 0x637B, 0x637D, 0, 0, 0x3A7B, 0, 0, 0, 0xD223, 0, 0xD224, }; static const unsigned short utf8_to_euc_E7AC_x0213[] = { 0, 0, 0x6373, 0, 0x6422, 0, 0x6376, 0xF33F, 0x3568, 0, 0x6375, 0x6424, 0, 0, 0, 0x6374, 0, 0x3E50, 0x795A, 0, 0xD174, 0, 0, 0, 0x6378, 0x6379, 0, 0x452B, 0, 0, 0x637A, 0xD175, 0x335E, 0, 0, 0xD176, 0, 0x3F5A, 0x4964, 0xF342, 0x637C, 0xD178, 0xF343, 0xD17A, 0x4268, 0x795B, 0xF344, 0xF345, 0xD17E, 0xF346, 0, 0x6377, 0xD222, 0x637B, 0x637D, 0, 0, 0x3A7B, 0, 0x795C, 0, 0xF341, 0, 0xD224, }; static const unsigned short utf8_to_euc_E7AD[] = { 0xD225, 0xD226, 0, 0, 0, 0x6426, 0x492E, 0xD227, 0x4826, 0x4579, 0, 0x365A, 0x6425, 0x6423, 0xD228, 0x4835, 0x637E, 0x435E, 0x457B, 0, 0x457A, 0xD229, 0x3A76, 0, 0, 0, 0, 0, 0, 0x6438, 0, 0, 0xD22A, 0, 0, 0, 0xD22B, 0x6428, 0xD22C, 0x642A, 0, 0xD22D, 0xD22E, 0, 0x642D, 0xD22F, 0x642E, 0xD230, 0x642B, 0x642C, 0xD231, 0xD232, 0x6429, 0x6427, 0, 0xD233, 0, 0, 0x6421, 0, 0, 0, 0, 0, }; static const unsigned short utf8_to_euc_E7AD_x0213[] = { 0xD225, 0xF34A, 0, 0, 0, 0x6426, 0x492E, 0x795D, 0x4826, 0x4579, 0, 0x365A, 0x6425, 0x6423, 0x795E, 0x4835, 0x637E, 0x435E, 0x457B, 0, 0x457A, 0xF34C, 0x3A76, 0, 0, 0, 0, 0, 0, 0x6438, 0, 0, 0x795F, 0, 0, 0, 0xF34E, 0x6428, 0xF34F, 0x642A, 0, 0xF350, 0xD22E, 0, 0x642D, 0x7960, 0x642E, 0x7961, 0x642B, 0x642C, 0x7962, 0xF351, 0x6429, 0x6427, 0, 0xD233, 0, 0xF34D, 0x6421, 0, 0, 0, 0, 0xF349, }; static const unsigned short utf8_to_euc_E7AE[] = { 0, 0, 0, 0, 0xD234, 0, 0x4A4F, 0x3255, 0, 0xD235, 0, 0x6435, 0, 0x6432, 0xD236, 0x6437, 0xD237, 0xD238, 0x6436, 0, 0x4773, 0x4C27, 0xD239, 0x3B3B, 0x6430, 0x6439, 0x6434, 0xD23A, 0x6433, 0x642F, 0xD23B, 0x6431, 0xD23C, 0x3449, 0, 0, 0, 0xD23D, 0, 0, 0, 0, 0x433D, 0, 0xD23E, 0x407D, 0, 0xD23F, 0xD240, 0x4822, 0xD241, 0, 0x643E, 0xD242, 0xD243, 0, 0x4824, 0, 0xD244, 0xD245, 0xD246, 0xD247, 0, 0, }; static const unsigned short utf8_to_euc_E7AE_x0213[] = { 0, 0, 0, 0, 0xD234, 0, 0x4A4F, 0x3255, 0, 0xD235, 0, 0x6435, 0, 0x6432, 0xD236, 0x6437, 0xF354, 0xF355, 0x6436, 0, 0x4773, 0x4C27, 0xD239, 0x3B3B, 0x6430, 0x6439, 0x6434, 0xF356, 0x6433, 0x642F, 0x7963, 0x6431, 0xD23C, 0x3449, 0, 0, 0, 0xD23D, 0, 0, 0, 0, 0x433D, 0, 0xD23E, 0x407D, 0, 0xF358, 0xD240, 0x4822, 0xD241, 0, 0x643E, 0xF359, 0xD243, 0, 0x4824, 0, 0xD244, 0xD245, 0xF35A, 0xD247, 0, 0, }; static const unsigned short utf8_to_euc_E7AF[] = { 0x4061, 0x643B, 0xD248, 0, 0x484F, 0xD249, 0x643F, 0x4A53, 0xD24A, 0x435B, 0xD24B, 0x643A, 0x643C, 0, 0, 0x643D, 0, 0, 0, 0, 0xD24C, 0, 0xD24D, 0xD24E, 0, 0xD24F, 0xD250, 0xD251, 0, 0x6440, 0, 0, 0x3C44, 0, 0, 0, 0x4646, 0x6445, 0x6444, 0, 0xD252, 0x6441, 0xD253, 0, 0, 0x4F36, 0, 0, 0, 0, 0xD254, 0x644A, 0xD255, 0xD256, 0x644E, 0x644B, 0xD257, 0xD258, 0xD259, 0, 0xD25A, 0, 0xD25B, 0, }; static const unsigned short utf8_to_euc_E7AF_x0213[] = { 0x4061, 0x643B, 0xD248, 0, 0x484F, 0xF35B, 0x643F, 0x4A53, 0xD24A, 0x435B, 0xF35C, 0x643A, 0x643C, 0, 0, 0x643D, 0, 0, 0, 0, 0xF35F, 0, 0xF360, 0x7965, 0, 0x7966, 0xF361, 0xD251, 0, 0x6440, 0, 0, 0x3C44, 0, 0, 0, 0x4646, 0x6445, 0x6444, 0, 0xD252, 0x6441, 0xF362, 0, 0, 0x4F36, 0, 0, 0xF363, 0, 0xD254, 0x644A, 0xD255, 0xD256, 0x644E, 0x644B, 0xD257, 0xD258, 0xD259, 0, 0xD25A, 0, 0xD25B, 0, }; static const unsigned short utf8_to_euc_E7B0[] = { 0x6447, 0xD25C, 0xD25D, 0xD25E, 0xD25F, 0, 0xD260, 0x6448, 0, 0xD261, 0, 0xD262, 0xD263, 0x644D, 0xD264, 0xD265, 0, 0x6442, 0x5255, 0x6449, 0x6443, 0, 0, 0x644C, 0, 0xD266, 0, 0xD267, 0, 0, 0, 0x6452, 0xD268, 0x344A, 0, 0x644F, 0, 0xD269, 0xD26A, 0x6450, 0xD26B, 0, 0x6451, 0x6454, 0xD26C, 0, 0, 0, 0, 0xD26D, 0, 0xD26E, 0xD26F, 0, 0xD270, 0x6453, 0x4876, 0xD271, 0xD272, 0, 0, 0x6455, 0x4E7C, 0x4A6D, }; static const unsigned short utf8_to_euc_E7B0_x0213[] = { 0x6447, 0x7967, 0xD25D, 0xF364, 0xD25F, 0, 0xD260, 0x6448, 0, 0xD261, 0, 0xF365, 0xD263, 0x644D, 0xF366, 0xF367, 0, 0x6442, 0x5255, 0x6449, 0x6443, 0, 0, 0x644C, 0, 0xD266, 0, 0xD267, 0, 0, 0x7969, 0x6452, 0x796A, 0x344A, 0, 0x644F, 0, 0xD269, 0xF368, 0x6450, 0xD26B, 0, 0x6451, 0x6454, 0xD26C, 0, 0, 0, 0, 0x7968, 0, 0x796B, 0xD26F, 0, 0x796C, 0x6453, 0x4876, 0xD271, 0xD272, 0, 0, 0x6455, 0x4E7C, 0x4A6D, }; static const unsigned short utf8_to_euc_E7B1[] = { 0x645A, 0, 0, 0x6457, 0, 0, 0xD273, 0, 0, 0, 0xD274, 0, 0x6456, 0x4052, 0, 0x6459, 0x645B, 0xD276, 0xD277, 0xD278, 0x6458, 0xD275, 0x645F, 0, 0x645C, 0xD279, 0xD27A, 0xD27B, 0xD27C, 0xD27D, 0xD27E, 0x645D, 0x6446, 0xD321, 0, 0xD322, 0x645E, 0x6460, 0, 0xD323, 0, 0xD324, 0, 0, 0x6461, 0xD325, 0xD326, 0, 0xD327, 0, 0xD328, 0x4A46, 0, 0x6462, 0, 0, 0, 0xD329, 0, 0, 0xD32A, 0xD32B, 0x4C62, 0, }; static const unsigned short utf8_to_euc_E7B1_x0213[] = { 0x645A, 0, 0, 0x6457, 0, 0xF369, 0xD273, 0, 0, 0, 0xF36A, 0, 0x6456, 0x4052, 0, 0x6459, 0x645B, 0xF36B, 0xD277, 0xD278, 0x6458, 0xD275, 0x645F, 0xF36C, 0x645C, 0x796F, 0xD27A, 0xD27B, 0xD27C, 0xD27D, 0xF36D, 0x645D, 0x6446, 0xF36E, 0, 0xD322, 0x645E, 0x6460, 0, 0xD323, 0, 0xF36F, 0, 0, 0x6461, 0x7970, 0xF370, 0xF371, 0xF372, 0, 0xD328, 0x4A46, 0, 0x6462, 0, 0, 0, 0x7971, 0, 0, 0xD32A, 0xD32B, 0x4C62, 0, }; static const unsigned short utf8_to_euc_E7B2[] = { 0, 0x364E, 0x3729, 0x6463, 0, 0, 0xD32C, 0xD32D, 0, 0x4A34, 0, 0x3F68, 0, 0x4C30, 0, 0xD32E, 0x6464, 0, 0x4E33, 0, 0xD32F, 0x4774, 0, 0x4146, 0x4734, 0, 0, 0x3D4D, 0, 0, 0xD330, 0x3040, 0xD331, 0x6469, 0x6467, 0, 0x6465, 0x3421, 0xD332, 0x3E51, 0x646A, 0, 0, 0x6468, 0, 0x6466, 0x646E, 0, 0xD333, 0x646D, 0x646C, 0x646B, 0, 0, 0xD334, 0xD335, 0, 0x646F, 0xD336, 0xD337, 0xD338, 0x6470, 0x403A, 0xD339, }; static const unsigned short utf8_to_euc_E7B2_x0213[] = { 0, 0x364E, 0x3729, 0x6463, 0, 0, 0xD32C, 0xD32D, 0, 0x4A34, 0, 0x3F68, 0, 0x4C30, 0, 0x7972, 0x6464, 0, 0x4E33, 0, 0x7973, 0x4774, 0, 0x4146, 0x4734, 0, 0, 0x3D4D, 0, 0, 0xD330, 0x3040, 0x7974, 0x6469, 0x6467, 0, 0x6465, 0x3421, 0xF376, 0x3E51, 0x646A, 0, 0, 0x6468, 0, 0x6466, 0x646E, 0, 0xD333, 0x646D, 0x646C, 0x646B, 0, 0, 0xF378, 0xF379, 0, 0x646F, 0xD336, 0xD337, 0x7975, 0x6470, 0x403A, 0xF37A, }; static const unsigned short utf8_to_euc_E7B3[] = { 0x6471, 0, 0x6473, 0, 0xD33A, 0x6472, 0, 0xD33B, 0xD33C, 0xD33D, 0x3852, 0, 0, 0xD33E, 0x4138, 0xD33F, 0, 0, 0x6475, 0xD340, 0xD341, 0xD342, 0x457C, 0xD343, 0x6474, 0xD344, 0xD345, 0, 0x6476, 0xD346, 0x4A35, 0x416C, 0x3947, 0, 0x6477, 0, 0, 0, 0xD347, 0x4E48, 0, 0xD348, 0, 0xD349, 0, 0, 0, 0x6479, 0, 0, 0x647A, 0, 0x647B, 0xD34A, 0x647C, 0, 0x3B65, 0, 0x647D, 0x374F, 0, 0, 0x356A, 0, }; static const unsigned short utf8_to_euc_E7B3_x0213[] = { 0x6471, 0, 0x6473, 0, 0xF37C, 0x6472, 0, 0xD33B, 0xF37E, 0xD33D, 0x3852, 0, 0, 0xF421, 0x4138, 0xD33F, 0, 0, 0x6475, 0xD340, 0xD341, 0x7976, 0x457C, 0xF423, 0x6474, 0x7977, 0xD345, 0, 0x6476, 0x7978, 0x4A35, 0x416C, 0x3947, 0, 0x6477, 0, 0, 0, 0xF425, 0x4E48, 0, 0xD348, 0, 0xF426, 0, 0, 0, 0x6479, 0, 0, 0x647A, 0, 0x647B, 0xF428, 0x647C, 0, 0x3B65, 0, 0x647D, 0x374F, 0, 0, 0x356A, 0, }; static const unsigned short utf8_to_euc_E7B4[] = { 0x352A, 0, 0x6521, 0xD34B, 0x4C73, 0x3948, 0x647E, 0xD34C, 0xD34D, 0xD34E, 0x6524, 0x4C66, 0, 0x473C, 0, 0xD34F, 0x4933, 0xD350, 0xD351, 0xD352, 0x3D63, 0x6523, 0xD353, 0x3C53, 0x3949, 0x3B66, 0x3569, 0x4A36, 0x6522, 0xD354, 0xD355, 0, 0x4147, 0x4B42, 0x3A77, 0xD356, 0, 0, 0xD357, 0, 0, 0, 0xD358, 0x3B67, 0x445D, 0xD359, 0x6527, 0x4E5F, 0x3A59, 0xD35A, 0x6528, 0x3F42, 0, 0x652A, 0, 0, 0, 0x3E52, 0x3A30, 0, 0xD35B, 0xD35C, 0xD35D, 0x6529, }; static const unsigned short utf8_to_euc_E7B4_x0213[] = { 0x352A, 0, 0x6521, 0xF429, 0x4C73, 0x3948, 0x647E, 0x7979, 0x797A, 0xF42A, 0x6524, 0x4C66, 0, 0x473C, 0, 0xD34F, 0x4933, 0xD350, 0xF42C, 0x797B, 0x3D63, 0x6523, 0xD353, 0x3C53, 0x3949, 0x3B66, 0x3569, 0x4A36, 0x6522, 0x797C, 0xF42D, 0, 0x4147, 0x4B42, 0x3A77, 0x797D, 0, 0, 0xD357, 0, 0, 0, 0xD358, 0x3B67, 0x445D, 0xD359, 0x6527, 0x4E5F, 0x3A59, 0x797E, 0x6528, 0x3F42, 0, 0x652A, 0, 0, 0, 0x3E52, 0x3A30, 0, 0xD35B, 0xF430, 0xF431, 0x6529, }; static const unsigned short utf8_to_euc_E7B5[] = { 0xD35E, 0xD35F, 0x3D2A, 0x383E, 0x4148, 0x6525, 0x652B, 0xD360, 0xD361, 0, 0, 0x6526, 0x3750, 0xD362, 0x652E, 0x6532, 0x376B, 0xD363, 0, 0xD364, 0, 0, 0x652D, 0xD365, 0, 0xD366, 0xD367, 0x6536, 0xD368, 0xD369, 0x394A, 0, 0, 0x4D6D, 0x303C, 0x6533, 0, 0xD36A, 0x356B, 0xD36B, 0x6530, 0, 0xD36C, 0, 0, 0, 0x6531, 0, 0xD36D, 0x457D, 0x652F, 0x652C, 0, 0x3328, 0x4064, 0, 0xD36E, 0x3828, 0xD36F, 0xD370, 0, 0x6538, 0, 0xD371, }; static const unsigned short utf8_to_euc_E7B5_x0213[] = { 0xF432, 0x7A21, 0x3D2A, 0x383E, 0x4148, 0x6525, 0x652B, 0xF433, 0x7A22, 0, 0, 0x6526, 0x3750, 0xD362, 0x652E, 0x6532, 0x376B, 0xD363, 0, 0x7A23, 0, 0, 0x652D, 0xD365, 0, 0xF437, 0xF438, 0x6536, 0x7A24, 0xD369, 0x394A, 0, 0, 0x4D6D, 0x303C, 0x6533, 0, 0xD36A, 0x356B, 0xD36B, 0x6530, 0, 0xF439, 0, 0, 0, 0x6531, 0, 0xF43A, 0x457D, 0x652F, 0x652C, 0, 0x3328, 0x4064, 0, 0xD36E, 0x3828, 0x7A25, 0xD370, 0, 0x6538, 0, 0xF43C, }; static const unsigned short utf8_to_euc_E7B6[] = { 0, 0xD372, 0xD373, 0xD374, 0, 0xD375, 0xD376, 0, 0xD377, 0x6535, 0, 0xD378, 0xD379, 0xD37A, 0, 0x6537, 0, 0xD37B, 0, 0x6534, 0, 0, 0xD37C, 0xD37D, 0, 0x3751, 0x4233, 0x6539, 0x416E, 0xD37E, 0xD421, 0x6546, 0xF45C, 0, 0x6542, 0x653C, 0, 0, 0xD422, 0xD423, 0, 0, 0xD424, 0x6540, 0x3C7A, 0x305D, 0x653B, 0x6543, 0x6547, 0x394B, 0x4C56, 0xD425, 0x4456, 0x653D, 0xD426, 0xD427, 0x6545, 0xD428, 0x653A, 0x433E, 0, 0x653F, 0x303D, 0x4C4A, }; static const unsigned short utf8_to_euc_E7B6_x0213[] = { 0, 0xD372, 0xD373, 0x7A26, 0, 0xD375, 0xF43E, 0, 0xF43F, 0x6535, 0, 0x7A27, 0xF440, 0xD37A, 0, 0x6537, 0, 0xD37B, 0, 0x6534, 0, 0, 0xD37C, 0xF441, 0, 0x3751, 0x4233, 0x6539, 0x416E, 0xF443, 0xD421, 0x6546, 0x7A28, 0, 0x6542, 0x653C, 0, 0, 0x7A29, 0xF444, 0, 0, 0xF445, 0x6540, 0x3C7A, 0x305D, 0x653B, 0x6543, 0x6547, 0x394B, 0x4C56, 0xD425, 0x4456, 0x653D, 0xF446, 0xF447, 0x6545, 0xD428, 0x653A, 0x433E, 0, 0x653F, 0x303D, 0x4C4A, }; static const unsigned short utf8_to_euc_E7B7[] = { 0, 0, 0xD429, 0xD42A, 0xD42B, 0xD42C, 0xD42D, 0x653E, 0, 0, 0x365B, 0x486C, 0xD42E, 0xD42F, 0xD430, 0x416D, 0, 0x4E50, 0x3D6F, 0, 0, 0x656E, 0xF45D, 0xD431, 0x6548, 0xD432, 0x407E, 0, 0x6544, 0x6549, 0x654B, 0, 0x4479, 0x654E, 0xD434, 0, 0x654A, 0xD435, 0xD436, 0, 0x4A54, 0x344B, 0xD437, 0xD438, 0x4C4B, 0xD439, 0, 0x305E, 0, 0xD43A, 0x654D, 0, 0x4E7D, 0xD43B, 0xD43C, 0, 0, 0xD43D, 0xD43E, 0x654C, 0, 0, 0, 0, }; static const unsigned short utf8_to_euc_E7B7_x0213[] = { 0xF448, 0, 0x7A2A, 0xD42A, 0xD42B, 0xD42C, 0xD42D, 0x653E, 0, 0, 0x365B, 0x486C, 0x7A2B, 0xD42F, 0xD430, 0x416D, 0, 0x4E50, 0x3D6F, 0, 0, 0x656E, 0x7A2C, 0xF449, 0x6548, 0xF44A, 0x407E, 0, 0x6544, 0x6549, 0x654B, 0, 0x4479, 0x654E, 0xD434, 0x7A2D, 0x654A, 0xD435, 0xF44B, 0, 0x4A54, 0x344B, 0xD437, 0xD438, 0x4C4B, 0xD439, 0, 0x305E, 0, 0xF44C, 0x654D, 0, 0x4E7D, 0xD43B, 0xD43C, 0, 0, 0xF44D, 0xD43E, 0x654C, 0, 0, 0, 0, }; static const unsigned short utf8_to_euc_E7B8[] = { 0xD433, 0x316F, 0, 0, 0x466C, 0x654F, 0, 0, 0xD43F, 0x6556, 0x6550, 0x6557, 0, 0, 0, 0, 0xD440, 0xD441, 0x6553, 0, 0, 0xD442, 0, 0xD443, 0, 0, 0, 0x477B, 0xD444, 0xD445, 0x3C4A, 0x6555, 0xD446, 0x6552, 0x6558, 0x6551, 0, 0, 0x3D44, 0xD447, 0xD448, 0, 0, 0x4B25, 0xD449, 0xD44A, 0x3D4C, 0xD44B, 0, 0x6554, 0x6560, 0xD44C, 0, 0x655C, 0xD44D, 0x655F, 0, 0x655D, 0x6561, 0x655B, 0, 0x6541, 0x4053, 0xD44E, }; static const unsigned short utf8_to_euc_E7B8_x0213[] = { 0xD433, 0x316F, 0, 0, 0x466C, 0x654F, 0, 0, 0x7A30, 0x6556, 0x6550, 0x6557, 0, 0, 0, 0, 0xF451, 0x7A31, 0x6553, 0, 0, 0x7A32, 0, 0xF452, 0, 0, 0, 0x477B, 0xD444, 0xF453, 0x3C4A, 0x6555, 0xF454, 0x6552, 0x6558, 0x6551, 0, 0, 0x3D44, 0xF455, 0x7A2F, 0, 0, 0x4B25, 0xF456, 0xD44A, 0x3D4C, 0xD44B, 0, 0x6554, 0x6560, 0xD44C, 0, 0x655C, 0xD44D, 0x655F, 0, 0x655D, 0x6561, 0x655B, 0, 0x6541, 0x4053, 0xD44E, }; static const unsigned short utf8_to_euc_E7B9[] = { 0, 0x484B, 0, 0x655E, 0xD44F, 0xD450, 0x6559, 0xD451, 0, 0, 0x4121, 0x3752, 0, 0x3D2B, 0xD452, 0, 0xD453, 0, 0xD454, 0, 0x3F25, 0x4136, 0x6564, 0, 0xD455, 0x6566, 0x6567, 0, 0, 0x6563, 0x6565, 0xD456, 0, 0xD457, 0xD458, 0, 0, 0xD459, 0x655A, 0x6562, 0, 0x656A, 0x6569, 0xD45A, 0, 0x4B7A, 0xD45B, 0xD45C, 0x372B, 0, 0, 0xD45D, 0, 0, 0, 0, 0xD45E, 0x6568, 0, 0x656C, 0x656B, 0x656F, 0xD45F, 0x6571, }; static const unsigned short utf8_to_euc_E7B9_x0213[] = { 0, 0x484B, 0, 0x655E, 0xD44F, 0xF457, 0x6559, 0x7A34, 0, 0, 0x4121, 0x3752, 0, 0x3D2B, 0xD452, 0, 0xD453, 0, 0x7A35, 0, 0x3F25, 0x4136, 0x6564, 0, 0xD455, 0x6566, 0x6567, 0, 0, 0x6563, 0x6565, 0xD456, 0, 0x7A36, 0xD458, 0, 0, 0xD459, 0x655A, 0x6562, 0, 0x656A, 0x6569, 0x7E7E, 0, 0x4B7A, 0xD45B, 0xD45C, 0x372B, 0, 0, 0xF458, 0, 0xF459, 0, 0, 0xD45E, 0x6568, 0, 0x656C, 0x656B, 0x656F, 0xF45A, 0x6571, }; static const unsigned short utf8_to_euc_E7BA[] = { 0, 0xD460, 0x3B3C, 0x656D, 0, 0, 0xD461, 0xD462, 0x6572, 0x6573, 0xD463, 0, 0x6574, 0xD464, 0x657A, 0x453B, 0x6576, 0xD465, 0x6575, 0x6577, 0x6578, 0xD466, 0x6579, 0, 0xD467, 0, 0xD468, 0x657B, 0x657C, 0xD469, 0xD46A, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, }; static const unsigned short utf8_to_euc_E7BA_x0213[] = { 0, 0xD460, 0x3B3C, 0x656D, 0, 0, 0xF45B, 0xF45C, 0x6572, 0x6573, 0x7A37, 0, 0x6574, 0x7A38, 0x657A, 0x453B, 0x6576, 0xF45E, 0x6575, 0x6577, 0x6578, 0xD466, 0x6579, 0, 0xF45F, 0, 0xF460, 0x657B, 0x657C, 0xD469, 0xD46A, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, }; static const unsigned short utf8_to_euc_E7BC[] = { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0x344C, 0, 0x657D, 0, 0x657E, 0xD46C, 0xD46B, 0xD46D, 0xD46E, 0xD46F, }; static const unsigned short utf8_to_euc_E7BC_x0213[] = { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0x344C, 0, 0x657D, 0, 0x657E, 0xF463, 0xF462, 0xD46D, 0xF464, 0xD46F, }; static const unsigned short utf8_to_euc_E7BD[] = { 0, 0, 0, 0xD470, 0xD471, 0x6621, 0, 0xD472, 0, 0, 0, 0, 0x6622, 0x6623, 0x6624, 0xD473, 0x6625, 0x6626, 0xD474, 0xD475, 0x6628, 0x6627, 0, 0, 0x6629, 0, 0, 0xD476, 0xD477, 0xD478, 0, 0x662A, 0x662B, 0xD479, 0, 0xD47A, 0xD47B, 0xD47C, 0xD47D, 0x662E, 0x662C, 0x662D, 0x3A61, 0x3753, 0, 0xD47E, 0x4356, 0, 0x4833, 0xD521, 0x3D70, 0, 0, 0x474D, 0, 0x486D, 0x662F, 0x586D, 0, 0, 0, 0xD522, 0xD523, 0xD524, }; static const unsigned short utf8_to_euc_E7BD_x0213[] = { 0, 0, 0, 0xF465, 0xF466, 0x6621, 0, 0x7A39, 0, 0, 0, 0, 0x6622, 0x6623, 0x6624, 0xF467, 0x6625, 0x6626, 0xF46A, 0xD475, 0x6628, 0x6627, 0, 0, 0x6629, 0, 0, 0xD476, 0xD477, 0xD478, 0, 0x662A, 0x662B, 0xF46C, 0, 0xF46D, 0xF46E, 0xD47C, 0xD47D, 0x662E, 0x662C, 0x662D, 0x3A61, 0x3753, 0, 0xF46F, 0x4356, 0, 0x4833, 0xD521, 0x3D70, 0, 0, 0x474D, 0, 0x486D, 0x662F, 0x586D, 0, 0, 0, 0xF470, 0xF471, 0xD524, }; static const unsigned short utf8_to_euc_E7BE[] = { 0xD525, 0, 0x6630, 0x6632, 0, 0x4D65, 0x6631, 0x6634, 0x6633, 0, 0x4D53, 0xD526, 0x6635, 0xD527, 0x487E, 0xD528, 0xD529, 0xD52A, 0, 0, 0x6636, 0, 0xD52B, 0xD52C, 0, 0, 0x6639, 0, 0xD52D, 0x6638, 0x6637, 0, 0, 0xD52E, 0xD52F, 0x663A, 0x3732, 0, 0xD530, 0, 0x4122, 0x3541, 0xD531, 0, 0, 0xD532, 0x663E, 0x663B, 0, 0, 0x663C, 0, 0xD533, 0, 0x663F, 0, 0x6640, 0x663D, 0, 0, 0xD534, 0x3129, 0, 0xD535, }; static const unsigned short utf8_to_euc_E7BE_x0213[] = { 0xD525, 0, 0x6630, 0x6632, 0, 0x4D65, 0x6631, 0x6634, 0x6633, 0, 0x4D53, 0xD526, 0x6635, 0xD527, 0x487E, 0xD528, 0xF473, 0x7A3B, 0, 0, 0x6636, 0, 0xF476, 0x7A3C, 0, 0, 0x6639, 0, 0xF477, 0x6638, 0x6637, 0, 0, 0, 0xD52F, 0x663A, 0x3732, 0, 0xD530, 0, 0x4122, 0x3541, 0xD531, 0, 0, 0xF478, 0x663E, 0x663B, 0, 0, 0x663C, 0, 0xD533, 0, 0x663F, 0, 0x6640, 0x663D, 0, 0, 0xD534, 0x3129, 0, 0x7A3D, }; static const unsigned short utf8_to_euc_E7BF[] = { 0xD536, 0x3227, 0, 0xD537, 0, 0x6642, 0x6643, 0, 0xD538, 0, 0x6644, 0, 0x4D62, 0, 0xD539, 0xD53A, 0, 0, 0x3D2C, 0, 0x6646, 0x6645, 0, 0, 0, 0, 0, 0xD53B, 0, 0, 0, 0xD53C, 0x3F69, 0x6647, 0, 0xD53D, 0, 0xD53E, 0x6648, 0, 0xD53F, 0x6649, 0, 0x3465, 0xD540, 0, 0xD541, 0xD542, 0x344D, 0, 0xD543, 0x664A, 0, 0, 0, 0, 0, 0x664B, 0xD544, 0x4B5D, 0x4D63, 0xD545, 0xD546, 0xD547, }; static const unsigned short utf8_to_euc_E7BF_x0213[] = { 0xD536, 0x3227, 0, 0xF47A, 0, 0x6642, 0x6643, 0, 0xD538, 0, 0x6644, 0, 0x4D62, 0, 0x7A3E, 0xF47B, 0, 0, 0x3D2C, 0, 0x6646, 0x6645, 0, 0, 0, 0, 0, 0x7A3F, 0, 0, 0, 0x7A40, 0x3F69, 0x6647, 0, 0xF47C, 0, 0xF47D, 0x6648, 0, 0xD53F, 0x6649, 0, 0x3465, 0x7A41, 0, 0x7A42, 0xF47E, 0x344D, 0, 0xF521, 0x664A, 0, 0, 0, 0, 0, 0x664B, 0x7A43, 0x4B5D, 0x4D63, 0xD545, 0xD546, 0xD547, }; static const unsigned short utf8_to_euc_E880[] = { 0x4D54, 0x4F37, 0, 0x394D, 0x664E, 0x3C54, 0x664D, 0xD548, 0xD549, 0, 0xD54A, 0x664F, 0x3C29, 0xD54B, 0xD54C, 0xD54D, 0x4251, 0xD54E, 0x6650, 0xD54F, 0xD550, 0x394C, 0xD551, 0x4C57, 0x6651, 0x6652, 0, 0, 0x6653, 0xD552, 0xD553, 0xD554, 0xD555, 0x6654, 0, 0, 0xD556, 0, 0xD557, 0, 0x6655, 0, 0, 0, 0xD558, 0, 0xD559, 0, 0xD55A, 0, 0, 0x3C2A, 0xD55B, 0xD55C, 0x4C6D, 0xD55D, 0, 0xD55E, 0xD55F, 0x6657, 0xD560, 0x433F, 0xD561, 0x6656, }; static const unsigned short utf8_to_euc_E880_x0213[] = { 0x4D54, 0x4F37, 0xF522, 0x394D, 0x664E, 0x3C54, 0x664D, 0xD548, 0xF524, 0, 0xF523, 0x664F, 0x3C29, 0xD54B, 0xF525, 0xD54D, 0x4251, 0xF526, 0x6650, 0xD54F, 0x7A45, 0x394C, 0xF527, 0x4C57, 0x6651, 0x6652, 0, 0, 0x6653, 0xD552, 0xD553, 0xD554, 0xD555, 0x6654, 0, 0, 0xF528, 0, 0x7A46, 0, 0x6655, 0, 0, 0, 0xF529, 0, 0xD559, 0, 0xF52A, 0, 0, 0x3C2A, 0xD55B, 0x7A47, 0x4C6D, 0x7A48, 0, 0xD55E, 0xD55F, 0x6657, 0x7A49, 0x433F, 0xD561, 0x6656, }; static const unsigned short utf8_to_euc_E881[] = { 0xD562, 0, 0, 0, 0xD563, 0, 0x6659, 0, 0, 0, 0x6658, 0, 0, 0, 0, 0, 0, 0, 0x665A, 0, 0, 0, 0x403B, 0, 0x665B, 0, 0x665C, 0, 0, 0, 0x4A39, 0x665D, 0xD564, 0x416F, 0x665E, 0, 0xD565, 0, 0xD566, 0, 0x665F, 0, 0, 0, 0, 0xD567, 0, 0x4E7E, 0x6662, 0xD568, 0x6661, 0x6660, 0x4430, 0xD569, 0x6663, 0x3F26, 0, 0x6664, 0, 0, 0, 0x6665, 0x4F38, 0x6666, }; static const unsigned short utf8_to_euc_E881_x0213[] = { 0xD562, 0, 0, 0xF52B, 0xD563, 0, 0x6659, 0, 0, 0, 0x6658, 0, 0, 0, 0, 0, 0, 0, 0x665A, 0, 0, 0, 0x403B, 0, 0x665B, 0, 0x665C, 0, 0, 0, 0x4A39, 0x665D, 0xD564, 0x416F, 0x665E, 0, 0xD565, 0, 0xF52C, 0, 0x665F, 0, 0, 0, 0, 0xD567, 0, 0x4E7E, 0x6662, 0xF52D, 0x6661, 0x6660, 0x4430, 0xF52E, 0x6663, 0x3F26, 0, 0x6664, 0, 0xF52F, 0, 0x6665, 0x4F38, 0x6666, }; static const unsigned short utf8_to_euc_E882[] = { 0, 0xD56A, 0, 0, 0x6667, 0x6669, 0x6668, 0x4825, 0xD56B, 0x4679, 0, 0x4F3E, 0x4829, 0, 0xD56C, 0, 0, 0, 0, 0x666B, 0, 0, 0x3E53, 0, 0x492A, 0, 0x666C, 0x666A, 0xD56D, 0x344E, 0xD56E, 0, 0, 0x3854, 0x3B68, 0, 0, 0x486E, 0xD56F, 0xD570, 0, 0x382A, 0x4B43, 0xD571, 0x666F, 0x666D, 0, 0x394E, 0, 0x394F, 0x3069, 0, 0x3A68, 0, 0, 0, 0xD572, 0xD573, 0x4759, 0, 0, 0, 0, 0, }; static const unsigned short utf8_to_euc_E882_x0213[] = { 0, 0xD56A, 0, 0, 0x6667, 0x6669, 0x6668, 0x4825, 0xD56B, 0x4679, 0, 0x4F3E, 0x4829, 0, 0xD56C, 0, 0, 0, 0, 0x666B, 0, 0, 0x3E53, 0, 0x492A, 0xF530, 0x666C, 0x666A, 0xF531, 0x344E, 0xD56E, 0, 0, 0x3854, 0x3B68, 0, 0xF532, 0x486E, 0xD56F, 0xF533, 0, 0x382A, 0x4B43, 0xD571, 0x666F, 0x666D, 0, 0x394E, 0, 0x394F, 0x3069, 0, 0x3A68, 0, 0, 0, 0xF534, 0xD573, 0x4759, 0, 0, 0, 0, 0, }; static const unsigned short utf8_to_euc_E883[] = { 0, 0, 0, 0x305F, 0x6674, 0, 0x4340, 0, 0xD574, 0, 0, 0, 0x4758, 0xD575, 0x425B, 0xD576, 0, 0, 0xD577, 0, 0xD578, 0xD579, 0x6676, 0xD57A, 0xD57B, 0x6672, 0x6675, 0x6670, 0, 0x6673, 0x4B26, 0, 0xD57C, 0x3855, 0, 0, 0x307D, 0x6671, 0, 0, 0, 0, 0, 0, 0, 0xD57D, 0xD57E, 0x6678, 0xD621, 0x6679, 0xD622, 0xD623, 0x4639, 0, 0xD624, 0, 0x363B, 0xD625, 0xD626, 0, 0x6726, 0x473D, 0xD627, 0, }; static const unsigned short utf8_to_euc_E883_x0213[] = { 0, 0, 0, 0x305F, 0x6674, 0xF536, 0x4340, 0, 0xD574, 0, 0x7A4A, 0, 0x4758, 0xD575, 0x425B, 0xD576, 0, 0, 0xD577, 0, 0xD578, 0xF537, 0x6676, 0x7A4B, 0xF538, 0x6672, 0x6675, 0x6670, 0, 0x6673, 0x4B26, 0, 0x7A4C, 0x3855, 0, 0, 0x307D, 0x6671, 0xF539, 0, 0, 0, 0, 0, 0, 0xD57D, 0xD57E, 0x6678, 0xD621, 0x6679, 0xD622, 0x7A4D, 0x4639, 0xF53C, 0xD624, 0, 0x363B, 0xD625, 0xD626, 0xF53D, 0x6726, 0x473D, 0xD627, 0, }; static const unsigned short utf8_to_euc_E884[] = { 0, 0, 0x3B69, 0xD628, 0, 0x363C, 0x4048, 0x4F46, 0x4C2E, 0x6677, 0x4054, 0xD629, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0xD62A, 0xD62B, 0xD62C, 0, 0x3553, 0x667A, 0xD62D, 0, 0xD62E, 0, 0xD62F, 0, 0, 0x667C, 0xD630, 0, 0, 0xD631, 0, 0x667B, 0, 0, 0xD632, 0, 0, 0x667D, 0xD633, 0x4326, 0, 0x473E, 0, 0xD634, 0, 0, 0, 0x4431, 0xD635, 0, 0xD636, 0, 0x6723, 0, }; static const unsigned short utf8_to_euc_E884_x0213[] = { 0, 0, 0x3B69, 0xD628, 0, 0x363C, 0x4048, 0x4F46, 0x4C2E, 0x6677, 0x4054, 0xD629, 0, 0xF53B, 0, 0, 0, 0, 0, 0, 0, 0, 0xF540, 0xD62B, 0x7A4E, 0, 0x3553, 0x667A, 0xD62D, 0, 0xF541, 0, 0xD62F, 0, 0, 0x667C, 0xF543, 0, 0, 0xF544, 0, 0x667B, 0, 0, 0xF545, 0, 0, 0x667D, 0xD633, 0x4326, 0, 0x473E, 0, 0xF53F, 0, 0, 0, 0x4431, 0xD635, 0, 0xD636, 0xF547, 0x6723, 0, }; static const unsigned short utf8_to_euc_E885[] = { 0, 0, 0, 0, 0, 0xD637, 0x6722, 0xD638, 0, 0, 0xD639, 0x667E, 0xD63A, 0, 0x3F55, 0, 0x4965, 0x6725, 0xD63B, 0x6724, 0x3950, 0x4F53, 0, 0xD63C, 0, 0, 0, 0, 0, 0, 0, 0x6735, 0xD63D, 0xD63E, 0, 0, 0, 0x6729, 0x672A, 0xD63F, 0xD640, 0xD641, 0, 0x3C70, 0, 0xD642, 0x6728, 0xD643, 0x3978, 0x6727, 0, 0, 0x672B, 0, 0, 0xD644, 0x4432, 0x4A22, 0x4123, 0, 0, 0, 0, 0x425C, }; static const unsigned short utf8_to_euc_E885_x0213[] = { 0, 0, 0, 0, 0, 0xD637, 0x6722, 0xD638, 0, 0, 0x7A4F, 0x667E, 0xD63A, 0, 0x3F55, 0, 0x4965, 0x6725, 0xD63B, 0x6724, 0x3950, 0x4F53, 0, 0xD63C, 0, 0, 0, 0, 0, 0, 0, 0x6735, 0x7A50, 0xD63E, 0, 0, 0, 0x6729, 0x672A, 0x7A51, 0x7A52, 0xF549, 0, 0x3C70, 0, 0x7A53, 0x6728, 0xD643, 0x3978, 0x6727, 0, 0, 0x672B, 0, 0, 0xD644, 0x4432, 0x4A22, 0x4123, 0, 0, 0, 0, 0x425C, }; static const unsigned short utf8_to_euc_E886[] = { 0x672F, 0xD645, 0x6730, 0x672C, 0xD647, 0xD648, 0xD649, 0, 0x672D, 0, 0x672E, 0xD64A, 0, 0, 0xD64B, 0x3951, 0xD646, 0, 0, 0x6736, 0, 0x6732, 0xD64C, 0, 0xD64D, 0, 0x4966, 0xD64E, 0x4B6C, 0x4928, 0xD64F, 0, 0x6731, 0, 0xD650, 0x6734, 0x6733, 0, 0, 0, 0x4B44, 0x6737, 0, 0, 0, 0, 0xD651, 0, 0x6738, 0, 0xD652, 0x4137, 0xD653, 0x6739, 0, 0, 0x673B, 0, 0x673F, 0xD654, 0, 0x673C, 0x673A, 0x473F, }; static const unsigned short utf8_to_euc_E886_x0213[] = { 0x672F, 0xF54B, 0x6730, 0x672C, 0xF54D, 0xF54E, 0xD649, 0, 0x672D, 0, 0x672E, 0xD64A, 0, 0, 0xD64B, 0x3951, 0xD646, 0, 0, 0x6736, 0, 0x6732, 0xD64C, 0, 0xF550, 0, 0x4966, 0xD64E, 0x4B6C, 0x4928, 0xD64F, 0, 0x6731, 0, 0xD650, 0x6734, 0x6733, 0, 0, 0, 0x4B44, 0x6737, 0, 0, 0, 0, 0xD651, 0, 0x6738, 0, 0xF551, 0x4137, 0xD653, 0x6739, 0, 0, 0x673B, 0, 0x673F, 0x7A54, 0, 0x673C, 0x673A, 0x473F, }; static const unsigned short utf8_to_euc_E887[] = { 0x673D, 0, 0x673E, 0xD656, 0, 0xD657, 0x3232, 0, 0x6745, 0x6740, 0xD658, 0xD655, 0, 0x6741, 0xD659, 0xD65A, 0, 0x6742, 0, 0x4221, 0, 0xD65B, 0, 0xD65C, 0x6744, 0x6743, 0x6746, 0xD65D, 0, 0xD65E, 0xD65F, 0x6747, 0x6748, 0xD660, 0, 0x3F43, 0xD661, 0x3269, 0, 0x6749, 0x4E57, 0, 0x3C2B, 0xD662, 0xD663, 0x3D2D, 0, 0, 0xD664, 0xD665, 0xD666, 0x3B6A, 0x4357, 0xD667, 0xD668, 0, 0xD669, 0xD66A, 0x674A, 0x674B, 0x3131, 0xD66B, 0x674C, 0xD66C, }; static const unsigned short utf8_to_euc_E887_x0213[] = { 0x673D, 0xF552, 0x673E, 0xF553, 0, 0xD657, 0x3232, 0, 0x6745, 0x6740, 0x7A55, 0xD655, 0, 0x6741, 0xD659, 0x7A56, 0, 0x6742, 0, 0x4221, 0, 0xD65B, 0xF554, 0x7A57, 0x6744, 0x6743, 0x6746, 0xF555, 0, 0xD65E, 0xD65F, 0x6747, 0x6748, 0xD660, 0, 0x3F43, 0xF557, 0x3269, 0, 0x6749, 0x4E57, 0, 0x3C2B, 0xD662, 0xF559, 0x3D2D, 0, 0, 0xD664, 0xD665, 0xD666, 0x3B6A, 0x4357, 0xD667, 0xD668, 0, 0xD669, 0xD66A, 0x674A, 0x674B, 0x3131, 0xF55B, 0x674C, 0xF55C, }; static const unsigned short utf8_to_euc_E888[] = { 0xD66D, 0x674D, 0x674E, 0xD66E, 0, 0x674F, 0, 0x6750, 0x363D, 0x5A2A, 0x6751, 0, 0x4065, 0x6752, 0x3C4B, 0xD66F, 0x6753, 0, 0x5030, 0xD670, 0xD671, 0, 0x6754, 0x4A5E, 0x345C, 0xD672, 0xD673, 0x4124, 0x3D58, 0xD674, 0x4971, 0x3D2E, 0, 0xD675, 0xD676, 0, 0, 0, 0, 0, 0xD677, 0x6755, 0x3952, 0x6756, 0x484C, 0, 0x6764, 0, 0, 0, 0xD678, 0x6758, 0xD679, 0x4249, 0x4775, 0x383F, 0x6757, 0x4125, 0xD67A, 0, 0, 0, 0, 0, }; static const unsigned short utf8_to_euc_E888_x0213[] = { 0xD66D, 0x674D, 0x674E, 0xD66E, 0xF55E, 0x674F, 0, 0x6750, 0x363D, 0x5A2A, 0x6751, 0, 0x4065, 0x6752, 0x3C4B, 0xD66F, 0x6753, 0, 0x5030, 0xD670, 0xD671, 0, 0x6754, 0x4A5E, 0x345C, 0xF560, 0xD673, 0x4124, 0x3D58, 0xD674, 0x4971, 0x3D2E, 0, 0xF561, 0xF562, 0, 0, 0, 0, 0, 0xD677, 0x6755, 0x3952, 0x6756, 0x484C, 0, 0x6764, 0, 0, 0, 0xF564, 0x6758, 0xF565, 0x4249, 0x4775, 0x383F, 0x6757, 0x4125, 0xD67A, 0, 0xF566, 0, 0, 0, }; static const unsigned short utf8_to_euc_E889[] = { 0x6759, 0, 0, 0xD67B, 0xD67C, 0xD67D, 0xD67E, 0x447A, 0, 0, 0, 0xD721, 0, 0, 0xD722, 0xD723, 0, 0xD724, 0, 0, 0, 0, 0xD725, 0, 0x675B, 0x675A, 0x675D, 0, 0xD726, 0x675C, 0, 0x675E, 0xD727, 0, 0x6760, 0xD728, 0x675F, 0, 0x344F, 0xD729, 0x6761, 0, 0x6762, 0x6763, 0, 0xD72A, 0x3A31, 0x4E49, 0, 0x6765, 0x3F27, 0, 0xD72B, 0, 0x3170, 0x6766, 0x6767, 0, 0, 0xD72C, 0, 0xD72D, 0x6768, 0xD72E, }; static const unsigned short utf8_to_euc_E889_x0213[] = { 0x6759, 0, 0, 0xD67B, 0xD67C, 0xF569, 0xF567, 0x447A, 0, 0xF568, 0, 0xF56B, 0, 0, 0xD722, 0xF56D, 0, 0xD724, 0, 0, 0, 0, 0xD725, 0xF56F, 0x675B, 0x675A, 0x675D, 0, 0xF571, 0x675C, 0, 0x675E, 0x7A5B, 0, 0x6760, 0xF572, 0x675F, 0, 0x344F, 0xD729, 0x6761, 0, 0x6762, 0x6763, 0, 0xD72A, 0x3A31, 0x4E49, 0, 0x6765, 0x3F27, 0, 0x7A5C, 0, 0x3170, 0x6766, 0x6767, 0xF576, 0, 0xD72C, 0, 0xF578, 0x6768, 0xF579, }; static const unsigned short utf8_to_euc_E88A[] = { 0xD72F, 0xD730, 0, 0xD731, 0xD732, 0, 0, 0xD733, 0, 0xD734, 0xD735, 0x3072, 0, 0x6769, 0xD736, 0, 0, 0xD737, 0x676A, 0, 0xD738, 0, 0xD739, 0, 0xD73A, 0x4967, 0xD73B, 0xD73C, 0, 0x3C47, 0, 0x676C, 0xD73D, 0xD73E, 0, 0xD73F, 0xD740, 0x3329, 0x3032, 0xD741, 0xD742, 0xD743, 0xD744, 0x676B, 0x676E, 0x474E, 0xD745, 0x3F44, 0xD746, 0x3256, 0xD747, 0x4B27, 0xD748, 0, 0, 0xD749, 0x375D, 0x365C, 0xD74A, 0x676D, 0xD74B, 0x326A, 0xD74C, 0xD74D, }; static const unsigned short utf8_to_euc_E88A_x0213[] = { 0xD72F, 0xD730, 0, 0xF57A, 0xD732, 0, 0, 0xD733, 0, 0xD734, 0xF57B, 0x3072, 0, 0x6769, 0x7A5E, 0, 0, 0xD737, 0x676A, 0xF57C, 0xD738, 0, 0xD739, 0, 0xD73A, 0x4967, 0xD73B, 0xD73C, 0, 0x3C47, 0, 0x676C, 0xD73D, 0x7A5F, 0, 0x7A60, 0x7A61, 0x3329, 0x3032, 0xF57D, 0xF57E, 0x7A62, 0xD744, 0x676B, 0x676E, 0x474E, 0x7A63, 0x3F44, 0xD746, 0x3256, 0xF621, 0x4B27, 0xF622, 0, 0, 0x7A64, 0x375D, 0x365C, 0xF623, 0x676D, 0xF624, 0x326A, 0x7A65, 0x7A66, }; static const unsigned short utf8_to_euc_E88B[] = { 0, 0, 0, 0, 0, 0x3423, 0xD74E, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0xD74F, 0x3171, 0x6772, 0x4E6A, 0x425D, 0xD750, 0, 0x4944, 0, 0x677E, 0xD751, 0x3257, 0x677C, 0, 0x677A, 0x6771, 0xD752, 0x676F, 0xD753, 0x6770, 0xD754, 0x3C63, 0x366C, 0x4377, 0xD755, 0, 0xD756, 0x4651, 0, 0xD757, 0, 0xD758, 0, 0x3151, 0, 0x6774, 0x6773, 0, 0xD759, 0xD75A, 0, 0x6779, 0x6775, 0x6778, 0, 0xD75B, 0xD75C, 0, }; static const unsigned short utf8_to_euc_E88B_x0213[] = { 0, 0, 0, 0, 0, 0x3423, 0x7A67, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0xD74F, 0x3171, 0x6772, 0x4E6A, 0x425D, 0x7A68, 0, 0x4944, 0, 0x677E, 0xD751, 0x3257, 0x677C, 0, 0x677A, 0x6771, 0xD752, 0x676F, 0xF625, 0x6770, 0xD754, 0x3C63, 0x366C, 0x4377, 0xF626, 0, 0xD756, 0x4651, 0, 0xD757, 0, 0xD758, 0, 0x3151, 0, 0x6774, 0x6773, 0, 0xD759, 0xF627, 0, 0x6779, 0x6775, 0x6778, 0, 0x7A69, 0x7A6A, 0, }; static const unsigned short utf8_to_euc_E88C[] = { 0xD75D, 0xD75E, 0x4C50, 0x6777, 0x3258, 0x337D, 0x677B, 0xD75F, 0xD760, 0x677D, 0xD761, 0xD762, 0, 0, 0x3754, 0, 0, 0, 0, 0, 0, 0, 0x6823, 0x682C, 0x682D, 0, 0, 0xD764, 0x302B, 0xD765, 0xD766, 0xD767, 0, 0xD768, 0xD769, 0x6834, 0, 0, 0, 0, 0x3071, 0, 0, 0x682B, 0xD76A, 0xD76B, 0xD76C, 0x682A, 0xD76D, 0x6825, 0x6824, 0xD76E, 0x6822, 0x6821, 0x4363, 0xD76F, 0x427B, 0x6827, 0xD770, 0, 0xD771, 0xD772, 0, 0, }; static const unsigned short utf8_to_euc_E88C_x0213[] = { 0x7A6B, 0x7A6C, 0x4C50, 0x6777, 0x3258, 0x337D, 0x677B, 0xF628, 0xF629, 0x677D, 0xD761, 0xD762, 0xF62A, 0, 0x3754, 0, 0, 0, 0, 0, 0, 0, 0x6823, 0x682C, 0x682D, 0, 0, 0xF62C, 0x302B, 0xF62D, 0xD766, 0xD767, 0, 0xD768, 0x7A6E, 0x6834, 0, 0, 0, 0, 0x3071, 0, 0, 0x682B, 0xD76A, 0x7A6F, 0xD76C, 0x682A, 0xF62E, 0x6825, 0x6824, 0xD76E, 0x6822, 0x6821, 0x4363, 0xD76F, 0x427B, 0x6827, 0x7A70, 0, 0xF62F, 0xD772, 0, 0, }; static const unsigned short utf8_to_euc_E88D[] = { 0x6826, 0, 0xD773, 0xD774, 0xD775, 0x6829, 0, 0xD776, 0, 0x4170, 0x3755, 0, 0, 0xD777, 0xD778, 0x3141, 0x6828, 0xD779, 0x3953, 0xD83E, 0xD763, 0xD77A, 0xD77B, 0xD77C, 0x4171, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0xF45F, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0xD77D, 0, 0, 0x683A, 0, 0x683B, 0, 0x3259, 0xD77E, 0, 0, 0x322E, 0x6838, 0xD821, 0, 0xD822, }; static const unsigned short utf8_to_euc_E88D_x0213[] = { 0x6826, 0, 0xD773, 0x7A71, 0xF630, 0x6829, 0, 0x7A72, 0, 0x4170, 0x3755, 0, 0, 0xD777, 0xD778, 0x3141, 0x6828, 0x7A73, 0x3953, 0xD83E, 0xF62B, 0x7A74, 0xD77B, 0xF631, 0x4171, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0x7A6D, 0xAE4A, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0xD77D, 0, 0, 0x683A, 0, 0x683B, 0, 0x3259, 0xD77E, 0, 0, 0x322E, 0x6838, 0x7A75, 0, 0xF633, }; static const unsigned short utf8_to_euc_E88E[] = { 0xD823, 0, 0xD824, 0, 0xD825, 0x682E, 0xD826, 0x6836, 0, 0x683D, 0x6837, 0, 0, 0xD827, 0x6835, 0, 0, 0, 0xD828, 0x6776, 0xD829, 0xD82A, 0x6833, 0, 0xD82B, 0xD82C, 0x682F, 0xD82D, 0xD82E, 0xD82F, 0x3450, 0x6831, 0x683C, 0, 0x6832, 0, 0, 0, 0xD830, 0xD831, 0x683E, 0xD832, 0x6830, 0x477C, 0xD833, 0xD84C, 0, 0, 0, 0x4D69, 0, 0, 0, 0x6839, 0, 0, 0, 0, 0, 0, 0, 0x684F, 0xD834, 0xD835, }; static const unsigned short utf8_to_euc_E88E_x0213[] = { 0xD823, 0, 0xD824, 0, 0xD825, 0x682E, 0x7A76, 0x6836, 0, 0x683D, 0x6837, 0, 0, 0xF636, 0x6835, 0, 0, 0, 0x7A77, 0x6776, 0xF637, 0xF638, 0x6833, 0, 0x7A78, 0xD82C, 0x682F, 0xF639, 0xD82E, 0xF63A, 0x3450, 0x6831, 0x683C, 0, 0x6832, 0, 0, 0, 0xD830, 0x7A79, 0x683E, 0x7A7A, 0x6830, 0x477C, 0xD833, 0xD84C, 0, 0, 0, 0x4D69, 0, 0, 0, 0x6839, 0, 0, 0, 0, 0, 0, 0, 0x684F, 0xD834, 0x7A7B, }; static const unsigned short utf8_to_euc_E88F[] = { 0xD836, 0x6847, 0, 0, 0, 0x3F7B, 0, 0xD837, 0, 0xD838, 0x3546, 0, 0x365D, 0, 0x6842, 0xD839, 0xD83A, 0xD83B, 0, 0x325B, 0xD83C, 0, 0x3E54, 0, 0x6845, 0, 0, 0, 0x3A5A, 0xD83D, 0, 0x4551, 0x684A, 0, 0, 0, 0, 0, 0, 0, 0xD83F, 0x4A6E, 0xD840, 0x6841, 0, 0, 0, 0x325A, 0x3856, 0x4929, 0x684B, 0, 0x683F, 0, 0xD841, 0x6848, 0xD842, 0xD843, 0, 0x6852, 0xD844, 0x6843, 0, 0, }; static const unsigned short utf8_to_euc_E88F_x0213[] = { 0x7A7C, 0x6847, 0, 0, 0, 0x3F7B, 0, 0x7A7D, 0, 0xF63B, 0x3546, 0, 0x365D, 0, 0x6842, 0x7A7E, 0xF63C, 0x7B21, 0, 0x325B, 0xF63D, 0, 0x3E54, 0, 0x6845, 0, 0, 0, 0x3A5A, 0xF63E, 0, 0x4551, 0x684A, 0x7B22, 0, 0, 0, 0xF63F, 0, 0, 0xD83F, 0x4A6E, 0x7B23, 0x6841, 0, 0, 0, 0x325A, 0x3856, 0x4929, 0x684B, 0, 0x683F, 0, 0, 0x6848, 0xD842, 0xF640, 0, 0x6852, 0xD844, 0x6843, 0, 0, }; static const unsigned short utf8_to_euc_E890[] = { 0, 0xD845, 0, 0x6844, 0x463A, 0, 0xD846, 0x6849, 0, 0, 0xD847, 0x6846, 0x4B28, 0x684C, 0x3060, 0xD848, 0, 0xD849, 0, 0x6840, 0, 0xD84A, 0, 0, 0, 0xD84B, 0, 0, 0, 0, 0, 0, 0x684E, 0, 0x684D, 0, 0, 0, 0, 0, 0, 0x476B, 0x6854, 0, 0x685F, 0, 0, 0xD84D, 0, 0x337E, 0, 0, 0, 0x6862, 0, 0, 0x6850, 0xD84E, 0, 0, 0x6855, 0x4D6E, 0, 0, }; static const unsigned short utf8_to_euc_E890_x0213[] = { 0, 0x7B24, 0, 0x6844, 0x463A, 0, 0x7B25, 0x6849, 0, 0, 0x7B26, 0x6846, 0x4B28, 0x684C, 0x3060, 0xF641, 0, 0xF642, 0, 0x6840, 0, 0xF643, 0, 0xF645, 0, 0xD84B, 0, 0, 0, 0, 0, 0, 0x684E, 0, 0x684D, 0, 0, 0, 0, 0, 0, 0x476B, 0x6854, 0, 0x685F, 0, 0, 0xD84D, 0, 0x337E, 0, 0, 0, 0x6862, 0, 0, 0x6850, 0xF646, 0, 0, 0x6855, 0x4D6E, 0, 0, }; static const unsigned short utf8_to_euc_E891[] = { 0, 0, 0, 0, 0, 0xD84F, 0x685E, 0xD850, 0xD851, 0x4D55, 0xD852, 0, 0, 0xD853, 0x4E2A, 0xD854, 0, 0xD855, 0xD856, 0, 0, 0, 0xD857, 0x4378, 0xD858, 0xD859, 0xD85A, 0x336B, 0xD85B, 0, 0, 0, 0xD85C, 0x4972, 0x6864, 0x4621, 0xD85D, 0xD85E, 0x3031, 0xD85F, 0, 0x685D, 0xD860, 0x6859, 0x4172, 0x6853, 0x685B, 0x6860, 0xD861, 0x472C, 0, 0xD862, 0xD863, 0x302A, 0xD864, 0x6858, 0xD865, 0x6861, 0x4978, 0, 0xD866, 0xD867, 0, 0, }; static const unsigned short utf8_to_euc_E891_x0213[] = { 0, 0, 0, 0, 0, 0xD84F, 0x685E, 0xD850, 0x7B28, 0x4D55, 0xF647, 0, 0, 0xD853, 0x4E2A, 0xF648, 0, 0xF649, 0xF64A, 0, 0, 0, 0xD857, 0x4378, 0xD858, 0xF64B, 0xF64C, 0x336B, 0xF64D, 0, 0, 0x7B29, 0xD85C, 0x4972, 0x6864, 0x4621, 0xD85D, 0xF64F, 0x3031, 0xD85F, 0, 0x685D, 0xD860, 0x6859, 0x4172, 0x6853, 0x685B, 0x6860, 0x7B2A, 0x472C, 0, 0x7B2B, 0xD863, 0x302A, 0xF650, 0x6858, 0xF651, 0x6861, 0x4978, 0, 0xF652, 0xD867, 0, 0, }; static const unsigned short utf8_to_euc_E892[] = { 0, 0xD868, 0x685C, 0, 0x6857, 0xD869, 0, 0, 0, 0, 0, 0x3E55, 0, 0, 0, 0, 0x3D2F, 0, 0xD86A, 0xD86B, 0x3C2C, 0xD86C, 0, 0, 0, 0x4C58, 0, 0, 0x4947, 0, 0xD86D, 0x6867, 0, 0x6870, 0, 0, 0, 0, 0xD86E, 0, 0xD86F, 0xD870, 0xD871, 0, 0, 0x685A, 0, 0xD872, 0, 0xD873, 0x3377, 0, 0xD874, 0, 0, 0, 0x3E78, 0x6865, 0xD875, 0x686A, 0x4173, 0xD876, 0xD877, 0x6866, }; static const unsigned short utf8_to_euc_E892_x0213[] = { 0, 0xF653, 0x685C, 0, 0x6857, 0x7B2C, 0, 0, 0, 0, 0, 0x3E55, 0, 0, 0, 0, 0x3D2F, 0, 0xD86A, 0xD86B, 0x3C2C, 0xD86C, 0, 0xF656, 0, 0x4C58, 0, 0, 0x4947, 0, 0x7B2D, 0x6867, 0, 0x6870, 0, 0, 0, 0, 0xF657, 0, 0xD86F, 0xD870, 0xD871, 0, 0, 0x685A, 0, 0x7B2E, 0, 0xD873, 0x3377, 0, 0x7B2F, 0, 0, 0, 0x3E78, 0x6865, 0x7B30, 0x686A, 0x4173, 0xD876, 0xF658, 0x6866, }; static const unsigned short utf8_to_euc_E893[] = { 0xD878, 0x686D, 0xD879, 0, 0x435F, 0, 0x686E, 0xD87A, 0xD87B, 0x4D56, 0x6863, 0x3338, 0xD87C, 0x6869, 0, 0xD87D, 0x686C, 0x4C2C, 0, 0xD87E, 0, 0, 0x686F, 0, 0, 0x6868, 0x686B, 0, 0xD921, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0xD922, 0, 0, 0xD923, 0, 0x4B29, 0, 0x4F21, 0xD924, 0xD925, 0xD926, 0xD927, 0, 0x6873, 0, 0, 0xD928, 0, 0, 0xD92A, 0xD92B, 0x687A, 0xD92C, 0, 0x6872, }; static const unsigned short utf8_to_euc_E893_x0213[] = { 0x7B31, 0x686D, 0x7B32, 0, 0x435F, 0, 0x686E, 0xD87A, 0xD87B, 0x4D56, 0x6863, 0x3338, 0xD87C, 0x6869, 0xF65A, 0xF65B, 0x686C, 0x4C2C, 0, 0xF65C, 0, 0, 0x686F, 0, 0, 0x6868, 0x686B, 0, 0xF655, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0xF65E, 0, 0, 0xF65F, 0, 0x4B29, 0, 0x4F21, 0xF660, 0xF661, 0xF662, 0xD927, 0, 0x6873, 0, 0, 0xD928, 0, 0, 0xF663, 0xD92B, 0x687A, 0xF664, 0, 0x6872, }; static const unsigned short utf8_to_euc_E894[] = { 0x3C43, 0, 0xD92D, 0xD92E, 0, 0, 0x6851, 0xD92F, 0, 0, 0, 0, 0xD930, 0, 0xD931, 0, 0xD932, 0x4A4E, 0, 0x4C22, 0x6879, 0x6878, 0, 0x6874, 0x6875, 0, 0x3136, 0, 0xD933, 0, 0xD934, 0x6877, 0, 0x6871, 0xD935, 0xD936, 0xD937, 0xD938, 0x4455, 0xD939, 0, 0, 0xD93A, 0xD93B, 0x6876, 0x307E, 0, 0xD93C, 0, 0, 0xD929, 0xD93D, 0xD93E, 0x4222, 0xD93F, 0, 0, 0, 0, 0, 0, 0x4A43, 0, 0xD940, }; static const unsigned short utf8_to_euc_E894_x0213[] = { 0x3C43, 0, 0xD92D, 0xD92E, 0, 0, 0x6851, 0xD92F, 0, 0, 0, 0, 0xF665, 0, 0xD931, 0, 0xD932, 0x4A4E, 0, 0x4C22, 0x6879, 0x6878, 0, 0x6874, 0x6875, 0, 0x3136, 0xF666, 0xD933, 0, 0x7B35, 0x6877, 0, 0x6871, 0xD935, 0x7B36, 0xF667, 0xF668, 0x4455, 0xD939, 0, 0, 0xD93A, 0xF669, 0x6876, 0x307E, 0, 0x7B37, 0, 0, 0x7B34, 0xD93D, 0xF66A, 0x4222, 0xD93F, 0, 0, 0, 0, 0, 0, 0x4A43, 0xF66F, 0xD940, }; static const unsigned short utf8_to_euc_E895[] = { 0x687B, 0x6921, 0, 0x4859, 0, 0, 0xD941, 0, 0x687E, 0x3E56, 0x3C49, 0x6923, 0, 0, 0x363E, 0xD942, 0xD943, 0xD944, 0xD945, 0xD946, 0, 0x6924, 0xD947, 0x4979, 0x687D, 0xD948, 0x6856, 0, 0xD949, 0xD94A, 0xD94B, 0xD94C, 0xD94D, 0xD94E, 0xD94F, 0x687C, 0xD950, 0, 0, 0, 0x4F4F, 0x4622, 0x4973, 0xD951, 0, 0x692B, 0, 0xD952, 0, 0, 0, 0, 0, 0, 0, 0x6931, 0, 0xD953, 0xD954, 0xD955, 0, 0xD956, 0x6932, 0xD957, }; static const unsigned short utf8_to_euc_E895_x0213[] = { 0x687B, 0x6921, 0, 0x4859, 0, 0, 0xD941, 0, 0x687E, 0x3E56, 0x3C49, 0x6923, 0, 0, 0x363E, 0xF66B, 0xD943, 0xF670, 0xD945, 0xF671, 0, 0x6924, 0xD947, 0x4979, 0x687D, 0x7B38, 0x6856, 0, 0xD949, 0xD94A, 0xF672, 0xD94C, 0xD94D, 0xF673, 0xF674, 0x687C, 0x7B39, 0, 0, 0, 0x4F4F, 0x4622, 0x4973, 0, 0, 0x692B, 0, 0xF66C, 0, 0, 0, 0, 0, 0, 0, 0x6931, 0, 0xD953, 0x7B3C, 0xF676, 0, 0xF677, 0x6932, 0xF678, }; static const unsigned short utf8_to_euc_E896[] = { 0x6925, 0xD958, 0, 0, 0x4776, 0xD959, 0xD95A, 0x692F, 0x6927, 0xD95B, 0x6929, 0xD95C, 0xD95D, 0, 0, 0xD95E, 0x6933, 0x6928, 0, 0xD95F, 0x692C, 0, 0, 0x3172, 0xD960, 0x4665, 0, 0x692D, 0x6930, 0xD961, 0, 0xD962, 0xD963, 0, 0xD964, 0, 0x6926, 0xD965, 0x4126, 0xD966, 0x692A, 0x3B27, 0x3F45, 0x3730, 0x4C74, 0xD974, 0x4C79, 0x3D72, 0xF461, 0, 0, 0, 0xD967, 0, 0xD968, 0xD969, 0xD96A, 0x6937, 0x6935, 0, 0xD96B, 0xD96C, 0xD96D, 0xD96E, }; static const unsigned short utf8_to_euc_E896_x0213[] = { 0x6925, 0xF679, 0, 0, 0x4776, 0xD959, 0xF67A, 0x692F, 0x6927, 0xD95B, 0x6929, 0xD95C, 0x7B3D, 0, 0, 0x7B3E, 0x6933, 0x6928, 0, 0xF67B, 0x692C, 0, 0, 0x3172, 0xD960, 0x4665, 0, 0x692D, 0x6930, 0xF67C, 0, 0xF67D, 0xD963, 0, 0x7B3F, 0, 0x6926, 0xD965, 0x4126, 0xD966, 0x692A, 0x3B27, 0x3F45, 0x3730, 0x4C74, 0x7B3B, 0x4C79, 0x3D72, 0x7B40, 0, 0, 0, 0xD967, 0, 0xD968, 0xF723, 0xD96A, 0x6937, 0x6935, 0, 0xF724, 0xD96C, 0xD96D, 0xD96E, }; static const unsigned short utf8_to_euc_E897[] = { 0, 0x4F4E, 0xD96F, 0, 0, 0, 0, 0xD970, 0, 0x6934, 0xD971, 0xD972, 0, 0x4D75, 0xD973, 0x6936, 0x6938, 0, 0, 0, 0, 0x6939, 0, 0, 0xD975, 0, 0xD976, 0, 0x693C, 0x693A, 0, 0xD977, 0xD978, 0, 0, 0, 0x4623, 0x693B, 0xD979, 0, 0xD97A, 0x484D, 0x692E, 0, 0, 0xD97B, 0, 0, 0, 0, 0, 0xD97C, 0, 0, 0xD97D, 0x3D73, 0, 0x693D, 0x6942, 0x4174, 0xD97E, 0, 0x6941, 0xDA21, }; static const unsigned short utf8_to_euc_E897_x0213[] = { 0, 0x4F4E, 0xD96F, 0, 0, 0, 0, 0xF725, 0, 0x6934, 0xF726, 0x7B41, 0, 0x4D75, 0x7B42, 0x6936, 0x6938, 0, 0, 0, 0, 0x6939, 0, 0, 0xF727, 0xF728, 0xD976, 0, 0x693C, 0x693A, 0, 0xF729, 0xD978, 0xF72A, 0, 0, 0x4623, 0x693B, 0xF72B, 0, 0xD97A, 0x484D, 0x692E, 0, 0, 0x7B43, 0, 0, 0, 0, 0, 0xD97C, 0, 0, 0xF72C, 0x3D73, 0, 0x693D, 0x6942, 0x4174, 0xD97E, 0, 0x6941, 0x7B45, }; static const unsigned short utf8_to_euc_E898[] = { 0xDA22, 0, 0x6922, 0, 0xDA23, 0xDA24, 0x6943, 0x4149, 0, 0, 0x693E, 0x6940, 0, 0xDA25, 0xDA26, 0, 0xDA27, 0xDA28, 0xDA29, 0x693F, 0, 0, 0x5D31, 0x5D22, 0xDA2A, 0xDA2B, 0x6945, 0xDA2C, 0, 0, 0xDA2D, 0, 0, 0xDA2E, 0x6944, 0, 0, 0, 0, 0xDA2F, 0, 0xDA30, 0, 0, 0, 0x4D76, 0, 0x623C, 0x6946, 0, 0, 0, 0, 0, 0xDA31, 0, 0xDA32, 0, 0xDA33, 0, 0xDA34, 0xDA35, 0, 0x6947, }; static const unsigned short utf8_to_euc_E898_x0213[] = { 0xF72D, 0, 0x6922, 0, 0x7B46, 0x7B47, 0x6943, 0x4149, 0, 0, 0x693E, 0x6940, 0, 0xDA25, 0xDA26, 0, 0x7B48, 0xF72E, 0x7B44, 0x693F, 0, 0, 0x5D31, 0x5D22, 0x7B4A, 0xDA2B, 0x6945, 0xDA2C, 0, 0, 0xF72F, 0, 0, 0xF730, 0x6944, 0, 0xF731, 0, 0, 0xF732, 0, 0x7B4B, 0, 0, 0, 0x4D76, 0, 0x623C, 0x6946, 0, 0, 0, 0, 0, 0xDA31, 0, 0x7B4C, 0xF734, 0xDA33, 0, 0xF735, 0xDA35, 0, 0x6947, }; static const unsigned short utf8_to_euc_E899[] = { 0xDA36, 0xB866, 0xDA37, 0, 0, 0, 0xDA38, 0, 0, 0, 0, 0, 0, 0x6948, 0x3857, 0, 0x3554, 0, 0xDA39, 0xDA3A, 0x694A, 0x515D, 0xDA3B, 0xDA3C, 0xDA3D, 0xDA3E, 0x3575, 0, 0x4E3A, 0xDA3F, 0x3673, 0x694B, 0xDA40, 0xDA41, 0xDA42, 0xDA43, 0xDA44, 0, 0, 0x694C, 0, 0xDA45, 0, 0x436E, 0xDA46, 0, 0, 0xDA47, 0, 0x694D, 0, 0, 0, 0xDA48, 0xDA49, 0xDA4A, 0, 0x467A, 0xDA4B, 0x303A, 0, 0, 0, 0, }; static const unsigned short utf8_to_euc_E899_x0213[] = { 0xF737, 0x2F68, 0xDA37, 0, 0, 0, 0xDA38, 0, 0, 0, 0, 0, 0, 0x6948, 0x3857, 0, 0x3554, 0, 0xDA39, 0xF739, 0x694A, 0x515D, 0xF73A, 0x7B4D, 0xDA3D, 0xDA3E, 0x3575, 0x7B4E, 0x4E3A, 0xDA3F, 0x3673, 0x694B, 0xDA40, 0xDA41, 0x7B50, 0xDA43, 0xDA44, 0, 0, 0x694C, 0, 0xDA45, 0, 0x436E, 0x7B52, 0, 0, 0xF73B, 0, 0x694D, 0, 0, 0, 0x7B53, 0xDA49, 0xF73C, 0, 0x467A, 0xF73D, 0x303A, 0, 0, 0, 0, }; static const unsigned short utf8_to_euc_E89A[] = { 0, 0, 0, 0, 0, 0, 0, 0, 0xDA6D, 0, 0x3263, 0x6952, 0x6953, 0xDA4C, 0, 0, 0, 0xDA4D, 0, 0x694E, 0, 0x3B3D, 0xDA4E, 0, 0xDA4F, 0, 0xDA50, 0, 0xDA51, 0, 0, 0, 0, 0xDA52, 0, 0x694F, 0x4742, 0, 0xDA53, 0xDA54, 0xDA55, 0x6950, 0x6951, 0x695B, 0, 0xDA56, 0, 0x6955, 0x6958, 0xDA57, 0, 0xDA58, 0xDA59, 0xDA5A, 0x6954, 0xDA5B, 0xDA5C, 0xDA5D, 0, 0, 0, 0, 0, 0xDA5E, }; static const unsigned short utf8_to_euc_E89A_x0213[] = { 0, 0, 0, 0, 0, 0, 0, 0xF73E, 0xDA6D, 0xF73F, 0x3263, 0x6952, 0x6953, 0xF740, 0, 0, 0, 0xF741, 0, 0x694E, 0, 0x3B3D, 0xDA4E, 0, 0x7B54, 0, 0xDA50, 0, 0xF742, 0xF743, 0, 0, 0, 0xDA52, 0, 0x694F, 0x4742, 0, 0xDA53, 0xDA54, 0xF744, 0x6950, 0x6951, 0x695B, 0, 0xDA56, 0, 0x6955, 0x6958, 0xF746, 0, 0xF747, 0xDA59, 0xDA5A, 0x6954, 0xDA5B, 0x7B55, 0xDA5D, 0, 0, 0, 0, 0, 0xDA5E, }; static const unsigned short utf8_to_euc_E89B[] = { 0xDA5F, 0xDA60, 0, 0xDA61, 0x6956, 0xDA62, 0x6957, 0x3C58, 0, 0x6959, 0, 0x4341, 0, 0x3756, 0x3342, 0, 0, 0xDA63, 0xDA64, 0, 0x695C, 0xDA65, 0, 0xDA66, 0, 0x333F, 0xDA67, 0x6961, 0xDA68, 0, 0x695D, 0x6960, 0xDA69, 0, 0, 0xDA6A, 0x483A, 0xDA6B, 0, 0xDA6C, 0, 0x695E, 0, 0, 0x695F, 0x4948, 0x485A, 0x6962, 0, 0, 0, 0, 0, 0, 0, 0, 0x427D, 0x696C, 0xDA6E, 0x6968, 0xDA6F, 0xDA70, 0x326B, 0, }; static const unsigned short utf8_to_euc_E89B_x0213[] = { 0xDA5F, 0xF748, 0, 0xF749, 0x6956, 0xDA62, 0x6957, 0x3C58, 0, 0x6959, 0, 0x4341, 0, 0x3756, 0x3342, 0, 0, 0xF74A, 0xDA64, 0, 0x695C, 0xF74B, 0, 0xF74C, 0, 0x333F, 0xDA67, 0x6961, 0xDA68, 0, 0x695D, 0x6960, 0xDA69, 0, 0, 0xF74D, 0x483A, 0xDA6B, 0xF74E, 0xDA6C, 0, 0x695E, 0, 0, 0x695F, 0x4948, 0x485A, 0x6962, 0, 0, 0, 0, 0, 0, 0, 0, 0x427D, 0x696C, 0x7B56, 0x6968, 0x7B57, 0x7B58, 0x326B, 0, }; static const unsigned short utf8_to_euc_E89C[] = { 0x6966, 0, 0x4B2A, 0x6967, 0xDA71, 0xDA72, 0x6964, 0xDA73, 0x6965, 0x696A, 0x696D, 0xDA74, 0, 0x696B, 0xDA75, 0xDA76, 0xDA77, 0x6969, 0x6963, 0xDA78, 0xDA79, 0, 0, 0, 0x4358, 0xDA7A, 0x6974, 0, 0x4C2A, 0, 0xDA7B, 0xDA7C, 0, 0xDA7D, 0, 0xDA7E, 0, 0x6972, 0, 0, 0xDB21, 0x6973, 0, 0, 0, 0, 0xDB22, 0xDB23, 0, 0xDB24, 0xDB25, 0, 0x696E, 0, 0, 0x6970, 0, 0xDB26, 0xDB27, 0x6971, 0xDB28, 0xDB29, 0xDB2A, 0x696F, }; static const unsigned short utf8_to_euc_E89C_x0213[] = { 0x6966, 0, 0x4B2A, 0x6967, 0xDA71, 0xF750, 0x6964, 0xF751, 0x6965, 0x696A, 0x696D, 0x7B59, 0, 0x696B, 0xF752, 0xDA76, 0xF753, 0x6969, 0x6963, 0xF754, 0xDA79, 0, 0, 0, 0x4358, 0xF755, 0x6974, 0, 0x4C2A, 0, 0xDA7B, 0xF756, 0, 0xF757, 0, 0xF758, 0, 0x6972, 0, 0, 0xDB21, 0x6973, 0, 0, 0, 0, 0xDB22, 0xDB23, 0, 0xF759, 0xDB25, 0, 0x696E, 0, 0, 0x6970, 0, 0xDB26, 0xF75A, 0x6971, 0xDB28, 0xDB29, 0xF75B, 0x696F, }; static const unsigned short utf8_to_euc_E89D[] = { 0xDB2B, 0, 0, 0xDB2C, 0, 0xDB2D, 0, 0, 0, 0x4066, 0, 0x4F39, 0x6978, 0xDB2E, 0x6979, 0, 0, 0, 0, 0x6A21, 0, 0x3F2A, 0, 0x697B, 0xDB2F, 0x697E, 0, 0, 0, 0xDB30, 0, 0x6976, 0x6975, 0xDB31, 0, 0x6A22, 0xDB32, 0xDB33, 0x325C, 0, 0x697C, 0, 0x6A23, 0, 0, 0, 0x697D, 0xDB34, 0, 0xDB35, 0xDB36, 0, 0x697A, 0, 0x4433, 0, 0x6977, 0, 0, 0xDB37, 0, 0, 0, 0x4768, }; static const unsigned short utf8_to_euc_E89D_x0213[] = { 0xF75C, 0, 0, 0xF75D, 0, 0xDB2D, 0, 0, 0, 0x4066, 0, 0x4F39, 0x6978, 0xDB2E, 0x6979, 0, 0, 0xF75E, 0, 0x6A21, 0, 0x3F2A, 0, 0x697B, 0xF75F, 0x697E, 0, 0, 0, 0xDB30, 0, 0x6976, 0x6975, 0xDB31, 0, 0x6A22, 0xF760, 0xF761, 0x325C, 0, 0x697C, 0, 0x6A23, 0, 0, 0, 0x697D, 0xDB34, 0, 0x7B5A, 0xF762, 0, 0x697A, 0, 0x4433, 0, 0x6977, 0, 0, 0xDB37, 0xF763, 0, 0, 0x4768, }; static const unsigned short utf8_to_euc_E89E[] = { 0, 0, 0x6A27, 0xDB38, 0xDB39, 0xDB3A, 0xDB3B, 0xDB3C, 0xDB3D, 0xDB3E, 0, 0xDB3F, 0xDB40, 0x4D3B, 0, 0, 0xDB41, 0, 0, 0xDB42, 0, 0xDB43, 0, 0xDB44, 0xDB45, 0xDB46, 0, 0, 0, 0, 0xDB47, 0x6A26, 0xDB48, 0, 0x6A25, 0xDB49, 0, 0, 0, 0xDB4A, 0, 0, 0, 0x6A2E, 0xDB4B, 0xDB4C, 0xDB4D, 0x6A28, 0, 0xDB4E, 0, 0x6A30, 0, 0xDB4F, 0, 0, 0, 0, 0x4D66, 0x6A33, 0, 0x6A2A, 0xDB50, 0xDB51, }; static const unsigned short utf8_to_euc_E89E_x0213[] = { 0, 0, 0x6A27, 0xDB38, 0xDB39, 0xDB3A, 0xDB3B, 0x7B5B, 0x7B5C, 0xF767, 0, 0xF768, 0xDB40, 0x4D3B, 0, 0, 0xDB41, 0, 0, 0xF769, 0, 0xDB43, 0, 0xDB44, 0xDB45, 0xDB46, 0, 0, 0, 0, 0xDB47, 0x6A26, 0xF76A, 0, 0x6A25, 0xDB49, 0, 0, 0, 0xF766, 0, 0, 0, 0x6A2E, 0x7B5D, 0x7B5E, 0xDB4D, 0x6A28, 0, 0xDB4E, 0, 0x6A30, 0, 0x7B5F, 0, 0, 0, 0, 0x4D66, 0x6A33, 0, 0x6A2A, 0xF76D, 0xDB51, }; static const unsigned short utf8_to_euc_E89F[] = { 0x6A2B, 0xDB52, 0, 0, 0x6A2F, 0, 0x6A32, 0x6A31, 0xDB53, 0xDB54, 0xDB55, 0x6A29, 0, 0, 0xDB56, 0, 0x6A2C, 0, 0x6A3D, 0, 0, 0xDB57, 0xDB58, 0, 0, 0xDB59, 0xDB5A, 0, 0xDB5B, 0, 0, 0xDB5C, 0x6A36, 0, 0xDB5D, 0xDB5E, 0xDB5F, 0, 0, 0, 0, 0, 0xDB60, 0xDB61, 0, 0xDB62, 0, 0x6A34, 0, 0xDB63, 0x6A35, 0xDB64, 0, 0, 0x6A3A, 0x6A3B, 0xDB65, 0x332A, 0xDB66, 0x3542, 0, 0, 0x6A39, 0xDB67, }; static const unsigned short utf8_to_euc_E89F_x0213[] = { 0x6A2B, 0xF76F, 0, 0, 0x6A2F, 0, 0x6A32, 0x6A31, 0xDB53, 0xDB54, 0xDB55, 0x6A29, 0, 0, 0xF770, 0, 0x6A2C, 0, 0x6A3D, 0, 0, 0xDB57, 0x7B61, 0, 0, 0xDB59, 0xDB5A, 0, 0xDB5B, 0, 0, 0xF772, 0x6A36, 0, 0xDB5D, 0xF774, 0xDB5F, 0xF775, 0xF776, 0, 0, 0, 0xF777, 0xF778, 0x7B62, 0xF779, 0, 0x6A34, 0, 0xDB63, 0x6A35, 0xDB64, 0, 0xF771, 0x6A3A, 0x6A3B, 0xDB65, 0x332A, 0xDB66, 0x3542, 0, 0, 0x6A39, 0xDB67, }; static const unsigned short utf8_to_euc_E8A0[] = { 0, 0xDB68, 0, 0xDB69, 0, 0x6A24, 0xDB6A, 0xF464, 0, 0xDB6B, 0xDB6C, 0xDB6D, 0, 0x6A38, 0x6A3C, 0x6A37, 0xDB6E, 0x6A3E, 0xDB70, 0xDB71, 0xDB72, 0x6A40, 0x6A3F, 0, 0xDB73, 0xDB6F, 0xDB74, 0xDB75, 0xDB76, 0, 0xDB77, 0xDB78, 0, 0x6A42, 0x6A41, 0x695A, 0, 0, 0, 0x6A46, 0xDB79, 0, 0, 0, 0, 0xDB7A, 0xDB7B, 0, 0xDB7C, 0x6A43, 0xDB7D, 0, 0, 0xDB7E, 0x6A44, 0, 0, 0x6A45, 0xDC21, 0x6A47, 0xDC22, 0, 0, 0, }; static const unsigned short utf8_to_euc_E8A0_x0213[] = { 0, 0xF77A, 0, 0xF77B, 0, 0x6A24, 0x7B63, 0, 0, 0xDB6B, 0x7B64, 0xF77C, 0, 0x6A38, 0x6A3C, 0x6A37, 0x7B65, 0x6A3E, 0xDB70, 0xF77D, 0x7B66, 0x6A40, 0x6A3F, 0, 0xDB73, 0xDB6F, 0xDB74, 0xDB75, 0xDB76, 0, 0xDB77, 0x7B67, 0, 0x6A42, 0x6A41, 0x695A, 0, 0, 0, 0x6A46, 0xF77E, 0, 0, 0, 0, 0xDB7A, 0xF821, 0, 0xDB7C, 0x6A43, 0xF822, 0, 0, 0xDB7E, 0x6A44, 0, 0, 0x6A45, 0xDC21, 0x6A47, 0xF823, 0, 0, 0, }; static const unsigned short utf8_to_euc_E8A1[] = { 0x376C, 0xDC23, 0x6A49, 0xDC24, 0x6A48, 0xDC25, 0x3D30, 0, 0xDC26, 0xDC27, 0xDC28, 0xDC29, 0x3954, 0x5E27, 0xDC2A, 0, 0, 0xDC2B, 0x6A4A, 0x3D51, 0, 0xDC2C, 0xDC2D, 0x3339, 0xDC2E, 0x6A4B, 0xDC2F, 0x3152, 0xDC30, 0x3E57, 0x6A4C, 0xDC31, 0xDC32, 0x3955, 0x6A4D, 0x3061, 0xDC33, 0, 0, 0, 0x493D, 0xDC34, 0, 0x6A4E, 0, 0, 0, 0, 0x3F6A, 0xDC35, 0x6A55, 0, 0, 0x6A52, 0, 0x436F, 0, 0xDC36, 0, 0xDC37, 0, 0x6A53, 0x6A50, 0x365E, }; static const unsigned short utf8_to_euc_E8A1_x0213[] = { 0x376C, 0xDC23, 0x6A49, 0xDC24, 0x6A48, 0xDC25, 0x3D30, 0, 0xDC26, 0xDC27, 0xF825, 0xDC29, 0x3954, 0x5E27, 0xDC2A, 0, 0, 0xDC2B, 0x6A4A, 0x3D51, 0, 0xDC2C, 0xDC2D, 0x3339, 0xF826, 0x6A4B, 0xDC2F, 0x3152, 0xDC30, 0x3E57, 0x6A4C, 0xF827, 0xDC32, 0x3955, 0x6A4D, 0x3061, 0xF828, 0, 0, 0, 0x493D, 0xF82B, 0, 0x6A4E, 0, 0, 0, 0xF82D, 0x3F6A, 0xDC35, 0x6A55, 0, 0, 0x6A52, 0, 0x436F, 0, 0xDC36, 0, 0xDC37, 0, 0x6A53, 0x6A50, 0x365E, }; static const unsigned short utf8_to_euc_E8A2[] = { 0xDC38, 0x6A4F, 0x6A56, 0, 0, 0, 0, 0, 0x3736, 0, 0, 0x425E, 0, 0x6A5C, 0, 0, 0, 0, 0x6A58, 0, 0, 0, 0x4235, 0x6A57, 0xDC39, 0x6A5A, 0xDC3A, 0xDC3B, 0xDC3C, 0, 0x6A51, 0xDC3D, 0xDC3E, 0, 0x6A5B, 0, 0x6A5D, 0, 0, 0, 0xDC3F, 0, 0xDC40, 0x486F, 0, 0, 0x6A59, 0, 0x6A5E, 0x6A60, 0, 0, 0x3853, 0x6A54, 0, 0x3041, 0, 0, 0xDC41, 0, 0, 0xDC42, 0xDC43, 0x6A5F, }; static const unsigned short utf8_to_euc_E8A2_x0213[] = { 0xDC38, 0x6A4F, 0x6A56, 0, 0, 0, 0, 0, 0x3736, 0, 0, 0x425E, 0, 0x6A5C, 0, 0, 0, 0, 0x6A58, 0, 0, 0, 0x4235, 0x6A57, 0x7B68, 0x6A5A, 0xDC3A, 0xDC3B, 0xDC3C, 0, 0x6A51, 0xDC3D, 0xF82E, 0, 0x6A5B, 0, 0x6A5D, 0, 0, 0, 0xDC3F, 0, 0x7B69, 0x486F, 0, 0, 0x6A59, 0, 0x6A5E, 0x6A60, 0, 0, 0x3853, 0x6A54, 0, 0x3041, 0, 0, 0xDC41, 0, 0xF82F, 0xF830, 0xF831, 0x6A5F, }; static const unsigned short utf8_to_euc_E8A3[] = { 0xDC44, 0x3A5B, 0x4E76, 0x6A61, 0x6A62, 0x4175, 0, 0, 0, 0, 0xDC45, 0xDC46, 0xDC47, 0xDC48, 0xDC49, 0x4E22, 0, 0xDC4A, 0xDC4B, 0xDC4C, 0x6A63, 0x4D35, 0, 0, 0x6A64, 0x6A65, 0, 0xDC4D, 0x4A64, 0x6A66, 0xDC4E, 0x3A40, 0, 0x4E23, 0, 0, 0, 0, 0, 0xDC4F, 0x6A6B, 0, 0, 0, 0, 0, 0, 0xDC50, 0xDC51, 0xDC52, 0x6A6C, 0x3E58, 0x6A6A, 0xDC53, 0, 0xDC54, 0x4D67, 0x6A67, 0, 0, 0x6A69, 0x403D, 0x3F7E, 0, }; static const unsigned short utf8_to_euc_E8A3_x0213[] = { 0xF832, 0x3A5B, 0x4E76, 0x6A61, 0x6A62, 0x4175, 0, 0, 0, 0, 0x7B6A, 0xDC46, 0xDC47, 0xDC48, 0x7B6B, 0x4E22, 0, 0xF835, 0xF833, 0xF836, 0x6A63, 0x4D35, 0, 0, 0x6A64, 0x6A65, 0, 0xF837, 0x4A64, 0x6A66, 0xDC4E, 0x3A40, 0, 0x4E23, 0, 0, 0, 0, 0, 0xDC4F, 0x6A6B, 0, 0, 0, 0, 0, 0, 0xDC50, 0xF838, 0xF839, 0x6A6C, 0x3E58, 0x6A6A, 0x7B6D, 0, 0xDC54, 0x4D67, 0x6A67, 0, 0, 0x6A69, 0x403D, 0x3F7E, 0, }; static const unsigned short utf8_to_euc_E8A4[] = { 0, 0xDC55, 0x6A68, 0, 0x6A6D, 0, 0xDC56, 0x4A23, 0, 0, 0x6A6F, 0, 0x6A6E, 0xDC57, 0xDC58, 0xDC59, 0x336C, 0, 0x4B2B, 0x6A70, 0, 0xDC5A, 0xDC5B, 0, 0xDC5C, 0xDC5D, 0xDC5E, 0, 0xDC5F, 0x6A7C, 0x6A72, 0, 0xDC60, 0, 0, 0, 0, 0x6A73, 0xDC61, 0xDC62, 0xDC63, 0, 0x6A74, 0x6A75, 0, 0, 0, 0, 0xDC64, 0xDC65, 0xDC66, 0, 0, 0xDC67, 0x6A79, 0, 0x6A7A, 0xDC68, 0xDC69, 0x6A78, 0, 0, 0xDC6A, 0, }; static const unsigned short utf8_to_euc_E8A4_x0213[] = { 0, 0xF83B, 0x6A68, 0, 0x6A6D, 0, 0xDC56, 0x4A23, 0, 0, 0x6A6F, 0, 0x6A6E, 0xDC57, 0xDC58, 0xDC59, 0x336C, 0, 0x4B2B, 0x6A70, 0, 0xDC5A, 0xDC5B, 0, 0x7B70, 0x7B71, 0x7B72, 0, 0x7B6E, 0x6A7C, 0x6A72, 0, 0xDC60, 0, 0, 0, 0, 0x6A73, 0xDC61, 0x7B73, 0xDC63, 0, 0x6A74, 0x6A75, 0, 0, 0, 0, 0x7B74, 0xDC65, 0x7B75, 0, 0, 0xDC67, 0x6A79, 0xF83D, 0x6A7A, 0x7B76, 0xDC69, 0x6A78, 0, 0, 0xDC6A, 0, }; static const unsigned short utf8_to_euc_E8A5[] = { 0xDC6B, 0x6A76, 0xDC6C, 0x6A71, 0x6A77, 0xDC6D, 0xDC6E, 0, 0, 0xDC6F, 0, 0, 0x6A7B, 0x7037, 0, 0xDC70, 0, 0, 0xDC71, 0, 0, 0, 0x3228, 0xDC72, 0, 0, 0xDC73, 0xDC74, 0xDC75, 0, 0x6A7E, 0x365F, 0x6A7D, 0xDC76, 0xDC77, 0xDC78, 0x6B22, 0, 0x6B21, 0, 0, 0, 0x6B24, 0xDC79, 0, 0x6B23, 0xDC7A, 0x6B25, 0xDC7B, 0, 0x3D31, 0xDC7C, 0x6B26, 0xDC7D, 0, 0x6B27, 0, 0, 0xDC7E, 0xDD21, 0xDD22, 0xDD23, 0x6B28, 0x403E, }; static const unsigned short utf8_to_euc_E8A5_x0213[] = { 0x7B77, 0x6A76, 0xF83F, 0x6A71, 0x6A77, 0xF840, 0xDC6E, 0, 0, 0xF841, 0, 0, 0x6A7B, 0x7037, 0, 0xDC70, 0, 0, 0xDC71, 0, 0, 0, 0x3228, 0xDC72, 0, 0, 0xDC73, 0xDC74, 0xDC75, 0, 0x6A7E, 0x365F, 0x6A7D, 0xDC76, 0xF844, 0xDC78, 0x6B22, 0, 0x6B21, 0, 0, 0, 0x6B24, 0xDC79, 0, 0x6B23, 0xDC7A, 0x6B25, 0xDC7B, 0, 0x3D31, 0xDC7C, 0x6B26, 0xDC7D, 0, 0x6B27, 0, 0, 0xDC7E, 0xDD21, 0xDD22, 0xDD23, 0x6B28, 0x403E, }; static const unsigned short utf8_to_euc_E8A6[] = { 0, 0x4D57, 0, 0x6B29, 0, 0, 0x4A24, 0x4746, 0x6B2A, 0xDD24, 0x6B2B, 0x382B, 0, 0xDD25, 0, 0x352C, 0xDD26, 0, 0, 0x6B2C, 0xDD27, 0xDD28, 0x3B6B, 0x4741, 0x6B2D, 0, 0x3350, 0xDD29, 0xDD2A, 0, 0, 0xDD2B, 0xDD2C, 0x6B2E, 0, 0, 0, 0xDD2D, 0x6B30, 0x4D77, 0, 0x6B2F, 0x3F46, 0, 0x6B31, 0, 0, 0x6B32, 0xDD2E, 0, 0x6B33, 0x3451, 0xDD2F, 0xDD30, 0xDD31, 0xDD32, 0, 0, 0x6B34, 0, 0xDD33, 0x6B35, 0, 0x6B36, }; static const unsigned short utf8_to_euc_E8A6_x0213[] = { 0xF845, 0x4D57, 0, 0x6B29, 0, 0, 0x4A24, 0x4746, 0x6B2A, 0xF846, 0x6B2B, 0x382B, 0, 0xDD25, 0, 0x352C, 0xF847, 0, 0, 0x6B2C, 0x7B78, 0xDD28, 0x3B6B, 0x4741, 0x6B2D, 0, 0x3350, 0xDD29, 0xDD2A, 0, 0, 0xF848, 0xDD2C, 0x6B2E, 0, 0, 0, 0xDD2D, 0x6B30, 0x4D77, 0, 0x6B2F, 0x3F46, 0, 0x6B31, 0, 0, 0x6B32, 0xF849, 0, 0x6B33, 0x3451, 0xDD2F, 0xDD30, 0xDD31, 0xF84A, 0, 0, 0x6B34, 0, 0xDD33, 0x6B35, 0, 0x6B36, }; static const unsigned short utf8_to_euc_E8A7[] = { 0x6B37, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0x3351, 0, 0xDD34, 0xDD35, 0xDD36, 0xDD37, 0xDD38, 0, 0x6B38, 0, 0x6B39, 0x6B3A, 0, 0, 0, 0, 0, 0x3272, 0, 0xDD39, 0x3F28, 0x6B3B, 0, 0xDD3A, 0, 0xDD3B, 0, 0xDD3C, 0, 0, 0, 0xDD3D, 0, 0xDD3E, 0x6B3C, 0, 0xDD3F, 0, 0x6B3D, 0xDD40, 0, 0, 0, 0xDD41, 0, 0xDD42, }; static const unsigned short utf8_to_euc_E8A7_x0213[] = { 0x6B37, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0x3351, 0, 0x7B7A, 0xDD35, 0xF84B, 0xDD37, 0xF84C, 0, 0x6B38, 0, 0x6B39, 0x6B3A, 0, 0, 0, 0, 0, 0x3272, 0, 0x7B7B, 0x3F28, 0x6B3B, 0, 0xDD3A, 0, 0xF84D, 0, 0xDD3C, 0, 0, 0, 0xF84F, 0, 0xF850, 0x6B3C, 0, 0x7B7C, 0, 0x6B3D, 0xDD40, 0, 0, 0, 0xF851, 0, 0xF852, }; static const unsigned short utf8_to_euc_E8A8[] = { 0x3840, 0, 0x447B, 0x6B3E, 0xDD43, 0xDD44, 0, 0xDD45, 0x3757, 0, 0x3F56, 0, 0x6B41, 0, 0x4624, 0xDD46, 0x6B40, 0xDD47, 0xDD48, 0x3731, 0xDD49, 0xDD4A, 0x6B3F, 0x4277, 0x352D, 0, 0, 0x6B42, 0, 0x6B43, 0xDD4B, 0x3E59, 0xDD4C, 0, 0xDD4D, 0x376D, 0xDD4E, 0x6B44, 0xDD4F, 0, 0, 0, 0x4B2C, 0xDD50, 0xDD51, 0x405F, 0, 0xDD52, 0, 0x3576, 0, 0x4C75, 0x414A, 0xDD53, 0x6B45, 0xDD54, 0, 0, 0x3F47, 0x4370, 0x3E5A, 0xDD55, 0xDD56, 0, }; static const unsigned short utf8_to_euc_E8A8_x0213[] = { 0x3840, 0, 0x447B, 0x6B3E, 0xDD43, 0xDD44, 0, 0xDD45, 0x3757, 0, 0x3F56, 0, 0x6B41, 0, 0x4624, 0xDD46, 0x6B40, 0xF854, 0x7B7D, 0x3731, 0xF855, 0x7B7E, 0x6B3F, 0x4277, 0x352D, 0, 0, 0x6B42, 0, 0x6B43, 0xDD4B, 0x3E59, 0xDD4C, 0xF857, 0x7C21, 0x376D, 0xDD4E, 0x6B44, 0xDD4F, 0, 0, 0, 0x4B2C, 0xDD50, 0xDD51, 0x405F, 0, 0xDD52, 0, 0x3576, 0, 0x4C75, 0x414A, 0xF858, 0x6B45, 0x7C22, 0, 0, 0x3F47, 0x4370, 0x3E5A, 0xDD55, 0xF859, 0, }; static const unsigned short utf8_to_euc_E8A9[] = { 0xDD57, 0x6B46, 0, 0xDD58, 0, 0xDD59, 0x6B49, 0xDD5A, 0x6B4A, 0xDD5B, 0, 0, 0, 0xDD5C, 0xDD5D, 0, 0x3A3E, 0x4242, 0x6B48, 0xDD5E, 0x3E5B, 0x493E, 0xDD5F, 0xDD60, 0xDD61, 0, 0, 0x6B47, 0xDD62, 0xDD63, 0x3B6C, 0, 0x3153, 0xDD64, 0x6B4E, 0x3758, 0, 0xDD65, 0x3B6E, 0xDD66, 0, 0x3B6D, 0, 0x4F4D, 0x6B4D, 0x6B4C, 0x4127, 0, 0x354D, 0x4F43, 0x333A, 0x3E5C, 0, 0xDD67, 0xDD68, 0xDD69, 0, 0xDD6A, 0xDD6B, 0xDD6C, 0x6B4B, 0, 0xDD6D, 0xDD6E, }; static const unsigned short utf8_to_euc_E8A9_x0213[] = { 0xDD57, 0x6B46, 0, 0xDD58, 0, 0xF85A, 0x6B49, 0x7C23, 0x6B4A, 0xDD5B, 0, 0, 0, 0xF85B, 0x7C24, 0, 0x3A3E, 0x4242, 0x6B48, 0xDD5E, 0x3E5B, 0x493E, 0xDD5F, 0xDD60, 0xF85C, 0, 0, 0x6B47, 0xDD62, 0x7C25, 0x3B6C, 0, 0x3153, 0x7C26, 0x6B4E, 0x3758, 0, 0xDD65, 0x3B6E, 0xDD66, 0, 0x3B6D, 0, 0x4F4D, 0x6B4D, 0x6B4C, 0x4127, 0, 0x354D, 0x4F43, 0x333A, 0x3E5C, 0, 0x7C27, 0xDD68, 0xDD69, 0, 0x7C28, 0xDD6B, 0xDD6C, 0x6B4B, 0, 0xDD6D, 0xDD6E, }; static const unsigned short utf8_to_euc_E8AA[] = { 0xDD6F, 0, 0x6B50, 0xDD70, 0x6B51, 0x6B4F, 0xDD71, 0x3858, 0, 0x4D40, 0, 0xDD72, 0x3B6F, 0x4727, 0, 0xDD73, 0xDD74, 0x6B54, 0xDD75, 0x4040, 0, 0x4342, 0xDD76, 0xDD77, 0x4D36, 0xDD78, 0x6B57, 0, 0, 0, 0x386C, 0xDD79, 0x403F, 0x6B53, 0, 0x6B58, 0x386D, 0x6B55, 0x6B56, 0xDD7A, 0x6B52, 0xDD7B, 0, 0, 0x4062, 0x4649, 0xDD7C, 0xDD7D, 0x432F, 0, 0x325D, 0xDD7E, 0, 0, 0xDE21, 0xDE22, 0, 0x4870, 0, 0xDE23, 0x3543, 0, 0xDE24, 0x4434, }; static const unsigned short utf8_to_euc_E8AA_x0213[] = { 0xDD6F, 0, 0x6B50, 0xDD70, 0x6B51, 0x6B4F, 0xDD71, 0x3858, 0, 0x4D40, 0, 0xDD72, 0x3B6F, 0x4727, 0, 0xDD73, 0xF85E, 0x6B54, 0xDD75, 0x4040, 0, 0x4342, 0xDD76, 0xDD77, 0x4D36, 0xDD78, 0x6B57, 0, 0, 0, 0x386C, 0xDD79, 0x403F, 0x6B53, 0, 0x6B58, 0x386D, 0x6B55, 0x6B56, 0x7C29, 0x6B52, 0xDD7B, 0, 0, 0x4062, 0x4649, 0xF85D, 0xDD7D, 0x432F, 0, 0x325D, 0xDD7E, 0, 0, 0xDE21, 0xF85F, 0, 0x4870, 0, 0xDE23, 0x3543, 0, 0xF860, 0x4434, }; static const unsigned short utf8_to_euc_E8AB[] = { 0, 0, 0x6B5B, 0xDE25, 0x6B59, 0, 0xDE26, 0x434C, 0xDE27, 0xDE28, 0xDE29, 0x4041, 0x3452, 0x6B5A, 0, 0x3F5B, 0, 0xDE2A, 0x4E4A, 0xDE2B, 0xDE2C, 0xDE2D, 0x4F40, 0xDE2E, 0, 0, 0x6B5C, 0x6B67, 0x4435, 0xDE2F, 0x6B66, 0xDE30, 0x6B63, 0x6B6B, 0x6B64, 0, 0x6B60, 0, 0x447C, 0x6B5F, 0, 0, 0, 0x6B5D, 0xDE31, 0x4D21, 0x3B70, 0, 0xDE32, 0x6B61, 0, 0x6B5E, 0xDE33, 0xDE34, 0xDE35, 0x6B65, 0x3D74, 0, 0x3841, 0, 0xDE36, 0, 0x427A, 0xDE37, }; static const unsigned short utf8_to_euc_E8AB_x0213[] = { 0, 0, 0x6B5B, 0xDE25, 0x6B59, 0, 0xDE26, 0x434C, 0xDE27, 0xDE28, 0xDE29, 0x4041, 0x3452, 0x6B5A, 0, 0x3F5B, 0x7C2A, 0xDE2A, 0x4E4A, 0xDE2B, 0xDE2C, 0xDE2D, 0x4F40, 0xF861, 0, 0, 0x6B5C, 0x6B67, 0x4435, 0xDE2F, 0x6B66, 0x7C2B, 0x6B63, 0x6B6B, 0x6B64, 0, 0x6B60, 0, 0x447C, 0x6B5F, 0, 0, 0, 0x6B5D, 0xDE31, 0x4D21, 0x3B70, 0, 0xDE32, 0x6B61, 0, 0x6B5E, 0x7C2C, 0xDE34, 0x7C2D, 0x6B65, 0x3D74, 0, 0x3841, 0, 0xF862, 0, 0x427A, 0xDE37, }; static const unsigned short utf8_to_euc_E8AC[] = { 0x4B45, 0x315A, 0x3062, 0, 0x4625, 0xDE38, 0xDE39, 0x6B69, 0, 0, 0xDE3F, 0xDE3A, 0x6B68, 0, 0x4666, 0, 0x6B6D, 0xDE3B, 0, 0, 0x6B62, 0, 0x6B6C, 0x6B6E, 0, 0x382C, 0x6B6A, 0x3956, 0xDE3C, 0x3C55, 0xDE3D, 0xDE3E, 0x6B6F, 0x4D58, 0, 0, 0, 0, 0x6B72, 0, 0x6B75, 0, 0, 0x6B73, 0x4935, 0xDE40, 0, 0, 0xDE41, 0, 0, 0x6B70, 0, 0, 0, 0xDE42, 0, 0x3660, 0, 0, 0xDE43, 0, 0x6B74, 0, }; static const unsigned short utf8_to_euc_E8AC_x0213[] = { 0x4B45, 0x315A, 0x3062, 0, 0x4625, 0xF865, 0xDE39, 0x6B69, 0, 0, 0xF864, 0xDE3A, 0x6B68, 0xF866, 0x4666, 0, 0x6B6D, 0xDE3B, 0, 0, 0x6B62, 0, 0x6B6C, 0x6B6E, 0, 0x382C, 0x6B6A, 0x3956, 0xF867, 0x3C55, 0xDE3D, 0xF868, 0x6B6F, 0x4D58, 0, 0, 0, 0, 0x6B72, 0, 0x6B75, 0, 0, 0x6B73, 0x4935, 0xF869, 0, 0, 0xDE41, 0, 0, 0x6B70, 0, 0, 0, 0xDE42, 0, 0x3660, 0, 0, 0xDE43, 0, 0x6B74, 0, }; static const unsigned short utf8_to_euc_E8AD[] = { 0, 0x6B76, 0xDE44, 0xDE45, 0xDE46, 0xDE47, 0xDE48, 0, 0xDE49, 0x6B7A, 0, 0, 0x6B77, 0xDE4E, 0x6B79, 0x6B78, 0, 0, 0xDE4A, 0xDE4B, 0xDE4C, 0, 0x6B7B, 0, 0x3C31, 0xDE4D, 0x6B7D, 0x6B7C, 0x4968, 0, 0xDE4F, 0x6C21, 0, 0, 0, 0xDE50, 0, 0, 0x3759, 0, 0, 0, 0, 0x6B7E, 0x6C22, 0xDE51, 0, 0x6C23, 0x3544, 0x6641, 0x3E79, 0, 0x6C24, 0, 0xDE52, 0x386E, 0xDE53, 0xDE54, 0, 0, 0xDE55, 0x6C25, 0xDE56, 0xF466, }; static const unsigned short utf8_to_euc_E8AD_x0213[] = { 0, 0x6B76, 0xDE44, 0xF86A, 0xDE46, 0xDE47, 0x7C31, 0, 0xDE49, 0x6B7A, 0, 0, 0x6B77, 0xDE4E, 0x6B79, 0x6B78, 0, 0xF86C, 0xDE4A, 0, 0x7C32, 0, 0x6B7B, 0, 0x3C31, 0x7C33, 0x6B7D, 0x6B7C, 0x4968, 0, 0xF86D, 0x6C21, 0, 0, 0, 0xDE50, 0, 0, 0x3759, 0, 0, 0x7C34, 0, 0x6B7E, 0x6C22, 0xDE51, 0, 0x6C23, 0x3544, 0x6641, 0x3E79, 0, 0x6C24, 0, 0xF86E, 0x386E, 0xDE53, 0xDE54, 0, 0, 0xDE55, 0x6C25, 0xDE56, 0xF86F, }; static const unsigned short utf8_to_euc_E8AE[] = { 0x6C26, 0xDE57, 0, 0x3B3E, 0xDE58, 0xDE59, 0, 0, 0, 0, 0x5A4E, 0xDE5A, 0x6C27, 0xDE5B, 0x6C28, 0xDE5C, 0x3D32, 0, 0x6C29, 0x6C2A, 0xDE5D, 0xDE5E, 0x6C2B, 0, 0, 0x6C2C, 0x6C2D, 0, 0xDE5F, 0, 0xDE60, 0xDE61, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, }; static const unsigned short utf8_to_euc_E8AE_x0213[] = { 0x6C26, 0xF870, 0, 0x3B3E, 0xDE58, 0xDE59, 0, 0, 0, 0, 0x5A4E, 0xF871, 0x6C27, 0xDE5B, 0x6C28, 0xDE5C, 0x3D32, 0, 0x6C29, 0x6C2A, 0xF872, 0xF873, 0x6C2B, 0, 0, 0x6C2C, 0x6C2D, 0, 0xF874, 0x7C35, 0xF875, 0xDE61, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, }; static const unsigned short utf8_to_euc_E8B0[] = { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0x432B, 0xDE62, 0xDE63, 0x6C2E, 0, 0, 0xDE64, 0xDE65, 0x6C30, }; static const unsigned short utf8_to_euc_E8B0_x0213[] = { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0x432B, 0xDE62, 0xF876, 0x6C2E, 0, 0, 0xF878, 0xDE65, 0x6C30, }; static const unsigned short utf8_to_euc_E8B1[] = { 0, 0x6C2F, 0, 0, 0, 0xDE66, 0x4626, 0xDE67, 0x6C31, 0xDE68, 0x4B2D, 0xDE69, 0x6C32, 0, 0x6C33, 0xDE6A, 0x6C34, 0xDE6B, 0, 0xDE6C, 0xDE6D, 0x6C35, 0, 0xDE6E, 0xDE6F, 0xDE72, 0x465A, 0xDE70, 0, 0xDE71, 0, 0, 0, 0x3E5D, 0x6C36, 0xDE73, 0xDE74, 0, 0xDE75, 0, 0xDE76, 0xDE77, 0x396B, 0x502E, 0x6C37, 0xDE78, 0, 0, 0, 0, 0, 0xDE79, 0, 0xDE7A, 0xDE7B, 0, 0x6C38, 0x493F, 0x6C39, 0xDE7C, 0x6C41, 0, 0xDE7D, 0, }; static const unsigned short utf8_to_euc_E8B1_x0213[] = { 0, 0x6C2F, 0, 0, 0, 0xF87B, 0x4626, 0xF87C, 0x6C31, 0x7C36, 0x4B2D, 0xDE69, 0x6C32, 0, 0x6C33, 0xF87D, 0x6C34, 0xDE6B, 0, 0xDE6C, 0xF87E, 0x6C35, 0, 0xF921, 0xDE6F, 0xDE72, 0x465A, 0xDE70, 0, 0xDE71, 0, 0, 0, 0x3E5D, 0x6C36, 0xDE73, 0xDE74, 0, 0xDE75, 0, 0x7C37, 0xF922, 0x396B, 0x502E, 0x6C37, 0xF923, 0, 0, 0, 0, 0, 0xF924, 0, 0xDE7A, 0xDE7B, 0, 0x6C38, 0x493F, 0x6C39, 0xDE7C, 0x6C41, 0, 0xDE7D, 0, }; static const unsigned short utf8_to_euc_E8B2[] = { 0, 0, 0x6C3A, 0, 0, 0x6C3C, 0xDE7E, 0xDF21, 0, 0x6C3B, 0x6C3D, 0xDF22, 0x4B46, 0x6C3E, 0x6C3F, 0, 0xDF23, 0, 0xDF24, 0xDF25, 0x6C40, 0, 0, 0, 0x6C42, 0xDF26, 0, 0xDF27, 0xDF28, 0x332D, 0x4467, 0, 0x4969, 0x3A62, 0x3957, 0, 0xDF29, 0, 0, 0x494F, 0x325F, 0x484E, 0x6C45, 0x3453, 0x4055, 0x6C44, 0x6C49, 0x4379, 0x4C63, 0, 0x6C47, 0x6C48, 0x352E, 0, 0x6C4A, 0x4763, 0x425F, 0xDF2A, 0xDF2B, 0x4871, 0x453D, 0x6C46, 0, 0x4B47, }; static const unsigned short utf8_to_euc_E8B2_x0213[] = { 0, 0, 0x6C3A, 0, 0, 0x6C3C, 0xDE7E, 0xDF21, 0, 0x6C3B, 0x6C3D, 0xDF22, 0x4B46, 0x6C3E, 0x6C3F, 0, 0xDF23, 0, 0xF927, 0xF926, 0x6C40, 0, 0, 0, 0x6C42, 0xF928, 0, 0xF92A, 0xDF28, 0x332D, 0x4467, 0, 0x4969, 0x3A62, 0x3957, 0, 0xF92B, 0, 0, 0x494F, 0x325F, 0x484E, 0x6C45, 0x3453, 0x4055, 0x6C44, 0x6C49, 0x4379, 0x4C63, 0, 0x6C47, 0x6C48, 0x352E, 0, 0x6C4A, 0x4763, 0x425F, 0xDF2A, 0xDF2B, 0x4871, 0x453D, 0x6C46, 0, 0x4B47, }; static const unsigned short utf8_to_euc_E8B3[] = { 0x326C, 0x6C4C, 0x4F28, 0x4442, 0x4F45, 0xDF2C, 0xDF2D, 0x3B71, 0x6C4B, 0xDF2E, 0x4231, 0xDF2F, 0, 0x6C5C, 0x4128, 0xDF30, 0, 0x4678, 0, 0x4950, 0, 0xDF32, 0xDF31, 0, 0, 0xDF33, 0x6C4F, 0x3B3F, 0x3B72, 0xDF34, 0x3E5E, 0, 0x4765, 0xDF35, 0x382D, 0x6C4E, 0x6C4D, 0, 0x496A, 0, 0xDF36, 0, 0x3C41, 0, 0xDF37, 0x4552, 0, 0xDF38, 0xDF39, 0, 0xDF3A, 0, 0xF467, 0xDF3B, 0, 0xDF3C, 0xDF3D, 0, 0x6C51, 0x6C52, 0x3958, 0x6C50, 0xDF3E, 0xDF3F, }; static const unsigned short utf8_to_euc_E8B3_x0213[] = { 0x326C, 0x6C4C, 0x4F28, 0x4442, 0x4F45, 0xDF2C, 0xDF2D, 0x3B71, 0x6C4B, 0xDF2E, 0x4231, 0xDF2F, 0, 0x6C5C, 0x4128, 0xDF30, 0, 0x4678, 0, 0x4950, 0, 0xF92D, 0xF92C, 0, 0, 0xF92E, 0x6C4F, 0x3B3F, 0x3B72, 0xDF34, 0x3E5E, 0, 0x4765, 0x7C39, 0x382D, 0x6C4E, 0x6C4D, 0, 0x496A, 0, 0xDF36, 0, 0x3C41, 0, 0xDF37, 0x4552, 0, 0xDF38, 0xF930, 0xF931, 0xDF3A, 0, 0x7C3A, 0xDF3B, 0, 0xDF3C, 0x7C3B, 0, 0x6C51, 0x6C52, 0x3958, 0x6C50, 0x7C3C, 0xDF3F, }; static const unsigned short utf8_to_euc_E8B4[] = { 0, 0xDF40, 0, 0xDF41, 0x6C53, 0x6C54, 0, 0x6C56, 0x4223, 0xDF42, 0x6C55, 0x3466, 0, 0x6C58, 0, 0x6C57, 0x6C59, 0, 0xDF43, 0x6C5B, 0x6C5D, 0, 0x6C5E, 0xDF44, 0, 0, 0, 0xDF45, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, }; static const unsigned short utf8_to_euc_E8B4_x0213[] = { 0, 0xDF40, 0, 0xDF41, 0x6C53, 0x6C54, 0, 0x6C56, 0x4223, 0xF933, 0x6C55, 0x3466, 0, 0x6C58, 0xF934, 0x6C57, 0x6C59, 0, 0x7C3E, 0x6C5B, 0x6C5D, 0, 0x6C5E, 0xDF44, 0, 0, 0, 0x7C3F, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, }; static const unsigned short utf8_to_euc_E8B5[] = { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0x4056, 0xDF46, 0x3C4F, 0x6C5F, 0, 0xDF47, 0, 0x3352, 0xDF48, 0x6C60, 0xDF49, 0, 0x4176, 0x6C61, 0, 0x6C62, 0x496B, 0, 0xF468, 0x352F, 0, 0, 0, 0, 0, 0, 0, 0xDF4A, }; static const unsigned short utf8_to_euc_E8B5_x0213[] = { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0x4056, 0xDF46, 0x3C4F, 0x6C5F, 0, 0xDF47, 0, 0x3352, 0xF935, 0x6C60, 0xDF49, 0, 0x4176, 0x6C61, 0, 0x6C62, 0x496B, 0, 0, 0x352F, 0, 0, 0, 0, 0, 0, 0, 0xDF4A, }; static const unsigned short utf8_to_euc_E8B6[] = { 0, 0x6C63, 0xDF4B, 0, 0xDF4C, 0x4436, 0, 0, 0xDF4D, 0, 0x315B, 0, 0, 0xDF4E, 0, 0, 0xDF4F, 0xDF50, 0, 0, 0, 0xDF51, 0, 0, 0, 0x6C64, 0, 0, 0, 0, 0xDF52, 0xDF53, 0xDF54, 0, 0, 0x3C71, 0, 0, 0xDF55, 0, 0x3F76, 0, 0, 0xDF56, 0xDF57, 0, 0, 0xDF58, 0, 0, 0xDF59, 0x422D, 0, 0xDF5A, 0, 0xDF5B, 0, 0xDF5C, 0x6C67, 0xDF5D, 0xDF6F, 0, 0x6C66, 0, }; static const unsigned short utf8_to_euc_E8B6_x0213[] = { 0, 0x6C63, 0xDF4B, 0, 0xF936, 0x4436, 0, 0, 0xDF4D, 0, 0x315B, 0, 0, 0xDF4E, 0, 0, 0xDF4F, 0xDF50, 0, 0, 0, 0xF937, 0, 0, 0, 0x6C64, 0, 0, 0, 0, 0xDF52, 0xDF53, 0xDF54, 0, 0, 0x3C71, 0, 0, 0xF938, 0, 0x3F76, 0, 0, 0xDF56, 0xDF57, 0, 0, 0x7C40, 0, 0, 0xDF59, 0x422D, 0, 0xDF5A, 0, 0xDF5B, 0, 0xDF5C, 0x6C67, 0xDF5D, 0xDF6F, 0, 0x6C66, 0, }; static const unsigned short utf8_to_euc_E8B7[] = { 0xDF5E, 0, 0x6C65, 0, 0, 0xDF5F, 0xDF60, 0xDF61, 0xDF62, 0, 0xDF63, 0x6C6D, 0x6C6B, 0, 0xDF64, 0x6C68, 0, 0xDF65, 0, 0, 0xDF66, 0xDF67, 0x6C6A, 0xDF68, 0, 0xDF69, 0x6C69, 0x6C6C, 0, 0x3577, 0, 0x6C70, 0, 0x4057, 0, 0x6C71, 0xDF6A, 0xDF6B, 0, 0xDF6C, 0x3859, 0, 0x6C6E, 0x6C6F, 0xDF6D, 0, 0, 0x4F29, 0xDF6E, 0xDF70, 0xDF71, 0x4437, 0xDF72, 0x4129, 0, 0, 0, 0, 0, 0, 0x6C72, 0xDF73, 0, 0x6C75, }; static const unsigned short utf8_to_euc_E8B7_x0213[] = { 0xDF5E, 0, 0x6C65, 0, 0, 0xDF5F, 0xF93A, 0xDF61, 0xF93B, 0, 0xDF63, 0x6C6D, 0x6C6B, 0, 0x7C41, 0x6C68, 0, 0x7C42, 0, 0, 0xDF66, 0xDF67, 0x6C6A, 0x7C43, 0, 0xF93C, 0x6C69, 0x6C6C, 0, 0x3577, 0, 0x6C70, 0, 0x4057, 0, 0x6C71, 0xDF6A, 0xDF6B, 0, 0xDF6C, 0x3859, 0, 0x6C6E, 0x6C6F, 0xF93D, 0, 0, 0x4F29, 0xDF6E, 0xDF70, 0xDF71, 0x4437, 0xDF72, 0x4129, 0, 0, 0, 0, 0, 0, 0x6C72, 0xF940, 0, 0x6C75, }; static const unsigned short utf8_to_euc_E8B8[] = { 0, 0xDF74, 0, 0, 0xDF75, 0xDF76, 0xDF77, 0, 0x6C73, 0x6C74, 0x4D59, 0xDF78, 0, 0, 0, 0x4627, 0x6C78, 0xDF79, 0, 0, 0xDF7A, 0, 0xDF7B, 0, 0, 0, 0, 0, 0, 0x6C76, 0x6C77, 0x6C79, 0xDF7C, 0xDF7D, 0xDF7E, 0xE021, 0, 0, 0xE022, 0xE023, 0, 0, 0x6D29, 0, 0, 0, 0, 0, 0x6C7C, 0xE024, 0, 0xE025, 0x6C7D, 0x6C7B, 0xE026, 0xE027, 0xE028, 0xE029, 0, 0, 0, 0xE02A, 0, 0, }; static const unsigned short utf8_to_euc_E8B8_x0213[] = { 0, 0xDF74, 0, 0, 0xDF75, 0xDF76, 0xF941, 0, 0x6C73, 0x6C74, 0x4D59, 0xDF78, 0xF93E, 0, 0, 0x4627, 0x6C78, 0xDF79, 0, 0, 0xF943, 0, 0xF944, 0, 0, 0, 0, 0, 0, 0x6C76, 0x6C77, 0x6C79, 0x7C44, 0xF945, 0xF946, 0x7C45, 0, 0, 0xE022, 0xF947, 0, 0, 0x6D29, 0, 0, 0, 0, 0, 0x6C7C, 0xE024, 0, 0xE025, 0x6C7D, 0x6C7B, 0xF94A, 0xE027, 0xE028, 0xF94B, 0, 0, 0, 0x7C46, 0, 0, }; static const unsigned short utf8_to_euc_E8B9[] = { 0xE02B, 0xE02C, 0x6C7A, 0, 0x447D, 0, 0, 0x6D21, 0x6D25, 0x6D22, 0x6C7E, 0xE02D, 0x6D23, 0xE02E, 0xE02F, 0xE030, 0x6D24, 0, 0, 0, 0xE031, 0x6D2B, 0, 0, 0, 0x6D26, 0, 0xE032, 0xE033, 0xE034, 0xE035, 0x4058, 0x6D28, 0xE036, 0xE037, 0x6D2A, 0x6D27, 0, 0, 0, 0, 0xE038, 0, 0, 0xE039, 0xE03A, 0, 0xE03B, 0xE03C, 0xE03D, 0x6D2D, 0, 0x3D33, 0, 0x6D2C, 0, 0, 0xE03E, 0xE03F, 0xE040, 0x6D2E, 0, 0, 0, }; static const unsigned short utf8_to_euc_E8B9_x0213[] = { 0xE02B, 0xE02C, 0x6C7A, 0, 0x447D, 0, 0, 0x6D21, 0x6D25, 0x6D22, 0x6C7E, 0xF94C, 0x6D23, 0xE02E, 0xE02F, 0xE030, 0x6D24, 0, 0, 0, 0xF94D, 0x6D2B, 0, 0, 0, 0x6D26, 0, 0xE032, 0xE033, 0xE034, 0xE035, 0x4058, 0x6D28, 0xE036, 0xF94E, 0x6D2A, 0x6D27, 0, 0, 0, 0, 0xE038, 0, 0, 0xF94F, 0xF950, 0, 0xF951, 0x7C47, 0xE03D, 0x6D2D, 0, 0x3D33, 0, 0x6D2C, 0, 0, 0xE03E, 0xE03F, 0x7C48, 0x6D2E, 0, 0, 0, }; static const unsigned short utf8_to_euc_E8BA[] = { 0, 0x6D2F, 0xE041, 0xE042, 0x6D32, 0x6D31, 0, 0x6D30, 0, 0xE043, 0x6D34, 0x6D33, 0, 0x4C76, 0, 0, 0xE044, 0x6D36, 0xE045, 0x6D35, 0x6D37, 0xE046, 0, 0, 0, 0x6D38, 0xE047, 0xE048, 0, 0xE049, 0xE04A, 0, 0, 0x6D3A, 0xE04B, 0, 0, 0, 0, 0xE04C, 0, 0xE04D, 0x6D39, 0x3F48, 0x6D3B, 0xE04E, 0xE04F, 0x366D, 0x6D3C, 0x6D3E, 0, 0xE050, 0, 0xE051, 0, 0, 0, 0, 0xE052, 0xE053, 0, 0, 0x6D3F, 0, }; static const unsigned short utf8_to_euc_E8BA_x0213[] = { 0, 0x6D2F, 0xE041, 0xE042, 0x6D32, 0x6D31, 0, 0x6D30, 0, 0xE043, 0x6D34, 0x6D33, 0, 0x4C76, 0, 0, 0xE044, 0x6D36, 0xE045, 0x6D35, 0x6D37, 0xE046, 0, 0, 0xF952, 0x6D38, 0xE047, 0xE048, 0, 0xE049, 0xF953, 0, 0, 0x6D3A, 0xE04B, 0, 0, 0, 0, 0xE04C, 0, 0xE04D, 0x6D39, 0x3F48, 0x6D3B, 0xE04E, 0xF954, 0x366D, 0x6D3C, 0x6D3E, 0, 0xF955, 0, 0xF956, 0xF957, 0, 0, 0, 0xE052, 0xF958, 0, 0, 0x6D3F, 0, }; static const unsigned short utf8_to_euc_E8BB[] = { 0xE054, 0xE055, 0, 0xE056, 0xE057, 0x6D40, 0x6D3D, 0xE058, 0x6D41, 0, 0x3C56, 0x6D42, 0x3530, 0x3733, 0, 0xE059, 0, 0xE05A, 0x382E, 0, 0xE05B, 0, 0, 0, 0, 0, 0, 0x6D43, 0xE05C, 0, 0, 0x4670, 0, 0, 0x453E, 0x6D44, 0, 0, 0, 0, 0xE05D, 0, 0, 0x6D47, 0, 0xE064, 0xE05E, 0, 0xE05F, 0xE060, 0, 0, 0, 0, 0, 0xE061, 0x3C34, 0xE062, 0xE063, 0x6D46, 0x6D45, 0x375A, 0x6D48, 0, }; static const unsigned short utf8_to_euc_E8BB_x0213[] = { 0x7C4A, 0xE055, 0, 0xE056, 0xE057, 0x6D40, 0x6D3D, 0xE058, 0x6D41, 0, 0x3C56, 0x6D42, 0x3530, 0x3733, 0, 0, 0, 0xF95A, 0x382E, 0, 0xF95B, 0, 0, 0, 0, 0, 0, 0x6D43, 0xE05C, 0, 0, 0x4670, 0, 0, 0x453E, 0x6D44, 0, 0, 0, 0, 0xE05D, 0, 0, 0x6D47, 0, 0xE064, 0xE05E, 0, 0xE05F, 0xE060, 0, 0, 0, 0, 0, 0xE061, 0x3C34, 0xF95D, 0x7C4C, 0x6D46, 0x6D45, 0x375A, 0x6D48, 0, }; static const unsigned short utf8_to_euc_E8BC[] = { 0xE065, 0, 0xE066, 0x3353, 0, 0x6D4A, 0, 0xE067, 0xE068, 0x3A5C, 0x6D49, 0, 0x6D52, 0, 0, 0xE069, 0xE06A, 0, 0x6D4C, 0x6D4E, 0x4A65, 0x6D4B, 0xE06B, 0xE06C, 0xE06D, 0x6D4D, 0, 0x6D51, 0x6D4F, 0x3531, 0xE06E, 0x6D50, 0xE06F, 0xE070, 0, 0xE071, 0, 0xE072, 0x6D53, 0xE073, 0xE074, 0x475A, 0x4E58, 0, 0xE075, 0xE076, 0xE077, 0x3D34, 0, 0, 0, 0x6D54, 0xE078, 0xE079, 0xE07A, 0xE07B, 0x4D22, 0x6D56, 0xE07C, 0x6D55, 0, 0, 0x6D59, 0x4D41, }; static const unsigned short utf8_to_euc_E8BC_x0213[] = { 0xF95F, 0, 0xE066, 0x3353, 0, 0x6D4A, 0, 0xE067, 0xF960, 0x3A5C, 0x6D49, 0, 0x6D52, 0, 0, 0xE069, 0xE06A, 0, 0x6D4C, 0x6D4E, 0x4A65, 0x6D4B, 0xE06B, 0xF961, 0xE06D, 0x6D4D, 0, 0x6D51, 0x6D4F, 0x3531, 0x7C4D, 0x6D50, 0xE06F, 0xE070, 0, 0xE071, 0, 0xE072, 0x6D53, 0xE073, 0xE074, 0x475A, 0x4E58, 0xF962, 0xE075, 0x7C4E, 0xE077, 0x3D34, 0, 0, 0, 0x6D54, 0xE078, 0xE079, 0x7C4F, 0xE07B, 0x4D22, 0x6D56, 0xE07C, 0x6D55, 0, 0, 0x6D59, 0x4D41, }; static const unsigned short utf8_to_euc_E8BD[] = { 0xE07D, 0xE07E, 0x6D58, 0xE121, 0x336D, 0x6D57, 0x6D5C, 0xE122, 0, 0x6D5B, 0, 0, 0x6D5A, 0x4532, 0x6D5D, 0xE123, 0, 0xE124, 0xE125, 0xE126, 0xE127, 0xE128, 0, 0x6D5E, 0xE129, 0, 0, 0, 0x6D5F, 0xE12A, 0xE12B, 0x396C, 0, 0x3725, 0x6D60, 0x6D61, 0x6D62, 0xE12C, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, }; static const unsigned short utf8_to_euc_E8BD_x0213[] = { 0xF963, 0xE07E, 0x6D58, 0xE121, 0x336D, 0x6D57, 0x6D5C, 0xE122, 0, 0x6D5B, 0xF964, 0, 0x6D5A, 0x4532, 0x6D5D, 0xE123, 0, 0xE124, 0xE125, 0xE126, 0x7C50, 0xE128, 0, 0x6D5E, 0xF965, 0, 0, 0, 0x6D5F, 0xE12A, 0xE12B, 0x396C, 0, 0x3725, 0x6D60, 0x6D61, 0x6D62, 0xE12C, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, }; static const unsigned short utf8_to_euc_E8BE[] = { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0x3F49, 0x6D63, 0xE12D, 0x3C2D, 0x6D64, 0xE12E, 0xE12F, 0, 0x6D65, 0xE130, 0xE131, 0xE132, 0x5221, 0x517E, 0, 0, 0, 0, 0x6D66, 0x6570, 0x6D67, 0x4324, 0x3F2B, 0x4740, 0, 0, 0xE133, 0xE134, 0x6D68, 0xE135, 0, 0x4A55, 0x4454, 0x397E, 0, 0xE136, 0x4329, }; static const unsigned short utf8_to_euc_E8BE_x0213[] = { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0x3F49, 0x6D63, 0xE12D, 0x3C2D, 0x6D64, 0xE12E, 0xE12F, 0, 0x6D65, 0xF967, 0xE131, 0x7C52, 0x5221, 0x517E, 0, 0, 0, 0, 0x6D66, 0x6570, 0x6D67, 0x4324, 0x3F2B, 0x4740, 0, 0xF968, 0x7C53, 0xF96A, 0x6D68, 0xE135, 0, 0x4A55, 0x4454, 0x397E, 0, 0xE136, 0x4329, }; static const unsigned short utf8_to_euc_E8BF[] = { 0xE137, 0xE138, 0x312A, 0, 0x4B78, 0x3F57, 0xE139, 0, 0, 0, 0xE13A, 0xE13B, 0, 0xE13C, 0x375E, 0, 0xE13D, 0x3661, 0xE13E, 0xE13F, 0x4A56, 0xE140, 0, 0, 0, 0, 0x6D69, 0, 0, 0, 0, 0, 0xE141, 0, 0x6D6B, 0xE142, 0xE143, 0x6D6A, 0x3260, 0, 0xE144, 0x4676, 0x6D6C, 0x4777, 0, 0x4533, 0xE145, 0x6D6D, 0x3D52, 0xE146, 0, 0, 0x6D6F, 0xE147, 0xE148, 0x4C42, 0x6D7E, 0x6D71, 0x6D72, 0xE149, 0, 0x4449, 0xE14A, 0, }; static const unsigned short utf8_to_euc_E8BF_x0213[] = { 0xE137, 0xF96C, 0x312A, 0, 0x4B78, 0x3F57, 0xF96D, 0, 0, 0, 0xF96F, 0xE13B, 0, 0xF970, 0x375E, 0, 0xE13D, 0x3661, 0xE13E, 0xF971, 0x4A56, 0xF972, 0, 0, 0, 0, 0x6D69, 0, 0, 0, 0, 0, 0xF973, 0, 0x6D6B, 0xE142, 0x7C54, 0x6D6A, 0x3260, 0, 0x7C55, 0x4676, 0x6D6C, 0x4777, 0, 0x4533, 0x7C56, 0x6D6D, 0x3D52, 0xF974, 0, 0, 0x6D6F, 0xF975, 0xE148, 0x4C42, 0x6D7E, 0x6D71, 0x6D72, 0xF976, 0, 0x4449, 0xE14A, 0, }; static const unsigned short utf8_to_euc_E980[] = { 0x4260, 0x4177, 0xE14B, 0x4628, 0xE14C, 0x6D70, 0x3555, 0, 0xE14D, 0, 0, 0x6D79, 0xE14E, 0x6D76, 0x6E25, 0x4629, 0x4360, 0x6D73, 0, 0x447E, 0x4553, 0x6D74, 0x6D78, 0x3F60, 0xE14F, 0x4767, 0x444C, 0xE150, 0, 0x4042, 0x6D77, 0x422E, 0x4224, 0x6D75, 0x3029, 0x4F22, 0, 0, 0, 0x6D7A, 0xE151, 0xE152, 0xE154, 0, 0xE155, 0xE156, 0x4261, 0xE153, 0, 0x3D35, 0x3F4A, 0xE157, 0xE158, 0x6D7C, 0x6D7B, 0xE159, 0x306F, 0x6D7D, 0, 0, 0x492F, 0, 0x6E27, 0xE15A, }; static const unsigned short utf8_to_euc_E980_x0213[] = { 0x4260, 0x4177, 0xF977, 0x4628, 0xE14C, 0x6D70, 0x3555, 0, 0x7C57, 0, 0, 0x6D79, 0xF978, 0x6D76, 0x6E25, 0x4629, 0x4360, 0x6D73, 0, 0x447E, 0x4553, 0x6D74, 0x6D78, 0x3F60, 0xE14F, 0x4767, 0x444C, 0xE150, 0, 0x4042, 0x6D77, 0x422E, 0x4224, 0x6D75, 0x3029, 0x4F22, 0, 0, 0, 0x6D7A, 0xE151, 0xE152, 0xE154, 0, 0xE155, 0x7C58, 0x4261, 0xE153, 0, 0x3D35, 0x3F4A, 0xE157, 0xE158, 0x6D7C, 0x6D7B, 0xF979, 0x306F, 0x6D7D, 0, 0, 0x492F, 0, 0x6E27, 0xE15A, }; static const unsigned short utf8_to_euc_E981[] = { 0, 0x465B, 0x3F6B, 0xE15B, 0xE15C, 0x4359, 0, 0x3678, 0, 0x6E26, 0x4D37, 0x313F, 0xE15D, 0x4A57, 0x3261, 0x6E21, 0x6E22, 0x6E23, 0x6E24, 0x463B, 0x4323, 0x3063, 0x6E28, 0, 0x6E29, 0x7423, 0, 0xE15E, 0x423D, 0xE15F, 0x6E2A, 0, 0x3173, 0x414C, 0xE160, 0x382F, 0, 0x4D5A, 0xE161, 0xE162, 0x6E2B, 0x452C, 0, 0, 0xE163, 0x4178, 0x3C57, 0x6E2C, 0xE164, 0, 0x6E2F, 0, 0xE165, 0x3D65, 0x6E2D, 0x412B, 0x412A, 0xE166, 0x3064, 0, 0x4E4B, 0x6E31, 0, 0x4872, }; static const unsigned short utf8_to_euc_E981_x0213[] = { 0, 0x465B, 0x3F6B, 0xF97B, 0xF97C, 0x4359, 0, 0x3678, 0, 0x6E26, 0x4D37, 0x313F, 0xE15D, 0x4A57, 0x3261, 0x6E21, 0x6E22, 0x6E23, 0x6E24, 0x463B, 0x4323, 0x3063, 0x6E28, 0, 0x6E29, 0x7423, 0, 0xE15E, 0x423D, 0xF97D, 0x6E2A, 0, 0x3173, 0x414C, 0xE160, 0x382F, 0, 0x4D5A, 0xE161, 0, 0x6E2B, 0x452C, 0, 0, 0xE163, 0x4178, 0x3C57, 0x6E2C, 0xE164, 0, 0x6E2F, 0, 0xE165, 0x3D65, 0x6E2D, 0x412B, 0x412A, 0xE166, 0x3064, 0, 0x4E4B, 0x6E31, 0, 0x4872, }; static const unsigned short utf8_to_euc_E982[] = { 0x6E33, 0x6E32, 0x6E30, 0x6364, 0x3454, 0xE167, 0, 0x6D6E, 0xE168, 0x6E35, 0x6E34, 0xE169, 0xE16A, 0, 0xE16B, 0x6E36, 0xE16C, 0x4D38, 0, 0, 0, 0xE16D, 0, 0xE16E, 0xE16F, 0xE170, 0, 0xE171, 0, 0, 0, 0, 0xE172, 0xE173, 0xE174, 0x4661, 0, 0xE175, 0x4B2E, 0, 0x6E37, 0, 0x3C59, 0, 0, 0, 0, 0x6E38, 0xE176, 0x6E39, 0xE177, 0xE178, 0xE179, 0x6E3A, 0xE17A, 0, 0x4521, 0, 0, 0, 0, 0xE17B, 0xE17D, 0, }; static const unsigned short utf8_to_euc_E982_x0213[] = { 0x6E33, 0x6E32, 0x6E30, 0x6364, 0x3454, 0xFA22, 0, 0x6D6E, 0x7C5A, 0x6E35, 0x6E34, 0xE169, 0xFA23, 0, 0xE16B, 0x6E36, 0xFA24, 0x4D38, 0, 0, 0, 0x7C5B, 0, 0x7C5C, 0xE16F, 0x7C5D, 0, 0x7C5E, 0, 0, 0, 0, 0xE172, 0xFA26, 0x7C5F, 0x4661, 0, 0xE175, 0x4B2E, 0, 0x6E37, 0, 0x3C59, 0, 0, 0, 0, 0x6E38, 0xFA28, 0x6E39, 0xE177, 0x7C60, 0xE179, 0x6E3A, 0xFA29, 0, 0x4521, 0, 0, 0, 0, 0xE17B, 0x7C61, 0, }; static const unsigned short utf8_to_euc_E983[] = { 0, 0x306A, 0, 0xE17E, 0xE221, 0xE222, 0, 0xE223, 0xE224, 0, 0x3959, 0, 0xE17C, 0, 0x4F3A, 0, 0, 0, 0xE22D, 0, 0, 0xE225, 0, 0xE226, 0xE227, 0xE228, 0, 0x6E3E, 0xE229, 0xE22A, 0xF46C, 0xE22B, 0, 0x3734, 0x6E3B, 0, 0x6E3C, 0xE22C, 0, 0, 0x4974, 0, 0, 0xE22F, 0, 0x3354, 0, 0xE230, 0xE231, 0, 0, 0, 0xE232, 0x4D39, 0xE22E, 0x363F, 0, 0, 0, 0, 0, 0x4554, 0xE233, 0xE234, }; static const unsigned short utf8_to_euc_E983_x0213[] = { 0, 0x306A, 0, 0xFA2A, 0x7C62, 0x7C63, 0, 0x7C64, 0xFA2B, 0, 0x3959, 0, 0xE17C, 0, 0x4F3A, 0, 0, 0, 0xE22D, 0, 0, 0xE225, 0, 0x7C65, 0xE227, 0xE228, 0, 0x6E3E, 0xFA2D, 0x7C66, 0x7C67, 0xFA2E, 0, 0x3734, 0x6E3B, 0, 0x6E3C, 0xE22C, 0, 0, 0x4974, 0, 0, 0xFA33, 0, 0x3354, 0, 0x7C68, 0xE231, 0, 0xFA31, 0, 0x7C69, 0x4D39, 0xFA30, 0x363F, 0, 0, 0, 0, 0, 0x4554, 0xFA34, 0xFA35, }; static const unsigned short utf8_to_euc_E984[] = { 0xE235, 0, 0x6E3F, 0, 0xE236, 0xE237, 0xE238, 0, 0xE239, 0, 0, 0, 0, 0xE23A, 0, 0, 0xE23B, 0, 0x6E40, 0, 0xE23C, 0xF46E, 0xE23D, 0xE23E, 0xE23F, 0x6E41, 0xE240, 0, 0xE241, 0, 0xE242, 0, 0xE243, 0, 0xE245, 0xE246, 0, 0xE244, 0, 0xE247, 0, 0xE248, 0, 0, 0, 0x4522, 0xE249, 0xE24A, 0x6E43, 0xE24B, 0x6E42, 0, 0xE24C, 0, 0xE24D, 0xE24E, 0, 0xE24F, 0xE250, 0, 0xE251, 0xE252, 0, 0, }; static const unsigned short utf8_to_euc_E984_x0213[] = { 0xFA32, 0, 0x6E3F, 0, 0xFA36, 0xE237, 0xFA37, 0, 0xE239, 0, 0, 0, 0, 0xE23A, 0, 0, 0xE23B, 0, 0x6E40, 0, 0x7C6B, 0x7C6C, 0x7C6D, 0xE23E, 0xFA38, 0x6E41, 0xE240, 0, 0xFA39, 0, 0xFA3A, 0, 0xE243, 0, 0x7C6E, 0x7C6F, 0, 0xE244, 0, 0x7C70, 0, 0xE248, 0, 0, 0, 0x4522, 0xE249, 0x7C71, 0x6E43, 0x7C72, 0x6E42, 0, 0x7C73, 0, 0xE24D, 0xFA3B, 0, 0xFA3C, 0xFA3D, 0, 0xE251, 0x7C74, 0, 0, }; static const unsigned short utf8_to_euc_E985[] = { 0, 0, 0, 0xE253, 0, 0, 0, 0xE254, 0xE255, 0x4653, 0x6E44, 0x3D36, 0x3C60, 0x475B, 0x4371, 0xE256, 0, 0, 0x3C72, 0xE257, 0x3F6C, 0, 0x6E45, 0xE258, 0x6E46, 0xE259, 0xE25A, 0xE25B, 0, 0, 0, 0, 0, 0xE25C, 0x3F5D, 0x6E47, 0xE25D, 0x6E48, 0, 0xE25E, 0, 0x6E49, 0x4D6F, 0, 0x3D37, 0xE25F, 0, 0, 0, 0, 0x6E4B, 0x6E4A, 0xE260, 0x395A, 0, 0x3973, 0x3B40, 0xE261, 0xE262, 0xE263, 0, 0, 0, 0, }; static const unsigned short utf8_to_euc_E985_x0213[] = { 0, 0, 0, 0xE253, 0, 0, 0xFA3E, 0xFA3F, 0x7C75, 0x4653, 0x6E44, 0x3D36, 0x3C60, 0x475B, 0x4371, 0xE256, 0, 0, 0x3C72, 0xE257, 0x3F6C, 0, 0x6E45, 0xFA40, 0x6E46, 0xFA41, 0xE25A, 0x7C76, 0, 0, 0, 0, 0, 0xFA42, 0x3F5D, 0x6E47, 0xFA43, 0x6E48, 0, 0xE25E, 0, 0x6E49, 0x4D6F, 0, 0x3D37, 0xE25F, 0, 0, 0, 0, 0x6E4B, 0x6E4A, 0xFA44, 0x395A, 0, 0x3973, 0x3B40, 0xFA45, 0xE262, 0xE263, 0, 0, 0, 0, }; static const unsigned short utf8_to_euc_E986[] = { 0, 0xE264, 0x6E4E, 0xE265, 0, 0xE266, 0xE267, 0x3D66, 0, 0x6E4D, 0xE268, 0x6E4C, 0, 0x4269, 0xE269, 0, 0x386F, 0xE26A, 0x4043, 0xE26B, 0xE26C, 0xE26D, 0, 0x4830, 0xE26E, 0, 0, 0, 0x3D39, 0, 0xE26F, 0, 0, 0xE270, 0x6E4F, 0, 0x3E5F, 0, 0xE271, 0, 0xE272, 0, 0x6E52, 0x6E50, 0xE273, 0xE274, 0xE275, 0x6E51, 0xE276, 0xE277, 0xE278, 0xE279, 0x6E54, 0x6E53, 0xE27A, 0, 0x3E7A, 0, 0x6E55, 0xE27B, 0xE27C, 0xE27D, 0, 0xE27E, }; static const unsigned short utf8_to_euc_E986_x0213[] = { 0, 0xE264, 0x6E4E, 0x7C77, 0, 0xFA46, 0xE267, 0x3D66, 0, 0x6E4D, 0xE268, 0x6E4C, 0, 0x4269, 0xFA47, 0, 0x386F, 0xE26A, 0x4043, 0xE26B, 0xE26C, 0xE26D, 0, 0x4830, 0xE26E, 0, 0, 0, 0x3D39, 0, 0x7C78, 0, 0, 0xE270, 0x6E4F, 0, 0x3E5F, 0, 0xE271, 0, 0xFA48, 0, 0x6E52, 0x6E50, 0x7C79, 0xE274, 0xFA49, 0x6E51, 0xE276, 0x7C7A, 0xE278, 0xFA4A, 0x6E54, 0x6E53, 0xFA4B, 0, 0x3E7A, 0, 0x6E55, 0xE27B, 0x7C7B, 0xE27D, 0, 0xE27E, }; static const unsigned short utf8_to_euc_E987[] = { 0x6E56, 0x6E57, 0xE321, 0xE322, 0, 0xE323, 0x4850, 0x3A53, 0x3C61, 0x6E58, 0, 0x6E59, 0x4E24, 0x3D45, 0x4C6E, 0x4E4C, 0x6E5A, 0x3662, 0, 0xE324, 0xE325, 0, 0x6E5B, 0xE326, 0x4523, 0xE327, 0xE328, 0x6E5E, 0x3378, 0x3F4B, 0xE329, 0x6E5C, 0, 0x6E5D, 0, 0x4460, 0xE32A, 0xE32B, 0x4B55, 0x367C, 0, 0xE32C, 0xE32D, 0, 0xE32E, 0xE32F, 0xE330, 0xE331, 0xE332, 0xE333, 0, 0, 0, 0x6E60, 0x6E61, 0xE334, 0, 0xE335, 0, 0xE336, 0x6E5F, 0xE337, 0, 0x6E63, }; static const unsigned short utf8_to_euc_E987_x0213[] = { 0x6E56, 0x6E57, 0xE321, 0xFA4C, 0xFA4D, 0xE323, 0x4850, 0x3A53, 0x3C61, 0x6E58, 0, 0x6E59, 0x4E24, 0x3D45, 0x4C6E, 0x4E4C, 0x6E5A, 0x3662, 0, 0xE324, 0xE325, 0, 0x6E5B, 0x7C7C, 0x4523, 0xE327, 0xFA4E, 0x6E5E, 0x3378, 0x3F4B, 0, 0x6E5C, 0, 0x6E5D, 0, 0x4460, 0x7C7E, 0x7D21, 0x4B55, 0x367C, 0, 0xE32C, 0xE32D, 0, 0xFA51, 0x7D22, 0xFA52, 0xE331, 0xE332, 0x7D23, 0, 0, 0, 0x6E60, 0x6E61, 0xE334, 0, 0xE335, 0, 0x7C7D, 0x6E5F, 0xE337, 0, 0x6E63, }; static const unsigned short utf8_to_euc_E988[] = { 0xE338, 0xE339, 0, 0, 0xE33A, 0xE33B, 0xE33C, 0xE33D, 0, 0xE33E, 0xE33F, 0, 0xE340, 0x465F, 0x3343, 0, 0xE341, 0x6E67, 0xE342, 0xE343, 0x6E64, 0x6E66, 0xE344, 0, 0xE345, 0, 0, 0, 0xE346, 0xE347, 0x6E62, 0, 0, 0, 0, 0xE348, 0xE349, 0xE34A, 0xE34B, 0, 0xE34C, 0x6F4F, 0, 0, 0x6E65, 0, 0xE34D, 0xE34E, 0xE34F, 0, 0, 0xE350, 0x4E6B, 0xE351, 0xE352, 0x385A, 0xE353, 0xE354, 0xE355, 0, 0xE356, 0, 0xE357, 0x6E6F, }; static const unsigned short utf8_to_euc_E988_x0213[] = { 0xE338, 0xFA53, 0, 0, 0xE33A, 0xE33B, 0, 0x7D24, 0, 0xE33E, 0xFA54, 0, 0xE340, 0x465F, 0x3343, 0, 0x7D25, 0x6E67, 0xE342, 0xE343, 0x6E64, 0x6E66, 0xFA55, 0xFA56, 0xE345, 0, 0, 0, 0xE346, 0xE347, 0x6E62, 0, 0, 0, 0, 0xE348, 0xE349, 0xE34A, 0xE34B, 0, 0xE34C, 0x6F4F, 0, 0, 0x6E65, 0, 0xE34D, 0xE34E, 0xE34F, 0, 0, 0xFA58, 0x4E6B, 0xE351, 0xE352, 0x385A, 0x7D26, 0x7D27, 0x7D28, 0, 0x7D29, 0, 0xE357, 0x6E6F, }; static const unsigned short utf8_to_euc_E989[] = { 0xE358, 0, 0xE359, 0xE35A, 0x4534, 0x6E6A, 0xE35B, 0xE35C, 0x6E6D, 0x6E6B, 0xE35D, 0x6E70, 0, 0xE35E, 0xE35F, 0xE360, 0x6E71, 0xE361, 0, 0, 0, 0, 0, 0x6E69, 0xE362, 0xE363, 0x6E76, 0x3174, 0xE364, 0xE365, 0x6E68, 0, 0xE366, 0xE367, 0x482D, 0, 0x6E6C, 0xE368, 0x3E60, 0xE369, 0xE36A, 0xE36B, 0, 0, 0, 0, 0xE36C, 0xE36D, 0xE36E, 0x395B, 0, 0, 0, 0xE36F, 0xE370, 0xE371, 0xE372, 0xE373, 0, 0xE374, 0xE375, 0xE376, 0x4B48, 0xE377, }; static const unsigned short utf8_to_euc_E989_x0213[] = { 0x7D2A, 0, 0xFA59, 0x7D2B, 0x4534, 0x6E6A, 0xE35B, 0xFA5A, 0x6E6D, 0x6E6B, 0xFA5B, 0x6E70, 0, 0xE35E, 0xFA5C, 0x7D2C, 0x6E71, 0xFA5D, 0, 0, 0, 0, 0xFA5E, 0x6E69, 0xE362, 0xFA5F, 0x6E76, 0x3174, 0xE364, 0xE365, 0x6E68, 0, 0xFA60, 0xFA61, 0x482D, 0, 0x6E6C, 0xFA62, 0x3E60, 0xFA63, 0xFA64, 0xE36B, 0, 0, 0, 0, 0xE36C, 0xE36D, 0xE36E, 0x395B, 0, 0, 0, 0xE36F, 0xE370, 0, 0x7D2D, 0xE373, 0, 0xE374, 0xFA67, 0xFA68, 0x4B48, 0xFA69, }; static const unsigned short utf8_to_euc_E98A[] = { 0x3664, 0, 0, 0x3D46, 0, 0x463C, 0, 0, 0xE378, 0xE379, 0xE37A, 0, 0, 0xE37B, 0xE37C, 0, 0, 0x412D, 0xE37D, 0x6E74, 0, 0x6E6E, 0x6E73, 0xE37E, 0x4C43, 0xE421, 0x4438, 0x6E75, 0x6E72, 0, 0, 0xE422, 0xE423, 0, 0, 0, 0xE424, 0xE425, 0, 0xE426, 0xE427, 0, 0, 0xE428, 0, 0x412C, 0, 0xE429, 0, 0, 0xE42A, 0, 0, 0, 0xE42B, 0x6E79, 0xE42C, 0x6E78, 0xE42D, 0xE42E, 0xE42F, 0xE430, 0, 0xE431, }; static const unsigned short utf8_to_euc_E98A_x0213[] = { 0x3664, 0, 0, 0x3D46, 0, 0x463C, 0, 0, 0x7D2E, 0xFA6A, 0xE37A, 0, 0, 0xFA6B, 0xE37C, 0, 0, 0x412D, 0xE37D, 0x6E74, 0, 0x6E6E, 0x6E73, 0xFA6C, 0x4C43, 0xFA6D, 0x4438, 0x6E75, 0x6E72, 0, 0, 0xFA6E, 0xE423, 0, 0, 0, 0xE424, 0xE425, 0, 0xFA6F, 0xE427, 0, 0, 0xFA70, 0, 0x412C, 0, 0xE429, 0, 0, 0xFA73, 0, 0, 0, 0xE42B, 0x6E79, 0xE42C, 0x6E78, 0xE42D, 0xE42E, 0xE42F, 0xE430, 0, 0xFA74, }; static const unsigned short utf8_to_euc_E98B[] = { 0xE432, 0xE433, 0xE434, 0xE435, 0, 0xE436, 0xE437, 0xE438, 0xE439, 0, 0, 0xE43A, 0xE43B, 0xE43C, 0xE43D, 0x6E77, 0xE43E, 0, 0x4B2F, 0xE43F, 0, 0xE440, 0, 0xE441, 0xE442, 0xE443, 0, 0, 0xE444, 0xE445, 0, 0xE446, 0xE447, 0xE448, 0, 0xE449, 0x3D7B, 0xE44A, 0, 0xE44B, 0xE44C, 0x6E7A, 0x4A5F, 0, 0xE44D, 0x3154, 0xE44E, 0, 0xE44F, 0, 0x4946, 0x4372, 0, 0, 0, 0, 0x3578, 0xE450, 0x6E7C, 0xE451, 0x395D, 0, 0, 0xE452, }; static const unsigned short utf8_to_euc_E98B_x0213[] = { 0xFA75, 0xE433, 0x7D2F, 0xE435, 0, 0xE436, 0xFA76, 0xE438, 0xE439, 0, 0, 0x7D30, 0x7D31, 0xE43C, 0xFA77, 0x6E77, 0xFA78, 0, 0x4B2F, 0x7D32, 0, 0, 0, 0xFA79, 0xE442, 0xFA7A, 0, 0, 0xE444, 0xE445, 0, 0xE446, 0x7D33, 0xE448, 0, 0xE449, 0x3D7B, 0xFA7B, 0, 0xFA7C, 0xE44C, 0x6E7A, 0x4A5F, 0, 0xE44D, 0x3154, 0xE44E, 0, 0xE44F, 0, 0x4946, 0x4372, 0, 0, 0, 0xFB22, 0x3578, 0xFB23, 0x6E7C, 0xFB24, 0x395D, 0, 0, 0x7D34, }; static const unsigned short utf8_to_euc_E98C[] = { 0xE453, 0, 0xE454, 0, 0, 0, 0x3B2C, 0, 0xE455, 0, 0, 0, 0, 0xE456, 0, 0x6E7B, 0x3F6D, 0xE457, 0, 0, 0xE458, 0xE459, 0, 0, 0x3F6E, 0x6F21, 0x6F23, 0, 0xE45A, 0xE45B, 0xE45C, 0xE45D, 0x3E7B, 0xE45E, 0x6F22, 0x6F24, 0xE45F, 0xE460, 0x3653, 0xE461, 0x4945, 0xE462, 0xE463, 0x3C62, 0x4F23, 0, 0x6E7E, 0x3A78, 0, 0, 0x4F3F, 0xE464, 0xE465, 0x6F26, 0xE466, 0xE467, 0, 0, 0x6F25, 0x6F27, 0, 0, 0, 0, }; static const unsigned short utf8_to_euc_E98C_x0213[] = { 0xE453, 0, 0xFB25, 0, 0x7D35, 0, 0x3B2C, 0, 0xE455, 0, 0, 0, 0, 0xFB26, 0, 0x6E7B, 0x3F6D, 0xFA7D, 0, 0, 0xE458, 0xFB27, 0, 0, 0x3F6E, 0x6F21, 0x6F23, 0, 0xE45A, 0xFB28, 0xFB29, 0x7D36, 0x3E7B, 0x7D37, 0x6F22, 0x6F24, 0xE45F, 0x7D38, 0x3653, 0xFB2A, 0x4945, 0xFB2B, 0xE463, 0x3C62, 0x4F23, 0, 0x6E7E, 0x3A78, 0, 0, 0x4F3F, 0xE464, 0xE465, 0x6F26, 0xE466, 0xE467, 0, 0, 0x6F25, 0x6F27, 0, 0, 0, 0, }; static const unsigned short utf8_to_euc_E98D[] = { 0, 0, 0, 0, 0x6E7D, 0, 0, 0xE468, 0xE469, 0xE46A, 0, 0x4669, 0, 0x4555, 0, 0, 0xE46B, 0xE46C, 0xE46D, 0, 0x4457, 0xE46E, 0x6F2C, 0xE46F, 0xE470, 0, 0xE471, 0x4343, 0x6F28, 0, 0xE472, 0, 0x6F29, 0, 0, 0, 0xE473, 0xE474, 0, 0xE475, 0, 0xE476, 0xE477, 0, 0x372D, 0xE478, 0x6F2B, 0xE479, 0xE47A, 0xE47B, 0, 0xE47C, 0xE47D, 0x3830, 0xE47E, 0, 0, 0, 0xE521, 0, 0x6F2A, 0xE522, 0x3E61, 0xE523, }; static const unsigned short utf8_to_euc_E98D_x0213[] = { 0, 0, 0, 0, 0x6E7D, 0, 0, 0xFB2E, 0x7D39, 0x7D3A, 0x7D3B, 0x4669, 0, 0x4555, 0, 0, 0xE46B, 0xFB2F, 0xE46D, 0, 0x4457, 0xE46E, 0x6F2C, 0xFB30, 0xE470, 0, 0xFB31, 0x4343, 0x6F28, 0, 0xE472, 0, 0x6F29, 0, 0, 0, 0x7D3C, 0x7D3D, 0, 0xE475, 0, 0xE476, 0x7D3E, 0xFB32, 0x372D, 0xE478, 0x6F2B, 0xE479, 0x7D3F, 0xFB33, 0, 0xFB34, 0xE47D, 0x3830, 0xE47E, 0, 0, 0, 0xE521, 0, 0x6F2A, 0xE522, 0x3E61, 0xE523, }; static const unsigned short utf8_to_euc_E98E[] = { 0xE524, 0xE525, 0xE526, 0, 0, 0, 0, 0, 0xE527, 0, 0xE528, 0xE529, 0x3379, 0xE52A, 0, 0xE52B, 0, 0, 0xE52C, 0, 0x6F30, 0xE52D, 0x3A3F, 0x4179, 0xE52E, 0, 0x444A, 0xE52F, 0, 0, 0xE530, 0, 0, 0xE531, 0, 0xE532, 0xE533, 0, 0xE534, 0x333B, 0xE535, 0xE53B, 0, 0xE536, 0x6F2E, 0x6F2F, 0x4443, 0, 0x6F2D, 0, 0, 0, 0xE537, 0xE538, 0xE539, 0, 0, 0x6F31, 0xE53A, 0, 0, 0, 0, 0, }; static const unsigned short utf8_to_euc_E98E_x0213[] = { 0xE524, 0xE525, 0xE526, 0, 0, 0, 0, 0, 0xFB38, 0, 0xE528, 0xFB39, 0x3379, 0xE52A, 0, 0xFB3A, 0, 0, 0xE52C, 0, 0x6F30, 0xE52D, 0x3A3F, 0x4179, 0xE52E, 0, 0x444A, 0x7D40, 0, 0, 0xFB3B, 0, 0, 0xFB35, 0, 0x7D41, 0, 0, 0xE534, 0x333B, 0xE535, 0xE53B, 0, 0xE536, 0x6F2E, 0x6F2F, 0x4443, 0, 0x6F2D, 0, 0, 0, 0xE537, 0xE538, 0xE539, 0, 0, 0x6F31, 0x7D42, 0, 0, 0, 0, 0, }; static const unsigned short utf8_to_euc_E98F[] = { 0, 0xE53C, 0, 0x6F37, 0xE53D, 0xE53E, 0xE53F, 0xE540, 0x6F3A, 0xE541, 0xE542, 0xE543, 0xE544, 0xE545, 0, 0, 0x6F39, 0x452D, 0, 0xE546, 0, 0, 0x6F32, 0x6F33, 0x6F36, 0xE547, 0, 0, 0xE548, 0x6F38, 0xE549, 0xE54A, 0, 0x3640, 0xE54B, 0, 0x6F3B, 0x6F35, 0xE54C, 0xE54D, 0x6F34, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0xE54F, 0xE550, 0xE54E, 0xE551, 0xE552, 0, 0xE553, 0, 0, }; static const unsigned short utf8_to_euc_E98F_x0213[] = { 0, 0xFB40, 0, 0x6F37, 0xE53D, 0xE53E, 0x7D43, 0xFB41, 0x6F3A, 0xE541, 0xE542, 0xE543, 0xE544, 0xE545, 0, 0, 0x6F39, 0x452D, 0, 0xE546, 0, 0, 0x6F32, 0x6F33, 0x6F36, 0xE547, 0, 0, 0xFB42, 0x6F38, 0x7D44, 0x7D45, 0, 0x3640, 0xFB43, 0, 0x6F3B, 0x6F35, 0xE54C, 0xFB44, 0x6F34, 0, 0, 0, 0, 0, 0, 0, 0, 0xFB3F, 0, 0, 0, 0xFB3C, 0, 0xE54F, 0, 0xE54E, 0xE551, 0xFB49, 0, 0x7D47, 0, 0, }; static const unsigned short utf8_to_euc_E990[] = { 0, 0xE554, 0xE555, 0x6F3F, 0xE556, 0, 0, 0x6F40, 0xE557, 0xE558, 0, 0, 0, 0xE559, 0xE55A, 0xE55B, 0x6F41, 0, 0, 0x6F3E, 0x6F3D, 0xE55C, 0xE55D, 0xE55E, 0x3E62, 0x462A, 0x6F3C, 0, 0, 0, 0, 0xE55F, 0, 0x6F45, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0x6F43, 0, 0, 0xE560, 0xE561, 0, 0xE562, 0xE563, 0xE564, 0xE565, 0x6F44, 0x6F42, 0, 0x4278, 0, 0x6F46, 0xE566, 0, 0xE568, 0, 0xE567, }; static const unsigned short utf8_to_euc_E990_x0213[] = { 0, 0xE554, 0xE555, 0x6F3F, 0x7D46, 0, 0, 0x6F40, 0xE557, 0xFB45, 0, 0, 0, 0xE559, 0xE55A, 0xFB46, 0x6F41, 0, 0, 0x6F3E, 0x6F3D, 0xE55C, 0xFB47, 0xFB48, 0x3E62, 0x462A, 0x6F3C, 0, 0, 0, 0, 0xE55F, 0, 0x6F45, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0x6F43, 0, 0, 0xE560, 0xE561, 0, 0, 0xFB4A, 0x7D48, 0xFB4B, 0x6F44, 0x6F42, 0, 0x4278, 0, 0x6F46, 0xFB4C, 0, 0xE568, 0, 0xE567, }; static const unsigned short utf8_to_euc_E991[] = { 0, 0x6F47, 0, 0xE569, 0x6F49, 0xE56A, 0, 0, 0xE56B, 0, 0xE56C, 0, 0xE56D, 0, 0, 0, 0, 0x3455, 0x6F48, 0x4C7A, 0, 0xE56E, 0, 0, 0, 0xE56F, 0x6F54, 0x6F4A, 0xE570, 0, 0x6F4D, 0xE571, 0x6F4B, 0xE572, 0x6F4C, 0xE573, 0, 0, 0, 0, 0xE574, 0, 0x6F4E, 0xE575, 0, 0xE576, 0xE577, 0xE578, 0x6F50, 0xE579, 0xE57A, 0, 0, 0x6F51, 0, 0x6F52, 0, 0, 0, 0, 0x6F55, 0x6F53, 0x6F56, 0x6F58, }; static const unsigned short utf8_to_euc_E991_x0213[] = { 0, 0x6F47, 0, 0xE569, 0x6F49, 0xFB4D, 0, 0, 0, 0, 0x7D49, 0, 0xE56D, 0, 0, 0, 0, 0x3455, 0x6F48, 0x4C7A, 0, 0xE56E, 0, 0, 0, 0xE56F, 0x6F54, 0x6F4A, 0xE570, 0, 0x6F4D, 0xE571, 0x6F4B, 0xE572, 0x6F4C, 0x7D4A, 0, 0, 0, 0, 0xE574, 0, 0x6F4E, 0x7D4B, 0, 0xFB50, 0xE577, 0xFB51, 0x6F50, 0x7D4C, 0x7D4D, 0, 0, 0x6F51, 0, 0x6F52, 0, 0, 0, 0, 0x6F55, 0x6F53, 0x6F56, 0x6F58, }; static const unsigned short utf8_to_euc_E992[] = { 0, 0x6F57, 0, 0xE57C, 0xE57B, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, }; static const unsigned short utf8_to_euc_E995[] = { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0x4439, 0xE57D, 0xE57E, 0, 0, 0, 0, 0xE621, 0, }; static const unsigned short utf8_to_euc_E995_x0213[] = { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0x4439, 0xFB52, 0xFB53, 0, 0, 0, 0, 0xE621, 0, }; static const unsigned short utf8_to_euc_E996[] = { 0x4C67, 0, 0x6F59, 0x412E, 0xE622, 0, 0, 0x6F5A, 0xE623, 0x4A44, 0x6F5B, 0x332B, 0xE624, 0xE625, 0xE626, 0x313C, 0, 0x3457, 0xF471, 0x3456, 0x6F5C, 0, 0x6F5D, 0, 0x6F5E, 0x6F5F, 0, 0, 0, 0xE627, 0xE628, 0xE629, 0x6F60, 0xE62A, 0x3458, 0x3355, 0x395E, 0x4836, 0xE62B, 0x6F62, 0x6F61, 0xE62C, 0, 0xE62D, 0xE62E, 0x6F63, 0, 0, 0, 0, 0x315C, 0, 0xE62F, 0, 0xE630, 0, 0, 0x6F66, 0xE631, 0x6F65, 0x6F64, 0xE632, 0x6F67, 0xE633, }; static const unsigned short utf8_to_euc_E996_x0213[] = { 0x4C67, 0, 0x6F59, 0x412E, 0xE622, 0, 0xFB54, 0x6F5A, 0xE623, 0x4A44, 0x6F5B, 0x332B, 0xFB55, 0xFB56, 0x7D4E, 0x313C, 0, 0x3457, 0, 0x3456, 0x6F5C, 0, 0x6F5D, 0, 0x6F5E, 0x6F5F, 0, 0, 0, 0xE627, 0xE628, 0x7D4F, 0x6F60, 0xE62A, 0x3458, 0x3355, 0x395E, 0x4836, 0x7D50, 0x6F62, 0x6F61, 0x7D51, 0, 0xFB58, 0x7D52, 0x6F63, 0, 0, 0, 0, 0x315C, 0, 0xFB59, 0, 0x7D53, 0, 0, 0x6F66, 0xE631, 0x6F65, 0x6F64, 0x7D54, 0x6F67, 0xE633, }; static const unsigned short utf8_to_euc_E997[] = { 0, 0, 0, 0x6F6A, 0, 0, 0xE634, 0x3047, 0xE635, 0xE636, 0x6F68, 0xE637, 0x6F6C, 0x6F6B, 0, 0, 0xE638, 0xE639, 0xE63A, 0xE63B, 0x6F6E, 0x6F6D, 0x6F6F, 0, 0x462E, 0xE63C, 0xE63D, 0, 0x6F70, 0xE63E, 0xE63F, 0xE640, 0xE641, 0x6F71, 0x6F73, 0, 0xE642, 0x6F72, 0xE643, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, }; static const unsigned short utf8_to_euc_E997_x0213[] = { 0, 0, 0, 0x6F6A, 0, 0, 0xE634, 0x3047, 0xFB5B, 0xE636, 0x6F68, 0x7D55, 0x6F6C, 0x6F6B, 0, 0, 0x7D56, 0xE639, 0xE63A, 0x7D57, 0x6F6E, 0x6F6D, 0x6F6F, 0, 0x462E, 0xE63C, 0x7D59, 0, 0x6F70, 0xE63E, 0x7D5A, 0xE640, 0xE641, 0x6F71, 0x6F73, 0, 0xE642, 0x6F72, 0xE643, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, }; static const unsigned short utf8_to_euc_E998[] = { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0x496C, 0xE644, 0xE645, 0, 0, 0x6F74, 0xE646, 0, 0xE647, 0xE648, 0xE649, 0, 0x6F75, 0, 0x3A65, 0, 0xE64A, 0, 0x6F76, 0x6F77, 0, 0xE64B, 0x4B49, 0xE64C, 0, 0, 0, 0xE64D, 0xE64E, 0xE64F, 0xE650, 0x414B, 0xE651, 0xE652, 0, 0x3024, }; static const unsigned short utf8_to_euc_E998_x0213[] = { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0x496C, 0xFA25, 0xE645, 0, 0, 0x6F74, 0xE646, 0, 0xE647, 0xE648, 0xE649, 0, 0x6F75, 0, 0x3A65, 0, 0xFB5E, 0, 0x6F76, 0x6F77, 0, 0xE64B, 0x4B49, 0xFB5F, 0xFB60, 0, 0, 0xE64D, 0xE64E, 0xE64F, 0xE650, 0x414B, 0xFB62, 0xE652, 0, 0x3024, }; static const unsigned short utf8_to_euc_E999[] = { 0x424B, 0xE653, 0x6F78, 0, 0x496D, 0, 0, 0, 0, 0, 0, 0x6F7B, 0x6F79, 0x395F, 0, 0x6F7A, 0x3842, 0, 0xE654, 0, 0xE655, 0, 0xE656, 0xE657, 0xE658, 0, 0, 0x4A45, 0x6F7D, 0x7021, 0x6F7E, 0x7022, 0, 0xE659, 0x3121, 0x3F58, 0x3D7C, 0x3459, 0x7023, 0, 0, 0, 0x4766, 0, 0x7025, 0, 0xE65A, 0, 0x3122, 0, 0x7024, 0x4444, 0xE65B, 0x4E4D, 0x462B, 0x6F7C, 0x4E26, 0, 0x3831, 0xE65C, 0xE65D, 0x4D5B, 0xE65E, 0xE65F, }; static const unsigned short utf8_to_euc_E999_x0213[] = { 0x424B, 0xFB63, 0x6F78, 0, 0x496D, 0, 0, 0, 0, 0, 0, 0x6F7B, 0x6F79, 0x395F, 0, 0x6F7A, 0x3842, 0, 0xE654, 0, 0xE655, 0, 0xE656, 0xE657, 0x7D5B, 0, 0, 0x4A45, 0x6F7D, 0x7021, 0x6F7E, 0x7022, 0, 0xFB64, 0x3121, 0x3F58, 0x3D7C, 0x3459, 0x7023, 0, 0, 0, 0x4766, 0, 0x7025, 0, 0xE65A, 0, 0x3122, 0, 0x7024, 0x4444, 0xE65B, 0x4E4D, 0x462B, 0x6F7C, 0x4E26, 0, 0x3831, 0xE65C, 0xE65D, 0x4D5B, 0xE65E, 0xE65F, }; static const unsigned short utf8_to_euc_E99A[] = { 0, 0xE660, 0xE661, 0xE662, 0xE663, 0x3679, 0x4E34, 0, 0x3728, 0xE664, 0x4262, 0x6721, 0, 0x7026, 0x332C, 0x3F6F, 0, 0xE665, 0, 0, 0x3356, 0x7028, 0xE666, 0x7029, 0x7027, 0x3764, 0xE667, 0x3A5D, 0x3E63, 0xE668, 0, 0xE669, 0x3123, 0, 0, 0x4E59, 0xE66A, 0xE66B, 0xE66C, 0x702B, 0x6E2E, 0xE66D, 0x702A, 0, 0, 0, 0xE66E, 0xE66F, 0x702E, 0x702C, 0x702D, 0xE670, 0x702F, 0, 0x7030, 0x4E6C, 0x7031, 0x7032, 0xE671, 0x4049, 0x483B, 0, 0, 0, }; static const unsigned short utf8_to_euc_E99A_x0213[] = { 0, 0xE660, 0xFB66, 0xE662, 0x7D5C, 0x3679, 0x4E34, 0, 0x3728, 0xE664, 0x4262, 0x6721, 0, 0x7026, 0x332C, 0x3F6F, 0, 0xE665, 0, 0, 0x3356, 0x7028, 0xE666, 0x7029, 0x7027, 0x3764, 0xFB68, 0x3A5D, 0x3E63, 0x7D5E, 0, 0xE669, 0x3123, 0, 0, 0x4E59, 0x7D5F, 0x7D60, 0xE66C, 0x702B, 0x6E2E, 0xFB6B, 0x702A, 0, 0, 0, 0xE66E, 0xFB6C, 0x702E, 0x702C, 0x702D, 0xFB6D, 0x702F, 0, 0x7030, 0x4E6C, 0x7031, 0x7032, 0xFB6E, 0x4049, 0x483B, 0xFB6F, 0, 0, }; static const unsigned short utf8_to_euc_E99B[] = { 0x3F7D, 0x3467, 0, 0, 0x4D3A, 0x326D, 0x3D38, 0x385B, 0, 0x7035, 0xE672, 0x7034, 0x3B73, 0x7036, 0x7033, 0, 0, 0x3B28, 0xE673, 0, 0, 0x703A, 0x6A2D, 0, 0xE675, 0x5256, 0xE676, 0x3F77, 0x7038, 0xE677, 0xE678, 0xE679, 0, 0, 0x4E25, 0x4671, 0, 0, 0, 0, 0x312B, 0xE67A, 0x4063, 0x3C36, 0, 0, 0, 0xE67B, 0x4A37, 0xE67C, 0x3140, 0, 0, 0, 0x4E6D, 0x4D6B, 0, 0x703B, 0xE67D, 0x4545, 0, 0, 0, 0, }; static const unsigned short utf8_to_euc_E99B_x0213[] = { 0x3F7D, 0x3467, 0, 0, 0x4D3A, 0x326D, 0x3D38, 0x385B, 0, 0x7035, 0xE672, 0x7034, 0x3B73, 0x7036, 0x7033, 0, 0, 0x3B28, 0x7D61, 0, 0, 0x703A, 0x6A2D, 0, 0xFB72, 0x5256, 0xFB73, 0x3F77, 0x7038, 0xFB74, 0x7D62, 0xE679, 0, 0, 0x4E25, 0x4671, 0, 0, 0, 0, 0x312B, 0x7D64, 0x4063, 0x3C36, 0, 0, 0, 0x7D65, 0x4A37, 0xE67C, 0x3140, 0, 0, 0, 0x4E6D, 0x4D6B, 0, 0x703B, 0xE67D, 0x4545, 0, 0, 0, 0, }; static const unsigned short utf8_to_euc_E99C[] = { 0x3C7B, 0, 0xE67E, 0xE721, 0x703C, 0xE722, 0x703D, 0x3F4C, 0x703E, 0xE723, 0x4E6E, 0, 0, 0x7039, 0x7040, 0x7042, 0, 0x7041, 0, 0x703F, 0, 0, 0x7043, 0, 0, 0x7044, 0xE724, 0xE725, 0x417A, 0xE726, 0x3262, 0, 0, 0xE727, 0xE728, 0xE729, 0x7045, 0, 0, 0x4C38, 0xE72A, 0, 0x7046, 0, 0, 0, 0, 0, 0x7047, 0xE72B, 0x4F2A, 0xE72C, 0, 0, 0, 0, 0x5B31, 0x7048, 0, 0xF474, 0, 0x7049, 0x704A, 0, }; static const unsigned short utf8_to_euc_E99C_x0213[] = { 0x3C7B, 0, 0xE67E, 0xE721, 0x703C, 0xE722, 0x703D, 0x3F4C, 0x703E, 0xE723, 0x4E6E, 0, 0, 0x7039, 0x7040, 0x7042, 0, 0x7041, 0, 0x703F, 0xFB76, 0, 0x7043, 0, 0, 0x7044, 0xE724, 0xE725, 0x417A, 0xE726, 0x3262, 0, 0, 0xE727, 0xE728, 0xFB77, 0x7045, 0, 0, 0x4C38, 0xE72A, 0, 0x7046, 0, 0, 0, 0, 0, 0x7047, 0xE72B, 0x4F2A, 0x7D66, 0, 0, 0xFB79, 0, 0x5B31, 0x7048, 0, 0x7D67, 0, 0x7049, 0x704A, 0, }; static const unsigned short utf8_to_euc_E99D[] = { 0, 0xE72D, 0x704E, 0xE72E, 0x704B, 0, 0x704C, 0, 0x704D, 0x704F, 0xE72F, 0, 0, 0xF475, 0xE730, 0xE731, 0, 0xF476, 0x4044, 0, 0, 0xE732, 0x4C77, 0xE733, 0xE734, 0x4045, 0xE735, 0xE736, 0x7050, 0, 0x4873, 0, 0x7051, 0x7353, 0x4C4C, 0xE737, 0x7052, 0, 0x7053, 0xE738, 0x7054, 0x3357, 0xE739, 0x7056, 0, 0x3F59, 0xE73A, 0, 0, 0x7057, 0, 0xE73B, 0x3724, 0, 0xE73C, 0xE73D, 0xE73E, 0x7058, 0x705C, 0xE73F, 0x705A, 0xE740, 0, 0xE741, }; static const unsigned short utf8_to_euc_E99D_x0213[] = { 0, 0xFB7A, 0x704E, 0, 0x704B, 0, 0x704C, 0xFB7B, 0x704D, 0x704F, 0xE72F, 0, 0, 0x7D68, 0x7D69, 0x7D6A, 0, 0, 0x4044, 0, 0, 0xFB7C, 0x4C77, 0xFB7D, 0xE734, 0x4045, 0x7D6B, 0xFB7E, 0x7050, 0, 0x4873, 0, 0x7051, 0x7353, 0x4C4C, 0xE737, 0x7052, 0, 0x7053, 0xE738, 0x7054, 0x3357, 0xFC21, 0x7056, 0, 0x3F59, 0x7D6C, 0, 0, 0x7057, 0, 0x7D6D, 0x3724, 0, 0xE73C, 0xE73D, 0xE73E, 0x7058, 0x705C, 0xE73F, 0x705A, 0xE740, 0, 0xE741, }; static const unsigned short utf8_to_euc_E99E[] = { 0xE742, 0x705B, 0, 0, 0x3373, 0x7059, 0x705D, 0, 0, 0xE743, 0, 0x705E, 0, 0x3048, 0, 0x705F, 0x7060, 0, 0, 0, 0, 0xE744, 0xE745, 0xE746, 0x3E64, 0xE747, 0xE748, 0, 0x7061, 0, 0xE749, 0xE74A, 0x3547, 0, 0xE74B, 0x7064, 0, 0, 0x7063, 0, 0x7062, 0, 0, 0x6B71, 0xE74C, 0x4A5C, 0xE74D, 0, 0, 0xE74E, 0xE74F, 0x7065, 0x7066, 0xE750, 0xE751, 0, 0xE752, 0xE753, 0xE754, 0, 0xE755, 0, 0xE756, 0xE757, }; static const unsigned short utf8_to_euc_E99E_x0213[] = { 0xE742, 0x705B, 0, 0, 0x3373, 0x7059, 0x705D, 0, 0, 0xE743, 0, 0x705E, 0, 0x3048, 0, 0x705F, 0x7060, 0, 0, 0, 0, 0x7D6E, 0xFC24, 0xE746, 0x3E64, 0xE747, 0xFC25, 0, 0x7061, 0, 0xFC26, 0xE74A, 0x3547, 0, 0xFC27, 0x7064, 0, 0, 0x7063, 0, 0x7062, 0, 0, 0x6B71, 0xE74C, 0x4A5C, 0x7D6F, 0, 0, 0xFC28, 0xFC29, 0x7065, 0x7066, 0xE750, 0xE751, 0, 0xE752, 0xE753, 0x7D70, 0, 0xE755, 0, 0xFC2A, 0xE757, }; static const unsigned short utf8_to_euc_E99F[] = { 0, 0xE758, 0, 0x7067, 0xE759, 0xE75A, 0x7068, 0xE75B, 0x7069, 0xE75C, 0xE75D, 0x706A, 0xE75E, 0xE75F, 0xE760, 0, 0xE761, 0xE762, 0, 0x345A, 0xE763, 0, 0, 0xE764, 0xE765, 0xE766, 0, 0xE76A, 0x706B, 0xE767, 0xE768, 0, 0xE769, 0xE76B, 0, 0, 0xE76C, 0, 0, 0, 0, 0, 0, 0, 0, 0x706C, 0x4723, 0xE76D, 0, 0xE76E, 0x706E, 0x323B, 0xE76F, 0x7071, 0x7070, 0xE770, 0xE771, 0, 0xE772, 0x3124, 0, 0, 0, 0x3641, }; static const unsigned short utf8_to_euc_E99F_x0213[] = { 0, 0x7D71, 0, 0x7067, 0xE759, 0xE75A, 0x7068, 0xE75B, 0x7069, 0x7D72, 0xE75D, 0x706A, 0xFC2B, 0xE75F, 0xE760, 0, 0xE761, 0xFC2C, 0, 0x345A, 0xFC2D, 0, 0, 0xE764, 0xFC2E, 0xFC2F, 0, 0x7D74, 0x706B, 0xE767, 0x7D73, 0, 0xE769, 0xFC30, 0, 0, 0xE76C, 0, 0, 0, 0, 0, 0, 0, 0, 0x706C, 0x4723, 0xE76D, 0, 0xFC31, 0x706E, 0x323B, 0x7D75, 0x7071, 0x7070, 0xE770, 0xE771, 0, 0xE772, 0x3124, 0, 0, 0, 0x3641, }; static const unsigned short utf8_to_euc_E9A0[] = { 0, 0x4A47, 0x443A, 0x3A22, 0, 0x3960, 0x3D67, 0xE773, 0x3F5C, 0, 0xE774, 0, 0x7073, 0xE776, 0xE777, 0x7072, 0x4D42, 0x3468, 0x4852, 0x465C, 0xE778, 0, 0xE779, 0x3F7C, 0x4E4E, 0xE775, 0x375B, 0, 0xE77A, 0, 0xE77B, 0, 0xE77C, 0x7076, 0, 0xE77D, 0x7075, 0xE828, 0xE77E, 0, 0, 0, 0, 0xE821, 0x4B4B, 0x462C, 0xE822, 0xE823, 0xE824, 0, 0xE825, 0xE826, 0x3150, 0xE827, 0, 0x7077, 0x7074, 0, 0, 0x4951, 0x4D6A, 0x7078, 0xE829, 0, }; static const unsigned short utf8_to_euc_E9A0_x0213[] = { 0, 0x4A47, 0x443A, 0x3A22, 0xFC32, 0x3960, 0x3D67, 0xE773, 0x3F5C, 0, 0x7D77, 0, 0x7073, 0xFC33, 0xFC34, 0x7072, 0x4D42, 0x3468, 0x4852, 0x465C, 0xFC35, 0, 0xFC36, 0x3F7C, 0x4E4E, 0xE775, 0x375B, 0, 0xE77A, 0, 0x7D78, 0, 0xE77C, 0x7076, 0, 0xFC39, 0x7075, 0xFC3C, 0xE77E, 0, 0, 0, 0, 0x7D79, 0x4B4B, 0x462C, 0xE822, 0xE823, 0x7D7A, 0, 0xFC3A, 0xFC3B, 0x3150, 0xE827, 0, 0x7077, 0x7074, 0, 0, 0x4951, 0x4D6A, 0x7078, 0xE829, 0, }; static const unsigned short utf8_to_euc_E9A1[] = { 0, 0, 0, 0, 0xE82A, 0, 0x7079, 0xE82B, 0, 0, 0xE82C, 0x707B, 0x426A, 0x335B, 0x335C, 0x707A, 0, 0xE82D, 0xE82E, 0xE82F, 0x3469, 0x3832, 0xE830, 0xE831, 0x346A, 0xE832, 0xE833, 0x453F, 0, 0, 0x4E60, 0, 0, 0, 0xE834, 0xE835, 0, 0xE836, 0xE837, 0x385C, 0, 0, 0xE838, 0x707C, 0xE839, 0, 0, 0x707D, 0x707E, 0x7121, 0, 0x7123, 0x7122, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, }; static const unsigned short utf8_to_euc_E9A1_x0213[] = { 0, 0, 0, 0, 0xE82A, 0, 0x7079, 0xFC3D, 0, 0, 0xE82C, 0x707B, 0x426A, 0x335B, 0x335C, 0x707A, 0, 0xE82D, 0x7D7C, 0x7D7D, 0x3469, 0x3832, 0x7D7E, 0x7E21, 0x346A, 0x7E22, 0x7E23, 0x453F, 0, 0, 0x4E60, 0, 0, 0, 0xE834, 0xE835, 0, 0x7E25, 0xFC3E, 0x385C, 0, 0, 0xE838, 0x707C, 0x7E26, 0, 0, 0x707D, 0x707E, 0x7121, 0, 0x7123, 0x7122, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, }; static const unsigned short utf8_to_euc_E9A2[] = { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0x4977, 0, 0x7124, 0xE83A, 0, 0xE83B, 0xE83C, 0x7125, 0xE83D, 0x7126, 0, 0, 0xE83E, 0, 0x7127, 0xE83F, 0xE840, 0, 0xE841, 0xE842, 0, 0, 0, 0xE843, }; static const unsigned short utf8_to_euc_E9A2_x0213[] = { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0x4977, 0, 0x7124, 0xFC3F, 0, 0xFC40, 0xE83C, 0x7125, 0xFC41, 0x7126, 0, 0, 0xE83E, 0, 0x7127, 0xFC43, 0xFC44, 0, 0x7E27, 0xFC45, 0xFC46, 0, 0, 0xFC47, }; static const unsigned short utf8_to_euc_E9A3[] = { 0, 0, 0xE844, 0x7129, 0x7128, 0xE845, 0x712A, 0, 0xE846, 0, 0, 0, 0xE847, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0x4874, 0x664C, 0, 0, 0x3F29, 0, 0xE848, 0x3532, 0xE849, 0, 0xE84A, 0xE84B, 0xE84C, 0, 0x712B, 0xE84D, 0x712C, 0, 0x522C, 0x5D3B, 0x4853, 0, 0, 0x307B, 0xE84E, 0x303B, 0, 0xE84F, 0, 0, 0, 0, 0, 0x3B74, 0x4B30, 0x3E7E, 0, }; static const unsigned short utf8_to_euc_E9A3_x0213[] = { 0, 0, 0xFC48, 0x7129, 0x7128, 0xE845, 0x712A, 0xFC49, 0x7E28, 0, 0, 0xFC4A, 0xE847, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0x4874, 0x664C, 0, 0, 0x3F29, 0xFC4B, 0xFC4D, 0x3532, 0xFC4E, 0, 0xFC4F, 0xE84B, 0x7E29, 0, 0x712B, 0xFC50, 0x712C, 0, 0x522C, 0x5D3B, 0x4853, 0xFC51, 0xFC52, 0x307B, 0xFC53, 0x303B, 0, 0xE84F, 0, 0, 0, 0, 0, 0x3B74, 0x4B30, 0x3E7E, 0, }; static const unsigned short utf8_to_euc_E9A4[] = { 0, 0, 0xE850, 0x712D, 0, 0x4C5F, 0, 0xE851, 0xE852, 0x712E, 0x4D5C, 0, 0x3142, 0, 0, 0, 0x3B41, 0xE853, 0x712F, 0x326E, 0x7130, 0xE854, 0xE855, 0xE856, 0x7131, 0, 0xE857, 0xE858, 0xE859, 0x7133, 0x7134, 0xE85A, 0x7136, 0x7132, 0xE85B, 0, 0x7135, 0, 0xE85C, 0xE85D, 0x345B, 0, 0, 0xE85E, 0x7137, 0, 0x7138, 0, 0, 0xE85F, 0xE860, 0xE861, 0xE862, 0xE863, 0, 0, 0, 0xE864, 0xE865, 0xE866, 0xE867, 0x7139, 0x713A, 0, }; static const unsigned short utf8_to_euc_E9A4_x0213[] = { 0, 0, 0xE850, 0x712D, 0, 0x4C5F, 0, 0xE851, 0xFC54, 0x712E, 0x4D5C, 0, 0x3142, 0, 0, 0, 0x3B41, 0xE853, 0x712F, 0x326E, 0x7130, 0xE854, 0xFC57, 0xFC58, 0x7131, 0, 0xFC5A, 0xFC5B, 0xFC5C, 0x7133, 0x7134, 0xE85A, 0x7136, 0x7132, 0xE85B, 0, 0x7135, 0, 0xE85C, 0, 0x345B, 0, 0, 0xE85E, 0x7137, 0, 0x7138, 0, 0, 0xFC5E, 0xFC5F, 0xFC60, 0xE862, 0xE863, 0, 0, 0, 0xE864, 0xFC61, 0xFC62, 0xFC63, 0x7139, 0x713A, 0, }; static const unsigned short utf8_to_euc_E9A5[] = { 0xE868, 0xE869, 0x713B, 0, 0, 0x713D, 0xE86A, 0xE86B, 0xE86C, 0x713C, 0, 0x713F, 0x7142, 0xE86D, 0xE86E, 0, 0x713E, 0x7140, 0x7141, 0, 0xE86F, 0x7143, 0, 0x3642, 0xE870, 0xE871, 0, 0xE872, 0xE873, 0, 0xE874, 0xE875, 0xE876, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, }; static const unsigned short utf8_to_euc_E9A5_x0213[] = { 0xFC64, 0xFC65, 0x713B, 0, 0, 0x713D, 0xFC66, 0xE86B, 0xE86C, 0x713C, 0, 0x713F, 0x7142, 0xFC67, 0xFC68, 0, 0x713E, 0x7140, 0x7141, 0, 0xE86F, 0x7143, 0, 0x3642, 0x7E2A, 0xE871, 0, 0xE872, 0xFC69, 0, 0xE874, 0xFC6A, 0xFC6B, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, }; static const unsigned short utf8_to_euc_E9A6[] = { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0x3C73, 0x7144, 0x7145, 0x3961, 0, 0xE877, 0, 0xE878, 0xF47A, 0xE879, 0, 0, 0, 0, 0, 0x7146, 0xE87A, 0, 0x333E, 0, 0, 0, 0x474F, 0x7147, 0x7148, 0, 0xE87B, 0xE87C, 0xE87D, 0x435A, 0x466B, 0xE87E, 0, 0, 0, 0xE921, 0xE922, 0, 0x7149, 0xE923, 0, 0xE924, }; static const unsigned short utf8_to_euc_E9A6_x0213[] = { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0x3C73, 0x7144, 0x7145, 0x3961, 0, 0xE877, 0, 0xE878, 0x7E2B, 0xE879, 0, 0, 0, 0xFC6C, 0, 0x7146, 0xFC6D, 0, 0x333E, 0, 0, 0, 0x474F, 0x7147, 0x7148, 0, 0xE87B, 0xE87C, 0xE87D, 0x435A, 0x466B, 0xE87E, 0, 0, 0, 0xFC6E, 0xE922, 0, 0x7149, 0xFC6F, 0, 0xFC70, }; static const unsigned short utf8_to_euc_E9A7[] = { 0, 0x477D, 0, 0xE925, 0x424C, 0x3158, 0x366E, 0, 0x366F, 0xE926, 0, 0, 0, 0, 0, 0, 0x4373, 0x714E, 0x3670, 0xE927, 0xE928, 0x326F, 0, 0, 0x714D, 0xE929, 0xE92A, 0x714B, 0xE92B, 0x714C, 0xE92C, 0x714A, 0, 0, 0x7158, 0, 0, 0, 0, 0xE92D, 0, 0, 0xE92E, 0xE92F, 0xE930, 0x714F, 0x7150, 0, 0xE931, 0x7151, 0x7152, 0, 0xE932, 0xE933, 0, 0, 0x7154, 0xE934, 0, 0x7153, 0, 0xE935, 0xE936, 0x3D59, }; static const unsigned short utf8_to_euc_E9A7_x0213[] = { 0, 0x477D, 0, 0xFC71, 0x424C, 0x3158, 0x366E, 0, 0x366F, 0xFC72, 0, 0, 0, 0, 0, 0, 0x4373, 0x714E, 0x3670, 0xE927, 0xFC73, 0x326F, 0, 0, 0x714D, 0xFC74, 0xE92A, 0x714B, 0xE92B, 0x714C, 0xFC75, 0x714A, 0, 0, 0x7158, 0, 0, 0, 0, 0xE92D, 0, 0, 0xE92E, 0xE92F, 0xE930, 0x714F, 0x7150, 0, 0xFC77, 0x7151, 0x7152, 0, 0xE932, 0xE933, 0, 0, 0x7154, 0xFC78, 0, 0x7153, 0xFC79, 0xE935, 0xE936, 0x3D59, }; static const unsigned short utf8_to_euc_E9A8[] = { 0, 0x7155, 0xE937, 0xE938, 0xE939, 0x7157, 0, 0, 0, 0, 0, 0xE93A, 0xE93B, 0, 0x3533, 0x7156, 0xE93C, 0xE93D, 0x417B, 0x3833, 0, 0, 0xE93E, 0, 0, 0x7159, 0, 0, 0, 0, 0xE93F, 0, 0xE940, 0, 0xE941, 0xE942, 0xE943, 0, 0, 0xE944, 0x424D, 0, 0, 0x715A, 0, 0xE945, 0xE946, 0, 0x462D, 0, 0, 0xE947, 0, 0xE948, 0xE949, 0x715B, 0xE94A, 0, 0, 0, 0, 0, 0x7160, 0, }; static const unsigned short utf8_to_euc_E9A8_x0213[] = { 0, 0x7155, 0x7E2C, 0x7E2D, 0xE939, 0x7157, 0, 0, 0, 0, 0xFC7A, 0xE93A, 0xE93B, 0, 0x3533, 0x7156, 0xE93C, 0xFC7B, 0x417B, 0x3833, 0, 0, 0xFC7C, 0, 0, 0x7159, 0xFC7D, 0, 0, 0, 0xE93F, 0, 0xFC7E, 0, 0xE941, 0xE942, 0x7E2E, 0, 0, 0xE944, 0x424D, 0, 0, 0x715A, 0, 0x7E2F, 0x7E30, 0, 0x462D, 0xFD21, 0, 0xE947, 0, 0xE948, 0xFD22, 0x715B, 0x7E31, 0, 0, 0, 0, 0, 0x7160, 0, }; static const unsigned short utf8_to_euc_E9A9[] = { 0x715E, 0xE94C, 0x715D, 0x715F, 0xE94D, 0x715C, 0, 0xE94B, 0, 0, 0xE94E, 0xE94F, 0xE950, 0x7162, 0xE951, 0, 0, 0xE952, 0, 0, 0xE953, 0x7161, 0xE954, 0x7164, 0, 0, 0x3643, 0x7163, 0, 0xE955, 0, 0x7165, 0, 0, 0x7166, 0, 0x7168, 0x7167, 0, 0, 0, 0x7169, 0x716B, 0x716A, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, }; static const unsigned short utf8_to_euc_E9A9_x0213[] = { 0x715E, 0xE94C, 0x715D, 0x715F, 0xFD23, 0x715C, 0, 0xE94B, 0, 0, 0x7E32, 0xE94F, 0xFD24, 0x7162, 0x7E33, 0, 0, 0xE952, 0x7E34, 0, 0xE953, 0x7161, 0xE954, 0x7164, 0xFD25, 0, 0x3643, 0x7163, 0, 0xE955, 0, 0x7165, 0, 0, 0x7166, 0, 0x7168, 0x7167, 0, 0, 0, 0x7169, 0x716B, 0x716A, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, }; static const unsigned short utf8_to_euc_E9AA[] = { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0x397C, 0, 0xE956, 0, 0xE957, 0x716C, 0xE958, 0xE959, 0x716D, 0, 0xE95A, 0, 0xE95B, 0xE95C, 0xE95D, 0, 0x333C, 0xE95E, 0, 0xE95F, 0x716E, 0, 0xE960, 0xE961, }; static const unsigned short utf8_to_euc_E9AA_x0213[] = { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0x397C, 0, 0xE956, 0, 0xE957, 0x716C, 0xE958, 0xFD27, 0x716D, 0, 0xE95A, 0, 0xE95B, 0xE95C, 0x7E35, 0xFD29, 0x333C, 0xFD2B, 0, 0xE95F, 0x716E, 0, 0xE960, 0xE961, }; static const unsigned short utf8_to_euc_E9AB[] = { 0x716F, 0xE962, 0, 0xE963, 0x3F71, 0, 0xE964, 0, 0xE965, 0, 0, 0, 0, 0, 0xE966, 0x7170, 0xE967, 0x7171, 0xE968, 0x7172, 0x7173, 0xE969, 0xE96A, 0xE96B, 0x3962, 0xF47B, 0, 0xE96C, 0xE96D, 0, 0x7174, 0x7175, 0xE96E, 0, 0x7176, 0x7177, 0xE96F, 0xE970, 0x7178, 0xE971, 0, 0xE972, 0x4831, 0x717A, 0xE973, 0x4926, 0x717B, 0x7179, 0, 0x717D, 0xE974, 0xE975, 0x717C, 0xE976, 0, 0x717E, 0, 0xE977, 0xE978, 0x7221, 0, 0xE979, 0, 0xE97A, }; static const unsigned short utf8_to_euc_E9AB_x0213[] = { 0x716F, 0x7E36, 0, 0x7E37, 0x3F71, 0, 0xFD2D, 0, 0xE965, 0, 0, 0, 0, 0, 0x7E38, 0x7170, 0xFD2E, 0x7171, 0xFD2F, 0x7172, 0x7173, 0xFD30, 0x7E39, 0xE96B, 0x3962, 0, 0, 0xE96C, 0xFD32, 0, 0x7174, 0x7175, 0xFD33, 0, 0x7176, 0x7177, 0xE96F, 0xFD34, 0x7178, 0xE971, 0, 0xFD35, 0x4831, 0x717A, 0xE973, 0x4926, 0x717B, 0x7179, 0, 0x717D, 0xE974, 0xE975, 0x717C, 0xE976, 0, 0x717E, 0, 0x7E3A, 0xE978, 0x7221, 0, 0xE979, 0, 0xE97A, }; static const unsigned short utf8_to_euc_E9AC[] = { 0xE97B, 0xE97C, 0xE97D, 0xE97E, 0xEA21, 0xEA22, 0x7222, 0, 0xEA23, 0xEA24, 0, 0xEA25, 0xEA26, 0xEA27, 0xEA28, 0, 0xEA29, 0, 0xEA2A, 0, 0, 0, 0xEA2B, 0, 0x7223, 0xEA2C, 0x7224, 0xEA2D, 0xEA2E, 0, 0, 0x7225, 0xEA2F, 0, 0x7226, 0x7227, 0, 0x7228, 0xEA30, 0x7229, 0x722A, 0x722B, 0x722C, 0xEA31, 0, 0xEA32, 0x722D, 0x722E, 0, 0x5D35, 0x722F, 0xEA33, 0xEA34, 0xEA35, 0, 0xEA36, 0, 0xEA37, 0xEA38, 0x6478, 0x3534, 0xEA39, 0, 0, }; static const unsigned short utf8_to_euc_E9AC_x0213[] = { 0xE97B, 0xE97C, 0x7E3B, 0xFD36, 0xEA21, 0xEA22, 0x7222, 0, 0x7E3C, 0xEA24, 0, 0xEA25, 0xFD37, 0xEA27, 0xEA28, 0, 0xFD38, 0, 0xFD39, 0, 0, 0, 0xFD3A, 0, 0x7223, 0xEA2C, 0x7224, 0xEA2D, 0xFD3B, 0, 0, 0x7225, 0x7E3D, 0, 0x7226, 0x7227, 0, 0x7228, 0xEA30, 0x7229, 0x722A, 0x722B, 0x722C, 0xFD3C, 0, 0x7E3F, 0x722D, 0x722E, 0, 0x5D35, 0x722F, 0xFD3D, 0xEA34, 0xEA35, 0, 0xEA36, 0, 0xEA37, 0xEA38, 0x6478, 0x3534, 0xFD3E, 0, 0, }; static const unsigned short utf8_to_euc_E9AD[] = { 0, 0x3321, 0x3A32, 0x7231, 0x7230, 0x4C25, 0, 0, 0xEA3A, 0, 0, 0xEA3B, 0xEA3C, 0x7233, 0x7234, 0x7232, 0, 0x7235, 0, 0, 0x4B62, 0xEA3D, 0xEA3E, 0xEA3F, 0x7236, 0, 0x357B, 0xEA40, 0, 0, 0xEA41, 0, 0, 0xEA42, 0, 0xEA43, 0, 0xEA44, 0xEA45, 0, 0xEA46, 0, 0xEA47, 0xEA48, 0xEA49, 0xEA4A, 0xEA4B, 0x4F25, 0, 0, 0xF47C, 0xEA4C, 0x7237, 0xEA4D, 0, 0xEA4E, 0xEA4F, 0xEA50, 0, 0, 0, 0, 0, 0xEA51, }; static const unsigned short utf8_to_euc_E9AD_x0213[] = { 0, 0x3321, 0x3A32, 0x7231, 0x7230, 0x4C25, 0, 0, 0xEA3A, 0, 0, 0xFD40, 0xEA3C, 0x7233, 0x7234, 0x7232, 0, 0x7235, 0, 0, 0x4B62, 0xEA3D, 0xEA3E, 0xEA3F, 0x7236, 0, 0x357B, 0xEA40, 0, 0, 0x7E40, 0, 0, 0xEA42, 0, 0xFD41, 0, 0xFD42, 0x7E42, 0, 0xEA46, 0, 0xEA47, 0xFD43, 0xFD44, 0xEA4A, 0xEA4B, 0x4F25, 0, 0, 0x7E43, 0xFD45, 0x7237, 0x7E44, 0xFD46, 0xFD47, 0xEA4F, 0x7E41, 0, 0, 0, 0, 0, 0xEA51, }; static const unsigned short utf8_to_euc_E9AE[] = { 0xEA52, 0, 0, 0x7239, 0xEA53, 0xEA54, 0xEA55, 0xEA56, 0, 0xEA57, 0xEA58, 0xEA59, 0, 0xEA5A, 0x303E, 0xEA5B, 0xEA5C, 0x723A, 0x4A2B, 0x7238, 0xEA5D, 0, 0x723B, 0x723C, 0, 0, 0xEA5E, 0, 0, 0xEA5F, 0xEA60, 0x723D, 0x723E, 0, 0, 0, 0, 0, 0xEA61, 0xEA62, 0x723F, 0xEA63, 0x4B6E, 0x3B2D, 0xEA64, 0x3A7A, 0x412F, 0, 0xEA65, 0xEA66, 0xEA67, 0, 0x7240, 0, 0, 0xEA68, 0xEA69, 0x7243, 0, 0xEA6A, 0xEA6B, 0, 0xEA6C, 0xEA6D, }; static const unsigned short utf8_to_euc_E9AE_x0213[] = { 0xEA52, 0, 0, 0x7239, 0x7E45, 0xEA54, 0xEA55, 0xEA56, 0, 0xEA57, 0x7E46, 0xEA59, 0, 0xEA5A, 0x303E, 0x7E47, 0xEA5C, 0x723A, 0x4A2B, 0x7238, 0xEA5D, 0, 0x723B, 0x723C, 0, 0, 0xEA5E, 0, 0, 0xEA5F, 0x7E48, 0x723D, 0x723E, 0, 0, 0, 0, 0, 0xFD48, 0x7E49, 0x723F, 0xEA63, 0x4B6E, 0x3B2D, 0xFD49, 0x3A7A, 0x412F, 0, 0xEA65, 0xFD4A, 0xFD4D, 0, 0x7240, 0, 0, 0xEA68, 0xFD4E, 0x7243, 0, 0, 0xEA6B, 0, 0xFD4F, 0xEA6D, }; static const unsigned short utf8_to_euc_E9AF[] = { 0x7241, 0xEA6E, 0, 0, 0, 0, 0x7244, 0xEA6F, 0xEA70, 0x3871, 0x7242, 0, 0, 0, 0xEA71, 0x7245, 0xEA72, 0x7246, 0x7247, 0, 0x724B, 0, 0x3B2A, 0xEA73, 0xEA74, 0, 0, 0x4264, 0, 0xEA75, 0, 0xEA76, 0, 0x724C, 0x7249, 0x7248, 0x724A, 0xEA77, 0, 0xEA78, 0x375F, 0, 0xEA79, 0xEA7A, 0, 0, 0, 0xEA7B, 0x7250, 0x724F, 0x724E, 0xEA7C, 0, 0x3033, 0, 0xEA7D, 0xEA7E, 0xEB21, 0xEB22, 0, 0, 0xEB23, 0, 0xEB24, }; static const unsigned short utf8_to_euc_E9AF_x0213[] = { 0x7241, 0x7E4A, 0, 0, 0, 0, 0x7244, 0xFD50, 0xEA70, 0x3871, 0x7242, 0, 0, 0, 0x7E4B, 0x7245, 0xEA72, 0x7246, 0x7247, 0, 0x724B, 0, 0x3B2A, 0xEA73, 0xFD52, 0, 0, 0x4264, 0, 0xFD53, 0, 0xEA76, 0, 0x724C, 0x7249, 0x7248, 0x724A, 0x7E4C, 0, 0xFD54, 0x375F, 0, 0xFD55, 0xFD56, 0, 0, 0xFD58, 0xFD57, 0x7250, 0x724F, 0x724E, 0xFD51, 0, 0x3033, 0, 0xFD5C, 0x7E4D, 0xEB21, 0xFD5A, 0, 0, 0x7E4E, 0, 0xEB24, }; static const unsigned short utf8_to_euc_E9B0[] = { 0xEB25, 0, 0xEB26, 0, 0x725A, 0, 0x7256, 0, 0x7257, 0x7253, 0x7259, 0xEB27, 0x7255, 0x3362, 0, 0xEB28, 0x4F4C, 0xEB29, 0x7258, 0x7254, 0x7252, 0x7251, 0xEB2A, 0, 0xEB2B, 0xEB2C, 0xEB2D, 0x725C, 0xEB2E, 0, 0xEB2F, 0, 0, 0x725F, 0xEB30, 0xEB31, 0x725E, 0x725D, 0xEB32, 0xEB33, 0xEB34, 0xEB35, 0xEB36, 0, 0, 0x4949, 0x725B, 0x3073, 0x7260, 0xEB37, 0x7262, 0, 0, 0xEB38, 0xEB39, 0xEB3A, 0, 0x336F, 0x724D, 0x3137, 0, 0xEB3B, 0x7264, 0, }; static const unsigned short utf8_to_euc_E9B0_x0213[] = { 0x7E4F, 0, 0xEB26, 0, 0x725A, 0, 0x7256, 0, 0x7257, 0x7253, 0x7259, 0xEB27, 0x7255, 0x3362, 0, 0xEB28, 0x4F4C, 0xEB29, 0x7258, 0x7254, 0x7252, 0x7251, 0xFD5E, 0, 0xFD5F, 0xFD60, 0xFD61, 0x725C, 0xEB2E, 0xFD62, 0xEB2F, 0, 0, 0x725F, 0xFD63, 0x7E50, 0x725E, 0x725D, 0xEB32, 0xFD64, 0xEB34, 0xFD65, 0xFD66, 0, 0, 0x4949, 0x725B, 0x3073, 0x7260, 0xFD68, 0x7262, 0, 0, 0xEB38, 0xFD69, 0xFD6A, 0, 0x336F, 0x724D, 0x3137, 0, 0xEB3B, 0x7264, 0, }; static const unsigned short utf8_to_euc_E9B1[] = { 0, 0xEB3C, 0, 0xEB3D, 0xEB3E, 0xEB3F, 0x7263, 0x7261, 0x432D, 0xEB40, 0xEB41, 0, 0, 0, 0xEB42, 0xEB43, 0xEB44, 0, 0x4B70, 0xEB45, 0xEB46, 0, 0xEB47, 0x4E5A, 0xEB48, 0, 0x7265, 0xEB49, 0xEB50, 0xEB4A, 0xEB4B, 0xEB4C, 0x7266, 0, 0, 0xEB4D, 0, 0, 0, 0x7267, 0xEB52, 0xEB4E, 0xEB4F, 0xEB51, 0, 0, 0xEB53, 0, 0xEB54, 0, 0xEB55, 0, 0, 0xEB56, 0x7268, 0xEB57, 0x7269, 0, 0, 0xEB58, 0, 0, 0, 0, }; static const unsigned short utf8_to_euc_E9B1_x0213[] = { 0, 0x7E51, 0, 0xEB3D, 0xEB3E, 0xFD6B, 0x7263, 0x7261, 0x432D, 0xFD6E, 0xFD6F, 0, 0, 0, 0xEB42, 0x7E52, 0x7E53, 0, 0x4B70, 0x7E54, 0xFD71, 0, 0xEB47, 0x4E5A, 0xFD72, 0, 0x7265, 0xFD73, 0xFD6C, 0xFD74, 0xEB4B, 0xFD75, 0x7266, 0, 0, 0x7E55, 0, 0x7E56, 0, 0x7267, 0xEB52, 0xFD76, 0xFD77, 0xFD78, 0, 0xFD79, 0xFD7A, 0, 0xFD7B, 0, 0xFD7C, 0, 0, 0xFD7D, 0x7268, 0x7E57, 0x7269, 0, 0xFD7E, 0xEB58, 0, 0, 0, 0, }; static const unsigned short utf8_to_euc_E9B3[] = { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0x443B, 0xEB59, 0x726A, 0, 0x4837, 0, 0x726F, 0x726B, 0, 0, 0, 0x726C, 0, 0xEB5A, 0x4B31, 0x4C44, 0, 0x4650, 0xEB5B, 0, 0xEB5C, 0, 0, 0, 0, 0, 0, }; static const unsigned short utf8_to_euc_E9B3_x0213[] = { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0x443B, 0xFE21, 0x726A, 0, 0x4837, 0, 0x726F, 0x726B, 0, 0, 0, 0x726C, 0, 0xFE22, 0x4B31, 0x4C44, 0, 0x4650, 0xEB5B, 0, 0xEB5C, 0, 0, 0, 0, 0, 0, }; static const unsigned short utf8_to_euc_E9B4[] = { 0, 0, 0xEB5E, 0x7270, 0, 0, 0x7271, 0x463E, 0x726E, 0x726D, 0, 0xEB5D, 0, 0, 0x322A, 0, 0, 0xEB5F, 0x7279, 0, 0, 0x7278, 0, 0xEB60, 0xEB61, 0, 0, 0x3175, 0xEB62, 0xEB63, 0xEB64, 0x7276, 0, 0, 0, 0x7275, 0, 0, 0x7273, 0, 0x337B, 0, 0x7272, 0x3C32, 0x3229, 0, 0, 0xEB65, 0xEB66, 0, 0xEB67, 0xEB68, 0xEB69, 0, 0, 0, 0, 0, 0xEB6A, 0x3963, 0xEB6B, 0xEB6D, 0x727C, 0x727B, }; static const unsigned short utf8_to_euc_E9B4_x0213[] = { 0, 0, 0xFE24, 0x7270, 0, 0, 0x7271, 0x463E, 0x726E, 0x726D, 0, 0xFE23, 0, 0, 0x322A, 0, 0, 0xFE26, 0x7279, 0, 0, 0x7278, 0, 0xFE27, 0xFE28, 0, 0, 0x3175, 0xEB62, 0x7E58, 0x7E59, 0x7276, 0, 0, 0, 0x7275, 0, 0, 0x7273, 0, 0x337B, 0, 0x7272, 0x3C32, 0x3229, 0, 0, 0xEB65, 0xEB66, 0, 0xFE2C, 0xEB68, 0xEB69, 0, 0, 0, 0, 0, 0xEB6A, 0x3963, 0xEB6B, 0xEB6D, 0x727C, 0x727B, }; static const unsigned short utf8_to_euc_E9B5[] = { 0, 0x727A, 0xEB6E, 0xEB6F, 0x7277, 0xEB6C, 0x727D, 0xEB70, 0x727E, 0, 0xEB71, 0, 0, 0, 0, 0, 0x7325, 0x7324, 0, 0xEB72, 0xEB73, 0, 0, 0, 0, 0x7326, 0, 0, 0x312D, 0x7321, 0x7322, 0xEB74, 0x3974, 0x4C39, 0xEB76, 0xEB75, 0x7323, 0xEB77, 0, 0, 0, 0xEB78, 0xEB79, 0xEB7A, 0x4B32, 0, 0, 0x732B, 0xEB7B, 0, 0x7327, 0, 0, 0, 0xEB7C, 0xEB7D, 0, 0, 0x732C, 0xEB7E, 0xEC21, 0, 0xEC22, 0, }; static const unsigned short utf8_to_euc_E9B5_x0213[] = { 0, 0x727A, 0xFE2E, 0x7E5A, 0x7277, 0xEB6C, 0x727D, 0x7E5B, 0x727E, 0, 0xFE2F, 0, 0, 0, 0, 0, 0x7325, 0x7324, 0x7E5C, 0xEB72, 0xEB73, 0, 0, 0, 0, 0x7326, 0, 0, 0x312D, 0x7321, 0x7322, 0xFE30, 0x3974, 0x4C39, 0xFE31, 0x7E5D, 0x7323, 0xEB77, 0, 0, 0, 0xFE33, 0xEB79, 0xFE34, 0x4B32, 0, 0, 0x732B, 0x7E5E, 0, 0x7327, 0xFE36, 0, 0, 0xFE37, 0xFE38, 0, 0, 0x732C, 0xEB7E, 0x7E5F, 0, 0xFE39, 0, }; static const unsigned short utf8_to_euc_E9B6[] = { 0, 0, 0, 0xEC23, 0xEC24, 0, 0xEC25, 0x7329, 0, 0x7328, 0xEC26, 0, 0, 0xEC27, 0xEC28, 0x375C, 0, 0, 0xEC29, 0xEC2A, 0, 0xEC2B, 0xEC2C, 0xEC2D, 0xEC2E, 0, 0x732D, 0, 0, 0, 0, 0, 0, 0xEC2F, 0, 0, 0x732E, 0, 0, 0, 0, 0x732F, 0xEC30, 0x732A, 0xEC31, 0, 0xEC32, 0x7274, 0, 0xEC33, 0x7330, 0, 0x4461, 0xEC34, 0, 0, 0x7334, 0xEC35, 0x7335, 0x7333, 0xEC36, 0, 0, 0xEC37, }; static const unsigned short utf8_to_euc_E9B6_x0213[] = { 0, 0, 0, 0xEC23, 0xFE3A, 0, 0xEC25, 0x7329, 0, 0x7328, 0x7E60, 0, 0, 0xFE3B, 0xEC28, 0x375C, 0, 0, 0xEC29, 0xEC2A, 0, 0xEC2B, 0x7E61, 0xEC2D, 0xEC2E, 0xFE3C, 0x732D, 0, 0, 0, 0, 0, 0, 0xFE3D, 0, 0, 0x732E, 0, 0, 0, 0, 0x732F, 0xEC30, 0x732A, 0x7E63, 0, 0xEC32, 0x7274, 0, 0xEC33, 0x7330, 0, 0x4461, 0xFE3F, 0, 0, 0x7334, 0xFE40, 0x7335, 0x7333, 0x7E64, 0xFE41, 0, 0xFE3E, }; static const unsigned short utf8_to_euc_E9B7[] = { 0, 0x7332, 0x7338, 0xEC38, 0x7331, 0, 0x7336, 0xEC39, 0, 0xEC3A, 0xEC3B, 0, 0, 0, 0, 0x7337, 0, 0, 0, 0x733A, 0xEC3C, 0xEC3D, 0xEC3E, 0xEC3F, 0, 0x7339, 0xEC40, 0, 0, 0, 0xEC41, 0xEC42, 0xEC43, 0, 0, 0, 0, 0xEC44, 0x733C, 0xEC45, 0, 0xEC46, 0, 0xEC47, 0, 0x733D, 0xEC48, 0x733E, 0xEC49, 0, 0x4F49, 0xEC4A, 0xEC4B, 0, 0, 0, 0x733B, 0x426B, 0x3A6D, 0, 0, 0x733F, 0xEC4C, 0, }; static const unsigned short utf8_to_euc_E9B7_x0213[] = { 0x7E62, 0x7332, 0x7338, 0xFE42, 0x7331, 0, 0x7336, 0xFE43, 0, 0xFE44, 0xEC3B, 0, 0, 0, 0, 0x7337, 0, 0, 0, 0x733A, 0xEC3C, 0xEC3D, 0xFE45, 0x7E65, 0, 0x7339, 0xFE46, 0, 0, 0, 0xEC41, 0xFE47, 0xFE48, 0, 0, 0xFE49, 0, 0xEC44, 0x733C, 0x7E67, 0, 0xEC46, 0, 0xEC47, 0, 0x733D, 0xEC48, 0x733E, 0xEC49, 0, 0x4F49, 0xEC4A, 0xFE4A, 0, 0, 0, 0x733B, 0x426B, 0x3A6D, 0, 0, 0x733F, 0xEC4C, 0, }; static const unsigned short utf8_to_euc_E9B8[] = { 0, 0, 0xEC4E, 0, 0, 0, 0, 0xEC4F, 0, 0, 0xEC4D, 0, 0, 0, 0xEC50, 0, 0xEC51, 0xEC52, 0xEC53, 0, 0, 0xEC54, 0xEC55, 0, 0, 0xEC56, 0x7340, 0x7341, 0xEC57, 0xEC58, 0x7342, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, }; static const unsigned short utf8_to_euc_E9B8_x0213[] = { 0, 0, 0xFE4D, 0, 0, 0, 0, 0x7E68, 0, 0, 0xFE4C, 0, 0, 0xFE4E, 0xEC50, 0, 0xEC51, 0xEC52, 0xEC53, 0, 0, 0x7E69, 0xEC55, 0, 0, 0xFE4F, 0x7340, 0x7341, 0xFE50, 0xFE51, 0x7342, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, }; static const unsigned short utf8_to_euc_E9B9[] = { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0x7343, 0, 0, 0x3834, 0x7344, 0xEC59, 0xEC5A, 0xEC5B, 0x7345, 0, 0x3C2F, }; static const unsigned short utf8_to_euc_E9B9_x0213[] = { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0x7343, 0, 0, 0x3834, 0x7344, 0xEC59, 0xFE52, 0x7E6A, 0x7345, 0, 0x3C2F, }; static const unsigned short utf8_to_euc_E9BA[] = { 0xEC5C, 0x7346, 0xEC5D, 0xEC5E, 0xEC5F, 0xEC60, 0, 0xEC61, 0x7347, 0, 0, 0x7348, 0x7349, 0, 0xEC62, 0xEC63, 0, 0x734C, 0x734A, 0x4F3C, 0, 0x734B, 0xEC64, 0x4E6F, 0xEC65, 0, 0, 0xEC66, 0, 0x734D, 0xEC67, 0x4E5B, 0, 0, 0, 0, 0xEC68, 0x734E, 0x477E, 0, 0xEC69, 0x734F, 0x7351, 0, 0xEC6A, 0x7352, 0xEC6B, 0xEC6C, 0xEC6D, 0, 0, 0xEC6E, 0xEC6F, 0xEC70, 0, 0, 0x7350, 0x396D, 0x4C4D, 0x4B63, 0x5677, 0, 0x5D60, 0x4B7B, }; static const unsigned short utf8_to_euc_E9BA_x0213[] = { 0xFE54, 0x7346, 0xEC5D, 0xEC5E, 0xEC5F, 0xFE55, 0, 0xEC61, 0x7347, 0, 0, 0x7348, 0x7349, 0, 0xEC62, 0xEC63, 0, 0x734C, 0x734A, 0x4F3C, 0, 0x734B, 0xEC64, 0x4E6F, 0xEC65, 0, 0, 0xFE56, 0, 0x734D, 0x7E6B, 0x4E5B, 0, 0, 0, 0, 0x7E6C, 0x734E, 0x477E, 0, 0xFE57, 0x734F, 0x7351, 0, 0x7E6D, 0x7352, 0xEC6B, 0x7E6E, 0xEC6D, 0, 0, 0xEC6E, 0x7E6F, 0x7E70, 0, 0, 0x7350, 0x396D, 0x4C4D, 0x4B63, 0x5677, 0xFE59, 0x5D60, 0x4B7B, }; static const unsigned short utf8_to_euc_E9BB[] = { 0, 0, 0, 0, 0x322B, 0, 0xEC71, 0, 0xEC72, 0, 0, 0xEC73, 0x7354, 0x3550, 0x7355, 0x7356, 0x7357, 0xF47E, 0x3975, 0, 0x7358, 0xEC74, 0, 0, 0x6054, 0x4C5B, 0, 0x4263, 0x7359, 0x735B, 0x735A, 0xEC75, 0x735C, 0, 0, 0, 0xEC76, 0x735D, 0, 0xEC77, 0x735E, 0, 0, 0, 0xEC78, 0xEC79, 0xEC7A, 0x735F, 0xEC7B, 0xEC7C, 0xEC7D, 0, 0x7360, 0xEC7E, 0x7361, 0x7362, 0xED21, 0x7363, 0, 0x7364, 0x7365, 0x7366, 0, 0xED22, }; static const unsigned short utf8_to_euc_E9BB_x0213[] = { 0, 0, 0, 0x7E71, 0x322B, 0, 0xEC71, 0, 0xEC72, 0, 0, 0xEC73, 0x7354, 0x3550, 0x7355, 0x7356, 0x7357, 0x7E72, 0x3975, 0, 0x7358, 0xEC74, 0, 0, 0x6054, 0x4C5B, 0, 0x4263, 0x7359, 0x735B, 0x735A, 0xFE5B, 0x735C, 0, 0, 0, 0xEC76, 0x735D, 0, 0xFE5C, 0x735E, 0, 0, 0, 0xEC78, 0xEC79, 0xFE5D, 0x735F, 0xEC7B, 0xEC7C, 0xEC7D, 0, 0x7360, 0xEC7E, 0x7361, 0x7362, 0xED21, 0x7363, 0, 0x7364, 0x7365, 0x7366, 0, 0xFE5E, }; static const unsigned short utf8_to_euc_E9BC[] = { 0, 0, 0xED23, 0xED24, 0, 0, 0, 0x7367, 0x7368, 0xED25, 0, 0, 0, 0, 0x4524, 0xED26, 0xED27, 0xED28, 0xED29, 0x385D, 0xED2A, 0x736A, 0xED2B, 0xED2C, 0, 0xED2D, 0xED2E, 0xED2F, 0, 0, 0, 0xED30, 0x414D, 0x736B, 0xED31, 0, 0, 0, 0xED32, 0, 0, 0, 0xED33, 0xED34, 0x736C, 0, 0, 0xED35, 0, 0xED36, 0xED37, 0, 0xED38, 0, 0, 0xED39, 0, 0xED3A, 0xED3B, 0x4921, 0xED3C, 0xED3D, 0x736D, 0xED3E, }; static const unsigned short utf8_to_euc_E9BC_x0213[] = { 0, 0, 0xFE5F, 0xFE61, 0, 0, 0, 0x7367, 0x7368, 0xED25, 0, 0, 0, 0, 0x4524, 0xED26, 0x7E73, 0xED28, 0xED29, 0x385D, 0xED2A, 0x736A, 0xED2B, 0xFE62, 0, 0xFE63, 0xED2E, 0xED2F, 0, 0, 0, 0xED30, 0x414D, 0x736B, 0xED31, 0, 0, 0, 0xED32, 0, 0, 0, 0xED33, 0xED34, 0x736C, 0, 0, 0xFE64, 0, 0xED36, 0xED37, 0, 0xED38, 0, 0, 0xFE65, 0, 0x7E74, 0xFE66, 0x4921, 0xED3C, 0xFE67, 0x736D, 0xED3E, }; static const unsigned short utf8_to_euc_E9BD[] = { 0, 0xED3F, 0, 0xED40, 0xED41, 0xED42, 0xED43, 0xED44, 0, 0, 0x736E, 0x6337, 0, 0, 0x6C5A, 0x706D, 0, 0, 0x736F, 0xED45, 0x7370, 0xED46, 0xED47, 0xED48, 0xED49, 0, 0xED4A, 0, 0, 0xED4B, 0xED4C, 0x7372, 0x7373, 0x7374, 0x4E70, 0x7371, 0, 0, 0x7375, 0x7376, 0xED4D, 0xED4E, 0x7378, 0, 0x7377, 0xED4F, 0xED50, 0xED51, 0xED52, 0xED53, 0x737A, 0xED54, 0, 0xED55, 0x737B, 0x7379, 0, 0, 0xED56, 0, 0, 0xED57, 0, 0, }; static const unsigned short utf8_to_euc_E9BD_x0213[] = { 0, 0xFE68, 0, 0xED40, 0xED41, 0xFE69, 0xFE6A, 0xED44, 0, 0, 0x736E, 0x6337, 0, 0, 0x6C5A, 0x706D, 0, 0, 0x736F, 0xFE6B, 0x7370, 0xFE6C, 0xED47, 0x7E75, 0xFE6D, 0, 0xED4A, 0, 0, 0xFE6F, 0xED4C, 0x7372, 0x7373, 0x7374, 0x4E70, 0x7371, 0, 0, 0x7375, 0x7376, 0xED4D, 0xFE71, 0x7378, 0, 0x7377, 0xFE73, 0xED50, 0xED51, 0xFE74, 0xED53, 0x737A, 0xED54, 0, 0xFE75, 0x737B, 0x7379, 0, 0, 0xED56, 0, 0, 0xED57, 0, 0, }; static const unsigned short utf8_to_euc_E9BE[] = { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0x4E36, 0, 0xED58, 0xED59, 0xED5A, 0xED5B, 0, 0xED5C, 0x737C, 0xED5D, 0xED5E, 0, 0, 0, 0, 0x737D, 0x6354, 0xED5F, 0, 0x737E, 0xED60, 0xED61, 0xED62, 0, 0xED63, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, }; static const unsigned short utf8_to_euc_E9BE_x0213[] = { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0x4E36, 0, 0xED58, 0x7E76, 0xED5A, 0xED5B, 0, 0x7E77, 0x737C, 0xED5D, 0x7E78, 0, 0, 0, 0, 0x737D, 0x6354, 0xED5F, 0, 0x737E, 0xED60, 0x7E79, 0xED62, 0, 0xED63, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, }; static const unsigned short utf8_to_euc_EFA4[] = { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0xF445, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, }; static const unsigned short utf8_to_euc_EFA4_x0213[] = { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0x763B, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0x742E, 0x754E, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0x7B4F, 0, 0, 0, 0, 0, 0, 0, 0, 0, }; static const unsigned short utf8_to_euc_EFA5_x0213[] = { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0x7649, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, }; static const unsigned short utf8_to_euc_EFA7[] = { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0xF472, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, }; static const unsigned short utf8_to_euc_EFA7_x0213[] = { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0x7E24, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0x7D5D, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, }; static const unsigned short utf8_to_euc_EFA8[] = { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0xF434, 0xF437, 0xF438, 0xF43D, 0xF444, 0xF447, 0xF448, 0xF44E, 0xF44F, 0xF453, 0xF455, 0xF456, 0xF457, 0xF458, 0xF45A, 0xF45B, 0xF45E, 0xF460, 0xF462, 0xF463, 0xF465, 0xF469, 0xF46A, 0xF46B, 0xF46D, 0xF46F, 0xF470, 0xF473, 0xF477, 0xF478, 0xF479, 0xF47D, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, }; static const unsigned short utf8_to_euc_EFA8_x0213[] = { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0x2F4B, 0x2F57, 0x4F72, 0, 0xAE79, 0x757A, 0x775A, 0x776F, 0, 0, 0x793C, 0x793D, 0x7941, 0, 0, 0, 0x7B3A, 0xF738, 0xF745, 0x7C2E, 0, 0xF96E, 0, 0x7C6A, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0x2E38, 0x2E49, 0x2E50, 0x2E63, 0x2E68, 0x2E6E, 0x2F2C, 0x2F2F, 0x2F36, 0x2F5A, 0x2F5E, 0x4F61, 0x4F62, 0x7450, 0x745C, 0x745E, }; static const unsigned short utf8_to_euc_EFA9_x0213[] = { 0x7461, 0x7528, 0x752B, 0x7543, 0x7565, 0x7669, 0x7677, 0x7725, 0x7755, 0xF029, 0x7825, 0x7927, 0x7933, 0x7934, 0x7937, 0x7938, 0x7939, 0x793B, 0x793F, 0x7940, 0x794D, 0x7951, 0x7964, 0x7A2E, 0xF450, 0x7A33, 0x7A3A, 0x7A44, 0x7A58, 0xF574, 0xF575, 0x7B27, 0x7B6F, 0x7B79, 0x7C2F, 0x7C30, 0x7C38, 0x7C3D, 0xF969, 0x7C59, 0x7D63, 0x7D76, 0x7D7B, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, }; static const unsigned short utf8_to_euc_EFB9_x0213[] = { 0, 0, 0, 0, 0, 0x233E, 0x233D, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, }; static const unsigned short utf8_to_euc_EFBC[] = { 0, 0x212A, 0xF42A, 0x2174, 0x2170, 0x2173, 0x2175, 0xF429, 0x214A, 0x214B, 0x2176, 0x215C, 0x2124, 0x215D, 0x2125, 0x213F, 0x2330, 0x2331, 0x2332, 0x2333, 0x2334, 0x2335, 0x2336, 0x2337, 0x2338, 0x2339, 0x2127, 0x2128, 0x2163, 0x2161, 0x2164, 0x2129, 0x2177, 0x2341, 0x2342, 0x2343, 0x2344, 0x2345, 0x2346, 0x2347, 0x2348, 0x2349, 0x234A, 0x234B, 0x234C, 0x234D, 0x234E, 0x234F, 0x2350, 0x2351, 0x2352, 0x2353, 0x2354, 0x2355, 0x2356, 0x2357, 0x2358, 0x2359, 0x235A, 0x214E, 0x2140, 0x214F, 0x2130, 0x2132, }; static const unsigned short utf8_to_euc_EFBC_x0213[] = { 0, 0x212A, 0x2230, 0x2174, 0x2170, 0x2173, 0x2175, 0x222F, 0x214A, 0x214B, 0x2176, 0x215C, 0x2124, 0x2231, 0x2125, 0x213F, 0x2330, 0x2331, 0x2332, 0x2333, 0x2334, 0x2335, 0x2336, 0x2337, 0x2338, 0x2339, 0x2127, 0x2128, 0x2163, 0x2161, 0x2164, 0x2129, 0x2177, 0x2341, 0x2342, 0x2343, 0x2344, 0x2345, 0x2346, 0x2347, 0x2348, 0x2349, 0x234A, 0x234B, 0x234C, 0x234D, 0x234E, 0x234F, 0x2350, 0x2351, 0x2352, 0x2353, 0x2354, 0x2355, 0x2356, 0x2357, 0x2358, 0x2359, 0x235A, 0x214E, 0x2140, 0x214F, 0x2130, 0x2132, }; static const unsigned short utf8_to_euc_EFBD[] = { 0x212E, 0x2361, 0x2362, 0x2363, 0x2364, 0x2365, 0x2366, 0x2367, 0x2368, 0x2369, 0x236A, 0x236B, 0x236C, 0x236D, 0x236E, 0x236F, 0x2370, 0x2371, 0x2372, 0x2373, 0x2374, 0x2375, 0x2376, 0x2377, 0x2378, 0x2379, 0x237A, 0x2150, 0x2143, 0x2151, 0xA237, 0, 0, 0x0E21, 0x0E22, 0x0E23, 0x0E24, 0x0E25, 0x0E26, 0x0E27, 0x0E28, 0x0E29, 0x0E2A, 0x0E2B, 0x0E2C, 0x0E2D, 0x0E2E, 0x0E2F, 0x0E30, 0x0E31, 0x0E32, 0x0E33, 0x0E34, 0x0E35, 0x0E36, 0x0E37, 0x0E38, 0x0E39, 0x0E3A, 0x0E3B, 0x0E3C, 0x0E3D, 0x0E3E, 0x0E3F, }; static const unsigned short utf8_to_euc_EFBD_ms[] = { 0x212E, 0x2361, 0x2362, 0x2363, 0x2364, 0x2365, 0x2366, 0x2367, 0x2368, 0x2369, 0x236A, 0x236B, 0x236C, 0x236D, 0x236E, 0x236F, 0x2370, 0x2371, 0x2372, 0x2373, 0x2374, 0x2375, 0x2376, 0x2377, 0x2378, 0x2379, 0x237A, 0x2150, 0x2143, 0x2151, 0x2141, 0, 0, 0x0E21, 0x0E22, 0x0E23, 0x0E24, 0x0E25, 0x0E26, 0x0E27, 0x0E28, 0x0E29, 0x0E2A, 0x0E2B, 0x0E2C, 0x0E2D, 0x0E2E, 0x0E2F, 0x0E30, 0x0E31, 0x0E32, 0x0E33, 0x0E34, 0x0E35, 0x0E36, 0x0E37, 0x0E38, 0x0E39, 0x0E3A, 0x0E3B, 0x0E3C, 0x0E3D, 0x0E3E, 0x0E3F, }; static const unsigned short utf8_to_euc_EFBD_x0213[] = { 0x212E, 0x2361, 0x2362, 0x2363, 0x2364, 0x2365, 0x2366, 0x2367, 0x2368, 0x2369, 0x236A, 0x236B, 0x236C, 0x236D, 0x236E, 0x236F, 0x2370, 0x2371, 0x2372, 0x2373, 0x2374, 0x2375, 0x2376, 0x2377, 0x2378, 0x2379, 0x237A, 0x2150, 0x2143, 0x2151, 0x2232, 0x2256, 0x2257, 0x0E21, 0x0E22, 0x0E23, 0x0E24, 0x0E25, 0x0E26, 0x0E27, 0x0E28, 0x0E29, 0x0E2A, 0x0E2B, 0x0E2C, 0x0E2D, 0x0E2E, 0x0E2F, 0x0E30, 0x0E31, 0x0E32, 0x0E33, 0x0E34, 0x0E35, 0x0E36, 0x0E37, 0x0E38, 0x0E39, 0x0E3A, 0x0E3B, 0x0E3C, 0x0E3D, 0x0E3E, 0x0E3F, }; static const unsigned short utf8_to_euc_EFBE[] = { 0x0E40, 0x0E41, 0x0E42, 0x0E43, 0x0E44, 0x0E45, 0x0E46, 0x0E47, 0x0E48, 0x0E49, 0x0E4A, 0x0E4B, 0x0E4C, 0x0E4D, 0x0E4E, 0x0E4F, 0x0E50, 0x0E51, 0x0E52, 0x0E53, 0x0E54, 0x0E55, 0x0E56, 0x0E57, 0x0E58, 0x0E59, 0x0E5A, 0x0E5B, 0x0E5C, 0x0E5D, 0x0E5E, 0x0E5F, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, }; static const unsigned short utf8_to_euc_EFBF[] = { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0x2171, 0x2172, 0x224C, 0x2131, 0xA243, 0x216F, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, }; static const unsigned short utf8_to_euc_EFBF_x0213[] = { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0x2131, 0, 0x216F, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, }; static const unsigned short *const utf8_to_euc_E1_x0213[] = { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, utf8_to_euc_E1B8_x0213, 0, 0, 0, 0, utf8_to_euc_E1BD_x0213, 0, 0, }; static const unsigned short *const utf8_to_euc_E2[] = { utf8_to_euc_E280, 0, 0, 0, utf8_to_euc_E284, utf8_to_euc_E285, utf8_to_euc_E286, utf8_to_euc_E287, utf8_to_euc_E288, utf8_to_euc_E289, utf8_to_euc_E28A, 0, utf8_to_euc_E28C, 0, 0, 0, 0, utf8_to_euc_E291, 0, 0, utf8_to_euc_E294, utf8_to_euc_E295, utf8_to_euc_E296, utf8_to_euc_E297, utf8_to_euc_E298, utf8_to_euc_E299, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, }; static const unsigned short *const utf8_to_euc_E2_ms[] = { utf8_to_euc_E280_ms, 0, 0, 0, utf8_to_euc_E284, utf8_to_euc_E285, utf8_to_euc_E286, utf8_to_euc_E287, utf8_to_euc_E288, utf8_to_euc_E289, utf8_to_euc_E28A, 0, utf8_to_euc_E28C, 0, 0, 0, 0, utf8_to_euc_E291, 0, 0, utf8_to_euc_E294, utf8_to_euc_E295, utf8_to_euc_E296, utf8_to_euc_E297, utf8_to_euc_E298, utf8_to_euc_E299, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, }; static const unsigned short *const utf8_to_euc_E2_932[] = { utf8_to_euc_E280_932, 0, 0, 0, utf8_to_euc_E284, utf8_to_euc_E285, utf8_to_euc_E286, utf8_to_euc_E287, utf8_to_euc_E288_932, utf8_to_euc_E289, utf8_to_euc_E28A, 0, utf8_to_euc_E28C, 0, 0, 0, 0, utf8_to_euc_E291, 0, 0, utf8_to_euc_E294, utf8_to_euc_E295, utf8_to_euc_E296, utf8_to_euc_E297, utf8_to_euc_E298, utf8_to_euc_E299, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, }; static const unsigned short *const utf8_to_euc_E2_mac[] = { utf8_to_euc_E280_932, 0, 0, 0, utf8_to_euc_E284_mac, utf8_to_euc_E285_mac, utf8_to_euc_E286, utf8_to_euc_E287, utf8_to_euc_E288_mac, utf8_to_euc_E289, utf8_to_euc_E28A_mac, 0, utf8_to_euc_E28C, 0, 0, 0, 0, utf8_to_euc_E291_mac, 0, 0, utf8_to_euc_E294, utf8_to_euc_E295, utf8_to_euc_E296, utf8_to_euc_E297, utf8_to_euc_E298, utf8_to_euc_E299, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, }; static const unsigned short *const utf8_to_euc_E2_x0213[] = { utf8_to_euc_E280_x0213, utf8_to_euc_E281_x0213, utf8_to_euc_E282_x0213, 0, utf8_to_euc_E284_x0213, utf8_to_euc_E285_x0213, utf8_to_euc_E286_x0213, utf8_to_euc_E287_x0213, utf8_to_euc_E288_x0213, utf8_to_euc_E289_x0213, utf8_to_euc_E28A_x0213, utf8_to_euc_E28B_x0213, utf8_to_euc_E28C_x0213, 0, utf8_to_euc_E28E_x0213, utf8_to_euc_E28F_x0213, utf8_to_euc_E290_x0213, utf8_to_euc_E291, 0, utf8_to_euc_E293_x0213, utf8_to_euc_E294, utf8_to_euc_E295, utf8_to_euc_E296_x0213, utf8_to_euc_E297_x0213, utf8_to_euc_E298_x0213, utf8_to_euc_E299_x0213, 0, 0, utf8_to_euc_E29C_x0213, utf8_to_euc_E29D_x0213, 0, 0, 0, 0, 0, 0, utf8_to_euc_E2A4_x0213, 0, utf8_to_euc_E2A6_x0213, utf8_to_euc_E2A7_x0213, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, }; static const unsigned short *const utf8_to_euc_E3[] = { utf8_to_euc_E380, utf8_to_euc_E381, utf8_to_euc_E382, utf8_to_euc_E383, 0, 0, 0, 0, utf8_to_euc_E388, 0, utf8_to_euc_E38A, 0, utf8_to_euc_E38C, utf8_to_euc_E38D, utf8_to_euc_E38E, utf8_to_euc_E38F, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, }; static const unsigned short *const utf8_to_euc_E3_932[] = { utf8_to_euc_E380_932, utf8_to_euc_E381, utf8_to_euc_E382_932, utf8_to_euc_E383, 0, 0, 0, 0, utf8_to_euc_E388, 0, utf8_to_euc_E38A, 0, utf8_to_euc_E38C, utf8_to_euc_E38D, utf8_to_euc_E38E, utf8_to_euc_E38F, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, }; static const unsigned short *const utf8_to_euc_E3_mac[] = { utf8_to_euc_E380_932, utf8_to_euc_E381, utf8_to_euc_E382_932, utf8_to_euc_E383, 0, 0, 0, 0, utf8_to_euc_E388_mac, 0, utf8_to_euc_E38A_mac, 0, utf8_to_euc_E38C_mac, utf8_to_euc_E38D_mac, utf8_to_euc_E38E_mac, utf8_to_euc_E38F_mac, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, }; static const unsigned short *const utf8_to_euc_E3_x0213[] = { utf8_to_euc_E380_x0213, utf8_to_euc_E381, utf8_to_euc_E382_x0213, utf8_to_euc_E383_x0213, 0, 0, 0, utf8_to_euc_E387_x0213, utf8_to_euc_E388, utf8_to_euc_E389_x0213, utf8_to_euc_E38A_x0213, utf8_to_euc_E38B_x0213, utf8_to_euc_E38C, utf8_to_euc_E38D, utf8_to_euc_E38E, utf8_to_euc_E38F_x0213, utf8_to_euc_E390_x0213, utf8_to_euc_E391_x0213, utf8_to_euc_E392_x0213, utf8_to_euc_E393_x0213, utf8_to_euc_E394_x0213, utf8_to_euc_E395_x0213, utf8_to_euc_E396_x0213, utf8_to_euc_E397_x0213, utf8_to_euc_E398_x0213, utf8_to_euc_E399_x0213, utf8_to_euc_E39A_x0213, utf8_to_euc_E39B_x0213, 0, utf8_to_euc_E39D_x0213, utf8_to_euc_E39E_x0213, utf8_to_euc_E39F_x0213, utf8_to_euc_E3A0_x0213, utf8_to_euc_E3A1_x0213, 0, utf8_to_euc_E3A3_x0213, utf8_to_euc_E3A4_x0213, utf8_to_euc_E3A5_x0213, 0, 0, 0, utf8_to_euc_E3A9_x0213, 0, utf8_to_euc_E3AB_x0213, utf8_to_euc_E3AC_x0213, utf8_to_euc_E3AD_x0213, utf8_to_euc_E3AE_x0213, utf8_to_euc_E3AF_x0213, utf8_to_euc_E3B0_x0213, 0, 0, utf8_to_euc_E3B3_x0213, utf8_to_euc_E3B4_x0213, utf8_to_euc_E3B5_x0213, utf8_to_euc_E3B6_x0213, utf8_to_euc_E3B7_x0213, utf8_to_euc_E3B8_x0213, utf8_to_euc_E3B9_x0213, utf8_to_euc_E3BA_x0213, 0, 0, utf8_to_euc_E3BD_x0213, utf8_to_euc_E3BE_x0213, utf8_to_euc_E3BF_x0213, }; static const unsigned short *const utf8_to_euc_E4[] = { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, utf8_to_euc_E4B8, utf8_to_euc_E4B9, utf8_to_euc_E4BA, utf8_to_euc_E4BB, utf8_to_euc_E4BC, utf8_to_euc_E4BD, utf8_to_euc_E4BE, utf8_to_euc_E4BF, }; static const unsigned short *const utf8_to_euc_E4_x0213[] = { utf8_to_euc_E480_x0213, utf8_to_euc_E481_x0213, utf8_to_euc_E482_x0213, 0, utf8_to_euc_E484_x0213, utf8_to_euc_E485_x0213, utf8_to_euc_E486_x0213, utf8_to_euc_E487_x0213, utf8_to_euc_E488_x0213, utf8_to_euc_E489_x0213, 0, utf8_to_euc_E48B_x0213, utf8_to_euc_E48C_x0213, utf8_to_euc_E48D_x0213, 0, utf8_to_euc_E48F_x0213, utf8_to_euc_E490_x0213, utf8_to_euc_E491_x0213, utf8_to_euc_E492_x0213, utf8_to_euc_E493_x0213, utf8_to_euc_E494_x0213, utf8_to_euc_E495_x0213, utf8_to_euc_E496_x0213, utf8_to_euc_E497_x0213, utf8_to_euc_E498_x0213, utf8_to_euc_E499_x0213, utf8_to_euc_E49A_x0213, 0, utf8_to_euc_E49C_x0213, utf8_to_euc_E49D_x0213, 0, utf8_to_euc_E49F_x0213, utf8_to_euc_E4A0_x0213, utf8_to_euc_E4A1_x0213, utf8_to_euc_E4A2_x0213, 0, 0, 0, utf8_to_euc_E4A6_x0213, utf8_to_euc_E4A7_x0213, utf8_to_euc_E4A8_x0213, 0, utf8_to_euc_E4AA_x0213, 0, utf8_to_euc_E4AC_x0213, 0, 0, utf8_to_euc_E4AF_x0213, utf8_to_euc_E4B0_x0213, 0, 0, utf8_to_euc_E4B3_x0213, utf8_to_euc_E4B4_x0213, utf8_to_euc_E4B5_x0213, 0, 0, utf8_to_euc_E4B8_x0213, utf8_to_euc_E4B9_x0213, utf8_to_euc_E4BA_x0213, utf8_to_euc_E4BB_x0213, utf8_to_euc_E4BC_x0213, utf8_to_euc_E4BD_x0213, utf8_to_euc_E4BE_x0213, utf8_to_euc_E4BF_x0213, }; static const unsigned short *const utf8_to_euc_E5[] = { utf8_to_euc_E580, utf8_to_euc_E581, utf8_to_euc_E582, utf8_to_euc_E583, utf8_to_euc_E584, utf8_to_euc_E585, utf8_to_euc_E586, utf8_to_euc_E587, utf8_to_euc_E588, utf8_to_euc_E589, utf8_to_euc_E58A, utf8_to_euc_E58B, utf8_to_euc_E58C, utf8_to_euc_E58D, utf8_to_euc_E58E, utf8_to_euc_E58F, utf8_to_euc_E590, utf8_to_euc_E591, utf8_to_euc_E592, utf8_to_euc_E593, utf8_to_euc_E594, utf8_to_euc_E595, utf8_to_euc_E596, utf8_to_euc_E597, utf8_to_euc_E598, utf8_to_euc_E599, utf8_to_euc_E59A, utf8_to_euc_E59B, utf8_to_euc_E59C, utf8_to_euc_E59D, utf8_to_euc_E59E, utf8_to_euc_E59F, utf8_to_euc_E5A0, utf8_to_euc_E5A1, utf8_to_euc_E5A2, utf8_to_euc_E5A3, utf8_to_euc_E5A4, utf8_to_euc_E5A5, utf8_to_euc_E5A6, utf8_to_euc_E5A7, utf8_to_euc_E5A8, utf8_to_euc_E5A9, utf8_to_euc_E5AA, utf8_to_euc_E5AB, utf8_to_euc_E5AC, utf8_to_euc_E5AD, utf8_to_euc_E5AE, utf8_to_euc_E5AF, utf8_to_euc_E5B0, utf8_to_euc_E5B1, utf8_to_euc_E5B2, utf8_to_euc_E5B3, utf8_to_euc_E5B4, utf8_to_euc_E5B5, utf8_to_euc_E5B6, utf8_to_euc_E5B7, utf8_to_euc_E5B8, utf8_to_euc_E5B9, utf8_to_euc_E5BA, utf8_to_euc_E5BB, utf8_to_euc_E5BC, utf8_to_euc_E5BD, utf8_to_euc_E5BE, utf8_to_euc_E5BF, }; static const unsigned short *const utf8_to_euc_E5_x0213[] = { utf8_to_euc_E580_x0213, utf8_to_euc_E581_x0213, utf8_to_euc_E582_x0213, utf8_to_euc_E583_x0213, utf8_to_euc_E584_x0213, utf8_to_euc_E585_x0213, utf8_to_euc_E586_x0213, utf8_to_euc_E587_x0213, utf8_to_euc_E588_x0213, utf8_to_euc_E589_x0213, utf8_to_euc_E58A_x0213, utf8_to_euc_E58B_x0213, utf8_to_euc_E58C_x0213, utf8_to_euc_E58D_x0213, utf8_to_euc_E58E_x0213, utf8_to_euc_E58F_x0213, utf8_to_euc_E590_x0213, utf8_to_euc_E591_x0213, utf8_to_euc_E592_x0213, utf8_to_euc_E593_x0213, utf8_to_euc_E594_x0213, utf8_to_euc_E595_x0213, utf8_to_euc_E596_x0213, utf8_to_euc_E597_x0213, utf8_to_euc_E598_x0213, utf8_to_euc_E599_x0213, utf8_to_euc_E59A_x0213, utf8_to_euc_E59B_x0213, utf8_to_euc_E59C_x0213, utf8_to_euc_E59D_x0213, utf8_to_euc_E59E_x0213, utf8_to_euc_E59F_x0213, utf8_to_euc_E5A0_x0213, utf8_to_euc_E5A1_x0213, utf8_to_euc_E5A2_x0213, utf8_to_euc_E5A3_x0213, utf8_to_euc_E5A4_x0213, utf8_to_euc_E5A5_x0213, utf8_to_euc_E5A6_x0213, utf8_to_euc_E5A7_x0213, utf8_to_euc_E5A8_x0213, utf8_to_euc_E5A9_x0213, utf8_to_euc_E5AA_x0213, utf8_to_euc_E5AB_x0213, utf8_to_euc_E5AC_x0213, utf8_to_euc_E5AD_x0213, utf8_to_euc_E5AE_x0213, utf8_to_euc_E5AF_x0213, utf8_to_euc_E5B0_x0213, utf8_to_euc_E5B1_x0213, utf8_to_euc_E5B2_x0213, utf8_to_euc_E5B3_x0213, utf8_to_euc_E5B4_x0213, utf8_to_euc_E5B5_x0213, utf8_to_euc_E5B6_x0213, utf8_to_euc_E5B7_x0213, utf8_to_euc_E5B8_x0213, utf8_to_euc_E5B9_x0213, utf8_to_euc_E5BA_x0213, utf8_to_euc_E5BB_x0213, utf8_to_euc_E5BC_x0213, utf8_to_euc_E5BD_x0213, utf8_to_euc_E5BE_x0213, utf8_to_euc_E5BF_x0213, }; static const unsigned short *const utf8_to_euc_E6[] = { utf8_to_euc_E680, utf8_to_euc_E681, utf8_to_euc_E682, utf8_to_euc_E683, utf8_to_euc_E684, utf8_to_euc_E685, utf8_to_euc_E686, utf8_to_euc_E687, utf8_to_euc_E688, utf8_to_euc_E689, utf8_to_euc_E68A, utf8_to_euc_E68B, utf8_to_euc_E68C, utf8_to_euc_E68D, utf8_to_euc_E68E, utf8_to_euc_E68F, utf8_to_euc_E690, utf8_to_euc_E691, utf8_to_euc_E692, utf8_to_euc_E693, utf8_to_euc_E694, utf8_to_euc_E695, utf8_to_euc_E696, utf8_to_euc_E697, utf8_to_euc_E698, utf8_to_euc_E699, utf8_to_euc_E69A, utf8_to_euc_E69B, utf8_to_euc_E69C, utf8_to_euc_E69D, utf8_to_euc_E69E, utf8_to_euc_E69F, utf8_to_euc_E6A0, utf8_to_euc_E6A1, utf8_to_euc_E6A2, utf8_to_euc_E6A3, utf8_to_euc_E6A4, utf8_to_euc_E6A5, utf8_to_euc_E6A6, utf8_to_euc_E6A7, utf8_to_euc_E6A8, utf8_to_euc_E6A9, utf8_to_euc_E6AA, utf8_to_euc_E6AB, utf8_to_euc_E6AC, utf8_to_euc_E6AD, utf8_to_euc_E6AE, utf8_to_euc_E6AF, utf8_to_euc_E6B0, utf8_to_euc_E6B1, utf8_to_euc_E6B2, utf8_to_euc_E6B3, utf8_to_euc_E6B4, utf8_to_euc_E6B5, utf8_to_euc_E6B6, utf8_to_euc_E6B7, utf8_to_euc_E6B8, utf8_to_euc_E6B9, utf8_to_euc_E6BA, utf8_to_euc_E6BB, utf8_to_euc_E6BC, utf8_to_euc_E6BD, utf8_to_euc_E6BE, utf8_to_euc_E6BF, }; static const unsigned short *const utf8_to_euc_E6_x0213[] = { utf8_to_euc_E680_x0213, utf8_to_euc_E681_x0213, utf8_to_euc_E682_x0213, utf8_to_euc_E683_x0213, utf8_to_euc_E684_x0213, utf8_to_euc_E685_x0213, utf8_to_euc_E686_x0213, utf8_to_euc_E687_x0213, utf8_to_euc_E688_x0213, utf8_to_euc_E689_x0213, utf8_to_euc_E68A_x0213, utf8_to_euc_E68B_x0213, utf8_to_euc_E68C_x0213, utf8_to_euc_E68D_x0213, utf8_to_euc_E68E_x0213, utf8_to_euc_E68F_x0213, utf8_to_euc_E690_x0213, utf8_to_euc_E691_x0213, utf8_to_euc_E692_x0213, utf8_to_euc_E693_x0213, utf8_to_euc_E694_x0213, utf8_to_euc_E695_x0213, utf8_to_euc_E696_x0213, utf8_to_euc_E697_x0213, utf8_to_euc_E698_x0213, utf8_to_euc_E699_x0213, utf8_to_euc_E69A_x0213, utf8_to_euc_E69B_x0213, utf8_to_euc_E69C_x0213, utf8_to_euc_E69D_x0213, utf8_to_euc_E69E_x0213, utf8_to_euc_E69F_x0213, utf8_to_euc_E6A0_x0213, utf8_to_euc_E6A1_x0213, utf8_to_euc_E6A2_x0213, utf8_to_euc_E6A3_x0213, utf8_to_euc_E6A4_x0213, utf8_to_euc_E6A5_x0213, utf8_to_euc_E6A6_x0213, utf8_to_euc_E6A7_x0213, utf8_to_euc_E6A8_x0213, utf8_to_euc_E6A9_x0213, utf8_to_euc_E6AA_x0213, utf8_to_euc_E6AB_x0213, utf8_to_euc_E6AC_x0213, utf8_to_euc_E6AD_x0213, utf8_to_euc_E6AE_x0213, utf8_to_euc_E6AF_x0213, utf8_to_euc_E6B0_x0213, utf8_to_euc_E6B1_x0213, utf8_to_euc_E6B2_x0213, utf8_to_euc_E6B3_x0213, utf8_to_euc_E6B4_x0213, utf8_to_euc_E6B5_x0213, utf8_to_euc_E6B6_x0213, utf8_to_euc_E6B7_x0213, utf8_to_euc_E6B8_x0213, utf8_to_euc_E6B9_x0213, utf8_to_euc_E6BA_x0213, utf8_to_euc_E6BB_x0213, utf8_to_euc_E6BC_x0213, utf8_to_euc_E6BD_x0213, utf8_to_euc_E6BE_x0213, utf8_to_euc_E6BF_x0213, }; static const unsigned short *const utf8_to_euc_E7[] = { utf8_to_euc_E780, utf8_to_euc_E781, utf8_to_euc_E782, utf8_to_euc_E783, utf8_to_euc_E784, utf8_to_euc_E785, utf8_to_euc_E786, utf8_to_euc_E787, utf8_to_euc_E788, utf8_to_euc_E789, utf8_to_euc_E78A, utf8_to_euc_E78B, utf8_to_euc_E78C, utf8_to_euc_E78D, utf8_to_euc_E78E, utf8_to_euc_E78F, utf8_to_euc_E790, utf8_to_euc_E791, utf8_to_euc_E792, utf8_to_euc_E793, utf8_to_euc_E794, utf8_to_euc_E795, utf8_to_euc_E796, utf8_to_euc_E797, utf8_to_euc_E798, utf8_to_euc_E799, utf8_to_euc_E79A, utf8_to_euc_E79B, utf8_to_euc_E79C, utf8_to_euc_E79D, utf8_to_euc_E79E, utf8_to_euc_E79F, utf8_to_euc_E7A0, utf8_to_euc_E7A1, utf8_to_euc_E7A2, utf8_to_euc_E7A3, utf8_to_euc_E7A4, utf8_to_euc_E7A5, utf8_to_euc_E7A6, utf8_to_euc_E7A7, utf8_to_euc_E7A8, utf8_to_euc_E7A9, utf8_to_euc_E7AA, utf8_to_euc_E7AB, utf8_to_euc_E7AC, utf8_to_euc_E7AD, utf8_to_euc_E7AE, utf8_to_euc_E7AF, utf8_to_euc_E7B0, utf8_to_euc_E7B1, utf8_to_euc_E7B2, utf8_to_euc_E7B3, utf8_to_euc_E7B4, utf8_to_euc_E7B5, utf8_to_euc_E7B6, utf8_to_euc_E7B7, utf8_to_euc_E7B8, utf8_to_euc_E7B9, utf8_to_euc_E7BA, 0, utf8_to_euc_E7BC, utf8_to_euc_E7BD, utf8_to_euc_E7BE, utf8_to_euc_E7BF, }; static const unsigned short *const utf8_to_euc_E7_x0213[] = { utf8_to_euc_E780_x0213, utf8_to_euc_E781_x0213, utf8_to_euc_E782_x0213, utf8_to_euc_E783_x0213, utf8_to_euc_E784_x0213, utf8_to_euc_E785_x0213, utf8_to_euc_E786_x0213, utf8_to_euc_E787_x0213, utf8_to_euc_E788_x0213, utf8_to_euc_E789_x0213, utf8_to_euc_E78A_x0213, utf8_to_euc_E78B_x0213, utf8_to_euc_E78C_x0213, utf8_to_euc_E78D_x0213, utf8_to_euc_E78E_x0213, utf8_to_euc_E78F_x0213, utf8_to_euc_E790_x0213, utf8_to_euc_E791_x0213, utf8_to_euc_E792_x0213, utf8_to_euc_E793_x0213, utf8_to_euc_E794_x0213, utf8_to_euc_E795_x0213, utf8_to_euc_E796_x0213, utf8_to_euc_E797_x0213, utf8_to_euc_E798_x0213, utf8_to_euc_E799_x0213, utf8_to_euc_E79A_x0213, utf8_to_euc_E79B_x0213, utf8_to_euc_E79C_x0213, utf8_to_euc_E79D_x0213, utf8_to_euc_E79E_x0213, utf8_to_euc_E79F_x0213, utf8_to_euc_E7A0_x0213, utf8_to_euc_E7A1_x0213, utf8_to_euc_E7A2_x0213, utf8_to_euc_E7A3_x0213, utf8_to_euc_E7A4_x0213, utf8_to_euc_E7A5_x0213, utf8_to_euc_E7A6_x0213, utf8_to_euc_E7A7_x0213, utf8_to_euc_E7A8_x0213, utf8_to_euc_E7A9_x0213, utf8_to_euc_E7AA_x0213, utf8_to_euc_E7AB_x0213, utf8_to_euc_E7AC_x0213, utf8_to_euc_E7AD_x0213, utf8_to_euc_E7AE_x0213, utf8_to_euc_E7AF_x0213, utf8_to_euc_E7B0_x0213, utf8_to_euc_E7B1_x0213, utf8_to_euc_E7B2_x0213, utf8_to_euc_E7B3_x0213, utf8_to_euc_E7B4_x0213, utf8_to_euc_E7B5_x0213, utf8_to_euc_E7B6_x0213, utf8_to_euc_E7B7_x0213, utf8_to_euc_E7B8_x0213, utf8_to_euc_E7B9_x0213, utf8_to_euc_E7BA_x0213, 0, utf8_to_euc_E7BC_x0213, utf8_to_euc_E7BD_x0213, utf8_to_euc_E7BE_x0213, utf8_to_euc_E7BF_x0213, }; static const unsigned short *const utf8_to_euc_E8[] = { utf8_to_euc_E880, utf8_to_euc_E881, utf8_to_euc_E882, utf8_to_euc_E883, utf8_to_euc_E884, utf8_to_euc_E885, utf8_to_euc_E886, utf8_to_euc_E887, utf8_to_euc_E888, utf8_to_euc_E889, utf8_to_euc_E88A, utf8_to_euc_E88B, utf8_to_euc_E88C, utf8_to_euc_E88D, utf8_to_euc_E88E, utf8_to_euc_E88F, utf8_to_euc_E890, utf8_to_euc_E891, utf8_to_euc_E892, utf8_to_euc_E893, utf8_to_euc_E894, utf8_to_euc_E895, utf8_to_euc_E896, utf8_to_euc_E897, utf8_to_euc_E898, utf8_to_euc_E899, utf8_to_euc_E89A, utf8_to_euc_E89B, utf8_to_euc_E89C, utf8_to_euc_E89D, utf8_to_euc_E89E, utf8_to_euc_E89F, utf8_to_euc_E8A0, utf8_to_euc_E8A1, utf8_to_euc_E8A2, utf8_to_euc_E8A3, utf8_to_euc_E8A4, utf8_to_euc_E8A5, utf8_to_euc_E8A6, utf8_to_euc_E8A7, utf8_to_euc_E8A8, utf8_to_euc_E8A9, utf8_to_euc_E8AA, utf8_to_euc_E8AB, utf8_to_euc_E8AC, utf8_to_euc_E8AD, utf8_to_euc_E8AE, 0, utf8_to_euc_E8B0, utf8_to_euc_E8B1, utf8_to_euc_E8B2, utf8_to_euc_E8B3, utf8_to_euc_E8B4, utf8_to_euc_E8B5, utf8_to_euc_E8B6, utf8_to_euc_E8B7, utf8_to_euc_E8B8, utf8_to_euc_E8B9, utf8_to_euc_E8BA, utf8_to_euc_E8BB, utf8_to_euc_E8BC, utf8_to_euc_E8BD, utf8_to_euc_E8BE, utf8_to_euc_E8BF, }; static const unsigned short *const utf8_to_euc_E8_x0213[] = { utf8_to_euc_E880_x0213, utf8_to_euc_E881_x0213, utf8_to_euc_E882_x0213, utf8_to_euc_E883_x0213, utf8_to_euc_E884_x0213, utf8_to_euc_E885_x0213, utf8_to_euc_E886_x0213, utf8_to_euc_E887_x0213, utf8_to_euc_E888_x0213, utf8_to_euc_E889_x0213, utf8_to_euc_E88A_x0213, utf8_to_euc_E88B_x0213, utf8_to_euc_E88C_x0213, utf8_to_euc_E88D_x0213, utf8_to_euc_E88E_x0213, utf8_to_euc_E88F_x0213, utf8_to_euc_E890_x0213, utf8_to_euc_E891_x0213, utf8_to_euc_E892_x0213, utf8_to_euc_E893_x0213, utf8_to_euc_E894_x0213, utf8_to_euc_E895_x0213, utf8_to_euc_E896_x0213, utf8_to_euc_E897_x0213, utf8_to_euc_E898_x0213, utf8_to_euc_E899_x0213, utf8_to_euc_E89A_x0213, utf8_to_euc_E89B_x0213, utf8_to_euc_E89C_x0213, utf8_to_euc_E89D_x0213, utf8_to_euc_E89E_x0213, utf8_to_euc_E89F_x0213, utf8_to_euc_E8A0_x0213, utf8_to_euc_E8A1_x0213, utf8_to_euc_E8A2_x0213, utf8_to_euc_E8A3_x0213, utf8_to_euc_E8A4_x0213, utf8_to_euc_E8A5_x0213, utf8_to_euc_E8A6_x0213, utf8_to_euc_E8A7_x0213, utf8_to_euc_E8A8_x0213, utf8_to_euc_E8A9_x0213, utf8_to_euc_E8AA_x0213, utf8_to_euc_E8AB_x0213, utf8_to_euc_E8AC_x0213, utf8_to_euc_E8AD_x0213, utf8_to_euc_E8AE_x0213, 0, utf8_to_euc_E8B0_x0213, utf8_to_euc_E8B1_x0213, utf8_to_euc_E8B2_x0213, utf8_to_euc_E8B3_x0213, utf8_to_euc_E8B4_x0213, utf8_to_euc_E8B5_x0213, utf8_to_euc_E8B6_x0213, utf8_to_euc_E8B7_x0213, utf8_to_euc_E8B8_x0213, utf8_to_euc_E8B9_x0213, utf8_to_euc_E8BA_x0213, utf8_to_euc_E8BB_x0213, utf8_to_euc_E8BC_x0213, utf8_to_euc_E8BD_x0213, utf8_to_euc_E8BE_x0213, utf8_to_euc_E8BF_x0213, }; static const unsigned short *const utf8_to_euc_E9[] = { utf8_to_euc_E980, utf8_to_euc_E981, utf8_to_euc_E982, utf8_to_euc_E983, utf8_to_euc_E984, utf8_to_euc_E985, utf8_to_euc_E986, utf8_to_euc_E987, utf8_to_euc_E988, utf8_to_euc_E989, utf8_to_euc_E98A, utf8_to_euc_E98B, utf8_to_euc_E98C, utf8_to_euc_E98D, utf8_to_euc_E98E, utf8_to_euc_E98F, utf8_to_euc_E990, utf8_to_euc_E991, utf8_to_euc_E992, 0, 0, utf8_to_euc_E995, utf8_to_euc_E996, utf8_to_euc_E997, utf8_to_euc_E998, utf8_to_euc_E999, utf8_to_euc_E99A, utf8_to_euc_E99B, utf8_to_euc_E99C, utf8_to_euc_E99D, utf8_to_euc_E99E, utf8_to_euc_E99F, utf8_to_euc_E9A0, utf8_to_euc_E9A1, utf8_to_euc_E9A2, utf8_to_euc_E9A3, utf8_to_euc_E9A4, utf8_to_euc_E9A5, utf8_to_euc_E9A6, utf8_to_euc_E9A7, utf8_to_euc_E9A8, utf8_to_euc_E9A9, utf8_to_euc_E9AA, utf8_to_euc_E9AB, utf8_to_euc_E9AC, utf8_to_euc_E9AD, utf8_to_euc_E9AE, utf8_to_euc_E9AF, utf8_to_euc_E9B0, utf8_to_euc_E9B1, 0, utf8_to_euc_E9B3, utf8_to_euc_E9B4, utf8_to_euc_E9B5, utf8_to_euc_E9B6, utf8_to_euc_E9B7, utf8_to_euc_E9B8, utf8_to_euc_E9B9, utf8_to_euc_E9BA, utf8_to_euc_E9BB, utf8_to_euc_E9BC, utf8_to_euc_E9BD, utf8_to_euc_E9BE, 0, }; static const unsigned short *const utf8_to_euc_E9_x0213[] = { utf8_to_euc_E980_x0213, utf8_to_euc_E981_x0213, utf8_to_euc_E982_x0213, utf8_to_euc_E983_x0213, utf8_to_euc_E984_x0213, utf8_to_euc_E985_x0213, utf8_to_euc_E986_x0213, utf8_to_euc_E987_x0213, utf8_to_euc_E988_x0213, utf8_to_euc_E989_x0213, utf8_to_euc_E98A_x0213, utf8_to_euc_E98B_x0213, utf8_to_euc_E98C_x0213, utf8_to_euc_E98D_x0213, utf8_to_euc_E98E_x0213, utf8_to_euc_E98F_x0213, utf8_to_euc_E990_x0213, utf8_to_euc_E991_x0213, utf8_to_euc_E992, 0, 0, utf8_to_euc_E995_x0213, utf8_to_euc_E996_x0213, utf8_to_euc_E997_x0213, utf8_to_euc_E998_x0213, utf8_to_euc_E999_x0213, utf8_to_euc_E99A_x0213, utf8_to_euc_E99B_x0213, utf8_to_euc_E99C_x0213, utf8_to_euc_E99D_x0213, utf8_to_euc_E99E_x0213, utf8_to_euc_E99F_x0213, utf8_to_euc_E9A0_x0213, utf8_to_euc_E9A1_x0213, utf8_to_euc_E9A2_x0213, utf8_to_euc_E9A3_x0213, utf8_to_euc_E9A4_x0213, utf8_to_euc_E9A5_x0213, utf8_to_euc_E9A6_x0213, utf8_to_euc_E9A7_x0213, utf8_to_euc_E9A8_x0213, utf8_to_euc_E9A9_x0213, utf8_to_euc_E9AA_x0213, utf8_to_euc_E9AB_x0213, utf8_to_euc_E9AC_x0213, utf8_to_euc_E9AD_x0213, utf8_to_euc_E9AE_x0213, utf8_to_euc_E9AF_x0213, utf8_to_euc_E9B0_x0213, utf8_to_euc_E9B1_x0213, 0, utf8_to_euc_E9B3_x0213, utf8_to_euc_E9B4_x0213, utf8_to_euc_E9B5_x0213, utf8_to_euc_E9B6_x0213, utf8_to_euc_E9B7_x0213, utf8_to_euc_E9B8_x0213, utf8_to_euc_E9B9_x0213, utf8_to_euc_E9BA_x0213, utf8_to_euc_E9BB_x0213, utf8_to_euc_E9BC_x0213, utf8_to_euc_E9BD_x0213, utf8_to_euc_E9BE_x0213, 0, }; static const unsigned short *const utf8_to_euc_EF[] = { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, utf8_to_euc_EFA4, 0, 0, utf8_to_euc_EFA7, utf8_to_euc_EFA8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, utf8_to_euc_EFBC, utf8_to_euc_EFBD, utf8_to_euc_EFBE, utf8_to_euc_EFBF, }; static const unsigned short *const utf8_to_euc_EF_ms[] = { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, utf8_to_euc_EFA4, 0, 0, utf8_to_euc_EFA7, utf8_to_euc_EFA8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, utf8_to_euc_EFBC, utf8_to_euc_EFBD_ms, utf8_to_euc_EFBE, utf8_to_euc_EFBF, }; static const unsigned short *const utf8_to_euc_EF_x0213[] = { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, utf8_to_euc_EFA4_x0213, utf8_to_euc_EFA5_x0213, 0, utf8_to_euc_EFA7_x0213, utf8_to_euc_EFA8_x0213, utf8_to_euc_EFA9_x0213, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, utf8_to_euc_EFB9_x0213, 0, 0, utf8_to_euc_EFBC_x0213, utf8_to_euc_EFBD_x0213, utf8_to_euc_EFBE, utf8_to_euc_EFBF_x0213, }; const unsigned short *const utf8_to_euc_2bytes[] = { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, utf8_to_euc_C2, utf8_to_euc_C3, utf8_to_euc_C4, utf8_to_euc_C5, 0, utf8_to_euc_C7, 0, 0, 0, utf8_to_euc_CB, 0, 0, utf8_to_euc_CE, utf8_to_euc_CF, utf8_to_euc_D0, utf8_to_euc_D1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, }; const unsigned short *const utf8_to_euc_2bytes_ms[] = { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, utf8_to_euc_C2_ms, utf8_to_euc_C3, utf8_to_euc_C4, utf8_to_euc_C5, 0, utf8_to_euc_C7, 0, 0, 0, utf8_to_euc_CB, 0, 0, utf8_to_euc_CE, utf8_to_euc_CF, utf8_to_euc_D0, utf8_to_euc_D1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, }; const unsigned short *const utf8_to_euc_2bytes_932[] = { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, utf8_to_euc_C2_932, utf8_to_euc_C3_932, utf8_to_euc_C4, utf8_to_euc_C5, 0, utf8_to_euc_C7, 0, 0, 0, utf8_to_euc_CB, 0, 0, utf8_to_euc_CE, utf8_to_euc_CF, utf8_to_euc_D0, utf8_to_euc_D1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, }; const unsigned short *const utf8_to_euc_2bytes_mac[] = { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, utf8_to_euc_C2_mac, utf8_to_euc_C3, utf8_to_euc_C4, utf8_to_euc_C5, 0, utf8_to_euc_C7, 0, 0, 0, utf8_to_euc_CB, 0, 0, utf8_to_euc_CE, utf8_to_euc_CF, utf8_to_euc_D0, utf8_to_euc_D1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, }; const unsigned short *const utf8_to_euc_2bytes_x0213[] = { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, utf8_to_euc_C2_x0213, utf8_to_euc_C3_x0213, utf8_to_euc_C4_x0213, utf8_to_euc_C5_x0213, utf8_to_euc_C6_x0213, utf8_to_euc_C7_x0213, 0, utf8_to_euc_C9_x0213, utf8_to_euc_CA_x0213, utf8_to_euc_CB_x0213, utf8_to_euc_CC_x0213, utf8_to_euc_CD_x0213, utf8_to_euc_CE, utf8_to_euc_CF_x0213, utf8_to_euc_D0, utf8_to_euc_D1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, }; const unsigned short *const *const utf8_to_euc_3bytes[] = { 0, 0, utf8_to_euc_E2, utf8_to_euc_E3, utf8_to_euc_E4, utf8_to_euc_E5, utf8_to_euc_E6, utf8_to_euc_E7, utf8_to_euc_E8, utf8_to_euc_E9, 0, 0, 0, 0, 0, utf8_to_euc_EF, }; const unsigned short *const *const utf8_to_euc_3bytes_ms[] = { 0, 0, utf8_to_euc_E2_ms, utf8_to_euc_E3, utf8_to_euc_E4, utf8_to_euc_E5, utf8_to_euc_E6, utf8_to_euc_E7, utf8_to_euc_E8, utf8_to_euc_E9, 0, 0, 0, 0, 0, utf8_to_euc_EF_ms, }; const unsigned short *const *const utf8_to_euc_3bytes_932[] = { 0, 0, utf8_to_euc_E2_932, utf8_to_euc_E3_932, utf8_to_euc_E4, utf8_to_euc_E5, utf8_to_euc_E6, utf8_to_euc_E7, utf8_to_euc_E8, utf8_to_euc_E9, 0, 0, 0, 0, 0, utf8_to_euc_EF_ms, }; const unsigned short *const *const utf8_to_euc_3bytes_mac[] = { 0, 0, utf8_to_euc_E2_mac, utf8_to_euc_E3_mac, utf8_to_euc_E4, utf8_to_euc_E5, utf8_to_euc_E6, utf8_to_euc_E7, utf8_to_euc_E8, utf8_to_euc_E9, 0, 0, 0, 0, 0, utf8_to_euc_EF_ms, }; const unsigned short *const *const utf8_to_euc_3bytes_x0213[] = { 0, utf8_to_euc_E1_x0213, utf8_to_euc_E2_x0213, utf8_to_euc_E3_x0213, utf8_to_euc_E4_x0213, utf8_to_euc_E5_x0213, utf8_to_euc_E6_x0213, utf8_to_euc_E7_x0213, utf8_to_euc_E8_x0213, utf8_to_euc_E9_x0213, 0, 0, 0, 0, 0, utf8_to_euc_EF_x0213, }; #ifdef UNICODE_NORMALIZATION /* Normalization Table by Apple */ /* http://developer.apple.com/technotes/tn/tn1150table.html */ const struct normalization_pair normalization_table[] = { {{0xcd,0xbe}, {0x3b}}, {{0xc3,0x80}, {0x41,0xcc,0x80,0x00}}, {{0xc3,0x81}, {0x41,0xcc,0x81}}, {{0xc3,0x82}, {0x41,0xcc,0x82}}, {{0xe1,0xba,0xa6}, {0x41,0xcc,0x82,0xcc,0x80}}, {{0xe1,0xba,0xa4}, {0x41,0xcc,0x82,0xcc,0x81}}, {{0xe1,0xba,0xaa}, {0x41,0xcc,0x82,0xcc,0x83}}, {{0xe1,0xba,0xa8}, {0x41,0xcc,0x82,0xcc,0x89}}, {{0xc3,0x83}, {0x41,0xcc,0x83}}, {{0xc4,0x80}, {0x41,0xcc,0x84}}, {{0xc4,0x82}, {0x41,0xcc,0x86}}, {{0xe1,0xba,0xb0}, {0x41,0xcc,0x86,0xcc,0x80}}, {{0xe1,0xba,0xae}, {0x41,0xcc,0x86,0xcc,0x81}}, {{0xe1,0xba,0xb4}, {0x41,0xcc,0x86,0xcc,0x83}}, {{0xe1,0xba,0xb2}, {0x41,0xcc,0x86,0xcc,0x89}}, {{0xc7,0xa0}, {0x41,0xcc,0x87,0xcc,0x84}}, {{0xc3,0x84}, {0x41,0xcc,0x88}}, {{0xc7,0x9e}, {0x41,0xcc,0x88,0xcc,0x84}}, {{0xe1,0xba,0xa2}, {0x41,0xcc,0x89}}, {{0xc3,0x85}, {0x41,0xcc,0x8a}}, {{0xc7,0xba}, {0x41,0xcc,0x8a,0xcc,0x81}}, {{0xc7,0x8d}, {0x41,0xcc,0x8c}}, {{0xc8,0x80}, {0x41,0xcc,0x8f}}, {{0xc8,0x82}, {0x41,0xcc,0x91}}, {{0xe1,0xba,0xa0}, {0x41,0xcc,0xa3}}, {{0xe1,0xba,0xac}, {0x41,0xcc,0xa3,0xcc,0x82}}, {{0xe1,0xba,0xb6}, {0x41,0xcc,0xa3,0xcc,0x86}}, {{0xe1,0xb8,0x80}, {0x41,0xcc,0xa5}}, {{0xc4,0x84}, {0x41,0xcc,0xa8}}, {{0xe1,0xb8,0x82}, {0x42,0xcc,0x87}}, {{0xe1,0xb8,0x84}, {0x42,0xcc,0xa3}}, {{0xe1,0xb8,0x86}, {0x42,0xcc,0xb1}}, {{0xc4,0x86}, {0x43,0xcc,0x81}}, {{0xc4,0x88}, {0x43,0xcc,0x82}}, {{0xc4,0x8a}, {0x43,0xcc,0x87}}, {{0xc4,0x8c}, {0x43,0xcc,0x8c}}, {{0xc3,0x87}, {0x43,0xcc,0xa7}}, {{0xe1,0xb8,0x88}, {0x43,0xcc,0xa7,0xcc,0x81}}, {{0xe1,0xb8,0x8a}, {0x44,0xcc,0x87}}, {{0xc4,0x8e}, {0x44,0xcc,0x8c}}, {{0xe1,0xb8,0x8c}, {0x44,0xcc,0xa3}}, {{0xe1,0xb8,0x90}, {0x44,0xcc,0xa7}}, {{0xe1,0xb8,0x92}, {0x44,0xcc,0xad}}, {{0xe1,0xb8,0x8e}, {0x44,0xcc,0xb1}}, {{0xc3,0x88}, {0x45,0xcc,0x80}}, {{0xc3,0x89}, {0x45,0xcc,0x81}}, {{0xc3,0x8a}, {0x45,0xcc,0x82}}, {{0xe1,0xbb,0x80}, {0x45,0xcc,0x82,0xcc,0x80}}, {{0xe1,0xba,0xbe}, {0x45,0xcc,0x82,0xcc,0x81}}, {{0xe1,0xbb,0x84}, {0x45,0xcc,0x82,0xcc,0x83}}, {{0xe1,0xbb,0x82}, {0x45,0xcc,0x82,0xcc,0x89}}, {{0xe1,0xba,0xbc}, {0x45,0xcc,0x83}}, {{0xc4,0x92}, {0x45,0xcc,0x84}}, {{0xe1,0xb8,0x94}, {0x45,0xcc,0x84,0xcc,0x80}}, {{0xe1,0xb8,0x96}, {0x45,0xcc,0x84,0xcc,0x81}}, {{0xc4,0x94}, {0x45,0xcc,0x86}}, {{0xc4,0x96}, {0x45,0xcc,0x87}}, {{0xc3,0x8b}, {0x45,0xcc,0x88}}, {{0xe1,0xba,0xba}, {0x45,0xcc,0x89}}, {{0xc4,0x9a}, {0x45,0xcc,0x8c}}, {{0xc8,0x84}, {0x45,0xcc,0x8f}}, {{0xc8,0x86}, {0x45,0xcc,0x91}}, {{0xe1,0xba,0xb8}, {0x45,0xcc,0xa3}}, {{0xe1,0xbb,0x86}, {0x45,0xcc,0xa3,0xcc,0x82}}, {{0xe1,0xb8,0x9c}, {0x45,0xcc,0xa7,0xcc,0x86}}, {{0xc4,0x98}, {0x45,0xcc,0xa8}}, {{0xe1,0xb8,0x98}, {0x45,0xcc,0xad}}, {{0xe1,0xb8,0x9a}, {0x45,0xcc,0xb0}}, {{0xe1,0xb8,0x9e}, {0x46,0xcc,0x87}}, {{0xc7,0xb4}, {0x47,0xcc,0x81}}, {{0xc4,0x9c}, {0x47,0xcc,0x82}}, {{0xe1,0xb8,0xa0}, {0x47,0xcc,0x84}}, {{0xc4,0x9e}, {0x47,0xcc,0x86}}, {{0xc4,0xa0}, {0x47,0xcc,0x87}}, {{0xc7,0xa6}, {0x47,0xcc,0x8c}}, {{0xc4,0xa2}, {0x47,0xcc,0xa7}}, {{0xc4,0xa4}, {0x48,0xcc,0x82}}, {{0xe1,0xb8,0xa2}, {0x48,0xcc,0x87}}, {{0xe1,0xb8,0xa6}, {0x48,0xcc,0x88}}, {{0xe1,0xb8,0xa4}, {0x48,0xcc,0xa3}}, {{0xe1,0xb8,0xa8}, {0x48,0xcc,0xa7}}, {{0xe1,0xb8,0xaa}, {0x48,0xcc,0xae}}, {{0xc3,0x8c}, {0x49,0xcc,0x80}}, {{0xc3,0x8d}, {0x49,0xcc,0x81}}, {{0xc3,0x8e}, {0x49,0xcc,0x82}}, {{0xc4,0xa8}, {0x49,0xcc,0x83}}, {{0xc4,0xaa}, {0x49,0xcc,0x84}}, {{0xc4,0xac}, {0x49,0xcc,0x86}}, {{0xc4,0xb0}, {0x49,0xcc,0x87}}, {{0xc3,0x8f}, {0x49,0xcc,0x88}}, {{0xe1,0xb8,0xae}, {0x49,0xcc,0x88,0xcc,0x81}}, {{0xe1,0xbb,0x88}, {0x49,0xcc,0x89}}, {{0xc7,0x8f}, {0x49,0xcc,0x8c}}, {{0xc8,0x88}, {0x49,0xcc,0x8f}}, {{0xc8,0x8a}, {0x49,0xcc,0x91}}, {{0xe1,0xbb,0x8a}, {0x49,0xcc,0xa3}}, {{0xc4,0xae}, {0x49,0xcc,0xa8}}, {{0xe1,0xb8,0xac}, {0x49,0xcc,0xb0}}, {{0xc4,0xb4}, {0x4a,0xcc,0x82}}, {{0xe1,0xb8,0xb0}, {0x4b,0xcc,0x81}}, {{0xc7,0xa8}, {0x4b,0xcc,0x8c}}, {{0xe1,0xb8,0xb2}, {0x4b,0xcc,0xa3}}, {{0xc4,0xb6}, {0x4b,0xcc,0xa7}}, {{0xe1,0xb8,0xb4}, {0x4b,0xcc,0xb1}}, {{0xc4,0xb9}, {0x4c,0xcc,0x81}}, {{0xc4,0xbd}, {0x4c,0xcc,0x8c}}, {{0xe1,0xb8,0xb6}, {0x4c,0xcc,0xa3}}, {{0xe1,0xb8,0xb8}, {0x4c,0xcc,0xa3,0xcc,0x84}}, {{0xc4,0xbb}, {0x4c,0xcc,0xa7}}, {{0xe1,0xb8,0xbc}, {0x4c,0xcc,0xad}}, {{0xe1,0xb8,0xba}, {0x4c,0xcc,0xb1}}, {{0xe1,0xb8,0xbe}, {0x4d,0xcc,0x81}}, {{0xe1,0xb9,0x80}, {0x4d,0xcc,0x87}}, {{0xe1,0xb9,0x82}, {0x4d,0xcc,0xa3}}, {{0xc5,0x83}, {0x4e,0xcc,0x81}}, {{0xc3,0x91}, {0x4e,0xcc,0x83}}, {{0xe1,0xb9,0x84}, {0x4e,0xcc,0x87}}, {{0xc5,0x87}, {0x4e,0xcc,0x8c}}, {{0xe1,0xb9,0x86}, {0x4e,0xcc,0xa3}}, {{0xc5,0x85}, {0x4e,0xcc,0xa7}}, {{0xe1,0xb9,0x8a}, {0x4e,0xcc,0xad}}, {{0xe1,0xb9,0x88}, {0x4e,0xcc,0xb1}}, {{0xc3,0x92}, {0x4f,0xcc,0x80}}, {{0xc3,0x93}, {0x4f,0xcc,0x81}}, {{0xc3,0x94}, {0x4f,0xcc,0x82}}, {{0xe1,0xbb,0x92}, {0x4f,0xcc,0x82,0xcc,0x80}}, {{0xe1,0xbb,0x90}, {0x4f,0xcc,0x82,0xcc,0x81}}, {{0xe1,0xbb,0x96}, {0x4f,0xcc,0x82,0xcc,0x83}}, {{0xe1,0xbb,0x94}, {0x4f,0xcc,0x82,0xcc,0x89}}, {{0xc3,0x95}, {0x4f,0xcc,0x83}}, {{0xe1,0xb9,0x8c}, {0x4f,0xcc,0x83,0xcc,0x81}}, {{0xe1,0xb9,0x8e}, {0x4f,0xcc,0x83,0xcc,0x88}}, {{0xc5,0x8c}, {0x4f,0xcc,0x84}}, {{0xe1,0xb9,0x90}, {0x4f,0xcc,0x84,0xcc,0x80}}, {{0xe1,0xb9,0x92}, {0x4f,0xcc,0x84,0xcc,0x81}}, {{0xc5,0x8e}, {0x4f,0xcc,0x86}}, {{0xc3,0x96}, {0x4f,0xcc,0x88}}, {{0xe1,0xbb,0x8e}, {0x4f,0xcc,0x89}}, {{0xc5,0x90}, {0x4f,0xcc,0x8b}}, {{0xc7,0x91}, {0x4f,0xcc,0x8c}}, {{0xc8,0x8c}, {0x4f,0xcc,0x8f}}, {{0xc8,0x8e}, {0x4f,0xcc,0x91}}, {{0xc6,0xa0}, {0x4f,0xcc,0x9b}}, {{0xe1,0xbb,0x9c}, {0x4f,0xcc,0x9b,0xcc,0x80}}, {{0xe1,0xbb,0x9a}, {0x4f,0xcc,0x9b,0xcc,0x81}}, {{0xe1,0xbb,0xa0}, {0x4f,0xcc,0x9b,0xcc,0x83}}, {{0xe1,0xbb,0x9e}, {0x4f,0xcc,0x9b,0xcc,0x89}}, {{0xe1,0xbb,0xa2}, {0x4f,0xcc,0x9b,0xcc,0xa3}}, {{0xe1,0xbb,0x8c}, {0x4f,0xcc,0xa3}}, {{0xe1,0xbb,0x98}, {0x4f,0xcc,0xa3,0xcc,0x82}}, {{0xc7,0xaa}, {0x4f,0xcc,0xa8}}, {{0xc7,0xac}, {0x4f,0xcc,0xa8,0xcc,0x84}}, {{0xe1,0xb9,0x94}, {0x50,0xcc,0x81}}, {{0xe1,0xb9,0x96}, {0x50,0xcc,0x87}}, {{0xc5,0x94}, {0x52,0xcc,0x81}}, {{0xe1,0xb9,0x98}, {0x52,0xcc,0x87}}, {{0xc5,0x98}, {0x52,0xcc,0x8c}}, {{0xc8,0x90}, {0x52,0xcc,0x8f}}, {{0xc8,0x92}, {0x52,0xcc,0x91}}, {{0xe1,0xb9,0x9a}, {0x52,0xcc,0xa3}}, {{0xe1,0xb9,0x9c}, {0x52,0xcc,0xa3,0xcc,0x84}}, {{0xc5,0x96}, {0x52,0xcc,0xa7}}, {{0xe1,0xb9,0x9e}, {0x52,0xcc,0xb1}}, {{0xc5,0x9a}, {0x53,0xcc,0x81}}, {{0xe1,0xb9,0xa4}, {0x53,0xcc,0x81,0xcc,0x87}}, {{0xc5,0x9c}, {0x53,0xcc,0x82}}, {{0xe1,0xb9,0xa0}, {0x53,0xcc,0x87}}, {{0xc5,0xa0}, {0x53,0xcc,0x8c}}, {{0xe1,0xb9,0xa6}, {0x53,0xcc,0x8c,0xcc,0x87}}, {{0xe1,0xb9,0xa2}, {0x53,0xcc,0xa3}}, {{0xe1,0xb9,0xa8}, {0x53,0xcc,0xa3,0xcc,0x87}}, {{0xc5,0x9e}, {0x53,0xcc,0xa7}}, {{0xe1,0xb9,0xaa}, {0x54,0xcc,0x87}}, {{0xc5,0xa4}, {0x54,0xcc,0x8c}}, {{0xe1,0xb9,0xac}, {0x54,0xcc,0xa3}}, {{0xc5,0xa2}, {0x54,0xcc,0xa7}}, {{0xe1,0xb9,0xb0}, {0x54,0xcc,0xad}}, {{0xe1,0xb9,0xae}, {0x54,0xcc,0xb1}}, {{0xc3,0x99}, {0x55,0xcc,0x80}}, {{0xc3,0x9a}, {0x55,0xcc,0x81}}, {{0xc3,0x9b}, {0x55,0xcc,0x82}}, {{0xc5,0xa8}, {0x55,0xcc,0x83}}, {{0xe1,0xb9,0xb8}, {0x55,0xcc,0x83,0xcc,0x81}}, {{0xc5,0xaa}, {0x55,0xcc,0x84}}, {{0xe1,0xb9,0xba}, {0x55,0xcc,0x84,0xcc,0x88}}, {{0xc5,0xac}, {0x55,0xcc,0x86}}, {{0xc3,0x9c}, {0x55,0xcc,0x88}}, {{0xc7,0x9b}, {0x55,0xcc,0x88,0xcc,0x80}}, {{0xc7,0x97}, {0x55,0xcc,0x88,0xcc,0x81}}, {{0xc7,0x95}, {0x55,0xcc,0x88,0xcc,0x84}}, {{0xc7,0x99}, {0x55,0xcc,0x88,0xcc,0x8c}}, {{0xe1,0xbb,0xa6}, {0x55,0xcc,0x89}}, {{0xc5,0xae}, {0x55,0xcc,0x8a}}, {{0xc5,0xb0}, {0x55,0xcc,0x8b}}, {{0xc7,0x93}, {0x55,0xcc,0x8c}}, {{0xc8,0x94}, {0x55,0xcc,0x8f}}, {{0xc8,0x96}, {0x55,0xcc,0x91}}, {{0xc6,0xaf}, {0x55,0xcc,0x9b}}, {{0xe1,0xbb,0xaa}, {0x55,0xcc,0x9b,0xcc,0x80}}, {{0xe1,0xbb,0xa8}, {0x55,0xcc,0x9b,0xcc,0x81}}, {{0xe1,0xbb,0xae}, {0x55,0xcc,0x9b,0xcc,0x83}}, {{0xe1,0xbb,0xac}, {0x55,0xcc,0x9b,0xcc,0x89}}, {{0xe1,0xbb,0xb0}, {0x55,0xcc,0x9b,0xcc,0xa3}}, {{0xe1,0xbb,0xa4}, {0x55,0xcc,0xa3}}, {{0xe1,0xb9,0xb2}, {0x55,0xcc,0xa4}}, {{0xc5,0xb2}, {0x55,0xcc,0xa8}}, {{0xe1,0xb9,0xb6}, {0x55,0xcc,0xad}}, {{0xe1,0xb9,0xb4}, {0x55,0xcc,0xb0}}, {{0xe1,0xb9,0xbc}, {0x56,0xcc,0x83}}, {{0xe1,0xb9,0xbe}, {0x56,0xcc,0xa3}}, {{0xe1,0xba,0x80}, {0x57,0xcc,0x80}}, {{0xe1,0xba,0x82}, {0x57,0xcc,0x81}}, {{0xc5,0xb4}, {0x57,0xcc,0x82}}, {{0xe1,0xba,0x86}, {0x57,0xcc,0x87}}, {{0xe1,0xba,0x84}, {0x57,0xcc,0x88}}, {{0xe1,0xba,0x88}, {0x57,0xcc,0xa3}}, {{0xe1,0xba,0x8a}, {0x58,0xcc,0x87}}, {{0xe1,0xba,0x8c}, {0x58,0xcc,0x88}}, {{0xe1,0xbb,0xb2}, {0x59,0xcc,0x80}}, {{0xc3,0x9d}, {0x59,0xcc,0x81}}, {{0xc5,0xb6}, {0x59,0xcc,0x82}}, {{0xe1,0xbb,0xb8}, {0x59,0xcc,0x83}}, {{0xe1,0xba,0x8e}, {0x59,0xcc,0x87}}, {{0xc5,0xb8}, {0x59,0xcc,0x88}}, {{0xe1,0xbb,0xb6}, {0x59,0xcc,0x89}}, {{0xe1,0xbb,0xb4}, {0x59,0xcc,0xa3}}, {{0xc5,0xb9}, {0x5a,0xcc,0x81}}, {{0xe1,0xba,0x90}, {0x5a,0xcc,0x82}}, {{0xc5,0xbb}, {0x5a,0xcc,0x87}}, {{0xc5,0xbd}, {0x5a,0xcc,0x8c}}, {{0xe1,0xba,0x92}, {0x5a,0xcc,0xa3}}, {{0xe1,0xba,0x94}, {0x5a,0xcc,0xb1}}, {{0xe1,0xbf,0xaf}, {0x60}}, {{0xc3,0xa0}, {0x61,0xcc,0x80}}, {{0xc3,0xa1}, {0x61,0xcc,0x81}}, {{0xc3,0xa2}, {0x61,0xcc,0x82}}, {{0xe1,0xba,0xa7}, {0x61,0xcc,0x82,0xcc,0x80}}, {{0xe1,0xba,0xa5}, {0x61,0xcc,0x82,0xcc,0x81}}, {{0xe1,0xba,0xab}, {0x61,0xcc,0x82,0xcc,0x83}}, {{0xe1,0xba,0xa9}, {0x61,0xcc,0x82,0xcc,0x89}}, {{0xc3,0xa3}, {0x61,0xcc,0x83}}, {{0xc4,0x81}, {0x61,0xcc,0x84}}, {{0xc4,0x83}, {0x61,0xcc,0x86}}, {{0xe1,0xba,0xb1}, {0x61,0xcc,0x86,0xcc,0x80}}, {{0xe1,0xba,0xaf}, {0x61,0xcc,0x86,0xcc,0x81}}, {{0xe1,0xba,0xb5}, {0x61,0xcc,0x86,0xcc,0x83}}, {{0xe1,0xba,0xb3}, {0x61,0xcc,0x86,0xcc,0x89}}, {{0xc7,0xa1}, {0x61,0xcc,0x87,0xcc,0x84}}, {{0xc3,0xa4}, {0x61,0xcc,0x88}}, {{0xc7,0x9f}, {0x61,0xcc,0x88,0xcc,0x84}}, {{0xe1,0xba,0xa3}, {0x61,0xcc,0x89}}, {{0xc3,0xa5}, {0x61,0xcc,0x8a}}, {{0xc7,0xbb}, {0x61,0xcc,0x8a,0xcc,0x81}}, {{0xc7,0x8e}, {0x61,0xcc,0x8c}}, {{0xc8,0x81}, {0x61,0xcc,0x8f}}, {{0xc8,0x83}, {0x61,0xcc,0x91}}, {{0xe1,0xba,0xa1}, {0x61,0xcc,0xa3}}, {{0xe1,0xba,0xad}, {0x61,0xcc,0xa3,0xcc,0x82}}, {{0xe1,0xba,0xb7}, {0x61,0xcc,0xa3,0xcc,0x86}}, {{0xe1,0xb8,0x81}, {0x61,0xcc,0xa5}}, {{0xc4,0x85}, {0x61,0xcc,0xa8}}, {{0xe1,0xb8,0x83}, {0x62,0xcc,0x87}}, {{0xe1,0xb8,0x85}, {0x62,0xcc,0xa3}}, {{0xe1,0xb8,0x87}, {0x62,0xcc,0xb1}}, {{0xc4,0x87}, {0x63,0xcc,0x81}}, {{0xc4,0x89}, {0x63,0xcc,0x82}}, {{0xc4,0x8b}, {0x63,0xcc,0x87}}, {{0xc4,0x8d}, {0x63,0xcc,0x8c}}, {{0xc3,0xa7}, {0x63,0xcc,0xa7}}, {{0xe1,0xb8,0x89}, {0x63,0xcc,0xa7,0xcc,0x81}}, {{0xe1,0xb8,0x8b}, {0x64,0xcc,0x87}}, {{0xc4,0x8f}, {0x64,0xcc,0x8c}}, {{0xe1,0xb8,0x8d}, {0x64,0xcc,0xa3}}, {{0xe1,0xb8,0x91}, {0x64,0xcc,0xa7}}, {{0xe1,0xb8,0x93}, {0x64,0xcc,0xad}}, {{0xe1,0xb8,0x8f}, {0x64,0xcc,0xb1}}, {{0xc3,0xa8}, {0x65,0xcc,0x80}}, {{0xc3,0xa9}, {0x65,0xcc,0x81}}, {{0xc3,0xaa}, {0x65,0xcc,0x82}}, {{0xe1,0xbb,0x81}, {0x65,0xcc,0x82,0xcc,0x80}}, {{0xe1,0xba,0xbf}, {0x65,0xcc,0x82,0xcc,0x81}}, {{0xe1,0xbb,0x85}, {0x65,0xcc,0x82,0xcc,0x83}}, {{0xe1,0xbb,0x83}, {0x65,0xcc,0x82,0xcc,0x89}}, {{0xe1,0xba,0xbd}, {0x65,0xcc,0x83}}, {{0xc4,0x93}, {0x65,0xcc,0x84}}, {{0xe1,0xb8,0x95}, {0x65,0xcc,0x84,0xcc,0x80}}, {{0xe1,0xb8,0x97}, {0x65,0xcc,0x84,0xcc,0x81}}, {{0xc4,0x95}, {0x65,0xcc,0x86}}, {{0xc4,0x97}, {0x65,0xcc,0x87}}, {{0xc3,0xab}, {0x65,0xcc,0x88}}, {{0xe1,0xba,0xbb}, {0x65,0xcc,0x89}}, {{0xc4,0x9b}, {0x65,0xcc,0x8c}}, {{0xc8,0x85}, {0x65,0xcc,0x8f}}, {{0xc8,0x87}, {0x65,0xcc,0x91}}, {{0xe1,0xba,0xb9}, {0x65,0xcc,0xa3}}, {{0xe1,0xbb,0x87}, {0x65,0xcc,0xa3,0xcc,0x82}}, {{0xe1,0xb8,0x9d}, {0x65,0xcc,0xa7,0xcc,0x86}}, {{0xc4,0x99}, {0x65,0xcc,0xa8}}, {{0xe1,0xb8,0x99}, {0x65,0xcc,0xad}}, {{0xe1,0xb8,0x9b}, {0x65,0xcc,0xb0}}, {{0xe1,0xb8,0x9f}, {0x66,0xcc,0x87}}, {{0xc7,0xb5}, {0x67,0xcc,0x81}}, {{0xc4,0x9d}, {0x67,0xcc,0x82}}, {{0xe1,0xb8,0xa1}, {0x67,0xcc,0x84}}, {{0xc4,0x9f}, {0x67,0xcc,0x86}}, {{0xc4,0xa1}, {0x67,0xcc,0x87}}, {{0xc7,0xa7}, {0x67,0xcc,0x8c}}, {{0xc4,0xa3}, {0x67,0xcc,0xa7}}, {{0xc4,0xa5}, {0x68,0xcc,0x82}}, {{0xe1,0xb8,0xa3}, {0x68,0xcc,0x87}}, {{0xe1,0xb8,0xa7}, {0x68,0xcc,0x88}}, {{0xe1,0xb8,0xa5}, {0x68,0xcc,0xa3}}, {{0xe1,0xb8,0xa9}, {0x68,0xcc,0xa7}}, {{0xe1,0xb8,0xab}, {0x68,0xcc,0xae}}, {{0xe1,0xba,0x96}, {0x68,0xcc,0xb1}}, {{0xc3,0xac}, {0x69,0xcc,0x80}}, {{0xc3,0xad}, {0x69,0xcc,0x81}}, {{0xc3,0xae}, {0x69,0xcc,0x82}}, {{0xc4,0xa9}, {0x69,0xcc,0x83}}, {{0xc4,0xab}, {0x69,0xcc,0x84}}, {{0xc4,0xad}, {0x69,0xcc,0x86}}, {{0xc3,0xaf}, {0x69,0xcc,0x88}}, {{0xe1,0xb8,0xaf}, {0x69,0xcc,0x88,0xcc,0x81}}, {{0xe1,0xbb,0x89}, {0x69,0xcc,0x89}}, {{0xc7,0x90}, {0x69,0xcc,0x8c}}, {{0xc8,0x89}, {0x69,0xcc,0x8f}}, {{0xc8,0x8b}, {0x69,0xcc,0x91}}, {{0xe1,0xbb,0x8b}, {0x69,0xcc,0xa3}}, {{0xc4,0xaf}, {0x69,0xcc,0xa8}}, {{0xe1,0xb8,0xad}, {0x69,0xcc,0xb0}}, {{0xc4,0xb5}, {0x6a,0xcc,0x82}}, {{0xc7,0xb0}, {0x6a,0xcc,0x8c}}, {{0xe1,0xb8,0xb1}, {0x6b,0xcc,0x81}}, {{0xc7,0xa9}, {0x6b,0xcc,0x8c}}, {{0xe1,0xb8,0xb3}, {0x6b,0xcc,0xa3}}, {{0xc4,0xb7}, {0x6b,0xcc,0xa7}}, {{0xe1,0xb8,0xb5}, {0x6b,0xcc,0xb1}}, {{0xc4,0xba}, {0x6c,0xcc,0x81}}, {{0xc4,0xbe}, {0x6c,0xcc,0x8c}}, {{0xe1,0xb8,0xb7}, {0x6c,0xcc,0xa3}}, {{0xe1,0xb8,0xb9}, {0x6c,0xcc,0xa3,0xcc,0x84}}, {{0xc4,0xbc}, {0x6c,0xcc,0xa7}}, {{0xe1,0xb8,0xbd}, {0x6c,0xcc,0xad}}, {{0xe1,0xb8,0xbb}, {0x6c,0xcc,0xb1}}, {{0xe1,0xb8,0xbf}, {0x6d,0xcc,0x81}}, {{0xe1,0xb9,0x81}, {0x6d,0xcc,0x87}}, {{0xe1,0xb9,0x83}, {0x6d,0xcc,0xa3}}, {{0xc5,0x84}, {0x6e,0xcc,0x81}}, {{0xc3,0xb1}, {0x6e,0xcc,0x83}}, {{0xe1,0xb9,0x85}, {0x6e,0xcc,0x87}}, {{0xc5,0x88}, {0x6e,0xcc,0x8c}}, {{0xe1,0xb9,0x87}, {0x6e,0xcc,0xa3}}, {{0xc5,0x86}, {0x6e,0xcc,0xa7}}, {{0xe1,0xb9,0x8b}, {0x6e,0xcc,0xad}}, {{0xe1,0xb9,0x89}, {0x6e,0xcc,0xb1}}, {{0xc3,0xb2}, {0x6f,0xcc,0x80}}, {{0xc3,0xb3}, {0x6f,0xcc,0x81}}, {{0xc3,0xb4}, {0x6f,0xcc,0x82}}, {{0xe1,0xbb,0x93}, {0x6f,0xcc,0x82,0xcc,0x80}}, {{0xe1,0xbb,0x91}, {0x6f,0xcc,0x82,0xcc,0x81}}, {{0xe1,0xbb,0x97}, {0x6f,0xcc,0x82,0xcc,0x83}}, {{0xe1,0xbb,0x95}, {0x6f,0xcc,0x82,0xcc,0x89}}, {{0xc3,0xb5}, {0x6f,0xcc,0x83}}, {{0xe1,0xb9,0x8d}, {0x6f,0xcc,0x83,0xcc,0x81}}, {{0xe1,0xb9,0x8f}, {0x6f,0xcc,0x83,0xcc,0x88}}, {{0xc5,0x8d}, {0x6f,0xcc,0x84}}, {{0xe1,0xb9,0x91}, {0x6f,0xcc,0x84,0xcc,0x80}}, {{0xe1,0xb9,0x93}, {0x6f,0xcc,0x84,0xcc,0x81}}, {{0xc5,0x8f}, {0x6f,0xcc,0x86}}, {{0xc3,0xb6}, {0x6f,0xcc,0x88}}, {{0xe1,0xbb,0x8f}, {0x6f,0xcc,0x89}}, {{0xc5,0x91}, {0x6f,0xcc,0x8b}}, {{0xc7,0x92}, {0x6f,0xcc,0x8c}}, {{0xc8,0x8d}, {0x6f,0xcc,0x8f}}, {{0xc8,0x8f}, {0x6f,0xcc,0x91}}, {{0xc6,0xa1}, {0x6f,0xcc,0x9b}}, {{0xe1,0xbb,0x9d}, {0x6f,0xcc,0x9b,0xcc,0x80}}, {{0xe1,0xbb,0x9b}, {0x6f,0xcc,0x9b,0xcc,0x81}}, {{0xe1,0xbb,0xa1}, {0x6f,0xcc,0x9b,0xcc,0x83}}, {{0xe1,0xbb,0x9f}, {0x6f,0xcc,0x9b,0xcc,0x89}}, {{0xe1,0xbb,0xa3}, {0x6f,0xcc,0x9b,0xcc,0xa3}}, {{0xe1,0xbb,0x8d}, {0x6f,0xcc,0xa3}}, {{0xe1,0xbb,0x99}, {0x6f,0xcc,0xa3,0xcc,0x82}}, {{0xc7,0xab}, {0x6f,0xcc,0xa8}}, {{0xc7,0xad}, {0x6f,0xcc,0xa8,0xcc,0x84}}, {{0xe1,0xb9,0x95}, {0x70,0xcc,0x81}}, {{0xe1,0xb9,0x97}, {0x70,0xcc,0x87}}, {{0xc5,0x95}, {0x72,0xcc,0x81}}, {{0xe1,0xb9,0x99}, {0x72,0xcc,0x87}}, {{0xc5,0x99}, {0x72,0xcc,0x8c}}, {{0xc8,0x91}, {0x72,0xcc,0x8f}}, {{0xc8,0x93}, {0x72,0xcc,0x91}}, {{0xe1,0xb9,0x9b}, {0x72,0xcc,0xa3}}, {{0xe1,0xb9,0x9d}, {0x72,0xcc,0xa3,0xcc,0x84}}, {{0xc5,0x97}, {0x72,0xcc,0xa7}}, {{0xe1,0xb9,0x9f}, {0x72,0xcc,0xb1}}, {{0xc5,0x9b}, {0x73,0xcc,0x81}}, {{0xe1,0xb9,0xa5}, {0x73,0xcc,0x81,0xcc,0x87}}, {{0xc5,0x9d}, {0x73,0xcc,0x82}}, {{0xe1,0xb9,0xa1}, {0x73,0xcc,0x87}}, {{0xc5,0xa1}, {0x73,0xcc,0x8c}}, {{0xe1,0xb9,0xa7}, {0x73,0xcc,0x8c,0xcc,0x87}}, {{0xe1,0xb9,0xa3}, {0x73,0xcc,0xa3}}, {{0xe1,0xb9,0xa9}, {0x73,0xcc,0xa3,0xcc,0x87}}, {{0xc5,0x9f}, {0x73,0xcc,0xa7}}, {{0xe1,0xb9,0xab}, {0x74,0xcc,0x87}}, {{0xe1,0xba,0x97}, {0x74,0xcc,0x88}}, {{0xc5,0xa5}, {0x74,0xcc,0x8c}}, {{0xe1,0xb9,0xad}, {0x74,0xcc,0xa3}}, {{0xc5,0xa3}, {0x74,0xcc,0xa7}}, {{0xe1,0xb9,0xb1}, {0x74,0xcc,0xad}}, {{0xe1,0xb9,0xaf}, {0x74,0xcc,0xb1}}, {{0xc3,0xb9}, {0x75,0xcc,0x80}}, {{0xc3,0xba}, {0x75,0xcc,0x81}}, {{0xc3,0xbb}, {0x75,0xcc,0x82}}, {{0xc5,0xa9}, {0x75,0xcc,0x83}}, {{0xe1,0xb9,0xb9}, {0x75,0xcc,0x83,0xcc,0x81}}, {{0xc5,0xab}, {0x75,0xcc,0x84}}, {{0xe1,0xb9,0xbb}, {0x75,0xcc,0x84,0xcc,0x88}}, {{0xc5,0xad}, {0x75,0xcc,0x86}}, {{0xc3,0xbc}, {0x75,0xcc,0x88}}, {{0xc7,0x9c}, {0x75,0xcc,0x88,0xcc,0x80}}, {{0xc7,0x98}, {0x75,0xcc,0x88,0xcc,0x81}}, {{0xc7,0x96}, {0x75,0xcc,0x88,0xcc,0x84}}, {{0xc7,0x9a}, {0x75,0xcc,0x88,0xcc,0x8c}}, {{0xe1,0xbb,0xa7}, {0x75,0xcc,0x89}}, {{0xc5,0xaf}, {0x75,0xcc,0x8a}}, {{0xc5,0xb1}, {0x75,0xcc,0x8b}}, {{0xc7,0x94}, {0x75,0xcc,0x8c}}, {{0xc8,0x95}, {0x75,0xcc,0x8f}}, {{0xc8,0x97}, {0x75,0xcc,0x91}}, {{0xc6,0xb0}, {0x75,0xcc,0x9b}}, {{0xe1,0xbb,0xab}, {0x75,0xcc,0x9b,0xcc,0x80}}, {{0xe1,0xbb,0xa9}, {0x75,0xcc,0x9b,0xcc,0x81}}, {{0xe1,0xbb,0xaf}, {0x75,0xcc,0x9b,0xcc,0x83}}, {{0xe1,0xbb,0xad}, {0x75,0xcc,0x9b,0xcc,0x89}}, {{0xe1,0xbb,0xb1}, {0x75,0xcc,0x9b,0xcc,0xa3}}, {{0xe1,0xbb,0xa5}, {0x75,0xcc,0xa3}}, {{0xe1,0xb9,0xb3}, {0x75,0xcc,0xa4}}, {{0xc5,0xb3}, {0x75,0xcc,0xa8}}, {{0xe1,0xb9,0xb7}, {0x75,0xcc,0xad}}, {{0xe1,0xb9,0xb5}, {0x75,0xcc,0xb0}}, {{0xe1,0xb9,0xbd}, {0x76,0xcc,0x83}}, {{0xe1,0xb9,0xbf}, {0x76,0xcc,0xa3}}, {{0xe1,0xba,0x81}, {0x77,0xcc,0x80}}, {{0xe1,0xba,0x83}, {0x77,0xcc,0x81}}, {{0xc5,0xb5}, {0x77,0xcc,0x82}}, {{0xe1,0xba,0x87}, {0x77,0xcc,0x87}}, {{0xe1,0xba,0x85}, {0x77,0xcc,0x88}}, {{0xe1,0xba,0x98}, {0x77,0xcc,0x8a}}, {{0xe1,0xba,0x89}, {0x77,0xcc,0xa3}}, {{0xe1,0xba,0x8b}, {0x78,0xcc,0x87}}, {{0xe1,0xba,0x8d}, {0x78,0xcc,0x88}}, {{0xe1,0xbb,0xb3}, {0x79,0xcc,0x80}}, {{0xc3,0xbd}, {0x79,0xcc,0x81}}, {{0xc5,0xb7}, {0x79,0xcc,0x82}}, {{0xe1,0xbb,0xb9}, {0x79,0xcc,0x83}}, {{0xe1,0xba,0x8f}, {0x79,0xcc,0x87}}, {{0xc3,0xbf}, {0x79,0xcc,0x88}}, {{0xe1,0xbb,0xb7}, {0x79,0xcc,0x89}}, {{0xe1,0xba,0x99}, {0x79,0xcc,0x8a}}, {{0xe1,0xbb,0xb5}, {0x79,0xcc,0xa3}}, {{0xc5,0xba}, {0x7a,0xcc,0x81}}, {{0xe1,0xba,0x91}, {0x7a,0xcc,0x82}}, {{0xc5,0xbc}, {0x7a,0xcc,0x87}}, {{0xc5,0xbe}, {0x7a,0xcc,0x8c}}, {{0xe1,0xba,0x93}, {0x7a,0xcc,0xa3}}, {{0xe1,0xba,0x95}, {0x7a,0xcc,0xb1}}, {{0xe1,0xbf,0xad}, {0xc2,0xa8,0xcc,0x80}}, {{0xe1,0xbf,0xae}, {0xc2,0xa8,0xcc,0x81}}, {{0xce,0x85}, {0xc2,0xa8,0xcc,0x8d}}, {{0xe1,0xbf,0x81}, {0xc2,0xa8,0xcd,0x82}}, {{0xe1,0xbf,0xbd}, {0xc2,0xb4}}, {{0xce,0x87}, {0xc2,0xb7}}, {{0xd3,0x94}, {0xc3,0x86}}, {{0xc7,0xbc}, {0xc3,0x86,0xcc,0x81}}, {{0xc7,0xa2}, {0xc3,0x86,0xcc,0x84}}, {{0xc7,0xbe}, {0xc3,0x98,0xcc,0x81}}, {{0xd3,0x95}, {0xc3,0xa6}}, {{0xc7,0xbd}, {0xc3,0xa6,0xcc,0x81}}, {{0xc7,0xa3}, {0xc3,0xa6,0xcc,0x84}}, {{0xc7,0xbf}, {0xc3,0xb8,0xcc,0x81}}, {{0xe1,0xba,0x9b}, {0xc5,0xbf,0xcc,0x87}}, {{0xd3,0x98}, {0xc6,0x8f}}, {{0xd3,0x9a}, {0xc6,0x8f,0xcc,0x88}}, {{0xd3,0xa8}, {0xc6,0x9f}}, {{0xd3,0xaa}, {0xc6,0x9f,0xcc,0x88}}, {{0xd3,0xa0}, {0xc6,0xb7}}, {{0xc7,0xae}, {0xc6,0xb7,0xcc,0x8c}}, {{0xd3,0x99}, {0xc9,0x99}}, {{0xd3,0x9b}, {0xc9,0x99,0xcc,0x88}}, {{0xd3,0xa9}, {0xc9,0xb5}}, {{0xd3,0xab}, {0xc9,0xb5,0xcc,0x88}}, {{0xd3,0xa1}, {0xca,0x92}}, {{0xc7,0xaf}, {0xca,0x92,0xcc,0x8c}}, {{0xcd,0xb4}, {0xca,0xb9}}, {{0xcd,0x80}, {0xcc,0x80}}, {{0xcd,0x81}, {0xcc,0x81}}, {{0xcc,0x90}, {0xcc,0x86,0xcc,0x87}}, {{0xcd,0x84}, {0xcc,0x88,0xcc,0x8d}}, {{0xcd,0x83}, {0xcc,0x93}}, {{0xe1,0xbe,0xba}, {0xce,0x91,0xcc,0x80}}, {{0xe1,0xbe,0xbb}, {0xce,0x91,0xcc,0x81}}, {{0xe1,0xbe,0xb9}, {0xce,0x91,0xcc,0x84}}, {{0xe1,0xbe,0xb8}, {0xce,0x91,0xcc,0x86}}, {{0xce,0x86}, {0xce,0x91,0xcc,0x8d}}, {{0xe1,0xbc,0x88}, {0xce,0x91,0xcc,0x93}}, {{0xe1,0xbc,0x8a}, {0xce,0x91,0xcc,0x93,0xcc,0x80}}, {{0xe1,0xbc,0x8c}, {0xce,0x91,0xcc,0x93,0xcc,0x81}}, {{0xe1,0xbc,0x8e}, {0xce,0x91,0xcc,0x93,0xcd,0x82}}, {{0xe1,0xbc,0x89}, {0xce,0x91,0xcc,0x94}}, {{0xe1,0xbc,0x8b}, {0xce,0x91,0xcc,0x94,0xcc,0x80}}, {{0xe1,0xbc,0x8d}, {0xce,0x91,0xcc,0x94,0xcc,0x81}}, {{0xe1,0xbc,0x8f}, {0xce,0x91,0xcc,0x94,0xcd,0x82}}, {{0xe1,0xbe,0xbc}, {0xce,0x91,0xcd,0x85}}, {{0xe1,0xbe,0x88}, {0xce,0x91,0xcd,0x85,0xcc,0x93}}, {{0xe1,0xbe,0x8a}, {0xce,0x91,0xcd,0x85,0xcc,0x93,0xcc,0x80}}, {{0xe1,0xbe,0x8c}, {0xce,0x91,0xcd,0x85,0xcc,0x93,0xcc,0x81}}, {{0xe1,0xbe,0x8e}, {0xce,0x91,0xcd,0x85,0xcc,0x93,0xcd,0x82}}, {{0xe1,0xbe,0x89}, {0xce,0x91,0xcd,0x85,0xcc,0x94}}, {{0xe1,0xbe,0x8b}, {0xce,0x91,0xcd,0x85,0xcc,0x94,0xcc,0x80}}, {{0xe1,0xbe,0x8d}, {0xce,0x91,0xcd,0x85,0xcc,0x94,0xcc,0x81}}, {{0xe1,0xbe,0x8f}, {0xce,0x91,0xcd,0x85,0xcc,0x94,0xcd,0x82}}, {{0xe1,0xbf,0x88}, {0xce,0x95,0xcc,0x80}}, {{0xe1,0xbf,0x89}, {0xce,0x95,0xcc,0x81}}, {{0xce,0x88}, {0xce,0x95,0xcc,0x8d}}, {{0xe1,0xbc,0x98}, {0xce,0x95,0xcc,0x93}}, {{0xe1,0xbc,0x9a}, {0xce,0x95,0xcc,0x93,0xcc,0x80}}, {{0xe1,0xbc,0x9c}, {0xce,0x95,0xcc,0x93,0xcc,0x81}}, {{0xe1,0xbc,0x99}, {0xce,0x95,0xcc,0x94}}, {{0xe1,0xbc,0x9b}, {0xce,0x95,0xcc,0x94,0xcc,0x80}}, {{0xe1,0xbc,0x9d}, {0xce,0x95,0xcc,0x94,0xcc,0x81}}, {{0xe1,0xbf,0x8a}, {0xce,0x97,0xcc,0x80}}, {{0xe1,0xbf,0x8b}, {0xce,0x97,0xcc,0x81}}, {{0xce,0x89}, {0xce,0x97,0xcc,0x8d}}, {{0xe1,0xbc,0xa8}, {0xce,0x97,0xcc,0x93}}, {{0xe1,0xbc,0xaa}, {0xce,0x97,0xcc,0x93,0xcc,0x80}}, {{0xe1,0xbc,0xac}, {0xce,0x97,0xcc,0x93,0xcc,0x81}}, {{0xe1,0xbc,0xae}, {0xce,0x97,0xcc,0x93,0xcd,0x82}}, {{0xe1,0xbc,0xa9}, {0xce,0x97,0xcc,0x94}}, {{0xe1,0xbc,0xab}, {0xce,0x97,0xcc,0x94,0xcc,0x80}}, {{0xe1,0xbc,0xad}, {0xce,0x97,0xcc,0x94,0xcc,0x81}}, {{0xe1,0xbc,0xaf}, {0xce,0x97,0xcc,0x94,0xcd,0x82}}, {{0xe1,0xbf,0x8c}, {0xce,0x97,0xcd,0x85}}, {{0xe1,0xbe,0x98}, {0xce,0x97,0xcd,0x85,0xcc,0x93}}, {{0xe1,0xbe,0x9a}, {0xce,0x97,0xcd,0x85,0xcc,0x93,0xcc,0x80}}, {{0xe1,0xbe,0x9c}, {0xce,0x97,0xcd,0x85,0xcc,0x93,0xcc,0x81}}, {{0xe1,0xbe,0x9e}, {0xce,0x97,0xcd,0x85,0xcc,0x93,0xcd,0x82}}, {{0xe1,0xbe,0x99}, {0xce,0x97,0xcd,0x85,0xcc,0x94}}, {{0xe1,0xbe,0x9b}, {0xce,0x97,0xcd,0x85,0xcc,0x94,0xcc,0x80}}, {{0xe1,0xbe,0x9d}, {0xce,0x97,0xcd,0x85,0xcc,0x94,0xcc,0x81}}, {{0xe1,0xbe,0x9f}, {0xce,0x97,0xcd,0x85,0xcc,0x94,0xcd,0x82}}, {{0xe1,0xbf,0x9a}, {0xce,0x99,0xcc,0x80}}, {{0xe1,0xbf,0x9b}, {0xce,0x99,0xcc,0x81}}, {{0xe1,0xbf,0x99}, {0xce,0x99,0xcc,0x84}}, {{0xe1,0xbf,0x98}, {0xce,0x99,0xcc,0x86}}, {{0xce,0xaa}, {0xce,0x99,0xcc,0x88}}, {{0xce,0x8a}, {0xce,0x99,0xcc,0x8d}}, {{0xe1,0xbc,0xb8}, {0xce,0x99,0xcc,0x93}}, {{0xe1,0xbc,0xba}, {0xce,0x99,0xcc,0x93,0xcc,0x80}}, {{0xe1,0xbc,0xbc}, {0xce,0x99,0xcc,0x93,0xcc,0x81}}, {{0xe1,0xbc,0xbe}, {0xce,0x99,0xcc,0x93,0xcd,0x82}}, {{0xe1,0xbc,0xb9}, {0xce,0x99,0xcc,0x94}}, {{0xe1,0xbc,0xbb}, {0xce,0x99,0xcc,0x94,0xcc,0x80}}, {{0xe1,0xbc,0xbd}, {0xce,0x99,0xcc,0x94,0xcc,0x81}}, {{0xe1,0xbc,0xbf}, {0xce,0x99,0xcc,0x94,0xcd,0x82}}, {{0xe1,0xbf,0xb8}, {0xce,0x9f,0xcc,0x80}}, {{0xe1,0xbf,0xb9}, {0xce,0x9f,0xcc,0x81}}, {{0xce,0x8c}, {0xce,0x9f,0xcc,0x8d}}, {{0xe1,0xbd,0x88}, {0xce,0x9f,0xcc,0x93}}, {{0xe1,0xbd,0x8a}, {0xce,0x9f,0xcc,0x93,0xcc,0x80}}, {{0xe1,0xbd,0x8c}, {0xce,0x9f,0xcc,0x93,0xcc,0x81}}, {{0xe1,0xbd,0x89}, {0xce,0x9f,0xcc,0x94}}, {{0xe1,0xbd,0x8b}, {0xce,0x9f,0xcc,0x94,0xcc,0x80}}, {{0xe1,0xbd,0x8d}, {0xce,0x9f,0xcc,0x94,0xcc,0x81}}, {{0xe1,0xbf,0xac}, {0xce,0xa1,0xcc,0x94}}, {{0xe1,0xbf,0xaa}, {0xce,0xa5,0xcc,0x80}}, {{0xe1,0xbf,0xab}, {0xce,0xa5,0xcc,0x81}}, {{0xe1,0xbf,0xa9}, {0xce,0xa5,0xcc,0x84}}, {{0xe1,0xbf,0xa8}, {0xce,0xa5,0xcc,0x86}}, {{0xce,0xab}, {0xce,0xa5,0xcc,0x88}}, {{0xce,0x8e}, {0xce,0xa5,0xcc,0x8d}}, {{0xe1,0xbd,0x99}, {0xce,0xa5,0xcc,0x94}}, {{0xe1,0xbd,0x9b}, {0xce,0xa5,0xcc,0x94,0xcc,0x80}}, {{0xe1,0xbd,0x9d}, {0xce,0xa5,0xcc,0x94,0xcc,0x81}}, {{0xe1,0xbd,0x9f}, {0xce,0xa5,0xcc,0x94,0xcd,0x82}}, {{0xe1,0xbf,0xba}, {0xce,0xa9,0xcc,0x80}}, {{0xe1,0xbf,0xbb}, {0xce,0xa9,0xcc,0x81}}, {{0xce,0x8f}, {0xce,0xa9,0xcc,0x8d}}, {{0xe1,0xbd,0xa8}, {0xce,0xa9,0xcc,0x93}}, {{0xe1,0xbd,0xaa}, {0xce,0xa9,0xcc,0x93,0xcc,0x80}}, {{0xe1,0xbd,0xac}, {0xce,0xa9,0xcc,0x93,0xcc,0x81}}, {{0xe1,0xbd,0xae}, {0xce,0xa9,0xcc,0x93,0xcd,0x82}}, {{0xe1,0xbd,0xa9}, {0xce,0xa9,0xcc,0x94}}, {{0xe1,0xbd,0xab}, {0xce,0xa9,0xcc,0x94,0xcc,0x80}}, {{0xe1,0xbd,0xad}, {0xce,0xa9,0xcc,0x94,0xcc,0x81}}, {{0xe1,0xbd,0xaf}, {0xce,0xa9,0xcc,0x94,0xcd,0x82}}, {{0xe1,0xbf,0xbc}, {0xce,0xa9,0xcd,0x85}}, {{0xe1,0xbe,0xa8}, {0xce,0xa9,0xcd,0x85,0xcc,0x93}}, {{0xe1,0xbe,0xaa}, {0xce,0xa9,0xcd,0x85,0xcc,0x93,0xcc,0x80}}, {{0xe1,0xbe,0xac}, {0xce,0xa9,0xcd,0x85,0xcc,0x93,0xcc,0x81}}, {{0xe1,0xbe,0xae}, {0xce,0xa9,0xcd,0x85,0xcc,0x93,0xcd,0x82}}, {{0xe1,0xbe,0xa9}, {0xce,0xa9,0xcd,0x85,0xcc,0x94}}, {{0xe1,0xbe,0xab}, {0xce,0xa9,0xcd,0x85,0xcc,0x94,0xcc,0x80}}, {{0xe1,0xbe,0xad}, {0xce,0xa9,0xcd,0x85,0xcc,0x94,0xcc,0x81}}, {{0xe1,0xbe,0xaf}, {0xce,0xa9,0xcd,0x85,0xcc,0x94,0xcd,0x82}}, {{0xe1,0xbd,0xb0}, {0xce,0xb1,0xcc,0x80}}, {{0xe1,0xbd,0xb1}, {0xce,0xb1,0xcc,0x81}}, {{0xe1,0xbe,0xb1}, {0xce,0xb1,0xcc,0x84}}, {{0xe1,0xbe,0xb0}, {0xce,0xb1,0xcc,0x86}}, {{0xce,0xac}, {0xce,0xb1,0xcc,0x8d}}, {{0xe1,0xbc,0x80}, {0xce,0xb1,0xcc,0x93}}, {{0xe1,0xbc,0x82}, {0xce,0xb1,0xcc,0x93,0xcc,0x80}}, {{0xe1,0xbc,0x84}, {0xce,0xb1,0xcc,0x93,0xcc,0x81}}, {{0xe1,0xbc,0x86}, {0xce,0xb1,0xcc,0x93,0xcd,0x82}}, {{0xe1,0xbc,0x81}, {0xce,0xb1,0xcc,0x94}}, {{0xe1,0xbc,0x83}, {0xce,0xb1,0xcc,0x94,0xcc,0x80}}, {{0xe1,0xbc,0x85}, {0xce,0xb1,0xcc,0x94,0xcc,0x81}}, {{0xe1,0xbc,0x87}, {0xce,0xb1,0xcc,0x94,0xcd,0x82}}, {{0xe1,0xbe,0xb6}, {0xce,0xb1,0xcd,0x82}}, {{0xe1,0xbe,0xb3}, {0xce,0xb1,0xcd,0x85}}, {{0xe1,0xbe,0xb2}, {0xce,0xb1,0xcd,0x85,0xcc,0x80}}, {{0xe1,0xbe,0xb4}, {0xce,0xb1,0xcd,0x85,0xcc,0x81}}, {{0xe1,0xbe,0x80}, {0xce,0xb1,0xcd,0x85,0xcc,0x93}}, {{0xe1,0xbe,0x82}, {0xce,0xb1,0xcd,0x85,0xcc,0x93,0xcc,0x80}}, {{0xe1,0xbe,0x84}, {0xce,0xb1,0xcd,0x85,0xcc,0x93,0xcc,0x81}}, {{0xe1,0xbe,0x86}, {0xce,0xb1,0xcd,0x85,0xcc,0x93,0xcd,0x82}}, {{0xe1,0xbe,0x81}, {0xce,0xb1,0xcd,0x85,0xcc,0x94}}, {{0xe1,0xbe,0x83}, {0xce,0xb1,0xcd,0x85,0xcc,0x94,0xcc,0x80}}, {{0xe1,0xbe,0x85}, {0xce,0xb1,0xcd,0x85,0xcc,0x94,0xcc,0x81}}, {{0xe1,0xbe,0x87}, {0xce,0xb1,0xcd,0x85,0xcc,0x94,0xcd,0x82}}, {{0xe1,0xbe,0xb7}, {0xce,0xb1,0xcd,0x85,0xcd,0x82}}, {{0xe1,0xbd,0xb2}, {0xce,0xb5,0xcc,0x80}}, {{0xe1,0xbd,0xb3}, {0xce,0xb5,0xcc,0x81}}, {{0xce,0xad}, {0xce,0xb5,0xcc,0x8d}}, {{0xe1,0xbc,0x90}, {0xce,0xb5,0xcc,0x93}}, {{0xe1,0xbc,0x92}, {0xce,0xb5,0xcc,0x93,0xcc,0x80}}, {{0xe1,0xbc,0x94}, {0xce,0xb5,0xcc,0x93,0xcc,0x81}}, {{0xe1,0xbc,0x91}, {0xce,0xb5,0xcc,0x94}}, {{0xe1,0xbc,0x93}, {0xce,0xb5,0xcc,0x94,0xcc,0x80}}, {{0xe1,0xbc,0x95}, {0xce,0xb5,0xcc,0x94,0xcc,0x81}}, {{0xe1,0xbd,0xb4}, {0xce,0xb7,0xcc,0x80}}, {{0xe1,0xbd,0xb5}, {0xce,0xb7,0xcc,0x81}}, {{0xce,0xae}, {0xce,0xb7,0xcc,0x8d}}, {{0xe1,0xbc,0xa0}, {0xce,0xb7,0xcc,0x93}}, {{0xe1,0xbc,0xa2}, {0xce,0xb7,0xcc,0x93,0xcc,0x80}}, {{0xe1,0xbc,0xa4}, {0xce,0xb7,0xcc,0x93,0xcc,0x81}}, {{0xe1,0xbc,0xa6}, {0xce,0xb7,0xcc,0x93,0xcd,0x82}}, {{0xe1,0xbc,0xa1}, {0xce,0xb7,0xcc,0x94}}, {{0xe1,0xbc,0xa3}, {0xce,0xb7,0xcc,0x94,0xcc,0x80}}, {{0xe1,0xbc,0xa5}, {0xce,0xb7,0xcc,0x94,0xcc,0x81}}, {{0xe1,0xbc,0xa7}, {0xce,0xb7,0xcc,0x94,0xcd,0x82}}, {{0xe1,0xbf,0x86}, {0xce,0xb7,0xcd,0x82}}, {{0xe1,0xbf,0x83}, {0xce,0xb7,0xcd,0x85}}, {{0xe1,0xbf,0x82}, {0xce,0xb7,0xcd,0x85,0xcc,0x80}}, {{0xe1,0xbf,0x84}, {0xce,0xb7,0xcd,0x85,0xcc,0x81}}, {{0xe1,0xbe,0x90}, {0xce,0xb7,0xcd,0x85,0xcc,0x93}}, {{0xe1,0xbe,0x92}, {0xce,0xb7,0xcd,0x85,0xcc,0x93,0xcc,0x80}}, {{0xe1,0xbe,0x94}, {0xce,0xb7,0xcd,0x85,0xcc,0x93,0xcc,0x81}}, {{0xe1,0xbe,0x96}, {0xce,0xb7,0xcd,0x85,0xcc,0x93,0xcd,0x82}}, {{0xe1,0xbe,0x91}, {0xce,0xb7,0xcd,0x85,0xcc,0x94}}, {{0xe1,0xbe,0x93}, {0xce,0xb7,0xcd,0x85,0xcc,0x94,0xcc,0x80}}, {{0xe1,0xbe,0x95}, {0xce,0xb7,0xcd,0x85,0xcc,0x94,0xcc,0x81}}, {{0xe1,0xbe,0x97}, {0xce,0xb7,0xcd,0x85,0xcc,0x94,0xcd,0x82}}, {{0xe1,0xbf,0x87}, {0xce,0xb7,0xcd,0x85,0xcd,0x82}}, {{0xe1,0xbe,0xbe}, {0xce,0xb9}}, {{0xe1,0xbd,0xb6}, {0xce,0xb9,0xcc,0x80}}, {{0xe1,0xbd,0xb7}, {0xce,0xb9,0xcc,0x81}}, {{0xe1,0xbf,0x91}, {0xce,0xb9,0xcc,0x84}}, {{0xe1,0xbf,0x90}, {0xce,0xb9,0xcc,0x86}}, {{0xcf,0x8a}, {0xce,0xb9,0xcc,0x88}}, {{0xe1,0xbf,0x92}, {0xce,0xb9,0xcc,0x88,0xcc,0x80}}, {{0xe1,0xbf,0x93}, {0xce,0xb9,0xcc,0x88,0xcc,0x81}}, {{0xce,0x90}, {0xce,0xb9,0xcc,0x88,0xcc,0x8d}}, {{0xe1,0xbf,0x97}, {0xce,0xb9,0xcc,0x88,0xcd,0x82}}, {{0xce,0xaf}, {0xce,0xb9,0xcc,0x8d}}, {{0xe1,0xbc,0xb0}, {0xce,0xb9,0xcc,0x93}}, {{0xe1,0xbc,0xb2}, {0xce,0xb9,0xcc,0x93,0xcc,0x80}}, {{0xe1,0xbc,0xb4}, {0xce,0xb9,0xcc,0x93,0xcc,0x81}}, {{0xe1,0xbc,0xb6}, {0xce,0xb9,0xcc,0x93,0xcd,0x82}}, {{0xe1,0xbc,0xb1}, {0xce,0xb9,0xcc,0x94}}, {{0xe1,0xbc,0xb3}, {0xce,0xb9,0xcc,0x94,0xcc,0x80}}, {{0xe1,0xbc,0xb5}, {0xce,0xb9,0xcc,0x94,0xcc,0x81}}, {{0xe1,0xbc,0xb7}, {0xce,0xb9,0xcc,0x94,0xcd,0x82}}, {{0xe1,0xbf,0x96}, {0xce,0xb9,0xcd,0x82}}, {{0xe1,0xbd,0xb8}, {0xce,0xbf,0xcc,0x80}}, {{0xe1,0xbd,0xb9}, {0xce,0xbf,0xcc,0x81}}, {{0xcf,0x8c}, {0xce,0xbf,0xcc,0x8d}}, {{0xe1,0xbd,0x80}, {0xce,0xbf,0xcc,0x93}}, {{0xe1,0xbd,0x82}, {0xce,0xbf,0xcc,0x93,0xcc,0x80}}, {{0xe1,0xbd,0x84}, {0xce,0xbf,0xcc,0x93,0xcc,0x81}}, {{0xe1,0xbd,0x81}, {0xce,0xbf,0xcc,0x94}}, {{0xe1,0xbd,0x83}, {0xce,0xbf,0xcc,0x94,0xcc,0x80}}, {{0xe1,0xbd,0x85}, {0xce,0xbf,0xcc,0x94,0xcc,0x81}}, {{0xe1,0xbf,0xb4}, {0xce,0xbf,0xcd,0x85,0xcc,0x81}}, {{0xe1,0xbf,0xa4}, {0xcf,0x81,0xcc,0x93}}, {{0xe1,0xbf,0xa5}, {0xcf,0x81,0xcc,0x94}}, {{0xe1,0xbd,0xba}, {0xcf,0x85,0xcc,0x80}}, {{0xe1,0xbd,0xbb}, {0xcf,0x85,0xcc,0x81}}, {{0xe1,0xbf,0xa1}, {0xcf,0x85,0xcc,0x84}}, {{0xe1,0xbf,0xa0}, {0xcf,0x85,0xcc,0x86}}, {{0xcf,0x8b}, {0xcf,0x85,0xcc,0x88}}, {{0xe1,0xbf,0xa2}, {0xcf,0x85,0xcc,0x88,0xcc,0x80}}, {{0xe1,0xbf,0xa3}, {0xcf,0x85,0xcc,0x88,0xcc,0x81}}, {{0xce,0xb0}, {0xcf,0x85,0xcc,0x88,0xcc,0x8d}}, {{0xe1,0xbf,0xa7}, {0xcf,0x85,0xcc,0x88,0xcd,0x82}}, {{0xcf,0x8d}, {0xcf,0x85,0xcc,0x8d}}, {{0xe1,0xbd,0x90}, {0xcf,0x85,0xcc,0x93}}, {{0xe1,0xbd,0x92}, {0xcf,0x85,0xcc,0x93,0xcc,0x80}}, {{0xe1,0xbd,0x94}, {0xcf,0x85,0xcc,0x93,0xcc,0x81}}, {{0xe1,0xbd,0x96}, {0xcf,0x85,0xcc,0x93,0xcd,0x82}}, {{0xe1,0xbd,0x91}, {0xcf,0x85,0xcc,0x94}}, {{0xe1,0xbd,0x93}, {0xcf,0x85,0xcc,0x94,0xcc,0x80}}, {{0xe1,0xbd,0x95}, {0xcf,0x85,0xcc,0x94,0xcc,0x81}}, {{0xe1,0xbd,0x97}, {0xcf,0x85,0xcc,0x94,0xcd,0x82}}, {{0xe1,0xbf,0xa6}, {0xcf,0x85,0xcd,0x82}}, {{0xe1,0xbd,0xbc}, {0xcf,0x89,0xcc,0x80}}, {{0xe1,0xbd,0xbd}, {0xcf,0x89,0xcc,0x81}}, {{0xcf,0x8e}, {0xcf,0x89,0xcc,0x8d}}, {{0xe1,0xbd,0xa0}, {0xcf,0x89,0xcc,0x93}}, {{0xe1,0xbd,0xa2}, {0xcf,0x89,0xcc,0x93,0xcc,0x80}}, {{0xe1,0xbd,0xa4}, {0xcf,0x89,0xcc,0x93,0xcc,0x81}}, {{0xe1,0xbd,0xa6}, {0xcf,0x89,0xcc,0x93,0xcd,0x82}}, {{0xe1,0xbd,0xa1}, {0xcf,0x89,0xcc,0x94}}, {{0xe1,0xbd,0xa3}, {0xcf,0x89,0xcc,0x94,0xcc,0x80}}, {{0xe1,0xbd,0xa5}, {0xcf,0x89,0xcc,0x94,0xcc,0x81}}, {{0xe1,0xbd,0xa7}, {0xcf,0x89,0xcc,0x94,0xcd,0x82}}, {{0xe1,0xbf,0xb6}, {0xcf,0x89,0xcd,0x82}}, {{0xe1,0xbf,0xb3}, {0xcf,0x89,0xcd,0x85}}, {{0xe1,0xbf,0xb2}, {0xcf,0x89,0xcd,0x85,0xcc,0x80}}, {{0xe1,0xbe,0xa0}, {0xcf,0x89,0xcd,0x85,0xcc,0x93}}, {{0xe1,0xbe,0xa2}, {0xcf,0x89,0xcd,0x85,0xcc,0x93,0xcc,0x80}}, {{0xe1,0xbe,0xa4}, {0xcf,0x89,0xcd,0x85,0xcc,0x93,0xcc,0x81}}, {{0xe1,0xbe,0xa6}, {0xcf,0x89,0xcd,0x85,0xcc,0x93,0xcd,0x82}}, {{0xe1,0xbe,0xa1}, {0xcf,0x89,0xcd,0x85,0xcc,0x94}}, {{0xe1,0xbe,0xa3}, {0xcf,0x89,0xcd,0x85,0xcc,0x94,0xcc,0x80}}, {{0xe1,0xbe,0xa5}, {0xcf,0x89,0xcd,0x85,0xcc,0x94,0xcc,0x81}}, {{0xe1,0xbe,0xa7}, {0xcf,0x89,0xcd,0x85,0xcc,0x94,0xcd,0x82}}, {{0xe1,0xbf,0xb7}, {0xcf,0x89,0xcd,0x85,0xcd,0x82}}, {{0xcf,0x94}, {0xcf,0x92,0xcc,0x88}}, {{0xcf,0x93}, {0xcf,0x92,0xcc,0x8d}}, {{0xd0,0x87}, {0xd0,0x86,0xcc,0x88}}, {{0xd3,0x90}, {0xd0,0x90,0xcc,0x86}}, {{0xd3,0x92}, {0xd0,0x90,0xcc,0x88}}, {{0xd0,0x83}, {0xd0,0x93,0xcc,0x81}}, {{0xd3,0x96}, {0xd0,0x95,0xcc,0x86}}, {{0xd0,0x81}, {0xd0,0x95,0xcc,0x88}}, {{0xd3,0x81}, {0xd0,0x96,0xcc,0x86}}, {{0xd3,0x9c}, {0xd0,0x96,0xcc,0x88}}, {{0xd3,0x9e}, {0xd0,0x97,0xcc,0x88}}, {{0xd3,0xa2}, {0xd0,0x98,0xcc,0x84}}, {{0xd0,0x99}, {0xd0,0x98,0xcc,0x86}}, {{0xd3,0xa4}, {0xd0,0x98,0xcc,0x88}}, {{0xd0,0x8c}, {0xd0,0x9a,0xcc,0x81}}, {{0xd3,0xa6}, {0xd0,0x9e,0xcc,0x88}}, {{0xd3,0xae}, {0xd0,0xa3,0xcc,0x84}}, {{0xd0,0x8e}, {0xd0,0xa3,0xcc,0x86}}, {{0xd3,0xb0}, {0xd0,0xa3,0xcc,0x88}}, {{0xd3,0xb2}, {0xd0,0xa3,0xcc,0x8b}}, {{0xd3,0xb4}, {0xd0,0xa7,0xcc,0x88}}, {{0xd3,0xb8}, {0xd0,0xab,0xcc,0x88}}, {{0xd3,0x91}, {0xd0,0xb0,0xcc,0x86}}, {{0xd3,0x93}, {0xd0,0xb0,0xcc,0x88}}, {{0xd1,0x93}, {0xd0,0xb3,0xcc,0x81}}, {{0xd3,0x97}, {0xd0,0xb5,0xcc,0x86}}, {{0xd1,0x91}, {0xd0,0xb5,0xcc,0x88}}, {{0xd3,0x82}, {0xd0,0xb6,0xcc,0x86}}, {{0xd3,0x9d}, {0xd0,0xb6,0xcc,0x88}}, {{0xd3,0x9f}, {0xd0,0xb7,0xcc,0x88}}, {{0xd3,0xa3}, {0xd0,0xb8,0xcc,0x84}}, {{0xd0,0xb9}, {0xd0,0xb8,0xcc,0x86}}, {{0xd3,0xa5}, {0xd0,0xb8,0xcc,0x88}}, {{0xd1,0x9c}, {0xd0,0xba,0xcc,0x81}}, {{0xd3,0xa7}, {0xd0,0xbe,0xcc,0x88}}, {{0xd3,0xaf}, {0xd1,0x83,0xcc,0x84}}, {{0xd1,0x9e}, {0xd1,0x83,0xcc,0x86}}, {{0xd3,0xb1}, {0xd1,0x83,0xcc,0x88}}, {{0xd3,0xb3}, {0xd1,0x83,0xcc,0x8b}}, {{0xd3,0xb5}, {0xd1,0x87,0xcc,0x88}}, {{0xd3,0xb9}, {0xd1,0x8b,0xcc,0x88}}, {{0xd1,0x97}, {0xd1,0x96,0xcc,0x88}}, {{0xd1,0xb6}, {0xd1,0xb4,0xcc,0x8f}}, {{0xd1,0xb7}, {0xd1,0xb5,0xcc,0x8f}}, {{0xef,0xac,0xae}, {0xd7,0x90,0xd6,0xb7}}, {{0xef,0xac,0xaf}, {0xd7,0x90,0xd6,0xb8}}, {{0xef,0xac,0xb0}, {0xd7,0x90,0xd6,0xbc}}, {{0xef,0xac,0xb1}, {0xd7,0x91,0xd6,0xbc}}, {{0xef,0xad,0x8c}, {0xd7,0x91,0xd6,0xbf}}, {{0xef,0xac,0xb2}, {0xd7,0x92,0xd6,0xbc}}, {{0xef,0xac,0xb3}, {0xd7,0x93,0xd6,0xbc}}, {{0xef,0xac,0xb4}, {0xd7,0x94,0xd6,0xbc}}, {{0xef,0xad,0x8b}, {0xd7,0x95,0xd6,0xb9}}, {{0xef,0xac,0xb5}, {0xd7,0x95,0xd6,0xbc}}, {{0xef,0xac,0xb6}, {0xd7,0x96,0xd6,0xbc}}, {{0xef,0xac,0xb8}, {0xd7,0x98,0xd6,0xbc}}, {{0xef,0xac,0xb9}, {0xd7,0x99,0xd6,0xbc}}, {{0xef,0xac,0xba}, {0xd7,0x9a,0xd6,0xbc}}, {{0xef,0xac,0xbb}, {0xd7,0x9b,0xd6,0xbc}}, {{0xef,0xad,0x8d}, {0xd7,0x9b,0xd6,0xbf}}, {{0xef,0xac,0xbc}, {0xd7,0x9c,0xd6,0xbc}}, {{0xef,0xac,0xbe}, {0xd7,0x9e,0xd6,0xbc}}, {{0xef,0xad,0x80}, {0xd7,0xa0,0xd6,0xbc}}, {{0xef,0xad,0x81}, {0xd7,0xa1,0xd6,0xbc}}, {{0xef,0xad,0x83}, {0xd7,0xa3,0xd6,0xbc}}, {{0xef,0xad,0x84}, {0xd7,0xa4,0xd6,0xbc}}, {{0xef,0xad,0x8e}, {0xd7,0xa4,0xd6,0xbf}}, {{0xef,0xad,0x86}, {0xd7,0xa6,0xd6,0xbc}}, {{0xef,0xad,0x87}, {0xd7,0xa7,0xd6,0xbc}}, {{0xef,0xad,0x88}, {0xd7,0xa8,0xd6,0xbc}}, {{0xef,0xad,0x89}, {0xd7,0xa9,0xd6,0xbc}}, {{0xef,0xac,0xac}, {0xd7,0xa9,0xd6,0xbc,0xd7,0x81}}, {{0xef,0xac,0xad}, {0xd7,0xa9,0xd6,0xbc,0xd7,0x82}}, {{0xef,0xac,0xaa}, {0xd7,0xa9,0xd7,0x81}}, {{0xef,0xac,0xab}, {0xd7,0xa9,0xd7,0x82}}, {{0xef,0xad,0x8a}, {0xd7,0xaa,0xd6,0xbc}}, {{0xef,0xac,0x9f}, {0xd7,0xb2,0xd6,0xb7}}, {{0xe0,0xa5,0x98}, {0xe0,0xa4,0x95,0xe0,0xa4,0xbc}}, {{0xe0,0xa5,0x99}, {0xe0,0xa4,0x96,0xe0,0xa4,0xbc}}, {{0xe0,0xa5,0x9a}, {0xe0,0xa4,0x97,0xe0,0xa4,0xbc}}, {{0xe0,0xa5,0x9b}, {0xe0,0xa4,0x9c,0xe0,0xa4,0xbc}}, {{0xe0,0xa5,0x9c}, {0xe0,0xa4,0xa1,0xe0,0xa4,0xbc}}, {{0xe0,0xa5,0x9d}, {0xe0,0xa4,0xa2,0xe0,0xa4,0xbc}}, {{0xe0,0xa4,0xa9}, {0xe0,0xa4,0xa8,0xe0,0xa4,0xbc}}, {{0xe0,0xa5,0x9e}, {0xe0,0xa4,0xab,0xe0,0xa4,0xbc}}, {{0xe0,0xa5,0x9f}, {0xe0,0xa4,0xaf,0xe0,0xa4,0xbc}}, {{0xe0,0xa4,0xb1}, {0xe0,0xa4,0xb0,0xe0,0xa4,0xbc}}, {{0xe0,0xa4,0xb4}, {0xe0,0xa4,0xb3,0xe0,0xa4,0xbc}}, {{0xe0,0xa7,0x9c}, {0xe0,0xa6,0xa1,0xe0,0xa6,0xbc}}, {{0xe0,0xa7,0x9d}, {0xe0,0xa6,0xa2,0xe0,0xa6,0xbc}}, {{0xe0,0xa6,0xb0}, {0xe0,0xa6,0xac,0xe0,0xa6,0xbc}}, {{0xe0,0xa7,0x9f}, {0xe0,0xa6,0xaf,0xe0,0xa6,0xbc}}, {{0xe0,0xa7,0x8b}, {0xe0,0xa7,0x87,0xe0,0xa6,0xbe}}, {{0xe0,0xa7,0x8c}, {0xe0,0xa7,0x87,0xe0,0xa7,0x97}}, {{0xe0,0xa9,0x99}, {0xe0,0xa8,0x96,0xe0,0xa8,0xbc}}, {{0xe0,0xa9,0x9a}, {0xe0,0xa8,0x97,0xe0,0xa8,0xbc}}, {{0xe0,0xa9,0x9b}, {0xe0,0xa8,0x9c,0xe0,0xa8,0xbc}}, {{0xe0,0xa9,0x9c}, {0xe0,0xa8,0xa1,0xe0,0xa8,0xbc}}, {{0xe0,0xa9,0x9e}, {0xe0,0xa8,0xab,0xe0,0xa8,0xbc}}, {{0xe0,0xad,0x9c}, {0xe0,0xac,0xa1,0xe0,0xac,0xbc}}, {{0xe0,0xad,0x9d}, {0xe0,0xac,0xa2,0xe0,0xac,0xbc}}, {{0xe0,0xad,0x9f}, {0xe0,0xac,0xaf,0xe0,0xac,0xbc}}, {{0xe0,0xad,0x8b}, {0xe0,0xad,0x87,0xe0,0xac,0xbe}}, {{0xe0,0xad,0x88}, {0xe0,0xad,0x87,0xe0,0xad,0x96}}, {{0xe0,0xad,0x8c}, {0xe0,0xad,0x87,0xe0,0xad,0x97}}, {{0xe0,0xae,0x94}, {0xe0,0xae,0x92,0xe0,0xaf,0x97}}, {{0xe0,0xaf,0x8a}, {0xe0,0xaf,0x86,0xe0,0xae,0xbe}}, {{0xe0,0xaf,0x8c}, {0xe0,0xaf,0x86,0xe0,0xaf,0x97}}, {{0xe0,0xaf,0x8b}, {0xe0,0xaf,0x87,0xe0,0xae,0xbe}}, {{0xe0,0xb1,0x88}, {0xe0,0xb1,0x86,0xe0,0xb1,0x96}}, {{0xe0,0xb3,0x80}, {0xe0,0xb2,0xbf,0xe0,0xb3,0x95}}, {{0xe0,0xb3,0x8a}, {0xe0,0xb3,0x86,0xe0,0xb3,0x82}}, {{0xe0,0xb3,0x8b}, {0xe0,0xb3,0x86,0xe0,0xb3,0x82,0xe0,0xb3,0x95}}, {{0xe0,0xb3,0x87}, {0xe0,0xb3,0x86,0xe0,0xb3,0x95}}, {{0xe0,0xb3,0x88}, {0xe0,0xb3,0x86,0xe0,0xb3,0x96}}, {{0xe0,0xb5,0x8a}, {0xe0,0xb5,0x86,0xe0,0xb4,0xbe}}, {{0xe0,0xb5,0x8c}, {0xe0,0xb5,0x86,0xe0,0xb5,0x97}}, {{0xe0,0xb5,0x8b}, {0xe0,0xb5,0x87,0xe0,0xb4,0xbe}}, {{0xe0,0xb8,0xb3}, {0xe0,0xb9,0x8d,0xe0,0xb8,0xb2}}, {{0xe0,0xba,0xb3}, {0xe0,0xbb,0x8d,0xe0,0xba,0xb2}}, {{0xe0,0xbd,0xa9}, {0xe0,0xbd,0x80,0xe0,0xbe,0xb5}}, {{0xe0,0xbd,0x83}, {0xe0,0xbd,0x82,0xe0,0xbe,0xb7}}, {{0xe0,0xbd,0x8d}, {0xe0,0xbd,0x8c,0xe0,0xbe,0xb7}}, {{0xe0,0xbd,0x92}, {0xe0,0xbd,0x91,0xe0,0xbe,0xb7}}, {{0xe0,0xbd,0x97}, {0xe0,0xbd,0x96,0xe0,0xbe,0xb7}}, {{0xe0,0xbd,0x9c}, {0xe0,0xbd,0x9b,0xe0,0xbe,0xb7}}, {{0xe0,0xbd,0xb3}, {0xe0,0xbd,0xb2,0xe0,0xbd,0xb1}}, {{0xe0,0xbd,0xb5}, {0xe0,0xbd,0xb4,0xe0,0xbd,0xb1}}, {{0xe0,0xbe,0x81}, {0xe0,0xbe,0x80,0xe0,0xbd,0xb1}}, {{0xe0,0xbe,0xb9}, {0xe0,0xbe,0x90,0xe0,0xbe,0xb5}}, {{0xe0,0xbe,0x93}, {0xe0,0xbe,0x92,0xe0,0xbe,0xb7}}, {{0xe0,0xbe,0x9d}, {0xe0,0xbe,0x9c,0xe0,0xbe,0xb7}}, {{0xe0,0xbe,0xa2}, {0xe0,0xbe,0xa1,0xe0,0xbe,0xb7}}, {{0xe0,0xbe,0xa7}, {0xe0,0xbe,0xa6,0xe0,0xbe,0xb7}}, {{0xe0,0xbe,0xac}, {0xe0,0xbe,0xab,0xe0,0xbe,0xb7}}, {{0xe0,0xbd,0xb6}, {0xe0,0xbe,0xb2,0xe0,0xbe,0x80}}, {{0xe0,0xbd,0xb7}, {0xe0,0xbe,0xb2,0xe0,0xbe,0x80,0xe0,0xbd,0xb1}}, {{0xe0,0xbd,0xb8}, {0xe0,0xbe,0xb3,0xe0,0xbe,0x80}}, {{0xe0,0xbd,0xb9}, {0xe0,0xbe,0xb3,0xe0,0xbe,0x80,0xe0,0xbd,0xb1}}, {{0xe1,0xbf,0x8d}, {0xe1,0xbe,0xbf,0xcc,0x80}}, {{0xe1,0xbf,0x8e}, {0xe1,0xbe,0xbf,0xcc,0x81}}, {{0xe1,0xbf,0x8f}, {0xe1,0xbe,0xbf,0xcd,0x82}}, {{0xe1,0xbf,0x9d}, {0xe1,0xbf,0xbe,0xcc,0x80}}, {{0xe1,0xbf,0x9e}, {0xe1,0xbf,0xbe,0xcc,0x81}}, {{0xe1,0xbf,0x9f}, {0xe1,0xbf,0xbe,0xcd,0x82}}, {{0xe3,0x82,0x94}, {0xe3,0x81,0x86,0xe3,0x82,0x99}}, {{0xe3,0x81,0x8c}, {0xe3,0x81,0x8b,0xe3,0x82,0x99}}, {{0xe3,0x81,0x8e}, {0xe3,0x81,0x8d,0xe3,0x82,0x99}}, {{0xe3,0x81,0x90}, {0xe3,0x81,0x8f,0xe3,0x82,0x99}}, {{0xe3,0x81,0x92}, {0xe3,0x81,0x91,0xe3,0x82,0x99}}, {{0xe3,0x81,0x94}, {0xe3,0x81,0x93,0xe3,0x82,0x99}}, {{0xe3,0x81,0x96}, {0xe3,0x81,0x95,0xe3,0x82,0x99}}, {{0xe3,0x81,0x98}, {0xe3,0x81,0x97,0xe3,0x82,0x99}}, {{0xe3,0x81,0x9a}, {0xe3,0x81,0x99,0xe3,0x82,0x99}}, {{0xe3,0x81,0x9c}, {0xe3,0x81,0x9b,0xe3,0x82,0x99}}, {{0xe3,0x81,0x9e}, {0xe3,0x81,0x9d,0xe3,0x82,0x99}}, {{0xe3,0x81,0xa0}, {0xe3,0x81,0x9f,0xe3,0x82,0x99}}, {{0xe3,0x81,0xa2}, {0xe3,0x81,0xa1,0xe3,0x82,0x99}}, {{0xe3,0x81,0xa5}, {0xe3,0x81,0xa4,0xe3,0x82,0x99}}, {{0xe3,0x81,0xa7}, {0xe3,0x81,0xa6,0xe3,0x82,0x99}}, {{0xe3,0x81,0xa9}, {0xe3,0x81,0xa8,0xe3,0x82,0x99}}, {{0xe3,0x81,0xb0}, {0xe3,0x81,0xaf,0xe3,0x82,0x99}}, {{0xe3,0x81,0xb1}, {0xe3,0x81,0xaf,0xe3,0x82,0x9a}}, {{0xe3,0x81,0xb3}, {0xe3,0x81,0xb2,0xe3,0x82,0x99}}, {{0xe3,0x81,0xb4}, {0xe3,0x81,0xb2,0xe3,0x82,0x9a}}, {{0xe3,0x81,0xb6}, {0xe3,0x81,0xb5,0xe3,0x82,0x99}}, {{0xe3,0x81,0xb7}, {0xe3,0x81,0xb5,0xe3,0x82,0x9a}}, {{0xe3,0x81,0xb9}, {0xe3,0x81,0xb8,0xe3,0x82,0x99}}, {{0xe3,0x81,0xba}, {0xe3,0x81,0xb8,0xe3,0x82,0x9a}}, {{0xe3,0x81,0xbc}, {0xe3,0x81,0xbb,0xe3,0x82,0x99}}, {{0xe3,0x81,0xbd}, {0xe3,0x81,0xbb,0xe3,0x82,0x9a}}, {{0xe3,0x82,0x9e}, {0xe3,0x82,0x9d,0xe3,0x82,0x99}}, {{0xe3,0x83,0xb4}, {0xe3,0x82,0xa6,0xe3,0x82,0x99}}, {{0xe3,0x82,0xac}, {0xe3,0x82,0xab,0xe3,0x82,0x99}}, {{0xe3,0x82,0xae}, {0xe3,0x82,0xad,0xe3,0x82,0x99}}, {{0xe3,0x82,0xb0}, {0xe3,0x82,0xaf,0xe3,0x82,0x99}}, {{0xe3,0x82,0xb2}, {0xe3,0x82,0xb1,0xe3,0x82,0x99}}, {{0xe3,0x82,0xb4}, {0xe3,0x82,0xb3,0xe3,0x82,0x99}}, {{0xe3,0x82,0xb6}, {0xe3,0x82,0xb5,0xe3,0x82,0x99}}, {{0xe3,0x82,0xb8}, {0xe3,0x82,0xb7,0xe3,0x82,0x99}}, {{0xe3,0x82,0xba}, {0xe3,0x82,0xb9,0xe3,0x82,0x99}}, {{0xe3,0x82,0xbc}, {0xe3,0x82,0xbb,0xe3,0x82,0x99}}, {{0xe3,0x82,0xbe}, {0xe3,0x82,0xbd,0xe3,0x82,0x99}}, {{0xe3,0x83,0x80}, {0xe3,0x82,0xbf,0xe3,0x82,0x99}}, {{0xe3,0x83,0x82}, {0xe3,0x83,0x81,0xe3,0x82,0x99}}, {{0xe3,0x83,0x85}, {0xe3,0x83,0x84,0xe3,0x82,0x99}}, {{0xe3,0x83,0x87}, {0xe3,0x83,0x86,0xe3,0x82,0x99}}, {{0xe3,0x83,0x89}, {0xe3,0x83,0x88,0xe3,0x82,0x99}}, {{0xe3,0x83,0x90}, {0xe3,0x83,0x8f,0xe3,0x82,0x99}}, {{0xe3,0x83,0x91}, {0xe3,0x83,0x8f,0xe3,0x82,0x9a}}, {{0xe3,0x83,0x93}, {0xe3,0x83,0x92,0xe3,0x82,0x99}}, {{0xe3,0x83,0x94}, {0xe3,0x83,0x92,0xe3,0x82,0x9a}}, {{0xe3,0x83,0x96}, {0xe3,0x83,0x95,0xe3,0x82,0x99}}, {{0xe3,0x83,0x97}, {0xe3,0x83,0x95,0xe3,0x82,0x9a}}, {{0xe3,0x83,0x99}, {0xe3,0x83,0x98,0xe3,0x82,0x99}}, {{0xe3,0x83,0x9a}, {0xe3,0x83,0x98,0xe3,0x82,0x9a}}, {{0xe3,0x83,0x9c}, {0xe3,0x83,0x9b,0xe3,0x82,0x99}}, {{0xe3,0x83,0x9d}, {0xe3,0x83,0x9b,0xe3,0x82,0x9a}}, {{0xe3,0x83,0xb7}, {0xe3,0x83,0xaf,0xe3,0x82,0x99}}, {{0xe3,0x83,0xb8}, {0xe3,0x83,0xb0,0xe3,0x82,0x99}}, {{0xe3,0x83,0xb9}, {0xe3,0x83,0xb1,0xe3,0x82,0x99}}, {{0xe3,0x83,0xba}, {0xe3,0x83,0xb2,0xe3,0x82,0x99}}, {{0xe3,0x83,0xbe}, {0xe3,0x83,0xbd,0xe3,0x82,0x99}}, }; #endif /* UNICODE_NORMALIZATION */ #endif /* UTF8_INPUT_ENABLE */ #ifdef SHIFTJIS_CP932 const unsigned short shiftjis_cp932[3][189] = { { 0xEEEF, 0xEEF0, 0xEEF1, 0xEEF2, 0xEEF3, 0xEEF4, 0xEEF5, 0xEEF6, 0xEEF7, 0xEEF8, 0x8754, 0x8755, 0x8756, 0x8757, 0x8758, 0x8759, 0x875A, 0x875B, 0x875C, 0x875D, 0x81CA, 0xEEFA, 0xEEFB, 0xEEFC, 0x878A, 0x8782, 0x8784, 0x81E6, 0xED40, 0xED41, 0xED42, 0xED43, 0xED44, 0xED45, 0xED46, 0xED47, 0xED48, 0xED49, 0xED4A, 0xED4B, 0xED4C, 0xED4D, 0xED4E, 0xED4F, 0xED50, 0xED51, 0xED52, 0xED53, 0xED54, 0xED55, 0xED56, 0xED57, 0xED58, 0xED59, 0xED5A, 0xED5B, 0xED5C, 0xED5D, 0xED5E, 0xED5F, 0xED60, 0xED61, 0xED62, 0, 0xED63, 0xED64, 0xED65, 0xED66, 0xED67, 0xED68, 0xED69, 0xED6A, 0xED6B, 0xED6C, 0xED6D, 0xED6E, 0xED6F, 0xED70, 0xED71, 0xED72, 0xED73, 0xED74, 0xED75, 0xED76, 0xED77, 0xED78, 0xED79, 0xED7A, 0xED7B, 0xED7C, 0xED7D, 0xED7E, 0xED80, 0xED81, 0xED82, 0xED83, 0xED84, 0xED85, 0xED86, 0xED87, 0xED88, 0xED89, 0xED8A, 0xED8B, 0xED8C, 0xED8D, 0xED8E, 0xED8F, 0xED90, 0xED91, 0xED92, 0xED93, 0xED94, 0xED95, 0xED96, 0xED97, 0xED98, 0xED99, 0xED9A, 0xED9B, 0xED9C, 0xED9D, 0xED9E, 0xED9F, 0xEDA0, 0xEDA1, 0xEDA2, 0xEDA3, 0xEDA4, 0xEDA5, 0xEDA6, 0xEDA7, 0xEDA8, 0xEDA9, 0xEDAA, 0xEDAB, 0xEDAC, 0xEDAD, 0xEDAE, 0xEDAF, 0xEDB0, 0xEDB1, 0xEDB2, 0xEDB3, 0xEDB4, 0xEDB5, 0xEDB6, 0xEDB7, 0xEDB8, 0xEDB9, 0xEDBA, 0xEDBB, 0xEDBC, 0xEDBD, 0xEDBE, 0xEDBF, 0xEDC0, 0xEDC1, 0xEDC2, 0xEDC3, 0xEDC4, 0xEDC5, 0xEDC6, 0xEDC7, 0xEDC8, 0xEDC9, 0xEDCA, 0xEDCB, 0xEDCC, 0xEDCD, 0xEDCE, 0xEDCF, 0xEDD0, 0xEDD1, 0xEDD2, 0xEDD3, 0xEDD4, 0xEDD5, 0xEDD6, 0xEDD7, 0xEDD8, 0xEDD9, 0xEDDA, 0xEDDB, 0xEDDC, 0xEDDD, 0xEDDE, 0xEDDF, 0xEDE0, }, { 0xEDE1, 0xEDE2, 0xEDE3, 0xEDE4, 0xEDE5, 0xEDE6, 0xEDE7, 0xEDE8, 0xEDE9, 0xEDEA, 0xEDEB, 0xEDEC, 0xEDED, 0xEDEE, 0xEDEF, 0xEDF0, 0xEDF1, 0xEDF2, 0xEDF3, 0xEDF4, 0xEDF5, 0xEDF6, 0xEDF7, 0xEDF8, 0xEDF9, 0xEDFA, 0xEDFB, 0xEDFC, 0xEE40, 0xEE41, 0xEE42, 0xEE43, 0xEE44, 0xEE45, 0xEE46, 0xEE47, 0xEE48, 0xEE49, 0xEE4A, 0xEE4B, 0xEE4C, 0xEE4D, 0xEE4E, 0xEE4F, 0xEE50, 0xEE51, 0xEE52, 0xEE53, 0xEE54, 0xEE55, 0xEE56, 0xEE57, 0xEE58, 0xEE59, 0xEE5A, 0xEE5B, 0xEE5C, 0xEE5D, 0xEE5E, 0xEE5F, 0xEE60, 0xEE61, 0xEE62, 0, 0xEE63, 0xEE64, 0xEE65, 0xEE66, 0xEE67, 0xEE68, 0xEE69, 0xEE6A, 0xEE6B, 0xEE6C, 0xEE6D, 0xEE6E, 0xEE6F, 0xEE70, 0xEE71, 0xEE72, 0xEE73, 0xEE74, 0xEE75, 0xEE76, 0xEE77, 0xEE78, 0xEE79, 0xEE7A, 0xEE7B, 0xEE7C, 0xEE7D, 0xEE7E, 0xEE80, 0xEE81, 0xEE82, 0xEE83, 0xEE84, 0xEE85, 0xEE86, 0xEE87, 0xEE88, 0xEE89, 0xEE8A, 0xEE8B, 0xEE8C, 0xEE8D, 0xEE8E, 0xEE8F, 0xEE90, 0xEE91, 0xEE92, 0xEE93, 0xEE94, 0xEE95, 0xEE96, 0xEE97, 0xEE98, 0xEE99, 0xEE9A, 0xEE9B, 0xEE9C, 0xEE9D, 0xEE9E, 0xEE9F, 0xEEA0, 0xEEA1, 0xEEA2, 0xEEA3, 0xEEA4, 0xEEA5, 0xEEA6, 0xEEA7, 0xEEA8, 0xEEA9, 0xEEAA, 0xEEAB, 0xEEAC, 0xEEAD, 0xEEAE, 0xEEAF, 0xEEB0, 0xEEB1, 0xEEB2, 0xEEB3, 0xEEB4, 0xEEB5, 0xEEB6, 0xEEB7, 0xEEB8, 0xEEB9, 0xEEBA, 0xEEBB, 0xEEBC, 0xEEBD, 0xEEBE, 0xEEBF, 0xEEC0, 0xEEC1, 0xEEC2, 0xEEC3, 0xEEC4, 0xEEC5, 0xEEC6, 0xEEC7, 0xEEC8, 0xEEC9, 0xEECA, 0xEECB, 0xEECC, 0xEECD, 0xEECE, 0xEECF, 0xEED0, 0xEED1, 0xEED2, 0xEED3, 0xEED4, 0xEED5, 0xEED6, 0xEED7, 0xEED8, 0xEED9, 0xEEDA, 0xEEDB, 0xEEDC, 0xEEDD, 0xEEDE, 0xEEDF, 0xEEE0, }, { 0xEEE1, 0xEEE2, 0xEEE3, 0xEEE4, 0xEEE5, 0xEEE6, 0xEEE7, 0xEEE8, 0xEEE9, 0xEEEA, 0xEEEB, 0xEEEC, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, }, }; const unsigned short cp932inv[2][189] = { { 0xFA5C, 0xFA5D, 0xFA5E, 0xFA5F, 0xFA60, 0xFA61, 0xFA62, 0xFA63, 0xFA64, 0xFA65, 0xFA66, 0xFA67, 0xFA68, 0xFA69, 0xFA6A, 0xFA6B, 0xFA6C, 0xFA6D, 0xFA6E, 0xFA6F, 0xFA70, 0xFA71, 0xFA72, 0xFA73, 0xFA74, 0xFA75, 0xFA76, 0xFA77, 0xFA78, 0xFA79, 0xFA7A, 0xFA7B, 0xFA7C, 0xFA7D, 0xFA7E, 0xFA80, 0xFA81, 0xFA82, 0xFA83, 0xFA84, 0xFA85, 0xFA86, 0xFA87, 0xFA88, 0xFA89, 0xFA8A, 0xFA8B, 0xFA8C, 0xFA8D, 0xFA8E, 0xFA8F, 0xFA90, 0xFA91, 0xFA92, 0xFA93, 0xFA94, 0xFA95, 0xFA96, 0xFA97, 0xFA98, 0xFA99, 0xFA9A, 0xFA9B, 0, 0xFA9C, 0xFA9D, 0xFA9E, 0xFA9F, 0xFAA0, 0xFAA1, 0xFAA2, 0xFAA3, 0xFAA4, 0xFAA5, 0xFAA6, 0xFAA7, 0xFAA8, 0xFAA9, 0xFAAA, 0xFAAB, 0xFAAC, 0xFAAD, 0xFAAE, 0xFAAF, 0xFAB0, 0xFAB1, 0xFAB2, 0xFAB3, 0xFAB4, 0xFAB5, 0xFAB6, 0xFAB7, 0xFAB8, 0xFAB9, 0xFABA, 0xFABB, 0xFABC, 0xFABD, 0xFABE, 0xFABF, 0xFAC0, 0xFAC1, 0xFAC2, 0xFAC3, 0xFAC4, 0xFAC5, 0xFAC6, 0xFAC7, 0xFAC8, 0xFAC9, 0xFACA, 0xFACB, 0xFACC, 0xFACD, 0xFACE, 0xFACF, 0xFAD0, 0xFAD1, 0xFAD2, 0xFAD3, 0xFAD4, 0xFAD5, 0xFAD6, 0xFAD7, 0xFAD8, 0xFAD9, 0xFADA, 0xFADB, 0xFADC, 0xFADD, 0xFADE, 0xFADF, 0xFAE0, 0xFAE1, 0xFAE2, 0xFAE3, 0xFAE4, 0xFAE5, 0xFAE6, 0xFAE7, 0xFAE8, 0xFAE9, 0xFAEA, 0xFAEB, 0xFAEC, 0xFAED, 0xFAEE, 0xFAEF, 0xFAF0, 0xFAF1, 0xFAF2, 0xFAF3, 0xFAF4, 0xFAF5, 0xFAF6, 0xFAF7, 0xFAF8, 0xFAF9, 0xFAFA, 0xFAFB, 0xFAFC, 0xFB40, 0xFB41, 0xFB42, 0xFB43, 0xFB44, 0xFB45, 0xFB46, 0xFB47, 0xFB48, 0xFB49, 0xFB4A, 0xFB4B, 0xFB4C, 0xFB4D, 0xFB4E, 0xFB4F, 0xFB50, 0xFB51, 0xFB52, 0xFB53, 0xFB54, 0xFB55, 0xFB56, 0xFB57, 0xFB58, 0xFB59, 0xFB5A, 0xFB5B, }, { 0xFB5C, 0xFB5D, 0xFB5E, 0xFB5F, 0xFB60, 0xFB61, 0xFB62, 0xFB63, 0xFB64, 0xFB65, 0xFB66, 0xFB67, 0xFB68, 0xFB69, 0xFB6A, 0xFB6B, 0xFB6C, 0xFB6D, 0xFB6E, 0xFB6F, 0xFB70, 0xFB71, 0xFB72, 0xFB73, 0xFB74, 0xFB75, 0xFB76, 0xFB77, 0xFB78, 0xFB79, 0xFB7A, 0xFB7B, 0xFB7C, 0xFB7D, 0xFB7E, 0xFB80, 0xFB81, 0xFB82, 0xFB83, 0xFB84, 0xFB85, 0xFB86, 0xFB87, 0xFB88, 0xFB89, 0xFB8A, 0xFB8B, 0xFB8C, 0xFB8D, 0xFB8E, 0xFB8F, 0xFB90, 0xFB91, 0xFB92, 0xFB93, 0xFB94, 0xFB95, 0xFB96, 0xFB97, 0xFB98, 0xFB99, 0xFB9A, 0xFB9B, 0, 0xFB9C, 0xFB9D, 0xFB9E, 0xFB9F, 0xFBA0, 0xFBA1, 0xFBA2, 0xFBA3, 0xFBA4, 0xFBA5, 0xFBA6, 0xFBA7, 0xFBA8, 0xFBA9, 0xFBAA, 0xFBAB, 0xFBAC, 0xFBAD, 0xFBAE, 0xFBAF, 0xFBB0, 0xFBB1, 0xFBB2, 0xFBB3, 0xFBB4, 0xFBB5, 0xFBB6, 0xFBB7, 0xFBB8, 0xFBB9, 0xFBBA, 0xFBBB, 0xFBBC, 0xFBBD, 0xFBBE, 0xFBBF, 0xFBC0, 0xFBC1, 0xFBC2, 0xFBC3, 0xFBC4, 0xFBC5, 0xFBC6, 0xFBC7, 0xFBC8, 0xFBC9, 0xFBCA, 0xFBCB, 0xFBCC, 0xFBCD, 0xFBCE, 0xFBCF, 0xFBD0, 0xFBD1, 0xFBD2, 0xFBD3, 0xFBD4, 0xFBD5, 0xFBD6, 0xFBD7, 0xFBD8, 0xFBD9, 0xFBDA, 0xFBDB, 0xFBDC, 0xFBDD, 0xFBDE, 0xFBDF, 0xFBE0, 0xFBE1, 0xFBE2, 0xFBE3, 0xFBE4, 0xFBE5, 0xFBE6, 0xFBE7, 0xFBE8, 0xFBE9, 0xFBEA, 0xFBEB, 0xFBEC, 0xFBED, 0xFBEE, 0xFBEF, 0xFBF0, 0xFBF1, 0xFBF2, 0xFBF3, 0xFBF4, 0xFBF5, 0xFBF6, 0xFBF7, 0xFBF8, 0xFBF9, 0xFBFA, 0xFBFB, 0xFBFC, 0xFC40, 0xFC41, 0xFC42, 0xFC43, 0xFC44, 0xFC45, 0xFC46, 0xFC47, 0xFC48, 0xFC49, 0xFC4A, 0xFC4B, 0, 0, 0xFA40, 0xFA41, 0xFA42, 0xFA43, 0xFA44, 0xFA45, 0xFA46, 0xFA47, 0xFA48, 0xFA49, 0x81CA, 0xFA55, 0xFA56, 0xFA57, }, }; #endif /* SHIFTJIS_CP932 */ #ifdef X0212_ENABLE const unsigned short shiftjis_x0212[3][189] = { { 0xF373, 0xF374, 0xF375, 0xF376, 0xF377, 0xF378, 0xF379, 0xF37A, 0xF37B, 0xF37C, 0xF37D, 0xF37E, 0xF421, 0xF422, 0xF423, 0xF424, 0xF425, 0xF426, 0xF427, 0xF428, 0x224C, 0xA243, 0xF429, 0xF42A, 0xF42B, 0xF42C, 0xF42D, 0x2268, 0xD463, 0xDC5F, 0xE469, 0xE378, 0xD921, 0xB13B, 0xF42E, 0xC22D, 0xC37C, 0xE450, 0xC23F, 0xBC74, 0xB029, 0xB048, 0xF42F, 0xB052, 0xB054, 0xB063, 0xB06E, 0xB127, 0xB123, 0xB12C, 0xB129, 0xB13E, 0xB15F, 0xB158, 0xB148, 0xB157, 0xB163, 0xB174, 0xB161, 0xB223, 0xF430, 0xB23B, 0xB266, 0, 0xB26D, 0xB275, 0xB27C, 0xF431, 0xB335, 0xB358, 0xB35B, 0xB365, 0xB36E, 0xB37B, 0xF432, 0xF433, 0xB440, 0xB447, 0xB450, 0xB45E, 0xF434, 0xB52A, 0xF435, 0xB52F, 0xB544, 0xB568, 0xF436, 0xB742, 0xB764, 0xB768, 0xB767, 0xF437, 0xF438, 0xF439, 0xB84E, 0xB861, 0xB875, 0xB877, 0xB878, 0xB87C, 0xB92F, 0xB937, 0xBA3E, 0xBA5B, 0xCD2A, 0xBA61, 0xF43A, 0xBA6B, 0xBB33, 0xBB38, 0xF43B, 0xBB4A, 0xF43C, 0xF43D, 0xBB50, 0xBB5E, 0xBB74, 0xBB75, 0xBB79, 0xBC64, 0xBC6D, 0xBC7E, 0xF43E, 0xBD42, 0xBD67, 0xF43F, 0xBD70, 0xBE30, 0xBE2C, 0xF440, 0xBE33, 0xBE3D, 0xBE4D, 0xBE49, 0xBE64, 0xBF28, 0xBF49, 0xC044, 0xC064, 0xC074, 0xC126, 0xF441, 0xC175, 0xC17C, 0xF442, 0xC178, 0xC22B, 0xC221, 0xC225, 0xF443, 0xC238, 0xC23A, 0xF444, 0xC244, 0xC252, 0xC257, 0xC25B, 0xC25E, 0xC26D, 0xC270, 0xF445, 0xC321, 0xC335, 0xC349, 0xC339, 0xF446, 0xC358, 0xC37E, 0xF447, 0xC44C, 0xF448, 0xC459, 0xC46A, 0xC47D, 0xF449, 0xC527, 0xC535, 0xC536, 0xF44A, 0xC555, 0xC638, 0xC657, 0xC660, 0xC66A, 0xC663, 0xC721, 0xC72B, 0xC747, 0xC743, }, { 0xC74B, 0xC74F, 0xC759, 0xF44B, 0xF44C, 0xC766, 0xC76E, 0xC77C, 0xC76B, 0xC770, 0xC831, 0xC865, 0xC878, 0xC926, 0xC92B, 0xC92D, 0xF44D, 0xC94A, 0xC953, 0xC969, 0xC963, 0xC97C, 0xC974, 0xC975, 0xF44E, 0xCA33, 0xCA3D, 0xCA6F, 0xCA71, 0xCB2E, 0xF44F, 0xCB4A, 0xCB66, 0xCB6A, 0xCB70, 0xCB74, 0xCB6E, 0xCC25, 0xCB79, 0xCC2B, 0xCC2E, 0xCC2D, 0xCC32, 0xCC42, 0xCC50, 0xCC59, 0xF450, 0xCD3B, 0xF451, 0xCE3B, 0xF452, 0xCE3A, 0xCE43, 0xF453, 0xCE72, 0xB35D, 0xCF55, 0xCF62, 0xCF69, 0xCF6D, 0xF454, 0xF455, 0xF456, 0, 0xF457, 0xD065, 0xF458, 0xD069, 0xD168, 0xF459, 0xF45A, 0xD16C, 0xD23B, 0xF45B, 0xD361, 0xD368, 0xD427, 0xF45C, 0xF45D, 0xD454, 0xD472, 0xD52E, 0xF45E, 0xD75E, 0xF45F, 0xD822, 0xD837, 0xD841, 0xD851, 0xD874, 0xD946, 0xD948, 0xD951, 0xF460, 0xF461, 0xF462, 0xF463, 0xF464, 0xDC53, 0xDD48, 0xDD54, 0xDD6A, 0xDD7A, 0xDE24, 0xDE30, 0xF465, 0xDE35, 0xDE4B, 0xF466, 0xDF39, 0xF467, 0xDF43, 0xF468, 0xF469, 0xE059, 0xF46A, 0xF46B, 0xE162, 0xF46C, 0xF46D, 0xF46E, 0xE247, 0xE328, 0xE326, 0xE329, 0xE32F, 0xE330, 0xE32A, 0xE32B, 0xE33C, 0xE341, 0xE33F, 0xE355, 0xE358, 0xE356, 0xE35F, 0xE363, 0xE361, 0xE354, 0xE369, 0xE426, 0xE371, 0xE372, 0xE44B, 0xE441, 0xE443, 0xE43E, 0xF46F, 0xE440, 0xE447, 0xE43F, 0xE460, 0xE45E, 0xE451, 0xF470, 0xE45C, 0xE452, 0xE45B, 0xE454, 0xE47A, 0xE46F, 0xE533, 0xE53F, 0xE549, 0xE550, 0xE562, 0xE56A, 0xE56B, 0xF471, 0xF472, 0xF473, 0xE668, 0xE66F, 0xE72C, 0xF474, 0xE72E, 0xF475, 0xE731, 0xF476, 0xE732, 0xE831, 0xE836, 0xF477, 0xF478, 0xE85D, 0xF479, 0xF47A, 0xE951, 0xF47B, }, { 0xE96D, 0xEA4D, 0xF47C, 0xEA5B, 0xEA66, 0xEA6A, 0xEB25, 0xEB7B, 0xEB7A, 0xF47D, 0xEC56, 0xF47E, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, }, }; static const unsigned short x0212_shiftjis_A2[] = { 0x819F, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0x8143, 0, 0, 0x8150, 0, 0, 0x8160, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0xFA55, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, }; static const unsigned short x0212_shiftjis_B0[] = { 0, 0, 0, 0, 0, 0, 0, 0, 0xFA68, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0xFA69, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0xFA6B, 0, 0xFA6C, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0xFA6D, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0xFA6E, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, }; static const unsigned short x0212_shiftjis_B1[] = { 0, 0, 0xFA70, 0, 0, 0, 0xFA6F, 0, 0xFA72, 0, 0, 0xFA71, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0xFA61, 0, 0, 0xFA73, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0xFA76, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0xFA77, 0xFA75, 0, 0, 0, 0, 0, 0, 0xFA74, 0, 0xFA7A, 0, 0xFA78, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0xFA79, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, }; static const unsigned short x0212_shiftjis_B2[] = { 0, 0, 0xFA7B, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0xFA7D, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0xFA7E, 0, 0, 0, 0, 0, 0, 0xFA80, 0, 0, 0, 0, 0, 0, 0, 0xFA81, 0, 0, 0, 0, 0, 0, 0xFA82, 0, 0, }; static const unsigned short x0212_shiftjis_B3[] = { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0xFA84, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0xFA85, 0, 0, 0xFA86, 0, 0xFB77, 0, 0, 0, 0, 0, 0, 0, 0xFA87, 0, 0, 0, 0, 0, 0, 0, 0, 0xFA88, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0xFA89, 0, 0, 0, }; static const unsigned short x0212_shiftjis_B4[] = { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0xFA8C, 0, 0, 0, 0, 0, 0, 0xFA8D, 0, 0, 0, 0, 0, 0, 0, 0, 0xFA8E, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0xFA8F, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, }; static const unsigned short x0212_shiftjis_B5[] = { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0xFA91, 0, 0, 0, 0, 0xFA93, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0xFA94, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0xFA95, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, }; static const unsigned short x0212_shiftjis_B7[] = { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0xFA97, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0xFA98, 0, 0, 0xFA9A, 0xFA99, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, }; static const unsigned short x0212_shiftjis_B8[] = { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0xFA9E, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0xFA9F, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0xFAA0, 0, 0xFAA1, 0xFAA2, 0, 0, 0, 0xFAA3, 0, 0, }; static const unsigned short x0212_shiftjis_B9[] = { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0xFAA4, 0, 0, 0, 0, 0, 0, 0, 0xFAA5, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, }; static const unsigned short x0212_shiftjis_BA[] = { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0xFAA6, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0xFAA7, 0, 0, 0, 0, 0, 0xFAA9, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0xFAAB, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, }; static const unsigned short x0212_shiftjis_BB[] = { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0xFAAC, 0, 0, 0, 0, 0xFAAD, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0xFAAF, 0, 0, 0, 0, 0, 0xFAB2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0xFAB3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0xFAB4, 0xFAB5, 0, 0, 0, 0xFAB6, 0, 0, 0, 0, 0, }; static const unsigned short x0212_shiftjis_BC[] = { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0xFAB7, 0, 0, 0, 0, 0, 0, 0, 0, 0xFAB8, 0, 0, 0, 0, 0, 0, 0xFA67, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0xFAB9, }; static const unsigned short x0212_shiftjis_BD[] = { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0xFABB, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0xFABC, 0, 0, 0, 0, 0, 0, 0, 0, 0xFABE, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, }; static const unsigned short x0212_shiftjis_BE[] = { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0xFAC0, 0, 0, 0, 0xFABF, 0, 0, 0xFAC2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0xFAC3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0xFAC5, 0, 0, 0, 0xFAC4, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0xFAC6, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, }; static const unsigned short x0212_shiftjis_BF[] = { 0, 0, 0, 0, 0, 0, 0, 0xFAC7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0xFAC8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, }; static const unsigned short x0212_shiftjis_C0[] = { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0xFAC9, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0xFACA, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0xFACB, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, }; static const unsigned short x0212_shiftjis_C1[] = { 0, 0, 0, 0, 0, 0xFACC, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0xFACE, 0, 0, 0xFAD1, 0, 0, 0, 0xFACF, 0, 0, }; static const unsigned short x0212_shiftjis_C2[] = { 0xFAD3, 0, 0, 0, 0xFAD4, 0, 0, 0, 0, 0, 0xFAD2, 0, 0xFA63, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0xFAD6, 0, 0xFAD7, 0, 0, 0, 0, 0xFA66, 0, 0, 0, 0, 0xFAD9, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0xFADA, 0, 0, 0, 0, 0xFADB, 0, 0, 0, 0xFADC, 0, 0, 0xFADD, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0xFADE, 0, 0, 0xFADF, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, }; static const unsigned short x0212_shiftjis_C3[] = { 0xFAE1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0xFAE2, 0, 0, 0, 0xFAE4, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0xFAE3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0xFAE6, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0xFA64, 0, 0xFAE7, }; static const unsigned short x0212_shiftjis_C4[] = { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0xFAE9, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0xFAEB, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0xFAEC, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0xFAED, 0, }; static const unsigned short x0212_shiftjis_C5[] = { 0, 0, 0, 0, 0, 0, 0xFAEF, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0xFAF0, 0xFAF1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0xFAF3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, }; static const unsigned short x0212_shiftjis_C6[] = { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0xFAF4, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0xFAF5, 0, 0, 0, 0, 0, 0, 0, 0, 0xFAF6, 0, 0, 0xFAF8, 0, 0, 0, 0, 0, 0, 0xFAF7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, }; static const unsigned short x0212_shiftjis_C7[] = { 0xFAF9, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0xFAFA, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0xFAFC, 0, 0, 0, 0xFAFB, 0, 0, 0, 0xFB40, 0, 0, 0, 0xFB41, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0xFB42, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0xFB45, 0, 0, 0, 0, 0xFB48, 0, 0, 0xFB46, 0, 0xFB49, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0xFB47, 0, 0, }; static const unsigned short x0212_shiftjis_C8[] = { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0xFB4A, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0xFB4B, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0xFB4C, 0, 0, 0, 0, 0, 0, }; static const unsigned short x0212_shiftjis_C9[] = { 0, 0, 0, 0, 0, 0xFB4D, 0, 0, 0, 0, 0xFB4E, 0, 0xFB4F, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0xFB51, 0, 0, 0, 0, 0, 0, 0, 0, 0xFB52, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0xFB54, 0, 0, 0, 0, 0, 0xFB53, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0xFB56, 0xFB57, 0, 0, 0, 0, 0, 0, 0xFB55, 0, 0, }; static const unsigned short x0212_shiftjis_CA[] = { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0xFB59, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0xFB5A, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0xFB5B, 0, 0xFB5C, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, }; static const unsigned short x0212_shiftjis_CB[] = { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0xFB5D, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0xFB5F, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0xFB60, 0, 0, 0, 0xFB61, 0, 0, 0, 0xFB64, 0, 0xFB62, 0, 0, 0, 0xFB63, 0, 0, 0, 0, 0xFB66, 0, 0, 0, 0, 0, }; static const unsigned short x0212_shiftjis_CC[] = { 0, 0, 0, 0, 0xFB65, 0, 0, 0, 0, 0, 0xFB67, 0, 0xFB69, 0xFB68, 0, 0, 0, 0xFB6A, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0xFB6B, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0xFB6C, 0, 0, 0, 0, 0, 0, 0, 0, 0xFB6D, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, }; static const unsigned short x0212_shiftjis_CD[] = { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0xFAA8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0xFB6F, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, }; static const unsigned short x0212_shiftjis_CE[] = { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0xFB73, 0xFB71, 0, 0, 0, 0, 0, 0, 0, 0xFB74, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0xFB76, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, }; static const unsigned short x0212_shiftjis_CF[] = { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0xFB78, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0xFB79, 0, 0, 0, 0, 0, 0, 0xFB7A, 0, 0, 0, 0xFB7B, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, }; static const unsigned short x0212_shiftjis_D0[] = { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0xFB81, 0, 0, 0, 0xFB83, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, }; static const unsigned short x0212_shiftjis_D1[] = { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0xFB84, 0, 0, 0, 0xFB87, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, }; static const unsigned short x0212_shiftjis_D2[] = { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0xFB88, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, }; static const unsigned short x0212_shiftjis_D3[] = { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0xFB8A, 0, 0, 0, 0, 0, 0, 0xFB8B, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, }; static const unsigned short x0212_shiftjis_D4[] = { 0, 0, 0, 0, 0, 0, 0xFB8C, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0xFB8F, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0xFA5C, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0xFB90, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, }; static const unsigned short x0212_shiftjis_D5[] = { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0xFB91, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, }; static const unsigned short x0212_shiftjis_D7[] = { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0xFB93, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, }; static const unsigned short x0212_shiftjis_D8[] = { 0, 0xFB95, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0xFB96, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0xFB97, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0xFB98, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0xFB99, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, }; static const unsigned short x0212_shiftjis_D9[] = { 0xFA60, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0xFB9A, 0, 0xFB9B, 0, 0, 0, 0, 0, 0, 0, 0, 0xFB9C, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, }; static const unsigned short x0212_shiftjis_DC[] = { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0xFBA2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0xFA5D, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, }; static const unsigned short x0212_shiftjis_DD[] = { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0xFBA3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0xFBA4, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0xFBA5, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0xFBA6, 0, 0, 0, 0, }; static const unsigned short x0212_shiftjis_DE[] = { 0, 0, 0, 0xFBA7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0xFBA8, 0, 0, 0, 0, 0xFBAA, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0xFBAB, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, }; static const unsigned short x0212_shiftjis_DF[] = { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0xFBAD, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0xFBAF, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, }; static const unsigned short x0212_shiftjis_E0[] = { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0xFBB2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, }; static const unsigned short x0212_shiftjis_E1[] = { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0xFBB5, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, }; static const unsigned short x0212_shiftjis_E2[] = { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0xFBB9, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, }; static const unsigned short x0212_shiftjis_E3[] = { 0, 0, 0, 0, 0, 0xFBBB, 0, 0xFBBA, 0xFBBC, 0xFBBF, 0xFBC0, 0, 0, 0, 0xFBBD, 0xFBBE, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0xFBC1, 0, 0, 0xFBC3, 0, 0xFBC2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0xFBCA, 0xFBC4, 0xFBC6, 0, 0xFBC5, 0, 0, 0, 0, 0, 0, 0xFBC7, 0, 0xFBC9, 0, 0xFBC8, 0, 0, 0, 0, 0, 0xFBCB, 0, 0, 0, 0, 0, 0, 0, 0xFBCD, 0xFBCE, 0, 0, 0, 0, 0, 0xFA5F, 0, 0, 0, 0, 0, 0, }; static const unsigned short x0212_shiftjis_E4[] = { 0, 0, 0, 0, 0, 0xFBCC, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0xFBD2, 0xFBD6, 0xFBD4, 0xFBD0, 0, 0xFBD1, 0, 0, 0, 0xFBD5, 0, 0, 0, 0xFBCF, 0, 0, 0, 0, 0xFA65, 0xFBD9, 0xFBDC, 0, 0xFBDE, 0, 0, 0, 0, 0, 0, 0xFBDD, 0xFBDB, 0, 0xFBD8, 0, 0xFBD7, 0, 0, 0, 0, 0, 0, 0, 0, 0xFA5E, 0, 0, 0, 0, 0, 0xFBE0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0xFBDF, 0, 0, 0, 0, }; static const unsigned short x0212_shiftjis_E5[] = { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0xFBE1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0xFBE2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0xFBE3, 0, 0, 0, 0, 0, 0, 0xFBE4, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0xFBE5, 0, 0, 0, 0, 0, 0, 0, 0xFBE6, 0xFBE7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, }; static const unsigned short x0212_shiftjis_E6[] = { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0xFBEB, 0, 0, 0, 0, 0, 0, 0xFBEC, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, }; static const unsigned short x0212_shiftjis_E7[] = { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0xFBED, 0, 0xFBEF, 0, 0, 0xFBF1, 0xFBF3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, }; static const unsigned short x0212_shiftjis_E8[] = { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0xFBF4, 0, 0, 0, 0, 0xFBF5, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0xFBF8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, }; static const unsigned short x0212_shiftjis_E9[] = { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0xFBFB, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0xFC40, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, }; static const unsigned short x0212_shiftjis_EA[] = { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0xFC41, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0xFC43, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0xFC44, 0, 0, 0, 0xFC45, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, }; static const unsigned short x0212_shiftjis_EB[] = { 0, 0, 0, 0, 0xFC46, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0xFC48, 0xFC47, 0, 0, 0, }; static const unsigned short x0212_shiftjis_EC[] = { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0xFC4A, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, }; static const unsigned short x0212_shiftjis_F3[] = { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0xFA40, 0xFA41, 0xFA42, 0xFA43, 0xFA44, 0xFA45, 0xFA46, 0xFA47, 0xFA48, 0xFA49, 0xFA4A, 0xFA4B, }; static const unsigned short x0212_shiftjis_F4[] = { 0xFA4C, 0xFA4D, 0xFA4E, 0xFA4F, 0xFA50, 0xFA51, 0xFA52, 0xFA53, 0xFA56, 0xFA57, 0xFA58, 0xFA59, 0xFA5A, 0xFA62, 0xFA6A, 0xFA7C, 0xFA83, 0xFA8A, 0xFA8B, 0xFA90, 0xFA92, 0xFA96, 0xFA9B, 0xFA9C, 0xFA9D, 0xFAAA, 0xFAAE, 0xFAB0, 0xFAB1, 0xFABA, 0xFABD, 0xFAC1, 0xFACD, 0xFAD0, 0xFAD5, 0xFAD8, 0xFAE0, 0xFAE5, 0xFAE8, 0xFAEA, 0xFAEE, 0xFAF2, 0xFB43, 0xFB44, 0xFB50, 0xFB58, 0xFB5E, 0xFB6E, 0xFB70, 0xFB72, 0xFB75, 0xFB7C, 0xFB7D, 0xFB7E, 0xFB80, 0xFB82, 0xFB85, 0xFB86, 0xFB89, 0xFB8D, 0xFB8E, 0xFB92, 0xFB94, 0xFB9D, 0xFB9E, 0xFB9F, 0xFBA0, 0xFBA1, 0xFBA9, 0xFBAC, 0xFBAE, 0xFBB0, 0xFBB1, 0xFBB3, 0xFBB4, 0xFBB6, 0xFBB7, 0xFBB8, 0xFBD3, 0xFBDA, 0xFBE8, 0xFBE9, 0xFBEA, 0xFBEE, 0xFBF0, 0xFBF2, 0xFBF6, 0xFBF7, 0xFBF9, 0xFBFA, 0xFBFC, 0xFC42, 0xFC49, 0xFC4B, }; const unsigned short *const x0212_shiftjis[] = { 0, x0212_shiftjis_A2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, x0212_shiftjis_B0, x0212_shiftjis_B1, x0212_shiftjis_B2, x0212_shiftjis_B3, x0212_shiftjis_B4, x0212_shiftjis_B5, 0, x0212_shiftjis_B7, x0212_shiftjis_B8, x0212_shiftjis_B9, x0212_shiftjis_BA, x0212_shiftjis_BB, x0212_shiftjis_BC, x0212_shiftjis_BD, x0212_shiftjis_BE, x0212_shiftjis_BF, x0212_shiftjis_C0, x0212_shiftjis_C1, x0212_shiftjis_C2, x0212_shiftjis_C3, x0212_shiftjis_C4, x0212_shiftjis_C5, x0212_shiftjis_C6, x0212_shiftjis_C7, x0212_shiftjis_C8, x0212_shiftjis_C9, x0212_shiftjis_CA, x0212_shiftjis_CB, x0212_shiftjis_CC, x0212_shiftjis_CD, x0212_shiftjis_CE, x0212_shiftjis_CF, x0212_shiftjis_D0, x0212_shiftjis_D1, x0212_shiftjis_D2, x0212_shiftjis_D3, x0212_shiftjis_D4, x0212_shiftjis_D5, 0, x0212_shiftjis_D7, x0212_shiftjis_D8, x0212_shiftjis_D9, 0, 0, x0212_shiftjis_DC, x0212_shiftjis_DD, x0212_shiftjis_DE, x0212_shiftjis_DF, x0212_shiftjis_E0, x0212_shiftjis_E1, x0212_shiftjis_E2, x0212_shiftjis_E3, x0212_shiftjis_E4, x0212_shiftjis_E5, x0212_shiftjis_E6, x0212_shiftjis_E7, x0212_shiftjis_E8, x0212_shiftjis_E9, x0212_shiftjis_EA, x0212_shiftjis_EB, x0212_shiftjis_EC, 0, 0, 0, 0, 0, 0, x0212_shiftjis_F3, x0212_shiftjis_F4, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, }; #endif /* X0212_ENABLE */ nkf-2.1.5/dll.rc000755 001751 001751 00000001563 13405143432 014107 0ustar00naruseusers000000 000000 #include 1 VERSIONINFO FILEVERSION 2,1,5,0 PRODUCTVERSION 2,1,5,0 FILEFLAGSMASK 0x3fL #ifdef _DEBUG FILEFLAGS 0x1L #else FILEFLAGS 0x0L #endif FILEOS VOS__WINDOWS32 FILETYPE VFT_DLL FILESUBTYPE 0x0L { BLOCK "StringFileInfo" { BLOCK "041103A4" { VALUE "CompanyName", "project nkf\0" VALUE "FileDescription", "Network Kanji Filter\0" VALUE "FileVersion", "2.1.5.0 1\0" VALUE "InternalName", "nkf32\0" VALUE "LegalCopyright", "Copyright (C) 1987, Fujitsu LTD. (Itaru ICHIKAWA); Copyright (C) 2003-2004 T.kaneto\0" VALUE "OriginalFilename", "nkf32.c\0" VALUE "ProductName", "nkf32.dll\0" VALUE "ProductVersion", "2.1.5.0 1\0" } } BLOCK "VarFileInfo" { VALUE "Translation", 0x411, 932 } } nkf-2.1.5/nkf.1j000644 001751 001751 00000056543 13405143432 014025 0ustar00naruseusers000000 000000 .\" Automatically generated by Pod::Man 4.09 (Pod::Simple 3.35) .\" .\" Standard preamble: .\" ======================================================================== .de Sp \" Vertical space (when we can't use .PP) .if t .sp .5v .if n .sp .. .de Vb \" Begin verbatim text .ft CW .nf .ne \\$1 .. .de Ve \" End verbatim text .ft R .fi .. .\" Set up some character translations and predefined strings. \*(-- will .\" give an unbreakable dash, \*(PI will give pi, \*(L" will give a left .\" double quote, and \*(R" will give a right double quote. \*(C+ will .\" give a nicer C++. Capital omega is used to do unbreakable dashes and .\" therefore won't be available. \*(C` and \*(C' expand to `' in nroff, .\" nothing in troff, for use with C<>. .tr \(*W- .ds C+ C\v'-.1v'\h'-1p'\s-2+\h'-1p'+\s0\v'.1v'\h'-1p' .ie n \{\ . ds -- \(*W- . ds PI pi . if (\n(.H=4u)&(1m=24u) .ds -- \(*W\h'-12u'\(*W\h'-12u'-\" diablo 10 pitch . if (\n(.H=4u)&(1m=20u) .ds -- \(*W\h'-12u'\(*W\h'-8u'-\" diablo 12 pitch . ds L" "" . ds R" "" . ds C` "" . ds C' "" 'br\} .el\{\ . ds -- \|\(em\| . ds PI \(*p . ds L" `` . ds R" '' . ds C` . ds C' 'br\} .\" .\" Escape single quotes in literal strings from groff's Unicode transform. .ie \n(.g .ds Aq \(aq .el .ds Aq ' .\" .\" If the F register is >0, we'll generate index entries on stderr for .\" titles (.TH), headers (.SH), subsections (.SS), items (.Ip), and index .\" entries marked with X<> in POD. Of course, you'll have to process the .\" output yourself in some meaningful fashion. .\" .\" Avoid warning from groff about undefined register 'F'. .de IX .. .if !\nF .nr F 0 .if \nF>0 \{\ . de IX . tm Index:\\$1\t\\n%\t"\\$2" .. . if !\nF==2 \{\ . nr % 0 . nr F 2 . \} .\} .\" ======================================================================== .\" .IX Title "nkf 1" .TH nkf 1 "2018-12-15" "nkf 2.1.5" " " .\" For nroff, turn off justification. Always turn off hyphenation; it makes .\" way too many mistakes in technical documents. .if n .ad l .nh .SH "NAME" nkf \- $B%M%C%H%o!<%/MQ4A;z%3!<%IJQ49%U%#%k%?(B .SH "SYNOPSIS" .IX Header "SYNOPSIS" nkf \fB[\-butjnesliohrTVvwWJESZxXFfmMBOcdILg]\fR \fB[\fR\fIfile ...\fR\fB]\fR .SH "DESCRIPTION" .IX Header "DESCRIPTION" \&\fBnkf\fR $B$O%M%C%H%o!<%/$G%a!<%k$d%K%e!<%9$NFI$_=q$-$r$9$k$?$a$K:n$i$l$?!"4A;z%3!<%I$NJQ49%U%#%k%?$G$"$k!#(B .PP $B$3$N(B\fBnkf\fR$B$NFCD'$H$7$F$O!"F~NO4A;z%3!<%I7O$NE}7WE*$J<+F0G'<15!G=$,$"$k!#(B $B$3$N$?$a!"MxMQo$N%K%e!<%9$d%a!<%k$N%a%C%;!<%8$K$D$$$F$O3NDj$9$k!#(B .IP "\fB\-E\fR" 4 .IX Item "-E" $BF|K\8l(B \s-1EUC\s0 (\s-1AT&T\s0) $B$r2>Dj$9$k!#(B .IP "\fB\-S\fR" 4 .IX Item "-S" Shift_JIS $B$r2>Dj$9$k!#(B $B$$$o$f$kH>3Q%+%J(B (\s-1JIS X 0201\s0 $BJR2>L>(B) $B$bDj$9$k!#(B .IP "\fB\-W8\fR" 4 .IX Item "-W8" \&\s-1UTF\-8\s0 $B$r2>Dj$9$k!#(B .IP "\fB\-W16\fR" 4 .IX Item "-W16" \&\s-1UTF\-16\s0 (Little Endian)$B$r2>Dj$9$k!#(B .IP "\fB\-W16B\fR" 4 .IX Item "-W16B" \&\s-1UTF\-16\s0 (Big Endian)$B$r2>Dj$9$k!#(B .IP "\fB\-W16L\fR" 4 .IX Item "-W16L" \&\s-1UTF\-16\s0 (Little Endian)$B$r2>Dj$9$k!#(B .RE .RS 4 .RE .IP "\fB\-x\fR" 4 .IX Item "-x" $BDL>o$*$3$J$o$l$k!"$$$o$f$kH>3Q%+%J(B (\s-1JIS X 0201\s0 $BJR2>L>(B) $B$+$i$$$o$f$kA43Q%+%J(B (\s-1JIS X 0208\s0 $BJR2>L>(B) $B$X$NJQ49$r9T$o$:!"H>3Q%+%J$rJ]B8$9$k!#(B $BF~NO$O!"(BShift_JIS $B$N(B 1byte $B%+%J!"(BSO/SI$B!"(BESC\-(\-I, \s-1SSO\s0 $B$r3Q%+%J(B (\s-1JIS X 0201\s0 $BJR2>L>(B) $B$r(B $B$$$o$f$kA43Q%+%J(B (\s-1JIS X 0208\s0 $BJR2>L>(B) $B$X$HJQ49$9$k!#(B .IP "\fB\-B\fR" 4 .IX Item "-B" $B2u$l$?(B (Broken) \s-1JIS\s0 $B%3!<%I!#(B \&\s-1ESC\s0 $B$,$J$/$J$C$?$H2>Dj$9$k!#(B .RS 4 .IP "\fB\-B1\fR" 4 .IX Item "-B1" \&\fB\s-1ESC\-\s0(\fR, \fB\s-1ESC\-$\s0\fR $B$N$"$H$N%3!<%I$rLd$o$J$$(B .IP "\fB\-B2\fR" 4 .IX Item "-B2" $B2~9T$N$"$H$K6/@)E*$K(B \s-1ASCII\s0 $B$KLa$9(B .RE .RS 4 .RE .IP "\fB\-f\fR[\fIm\fR[\-\fIn\fR]]" 4 .IX Item "-f[m[-n]]" $B0l9T(B \fIm\fR $BJ8;z$K$J$k$h$&$K!"%^!<%8%s$r(B \fIn\fR $B$H$7$F4JC1$J@07A$r$*$3$J$&!#(B $B%G%U%)%k%H$OJ8;z?t$O(B 60$B!"%^!<%8%s$O(B 10 $B$G$"$k!#(B .IP "\fB\-Z[0\-3]\fR" 4 .IX Item "-Z[0-3]" \&\s-1JIS X 0208\s0 $B1Q?t;z$H3Q$KJQ49$9$k!#(B .RS 4 .IP "\fB\-Z \-Z0\fR" 4 .IX Item "-Z -Z0" Convert X0208 alphabet to \s-1ASCII.\s0 .IP "\fB\-Z1\fR" 4 .IX Item "-Z1" \&\s-1JIS X 0208\s0 $BOB;z4V3V$r(B \s-1ASCII\s0 space $B0l$D$KJQ49$9$k!#(B .IP "\fB\-Z2\fR" 4 .IX Item "-Z2" \&\s-1JIS X 0208\s0 $BOB;z4V3V$r(B \s-1ASCII\s0 space $BFs$D$KJQ49$9$k!#(B .IP "\fB\-Z3\fR" 4 .IX Item "-Z3" $B!d!"!c!"!I!"!u!"$r(B >$B!"(B<$B!"(B"$B!"(B& $B$KJQ49$9$k!#(B .RE .RS 4 .RE .IP "\fB\-b\fR" 4 .IX Item "-b" $B%P%C%U%!%j%s%0=PNO$r9T$&!#(B($B%G%U%)%k%H(B) .IP "\fB\-u\fR" 4 .IX Item "-u" $B=PNO;~$K!"%P%C%U%!%j%s%0$7$J$$!#(B ssh localhost | nkf \-u $B$H$$$&$h$&$K;H$&!#(B .IP "\fB\-t\fR" 4 .IX Item "-t" $B2?$b$7$J$$!#(B .IP "\fB\-I\fR" 4 .IX Item "-I" \&\s-1ISO\-2022\-JP\s0 $B0J30$N4A;z%3!<%I$r".$KJQ49!#(B .IP "\fB\-i[@B]\fR" 4 .IX Item "-i[@B]" \&\s-1JIS\s0 $B4A;z$r;X<($9$k%7!<%1%s%9$r;XDj$9$k!#(B .RS 4 .IP "\fB\-i@\fR" 4 .IX Item "-i@" \&\s-1JIS X 0208\-1978\s0 $B$rMQ$$$k!#(B .IP "\fB\-iB\fR" 4 .IX Item "-iB" \&\s-1JIS X 0208\-1983/1990\s0 $B$rMQ$$$k!#(B .RE .RS 4 .RE .IP "\fB\-o[\s-1BJH\s0]\fR" 4 .IX Item "-o[BJH]" 1 $B%P%$%H1Q?tJ8;z%;%C%H$r;X<($9$k%7!<%1%s%9$r;XDj$9$k!#(B .RS 4 .IP "\fB\-oB\fR" 4 .IX Item "-oB" 1 $B%P%$%H1Q?tJ8;z%;%C%H$H$7$F(B US-ASCII $B$rMQ$$$k!#(B .IP "\fB\-oJ\fR" 4 .IX Item "-oJ" 1 $B%P%$%H1Q?tJ8;z%;%C%H$H$7$F(B \s-1JIS X 0201\s0 Roman $B$rMQ$$$k!#(B .IP "\fB\-oH\fR" 4 .IX Item "-oH" \&\s-1ESC\s0 ( H $B$O=i4|$N(B \s-1JUNET\s0 $B%3!<%I$G$N$_MQ$$$i$l$?$b$N$G!"8=:_$O;H$C$F$O$J$i$J$$!#(B .RE .RS 4 .RE .IP "\fB\-r\fR" 4 .IX Item "-r" \&\s-1ROT13/47\s0 $B$NJQ49$r$9$k!#(B .IP "\fB\-g\fR" 4 .IX Item "-g" $B<+F0H=JL$N7k2L$r=PNO$7$^$9!#(B .IP "\fB\-T\fR" 4 .IX Item "-T" $B%F%-%9%H%b!<%I$G=PNO$9$k!#(B(\s-1MS\-DOS\s0 $B>e$G$N$_8zNO$r;}$D(B) .IP "\fB\-l\fR" 4 .IX Item "-l" 0x80\-0xfe $B$N%3!<%I$r(B \s-1ISO\-8859\-1\s0 (Latin\-1) $B$H$7$F07$&!#(B \&\s-1JIS\s0 $B%3!<%I%"%&%H%W%C%H$H$NAH9g$;$_$N$_M-8z!#(B \&\fB\-s, \-e, \-x\fR $B$H$ON>N)$7$J$$!#(B .IP "\fB\-O\fR" 4 .IX Item "-O" $B%U%!%$%k$K=PNO$9$k!#(B \&\s-1UNIX\s0 $B$G$OITMW$J5!G=$@$,(B Windows $B$d(B \s-1MSDOS\s0 $B$G$OI,MW$i$7$$!#(B $BD>8e$N0z$-?t$G$J$/!":G8e$N%U%!%$%kL>$,=PNO%U%!%$%kL>$H$J$j>e=q$-$5$l$F$7$^$&$N$GCm0U!#(B $B%U%!%$%kL>$,$J$$>l9g$O(B nkf.out$B!#(B .IP "\fB\-L[uwm] \-d \-c\fR" 4 .IX Item "-L[uwm] -d -c" $B2~9T%3!<%I$rJQ49$9$k!#(B .RS 4 .IP "\fB\-Lu \-d\fR" 4 .IX Item "-Lu -d" unix (\s-1LF\s0) .IP "\fB\-Lw \-c\fR" 4 .IX Item "-Lw -c" windows (\s-1CRLF\s0) .IP "\fB\-Lm\fR" 4 .IX Item "-Lm" mac (\s-1CR\s0) .RE .RS 4 .Sp $B%G%U%)%k%H$G$OJQ49$7$J$$!#(B .RE .IP "\fB\-\-ic=>" 4 .IX Item "--ic=>" $BF~NO!&=PNO$N4A;z%3!<%I7O$r;XDj$7$^$9!#(B .RS 4 .IP "\fB\s-1ISO\-2022\-JP\s0\fR" 4 .IX Item "ISO-2022-JP" $B$$$o$f$k(B \s-1JIS\s0 $B%3!<%I!#(B\fB\-j, \-J\fR $B$HF1$8!#(B .IP "\fB\s-1ISO\-2022\-JP\-1\s0\fR" 4 .IX Item "ISO-2022-JP-1" \&\s-1RFC 2237\s0 $B$KDj$a$i$l$?7A<0!#(B \s-1JIS X 0212\s0 $B$r4^$`!#(B .IP "\fB\s-1ISO\-2022\-JP\-3\s0\fR" 4 .IX Item "ISO-2022-JP-3" \&\s-1RFC 2237\s0 $B$KDj$a$i$l$?7A<0!#(B \s-1JIS X 0213\s0 $B$r4^$`!#(B .IP "\fBEUC-JP\fR" 4 .IX Item "EUC-JP" \&\s-1EUC\s0 $B%3!<%I!#(B\fB\-e, \-E\fR $B$HF1$8!#(B .IP "\fB\s-1EUC\-JISX0213\s0\fR" 4 .IX Item "EUC-JISX0213" $BJ8;z=89g$K(B \s-1JIS X 0213:2000\s0 $B$rMQ$$$?(B EUC\-JP$B!#(B .IP "\fB\s-1EUC\-JIS\-2004\s0\fR" 4 .IX Item "EUC-JIS-2004" $BJ8;z=89g$K(B \s-1JIS X 0213:2004\s0 $B$rMQ$$$?(B EUC\-JP$B!#(B .IP "\fBeucJP-ascii\fR" 4 .IX Item "eucJP-ascii" $B%*!<%W%s%0%k!<%WF|K\%Y%s%@6(5D2q$,Dj5A$7$?(B eucJP\-ascii$B!#(B \&\fB\-x\fR $B$,0EL[$N$&$A$K;XDj$5$l$k!#(B .IP "\fBeucJP-ms\fR" 4 .IX Item "eucJP-ms" $B%*!<%W%s%0%k!<%WF|K\%Y%s%@6(5D2q$,Dj5A$7$?(B euc\-JPms$B!#(B \&\fB\-x\fR $B$,0EL[$N$&$A$K;XDj$5$l$k!#(B .IP "\fB\s-1CP51932\s0\fR" 4 .IX Item "CP51932" Micorosft Code Page 51932$B!#(B \&\fB\-x\fR $B$,0EL[$N$&$A$K;XDj$5$l$k!#(B .IP "\fBShift_JIS\fR" 4 .IX Item "Shift_JIS" Shift_JIS$B!#(B \&\fB\-s, \-S\fR $B$HF1$8!#(B .IP "\fBShift_JISX0213\fR" 4 .IX Item "Shift_JISX0213" $BJ8;z=89g$K(B \s-1JIS X 0213:2000\s0 $B$rMQ$$$?(B Shift_JIS$B!#(B .IP "\fBShift_JIS\-2004\fR" 4 .IX Item "Shift_JIS-2004" $BJ8;z=89g$K(B \s-1JIS X 0213:2004\s0 $B$rMQ$$$?(B Shift_JIS$B!#(B .IP "\fB\s-1CP932\s0\fR" 4 .IX Item "CP932" Micorosft Code Page 932$B!#(B \&\fB\-x\fR $B$,0EL[$N$&$A$K;XDj$5$l$k!#(B .IP "\fB\s-1UTF\-8 UTF\-8N\s0\fR" 4 .IX Item "UTF-8 UTF-8N" \&\s-1BOM\s0 $BL5$7$N(B UTF\-8$B!#(B \&\fB\-w, \-W\fR $B$HF1$8!#(B .IP "\fB\s-1UTF\-8\-BOM\s0\fR" 4 .IX Item "UTF-8-BOM" \&\s-1BOM\s0 $BIU$-$N(B UTF\-8$B!#(B\fB\-w8\fR $B$^$?$O(B \fB\-W\fR $B$HF1$8!#(B .IP "\fB\s-1UTF8\-MAC\s0\fR" 4 .IX Item "UTF8-MAC" UTF8\-MAC$B!#8_49J,2r$5$l$?$R$i$,$J!&%+%?%+%JEy$r7k9g$7$^$9!#(B $BF~NO$N$_$NBP1~$G$9!#(B .IP "\fB\s-1UTF\-16 UTF\-16BE\-BOM\s0\fR" 4 .IX Item "UTF-16 UTF-16BE-BOM" \&\s-1BOM\s0 $BM-$j$G(B Big Endian $B$N(B UTF\-16$B!#(B \&\fB\-w16B, \-W16B\fR $B$HF1$8!#(B .IP "\fB\s-1UTF\-16BE\s0\fR" 4 .IX Item "UTF-16BE" \&\s-1BOM\s0 $BL5$7$G(B Big Endian $B$N(B UTF\-16$B!#(B \&\fB\-w16B0. \-W16B\fR $B$HF1$8!#(B .IP "\fB\s-1UTF\-16LE\-BOM\s0\fR" 4 .IX Item "UTF-16LE-BOM" \&\s-1BOM\s0 $BM-$j$G(B Little Endian $B$N(B UTF\-16$B!#(B \&\fB\-w16L, \-W16L\fR $B$HF1$8!#(B .IP "\fB\s-1UTF\-16LE\s0\fR" 4 .IX Item "UTF-16LE" \&\s-1BOM\s0 $BL5$7$G(B Little Endian $B$N(B UTF\-16$B!#(B \&\fB\-w16L0, \-W16L\fR $B$HF1$8!#(B .RE .RS 4 .RE .IP "\fB\-\-fj \-\-unix \-\-mac \-\-msdos \-\-windows\fR" 4 .IX Item "--fj --unix --mac --msdos --windows" $B$3$l$i$N%7%9%F%`$KE,$7$?JQ49$r$7$^$9!#(B .IP "\fB\-\-jis \-\-euc \-\-sjis \-\-mime \-\-base64\fR" 4 .IX Item "--jis --euc --sjis --mime --base64" $BBP1~$9$kJQ49$r$7$^$9!#(B .IP "\fB\-\-hiragana \-\-katakana\fR" 4 .IX Item "--hiragana --katakana" $BJ?2>L>!"JR2>L>JQ49(B .IP "\fB\-\-fb\-{skip, html, xml, perl, java, subchar}\fR" 4 .IX Item "--fb-{skip, html, xml, perl, java, subchar}" Unicode $B$+$i(B Shift_JIS, EUC-JP, \s-1ISO\-2022\-JP\s0 $B$KJQ49$9$k:]$K!"JQ49$G$-$J$+$C$?J8;z$r$I$&07$&$+$r;XDj$G$-$^$9!#(B .IP "\fB\-\-prefix=\f(BIescape character\fB\f(BItarget character\fB..\fR" 4 .IX Item "--prefix=escape charactertarget character.." EUC-JP $B$+$i(B Shift_JIS $B$X$NJQ49$N:]!"(B2 $B%P%$%HL\(B $B$K8=$l$?J8;z$NA0$K%(%9%1!<%WJ8;z$r$D$1$k$3$H$,$G$-$^$9!#(B $B0z?t$N(B 1 $BJ8;zL\$,%(%9%1!<%WJ8;z!"(B2 $BJ8;zL\0J9_$K%(%9%1!<%W$5$l$k$Y$-J8;z$r;XDj$7$^$9!#(B .Sp $BNc$($P!"(B .Sp \&\-\-prefix=\e$@ $B$H$9$k$H!"(BShift_JIS $B$N(B 2 $BJ8;zL\$K(B $ $B$+(B @ $B$,Mh$?$i!"$=$NA0$K(B \e $B$,A^F~$5$l$^$9(B \&\-\-prefix=@@ $B$H$9$k$H!"(BShift_JIS $B$N(B 2 $BJ8;zL\$K(B @ $B$,Mh$?$i!"$=$NA0$K(B @ $B$,A^F~$5$l$^$9(B .IP "\fB\-\-no\-cp932ext\fR" 4 .IX Item "--no-cp932ext" \&\s-1CP932\s0 $B$K$*$$$F3HD%$5$l$?!"(BNEC $BFC)$7$^$9!#(B .IP "\fB\-\-cap\-input, \-\-url\-input\fR" 4 .IX Item "--cap-input, --url-input" $B$=$l$>$l(B :$B!"(B% $B$KB3$/(B 16 $B?J?t$rJ8;z$KJQ49$9$k(B .IP "\fB\-\-numchar\-input\fR" 4 .IX Item "--numchar-input" &#....; $B$N$h$&$J(B Unicode $BJ8;z;2>H$rJQ49$9$k(B .IP "\fB\-\-in\-place[=\f(BI\s-1SUFFIX\s0\fB] \-\-overwrite[=\f(BI\s-1SUFFIX\s0\fB]\fR" 4 .IX Item "--in-place[=SUFFIX] --overwrite[=SUFFIX]" $B85$N%U%!%$%k$rJQ497k2L$GCV$-49$($k!#(B $BJ#?t$N%U%!%$%k$r=q$-49$($k$3$H$b2DG=!#(B $B85$N%U%!%$%k$N%?%$%`%9%?%s%W$H%Q!<%_%C%7%g%s$,J];}$5$l$k!#(B $B8=:_!":n@.F|;~$d(B inode $B$OJQ99$5$l$k$,!">-Mh$K$o$?$C$F$3$NZ$OL5$$!#(B .IP "\fB\-\-guess\fR" 4 .IX Item "--guess" $B<+F0H=JL$N7k2L$r=PNO$9$k(B .IP "\fB\-\-help\fR" 4 .IX Item "--help" $B%3%^%s%I$N4JC1$J@bL@$rI=<($9$k!#(B .IP "\fB\-V\fR" 4 .IX Item "-V" nkf $B$N@_Dj$rI=<($9$k!#(B .IP "\fB\-v\fR \fB\-\-version\fR" 4 .IX Item "-v --version" nkf $B$N%P!<%8%g%s$rI=<($9$k!#(B .IP "\fB\-\-\fR" 4 .IX Item "--" $B$3$l0J9_$N%*%W%7%g%s$rL5;k$9$k(B .IP "\fB\-\-exec\-in\fR" 4 .IX Item "--exec-in" nkf [options] \-\-exec\-in cmd args... $B$H$d$k$H!"(Bcmd $B$N=PNO$r(B nkf $B$NF~NO$H$9$k(B (config.h $B$G(B \s-1EXEC_IO\s0 $B$r(B define $B$7$F%3%s%Q%$%k$7$?;~$N$_M-8z(B) .IP "\fB\-\-exec\-out\fR" 4 .IX Item "--exec-out" nkf [options] \-\-exec\-out cmd args... $B$H$d$k$H!"(Bnkf $B$N=PNO$r(B cmd $B$NF~NO$H$9$k(B (config.h $B$G(B \s-1EXEC_IO\s0 $B$r(B define $B$7$F%3%s%Q%$%k$7$?;~$N$_M-8z(B) .SH "BUGS" .IX Header "BUGS" $Bo$KG'<1$5$l$k!#(B Shift_JIS$B!"(BEUC $B:.9g$b$[$H$s$I$N>l9g$OLdBj$,$J$$!#(B $B$?$@$7!"(BShift_JIS $B$N$$$o$f$kH>3Q%+%J(B (\s-1JIS X 0201\s0 $BJR2>L>(B) $B$H(B \s-1EUC\s0 $B4A;z$,<1JL$G$-$J$$!#(B $B$7$?$,$C$F!"%G%U%)%k%H$G$O(B Shift_JIS $B$N$$$o$f$kH>3Q%+%J$O$J$$$H2>Dj$7$F$$$k!#(B ($B$D$^$j!"(BShift_JIS $B$+(B \s-1EUC\s0 $B$+LB$C$?;~$O(B \s-1EUC\s0 $B$H$_$J$9(B) .PP Unicode $B$NF|K\8l0J30$NItJ,$NJQ49$K$OBP1~$7$F$$$J$$$,!"(B\fB\-\-no\-best\-fit\-chars\fR $B$r;XDj$9$l$P!"(BUTF\-8 $B$H(B \s-1UTF\-16\s0 $B$NAj8_JQ49$r$9$k$3$H$O2DG=$G$"$k!#(B .SH "ACKNOWLEDGE" .IX Header "ACKNOWLEDGE" $B0J2<$N$+$?$,$?!"$I$&$b$"$j$,$H$&$4$6$$$^$7$?!#(B .SS "nkf 1.4" .IX Subsection "nkf 1.4" morb@fujitsu, kiss@ayumi.stars.flab.fujitsu, cen122@flab.fujitsu, yuki@flab.fujitsu $BB>!"(Bfujitsu & flab.fujitsu $B$N3'$5$s$N6(NO$K46 ohta@src.ricoh.co.jp (Junn Ohta) inouet@strl.nhk.or.jp (Tomoyuki Inoue) kiri@pulser.win.or.jp (Tetsuaki Kiriyama) Kimihiko Sato a_kuroe@kuroe.aoba.yokohama.jp (Akihiko Kuroe) kono@ie.u\-ryukyu.ac.jp (Shinji Kono) GHG00637@nifty\-serve.or.jp (\s-1COW\s0) .SS "nkf 1.9\-" .IX Subsection "nkf 1.9-" .IP "$B2OLn??<#(B" 4 .IX Item "$B2OLn??<#(B" .PD 0 .IP "Akio Furukawa" 4 .IX Item "Akio Furukawa" .IP "Andy Taki" 4 .IX Item "Andy Taki" .IP "From: \s-1OHARA\s0 Shigeki" 4 .IX Item "From: OHARA Shigeki" .IP "Fumitaka Kitagawa" 4 .IX Item "Fumitaka Kitagawa" .IP "Hiroaki Sengoku" 4 .IX Item "Hiroaki Sengoku" .IP "Ikuhiro \s-1MORITA\s0 ($B?9ED(B $B0i9((B)" 4 .IX Item "Ikuhiro MORITA ($B?9ED(B $B0i9((B)" .IP "Yoshiharu \s-1ITO\s0" 4 .IX Item "Yoshiharu ITO" .IP "Junn Ohta" 4 .IX Item "Junn Ohta" .IP "\s-1KAWAMURA\s0 Masao" 4 .IX Item "KAWAMURA Masao" .IP "Kazuhiko Mori" 4 .IX Item "Kazuhiko Mori" .IP "Keitaro Isokawa" 4 .IX Item "Keitaro Isokawa" .IP "Ken-ichi Hirose" 4 .IX Item "Ken-ichi Hirose" .IP "Ki-ichiro \s-1SATO\s0" 4 .IX Item "Ki-ichiro SATO" .IP "Kiwamu Aoyama" 4 .IX Item "Kiwamu Aoyama" .IP "Koichi Hirayama" 4 .IX Item "Koichi Hirayama" .IP "Mitsuru Hase ($BD9C+!!K~(B)" 4 .IX Item "Mitsuru Hase ($BD9C+(B $BK~(B)" .IP "\s-1OHARA\s0 Shigeki ($BBg86(B $B=E>Hx(B" 4 .IX Item "$B%$%s%H%i%M%C%H%7%9%F%`(B($B3t(B)$B>>Hx(B" .IP "$B1-;tJ8IR(B" 4 .IX Item "$B1-;tJ8IR(B" .IP "$B1v:j(B $B5#I'(B(\s-1SHIOZAKI\s0 Takehiko)" 4 .IX Item "$B1v:j(B $B5#I'(B(SHIOZAKI Takehiko)" .IP "$B2OB<2mIW(B (Media Lab.)" 4 .IX Item "$B2OB<2mIW(B (Media Lab.)" .IP "$B2OLn(B $B9/;J(B" 4 .IX Item "$B2OLn(B $B9/;J(B" .IP "$B4n@%!HE_G-!I9@!wFn9q2-Fl(B" 4 .IX Item "$B4n@%!HE_G-!I9@!wFn9q2-Fl(B" .IP "$B6b0f(B $BCRI'(B" 4 .IX Item "$B6b0f(B $BCRI'(B" .IP "$B7KED(B $BM4;K(B ($B$+$D$i$@(B $B$^$5$7(B)" 4 .IX Item "$B7KED(B $BM4;K(B ($B$+$D$i$@(B $B$^$5$7(B)" .IP "$B9b6659LA(B" 4 .IX Item "$B9b6659LA(B" .IP "$B9q5H(B" 4 .IX Item "$B9q5H(B" .IP "$B9u9>L@I'(B" 4 .IX Item "$B9u9>L@I'(B" .IP "$B;0Bp@5BY(B" 4 .IX Item "$B;0Bp@5BY(B" .IP "$B;3AR(B $B??(B" 4 .IX Item "$B;3AR(B $B??(B" .IP "$B;3K\(B $BK'?M(B" 4 .IX Item "$B;3K\(B $BK'?M(B" .IP "$B;3LnM5;J(B ($B$d$^$N$f$&$8(B)" 4 .IX Item "$B;3LnM5;J(B ($B$d$^$N$f$&$8(B)" .IP "$B=EB.Eg4pLw(B" 4 .IX Item "$B>.Eg4pLw(B" .IP "$B>eED!!7r(B" 4 .IX Item "$B>eED(B $B7r(B" .IP "$B?70f(B $B9/;J(B (Koji Arai)" 4 .IX Item "$B?70f(B $B9/;J(B (Koji Arai)" .IP "$B?9!!@i3(;R(B" 4 .IX Item "$B?9(B $B@i3(;R(B" .IP "$B?9!!OBI'(B" 4 .IX Item "$B?9(B $BOBI'(B" .IP "$B?eLn(B $B5.J8(B" 4 .IX Item "$B?eLn(B $B5.J8(B" .IP "$BA0COOB=S(B" 4 .IX Item "$BA0COOB=S(B" .IP "$BCg=!:,!wJBNs?.Mj8&(B" 4 .IX Item "$BCg=!:,!wJBNs?.Mj8&(B" .IP "$BCvC+(B $B1Q0lO:(B == Eiichiro Itani" 4 .IX Item "$BCvC+(B $B1Q0lO:(B == Eiichiro Itani" .IP "$BF#86!!=(9T(B" 4 .IX Item "$BF#86(B $B=(9T(B" .IP "$BH,ED(B $B??9T(B (Masayuki Hatta)" 4 .IX Item "$BH,ED(B $B??9T(B (Masayuki Hatta)" .IP "$BHx@nIRLi(B" 4 .IX Item "$BHx@nIRLi(B" .IP "$BK>7n(B $B9';V(B" 4 .IX Item "$BK>7n(B $B9';V(B" .IP "$BLZB<(B ($B!wC^GHBg3X?t3X8&5f2J(B)" 4 .IX Item "$BLZB<(B ($B!wC^GHBg3X?t3X8&5f2J(B)" .IP "$BLnB<=S>4(B" 4 .IX Item "$BLnB<=S>4(B" .IP "$BM-2,!w%_%N%k%?(B" 4 .IX Item "$BM-2,!w%_%N%k%?(B" .IP "$BM-Bt(B $BL@9((B" 4 .IX Item "$BM-Bt(B $BL@9((B" .IP "$BMn9g0l4n(B" 4 .IX Item "$BMn9g0l4n(B" .IP "$BNS(B $BN<(B" 4 .IX Item "$BNS(B $BN<(B" .IP "$BT"0B(B $B<#(B" 4 .IX Item "$BT"0B(B $B<#(B" .IP "$BLZ2<(B $BM:2p(B" 4 .IX Item "$BLZ2<(B $BM:2p(B" .IP "$BEDCfN4M5(B" 4 .IX Item "$BEDCfN4M5(B" .IP "$BDaC+D> #endif #include #include #if defined(MSDOS) || defined(__OS2__) #include #include #if defined(_MSC_VER) || defined(__WATCOMC__) #define mktemp _mktemp #endif #endif #ifdef MSDOS #ifdef LSI_C #define setbinmode(fp) fsetbin(fp) #elif defined(__DJGPP__) #include void setbinmode(FILE *fp) { /* we do not use libc's setmode(), which changes COOKED/RAW mode in device. */ int fd, m; fd = fileno(fp); m = (__file_handle_modes[fd] & (~O_TEXT)) | O_BINARY; __file_handle_set(fd, m); } #else /* Microsoft C, Turbo C */ #define setbinmode(fp) setmode(fileno(fp), O_BINARY) #endif #else /* UNIX */ #define setbinmode(fp) (void)(fp) #endif #ifdef _IOFBF /* SysV and MSDOS, Windows */ #define setvbuffer(fp, buf, size) setvbuf(fp, buf, _IOFBF, size) #else /* BSD */ #define setvbuffer(fp, buf, size) setbuffer(fp, buf, size) #endif /*Borland C++ 4.5 EasyWin*/ #if defined(__TURBOC__) && defined(_Windows) && !defined(__WIN32__) /*Easy Win */ #define EASYWIN #ifndef __WIN16__ #define __WIN16__ #endif #include #endif #ifdef OVERWRITE /* added by satoru@isoternet.org */ #if defined(__EMX__) #include #endif #include #if !defined(MSDOS) || defined(__DJGPP__) /* UNIX, djgpp */ #include #if defined(__WATCOMC__) #include #else #include #endif #else /* defined(MSDOS) */ #ifdef __WIN32__ #ifdef __BORLANDC__ /* BCC32 */ #include #else /* !defined(__BORLANDC__) */ #include #endif /* (__BORLANDC__) */ #else /* !defined(__WIN32__) */ #if defined(_MSC_VER) || defined(__MINGW32__) || defined(__WATCOMC__) || defined(__OS2__) || defined(__EMX__) || defined(__IBMC__) || defined(__IBMCPP__) /* VC++, MinGW, Watcom, emx+gcc, IBM VAC++ */ #include #elif defined(__TURBOC__) /* BCC */ #include #elif defined(LSI_C) /* LSI C */ #endif /* (__WIN32__) */ #endif #endif #endif #if !defined(DEFAULT_CODE_JIS) && !defined(DEFAULT_CODE_SJIS) && \ !defined(DEFAULT_CODE_WINDOWS_31J) && !defined(DEFAULT_CODE_EUC) && \ !defined(DEFAULT_CODE_UTF8) && !defined(DEFAULT_CODE_LOCALE) #define DEFAULT_CODE_LOCALE #endif #ifdef DEFAULT_CODE_LOCALE #if defined(__WIN32__) /* not win32 should be posix */ # ifndef HAVE_LOCALE_H # define HAVE_LOCALE_H # endif #elif defined(__OS2__) # undef HAVE_LANGINFO_H /* We do not use kLIBC's langinfo. */ # ifndef HAVE_LOCALE_H # define HAVE_LOCALE_H # endif #elif defined(MSDOS) # ifndef HAVE_LOCALE_H # define HAVE_LOCALE_H # endif #elif defined(__BIONIC__) /* bionic doesn't have locale */ #else # ifndef HAVE_LANGINFO_H # define HAVE_LANGINFO_H # endif # ifndef HAVE_LOCALE_H # define HAVE_LOCALE_H # endif #endif #ifdef HAVE_LANGINFO_H #include #endif #ifdef HAVE_LOCALE_H #include #endif #endif /* DEFAULT_CODE_LOCALE */ #define FALSE 0 #define TRUE 1 #ifndef ARG_UNUSED #if defined(__GNUC__) # define ARG_UNUSED __attribute__ ((unused)) #else # define ARG_UNUSED #endif #endif #ifdef WIN32DLL #include "nkf32.h" #endif #endif /* NKF_H */ nkf-2.1.5/MANIFEST000644 001751 001751 00000001025 13405143432 014125 0ustar00naruseusers000000 000000 .gitignore .travis.yml Changes INSTALL INSTALL.j MANIFEST Makefile NKF.mod/Changes NKF.mod/MANIFEST NKF.mod/Makefile.PL NKF.mod/NKF.pm NKF.mod/NKF.xs NKF.mod/README NKF.mod/test.pl NKF.python2/NKF_python.c NKF.python2/README NKF.python2/setup.py NKF.python3/NKF_python.c NKF.python3/README NKF.python3/setup.py README.md config.h dll.def dll.rc make_test.pl man/make_doc.sh man/nkf.1.pm man/nkf.1j.pm nkf.1 nkf.1j nkf.c nkf.doc nkf.h nkf.mak nkf32.c nkf32.h nkf32dll.c nkf_test.pl nkf_utf8.txt test.pl utf8tbl.c utf8tbl.h version.rc nkf-2.1.5/nkf.mak000755 001751 001751 00000001705 13405143432 014254 0ustar00naruseusers000000 000000 # Visual C++ 2005 Express Edition CC = cl LD=link CFLAGS = -O2 -DMSDOS -DWIN32 -D__WIN32__ -D_CRT_SECURE_NO_DEPRECATE LD_FLAGS = LIBS = user32.lib kernel32.lib gdi32.lib RC = rc all: nkf.exe nkf32.dll nkf.exe : nkf.obj config.h utf8tbl.obj version.res $(CC) $(CFLAGS) nkf.obj utf8tbl.obj version.res /link setargv.obj nkf32.dll: nkf32.obj utf8tbl.obj dll.res $(LD) $(LDFLAGS) /DLL /DEF:dll.def nkf32.obj utf8tbl.obj dll.res nkf.obj : nkf.c config.h $(CC) $(CFLAGS) -c nkf.c nkf32.obj: nkf32.c nkf.c nkf32dll.c config.h nkf.h $(CC) $(CFLAGS) /DLL -DWIN32DLL -DTOMIME -DGETKANJICODE -DFILECONVERT1 -DFILECONVERT2 -DUNICODESUPPORT /c nkf32.c utf8tbl.obj : utf8tbl.c config.h $(CC) $(CFLAGS) /c utf8tbl.c version.res: version.rc $(RC) $(RCFLAGS) version.rc dll.res: dll.rc $(RC) $(RCFLAGS) dll.rc clean: -del nkf.obj -del nkf32.obj -del nkf32.exp -del utf8tbl.obj -del version.res -del dll.res -del nkf.exe -del nkf32.dll -del nkf32.lib nkf-2.1.5/NKF.python2/000755 001751 001751 00000000000 13405143432 015016 5ustar00naruseusers000000 000000 nkf-2.1.5/.travis.yml000644 001751 001751 00000000135 13405143432 015106 0ustar00naruseusers000000 000000 language: c script: "make test && make perl && make python2" branches: only: - master nkf-2.1.5/dll.def000755 001751 001751 00000000706 13405143432 014237 0ustar00naruseusers000000 000000 LIBRARY nkf32.dll EXPORTS GetNkfVersion SetNkfOption NkfConvert ToHankaku ToZenkakuKana EncodeSubject ToMime NkfGetKanjiCode NkfFileConvert1 NkfFileConvert2 NkfConvertSafe ToHankakuSafe ToZenkakuKanaSafe EncodeSubjectSafe GetNkfVersionSafeA NkfFileConvert1SafeA NkfFileConvert2SafeA GetNkfGuessA GetNkfVersionSafeW NkfFileConvert1SafeW NkfFileConvert2SafeW GetNkfGuessW GetNkfSupportFunctions NkfUsage nkf-2.1.5/Changes000644 001751 001751 00000034720 13405143432 014277 0ustar00naruseusers000000 000000 2003-09-28 Shinji KONO b encoded ISO-8859-1 MIME MIME のencoding を信用するようにした方がいいかも... 2002-10-06 Rei FURUKAWA * INSTALL, INSTALL.j, make_test.pl を追加 2002-10-04 Rei FURUKAWA * 入力文字コードが確定する前に h_conv を抜ける場合の 判定精度を上げた 2002-09-29 Rei FURUKAWA * デフォルトの出力コード選択を config.h に移動 * SunOS の cc でコンパイルできるようにした * -OW をやめて、代わりに --overwrite にした * [sw]_iconv から変換部分を別関数に分離した Date: Thu Sep 26 23:12:03 JST 2002 SourceForge のCVSに登録しました。 cvs -d:pserver:anonymous@cvs.sourceforge.jp:/cvsroot/nkf login cvs -z3 -d:pserver:anonymous@cvs.sourceforge.jp:/cvsroot/nkf co nkf-2 Subject: Re: nkf 2.0 From: kono@ie.u-ryukyu.ac.jp (Shinji KONO) Date: Tue, 24 Sep 2002 23:18:54 +0900 Content-ID: <5196.1032877134.1@insigna.ie.u-ryukyu.ac.jp> 河野 真治@琉球大情報工学です。 utf のtable のチェックだけど、やっぱり、落ちまくるので、 一通り、直しました。変なコードの入っている文書は結構多い... ついでにUTF16も付けました。 -W16 -w16 みたいにしました。 自動検出はしないけどね。 なんか、Mac OS XのiCal がUTF16を要求するので... これはiCalのバグでしょうね。 Subject: nkf 2.0 From: Rei FURUKAWA Date: Mon, 16 Sep 2002 06:47:39 +0900 古川です。 河野さんの 2.0 に、こちらでの変更点をマージしました。 http://www01.tcp-ip.or.jp/~furukawa/nkf-utf8/nkf_utf8-2002.09.15.tar.bz2 バグ修正も含むので、是非見ていただけたら、と思います。 2.0 からの変更点は、以下の通りです。 [1] 仕様の有効/無効を切り替える #define を、nkf.c の中ではなく、 config.h に置くようにしました [2] UTF8_SUPPORT を UTF8_INPUT_ENABLE と UTF8_OUTPUT_ENABLE に 分けました。これにより、utf-8 出力機能の不要な人は、そちらだけ を無効にすることができます。 [3] 入力文字コードをオプションで指定した場合には、そのコード から全く遷移しないようにしました。 v1.92 では、-S などを指定していても、途中で自動判定に戻ること がありましたが、それを止めました。 [4] 先日の河野さんの、 kono> hconv の中で、igetcしちゃってるみたいだけど、そうすると、 kono> そのigetcに JISの最初のESCが、あったりすると、困るんだよね。 という御指摘に従い、h_conv で ESC を見つけたら、ループから抜ける ようにしました。 [5] --cap-input, --url-input オプションを新設しました。これにより、 http://google.com/search?q=%8C%9F%8D%F5 といった入力から http://google.com/search?q=検索 を出力するようなことができます。 [6] --no-output, --debug オプション 主にチェック用ですが、2 つ組み合わせると、 % nkf --no-output --debug hogehoge.txt Shift_JIS のように判定した文字コードが stderr に表示されます。 [7] utf8tbl.c の修正 初期の頃のテーブルには、いくつかの記号で不具合がありました。 こちらでの修正を反映させました。 [8] ロングオプションのバグを修正しました。これは、先日もお伝え しました通りです。 [9] LSC-C 試食版での動作確認をしました。その際、コンパイルが通ら なかった部分があったので、修正しました。 (試食版では UTF8 は使え ませんが) また、MS-DOS でも OVERWRITE が 動くようにしました。 [10] OVERWRITE のテンポラリファイルを元ファイルと同じディレクトリ に作るようにしました。 カレントディレクトリに作った場合、 ファイルシステムをまたぐ rename になる可能性がある カレントディレクトリが書き込み禁止だとオープンできない のが理由です。 ------------------------------------------------------------- それと、2.0 についていくつか思ったことがあります。 [1] 2.0 では -OW で overwrite となっていますが、これはあまり よくないように思います。 それは、他の文字コードの -OE, -OS などは、「-O と -E (-S)」と いう意味で使えるのに、-OW だけが「上書き」になってしまうのは、 直交性という点で混乱しそうだからです。 私としては、-R のような別の文字を使うか、または、--overwrite や --replace のようにロングオプションだけにしてしまうほうが、 不意に元ファイルを書き換えてしまう危険が少ないと思います。 [2] nkf.shar では、あらかじめ NKF.mod/ を作っておかないと、 エラーになってしまいます。まず mkdir するようになっていた方が よいのではないかと思います。 具体的な修正方法は、私には分かりません。すみません。 [3] アーカイブの中に NKF.mod/Makefile が含まれていますが、これ は、一般的な環境では必要ないと思います。 -- Rei FURUKAWA furukawa@tcp-ip.or.jp Subject: Re: nkf 1.9 MIME-Q decode From: kohno@mercury.nikon.co.jp Date: Tue, 10 Sep 2002 11:49:48 +0900 (JST) 河野@ニコンです。 > Message-ID: <5075.1031469723@insigna.ie.u-ryukyu.ac.jp>, kono@insigna.ie.u-ry ukyu.ac.jp wrote > > nkf 1.9.2 の Q-decode のことについて教えてください。 > ようやっと直した版を作りました。 ありがとうございます。 # ver 2.0 になったんですね。 > 時間があればチェックしてみて下さい。 とりあえずコンパイルして、以前うまくいかなかった '?=3D' を 確かめました。 当方には(まだ)SunOS4 のマシンが2台あるので、こちらでも コンパイルしてみました。 以下のパッチをあてるとコンパイルできますので、 お礼を兼ねてご報告とさせていただきます。 # このパッチで HP/UX 10.20, 11.00 の OS 付属の cc でコンパイルできました。 Subject: nkf + utf8 From: Rei FURUKAWA Date: Wed, 21 Aug 2002 03:53:15 +0900 Namazu project の古川と申します。 # 以前 (2000 年 12 月)、nkf 1.92 のバグ報告をした者です。 namazu ML で、「utf-8 のファイルを検索できないか」という話題が 出て、 nkf が utf-8 を euc-jp に変換できるようになれば、入れ換え るだけで (Namazu 側で何もしなくても) 自然と扱えるようにな る (もちろん、日本語限定ですが) と思い、試しに nkf を utf-8 対応にしてみました。 http://www01.tcp-ip.or.jp/~furukawa/nkf_utf8/ に置いています。utf-8 のファイルを入力すると、自動判別して変換 できるようになっています。(utf-7 や utf-16 などには対応してい ません) .SS "kono@csl.sony.co.jp (Shinji Kono) による変更。" X0201仮名(いわゆる半角かな)はデフォルトでX0208(全角仮名)に変換される。 ただし、 Shift_JIS のX0201仮名 はデフォルトではEUCだと解釈されてしまう。これが望ましくない時には -S や - -X などのフラグを使えば良い。-Xを指定すると一旦確定した Shift_JIS から EUCに移行することはない。ESC-(-Iによる X0201は常に認識される。SI/SO SSOは、-lが指定されていなければX0201と解釈する。 MIME decodeは、ISO-2022-JPのbase64と、ISO-8859-1の16進encodeのみ decodeする。 MIME decodeは、単純な改行や空白は安全に読み飛ばされる。 ということは、 MIME decode中の空白は保存されない。変換は可逆ではない。 lessやrnで行が分割された時は、 Terminalによって異なる ESC-[-K などが挿入 されるので、完全にはdecode できない。-mN では、チェックが緩いので decodeできる場合もある。 ISO-8859-1 出力はJIS コード出力としか両立しない。 Fold 機能はfmtと異なり行頭の空白を無視する。禁則処理はあるが指定された 長さ+10で強制改行する。-f60-10 などとすると強制改行の余地(fold-margin) を調整できる。-f40-0とすると禁則処理なしとなる。 X0201仮名はrot47されない。 .SS nkf 1.6 "kono@ie.u-ryukyu.ac.jp (Shinji Kono) による変更。" -B のlevelを0,1,2 に増やした。MIMEのbase64, Q-Encodingを解読する 機能を付けた。ヘッダなどは解読しないので、Encodeされた部分だけを 通す必要がある。 -mB は、nkf1.5と違う動きをするので、-B -m とすること。 .SS nkf 1.6.1 -Z1 でX0208間隔->ASCII spaceの変換をおこなう。 -Z2 でX0208間隔->ASCII space 2個の変換をおこなう。 .SS nkf 1.7 ESC-$-(-B などにも対応するようになった。 copy right の非営利の条件が不要になった。使用時の問い合わせも不要。 Perl Extension として使えるようになった。 .SS nkf 1.9 MIME エンコードの機能時でも、コード変換されしまうので注意。 base64 エンコードでは改行時に先頭に空白が付くのでメールヘッダ に使用できる。 コード変換モジュールは、サブルーチンを継続によって接続する 形式となった。複数の変換を自由に接続できるようになった。 getc <-- iconv --> oconv --> other conversion --> putc という形で、順に呼び出される。 長いオプション名を許すようになった。 --mac --jis --unix など。 .SS UTF-8 サポートについて furukawa@tcp-ip.or.jp による。 従来の nkf と同様に、nkf -e として起動すると、自動判別で UTF-8 と判定されれば、そのまま euc-jp に変換される。 オプションで、文字コードを指定できる。 -w 出力を utf-8 に指定します -W 入力を utf-8 と仮定します 特に自動判別、コード混在、エラー処理系には判定を失敗することがある。 -Z3 オプションの新設 X0208 の '>', '<', '”', '&' をそれぞれ '>', '<', '"', '&' に変換します .SS nkf 2.0 newline を保存する folding -F。fmtに近い動作をする。 folding のマージン。-f60-0 などと、0にすると禁 則せずに、強制的にfoldingする。携帯にメールを送るときに使う。 nkf -f40-0 などとしてメールを 40 文字づつ切り出して、 「Subject 160 文字目から 199 文字目まで」 「本文 200 文字目から 239 文字目まで」 とする。 MIME関係 fixed mime mode ( -mQ ) で =? で Q-encode が抜けてしまうバグの修正。 Q encode の Soft Wrap に対応。 MIME encode のWrapでは、先頭に一文字の空白挿入。 した。あA の MIME 変換は、A を含んで変換しないといけ ないが、対応していない。RFCには反した動作だが、 encoded word 間のwhite spaceは無視される。 nkf_test.pl では、MIMEの空白を削除してから比較している。 non-strict mime -MN では、空白、改行をまたいで、base64 encoding を解読する。これで、スクリーンからcut&pasteで デコードすることも可能。止まらない可能性あり。 その他 nkf_test.pl のバグチェックを増やした。 test が失敗したときにdiffを取るようにした。 make_test.pl でテスト作成可能。 Perl moduleで、\\0を含む文字列も変換できるようになった。 Perl XSでの文字列の長さの扱いを修正。 NKFをNKF.modにしたので、Mac OS X でMakeでコンパイル化。 rot13が1.9で動かなくなっていたのを修正。 -Z の間隔やおかしな変換の修正 hiragana/katakana 変換ができるようになりました。 -h1 --hiragana カタカナ->ひらがな -h2 --katakana ひらがな->カタカナ -h3 --katakana-hiragana カタカナ<->ひらがな --overwrite で、引数のファイルを直接、置き換えることができます。 .SS nkf 2.0.4 Shift_JIS の FAxx-FCxx について、普通の式では euc に変換できませんが、CP932 で同値な文字に読み換えて変換します。この動作を無効にするには、--no-cp932 をつけてください。 perl module に nkf_continue オプション、自動判別の状態などを引き継いで変換 inputcode 自動判別結果の文字コードを返す を追加しました。 --numchar-input オプションを新設 mhonarc など、日本語を UTF-16 の &#....; のパターンで出力するものを変換します。 --exec-in, --exec-out オプションを新設 (config.h で EXEC_IO を define してコンパイルした時のみ有効) nkf -e --exec-in cmd args... とやると、cmd の出力を nkf の入力とします。 nkf -e --exec-out cmd args... とやると、nkf の出力を cmd の入力とします。 .SS nkf 2.0.5 --cp932inv というオプションをつけると Shift_JIS への変換の際、EDxx-EFxx については、 CP932 で同値な FAxx-FCxx の文字に変換します。 --guess または -g というオプションをつけると自動判別の結果を出力します。 --prefix= というオプションをつけると、EUC-JP から Shift_JIS への変換の際、2 バイト目 に現れた文字の前にエスケープ文字をつけることができます。 引数の 1 文字目がエスケープ文字、2文字目以降にエスケープされるべき文字を指定します。 例えば、 --prefix=\$@ とすると、Shift_JIS の 2 文字目に $, @ が来たら、その前に \ が挿入されます --prefix=@@ とすると、Shift_JIS の 2 文字目に @ が来たら、その前に @ が挿入されます -w8, -w16B, -w16L, -W8, -W16B, -W16L というオプションを追加しました。 --ms-ucs-map というオプションを付けると、 MicrosoftのUCSマッピング互換の変換を行います。 .SS nkf 2.0.6 =item B<ひらがなカタカナ変換のドキュメント> ひらがなカタカナ変換のドキュメントが逆になっていたので、これを修正しました。 正しいドキュメントは以下の通りです。 -h1 --hiragana カタカナ->ひらがな -h2 --katakana ひらがな->カタカナ -h3 --katakana-hiragana カタカナ<->ひらがな =item B<--no-best-fit-chars オプションの追加> Unicode からの変換の際に、往復安全性が確保されない文字の変換を行いません。 Unicode から Unicode の変換の際に -x と共に指定すると、 nkf を UTF 形式の変換に用いることができます。 (逆に言えば、これを指定しないと一部の文字が保存されません) パスに関わる文字列を変換する際には、このオプションを指定することを強く推奨します。 =item B<--in-place[=SUFFIX] オプションの追加> タイムスタンプを保持する --overwrite に対し、 タイムスタンプを更新する --in-place オプションを追加しました。 =item B --fb-{skip, html, xml, perl, java, subchar} オプションを追加しました。 Unicode から Shift_JIS, EUC-JP, ISO-2022-JP に変換する際に、 変換できなかった文字をどう扱うかを指定できます。 =item B<--ic --oc オプションの追加> --ic= --oc= オプションを追加しました。 Shift_JIS, CP932, EUC-JP, CP51932, eucJP-ms, ISO-2022-JP, UTF-8N (UTF-8), UTF-8-BOM, UTF-16BE, UTF-16BE-BOM(UTF-16), UTF-16LE, UTF-16LE-BOM 入力には UTF8-MAC も指定することができます。 =item B<マッピングの追加、変更> JIS 系の文字コードと Unicode との対応を定義することにしました。 これらから Unicode への decode は、 定義されている範囲での変換が正しく行われる事を保障します。 定義されていない範囲での変換は保障しません。 Unicode からの encode は、定義されている範囲での変換が正しく行われる事を保障し、 定義されていない範囲での変換はエラーとなり(fallback 可能)、 Unicode として不正な文字はスキップされる事を保障します。 その他、"Q" encodingのデコードやfold-margin等のバグを修正。 .SS nkf 2.0.7 * CP51932 の文字が fallback されないのを修正。 * gcc 以外でコンパイルできないのを修正。 * ANSI C 化. * MIME encode の改行周りのバグを修正。 * -t2MB でバイナリファイルも base64 できるようになった。 .SS nkf 2.0.8 * --guess で改行コードを表示 .SS nkf 2.0.9 -Z4 オプションを追加しました。JIS X 0208 カタカナを JIS X 0201 カタカナに変換します。(つまりカタカナの全角半角変換) -g=0, -g=1, --guess=0, --guess=1 オプションを追加しました。改行コードの推測を行います。 コンパイルオプションをいくつか追加しました。詳細は config.h をご覧ください。 その他のバグフィックスを行いました。詳細はgit のログをご覧ください。 ライセンス変更を、独自ライセンスから zlib ライセンスに変更しました。事実上の許諾条件は変わらないため、ライセンス確認の手間の削減がメリットだと思われます。 バージョン管理システムを CVS から git に変更。 .SS nkf 2.1.0 Makefile に install という target を追加 8bit JIS 内のいわゆる半角カナを解釈するようにした Perl モジュールが作成できなかったのを修正 -Z1 と -Z2 が -Z0 の効果を持ってなかったのを修正 UTF-16 と UTF-32 の読み込み指定が出来ていなかったのを修正 UTF-32 で BOM を出力していなかったのを修正 4 バイト UTF-8 の guess と出力ができなかったのを修正 .SS nkf 2.1.1 Shift_JIS の alias に MS_Kanji を追加 eucJP-ms と eucJP-ascii がいわゆる半角カナを全角に変換していたのを修正 CP50220 がいわゆる半角カナを全角に変換していなかったのを修正 その他のバグ修正 .SS nkf 2.1.2 Q-encoded UTF-8 のデコードが壊れていたのを修正 [nkf-bug:55125] .SS nkf 2.1.3 NKF_python をマージした http://sourceforge.jp/ticket/browse.php?group_id=248&tid=27841 guess オプションの強化 http://sourceforge.jp/ticket/browse.php?group_id=248&tid=26325 http://sourceforge.jp/ticket/browse.php?group_id=248&tid=26325 その他バグの修正 http://sourceforge.jp/projects/nkf/scm/git/nkf/ nkf-2.1.5/nkf.doc000644 001751 001751 00000030377 13405143432 014255 0ustar00naruseusers000000 000000 NAME nkf - ネットワーク用漢字コード変換フィルタ SYNOPSIS nkf [-butjnesliohrTVvwWJESZxXFfmMBOcdILg] [*file ...*] DESCRIPTION nkf はネットワークでメールやニュースの読み書きをするために作られた、漢字コードの変換フィルタである。 このnkfの特徴としては、入力漢字コード系の統計的な自動認識機能がある。 このため、利用者は、入力漢字コード系が何であるかを知らなくても、出力漢字コード系のみ指定すれば良いことになる。 ただ、この判定機構は、理論的には完全ではないが、通常のニュースやメールのメッセージについては確実に動作する安全なものにはなっている。 現在、nkfが認識できる入力の漢字コード系は、いわゆる JIS コード (ISO-2022-JP に基づくもの)、Shift_JIS (MS 漢字コード)、 日本語 EUC (AT&T コード)、UTF-8、UTF-16 のいずれかである。 出力する漢字コード系も、これらである。 入力は、ファイルを指定しなければ、標準入力となる。 出力は標準出力である。 OPTIONS 指定できるオプションは、以下の通り。 -mu のように続けることができる。 -j JIS コードを出力する。 -e EUC コードを出力する。 -s Shift_JIS コードを出力する。 -w -w8[0] -w16[BL][0] Unicode を出力する。 -w -w80 UTF8 コードを出力する。 (BOM 無し) -w8 UTF8 コードを出力する。 -w16 -w16B0 UTF16 コードを出力する。 (Big Endian / BOM 無し) -w16B UTF16 コードを出力する。 (Big Endian / BOM 有り) -w16L UTF16 コードを出力する。 (Little Endian / BOM 有り) -w16L0 UTF16 コードを出力する。 (Little Endian / BOM 無し) -m[BQSN0] MIME を解読する。(デフォルト) ISO-2022-JP (B encode) と ISO-8859-1 (Q encode) のみを解読する。 ISO-8859-1 (Latin-1) を解読する時は、-l フラグも必要である。 -m0 では MIME を解読しない。 -mB, -mQ では、BASE64, Q encode されているものとして処理する。 -mB MIME base64 stream を解読する。 ヘッダなどは取り除くこと。 -mQ MIME quoted stream を解読する。 -mS MIME のチェックを厳しくする (デフォルト) -mN MIME のチェックを緩くする -m0 MIME を解読しない。 -mS は、宣言の内容と、その後に続く encoded-text の整合性をチェックする。 -mN は、改行で切られた MIME なども解読する。解読が止まらないこともある。 -M[BQ] MIME に変換する。 -M ヘッダ形式に変換する -MB base64 stream に変換する -MQ Quoted stream に変換する -J -E -S -W 期待される入力コードの性質を指定する。 -J ISO-2022-JP を仮定する。 -E 日本語 EUC (AT&T) を仮定する。 -S Shift_JIS を仮定する。 いわゆる半角カナ (JIS X 0201 片仮名) も受け入れる。 -W UTF-8 を仮定する。 -W8 UTF-8 を仮定する。 -W16 UTF-16 (Little Endian)を仮定する。 -W16B UTF-16 (Big Endian)を仮定する。 -W16L UTF-16 (Little Endian)を仮定する。 -x 通常おこなわれる、いわゆる半角カナ (JIS X 0201 片仮名) からいわゆる全角カナ (JIS X 0208 片仮名) への変換を行わず、半角カナを保存する。 入力は、Shift_JIS の 1byte カナ、SO/SI、ESC-(-I, SSO を受け付ける。 出力は、日本語 EUC 中では SSO、JIS コード中では ESC-(-I をデフォルトで用いる。 -X いわゆる半角カナ (JIS X 0201 片仮名) を いわゆる全角カナ (JIS X 0208 片仮名) へと変換する。 -B 壊れた (Broken) JIS コード。 ESC がなくなったと仮定する。 -B1 ESC-(, ESC-$ のあとのコードを問わない -B2 改行のあとに強制的に ASCII に戻す -f[*m*[-*n*]] 一行 *m* 文字になるように、マージンを *n* として簡単な整形をおこなう。 デフォルトは文字数は 60、マージンは 10 である。 -Z[0-3] JIS X 0208 英数字と若干の記号を ASCII に変換する。 つまり、全角を半角に変換する。 -Z -Z0 Convert X0208 alphabet to ASCII. -Z1 JIS X 0208 和字間隔を ASCII space 一つに変換する。 -Z2 JIS X 0208 和字間隔を ASCII space 二つに変換する。 -Z3 >、<、”、&、を >、<、"、& に変換する。 -b バッファリング出力を行う。(デフォルト) -u 出力時に、バッファリングしない。 ssh localhost | nkf -u というように使う。 -t 何もしない。 -I ISO-2022-JP 以外の漢字コードを〓に変換。 -i[@B] JIS 漢字を指示するシーケンスを指定する。 -i@ JIS X 0208-1978 を用いる。 -iB JIS X 0208-1983/1990 を用いる。 -o[BJH] 1 バイト英数文字セットを指示するシーケンスを指定する。 -oB 1 バイト英数文字セットとして US-ASCII を用いる。 -oJ 1 バイト英数文字セットとして JIS X 0201 Roman を用いる。 -oH ESC ( H は初期の JUNET コードでのみ用いられたもので、現在は使ってはならない。 -r ROT13/47 の変換をする。 -g 自動判別の結果を出力します。 -T テキストモードで出力する。(MS-DOS 上でのみ効力を持つ) -l 0x80-0xfe のコードを ISO-8859-1 (Latin-1) として扱う。 JIS コードアウトプットとの組合せみのみ有効。 -s, -e, -x とは両立しない。 -O ファイルに出力する。 UNIX では不要な機能だが Windows や MSDOS では必要らしい。 直後の引き数でなく、最後のファイル名が出力ファイル名となり上書きされてしまうので注意。 ファイル名がない場合は nkf.out。 -L[uwm] -d -c 改行コードを変換する。 -Lu -d unix (LF) -Lw -c windows (CRLF) -Lm mac (CR) デフォルトでは変換しない。 --ic=> 入力・出力の漢字コード系を指定します。 ISO-2022-JP いわゆる JIS コード。-j, -J と同じ。 ISO-2022-JP-1 RFC 2237 に定められた形式。 JIS X 0212 を含む。 ISO-2022-JP-3 RFC 2237 に定められた形式。 JIS X 0213 を含む。 EUC-JP EUC コード。-e, -E と同じ。 EUC-JISX0213 文字集合に JIS X 0213:2000 を用いた EUC-JP。 EUC-JIS-2004 文字集合に JIS X 0213:2004 を用いた EUC-JP。 eucJP-ascii オープングループ日本ベンダ協議会が定義した eucJP-ascii。 -x が暗黙のうちに指定される。 eucJP-ms オープングループ日本ベンダ協議会が定義した euc-JPms。 -x が暗黙のうちに指定される。 CP51932 Micorosft Code Page 51932。 -x が暗黙のうちに指定される。 Shift_JIS Shift_JIS。 -s, -S と同じ。 Shift_JISX0213 文字集合に JIS X 0213:2000 を用いた Shift_JIS。 Shift_JIS-2004 文字集合に JIS X 0213:2004 を用いた Shift_JIS。 CP932 Micorosft Code Page 932。 -x が暗黙のうちに指定される。 UTF-8 UTF-8N BOM 無しの UTF-8。 -w, -W と同じ。 UTF-8-BOM BOM 付きの UTF-8。-w8 または -W と同じ。 UTF8-MAC UTF8-MAC。互換分解されたひらがな・カタカナ等を結合します。 入力のみの対応です。 UTF-16 UTF-16BE-BOM BOM 有りで Big Endian の UTF-16。 -w16B, -W16B と同じ。 UTF-16BE BOM 無しで Big Endian の UTF-16。 -w16B0. -W16B と同じ。 UTF-16LE-BOM BOM 有りで Little Endian の UTF-16。 -w16L, -W16L と同じ。 UTF-16LE BOM 無しで Little Endian の UTF-16。 -w16L0, -W16L と同じ。 --fj --unix --mac --msdos --windows これらのシステムに適した変換をします。 --jis --euc --sjis --mime --base64 対応する変換をします。 --hiragana --katakana 平仮名、片仮名変換 --fb-{skip, html, xml, perl, java, subchar} Unicode から Shift_JIS, EUC-JP, ISO-2022-JP に変換する際に、変換できなかった文字をどう扱うかを指定できます。 --prefix=*escape character**target character*.. EUC-JP から Shift_JIS への変換の際、2 バイト目 に現れた文字の前にエスケープ文字をつけることができます。 引数の 1 文字目がエスケープ文字、2 文字目以降にエスケープされるべき文字を指定します。 例えば、 --prefix=\$@ とすると、Shift_JIS の 2 文字目に $ か @ が来たら、その前に \ が挿入されます --prefix=@@ とすると、Shift_JIS の 2 文字目に @ が来たら、その前に @ が挿入されます --no-cp932ext CP932 において拡張された、NEC 特殊文字、NEC 選定 IBM 拡張文字 (89-92 区)、IBM 拡張文字を変換しません。 --no-best-fit-chars Unicode からの変換の際に、往復安全性が確保されない文字の変換を行いません。 Unicode から Unicode の変換の際に -x と共に指定すると、nkf を UTF 形式の変換に用いることができます。 (逆に言えば、これを指定しないと一部の文字が保存されません) パスに関わる文字列を変換する際には、このオプションを指定することを強く推奨します。 --cap-input, --url-input それぞれ :、% に続く 16 進数を文字に変換する --numchar-input &#....; のような Unicode 文字参照を変換する --in-place[=*SUFFIX*] --overwrite[=*SUFFIX*] 元のファイルを変換結果で置き換える。 複数のファイルを書き換えることも可能。 元のファイルのタイムスタンプとパーミッションが保持される。 現在、作成日時や inode は変更されるが、将来にわたってこの実装のままである保証は無い。 --guess 自動判別の結果を出力する --help コマンドの簡単な説明を表示する。 -V nkf の設定を表示する。 -v --version nkf のバージョンを表示する。 -- これ以降のオプションを無視する --exec-in nkf [options] --exec-in cmd args... とやると、cmd の出力を nkf の入力とする (config.h で EXEC_IO を define してコンパイルした時のみ有効) --exec-out nkf [options] --exec-out cmd args... とやると、nkf の出力を cmd の入力とする (config.h で EXEC_IO を define してコンパイルした時のみ有効) BUGS 実は、入力のコード系の判定は、Shift_JIS と EUC との自動判定であり、最初に特定できる文字が来た時点で確定してしまう。 そして、特定不能の間は保留バッファにためておかれ、確定後に処理される。 このため、7 ビット JIS は常に認識される。 Shift_JIS、EUC 混合もほとんどの場合は問題がない。 ただし、Shift_JIS のいわゆる半角カナ (JIS X 0201 片仮名) と EUC 漢字が識別できない。 したがって、デフォルトでは Shift_JIS のいわゆる半角カナはないと仮定している。 (つまり、Shift_JIS か EUC か迷った時は EUC とみなす) Unicode の日本語以外の部分の変換には対応していないが、--no-best-fit-chars を指定すれば、UTF-8 と UTF-16 の相互変換をすることは可能である。 ACKNOWLEDGE 以下のかたがた、どうもありがとうございました。 nkf 1.4 morb@fujitsu, kiss@ayumi.stars.flab.fujitsu, cen122@flab.fujitsu, yuki@flab.fujitsu 他、fujitsu & flab.fujitsu の皆さんの協力に感謝。 shinoda@cs.titech, kato@cs.titech, uematsu@cs.titech TNX kono@ie.u-ryukyu.ac.jp void@merope.pleiades.or.jp (Kusakabe Youichi) NIDE Naoyuki ohta@src.ricoh.co.jp (Junn Ohta) inouet@strl.nhk.or.jp (Tomoyuki Inoue) kiri@pulser.win.or.jp (Tetsuaki Kiriyama) Kimihiko Sato a_kuroe@kuroe.aoba.yokohama.jp (Akihiko Kuroe) kono@ie.u-ryukyu.ac.jp (Shinji Kono) GHG00637@nifty-serve.or.jp (COW) nkf 1.9- 河野真治 Akio Furukawa Andy Taki From: OHARA Shigeki Fumitaka Kitagawa Hiroaki Sengoku Ikuhiro MORITA (森田 育宏) Yoshiharu ITO Junn Ohta KAWAMURA Masao Kazuhiko Mori Keitaro Isokawa Ken-ichi Hirose Ki-ichiro SATO Kiwamu Aoyama Koichi Hirayama Mitsuru Hase (長谷 満) OHARA Shigeki (大原 重樹) Rei FURUKAWA Satoru Takabayashi Shigeyuki Takagi Shin MICHIMUKO Tadamasa Teranishi TOYODA Jiro TSUCHIYA Masatoshi Tsutomu Sakai YAMASHITA Junji (山下 純司) Yasuyuki Sato Yoshiaki Yanagihara hat@so-net DCC技術部渡辺 かとぺ / 加藤 貴司 かべdais ひろせ まさあき イントラネットシステム(株)松尾 鵜飼文敏 塩崎 毅彦(SHIOZAKI Takehiko) 河村雅夫 (Media Lab.) 河野 康司 喜瀬“冬猫”浩@南国沖縄 金井 智彦 桂田 祐史 (かつらだ まさし) 高橋宜盟 国吉 黒江明彦 三宅正泰 山倉 真 山本 芳人 山野裕司 (やまのゆうじ) 重村法克 小島基靖 上田 健 新井 康司 (Koji Arai) 森 千絵子 森 和彦 水野 貴文 前地和俊 仲宗根@並列信頼研 猪谷 英一郎 == Eiichiro Itani 藤原 秀行 八田 真行 (Masayuki Hatta) 尾川敏也 望月 孝志 木村 (@筑波大学数学研究科) 野村俊彰 有岡@ミノルタ 有沢 明宏 落合一喜 林 亮 國安 治 木下 雄介 田中隆裕 鶴谷直樹 中田伸悦 わたなべひろふみ MoonWolf sava AUTHOR 市川 至 ichikawa@flab.fujitsu.co.jp (was ichikawa@fujitsu.JUNET) 河野 真治 kono@ie.u-ryukyu.acjp Rei FURUKAWA furukawa@tcp-ip.or.jp 成瀬 mastodon https://osdn.jp/projects/nkf/ Copyright (C) 1987, FUJITSU LTD. (I.Ichikawa). Copyright (C) 1996-2018, The nkf Project. nkf-2.1.5/test.pl000644 001751 001751 00000005711 13405143432 014316 0ustar00naruseusers000000 000000 #!/usr/bin/perl # # nkf test program for nkf 2.0 # Shinji KONO # Sun Aug 18 12:25:40 JST 1996 # Sun Nov 8 00:16:06 JST 1998 # Sun Sep 8 14:04:02 JST 2002 # # This is useful when you add new patch on nkf. # Since this test is too strict, faileurs may not mean # wrong conversion. # # nkf 2.0 utf8 # nkf 1.5 differs on MIME decoding # nkf 1.4 passes Basic Conversion tests # nkf PDS version passes Basic Conversion tests using "nkf -iB -oB " # if ($ARGV[0]) { $nkf = $ARGV[0]; } else { $nkf = 'MSWin32' eq $^O ? ".\\nkf" : "./nkf"; } # $nkf = "doscmd nkf.exe"; # If you want to see the testing process, set next flag. $error_count = 0; $diff=1; # &library_test0(); sub test { &command_test(@_); } sub command_test { local ($nkf,$in,@ans) = @_; local ($result); $result = ''; open(OUT,"> nkf.in"); binmode OUT; print OUT $in; close(OUT); system("$nkf nkf.out"); # easy open(IN,"< nkf.out"); binmode IN; while() { $result .= $_; } $result =~ s/ //g if $nkf =~ /-\w+m[NS]/o; foreach $ans (@ans) { $ans =~ s/ //g if $nkf =~ /-\w+m[NS]/o; if ($result eq $ans) { print "Ok\n"; return $result; } } $ans = $ans[0]; print "Fail\n"; system "mv nkf.in nkf.in.$error_count.bad"; system "mv nkf.out nkf.out.$error_count.bad"; open(OUT,"> nkf.expect.$error_count.bad"); binmode OUT; print OUT $ans; close(OUT); $error_count++; if ($diff) { open(R,"|od -c >tmp.result.bad"); binmode R; print R $result; close(R); open(R,"|od -c >tmp.expect.bad"); binmode R; print R $ans; close(R); system "diff -c tmp.result.bad tmp.expect.bad"; } return $result; } sub command_tests { my @tests = @_; my ($in, $out, $ans); for (my $i = 0; $i <= $#tests; $i += 3){ my $nkf = $tests[$i]; $in = $tests[$i+1]; $ans = $tests[$i+2]; $out = ''; open(OUT, "> nkf.in"); binmode OUT; print OUT $in; close(OUT); system("$nkf nkf.out"); # easy open(IN,"< nkf.out"); binmode IN; while () { $out .= $_; } close(IN); $out =~ s/ //g if $nkf =~ /-\w+m[NS]/o; $ans =~ s/ //g if $nkf =~ /-\w+m[NS]/o; if ($out ne $ans) { last; } } if ($out eq $ans) { print "Ok\n"; return; } print "Fail\n"; system "mv nkf.in nkf.in.$error_count.bad"; system "mv nkf.out nkf.out.$error_count.bad"; open(OUT,"> nkf.expect.$error_count.bad"); binmode OUT; print OUT $ans; close(OUT); $error_count++; if ($diff) { open(R,"|od -c >tmp.result.bad"); binmode R; print R $out; close(R); open(R,"|od -c >tmp.expect.bad"); binmode R; print R $ans; close(R); system "diff -c tmp.result.bad tmp.expect.bad"; } return; } do "./nkf_test.pl"; unlink "nkf.in"; unlink "nkf.out"; if ($error_count > 1) { printf("%d errors were found.\n", $error_count); } elsif ($error_count == 1) { printf("1 error was found.\n"); } else { printf("All tests are succeeded.\n"); } nkf-2.1.5/config.h000644 001751 001751 00000002052 13405143432 014413 0ustar00naruseusers000000 000000 #ifndef _CONFIG_H_ #define _CONFIG_H_ /* UTF8 input and output */ #define UTF8_INPUT_ENABLE #define UTF8_OUTPUT_ENABLE /* invert characters invalid in Shift_JIS to CP932 */ #define SHIFTJIS_CP932 /* fix input encoding when given by option */ #define INPUT_CODE_FIX /* --overwrite option */ /* by Satoru Takabayashi */ #define OVERWRITE /* --cap-input, --url-input option */ #define INPUT_OPTION /* --numchar-input option */ #define NUMCHAR_OPTION /* --debug, --no-output option */ #define CHECK_OPTION /* JIS X0212 */ #define X0212_ENABLE /* --exec-in, --exec-out option * require pipe, fork, execvp and so on. * please undef this on MS-DOS, MinGW * this is still buggy arround child process */ /* #define EXEC_IO */ /* Unicode Normalization */ #define UNICODE_NORMALIZATION /* * Select Default Output Encoding * */ /* #define DEFAULT_CODE_JIS */ /* #define DEFAULT_CODE_SJIS */ /* #define DEFAULT_CODE_WINDOWS_31J */ /* #define DEFAULT_CODE_EUC */ /* #define DEFAULT_CODE_UTF8 */ #endif /* _CONFIG_H_ */ nkf-2.1.5/nkf32dll.c000644 001751 001751 00000067025 13405143432 014573 0ustar00naruseusers000000 000000 /* nkf32.dll nfk32dll.c */ /* e-mail:tkaneto@nifty.com */ /* URL: http://www1.ttcn.ne.jp/~kaneto */ /*WIN32DLL*/ /* o[WXVB */ #define NKF_VERSIONW L"2.1.5" /* NKF_VERSION Ch */ #define DLL_VERSION "2.1.5.0 2" /* DLL */ #define DLL_VERSIONW L"2.1.5.0 2" /* DLL DLL_VERSION Ch */ /* nkf32.dll main */ #include #include #include #ifdef DLLDBG /* DLLDBG @@*/ #include "nkf.h" void dumpn(unsigned char *buff,unsigned n) { int i; i = 0; while ( n ) { if ( i == 0 ) { printf(":%x ",buff); } printf("%02x ",*buff++); i++; if ( i == 16 ) { printf("\n"); i = 0; } n--; } printf("\n"); } void dumpf(char *f); void mkfile(char *f,char *p); #endif /* DLLDBG @@*/ #ifndef GUESS #define GUESS 64 #endif /*GUESS*/ char *guessbuffA = NULL; #ifdef UNICODESUPPORT wchar_t *guessbuffW = NULL; UINT guessCodePage = CP_OEMCP; DWORD guessdwFlags = MB_PRECOMPOSED; wchar_t *tounicode(const char *p) { static wchar_t buff[GUESS]; int sts; sts = MultiByteToWideChar(guessCodePage,guessdwFlags,p,-1,buff,sizeof(buff) / sizeof(wchar_t)); if ( sts ) { return buff; } else { return L"(NULL)"; } } #endif /*UNICODESUPPORT*/ char *ubuff; int ulen; int uret; int dllprintf(FILE *fp,char *fmt,...) { va_list argp; int sts; if ( uret != FALSE && ulen >= 1 && fmt != NULL && *fmt != 0 ) { va_start(argp, fmt); sts = _vsnprintf(ubuff,ulen - 1,fmt,argp); va_end(argp); if ( sts >= 0 ) { ubuff += sts; ulen -= sts; } else { uret = FALSE; } return sts; } else return 0; } /** Network Kanji Filter. (PDS Version) ************************************************************************ ** Copyright (C) 1987, Fujitsu LTD. (Itaru ICHIKAWA) ** AF ijxm@\tgR@s@ ** iE-Mail Address: ichikawa@flab.fujitsu.co.jpj ** Copyright (C) 1996,1998 ** Copyright (C) 2002 ** AF wHw ^。 mime/X0208 support ** iE-Mail Address: kono@ie.u-ryukyu.ac.jpj ** AF COW for DOS & Win16 & Win32 & OS/2 ** iE-Mail Address: GHG00637@niftyserve.or.pj ** ** \[XハCCCBA ** ANvヲcB ** zzGt^KvB ** cpLB ** oCizzversion messageB ** vOAB ** ** Everyone is permitted to do anything on this program ** including copying, modifying, improving, ** as long as you don't try to pretend that you wrote it. ** i.e., the above copyright notice has to appear in all copies. ** Binary distribution requires original version messages. ** You don't have to ask before copying, redistribution or publishing. ** THE AUTHOR DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE. ***********************************************************************/ static const unsigned char *cin = NULL; static int nin = -1; static int ninmax = -1; static int std_getc_mode = 1; int std_getc(f) FILE *f; { if (!nkf_buf_empty_p(nkf_state->std_gc_buf)) { return nkf_buf_pop(nkf_state->std_gc_buf); } else { if ( std_getc_mode == 1 ) { return getc(f); } if ( std_getc_mode == 2 && cin != NULL ) { if ( ninmax >= 0 ) { if ( nin >= ninmax ) { return EOF; } else { nin++; return *cin++; } } else { if ( *cin ) { return *cin++; } else { return EOF; } } } } return EOF; } static FILE *fout = NULL; static unsigned char *cout = NULL; static int nout = -1; static int noutmax = -1; static int std_putc_mode = 1; void std_putc(c) int c; { if(c!=EOF) { if ( (std_putc_mode & 1) && fout != NULL ) { putc(c,fout); } if ( (std_putc_mode & 4) && nout != -1 ) { if ( noutmax >= 0 && nout >= noutmax ) std_putc_mode &= ~2; nout++; } if ( (std_putc_mode & 2) && cout != NULL ) { *cout++ = c; } } } void print_guessed_code (filename) char *filename; { const char *codename = get_guessed_code(); if (filename != NULL) { guessbuffA = realloc(guessbuffA,(strlen(filename) + GUESS + 1) * sizeof (char) ); sprintf(guessbuffA,"%s:%s", filename,codename); } else { guessbuffA = realloc(guessbuffA,(GUESS + 1) * sizeof (char) ); sprintf(guessbuffA,"%s", codename); } } #ifdef UNICODESUPPORT void print_guessed_codeW (filename) wchar_t *filename; { const char *codename = get_guessed_code(); size_t size; if (filename != NULL) { size = (wcslen(filename) + GUESS + 1) * sizeof (wchar_t); guessbuffW = realloc(guessbuffW, size); _snwprintf(guessbuffW, size, L"%s:%s", filename, tounicode(codename)); } else { size = (GUESS + 1) * sizeof (wchar_t); guessbuffW = realloc(guessbuffW, size); _snwprintf(guessbuffW, size, L"%s", tounicode(codename)); } } #endif /*UNICODESUPPORT*/ /** ** pb`メ ** void@merope.pleiades.or.jp (Kusakabe Youichi) ** NIDE Naoyuki ** ohta@src.ricoh.co.jp (Junn Ohta) ** inouet@strl.nhk.or.jp (Tomoyuki Inoue) ** kiri@pulser.win.or.jp (Tetsuaki Kiriyama) ** Kimihiko Sato ** a_kuroe@kuroe.aoba.yokohama.jp (Akihiko Kuroe) ** kono@ie.u-ryukyu.ac.jp (Shinji Kono) ** GHG00637@nifty-serve.or.jp (COW) ** **/ void reinitdll(void) { cin = NULL; nin = -1; ninmax = -1; std_getc_mode = 1; fout = stdout; cout = NULL; nout = -1; noutmax = -1; std_putc_mode = 1; if ( guessbuffA ) { free(guessbuffA); guessbuffA = NULL; } #ifdef UNICODESUPPORT if ( guessbuffW ) { free(guessbuffW); guessbuffW = NULL; } #endif /*UNICODESUPPORT*/ } #ifndef DLLDBG /* DLLDBG @@*/ int WINAPI DllEntryPoint(HINSTANCE hinst,unsigned long reason,void* lpReserved) { return 1; } #endif /* DLLDBG @@*/ static LPSTR nkfverA = NKF_VERSION; static LPSTR dllverA = DLL_VERSION; #ifdef UNICODESUPPORT static LPWSTR nkfverW = NKF_VERSIONW; static LPWSTR dllverW = DLL_VERSIONW; #endif /*UNICODESUPPORT*/ BOOL scp(LPSTR s,LPSTR t,DWORD n) { while ( n ) { if ( (*s = *t) == 0 ) return TRUE; if ( --n == 0 ) { *s = 0; break; } s++; t++; } return FALSE; } #ifdef UNICODESUPPORT BOOL wscp(LPWSTR s,LPWSTR t,DWORD n) { while ( n ) { if ( (*s = *t) == 0 ) return TRUE; if ( --n == 0 ) { *s = 0; break; } s++; t++; } return FALSE; } #endif /*UNICODESUPPORT*/ void CALLBACK GetNkfVersion(LPSTR verStr){ strcpy(verStr,dllverA); } BOOL WINAPI GetNkfVersionSafeA(LPSTR verStr,DWORD nBufferLength /*in TCHARs*/,LPDWORD lpTCHARsReturned /*in TCHARs*/) { *lpTCHARsReturned = strlen(dllverA) + 1; if ( verStr == NULL || nBufferLength == 0 ) return FALSE; return scp(verStr,dllverA,nBufferLength); } BOOL WINAPI GetNkfVersionSafeW(LPWSTR verStr,DWORD nBufferLength /*in TCHARs*/,LPDWORD lpTCHARsReturned /*in TCHARs*/) { #ifdef UNICODESUPPORT *lpTCHARsReturned = wcslen(dllverW) + 1; if ( verStr == NULL || nBufferLength == 0 ) return FALSE; wcsncpy(verStr,dllverW,nBufferLength); if ( wcslen(dllverW) >= nBufferLength ) { *(verStr + nBufferLength - 1) = 0; return FALSE; } return TRUE; #else /*UNICODESUPPORT*/ return FALSE; #endif /*UNICODESUPPORT*/ } static LPSTR optStr0 = NULL; int CALLBACK SetNkfOption(LPSTR optStr) { LPSTR p; int len; if ( *optStr == '-' ) { len = strlen(optStr) + 1; p = realloc(optStr0,len); strcpy(p,optStr); } else { len = strlen(optStr) + 2; p = realloc(optStr0,len); *p = '-'; strcpy(p + 1,optStr); } optStr0 = p; return 0; } int findspace(const char* str) { int find_n = 0; while (*str != 0) { if (*str == ' ') { find_n++; } str++; } return find_n; } // IvV options o void callOptions() { char *work = strdup(optStr0); int len = strlen(optStr0); for (int i = 0; i < len; i++) { if (work[i] == ' ') { work[i] = '\0'; } } int i = 0; while (i < len) { // T if (work[i] != '\0') { // options o options(&work[i]); // I[T while (work[i] != '\0' && i < len) { i++; } } else { i++; } } free(work); } void options0(void) { reinit(); if ( optStr0 != NULL ) { // option options o if (findspace(optStr0) > 0) { callOptions(); } else { options(optStr0); } } } void CALLBACK NkfConvert(LPSTR outStr, LPCSTR inStr) { options0(); std_putc_mode = 2; cout = outStr; noutmax = -1; nout = -1; std_getc_mode = 2; cin = inStr; ninmax = -1; nin = -1; kanji_convert(NULL); *cout = 0; } BOOL WINAPI NkfConvertSafe(LPSTR outStr,DWORD nOutBufferLength /*in Bytes*/,LPDWORD lpBytesReturned /*in Bytes*/, LPCSTR inStr,DWORD nInBufferLength /*in Bytes*/){ if ( inStr == NULL ) return FALSE; options0(); std_putc_mode = 6; cout = outStr; noutmax = nOutBufferLength; nout = 0; std_getc_mode = 2; cin = inStr; ninmax = nInBufferLength; nin = 0; kanji_convert(NULL); *lpBytesReturned = nout; if ( nout < noutmax ) *cout = 0; return TRUE; } void CALLBACK ToHankaku(LPSTR inStr) { unsigned char *p; int len; len = strlen(inStr) + 1; p = malloc(len); if ( p == NULL ) return; memcpy(p,inStr,len); options("-ZSs"); NkfConvert(inStr,p); free(p); } BOOL WINAPI ToHankakuSafe(LPSTR outStr,DWORD nOutBufferLength /*in Bytes*/,LPDWORD lpBytesReturned /*in Bytes*/,LPCSTR inStr,DWORD nInBufferLength /*in Bytes*/) { options("-ZSs"); return NkfConvertSafe(outStr,nOutBufferLength,lpBytesReturned,inStr,nInBufferLength); } void CALLBACK ToZenkakuKana(LPSTR outStr, LPCSTR inStr) { options("-Ss"); NkfConvert(outStr, inStr); } BOOL WINAPI ToZenkakuKanaSafe(LPSTR outStr,DWORD nOutBufferLength /*in Bytes*/,LPDWORD lpBytesReturned /*in Bytes*/,LPCSTR inStr,DWORD nInBufferLength /*in Bytes*/) { options("-Ss"); return NkfConvertSafe(outStr,nOutBufferLength,lpBytesReturned,inStr,nInBufferLength); } void CALLBACK EncodeSubject(LPSTR outStr ,LPCSTR inStr){ options("-jM"); NkfConvert(outStr, inStr); } BOOL WINAPI EncodeSubjectSafe(LPSTR outStr,DWORD nOutBufferLength /*in Bytes*/,LPDWORD lpBytesReturned /*in Bytes*/,LPCSTR inStr,DWORD nInBufferLength /*in Bytes*/) { options("-jM"); return NkfConvertSafe(outStr,nOutBufferLength,lpBytesReturned,inStr,nInBufferLength); } #ifdef TOMIME void CALLBACK ToMime(LPSTR outStr ,LPCSTR inStr) { EncodeSubject(outStr,inStr); } #endif /*TOMIME*/ #ifdef GETKANJICODE int CALLBACK NkfGetKanjiCode(VOID) { int iCode=0; /* if(iconv == s_iconv)iCode=0; */ /* 0:VtgJIS */ if(iconv == w_iconv)iCode=3; /* UTF-8 */ else if(iconv == w_iconv16){ if(input_endian == ENDIAN_BIG)iCode=5; /* 5:UTF-16BE */ else iCode=4; /* 4:UTF-16LE */ }else if(iconv == e_iconv){ if(estab_f == FALSE)iCode=2; /* 2:ISO-2022-JP */ else iCode=1; /* 1:EUC */ } return iCode; } #endif /*GETKANJICODE*/ #ifdef FILECONVERT1 void CALLBACK NkfFileConvert1(LPCSTR fName) { FILE *fin; char *tempdname; char tempfname[MAX_PATH]; char d[4]; DWORD len; BOOL sts; options0(); len = GetTempPath(sizeof d,d); tempdname = malloc(len + 1); if ( tempdname == NULL ) return; len = GetTempPath(len + 1,tempdname); sts = GetTempFileName(tempdname,"NKF",0,tempfname); if ( sts != 0 ) { sts = CopyFileA(fName,tempfname,FALSE); if ( sts ) { if ((fin = fopen(tempfname, "rb")) != NULL) { if ((fout = fopen(fName, "wb")) != NULL) { cin = NULL; nin = -1; ninmax = -1; std_getc_mode = 1; cout = NULL; nout = -1; noutmax = -1; std_putc_mode = 1; kanji_convert(fin); fclose(fin); } fclose(fout); } DeleteFile(tempfname); } } free(tempdname); } #endif /*FILECONVERT1*/ BOOL WINAPI NkfFileConvert1SafeA(LPCSTR fName,DWORD nBufferLength /*in TCHARs*/) { FILE *fin; char *tempdname; char tempfname[MAX_PATH]; char d[4]; DWORD len; BOOL sts; BOOL ret; LPCSTR p; options0(); ret = FALSE; p = fName; for ( ;; ) { if ( nBufferLength == 0 ) return ret; if ( *p == 0 ) break; p++; --nBufferLength; } if ( chmod(fName,_S_IREAD | _S_IWRITE) == -1 ) return ret; len = GetTempPath(sizeof d,d); tempdname = malloc(len + 1); if ( tempdname == NULL ) return FALSE; len = GetTempPath(len + 1,tempdname); sts = GetTempFileName(tempdname,"NKF",0,tempfname); if ( sts != 0 ) { sts = CopyFileA(fName,tempfname,FALSE); if ( sts ) { if ((fin = fopen(tempfname, "rb")) != NULL) { if ((fout = fopen(fName, "wb")) != NULL) { cin = NULL; nin = -1; ninmax = -1; std_getc_mode = 1; cout = NULL; nout = -1; noutmax = -1; std_putc_mode = 1; kanji_convert(fin); fclose(fin); ret = TRUE; } fclose(fout); } DeleteFileA(tempfname); } } free(tempdname); return ret; } BOOL WINAPI NkfFileConvert1SafeW(LPCWSTR fName,DWORD nBufferLength /*in TCHARs*/) { #ifdef UNICODESUPPORT FILE *fin; wchar_t *tempdname; wchar_t tempfname[MAX_PATH]; wchar_t d[2]; DWORD len; BOOL sts; BOOL ret; LPCWSTR p; options0(); ret = FALSE; p = fName; for ( ;; ) { if ( nBufferLength == 0 ) return ret; if ( *p == 0 ) break; p++; --nBufferLength; } if ( _wchmod(fName,_S_IREAD | _S_IWRITE) == -1 ) return ret; len = GetTempPathW(sizeof d / sizeof(WCHAR),d); tempdname = malloc((len + 1) * sizeof(WCHAR)); if ( tempdname == NULL ) return FALSE; len = GetTempPathW(len + 1,tempdname); sts = GetTempFileNameW(tempdname,L"NKF",0,tempfname); if ( sts != 0 ) { sts = CopyFileW(fName,tempfname,FALSE); if ( sts ) { if ((fin = _wfopen(tempfname,L"rb")) != NULL) { if ((fout = _wfopen(fName,L"wb")) != NULL) { cin = NULL; nin = -1; ninmax = -1; std_getc_mode = 1; cout = NULL; nout = -1; noutmax = -1; std_putc_mode = 1; kanji_convert(fin); fclose(fin); ret = TRUE; } fclose(fout); } DeleteFileW(tempfname); } } free(tempdname); return ret; #else /*UNICODESUPPORT*/ return FALSE; #endif /*UNICODESUPPORT*/ } #ifdef FILECONVERT2 void CALLBACK NkfFileConvert2(LPCSTR fInName,LPCSTR fOutName) { FILE *fin; options0(); if ((fin = fopen(fInName, "rb")) == NULL) return; if((fout=fopen(fOutName, "wb")) == NULL) { fclose(fin); return; } cin = NULL; nin = -1; ninmax = -1; std_getc_mode = 1; cout = NULL; nout = -1; noutmax = -1; std_putc_mode = 1; kanji_convert(fin); fclose(fin); fclose(fout); } #endif /*FILECONVERT2*/ BOOL WINAPI NkfFileConvert2SafeA(LPCSTR fInName,DWORD fInBufferLength /*in TCHARs*/,LPCSTR fOutName,DWORD fOutBufferLength /*in TCHARs*/) { FILE *fin; BOOL sts; BOOL ret; LPCSTR p; options0(); ret = FALSE; p = fInName; for ( ;; ) { if ( fInBufferLength == 0 ) return ret; if ( *p == 0 ) break; p++; --fInBufferLength; } p = fOutName; for ( ;; ) { if ( fOutBufferLength == 0 ) return ret; if ( *p == 0 ) break; p++; --fOutBufferLength; } if ((fin = fopen(fInName, "rb")) != NULL) { if((fout=fopen(fOutName, "wb")) != NULL) { cin = NULL; nin = -1; ninmax = -1; std_getc_mode = 1; cout = NULL; nout = -1; noutmax = -1; std_putc_mode = 1; kanji_convert(fin); fclose(fin); ret = TRUE; } fclose(fout); } return ret; } BOOL WINAPI NkfFileConvert2SafeW(LPCWSTR fInName,DWORD fInBufferLength /*in TCHARs*/,LPCWSTR fOutName,DWORD fOutBufferLength /*in TCHARs*/) { #ifdef UNICODESUPPORT FILE *fin; BOOL sts; BOOL ret; LPCWSTR p; options0(); ret = FALSE; p = fInName; for ( ;; ) { if ( fInBufferLength == 0 ) return ret; if ( *p == 0 ) break; p++; --fInBufferLength; } p = fOutName; for ( ;; ) { if ( fOutBufferLength == 0 ) return ret; if ( *p == 0 ) break; p++; --fOutBufferLength; } if ( (fin = _wfopen(fInName,L"rb")) != NULL) { if( (fout = _wfopen(fOutName,L"wb")) != NULL) { cin = NULL; nin = -1; ninmax = -1; std_getc_mode = 1; cout = NULL; nout = -1; noutmax = -1; std_putc_mode = 1; kanji_convert(fin); fclose(fin); ret = TRUE; } fclose(fout); } return ret; #else /*UNICODESUPPORT*/ return FALSE; #endif /*UNICODESUPPORT*/ } BOOL WINAPI GetNkfGuessA(LPSTR outStr,DWORD nBufferLength /*in TCHARs*/,LPDWORD lpTCHARsReturned /*in TCHARs*/) { if ( outStr == NULL || nBufferLength == 0 ) return FALSE; print_guessed_code(NULL); *lpTCHARsReturned = strlen(guessbuffA) + 1; return scp(outStr,guessbuffA,nBufferLength); } BOOL WINAPI GetNkfGuessW(LPWSTR outStr,DWORD nBufferLength /*in TCHARs*/,LPDWORD lpTCHARsReturned /*in TCHARs*/) { #ifdef UNICODESUPPORT if ( outStr == NULL || nBufferLength == 0 ) return FALSE; print_guessed_codeW(NULL); *lpTCHARsReturned = wcslen(guessbuffW) + 1; return wscp(outStr,guessbuffW,nBufferLength); #else /*UNICODESUPPORT*/ return FALSE; #endif /*UNICODESUPPORT*/ } static struct { DWORD size; LPCSTR copyrightA; LPCSTR versionA; LPCSTR dateA; DWORD functions; } NkfSupportFunctions = { sizeof(NkfSupportFunctions), NULL, NKF_VERSION, NKF_RELEASE_DATE, 1 /* nkf32103a.lzh uminchu 1.03 */ /* | 2 */ /* nkf32dll.zip 0.91 */ #if defined(TOMIME) && defined(GETKANJICODE) && defined(FILECONVERT1) && defined(FILECONVERT2) | 4 /* nkf32204.zip Kaneto 2.0.4.0 */ #endif | 8 /* this */ #ifdef UNICODESUPPORT | 0x80000000 #endif /*UNICODESUPPORT*/ , }; BOOL WINAPI GetNkfSupportFunctions(void *outStr,DWORD nBufferLength /*in Bytes*/,LPDWORD lpBytesReturned /*in Bytes*/) { *lpBytesReturned = sizeof NkfSupportFunctions; if ( outStr == NULL || nBufferLength == 0 ) return FALSE; NkfSupportFunctions.copyrightA = COPY_RIGHT; memcpy(outStr,&NkfSupportFunctions,sizeof NkfSupportFunctions > nBufferLength ? nBufferLength : sizeof NkfSupportFunctions); return TRUE; } BOOL WINAPI NkfUsage(LPSTR outStr,DWORD nBufferLength /*in Bytes*/,LPDWORD lpBytesReturned /*in Bytes*/) { ubuff = outStr; ulen = nBufferLength; uret = TRUE; usage(); if ( uret == TRUE ) { *lpBytesReturned = nBufferLength - ulen; } return uret; } /* nkf32.dll main end */ #ifdef DLLDBG /* DLLDBG @@*/ /* dbg.exe */ unsigned char buff[65536]; unsigned char buff2[65536]; unsigned char buff3[65536]; unsigned char buff4[65536]; char *code[] = {"VtgJIS","EUC","ISO-2022-JP","UTF-8","UTF-16LE","UTF-16BE"}; int n; BOOL sts; DWORD len; void mimeencode(unsigned char *buff2) { memset(buff,0,sizeof buff); EncodeSubject(buff,buff2); printf("EncodeSubject(%s)=%s\n",buff2,buff); memset(buff,0,sizeof buff); ToMime(buff,buff2); printf("ToMime(%s)=%s\n",buff2,buff); memset(buff,0,sizeof buff); sts = EncodeSubjectSafe(buff,sizeof buff,&len,buff2,strlen(buff2)); printf("EncodeSubjectSafe(%s)=%d len=%d '%s'\n",buff,sts,len,buff); dumpn(buff2,strlen(buff2)); dumpn(buff,len); } void convert(char *arg,unsigned char *buff2) { sts = SetNkfOption(arg); printf("SetNkfOption(%s)=%d\n",arg,sts); memset(buff,0,sizeof buff); NkfConvert(buff,buff2); printf("NkfConvert(%s)=%s\n",buff2,buff); n = NkfGetKanjiCode(); printf("NkfGetKanjiCode()=%d\n",n); sts = SetNkfOption(arg); printf("SetNkfOption(%s)=%d\n",arg,sts); memset(buff,0,sizeof buff); sts = NkfConvertSafe(buff,sizeof buff,&len,buff2,strlen(buff2)); printf("NkfConvertSafe(%s)=%d len=%d '%s'\n",buff2,sts,len,buff); dumpn(buff2,strlen(buff2)); dumpn(buff,len); n = NkfGetKanjiCode(); printf("NkfGetKanjiCode()=%d\n",n); } void guess(unsigned char *buff2) { char *g = "--guess"; sts = SetNkfOption(g); printf("SetNkfOption(%s)=%d\n",g,sts); memset(buff,0,sizeof buff); NkfConvert(buff,buff2); printf("NkfConvert(%s)=%s\n",buff2,buff); dumpn(buff2,strlen(buff2)); n = NkfGetKanjiCode(); printf("NkfGetKanjiCode()=%d %s\n",n,code[n]); memset(buff,0,sizeof buff); sts = GetNkfGuessA(buff,sizeof buff,&len); printf("GetNkfGuessA()=%d len=%d '%s'\n",sts,len,buff); dumpn(buff,len); memset(buff,0,sizeof buff); sts = GetNkfGuessW((LPWSTR)buff,sizeof buff / sizeof(WCHAR),&len); printf("GetNkfGuessW()=%d len=%d\n",sts,len); dumpn(buff,len * sizeof(WCHAR)); } void dumpf(char *f) { FILE *fp; unsigned int n; fp = fopen(f,"rb"); if ( fp == NULL ) return; n = fread(buff,1,sizeof buff,fp); fclose(fp); printf("dumpf(%s,%d)\n",f,n); dumpn(buff,n); } void mkfile(char *f,char *p) { FILE *fp; fp = fopen(f,"w"); if ( fp == NULL ) return; fputs(p,fp); fclose(fp); dumpf(f); } void file(char *arg2,char *arg3,unsigned char *buf) { sts = SetNkfOption(arg2); printf("SetNkfOption(%s)=%d\n",arg2,sts); mkfile(arg3,buf); NkfFileConvert1(arg3); printf("NkfFileConvert1(%s)\n",arg3); dumpf(arg3); sts = SetNkfOption(arg2); printf("SetNkfOption(%s)=%d\n",arg2,sts); mkfile(arg3,buf); sts = NkfFileConvert1SafeA(arg3,strlen(arg3) + 1); printf("NkfFileConvert1SafeA(%s)=%d\n",arg3,sts); dumpf(arg3); sts = SetNkfOption(arg2); printf("SetNkfOption(%s)=%d\n",arg2,sts); mkfile(arg3,buf); sts = MultiByteToWideChar(CP_OEMCP,MB_PRECOMPOSED,arg3,-1,(wchar_t *)buff,sizeof(buff) / sizeof(wchar_t)); printf("MultiByteToWideChar(%s)=%d\n",arg3,sts); dumpn(buff,(wcslen((wchar_t *)buff) + 1) * sizeof(wchar_t)); sts = NkfFileConvert1SafeW((wchar_t *)buff,sizeof buff / sizeof(wchar_t) /*wcslen((wchar_t *)buff) + 1*/); printf("NkfFileConvert1SafeW()=%d\n",sts); dumpf(arg3); } void file2(char *arg2,char *arg3,char *arg4,unsigned char *buf) { sts = SetNkfOption(arg2); printf("SetNkfOption(%s)=%d\n",arg2,sts); mkfile(arg3,buf); NkfFileConvert2(arg3,arg4); printf("NkfFileConvert1(%s,%s)\n",arg3,arg4); dumpf(arg3); dumpf(arg4); sts = SetNkfOption(arg2); printf("SetNkfOption(%s)=%d\n",arg2,sts); mkfile(arg3,buf); sts = NkfFileConvert2SafeA(arg3,strlen(arg3) + 1,arg4,strlen(arg4) + 1); printf("NkfFileConvert2SafeA(%s,%s)=%d\n",arg3,arg4,sts); dumpf(arg3); dumpf(arg4); sts = SetNkfOption(arg2); printf("SetNkfOption(%s)=%d\n",arg2,sts); mkfile(arg3,buf); sts = MultiByteToWideChar(CP_OEMCP,MB_PRECOMPOSED,arg3,-1,(wchar_t *)buff,sizeof(buff) / sizeof(wchar_t)); printf("MultiByteToWideChar(%s)=%d\n",arg3,sts); dumpn(buff,(wcslen((wchar_t *)buff) + 1) * sizeof(wchar_t)); sts = MultiByteToWideChar(CP_OEMCP,MB_PRECOMPOSED,arg4,-1,(wchar_t *)buff4,sizeof(buff4) / sizeof(wchar_t)); printf("MultiByteToWideChar(%s)=%d\n",arg4,sts); dumpn(buff4,(wcslen((wchar_t *)buff4) + 1) * sizeof(wchar_t)); sts = NkfFileConvert2SafeW((wchar_t *)buff,sizeof buff / sizeof(wchar_t) ,(wchar_t *)buff4,sizeof buff4 / sizeof(wchar_t)); printf("NkfFileConvert2SafeW()=%d\n",sts); dumpf(arg3); dumpf(arg4); } int main(int argc,char **argv) { struct NKFSUPPORTFUNCTIONS fnc; if ( argc < 2 ) return 0; switch ( *argv[1] ) { case 'v': memset(buff,0,sizeof buff); GetNkfVersion(buff); printf("GetNkfVersion() '%s'\n",buff); sts = GetNkfVersionSafeA(buff,sizeof buff,&len); printf("GetNkfVersionSafeA()=%d len=%d '%s'\n",sts,len,buff); sts = GetNkfVersionSafeW((LPWSTR)buff,sizeof buff / sizeof(WCHAR),&len); printf("GetNkfVersionSafeW()=%d len=%d\n",sts,len); dumpn(buff,len * sizeof(WCHAR)); sts = GetNkfSupportFunctions(&fnc,sizeof fnc,&len); printf("GetNkfSupportFunctions()=%d len=%d\n",sts,len); printf("size=%d\n",fnc.size); printf("copyrightA='%s'\n",fnc.copyrightA); printf("versionA='%s'\n",fnc.versionA); printf("dateA='%s'\n",fnc.dateA); printf("functions=%d %x\n",fnc.functions,fnc.functions); break; case 'm': if ( argc < 3 ) return 0; mimeencode(argv[2]); break; case 'M': if ( argc < 2 ) return 0; gets(buff2); mimeencode(buff2); break; case 'c': if ( argc < 4 ) return 0; convert(argv[2],argv[3]); break; case 'C': if ( argc < 3 ) return 0; gets(buff2); convert(argv[2],buff2); break; case 'g': if ( argc < 3 ) return 0; guess(argv[2]); break; case 'G': if ( argc < 2 ) return 0; gets(buff2); guess(buff2); break; case 'f': if ( argc < 5 ) return 0; file(argv[2],argv[3],argv[4]); break; case 'F': if ( argc < 4 ) return 0; gets(buff3); file(argv[2],argv[3],buff3); break; case '2': if ( argc < 6 ) return 0; file2(argv[2],argv[3],argv[4],argv[5]); break; case '#': if ( argc < 5 ) return 0; gets(buff3); file2(argv[2],argv[3],argv[4],buff3); break; case 'u': sts = NkfUsage(buff,sizeof buff,&len); printf("strlen(buff)=%d\n",strlen(buff)); printf("NkfUsage()=%d len=%d \n%s",sts,len,buff); break; } return 0; } /* dbg.exe end */ #endif /* DLLDBG @@*/ /*WIN32DLL*/ nkf-2.1.5/nkf32.c000755 001751 001751 00000000021 13405143432 014061 0ustar00naruseusers000000 000000 #include "nkf.c" nkf-2.1.5/nkf_utf8.txt000644 001751 001751 00000002272 13405143432 015266 0ustar00naruseusers000000 000000 UTF-8 サポートについて nkf_utf8-2002.08.22 by furukawa@tcp-ip.or.jp nkf-1.92 をベースに、UTF-8 対応してみました。 nkf を対応版に入れ換えるだけで、入力が UTF-8 ならば、 勝手に自動判別して、コード変換できることを目標としています。 従来の nkf と同様に、nkf -e として起動すると、自動判別で UTF-8 と判定されれば、そのまま euc-jp に変換されます オプションで、文字コードを指定することもできます。 -w 出力を utf-8 に指定します -W 入力を utf-8 と仮定します まだバグがある可能性が高いです。 (特に自動判別、コード混在、エラー処理系) 何か問題を見つけたら、furukawa@tcp-ip.or.jp まで御連絡を お願いします。 その他、nkf-1.92 に対し、 ・-Z3 オプションの新設 X0208 の '>', '<', '”', '&' をそれぞれ '>', '<', '"', '&' に変換します ・もともとの nkf 1.92 にあった、-Z1 オプションのバグ修正 という改造をしています。 <履歴> 2002.08.22 * コンパイル時の warning への対処 (馬場さんのパッチによる) * utf-8 の判定のバグ修正 正しい文字コードが来ているぶんには問題ありませんが、 不正なコードが来ても、utf-8 モードから抜けない可能性が ありました * wvHtml の出力への対処 (北川文孝さんの御報告による) -- Rei FURUKAWA furukawa@tcp-ip.or.jp nkf-2.1.5/nkf_test.pl000644 001751 001751 00000171665 13405143432 015170 0ustar00naruseusers000000 000000 #!/usr/local/bin/perl # # nkf test program for nkf-2 # # Shinji KONO # Sun Aug 18 12:25:40 JST 1996 # Sun Nov 8 00:16:06 JST 1998 # # This is useful when you add new patch on nkf. # Since this test is too strict, faileurs may not mean # wrong conversion. # # nkf 1.5 differs on MIME decoding # nkf 1.4 passes Basic Conversion tests # nkf PDS version passes Basic Conversion tests using "nkf -iB -oB " # # Basic Conversion print "\nBasic Conversion test\n\n"; # I gave up simple literal quote because there are big difference # on perl4 and perl5 on literal quote. Of course we cannot use # jperl. $example{'jis'} = unpack('u',<<'eofeof'); M1FERED"6GIAR(%-E8V]N9"!3=&%G92"8I9=Y($AI M#28./ >@Y*#DR!+:6=O=2"!18&'@D^"8(._@]:$081@A+X* eofeof $example{'euc'} = unpack('u',<<'eofeof'); M1FERI?*E\R!+:6=O=2"AIJ'GH["CP:;!IMBGHJ?!J,`* eofeof $example{'utf8'} = unpack('u',<<'eofeof'); M[[N_1FER(A#_(?^Q`\D#$00O!$(E"@`` eofeof $example{'u16L0'} = unpack('u',<<'eofeof'); M1@!I`'(`L)C^.7S)AJ"0D* eofeof $example{'euc1'} = unpack('u',<<'eofeof'); 8[;'Q\,&L"N6ZSN\*\NT)ON7.SL_+"0D* eofeof $example{'utf1'} = unpack('u',<<'eofeof'); AZ+J%Z:N/Z8JM"N>VNNFZEPKIM(D)Y+B*Z:"8Y+J8"0D* eofeof $example{'jis2'} = unpack('u',<<'eofeof'); +&R1".EA&(QLH0@H` eofeof $example{'sjis2'} = unpack('u',<<'eofeof'); %C=:3H0H` eofeof $example{'euc2'} = unpack('u',<<'eofeof'); %NMC&HPH` eofeof $example{'utf2'} = unpack('u',<<'eofeof'); 'YI:.Z)>D"@`` eofeof # From JIS print "JIS to JIS ...";&test("$nkf -j",$example{'jis'},$example{'jis'}); print "JIS to SJIS...";&test("$nkf -s",$example{'jis'},$example{'sjis'}); print "JIS to EUC ...";&test("$nkf -e",$example{'jis'},$example{'euc'}); print "JIS to UTF8...";&test("$nkf -w",$example{'jis'},$example{'utf8N'}); print "JIS to U16L...";&test("$nkf -w16L",$example{'jis'},$example{'u16L'}); print "JIS to U16B...";&test("$nkf -w16B",$example{'jis'},$example{'u16B'}); print "JIS to JIS ...";&test("$nkf --ic=iso-2022-jp --oc=iso-2022-jp" ,$example{'jis'},$example{'jis'}); print "JIS to SJIS...";&test("$nkf --ic=iso-2022-jp --oc=shift_jis" ,$example{'jis'},$example{'sjis'}); print "JIS to EUC ...";&test("$nkf --ic=iso-2022-jp --oc=euc-jp" ,$example{'jis'},$example{'euc'}); print "JIS to UTF8...";&test("$nkf --ic=iso-2022-jp --oc=utf-8n" ,$example{'jis'},$example{'utf8N'}); print "JIS to U16L...";&test("$nkf --ic=iso-2022-jp --oc=utf-16le-bom",$example{'jis'},$example{'u16L'}); print "JIS to U16B...";&test("$nkf --ic=iso-2022-jp --oc=utf-16be-bom",$example{'jis'},$example{'u16B'}); # From SJIS print "SJIS to JIS ...";&test("$nkf -j",$example{'sjis'},$example{'jis'}); print "SJIS to SJIS...";&test("$nkf -s",$example{'sjis'},$example{'sjis'}); print "SJIS to EUC ...";&test("$nkf -e",$example{'sjis'},$example{'euc'}); print "SJIS to UTF8...";&test("$nkf -w",$example{'sjis'},$example{'utf8N'}); print "SJIS to U16L...";&test("$nkf -w16L",$example{'sjis'},$example{'u16L'}); print "SJIS to U16B...";&test("$nkf -w16B",$example{'sjis'},$example{'u16B'}); print "SJIS to JIS ...";&test("$nkf --ic=shift_jis --oc=iso-2022-jp" ,$example{'sjis'},$example{'jis'}); print "SJIS to SJIS...";&test("$nkf --ic=shift_jis --oc=shift_jis" ,$example{'sjis'},$example{'sjis'}); print "SJIS to EUC ...";&test("$nkf --ic=shift_jis --oc=euc-jp" ,$example{'sjis'},$example{'euc'}); print "SJIS to UTF8...";&test("$nkf --ic=shift_jis --oc=utf-8n" ,$example{'sjis'},$example{'utf8N'}); print "SJIS to U16L...";&test("$nkf --ic=shift_jis --oc=utf-16le-bom" ,$example{'sjis'},$example{'u16L'}); print "SJIS to U16B...";&test("$nkf --ic=shift_jis --oc=utf-16be-bom" ,$example{'sjis'},$example{'u16B'}); # From EUC print "EUC to JIS ...";&test("$nkf -j",$example{'euc'},$example{'jis'}); print "EUC to SJIS...";&test("$nkf -s",$example{'euc'},$example{'sjis'}); print "EUC to EUC ...";&test("$nkf -e",$example{'euc'},$example{'euc'}); print "EUC to UTF8...";&test("$nkf -w",$example{'euc'},$example{'utf8N'}); print "EUC to U16L...";&test("$nkf -w16L",$example{'euc'},$example{'u16L'}); print "EUC to U16B...";&test("$nkf -w16B",$example{'euc'},$example{'u16B'}); print "EUC to JIS ...";&test("$nkf --ic=euc-jp --oc=iso-2022-jp" ,$example{'euc'},$example{'jis'}); print "EUC to SJIS...";&test("$nkf --ic=euc-jp --oc=shift_jis" ,$example{'euc'},$example{'sjis'}); print "EUC to EUC ...";&test("$nkf --ic=euc-jp --oc=euc-jp" ,$example{'euc'},$example{'euc'}); print "EUC to UTF8...";&test("$nkf --ic=euc-jp --oc=utf-8n" ,$example{'euc'},$example{'utf8N'}); print "EUC to U16L...";&test("$nkf --ic=euc-jp --oc=utf-16le-bom" ,$example{'euc'},$example{'u16L'}); print "EUC to U16B...";&test("$nkf --ic=euc-jp --oc=utf-16be-bom" ,$example{'euc'},$example{'u16B'}); # From UTF8 print "UTF8 to JIS ...";&test("$nkf -j", $example{'utf8N'},$example{'jis'}); print "UTF8 to SJIS...";&test("$nkf -s", $example{'utf8N'},$example{'sjis'}); print "UTF8 to EUC ...";&test("$nkf -e", $example{'utf8N'},$example{'euc'}); print "UTF8 to UTF8N..";&test("$nkf -w", $example{'utf8N'},$example{'utf8N'}); print "UTF8 to UTF8...";&test("$nkf -w8", $example{'utf8N'},$example{'utf8'}); print "UTF8 to UTF8N..";&test("$nkf -w80", $example{'utf8N'},$example{'utf8N'}); print "UTF8 to U16L...";&test("$nkf -w16L", $example{'utf8N'},$example{'u16L'}); print "UTF8 to U16L0..";&test("$nkf -w16L0", $example{'utf8N'},$example{'u16L0'}); print "UTF8 to U16B...";&test("$nkf -w16B", $example{'utf8N'},$example{'u16B'}); print "UTF8 to U16B0..";&test("$nkf -w16B0", $example{'utf8N'},$example{'u16B0'}); print "UTF8 to JIS ...";&test("$nkf --ic=utf-8 --oc=iso-2022-jp", $example{'utf8N'},$example{'jis'}); print "UTF8 to SJIS...";&test("$nkf --ic=utf-8 --oc=shift_jis", $example{'utf8N'},$example{'sjis'}); print "UTF8 to EUC ...";&test("$nkf --ic=utf-8 --oc=euc-jp", $example{'utf8N'},$example{'euc'}); print "UTF8 to UTF8N..";&test("$nkf --ic=utf-8 --oc=utf-8", $example{'utf8N'},$example{'utf8N'}); print "UTF8 to UTF8BOM";&test("$nkf --ic=utf-8 --oc=utf-8-bom", $example{'utf8N'},$example{'utf8'}); print "UTF8 to UTF8N..";&test("$nkf --ic=utf-8 --oc=utf-8n", $example{'utf8N'},$example{'utf8N'}); print "UTF8 to U16L...";&test("$nkf --ic=utf-8 --oc=utf-16le-bom", $example{'utf8N'},$example{'u16L'}); print "UTF8 to U16L0..";&test("$nkf --ic=utf-8 --oc=utf-16le", $example{'utf8N'},$example{'u16L0'}); print "UTF8 to U16B...";&test("$nkf --ic=utf-8 --oc=utf-16be-bom", $example{'utf8N'},$example{'u16B'}); print "UTF8 to U16B0..";&test("$nkf --ic=utf-8 --oc=utf-16be", $example{'utf8N'},$example{'u16B0'}); print "UTF8 to UTF8...";&test("$nkf -w","\xf0\xa0\x80\x8b","\xf0\xa0\x80\x8b"); # From JIS print "JIS to JIS ...";&test("$nkf -j",$example{'jis1'},$example{'jis1'}); print "JIS to SJIS...";&test("$nkf -s",$example{'jis1'},$example{'sjis1'}); print "JIS to EUC ...";&test("$nkf -e",$example{'jis1'},$example{'euc1'}); print "JIS to UTF8...";&test("$nkf -w",$example{'jis1'},$example{'utf1'}); # From SJIS print "SJIS to JIS ...";&test("$nkf -j",$example{'sjis1'},$example{'jis1'}); print "SJIS to SJIS...";&test("$nkf -s",$example{'sjis1'},$example{'sjis1'}); print "SJIS to EUC ...";&test("$nkf -e",$example{'sjis1'},$example{'euc1'}); print "SJIS to UTF8...";&test("$nkf -w",$example{'sjis1'},$example{'utf1'}); # From EUC print "EUC to JIS ...";&test("$nkf -j",$example{'euc1'},$example{'jis1'}); print "EUC to SJIS...";&test("$nkf -s",$example{'euc1'},$example{'sjis1'}); print "EUC to EUC ...";&test("$nkf -e",$example{'euc1'},$example{'euc1'}); print "EUC to UTF8...";&test("$nkf -w",$example{'euc1'},$example{'utf1'}); # From UTF8 print "UTF8 to JIS ...";&test("$nkf -j",$example{'utf1'},$example{'jis1'}); print "UTF8 to SJIS...";&test("$nkf -s",$example{'utf1'},$example{'sjis1'}); print "UTF8 to EUC ...";&test("$nkf -e",$example{'utf1'},$example{'euc1'}); print "UTF8 to UTF8...";&test("$nkf -w",$example{'utf1'},$example{'utf1'}); # UTF sub h {pack("H*",shift)} print "SJIS to -w... ";&test("$nkf -w",h("82A0"),h("E38182")); print "SJIS to -w8... ";&test("$nkf -w8",h("82A0"),h("EFBBBFE38182")); print "SJIS to -w80... ";&test("$nkf -w80",h("82A0"),h("E38182")); print "SJIS to UTF-8... ";&test("$nkf --oc=UTF-8",h("82A0"),h("E38182")); print "SJIS to UTF-8N... ";&test("$nkf --oc=UTF-8N",h("82A0"),h("E38182")); print "SJIS to UTF-8-BOM... ";&test("$nkf --oc=UTF-8-BOM",h("82A0"),h("EFBBBFE38182")); print "SJIS to -w16... ";&test("$nkf -w16",h("82A0"),h("FEFF3042")); print "SJIS to UTF-16... ";&test("$nkf --oc=UTF-16",h("82A0"),h("FEFF3042")); print "SJIS to -w16B... ";&test("$nkf -w16B",h("82A0"),h("FEFF3042")); print "SJIS to -w16B0... ";&test("$nkf -w16B0",h("82A0"),h("3042")); print "SJIS to UTF-16BE... ";&test("$nkf --oc=UTF-16BE",h("82A0"),h("3042")); print "SJIS to UTF-16BE-BOM...";&test("$nkf --oc=UTF-16BE-BOM",h("82A0"),h("FEFF3042")); print "SJIS to -w16L... ";&test("$nkf -w16L",h("82A0"),h("FFFE4230")); print "SJIS to -w16L0... ";&test("$nkf -w16L0",h("82A0"),h("4230")); print "SJIS to UTF-16LE... ";&test("$nkf --oc=UTF-16LE",h("82A0"),h("4230")); print "SJIS to UTF-16LE-BOM...";&test("$nkf --oc=UTF-16LE-BOM",h("82A0"),h("FFFE4230")); print "SJIS to -w32... ";&test("$nkf -w32",h("82A0"),h("0000FEFF00003042")); print "SJIS to UTF-32... ";&test("$nkf --oc=UTF-32",h("82A0"),h("0000FEFF00003042")); print "SJIS to -w32B... ";&test("$nkf -w32B",h("82A0"),h("0000FEFF00003042")); print "SJIS to -w32B0... ";&test("$nkf -w32B0",h("82A0"),h("00003042")); print "SJIS to UTF-32BE... ";&test("$nkf --oc=UTF-32BE",h("82A0"),h("00003042")); print "SJIS to UTF-32BE-BOM...";&test("$nkf --oc=UTF-32BE-BOM",h("82A0"),h("0000FEFF00003042")); print "SJIS to -w32L... ";&test("$nkf -w32L",h("82A0"),h("FFFE000042300000")); print "SJIS to -w32L0... ";&test("$nkf -w32L0",h("82A0"),h("42300000")); print "SJIS to UTF-32LE... ";&test("$nkf --oc=UTF-32LE",h("82A0"),h("42300000")); print "SJIS to UTF-32LE-BOM...";&test("$nkf --oc=UTF-32LE-BOM",h("82A0"),h("FFFE000042300000")); print "\nOther Features\n\n"; # Ambigous Case $example{'amb'} = unpack('u',<<'eofeof'); MI<*PL:7"L+&EPK"QI<*PL:7"L+&EPK"QI<*PL:7"L+&EPK"QI<*PL:7"L+&E MPK"QI<*PL:7"L+&EPK"QI<(*I<*PL:7"L+&EPK"QI<*PL:7"L+&EPK"QI<*P ML:7"L+&EPK"QI<*PL:7"L+&EPK"QI<*PL:7"L+&EPK"QI<(*I<*PL:7"L+&E MPK"QI<*PL:7"L+&EPK"QI<*PL:7"L+&EPK"QI<*PL:7"L+&EPK"QI<*PL:7" ML+&EPK"QI<(*I<*PL:7"L+&EPK"QI<*PL:7"L+&EPK"QI<*PL:7"L+&EPK"Q MI<*PL:7"L+&EPK"QI<*PL:7"L+&EPK"QI<(*I<*PL:7"L+&EPK"QI<*PL:7" ML+&EPK"QI<*PL:7"L+&EPK"QI<*PL:7"L+&EPK"QI<*PL:7"L+&EPK"QI<(* eofeof $example{'amb.euc'} = unpack('u',<<'eofeof'); M&R1")4(P,25",#$E0C`Q)4(P,25",#$E0C`Q)4(P,25",#$E0C`Q)4(P,25" M,#$E0C`Q)4(P,25",#$E0C`Q)4(;*$(*&R1")4(P,25",#$E0C`Q)4(P,25" M,#$E0C`Q)4(P,25",#$E0C`Q)4(P,25",#$E0C`Q)4(P,25",#$E0C`Q)4(; M*$(*&R1")4(P,25",#$E0C`Q)4(P,25",#$E0C`Q)4(P,25",#$E0C`Q)4(P M,25",#$E0C`Q)4(P,25",#$E0C`Q)4(;*$(*&R1")4(P,25",#$E0C`Q)4(P M,25",#$E0C`Q)4(P,25",#$E0C`Q)4(P,25",#$E0C`Q)4(P,25",#$E0C`Q M)4(;*$(*&R1")4(P,25",#$E0C`Q)4(P,25",#$E0C`Q)4(P,25",#$E0C`Q >)4(P,25",#$E0C`Q)4(P,25",#$E0C`Q)4(;*$(* eofeof $example{'amb.sjis'} = unpack('u',<<'eofeof'); M&RA))4(P,25",#$E0C`Q)4(P,25",#$E0C`Q)4(P,25",#$E0C`Q)4(P,25" M,#$E0C`Q)4(P,25",#$E0C`Q)4(;*$(*&RA))4(P,25",#$E0C`Q)4(P,25" M,#$E0C`Q)4(P,25",#$E0C`Q)4(P,25",#$E0C`Q)4(P,25",#$E0C`Q)4(; M*$(*&RA))4(P,25",#$E0C`Q)4(P,25",#$E0C`Q)4(P,25",#$E0C`Q)4(P M,25",#$E0C`Q)4(P,25",#$E0C`Q)4(;*$(*&RA))4(P,25",#$E0C`Q)4(P M,25",#$E0C`Q)4(P,25",#$E0C`Q)4(P,25",#$E0C`Q)4(P,25",#$E0C`Q M)4(;*$(*&RA))4(P,25",#$E0C`Q)4(P,25",#$E0C`Q)4(P,25",#$E0C`Q >)4(P,25",#$E0C`Q)4(P,25",#$E0C`Q)4(;*$(* eofeof printf "%-40s", "Ambiguous Case."; &test("$nkf -j",$example{'amb'},$example{'amb.euc'}); # Input assumption printf "%-40s", "SJIS Input assumption"; &test("$nkf -jSx",$example{'amb'},$example{'amb.sjis'}); # UTF8_STR_OF_JIS_SECOND_LEVEL_KANJI $example{'utf8_str_of_jis_second_level_kanji'} = "\xe9\xa4\x83\xe5\xad\x90"; printf "%-40s", "UTF8_STR_OF_JIS_SECOND_LEVEL_KANJI"; &test("$nkf -w",$example{'utf8_str_of_jis_second_level_kanji'}, $example{'utf8_str_of_jis_second_level_kanji'}); # Broken JIS printf "%-40s", "Broken JIS"; $input = $example{'jis'}; $input =~ s/\033//g; &test("$nkf -Be",$input,$example{'euc'}); printf "%-40s", "Broken JIS is safe on Normal JIS?"; $input = $example{'jis'}; &test("$nkf -Be",$input,$example{'euc'}); # test_data/cp932 $example{'test_data/cp932'} = unpack('u',<<'eofeof'); %^D`@_$L` eofeof $example{'test_data/cp932.ans'} = unpack('u',<<'eofeof'); %_/$@_.X` eofeof printf "%-40s", "test_data/cp932"; &test("$nkf -eS",$example{'test_data/cp932'},$example{'test_data/cp932.ans'}); printf "%-40s", "test_data/cp51932"; &test("$nkf --ic=cp932 --oc=cp51932",$example{'test_data/cp932'},$example{'test_data/cp932.ans'}); # test_data/cp932inv printf "%-40s", "test_data/cp932inv"; &test("$nkf -sE --cp932",$example{'test_data/cp932.ans'},$example{'test_data/cp932'}); # test_data/no-cp932inv $example{'test_data/no-cp932inv.ans'} = unpack('u',<<'eofeof'); %[N\@[NP` eofeof printf "%-40s", "test_data/no-cp932inv"; &test("$nkf -sE --no-cp932",$example{'test_data/cp932.ans'},$example{'test_data/no-cp932inv.ans'}); # JIS X 0212 $example{'jisx0212_euc'} = "\x8F\xA2\xAF\x8F\xED\xE3"; $example{'jisx0212_jis'} = "\x1b\x24\x28\x44\x22\x2f\x6d\x63\x1b\x28\x42"; printf "%-40s", "ISO-2022-JP-1 to EUC-JP"; &test("$nkf --ic=ISO-2022-JP-1 --oc=EUC-JP",$example{'jisx0212_jis'},$example{'jisx0212_euc'}); printf "%-40s", "EUC-JP to ISO-2022-JP-1"; &test("$nkf --ic=EUC-JP --oc=ISO-2022-JP-1",$example{'jisx0212_euc'},$example{'jisx0212_jis'}); # JIS X 0213 $example{'jisx0213_sjis'} = unpack('u',<<'eofeof'); 0@:V(G9ATF)WJIN_W\$#\]``` eofeof $example{'jisx0213_euc'} = unpack('u',<<'eofeof'); 2HJ^O_<_5S_WTJ/[YCZ&AC_[V eofeof $example{'jisx0213_jis2000'} = unpack('u',<<'eofeof'); ;&R0H3R(O+WU/54]]="A^>1LD*%`A(7YV&RA" eofeof $example{'jisx0213_jis2004'} = unpack('u',<<'eofeof'); ;&R0H42(O+WU/54]]="A^>1LD*%`A(7YV&RA" eofeof $example{'jisx0213_utf8'} = unpack('u',<<'eofeof'); :[[R'Y:REY:V!Y;>+Y;>BZ;ZB\*""B?"JFK(` eofeof printf "%-40s", "Shift_JISX0213 to EUC-JISX0213"; &test("$nkf --ic=Shift_JISX0213 --oc=EUC-JISX0213",$example{'jisx0213_sjis'},$example{'jisx0213_euc'}); printf "%-40s", "EUC-JISX0213 to Shift_JISX0213"; &test("$nkf --ic=EUC-JISX0213 --oc=Shift_JISX0213",$example{'jisx0213_euc'},$example{'jisx0213_sjis'}); printf "%-40s", "ISO-2022-JP-3 to EUC-JISX0213"; &test("$nkf --ic=ISO-2022-JP-3 --oc=EUC-JISX0213",$example{'jisx0213_jis2000'},$example{'jisx0213_euc'}); printf "%-40s", "ISO-2022-JP-2004 to EUC-JISX0213"; &test("$nkf --ic=ISO-2022-JP-2004 --oc=EUC-JISX0213",$example{'jisx0213_jis2004'},$example{'jisx0213_euc'}); printf "%-40s", "EUC-JISX0213 to ISO-2022-JP-2004"; &test("$nkf --ic=EUC-JISX0213 --oc=ISO-2022-JP-2004",$example{'jisx0213_euc'},$example{'jisx0213_jis2004'}); printf "%-40s", "EUC-JISX0213 to UTF-8"; &test("$nkf --ic=EUC-JISX0213 -w",$example{'jisx0213_euc'},$example{'jisx0213_utf8'}); printf "%-40s", "UTF-8 to EUC-JISX0213"; &test("$nkf -W --oc=EUC-JISX0213",$example{'jisx0213_utf8'},$example{'jisx0213_euc'}); printf "%-40s", "ISO-2022-JP-{1,3,2004} to UTF-8"; &test("$nkf --ic=iso-2022-jp-2004 -w", "\x1b\$B5Y\x1b\$(O~e\x1b\$(Q.!\x1b\$(P#M\x1b\$(D\\e\x1b(B", "\xe4\xbc\x91\xe9\xb7\x97\xe4\xbf\xb1\xe5\x8c\x8b\xe8\xa4\xb1"); printf "%-40s", "UTF-8 to ISO-2022-JP-2004"; &test("$nkf -W --oc=iso-2022-jp-2004", "\xe4\xbc\x91\xe9\xb7\x97\xe4\xbf\xb1\xe5\x8c\x8b\xe8\xa4\xb1", "\x1b\$(Q5Y~e.!\x1b\$(P#M\x1b(B"); # test_data/jisx0213nonbmp $example{'test_data/jisx0213nonbmp'} = unpack('u',<<'eofeof'); MKJ*OPJ_,K^"O^\_4S^//[O6Z]?+VJ?:R]N#W[/C^^:GYQ_G4^>[ZW?NS^\G[ M[/S)_-'^YH^AH8^AJX^AKH^AMH^AQH^A\(^A]X^A^8^CHH^CI8^CIX^CL8^C MLH^CN(^COX^CP8^CRH^CTH^CTX^CV8^CW(^C]X^DJH^DL8^DLH^DNH^DO8^D MV8^DW(^DWH^DXX^DZH^DZX^D\H^D](^D]8^EI8^ELH^EOH^EQ(^EQX^EU8^E MUH^E_H^HL(^HMX^HN(^HNH^HNX^HOX^HP(^HQ8^HR(^HRH^HRX^HVX^HYH^H M[(^LHH^LJX^LL(^LT(^LY8^L[8^L\H^MI(^MJ8^MJH^MLH^MM(^MM8^MN8^M MUH^M_8^NHX^NI(^NNH^NO(^NO8^NPH^NPX^NQ(^NQX^NR8^NU8^NUH^NUX^N MVX^N]X^N^(^OJH^OOX^OP(^OPH^OPX^OSH^OV8^OX8^OZ8^OZH^O\(^O]8_N MHX_NM(_NR8_NW(_NWH_NWX_NX(_OLH_OQX_OS8_OX8_OY(_PHH_PLX_PN8_P MTX_P^X_QKH_QL(_QM8_QQ(_QW8_QX8_QYH_QZ8_Q]8_Q]X_Q^H_RH8_RHX_R MI(_RJ(_RK(_RO8_RR(_RVX_R]8_R]H_SLH_SO8_SOH_SP(_STH_SW8_SWH_S M\X_S](_S]8_S]X_S^X_S_8_THH_TI(_TIX_TKH_TKX_TM(_TM8_TO8_TPH_T MSX_TZ8_TZX_T\H_T]8_T^8_UM8_UNH_UQH_UUH_UV(_UVH_UW8_UWX_UXX_U MZH_U\(_U\X_VQ(_VSH_VW8_V]8_V_H_WH8_WHH_WLX_WMH_WY(_WY8_WZX_W M[H_W\X_XJ8_XJH_XK(_XM(_XO(_XOH_XPH_XUH_XXX_X]X_X^8_X^H_YI8_Y MKX_YLH_YN8_YPH_YR(_YV8_YWH_YYH_YZX_Y^H_Y_H_ZH8_ZK(_ZKX_ZSX_Z MT(_ZUX_ZY8_ZYH_Z\8_Z\H_Z_H_[H8_[K(_[K8_[MH_[MX_[O8_[OH_[SH_[ MSX_[UX_[VH_[W(_[W8_[X8_[Y8_[YX_[Z8_[\8_\HH_\HX_\N(_\PH_\S(_\ MUH_\V8_\W8_\]H_]K(_]RX_]S(_]V8_]VX_]W8_]YX_][8_]\(_^I8_^J8_^ =JX_^LH_^M8_^TX_^V(_^VH_^[H_^\(_^\H_^]@H` eofeof $example{'test_data/jisx0213nonbmp.ans'} = unpack('u',<<'eofeof'); M\*"`B_"AB+WPH8R;\*&1KO"AHKWPH*Z?\*&:M/"AN+3PHX>$\*.7A/"CG+_P MHYVC\*.SOO"DG['PI9*.\*64CO"EG;'PI:>$\*6VH?"FJ[_PIKF`\*>#M/"G MFH3PJ(FW\*B/C?"JAI#PH(*)\*""HO"@@J3PH(:B\*"(D_"@C*OPH(Z!\*"- ML?"@C[GPH)&*\*"4B?"@EY;PH)BH\*"=C_"@H(?PH*"Z\*"BN?"@I;SPH*:= M\*"KD_"@K)WPH+6%\*"WH?"@NI7PH+FM\*"YI/"@O9_PH8B!\*&)E?"AB;OP MH8FT\*&+I/"ABY?PH8N]\*&,MO"AC83PH8^$\*&1K?"AEY?PIK"I\*&9A_"A MG(;PH9V"\*&G@_"AL9;PH;2M\*&UA?"AM;CPH;6B\*&VH?"AMISPH;:2\*&V MM_"AMZ#PH;BS\*&\GO"AO;;PH;^Z\**%N_"BC)[PHHZM\**;L_"BH9OPHJ*K M\**FC_"BJKCPHJV/\**MD/"BK8;PHK"=\**NIO"BL*3PHK>A\*.'@_"CA[7P MHX:V\*.-LO"CCY/PHX^2\*./D/"CCZ3PHX^5\*./FO"CCY_PHY&*\*.1D?"C MD8OPHY&E\*.3I/"CE9KPHY:4\*.8N?"CF8?PHYBX\*.8NO"CG)SPHYR,\*.= MI/"CG[_PHY^G\*.@I/"CH+WPHZJ8\*.QO_"CM(#PH[6`\*.WNO"CM[GPH[>3 M\*.]OO"D@I;PI(2#\*2'AO"DA[[PI(Z\\*28J?"DFJ7PI**6\*2IC?"DK9;P MI*VO\*2PEO"DM)3PI+B.\*2XM_"DN:KPI+J+\*6!BO"E@97PI82B\*6&J?"E MAZ7PI8>-\*6(GO"EB8SPI9"N\*63F?"EEJ?PI9ZI\*6>M/"EIY3PI:ND\*6K MH_"EJ['PI:ZR\*6QB_"EL:3PI;BN\*6YEO"EN:7PI;FB\*6[F/"ENX+PI;NH M\*6\H_"EO9SPI;^@\*6_E/"F@(SPI;^[\*:`E_"F@:#PIH.M\*:)L/"FBH;P MIHV,\*.TCO"FD(+PIIF^\*::L/"FG)WPIJ.=\*:CJO"FI9'PIJ6O\*:GG?"F MJ)[PIJF8\*:JC/"FJK?PIK&S\*:SG?"FN:7PIKZ4\*:_N/"FO[;PIK^W\*>$ MC?"GA+GPIX^;\*>/FO"GC[[PIY"0\*>1B?"GF)7PIYB4\*>8L?"GFI/PIYR. M\*>JA/"GKK/PIZZ^\*>OA_"GLKCPI[:@\*>XD/"GOK?P MJ(**\*B"N_"HBH+PJ(NS\*B0C/"HD97PJ)6K\*B7B/"HEXGPJ)N7\*B;NO"H MI8GPJ*6&\*BEJ_"HIH?PJ*:(\*BFNO"HIKOPJ*B>\*BHJ?"HJ;'PJ*F#\*BJ MF?"HJXWPJ*ND\*BKG?"HKX'PJ*^O\*BTD/"HM;'PJ+>[\*BXG_"HN+;PJ+J) M\*B[J_"HO++PJ+^X\*F*H/"IBK'PJ9*0\*F7C_"IF;_PJ9NP\*FQ\*J8@O"JF)KPJIJR"@`` eofeof printf "%-40s", "EUC-JISX0213 to UTF-8 (not in BMP)"; &test("$nkf --ic=euc-jisx0213 -w",$example{'test_data/jisx0213nonbmp'},$example{'test_data/jisx0213nonbmp.ans'}); printf "%-40s", "UTF-8 to EUC-JISX0213 (not in BMP)"; &test("$nkf -W --oc=euc-jisx0213",$example{'test_data/jisx0213nonbmp.ans'},$example{'test_data/jisx0213nonbmp'}); # test_data/jisx0213needx0213_f $example{'test_data/jisx0213needx0213_f'} = unpack('u',<<'eofeof'); MXH*LPKS#B<.?P['%C<6"Q)C$C<6OR:[%B\63RJ+)FLN0RZ;+GN*=O^*%M^*3 MFN.+DN.+G^*8GO"@@(OE@(+EA(OCDYOEC:'EC:/EEH;OJ+CEG+/EHJGEI9WE MB9WFD[?FF8CFFJ#FGKOFH;+CKK;GI(#OJ8WGIKCOJ97GKYGGL:WGM9SGN8?H M@+?PIJN_Z(VBZ(ZGZ(^1Z)2CZ)F;Z)FLZ*"?[ZFA[ZFB[ZFD\*B)M^F"F>F$ ME>F$I^>J@N>JN>>MI.>ML^>OL.>RIN>SM>2+G>>VI^>ZD>>]DO"CM([H@([P MIIJPZ(2>\*:CG>B)B^^IG>B*M.B.E.B0C^B1O.B4F^B5D?"FO[;HF:_HFZ;H MG+KHG;+HH(OPIYB4Z*.2Z*6%Y)JAZ*BUY)R,\*>NOO"GMJ#HM(GHN:SDH8[H MOK;HO['I@K#IA8;IA9GIB9'PJ*:(Z8N&Z8N[Z8V:Z9")Z96XZ9J]Z9N:Z9Z6 MZ:"EZ:*\Z:.QZ:6`Z:B@Z:BQZ:NE\*FXO>FOKO"INZGIL:GPJH":Z;:9Z;B" -\**(F/"JE['PJIJR"@`` eofeof $example{'test_data/jisx0213needx0213_f.ans'} = unpack('u',<<'eofeof'); MJ:&ILZG`J=6IYZG^JJZJOJK,JM6JZZKZJZJKO:O#J]6KX:OQK*JLO*S+K-VL MZJW^KJ*NO*[,KMNN[Z[PKZJOMJ_%K]^OZ:_^]:3UN/7$]=CUX_7^^:WYM/G$ M^='YYOGP^J3ZM/K(^MWZ[?KY^Z'[MOO.^]+[Y_OY_*_\N/S)_-W\[/SPC_.M MC_.TC_/.C_/1C_/CC_/VC_2HC_2[C_3$C_3>C_3JC_3UC_6EC_6ZC_7!C_76 MC_7KC_7TC_:BC_:WC_;!C_;2C_;FC_;PC_>AC_>[C_?.C_?:C_?BC_?\C_BJ MC_BSC_C`C_C.C_C8C_CKC_CYC_FOC_FSC_G/C_GUO[7#M=^U][7[MA.V-[8_MGNV?[:OMKNVO[;[M MO^W"[<[MS^W0[=[MW^WL[>[M[^W[[?SN1>Y.[D_N4>Y>[E_N;>YO[GWN?NZ' F[HWNC^Z0[I[NG^ZF[J[NK^ZV[K_NQ^[.[L_NT.[?[NSN[^[[[OP` eofeof $example{'test_data/shift_jisx0213-utf8-need-no-cp932.ans'} = unpack('u',<<'eofeof'); MYZ&#YZ2>HN>>IK>^IE>>KJ^>MCN>MH.^IEN2) MI.>QF>>TL>>U@>>WH^>XB.>XD>>_G^>_K.^IF^B%H.B%I^B%J.B*H^B*I.B, MHNB,NNB-@^B/A^B/C^B0BNB2M.B2NNB3@NB6HNB6L.B9F^B9HNB>K>B>M>B@ MG^BCM>^IH.BDF.BHE>BHHNBIN>^IH^BMAN^II.BWCO"HB;?HO93PJ(^-Z+ZF /Z8*^Z82BZ82OZ8>[Z8>D eofeof printf "%-40s", "test_data/shift_jisx0213-utf8-need-no-cp932 "; &test("$nkf --ic=shift_jisx0213 -w",$example{'test_data/shift_jisx0213-utf8-need-no-cp932'},$example{'test_data/shift_jisx0213-utf8-need-no-cp932.ans'}); # jisx0213conflict-ibmext $example{'shift_jisx0213conflict-ibmext'} = "\x87\x40\xed\x40\xee\xf6\xfa\x52\xfb\x45\xfb\xfc\xfc\x4b"; $example{'shift_jisx0213conflict-ibmext.x0213utf8'} = "\xe2\x91\xa0\xe7\xa1\x83\xe9\x86\x9e\xe8\xb4\x89\xe9\x8c\x8d\xe9\xa8\xa0\xf0\xa9\xa9\xb2"; $example{'shift_jisx0213conflict-ibmext.cp932utf8'} = "\xe2\x91\xa0\xe7\xba\x8a\xe2\x85\xb7\xe2\x85\xa8\xe6\xb7\xbc\xe9\xab\x99\xe9\xbb\x91"; printf "%-40s", "Shift_JISX0213 to UTF-8 (ibmext etc)"; &test("$nkf --ic=shift_jisx0213 -w", $example{'shift_jisx0213conflict-ibmext'}, $example{'shift_jisx0213conflict-ibmext.x0213utf8'}); printf "%-40s", "CP932 to UTF-8 (ibmext etc)"; &test("$nkf --ic=cp932 -w", $example{'shift_jisx0213conflict-ibmext'}, $example{'shift_jisx0213conflict-ibmext.cp932utf8'}); printf "%-40s", "UTF-8 to Shift_JISX0213 (ibmext etc)"; &test("$nkf --oc=shift_jisx0213 -W", $example{'shift_jisx0213conflict-ibmext.x0213utf8'}, $example{'shift_jisx0213conflict-ibmext'}); printf "%-40s", "UTF-8 to CP932 (ibmext etc)"; &test("$nkf --oc=cp932 -W --cp932inv", $example{'shift_jisx0213conflict-ibmext.cp932utf8'}, "\x87\x40\xfa\x5c\xfa\x47\x87\x5c\xfb\x45\xfb\xfc\xfc\x4b"); # test_data/jisx0213utf8comb $example{'test_data/jisx0213utf8comb'} = unpack('u',<<'eofeof'); MI/>D^*3YI/JD^Z7WI?BE^:7ZI?NE_*7]I?ZF^*O$J\BKR:O*J\NKS*O-J\ZK .SZOEJ^:KVJOWXX*:PZ;,@,F4 MS(#)E,R!RHS,@,J,S(')FD^*3YI/JD^Z7WI?BE^:7ZI?NE_*7]I?ZF^*O$J\BKR:O*J\NKS*O-J\ZK ,SZOEJ^:KVJOWXX*:PZ;,@,F4 MS(#)E,R!RHS,@,J,S(')FX0208 conversion # X0208 aphabet -> ASCII # X0201 娯紊 print "\nX0201 test\n\n"; $example{'x0201.sjis'} = unpack('u',<<'eofeof'); MD5.*<(-*@TR#3H-0@U*#2X--@T^#48-3"I%3B7""8()A@F*"8X)D@F6"9H*! M@H*"@X*$@H6"AH*'"I%3BTR-AH%)@9>!E(&0@9.!3X&5@9:!:8%J@7R!>X&! M@6V!;H%O@7"!CPJ4O(IPMK>X/;FZMMZWWKC>N=ZZWH+&"I2\BG#*W\O?S-_- MW\[?M]^QW@K*W\O?S`IH86YK86MU(,K?R]_,I`K*W\O?S-VA"I2\BG""S(SC !"@!" eofeof $example{'x0201.euc'} = unpack('u',<<'eofeof'); MP;2ST:6KI:VEKZ6QI;.EK*6NI;"ELJ6T"L&TL=&CP:/"H\.CQ*/%H\:CQZ/A MH^*CXZ/DH^6CYJ/G"L&TM:VYYJ&JH?>A]*'PH?.AL*'UH?:ARJ'+H=VAW*'A MHCK>.WHZXCMZ.N8[>CKJ. MWJ3("LB^L]&.RH[?CLN.WX[,CM^.S8[?CLZ.WXZWCM^.L8[>"H[*CM^.RX[? MCLP*:&%N:V%K=2".RH[?CLN.WX[,CJ0*CLJ.WX[+CM^.S([=CJ$*R+ZST:3. #N.4* eofeof $example{'x0201.utf'} = unpack('u',<<'eofeof'); MY86HZ*>2XX*KXX*MXX*OXX*QXX*SXX*LXX*NXX*PXX*RXX*T"N6%J.B+L>^\ MH>^\HN^\H^^\I.^\I>^\IN^\I^^]@>^]@N^]@^^]A.^]A>^]AN^]APKEA:CH MJ)CEC[?OO('OO*#OO(/OO(3OO(7OO+[OO(;OO(KOO(COO(GBB)+OO(OOO)WO MO+OOO+WOO9OOO9W"I0KEC8KHIY+OO;;OO;?OO;@][[VY[[VZ[[VV[[Z>[[VW M[[Z>[[VX[[Z>[[VY[[Z>[[VZ[[Z>XX&H"N6-BNBGDN^^BN^^G^^^B^^^G^^^ MC.^^G^^^C>^^G^^^CN^^G^^]M^^^G^^]L>^^G@KOOHKOOI_OOHOOOI_OOHP* M:&%N:V%K=2#OOHKOOI_OOHOOOI_OOHSOO:0*[[Z*[[Z?[[Z+[[Z?[[Z,[[Z= 1[[VA"N6-BNBGDN.!KN6^C`H` eofeof $example{'x0201.jis'} = unpack('u',<<'eofeof'); M&R1"030S424K)2TE+R4Q)3,E+"4N)3`E,B4T&RA""ALD0D$T,5$C02-"(T,C M1"-%(T8C1R-A(V(C8R-D(V4C9B-G&RA""ALD0D$T-2TY9B$J(7.5XZ7ALD0B1(&RA""ALD0D@^,U$;*$E*7TM?3%]-7TY? M-U\Q7ALH0@H;*$E*7TM?3!LH0@IH86YK86MU(!LH24I?2U],)!LH0@H;*$E* 97TM?3%TA&RA""ALD0D@^,U$D3CAE&RA""@`` eofeof $example{'x0201.sosi'} = unpack('u',<<'eofeof'); M&R1"030S424K)2TE+R4Q)3,E+"4N)3`E,B4T&RA*"ALD0D$T,5$C02-"(T,C M1"-%(T8C1R-A(V(C8R-D(V4C9B-G&RA*"ALD0D$T-2TY9B$J(7.5XZ7@\;)$(D2!LH2@H;)$)(/C-1&RA*#DI?2U],7TU? M3E\W7S%>#PH.2E]+7TP/&RA*"FAA;FMA:W4@#DI?2U],)`\;*$H*#DI?2U], 672$/&RA*"ALD0D@^,U$D3CAE&RA""@`` eofeof $example{'x0201.x0208'} = unpack('u',<<'eofeof'); M&R1"030S424K)2TE+R4Q)3,E+"4N)3`E,B4T&RA""ALD0D$T,5$;*$)!0D-$ M149'86)C9&5F9PH;)$)!-#4M.68;*$(A0",D)5XF*B@I+2L]6UU[?1LD0B%O M&RA""ALD0D@^,U$E*R4M)2\;*$(]&R1")3$E,R4L)2XE,"4R)30D2!LH0@H; M)$)(/C-1)5$E5"57)5HE724M(2PE(B$K&RA""ALD0B51)50E51LH0@IH86YK M86MU(!LD0B51)50E52$B&RA""ALD0B51)50E525S(2,;*$(*&R1"2#XS421. &.&4;*$(* eofeof # -X is necessary to allow X0201 in SJIS # -Z convert X0208 alphabet to ASCII printf "%-40s", "X0201 conversion: SJIS"; &test("$nkf -jXZ",$example{'x0201.sjis'},$example{'x0201.x0208'}); printf "%-40s", "X0201 conversion: JIS"; &test("$nkf -jZ",$example{'x0201.jis'},$example{'x0201.x0208'}); printf "%-40s", "X0201 conversion: SI/SO"; &test("$nkf -jZ",$example{'x0201.sosi'},$example{'x0201.x0208'}); printf "%-40s", "X0201 conversion: EUC"; &test("$nkf -jZ",$example{'x0201.euc'},$example{'x0201.x0208'}); printf "%-40s", "X0201 conversion: UTF8"; &test("$nkf -jZ",$example{'x0201.utf'},$example{'x0201.x0208'}); printf "%-40s", "-wZ"; &test("$nkf -wZ", "\xE3\x80\x80\xEF\xBD\x81\xEF\xBC\xA1&\xE3\x82\xA2", "\xE3\x80\x80aA&\xE3\x82\xA2"); printf "%-40s", "-wZ0"; &test("$nkf -wZ0", "\xE3\x80\x80\xEF\xBD\x81\xEF\xBC\xA1&\xE3\x82\xA2", "\xE3\x80\x80aA&\xE3\x82\xA2"); printf "%-40s", "-wZ1"; &test("$nkf -wZ1", "\xE3\x80\x80\xEF\xBD\x81\xEF\xBC\xA1&\xE3\x82\xA2", " aA&\xE3\x82\xA2"); printf "%-40s", "-wZ2"; &test("$nkf -wZ2", "\xE3\x80\x80\xEF\xBD\x81\xEF\xBC\xA1&\xE3\x82\xA2", " aA&\xE3\x82\xA2"); printf "%-40s", "-wZ3"; &test("$nkf -wZ3", "\xE3\x80\x80\xEF\xBD\x81\xEF\xBC\xA1&\xE3\x82\xA2", "\xE3\x80\x80aA&\xE3\x82\xA2"); printf "%-40s", "-wZ4"; &test("$nkf -wZ4", "\xE3\x80\x80\xEF\xBD\x81\xEF\xBC\xA1&\xE3\x82\xA2", "\xE3\x80\x80aA&\xEF\xBD\xB1"); # -x means X0201 output printf "%-40s", "X0201 output: SJIS"; &test("$nkf -xs",$example{'x0201.euc'},$example{'x0201.sjis'}); printf "%-40s", "X0201 output: JIS"; &test("$nkf -xj",$example{'x0201.sjis'},$example{'x0201.jis'}); printf "%-40s", "X0201 output: EUC"; &test("$nkf -xe",$example{'x0201.jis'},$example{'x0201.euc'}); printf "%-40s", "X0201 output: UTF8"; &test("$nkf -xw",$example{'x0201.jis'},$example{'x0201.utf'}); # test_data/x0201jis= $example{'test_data/x0201jis=.ans'} = unpack('u',<<'eofeof'); MH:*CI*6FIZBIJJNLK:ZOL+&RL[2UMK>XN;J[O+V^O\#!PL/$Q<;'R,G*R\S- 2SL_0T=+3U-76U]C9VMO?\@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\\]^_\x1b(B", $example{'test_data/x0201jis=.ans'}); # test_data/Xx0213 $example{'test_data/Xx0213'} = unpack('u',<<'eofeof'); M[[VV[[Z?[[VW[[Z?[[VX[[Z?[[VY[[Z?[[VZ[[Z?[[V^[[Z?[[Z"[[Z?[[Z$ *[[Z?XX>WXX*:"@`` eofeof $example{'test_data/Xx0213.ans'} = unpack('u',<<'eofeof'); 3I?>E^*7YI?JE^Z7\I?VE_J;X"@`` eofeof printf "%-40s", "test_data/Xx0213 "; &test("$nkf -X -W --oc=euc-jisx0213",$example{'test_data/Xx0213'},$example{'test_data/Xx0213.ans'}); # test_data/xx0213 $example{'test_data/xx0213'} = unpack('u',<<'eofeof'); M[[VV[[Z?[[VW[[Z?[[VX[[Z?[[VY[[Z?[[VZ[[Z?[[V^[[Z?[[Z"[[Z?[[Z$ *[[Z?XX>WXX*:"@`` eofeof $example{'test_data/xx0213.ans'} = unpack('u',<<'eofeof'); CCK:.WXZWCM^.N([?CKF.WXZZCM^.OH[?CL*.WX[$CM^F^`H` eofeof printf "%-40s", "test_data/xx0213 "; &test("$nkf -x -W --oc=euc-jisx0213",$example{'test_data/xx0213'},$example{'test_data/xx0213.ans'}); # test_data/Z4x0213 $example{'test_data/Z4x0213'} = unpack('u',<<'eofeof'); 3I?>E^*7YI?JE^Z7\I?VE_J;X"@`` eofeof $example{'test_data/Z4x0213.ans'} = unpack('u',<<'eofeof'); M[[VV[[Z?[[VW[[Z?[[VX[[Z?[[VY[[Z?[[VZ[[Z?[[V^[[Z?[[Z"[[Z?[[Z$ *[[Z?XX>WXX*:"@`` eofeof printf "%-40s", "test_data/Z4x0213 "; &test("$nkf -Z4 --ic=euc-jisx0213 -w",$example{'test_data/Z4x0213'},$example{'test_data/Z4x0213.ans'}); # test_data/Z4comb $example{'test_data/Z4comb'} = unpack('u',<<'eofeof'); MXX""XX",XX"-XX"!XX.[XX.\XX*;XX*XX.?XX.@XX.AXX.BXX.C MXX.DXX.EXX.FXX.GXX.HXX.IXX.JXX.KXX.LXX.MXX.OXX.RXX.SXX.TXX*K MXX*:XX*MXX*:XX*OXX*:XX*QXX*:XX*SXX*:XX*[XX*:XX.$XX*:XX.(XX*: -XX>WXX*:XX*BXX*9"@`` eofeof $example{'test_data/Z4comb.ans'} = unpack('u',<<'eofeof'); MCJ&.HHZCCJ2.I8ZPCMZ.WXZGCK&.J(ZRCJF.LXZJCK2.JXZUCK:.MH[>CK>. MMX[>CKB.N([>CKF.N8[>CKJ.NH[>CKN.NX[>CKR.O([>CKV.O8[>CKZ.OH[> MCK^.OX[>CL".P([>CL&.P8[>CJ^.PH["CMZ.PX[#CMZ.Q([$CMZ.Q8[&CL>. MR([)CLJ.RH[>CLJ.WX[+CLN.WH[+CM^.S([,CMZ.S([?CLV.S8[>CLV.WX[. MCLZ.WH[.CM^.SX[0CM&.TH[3CJR.U(ZMCM6.KH[6CM>.V([9CMJ.VX[.WXZXCM^.N8[?CKJ.WXZ^CM^.PH[?CL2.WZ;XCK&.W@H` eofeof printf "%-40s", "test_data/Z4comb "; &test("$nkf -Z4 -W --oc=euc-jisx0213",$example{'test_data/Z4comb'},$example{'test_data/Z4comb.ans'}); # MIME decode print "\nMIME test\n\n"; # MIME ISO-2022-JP $example{'mime.iso2022'} = unpack('u',<<'eofeof'); M/3])4T\M,C`R,BU*4#]"/T=Y4D%.144W96E23TI566Q/4U9)1WEH2S\]"CT_ M:7-O+3(P,C(M2E`_0C]'>5)!3D5%-V5I4D]*55EL3U-624=Y:$L_/0H]/VES M;RTR,#(R+4I0/U$_/3%")$(D1B11/3%"*$)?96YD/ST*&R1`)#TD)B0K)$H; M*$H@/3])4T\M,C`R,BU*4#]"/T=Y4D%.144W96E23U!Y:S=D:'-O4V<]/3\] M(&5N9"!O9B!L:6YE"CT_25-/+3(P,C(M2E`_0C]'>5)!3D5%-V5I4D]0>6LW M9&AS;U-G/3T_/2`]/TE33RTR,#(R+4I0/T(_1WE204Y%13=E:5)/4'EK-V1H M5)!3D5%-V5I 44D]*55EL3QM;2U-624=Y:$L_/0H_ eofeof $example{'mime.ans.strict'} = unpack('u',<<'eofeof'); M&R1"-$$[>B1.)48E.25(&RA""ALD0C1!.WHD3B5&)3DE2!LH0@H;)$(D1B11 M&RA"(&5N9`H;)$(D/20F)"LD2ALH0B`;)$(T03MZ)$X_*3MV&RA"96YD(&]F M(&QI;F4*&R1"-$$[>B1./RD[=C1!.WHD3C\I.W8;*$(*0G)O:V5N(&-A5)!3D5%-V5I4D]*55EL3QM;2U-624=Y:$L_/0H_ eofeof $example{'mime.unbuf.strict'} = unpack('u',<<'eofeof'); M&R1"-$$[>B1.)48E.25(&RA""ALD0C1!.WHD3B5&)3DE2!LH0@H;)$(D1B11 M&RA"(&5N9`H;)$(D/20F)"LD2ALH0B`;)$(T03MZ)$X_*3MV&RA"96YD(&]F M(&QI;F4*&R1"-$$[>B1./RD[=C1!.WHD3C\I.W8;*$(*0G)O:V5N(&-AB1./RD;*$)H5)! M3D5%-V5I4D]0>6LW9&AS;U-G/3T_/0H;)$(T03MZ)$XE1ALH0EM+4U9)1WEH $2S\]"F5I eofeof $example{'mime.ans'} = unpack('u',<<'eofeof'); M&R1"-$$[>B1.)48E.25(&RA""ALD0C1!.WHD3B5&)3DE2!LH0@H;)$(D1B11 M&RA"(&5N9`H;)$(D/20F)"LD2ALH0B`;)$(T03MZ)$X_*3MV&RA"96YD(&]F M(&QI;F4*&R1"-$$[>B1./RD[=C1!.WHD3C\I.W8;*$(*0G)O:V5N(&-AB1./RD;*$)HB1./RD[=ALH0@H;)$(T 603MZ)$XE1ALH0EM+4U9)1WEH2S\]"@`* eofeof $example{'mime.unbuf'} = unpack('u',<<'eofeof'); M&R1"-$$[>B1.)48E.25(&RA""ALD0C1!.WHD3B5&)3DE2!LH0@H;)$(D1B11 M&RA"(&5N9`H;)$(D/20F)"LD2ALH0B`;)$(T03MZ)$X_*3MV&RA"96YD(&]F M(&QI;F4*&R1"-$$[>B1./RD[=C1!.WHD3C\I.W8;*$(*0G)O:V5N(&-AB1./RD;*$)HB1./RD[=ALH0@H;)$(T 603MZ)$XE1ALH0EM+4U9)1WEH2S\]"@`* eofeof $example{'mime.base64'} = unpack('u',<<'eofeof'); M9W-M5"])3&YG$I+-&=Q=4,S24LS9W%Q0E%:3TUI-39,,S0Q-&=S5T)1 M43!+9VUA1%9O3T@*9S)+1%1O3'=K8C)1;$E+;V=Q2T-X24MG9W5M0W%*3EEG <$E+9V=U;4,X64Q&9W)70S592VMG<6U""F=Q eofeof $example{'mime.base64.ans'} = unpack('u',<<'eofeof'); M&R1")$M&?B1I)#LD1D0Z)"TD7B0Y)"PA(D5L-7XV83E9)$B1.)48E.25(&RA""ALD0C1!.WHD3B5&)3DE2!LH0@H;)$(D1B11 M&RA"96YD"ALD0B0])"8D*R1*&RA"&R1"-$$[>B1./RD[=ALH0F5N9&]F;&EN M90H;)$(T03MZ)$X_*3MV-$$[>B1./RD[=ALH0@I"B1.)48E.25(&RA""ALD0C1!.WHD3B5&)3DE2!LH0@H;)$(D1B11 M&RA"96YD"ALD0B0])"8D*R1*&RA"&R1"-$$[>B1./RD[=ALH0F5N9&]F;&EN M90H;)$(T03MZ)$X_*3MV-$$[>B1./RD[=ALH0@I"tmp1");printf "%-40s", OUT pack('u',$tmp);close(OUT); # unbuf mode implies more pessimistic decode printf "%-40s", "MIME decode (unbuf)"; $tmp = &test("$nkf -jmNu",$example{'mime.iso2022'},$example{'mime.unbuf'},$example{'mime.unbuf.alt'}); # open(OUT,">tmp2");printf "%-40s", OUT pack('u',$tmp);close(OUT); printf "%-40s", "MIME decode (base64)"; &test("$nkf -jmB",$example{'mime.base64'},$example{'mime.base64.ans'}); #MIME BASE64 must be LF? # MIME ISO-8859-1 $example{'mime.is8859'} = unpack('u',<<'eofeof'); M/3])4T\M.#@U.2TQ/U$_*CU#-V%V83\_/2`*4&5E2P@1$5.34%22R`@7"`B36EN(&OF<&AEI**DQ*2KI*:DR*&BI,FDIJ3BI-^DT*2HI*RD[Z3KI*2DMZ&B MI,BDP:3EI*:DQZ3!I.>D\Z2NI.RDZZ2KI.*DMZ3SI,JDI*&C"J2SI+.DSR!# M4B],1B"DSKG4H:,-"J2SI+.DSR!#4B"DSKG4H:,-I+.DLZ3/($Q&+T-2(*3. 9N=2AHPH-"J2SI+.DSR!,1B"DSKG4H:,*"@`` eofeof $example{'test_data/long-fold-1.ans'} = unpack('u',<<'eofeof'); M&R1")$HD+"0D)$HD+"0D)$HD+"%!)"0D+B1G)"8D+"0B)&HD7B0W)$8A(B0S M)&PD)"(D1"0K&RA""ALD0B0F)$@A(B1))"8D8B1?)%`D*"0L M)&\D:R0D)#I**DQ*2KI*:DR*&BI,FDIJ3BI-^DT*2HI*RD[Z3KI*2DMZ&B MI,BDP:3EI*:DQZ3!I.>D\Z2NI.RDZZ2KI.*DMZ3SI,JDI*&C"J2SI+.DS\.[ 'I*2YU*&C"@`` eofeof $example{'test_data/long-fold.ans'} = unpack('u',<<'eofeof'); M&R1")$HD+"0D)$HD+"0D)$HD+"%!)"0D+B1G)"8D+"0B)&HD7B0W)$8A(B0S M)&PD)"(D1"0K&RA""ALD0B0F)$@A(B1))"8D8B1?)%`D*"0L M)&\D:R0D)#5)#2D-):TI#46U*0V=K2VE1 M5%X2D1-:TY343-*1&MB2T5)/3\]"B`]/TE33RTR,#(R+4I0/T(_ M1WE20TI$5)#2D-):TI#46U*0V=K2VE1 M5%X2D1-:TY343-'>6A#/ST*(#T_25-/+3(P,C(M2E`_0C]'>5)# M2D1K:T]Y43E*1#AK45-214I%66M30U)+2D5S:U1#4DY*131K5'E24TI&56M7 M0U)B1WEH0S\]"B`]/TE33RTR,#(R+4I0/T(_1WE20TI&-&M8>5)G2D=%:UEI M4FM*0U%K6FE1;TI'9V)+14D]/ST*+2TM+0I3=6)J96-T.B!A86%A(&%A86$@ M86%A82!A86%A(&%A86$@86%A82!A86%A"B`]/TE33RTR,#(R+4I0/T(_1WE2 M0TI#26M*0U%M2D-G:TMH5)#2D-):TI#46U*0V=K2VE1 M5%X2D1-:TY343-*1&MK3WE1.4=Y:$,_/0H@/3])4T\M,C`R,BU* M4#]"/T=Y4D-*1#AK45-214I%66M30U)+2D5S:U1#4DY*131K5'E24TI&56M7 M0U)B2D8T:UAY4F='>6A#/ST*(#T_25-/+3(P,C(M2E`_0C]'>5)#2D=%:UEI M4FM*0U%K6FE1;TI'9V)+14D]/ST*+2TM+0I3=6)J96-T.B!A86%A(&%A86$@ M86%A82!A86%A(&%A86$@86%A82!A86%A(#T_25-/+3(P,C(M2E`_0C]'>5)# M2D-):TI"5)#2D-9:TM#47%' @>6A#/ST@86%A82!A86%A(&%A86$@86%A80HM+2TM"@H` eofeof $example{'test_data/mime_out.ans.alt3'} = unpack('u',<<'eofeof'); M"BTM+2T*4W5B:F5C=#H@86%A82!A86%A(&%A86$@86%A82!A86%A(&%A86$@ M86%A82!A86%A(&%A86$@86%A82!A86%A(&%A86$@86%A80H@86%A80HM+2TM M"E-U8FIE8W0Z(#T_25-/+3(P,C(M2E`_0C]'>5)#2D-):TI#46U*0V=K2VE1 M5%X2D1-:TY343-*1&MK3WE1.4=Y:$,_/0H@/3])4T\M,C`R,BU* M4#]"/T=Y4D-*1#AK45-214I%66M30U)+2D5S:U1#4DY*131K5'E24TI&56M7 M0U)B2D8T:UAX5)#2D=!:UE3 M4FE*1U%K2D-2;4I#9VMA0G-O46<]/3\]"BTM+2T*4W5B:F5C=#H@86%A82!A M86%A(&%A86$@86%A82!A86%A(&%A86$@86%A82`]/TE33RTR,#(R+4I0/T(_ M1WE20TI#26M*0G-O46<]/3\]"B`]/TE33RTR,#(R+4I0/T(_1WE20TI#66M+ D0U%Q1WEH0S\](&%A86$@86%A82!A86%A(&%A86$*+2TM+0H*1 eofeof printf "%-40s", "test_data/mime_out"; &test("$nkf -jM",$example{'test_data/mime_out'},$example{'test_data/mime_out.ans'},$example{'test_data/mime_out.ans.alt'},$example{'test_data/mime_out.ans.alt2'},$example{'test_data/mime_out.ans.alt3'}); # test_data/mime_out3 $example{'test_data/mime_out3'} = "\x82\xD9\x82\xB0 A"; $example{'test_data/mime_out3.ans'} = "=?ISO-2022-JP?B?GyRCJFskMhsoQg==?= A"; printf "%-40s", "test_data/mime_out3"; &test("$nkf -jSM",$example{'test_data/mime_out3'},$example{'test_data/mime_out3.ans'}); # test_data/multi-line $example{'test_data/multi-line'} = unpack('u',<<'eofeof'); MI,JDK*2DI,JDK*2DI,JDK*'!I*2DKJ3GI*:DK*2BI.JDWJ2WI,:AH@"DLZ3L MI/*DO:3.I-ZDWJ2BI,2DJZ2FI,BAHJ3)I*:DXJ3?I-"DJ*2LI.^DZZ2DI+>A MHJ3(I,&DY:2FI,>DP:3GI/.DKJ3LI.NDJZ3BI+>D\Z3*I*2AHPJDLZ2SI,_# 8NZ2DN=2AHP`*I+.DLZ3/P[NDI+G4H:,* eofeof $example{'test_data/multi-line.ans'} = unpack('u',<<'eofeof'); MI,JDK*2DI,JDK*2DI,JDK*'!I*2DKJ3GI*:DK*2BI.JDWJ2WI,:AH@"DLZ3L MI/*DO:3.I-ZDWJ2BI,2DJZ2FI,BAHJ3)I*:DXJ3?I-"DJ*2LI.^DZZ2DI+>A MHJ3(I,&DY:2FI,>DP:3GI/.DKJ3LI.NDJZ3BI+>D\Z3*I*2AHPJDLZ2SI,_# 8NZ2DN=2AHP`*I+.DLZ3/P[NDI+G4H:,* eofeof printf "%-40s", "test_data/multi-line"; &test("$nkf -e",$example{'test_data/multi-line'},$example{'test_data/multi-line.ans'}); # test_data/-Z4 $example{'test_data/-Z4'} = unpack('u',<<'eofeof'); MH:.AUJ'7H:*AIJ&\H:NAK*6AI:*EHZ6DI:6EIJ6GI:BEJ:6JI:NEK*6MI:ZE MKZ6PI;&ELJ6SI;2EM:6VI;>EN*6YI;JENZ6\I;VEOJ6_I<"EP:7"I<.EQ*7% MI<:EQZ7(I&EXJ7CI>2EY:7FI>>EZ*7II>JEZZ7LI>VE[Z7RI?.E]``` eofeof $example{'test_data/-Z4.ans'} = unpack('u',<<'eofeof'); MCJ&.HHZCCJ2.I8ZPCMZ.WXZGCK&.J(ZRCJF.LXZJCK2.JXZUCK:.MH[>CK>. MMX[>CKB.N([>CKF.N8[>CKJ.NH[>CKN.NX[>CKR.O([>CKV.O8[>CKZ.OH[> MCK^.OX[>CL".P([>CL&.P8[>CJ^.PH["CMZ.PX[#CMZ.Q([$CMZ.Q8[&CL>. MR([)CLJ.RH[>CLJ.WX[+CLN.WH[+CM^.S([,CMZ.S([?CLV.S8[>CLV.WX[. MCLZ.WH[.CM^.SX[0CM&.TH[3CJR.U(ZMCM6.KH[6CM>.V([9CMJ.VX[$E+:6=R,D-V;TMI ,9W-30V]O3&,*/ST* eofeof $example{'test_data/non-strict-mime.ans'} = unpack('u',<<'eofeof'); M&R1")$8D)"0_)$`D)"1&)%XD.2$C&RA"#0H-"ALD0CMD)$\[?B$Y)6PE.21+ <)&(]<20K)#LD1B0D)#\D0"0D)$8D)"1>&RA""@`` eofeof printf "%-40s", "test_data/non-strict-mime"; &test("$nkf -jmN",$example{'test_data/non-strict-mime'},$example{'test_data/non-strict-mime.ans'}); # test_data/q-encode-softrap $example{'test_data/q-encode-softrap'} = unpack('u',<<'eofeof'); H/3%")$(T03MZ)3T*,R$\)4DD3CTQ0BA""CTQ0B1"2E$T.3TQ0BA""@`` eofeof $example{'test_data/q-encode-softrap.ans'} = unpack('u',<<'eofeof'); >&R1"-$$[>B4S(3PE221.&RA""ALD0DI1-#D;*$(* eofeof printf "%-40s", "test_data/q-encode-softrap"; &test("$nkf -jmQ",$example{'test_data/q-encode-softrap'},$example{'test_data/q-encode-softrap.ans'}); # test_data/q-encode-utf-8 $example{'test_data/q-encode-utf-8'} = <<'eofeof'; =?utf-8?Q?=E3=81=82=E3=81=84=E3=81=86=E3=81=88=E3=81=8A?= =?utf-8?Q?=E3=81=8B=E3=81=8D=E3=81=8F=E3=81=91=E3=81=93?= eofeof $example{'test_data/q-encode-utf-8.ans'} = <<"eofeof"; \xE3\x81\x82\xE3\x81\x84\xE3\x81\x86\xE3\x81\x88\xE3\x81\x8A \xE3\x81\x8B\xE3\x81\x8D\xE3\x81\x8F\xE3\x81\x91\xE3\x81\x93 eofeof printf "%-40s", "test_data/q-encode-utf-8"; &test("$nkf -w",$example{'test_data/q-encode-utf-8'},$example{'test_data/q-encode-utf-8.ans'}); # test_data/rot13 $example{'test_data/rot13'} = unpack('u',<<'eofeof'); MI+.D\Z3+I,&DSZ&BS:W"]*3(I*2DI*3>I+FAHPH*;FMF('9EI+FDK*&B05-#24D@I,O"T*2WI,8@ M4D]4,3,@I*P*P+6DMZ2OQK"DI*3&I*2DRJ2DI.BDIJ3'H:*PRK*\I,ZDZ*2F MI,O*T;2YI+6D[*3>I+ND\Z&C"@HE(&5C:&\@)VAO9V4G('P@;FMF("UR"FAO #9V4* eofeof $example{'test_data/rot13.ans'} = unpack('u',<<'eofeof'); M&R1"4V)31%-Z4W!3?E!1?%QQ15-W4U-34U,O4VA04ALH0@H*87AS(&ER92XQ M+CDR(!LD0E-#?$E\(E-D4VI3=5-34VY3;U-34W534U,O4VA36U!1&RA"3D90 M5E8@&R1"4WIQ(5-F4W4;*$(@14)',3,@&R1"4UL;*$(*&R1";V139E->=5]3 M4U-U4U-3>5-34SE355-V4%%?>6%K4WU3.5-54WIY(F-H4V13/5,O4VI31%!2 A&RA""@HE(')P=6(@)W5B='(G('P@87AS("UE"G5B='(* eofeof printf "%-40s", "test_data/rot13"; &test("$nkf -jr",$example{'test_data/rot13'},$example{'test_data/rot13.ans'}); # test_data/slash $example{'test_data/slash'} = unpack('u',<<'eofeof'); 7("`]/U8\5"U5.5=%2RTK.U4J..# MH>.#O..#J^BAJ.FAC"#HJ:;IJ)/GE*CC@Z'C@[SC@ZOHH:CIH8P@Z*FFZ:B3 3YY2HXX.AXX.\XX.KZ*&HZ:&,"@`` eofeof $example{'test_data/bugs10904.ans'} = unpack('u',<<'eofeof'); M4W5B:F5C=#H@/3])4T\M,C`R,BU*4#]"/T=Y4D-/,C0T33`Q4DI716A00U9R ?4U0Q0V%H5)#2E=%:%!#5G)35#%#86AS;U%I06)*14DW ?8FIG>E1616Q94T4X2E=T2E!52G%'>6A#24$]/3\]"@`` M(#T_25-/+3(P,C(M2E`_0C]'>5)#3S(T-$TP,5)*5T5H4$-65)#6#)98DM%23T_/0H` eofeof printf "%-40s", "test_data/bug19779 "; &test("$nkf -jM",$example{'test_data/bug19779'},$example{'test_data/bug19779.ans'}); printf "%-40s", "[nkf-forum:47327] "; &test("$nkf -wM",pack('H*','feffd852de76d814dc45000a'),"=?UTF-8?B?8KSptvCVgYU=?=\n"); printf "%-40s", "[nkf-forum:47334] "; &test("$nkf -w",pack('H*','feff006100620063000a'),"abc\n"); printf "%-40s", "[nkf-bug:20079] "; &test("$nkf -jSxM","\xBB \xBB","=?ISO-2022-JP?B?GyhJOxsoQiAbKEk7GyhC?="); printf "%-40s", "[nkf-bug:20079] "; &test("$nkf -SxMw8","\xBB \xBB","=?UTF-8?B?77u/7727IO+9uw==?="); printf "%-40s", "[nkf-forum:48850] "; &test("$nkf -jSM", "From: \x82\xA0\x82\xA0\x82\xA0\x82\xA0\x82\xA0\x82\xA0\x82\xA0\x82\xA0\x82\xA0" . " \n", "From: =?ISO-2022-JP?B?GyRCJCIkIiQiJCIkIiQiJCIkIiQiGyhC?=" . " \n"); printf "%-40s", "[nkf-bug:21393]-x "; &test("$nkf --ic=UTF-8 --oc=CP932", "\xEF\xBD\xBC\xEF\xBE\x9E\xEF\xBD\xAC\xEF\xBD\xB0\xEF\xBE\x8F\xEF\xBE\x9D\xEF\xBD\xA5\xEF\xBE\x8E\xEF\xBE\x9F\xEF\xBE\x83\xEF\xBE\x84\xEF\xBD\xA1", "\xBC\xDE\xAC\xB0\xCF\xDD\xA5\xCE\xDF\xC3\xC4\xA1"); printf "%-40s", "[nkf-bug:21393]-X "; &test("$nkf --ic=UTF-8 --oc=CP932 -X", "\xEF\xBD\xBC\xEF\xBE\x9E\xEF\xBD\xAC\xEF\xBD\xB0\xEF\xBE\x8F\xEF\xBE\x9D\xEF\xBD\xA5\xEF\xBE\x8E\xEF\xBE\x9F\xEF\xBE\x83\xEF\xBE\x84\xEF\xBD\xA1", "\x83W\x83\x83\x81[\x83}\x83\x93\x81E\x83|\x83e\x83g\x81B"); printf "%-40s", "[nkf-forum:65316] "; &test("$nkf -xwW -f10", "\xEF\xBD\xB1\xEF\xBD\xB2\xEF\xBD\xB3\xEF\xBD\xB4\xEF\xBD\xB5\xEF\xBD\xB6\xEF\xBD\xB7\xEF\xBD\xB8\xEF\xBD\xB9\xEF\xBD\xBA\xEF\xBD\xBB\xEF\xBD\xBC\xEF\xBD\xBD\xEF\xBD\xBE\xEF\xBD\xBF\xEF\xBE\x80\xEF\xBE\x81\xEF\xBE\x82\xEF\xBE\x83\xEF\xBE\x84", "\xEF\xBD\xB1\xEF\xBD\xB2\xEF\xBD\xB3\xEF\xBD\xB4\xEF\xBD\xB5\xEF\xBD\xB6\xEF\xBD\xB7\xEF\xBD\xB8\xEF\xBD\xB9\xEF\xBD\xBA\n\xEF\xBD\xBB\xEF\xBD\xBC\xEF\xBD\xBD\xEF\xBD\xBE\xEF\xBD\xBF\xEF\xBE\x80\xEF\xBE\x81\xEF\xBE\x82\xEF\xBE\x83\xEF\xBE\x84\n"); printf "%-40s", "[nkf-forum:65482] "; &test("$nkf --ic=CP50221 --oc=CP932", "\x1b\x24\x42\x7f\x21\x80\x21\x1b\x28\x42\n", "\xf0\x40\xf0\x9f\x0a"); printf "%-40s", "[nkf-bug:38800] "; &test("$nkf -W -e --fb-java", "\xF0\xA0\xAE\xB7", "\\uD842\\uDFB7"); # [KNOWNBUG] # printf "%-40s", "[ruby-dev:47057] "; # &test("$nkf -jW -M --cp932", # "\xe3\x80\x8c\xe3\x81\x82\xe3\x81\x82\xe3\x81\x82\xe3\x81\x82\xe3\x81\x82\xe3\x81\x82\xe3\x81\x82\xe3\x81\x82\xe3\x81\x82\xe3\x81\x82\xe3\x81\x82 by \xe3\x81\x82\xe3\x81\x82\xe3\x81\x82\xe3\x81\x82\xe3\x81\x82\xe3\x81\x82\xe3\x81\x82\xe3\x81\x82\xe3\x81\x82\xe3\x81\x82\xe3\x80\x8d\xe3\x81\xae\xe3\x83\xac\xe3\x82\xb7\xe3\x83\x94", # "=?ISO-2022-JP?B?GyRCIVYkIiQiJCIkIiQiJCIkIiQiJCIkIiQiGyhC?= by\n =?ISO-2022-JP?B?GyRCJCIkIiQiJCIkIiQiJCIkIiQiJCIhVyROJWwlNyVUGyhC?="); printf "%-40s", "[nkf-bug:32328] SJIS"; &test("$nkf -Sw", "\x1b\x82\xa0", "\x1b\xe3\x81\x82"); printf "%-40s", "[nkf-bug:32328] JIS"; &test("$nkf -Jw", "\x1b\x1b\$B\$\x22\x1b(B", "\x1b\xe3\x81\x82"); printf "%-40s", "[nkf-bug:36572]"; &test("$nkf -sW --fb-html", "\xe6\xbf\xb9\xe4\xb8\x8a", "濹\x8f\xe3"); if (!NKF) { printf "%-40s", "Guess NL"; &command_tests( "$nkf --guess","none", "ASCII\n", "$nkf --guess","\n", "ASCII (LF)\n", "$nkf --guess","\n\n", "ASCII (LF)\n", "$nkf --guess","\n\r", "ASCII (MIXED NL)\n", "$nkf --guess","\n\r\n", "ASCII (MIXED NL)\n", "$nkf --guess","\n.\n", "ASCII (LF)\n", "$nkf --guess","\n.\r", "ASCII (MIXED NL)\n", "$nkf --guess","\n.\r\n", "ASCII (MIXED NL)\n", "$nkf --guess","\r", "ASCII (CR)\n", "$nkf --guess","\r\r", "ASCII (CR)\n", "$nkf --guess","\r\r\n", "ASCII (MIXED NL)\n", "$nkf --guess","\r.\n", "ASCII (MIXED NL)\n", "$nkf --guess","\r.\r", "ASCII (CR)\n", "$nkf --guess","\r.\r\n", "ASCII (MIXED NL)\n", "$nkf --guess","\r\n", "ASCII (CRLF)\n", "$nkf --guess","\r\n\n", "ASCII (MIXED NL)\n", "$nkf --guess","\r\n\r", "ASCII (MIXED NL)\n", "$nkf --guess","\r\n\r\n", "ASCII (CRLF)\n", "$nkf --guess","\r\n.\n", "ASCII (MIXED NL)\n", "$nkf --guess","\r\n.\r", "ASCII (MIXED NL)\n", "$nkf --guess","\r\n.\r\n", "ASCII (CRLF)\n"); } printf "%-40s", "Convert NL to LF"; &command_tests( "$nkf -jLu","none", "none", "$nkf -jLu","\n", "\n", "$nkf -jLu","\n\n", "\n\n", "$nkf -jLu","\n\r", "\n\n", "$nkf -jLu","\n\r\n", "\n\n", "$nkf -jLu","\n.\n", "\n.\n", "$nkf -jLu","\n.\r", "\n.\n", "$nkf -jLu","\n.\r\n", "\n.\n", "$nkf -jLu","\r", "\n", "$nkf -jLu","\r\r", "\n\n", "$nkf -jLu","\r\r\n", "\n\n", "$nkf -jLu","\r.\n", "\n.\n", "$nkf -jLu","\r.\r", "\n.\n", "$nkf -jLu","\r.\r\n", "\n.\n", "$nkf -jLu","\r\n", "\n", "$nkf -jLu","\r\n\n", "\n\n", "$nkf -jLu","\r\n\r", "\n\n", "$nkf -jLu","\r\n\r\n", "\n\n", "$nkf -jLu","\r\n.\n", "\n.\n", "$nkf -jLu","\r\n.\r", "\n.\n", "$nkf -jLu","\r\n.\r\n", "\n.\n"); printf "%-40s", "Convert NL to LF"; &command_tests( "$nkf -jLm","none", "none", "$nkf -jLm","\n", "\r", "$nkf -jLm","\n\n", "\r\r", "$nkf -jLm","\n\r", "\r\r", "$nkf -jLm","\n\r\n", "\r\r", "$nkf -jLm","\n.\n", "\r.\r", "$nkf -jLm","\n.\r", "\r.\r", "$nkf -jLm","\n.\r\n", "\r.\r", "$nkf -jLm","\r", "\r", "$nkf -jLm","\r\r", "\r\r", "$nkf -jLm","\r\r\n", "\r\r", "$nkf -jLm","\r.\n", "\r.\r", "$nkf -jLm","\r.\r", "\r.\r", "$nkf -jLm","\r.\r\n", "\r.\r", "$nkf -jLm","\r\n", "\r", "$nkf -jLm","\r\n\n", "\r\r", "$nkf -jLm","\r\n\r", "\r\r", "$nkf -jLm","\r\n\r\n", "\r\r", "$nkf -jLm","\r\n.\n", "\r.\r", "$nkf -jLm","\r\n.\r", "\r.\r", "$nkf -jLm","\r\n.\r\n", "\r.\r"); printf "%-40s", "Convert NL to CRLF"; &command_tests( "$nkf -jLw","none", "none", "$nkf -jLw","\n", "\r\n", "$nkf -jLw","\n\n", "\r\n\r\n", "$nkf -jLw","\n\r", "\r\n\r\n", "$nkf -jLw","\n\r\n", "\r\n\r\n", "$nkf -jLw","\n.\n", "\r\n.\r\n", "$nkf -jLw","\n.\r", "\r\n.\r\n", "$nkf -jLw","\n.\r\n", "\r\n.\r\n", "$nkf -jLw","\r", "\r\n", "$nkf -jLw","\r\r", "\r\n\r\n", "$nkf -jLw","\r\r\n", "\r\n\r\n", "$nkf -jLw","\r.\n", "\r\n.\r\n", "$nkf -jLw","\r.\r", "\r\n.\r\n", "$nkf -jLw","\r.\r\n", "\r\n.\r\n", "$nkf -jLw","\r\n", "\r\n", "$nkf -jLw","\r\n\n", "\r\n\r\n", "$nkf -jLw","\r\n\r", "\r\n\r\n", "$nkf -jLw","\r\n\r\r\n", "\r\n\r\n\r\n", "$nkf -jLw","\r\n.\n", "\r\n.\r\n", "$nkf -jLw","\r\n.\r", "\r\n.\r\n", "$nkf -jLw","\r\n.\r\n", "\r\n.\r\n"); # end nkf-2.1.5/INSTALL.j000644 001751 001751 00000001172 13405143432 014260 0ustar00naruseusers000000 000000 INSTALL$B$N;EJ}(B Sun Sep 8 14:11:16 JST 2002 Makefile $B$,$"$k$N$G!"(B CC CFLAGS PERL $B$,@5$7$$$+$I$&$+$r3NG'$7$F!"(B make $B$7$F$/$@$5$$!#(BLinux, Solaris, Mac OS X $B$GF0:n3NG'$7$F$$$^$9!#(B mkstemp $B$,$J$$>l9g$O!"(Bconfig.h $B$N(B #define OVERWRITE $B$r%3%a%s%H%"%&%H(B $B$7$F$/$@$5$$!#(B Perl $B%b%8%e!<%k$r:n$k$K$O!"(B make perl $B$G$9!#(BNKF.mod $B2<$K$G$-$^$9!#$=$A$i$G!"(Bperl Makefile.PL; make $B$G$b(BOk$B!#(B Perl 5 $B0J>e$GF0:n$7$^$9!#(B5.6, 5.8 $B$GF0:n3NG'$7$F$$$^$9!#(B make test $B$G%F%9%H$,9T$o$l$^$9!#(BNKF.mod $B$G$b(B make test $B$,2DG=!#(B nkf-2.1.5/version.rc000755 001751 001751 00000001503 13405143432 015013 0ustar00naruseusers000000 000000 #include 1 VERSIONINFO FILEVERSION 2,1,5,0 PRODUCTVERSION 2,1,5,0 FILEFLAGSMASK 0x3fL #ifdef _DEBUG FILEFLAGS 0x1L #else FILEFLAGS 0x0L #endif FILEOS VOS__WINDOWS32 FILETYPE VFT_APP FILESUBTYPE 0x0L { BLOCK "StringFileInfo" { BLOCK "041103A4" { VALUE "CompanyName", "project nkf\0" VALUE "FileDescription", "Network Kanji Filter\0" VALUE "FileVersion", "2.1.5\0" VALUE "InternalName", "nkf\0" VALUE "LegalCopyright", "Copyright (C) 1987, Fujitsu LTD. (Itaru ICHIKAWA)\0" VALUE "OriginalFilename", "nkf.c\0" VALUE "ProductName", "nkf.exe\0" VALUE "ProductVersion", "2.1.5\0" } } BLOCK "VarFileInfo" { VALUE "Translation", 0x411, 932 } } nkf-2.1.5/NKF.python3/000755 001751 001751 00000000000 13405143432 015017 5ustar00naruseusers000000 000000 nkf-2.1.5/utf8tbl.h000644 001751 001751 00000005362 13405143432 014545 0ustar00naruseusers000000 000000 /* * utf8tbl.h - Header file for Convertion Table * */ #ifndef _UTF8TBL_H_ #define _UTF8TBL_H_ #ifdef UTF8_OUTPUT_ENABLE #define sizeof_euc_to_utf8_1byte 94 #define sizeof_euc_to_utf8_2bytes 94 extern const unsigned short euc_to_utf8_1byte[]; extern const unsigned short *const euc_to_utf8_2bytes[]; extern const unsigned short *const euc_to_utf8_2bytes_ms[]; extern const unsigned short *const euc_to_utf8_2bytes_mac[]; extern const unsigned short *const euc_to_utf8_2bytes_x0213[]; extern const unsigned short *const x0212_to_utf8_2bytes[]; extern const unsigned short *const x0212_to_utf8_2bytes_x0213[]; #define sizeof_x0213_combining_chars 5 #define sizeof_x0213_combining_table 25 #define sizeof_x0213_1_surrogate_table 26 #define sizeof_x0213_2_surrogate_table 277 extern const unsigned short x0213_combining_chars[sizeof_x0213_combining_chars]; extern const unsigned short x0213_combining_table[sizeof_x0213_combining_table][3]; extern const unsigned short x0213_1_surrogate_table[sizeof_x0213_1_surrogate_table][3]; extern const unsigned short x0213_2_surrogate_table[sizeof_x0213_2_surrogate_table][3]; #endif /* UTF8_OUTPUT_ENABLE */ #ifdef UTF8_INPUT_ENABLE #define sizeof_utf8_to_euc_C2 64 #define sizeof_utf8_to_euc_E5B8 64 #define sizeof_utf8_to_euc_2bytes 112 #define sizeof_utf8_to_euc_3bytes 16 extern const unsigned short *const utf8_to_euc_2bytes[]; extern const unsigned short *const utf8_to_euc_2bytes_ms[]; extern const unsigned short *const utf8_to_euc_2bytes_932[]; extern const unsigned short *const utf8_to_euc_2bytes_mac[]; extern const unsigned short *const utf8_to_euc_2bytes_x0213[]; extern const unsigned short *const *const utf8_to_euc_3bytes[]; extern const unsigned short *const *const utf8_to_euc_3bytes_ms[]; extern const unsigned short *const *const utf8_to_euc_3bytes_932[]; extern const unsigned short *const *const utf8_to_euc_3bytes_mac[]; extern const unsigned short *const *const utf8_to_euc_3bytes_x0213[]; #endif /* UTF8_INPUT_ENABLE */ #ifdef UNICODE_NORMALIZATION #define NORMALIZATION_TABLE_LENGTH 942 #define NORMALIZATION_TABLE_NFC_LENGTH 3 #define NORMALIZATION_TABLE_NFD_LENGTH 9 struct normalization_pair { const unsigned char nfc[NORMALIZATION_TABLE_NFC_LENGTH]; const unsigned char nfd[NORMALIZATION_TABLE_NFD_LENGTH]; }; extern const struct normalization_pair normalization_table[]; #endif #ifdef SHIFTJIS_CP932 #define CP932_TABLE_BEGIN 0xFA #define CP932_TABLE_END 0xFC extern const unsigned short shiftjis_cp932[3][189]; #define CP932INV_TABLE_BEGIN 0xED #define CP932INV_TABLE_END 0xEE extern const unsigned short cp932inv[2][189]; #endif /* SHIFTJIS_CP932 */ #ifdef X0212_ENABLE extern const unsigned short shiftjis_x0212[3][189]; extern const unsigned short *const x0212_shiftjis[]; #endif /* X0212_ENABLE */ #endif nkf-2.1.5/README.md000644 001751 001751 00000016155 13405143432 014265 0ustar00naruseusers000000 000000 # NAME nkf - Network Kanji Filter # SYNOPSIS nkf __[-butjnesliohrTVvwWJESZxXFfmMBOcdILg]__ __[___file ...___]__ # DESCRIPTION __Nkf__ is a yet another kanji code converter among networks, hosts and terminals. It converts input kanji code to designated kanji code such as ISO-2022-JP, Shift_JIS, EUC-JP, UTF-8, UTF-16 or UTF-32. One of the most unique faculty of __nkf__ is the guess of the input kanji encodings. It currently recognizes ISO-2022-JP, Shift_JIS, EUC-JP, UTF-8, UTF-16 and UTF-32. So users needn't set the input kanji code explicitly. By default, X0201 kana is converted into X0208 kana. For X0201 kana, SO/SI, SSO and ESC-(-I methods are supported. For automatic code detection, nkf assumes no X0201 kana in Shift_JIS. To accept X0201 in Shift_JIS, use __-X__, __-x__ or __-S__. # OPTIONS - __-J -S -E -W -W16 -W32 -j -s -e -w -w16 -w32__ Specify input and output encodings. Upper case is input. cf. --ic and --oc. - __-J__ ISO-2022-JP (JIS code). - __-S__ Shift_JIS and JIS X 0201 kana. EUC-JP is recognized as X0201 kana. Without __-x__ flag, JIS X 0201 Katakana (a.k.a.halfwidth kana) is converted into JIS X 0208. If you use Windows, see Windows-31J (CP932). - __-E__ EUC-JP. - __-W__ UTF-8N. - __-W16[BL][0]__ UTF-16. B or L gives whether Big Endian or Little Endian. 0 gives whther put BOM or not. - __-W32[BL][0]__ UTF-32. B or L gives whether Big Endian or Little Endian. 0 gives whther put BOM or not. - __-b -u__ Output is buffered (DEFAULT), Output is unbuffered. - __-t__ No conversion. - __-i[@B]__ Specify the escape sequence for JIS X 0208. - __-i@__ Use ESC ( @. (JIS X 0208-1978) - __-iB__ Use ESC ( B. (JIS X 0208-1983/1990 DEFAULT) - __-o[BJ]__ Specify the escape sequence for US-ASCII/JIS X 0201 Roman. (DEFAULT B) - __-r__ {de/en}crypt ROT13/47 - __-h[123] --hiragana --katakana --katakana-hiragana__ - __-h1 --hiragana__ Katakana to Hiragana conversion. - __-h2 --katakana__ Hiragana to Katakana conversion. - __-h3 --katakana-hiragana__ Katakana to Hiragana and Hiragana to Katakana conversion. - __-T__ Text mode output (MS-DOS) - __-f[_m_ [- _n_]]__ Folding on _m_ length with _n_ margin in a line. Without this option, fold length is 60 and fold margin is 10. - __-F__ New line preserving line folding. - __-Z[0-3]__ Convert X0208 alphabet (Fullwidth Alphabets) to ASCII. - __-Z -Z0__ Convert X0208 alphabet to ASCII. - __-Z1__ Convert X0208 kankaku to single ASCII space. - __-Z2__ Convert X0208 kankaku to double ASCII spaces. - __-Z3__ Replacing fullwidth >, <, ", & into '>', '<', '"', '&' as in HTML. - __-X -x__ With __-X__ or without this option, X0201 is converted into X0208 Kana. With __-x__, try to preserve X0208 kana and do not convert X0201 kana to X0208. In JIS output, ESC-(-I is used. In EUC output, SS2 is used. - __-B[0-2]__ Assume broken JIS-Kanji input, which lost ESC. Useful when your site is using old B-News Nihongo patch. - __-B1__ allows any chars after ESC-( or ESC-$. - __-B2__ force ASCII after NL. - __-I__ Replacing non iso-2022-jp char into a geta character (substitute character in Japanese). - __-m[BQN0]__ MIME ISO-2022-JP/ISO8859-1 decode. (DEFAULT) To see ISO8859-1 (Latin-1) -l is necessary. - __-mB__ Decode MIME base64 encoded stream. Remove header or other part before conversion. - __-mQ__ Decode MIME quoted stream. '_' in quoted stream is converted to space. - __-mN__ Non-strict decoding. It allows line break in the middle of the base64 encoding. - __-m0__ No MIME decode. - __-M__ MIME encode. Header style. All ASCII code and control characters are intact. - __-MB__ MIME encode Base64 stream. Kanji conversion is performed before encoding, so this cannot be used as a picture encoder. - __-MQ__ Perform quoted encoding. - __-l__ Input and output code is ISO8859-1 (Latin-1) and ISO-2022-JP. __-s__, __-e__ and __-x__ are not compatible with this option. - __-L[uwm] -d -c__ Convert line breaks. - __-Lu -d__ unix (LF) - __-Lw -c__ windows (CRLF) - __-Lm__ mac (CR) Without this option, nkf doesn't convert line breaks. - __--fj --unix --mac --msdos --windows__ Convert for these systems. - __--jis --euc --sjis --mime --base64__ Convert to named code. - __--jis-input --euc-input --sjis-input --mime-input --base64-input__ Assume input system - __--ic=_input codeset_ --oc=_output codeset___ Set the input or output codeset. NKF supports following codesets and those codeset names are case insensitive. - ISO-2022-JP a.k.a. RFC1468, 7bit JIS, JUNET - EUC-JP (eucJP-nkf) a.k.a. AT&T JIS, Japanese EUC, UJIS - eucJP-ascii - eucJP-ms - CP51932 Microsoft Version of EUC-JP. - Shift_JIS a.k.a. SJIS, MS_Kanji - Windows-31J a.k.a. CP932 - UTF-8 same as UTF-8N - UTF-8N UTF-8 without BOM - UTF-8-BOM UTF-8 with BOM - UTF8-MAC (input only) decomposed UTF-8 - UTF-16 same as UTF-16BE - UTF-16BE UTF-16 Big Endian without BOM - UTF-16BE-BOM UTF-16 Big Endian with BOM - UTF-16LE UTF-16 Little Endian without BOM - UTF-16LE-BOM UTF-16 Little Endian with BOM - UTF-32 same as UTF-32BE - UTF-32BE UTF-32 Big Endian without BOM - UTF-32BE-BOM UTF-32 Big Endian with BOM - UTF-32LE UTF-32 Little Endian without BOM - UTF-32LE-BOM UTF-32 Little Endian with BOM - __--fb-{skip, html, xml, perl, java, subchar}__ Specify the way that nkf handles unassigned characters. Without this option, --fb-skip is assumed. - __--prefix=_escape character__target character_..__ When nkf converts to Shift_JIS, nkf adds a specified escape character to specified 2nd byte of Shift_JIS characters. 1st byte of argument is the escape character and following bytes are target characters. - __--no-cp932ext__ Handle the characters extended in CP932 as unassigned characters. - __--no-best-fit-chars__ When Unicode to Encoded byte conversion, don't convert characters which is not round trip safe. When Unicode to Unicode conversion, with this and -x option, nkf can be used as UTF converter. (In other words, without this and -x option, nkf doesn't save some characters) When nkf converts strings that related to path, you should use this opion. - __--cap-input__ Decode hex encoded characters. - __--url-input__ Unescape percent escaped characters. - __--numchar-input__ Decode character reference, such as "&#....;". - __--in-place[=___SUFFIX___]__ __--overwrite[=___SUFFIX___]__ Overwrite __original__ listed files by filtered result. __Note__ --overwrite preserves timestamps of original files. - __--guess=[12]__ Print guessed encoding and newline. (2 is default, 1 is only encoding) - __--help__ Print nkf's help. - __--version__ Print nkf's version. - __--__ Ignore rest of -option. # AUTHOR Copyright (c) 1987, Fujitsu LTD. (Itaru ICHIKAWA). Copyright (c) 1996-2012, The nkf Project. nkf-2.1.5/nkf.c000644 001751 001751 00000524722 13405143432 013734 0ustar00naruseusers000000 000000 /* * Copyright (c) 1987, Fujitsu LTD. (Itaru ICHIKAWA). * Copyright (c) 1996-2018, The nkf Project. * * This software is provided 'as-is', without any express or implied * warranty. In no event will the authors be held liable for any damages * arising from the use of this software. * * Permission is granted to anyone to use this software for any purpose, * including commercial applications, and to alter it and redistribute it * freely, subject to the following restrictions: * * 1. The origin of this software must not be misrepresented; you must not * claim that you wrote the original software. If you use this software * in a product, an acknowledgment in the product documentation would be * appreciated but is not required. * * 2. Altered source versions must be plainly marked as such, and must not be * misrepresented as being the original software. * * 3. This notice may not be removed or altered from any source distribution. */ #define NKF_VERSION "2.1.5" #define NKF_RELEASE_DATE "2018-12-15" #define COPY_RIGHT \ "Copyright (C) 1987, FUJITSU LTD. (I.Ichikawa).\n" \ "Copyright (C) 1996-2018, The nkf Project." #include "config.h" #include "nkf.h" #include "utf8tbl.h" #ifdef __WIN32__ #include #include #endif #if defined(__OS2__) # define INCL_DOS # define INCL_DOSERRORS # include #endif #include /* state of output_mode and input_mode c2 0 means ASCII JIS_X_0201_1976_K ISO_8859_1 JIS_X_0208 EOF all termination c1 32bit data */ /* MIME ENCODE */ #define FIXED_MIME 7 #define STRICT_MIME 8 /* byte order */ enum byte_order { ENDIAN_BIG = 1, ENDIAN_LITTLE = 2, ENDIAN_2143 = 3, ENDIAN_3412 = 4 }; /* ASCII CODE */ #define BS 0x08 #define TAB 0x09 #define LF 0x0a #define CR 0x0d #define ESC 0x1b #define SP 0x20 #define DEL 0x7f #define SI 0x0f #define SO 0x0e #define SS2 0x8e #define SS3 0x8f #define CRLF 0x0D0A /* encodings */ enum nkf_encodings { ASCII, ISO_8859_1, ISO_2022_JP, CP50220, CP50221, CP50222, ISO_2022_JP_1, ISO_2022_JP_3, ISO_2022_JP_2004, SHIFT_JIS, WINDOWS_31J, CP10001, EUC_JP, EUCJP_NKF, CP51932, EUCJP_MS, EUCJP_ASCII, SHIFT_JISX0213, SHIFT_JIS_2004, EUC_JISX0213, EUC_JIS_2004, UTF_8, UTF_8N, UTF_8_BOM, UTF8_MAC, UTF_16, UTF_16BE, UTF_16BE_BOM, UTF_16LE, UTF_16LE_BOM, UTF_32, UTF_32BE, UTF_32BE_BOM, UTF_32LE, UTF_32LE_BOM, BINARY, NKF_ENCODING_TABLE_SIZE, JIS_X_0201_1976_K = 0x1013, /* I */ /* JIS C 6220-1969 */ /* JIS_X_0201_1976_R = 0x1014, */ /* J */ /* JIS C 6220-1969 */ /* JIS_X_0208_1978 = 0x1040, */ /* @ */ /* JIS C 6226-1978 */ /* JIS_X_0208_1983 = 0x1087, */ /* B */ /* JIS C 6226-1983 */ JIS_X_0208 = 0x1168, /* @B */ JIS_X_0212 = 0x1159, /* D */ /* JIS_X_0213_2000_1 = 0x1228, */ /* O */ JIS_X_0213_2 = 0x1229, /* P */ JIS_X_0213_1 = 0x1233 /* Q */ }; static nkf_char s_iconv(nkf_char c2, nkf_char c1, nkf_char c0); static nkf_char e_iconv(nkf_char c2, nkf_char c1, nkf_char c0); static nkf_char w_iconv(nkf_char c2, nkf_char c1, nkf_char c0); static nkf_char w_iconv16(nkf_char c2, nkf_char c1, nkf_char c0); static nkf_char w_iconv32(nkf_char c2, nkf_char c1, nkf_char c0); static void j_oconv(nkf_char c2, nkf_char c1); static void s_oconv(nkf_char c2, nkf_char c1); static void e_oconv(nkf_char c2, nkf_char c1); static void w_oconv(nkf_char c2, nkf_char c1); static void w_oconv16(nkf_char c2, nkf_char c1); static void w_oconv32(nkf_char c2, nkf_char c1); typedef struct { const char *name; nkf_char (*iconv)(nkf_char c2, nkf_char c1, nkf_char c0); void (*oconv)(nkf_char c2, nkf_char c1); } nkf_native_encoding; nkf_native_encoding NkfEncodingASCII = { "ASCII", e_iconv, e_oconv }; nkf_native_encoding NkfEncodingISO_2022_JP = { "ISO-2022-JP", e_iconv, j_oconv }; nkf_native_encoding NkfEncodingShift_JIS = { "Shift_JIS", s_iconv, s_oconv }; nkf_native_encoding NkfEncodingEUC_JP = { "EUC-JP", e_iconv, e_oconv }; nkf_native_encoding NkfEncodingUTF_8 = { "UTF-8", w_iconv, w_oconv }; nkf_native_encoding NkfEncodingUTF_16 = { "UTF-16", w_iconv16, w_oconv16 }; nkf_native_encoding NkfEncodingUTF_32 = { "UTF-32", w_iconv32, w_oconv32 }; typedef struct { const int id; const char *name; const nkf_native_encoding *base_encoding; } nkf_encoding; nkf_encoding nkf_encoding_table[] = { {ASCII, "US-ASCII", &NkfEncodingASCII}, {ISO_8859_1, "ISO-8859-1", &NkfEncodingASCII}, {ISO_2022_JP, "ISO-2022-JP", &NkfEncodingISO_2022_JP}, {CP50220, "CP50220", &NkfEncodingISO_2022_JP}, {CP50221, "CP50221", &NkfEncodingISO_2022_JP}, {CP50222, "CP50222", &NkfEncodingISO_2022_JP}, {ISO_2022_JP_1, "ISO-2022-JP-1", &NkfEncodingISO_2022_JP}, {ISO_2022_JP_3, "ISO-2022-JP-3", &NkfEncodingISO_2022_JP}, {ISO_2022_JP_2004, "ISO-2022-JP-2004", &NkfEncodingISO_2022_JP}, {SHIFT_JIS, "Shift_JIS", &NkfEncodingShift_JIS}, {WINDOWS_31J, "Windows-31J", &NkfEncodingShift_JIS}, {CP10001, "CP10001", &NkfEncodingShift_JIS}, {EUC_JP, "EUC-JP", &NkfEncodingEUC_JP}, {EUCJP_NKF, "eucJP-nkf", &NkfEncodingEUC_JP}, {CP51932, "CP51932", &NkfEncodingEUC_JP}, {EUCJP_MS, "eucJP-MS", &NkfEncodingEUC_JP}, {EUCJP_ASCII, "eucJP-ASCII", &NkfEncodingEUC_JP}, {SHIFT_JISX0213, "Shift_JISX0213", &NkfEncodingShift_JIS}, {SHIFT_JIS_2004, "Shift_JIS-2004", &NkfEncodingShift_JIS}, {EUC_JISX0213, "EUC-JISX0213", &NkfEncodingEUC_JP}, {EUC_JIS_2004, "EUC-JIS-2004", &NkfEncodingEUC_JP}, {UTF_8, "UTF-8", &NkfEncodingUTF_8}, {UTF_8N, "UTF-8N", &NkfEncodingUTF_8}, {UTF_8_BOM, "UTF-8-BOM", &NkfEncodingUTF_8}, {UTF8_MAC, "UTF8-MAC", &NkfEncodingUTF_8}, {UTF_16, "UTF-16", &NkfEncodingUTF_16}, {UTF_16BE, "UTF-16BE", &NkfEncodingUTF_16}, {UTF_16BE_BOM, "UTF-16BE-BOM", &NkfEncodingUTF_16}, {UTF_16LE, "UTF-16LE", &NkfEncodingUTF_16}, {UTF_16LE_BOM, "UTF-16LE-BOM", &NkfEncodingUTF_16}, {UTF_32, "UTF-32", &NkfEncodingUTF_32}, {UTF_32BE, "UTF-32BE", &NkfEncodingUTF_32}, {UTF_32BE_BOM, "UTF-32BE-BOM", &NkfEncodingUTF_32}, {UTF_32LE, "UTF-32LE", &NkfEncodingUTF_32}, {UTF_32LE_BOM, "UTF-32LE-BOM", &NkfEncodingUTF_32}, {BINARY, "BINARY", &NkfEncodingASCII}, {-1, NULL, NULL} }; struct { const char *name; const int id; } encoding_name_to_id_table[] = { {"US-ASCII", ASCII}, {"ASCII", ASCII}, {"646", ASCII}, {"ROMAN8", ASCII}, {"ISO-2022-JP", ISO_2022_JP}, {"ISO2022JP-CP932", CP50220}, {"CP50220", CP50220}, {"CP50221", CP50221}, {"CSISO2022JP", CP50221}, {"CP50222", CP50222}, {"ISO-2022-JP-1", ISO_2022_JP_1}, {"ISO-2022-JP-3", ISO_2022_JP_3}, {"ISO-2022-JP-2004", ISO_2022_JP_2004}, {"SHIFT_JIS", SHIFT_JIS}, {"SJIS", SHIFT_JIS}, {"MS_Kanji", SHIFT_JIS}, {"PCK", SHIFT_JIS}, {"WINDOWS-31J", WINDOWS_31J}, {"CSWINDOWS31J", WINDOWS_31J}, {"CP932", WINDOWS_31J}, {"MS932", WINDOWS_31J}, {"CP10001", CP10001}, {"EUCJP", EUC_JP}, {"EUC-JP", EUC_JP}, {"EUCJP-NKF", EUCJP_NKF}, {"CP51932", CP51932}, {"EUC-JP-MS", EUCJP_MS}, {"EUCJP-MS", EUCJP_MS}, {"EUCJPMS", EUCJP_MS}, {"EUC-JP-ASCII", EUCJP_ASCII}, {"EUCJP-ASCII", EUCJP_ASCII}, {"SHIFT_JISX0213", SHIFT_JISX0213}, {"SHIFT_JIS-2004", SHIFT_JIS_2004}, {"EUC-JISX0213", EUC_JISX0213}, {"EUC-JIS-2004", EUC_JIS_2004}, {"UTF-8", UTF_8}, {"UTF-8N", UTF_8N}, {"UTF-8-BOM", UTF_8_BOM}, {"UTF8-MAC", UTF8_MAC}, {"UTF-8-MAC", UTF8_MAC}, {"UTF-16", UTF_16}, {"UTF-16BE", UTF_16BE}, {"UTF-16BE-BOM", UTF_16BE_BOM}, {"UTF-16LE", UTF_16LE}, {"UTF-16LE-BOM", UTF_16LE_BOM}, {"UTF-32", UTF_32}, {"UTF-32BE", UTF_32BE}, {"UTF-32BE-BOM", UTF_32BE_BOM}, {"UTF-32LE", UTF_32LE}, {"UTF-32LE-BOM", UTF_32LE_BOM}, {"BINARY", BINARY}, {NULL, -1} }; #if defined(DEFAULT_CODE_JIS) #define DEFAULT_ENCIDX ISO_2022_JP #elif defined(DEFAULT_CODE_SJIS) #define DEFAULT_ENCIDX SHIFT_JIS #elif defined(DEFAULT_CODE_WINDOWS_31J) #define DEFAULT_ENCIDX WINDOWS_31J #elif defined(DEFAULT_CODE_EUC) #define DEFAULT_ENCIDX EUC_JP #elif defined(DEFAULT_CODE_UTF8) #define DEFAULT_ENCIDX UTF_8 #endif #define is_alnum(c) \ (('a'<=c && c<='z')||('A'<= c && c<='Z')||('0'<=c && c<='9')) /* I don't trust portablity of toupper */ #define nkf_toupper(c) (('a'<=c && c<='z')?(c-('a'-'A')):c) #define nkf_isoctal(c) ('0'<=c && c<='7') #define nkf_isdigit(c) ('0'<=c && c<='9') #define nkf_isxdigit(c) (nkf_isdigit(c) || ('a'<=c && c<='f') || ('A'<=c && c <= 'F')) #define nkf_isblank(c) (c == SP || c == TAB) #define nkf_isspace(c) (nkf_isblank(c) || c == CR || c == LF) #define nkf_isalpha(c) (('a' <= c && c <= 'z') || ('A' <= c && c <= 'Z')) #define nkf_isalnum(c) (nkf_isdigit(c) || nkf_isalpha(c)) #define nkf_isprint(c) (SP<=c && c<='~') #define nkf_isgraph(c) ('!'<=c && c<='~') #define hex2bin(c) (('0'<=c&&c<='9') ? (c-'0') : \ ('A'<=c&&c<='F') ? (c-'A'+10) : \ ('a'<=c&&c<='f') ? (c-'a'+10) : 0) #define bin2hex(c) ("0123456789ABCDEF"[c&15]) #define is_eucg3(c2) (((unsigned short)c2 >> 8) == SS3) #define nkf_noescape_mime(c) ((c == CR) || (c == LF) || \ ((c > SP) && (c < DEL) && (c != '?') && (c != '=') && (c != '_') \ && (c != '(') && (c != ')') && (c != '.') && (c != 0x22))) #define is_ibmext_in_sjis(c2) (CP932_TABLE_BEGIN <= c2 && c2 <= CP932_TABLE_END) #define nkf_byte_jisx0201_katakana_p(c) (SP <= c && c <= 0x5F) #define HOLD_SIZE 1024 #if defined(INT_IS_SHORT) #define IOBUF_SIZE 2048 #else #define IOBUF_SIZE 16384 #endif #define DEFAULT_J 'B' #define DEFAULT_R 'B' #define GETA1 0x22 #define GETA2 0x2e /* MIME preprocessor */ #ifdef EASYWIN /*Easy Win */ extern POINT _BufferSize; #endif struct input_code{ const char *name; nkf_char stat; nkf_char score; nkf_char index; nkf_char buf[3]; void (*status_func)(struct input_code *, nkf_char); nkf_char (*iconv_func)(nkf_char c2, nkf_char c1, nkf_char c0); int _file_stat; }; static const char *input_codename = NULL; /* NULL: unestablished, "": BINARY */ static nkf_encoding *input_encoding = NULL; static nkf_encoding *output_encoding = NULL; #if defined(UTF8_INPUT_ENABLE) || defined(UTF8_OUTPUT_ENABLE) /* UCS Mapping * 0: Shift_JIS, eucJP-ascii * 1: eucJP-ms * 2: CP932, CP51932 * 3: CP10001 */ #define UCS_MAP_ASCII 0 #define UCS_MAP_MS 1 #define UCS_MAP_CP932 2 #define UCS_MAP_CP10001 3 static int ms_ucs_map_f = UCS_MAP_ASCII; #endif #ifdef UTF8_INPUT_ENABLE /* no NEC special, NEC-selected IBM extended and IBM extended characters */ static int no_cp932ext_f = FALSE; /* ignore ZERO WIDTH NO-BREAK SPACE */ static int no_best_fit_chars_f = FALSE; static int input_endian = ENDIAN_BIG; static int input_bom_f = FALSE; static nkf_char unicode_subchar = '?'; /* the regular substitution character */ static void (*encode_fallback)(nkf_char c) = NULL; static void w_status(struct input_code *, nkf_char); #endif #ifdef UTF8_OUTPUT_ENABLE static int output_bom_f = FALSE; static int output_endian = ENDIAN_BIG; #endif static void std_putc(nkf_char c); static nkf_char std_getc(FILE *f); static nkf_char std_ungetc(nkf_char c,FILE *f); static nkf_char broken_getc(FILE *f); static nkf_char broken_ungetc(nkf_char c,FILE *f); static nkf_char mime_getc(FILE *f); static void mime_putc(nkf_char c); /* buffers */ #if !defined(PERL_XS) && !defined(WIN32DLL) static unsigned char stdibuf[IOBUF_SIZE]; static unsigned char stdobuf[IOBUF_SIZE]; #endif #define NKF_UNSPECIFIED (-TRUE) /* flags */ static int unbuf_f = FALSE; static int estab_f = FALSE; static int nop_f = FALSE; static int binmode_f = TRUE; /* binary mode */ static int rot_f = FALSE; /* rot14/43 mode */ static int hira_f = FALSE; /* hira/kata henkan */ static int alpha_f = FALSE; /* convert JIx0208 alphbet to ASCII */ static int mime_f = MIME_DECODE_DEFAULT; /* convert MIME B base64 or Q */ static int mime_decode_f = FALSE; /* mime decode is explicitly on */ static int mimebuf_f = FALSE; /* MIME buffered input */ static int broken_f = FALSE; /* convert ESC-less broken JIS */ static int iso8859_f = FALSE; /* ISO8859 through */ static int mimeout_f = FALSE; /* base64 mode */ static int x0201_f = NKF_UNSPECIFIED; /* convert JIS X 0201 */ static int iso2022jp_f = FALSE; /* replace non ISO-2022-JP with GETA */ #ifdef UNICODE_NORMALIZATION static int nfc_f = FALSE; static nkf_char (*i_nfc_getc)(FILE *) = std_getc; /* input of ugetc */ static nkf_char (*i_nfc_ungetc)(nkf_char c ,FILE *f) = std_ungetc; #endif #ifdef INPUT_OPTION static int cap_f = FALSE; static nkf_char (*i_cgetc)(FILE *) = std_getc; /* input of cgetc */ static nkf_char (*i_cungetc)(nkf_char c ,FILE *f) = std_ungetc; static int url_f = FALSE; static nkf_char (*i_ugetc)(FILE *) = std_getc; /* input of ugetc */ static nkf_char (*i_uungetc)(nkf_char c ,FILE *f) = std_ungetc; #endif #define PREFIX_EUCG3 NKF_INT32_C(0x8F00) #define CLASS_MASK NKF_INT32_C(0xFF000000) #define CLASS_UNICODE NKF_INT32_C(0x01000000) #define VALUE_MASK NKF_INT32_C(0x00FFFFFF) #define UNICODE_BMP_MAX NKF_INT32_C(0x0000FFFF) #define UNICODE_MAX NKF_INT32_C(0x0010FFFF) #define nkf_char_euc3_new(c) ((c) | PREFIX_EUCG3) #define nkf_char_unicode_new(c) ((c) | CLASS_UNICODE) #define nkf_char_unicode_p(c) ((c & CLASS_MASK) == CLASS_UNICODE) #define nkf_char_unicode_bmp_p(c) ((c & VALUE_MASK) <= UNICODE_BMP_MAX) #define nkf_char_unicode_value_p(c) ((c & VALUE_MASK) <= UNICODE_MAX) #define UTF16_TO_UTF32(lead, trail) (((lead) << 10) + (trail) - NKF_INT32_C(0x35FDC00)) #ifdef NUMCHAR_OPTION static int numchar_f = FALSE; static nkf_char (*i_ngetc)(FILE *) = std_getc; /* input of ugetc */ static nkf_char (*i_nungetc)(nkf_char c ,FILE *f) = std_ungetc; #endif #ifdef CHECK_OPTION static int noout_f = FALSE; static void no_putc(nkf_char c); static int debug_f = FALSE; static void debug(const char *str); static nkf_char (*iconv_for_check)(nkf_char c2,nkf_char c1,nkf_char c0) = 0; #endif static int guess_f = 0; /* 0: OFF, 1: ON, 2: VERBOSE */ static void set_input_codename(const char *codename); #ifdef EXEC_IO static int exec_f = 0; #endif #ifdef SHIFTJIS_CP932 /* invert IBM extended characters to others */ static int cp51932_f = FALSE; /* invert NEC-selected IBM extended characters to IBM extended characters */ static int cp932inv_f = TRUE; /* static nkf_char cp932_conv(nkf_char c2, nkf_char c1); */ #endif /* SHIFTJIS_CP932 */ static int x0212_f = FALSE; static int x0213_f = FALSE; static unsigned char prefix_table[256]; static void e_status(struct input_code *, nkf_char); static void s_status(struct input_code *, nkf_char); struct input_code input_code_list[] = { {"EUC-JP", 0, 0, 0, {0, 0, 0}, e_status, e_iconv, 0}, {"Shift_JIS", 0, 0, 0, {0, 0, 0}, s_status, s_iconv, 0}, #ifdef UTF8_INPUT_ENABLE {"UTF-8", 0, 0, 0, {0, 0, 0}, w_status, w_iconv, 0}, {"UTF-16", 0, 0, 0, {0, 0, 0}, NULL, w_iconv16, 0}, {"UTF-32", 0, 0, 0, {0, 0, 0}, NULL, w_iconv32, 0}, #endif {NULL, 0, 0, 0, {0, 0, 0}, NULL, NULL, 0} }; static int mimeout_mode = 0; /* 0, -1, 'Q', 'B', 1, 2 */ static int base64_count = 0; /* X0208 -> ASCII converter */ /* fold parameter */ static int f_line = 0; /* chars in line */ static int f_prev = 0; static int fold_preserve_f = FALSE; /* preserve new lines */ static int fold_f = FALSE; static int fold_len = 0; /* options */ static unsigned char kanji_intro = DEFAULT_J; static unsigned char ascii_intro = DEFAULT_R; /* Folding */ #define FOLD_MARGIN 10 #define DEFAULT_FOLD 60 static int fold_margin = FOLD_MARGIN; /* process default */ static nkf_char no_connection2(ARG_UNUSED nkf_char c2, ARG_UNUSED nkf_char c1, ARG_UNUSED nkf_char c0) { fprintf(stderr,"nkf internal module connection failure.\n"); exit(EXIT_FAILURE); return 0; /* LINT */ } static void no_connection(nkf_char c2, nkf_char c1) { no_connection2(c2,c1,0); } static nkf_char (*iconv)(nkf_char c2,nkf_char c1,nkf_char c0) = no_connection2; static void (*oconv)(nkf_char c2,nkf_char c1) = no_connection; static void (*o_zconv)(nkf_char c2,nkf_char c1) = no_connection; static void (*o_fconv)(nkf_char c2,nkf_char c1) = no_connection; static void (*o_eol_conv)(nkf_char c2,nkf_char c1) = no_connection; static void (*o_rot_conv)(nkf_char c2,nkf_char c1) = no_connection; static void (*o_hira_conv)(nkf_char c2,nkf_char c1) = no_connection; static void (*o_base64conv)(nkf_char c2,nkf_char c1) = no_connection; static void (*o_iso2022jp_check_conv)(nkf_char c2,nkf_char c1) = no_connection; /* static redirections */ static void (*o_putc)(nkf_char c) = std_putc; static nkf_char (*i_getc)(FILE *f) = std_getc; /* general input */ static nkf_char (*i_ungetc)(nkf_char c,FILE *f) =std_ungetc; static nkf_char (*i_bgetc)(FILE *) = std_getc; /* input of mgetc */ static nkf_char (*i_bungetc)(nkf_char c ,FILE *f) = std_ungetc; static void (*o_mputc)(nkf_char c) = std_putc ; /* output of mputc */ static nkf_char (*i_mgetc)(FILE *) = std_getc; /* input of mgetc */ static nkf_char (*i_mungetc)(nkf_char c ,FILE *f) = std_ungetc; /* for strict mime */ static nkf_char (*i_mgetc_buf)(FILE *) = std_getc; /* input of mgetc_buf */ static nkf_char (*i_mungetc_buf)(nkf_char c,FILE *f) = std_ungetc; /* Global states */ static int output_mode = ASCII; /* output kanji mode */ static int input_mode = ASCII; /* input kanji mode */ static int mime_decode_mode = FALSE; /* MIME mode B base64, Q hex */ /* X0201 / X0208 conversion tables */ /* X0201 kana conversion table */ /* 90-9F A0-DF */ static const unsigned char cv[]= { 0x21,0x21,0x21,0x23,0x21,0x56,0x21,0x57, 0x21,0x22,0x21,0x26,0x25,0x72,0x25,0x21, 0x25,0x23,0x25,0x25,0x25,0x27,0x25,0x29, 0x25,0x63,0x25,0x65,0x25,0x67,0x25,0x43, 0x21,0x3c,0x25,0x22,0x25,0x24,0x25,0x26, 0x25,0x28,0x25,0x2a,0x25,0x2b,0x25,0x2d, 0x25,0x2f,0x25,0x31,0x25,0x33,0x25,0x35, 0x25,0x37,0x25,0x39,0x25,0x3b,0x25,0x3d, 0x25,0x3f,0x25,0x41,0x25,0x44,0x25,0x46, 0x25,0x48,0x25,0x4a,0x25,0x4b,0x25,0x4c, 0x25,0x4d,0x25,0x4e,0x25,0x4f,0x25,0x52, 0x25,0x55,0x25,0x58,0x25,0x5b,0x25,0x5e, 0x25,0x5f,0x25,0x60,0x25,0x61,0x25,0x62, 0x25,0x64,0x25,0x66,0x25,0x68,0x25,0x69, 0x25,0x6a,0x25,0x6b,0x25,0x6c,0x25,0x6d, 0x25,0x6f,0x25,0x73,0x21,0x2b,0x21,0x2c, 0x00,0x00}; /* X0201 kana conversion table for daguten */ /* 90-9F A0-DF */ static const unsigned char dv[]= { 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, 0x00,0x00,0x00,0x00,0x00,0x00,0x25,0x74, 0x00,0x00,0x00,0x00,0x25,0x2c,0x25,0x2e, 0x25,0x30,0x25,0x32,0x25,0x34,0x25,0x36, 0x25,0x38,0x25,0x3a,0x25,0x3c,0x25,0x3e, 0x25,0x40,0x25,0x42,0x25,0x45,0x25,0x47, 0x25,0x49,0x00,0x00,0x00,0x00,0x00,0x00, 0x00,0x00,0x00,0x00,0x25,0x50,0x25,0x53, 0x25,0x56,0x25,0x59,0x25,0x5c,0x00,0x00, 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, 0x00,0x00}; /* X0201 kana conversion table for han-daguten */ /* 90-9F A0-DF */ static const unsigned char ev[]= { 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, 0x00,0x00,0x00,0x00,0x25,0x51,0x25,0x54, 0x25,0x57,0x25,0x5a,0x25,0x5d,0x00,0x00, 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, 0x00,0x00}; /* X0201 kana to X0213 conversion table for han-daguten */ /* 90-9F A0-DF */ static const unsigned char ev_x0213[]= { 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, 0x00,0x00,0x00,0x00,0x25,0x77,0x25,0x78, 0x25,0x79,0x25,0x7a,0x25,0x7b,0x00,0x00, 0x00,0x00,0x00,0x00,0x25,0x7c,0x00,0x00, 0x00,0x00,0x00,0x00,0x25,0x7d,0x00,0x00, 0x25,0x7e,0x00,0x00,0x00,0x00,0x00,0x00, 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, 0x00,0x00}; /* X0208 kigou conversion table */ /* 0x8140 - 0x819e */ static const unsigned char fv[] = { 0x00,0x00,0x00,0x00,0x2c,0x2e,0x00,0x3a, 0x3b,0x3f,0x21,0x00,0x00,0x27,0x60,0x00, 0x5e,0x00,0x5f,0x00,0x00,0x00,0x00,0x00, 0x00,0x00,0x00,0x00,0x00,0x2d,0x00,0x2f, 0x5c,0x00,0x00,0x7c,0x00,0x00,0x60,0x27, 0x22,0x22,0x28,0x29,0x00,0x00,0x5b,0x5d, 0x7b,0x7d,0x3c,0x3e,0x00,0x00,0x00,0x00, 0x00,0x00,0x00,0x00,0x2b,0x2d,0x00,0x00, 0x00,0x3d,0x00,0x3c,0x3e,0x00,0x00,0x00, 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, 0x24,0x00,0x00,0x25,0x23,0x26,0x2a,0x40, 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00 } ; static int option_mode = 0; static int file_out_f = FALSE; #ifdef OVERWRITE static int overwrite_f = FALSE; static int preserve_time_f = FALSE; static int backup_f = FALSE; static char *backup_suffix = ""; #endif static int eolmode_f = 0; /* CR, LF, CRLF */ static int input_eol = 0; /* 0: unestablished, EOF: MIXED */ static nkf_char prev_cr = 0; /* CR or 0 */ #ifdef EASYWIN /*Easy Win */ static int end_check; #endif /*Easy Win */ static void * nkf_xmalloc(size_t size) { void *ptr; if (size == 0) size = 1; ptr = malloc(size); if (ptr == NULL) { perror("can't malloc"); exit(EXIT_FAILURE); } return ptr; } static void * nkf_xrealloc(void *ptr, size_t size) { if (size == 0) size = 1; ptr = realloc(ptr, size); if (ptr == NULL) { perror("can't realloc"); exit(EXIT_FAILURE); } return ptr; } #define nkf_xfree(ptr) free(ptr) static int nkf_str_caseeql(const char *src, const char *target) { int i; for (i = 0; src[i] && target[i]; i++) { if (nkf_toupper(src[i]) != nkf_toupper(target[i])) return FALSE; } if (src[i] || target[i]) return FALSE; else return TRUE; } static nkf_encoding* nkf_enc_from_index(int idx) { if (idx < 0 || NKF_ENCODING_TABLE_SIZE <= idx) { return 0; } return &nkf_encoding_table[idx]; } static int nkf_enc_find_index(const char *name) { int i; if (name[0] == 'X' && *(name+1) == '-') name += 2; for (i = 0; encoding_name_to_id_table[i].id >= 0; i++) { if (nkf_str_caseeql(encoding_name_to_id_table[i].name, name)) { return encoding_name_to_id_table[i].id; } } return -1; } static nkf_encoding* nkf_enc_find(const char *name) { int idx = -1; idx = nkf_enc_find_index(name); if (idx < 0) return 0; return nkf_enc_from_index(idx); } #define nkf_enc_name(enc) (enc)->name #define nkf_enc_to_index(enc) (enc)->id #define nkf_enc_to_base_encoding(enc) (enc)->base_encoding #define nkf_enc_to_iconv(enc) nkf_enc_to_base_encoding(enc)->iconv #define nkf_enc_to_oconv(enc) nkf_enc_to_base_encoding(enc)->oconv #define nkf_enc_asciicompat(enc) (\ nkf_enc_to_base_encoding(enc) == &NkfEncodingASCII ||\ nkf_enc_to_base_encoding(enc) == &NkfEncodingISO_2022_JP) #define nkf_enc_unicode_p(enc) (\ nkf_enc_to_base_encoding(enc) == &NkfEncodingUTF_8 ||\ nkf_enc_to_base_encoding(enc) == &NkfEncodingUTF_16 ||\ nkf_enc_to_base_encoding(enc) == &NkfEncodingUTF_32) #define nkf_enc_cp5022x_p(enc) (\ nkf_enc_to_index(enc) == CP50220 ||\ nkf_enc_to_index(enc) == CP50221 ||\ nkf_enc_to_index(enc) == CP50222) #ifdef DEFAULT_CODE_LOCALE static const char* nkf_locale_charmap(void) { #ifdef HAVE_LANGINFO_H return nl_langinfo(CODESET); #elif defined(__WIN32__) static char buf[16]; sprintf(buf, "CP%d", GetACP()); return buf; #elif defined(__OS2__) # if defined(INT_IS_SHORT) /* OS/2 1.x */ return NULL; # else /* OS/2 32bit */ static char buf[16]; ULONG ulCP[1], ulncp; DosQueryCp(sizeof(ulCP), ulCP, &ulncp); if (ulCP[0] == 932 || ulCP[0] == 943) strcpy(buf, "Shift_JIS"); else sprintf(buf, "CP%lu", ulCP[0]); return buf; # endif #endif return NULL; } static nkf_encoding* nkf_locale_encoding(void) { nkf_encoding *enc = 0; const char *encname = nkf_locale_charmap(); if (encname) enc = nkf_enc_find(encname); return enc; } #endif /* DEFAULT_CODE_LOCALE */ static nkf_encoding* nkf_utf8_encoding(void) { return &nkf_encoding_table[UTF_8]; } static nkf_encoding* nkf_default_encoding(void) { nkf_encoding *enc = 0; #ifdef DEFAULT_CODE_LOCALE enc = nkf_locale_encoding(); #elif defined(DEFAULT_ENCIDX) enc = nkf_enc_from_index(DEFAULT_ENCIDX); #endif if (!enc) enc = nkf_utf8_encoding(); return enc; } typedef struct { long capa; long len; nkf_char *ptr; } nkf_buf_t; static nkf_buf_t * nkf_buf_new(int length) { nkf_buf_t *buf = nkf_xmalloc(sizeof(nkf_buf_t)); buf->ptr = nkf_xmalloc(sizeof(nkf_char) * length); buf->capa = length; buf->len = 0; return buf; } #if 0 static void nkf_buf_dispose(nkf_buf_t *buf) { nkf_xfree(buf->ptr); nkf_xfree(buf); } #endif #define nkf_buf_length(buf) ((buf)->len) #define nkf_buf_empty_p(buf) ((buf)->len == 0) static nkf_char nkf_buf_at(nkf_buf_t *buf, int index) { assert(index <= buf->len); return buf->ptr[index]; } static void nkf_buf_clear(nkf_buf_t *buf) { buf->len = 0; } static void nkf_buf_push(nkf_buf_t *buf, nkf_char c) { if (buf->capa <= buf->len) { exit(EXIT_FAILURE); } buf->ptr[buf->len++] = c; } static nkf_char nkf_buf_pop(nkf_buf_t *buf) { assert(!nkf_buf_empty_p(buf)); return buf->ptr[--buf->len]; } /* Normalization Form C */ #ifndef PERL_XS #ifdef WIN32DLL #define fprintf dllprintf #endif static void version(void) { fprintf(HELP_OUTPUT,"Network Kanji Filter Version " NKF_VERSION " (" NKF_RELEASE_DATE ") \n" COPY_RIGHT "\n"); } static void usage(void) { fprintf(HELP_OUTPUT, "Usage: nkf -[flags] [--] [in file] .. [out file for -O flag]\n" #ifdef UTF8_OUTPUT_ENABLE " j/s/e/w Specify output encoding ISO-2022-JP, Shift_JIS, EUC-JP\n" " UTF options is -w[8[0],{16,32}[{B,L}[0]]]\n" #else #endif #ifdef UTF8_INPUT_ENABLE " J/S/E/W Specify input encoding ISO-2022-JP, Shift_JIS, EUC-JP\n" " UTF option is -W[8,[16,32][B,L]]\n" #else " J/S/E Specify output encoding ISO-2022-JP, Shift_JIS, EUC-JP\n" #endif ); fprintf(HELP_OUTPUT, " m[BQSN0] MIME decode [B:base64,Q:quoted,S:strict,N:nonstrict,0:no decode]\n" " M[BQ] MIME encode [B:base64 Q:quoted]\n" " f/F Folding: -f60 or -f or -f60-10 (fold margin 10) F preserve nl\n" ); fprintf(HELP_OUTPUT, " Z[0-4] Default/0: Convert JISX0208 Alphabet to ASCII\n" " 1: Kankaku to one space 2: to two spaces 3: HTML Entity\n" " 4: JISX0208 Katakana to JISX0201 Katakana\n" " X,x Convert Halfwidth Katakana to Fullwidth or preserve it\n" ); fprintf(HELP_OUTPUT, " O Output to File (DEFAULT 'nkf.out')\n" " L[uwm] Line mode u:LF w:CRLF m:CR (DEFAULT noconversion)\n" ); fprintf(HELP_OUTPUT, " --ic= Specify the input encoding\n" " --oc= Specify the output encoding\n" " --hiragana --katakana Hiragana/Katakana Conversion\n" " --katakana-hiragana Converts each other\n" ); fprintf(HELP_OUTPUT, #ifdef INPUT_OPTION " --{cap, url}-input Convert hex after ':' or '%%'\n" #endif #ifdef NUMCHAR_OPTION " --numchar-input Convert Unicode Character Reference\n" #endif #ifdef UTF8_INPUT_ENABLE " --fb-{skip, html, xml, perl, java, subchar}\n" " Specify unassigned character's replacement\n" #endif ); fprintf(HELP_OUTPUT, #ifdef OVERWRITE " --in-place[=SUF] Overwrite original files\n" " --overwrite[=SUF] Preserve timestamp of original files\n" #endif " -g --guess Guess the input code\n" " -v --version Print the version\n" " --help/-V Print this help / configuration\n" ); version(); } static void show_configuration(void) { fprintf(HELP_OUTPUT, "Summary of my nkf " NKF_VERSION " (" NKF_RELEASE_DATE ") configuration:\n" " Compile-time options:\n" " Compiled at: " __DATE__ " " __TIME__ "\n" ); fprintf(HELP_OUTPUT, " Default output encoding: " #ifdef DEFAULT_CODE_LOCALE "LOCALE (%s)\n", nkf_enc_name(nkf_default_encoding()) #elif defined(DEFAULT_ENCIDX) "CONFIG (%s)\n", nkf_enc_name(nkf_default_encoding()) #else "NONE\n" #endif ); fprintf(HELP_OUTPUT, " Default output end of line: " #if DEFAULT_NEWLINE == CR "CR" #elif DEFAULT_NEWLINE == CRLF "CRLF" #else "LF" #endif "\n" " Decode MIME encoded string: " #if MIME_DECODE_DEFAULT "ON" #else "OFF" #endif "\n" " Convert JIS X 0201 Katakana: " #if X0201_DEFAULT "ON" #else "OFF" #endif "\n" " --help, --version output: " #if HELP_OUTPUT_HELP_OUTPUT "HELP_OUTPUT" #else "STDOUT" #endif "\n"); } #endif /*PERL_XS*/ #ifdef OVERWRITE static char* get_backup_filename(const char *suffix, const char *filename) { char *backup_filename; int asterisk_count = 0; int i, j; int filename_length = strlen(filename); for(i = 0; suffix[i]; i++){ if(suffix[i] == '*') asterisk_count++; } if(asterisk_count){ backup_filename = nkf_xmalloc(strlen(suffix) + (asterisk_count * (filename_length - 1)) + 1); for(i = 0, j = 0; suffix[i];){ if(suffix[i] == '*'){ backup_filename[j] = '\0'; strncat(backup_filename, filename, filename_length); i++; j += filename_length; }else{ backup_filename[j++] = suffix[i++]; } } backup_filename[j] = '\0'; }else{ j = filename_length + strlen(suffix); backup_filename = nkf_xmalloc(j + 1); strcpy(backup_filename, filename); strcat(backup_filename, suffix); backup_filename[j] = '\0'; } return backup_filename; } #endif #ifdef UTF8_INPUT_ENABLE static void nkf_each_char_to_hex(void (*f)(nkf_char c2,nkf_char c1), nkf_char c) { int shift = 20; c &= VALUE_MASK; while(shift >= 0){ if(c >= NKF_INT32_C(1)<= 0){ (*f)(0, bin2hex(c>>shift)); shift -= 4; } }else{ shift -= 4; } } return; } static void encode_fallback_html(nkf_char c) { (*oconv)(0, '&'); (*oconv)(0, '#'); c &= VALUE_MASK; if(c >= NKF_INT32_C(1000000)) (*oconv)(0, 0x30+(c/NKF_INT32_C(1000000))%10); if(c >= NKF_INT32_C(100000)) (*oconv)(0, 0x30+(c/NKF_INT32_C(100000) )%10); if(c >= 10000) (*oconv)(0, 0x30+(c/10000 )%10); if(c >= 1000) (*oconv)(0, 0x30+(c/1000 )%10); if(c >= 100) (*oconv)(0, 0x30+(c/100 )%10); if(c >= 10) (*oconv)(0, 0x30+(c/10 )%10); if(c >= 0) (*oconv)(0, 0x30+ c %10); (*oconv)(0, ';'); return; } static void encode_fallback_xml(nkf_char c) { (*oconv)(0, '&'); (*oconv)(0, '#'); (*oconv)(0, 'x'); nkf_each_char_to_hex(oconv, c); (*oconv)(0, ';'); return; } static void encode_fallback_java(nkf_char c) { (*oconv)(0, '\\'); c &= VALUE_MASK; if(!nkf_char_unicode_bmp_p(c)){ int high = (c >> 10) + NKF_INT32_C(0xD7C0); /* high surrogate */ int low = (c & 0x3FF) + NKF_INT32_C(0xDC00); /* low surrogate */ (*oconv)(0, 'u'); (*oconv)(0, bin2hex(high>>12)); (*oconv)(0, bin2hex(high>> 8)); (*oconv)(0, bin2hex(high>> 4)); (*oconv)(0, bin2hex(high )); (*oconv)(0, '\\'); (*oconv)(0, 'u'); (*oconv)(0, bin2hex(low>>12)); (*oconv)(0, bin2hex(low>> 8)); (*oconv)(0, bin2hex(low>> 4)); (*oconv)(0, bin2hex(low )); }else{ (*oconv)(0, 'u'); (*oconv)(0, bin2hex(c>>12)); (*oconv)(0, bin2hex(c>> 8)); (*oconv)(0, bin2hex(c>> 4)); (*oconv)(0, bin2hex(c )); } return; } static void encode_fallback_perl(nkf_char c) { (*oconv)(0, '\\'); (*oconv)(0, 'x'); (*oconv)(0, '{'); nkf_each_char_to_hex(oconv, c); (*oconv)(0, '}'); return; } static void encode_fallback_subchar(nkf_char c) { c = unicode_subchar; (*oconv)((c>>8)&0xFF, c&0xFF); return; } #endif static const struct { const char *name; const char *alias; } long_option[] = { {"ic=", ""}, {"oc=", ""}, {"base64","jMB"}, {"euc","e"}, {"euc-input","E"}, {"fj","jm"}, {"help",""}, {"jis","j"}, {"jis-input","J"}, {"mac","sLm"}, {"mime","jM"}, {"mime-input","m"}, {"msdos","sLw"}, {"sjis","s"}, {"sjis-input","S"}, {"unix","eLu"}, {"version","v"}, {"windows","sLw"}, {"hiragana","h1"}, {"katakana","h2"}, {"katakana-hiragana","h3"}, {"guess=", ""}, {"guess", "g2"}, {"cp932", ""}, {"no-cp932", ""}, #ifdef X0212_ENABLE {"x0212", ""}, #endif #ifdef UTF8_OUTPUT_ENABLE {"utf8", "w"}, {"utf16", "w16"}, {"ms-ucs-map", ""}, {"fb-skip", ""}, {"fb-html", ""}, {"fb-xml", ""}, {"fb-perl", ""}, {"fb-java", ""}, {"fb-subchar", ""}, {"fb-subchar=", ""}, #endif #ifdef UTF8_INPUT_ENABLE {"utf8-input", "W"}, {"utf16-input", "W16"}, {"no-cp932ext", ""}, {"no-best-fit-chars",""}, #endif #ifdef UNICODE_NORMALIZATION {"utf8mac-input", ""}, #endif #ifdef OVERWRITE {"overwrite", ""}, {"overwrite=", ""}, {"in-place", ""}, {"in-place=", ""}, #endif #ifdef INPUT_OPTION {"cap-input", ""}, {"url-input", ""}, #endif #ifdef NUMCHAR_OPTION {"numchar-input", ""}, #endif #ifdef CHECK_OPTION {"no-output", ""}, {"debug", ""}, #endif #ifdef SHIFTJIS_CP932 {"cp932inv", ""}, #endif #ifdef EXEC_IO {"exec-in", ""}, {"exec-out", ""}, #endif {"prefix=", ""}, }; static void set_input_encoding(nkf_encoding *enc) { switch (nkf_enc_to_index(enc)) { case ISO_8859_1: iso8859_f = TRUE; break; case CP50221: case CP50222: if (x0201_f == NKF_UNSPECIFIED) x0201_f = FALSE; /* -x specified implicitly */ case CP50220: #ifdef SHIFTJIS_CP932 cp51932_f = TRUE; #endif #ifdef UTF8_OUTPUT_ENABLE ms_ucs_map_f = UCS_MAP_CP932; #endif break; case ISO_2022_JP_1: x0212_f = TRUE; break; case ISO_2022_JP_3: x0212_f = TRUE; x0213_f = TRUE; break; case ISO_2022_JP_2004: x0212_f = TRUE; x0213_f = TRUE; break; case SHIFT_JIS: break; case WINDOWS_31J: if (x0201_f == NKF_UNSPECIFIED) x0201_f = FALSE; /* -x specified implicitly */ #ifdef SHIFTJIS_CP932 cp51932_f = TRUE; #endif #ifdef UTF8_OUTPUT_ENABLE ms_ucs_map_f = UCS_MAP_CP932; #endif break; break; case CP10001: #ifdef SHIFTJIS_CP932 cp51932_f = TRUE; #endif #ifdef UTF8_OUTPUT_ENABLE ms_ucs_map_f = UCS_MAP_CP10001; #endif break; case EUC_JP: break; case EUCJP_NKF: break; case CP51932: if (x0201_f == NKF_UNSPECIFIED) x0201_f = FALSE; /* -x specified implicitly */ #ifdef SHIFTJIS_CP932 cp51932_f = TRUE; #endif #ifdef UTF8_OUTPUT_ENABLE ms_ucs_map_f = UCS_MAP_CP932; #endif break; case EUCJP_MS: if (x0201_f == NKF_UNSPECIFIED) x0201_f = FALSE; /* -x specified implicitly */ #ifdef SHIFTJIS_CP932 cp51932_f = FALSE; #endif #ifdef UTF8_OUTPUT_ENABLE ms_ucs_map_f = UCS_MAP_MS; #endif break; case EUCJP_ASCII: if (x0201_f == NKF_UNSPECIFIED) x0201_f = FALSE; /* -x specified implicitly */ #ifdef SHIFTJIS_CP932 cp51932_f = FALSE; #endif #ifdef UTF8_OUTPUT_ENABLE ms_ucs_map_f = UCS_MAP_ASCII; #endif break; case SHIFT_JISX0213: case SHIFT_JIS_2004: x0213_f = TRUE; #ifdef SHIFTJIS_CP932 cp51932_f = FALSE; if (cp932inv_f == TRUE) cp932inv_f = FALSE; #endif break; case EUC_JISX0213: case EUC_JIS_2004: x0213_f = TRUE; #ifdef SHIFTJIS_CP932 cp51932_f = FALSE; #endif break; #ifdef UTF8_INPUT_ENABLE #ifdef UNICODE_NORMALIZATION case UTF8_MAC: nfc_f = TRUE; break; #endif case UTF_16: case UTF_16BE: case UTF_16BE_BOM: input_endian = ENDIAN_BIG; break; case UTF_16LE: case UTF_16LE_BOM: input_endian = ENDIAN_LITTLE; break; case UTF_32: case UTF_32BE: case UTF_32BE_BOM: input_endian = ENDIAN_BIG; break; case UTF_32LE: case UTF_32LE_BOM: input_endian = ENDIAN_LITTLE; break; #endif } } static void set_output_encoding(nkf_encoding *enc) { switch (nkf_enc_to_index(enc)) { case CP50220: #ifdef SHIFTJIS_CP932 if (cp932inv_f == TRUE) cp932inv_f = FALSE; #endif #ifdef UTF8_OUTPUT_ENABLE ms_ucs_map_f = UCS_MAP_CP932; #endif break; case CP50221: if (x0201_f == NKF_UNSPECIFIED) x0201_f = FALSE; /* -x specified implicitly */ #ifdef SHIFTJIS_CP932 if (cp932inv_f == TRUE) cp932inv_f = FALSE; #endif #ifdef UTF8_OUTPUT_ENABLE ms_ucs_map_f = UCS_MAP_CP932; #endif break; case ISO_2022_JP: #ifdef SHIFTJIS_CP932 if (cp932inv_f == TRUE) cp932inv_f = FALSE; #endif break; case ISO_2022_JP_1: x0212_f = TRUE; #ifdef SHIFTJIS_CP932 if (cp932inv_f == TRUE) cp932inv_f = FALSE; #endif break; case ISO_2022_JP_3: case ISO_2022_JP_2004: x0212_f = TRUE; x0213_f = TRUE; #ifdef SHIFTJIS_CP932 if (cp932inv_f == TRUE) cp932inv_f = FALSE; #endif break; case SHIFT_JIS: break; case WINDOWS_31J: if (x0201_f == NKF_UNSPECIFIED) x0201_f = FALSE; /* -x specified implicitly */ #ifdef UTF8_OUTPUT_ENABLE ms_ucs_map_f = UCS_MAP_CP932; #endif break; case CP10001: #ifdef UTF8_OUTPUT_ENABLE ms_ucs_map_f = UCS_MAP_CP10001; #endif break; case EUC_JP: x0212_f = TRUE; #ifdef SHIFTJIS_CP932 if (cp932inv_f == TRUE) cp932inv_f = FALSE; #endif #ifdef UTF8_OUTPUT_ENABLE ms_ucs_map_f = UCS_MAP_ASCII; #endif break; case EUCJP_NKF: x0212_f = FALSE; #ifdef SHIFTJIS_CP932 if (cp932inv_f == TRUE) cp932inv_f = FALSE; #endif #ifdef UTF8_OUTPUT_ENABLE ms_ucs_map_f = UCS_MAP_ASCII; #endif break; case CP51932: if (x0201_f == NKF_UNSPECIFIED) x0201_f = FALSE; /* -x specified implicitly */ #ifdef SHIFTJIS_CP932 if (cp932inv_f == TRUE) cp932inv_f = FALSE; #endif #ifdef UTF8_OUTPUT_ENABLE ms_ucs_map_f = UCS_MAP_CP932; #endif break; case EUCJP_MS: if (x0201_f == NKF_UNSPECIFIED) x0201_f = FALSE; /* -x specified implicitly */ x0212_f = TRUE; #ifdef UTF8_OUTPUT_ENABLE ms_ucs_map_f = UCS_MAP_MS; #endif break; case EUCJP_ASCII: if (x0201_f == NKF_UNSPECIFIED) x0201_f = FALSE; /* -x specified implicitly */ x0212_f = TRUE; #ifdef UTF8_OUTPUT_ENABLE ms_ucs_map_f = UCS_MAP_ASCII; #endif break; case SHIFT_JISX0213: case SHIFT_JIS_2004: x0213_f = TRUE; #ifdef SHIFTJIS_CP932 if (cp932inv_f == TRUE) cp932inv_f = FALSE; #endif break; case EUC_JISX0213: case EUC_JIS_2004: x0212_f = TRUE; x0213_f = TRUE; #ifdef SHIFTJIS_CP932 if (cp932inv_f == TRUE) cp932inv_f = FALSE; #endif break; #ifdef UTF8_OUTPUT_ENABLE case UTF_8_BOM: output_bom_f = TRUE; break; case UTF_16: case UTF_16BE_BOM: output_bom_f = TRUE; break; case UTF_16LE: output_endian = ENDIAN_LITTLE; output_bom_f = FALSE; break; case UTF_16LE_BOM: output_endian = ENDIAN_LITTLE; output_bom_f = TRUE; break; case UTF_32: case UTF_32BE_BOM: output_bom_f = TRUE; break; case UTF_32LE: output_endian = ENDIAN_LITTLE; output_bom_f = FALSE; break; case UTF_32LE_BOM: output_endian = ENDIAN_LITTLE; output_bom_f = TRUE; break; #endif } } static struct input_code* find_inputcode_byfunc(nkf_char (*iconv_func)(nkf_char c2,nkf_char c1,nkf_char c0)) { if (iconv_func){ struct input_code *p = input_code_list; while (p->name){ if (iconv_func == p->iconv_func){ return p; } p++; } } return 0; } static void set_iconv(nkf_char f, nkf_char (*iconv_func)(nkf_char c2,nkf_char c1,nkf_char c0)) { #ifdef INPUT_CODE_FIX if (f || !input_encoding) #endif if (estab_f != f){ estab_f = f; } if (iconv_func #ifdef INPUT_CODE_FIX && (f == -TRUE || !input_encoding) /* -TRUE means "FORCE" */ #endif ){ iconv = iconv_func; } #ifdef CHECK_OPTION if (estab_f && iconv_for_check != iconv){ struct input_code *p = find_inputcode_byfunc(iconv); if (p){ set_input_codename(p->name); debug(p->name); } iconv_for_check = iconv; } #endif } #ifdef X0212_ENABLE static nkf_char x0212_shift(nkf_char c) { nkf_char ret = c; c &= 0x7f; if (is_eucg3(ret)){ if (0x75 <= c && c <= 0x7f){ ret = c + (0x109 - 0x75); } }else{ if (0x75 <= c && c <= 0x7f){ ret = c + (0x113 - 0x75); } } return ret; } static nkf_char x0212_unshift(nkf_char c) { nkf_char ret = c; if (0x7f <= c && c <= 0x88){ ret = c + (0x75 - 0x7f); }else if (0x89 <= c && c <= 0x92){ ret = PREFIX_EUCG3 | 0x80 | (c + (0x75 - 0x89)); } return ret; } #endif /* X0212_ENABLE */ static int is_x0213_2_in_x0212(nkf_char c1) { static const char x0213_2_table[] = {0, 1, 0, 1, 1, 1, 0, 0, 1, 0, 0, 0, 1, 1, 1, 1}; int ku = c1 - 0x20; if (ku <= 15) return x0213_2_table[ku]; /* 1, 3-5, 8, 12-15 */ if (78 <= ku && ku <= 94) return 1; return 0; } static nkf_char e2s_conv(nkf_char c2, nkf_char c1, nkf_char *p2, nkf_char *p1) { nkf_char ndx; if (is_eucg3(c2)){ ndx = c2 & 0x7f; if (x0213_f && is_x0213_2_in_x0212(ndx)){ if((0x21 <= ndx && ndx <= 0x2F)){ if (p2) *p2 = ((ndx - 1) >> 1) + 0xec - ndx / 8 * 3; if (p1) *p1 = c1 + ((ndx & 1) ? ((c1 < 0x60) ? 0x1f : 0x20) : 0x7e); return 0; }else if(0x6E <= ndx && ndx <= 0x7E){ if (p2) *p2 = ((ndx - 1) >> 1) + 0xbe; if (p1) *p1 = c1 + ((ndx & 1) ? ((c1 < 0x60) ? 0x1f : 0x20) : 0x7e); return 0; } return 1; } #ifdef X0212_ENABLE else if(nkf_isgraph(ndx)){ nkf_char val = 0; const unsigned short *ptr; ptr = x0212_shiftjis[ndx - 0x21]; if (ptr){ val = ptr[(c1 & 0x7f) - 0x21]; } if (val){ c2 = val >> 8; c1 = val & 0xff; if (p2) *p2 = c2; if (p1) *p1 = c1; return 0; } c2 = x0212_shift(c2); } #endif /* X0212_ENABLE */ } if(0x7F < c2) return 1; if (p2) *p2 = ((c2 - 1) >> 1) + ((c2 <= 0x5e) ? 0x71 : 0xb1); if (p1) *p1 = c1 + ((c2 & 1) ? ((c1 < 0x60) ? 0x1f : 0x20) : 0x7e); return 0; } static nkf_char s2e_conv(nkf_char c2, nkf_char c1, nkf_char *p2, nkf_char *p1) { #if defined(SHIFTJIS_CP932) || defined(X0212_ENABLE) nkf_char val; #endif static const char shift_jisx0213_s1a3_table[5][2] ={ { 1, 8}, { 3, 4}, { 5,12}, {13,14}, {15, 0} }; if (0xFC < c1) return 1; #ifdef SHIFTJIS_CP932 if (!cp932inv_f && !x0213_f && is_ibmext_in_sjis(c2)){ val = shiftjis_cp932[c2 - CP932_TABLE_BEGIN][c1 - 0x40]; if (val){ c2 = val >> 8; c1 = val & 0xff; } } if (cp932inv_f && CP932INV_TABLE_BEGIN <= c2 && c2 <= CP932INV_TABLE_END){ val = cp932inv[c2 - CP932INV_TABLE_BEGIN][c1 - 0x40]; if (val){ c2 = val >> 8; c1 = val & 0xff; } } #endif /* SHIFTJIS_CP932 */ #ifdef X0212_ENABLE if (!x0213_f && is_ibmext_in_sjis(c2)){ val = shiftjis_x0212[c2 - 0xfa][c1 - 0x40]; if (val){ if (val > 0x7FFF){ c2 = PREFIX_EUCG3 | ((val >> 8) & 0x7f); c1 = val & 0xff; }else{ c2 = val >> 8; c1 = val & 0xff; } if (p2) *p2 = c2; if (p1) *p1 = c1; return 0; } } #endif if(c2 >= 0x80){ if(x0213_f && c2 >= 0xF0){ if(c2 <= 0xF3 || (c2 == 0xF4 && c1 < 0x9F)){ /* k=1, 3<=k<=5, k=8, 12<=k<=15 */ c2 = PREFIX_EUCG3 | 0x20 | shift_jisx0213_s1a3_table[c2 - 0xF0][0x9E < c1]; }else{ /* 78<=k<=94 */ c2 = PREFIX_EUCG3 | (c2 * 2 - 0x17B); if (0x9E < c1) c2++; } }else{ #define SJ0162 0x00e1 /* 01 - 62 ku offset */ #define SJ6394 0x0161 /* 63 - 94 ku offset */ c2 = c2 + c2 - ((c2 <= 0x9F) ? SJ0162 : SJ6394); if (0x9E < c1) c2++; } if (c1 < 0x9F) c1 = c1 - ((c1 > DEL) ? SP : 0x1F); else { c1 = c1 - 0x7E; } } #ifdef X0212_ENABLE c2 = x0212_unshift(c2); #endif if (p2) *p2 = c2; if (p1) *p1 = c1; return 0; } #if defined(UTF8_INPUT_ENABLE) || defined(UTF8_OUTPUT_ENABLE) static void nkf_unicode_to_utf8(nkf_char val, nkf_char *p1, nkf_char *p2, nkf_char *p3, nkf_char *p4) { val &= VALUE_MASK; if (val < 0x80){ *p1 = val; *p2 = 0; *p3 = 0; *p4 = 0; }else if (val < 0x800){ *p1 = 0xc0 | (val >> 6); *p2 = 0x80 | (val & 0x3f); *p3 = 0; *p4 = 0; } else if (nkf_char_unicode_bmp_p(val)) { *p1 = 0xe0 | (val >> 12); *p2 = 0x80 | ((val >> 6) & 0x3f); *p3 = 0x80 | ( val & 0x3f); *p4 = 0; } else if (nkf_char_unicode_value_p(val)) { *p1 = 0xf0 | (val >> 18); *p2 = 0x80 | ((val >> 12) & 0x3f); *p3 = 0x80 | ((val >> 6) & 0x3f); *p4 = 0x80 | ( val & 0x3f); } else { *p1 = 0; *p2 = 0; *p3 = 0; *p4 = 0; } } static nkf_char nkf_utf8_to_unicode(nkf_char c1, nkf_char c2, nkf_char c3, nkf_char c4) { nkf_char wc; if (c1 <= 0x7F) { /* single byte */ wc = c1; } else if (c1 <= 0xC1) { /* trail byte or invalid */ return -1; } else if (c1 <= 0xDF) { /* 2 bytes */ wc = (c1 & 0x1F) << 6; wc |= (c2 & 0x3F); } else if (c1 <= 0xEF) { /* 3 bytes */ wc = (c1 & 0x0F) << 12; wc |= (c2 & 0x3F) << 6; wc |= (c3 & 0x3F); } else if (c2 <= 0xF4) { /* 4 bytes */ wc = (c1 & 0x0F) << 18; wc |= (c2 & 0x3F) << 12; wc |= (c3 & 0x3F) << 6; wc |= (c4 & 0x3F); } else { return -1; } return wc; } #endif #ifdef UTF8_INPUT_ENABLE static int unicode_to_jis_common2(nkf_char c1, nkf_char c0, const unsigned short *const *pp, nkf_char psize, nkf_char *p2, nkf_char *p1) { nkf_char c2; const unsigned short *p; unsigned short val; if (pp == 0) return 1; c1 -= 0x80; if (c1 < 0 || psize <= c1) return 1; p = pp[c1]; if (p == 0) return 1; c0 -= 0x80; if (c0 < 0 || sizeof_utf8_to_euc_C2 <= c0) return 1; val = p[c0]; if (val == 0) return 1; if (no_cp932ext_f && ( (val>>8) == 0x2D || /* NEC special characters */ val > NKF_INT32_C(0xF300) /* IBM extended characters */ )) return 1; c2 = val >> 8; if (val > 0x7FFF){ c2 &= 0x7f; c2 |= PREFIX_EUCG3; } if (c2 == SO) c2 = JIS_X_0201_1976_K; c1 = val & 0xFF; if (p2) *p2 = c2; if (p1) *p1 = c1; return 0; } static int unicode_to_jis_common(nkf_char c2, nkf_char c1, nkf_char c0, nkf_char *p2, nkf_char *p1) { const unsigned short *const *pp; const unsigned short *const *const *ppp; static const char no_best_fit_chars_table_C2[] = {1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 0, 1, 0, 0, 0, 0, 1, 1, 1, 2, 1, 1, 2, 0, 0, 1, 1, 0, 1, 0, 1, 2, 1, 1, 1, 1, 1, 1, 1}; static const char no_best_fit_chars_table_C2_ms[] = {1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 1, 1, 0, 1, 1, 0, 0, 0, 0, 1, 1, 1, 0, 0, 0, 0, 1, 1, 0, 1, 0, 1, 0, 1, 0, 1, 1, 1, 1, 0}; static const char no_best_fit_chars_table_932_C2[] = {1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 1, 1, 0, 0, 1, 1, 1, 1, 1, 1, 1, 0, 0, 1, 1, 0, 1, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0}; static const char no_best_fit_chars_table_932_C3[] = {1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 1, 1, 1, 1, 1, 1, 1, 1}; nkf_char ret = 0; if(c2 < 0x80){ *p2 = 0; *p1 = c2; }else if(c2 < 0xe0){ if(no_best_fit_chars_f){ if(ms_ucs_map_f == UCS_MAP_CP932){ switch(c2){ case 0xC2: if(no_best_fit_chars_table_932_C2[c1&0x3F]) return 1; break; case 0xC3: if(no_best_fit_chars_table_932_C3[c1&0x3F]) return 1; break; } }else if(!cp932inv_f){ switch(c2){ case 0xC2: if(no_best_fit_chars_table_C2[c1&0x3F]) return 1; break; case 0xC3: if(no_best_fit_chars_table_932_C3[c1&0x3F]) return 1; break; } }else if(ms_ucs_map_f == UCS_MAP_MS){ if(c2 == 0xC2 && no_best_fit_chars_table_C2_ms[c1&0x3F]) return 1; }else if(ms_ucs_map_f == UCS_MAP_CP10001){ switch(c2){ case 0xC2: switch(c1){ case 0xA2: case 0xA3: case 0xA5: case 0xA6: case 0xAC: case 0xAF: case 0xB8: return 1; } break; } } } pp = ms_ucs_map_f == UCS_MAP_CP932 ? utf8_to_euc_2bytes_932 : ms_ucs_map_f == UCS_MAP_MS ? utf8_to_euc_2bytes_ms : ms_ucs_map_f == UCS_MAP_CP10001 ? utf8_to_euc_2bytes_mac : x0213_f ? utf8_to_euc_2bytes_x0213 : utf8_to_euc_2bytes; ret = unicode_to_jis_common2(c2, c1, pp, sizeof_utf8_to_euc_2bytes, p2, p1); }else if(c0 < 0xF0){ if(no_best_fit_chars_f){ if(ms_ucs_map_f == UCS_MAP_CP932){ if(c2 == 0xE3 && c1 == 0x82 && c0 == 0x94) return 1; }else if(ms_ucs_map_f == UCS_MAP_MS){ switch(c2){ case 0xE2: switch(c1){ case 0x80: if(c0 == 0x94 || c0 == 0x96 || c0 == 0xBE) return 1; break; case 0x88: if(c0 == 0x92) return 1; break; } break; case 0xE3: if(c1 == 0x80 || c0 == 0x9C) return 1; break; } }else if(ms_ucs_map_f == UCS_MAP_CP10001){ switch(c2){ case 0xE3: switch(c1){ case 0x82: if(c0 == 0x94) return 1; break; case 0x83: if(c0 == 0xBB) return 1; break; } break; } }else{ switch(c2){ case 0xE2: switch(c1){ case 0x80: if(c0 == 0x95) return 1; break; case 0x88: if(c0 == 0xA5) return 1; break; } break; case 0xEF: switch(c1){ case 0xBC: if(c0 == 0x8D) return 1; break; case 0xBD: if(c0 == 0x9E && !cp932inv_f) return 1; break; case 0xBF: if(0xA0 <= c0 && c0 <= 0xA5) return 1; break; } break; } } } ppp = ms_ucs_map_f == UCS_MAP_CP932 ? utf8_to_euc_3bytes_932 : ms_ucs_map_f == UCS_MAP_MS ? utf8_to_euc_3bytes_ms : ms_ucs_map_f == UCS_MAP_CP10001 ? utf8_to_euc_3bytes_mac : x0213_f ? utf8_to_euc_3bytes_x0213 : utf8_to_euc_3bytes; ret = unicode_to_jis_common2(c1, c0, ppp[c2 - 0xE0], sizeof_utf8_to_euc_C2, p2, p1); }else return -1; #ifdef SHIFTJIS_CP932 if (!ret&& is_eucg3(*p2)) { if (cp932inv_f) { if (encode_fallback) ret = 1; } else { nkf_char s2, s1; if (e2s_conv(*p2, *p1, &s2, &s1) == 0) { s2e_conv(s2, s1, p2, p1); }else{ ret = 1; } } } #endif return ret; } #ifdef UTF8_OUTPUT_ENABLE #define X0213_SURROGATE_FIND(tbl, size, euc) do { \ int i; \ for (i = 0; i < size; i++) \ if (tbl[i][0] == euc) { \ low = tbl[i][2]; \ break; \ } \ } while (0) static nkf_char e2w_conv(nkf_char c2, nkf_char c1) { const unsigned short *p; if (c2 == JIS_X_0201_1976_K) { if (ms_ucs_map_f == UCS_MAP_CP10001) { switch (c1) { case 0x20: return 0xA0; case 0x7D: return 0xA9; } } p = euc_to_utf8_1byte; #ifdef X0212_ENABLE } else if (is_eucg3(c2)){ if(ms_ucs_map_f == UCS_MAP_ASCII&& c2 == NKF_INT32_C(0x8F22) && c1 == 0x43){ return 0xA6; } c2 = (c2&0x7f) - 0x21; if (0<=c2 && c2= sizeof_x0213_combining_chars) return 0; euc = (c2&0x7f)<<8 | (c1&0x7f); for (i = 0; i < sizeof_x0213_combining_table; i++) if (x0213_combining_table[i][0] == euc) return x0213_combining_table[i][1]; return 0; } #endif static nkf_char w2e_conv(nkf_char c2, nkf_char c1, nkf_char c0, nkf_char *p2, nkf_char *p1) { nkf_char ret = 0; if (!c1){ *p2 = 0; *p1 = c2; }else if (0xc0 <= c2 && c2 <= 0xef) { ret = unicode_to_jis_common(c2, c1, c0, p2, p1); #ifdef NUMCHAR_OPTION if (ret > 0){ if (p2) *p2 = 0; if (p1) *p1 = nkf_char_unicode_new(nkf_utf8_to_unicode(c2, c1, c0, 0)); ret = 0; } #endif } return ret; } #ifdef UTF8_INPUT_ENABLE static nkf_char w16e_conv(nkf_char val, nkf_char *p2, nkf_char *p1) { nkf_char c1, c2, c3, c4; nkf_char ret = 0; val &= VALUE_MASK; if (val < 0x80) { *p2 = 0; *p1 = val; } else if (nkf_char_unicode_bmp_p(val)){ nkf_unicode_to_utf8(val, &c1, &c2, &c3, &c4); ret = unicode_to_jis_common(c1, c2, c3, p2, p1); if (ret > 0){ *p2 = 0; *p1 = nkf_char_unicode_new(val); ret = 0; } } else { int i; if (x0213_f) { c1 = (val >> 10) + NKF_INT32_C(0xD7C0); /* high surrogate */ c2 = (val & 0x3FF) + NKF_INT32_C(0xDC00); /* low surrogate */ for (i = 0; i < sizeof_x0213_1_surrogate_table; i++) if (x0213_1_surrogate_table[i][1] == c1 && x0213_1_surrogate_table[i][2] == c2) { val = x0213_1_surrogate_table[i][0]; *p2 = val >> 8; *p1 = val & 0xFF; return 0; } for (i = 0; i < sizeof_x0213_2_surrogate_table; i++) if (x0213_2_surrogate_table[i][1] == c1 && x0213_2_surrogate_table[i][2] == c2) { val = x0213_2_surrogate_table[i][0]; *p2 = PREFIX_EUCG3 | (val >> 8); *p1 = val & 0xFF; return 0; } } *p2 = 0; *p1 = nkf_char_unicode_new(val); } return ret; } #endif static nkf_char e_iconv(nkf_char c2, nkf_char c1, nkf_char c0) { if (c2 == JIS_X_0201_1976_K || c2 == SS2){ if (iso2022jp_f && !x0201_f) { c2 = GETA1; c1 = GETA2; } else { c2 = JIS_X_0201_1976_K; c1 &= 0x7f; } #ifdef X0212_ENABLE }else if (c2 == 0x8f){ if (c0 == 0){ return -1; } if (!cp51932_f && !x0213_f && 0xF5 <= c1 && c1 <= 0xFE && 0xA1 <= c0 && c0 <= 0xFE) { /* encoding is eucJP-ms, so invert to Unicode Private User Area */ c1 = nkf_char_unicode_new((c1 - 0xF5) * 94 + c0 - 0xA1 + 0xE3AC); c2 = 0; } else { c2 = (c2 << 8) | (c1 & 0x7f); c1 = c0 & 0x7f; #ifdef SHIFTJIS_CP932 if (cp51932_f){ nkf_char s2, s1; if (e2s_conv(c2, c1, &s2, &s1) == 0){ s2e_conv(s2, s1, &c2, &c1); if (c2 < 0x100){ c1 &= 0x7f; c2 &= 0x7f; } } } #endif /* SHIFTJIS_CP932 */ } #endif /* X0212_ENABLE */ } else if ((c2 == EOF) || (c2 == 0) || c2 < SP || c2 == ISO_8859_1) { /* NOP */ } else { if (!cp51932_f && ms_ucs_map_f && 0xF5 <= c2 && c2 <= 0xFE && 0xA1 <= c1 && c1 <= 0xFE) { /* encoding is eucJP-ms, so invert to Unicode Private User Area */ c1 = nkf_char_unicode_new((c2 - 0xF5) * 94 + c1 - 0xA1 + 0xE000); c2 = 0; } else { c1 &= 0x7f; c2 &= 0x7f; #ifdef SHIFTJIS_CP932 if (cp51932_f && 0x79 <= c2 && c2 <= 0x7c){ nkf_char s2, s1; if (e2s_conv(c2, c1, &s2, &s1) == 0){ s2e_conv(s2, s1, &c2, &c1); if (c2 < 0x100){ c1 &= 0x7f; c2 &= 0x7f; } } } #endif /* SHIFTJIS_CP932 */ } } (*oconv)(c2, c1); return 0; } static nkf_char s_iconv(ARG_UNUSED nkf_char c2, nkf_char c1, ARG_UNUSED nkf_char c0) { if (c2 == JIS_X_0201_1976_K || (0xA1 <= c2 && c2 <= 0xDF)) { if (iso2022jp_f && !x0201_f) { c2 = GETA1; c1 = GETA2; } else { c1 &= 0x7f; } } else if ((c2 == EOF) || (c2 == 0) || c2 < SP) { /* NOP */ } else if (!x0213_f && 0xF0 <= c2 && c2 <= 0xF9 && 0x40 <= c1 && c1 <= 0xFC) { /* CP932 UDC */ if(c1 == 0x7F) return 0; c1 = nkf_char_unicode_new((c2 - 0xF0) * 188 + (c1 - 0x40 - (0x7E < c1)) + 0xE000); c2 = 0; } else { nkf_char ret = s2e_conv(c2, c1, &c2, &c1); if (ret) return ret; } (*oconv)(c2, c1); return 0; } static int x0213_wait_combining_p(nkf_char wc) { int i; for (i = 0; i < sizeof_x0213_combining_table; i++) { if (x0213_combining_table[i][1] == wc) { return TRUE; } } return FALSE; } static int x0213_combining_p(nkf_char wc) { int i; for (i = 0; i < sizeof_x0213_combining_chars; i++) { if (x0213_combining_chars[i] == wc) { return TRUE; } } return FALSE; } static nkf_char w_iconv(nkf_char c1, nkf_char c2, nkf_char c3) { nkf_char ret = 0, c4 = 0; static const char w_iconv_utf8_1st_byte[] = { /* 0xC0 - 0xFF */ 20, 20, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 30, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 32, 33, 33, 40, 41, 41, 41, 42, 43, 43, 43, 50, 50, 50, 50, 60, 60, 70, 70}; if (c3 > 0xFF) { c4 = c3 & 0xFF; c3 >>= 8; } if (c1 < 0 || 0xff < c1) { }else if (c1 == 0) { /* 0 : 1 byte*/ c3 = 0; } else if ((c1 & 0xC0) == 0x80) { /* 0x80-0xbf : trail byte */ return 0; } else{ switch (w_iconv_utf8_1st_byte[c1 - 0xC0]) { case 21: if (c2 < 0x80 || 0xBF < c2) return 0; break; case 30: if (c3 == 0) return -1; if (c2 < 0xA0 || 0xBF < c2 || (c3 & 0xC0) != 0x80) return 0; break; case 31: case 33: if (c3 == 0) return -1; if ((c2 & 0xC0) != 0x80 || (c3 & 0xC0) != 0x80) return 0; break; case 32: if (c3 == 0) return -1; if (c2 < 0x80 || 0x9F < c2 || (c3 & 0xC0) != 0x80) return 0; break; case 40: if (c3 == 0) return -2; if (c2 < 0x90 || 0xBF < c2 || (c3 & 0xC0) != 0x80 || (c4 & 0xC0) != 0x80) return 0; break; case 41: if (c3 == 0) return -2; if (c2 < 0x80 || 0xBF < c2 || (c3 & 0xC0) != 0x80 || (c4 & 0xC0) != 0x80) return 0; break; case 42: if (c3 == 0) return -2; if (c2 < 0x80 || 0x8F < c2 || (c3 & 0xC0) != 0x80 || (c4 & 0xC0) != 0x80) return 0; break; default: return 0; break; } } if (c1 == 0 || c1 == EOF){ } else if ((c1 & 0xf8) == 0xf0) { /* 4 bytes */ c2 = nkf_char_unicode_new(nkf_utf8_to_unicode(c1, c2, c3, c4)); c1 = 0; } else { if (x0213_f && x0213_wait_combining_p(nkf_utf8_to_unicode(c1, c2, c3, c4))) return -3; ret = w2e_conv(c1, c2, c3, &c1, &c2); } if (ret == 0){ (*oconv)(c1, c2); } return ret; } static nkf_char w_iconv_nocombine(nkf_char c1, nkf_char c2, nkf_char c3) { /* continue from the line below 'return -3;' in w_iconv() */ nkf_char ret = w2e_conv(c1, c2, c3, &c1, &c2); if (ret == 0){ (*oconv)(c1, c2); } return ret; } #define NKF_ICONV_INVALID_CODE_RANGE -13 #define NKF_ICONV_WAIT_COMBINING_CHAR -14 #define NKF_ICONV_NOT_COMBINED -15 static size_t unicode_iconv(nkf_char wc, int nocombine) { nkf_char c1, c2; int ret = 0; if (wc < 0x80) { c2 = 0; c1 = wc; }else if ((wc>>11) == 27) { /* unpaired surrogate */ return NKF_ICONV_INVALID_CODE_RANGE; }else if (wc < 0xFFFF) { if (!nocombine && x0213_f && x0213_wait_combining_p(wc)) return NKF_ICONV_WAIT_COMBINING_CHAR; ret = w16e_conv(wc, &c2, &c1); if (ret) return ret; }else if (wc < 0x10FFFF) { c2 = 0; c1 = nkf_char_unicode_new(wc); } else { return NKF_ICONV_INVALID_CODE_RANGE; } (*oconv)(c2, c1); return 0; } static nkf_char unicode_iconv_combine(nkf_char wc, nkf_char wc2) { nkf_char c1, c2; int i; if (wc2 < 0x80) { return NKF_ICONV_NOT_COMBINED; }else if ((wc2>>11) == 27) { /* unpaired surrogate */ return NKF_ICONV_INVALID_CODE_RANGE; }else if (wc2 < 0xFFFF) { if (!x0213_combining_p(wc2)) return NKF_ICONV_NOT_COMBINED; for (i = 0; i < sizeof_x0213_combining_table; i++) { if (x0213_combining_table[i][1] == wc && x0213_combining_table[i][2] == wc2) { c2 = x0213_combining_table[i][0] >> 8; c1 = x0213_combining_table[i][0] & 0x7f; (*oconv)(c2, c1); return 0; } } }else if (wc2 < 0x10FFFF) { return NKF_ICONV_NOT_COMBINED; } else { return NKF_ICONV_INVALID_CODE_RANGE; } return NKF_ICONV_NOT_COMBINED; } static nkf_char w_iconv_combine(nkf_char c1, nkf_char c2, nkf_char c3, nkf_char c4, nkf_char c5, nkf_char c6) { nkf_char wc, wc2; wc = nkf_utf8_to_unicode(c1, c2, c3, 0); wc2 = nkf_utf8_to_unicode(c4, c5, c6, 0); if (wc2 < 0) return wc2; return unicode_iconv_combine(wc, wc2); } #define NKF_ICONV_NEED_ONE_MORE_BYTE (size_t)-1 #define NKF_ICONV_NEED_TWO_MORE_BYTES (size_t)-2 static size_t nkf_iconv_utf_16(nkf_char c1, nkf_char c2, nkf_char c3, nkf_char c4) { nkf_char wc; if (c1 == EOF) { (*oconv)(EOF, 0); return 0; } if (input_endian == ENDIAN_BIG) { if (0xD8 <= c1 && c1 <= 0xDB) { if (0xDC <= c3 && c3 <= 0xDF) { wc = UTF16_TO_UTF32(c1 << 8 | c2, c3 << 8 | c4); } else return NKF_ICONV_NEED_TWO_MORE_BYTES; } else { wc = c1 << 8 | c2; } } else { if (0xD8 <= c2 && c2 <= 0xDB) { if (0xDC <= c4 && c4 <= 0xDF) { wc = UTF16_TO_UTF32(c2 << 8 | c1, c4 << 8 | c3); } else return NKF_ICONV_NEED_TWO_MORE_BYTES; } else { wc = c2 << 8 | c1; } } return (*unicode_iconv)(wc, FALSE); } static size_t nkf_iconv_utf_16_combine(nkf_char c1, nkf_char c2, nkf_char c3, nkf_char c4) { nkf_char wc, wc2; if (input_endian == ENDIAN_BIG) { if (0xD8 <= c3 && c3 <= 0xDB) { return NKF_ICONV_NOT_COMBINED; } else { wc = c1 << 8 | c2; wc2 = c3 << 8 | c4; } } else { if (0xD8 <= c2 && c2 <= 0xDB) { return NKF_ICONV_NOT_COMBINED; } else { wc = c2 << 8 | c1; wc2 = c4 << 8 | c3; } } return unicode_iconv_combine(wc, wc2); } static size_t nkf_iconv_utf_16_nocombine(nkf_char c1, nkf_char c2) { nkf_char wc; if (input_endian == ENDIAN_BIG) wc = c1 << 8 | c2; else wc = c2 << 8 | c1; return (*unicode_iconv)(wc, TRUE); } static nkf_char w_iconv16(nkf_char c2, nkf_char c1, ARG_UNUSED nkf_char c0) { (*oconv)(c2, c1); return 16; /* different from w_iconv32 */ } static nkf_char w_iconv32(nkf_char c2, nkf_char c1, ARG_UNUSED nkf_char c0) { (*oconv)(c2, c1); return 32; /* different from w_iconv16 */ } static nkf_char utf32_to_nkf_char(nkf_char c1, nkf_char c2, nkf_char c3, nkf_char c4) { nkf_char wc; switch(input_endian){ case ENDIAN_BIG: wc = c2 << 16 | c3 << 8 | c4; break; case ENDIAN_LITTLE: wc = c3 << 16 | c2 << 8 | c1; break; case ENDIAN_2143: wc = c1 << 16 | c4 << 8 | c3; break; case ENDIAN_3412: wc = c4 << 16 | c1 << 8 | c2; break; default: return NKF_ICONV_INVALID_CODE_RANGE; } return wc; } static size_t nkf_iconv_utf_32(nkf_char c1, nkf_char c2, nkf_char c3, nkf_char c4) { nkf_char wc; if (c1 == EOF) { (*oconv)(EOF, 0); return 0; } wc = utf32_to_nkf_char(c1, c2, c3, c4); if (wc < 0) return wc; return (*unicode_iconv)(wc, FALSE); } static nkf_char nkf_iconv_utf_32_combine(nkf_char c1, nkf_char c2, nkf_char c3, nkf_char c4, nkf_char c5, nkf_char c6, nkf_char c7, nkf_char c8) { nkf_char wc, wc2; wc = utf32_to_nkf_char(c1, c2, c3, c4); if (wc < 0) return wc; wc2 = utf32_to_nkf_char(c5, c6, c7, c8); if (wc2 < 0) return wc2; return unicode_iconv_combine(wc, wc2); } static size_t nkf_iconv_utf_32_nocombine(nkf_char c1, nkf_char c2, nkf_char c3, nkf_char c4) { nkf_char wc; wc = utf32_to_nkf_char(c1, c2, c3, c4); return (*unicode_iconv)(wc, TRUE); } #endif #define output_ascii_escape_sequence(mode) do { \ if (output_mode != ASCII && output_mode != ISO_8859_1) { \ (*o_putc)(ESC); \ (*o_putc)('('); \ (*o_putc)(ascii_intro); \ output_mode = mode; \ } \ } while (0) static void output_escape_sequence(int mode) { if (output_mode == mode) return; switch(mode) { case ISO_8859_1: (*o_putc)(ESC); (*o_putc)('.'); (*o_putc)('A'); break; case JIS_X_0201_1976_K: (*o_putc)(ESC); (*o_putc)('('); (*o_putc)('I'); break; case JIS_X_0208: (*o_putc)(ESC); (*o_putc)('$'); (*o_putc)(kanji_intro); break; case JIS_X_0212: (*o_putc)(ESC); (*o_putc)('$'); (*o_putc)('('); (*o_putc)('D'); break; case JIS_X_0213_1: (*o_putc)(ESC); (*o_putc)('$'); (*o_putc)('('); (*o_putc)('Q'); break; case JIS_X_0213_2: (*o_putc)(ESC); (*o_putc)('$'); (*o_putc)('('); (*o_putc)('P'); break; } output_mode = mode; } static void j_oconv(nkf_char c2, nkf_char c1) { #ifdef NUMCHAR_OPTION if (c2 == 0 && nkf_char_unicode_p(c1)){ w16e_conv(c1, &c2, &c1); if (c2 == 0 && nkf_char_unicode_p(c1)){ c2 = c1 & VALUE_MASK; if (ms_ucs_map_f && 0xE000 <= c2 && c2 <= 0xE757) { /* CP5022x UDC */ c1 &= 0xFFF; c2 = 0x7F + c1 / 94; c1 = 0x21 + c1 % 94; } else { if (encode_fallback) (*encode_fallback)(c1); return; } } } #endif if (c2 == 0) { output_ascii_escape_sequence(ASCII); (*o_putc)(c1); } else if (c2 == EOF) { output_ascii_escape_sequence(ASCII); (*o_putc)(EOF); } else if (c2 == ISO_8859_1) { output_ascii_escape_sequence(ISO_8859_1); (*o_putc)(c1|0x80); } else if (c2 == JIS_X_0201_1976_K) { output_escape_sequence(JIS_X_0201_1976_K); (*o_putc)(c1); #ifdef X0212_ENABLE } else if (is_eucg3(c2)){ output_escape_sequence(x0213_f ? JIS_X_0213_2 : JIS_X_0212); (*o_putc)(c2 & 0x7f); (*o_putc)(c1); #endif } else { if(ms_ucs_map_f ? c2<0x20 || 0x92 0x3e); (*o_putc)(c2); (*o_putc)(c1); return; } else { if(encode_fallback)(*encode_fallback)(c1); return; } } } #endif if (c2 == EOF) { (*o_putc)(EOF); return; } else if (c2 == 0) { output_mode = ASCII; (*o_putc)(c1); } else if (c2 == JIS_X_0201_1976_K) { output_mode = SHIFT_JIS; (*o_putc)(c1|0x80); } else if (c2 == ISO_8859_1) { output_mode = ISO_8859_1; (*o_putc)(c1 | 0x080); #ifdef X0212_ENABLE } else if (is_eucg3(c2)){ output_mode = SHIFT_JIS; if (e2s_conv(c2, c1, &c2, &c1) == 0){ (*o_putc)(c2); (*o_putc)(c1); } #endif } else { if (!nkf_isprint(c1) || !nkf_isprint(c2)) { set_iconv(FALSE, 0); return; /* too late to rescue this char */ } output_mode = SHIFT_JIS; e2s_conv(c2, c1, &c2, &c1); #ifdef SHIFTJIS_CP932 if (cp932inv_f && CP932INV_TABLE_BEGIN <= c2 && c2 <= CP932INV_TABLE_END){ nkf_char c = cp932inv[c2 - CP932INV_TABLE_BEGIN][c1 - 0x40]; if (c){ c2 = c >> 8; c1 = c & 0xff; } } #endif /* SHIFTJIS_CP932 */ (*o_putc)(c2); if (prefix_table[(unsigned char)c1]){ (*o_putc)(prefix_table[(unsigned char)c1]); } (*o_putc)(c1); } } #ifdef UTF8_OUTPUT_ENABLE #define OUTPUT_UTF8(val) do { \ nkf_unicode_to_utf8(val, &c1, &c2, &c3, &c4); \ (*o_putc)(c1); \ if (c2) (*o_putc)(c2); \ if (c3) (*o_putc)(c3); \ if (c4) (*o_putc)(c4); \ } while (0) static void w_oconv(nkf_char c2, nkf_char c1) { nkf_char c3, c4; nkf_char val, val2; if (output_bom_f) { output_bom_f = FALSE; (*o_putc)('\357'); (*o_putc)('\273'); (*o_putc)('\277'); } if (c2 == EOF) { (*o_putc)(EOF); return; } if (c2 == 0 && nkf_char_unicode_p(c1)){ val = c1 & VALUE_MASK; OUTPUT_UTF8(val); return; } if (c2 == 0) { (*o_putc)(c1); } else { val = e2w_conv(c2, c1); if (val){ val2 = e2w_combining(val, c2, c1); if (val2) OUTPUT_UTF8(val2); OUTPUT_UTF8(val); } } } #define OUTPUT_UTF16_BYTES(c1, c2) do { \ if (output_endian == ENDIAN_LITTLE){ \ (*o_putc)(c1); \ (*o_putc)(c2); \ }else{ \ (*o_putc)(c2); \ (*o_putc)(c1); \ } \ } while (0) #define OUTPUT_UTF16(val) do { \ if (nkf_char_unicode_bmp_p(val)) { \ c2 = (val >> 8) & 0xff; \ c1 = val & 0xff; \ OUTPUT_UTF16_BYTES(c1, c2); \ } else { \ val &= VALUE_MASK; \ if (val <= UNICODE_MAX) { \ c2 = (val >> 10) + NKF_INT32_C(0xD7C0); /* high surrogate */ \ c1 = (val & 0x3FF) + NKF_INT32_C(0xDC00); /* low surrogate */ \ OUTPUT_UTF16_BYTES(c2 & 0xff, (c2 >> 8) & 0xff); \ OUTPUT_UTF16_BYTES(c1 & 0xff, (c1 >> 8) & 0xff); \ } \ } \ } while (0) static void w_oconv16(nkf_char c2, nkf_char c1) { if (output_bom_f) { output_bom_f = FALSE; OUTPUT_UTF16_BYTES(0xFF, 0xFE); } if (c2 == EOF) { (*o_putc)(EOF); return; } if (c2 == 0 && nkf_char_unicode_p(c1)) { OUTPUT_UTF16(c1); } else if (c2) { nkf_char val, val2; val = e2w_conv(c2, c1); if (!val) return; val2 = e2w_combining(val, c2, c1); if (val2) OUTPUT_UTF16(val2); OUTPUT_UTF16(val); } else { OUTPUT_UTF16_BYTES(c1, c2); } } #define OUTPUT_UTF32(c) do { \ if (output_endian == ENDIAN_LITTLE){ \ (*o_putc)( (c) & 0xFF); \ (*o_putc)(((c) >> 8) & 0xFF); \ (*o_putc)(((c) >> 16) & 0xFF); \ (*o_putc)(0); \ }else{ \ (*o_putc)(0); \ (*o_putc)(((c) >> 16) & 0xFF); \ (*o_putc)(((c) >> 8) & 0xFF); \ (*o_putc)( (c) & 0xFF); \ } \ } while (0) static void w_oconv32(nkf_char c2, nkf_char c1) { if (output_bom_f) { output_bom_f = FALSE; if (output_endian == ENDIAN_LITTLE){ (*o_putc)(0xFF); (*o_putc)(0xFE); (*o_putc)(0); (*o_putc)(0); }else{ (*o_putc)(0); (*o_putc)(0); (*o_putc)(0xFE); (*o_putc)(0xFF); } } if (c2 == EOF) { (*o_putc)(EOF); return; } if (c2 == ISO_8859_1) { c1 |= 0x80; } else if (c2 == 0 && nkf_char_unicode_p(c1)) { c1 &= VALUE_MASK; } else if (c2) { nkf_char val, val2; val = e2w_conv(c2, c1); if (!val) return; val2 = e2w_combining(val, c2, c1); if (val2) OUTPUT_UTF32(val2); c1 = val; } OUTPUT_UTF32(c1); } #endif #define SCORE_L2 (1) /* Kanji Level 2 */ #define SCORE_KANA (SCORE_L2 << 1) /* Halfwidth Katakana */ #define SCORE_DEPEND (SCORE_KANA << 1) /* MD Characters */ #define SCORE_CP932 (SCORE_DEPEND << 1) /* IBM extended characters */ #define SCORE_X0212 (SCORE_CP932 << 1) /* JIS X 0212 */ #define SCORE_X0213 (SCORE_X0212 << 1) /* JIS X 0213 */ #define SCORE_NO_EXIST (SCORE_X0213 << 1) /* Undefined Characters */ #define SCORE_iMIME (SCORE_NO_EXIST << 1) /* MIME selected */ #define SCORE_ERROR (SCORE_iMIME << 1) /* Error */ #define SCORE_INIT (SCORE_iMIME) static const nkf_char score_table_A0[] = { 0, 0, 0, 0, 0, 0, 0, 0, 0, SCORE_DEPEND, SCORE_DEPEND, SCORE_DEPEND, SCORE_DEPEND, SCORE_DEPEND, SCORE_DEPEND, SCORE_X0213, }; static const nkf_char score_table_F0[] = { SCORE_L2, SCORE_L2, SCORE_L2, SCORE_L2, SCORE_L2, SCORE_DEPEND, SCORE_X0213, SCORE_X0213, SCORE_DEPEND, SCORE_DEPEND, SCORE_CP932, SCORE_CP932, SCORE_CP932, SCORE_X0213, SCORE_X0213, SCORE_ERROR, }; static const nkf_char score_table_8FA0[] = { 0, SCORE_X0213, SCORE_X0212, SCORE_X0213, SCORE_X0213, SCORE_X0213, SCORE_X0212, SCORE_X0212, SCORE_X0213, SCORE_X0212, SCORE_X0212, SCORE_X0212, SCORE_X0213, SCORE_X0213, SCORE_X0213, SCORE_X0213, }; static const nkf_char score_table_8FE0[] = { SCORE_X0212, SCORE_X0212, SCORE_X0212, SCORE_X0212, SCORE_X0212, SCORE_X0212, SCORE_X0212, SCORE_X0212, SCORE_X0212, SCORE_X0212, SCORE_X0212, SCORE_X0212, SCORE_X0212, SCORE_X0212, SCORE_X0213, SCORE_X0213, }; static const nkf_char score_table_8FF0[] = { SCORE_X0213, SCORE_X0213, SCORE_X0213, SCORE_X0212, SCORE_X0212, SCORE_X0213, SCORE_X0213, SCORE_X0213, SCORE_X0213, SCORE_X0213, SCORE_X0213, SCORE_X0213, SCORE_X0213, SCORE_X0213, SCORE_X0213, SCORE_X0213, }; static void set_code_score(struct input_code *ptr, nkf_char score) { if (ptr){ ptr->score |= score; } } static void clr_code_score(struct input_code *ptr, nkf_char score) { if (ptr){ ptr->score &= ~score; } } static void code_score(struct input_code *ptr) { nkf_char c2 = ptr->buf[0]; nkf_char c1 = ptr->buf[1]; if (c2 < 0){ set_code_score(ptr, SCORE_ERROR); }else if (c2 == SS2){ set_code_score(ptr, SCORE_KANA); }else if (c2 == 0x8f){ if ((c1 & 0x70) == 0x20){ set_code_score(ptr, score_table_8FA0[c1 & 0x0f]); }else if ((c1 & 0x70) == 0x60){ set_code_score(ptr, score_table_8FE0[c1 & 0x0f]); }else if ((c1 & 0x70) == 0x70){ set_code_score(ptr, score_table_8FF0[c1 & 0x0f]); }else{ set_code_score(ptr, SCORE_X0212); } #ifdef UTF8_OUTPUT_ENABLE }else if (!e2w_conv(c2, c1)){ set_code_score(ptr, SCORE_NO_EXIST); #endif }else if ((c2 & 0x70) == 0x20){ set_code_score(ptr, score_table_A0[c2 & 0x0f]); }else if ((c2 & 0x70) == 0x70){ set_code_score(ptr, score_table_F0[c2 & 0x0f]); }else if ((c2 & 0x70) >= 0x50){ set_code_score(ptr, SCORE_L2); } } static void status_disable(struct input_code *ptr) { ptr->stat = -1; ptr->buf[0] = -1; code_score(ptr); if (iconv == ptr->iconv_func) set_iconv(FALSE, 0); } static void status_push_ch(struct input_code *ptr, nkf_char c) { ptr->buf[ptr->index++] = c; } static void status_clear(struct input_code *ptr) { ptr->stat = 0; ptr->index = 0; } static void status_reset(struct input_code *ptr) { status_clear(ptr); ptr->score = SCORE_INIT; } static void status_reinit(struct input_code *ptr) { status_reset(ptr); ptr->_file_stat = 0; } static void status_check(struct input_code *ptr, nkf_char c) { if (c <= DEL && estab_f){ status_reset(ptr); } } static void s_status(struct input_code *ptr, nkf_char c) { switch(ptr->stat){ case -1: status_check(ptr, c); break; case 0: if (c <= DEL){ break; }else if (nkf_char_unicode_p(c)){ break; }else if (0xa1 <= c && c <= 0xdf){ status_push_ch(ptr, SS2); status_push_ch(ptr, c); code_score(ptr); status_clear(ptr); }else if ((0x81 <= c && c < 0xa0) || (0xe0 <= c && c <= 0xea)){ ptr->stat = 1; status_push_ch(ptr, c); }else if (0xed <= c && c <= 0xee){ ptr->stat = 3; status_push_ch(ptr, c); #ifdef SHIFTJIS_CP932 }else if (is_ibmext_in_sjis(c)){ ptr->stat = 2; status_push_ch(ptr, c); #endif /* SHIFTJIS_CP932 */ #ifdef X0212_ENABLE }else if (0xf0 <= c && c <= 0xfc){ ptr->stat = 1; status_push_ch(ptr, c); #endif /* X0212_ENABLE */ }else{ status_disable(ptr); } break; case 1: if ((0x40 <= c && c <= 0x7e) || (0x80 <= c && c <= 0xfc)){ status_push_ch(ptr, c); s2e_conv(ptr->buf[0], ptr->buf[1], &ptr->buf[0], &ptr->buf[1]); code_score(ptr); status_clear(ptr); }else{ status_disable(ptr); } break; case 2: #ifdef SHIFTJIS_CP932 if ((0x40 <= c && c <= 0x7e) || (0x80 <= c && c <= 0xfc)) { status_push_ch(ptr, c); if (s2e_conv(ptr->buf[0], ptr->buf[1], &ptr->buf[0], &ptr->buf[1]) == 0) { set_code_score(ptr, SCORE_CP932); status_clear(ptr); break; } } #endif /* SHIFTJIS_CP932 */ status_disable(ptr); break; case 3: if ((0x40 <= c && c <= 0x7e) || (0x80 <= c && c <= 0xfc)){ status_push_ch(ptr, c); s2e_conv(ptr->buf[0], ptr->buf[1], &ptr->buf[0], &ptr->buf[1]); set_code_score(ptr, SCORE_CP932); status_clear(ptr); }else{ status_disable(ptr); } break; } } static void e_status(struct input_code *ptr, nkf_char c) { switch (ptr->stat){ case -1: status_check(ptr, c); break; case 0: if (c <= DEL){ break; }else if (nkf_char_unicode_p(c)){ break; }else if (SS2 == c || (0xa1 <= c && c <= 0xfe)){ ptr->stat = 1; status_push_ch(ptr, c); #ifdef X0212_ENABLE }else if (0x8f == c){ ptr->stat = 2; status_push_ch(ptr, c); #endif /* X0212_ENABLE */ }else{ status_disable(ptr); } break; case 1: if (0xa1 <= c && c <= 0xfe){ status_push_ch(ptr, c); code_score(ptr); status_clear(ptr); }else{ status_disable(ptr); } break; #ifdef X0212_ENABLE case 2: if (0xa1 <= c && c <= 0xfe){ ptr->stat = 1; status_push_ch(ptr, c); }else{ status_disable(ptr); } #endif /* X0212_ENABLE */ } } #ifdef UTF8_INPUT_ENABLE static void w_status(struct input_code *ptr, nkf_char c) { switch (ptr->stat){ case -1: status_check(ptr, c); break; case 0: if (c <= DEL){ break; }else if (nkf_char_unicode_p(c)){ break; }else if (0xc0 <= c && c <= 0xdf){ ptr->stat = 1; status_push_ch(ptr, c); }else if (0xe0 <= c && c <= 0xef){ ptr->stat = 2; status_push_ch(ptr, c); }else if (0xf0 <= c && c <= 0xf4){ ptr->stat = 3; status_push_ch(ptr, c); }else{ status_disable(ptr); } break; case 1: case 2: if (0x80 <= c && c <= 0xbf){ status_push_ch(ptr, c); if (ptr->index > ptr->stat){ int bom = (ptr->buf[0] == 0xef && ptr->buf[1] == 0xbb && ptr->buf[2] == 0xbf); w2e_conv(ptr->buf[0], ptr->buf[1], ptr->buf[2], &ptr->buf[0], &ptr->buf[1]); if (!bom){ code_score(ptr); } status_clear(ptr); } }else{ status_disable(ptr); } break; case 3: if (0x80 <= c && c <= 0xbf){ if (ptr->index < ptr->stat){ status_push_ch(ptr, c); } else { status_clear(ptr); } }else{ status_disable(ptr); } break; } } #endif static void code_status(nkf_char c) { int action_flag = 1; struct input_code *result = 0; struct input_code *p = input_code_list; while (p->name){ if (!p->status_func) { ++p; continue; } if (!p->status_func) continue; (p->status_func)(p, c); if (p->stat > 0){ action_flag = 0; }else if(p->stat == 0){ if (result){ action_flag = 0; }else{ result = p; } } ++p; } if (action_flag){ if (result && !estab_f){ set_iconv(TRUE, result->iconv_func); }else if (c <= DEL){ struct input_code *ptr = input_code_list; while (ptr->name){ status_reset(ptr); ++ptr; } } } } typedef struct { nkf_buf_t *std_gc_buf; nkf_char broken_state; nkf_buf_t *broken_buf; nkf_char mimeout_state; nkf_buf_t *nfc_buf; } nkf_state_t; static nkf_state_t *nkf_state = NULL; #define STD_GC_BUFSIZE (256) static void nkf_state_init(void) { if (nkf_state) { nkf_buf_clear(nkf_state->std_gc_buf); nkf_buf_clear(nkf_state->broken_buf); nkf_buf_clear(nkf_state->nfc_buf); } else { nkf_state = nkf_xmalloc(sizeof(nkf_state_t)); nkf_state->std_gc_buf = nkf_buf_new(STD_GC_BUFSIZE); nkf_state->broken_buf = nkf_buf_new(3); nkf_state->nfc_buf = nkf_buf_new(9); } nkf_state->broken_state = 0; nkf_state->mimeout_state = 0; } #ifndef WIN32DLL static nkf_char std_getc(FILE *f) { if (!nkf_buf_empty_p(nkf_state->std_gc_buf)){ return nkf_buf_pop(nkf_state->std_gc_buf); } return getc(f); } #endif /*WIN32DLL*/ static nkf_char std_ungetc(nkf_char c, ARG_UNUSED FILE *f) { nkf_buf_push(nkf_state->std_gc_buf, c); return c; } #ifndef WIN32DLL static void std_putc(nkf_char c) { if(c!=EOF) putchar(c); } #endif /*WIN32DLL*/ static nkf_char hold_buf[HOLD_SIZE*2]; static int hold_count = 0; static nkf_char push_hold_buf(nkf_char c2) { if (hold_count >= HOLD_SIZE*2) return (EOF); hold_buf[hold_count++] = c2; return ((hold_count >= HOLD_SIZE*2) ? EOF : hold_count); } static int h_conv(FILE *f, nkf_char c1, nkf_char c2) { int ret; int hold_index; int fromhold_count; nkf_char c3, c4; /** it must NOT be in the kanji shifte sequence */ /** it must NOT be written in JIS7 */ /** and it must be after 2 byte 8bit code */ hold_count = 0; push_hold_buf(c1); push_hold_buf(c2); while ((c2 = (*i_getc)(f)) != EOF) { if (c2 == ESC){ (*i_ungetc)(c2,f); break; } code_status(c2); if (push_hold_buf(c2) == EOF || estab_f) { break; } } if (!estab_f) { struct input_code *p = input_code_list; struct input_code *result = p; if (c2 == EOF) { code_status(c2); } while (p->name) { if (p->status_func && p->score < result->score) { result = p; } p++; } set_iconv(TRUE, result->iconv_func); } /** now, ** 1) EOF is detected, or ** 2) Code is established, or ** 3) Buffer is FULL (but last word is pushed) ** ** in 1) and 3) cases, we continue to use ** Kanji codes by oconv and leave estab_f unchanged. **/ ret = c2; hold_index = 0; while (hold_index < hold_count){ c1 = hold_buf[hold_index++]; if (nkf_char_unicode_p(c1)) { (*oconv)(0, c1); continue; } else if (c1 <= DEL){ (*iconv)(0, c1, 0); continue; }else if (iconv == s_iconv && 0xa1 <= c1 && c1 <= 0xdf){ (*iconv)(JIS_X_0201_1976_K, c1, 0); continue; } fromhold_count = 1; if (hold_index < hold_count){ c2 = hold_buf[hold_index++]; fromhold_count++; }else{ c2 = (*i_getc)(f); if (c2 == EOF){ c4 = EOF; break; } code_status(c2); } c3 = 0; switch ((*iconv)(c1, c2, 0)) { /* can be EUC/SJIS/UTF-8 */ case -2: /* 4 bytes UTF-8 */ if (hold_index < hold_count){ c3 = hold_buf[hold_index++]; } else if ((c3 = (*i_getc)(f)) == EOF) { ret = EOF; break; } code_status(c3); if (hold_index < hold_count){ c4 = hold_buf[hold_index++]; } else if ((c4 = (*i_getc)(f)) == EOF) { c3 = ret = EOF; break; } code_status(c4); (*iconv)(c1, c2, (c3<<8)|c4); break; case -3: /* 4 bytes UTF-8 (check combining character) */ if (hold_index < hold_count){ c3 = hold_buf[hold_index++]; fromhold_count++; } else if ((c3 = (*i_getc)(f)) == EOF) { w_iconv_nocombine(c1, c2, 0); break; } if (hold_index < hold_count){ c4 = hold_buf[hold_index++]; fromhold_count++; } else if ((c4 = (*i_getc)(f)) == EOF) { w_iconv_nocombine(c1, c2, 0); if (fromhold_count <= 2) (*i_ungetc)(c3,f); else hold_index--; continue; } if (w_iconv_combine(c1, c2, 0, c3, c4, 0)) { w_iconv_nocombine(c1, c2, 0); if (fromhold_count <= 2) { (*i_ungetc)(c4,f); (*i_ungetc)(c3,f); } else if (fromhold_count == 3) { (*i_ungetc)(c4,f); hold_index--; } else { hold_index -= 2; } } break; case -1: /* 3 bytes EUC or UTF-8 */ if (hold_index < hold_count){ c3 = hold_buf[hold_index++]; fromhold_count++; } else if ((c3 = (*i_getc)(f)) == EOF) { ret = EOF; break; } else { code_status(c3); } if ((*iconv)(c1, c2, c3) == -3) { /* 6 bytes UTF-8 (check combining character) */ nkf_char c5, c6; if (hold_index < hold_count){ c4 = hold_buf[hold_index++]; fromhold_count++; } else if ((c4 = (*i_getc)(f)) == EOF) { w_iconv_nocombine(c1, c2, c3); continue; } if (hold_index < hold_count){ c5 = hold_buf[hold_index++]; fromhold_count++; } else if ((c5 = (*i_getc)(f)) == EOF) { w_iconv_nocombine(c1, c2, c3); if (fromhold_count == 4) hold_index--; else (*i_ungetc)(c4,f); continue; } if (hold_index < hold_count){ c6 = hold_buf[hold_index++]; fromhold_count++; } else if ((c6 = (*i_getc)(f)) == EOF) { w_iconv_nocombine(c1, c2, c3); if (fromhold_count == 5) { hold_index -= 2; } else if (fromhold_count == 4) { hold_index--; (*i_ungetc)(c5,f); } else { (*i_ungetc)(c5,f); (*i_ungetc)(c4,f); } continue; } if (w_iconv_combine(c1, c2, c3, c4, c5, c6)) { w_iconv_nocombine(c1, c2, c3); if (fromhold_count == 6) { hold_index -= 3; } else if (fromhold_count == 5) { hold_index -= 2; (*i_ungetc)(c6,f); } else if (fromhold_count == 4) { hold_index--; (*i_ungetc)(c6,f); (*i_ungetc)(c5,f); } else { (*i_ungetc)(c6,f); (*i_ungetc)(c5,f); (*i_ungetc)(c4,f); } } } break; } if (c3 == EOF) break; } return ret; } /* * Check and Ignore BOM */ static void check_bom(FILE *f) { int c2; input_bom_f = FALSE; switch(c2 = (*i_getc)(f)){ case 0x00: if((c2 = (*i_getc)(f)) == 0x00){ if((c2 = (*i_getc)(f)) == 0xFE){ if((c2 = (*i_getc)(f)) == 0xFF){ if(!input_encoding){ set_iconv(TRUE, w_iconv32); } if (iconv == w_iconv32) { input_bom_f = TRUE; input_endian = ENDIAN_BIG; return; } (*i_ungetc)(0xFF,f); }else (*i_ungetc)(c2,f); (*i_ungetc)(0xFE,f); }else if(c2 == 0xFF){ if((c2 = (*i_getc)(f)) == 0xFE){ if(!input_encoding){ set_iconv(TRUE, w_iconv32); } if (iconv == w_iconv32) { input_endian = ENDIAN_2143; return; } (*i_ungetc)(0xFF,f); }else (*i_ungetc)(c2,f); (*i_ungetc)(0xFF,f); }else (*i_ungetc)(c2,f); (*i_ungetc)(0x00,f); }else (*i_ungetc)(c2,f); (*i_ungetc)(0x00,f); break; case 0xEF: if((c2 = (*i_getc)(f)) == 0xBB){ if((c2 = (*i_getc)(f)) == 0xBF){ if(!input_encoding){ set_iconv(TRUE, w_iconv); } if (iconv == w_iconv) { input_bom_f = TRUE; return; } (*i_ungetc)(0xBF,f); }else (*i_ungetc)(c2,f); (*i_ungetc)(0xBB,f); }else (*i_ungetc)(c2,f); (*i_ungetc)(0xEF,f); break; case 0xFE: if((c2 = (*i_getc)(f)) == 0xFF){ if((c2 = (*i_getc)(f)) == 0x00){ if((c2 = (*i_getc)(f)) == 0x00){ if(!input_encoding){ set_iconv(TRUE, w_iconv32); } if (iconv == w_iconv32) { input_endian = ENDIAN_3412; return; } (*i_ungetc)(0x00,f); }else (*i_ungetc)(c2,f); (*i_ungetc)(0x00,f); }else (*i_ungetc)(c2,f); if(!input_encoding){ set_iconv(TRUE, w_iconv16); } if (iconv == w_iconv16) { input_endian = ENDIAN_BIG; input_bom_f = TRUE; return; } (*i_ungetc)(0xFF,f); }else (*i_ungetc)(c2,f); (*i_ungetc)(0xFE,f); break; case 0xFF: if((c2 = (*i_getc)(f)) == 0xFE){ if((c2 = (*i_getc)(f)) == 0x00){ if((c2 = (*i_getc)(f)) == 0x00){ if(!input_encoding){ set_iconv(TRUE, w_iconv32); } if (iconv == w_iconv32) { input_endian = ENDIAN_LITTLE; input_bom_f = TRUE; return; } (*i_ungetc)(0x00,f); }else (*i_ungetc)(c2,f); (*i_ungetc)(0x00,f); }else (*i_ungetc)(c2,f); if(!input_encoding){ set_iconv(TRUE, w_iconv16); } if (iconv == w_iconv16) { input_endian = ENDIAN_LITTLE; input_bom_f = TRUE; return; } (*i_ungetc)(0xFE,f); }else (*i_ungetc)(c2,f); (*i_ungetc)(0xFF,f); break; default: (*i_ungetc)(c2,f); break; } } static nkf_char broken_getc(FILE *f) { nkf_char c, c1; if (!nkf_buf_empty_p(nkf_state->broken_buf)) { return nkf_buf_pop(nkf_state->broken_buf); } c = (*i_bgetc)(f); if (c=='$' && nkf_state->broken_state != ESC && (input_mode == ASCII || input_mode == JIS_X_0201_1976_K)) { c1= (*i_bgetc)(f); nkf_state->broken_state = 0; if (c1=='@'|| c1=='B') { nkf_buf_push(nkf_state->broken_buf, c1); nkf_buf_push(nkf_state->broken_buf, c); return ESC; } else { (*i_bungetc)(c1,f); return c; } } else if (c=='(' && nkf_state->broken_state != ESC && (input_mode == JIS_X_0208 || input_mode == JIS_X_0201_1976_K)) { c1= (*i_bgetc)(f); nkf_state->broken_state = 0; if (c1=='J'|| c1=='B') { nkf_buf_push(nkf_state->broken_buf, c1); nkf_buf_push(nkf_state->broken_buf, c); return ESC; } else { (*i_bungetc)(c1,f); return c; } } else { nkf_state->broken_state = c; return c; } } static nkf_char broken_ungetc(nkf_char c, ARG_UNUSED FILE *f) { if (nkf_buf_length(nkf_state->broken_buf) < 2) nkf_buf_push(nkf_state->broken_buf, c); return c; } static void eol_conv(nkf_char c2, nkf_char c1) { if (guess_f && input_eol != EOF) { if (c2 == 0 && c1 == LF) { if (!input_eol) input_eol = prev_cr ? CRLF : LF; else if (input_eol != (prev_cr ? CRLF : LF)) input_eol = EOF; } else if (c2 == 0 && c1 == CR && input_eol == LF) input_eol = EOF; else if (!prev_cr); else if (!input_eol) input_eol = CR; else if (input_eol != CR) input_eol = EOF; } if (prev_cr || (c2 == 0 && c1 == LF)) { prev_cr = 0; if (eolmode_f != LF) (*o_eol_conv)(0, CR); if (eolmode_f != CR) (*o_eol_conv)(0, LF); } if (c2 == 0 && c1 == CR) prev_cr = CR; else if (c2 != 0 || c1 != LF) (*o_eol_conv)(c2, c1); } static void put_newline(void (*func)(nkf_char)) { switch (eolmode_f ? eolmode_f : DEFAULT_NEWLINE) { case CRLF: (*func)(0x0D); (*func)(0x0A); break; case CR: (*func)(0x0D); break; case LF: (*func)(0x0A); break; } } static void oconv_newline(void (*func)(nkf_char, nkf_char)) { switch (eolmode_f ? eolmode_f : DEFAULT_NEWLINE) { case CRLF: (*func)(0, 0x0D); (*func)(0, 0x0A); break; case CR: (*func)(0, 0x0D); break; case LF: (*func)(0, 0x0A); break; } } /* Return value of fold_conv() LF add newline and output char CR add newline and output nothing SP space 0 skip 1 (or else) normal output fold state in prev (previous character) >0x80 Japanese (X0208/X0201) <0x80 ASCII LF new line SP space This fold algorthm does not preserve heading space in a line. This is the main difference from fmt. */ #define char_size(c2,c1) (c2?2:1) static void fold_conv(nkf_char c2, nkf_char c1) { nkf_char prev0; nkf_char fold_state; if (c1== CR && !fold_preserve_f) { fold_state=0; /* ignore cr */ }else if (c1== LF&&f_prev==CR && fold_preserve_f) { f_prev = LF; fold_state=0; /* ignore cr */ } else if (c1== BS) { if (f_line>0) f_line--; fold_state = 1; } else if (c2==EOF && f_line != 0) { /* close open last line */ fold_state = LF; } else if ((c1==LF && !fold_preserve_f) || ((c1==CR||(c1==LF&&f_prev!=CR)) && fold_preserve_f)) { /* new line */ if (fold_preserve_f) { f_prev = c1; f_line = 0; fold_state = CR; } else if ((f_prev == c1) || (f_prev == LF) ) { /* duplicate newline */ if (f_line) { f_line = 0; fold_state = LF; /* output two newline */ } else { f_line = 0; fold_state = 1; } } else { if (f_prev&0x80) { /* Japanese? */ f_prev = c1; fold_state = 0; /* ignore given single newline */ } else if (f_prev==SP) { fold_state = 0; } else { f_prev = c1; if (++f_line<=fold_len) fold_state = SP; else { f_line = 0; fold_state = CR; /* fold and output nothing */ } } } } else if (c1=='\f') { f_prev = LF; f_line = 0; fold_state = LF; /* output newline and clear */ } else if ((c2==0 && nkf_isblank(c1)) || (c2 == '!' && c1 == '!')) { /* X0208 kankaku or ascii space */ if (f_prev == SP) { fold_state = 0; /* remove duplicate spaces */ } else { f_prev = SP; if (++f_line<=fold_len) fold_state = SP; /* output ASCII space only */ else { f_prev = SP; f_line = 0; fold_state = CR; /* fold and output nothing */ } } } else { prev0 = f_prev; /* we still need this one... , but almost done */ f_prev = c1; if (c2 || c2 == JIS_X_0201_1976_K) f_prev |= 0x80; /* this is Japanese */ f_line += c2 == JIS_X_0201_1976_K ? 1: char_size(c2,c1); if (f_line<=fold_len) { /* normal case */ fold_state = 1; } else { if (f_line>fold_len+fold_margin) { /* too many kinsoku suspension */ f_line = char_size(c2,c1); fold_state = LF; /* We can't wait, do fold now */ } else if (c2 == JIS_X_0201_1976_K) { /* simple kinsoku rules return 1 means no folding */ if (c1==(0xde&0x7f)) fold_state = 1; /* $B!+(B*/ else if (c1==(0xdf&0x7f)) fold_state = 1; /* $B!,(B*/ else if (c1==(0xa4&0x7f)) fold_state = 1; /* $B!#(B*/ else if (c1==(0xa3&0x7f)) fold_state = 1; /* $B!$(B*/ else if (c1==(0xa1&0x7f)) fold_state = 1; /* $B!W(B*/ else if (c1==(0xb0&0x7f)) fold_state = 1; /* - */ else if (SP<=c1 && c1<=(0xdf&0x7f)) { /* X0201 */ f_line = 1; fold_state = LF;/* add one new f_line before this character */ } else { f_line = 1; fold_state = LF;/* add one new f_line before this character */ } } else if (c2==0) { /* kinsoku point in ASCII */ if ( c1==')'|| /* { [ ( */ c1==']'|| c1=='}'|| c1=='.'|| c1==','|| c1=='!'|| c1=='?'|| c1=='/'|| c1==':'|| c1==';') { fold_state = 1; /* just after special */ } else if (!is_alnum(prev0)) { f_line = char_size(c2,c1); fold_state = LF; } else if ((prev0==SP) || /* ignored new f_line */ (prev0==LF)|| /* ignored new f_line */ (prev0&0x80)) { /* X0208 - ASCII */ f_line = char_size(c2,c1); fold_state = LF;/* add one new f_line before this character */ } else { fold_state = 1; /* default no fold in ASCII */ } } else { if (c2=='!') { if (c1=='"') fold_state = 1; /* $B!"(B */ else if (c1=='#') fold_state = 1; /* $B!#(B */ else if (c1=='W') fold_state = 1; /* $B!W(B */ else if (c1=='K') fold_state = 1; /* $B!K(B */ else if (c1=='$') fold_state = 1; /* $B!$(B */ else if (c1=='%') fold_state = 1; /* $B!%(B */ else if (c1=='\'') fold_state = 1; /* $B!\(B */ else if (c1=='(') fold_state = 1; /* $B!((B */ else if (c1==')') fold_state = 1; /* $B!)(B */ else if (c1=='*') fold_state = 1; /* $B!*(B */ else if (c1=='+') fold_state = 1; /* $B!+(B */ else if (c1==',') fold_state = 1; /* $B!,(B */ /* default no fold in kinsoku */ else { fold_state = LF; f_line = char_size(c2,c1); /* add one new f_line before this character */ } } else { f_line = char_size(c2,c1); fold_state = LF; /* add one new f_line before this character */ } } } } /* terminator process */ switch(fold_state) { case LF: oconv_newline(o_fconv); (*o_fconv)(c2,c1); break; case 0: return; case CR: oconv_newline(o_fconv); break; case TAB: case SP: (*o_fconv)(0,SP); break; default: (*o_fconv)(c2,c1); } } static nkf_char z_prev2=0,z_prev1=0; static void z_conv(nkf_char c2, nkf_char c1) { /* if (c2) c1 &= 0x7f; assertion */ if (c2 == JIS_X_0201_1976_K && (c1 == 0x20 || c1 == 0x7D || c1 == 0x7E)) { (*o_zconv)(c2,c1); return; } if (x0201_f) { if (z_prev2 == JIS_X_0201_1976_K) { if (c2 == JIS_X_0201_1976_K) { if (c1 == (0xde&0x7f)) { /* $BByE@(B */ z_prev2 = 0; (*o_zconv)(dv[(z_prev1-SP)*2], dv[(z_prev1-SP)*2+1]); return; } else if (c1 == (0xdf&0x7f) && ev[(z_prev1-SP)*2]) { /* $BH>ByE@(B */ z_prev2 = 0; (*o_zconv)(ev[(z_prev1-SP)*2], ev[(z_prev1-SP)*2+1]); return; } else if (x0213_f && c1 == (0xdf&0x7f) && ev_x0213[(z_prev1-SP)*2]) { /* $BH>ByE@(B */ z_prev2 = 0; (*o_zconv)(ev_x0213[(z_prev1-SP)*2], ev_x0213[(z_prev1-SP)*2+1]); return; } } z_prev2 = 0; (*o_zconv)(cv[(z_prev1-SP)*2], cv[(z_prev1-SP)*2+1]); } if (c2 == JIS_X_0201_1976_K) { if (dv[(c1-SP)*2] || ev[(c1-SP)*2] || (x0213_f && ev_x0213[(c1-SP)*2])) { /* wait for $BByE@(B or $BH>ByE@(B */ z_prev1 = c1; z_prev2 = c2; return; } else { (*o_zconv)(cv[(c1-SP)*2], cv[(c1-SP)*2+1]); return; } } } if (c2 == EOF) { (*o_zconv)(c2, c1); return; } if (alpha_f&1 && c2 == 0x23) { /* JISX0208 Alphabet */ c2 = 0; } else if (c2 == 0x21) { /* JISX0208 Kigou */ if (0x21==c1) { if (alpha_f&2) { c2 = 0; c1 = SP; } else if (alpha_f&4) { (*o_zconv)(0, SP); (*o_zconv)(0, SP); return; } } else if (alpha_f&1 && 0x20': entity = ">"; break; case '<': entity = "<"; break; case '\"': entity = """; break; case '&': entity = "&"; break; } if (entity){ while (*entity) (*o_zconv)(0, *entity++); return; } } if (alpha_f & 16) { /* JIS X 0208 Katakana to JIS X 0201 Katakana */ if (c2 == 0x21) { nkf_char c = 0; switch (c1) { case 0x23: /* U+3002 (0x8142) Ideographic Full Stop -> U+FF61 (0xA1) Halfwidth Ideographic Full Stop */ c = 0xA1; break; case 0x56: /* U+300C (0x8175) Left Corner Bracket -> U+FF62 (0xA2) Halfwidth Left Corner Bracket */ c = 0xA2; break; case 0x57: /* U+300D (0x8176) Right Corner Bracket -> U+FF63 (0xA3) Halfwidth Right Corner Bracket */ c = 0xA3; break; case 0x22: /* U+3001 (0x8141) Ideographic Comma -> U+FF64 (0xA4) Halfwidth Ideographic Comma */ c = 0xA4; break; case 0x26: /* U+30FB (0x8145) Katakana Middle Dot -> U+FF65 (0xA5) Halfwidth Katakana Middle Dot */ c = 0xA5; break; case 0x3C: /* U+30FC (0x815B) Katakana-Hiragana Prolonged Sound Mark -> U+FF70 (0xB0) Halfwidth Katakana-Hiragana Prolonged Sound Mark */ c = 0xB0; break; case 0x2B: /* U+309B (0x814A) Katakana-Hiragana Voiced Sound Mark -> U+FF9E (0xDE) Halfwidth Katakana Voiced Sound Mark */ c = 0xDE; break; case 0x2C: /* U+309C (0x814B) Katakana-Hiragana Semi-Voiced Sound Mark -> U+FF9F (0xDF) Halfwidth Katakana Semi-Voiced Sound Mark */ c = 0xDF; break; } if (c) { (*o_zconv)(JIS_X_0201_1976_K, c); return; } } else if (c2 == 0x25) { /* JISX0208 Katakana */ static const int fullwidth_to_halfwidth[] = { 0x0000, 0x2700, 0x3100, 0x2800, 0x3200, 0x2900, 0x3300, 0x2A00, 0x3400, 0x2B00, 0x3500, 0x3600, 0x365E, 0x3700, 0x375E, 0x3800, 0x385E, 0x3900, 0x395E, 0x3A00, 0x3A5E, 0x3B00, 0x3B5E, 0x3C00, 0x3C5E, 0x3D00, 0x3D5E, 0x3E00, 0x3E5E, 0x3F00, 0x3F5E, 0x4000, 0x405E, 0x4100, 0x415E, 0x2F00, 0x4200, 0x425E, 0x4300, 0x435E, 0x4400, 0x445E, 0x4500, 0x4600, 0x4700, 0x4800, 0x4900, 0x4A00, 0x4A5E, 0x4A5F, 0x4B00, 0x4B5E, 0x4B5F, 0x4C00, 0x4C5E, 0x4C5F, 0x4D00, 0x4D5E, 0x4D5F, 0x4E00, 0x4E5E, 0x4E5F, 0x4F00, 0x5000, 0x5100, 0x5200, 0x5300, 0x2C00, 0x5400, 0x2D00, 0x5500, 0x2E00, 0x5600, 0x5700, 0x5800, 0x5900, 0x5A00, 0x5B00, 0x0000, 0x5C00, 0x0000, 0x0000, 0x2600, 0x5D00, 0x335E, 0x0000, 0x0000, 0x365F, 0x375F, 0x385F, 0x395F, 0x3A5F, 0x3E5F, 0x425F, 0x445F, 0x0000 }; if (fullwidth_to_halfwidth[c1-0x20]){ c2 = fullwidth_to_halfwidth[c1-0x20]; (*o_zconv)(JIS_X_0201_1976_K, c2>>8); if (c2 & 0xFF) { (*o_zconv)(JIS_X_0201_1976_K, c2&0xFF); } return; } } else if (c2 == 0 && nkf_char_unicode_p(c1) && ((c1&VALUE_MASK) == 0x3099 || (c1&VALUE_MASK) == 0x309A)) { /* $B9g@.MQByE@!&H>ByE@(B */ (*o_zconv)(JIS_X_0201_1976_K, 0x5E + (c1&VALUE_MASK) - 0x3099); return; } } (*o_zconv)(c2,c1); } #define rot13(c) ( \ ( c < 'A') ? c: \ (c <= 'M') ? (c + 13): \ (c <= 'Z') ? (c - 13): \ (c < 'a') ? (c): \ (c <= 'm') ? (c + 13): \ (c <= 'z') ? (c - 13): \ (c) \ ) #define rot47(c) ( \ ( c < '!') ? c: \ ( c <= 'O') ? (c + 47) : \ ( c <= '~') ? (c - 47) : \ c \ ) static void rot_conv(nkf_char c2, nkf_char c1) { if (c2 == 0 || c2 == JIS_X_0201_1976_K || c2 == ISO_8859_1) { c1 = rot13(c1); } else if (c2) { c1 = rot47(c1); c2 = rot47(c2); } (*o_rot_conv)(c2,c1); } static void hira_conv(nkf_char c2, nkf_char c1) { if (hira_f & 1) { if (c2 == 0x25) { if (0x20 < c1 && c1 < 0x74) { c2 = 0x24; (*o_hira_conv)(c2,c1); return; } else if (c1 == 0x74 && nkf_enc_unicode_p(output_encoding)) { c2 = 0; c1 = nkf_char_unicode_new(0x3094); (*o_hira_conv)(c2,c1); return; } } else if (c2 == 0x21 && (c1 == 0x33 || c1 == 0x34)) { c1 += 2; (*o_hira_conv)(c2,c1); return; } } if (hira_f & 2) { if (c2 == 0 && c1 == nkf_char_unicode_new(0x3094)) { c2 = 0x25; c1 = 0x74; } else if (c2 == 0x24 && 0x20 < c1 && c1 < 0x74) { c2 = 0x25; } else if (c2 == 0x21 && (c1 == 0x35 || c1 == 0x36)) { c1 -= 2; } } (*o_hira_conv)(c2,c1); } static void iso2022jp_check_conv(nkf_char c2, nkf_char c1) { #define RANGE_NUM_MAX 18 static const nkf_char range[RANGE_NUM_MAX][2] = { {0x222f, 0x2239,}, {0x2242, 0x2249,}, {0x2251, 0x225b,}, {0x226b, 0x2271,}, {0x227a, 0x227d,}, {0x2321, 0x232f,}, {0x233a, 0x2340,}, {0x235b, 0x2360,}, {0x237b, 0x237e,}, {0x2474, 0x247e,}, {0x2577, 0x257e,}, {0x2639, 0x2640,}, {0x2659, 0x267e,}, {0x2742, 0x2750,}, {0x2772, 0x277e,}, {0x2841, 0x287e,}, {0x4f54, 0x4f7e,}, {0x7425, 0x747e}, }; nkf_char i; nkf_char start, end, c; if(c2 >= 0x00 && c2 <= 0x20 && c1 >= 0x7f && c1 <= 0xff) { c2 = GETA1; c1 = GETA2; } if((c2 >= 0x29 && c2 <= 0x2f) || (c2 >= 0x75 && c2 <= 0x7e)) { c2 = GETA1; c1 = GETA2; } for (i = 0; i < RANGE_NUM_MAX; i++) { start = range[i][0]; end = range[i][1]; c = (c2 << 8) + c1; if (c >= start && c <= end) { c2 = GETA1; c1 = GETA2; } } (*o_iso2022jp_check_conv)(c2,c1); } /* This converts =?ISO-2022-JP?B?HOGE HOGE?= */ static const unsigned char *mime_pattern[] = { (const unsigned char *)"\075?EUC-JP?B?", (const unsigned char *)"\075?SHIFT_JIS?B?", (const unsigned char *)"\075?ISO-8859-1?Q?", (const unsigned char *)"\075?ISO-8859-1?B?", (const unsigned char *)"\075?ISO-2022-JP?B?", (const unsigned char *)"\075?ISO-2022-JP?B?", (const unsigned char *)"\075?ISO-2022-JP?Q?", #if defined(UTF8_INPUT_ENABLE) (const unsigned char *)"\075?UTF-8?B?", (const unsigned char *)"\075?UTF-8?Q?", #endif (const unsigned char *)"\075?US-ASCII?Q?", NULL }; /* $B3:Ev$9$k%3!<%I$NM%@hEY$r>e$2$k$?$a$NL\0u(B */ nkf_char (*mime_priority_func[])(nkf_char c2, nkf_char c1, nkf_char c0) = { e_iconv, s_iconv, 0, 0, 0, 0, 0, #if defined(UTF8_INPUT_ENABLE) w_iconv, w_iconv, #endif 0, }; static const nkf_char mime_encode[] = { EUC_JP, SHIFT_JIS, ISO_8859_1, ISO_8859_1, JIS_X_0208, JIS_X_0201_1976_K, JIS_X_0201_1976_K, #if defined(UTF8_INPUT_ENABLE) UTF_8, UTF_8, #endif ASCII, 0 }; static const nkf_char mime_encode_method[] = { 'B', 'B','Q', 'B', 'B', 'B', 'Q', #if defined(UTF8_INPUT_ENABLE) 'B', 'Q', #endif 'Q', 0 }; /* MIME preprocessor fifo */ #define MIME_BUF_SIZE (1024) /* 2^n ring buffer */ #define MIME_BUF_MASK (MIME_BUF_SIZE-1) #define mime_input_buf(n) mime_input_state.buf[(n)&MIME_BUF_MASK] static struct { unsigned char buf[MIME_BUF_SIZE]; unsigned int top; unsigned int last; /* decoded */ unsigned int input; /* undecoded */ } mime_input_state; static nkf_char (*mime_iconv_back)(nkf_char c2,nkf_char c1,nkf_char c0) = NULL; #define MAXRECOVER 20 static void mime_input_buf_unshift(nkf_char c) { mime_input_buf(--mime_input_state.top) = (unsigned char)c; } static nkf_char mime_ungetc(nkf_char c, ARG_UNUSED FILE *f) { mime_input_buf_unshift(c); return c; } static nkf_char mime_ungetc_buf(nkf_char c, FILE *f) { if (mimebuf_f) (*i_mungetc_buf)(c,f); else mime_input_buf(--mime_input_state.input) = (unsigned char)c; return c; } static nkf_char mime_getc_buf(FILE *f) { /* we don't keep eof of mime_input_buf, because it contains ?= as a terminator. It was checked in mime_integrity. */ return ((mimebuf_f)? (*i_mgetc_buf)(f):mime_input_buf(mime_input_state.input++)); } static void switch_mime_getc(void) { if (i_getc!=mime_getc) { i_mgetc = i_getc; i_getc = mime_getc; i_mungetc = i_ungetc; i_ungetc = mime_ungetc; if(mime_f==STRICT_MIME) { i_mgetc_buf = i_mgetc; i_mgetc = mime_getc_buf; i_mungetc_buf = i_mungetc; i_mungetc = mime_ungetc_buf; } } } static void unswitch_mime_getc(void) { if(mime_f==STRICT_MIME) { i_mgetc = i_mgetc_buf; i_mungetc = i_mungetc_buf; } i_getc = i_mgetc; i_ungetc = i_mungetc; if(mime_iconv_back)set_iconv(FALSE, mime_iconv_back); mime_iconv_back = NULL; } static nkf_char mime_integrity(FILE *f, const unsigned char *p) { nkf_char c,d; unsigned int q; /* In buffered mode, read until =? or NL or buffer full */ mime_input_state.input = mime_input_state.top; mime_input_state.last = mime_input_state.top; while(*p) mime_input_buf(mime_input_state.input++) = *p++; d = 0; q = mime_input_state.input; while((c=(*i_getc)(f))!=EOF) { if (((mime_input_state.input-mime_input_state.top)&MIME_BUF_MASK)==0) { break; /* buffer full */ } if (c=='=' && d=='?') { /* checked. skip header, start decode */ mime_input_buf(mime_input_state.input++) = (unsigned char)c; /* mime_last_input = mime_input_state.input; */ mime_input_state.input = q; switch_mime_getc(); return 1; } if (!( (c=='+'||c=='/'|| c=='=' || c=='?' || is_alnum(c)))) break; /* Should we check length mod 4? */ mime_input_buf(mime_input_state.input++) = (unsigned char)c; d=c; } /* In case of Incomplete MIME, no MIME decode */ mime_input_buf(mime_input_state.input++) = (unsigned char)c; mime_input_state.last = mime_input_state.input; /* point undecoded buffer */ mime_decode_mode = 1; /* no decode on mime_input_buf last in mime_getc */ switch_mime_getc(); /* anyway we need buffered getc */ return 1; } static nkf_char mime_begin_strict(FILE *f) { nkf_char c1 = 0; int i,j,k; const unsigned char *p,*q; nkf_char r[MAXRECOVER]; /* recovery buffer, max mime pattern length */ mime_decode_mode = FALSE; /* =? has been checked */ j = 0; p = mime_pattern[j]; r[0]='='; r[1]='?'; for(i=2;p[i]>SP;i++) { /* start at =? */ if (((r[i] = c1 = (*i_getc)(f))==EOF) || nkf_toupper(c1) != p[i]) { /* pattern fails, try next one */ q = p; while (mime_pattern[++j]) { p = mime_pattern[j]; for(k=2;k i */ if (p[k]!=q[k]) break; if (k==i && nkf_toupper(c1)==p[k]) break; } p = mime_pattern[j]; if (p) continue; /* found next one, continue */ /* all fails, output from recovery buffer */ (*i_ungetc)(c1,f); for(j=0;jscore & (SCORE_DEPEND|SCORE_CP932)) input_codename = "CP932"; } else if (strcmp(input_codename, "EUC-JP") == 0) { if (p->score & SCORE_X0213) input_codename = "EUC-JIS-2004"; else if (p->score & (SCORE_X0212)) input_codename = "EUCJP-MS"; else if (p->score & (SCORE_DEPEND|SCORE_CP932)) input_codename = "CP51932"; } else if (strcmp(input_codename, "ISO-2022-JP") == 0) { if (p->score & (SCORE_KANA)) input_codename = "CP50221"; else if (p->score & (SCORE_DEPEND|SCORE_CP932)) input_codename = "CP50220"; } } return input_codename; } #if !defined(PERL_XS) && !defined(WIN32DLL) static void print_guessed_code(char *filename) { if (filename != NULL) printf("%s: ", filename); if (input_codename && !*input_codename) { printf("BINARY\n"); } else { input_codename = get_guessed_code(); if (guess_f == 1) { printf("%s\n", input_codename); } else { printf("%s%s%s%s\n", input_codename, iconv != w_iconv16 && iconv != w_iconv32 ? "" : input_endian == ENDIAN_LITTLE ? " LE" : input_endian == ENDIAN_BIG ? " BE" : "[BUG]", input_bom_f ? " (BOM)" : "", input_eol == CR ? " (CR)" : input_eol == LF ? " (LF)" : input_eol == CRLF ? " (CRLF)" : input_eol == EOF ? " (MIXED NL)" : ""); } } } #endif /*WIN32DLL*/ #ifdef INPUT_OPTION static nkf_char hex_getc(nkf_char ch, FILE *f, nkf_char (*g)(FILE *f), nkf_char (*u)(nkf_char c, FILE *f)) { nkf_char c1, c2, c3; c1 = (*g)(f); if (c1 != ch){ return c1; } c2 = (*g)(f); if (!nkf_isxdigit(c2)){ (*u)(c2, f); return c1; } c3 = (*g)(f); if (!nkf_isxdigit(c3)){ (*u)(c2, f); (*u)(c3, f); return c1; } return (hex2bin(c2) << 4) | hex2bin(c3); } static nkf_char cap_getc(FILE *f) { return hex_getc(':', f, i_cgetc, i_cungetc); } static nkf_char cap_ungetc(nkf_char c, FILE *f) { return (*i_cungetc)(c, f); } static nkf_char url_getc(FILE *f) { return hex_getc('%', f, i_ugetc, i_uungetc); } static nkf_char url_ungetc(nkf_char c, FILE *f) { return (*i_uungetc)(c, f); } #endif #ifdef NUMCHAR_OPTION static nkf_char numchar_getc(FILE *f) { nkf_char (*g)(FILE *) = i_ngetc; nkf_char (*u)(nkf_char c ,FILE *f) = i_nungetc; int i = 0, j; nkf_char buf[12]; nkf_char c = -1; buf[i] = (*g)(f); if (buf[i] == '&'){ buf[++i] = (*g)(f); if (buf[i] == '#'){ c = 0; buf[++i] = (*g)(f); if (buf[i] == 'x' || buf[i] == 'X'){ for (j = 0; j < 7; j++){ buf[++i] = (*g)(f); if (!nkf_isxdigit(buf[i])){ if (buf[i] != ';'){ c = -1; } break; } c <<= 4; c |= hex2bin(buf[i]); } }else{ for (j = 0; j < 8; j++){ if (j){ buf[++i] = (*g)(f); } if (!nkf_isdigit(buf[i])){ if (buf[i] != ';'){ c = -1; } break; } c *= 10; c += hex2bin(buf[i]); } } } } if (c != -1){ return nkf_char_unicode_new(c); } while (i > 0){ (*u)(buf[i], f); --i; } return buf[0]; } static nkf_char numchar_ungetc(nkf_char c, FILE *f) { return (*i_nungetc)(c, f); } #endif #ifdef UNICODE_NORMALIZATION static nkf_char nfc_getc(FILE *f) { nkf_char (*g)(FILE *f) = i_nfc_getc; nkf_char (*u)(nkf_char c ,FILE *f) = i_nfc_ungetc; nkf_buf_t *buf = nkf_state->nfc_buf; const unsigned char *array; int lower=0, upper=NORMALIZATION_TABLE_LENGTH-1; nkf_char c = (*g)(f); if (c == EOF || c > 0xFF || (c & 0xc0) == 0x80) return c; nkf_buf_push(buf, c); do { while (lower <= upper) { int mid = (lower+upper) / 2; int len; array = normalization_table[mid].nfd; for (len=0; len < NORMALIZATION_TABLE_NFD_LENGTH && array[len]; len++) { if (len >= nkf_buf_length(buf)) { c = (*g)(f); if (c == EOF) { len = 0; lower = 1, upper = 0; break; } nkf_buf_push(buf, c); } if (array[len] != nkf_buf_at(buf, len)) { if (array[len] < nkf_buf_at(buf, len)) lower = mid + 1; else upper = mid - 1; len = 0; break; } } if (len > 0) { int i; array = normalization_table[mid].nfc; nkf_buf_clear(buf); for (i=0; i < NORMALIZATION_TABLE_NFC_LENGTH && array[i]; i++) nkf_buf_push(buf, array[i]); break; } } } while (lower <= upper); while (nkf_buf_length(buf) > 1) (*u)(nkf_buf_pop(buf), f); c = nkf_buf_pop(buf); return c; } static nkf_char nfc_ungetc(nkf_char c, FILE *f) { return (*i_nfc_ungetc)(c, f); } #endif /* UNICODE_NORMALIZATION */ static nkf_char base64decode(nkf_char c) { int i; if (c > '@') { if (c < '[') { i = c - 'A'; /* A..Z 0-25 */ } else if (c == '_') { i = '?' /* 63 */ ; /* _ 63 */ } else { i = c - 'G' /* - 'a' + 26 */ ; /* a..z 26-51 */ } } else if (c > '/') { i = c - '0' + '4' /* - '0' + 52 */ ; /* 0..9 52-61 */ } else if (c == '+' || c == '-') { i = '>' /* 62 */ ; /* + and - 62 */ } else { i = '?' /* 63 */ ; /* / 63 */ } return (i); } static nkf_char mime_getc(FILE *f) { nkf_char c1, c2, c3, c4, cc; nkf_char t1, t2, t3, t4, mode, exit_mode; nkf_char lwsp_count; char *lwsp_buf; char *lwsp_buf_new; nkf_char lwsp_size = 128; if (mime_input_state.top != mime_input_state.last) { /* Something is in FIFO */ return mime_input_buf(mime_input_state.top++); } if (mime_decode_mode==1 ||mime_decode_mode==FALSE) { mime_decode_mode=FALSE; unswitch_mime_getc(); return (*i_getc)(f); } if (mimebuf_f == FIXED_MIME) exit_mode = mime_decode_mode; else exit_mode = FALSE; if (mime_decode_mode == 'Q') { if ((c1 = (*i_mgetc)(f)) == EOF) return (EOF); restart_mime_q: if (c1=='_' && mimebuf_f != FIXED_MIME) return SP; if (c1<=SP || DEL<=c1) { mime_decode_mode = exit_mode; /* prepare for quit */ return c1; } if (c1!='=' && (c1!='?' || mimebuf_f == FIXED_MIME)) { return c1; } mime_decode_mode = exit_mode; /* prepare for quit */ if ((c2 = (*i_mgetc)(f)) == EOF) return (EOF); if (c1=='?'&&c2=='=' && mimebuf_f != FIXED_MIME) { /* end Q encoding */ input_mode = exit_mode; lwsp_count = 0; lwsp_buf = nkf_xmalloc((lwsp_size+5)*sizeof(char)); while ((c1=(*i_getc)(f))!=EOF) { switch (c1) { case LF: case CR: if (c1==LF) { if ((c1=(*i_getc)(f))!=EOF && nkf_isblank(c1)) { i_ungetc(SP,f); continue; } else { i_ungetc(c1,f); } c1 = LF; } else { if ((c1=(*i_getc)(f))!=EOF && c1 == LF) { if ((c1=(*i_getc)(f))!=EOF && nkf_isblank(c1)) { i_ungetc(SP,f); continue; } else { i_ungetc(c1,f); } i_ungetc(LF,f); } else { i_ungetc(c1,f); } c1 = CR; } break; case SP: case TAB: lwsp_buf[lwsp_count] = (unsigned char)c1; if (lwsp_count++>lwsp_size){ lwsp_size <<= 1; lwsp_buf_new = nkf_xrealloc(lwsp_buf, (lwsp_size+5)*sizeof(char)); lwsp_buf = lwsp_buf_new; } continue; } break; } if (lwsp_count > 0 && (c1 != '=' || (lwsp_buf[lwsp_count-1] != SP && lwsp_buf[lwsp_count-1] != TAB))) { i_ungetc(c1,f); for(lwsp_count--;lwsp_count>0;lwsp_count--) i_ungetc(lwsp_buf[lwsp_count],f); c1 = lwsp_buf[0]; } nkf_xfree(lwsp_buf); return c1; } if (c1=='='&&c20;lwsp_count--) i_ungetc(lwsp_buf[lwsp_count],f); c1 = lwsp_buf[0]; } nkf_xfree(lwsp_buf); return c1; } mime_c3_retry: if ((c3 = (*i_mgetc)(f))<=SP) { if (c3==EOF) return (EOF); if (mime_f != STRICT_MIME) goto mime_c3_retry; if (mimebuf_f!=FIXED_MIME) input_mode = ASCII; return c3; } mime_c4_retry: if ((c4 = (*i_mgetc)(f))<=SP) { if (c4==EOF) return (EOF); if (mime_f != STRICT_MIME) goto mime_c4_retry; if (mimebuf_f!=FIXED_MIME) input_mode = ASCII; return c4; } mime_decode_mode = mode; /* still in MIME sigh... */ /* BASE 64 decoding */ t1 = 0x3f & base64decode(c1); t2 = 0x3f & base64decode(c2); t3 = 0x3f & base64decode(c3); t4 = 0x3f & base64decode(c4); cc = ((t1 << 2) & 0x0fc) | ((t2 >> 4) & 0x03); if (c2 != '=') { mime_input_buf(mime_input_state.last++) = (unsigned char)cc; cc = ((t2 << 4) & 0x0f0) | ((t3 >> 2) & 0x0f); if (c3 != '=') { mime_input_buf(mime_input_state.last++) = (unsigned char)cc; cc = ((t3 << 6) & 0x0c0) | (t4 & 0x3f); if (c4 != '=') mime_input_buf(mime_input_state.last++) = (unsigned char)cc; } } else { return c1; } return mime_input_buf(mime_input_state.top++); } static const char basis_64[] = "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/"; #define MIMEOUT_BUF_LENGTH 74 static struct { unsigned char buf[MIMEOUT_BUF_LENGTH+1]; int count; } mimeout_state; /*nkf_char mime_lastchar2, mime_lastchar1;*/ static void open_mime(nkf_char mode) { const unsigned char *p; int i; int j; p = mime_pattern[0]; for(i=0;mime_pattern[i];i++) { if (mode == mime_encode[i]) { p = mime_pattern[i]; break; } } mimeout_mode = mime_encode_method[i]; i = 0; if (base64_count>45) { if (mimeout_state.count>0 && nkf_isblank(mimeout_state.buf[i])){ (*o_mputc)(mimeout_state.buf[i]); i++; } put_newline(o_mputc); (*o_mputc)(SP); base64_count = 1; if (mimeout_state.count>0 && nkf_isspace(mimeout_state.buf[i])) { i++; } } for (;i 0){ if (c2 == EOF){ if (base64_count + mimeout_state.count/3*4> 73){ (*o_base64conv)(EOF,0); oconv_newline(o_base64conv); (*o_base64conv)(0,SP); base64_count = 1; } } else { if ((c2 != 0 || c1 > DEL) && base64_count + mimeout_state.count/3*4> 66) { (*o_base64conv)(EOF,0); oconv_newline(o_base64conv); (*o_base64conv)(0,SP); base64_count = 1; mimeout_mode = -1; } } } else if (c2) { if (c2 != EOF && base64_count + mimeout_state.count/3*4> 60) { mimeout_mode = (output_mode==ASCII ||output_mode == ISO_8859_1) ? 'Q' : 'B'; open_mime(output_mode); (*o_base64conv)(EOF,0); oconv_newline(o_base64conv); (*o_base64conv)(0,SP); base64_count = 1; mimeout_mode = -1; } } } static void close_mime(void) { (*o_mputc)('?'); (*o_mputc)('='); base64_count += 2; mimeout_mode = 0; } static void eof_mime(void) { switch(mimeout_mode) { case 'Q': case 'B': break; case 2: (*o_mputc)(basis_64[((nkf_state->mimeout_state & 0x3)<< 4)]); (*o_mputc)('='); (*o_mputc)('='); base64_count += 3; break; case 1: (*o_mputc)(basis_64[((nkf_state->mimeout_state & 0xF) << 2)]); (*o_mputc)('='); base64_count += 2; break; } if (mimeout_mode > 0) { if (mimeout_f!=FIXED_MIME) { close_mime(); } else if (mimeout_mode != 'Q') mimeout_mode = 'B'; } } static void mimeout_addchar(nkf_char c) { switch(mimeout_mode) { case 'Q': if (c==CR||c==LF) { (*o_mputc)(c); base64_count = 0; } else if(!nkf_isalnum(c)) { (*o_mputc)('='); (*o_mputc)(bin2hex(((c>>4)&0xf))); (*o_mputc)(bin2hex((c&0xf))); base64_count += 3; } else { (*o_mputc)(c); base64_count++; } break; case 'B': nkf_state->mimeout_state=c; (*o_mputc)(basis_64[c>>2]); mimeout_mode=2; base64_count ++; break; case 2: (*o_mputc)(basis_64[((nkf_state->mimeout_state & 0x3)<< 4) | ((c & 0xF0) >> 4)]); nkf_state->mimeout_state=c; mimeout_mode=1; base64_count ++; break; case 1: (*o_mputc)(basis_64[((nkf_state->mimeout_state & 0xF) << 2) | ((c & 0xC0) >>6)]); (*o_mputc)(basis_64[c & 0x3F]); mimeout_mode='B'; base64_count += 2; break; default: (*o_mputc)(c); base64_count++; break; } } static void mime_putc(nkf_char c) { int i, j; nkf_char lastchar; if (mimeout_f == FIXED_MIME){ if (mimeout_mode == 'Q'){ if (base64_count > 71){ if (c!=CR && c!=LF) { (*o_mputc)('='); put_newline(o_mputc); } base64_count = 0; } }else{ if (base64_count > 71){ eof_mime(); put_newline(o_mputc); base64_count = 0; } if (c == EOF) { /* c==EOF */ eof_mime(); } } if (c != EOF) { /* c==EOF */ mimeout_addchar(c); } return; } /* mimeout_f != FIXED_MIME */ if (c == EOF) { /* c==EOF */ if (mimeout_mode == -1 && mimeout_state.count > 1) open_mime(output_mode); j = mimeout_state.count; mimeout_state.count = 0; i = 0; if (mimeout_mode > 0) { if (!nkf_isblank(mimeout_state.buf[j-1])) { for (;i 0){ lastchar = mimeout_state.buf[mimeout_state.count - 1]; }else{ lastchar = -1; } if (mimeout_mode=='Q') { if (c <= DEL && (output_mode==ASCII ||output_mode == ISO_8859_1)) { if (c == CR || c == LF) { close_mime(); (*o_mputc)(c); base64_count = 0; return; } else if (c <= SP) { close_mime(); if (base64_count > 70) { put_newline(o_mputc); base64_count = 0; } if (!nkf_isblank(c)) { (*o_mputc)(SP); base64_count++; } } else { if (base64_count > 70) { close_mime(); put_newline(o_mputc); (*o_mputc)(SP); base64_count = 1; open_mime(output_mode); } if (!nkf_noescape_mime(c)) { mimeout_addchar(c); return; } } if (c != 0x1B) { (*o_mputc)(c); base64_count++; return; } } } if (mimeout_mode <= 0) { if (c <= DEL && (output_mode==ASCII || output_mode == ISO_8859_1 || output_mode == UTF_8)) { if (nkf_isspace(c)) { int flag = 0; if (mimeout_mode == -1) { flag = 1; } if (c==CR || c==LF) { if (flag) { open_mime(output_mode); output_mode = 0; } else { base64_count = 0; } } for (i=0;i 1 && base64_count + mimeout_state.count > 76 && mimeout_state.buf[0] != CR && mimeout_state.buf[0] != LF){ static const char *str = "boundary=\""; static int len = 10; i = 0; for (; i < mimeout_state.count - len; ++i) { if (!strncmp((char *)(mimeout_state.buf+i), str, len)) { i += len - 2; break; } } if (i == 0 || i == mimeout_state.count - len) { put_newline(o_mputc); base64_count = 0; if (!nkf_isspace(mimeout_state.buf[0])){ (*o_mputc)(SP); base64_count++; } } else { int j; for (j = 0; j <= i; ++j) { (*o_mputc)(mimeout_state.buf[j]); } put_newline(o_mputc); base64_count = 1; for (; j <= mimeout_state.count; ++j) { mimeout_state.buf[j - i] = mimeout_state.buf[j]; } mimeout_state.count -= i; } } mimeout_state.buf[mimeout_state.count++] = (char)c; if (mimeout_state.count>MIMEOUT_BUF_LENGTH) { open_mime(output_mode); } } return; }else{ if (lastchar==CR || lastchar == LF){ for (i=0;iMIMEOUT_BUF_LENGTH) { eof_mime(); for (j=0;j0 && SPMIMEOUT_BUF_LENGTH) { j = mimeout_state.count; mimeout_state.count = 0; for (i=0;i0) { j = mimeout_state.count; mimeout_state.count = 0; for (i=0;iinput_buffer_size = IOBUF_SIZE; converter->input_buffer = nkf_xmalloc(converter->input_buffer_size); converter->output_buffer_size = IOBUF_SIZE * 2; converter->output_buffer = nkf_xmalloc(converter->output_buffer_size); converter->cd = iconv_open(tocode, fromcode); if (converter->cd == (iconv_t)-1) { switch (errno) { case EINVAL: perror(fprintf("iconv doesn't support %s to %s conversion.", fromcode, tocode)); return -1; default: perror("can't iconv_open"); } } } static size_t nkf_iconv_convert(nkf_iconv_t *converter, FILE *input) { size_t invalid = (size_t)0; char *input_buffer = converter->input_buffer; size_t input_length = (size_t)0; char *output_buffer = converter->output_buffer; size_t output_length = converter->output_buffer_size; int c; do { if (c != EOF) { while ((c = (*i_getc)(f)) != EOF) { input_buffer[input_length++] = c; if (input_length < converter->input_buffer_size) break; } } size_t ret = iconv(converter->cd, &input_buffer, &input_length, &output_buffer, &output_length); while (output_length-- > 0) { (*o_putc)(output_buffer[converter->output_buffer_size-output_length]); } if (ret == (size_t) - 1) { switch (errno) { case EINVAL: if (input_buffer != converter->input_buffer) memmove(converter->input_buffer, input_buffer, input_length); break; case E2BIG: converter->output_buffer_size *= 2; output_buffer = realloc(converter->outbuf, converter->output_buffer_size); if (output_buffer == NULL) { perror("can't realloc"); return -1; } converter->output_buffer = output_buffer; break; default: perror("can't iconv"); return -1; } } else { invalid += ret; } } while (1); return invalid; } static void nkf_iconv_close(nkf_iconv_t *convert) { nkf_xfree(converter->inbuf); nkf_xfree(converter->outbuf); iconv_close(converter->cd); } #endif static void reinit(void) { { struct input_code *p = input_code_list; while (p->name){ status_reinit(p++); } } unbuf_f = FALSE; estab_f = FALSE; nop_f = FALSE; binmode_f = TRUE; rot_f = FALSE; hira_f = FALSE; alpha_f = FALSE; mime_f = MIME_DECODE_DEFAULT; mime_decode_f = FALSE; mimebuf_f = FALSE; broken_f = FALSE; iso8859_f = FALSE; mimeout_f = FALSE; x0201_f = NKF_UNSPECIFIED; iso2022jp_f = FALSE; #if defined(UTF8_INPUT_ENABLE) || defined(UTF8_OUTPUT_ENABLE) ms_ucs_map_f = UCS_MAP_ASCII; #endif #ifdef UTF8_INPUT_ENABLE no_cp932ext_f = FALSE; no_best_fit_chars_f = FALSE; encode_fallback = NULL; unicode_subchar = '?'; input_endian = ENDIAN_BIG; #endif #ifdef UTF8_OUTPUT_ENABLE output_bom_f = FALSE; output_endian = ENDIAN_BIG; #endif #ifdef UNICODE_NORMALIZATION nfc_f = FALSE; #endif #ifdef INPUT_OPTION cap_f = FALSE; url_f = FALSE; numchar_f = FALSE; #endif #ifdef CHECK_OPTION noout_f = FALSE; debug_f = FALSE; #endif guess_f = 0; #ifdef EXEC_IO exec_f = 0; #endif #ifdef SHIFTJIS_CP932 cp51932_f = TRUE; cp932inv_f = TRUE; #endif #ifdef X0212_ENABLE x0212_f = FALSE; x0213_f = FALSE; #endif { int i; for (i = 0; i < 256; i++){ prefix_table[i] = 0; } } hold_count = 0; mimeout_state.count = 0; mimeout_mode = 0; base64_count = 0; f_line = 0; f_prev = 0; fold_preserve_f = FALSE; fold_f = FALSE; fold_len = 0; kanji_intro = DEFAULT_J; ascii_intro = DEFAULT_R; fold_margin = FOLD_MARGIN; o_zconv = no_connection; o_fconv = no_connection; o_eol_conv = no_connection; o_rot_conv = no_connection; o_hira_conv = no_connection; o_base64conv = no_connection; o_iso2022jp_check_conv = no_connection; o_putc = std_putc; i_getc = std_getc; i_ungetc = std_ungetc; i_bgetc = std_getc; i_bungetc = std_ungetc; o_mputc = std_putc; i_mgetc = std_getc; i_mungetc = std_ungetc; i_mgetc_buf = std_getc; i_mungetc_buf = std_ungetc; output_mode = ASCII; input_mode = ASCII; mime_decode_mode = FALSE; file_out_f = FALSE; eolmode_f = 0; input_eol = 0; prev_cr = 0; option_mode = 0; z_prev2=0,z_prev1=0; #ifdef CHECK_OPTION iconv_for_check = 0; #endif input_codename = NULL; input_encoding = NULL; output_encoding = NULL; nkf_state_init(); #ifdef WIN32DLL reinitdll(); #endif /*WIN32DLL*/ } static int module_connection(void) { if (input_encoding) set_input_encoding(input_encoding); if (!output_encoding) { output_encoding = nkf_default_encoding(); } if (!output_encoding) { if (noout_f || guess_f) output_encoding = nkf_enc_from_index(ISO_2022_JP); else return -1; } set_output_encoding(output_encoding); oconv = nkf_enc_to_oconv(output_encoding); o_putc = std_putc; if (nkf_enc_unicode_p(output_encoding)) output_mode = UTF_8; if (x0201_f == NKF_UNSPECIFIED) { x0201_f = X0201_DEFAULT; } /* replace continuation module, from output side */ /* output redirection */ #ifdef CHECK_OPTION if (noout_f || guess_f){ o_putc = no_putc; } #endif if (mimeout_f) { o_mputc = o_putc; o_putc = mime_putc; if (mimeout_f == TRUE) { o_base64conv = oconv; oconv = base64_conv; } /* base64_count = 0; */ } if (eolmode_f || guess_f) { o_eol_conv = oconv; oconv = eol_conv; } if (rot_f) { o_rot_conv = oconv; oconv = rot_conv; } if (iso2022jp_f) { o_iso2022jp_check_conv = oconv; oconv = iso2022jp_check_conv; } if (hira_f) { o_hira_conv = oconv; oconv = hira_conv; } if (fold_f) { o_fconv = oconv; oconv = fold_conv; f_line = 0; } if (alpha_f || x0201_f) { o_zconv = oconv; oconv = z_conv; } i_getc = std_getc; i_ungetc = std_ungetc; /* input redirection */ #ifdef INPUT_OPTION if (cap_f){ i_cgetc = i_getc; i_getc = cap_getc; i_cungetc = i_ungetc; i_ungetc= cap_ungetc; } if (url_f){ i_ugetc = i_getc; i_getc = url_getc; i_uungetc = i_ungetc; i_ungetc= url_ungetc; } #endif #ifdef NUMCHAR_OPTION if (numchar_f){ i_ngetc = i_getc; i_getc = numchar_getc; i_nungetc = i_ungetc; i_ungetc= numchar_ungetc; } #endif #ifdef UNICODE_NORMALIZATION if (nfc_f){ i_nfc_getc = i_getc; i_getc = nfc_getc; i_nfc_ungetc = i_ungetc; i_ungetc= nfc_ungetc; } #endif if (mime_f && mimebuf_f==FIXED_MIME) { i_mgetc = i_getc; i_getc = mime_getc; i_mungetc = i_ungetc; i_ungetc = mime_ungetc; } if (broken_f & 1) { i_bgetc = i_getc; i_getc = broken_getc; i_bungetc = i_ungetc; i_ungetc = broken_ungetc; } if (input_encoding) { set_iconv(-TRUE, nkf_enc_to_iconv(input_encoding)); } else { set_iconv(FALSE, e_iconv); } { struct input_code *p = input_code_list; while (p->name){ status_reinit(p++); } } return 0; } /* Conversion main loop. Code detection only. */ #if !defined(PERL_XS) && !defined(WIN32DLL) static nkf_char noconvert(FILE *f) { nkf_char c; if (nop_f == 2) module_connection(); while ((c = (*i_getc)(f)) != EOF) (*o_putc)(c); (*o_putc)(EOF); return 1; } #endif #define NEXT continue /* no output, get next */ #define SKIP c2=0;continue /* no output, get next */ #define MORE c2=c1;continue /* need one more byte */ #define SEND (void)0 /* output c1 and c2, get next */ #define LAST break /* end of loop, go closing */ #define set_input_mode(mode) do { \ input_mode = mode; \ shift_mode = 0; \ set_input_codename("ISO-2022-JP"); \ debug("ISO-2022-JP"); \ } while (0) static int kanji_convert(FILE *f) { nkf_char c1=0, c2=0, c3=0, c4=0; int shift_mode = 0; /* 0, 1, 2, 3 */ int g2 = 0; int is_8bit = FALSE; if (input_encoding && !nkf_enc_asciicompat(input_encoding)) { is_8bit = TRUE; } input_mode = ASCII; output_mode = ASCII; if (module_connection() < 0) { #if !defined(PERL_XS) && !defined(WIN32DLL) fprintf(stderr, "no output encoding given\n"); #endif return -1; } check_bom(f); #ifdef UTF8_INPUT_ENABLE if(iconv == w_iconv32){ while ((c1 = (*i_getc)(f)) != EOF && (c2 = (*i_getc)(f)) != EOF && (c3 = (*i_getc)(f)) != EOF && (c4 = (*i_getc)(f)) != EOF) { nkf_char c5, c6, c7, c8; if (nkf_iconv_utf_32(c1, c2, c3, c4) == (size_t)NKF_ICONV_WAIT_COMBINING_CHAR) { if ((c5 = (*i_getc)(f)) != EOF && (c6 = (*i_getc)(f)) != EOF && (c7 = (*i_getc)(f)) != EOF && (c8 = (*i_getc)(f)) != EOF) { if (nkf_iconv_utf_32_combine(c1, c2, c3, c4, c5, c6, c7, c8)) { (*i_ungetc)(c8, f); (*i_ungetc)(c7, f); (*i_ungetc)(c6, f); (*i_ungetc)(c5, f); nkf_iconv_utf_32_nocombine(c1, c2, c3, c4); } } else { nkf_iconv_utf_32_nocombine(c1, c2, c3, c4); } } } goto finished; } else if (iconv == w_iconv16) { while ((c1 = (*i_getc)(f)) != EOF && (c2 = (*i_getc)(f)) != EOF) { size_t ret = nkf_iconv_utf_16(c1, c2, 0, 0); if (ret == NKF_ICONV_NEED_TWO_MORE_BYTES && (c3 = (*i_getc)(f)) != EOF && (c4 = (*i_getc)(f)) != EOF) { nkf_iconv_utf_16(c1, c2, c3, c4); } else if (ret == (size_t)NKF_ICONV_WAIT_COMBINING_CHAR) { if ((c3 = (*i_getc)(f)) != EOF && (c4 = (*i_getc)(f)) != EOF) { if (nkf_iconv_utf_16_combine(c1, c2, c3, c4)) { (*i_ungetc)(c4, f); (*i_ungetc)(c3, f); nkf_iconv_utf_16_nocombine(c1, c2); } } else { nkf_iconv_utf_16_nocombine(c1, c2); } } } goto finished; } #endif while ((c1 = (*i_getc)(f)) != EOF) { #ifdef INPUT_CODE_FIX if (!input_encoding) #endif code_status(c1); if (c2) { /* second byte */ if (c2 > ((input_encoding && nkf_enc_cp5022x_p(input_encoding)) ? 0x92 : DEL)) { /* in case of 8th bit is on */ if (!estab_f&&!mime_decode_mode) { /* in case of not established yet */ /* It is still ambiguous */ if (h_conv(f, c2, c1)==EOF) { LAST; } else { SKIP; } } else { /* in case of already established */ if (c1 < 0x40) { /* ignore bogus code */ SKIP; } else { SEND; } } } else { /* 2nd byte of 7 bit code or SJIS */ SEND; } } else if (nkf_char_unicode_p(c1)) { (*oconv)(0, c1); NEXT; } else { /* first byte */ if (input_mode == JIS_X_0208 && DEL <= c1 && c1 < 0x92) { /* CP5022x */ MORE; }else if (input_codename && input_codename[0] == 'I' && 0xA1 <= c1 && c1 <= 0xDF) { /* JIS X 0201 Katakana in 8bit JIS */ c2 = JIS_X_0201_1976_K; c1 &= 0x7f; SEND; } else if (c1 > DEL) { /* 8 bit code */ if (!estab_f && !iso8859_f) { /* not established yet */ MORE; } else { /* estab_f==TRUE */ if (iso8859_f) { c2 = ISO_8859_1; c1 &= 0x7f; SEND; } else if ((iconv == s_iconv && 0xA0 <= c1 && c1 <= 0xDF) || (ms_ucs_map_f == UCS_MAP_CP10001 && (c1 == 0xFD || c1 == 0xFE))) { /* JIS X 0201 */ c2 = JIS_X_0201_1976_K; c1 &= 0x7f; SEND; } else { /* already established */ MORE; } } } else if (SP < c1 && c1 < DEL) { /* in case of Roman characters */ if (shift_mode) { /* output 1 shifted byte */ if (iso8859_f) { c2 = ISO_8859_1; SEND; } else if (nkf_byte_jisx0201_katakana_p(c1)){ /* output 1 shifted byte */ c2 = JIS_X_0201_1976_K; SEND; } else { /* look like bogus code */ SKIP; } } else if (input_mode == JIS_X_0208 || input_mode == JIS_X_0212 || input_mode == JIS_X_0213_1 || input_mode == JIS_X_0213_2) { /* in case of Kanji shifted */ MORE; } else if (c1 == '=' && mime_f && !mime_decode_mode) { /* Check MIME code */ if ((c1 = (*i_getc)(f)) == EOF) { (*oconv)(0, '='); LAST; } else if (c1 == '?') { /* =? is mime conversion start sequence */ if(mime_f == STRICT_MIME) { /* check in real detail */ if (mime_begin_strict(f) == EOF) LAST; SKIP; } else if (mime_begin(f) == EOF) LAST; SKIP; } else { (*oconv)(0, '='); (*i_ungetc)(c1,f); SKIP; } } else { /* normal ASCII code */ SEND; } } else if (c1 == SI && (!is_8bit || mime_decode_mode)) { shift_mode = 0; SKIP; } else if (c1 == SO && (!is_8bit || mime_decode_mode)) { shift_mode = 1; SKIP; } else if (c1 == ESC && (!is_8bit || mime_decode_mode)) { if ((c1 = (*i_getc)(f)) == EOF) { (*oconv)(0, ESC); LAST; } else if (c1 == '&') { /* IRR */ if ((c1 = (*i_getc)(f)) == EOF) { LAST; } else { SKIP; } } else if (c1 == '$') { /* GZDMx */ if ((c1 = (*i_getc)(f)) == EOF) { /* don't send bogus code (*oconv)(0, ESC); (*oconv)(0, '$'); */ LAST; } else if (c1 == '@' || c1 == 'B') { /* JIS X 0208 */ set_input_mode(JIS_X_0208); SKIP; } else if (c1 == '(') { /* GZDM4 */ if ((c1 = (*i_getc)(f)) == EOF) { /* don't send bogus code (*oconv)(0, ESC); (*oconv)(0, '$'); (*oconv)(0, '('); */ LAST; } else if (c1 == '@'|| c1 == 'B') { /* JIS X 0208 */ set_input_mode(JIS_X_0208); SKIP; #ifdef X0212_ENABLE } else if (c1 == 'D'){ set_input_mode(JIS_X_0212); SKIP; #endif /* X0212_ENABLE */ } else if (c1 == 'O' || c1 == 'Q'){ set_input_mode(JIS_X_0213_1); SKIP; } else if (c1 == 'P'){ set_input_mode(JIS_X_0213_2); SKIP; } else { /* could be some special code */ (*oconv)(0, ESC); (*oconv)(0, '$'); (*oconv)(0, '('); (*oconv)(0, c1); SKIP; } } else if (broken_f&0x2) { /* accept any ESC-(-x as broken code ... */ input_mode = JIS_X_0208; shift_mode = 0; SKIP; } else { (*oconv)(0, ESC); (*oconv)(0, '$'); (*oconv)(0, c1); SKIP; } } else if (c1 == '(') { /* GZD4 */ if ((c1 = (*i_getc)(f)) == EOF) { /* don't send bogus code (*oconv)(0, ESC); (*oconv)(0, '('); */ LAST; } else if (c1 == 'I') { /* JIS X 0201 Katakana */ set_input_mode(JIS_X_0201_1976_K); shift_mode = 1; SKIP; } else if (c1 == 'B' || c1 == 'J' || c1 == 'H') { /* ISO-646IRV:1983 or JIS X 0201 Roman or JUNET */ set_input_mode(ASCII); SKIP; } else if (broken_f&0x2) { set_input_mode(ASCII); SKIP; } else { (*oconv)(0, ESC); (*oconv)(0, '('); SEND; } } else if (c1 == '.') { /* G2D6 */ if ((c1 = (*i_getc)(f)) == EOF) { LAST; } else if (c1 == 'A') { /* ISO-8859-1 */ g2 = ISO_8859_1; SKIP; } else { (*oconv)(0, ESC); (*oconv)(0, '.'); SEND; } } else if (c1 == 'N') { /* SS2 */ c1 = (*i_getc)(f); if (g2 == ISO_8859_1) { c2 = ISO_8859_1; SEND; }else{ (*i_ungetc)(c1, f); /* lonely ESC */ (*oconv)(0, ESC); SEND; } } else { i_ungetc(c1,f); /* lonely ESC */ (*oconv)(0, ESC); SKIP; } } else if (c1 == ESC && iconv == s_iconv) { /* ESC in Shift_JIS */ if ((c1 = (*i_getc)(f)) == EOF) { (*oconv)(0, ESC); LAST; } else if (c1 == '$') { /* J-PHONE emoji */ if ((c1 = (*i_getc)(f)) == EOF) { LAST; } else if (('E' <= c1 && c1 <= 'G') || ('O' <= c1 && c1 <= 'Q')) { /* NUM : 0 1 2 3 4 5 BYTE: G E F O P Q C%7 : 1 6 0 2 3 4 C%7 : 0 1 2 3 4 5 6 NUM : 2 0 3 4 5 X 1 */ static const nkf_char jphone_emoji_first_table[7] = {0xE1E0, 0xDFE0, 0xE2E0, 0xE3E0, 0xE4E0, 0xDFE0, 0xE0E0}; c3 = nkf_char_unicode_new(jphone_emoji_first_table[c1 % 7]); if ((c1 = (*i_getc)(f)) == EOF) LAST; while (SP <= c1 && c1 <= 'z') { (*oconv)(0, c1 + c3); if ((c1 = (*i_getc)(f)) == EOF) LAST; } SKIP; } else { (*oconv)(0, ESC); (*oconv)(0, '$'); SEND; } } else { i_ungetc(c1,f); /* lonely ESC */ (*oconv)(0, ESC); SKIP; } } else if (c1 == LF || c1 == CR) { if (broken_f&4) { input_mode = ASCII; set_iconv(FALSE, 0); SEND; } else if (mime_decode_f && !mime_decode_mode){ if (c1 == LF) { if ((c1=(*i_getc)(f))!=EOF && c1 == SP) { i_ungetc(SP,f); continue; } else { i_ungetc(c1,f); } c1 = LF; SEND; } else { /* if (c1 == CR)*/ if ((c1=(*i_getc)(f))!=EOF) { if (c1==SP) { i_ungetc(SP,f); continue; } else if (c1 == LF && (c1=(*i_getc)(f))!=EOF && c1 == SP) { i_ungetc(SP,f); continue; } else { i_ungetc(c1,f); } i_ungetc(LF,f); } else { i_ungetc(c1,f); } c1 = CR; SEND; } } } else SEND; } /* send: */ switch(input_mode){ case ASCII: switch ((*iconv)(c2, c1, 0)) { /* can be EUC / SJIS / UTF-8 */ case -2: /* 4 bytes UTF-8 */ if ((c3 = (*i_getc)(f)) != EOF) { code_status(c3); c3 <<= 8; if ((c4 = (*i_getc)(f)) != EOF) { code_status(c4); (*iconv)(c2, c1, c3|c4); } } break; case -3: /* 4 bytes UTF-8 (check combining character) */ if ((c3 = (*i_getc)(f)) != EOF) { if ((c4 = (*i_getc)(f)) != EOF) { if (w_iconv_combine(c2, c1, 0, c3, c4, 0)) { (*i_ungetc)(c4, f); (*i_ungetc)(c3, f); w_iconv_nocombine(c2, c1, 0); } } else { (*i_ungetc)(c3, f); w_iconv_nocombine(c2, c1, 0); } } else { w_iconv_nocombine(c2, c1, 0); } break; case -1: /* 3 bytes EUC or UTF-8 */ if ((c3 = (*i_getc)(f)) != EOF) { code_status(c3); if ((*iconv)(c2, c1, c3) == -3) { /* 6 bytes UTF-8 (check combining character) */ nkf_char c5, c6; if ((c4 = (*i_getc)(f)) != EOF) { if ((c5 = (*i_getc)(f)) != EOF) { if ((c6 = (*i_getc)(f)) != EOF) { if (w_iconv_combine(c2, c1, c3, c4, c5, c6)) { (*i_ungetc)(c6, f); (*i_ungetc)(c5, f); (*i_ungetc)(c4, f); w_iconv_nocombine(c2, c1, c3); } } else { (*i_ungetc)(c5, f); (*i_ungetc)(c4, f); w_iconv_nocombine(c2, c1, c3); } } else { (*i_ungetc)(c4, f); w_iconv_nocombine(c2, c1, c3); } } else { w_iconv_nocombine(c2, c1, c3); } } } break; } break; case JIS_X_0208: case JIS_X_0213_1: if (ms_ucs_map_f && 0x7F <= c2 && c2 <= 0x92 && 0x21 <= c1 && c1 <= 0x7E) { /* CP932 UDC */ c1 = nkf_char_unicode_new((c2 - 0x7F) * 94 + c1 - 0x21 + 0xE000); c2 = 0; } (*oconv)(c2, c1); /* this is JIS, not SJIS/EUC case */ break; #ifdef X0212_ENABLE case JIS_X_0212: (*oconv)(PREFIX_EUCG3 | c2, c1); break; #endif /* X0212_ENABLE */ case JIS_X_0213_2: (*oconv)(PREFIX_EUCG3 | c2, c1); break; default: (*oconv)(input_mode, c1); /* other special case */ } c2 = 0; c3 = 0; continue; /* goto next_word */ } finished: /* epilogue */ (*iconv)(EOF, 0, 0); if (!input_codename) { if (is_8bit) { struct input_code *p = input_code_list; struct input_code *result = p; while (p->name){ if (p->score < result->score) result = p; ++p; } set_input_codename(result->name); #ifdef CHECK_OPTION debug(result->name); #endif } } return 0; } /* * int options(unsigned char *cp) * * return values: * 0: success * -1: ArgumentError */ static int options(unsigned char *cp) { nkf_char i, j; unsigned char *p; unsigned char *cp_back = NULL; nkf_encoding *enc; if (option_mode==1) return 0; while(*cp && *cp++!='-'); while (*cp || cp_back) { if(!*cp){ cp = cp_back; cp_back = NULL; continue; } p = 0; switch (*cp++) { case '-': /* literal options */ if (!*cp || *cp == SP) { /* ignore the rest of arguments */ option_mode = 1; return 0; } for (i=0;i<(int)(sizeof(long_option)/sizeof(long_option[0]));i++) { p = (unsigned char *)long_option[i].name; for (j=0;*p && *p != '=' && *p == cp[j];p++, j++); if (*p == cp[j] || cp[j] == SP){ p = &cp[j] + 1; break; } p = 0; } if (p == 0) { #if !defined(PERL_XS) && !defined(WIN32DLL) fprintf(stderr, "unknown long option: --%s\n", cp); #endif return -1; } while(*cp && *cp != SP && cp++); if (long_option[i].alias[0]){ cp_back = cp; cp = (unsigned char *)long_option[i].alias; }else{ #ifndef PERL_XS if (strcmp(long_option[i].name, "help") == 0){ usage(); exit(EXIT_SUCCESS); } #endif if (strcmp(long_option[i].name, "ic=") == 0){ enc = nkf_enc_find((char *)p); if (!enc) continue; input_encoding = enc; continue; } if (strcmp(long_option[i].name, "oc=") == 0){ enc = nkf_enc_find((char *)p); /* if (enc <= 0) continue; */ if (!enc) continue; output_encoding = enc; continue; } if (strcmp(long_option[i].name, "guess=") == 0){ if (p[0] == '0' || p[0] == '1') { guess_f = 1; } else { guess_f = 2; } continue; } #ifdef OVERWRITE if (strcmp(long_option[i].name, "overwrite") == 0){ file_out_f = TRUE; overwrite_f = TRUE; preserve_time_f = TRUE; continue; } if (strcmp(long_option[i].name, "overwrite=") == 0){ file_out_f = TRUE; overwrite_f = TRUE; preserve_time_f = TRUE; backup_f = TRUE; backup_suffix = (char *)p; continue; } if (strcmp(long_option[i].name, "in-place") == 0){ file_out_f = TRUE; overwrite_f = TRUE; preserve_time_f = FALSE; continue; } if (strcmp(long_option[i].name, "in-place=") == 0){ file_out_f = TRUE; overwrite_f = TRUE; preserve_time_f = FALSE; backup_f = TRUE; backup_suffix = (char *)p; continue; } #endif #ifdef INPUT_OPTION if (strcmp(long_option[i].name, "cap-input") == 0){ cap_f = TRUE; continue; } if (strcmp(long_option[i].name, "url-input") == 0){ url_f = TRUE; continue; } #endif #ifdef NUMCHAR_OPTION if (strcmp(long_option[i].name, "numchar-input") == 0){ numchar_f = TRUE; continue; } #endif #ifdef CHECK_OPTION if (strcmp(long_option[i].name, "no-output") == 0){ noout_f = TRUE; continue; } if (strcmp(long_option[i].name, "debug") == 0){ debug_f = TRUE; continue; } #endif if (strcmp(long_option[i].name, "cp932") == 0){ #ifdef SHIFTJIS_CP932 cp51932_f = TRUE; cp932inv_f = -TRUE; #endif #ifdef UTF8_OUTPUT_ENABLE ms_ucs_map_f = UCS_MAP_CP932; #endif continue; } if (strcmp(long_option[i].name, "no-cp932") == 0){ #ifdef SHIFTJIS_CP932 cp51932_f = FALSE; cp932inv_f = FALSE; #endif #ifdef UTF8_OUTPUT_ENABLE ms_ucs_map_f = UCS_MAP_ASCII; #endif continue; } #ifdef SHIFTJIS_CP932 if (strcmp(long_option[i].name, "cp932inv") == 0){ cp932inv_f = -TRUE; continue; } #endif #ifdef X0212_ENABLE if (strcmp(long_option[i].name, "x0212") == 0){ x0212_f = TRUE; continue; } #endif #ifdef EXEC_IO if (strcmp(long_option[i].name, "exec-in") == 0){ exec_f = 1; return 0; } if (strcmp(long_option[i].name, "exec-out") == 0){ exec_f = -1; return 0; } #endif #if defined(UTF8_OUTPUT_ENABLE) && defined(UTF8_INPUT_ENABLE) if (strcmp(long_option[i].name, "no-cp932ext") == 0){ no_cp932ext_f = TRUE; continue; } if (strcmp(long_option[i].name, "no-best-fit-chars") == 0){ no_best_fit_chars_f = TRUE; continue; } if (strcmp(long_option[i].name, "fb-skip") == 0){ encode_fallback = NULL; continue; } if (strcmp(long_option[i].name, "fb-html") == 0){ encode_fallback = encode_fallback_html; continue; } if (strcmp(long_option[i].name, "fb-xml") == 0){ encode_fallback = encode_fallback_xml; continue; } if (strcmp(long_option[i].name, "fb-java") == 0){ encode_fallback = encode_fallback_java; continue; } if (strcmp(long_option[i].name, "fb-perl") == 0){ encode_fallback = encode_fallback_perl; continue; } if (strcmp(long_option[i].name, "fb-subchar") == 0){ encode_fallback = encode_fallback_subchar; continue; } if (strcmp(long_option[i].name, "fb-subchar=") == 0){ encode_fallback = encode_fallback_subchar; unicode_subchar = 0; if (p[0] != '0'){ /* decimal number */ for (i = 0; i < 7 && nkf_isdigit(p[i]); i++){ unicode_subchar *= 10; unicode_subchar += hex2bin(p[i]); } }else if(p[1] == 'x' || p[1] == 'X'){ /* hexadecimal number */ for (i = 2; i < 8 && nkf_isxdigit(p[i]); i++){ unicode_subchar <<= 4; unicode_subchar |= hex2bin(p[i]); } }else{ /* octal number */ for (i = 1; i < 8 && nkf_isoctal(p[i]); i++){ unicode_subchar *= 8; unicode_subchar += hex2bin(p[i]); } } w16e_conv(unicode_subchar, &i, &j); unicode_subchar = i<<8 | j; continue; } #endif #ifdef UTF8_OUTPUT_ENABLE if (strcmp(long_option[i].name, "ms-ucs-map") == 0){ ms_ucs_map_f = UCS_MAP_MS; continue; } #endif #ifdef UNICODE_NORMALIZATION if (strcmp(long_option[i].name, "utf8mac-input") == 0){ nfc_f = TRUE; continue; } #endif if (strcmp(long_option[i].name, "prefix=") == 0){ if (nkf_isgraph(p[0])){ for (i = 1; nkf_isgraph(p[i]); i++){ prefix_table[p[i]] = p[0]; } } continue; } #if !defined(PERL_XS) && !defined(WIN32DLL) fprintf(stderr, "unsupported long option: --%s\n", long_option[i].name); #endif return -1; } continue; case 'b': /* buffered mode */ unbuf_f = FALSE; continue; case 'u': /* non bufferd mode */ unbuf_f = TRUE; continue; case 't': /* transparent mode */ if (*cp=='1') { /* alias of -t */ cp++; nop_f = TRUE; } else if (*cp=='2') { /* * -t with put/get * * nkf -t2MB hoge.bin | nkf -t2mB | diff -s - hoge.bin * */ cp++; nop_f = 2; } else nop_f = TRUE; continue; case 'j': /* JIS output */ case 'n': output_encoding = nkf_enc_from_index(ISO_2022_JP); continue; case 'e': /* AT&T EUC output */ output_encoding = nkf_enc_from_index(EUCJP_NKF); continue; case 's': /* SJIS output */ output_encoding = nkf_enc_from_index(SHIFT_JIS); continue; case 'l': /* ISO8859 Latin-1 support, no conversion */ iso8859_f = TRUE; /* Only compatible with ISO-2022-JP */ input_encoding = nkf_enc_from_index(ISO_8859_1); continue; case 'i': /* Kanji IN ESC-$-@/B */ if (*cp=='@'||*cp=='B') kanji_intro = *cp++; continue; case 'o': /* ASCII IN ESC-(-J/B/H */ /* ESC ( H was used in initial JUNET messages */ if (*cp=='J'||*cp=='B'||*cp=='H') ascii_intro = *cp++; continue; case 'h': /* bit:1 katakana->hiragana bit:2 hiragana->katakana */ if ('9'>= *cp && *cp>='0') hira_f |= (*cp++ -'0'); else hira_f |= 1; continue; case 'r': rot_f = TRUE; continue; #if defined(MSDOS) || defined(__OS2__) case 'T': binmode_f = FALSE; continue; #endif #ifndef PERL_XS case 'V': show_configuration(); exit(EXIT_SUCCESS); break; case 'v': version(); exit(EXIT_SUCCESS); break; #endif #ifdef UTF8_OUTPUT_ENABLE case 'w': /* UTF-{8,16,32} output */ if (cp[0] == '8') { cp++; if (cp[0] == '0'){ cp++; output_encoding = nkf_enc_from_index(UTF_8N); } else { output_bom_f = TRUE; output_encoding = nkf_enc_from_index(UTF_8_BOM); } } else { int enc_idx; if ('1'== cp[0] && '6'==cp[1]) { cp += 2; enc_idx = UTF_16; } else if ('3'== cp[0] && '2'==cp[1]) { cp += 2; enc_idx = UTF_32; } else { output_encoding = nkf_enc_from_index(UTF_8); continue; } if (cp[0]=='L') { cp++; output_endian = ENDIAN_LITTLE; output_bom_f = TRUE; } else if (cp[0] == 'B') { cp++; output_bom_f = TRUE; } if (cp[0] == '0'){ output_bom_f = FALSE; cp++; enc_idx = enc_idx == UTF_16 ? (output_endian == ENDIAN_LITTLE ? UTF_16LE : UTF_16BE) : (output_endian == ENDIAN_LITTLE ? UTF_32LE : UTF_32BE); } else { enc_idx = enc_idx == UTF_16 ? (output_endian == ENDIAN_LITTLE ? UTF_16LE_BOM : UTF_16BE_BOM) : (output_endian == ENDIAN_LITTLE ? UTF_32LE_BOM : UTF_32BE_BOM); } output_encoding = nkf_enc_from_index(enc_idx); } continue; #endif #ifdef UTF8_INPUT_ENABLE case 'W': /* UTF input */ if (cp[0] == '8') { cp++; input_encoding = nkf_enc_from_index(UTF_8); }else{ int enc_idx; if ('1'== cp[0] && '6'==cp[1]) { cp += 2; input_endian = ENDIAN_BIG; enc_idx = UTF_16; } else if ('3'== cp[0] && '2'==cp[1]) { cp += 2; input_endian = ENDIAN_BIG; enc_idx = UTF_32; } else { input_encoding = nkf_enc_from_index(UTF_8); continue; } if (cp[0]=='L') { cp++; input_endian = ENDIAN_LITTLE; } else if (cp[0] == 'B') { cp++; input_endian = ENDIAN_BIG; } enc_idx = (enc_idx == UTF_16 ? (input_endian == ENDIAN_LITTLE ? UTF_16LE : UTF_16BE) : (input_endian == ENDIAN_LITTLE ? UTF_32LE : UTF_32BE)); input_encoding = nkf_enc_from_index(enc_idx); } continue; #endif /* Input code assumption */ case 'J': /* ISO-2022-JP input */ input_encoding = nkf_enc_from_index(ISO_2022_JP); continue; case 'E': /* EUC-JP input */ input_encoding = nkf_enc_from_index(EUCJP_NKF); continue; case 'S': /* Shift_JIS input */ input_encoding = nkf_enc_from_index(SHIFT_JIS); continue; case 'Z': /* Convert X0208 alphabet to asii */ /* alpha_f bit:0 Convert JIS X 0208 Alphabet to ASCII bit:1 Convert Kankaku to one space bit:2 Convert Kankaku to two spaces bit:3 Convert HTML Entity bit:4 Convert JIS X 0208 Katakana to JIS X 0201 Katakana */ while ('0'<= *cp && *cp <='4') { alpha_f |= 1 << (*cp++ - '0'); } alpha_f |= 1; continue; case 'x': /* Convert X0201 kana to X0208 or X0201 Conversion */ x0201_f = FALSE; /* No X0201->X0208 conversion */ /* accept X0201 ESC-(-I in JIS, EUC, MS Kanji SI/SO in JIS, EUC, MS Kanji SS2 in EUC, JIS, not in MS Kanji MS Kanji (0xa0-0xdf) output X0201 ESC-(-I in JIS (0x20-0x5f) SS2 in EUC (0xa0-0xdf) 0xa0-0xd in MS Kanji (0xa0-0xdf) */ continue; case 'X': /* Convert X0201 kana to X0208 */ x0201_f = TRUE; continue; case 'F': /* prserve new lines */ fold_preserve_f = TRUE; case 'f': /* folding -f60 or -f */ fold_f = TRUE; fold_len = 0; while('0'<= *cp && *cp <='9') { /* we don't use atoi here */ fold_len *= 10; fold_len += *cp++ - '0'; } if (!(0= *cp && *cp>='0') broken_f |= 1<<(*cp++ -'0'); else broken_f |= TRUE; continue; #ifndef PERL_XS case 'O':/* for Output file */ file_out_f = TRUE; continue; #endif case 'c':/* add cr code */ eolmode_f = CRLF; continue; case 'd':/* delete cr code */ eolmode_f = LF; continue; case 'I': /* ISO-2022-JP output */ iso2022jp_f = TRUE; continue; case 'L': /* line mode */ if (*cp=='u') { /* unix */ eolmode_f = LF; cp++; } else if (*cp=='m') { /* mac */ eolmode_f = CR; cp++; } else if (*cp=='w') { /* windows */ eolmode_f = CRLF; cp++; } else if (*cp=='0') { /* no conversion */ eolmode_f = 0; cp++; } continue; #ifndef PERL_XS case 'g': if ('2' <= *cp && *cp <= '9') { guess_f = 2; cp++; } else if (*cp == '0' || *cp == '1') { guess_f = 1; cp++; } else { guess_f = 1; } continue; #endif case SP: /* module multiple options in a string are allowed for Perl module */ while(*cp && *cp++!='-'); continue; default: #if !defined(PERL_XS) && !defined(WIN32DLL) fprintf(stderr, "unknown option: -%c\n", *(cp-1)); #endif /* bogus option but ignored */ return -1; } } return 0; } #ifdef WIN32DLL #include "nkf32dll.c" #elif defined(PERL_XS) #else /* WIN32DLL */ int main(int argc, char **argv) { FILE *fin; unsigned char *cp; char *outfname = NULL; char *origfname; #ifdef EASYWIN /*Easy Win */ _BufferSize.y = 400;/*Set Scroll Buffer Size*/ #endif #ifdef DEFAULT_CODE_LOCALE setlocale(LC_CTYPE, ""); #endif nkf_state_init(); for (argc--,argv++; (argc > 0) && **argv == '-'; argc--, argv++) { cp = (unsigned char *)*argv; options(cp); #ifdef EXEC_IO if (exec_f){ int fds[2], pid; if (pipe(fds) < 0 || (pid = fork()) < 0){ abort(); } if (pid == 0){ if (exec_f > 0){ close(fds[0]); dup2(fds[1], 1); }else{ close(fds[1]); dup2(fds[0], 0); } execvp(argv[1], &argv[1]); } if (exec_f > 0){ close(fds[1]); dup2(fds[0], 0); }else{ close(fds[0]); dup2(fds[1], 1); } argc = 0; break; } #endif } if (guess_f) { #ifdef CHECK_OPTION int debug_f_back = debug_f; #endif #ifdef EXEC_IO int exec_f_back = exec_f; #endif #ifdef X0212_ENABLE int x0212_f_back = x0212_f; #endif int x0213_f_back = x0213_f; int guess_f_back = guess_f; reinit(); guess_f = guess_f_back; mime_f = FALSE; #ifdef CHECK_OPTION debug_f = debug_f_back; #endif #ifdef EXEC_IO exec_f = exec_f_back; #endif x0212_f = x0212_f_back; x0213_f = x0213_f_back; } if (binmode_f == TRUE) #if defined(__OS2__) && (defined(__IBMC__) || defined(__IBMCPP__)) if (freopen("","wb",stdout) == NULL) return (-1); #else setbinmode(stdout); #endif if (unbuf_f) setbuf(stdout, (char *) NULL); else setvbuffer(stdout, (char *) stdobuf, IOBUF_SIZE); if (argc == 0) { if (binmode_f == TRUE) #if defined(__OS2__) && (defined(__IBMC__) || defined(__IBMCPP__)) if (freopen("","rb",stdin) == NULL) return (-1); #else setbinmode(stdin); #endif setvbuffer(stdin, (char *) stdibuf, IOBUF_SIZE); if (nop_f) noconvert(stdin); else { kanji_convert(stdin); if (guess_f) print_guessed_code(NULL); } } else { int nfiles = argc; int is_argument_error = FALSE; while (argc--) { input_codename = NULL; input_eol = 0; #ifdef CHECK_OPTION iconv_for_check = 0; #endif if ((fin = fopen((origfname = *argv++), "r")) == NULL) { perror(*(argv-1)); is_argument_error = TRUE; continue; } else { #ifdef OVERWRITE int fd = 0; int fd_backup = 0; #endif /* reopen file for stdout */ if (file_out_f == TRUE) { #ifdef OVERWRITE if (overwrite_f){ outfname = nkf_xmalloc(strlen(origfname) + strlen(".nkftmpXXXXXX") + 1); strcpy(outfname, origfname); #ifdef MSDOS { int i; for (i = strlen(outfname); i; --i){ if (outfname[i - 1] == '/' || outfname[i - 1] == '\\'){ break; } } outfname[i] = '\0'; } strcat(outfname, "ntXXXXXX"); mktemp(outfname); fd = open(outfname, O_WRONLY | O_CREAT | O_TRUNC | O_EXCL, S_IREAD | S_IWRITE); #else strcat(outfname, ".nkftmpXXXXXX"); fd = mkstemp(outfname); #endif if (fd < 0 || (fd_backup = dup(fileno(stdout))) < 0 || dup2(fd, fileno(stdout)) < 0 ){ perror(origfname); return -1; } }else #endif if(argc == 1) { outfname = *argv++; argc--; } else { outfname = "nkf.out"; } if(freopen(outfname, "w", stdout) == NULL) { perror (outfname); return (-1); } if (binmode_f == TRUE) { #if defined(__OS2__) && (defined(__IBMC__) || defined(__IBMCPP__)) if (freopen("","wb",stdout) == NULL) return (-1); #else setbinmode(stdout); #endif } } if (binmode_f == TRUE) #if defined(__OS2__) && (defined(__IBMC__) || defined(__IBMCPP__)) if (freopen("","rb",fin) == NULL) return (-1); #else setbinmode(fin); #endif setvbuffer(fin, (char *) stdibuf, IOBUF_SIZE); if (nop_f) noconvert(fin); else { char *filename = NULL; kanji_convert(fin); if (nfiles > 1) filename = origfname; if (guess_f) print_guessed_code(filename); } fclose(fin); #ifdef OVERWRITE if (overwrite_f) { struct stat sb; #if defined(MSDOS) && !defined(__MINGW32__) && !defined(__WIN32__) && !defined(__WATCOMC__) && !defined(__EMX__) && !defined(__OS2__) && !defined(__DJGPP__) time_t tb[2]; #else struct utimbuf tb; #endif fflush(stdout); close(fd); if (dup2(fd_backup, fileno(stdout)) < 0){ perror("dup2"); } if (stat(origfname, &sb)) { fprintf(stderr, "Can't stat %s\n", origfname); } /* $B%Q!<%_%C%7%g%s$rI|85(B */ if (chmod(outfname, sb.st_mode)) { fprintf(stderr, "Can't set permission %s\n", outfname); } /* $B%?%$%`%9%?%s%W$rI|85(B */ if(preserve_time_f){ #if defined(MSDOS) && !defined(__MINGW32__) && !defined(__WIN32__) && !defined(__WATCOMC__) && !defined(__EMX__) && !defined(__OS2__) && !defined(__DJGPP__) tb[0] = tb[1] = sb.st_mtime; if (utime(outfname, tb)) { fprintf(stderr, "Can't set timestamp %s\n", outfname); } #else tb.actime = sb.st_atime; tb.modtime = sb.st_mtime; if (utime(outfname, &tb)) { fprintf(stderr, "Can't set timestamp %s\n", outfname); } #endif } if(backup_f){ char *backup_filename = get_backup_filename(backup_suffix, origfname); #ifdef MSDOS unlink(backup_filename); #endif if (rename(origfname, backup_filename)) { perror(backup_filename); fprintf(stderr, "Can't rename %s to %s\n", origfname, backup_filename); } nkf_xfree(backup_filename); }else{ #ifdef MSDOS if (unlink(origfname)){ perror(origfname); } #endif } if (rename(outfname, origfname)) { perror(origfname); fprintf(stderr, "Can't rename %s to %s\n", outfname, origfname); } nkf_xfree(outfname); } #endif } } if (is_argument_error) return(-1); } #ifdef EASYWIN /*Easy Win */ if (file_out_f == FALSE) scanf("%d",&end_check); else fclose(stdout); #else /* for Other OS */ if (file_out_f == TRUE) fclose(stdout); #endif /*Easy Win */ return (0); } #endif /* WIN32DLL */ nkf-2.1.5/NKF.python3/NKF_python.c000644 001751 001751 00000010651 13405143432 017205 0ustar00naruseusers000000 000000 /* Changes. 2009.6.2 Remove WISH_TRUE, use get_guessed_code() for nkf-2.0.9 by SATOH Fumiyasu (fumiyas @ osstech co jp) 2008.7.17 Change the type of strlen from long to int, by SATOH Fumiyasu. 2007.2.1 Add guess() function. 2007.1.13 Remove pynkf_parseopts(), by SATOH Fumiyasu. */ /** Python Interface to NKF *************************************************************************** ** Copyright (c) 2005 Matsumoto, Tadashi ** All Rights Reserved. ** ** Everyone is permitted to do anything on this program ** including copying, modifying, improving, ** as long as you don't try to pretend that you wrote it. ** i.e., the above copyright notice has to appear in all copies. ** Binary distribution requires original version messages. ** You don't have to ask before copying, redistribution or publishing. ** THE AUTHOR DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE. ***************************************************************************/ #include "Python.h" #include #undef getc #undef ungetc #define getc(f) pynkf_getc(f) #define ungetc(c,f) pynkf_ungetc(c,f) #undef putchar #undef TRUE #undef FALSE #define putchar(c) pynkf_putchar(c) static int pynkf_ibufsize, pynkf_obufsize; static unsigned char *pynkf_inbuf, *pynkf_outbuf; static int pynkf_icount,pynkf_ocount; static unsigned char *pynkf_iptr, *pynkf_optr; static jmp_buf env; static int pynkf_guess_flag; static int pynkf_getc(FILE *f) { unsigned char c; if (pynkf_icount >= pynkf_ibufsize) return EOF; c = *pynkf_iptr++; pynkf_icount++; return (int)c; } static int pynkf_ungetc(int c, FILE *f) { if (pynkf_icount--){ *(--pynkf_iptr) = c; return c; }else{ return EOF; } } static void pynkf_putchar(int c) { size_t size; unsigned char *p; if (pynkf_guess_flag) { return; } if (pynkf_ocount--){ *pynkf_optr++ = c; }else{ size = pynkf_obufsize + pynkf_obufsize; p = (unsigned char *)PyMem_Realloc(pynkf_outbuf, size + 1); if (pynkf_outbuf == NULL){ longjmp(env, 1); } pynkf_outbuf = p; pynkf_optr = pynkf_outbuf + pynkf_obufsize; pynkf_ocount = pynkf_obufsize; pynkf_obufsize = size; *pynkf_optr++ = c; pynkf_ocount--; } } #define PERL_XS 1 #include "../utf8tbl.c" #include "../nkf.c" static PyObject * pynkf_convert(unsigned char* str, int strlen, char* opts, int optslen) { PyObject * res; pynkf_ibufsize = strlen + 1; pynkf_obufsize = pynkf_ibufsize * 1.5 + 256; pynkf_outbuf = (unsigned char *)PyMem_Malloc(pynkf_obufsize); if (pynkf_outbuf == NULL){ PyErr_NoMemory(); return NULL; } pynkf_outbuf[0] = '\0'; pynkf_ocount = pynkf_obufsize; pynkf_optr = pynkf_outbuf; pynkf_icount = 0; pynkf_inbuf = str; pynkf_iptr = pynkf_inbuf; pynkf_guess_flag = 0; if (setjmp(env) == 0){ reinit(); options(opts); kanji_convert(NULL); }else{ PyMem_Free(pynkf_outbuf); PyErr_NoMemory(); return NULL; } *pynkf_optr = 0; res = PyBytes_FromString(pynkf_outbuf); PyMem_Free(pynkf_outbuf); return res; } static PyObject * pynkf_convert_guess(unsigned char* str, int strlen) { PyObject * res; const char *codename; pynkf_ibufsize = strlen + 1; pynkf_icount = 0; pynkf_inbuf = str; pynkf_iptr = pynkf_inbuf; pynkf_guess_flag = 1; reinit(); guess_f = 1; kanji_convert(NULL); codename = get_guessed_code(); res = PyUnicode_FromString(codename); return res; } #ifndef EXTERN_NKF static #endif PyObject *pynkf_nkf(PyObject *self, PyObject *args) { unsigned char *str; int strlen; char *opts; int optslen; PyObject* res; if (!PyArg_ParseTuple(args, "s#y#", &opts, &optslen, &str, &strlen)) { return NULL; } res = pynkf_convert(str, strlen, opts, optslen); return res; } #ifndef EXTERN_NKF static #endif PyObject *pynkf_guess(PyObject *self, PyObject *args) { unsigned char *str; int strlen; PyObject* res; if (!PyArg_ParseTuple(args, "y#", &str, &strlen)) { return NULL; } res = pynkf_convert_guess(str, strlen); return res; } #ifndef EXTERN_NKF static PyMethodDef nkfMethods[] = { {"nkf", pynkf_nkf, METH_VARARGS, ""}, {"guess", pynkf_guess, METH_VARARGS, ""}, {NULL, NULL, 0, NULL} }; static struct PyModuleDef nkfmodule = { PyModuleDef_HEAD_INIT, "nkf", "", -1, nkfMethods }; /* Module initialization function */ PyMODINIT_FUNC PyInit_nkf(void) { return PyModule_Create(&nkfmodule); } #endif nkf-2.1.5/NKF.python3/setup.py000644 001751 001751 00000000547 13405143432 016537 0ustar00naruseusers000000 000000 #!/usr/bin/env python from distutils.core import setup, Extension setup (name = "nkf", version="1.0", description="Python Interface to NKF", author="Matsumoto Tadashi", author_email="ma2@city.plala.jp", ext_modules = [ Extension("nkf", ["NKF_python.c"], extra_link_args = ['-s'])]) nkf-2.1.5/NKF.python3/README000644 001751 001751 00000002146 13405143432 015702 0ustar00naruseusers000000 000000 ===================================== Python Interface to NKF (2009.07.08) ===================================== Required: Python3.1+, nkf-2.0.9+ 1. How to Install 1) Download latest nkf-2.0.9+ from https://osdn.jp/projects/nkf/ 2) $ tar zxvf nkf-2.x.x.tar.gz 3) $ cd nkf-2.x.x 4) $ tar zxvf NKF_python.tgz 5) $ cd NKF.python 6) # python setup.py install 2. Usage ## flag is same as the flags of nkf itself ## The type of input/output is bytes ## The type of flag is str or bytes import nkf output = nkf.nkf(flag, input) ## For example, to convert from euc-jp to utf-8 output = nkf.nkf('-Ew', b'some euc-jp bytes') 3. guess() function, which guesses input_string_code and returns one of next strings: "BINARY" "ASCII" "Shift_JIS" "CP932" "EUC-JP" "EUCJP-MS" "CP51932" "ISO-2022-JP" "CP50221" "CP50220" "UTF-8" ## For example ## The type of return value is str import nkf input_code = nkf.guess(b'some bytes') Matsumoto, Tadashi ma2@city.plala.jp nkf-2.1.5/NKF.python2/setup.py000644 001751 001751 00000000547 13405143432 016536 0ustar00naruseusers000000 000000 #!/usr/bin/env python from distutils.core import setup, Extension setup (name = "nkf", version="1.0", description="Python Interface to NKF", author="Matsumoto Tadashi", author_email="ma2@city.plala.jp", ext_modules = [ Extension("nkf", ["NKF_python.c"], extra_link_args = ['-s'])]) nkf-2.1.5/NKF.python2/NKF_python.c000644 001751 001751 00000010442 13405143432 017202 0ustar00naruseusers000000 000000 /* Changes. 2009.6.2 Remove WISH_TRUE, use get_guessed_code() for nkf-2.0.9 by SATOH Fumiyasu (fumiyas @ osstech co jp) 2008.7.17 Change the type of strlen from long to int, by SATOH Fumiyasu. 2007.2.1 Add guess() function. 2007.1.13 Remove pynkf_parseopts(), by SATOH Fumiyasu. */ /** Python Interface to NKF *************************************************************************** ** Copyright (c) 2005 Matsumoto, Tadashi ** All Rights Reserved. ** ** Everyone is permitted to do anything on this program ** including copying, modifying, improving, ** as long as you don't try to pretend that you wrote it. ** i.e., the above copyright notice has to appear in all copies. ** Binary distribution requires original version messages. ** You don't have to ask before copying, redistribution or publishing. ** THE AUTHOR DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE. ***************************************************************************/ #include "Python.h" #include #undef getc #undef ungetc #define getc(f) pynkf_getc(f) #define ungetc(c,f) pynkf_ungetc(c,f) #undef putchar #undef TRUE #undef FALSE #define putchar(c) pynkf_putchar(c) static int pynkf_ibufsize, pynkf_obufsize; static unsigned char *pynkf_inbuf, *pynkf_outbuf; static int pynkf_icount,pynkf_ocount; static unsigned char *pynkf_iptr, *pynkf_optr; static jmp_buf env; static int pynkf_guess_flag; static int pynkf_getc(FILE *f) { unsigned char c; if (pynkf_icount >= pynkf_ibufsize) return EOF; c = *pynkf_iptr++; pynkf_icount++; return (int)c; } static int pynkf_ungetc(int c, FILE *f) { if (pynkf_icount--){ *(--pynkf_iptr) = c; return c; }else{ return EOF; } } static void pynkf_putchar(int c) { size_t size; unsigned char *p; if (pynkf_guess_flag) { return; } if (pynkf_ocount--){ *pynkf_optr++ = c; }else{ size = pynkf_obufsize + pynkf_obufsize; p = (unsigned char *)PyMem_Realloc(pynkf_outbuf, size + 1); if (pynkf_outbuf == NULL){ longjmp(env, 1); } pynkf_outbuf = p; pynkf_optr = pynkf_outbuf + pynkf_obufsize; pynkf_ocount = pynkf_obufsize; pynkf_obufsize = size; *pynkf_optr++ = c; pynkf_ocount--; } } #define PERL_XS 1 #include "../utf8tbl.c" #include "../nkf.c" static PyObject * pynkf_convert(unsigned char* str, int strlen, char* opts, int optslen) { PyObject * res; pynkf_ibufsize = strlen + 1; pynkf_obufsize = pynkf_ibufsize * 1.5 + 256; pynkf_outbuf = (unsigned char *)PyMem_Malloc(pynkf_obufsize); if (pynkf_outbuf == NULL){ PyErr_NoMemory(); return NULL; } pynkf_outbuf[0] = '\0'; pynkf_ocount = pynkf_obufsize; pynkf_optr = pynkf_outbuf; pynkf_icount = 0; pynkf_inbuf = str; pynkf_iptr = pynkf_inbuf; pynkf_guess_flag = 0; if (setjmp(env) == 0){ reinit(); options(opts); kanji_convert(NULL); }else{ PyMem_Free(pynkf_outbuf); PyErr_NoMemory(); return NULL; } *pynkf_optr = 0; res = PyString_FromString(pynkf_outbuf); PyMem_Free(pynkf_outbuf); return res; } static PyObject * pynkf_convert_guess(unsigned char* str, int strlen) { PyObject * res; const char *codename; pynkf_ibufsize = strlen + 1; pynkf_icount = 0; pynkf_inbuf = str; pynkf_iptr = pynkf_inbuf; pynkf_guess_flag = 1; reinit(); guess_f = 1; kanji_convert(NULL); codename = get_guessed_code(); res = PyString_FromString(codename); return res; } #ifndef EXTERN_NKF static #endif PyObject *pynkf_nkf(PyObject *self, PyObject *args) { unsigned char *str; int strlen; char *opts; int optslen; PyObject* res; if (!PyArg_ParseTuple(args, "s#s#", &opts, &optslen, &str, &strlen)) { return NULL; } res = pynkf_convert(str, strlen, opts, optslen); return res; } #ifndef EXTERN_NKF static #endif PyObject *pynkf_guess(PyObject *self, PyObject *args) { unsigned char *str; int strlen; PyObject* res; if (!PyArg_ParseTuple(args, "s#", &str, &strlen)) { return NULL; } res = pynkf_convert_guess(str, strlen); return res; } #ifndef EXTERN_NKF static PyMethodDef nkfmethods[] = { {"nkf", pynkf_nkf, METH_VARARGS}, {"guess", pynkf_guess, METH_VARARGS}, {NULL, NULL} }; /* Module initialization function */ void initnkf(void) { Py_InitModule("nkf", nkfmethods); } #endif nkf-2.1.5/NKF.python2/README000644 001751 001751 00000001604 13405143432 015677 0ustar00naruseusers000000 000000 Python Interface to NKF2 (2009.06.02) 1. How to Install 1) Download latest nkf-2.0.9+ from https://osdn.jp/projects/nkf/ 2) $ tar zxvf nkf-2.x.x.tar.gz 3) $ cd nkf-2.x.x 4) $ tar zxvf NKF_python.tgz 5) $ cd NKF.python 6) # python setup.py install 2. Usage ## flag is same as the flags of nkf itself import nkf output = nkf.nkf(flag, input) ## For example, to convert from euc-jp to utf-8 output = nkf.nkf('-Ew', 'some euc-jp string') 3. guess() function, which guesses input_string_code and returns one of next strings: "BINARY" "ASCII" "Shift_JIS" "CP932" "EUC-JP" "EUCJP-MS" "CP51932" "ISO-2022-JP" "CP50221" "CP50220" "UTF-8" ## For example import nkf input_code = nkf.guess('some string') Matsumoto, Tadashi ma2@city.plala.jp nkf-2.1.5/NKF.mod/test.pl000644 001751 001751 00000006363 13405143432 015516 0ustar00naruseusers000000 000000 #!/usr/bin/perl # # nkf test program for nkf 2.0 # Shinji KONO # Sun Aug 18 12:25:40 JST 1996 # Sun Nov 8 00:16:06 JST 1998 # Sun Sep 8 14:03:28 JST 2002 # # This is useful when you add new patch on nkf. # Since this test is too strict, faileurs may not mean # wrong conversion. # # nkf 2.0 utf8 # nkf 1.5 differs on MIME decoding # nkf 1.4 passes Basic Conversion tests # nkf PDS version passes Basic Conversion tests using "nkf -iB -oB " # $nkf = "./nkf"; # $nkf = "doscmd nkf.exe"; # If you want to see the testing process, set next flag. $detail_all = 0; $diff = 1; &library_test0(); sub test { use NKF; &library_test(@_); } sub library_test { local ($nkf,$in,@ans) = @_; local ($result); # $nkf =~ s/^[^_]* //; local (@nkf) = split(/ /,$nkf); shift(@nkf); print "\nINPUT:\n",$in if ($detail || $detail_all); print "\nEXPECT:\n", $ans if ($detail || $detail_all); $result = NKF::nkf(@nkf,$in); print "\nGOT:\n",$result if ($detail || $detail_all); if( $nkf =~ /-\S*m/) { $result =~ s/ //g; } $i = -1; foreach $ans (@ans) { $i++; if( $nkf =~ /-\S*m/) { $ans =~ s/ //g; } if ($result eq $ans){ print "Ok\n"; return $result; } } $ans = @ans[$i]; print "Fail\n"; if ($diff) { open(R,"|od -c >tmp.result.bad"); binmode R; print R $result; close(R); open(R,"|od -c >tmp.expect.bad"); binmode R; print R $ans; close(R); print"$i\n;$result\n;$ans\n" if $nkf[0] eq'-w16B'; system "diff -c tmp.result.bad tmp.expect.bad"; } return $result; } sub library_test0 { BEGIN { $| = 1; print "1..3\n"; } END {print "not ok 1\n" unless $loaded;} use NKF; $loaded = 1; print "ok 1\n"; ######################### End of black magic. # Insert your test code below (better if it prints "ok 13" # (correspondingly "not ok 13") depending on the success of chunk 13 # of the test code): if ( nkf("-m","-e","1") ) { print "ok 2\n"; } else { print "no 2\n"; } $output = nkf("\033\$@#1#3#2%B"); if ($output) { # print $output,"\n"; print "ok 3\n"; } else { print "no 3\n"; } $output = nkf("-Zj","\033\$@#1#3#2%B"); if ($output) { # print $output,"\n"; print "ok 4\n"; } else { print "no 4\n"; } # conversion makes strings longer $output = "\244\306 " x 1024; $old = length($output); $output = nkf("-j",$output); if ($output) { # print $output,"\n"; print "ok 5 $old ",length($output),"\n"; } else { print "no 5\n"; } } sub command_tests { my @tests = @_; my ($in, $out, $ans); for (my $i = 0; $i <= $#tests; $i += 3){ local (@nkf) = split(/ /,$tests[$i]); shift(@nkf); $in = $tests[$i+1]; $ans = $tests[$i+2]; $out = NKF::nkf(@nkf,$in); $out =~ s/ //g if $nkf =~ /-\w+m[NS]/o; $ans =~ s/ //g if $nkf =~ /-\w+m[NS]/o; if ($out ne $ans) { last; } } if ($out eq $ans) { print "Ok\n"; return; } print "Fail\n"; if ($diff) { open(R,"|od -c >tmp.result.bad"); binmode R; print R $out; close(R); open(R,"|od -c >tmp.expect.bad"); binmode R; print R $ans; close(R); system "diff -c tmp.result.bad tmp.expect.bad"; } return; } do "../nkf_test.pl"; nkf-2.1.5/NKF.mod/NKF.pm000644 001751 001751 00000022541 13405143432 015152 0ustar00naruseusers000000 000000 # Copyright (c) 1987, Fujitsu LTD. (Itaru ICHIKAWA). # Copyright (c) 1996-2018, The nkf Project. # All rights reserved. # # This software is provided 'as-is', without any express or implied # warranty. In no event will the authors be held liable for any damages # arising from the use of this software. # # Permission is granted to anyone to use this software for any purpose, # including commercial applications, and to alter it and redistribute it # freely, subject to the following restrictions: # # 1. The origin of this software must not be misrepresented; you must not # claim that you wrote the original software. If you use this software # in a product, an acknowledgment in the product documentation would be # appreciated but is not required. # # 2. Altered source versions must be plainly marked as such, and must not be # misrepresented as being the original software. # # 3. This notice may not be removed or altered from any source distribution. package NKF; use strict; use vars qw($VERSION @ISA @EXPORT @EXPORT_OK); require Exporter; require DynaLoader; @ISA = qw(Exporter DynaLoader); # Items to export into callers namespace by default. Note: do not export # names by default without a very good reason. Use EXPORT_OK instead. # Do not simply export all your public functions/methods/constants. @EXPORT = qw( nkf nkf_continue inputcode ); $VERSION = '2.15'; bootstrap NKF $VERSION; # Preloaded methods go here. # Autoload methods go after =cut, and are processed by the autosplit program. 1; __END__ # # =begin FUNC から =end FUNC までは Perl/NKF のドキュメント # =begin COMMAND から =end COMMAND までは nkf コマンドのドキュメント # =head1 NAME =begin FUNC NKF - Perl extension for Network Kanji Filter =end FUNC =begin COMMAND nkf - Network Kanji Filter =end COMMAND =head1 SYNOPSIS =begin FUNC use NKF; $output = nkf("-s",$input); =end FUNC =begin COMMAND nkf B<[-butjnesliohrTVvwWJESZxXFfmMBOcdILg]> B<[>IB<]> =end COMMAND =head1 DESCRIPTION =begin FUNC This is a Perl Extension version of nkf (Network Kanji Filter). It converts the last argument and return converted result. Conversion details are specified by flags before the last argument. =end FUNC B is a yet another kanji code converter among networks, hosts and terminals. It converts input kanji code to designated kanji code such as ISO-2022-JP, Shift_JIS, EUC-JP, UTF-8, UTF-16 or UTF-32. One of the most unique faculty of B is the guess of the input kanji encodings. It currently recognizes ISO-2022-JP, Shift_JIS, EUC-JP, UTF-8, UTF-16 and UTF-32. So users needn't set the input kanji code explicitly. By default, X0201 kana is converted into X0208 kana. For X0201 kana, SO/SI, SSO and ESC-(-I methods are supported. For automatic code detection, nkf assumes no X0201 kana in Shift_JIS. To accept X0201 in Shift_JIS, use B<-X>, B<-x> or B<-S>. multiple options are specifed as seprate strings, such as print nkf('--ic=UTF8-MAC', '-w', $string), "\n"; except the last arguments. =head1 OPTIONS =over =item B<-J -S -E -W -W16 -W32 -j -s -e -w -w16 -w32> Specify input and output encodings. Upper case is input. cf. --ic and --oc. =over =item B<-J> ISO-2022-JP (JIS code). =item B<-S> Shift_JIS and JIS X 0201 kana. EUC-JP is recognized as X0201 kana. Without B<-x> flag, JIS X 0201 Katakana (a.k.a.halfwidth kana) is converted into JIS X 0208. If you use Windows, see Windows-31J (CP932). =item B<-E> EUC-JP. =item B<-W> UTF-8N. =item B<-W16[BL][0]> UTF-16. B or L gives whether Big Endian or Little Endian. 0 gives whther put BOM or not. =item B<-W32[BL][0]> UTF-32. B or L gives whether Big Endian or Little Endian. 0 gives whther put BOM or not. =back =item B<-b -u> Output is buffered (DEFAULT), Output is unbuffered. =item B<-t> No conversion. =item B<-i[@B]> Specify the escape sequence for JIS X 0208. =over =item B<-i@> Use ESC ( @. (JIS X 0208-1978) =item B<-iB> Use ESC ( B. (JIS X 0208-1983/1990 DEFAULT) =back =item B<-o[BJ]> Specify the escape sequence for US-ASCII/JIS X 0201 Roman. (DEFAULT B) =item B<-r> {de/en}crypt ROT13/47 =item B<-h[123] --hiragana --katakana --katakana-hiragana> =over =item B<-h1 --hiragana> Katakana to Hiragana conversion. =item B<-h2 --katakana> Hiragana to Katakana conversion. =item B<-h3 --katakana-hiragana> Katakana to Hiragana and Hiragana to Katakana conversion. =back =item B<-T> Text mode output (MS-DOS) =item B<-f[I [- I]]> Folding on I length with I margin in a line. Without this option, fold length is 60 and fold margin is 10. =item B<-F> New line preserving line folding. =item B<-Z[0-3]> Convert X0208 alphabet (Fullwidth Alphabets) to ASCII. =over =item B<-Z -Z0> Convert X0208 alphabet to ASCII. =item B<-Z1> Convert X0208 kankaku to single ASCII space. =item B<-Z2> Convert X0208 kankaku to double ASCII spaces. =item B<-Z3> Replacing fullwidth >, <, ", & into '>', '<', '"', '&' as in HTML. =back =item B<-X -x> With B<-X> or without this option, X0201 is converted into X0208 Kana. With B<-x>, try to preserve X0208 kana and do not convert X0201 kana to X0208. In JIS output, ESC-(-I is used. In EUC output, SS2 is used. =item B<-B[0-2]> Assume broken JIS-Kanji input, which lost ESC. Useful when your site is using old B-News Nihongo patch. =over =item B<-B1> allows any chars after ESC-( or ESC-$. =item B<-B2> force ASCII after NL. =back =item B<-I> Replacing non iso-2022-jp char into a geta character (substitute character in Japanese). =item B<-m[BQN0]> MIME ISO-2022-JP/ISO8859-1 decode. (DEFAULT) To see ISO8859-1 (Latin-1) -l is necessary. =over =item B<-mB> Decode MIME base64 encoded stream. Remove header or other part before conversion. =item B<-mQ> Decode MIME quoted stream. '_' in quoted stream is converted to space. =item B<-mN> Non-strict decoding. It allows line break in the middle of the base64 encoding. =item B<-m0> No MIME decode. =back =item B<-M> MIME encode. Header style. All ASCII code and control characters are intact. =over =item B<-MB> MIME encode Base64 stream. Kanji conversion is performed before encoding, so this cannot be used as a picture encoder. =item B<-MQ> Perform quoted encoding. =back =item B<-l> Input and output code is ISO8859-1 (Latin-1) and ISO-2022-JP. B<-s>, B<-e> and B<-x> are not compatible with this option. =item B<-L[uwm] -d -c> Convert line breaks. =over =item B<-Lu -d> unix (LF) =item B<-Lw -c> windows (CRLF) =item B<-Lm> mac (CR) Without this option, nkf doesn't convert line breaks. =back =item B<--fj --unix --mac --msdos --windows> Convert for these systems. =item B<--jis --euc --sjis --mime --base64> Convert to named code. =item B<--jis-input --euc-input --sjis-input --mime-input --base64-input> Assume input system =item B<--ic=I --oc=I> Set the input or output codeset. NKF supports following codesets and those codeset names are case insensitive. =over =item ISO-2022-JP a.k.a. RFC1468, 7bit JIS, JUNET =item EUC-JP (eucJP-nkf) a.k.a. AT&T JIS, Japanese EUC, UJIS =item eucJP-ascii =item eucJP-ms =item CP51932 Microsoft Version of EUC-JP. =item Shift_JIS a.k.a. SJIS, MS_Kanji =item Windows-31J a.k.a. CP932 =item UTF-8 same as UTF-8N =item UTF-8N UTF-8 without BOM =item UTF-8-BOM UTF-8 with BOM =item UTF8-MAC (input only) decomposed UTF-8 =item UTF-16 same as UTF-16BE =item UTF-16BE UTF-16 Big Endian without BOM =item UTF-16BE-BOM UTF-16 Big Endian with BOM =item UTF-16LE UTF-16 Little Endian without BOM =item UTF-16LE-BOM UTF-16 Little Endian with BOM =item UTF-32 same as UTF-32BE =item UTF-32BE UTF-32 Big Endian without BOM =item UTF-32BE-BOM UTF-32 Big Endian with BOM =item UTF-32LE UTF-32 Little Endian without BOM =item UTF-32LE-BOM UTF-32 Little Endian with BOM =back =item B<--fb-{skip, html, xml, perl, java, subchar}> Specify the way that nkf handles unassigned characters. Without this option, --fb-skip is assumed. =item B<--prefix=II..> When nkf converts to Shift_JIS, nkf adds a specified escape character to specified 2nd byte of Shift_JIS characters. 1st byte of argument is the escape character and following bytes are target characters. =item B<--no-cp932ext> Handle the characters extended in CP932 as unassigned characters. =item B<--no-best-fit-chars> When Unicode to Encoded byte conversion, don't convert characters which is not round trip safe. When Unicode to Unicode conversion, with this and -x option, nkf can be used as UTF converter. (In other words, without this and -x option, nkf doesn't save some characters) When nkf converts strings that related to path, you should use this opion. =item B<--cap-input> Decode hex encoded characters. =item B<--url-input> Unescape percent escaped characters. =item B<--numchar-input> Decode character reference, such as "&#....;". =begin COMMAND =item B<--in-place[=>IB<]> B<--overwrite[=>IB<]> Overwrite B listed files by filtered result. B --overwrite preserves timestamps of original files. =item B<--guess=[12]> Print guessed encoding and newline. (2 is default, 1 is only encoding) =item B<--help> Print nkf's help. =item B<--version> Print nkf's version. =end COMMAND =item B<--> Ignore rest of -option. =back =head1 AUTHOR Copyright (c) 1987, Fujitsu LTD. (Itaru ICHIKAWA). Copyright (c) 1996-2018, The nkf Project. =begin FUNC =head1 SEE ALSO perl(1). nkf(1) =end FUNC =cut nkf-2.1.5/NKF.mod/NKF.xs000644 001751 001751 00000011767 13405143432 015200 0ustar00naruseusers000000 000000 /*********************************************************************** ** Copyright (C) 1996,1998 ** Copyright (C) 2002 ** 連絡先: 琉球大学情報工学科 河野 真治 mime/X0208 support ** (E-Mail Address: kono@ie.u-ryukyu.ac.jp) ** 連絡先: COW for DOS & Win16 & Win32 & OS/2 ** (E-Mail Address: GHG00637@niftyserve.or.p) ** ** このソースのいかなる複写,改変,修正も許諾します。ただし、 ** その際には、誰が貢献したを示すこの部分を残すこと。 ** 再配布や雑誌の付録などの問い合わせも必要ありません。 ** 営利利用も上記に反しない範囲で許可します。 ** バイナリの配布の際にはversion messageを保存することを条件とします。 ** このプログラムについては特に何の保証もしない、悪しからず。 ** ** Everyone is permitted to do anything on this program ** including copying, modifying, improving, ** as long as you don't try to pretend that you wrote it. ** i.e., the above copyright notice has to appear in all copies. ** Binar y distribution requires original version messages. ** You don't have to ask before copying, redistribution or publishing. ** THE AUTHOR DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE. ***********************************************************************/ #ifdef __cplusplus extern "C" { #endif #include "EXTERN.h" #include "perl.h" #include "XSUB.h" #ifdef __cplusplus } #endif /* Replace nkf's getchar/putchar for variable modification */ /* we never use getc, ungetc */ #undef getc #undef ungetc #define getc(f) (input_ctr>=i_len?-1:input[input_ctr++]) #define ungetc(c,f) input_ctr-- #define INCSIZE 32 #undef putchar #undef TRUE #undef FALSE #define putchar(c) nkf_putchar(c) /* Input/Output pointers */ static unsigned char *output; static unsigned char *input; static STRLEN input_ctr; static STRLEN i_len; static STRLEN output_ctr; static STRLEN o_len; static STRLEN incsize; static SV *result; /* put one char in the result string variable */ static int nkf_putchar_grow(unsigned int c) ; /* inline ... no use */ static int nkf_putchar(unsigned int c) { /* string length is enough? */ if(output_ctr 'NKF', 'VERSION_FROM' => 'NKF.pm', # finds $VERSION 'LIBS' => [''], # e.g., '-lm' 'DEFINE' => '', # e.g., '-DHAVE_SOMETHING' 'INC' => '', # e.g., '-I/usr/include/other' 'INC' => '', # e.g., '-I/usr/include/other' ); sub MM::postamble { ' NKF.c: ../nkf.c ../utf8tbl.c '; } nkf-2.1.5/NKF.mod/README000644 001751 001751 00000001502 13405143432 015050 0ustar00naruseusers000000 000000 v2.0 $B2OLn??<#(B kono@ie.u-ryukyu.ac.jp Sun Sep 8 09:22:41 JST 2002 $B$3$l$O!"(BPerl $B$+$i(B nkf $B$r;H$&3HD%%b%8%e!<%k$G$9!#(BPerl 5 $B0J>e$G(B $BF0:n$9$k$O$:$G$9!#$$$D$b$N$h$&$K!"(B perl Makefile.PL make make install $B$H$9$k$3$H$K$h$j;H$($k$h$&$K$J$j$^$9!#(B $B;H$$J}$O!"(B use NKF; $output = nkf(@flag,$input); $B$N$h$&$K;H$$$^$9!#(Bflag $B$O!"(Bnkf $B$HF1$8$G$9!#(B $BG[I[$N>r7o$O!"(Bnkf $B$HF1MM$H$7$^$9!#(B -- $B$*$^$1(B Perl module $B$N(B debug $B$NJ}K!(B make >& loglog $B$G(Blog$B$r$H$j!"(Bcc $B$K(B-g $B$rIU$12C$($F(Bcompile$B$7$^$9!#(B setenv PERL_DL_NONLAZY 1 $B$7$F$+$i!"(B gdb /usr/bin/perl $B$=$7$F!"(B run "-Iblib/lib" "-Iblib/arch" test.pl $B$H$7$^$9!#$3$l$O!"(Bmake test $B$7$F$_$k$H%*%W%7%g%s$,$o$+$j$^$9!#(B nkf-2.1.5/NKF.mod/MANIFEST000644 001751 001751 00000000063 13405143432 015322 0ustar00naruseusers000000 000000 Changes MANIFEST Makefile.PL NKF.pm NKF.xs test.pl nkf-2.1.5/man/make_doc.sh000755 001751 001751 00000001561 13405143432 015655 0ustar00naruseusers000000 000000 current=`pwd` self_dir=`echo $0 | sed -e's/\/[^\/]*$//'` if [ -d $self_dir ] then echo cd $self_dir cd $self_dir fi version=`perl -ne'if(/VERSION/o&&/(\d)\.(\d)(\d)/o){print"$1.$2.$3";exit}' < ../NKF.mod/NKF.pm` echo $version echo generate nkf.1.pm perl -ne'$m=/^=end|(=begin)( COMMAND)?/?($2?2:$1?1:0):(($m!=1&&print),$m);' ../NKF.mod/NKF.pm > nkf.1.pm echo generate nkf.1 pod2man --section=1 --release="nkf $version" --center=" " --name=nkf nkf.1.pm ../nkf.1 #pod2man --section=1 --release="nkf 2.x.x" --center=" " --name=nkf nkf.1.pm|nroff -man|more echo generate nkf.1j pod2man --section=1 --release="nkf $version" --center=" " --name=nkf -u nkf.1j.pm | nkf -jW > ../nkf.1j echo generate nkf.doc pod2text nkf.1j.pm > ../nkf.doc #pod2man --section=1 --release="nkf 2.x.x" --center=" " --name=nkf -u nkf.1j.pm|jgroff -mandoc -T nippon|more -r echo cd $current cd $current nkf-2.1.5/man/nkf.1.pm000644 001751 001751 00000021363 13405143432 015031 0ustar00naruseusers000000 000000 # Copyright (c) 1987, Fujitsu LTD. (Itaru ICHIKAWA). # Copyright (c) 1996-2018, The nkf Project. # All rights reserved. # # This software is provided 'as-is', without any express or implied # warranty. In no event will the authors be held liable for any damages # arising from the use of this software. # # Permission is granted to anyone to use this software for any purpose, # including commercial applications, and to alter it and redistribute it # freely, subject to the following restrictions: # # 1. The origin of this software must not be misrepresented; you must not # claim that you wrote the original software. If you use this software # in a product, an acknowledgment in the product documentation would be # appreciated but is not required. # # 2. Altered source versions must be plainly marked as such, and must not be # misrepresented as being the original software. # # 3. This notice may not be removed or altered from any source distribution. package NKF; use strict; use vars qw($VERSION @ISA @EXPORT @EXPORT_OK); require Exporter; require DynaLoader; @ISA = qw(Exporter DynaLoader); # Items to export into callers namespace by default. Note: do not export # names by default without a very good reason. Use EXPORT_OK instead. # Do not simply export all your public functions/methods/constants. @EXPORT = qw( nkf nkf_continue inputcode ); $VERSION = '2.15'; bootstrap NKF $VERSION; # Preloaded methods go here. # Autoload methods go after =cut, and are processed by the autosplit program. 1; __END__ # # =head1 NAME nkf - Network Kanji Filter =head1 SYNOPSIS nkf B<[-butjnesliohrTVvwWJESZxXFfmMBOcdILg]> B<[>IB<]> =head1 DESCRIPTION B is a yet another kanji code converter among networks, hosts and terminals. It converts input kanji code to designated kanji code such as ISO-2022-JP, Shift_JIS, EUC-JP, UTF-8, UTF-16 or UTF-32. One of the most unique faculty of B is the guess of the input kanji encodings. It currently recognizes ISO-2022-JP, Shift_JIS, EUC-JP, UTF-8, UTF-16 and UTF-32. So users needn't set the input kanji code explicitly. By default, X0201 kana is converted into X0208 kana. For X0201 kana, SO/SI, SSO and ESC-(-I methods are supported. For automatic code detection, nkf assumes no X0201 kana in Shift_JIS. To accept X0201 in Shift_JIS, use B<-X>, B<-x> or B<-S>. multiple options are specifed as seprate strings, such as print nkf('--ic=UTF8-MAC', '-w', $string), "\n"; except the last arguments. =head1 OPTIONS =over =item B<-J -S -E -W -W16 -W32 -j -s -e -w -w16 -w32> Specify input and output encodings. Upper case is input. cf. --ic and --oc. =over =item B<-J> ISO-2022-JP (JIS code). =item B<-S> Shift_JIS and JIS X 0201 kana. EUC-JP is recognized as X0201 kana. Without B<-x> flag, JIS X 0201 Katakana (a.k.a.halfwidth kana) is converted into JIS X 0208. If you use Windows, see Windows-31J (CP932). =item B<-E> EUC-JP. =item B<-W> UTF-8N. =item B<-W16[BL][0]> UTF-16. B or L gives whether Big Endian or Little Endian. 0 gives whther put BOM or not. =item B<-W32[BL][0]> UTF-32. B or L gives whether Big Endian or Little Endian. 0 gives whther put BOM or not. =back =item B<-b -u> Output is buffered (DEFAULT), Output is unbuffered. =item B<-t> No conversion. =item B<-i[@B]> Specify the escape sequence for JIS X 0208. =over =item B<-i@> Use ESC ( @. (JIS X 0208-1978) =item B<-iB> Use ESC ( B. (JIS X 0208-1983/1990 DEFAULT) =back =item B<-o[BJ]> Specify the escape sequence for US-ASCII/JIS X 0201 Roman. (DEFAULT B) =item B<-r> {de/en}crypt ROT13/47 =item B<-h[123] --hiragana --katakana --katakana-hiragana> =over =item B<-h1 --hiragana> Katakana to Hiragana conversion. =item B<-h2 --katakana> Hiragana to Katakana conversion. =item B<-h3 --katakana-hiragana> Katakana to Hiragana and Hiragana to Katakana conversion. =back =item B<-T> Text mode output (MS-DOS) =item B<-f[I [- I]]> Folding on I length with I margin in a line. Without this option, fold length is 60 and fold margin is 10. =item B<-F> New line preserving line folding. =item B<-Z[0-3]> Convert X0208 alphabet (Fullwidth Alphabets) to ASCII. =over =item B<-Z -Z0> Convert X0208 alphabet to ASCII. =item B<-Z1> Convert X0208 kankaku to single ASCII space. =item B<-Z2> Convert X0208 kankaku to double ASCII spaces. =item B<-Z3> Replacing fullwidth >, <, ", & into '>', '<', '"', '&' as in HTML. =back =item B<-X -x> With B<-X> or without this option, X0201 is converted into X0208 Kana. With B<-x>, try to preserve X0208 kana and do not convert X0201 kana to X0208. In JIS output, ESC-(-I is used. In EUC output, SS2 is used. =item B<-B[0-2]> Assume broken JIS-Kanji input, which lost ESC. Useful when your site is using old B-News Nihongo patch. =over =item B<-B1> allows any chars after ESC-( or ESC-$. =item B<-B2> force ASCII after NL. =back =item B<-I> Replacing non iso-2022-jp char into a geta character (substitute character in Japanese). =item B<-m[BQN0]> MIME ISO-2022-JP/ISO8859-1 decode. (DEFAULT) To see ISO8859-1 (Latin-1) -l is necessary. =over =item B<-mB> Decode MIME base64 encoded stream. Remove header or other part before conversion. =item B<-mQ> Decode MIME quoted stream. '_' in quoted stream is converted to space. =item B<-mN> Non-strict decoding. It allows line break in the middle of the base64 encoding. =item B<-m0> No MIME decode. =back =item B<-M> MIME encode. Header style. All ASCII code and control characters are intact. =over =item B<-MB> MIME encode Base64 stream. Kanji conversion is performed before encoding, so this cannot be used as a picture encoder. =item B<-MQ> Perform quoted encoding. =back =item B<-l> Input and output code is ISO8859-1 (Latin-1) and ISO-2022-JP. B<-s>, B<-e> and B<-x> are not compatible with this option. =item B<-L[uwm] -d -c> Convert line breaks. =over =item B<-Lu -d> unix (LF) =item B<-Lw -c> windows (CRLF) =item B<-Lm> mac (CR) Without this option, nkf doesn't convert line breaks. =back =item B<--fj --unix --mac --msdos --windows> Convert for these systems. =item B<--jis --euc --sjis --mime --base64> Convert to named code. =item B<--jis-input --euc-input --sjis-input --mime-input --base64-input> Assume input system =item B<--ic=I --oc=I> Set the input or output codeset. NKF supports following codesets and those codeset names are case insensitive. =over =item ISO-2022-JP a.k.a. RFC1468, 7bit JIS, JUNET =item EUC-JP (eucJP-nkf) a.k.a. AT&T JIS, Japanese EUC, UJIS =item eucJP-ascii =item eucJP-ms =item CP51932 Microsoft Version of EUC-JP. =item Shift_JIS a.k.a. SJIS, MS_Kanji =item Windows-31J a.k.a. CP932 =item UTF-8 same as UTF-8N =item UTF-8N UTF-8 without BOM =item UTF-8-BOM UTF-8 with BOM =item UTF8-MAC (input only) decomposed UTF-8 =item UTF-16 same as UTF-16BE =item UTF-16BE UTF-16 Big Endian without BOM =item UTF-16BE-BOM UTF-16 Big Endian with BOM =item UTF-16LE UTF-16 Little Endian without BOM =item UTF-16LE-BOM UTF-16 Little Endian with BOM =item UTF-32 same as UTF-32BE =item UTF-32BE UTF-32 Big Endian without BOM =item UTF-32BE-BOM UTF-32 Big Endian with BOM =item UTF-32LE UTF-32 Little Endian without BOM =item UTF-32LE-BOM UTF-32 Little Endian with BOM =back =item B<--fb-{skip, html, xml, perl, java, subchar}> Specify the way that nkf handles unassigned characters. Without this option, --fb-skip is assumed. =item B<--prefix=II..> When nkf converts to Shift_JIS, nkf adds a specified escape character to specified 2nd byte of Shift_JIS characters. 1st byte of argument is the escape character and following bytes are target characters. =item B<--no-cp932ext> Handle the characters extended in CP932 as unassigned characters. =item B<--no-best-fit-chars> When Unicode to Encoded byte conversion, don't convert characters which is not round trip safe. When Unicode to Unicode conversion, with this and -x option, nkf can be used as UTF converter. (In other words, without this and -x option, nkf doesn't save some characters) When nkf converts strings that related to path, you should use this opion. =item B<--cap-input> Decode hex encoded characters. =item B<--url-input> Unescape percent escaped characters. =item B<--numchar-input> Decode character reference, such as "&#....;". =item B<--in-place[=>IB<]> B<--overwrite[=>IB<]> Overwrite B listed files by filtered result. B --overwrite preserves timestamps of original files. =item B<--guess=[12]> Print guessed encoding and newline. (2 is default, 1 is only encoding) =item B<--help> Print nkf's help. =item B<--version> Print nkf's version. =item B<--> Ignore rest of -option. =back =head1 AUTHOR Copyright (c) 1987, Fujitsu LTD. (Itaru ICHIKAWA). Copyright (c) 1996-2018, The nkf Project. =cut nkf-2.1.5/man/nkf.1j.pm000755 001751 001751 00000030613 13405143432 015204 0ustar00naruseusers000000 000000 =encoding euc-jp =head1 NAME nkf - ネットワーク用漢字コード変換フィルタ =head1 SYNOPSIS nkf B<[-butjnesliohrTVvwWJESZxXFfmMBOcdILg]> B<[>IB<]> =head1 DESCRIPTION B はネットワークでメールやニュースの読み書きをするために作られた、漢字コードの変換フィルタである。 このBの特徴としては、入力漢字コード系の統計的な自動認識機能がある。 このため、利用者は、入力漢字コード系が何であるかを知らなくても、出力漢字コード系のみ指定すれば良いことになる。 ただ、この判定機構は、理論的には完全ではないが、通常のニュースやメールのメッセージについては確実に動作する安全なものにはなっている。 現在、Bが認識できる入力の漢字コード系は、いわゆる JIS コード (ISO-2022-JP に基づくもの)、Shift_JIS (MS 漢字コード)、 日本語 EUC (AT&T コード)、UTF-8、UTF-16 のいずれかである。 出力する漢字コード系も、これらである。 入力は、ファイルを指定しなければ、標準入力となる。 出力は標準出力である。 =head1 OPTIONS 指定できるオプションは、以下の通り。 B<-mu> のように続けることができる。 =over =item B<-j> JIS コードを出力する。 =item B<-e> EUC コードを出力する。 =item B<-s> Shift_JIS コードを出力する。 =item B<-w -w8[0] -w16[BL][0]> Unicode を出力する。 =over =item B<-w -w80> UTF8 コードを出力する。 (BOM 無し) =item B<-w8> UTF8 コードを出力する。 =item B<-w16 -w16B0> UTF16 コードを出力する。 (Big Endian / BOM 無し) =item B<-w16B> UTF16 コードを出力する。 (Big Endian / BOM 有り) =item B<-w16L> UTF16 コードを出力する。 (Little Endian / BOM 有り) =item B<-w16L0> UTF16 コードを出力する。 (Little Endian / BOM 無し) =back =item B<-m[BQSN0]> MIME を解読する。(デフォルト) ISO-2022-JP (B encode) と ISO-8859-1 (Q encode) のみを解読する。 ISO-8859-1 (Latin-1) を解読する時は、B<-l> フラグも必要である。 B<-m0> では MIME を解読しない。 B<-mB>, B<-mQ> では、BASE64, Q encode されているものとして処理する。 =over =item B<-mB> MIME base64 stream を解読する。 ヘッダなどは取り除くこと。 =item B<-mQ> MIME quoted stream を解読する。 =item B<-mS> MIME のチェックを厳しくする (デフォルト) =item B<-mN> MIME のチェックを緩くする =item B<-m0> MIME を解読しない。 =back B<-mS> は、宣言の内容と、その後に続く encoded-text の整合性をチェックする。 B<-mN> は、改行で切られた MIME なども解読する。解読が止まらないこともある。 =item B<-M[BQ]> MIME に変換する。 =over =item B<-M> ヘッダ形式に変換する =item B<-MB> base64 stream に変換する =item B<-MQ> Quoted stream に変換する =back =item B<-J -E -S -W> 期待される入力コードの性質を指定する。 =over =item B<-J> ISO-2022-JP を仮定する。 =item B<-E> 日本語 EUC (AT&T) を仮定する。 =item B<-S> Shift_JIS を仮定する。 いわゆる半角カナ (JIS X 0201 片仮名) も受け入れる。 =item B<-W> UTF-8 を仮定する。 =item B<-W8> UTF-8 を仮定する。 =item B<-W16> UTF-16 (Little Endian)を仮定する。 =item B<-W16B> UTF-16 (Big Endian)を仮定する。 =item B<-W16L> UTF-16 (Little Endian)を仮定する。 =back =item B<-x> 通常おこなわれる、いわゆる半角カナ (JIS X 0201 片仮名) からいわゆる全角カナ (JIS X 0208 片仮名) への変換を行わず、半角カナを保存する。 入力は、Shift_JIS の 1byte カナ、SO/SI、ESC-(-I, SSO を受け付ける。 出力は、日本語 EUC 中では SSO、JIS コード中では ESC-(-I をデフォルトで用いる。 =item B<-X> いわゆる半角カナ (JIS X 0201 片仮名) を いわゆる全角カナ (JIS X 0208 片仮名) へと変換する。 =item B<-B> 壊れた (Broken) JIS コード。 ESC がなくなったと仮定する。 =over =item B<-B1> B, B のあとのコードを問わない =item B<-B2> 改行のあとに強制的に ASCII に戻す =back =item B<-f>[I[-I]] 一行 I 文字になるように、マージンを I として簡単な整形をおこなう。 デフォルトは文字数は 60、マージンは 10 である。 =item B<-Z[0-3]> JIS X 0208 英数字と若干の記号を ASCII に変換する。 つまり、全角を半角に変換する。 =over =item B<-Z -Z0> Convert X0208 alphabet to ASCII. =item B<-Z1> JIS X 0208 和字間隔を ASCII space 一つに変換する。 =item B<-Z2> JIS X 0208 和字間隔を ASCII space 二つに変換する。 =item B<-Z3> >、<、”、&、を >、<、"、& に変換する。 =back =item B<-b> バッファリング出力を行う。(デフォルト) =item B<-u> 出力時に、バッファリングしない。 ssh localhost | nkf -u というように使う。 =item B<-t> 何もしない。 =item B<-I> ISO-2022-JP 以外の漢字コードを〓に変換。 =item B<-i[@B]> JIS 漢字を指示するシーケンスを指定する。 =over =item B<-i@> JIS X 0208-1978 を用いる。 =item B<-iB> JIS X 0208-1983/1990 を用いる。 =back =item B<-o[BJH]> 1 バイト英数文字セットを指示するシーケンスを指定する。 =over =item B<-oB> 1 バイト英数文字セットとして US-ASCII を用いる。 =item B<-oJ> 1 バイト英数文字セットとして JIS X 0201 Roman を用いる。 =item B<-oH> ESC ( H は初期の JUNET コードでのみ用いられたもので、現在は使ってはならない。 =back =item B<-r> ROT13/47 の変換をする。 =item B<-g> 自動判別の結果を出力します。 =item B<-T> テキストモードで出力する。(MS-DOS 上でのみ効力を持つ) =item B<-l> 0x80-0xfe のコードを ISO-8859-1 (Latin-1) として扱う。 JIS コードアウトプットとの組合せみのみ有効。 B<-s, -e, -x> とは両立しない。 =item B<-O> ファイルに出力する。 UNIX では不要な機能だが Windows や MSDOS では必要らしい。 直後の引き数でなく、最後のファイル名が出力ファイル名となり上書きされてしまうので注意。 ファイル名がない場合は nkf.out。 =item B<-L[uwm] -d -c> 改行コードを変換する。 =over =item B<-Lu -d> unix (LF) =item B<-Lw -c> windows (CRLF) =item B<-Lm> mac (CR) =back デフォルトでは変換しない。 =item B<--ic= --oc=> 入力・出力の漢字コード系を指定します。 =over =item B いわゆる JIS コード。B<-j, -J> と同じ。 =item B RFC 2237 に定められた形式。 JIS X 0212 を含む。 =item B RFC 2237 に定められた形式。 JIS X 0213 を含む。 =item B EUC コード。B<-e, -E> と同じ。 =item B 文字集合に JIS X 0213:2000 を用いた EUC-JP。 =item B 文字集合に JIS X 0213:2004 を用いた EUC-JP。 =item B オープングループ日本ベンダ協議会が定義した eucJP-ascii。 B<-x> が暗黙のうちに指定される。 =item B オープングループ日本ベンダ協議会が定義した euc-JPms。 B<-x> が暗黙のうちに指定される。 =item B Micorosft Code Page 51932。 B<-x> が暗黙のうちに指定される。 =item B Shift_JIS。 B<-s, -S> と同じ。 =item B 文字集合に JIS X 0213:2000 を用いた Shift_JIS。 =item B 文字集合に JIS X 0213:2004 を用いた Shift_JIS。 =item B Micorosft Code Page 932。 B<-x> が暗黙のうちに指定される。 =item B BOM 無しの UTF-8。 B<-w, -W> と同じ。 =item B BOM 付きの UTF-8。B<-w8> または B<-W> と同じ。 =item B UTF8-MAC。互換分解されたひらがな・カタカナ等を結合します。 入力のみの対応です。 =item B BOM 有りで Big Endian の UTF-16。 B<-w16B, -W16B> と同じ。 =item B BOM 無しで Big Endian の UTF-16。 B<-w16B0. -W16B> と同じ。 =item B BOM 有りで Little Endian の UTF-16。 B<-w16L, -W16L> と同じ。 =item B BOM 無しで Little Endian の UTF-16。 B<-w16L0, -W16L> と同じ。 =back =item B<--fj --unix --mac --msdos --windows> これらのシステムに適した変換をします。 =item B<--jis --euc --sjis --mime --base64> 対応する変換をします。 =item B<--hiragana --katakana> 平仮名、片仮名変換 =item B<--fb-{skip, html, xml, perl, java, subchar}> Unicode から Shift_JIS, EUC-JP, ISO-2022-JP に変換する際に、変換できなかった文字をどう扱うかを指定できます。 =item B<--prefix=II..> EUC-JP から Shift_JIS への変換の際、2 バイト目 に現れた文字の前にエスケープ文字をつけることができます。 引数の 1 文字目がエスケープ文字、2 文字目以降にエスケープされるべき文字を指定します。 例えば、 --prefix=\$@ とすると、Shift_JIS の 2 文字目に $ か @ が来たら、その前に \ が挿入されます --prefix=@@ とすると、Shift_JIS の 2 文字目に @ が来たら、その前に @ が挿入されます =item B<--no-cp932ext> CP932 において拡張された、NEC 特殊文字、NEC 選定 IBM 拡張文字 (89-92 区)、IBM 拡張文字を変換しません。 =item B<--no-best-fit-chars> Unicode からの変換の際に、往復安全性が確保されない文字の変換を行いません。 Unicode から Unicode の変換の際に -x と共に指定すると、nkf を UTF 形式の変換に用いることができます。 (逆に言えば、これを指定しないと一部の文字が保存されません) パスに関わる文字列を変換する際には、このオプションを指定することを強く推奨します。 =item B<--cap-input, --url-input> それぞれ :、% に続く 16 進数を文字に変換する =item B<--numchar-input> &#....; のような Unicode 文字参照を変換する =item B<--in-place[=I] --overwrite[=I]> 元のファイルを変換結果で置き換える。 複数のファイルを書き換えることも可能。 元のファイルのタイムスタンプとパーミッションが保持される。 現在、作成日時や inode は変更されるが、将来にわたってこの実装のままである保証は無い。 =item B<--guess> 自動判別の結果を出力する =item B<--help> コマンドの簡単な説明を表示する。 =item B<-V> nkf の設定を表示する。 =item B<-v> B<--version> nkf のバージョンを表示する。 =item B<--> これ以降のオプションを無視する =item B<--exec-in> nkf [options] --exec-in cmd args... とやると、cmd の出力を nkf の入力とする (config.h で EXEC_IO を define してコンパイルした時のみ有効) =item B<--exec-out> nkf [options] --exec-out cmd args... とやると、nkf の出力を cmd の入力とする (config.h で EXEC_IO を define してコンパイルした時のみ有効) =back =head1 BUGS 実は、入力のコード系の判定は、Shift_JIS と EUC との自動判定であり、最初に特定できる文字が来た時点で確定してしまう。 そして、特定不能の間は保留バッファにためておかれ、確定後に処理される。 このため、7 ビット JIS は常に認識される。 Shift_JIS、EUC 混合もほとんどの場合は問題がない。 ただし、Shift_JIS のいわゆる半角カナ (JIS X 0201 片仮名) と EUC 漢字が識別できない。 したがって、デフォルトでは Shift_JIS のいわゆる半角カナはないと仮定している。 (つまり、Shift_JIS か EUC か迷った時は EUC とみなす) Unicode の日本語以外の部分の変換には対応していないが、B<--no-best-fit-chars> を指定すれば、UTF-8 と UTF-16 の相互変換をすることは可能である。 =head1 ACKNOWLEDGE 以下のかたがた、どうもありがとうございました。 =head2 nkf 1.4 morb@fujitsu, kiss@ayumi.stars.flab.fujitsu, cen122@flab.fujitsu, yuki@flab.fujitsu 他、fujitsu & flab.fujitsu の皆さんの協力に感謝。 shinoda@cs.titech, kato@cs.titech, uematsu@cs.titech TNX kono@ie.u-ryukyu.ac.jp void@merope.pleiades.or.jp (Kusakabe Youichi) NIDE Naoyuki ohta@src.ricoh.co.jp (Junn Ohta) inouet@strl.nhk.or.jp (Tomoyuki Inoue) kiri@pulser.win.or.jp (Tetsuaki Kiriyama) Kimihiko Sato a_kuroe@kuroe.aoba.yokohama.jp (Akihiko Kuroe) kono@ie.u-ryukyu.ac.jp (Shinji Kono) GHG00637@nifty-serve.or.jp (COW) =head2 nkf 1.9- =over =item 河野真治 =item Akio Furukawa =item Andy Taki =item From: OHARA Shigeki =item Fumitaka Kitagawa =item Hiroaki Sengoku =item Ikuhiro MORITA (森田 育宏) =item Yoshiharu ITO =item Junn Ohta =item KAWAMURA Masao =item Kazuhiko Mori =item Keitaro Isokawa =item Ken-ichi Hirose =item Ki-ichiro SATO =item Kiwamu Aoyama =item Koichi Hirayama =item Mitsuru Hase (長谷 満) =item OHARA Shigeki (大原 重樹) =item Rei FURUKAWA =item Satoru Takabayashi =item Shigeyuki Takagi =item Shin MICHIMUKO =item Tadamasa Teranishi =item TOYODA Jiro =item TSUCHIYA Masatoshi =item Tsutomu Sakai =item YAMASHITA Junji (山下 純司) =item Yasuyuki Sato =item Yoshiaki Yanagihara =item hat@so-net =item DCC技術部渡辺 =item かとぺ / 加藤 貴司 =item かべdais =item ひろせ まさあき =item イントラネットシステム(株)松尾 =item 鵜飼文敏 =item 塩崎 毅彦(SHIOZAKI Takehiko) =item 河村雅夫 (Media Lab.) =item 河野 康司 =item 喜瀬“冬猫”浩@南国沖縄 =item 金井 智彦 =item 桂田 祐史 (かつらだ まさし) =item 高橋宜盟 =item 国吉 =item 黒江明彦 =item 三宅正泰 =item 山倉 真 =item 山本 芳人 =item 山野裕司 (やまのゆうじ) =item 重村法克 =item 小島基靖 =item 上田 健 =item 新井 康司 (Koji Arai) =item 森 千絵子 =item 森 和彦 =item 水野 貴文 =item 前地和俊 =item 仲宗根@並列信頼研 =item 猪谷 英一郎 == Eiichiro Itani =item 藤原 秀行 =item 八田 真行 (Masayuki Hatta) =item 尾川敏也 =item 望月 孝志 =item 木村 (@筑波大学数学研究科) =item 野村俊彰 =item 有岡@ミノルタ =item 有沢 明宏 =item 落合一喜 =item 林 亮 =item 國安 治 =item 木下 雄介 =item 田中隆裕 =item 鶴谷直樹 =item 中田伸悦 =item わたなべひろふみ =item MoonWolf =item sava =back =head1 AUTHOR =over =item 市川 至 ichikawa@flab.fujitsu.co.jp (was ichikawa@fujitsu.JUNET) =item 河野 真治 kono@ie.u-ryukyu.acjp =item Rei FURUKAWA furukawa@tcp-ip.or.jp =item 成瀬 =item mastodon =back https://osdn.jp/projects/nkf/ Copyright (C) 1987, FUJITSU LTD. (I.Ichikawa). Copyright (C) 1996-2018, The nkf Project. =cut