15d9d0b528387242011cdcc6190c9e598cfe3a07yy * CDDL HEADER START
15d9d0b528387242011cdcc6190c9e598cfe3a07yy * The contents of this file are subject to the terms of the
15d9d0b528387242011cdcc6190c9e598cfe3a07yy * Common Development and Distribution License (the "License").
15d9d0b528387242011cdcc6190c9e598cfe3a07yy * You may not use this file except in compliance with the License.
15d9d0b528387242011cdcc6190c9e598cfe3a07yy * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE
15d9d0b528387242011cdcc6190c9e598cfe3a07yy * See the License for the specific language governing permissions
15d9d0b528387242011cdcc6190c9e598cfe3a07yy * and limitations under the License.
15d9d0b528387242011cdcc6190c9e598cfe3a07yy * When distributing Covered Code, include this CDDL HEADER in each
15d9d0b528387242011cdcc6190c9e598cfe3a07yy * file and include the License file at usr/src/OPENSOLARIS.LICENSE.
15d9d0b528387242011cdcc6190c9e598cfe3a07yy * If applicable, add the following below this CDDL HEADER, with the
15d9d0b528387242011cdcc6190c9e598cfe3a07yy * fields enclosed by brackets "[]" replaced with your own identifying
15d9d0b528387242011cdcc6190c9e598cfe3a07yy * information: Portions Copyright [yyyy] [name of copyright owner]
15d9d0b528387242011cdcc6190c9e598cfe3a07yy * CDDL HEADER END
15d9d0b528387242011cdcc6190c9e598cfe3a07yy * Copyright 2008 Sun Microsystems, Inc. All rights reserved.
15d9d0b528387242011cdcc6190c9e598cfe3a07yy * Use is subject to license terms.
15d9d0b528387242011cdcc6190c9e598cfe3a07yy#pragma ident "%Z%%M% %I% %E% SMI"
15d9d0b528387242011cdcc6190c9e598cfe3a07yyextern "C" {
15d9d0b528387242011cdcc6190c9e598cfe3a07yy * kiconv_ja specific definition
15d9d0b528387242011cdcc6190c9e598cfe3a07yy#define KICONV_JA_DEF_SINGLE KICONV_ASCII_REPLACEMENT_CHAR
15d9d0b528387242011cdcc6190c9e598cfe3a07yy#define KICONV_JA_IFHISUR(x) ((0xd800 <= (x)) && ((x) <= 0xdbff))
15d9d0b528387242011cdcc6190c9e598cfe3a07yy#define KICONV_JA_IFLOSUR(x) ((0xdc00 <= (x)) && ((x) <= 0xdfff))
15d9d0b528387242011cdcc6190c9e598cfe3a07yy if (ileft == 0) {\
15d9d0b528387242011cdcc6190c9e598cfe3a07yy (c) = *ip++;\
15d9d0b528387242011cdcc6190c9e598cfe3a07yy if (ileft == 0) {\
15d9d0b528387242011cdcc6190c9e598cfe3a07yy (c) = *ip++;\
15d9d0b528387242011cdcc6190c9e598cfe3a07yy if (ileft == 0) {\
15d9d0b528387242011cdcc6190c9e598cfe3a07yy (c) = *ip++;\
15d9d0b528387242011cdcc6190c9e598cfe3a07yy if (oleft == 0) {\
15d9d0b528387242011cdcc6190c9e598cfe3a07yy read_len = read_unicode((pu32), &ip, &ileft, errno, (flag), &rv); \
15d9d0b528387242011cdcc6190c9e598cfe3a07yy switch (read_len) { \
15d9d0b528387242011cdcc6190c9e598cfe3a07yy /* errno has been set in read_unicode() */ \
15d9d0b528387242011cdcc6190c9e598cfe3a07yy case (size_t)0: \
15d9d0b528387242011cdcc6190c9e598cfe3a07yy /* character read was handled in the read_unicode() */ \
15d9d0b528387242011cdcc6190c9e598cfe3a07yy /* no further evaluation needed in caller side */ \
15d9d0b528387242011cdcc6190c9e598cfe3a07yy default: \
15d9d0b528387242011cdcc6190c9e598cfe3a07yy if (((kiconv_state_t)kcd)->bom_processed == 0 && (inleft) >= 3 && \
15d9d0b528387242011cdcc6190c9e598cfe3a07yy#define KICONV_JA_CHECK_UTF8_BOM_WITHOUT_STATE(inbuf, inleft) \
15d9d0b528387242011cdcc6190c9e598cfe3a07yy#define KICONV_JA_ERR_RETURN (-1) /* result code on error */
15d9d0b528387242011cdcc6190c9e598cfe3a07yy * KICONV_JA_ISXXXX(c) macros below assume (c) is of type ushort_t
15d9d0b528387242011cdcc6190c9e598cfe3a07yy/* is a valid code as ascii? */
15d9d0b528387242011cdcc6190c9e598cfe3a07yy/* is a valid code as C1 control? */
15d9d0b528387242011cdcc6190c9e598cfe3a07yy#define KICONV_JA_ISC1CTRL(c) (((c) >= 0x80) && ((c) <= 0x9f))
15d9d0b528387242011cdcc6190c9e598cfe3a07yy/* is a valid code as C1 control allowed in EUC? */
15d9d0b528387242011cdcc6190c9e598cfe3a07yy#define KICONV_JA_ISC1CTRLEUC(c) ((((c) >= 0x80) && ((c) <= 0x8d)) ||\
15d9d0b528387242011cdcc6190c9e598cfe3a07yy/* is a valid 1st or 2nd byte of EUC codeset 1? */
15d9d0b528387242011cdcc6190c9e598cfe3a07yy#define KICONV_JA_ISCS1(c) (((c) >= 0xa1) && ((c) <= 0xfe))
15d9d0b528387242011cdcc6190c9e598cfe3a07yy/* is a valid 1st byte of EUC codeset 1 and in range row 1 thru 84? */
15d9d0b528387242011cdcc6190c9e598cfe3a07yy#define KICONV_JA_ISCS1_0208(c) (((c) >= 0xa1) && ((c) <= 0xf4))
15d9d0b528387242011cdcc6190c9e598cfe3a07yy/* is a valid 1st byte of UDC area in EUC codeset 1? */
15d9d0b528387242011cdcc6190c9e598cfe3a07yy#define KICONV_JA_ISCS1_UDC(c) (((c) >= 0xf5) && ((c) <= 0xfe))
15d9d0b528387242011cdcc6190c9e598cfe3a07yy/* is a valid 2nd (1st byte is SS2) byte of EUC codeset 2? */
15d9d0b528387242011cdcc6190c9e598cfe3a07yy#define KICONV_JA_ISCS2(c) (((c) >= 0xa1) && ((c) <= 0xdf))
15d9d0b528387242011cdcc6190c9e598cfe3a07yy/* is a valid 2nd or 3rd (1st byte is SS3) byte of EUC codeset 3? */
15d9d0b528387242011cdcc6190c9e598cfe3a07yy#define KICONV_JA_ISCS3(c) (((c) >= 0xa1) && ((c) <= 0xfe))
15d9d0b528387242011cdcc6190c9e598cfe3a07yy/* is a valid 2nd (1st byte is SS3) byte of UDC area in EUC codeset 3? */
15d9d0b528387242011cdcc6190c9e598cfe3a07yy#define KICONV_JA_ISCS3_UDC(c) (((c) >= 0xf5) && ((c) <= 0xfe))
15d9d0b528387242011cdcc6190c9e598cfe3a07yy/* is a valid hankaku_katakana for SJIS? */
15d9d0b528387242011cdcc6190c9e598cfe3a07yy#define KICONV_JA_ISSJKANA(c) (((c) >= 0xa1) && ((c) <= 0xdf))
15d9d0b528387242011cdcc6190c9e598cfe3a07yy/* is a valid character for the first byte of SJIS multibyte? */
15d9d0b528387242011cdcc6190c9e598cfe3a07yy/* is a valid character for the first byte of SJIS kanji? */
15d9d0b528387242011cdcc6190c9e598cfe3a07yy/* is a valid character for the first byte of a part of Suppl. SJIS? */
15d9d0b528387242011cdcc6190c9e598cfe3a07yy#define KICONV_JA_ISSJSUPKANJI1(c) (((c) >= 0xf5) && ((c) <= 0xf9))
15d9d0b528387242011cdcc6190c9e598cfe3a07yy/* is a valid character for the first byte of SJIS UDC? */
15d9d0b528387242011cdcc6190c9e598cfe3a07yy#define KICONV_JA_ISSJUDC_1(c) (((c) >= 0xf0) && ((c) <= 0xf9))
15d9d0b528387242011cdcc6190c9e598cfe3a07yy/* is a valid character for the first byte of ibm character set */
15d9d0b528387242011cdcc6190c9e598cfe3a07yy#define KICONV_JA_ISSJIBM(c) (((c) >= 0xfa) && ((c) <= 0xfc))
15d9d0b528387242011cdcc6190c9e598cfe3a07yy/* is a valid character for the first byte of ibm character set */
15d9d0b528387242011cdcc6190c9e598cfe3a07yy#define KICONV_JA_ISSJNECIBM(c) (((c) >= 0xed) && ((c) <= 0xef))
15d9d0b528387242011cdcc6190c9e598cfe3a07yy/* is a valid character for the second byte of SJIS kanji? */
15d9d0b528387242011cdcc6190c9e598cfe3a07yy/* is a valid character for UTF8 UDC ? */
15d9d0b528387242011cdcc6190c9e598cfe3a07yy#define KICONV_JA_ISUTF8UDC(c) (((c) >= 0xe000) && ((c) <= 0xf8ff))
15d9d0b528387242011cdcc6190c9e598cfe3a07yy * Remap NEC/IBM codes to IBM codes
15d9d0b528387242011cdcc6190c9e598cfe3a07yy * if dest == 0xffff, that means the source
15d9d0b528387242011cdcc6190c9e598cfe3a07yy * code point is illegal in the current spec.
15d9d0b528387242011cdcc6190c9e598cfe3a07yy } else { \
15d9d0b528387242011cdcc6190c9e598cfe3a07yy * The following 6 vectors show JIS and SJIS mapping table.
15d9d0b528387242011cdcc6190c9e598cfe3a07yy 0xf3f3, 0xf3f4, 0xf3f5, 0xf3f6, 0xf3f7, 0xf3f8, 0xf3f9, 0xf3fa,
15d9d0b528387242011cdcc6190c9e598cfe3a07yy 0xf3fb, 0xf3fc, 0xf3fd, 0xf3fe, 0xf4a1, 0xf4a2, 0xf4a3, 0xf4a4,
15d9d0b528387242011cdcc6190c9e598cfe3a07yy 0xf4a5, 0xf4a6, 0xf4a7, 0xf4a8, 0xffff, 0xa2c3, 0xf4a9, 0xf4aa,
15d9d0b528387242011cdcc6190c9e598cfe3a07yy 0xf4ab, 0xf4ac, 0xf4ad, 0xffff, 0xd4e3, 0xdcdf, 0xe4e9, 0xe3f8,
15d9d0b528387242011cdcc6190c9e598cfe3a07yy 0xd9a1, 0xb1bb, 0xf4ae, 0xc2ad, 0xc3fc, 0xe4d0, 0xc2bf, 0xbcf4,
15d9d0b528387242011cdcc6190c9e598cfe3a07yy 0xb0a9, 0xb0c8, 0xf4af, 0xb0d2, 0xb0d4, 0xb0e3, 0xb0ee, 0xb1a7,
15d9d0b528387242011cdcc6190c9e598cfe3a07yy 0xb1a3, 0xb1ac, 0xb1a9, 0xb1be, 0xb1df, 0xb1d8, 0xb1c8, 0xb1d7,
15d9d0b528387242011cdcc6190c9e598cfe3a07yy 0xb1e3, 0xb1f4, 0xb1e1, 0xb2a3, 0xf4b0, 0xb2bb, 0xb2e6, 0xffff,
15d9d0b528387242011cdcc6190c9e598cfe3a07yy 0xb2ed, 0xb2f5, 0xb2fc, 0xf4b1, 0xb3b5, 0xb3d8, 0xb3db, 0xb3e5,
15d9d0b528387242011cdcc6190c9e598cfe3a07yy 0xb3ee, 0xb3fb, 0xf4b2, 0xf4b3, 0xb4c0, 0xb4c7, 0xb4d0, 0xb4de,
15d9d0b528387242011cdcc6190c9e598cfe3a07yy 0xf4b4, 0xb5aa, 0xf4b5, 0xb5af, 0xb5c4, 0xb5e8, 0xf4b6, 0xb7c2,
15d9d0b528387242011cdcc6190c9e598cfe3a07yy 0xb7e4, 0xb7e8, 0xb7e7, 0xf4b7, 0xf4b8, 0xf4b9, 0xb8ce, 0xb8e1,
15d9d0b528387242011cdcc6190c9e598cfe3a07yy 0xb8f5, 0xb8f7, 0xb8f8, 0xb8fc, 0xb9af, 0xb9b7, 0xbabe, 0xbadb,
15d9d0b528387242011cdcc6190c9e598cfe3a07yy 0xcdaa, 0xbae1, 0xf4ba, 0xbaeb, 0xbbb3, 0xbbb8, 0xf4bb, 0xbbca,
15d9d0b528387242011cdcc6190c9e598cfe3a07yy 0xf4bc, 0xf4bd, 0xbbd0, 0xbbde, 0xbbf4, 0xbbf5, 0xbbf9, 0xbce4,
15d9d0b528387242011cdcc6190c9e598cfe3a07yy 0xbced, 0xbcfe, 0xf4be, 0xbdc2, 0xbde7, 0xf4bf, 0xbdf0, 0xbeb0,
15d9d0b528387242011cdcc6190c9e598cfe3a07yy 0xbeac, 0xf4c0, 0xbeb3, 0xbebd, 0xbecd, 0xbec9, 0xbee4, 0xbfa8,
15d9d0b528387242011cdcc6190c9e598cfe3a07yy 0xbfc9, 0xc0c4, 0xc0e4, 0xc0f4, 0xc1a6, 0xf4c1, 0xc1f5, 0xc1fc,
15d9d0b528387242011cdcc6190c9e598cfe3a07yy 0xf4c2, 0xc1f8, 0xc2ab, 0xc2a1, 0xc2a5, 0xf4c3, 0xc2b8, 0xc2ba,
15d9d0b528387242011cdcc6190c9e598cfe3a07yy 0xf4c4, 0xc2c4, 0xc2d2, 0xc2d7, 0xc2db, 0xc2de, 0xc2ed, 0xc2f0,
15d9d0b528387242011cdcc6190c9e598cfe3a07yy 0xf4c5, 0xc3a1, 0xc3b5, 0xc3c9, 0xc3b9, 0xf4c6, 0xc3d8, 0xc3fe,
15d9d0b528387242011cdcc6190c9e598cfe3a07yy 0xf4c7, 0xc4cc, 0xf4c8, 0xc4d9, 0xc4ea, 0xc4fd, 0xf4c9, 0xc5a7,
15d9d0b528387242011cdcc6190c9e598cfe3a07yy 0xc5b5, 0xc5b6, 0xf4ca, 0xc5d5, 0xc6b8, 0xc6d7, 0xc6e0, 0xc6ea,
15d9d0b528387242011cdcc6190c9e598cfe3a07yy 0xc6e3, 0xc7a1, 0xc7ab, 0xc7c7, 0xc7c3, 0xffff, 0xffff, 0xffff,
15d9d0b528387242011cdcc6190c9e598cfe3a07yy 0xc7cb, 0xc7cf, 0xc7d9, 0xf4cb, 0xf4cc, 0xc7e6, 0xc7ee, 0xc7fc,
15d9d0b528387242011cdcc6190c9e598cfe3a07yy 0xc7eb, 0xc7f0, 0xc8b1, 0xc8e5, 0xc8f8, 0xc9a6, 0xc9ab, 0xc9ad,
15d9d0b528387242011cdcc6190c9e598cfe3a07yy 0xf4cd, 0xc9ca, 0xc9d3, 0xc9e9, 0xc9e3, 0xc9fc, 0xc9f4, 0xc9f5,
15d9d0b528387242011cdcc6190c9e598cfe3a07yy 0xf4ce, 0xcab3, 0xcabd, 0xcaef, 0xcaf1, 0xcbae, 0xf4cf, 0xcbca,
15d9d0b528387242011cdcc6190c9e598cfe3a07yy 0xcbe6, 0xcbea, 0xcbf0, 0xcbf4, 0xcbee, 0xcca5, 0xcbf9, 0xccab,
15d9d0b528387242011cdcc6190c9e598cfe3a07yy 0xccae, 0xccad, 0xccb2, 0xccc2, 0xccd0, 0xccd9, 0xf4d0, 0xcdbb,
15d9d0b528387242011cdcc6190c9e598cfe3a07yy 0xf4d1, 0xcebb, 0xf4d2, 0xceba, 0xcec3, 0xf4d3, 0xcef2, 0xb3dd,
15d9d0b528387242011cdcc6190c9e598cfe3a07yy 0xcfd5, 0xcfe2, 0xcfe9, 0xcfed, 0xf4d4, 0xf4d5, 0xf4d6, 0xffff,
15d9d0b528387242011cdcc6190c9e598cfe3a07yy 0xf4d7, 0xd0e5, 0xf4d8, 0xd0e9, 0xd1e8, 0xf4d9, 0xf4da, 0xd1ec,
15d9d0b528387242011cdcc6190c9e598cfe3a07yy 0xd2bb, 0xf4db, 0xd3e1, 0xd3e8, 0xd4a7, 0xf4dc, 0xf4dd, 0xd4d4,
15d9d0b528387242011cdcc6190c9e598cfe3a07yy 0xd4f2, 0xd5ae, 0xf4de, 0xd7de, 0xf4df, 0xd8a2, 0xd8b7, 0xd8c1,
15d9d0b528387242011cdcc6190c9e598cfe3a07yy 0xd8d1, 0xd8f4, 0xd9c6, 0xd9c8, 0xd9d1, 0xf4e0, 0xf4e1, 0xf4e2,
15d9d0b528387242011cdcc6190c9e598cfe3a07yy 0xf4e3, 0xf4e4, 0xdcd3, 0xddc8, 0xddd4, 0xddea, 0xddfa, 0xdea4,
15d9d0b528387242011cdcc6190c9e598cfe3a07yy 0xdeb0, 0xf4e5, 0xdeb5, 0xdecb, 0xf4e6, 0xdfb9, 0xf4e7, 0xdfc3,
15d9d0b528387242011cdcc6190c9e598cfe3a07yy 0xf4e8, 0xf4e9, 0xe0d9, 0xf4ea, 0xf4eb, 0xe1e2, 0xf4ec, 0xf4ed,
15d9d0b528387242011cdcc6190c9e598cfe3a07yy 0xf4ee, 0xe2c7, 0xe3a8, 0xe3a6, 0xe3a9, 0xe3af, 0xe3b0, 0xe3aa,
15d9d0b528387242011cdcc6190c9e598cfe3a07yy 0xe3ab, 0xe3bc, 0xe3c1, 0xe3bf, 0xe3d5, 0xe3d8, 0xe3d6, 0xe3df,
15d9d0b528387242011cdcc6190c9e598cfe3a07yy 0xe3e3, 0xe3e1, 0xe3d4, 0xe3e9, 0xe4a6, 0xe3f1, 0xe3f2, 0xe4cb,
15d9d0b528387242011cdcc6190c9e598cfe3a07yy 0xe4c1, 0xe4c3, 0xe4be, 0xf4ef, 0xe4c0, 0xe4c7, 0xe4bf, 0xe4e0,
15d9d0b528387242011cdcc6190c9e598cfe3a07yy 0xe4de, 0xe4d1, 0xf4f0, 0xe4dc, 0xe4d2, 0xe4db, 0xe4d4, 0xe4fa,
15d9d0b528387242011cdcc6190c9e598cfe3a07yy 0xe4ef, 0xe5b3, 0xe5bf, 0xe5c9, 0xe5d0, 0xe5e2, 0xe5ea, 0xe5eb,
15d9d0b528387242011cdcc6190c9e598cfe3a07yy 0xf4f1, 0xf4f2, 0xf4f3, 0xe6e8, 0xe6ef, 0xe7ac, 0xf4f4, 0xe7ae,
15d9d0b528387242011cdcc6190c9e598cfe3a07yy 0xf4f5, 0xe7b1, 0xf4f6, 0xe7b2, 0xe8b1, 0xe8b6, 0xf4f7, 0xf4f8,
15d9d0b528387242011cdcc6190c9e598cfe3a07yy 0xe8dd, 0xf4f9, 0xf4fa, 0xe9d1, 0xf4fb, 0xffff, 0xffff, 0xffff,
15d9d0b528387242011cdcc6190c9e598cfe3a07yy 0xe9ed, 0xeacd, 0xf4fc, 0xeadb, 0xeae6, 0xeaea, 0xeba5, 0xebfb,
15d9d0b528387242011cdcc6190c9e598cfe3a07yy 0xebfa, 0xf4fd, 0xecd6, 0xf4fe, 0xffff, 0xffff, 0xffff, 0xffff,
15d9d0b528387242011cdcc6190c9e598cfe3a07yy 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff,
15d9d0b528387242011cdcc6190c9e598cfe3a07yy 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff,
15d9d0b528387242011cdcc6190c9e598cfe3a07yy 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff,
15d9d0b528387242011cdcc6190c9e598cfe3a07yy 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff,
15d9d0b528387242011cdcc6190c9e598cfe3a07yy 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff,
15d9d0b528387242011cdcc6190c9e598cfe3a07yy 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff,
15d9d0b528387242011cdcc6190c9e598cfe3a07yy 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff,
15d9d0b528387242011cdcc6190c9e598cfe3a07yy 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff,
15d9d0b528387242011cdcc6190c9e598cfe3a07yy 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff,
15d9d0b528387242011cdcc6190c9e598cfe3a07yy 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff,
15d9d0b528387242011cdcc6190c9e598cfe3a07yy 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff,
15d9d0b528387242011cdcc6190c9e598cfe3a07yy 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff,
15d9d0b528387242011cdcc6190c9e598cfe3a07yy 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff,
15d9d0b528387242011cdcc6190c9e598cfe3a07yy 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff,
15d9d0b528387242011cdcc6190c9e598cfe3a07yy 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff,
15d9d0b528387242011cdcc6190c9e598cfe3a07yy 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff,
15d9d0b528387242011cdcc6190c9e598cfe3a07yy 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff,
15d9d0b528387242011cdcc6190c9e598cfe3a07yy 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff,
15d9d0b528387242011cdcc6190c9e598cfe3a07yy 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff,
15d9d0b528387242011cdcc6190c9e598cfe3a07yy 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff,
15d9d0b528387242011cdcc6190c9e598cfe3a07yy 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff,
15d9d0b528387242011cdcc6190c9e598cfe3a07yy 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff,
15d9d0b528387242011cdcc6190c9e598cfe3a07yy#endif /* _SYS_KICONV_JA_H */