]> granicus.if.org Git - php/commitdiff
removed SJIS-Mobile#*PUA.
authorRui Hirokawa <hirokawa@php.net>
Sat, 20 Aug 2011 08:27:57 +0000 (08:27 +0000)
committerRui Hirokawa <hirokawa@php.net>
Sat, 20 Aug 2011 08:27:57 +0000 (08:27 +0000)
ext/mbstring/libmbfl/filters/Makefile.am
ext/mbstring/libmbfl/filters/mbfilter_sjis_mobile.c
ext/mbstring/libmbfl/filters/mbfilter_sjis_mobile.h
ext/mbstring/libmbfl/mbfl/mbfl_convert.c
ext/mbstring/libmbfl/mbfl/mbfl_encoding.c
ext/mbstring/libmbfl/mbfl/mbfl_encoding.h

index ad7beb5580fe3c5c743527ead181927d03d8ca5f..4420b36621d297974dfe37288ea8d5ec580086a9 100644 (file)
@@ -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 \
index 6da38db6fae3a679d1c14bdc9b3cf12d8b13d937..7bce1854548d0caeabd9cc1bb8cf70404fa3f372 100644 (file)
@@ -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);
        }
 
index 310ec7954b4daafcc64494fd710c99446f7fa019..9de8988c22858dc8832699eec37d3dd40bf74212 100644 (file)
 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);
 
index d2d051e53edd25e258f8eff6eec482ed188cede0..f9238ceb3794aa6101a625e49a5ddf6bf2a90524 100644 (file)
@@ -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,
index 58af1c58f0d465a1f66321e880a1e1e9bc786dfe..31151d70ee4fb475ba645eaea2a41e33de3e036e 100644 (file)
@@ -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,
index 000c0a353ed48818ec60cf6b123f40e3876795d4..625dd0ae2dd23bfb41f08c97478e76c7b1417134 100644 (file)
@@ -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,