mirror of
https://github.com/php/php-src.git
synced 2026-04-30 03:33:17 +02:00
MFH: removed SJIS-Mobile#*PUA.
This commit is contained in:
@@ -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 \
|
||||
|
||||
@@ -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);
|
||||
}
|
||||
|
||||
|
||||
@@ -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);
|
||||
|
||||
|
||||
@@ -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,
|
||||
|
||||
@@ -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,
|
||||
|
||||
@@ -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,
|
||||
|
||||
Reference in New Issue
Block a user