Lines Matching refs:c

40 static int mbfl_filt_ident_gb18030(int c, mbfl_identify_filter *filter);
125 mbfl_filt_conv_gb18030_wchar(int c, mbfl_convert_filter *filter) in mbfl_filt_conv_gb18030_wchar() argument
132 if (c >= 0 && c < 0x80) { /* latin */ in mbfl_filt_conv_gb18030_wchar()
133 CK((*filter->output_function)(c, filter->data)); in mbfl_filt_conv_gb18030_wchar()
134 } else if (c == 0x80) { /* euro sign */ in mbfl_filt_conv_gb18030_wchar()
136 } else if (c == 0xff) { in mbfl_filt_conv_gb18030_wchar()
138 } else if (c > 0x80 && c < 0xff) { /* dbcs/qbcs lead byte */ in mbfl_filt_conv_gb18030_wchar()
140 filter->cache = c; in mbfl_filt_conv_gb18030_wchar()
142 w = c & MBFL_WCSGROUP_MASK; in mbfl_filt_conv_gb18030_wchar()
152 if (c1 >= 0x81 && c1 <= 0x84 && c >= 0x30 && c <= 0x39) { /* 4 byte range: Unicode BMP */ in mbfl_filt_conv_gb18030_wchar()
154 filter->cache = (c1 << 8) | c; in mbfl_filt_conv_gb18030_wchar()
155 return c; in mbfl_filt_conv_gb18030_wchar()
156 } else if (c1 >= 0x90 && c1 <= 0xe3 && c >= 0x30 && c <= 0x39) { in mbfl_filt_conv_gb18030_wchar()
159 filter->cache = (c1 << 8) | c; in mbfl_filt_conv_gb18030_wchar()
160 return c; in mbfl_filt_conv_gb18030_wchar()
162 (c >= 0xa1 && c <= 0xfe)) { /* UDA part1,2: U+E000-U+E4C5 */ in mbfl_filt_conv_gb18030_wchar()
163 w = 94*(c1 >= 0xf8 ? c1 - 0xf2 : c1 - 0xaa) + (c - 0xa1) + 0xe000; in mbfl_filt_conv_gb18030_wchar()
165 } else if (c1 >= 0xa1 && c1 <= 0xa7 && c >= 0x40 && c < 0xa1 && c != 0x7f) { in mbfl_filt_conv_gb18030_wchar()
167 w = 96*(c1 - 0xa1) + c - (c >= 0x80 ? 0x41 : 0x40) + 0xe4c6; in mbfl_filt_conv_gb18030_wchar()
171 c2 = (c1 << 8) | c; in mbfl_filt_conv_gb18030_wchar()
189 if ((c1 >= 0xa1 && c1 <= 0xa9 && c >= 0xa1 && c <= 0xfe) || in mbfl_filt_conv_gb18030_wchar()
190 (c1 >= 0xb0 && c1 <= 0xf7 && c >= 0xa1 && c <= 0xfe) || in mbfl_filt_conv_gb18030_wchar()
191 (c1 >= 0x81 && c1 <= 0xa0 && c >= 0x40 && c <= 0xfe && c != 0x7f) || in mbfl_filt_conv_gb18030_wchar()
192 (c1 >= 0xaa && c1 <= 0xfe && c >= 0x40 && c <= 0xa0 && c != 0x7f) || in mbfl_filt_conv_gb18030_wchar()
193 (c1 >= 0xa8 && c1 <= 0xa9 && c >= 0x40 && c <= 0xa0 && c != 0x7f)) { in mbfl_filt_conv_gb18030_wchar()
194 w = (c1 - 0x81)*192 + (c - 0x40); in mbfl_filt_conv_gb18030_wchar()
201 w = (c1 << 8) | c; in mbfl_filt_conv_gb18030_wchar()
206 } else if ((c >= 0 && c < 0x21) || c == 0x7f) { /* CTLs */ in mbfl_filt_conv_gb18030_wchar()
207 CK((*filter->output_function)(c, filter->data)); in mbfl_filt_conv_gb18030_wchar()
209 w = (c1 << 8) | c; in mbfl_filt_conv_gb18030_wchar()
222 c2 >= 0x30 && c2 <= 0x39 && c >= 0x81 && c <= 0xfe) { in mbfl_filt_conv_gb18030_wchar()
223 filter->cache = (c1 << 16) | (c2 << 8) | c; in mbfl_filt_conv_gb18030_wchar()
226 w = (c1 << 16) | (c2 << 8) | c; in mbfl_filt_conv_gb18030_wchar()
240 c2 >= 0x30 && c2 <= 0x39 && c3 >= 0x81 && c3 <= 0xfe && c >= 0x30 && c <= 0x39) { in mbfl_filt_conv_gb18030_wchar()
242 w = ((((c1 - 0x90)*10 + (c2 - 0x30))*126 + (c3 - 0x81)))*10 + (c - 0x30) + 0x10000; in mbfl_filt_conv_gb18030_wchar()
244 w = (((c1 - 0x81)*10 + (c2 - 0x30))*126 + (c3 - 0x81))*10 + (c - 0x30); in mbfl_filt_conv_gb18030_wchar()
249 w = (c1 << 24) | (c2 << 16) | (c3 << 8) | c; in mbfl_filt_conv_gb18030_wchar()
253 return c; in mbfl_filt_conv_gb18030_wchar()
257 w = (c1 << 24) | (c2 << 16) | (c3 << 8) | c; in mbfl_filt_conv_gb18030_wchar()
261 return c; in mbfl_filt_conv_gb18030_wchar()
266 w = (c1 << 24) | (c2 << 16) | (c3 << 8) | c; in mbfl_filt_conv_gb18030_wchar()
278 return c; in mbfl_filt_conv_gb18030_wchar()
285 mbfl_filt_conv_wchar_gb18030(int c, mbfl_convert_filter *filter) in mbfl_filt_conv_wchar_gb18030() argument
290 if (c >= ucs_a1_cp936_table_min && c < ucs_a1_cp936_table_max) { in mbfl_filt_conv_wchar_gb18030()
291 s = ucs_a1_cp936_table[c - ucs_a1_cp936_table_min]; in mbfl_filt_conv_wchar_gb18030()
292 } else if (c >= ucs_a2_cp936_table_min && c < ucs_a2_cp936_table_max) { in mbfl_filt_conv_wchar_gb18030()
293 s = ucs_a2_cp936_table[c - ucs_a2_cp936_table_min]; in mbfl_filt_conv_wchar_gb18030()
294 } else if (c >= ucs_a3_cp936_table_min && c < ucs_a3_cp936_table_max) { in mbfl_filt_conv_wchar_gb18030()
295 s = ucs_a3_cp936_table[c - ucs_a3_cp936_table_min]; in mbfl_filt_conv_wchar_gb18030()
296 } else if (c >= ucs_i_cp936_table_min && c < ucs_i_cp936_table_max) { in mbfl_filt_conv_wchar_gb18030()
297 s = ucs_i_cp936_table[c - ucs_i_cp936_table_min]; in mbfl_filt_conv_wchar_gb18030()
298 } else if (c >= ucs_ci_cp936_table_min && c < ucs_ci_cp936_table_max) { in mbfl_filt_conv_wchar_gb18030()
300 if (c == 0xf92c) { in mbfl_filt_conv_wchar_gb18030()
302 } else if (c == 0xf979) { in mbfl_filt_conv_wchar_gb18030()
304 } else if (c == 0xf995) { in mbfl_filt_conv_wchar_gb18030()
306 } else if (c == 0xf9e7) { in mbfl_filt_conv_wchar_gb18030()
308 } else if (c == 0xf9f1) { in mbfl_filt_conv_wchar_gb18030()
310 } else if (c >= 0xfa0c && c <= 0xfa29) { in mbfl_filt_conv_wchar_gb18030()
311 s = ucs_ci_s_cp936_table[c - 0xfa0c]; in mbfl_filt_conv_wchar_gb18030()
313 } else if (c >= ucs_cf_cp936_table_min && c < ucs_cf_cp936_table_max) { in mbfl_filt_conv_wchar_gb18030()
315 s = ucs_cf_cp936_table[c - ucs_cf_cp936_table_min]; in mbfl_filt_conv_wchar_gb18030()
316 } else if (c >= ucs_sfv_cp936_table_min && c < ucs_sfv_cp936_table_max) { in mbfl_filt_conv_wchar_gb18030()
318 s = ucs_sfv_cp936_table[c - ucs_sfv_cp936_table_min]; in mbfl_filt_conv_wchar_gb18030()
319 } else if (c >= ucs_hff_cp936_table_min && c < ucs_hff_cp936_table_max) { in mbfl_filt_conv_wchar_gb18030()
321 if (c == 0xff04) { in mbfl_filt_conv_wchar_gb18030()
323 } else if (c == 0xff5e) { in mbfl_filt_conv_wchar_gb18030()
325 } else if (c >= 0xff01 && c <= 0xff5d) { in mbfl_filt_conv_wchar_gb18030()
326 s = c - 0xff01 + 0xa3a1; in mbfl_filt_conv_wchar_gb18030()
327 } else if (c >= 0xffe0 && c <= 0xffe5) { in mbfl_filt_conv_wchar_gb18030()
328 s = ucs_hff_s_cp936_table[c-0xffe0]; in mbfl_filt_conv_wchar_gb18030()
332 if (c == 0x20ac) { /* euro-sign */ in mbfl_filt_conv_wchar_gb18030()
336 if (s <= 0 && c >= mbfl_gb18030_c_tbl_key[0] && in mbfl_filt_conv_wchar_gb18030()
337 c <= mbfl_gb18030_c_tbl_key[mbfl_gb18030_c_tbl_max-1]) { in mbfl_filt_conv_wchar_gb18030()
338 k1 = mbfl_bisec_srch2(c, mbfl_gb18030_c_tbl_key, mbfl_gb18030_c_tbl_max); in mbfl_filt_conv_wchar_gb18030()
344 if (c >= 0xe000 && c <= 0xe864) { /* PUA */ in mbfl_filt_conv_wchar_gb18030()
345 if (c < 0xe766) { in mbfl_filt_conv_wchar_gb18030()
346 if (c < 0xe4c6) { in mbfl_filt_conv_wchar_gb18030()
347 c1 = c - 0xe000; in mbfl_filt_conv_wchar_gb18030()
351 c1 = c - 0xe4c6; in mbfl_filt_conv_wchar_gb18030()
360 if (c < mbfl_gb18030_pua_tbl[k][0]) { in mbfl_filt_conv_wchar_gb18030()
362 } else if (c > mbfl_gb18030_pua_tbl[k][1]) { in mbfl_filt_conv_wchar_gb18030()
365 s = c - mbfl_gb18030_pua_tbl[k][0] + mbfl_gb18030_pua_tbl[k][2]; in mbfl_filt_conv_wchar_gb18030()
372 if (s <= 0 && c >= 0x0080 && c <= 0xffff) { /* BMP */ in mbfl_filt_conv_wchar_gb18030()
373 s = mbfl_bisec_srch(c, mbfl_uni2gb_tbl, mbfl_gb_uni_max); in mbfl_filt_conv_wchar_gb18030()
375 c1 = c - mbfl_gb_uni_ofst[s]; in mbfl_filt_conv_wchar_gb18030()
381 } else if (c >= 0x10000 && c <= 0x10ffff) { /* Code set 3: Unicode U+10000..U+10FFFF */ in mbfl_filt_conv_wchar_gb18030()
382 c1 = c - 0x10000; in mbfl_filt_conv_wchar_gb18030()
390 c1 = c & ~MBFL_WCSPLANE_MASK; in mbfl_filt_conv_wchar_gb18030()
392 s = c & MBFL_WCSPLANE_MASK; in mbfl_filt_conv_wchar_gb18030()
394 if (c == 0) { in mbfl_filt_conv_wchar_gb18030()
414 CK(mbfl_filt_conv_illegal_output(c, filter)); in mbfl_filt_conv_wchar_gb18030()
418 return c; in mbfl_filt_conv_wchar_gb18030()
421 static int mbfl_filt_ident_gb18030(int c, mbfl_identify_filter *filter) in mbfl_filt_ident_gb18030() argument
429 if (c <= 0x80 || c == 0xff) { in mbfl_filt_ident_gb18030()
433 filter->status |= (c << 8); in mbfl_filt_ident_gb18030()
436 …if (((c1 >= 0x81 && c1 <= 0x84) || (c1 >= 0x90 && c1 <= 0xe3)) && c >= 0x30 && c <= 0x39) { /* qbc… in mbfl_filt_ident_gb18030()
438 …} else if (((c1 >= 0xaa && c1 <= 0xaf) || (c1 >= 0xf8 && c1 <= 0xfe)) && (c >= 0xa1 && c <= 0xfe))… in mbfl_filt_ident_gb18030()
440 } else if (c1 >= 0xa1 && c1 <= 0xa7 && c >= 0x40 && c < 0xa1 && c != 0x7f) { in mbfl_filt_ident_gb18030()
442 } else if ((c1 >= 0xa1 && c1 <= 0xa9 && c >= 0xa1 && c <= 0xfe) || in mbfl_filt_ident_gb18030()
443 (c1 >= 0xb0 && c1 <= 0xf7 && c >= 0xa1 && c <= 0xfe) || in mbfl_filt_ident_gb18030()
444 (c1 >= 0x81 && c1 <= 0xa0 && c >= 0x40 && c <= 0xfe && c != 0x7f) || in mbfl_filt_ident_gb18030()
445 (c1 >= 0xaa && c1 <= 0xfe && c >= 0x40 && c <= 0xa0 && c != 0x7f) || in mbfl_filt_ident_gb18030()
446 (c1 >= 0xa8 && c1 <= 0xa9 && c >= 0x40 && c <= 0xa0 && c != 0x7f)) { in mbfl_filt_ident_gb18030()
453 if (c > 0x80 && c < 0xff) { in mbfl_filt_ident_gb18030()
460 if (c >= 0x30 && c < 0x40) { in mbfl_filt_ident_gb18030()
470 return c; in mbfl_filt_ident_gb18030()