Lines Matching refs:c

39 static int mbfl_filt_ident_big5(int c, mbfl_identify_filter *filter);
145 static inline int is_in_cp950_pua(int c1, int c) { in is_in_cp950_pua() argument
148 return (c >=0x40 && c <= 0x7e) || (c >= 0xa1 && c <= 0xfe); in is_in_cp950_pua()
151 return c >= 0xa1 && c <= 0xfe; in is_in_cp950_pua()
160 mbfl_filt_conv_big5_wchar(int c, mbfl_convert_filter *filter) in mbfl_filt_conv_big5_wchar() argument
173 if (c >= 0 && c <= 0x80) { /* latin */ in mbfl_filt_conv_big5_wchar()
174 CK((*filter->output_function)(c, filter->data)); in mbfl_filt_conv_big5_wchar()
175 } else if (c == 0xff) { in mbfl_filt_conv_big5_wchar()
177 } else if (c > c1 && c < 0xff) { /* dbcs lead byte */ in mbfl_filt_conv_big5_wchar()
179 filter->cache = c; in mbfl_filt_conv_big5_wchar()
181 w = c & MBFL_WCSGROUP_MASK; in mbfl_filt_conv_big5_wchar()
190 if ((c > 0x39 && c < 0x7f) | (c > 0xa0 && c < 0xff)) { in mbfl_filt_conv_big5_wchar()
191 if (c < 0x7f){ in mbfl_filt_conv_big5_wchar()
192 w = (c1 - 0xa1)*157 + (c - 0x40); in mbfl_filt_conv_big5_wchar()
194 w = (c1 - 0xa1)*157 + (c - 0xa1) + 0x3f; in mbfl_filt_conv_big5_wchar()
204 if (w <= 0 && is_in_cp950_pua(c1, c)) { in mbfl_filt_conv_big5_wchar()
205 c2 = c1 << 8 | c; in mbfl_filt_conv_big5_wchar()
213 w = 157*(c1 - (cp950_pua_tbl[k][2]>>8)) + c - (c >= 0xa1 ? 0x62 : 0x40) in mbfl_filt_conv_big5_wchar()
222 w = (c1 << 8) | c; in mbfl_filt_conv_big5_wchar()
227 } else if ((c >= 0 && c < 0x21) || c == 0x7f) { /* CTLs */ in mbfl_filt_conv_big5_wchar()
228 CK((*filter->output_function)(c, filter->data)); in mbfl_filt_conv_big5_wchar()
230 w = (c1 << 8) | c; in mbfl_filt_conv_big5_wchar()
242 return c; in mbfl_filt_conv_big5_wchar()
249 mbfl_filt_conv_wchar_big5(int c, mbfl_convert_filter *filter) in mbfl_filt_conv_wchar_big5() argument
255 if (c >= ucs_a1_big5_table_min && c < ucs_a1_big5_table_max) { in mbfl_filt_conv_wchar_big5()
256 s = ucs_a1_big5_table[c - ucs_a1_big5_table_min]; in mbfl_filt_conv_wchar_big5()
257 } else if (c >= ucs_a2_big5_table_min && c < ucs_a2_big5_table_max) { in mbfl_filt_conv_wchar_big5()
258 s = ucs_a2_big5_table[c - ucs_a2_big5_table_min]; in mbfl_filt_conv_wchar_big5()
259 } else if (c >= ucs_a3_big5_table_min && c < ucs_a3_big5_table_max) { in mbfl_filt_conv_wchar_big5()
260 s = ucs_a3_big5_table[c - ucs_a3_big5_table_min]; in mbfl_filt_conv_wchar_big5()
261 } else if (c >= ucs_i_big5_table_min && c < ucs_i_big5_table_max) { in mbfl_filt_conv_wchar_big5()
262 s = ucs_i_big5_table[c - ucs_i_big5_table_min]; in mbfl_filt_conv_wchar_big5()
263 } else if (c >= ucs_pua_big5_table_min && c < ucs_pua_big5_table_max) { in mbfl_filt_conv_wchar_big5()
264 s = ucs_pua_big5_table[c - ucs_pua_big5_table_min]; in mbfl_filt_conv_wchar_big5()
265 } else if (c >= ucs_r1_big5_table_min && c < ucs_r1_big5_table_max) { in mbfl_filt_conv_wchar_big5()
266 s = ucs_r1_big5_table[c - ucs_r1_big5_table_min]; in mbfl_filt_conv_wchar_big5()
267 } else if (c >= ucs_r2_big5_table_min && c < ucs_r2_big5_table_max) { in mbfl_filt_conv_wchar_big5()
268 s = ucs_r2_big5_table[c - ucs_r2_big5_table_min]; in mbfl_filt_conv_wchar_big5()
272 if (c >= 0xe000 && c <= 0xf848) { /* PUA for CP950 */ in mbfl_filt_conv_wchar_big5()
274 if (c <= cp950_pua_tbl[k][1]) { in mbfl_filt_conv_wchar_big5()
278 c1 = c - cp950_pua_tbl[k][0]; in mbfl_filt_conv_wchar_big5()
288 if (c == 0x80) { in mbfl_filt_conv_wchar_big5()
290 } else if (c == 0xf8f8) { in mbfl_filt_conv_wchar_big5()
292 } else if (c == 0x256d) { in mbfl_filt_conv_wchar_big5()
294 } else if (c == 0x256e) { in mbfl_filt_conv_wchar_big5()
296 } else if (c == 0x256f) { in mbfl_filt_conv_wchar_big5()
298 } else if (c == 0x2570) { in mbfl_filt_conv_wchar_big5()
304 c1 = c & ~MBFL_WCSPLANE_MASK; in mbfl_filt_conv_wchar_big5()
306 s = c & MBFL_WCSPLANE_MASK; in mbfl_filt_conv_wchar_big5()
308 if (c == 0) { in mbfl_filt_conv_wchar_big5()
322 CK(mbfl_filt_conv_illegal_output(c, filter)); in mbfl_filt_conv_wchar_big5()
325 return c; in mbfl_filt_conv_wchar_big5()
328 static int mbfl_filt_ident_big5(int c, mbfl_identify_filter *filter) in mbfl_filt_ident_big5() argument
338 if (c < 0x40 || (c > 0x7e && c < 0xa1) ||c > 0xfe) { /* bad */ in mbfl_filt_ident_big5()
342 } else if (c >= 0 && c < 0x80) { /* latin ok */ in mbfl_filt_ident_big5()
344 } else if (c > c1 && c < 0xff) { /* DBCS lead byte */ in mbfl_filt_ident_big5()
350 return c; in mbfl_filt_ident_big5()