From e2ccaeb9a64aff4be7f42e1df3614a402f0237a6 Mon Sep 17 00:00:00 2001 From: Rui Hirokawa Date: Sat, 20 Aug 2011 08:28:40 +0000 Subject: [PATCH] MFH: removed SJIS-Mobile#*PUA. --- ext/mbstring/libmbfl/filters/Makefile.am | 4 +- .../libmbfl/filters/mbfilter_sjis_mobile.c | 189 ++---------------- .../libmbfl/filters/mbfilter_sjis_mobile.h | 17 -- ext/mbstring/libmbfl/mbfl/mbfl_convert.c | 8 - ext/mbstring/libmbfl/mbfl/mbfl_encoding.c | 4 - ext/mbstring/libmbfl/mbfl/mbfl_encoding.h | 4 - 6 files changed, 24 insertions(+), 202 deletions(-) diff --git a/ext/mbstring/libmbfl/filters/Makefile.am b/ext/mbstring/libmbfl/filters/Makefile.am index ad7beb5580..4420b36621 100644 --- a/ext/mbstring/libmbfl/filters/Makefile.am +++ b/ext/mbstring/libmbfl/filters/Makefile.am @@ -55,7 +55,7 @@ libmbfl_filters_la_SOURCES=mbfilter_cp936.c \ mbfilter_euc_kr.c \ mbfilter_uhc.c \ mbfilter_iso2022_jp_ms.c \ - mbfilter_iso2022_jp_2004.c \ + mbfilter_iso2022jp_2004.c \ mbfilter_gb18030.c \ mbfilter_iso2022_kr.c \ mbfilter_cp866.c \ @@ -90,7 +90,7 @@ libmbfl_filters_la_SOURCES=mbfilter_cp936.c \ mbfilter_htmlent.h \ mbfilter_hz.h \ mbfilter_iso2022_jp_ms.h \ - mbfilter_iso2022_jp_2004.h \ + mbfilter_iso2022jp_2004.h \ mbfilter_iso2022_kr.h \ mbfilter_iso8859_1.h \ mbfilter_iso8859_10.h \ diff --git a/ext/mbstring/libmbfl/filters/mbfilter_sjis_mobile.c b/ext/mbstring/libmbfl/filters/mbfilter_sjis_mobile.c index 6da38db6fa..7bce185454 100644 --- a/ext/mbstring/libmbfl/filters/mbfilter_sjis_mobile.c +++ b/ext/mbstring/libmbfl/filters/mbfilter_sjis_mobile.c @@ -70,42 +70,6 @@ const mbfl_encoding mbfl_encoding_sjis_sb = { MBFL_ENCTYPE_MBCS | MBFL_ENCTYPE_GL_UNSAFE }; -const mbfl_encoding mbfl_encoding_sjis_docomo_pua = { - mbfl_no_encoding_sjis_docomo_pua, - "SJIS-Mobile#DOCOMO-PUA", - "Shift_JIS", - NULL, - mblen_table_sjis, - MBFL_ENCTYPE_MBCS | MBFL_ENCTYPE_GL_UNSAFE -}; - -const mbfl_encoding mbfl_encoding_sjis_kddi_pua = { - mbfl_no_encoding_sjis_kddi_pua, - "SJIS-Mobile#KDDI-PUA", - "Shift_JIS", - NULL, - mblen_table_sjis, - MBFL_ENCTYPE_MBCS | MBFL_ENCTYPE_GL_UNSAFE -}; - -const mbfl_encoding mbfl_encoding_sjis_kddi_pua_b = { - mbfl_no_encoding_sjis_kddi_pua_b, - "SJIS-Mobile#KDDI-PUA-B", - "Shift_JIS", - NULL, - mblen_table_sjis, - MBFL_ENCTYPE_MBCS | MBFL_ENCTYPE_GL_UNSAFE -}; - -const mbfl_encoding mbfl_encoding_sjis_sb_pua = { - mbfl_no_encoding_sjis_sb_pua, - "SJIS-Mobile#SOFTBANK-PUA", - "Shift_JIS", - NULL, - mblen_table_sjis, - MBFL_ENCTYPE_MBCS | MBFL_ENCTYPE_GL_UNSAFE -}; - const struct mbfl_identify_vtbl vtbl_identify_sjis_docomo = { mbfl_no_encoding_sjis_docomo, mbfl_filt_ident_common_ctor, @@ -181,78 +145,6 @@ const struct mbfl_convert_vtbl vtbl_wchar_sjis_sb = { mbfl_filt_conv_sjis_mobile_flush }; -const struct mbfl_convert_vtbl vtbl_sjis_docomo_pua_wchar = { - mbfl_no_encoding_sjis_docomo_pua, - mbfl_no_encoding_wchar, - mbfl_filt_conv_common_ctor, - mbfl_filt_conv_common_dtor, - mbfl_filt_conv_sjis_mobile_wchar, - mbfl_filt_conv_common_flush -}; - -const struct mbfl_convert_vtbl vtbl_wchar_sjis_docomo_pua = { - mbfl_no_encoding_wchar, - mbfl_no_encoding_sjis_docomo_pua, - mbfl_filt_conv_common_ctor, - mbfl_filt_conv_common_dtor, - mbfl_filt_conv_wchar_sjis_mobile, - mbfl_filt_conv_common_flush -}; - -const struct mbfl_convert_vtbl vtbl_sjis_kddi_pua_wchar = { - mbfl_no_encoding_sjis_kddi_pua, - mbfl_no_encoding_wchar, - mbfl_filt_conv_common_ctor, - mbfl_filt_conv_common_dtor, - mbfl_filt_conv_sjis_mobile_wchar, - mbfl_filt_conv_common_flush -}; - -const struct mbfl_convert_vtbl vtbl_wchar_sjis_kddi_pua = { - mbfl_no_encoding_wchar, - mbfl_no_encoding_sjis_kddi_pua, - mbfl_filt_conv_common_ctor, - mbfl_filt_conv_common_dtor, - mbfl_filt_conv_wchar_sjis_mobile, - mbfl_filt_conv_common_flush -}; - -const struct mbfl_convert_vtbl vtbl_sjis_kddi_pua_b_wchar = { - mbfl_no_encoding_sjis_kddi_pua_b, - mbfl_no_encoding_wchar, - mbfl_filt_conv_common_ctor, - mbfl_filt_conv_common_dtor, - mbfl_filt_conv_sjis_mobile_wchar, - mbfl_filt_conv_common_flush -}; - -const struct mbfl_convert_vtbl vtbl_wchar_sjis_kddi_pua_b = { - mbfl_no_encoding_wchar, - mbfl_no_encoding_sjis_kddi_pua_b, - mbfl_filt_conv_common_ctor, - mbfl_filt_conv_common_dtor, - mbfl_filt_conv_wchar_sjis_mobile, - mbfl_filt_conv_common_flush -}; - -const struct mbfl_convert_vtbl vtbl_sjis_sb_pua_wchar = { - mbfl_no_encoding_sjis_sb_pua, - mbfl_no_encoding_wchar, - mbfl_filt_conv_common_ctor, - mbfl_filt_conv_common_dtor, - mbfl_filt_conv_sjis_mobile_wchar, - mbfl_filt_conv_common_flush -}; - -const struct mbfl_convert_vtbl vtbl_wchar_sjis_sb_pua = { - mbfl_no_encoding_wchar, - mbfl_no_encoding_sjis_sb_pua, - mbfl_filt_conv_common_ctor, - mbfl_filt_conv_common_dtor, - mbfl_filt_conv_wchar_sjis_mobile, - mbfl_filt_conv_common_flush -}; - static const char nflags_s[10][2] = {"CN","DE","ES","FR","GB","IT","JP","KR","RU","US"}; static const int nflags_code_kddi[10] = {0x2549, 0x2546, 0x24c0, 0x2545, 0x2548, 0x2547, 0x2750, 0x254a, 0x24c1, 0x27f7}; static const int nflags_code_sb[10] = {0x2b0a, 0x2b05, 0x2b08, 0x2b04, 0x2b07, 0x2b06, 0x2b02, 0x2b0b, 0x2b09, 0x2b03}; @@ -293,7 +185,6 @@ const int mbfl_kddi2uni_pua_b[8][3] = { {0x27e7, 0x2863, 0xf080}, }; - #define NFLAGS(c) (0x1F1A5+(int)(c)) #define CK(statement) do { if ((statement) < 0) return (-1); } while (0) @@ -657,8 +548,7 @@ mbfl_filt_conv_sjis_mobile_wchar(int c, mbfl_convert_filter *filter) switch (filter->status) { case 0: if (c >= 0 && c < 0x80) { /* latin */ - if ((filter->from->no_encoding == mbfl_no_encoding_sjis_sb_pua || - filter->from->no_encoding == mbfl_no_encoding_sjis_sb) && c == 0x1b) { + if (filter->from->no_encoding == mbfl_no_encoding_sjis_sb && c == 0x1b) { filter->cache = c; filter->status = 2; } else { @@ -720,14 +610,6 @@ mbfl_filt_conv_sjis_mobile_wchar(int c, mbfl_convert_filter *filter) w = mbfilter_sjis_emoji_kddi2unicode(s, &snd); } else if (filter->from->no_encoding == mbfl_no_encoding_sjis_sb) { w = mbfilter_sjis_emoji_sb2unicode(s, &snd); - } else if (filter->from->no_encoding == mbfl_no_encoding_sjis_kddi_pua) { - mbfilter_conv_map_tbl(s, &w, mbfl_kddi2uni_pua, 6); - } else if (filter->from->no_encoding == mbfl_no_encoding_sjis_kddi_pua_b) { - mbfilter_conv_map_tbl(s, &w, mbfl_kddi2uni_pua_b, 8); - } else if (filter->from->no_encoding == mbfl_no_encoding_sjis_sb_pua) { - mbfilter_conv_map_tbl(s, &w, mbfl_sb2uni_pua, 6); - } else if (filter->from->no_encoding == mbfl_no_encoding_sjis_docomo_pua) { - mbfilter_conv_map_tbl(s, &w, mbfl_docomo2uni_pua, 4); } if (w > 0 && snd > 0) { @@ -751,8 +633,7 @@ mbfl_filt_conv_sjis_mobile_wchar(int c, mbfl_convert_filter *filter) } break; case 2: - if ((filter->from->no_encoding == mbfl_no_encoding_sjis_sb_pua || - filter->from->no_encoding == mbfl_no_encoding_sjis_sb) && + if (filter->from->no_encoding == mbfl_no_encoding_sjis_sb && c == 0x24) { filter->cache = c; filter->status = 3; @@ -765,8 +646,7 @@ mbfl_filt_conv_sjis_mobile_wchar(int c, mbfl_convert_filter *filter) case 3: /* Softbank Emoji: ESC $ [GEFOPQ] X 0x0f */ - if ((filter->from->no_encoding == mbfl_no_encoding_sjis_sb_pua || - filter->from->no_encoding == mbfl_no_encoding_sjis_sb) && + if (filter->from->no_encoding == mbfl_no_encoding_sjis_sb && ((c >= 0x45 && c <= 0x47) || (c >= 0x4f && c <= 0x51))) { filter->cache = c; filter->status = 4; @@ -781,8 +661,7 @@ mbfl_filt_conv_sjis_mobile_wchar(int c, mbfl_convert_filter *filter) case 4: /* Softbank Emoji Web code: ESC $ [GEFOPQ] X 0x0f */ w = 0; - if (filter->from->no_encoding == mbfl_no_encoding_sjis_sb_pua || - filter->from->no_encoding == mbfl_no_encoding_sjis_sb) { + if (filter->from->no_encoding == mbfl_no_encoding_sjis_sb) { c1 = filter->cache; if (c == 0x0f) { @@ -790,40 +669,24 @@ mbfl_filt_conv_sjis_mobile_wchar(int c, mbfl_convert_filter *filter) filter->cache = 0; filter->status = 0; } else { - if (filter->from->no_encoding == mbfl_no_encoding_sjis_sb_pua) { - if (c1 == 0x47 && c >= 0x21 && c <= 0x7a) { - w = c - 0x0021 + 0xe001; - } else if (c1 == 0x45 && c >= 0x21 && c <= 0x7a) { - w = c - 0x0021 + 0xe101; - } else if (c1 == 0x46 && c >= 0x21 && c <= 0x7a) { - w = c - 0x0021 + 0xe201; - } else if (c1 == 0x4f && c >= 0x21 && c <= 0x6d) { - w = c - 0x0021 + 0xe301; - } else if (c1 == 0x50 && c >= 0x21 && c <= 0x6c) { - w = c - 0x0021 + 0xe401; - } else if (c1 == 0x51 && c >= 0x21 && c <= 0x5e) { - w = c - 0x0021 + 0xe501; - } - } else { - if (c1 == 0x47 && c >= 0x21 && c <= 0x7a) { - s1 = 0x91; s2 = c; - } else if (c1 == 0x45 && c >= 0x21 && c <= 0x7a) { - s1 = 0x8d; s2 = c; - } else if (c1 == 0x46 && c >= 0x21 && c <= 0x7a) { - s1 = 0x8e; s2 = c; - } else if (c1 == 0x4f && c >= 0x21 && c <= 0x6d) { - s1 = 0x92; s2 = c; - } else if (c1 == 0x50 && c >= 0x21 && c <= 0x6c) { - s1 = 0x95; s2 = c; - } else if (c1 == 0x51 && c >= 0x21 && c <= 0x5e) { - s1 = 0x96; s2 = c; - } - s = (s1 - 0x21)*94 + s2 - 0x21; - w = mbfilter_sjis_emoji_sb2unicode(s, &snd); - if (w > 0 && snd > 0) { - CK((*filter->output_function)(snd, filter->data)); - } + if (c1 == 0x47 && c >= 0x21 && c <= 0x7a) { + s1 = 0x91; s2 = c; + } else if (c1 == 0x45 && c >= 0x21 && c <= 0x7a) { + s1 = 0x8d; s2 = c; + } else if (c1 == 0x46 && c >= 0x21 && c <= 0x7a) { + s1 = 0x8e; s2 = c; + } else if (c1 == 0x4f && c >= 0x21 && c <= 0x6d) { + s1 = 0x92; s2 = c; + } else if (c1 == 0x50 && c >= 0x21 && c <= 0x6c) { + s1 = 0x95; s2 = c; + } else if (c1 == 0x51 && c >= 0x21 && c <= 0x5e) { + s1 = 0x96; s2 = c; } + s = (s1 - 0x21)*94 + s2 - 0x21; + w = mbfilter_sjis_emoji_sb2unicode(s, &snd); + if (w > 0 && snd > 0) { + CK((*filter->output_function)(snd, filter->data)); + } if (w > 0) { CK((*filter->output_function)(w, filter->data)); } @@ -953,15 +816,7 @@ mbfl_filt_conv_wchar_sjis_mobile(int c, mbfl_convert_filter *filter) (filter->to->no_encoding == mbfl_no_encoding_sjis_kddi && mbfilter_unicode2sjis_emoji_kddi(c, &s1, filter) > 0) || (filter->to->no_encoding == mbfl_no_encoding_sjis_sb && - mbfilter_unicode2sjis_emoji_sb(c, &s1, filter) > 0 ) || - (filter->to->no_encoding == mbfl_no_encoding_sjis_kddi_pua && - mbfilter_conv_r_map_tbl(c, &s1, mbfl_kddi2uni_pua, 6) > 0) || - (filter->to->no_encoding == mbfl_no_encoding_sjis_docomo_pua && - mbfilter_conv_r_map_tbl(c, &s1, mbfl_docomo2uni_pua, 4) > 0) || - (filter->to->no_encoding == mbfl_no_encoding_sjis_kddi_pua_b && - mbfilter_conv_r_map_tbl(c, &s1, mbfl_kddi2uni_pua_b, 8) > 0) || - (filter->to->no_encoding == mbfl_no_encoding_sjis_sb_pua && - mbfilter_conv_r_map_tbl(c, &s1, mbfl_sb2uni_pua, 6) > 0)) { + mbfilter_unicode2sjis_emoji_sb(c, &s1, filter) > 0 )) { CODE2JIS(c1,c2,s1,s2); } diff --git a/ext/mbstring/libmbfl/filters/mbfilter_sjis_mobile.h b/ext/mbstring/libmbfl/filters/mbfilter_sjis_mobile.h index 310ec7954b..9de8988c22 100644 --- a/ext/mbstring/libmbfl/filters/mbfilter_sjis_mobile.h +++ b/ext/mbstring/libmbfl/filters/mbfilter_sjis_mobile.h @@ -35,10 +35,6 @@ extern const mbfl_encoding mbfl_encoding_sjis_docomo; extern const mbfl_encoding mbfl_encoding_sjis_kddi; extern const mbfl_encoding mbfl_encoding_sjis_sb; -extern const mbfl_encoding mbfl_encoding_sjis_docomo_pua; -extern const mbfl_encoding mbfl_encoding_sjis_kddi_pua; -extern const mbfl_encoding mbfl_encoding_sjis_kddi_pua_b; -extern const mbfl_encoding mbfl_encoding_sjis_sb_pua; extern const struct mbfl_identify_vtbl vtbl_identify_sjis_docomo; extern const struct mbfl_identify_vtbl vtbl_identify_sjis_kddi; @@ -51,15 +47,6 @@ extern const struct mbfl_convert_vtbl vtbl_wchar_sjis_kddi; extern const struct mbfl_convert_vtbl vtbl_sjis_sb_wchar; extern const struct mbfl_convert_vtbl vtbl_wchar_sjis_sb; -extern const struct mbfl_convert_vtbl vtbl_sjis_docomo_pua_wchar; -extern const struct mbfl_convert_vtbl vtbl_wchar_sjis_docomo_pua; -extern const struct mbfl_convert_vtbl vtbl_sjis_kddi_pua_wchar; -extern const struct mbfl_convert_vtbl vtbl_wchar_sjis_kddi_pua; -extern const struct mbfl_convert_vtbl vtbl_sjis_kddi_pua_b_wchar; -extern const struct mbfl_convert_vtbl vtbl_wchar_sjis_kddi_pua_b; -extern const struct mbfl_convert_vtbl vtbl_sjis_sb_pua_wchar; -extern const struct mbfl_convert_vtbl vtbl_wchar_sjis_sb_pua; - int mbfl_filt_conv_sjis_mobile_wchar(int c, mbfl_convert_filter *filter); int mbfl_filt_conv_wchar_sjis_mobile(int c, mbfl_convert_filter *filter); int mbfl_filt_conv_sjis_mobile_flush(mbfl_convert_filter *filter); @@ -72,10 +59,6 @@ int mbfilter_unicode2sjis_emoji_docomo(int c, int *s1, mbfl_convert_filter *filt int mbfilter_unicode2sjis_emoji_kddi(int c, int *s1, mbfl_convert_filter *filter); int mbfilter_unicode2sjis_emoji_sb(int c, int *s1, mbfl_convert_filter *filter); -int mbfilter_unicode_pua2sjis_emoji_docomo( int c, int *s1, int *s2, int *c1, int *c2); -int mbfilter_unicode_pua2sjis_emoji_kddi(int c, int *s1, int *s2, int *c1, int *c2); -int mbfilter_unicode_pua2sjis_emoji(int c, int *s1, int *s2, int *c1, int *c2, int *sjis_encoded); - int mbfilter_conv_map_tbl(int c, int *w, const int map[][3], int n); int mbfilter_conv_r_map_tbl(int c, int *w, const int map[][3], int n); diff --git a/ext/mbstring/libmbfl/mbfl/mbfl_convert.c b/ext/mbstring/libmbfl/mbfl/mbfl_convert.c index d2d051e53e..f9238ceb37 100644 --- a/ext/mbstring/libmbfl/mbfl/mbfl_convert.c +++ b/ext/mbstring/libmbfl/mbfl/mbfl_convert.c @@ -144,14 +144,6 @@ const struct mbfl_convert_vtbl *mbfl_convert_filter_list[] = { &vtbl_wchar_sjis_kddi, &vtbl_sjis_sb_wchar, &vtbl_wchar_sjis_sb, - &vtbl_sjis_docomo_pua_wchar, - &vtbl_wchar_sjis_docomo_pua, - &vtbl_sjis_kddi_pua_wchar, - &vtbl_wchar_sjis_kddi_pua, - &vtbl_sjis_kddi_pua_b_wchar, - &vtbl_wchar_sjis_kddi_pua_b, - &vtbl_sjis_sb_pua_wchar, - &vtbl_wchar_sjis_sb_pua, &vtbl_sjis_mac_wchar, &vtbl_wchar_sjis_mac, &vtbl_utf8_docomo_wchar, diff --git a/ext/mbstring/libmbfl/mbfl/mbfl_encoding.c b/ext/mbstring/libmbfl/mbfl/mbfl_encoding.c index 58af1c58f0..31151d70ee 100644 --- a/ext/mbstring/libmbfl/mbfl/mbfl_encoding.c +++ b/ext/mbstring/libmbfl/mbfl/mbfl_encoding.c @@ -167,10 +167,6 @@ static const mbfl_encoding *mbfl_encoding_ptr_list[] = { &mbfl_encoding_sjis_docomo, &mbfl_encoding_sjis_kddi, &mbfl_encoding_sjis_sb, - &mbfl_encoding_sjis_docomo_pua, - &mbfl_encoding_sjis_kddi_pua, - &mbfl_encoding_sjis_kddi_pua_b, - &mbfl_encoding_sjis_sb_pua, &mbfl_encoding_sjis_mac, &mbfl_encoding_sjis2004, &mbfl_encoding_utf8_docomo, diff --git a/ext/mbstring/libmbfl/mbfl/mbfl_encoding.h b/ext/mbstring/libmbfl/mbfl/mbfl_encoding.h index 000c0a353e..625dd0ae2d 100644 --- a/ext/mbstring/libmbfl/mbfl/mbfl_encoding.h +++ b/ext/mbstring/libmbfl/mbfl/mbfl_encoding.h @@ -77,10 +77,6 @@ enum mbfl_no_encoding { mbfl_no_encoding_sjis_docomo, mbfl_no_encoding_sjis_kddi, mbfl_no_encoding_sjis_sb, - mbfl_no_encoding_sjis_docomo_pua, - mbfl_no_encoding_sjis_kddi_pua, - mbfl_no_encoding_sjis_kddi_pua_b, - mbfl_no_encoding_sjis_sb_pua, mbfl_no_encoding_sjis_mac, mbfl_no_encoding_sjis2004, mbfl_no_encoding_cp932, -- 2.40.0