1 /* 2 * "streamable kanji code filter and converter" 3 * Copyright (c) 1998-2002 HappySize, Inc. All rights reserved. 4 * 5 * LICENSE NOTICES 6 * 7 * This file is part of "streamable kanji code filter and converter", 8 * which is distributed under the terms of GNU Lesser General Public 9 * License (version 2) as published by the Free Software Foundation. 10 * 11 * This software is distributed in the hope that it will be useful, 12 * but WITHOUT ANY WARRANTY; without even the implied warranty of 13 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 14 * GNU Lesser General Public License for more details. 15 * 16 * You should have received a copy of the GNU Lesser General Public 17 * License along with "streamable kanji code filter and converter"; 18 * if not, write to the Free Software Foundation, Inc., 59 Temple Place, 19 * Suite 330, Boston, MA 02111-1307 USA 20 * 21 * The author of this file: 22 * 23 */ 24 /* 25 * The source code included in this files was separated from mbfilter_ja.c 26 * by rui hirokawa <hirokawa@php.net> on 16 aug 2011. 27 * 28 */ 29 30 #include "mbfilter.h" 31 #include "mbfilter_euc_jp_2004.h" 32 #include "mbfilter_sjis_2004.h" 33 34 extern int mbfl_filt_ident_eucjp(int c, mbfl_identify_filter *filter); 35 extern const unsigned char mblen_table_eucjp[]; 36 37 static const char *mbfl_encoding_eucjp2004_aliases[] = {"EUC_JP-2004", NULL}; 38 39 const mbfl_encoding mbfl_encoding_eucjp2004 = { 40 mbfl_no_encoding_eucjp2004, 41 "EUC-JP-2004", 42 "EUC-JP", 43 (const char *(*)[])&mbfl_encoding_eucjp2004_aliases, 44 mblen_table_eucjp, 45 MBFL_ENCTYPE_MBCS, 46 &vtbl_eucjp2004_wchar, 47 &vtbl_wchar_eucjp2004 48 }; 49 50 const struct mbfl_identify_vtbl vtbl_identify_eucjp2004 = { 51 mbfl_no_encoding_eucjp2004, 52 mbfl_filt_ident_common_ctor, 53 mbfl_filt_ident_eucjp 54 }; 55 56 const struct mbfl_convert_vtbl vtbl_eucjp2004_wchar = { 57 mbfl_no_encoding_eucjp2004, 58 mbfl_no_encoding_wchar, 59 mbfl_filt_conv_common_ctor, 60 NULL, 61 mbfl_filt_conv_jis2004_wchar, 62 mbfl_filt_conv_common_flush, 63 NULL, 64 }; 65 66 const struct mbfl_convert_vtbl vtbl_wchar_eucjp2004 = { 67 mbfl_no_encoding_wchar, 68 mbfl_no_encoding_eucjp2004, 69 mbfl_filt_conv_common_ctor, 70 NULL, 71 mbfl_filt_conv_wchar_jis2004, 72 mbfl_filt_conv_jis2004_flush, 73 NULL, 74 }; 75