Lines Matching refs:filter

42 extern int mbfl_filt_ident_sjis(int c, mbfl_identify_filter *filter);
134 mbfl_filt_conv_jis2004_wchar(int c, mbfl_convert_filter *filter) in mbfl_filt_conv_jis2004_wchar() argument
140 switch (filter->status & 0xf) { in mbfl_filt_conv_jis2004_wchar()
143 if (filter->from->no_encoding == mbfl_no_encoding_eucjp2004) { in mbfl_filt_conv_jis2004_wchar()
144 CK((*filter->output_function)(c, filter->data)); in mbfl_filt_conv_jis2004_wchar()
145 } else if (filter->from->no_encoding == mbfl_no_encoding_sjis2004) { in mbfl_filt_conv_jis2004_wchar()
147 CK((*filter->output_function)(0x00a5, filter->data)); in mbfl_filt_conv_jis2004_wchar()
149 CK((*filter->output_function)(0x203e, filter->data)); in mbfl_filt_conv_jis2004_wchar()
151 CK((*filter->output_function)(c, filter->data)); in mbfl_filt_conv_jis2004_wchar()
155 filter->status += 6; in mbfl_filt_conv_jis2004_wchar()
156 } else if ((filter->status == 0x80 || filter->status == 0x90 || filter->status == 0xa0) in mbfl_filt_conv_jis2004_wchar()
158 filter->cache = c; in mbfl_filt_conv_jis2004_wchar()
159 if (filter->status == 0x90) { in mbfl_filt_conv_jis2004_wchar()
160 filter->status += 1; /* JIS X 0213 plane 1 */ in mbfl_filt_conv_jis2004_wchar()
161 } else if (filter->status == 0xa0) { in mbfl_filt_conv_jis2004_wchar()
162 filter->status += 4; /* JIS X 0213 plane 2 */ in mbfl_filt_conv_jis2004_wchar()
164 filter->status += 5; /* JIS X 0208 */ in mbfl_filt_conv_jis2004_wchar()
167 CK((*filter->output_function)(c, filter->data)); in mbfl_filt_conv_jis2004_wchar()
171 if (filter->from->no_encoding == mbfl_no_encoding_eucjp2004) { in mbfl_filt_conv_jis2004_wchar()
173 filter->status = 1; in mbfl_filt_conv_jis2004_wchar()
174 filter->cache = c; in mbfl_filt_conv_jis2004_wchar()
176 filter->status = 2; in mbfl_filt_conv_jis2004_wchar()
178 filter->status = 3; in mbfl_filt_conv_jis2004_wchar()
182 CK((*filter->output_function)(w, filter->data)); in mbfl_filt_conv_jis2004_wchar()
184 } else if (filter->from->no_encoding == mbfl_no_encoding_sjis2004) { in mbfl_filt_conv_jis2004_wchar()
186 CK((*filter->output_function)(0xfec0 + c, filter->data)); in mbfl_filt_conv_jis2004_wchar()
188 filter->status = 1; in mbfl_filt_conv_jis2004_wchar()
189 filter->cache = c; in mbfl_filt_conv_jis2004_wchar()
193 CK((*filter->output_function)(w, filter->data)); in mbfl_filt_conv_jis2004_wchar()
198 CK((*filter->output_function)(w, filter->data)); in mbfl_filt_conv_jis2004_wchar()
204 filter->status &= ~0xf; in mbfl_filt_conv_jis2004_wchar()
205 c1 = filter->cache; in mbfl_filt_conv_jis2004_wchar()
207 if (filter->from->no_encoding == mbfl_no_encoding_eucjp2004) { in mbfl_filt_conv_jis2004_wchar()
212 } else if (filter->from->no_encoding == mbfl_no_encoding_sjis2004) { in mbfl_filt_conv_jis2004_wchar()
230 CK((*filter->output_function)(w, filter->data)); in mbfl_filt_conv_jis2004_wchar()
263 CK((*filter->output_function)(w, filter->data)); in mbfl_filt_conv_jis2004_wchar()
265 CK((*filter->output_function)(c, filter->data)); in mbfl_filt_conv_jis2004_wchar()
270 CK((*filter->output_function)(w, filter->data)); in mbfl_filt_conv_jis2004_wchar()
275 filter->status = 0; in mbfl_filt_conv_jis2004_wchar()
278 CK((*filter->output_function)(w, filter->data)); in mbfl_filt_conv_jis2004_wchar()
280 CK((*filter->output_function)(c, filter->data)); in mbfl_filt_conv_jis2004_wchar()
285 CK((*filter->output_function)(w, filter->data)); in mbfl_filt_conv_jis2004_wchar()
291 CK((*filter->output_function)(c, filter->data)); in mbfl_filt_conv_jis2004_wchar()
292 filter->status = 0; in mbfl_filt_conv_jis2004_wchar()
294 if (filter->from->no_encoding == mbfl_no_encoding_eucjp2004) { in mbfl_filt_conv_jis2004_wchar()
300 filter->cache = s1; in mbfl_filt_conv_jis2004_wchar()
301 filter->status++; in mbfl_filt_conv_jis2004_wchar()
303 if (filter->to->no_encoding == mbfl_no_encoding_eucjp2004) { in mbfl_filt_conv_jis2004_wchar()
312 CK((*filter->output_function)(w, filter->data)); in mbfl_filt_conv_jis2004_wchar()
319 filter->status &= ~0xf; in mbfl_filt_conv_jis2004_wchar()
320 c1 = filter->cache; in mbfl_filt_conv_jis2004_wchar()
321 if (filter->from->no_encoding == mbfl_no_encoding_eucjp2004) { in mbfl_filt_conv_jis2004_wchar()
362 CK((*filter->output_function)(w, filter->data)); in mbfl_filt_conv_jis2004_wchar()
364 CK((*filter->output_function)(c, filter->data)); in mbfl_filt_conv_jis2004_wchar()
366 if (filter->to->no_encoding == mbfl_no_encoding_eucjp2004) { in mbfl_filt_conv_jis2004_wchar()
375 CK((*filter->output_function)(w, filter->data)); in mbfl_filt_conv_jis2004_wchar()
381 filter->status &= ~0xf; in mbfl_filt_conv_jis2004_wchar()
382 c1 = filter->cache; in mbfl_filt_conv_jis2004_wchar()
394 CK((*filter->output_function)(w, filter->data)); in mbfl_filt_conv_jis2004_wchar()
406 filter->status++; in mbfl_filt_conv_jis2004_wchar()
408 filter->status += 3; in mbfl_filt_conv_jis2004_wchar()
410 filter->status &= ~0xf; in mbfl_filt_conv_jis2004_wchar()
411 CK((*filter->output_function)(0x1b, filter->data)); in mbfl_filt_conv_jis2004_wchar()
425 filter->status = 0x80; in mbfl_filt_conv_jis2004_wchar()
427 filter->status++; in mbfl_filt_conv_jis2004_wchar()
429 filter->status &= ~0xf; in mbfl_filt_conv_jis2004_wchar()
430 CK((*filter->output_function)(0x1b, filter->data)); in mbfl_filt_conv_jis2004_wchar()
431 CK((*filter->output_function)(0x24, filter->data)); in mbfl_filt_conv_jis2004_wchar()
447 filter->status = 0x90; in mbfl_filt_conv_jis2004_wchar()
449 filter->status = 0xa0; in mbfl_filt_conv_jis2004_wchar()
451 filter->status &= ~0xf; in mbfl_filt_conv_jis2004_wchar()
452 CK((*filter->output_function)(0x1b, filter->data)); in mbfl_filt_conv_jis2004_wchar()
453 CK((*filter->output_function)(0x24, filter->data)); in mbfl_filt_conv_jis2004_wchar()
454 CK((*filter->output_function)(0x28, filter->data)); in mbfl_filt_conv_jis2004_wchar()
467 filter->status = 0; in mbfl_filt_conv_jis2004_wchar()
469 filter->status &= ~0xf; in mbfl_filt_conv_jis2004_wchar()
470 CK((*filter->output_function)(0x1b, filter->data)); in mbfl_filt_conv_jis2004_wchar()
471 CK((*filter->output_function)(0x28, filter->data)); in mbfl_filt_conv_jis2004_wchar()
477 filter->status = 0; in mbfl_filt_conv_jis2004_wchar()
485 mbfl_filt_conv_wchar_jis2004(int c, mbfl_convert_filter *filter) { in mbfl_filt_conv_wchar_jis2004() argument
492 if ((filter->status & 0xf)== 0 && ( in mbfl_filt_conv_wchar_jis2004()
500 filter->status++; in mbfl_filt_conv_wchar_jis2004()
501 filter->cache = k; in mbfl_filt_conv_wchar_jis2004()
508 if ((filter->status & 0xf) == 1 && in mbfl_filt_conv_wchar_jis2004()
509 filter->cache >= 0 && filter->cache <= jisx0213_u2_tbl_len) { in mbfl_filt_conv_wchar_jis2004()
510 k = filter->cache; in mbfl_filt_conv_wchar_jis2004()
511 filter->status &= ~0xf; in mbfl_filt_conv_wchar_jis2004()
512 filter->cache = 0; in mbfl_filt_conv_wchar_jis2004()
524 if (filter->to->no_encoding == mbfl_no_encoding_sjis2004) { in mbfl_filt_conv_wchar_jis2004()
528 } else if (filter->to->no_encoding == mbfl_no_encoding_eucjp2004) { in mbfl_filt_conv_wchar_jis2004()
532 if (filter->status != 0x200) { in mbfl_filt_conv_wchar_jis2004()
533 CK((*filter->output_function)(0x1b, filter->data)); in mbfl_filt_conv_wchar_jis2004()
534 CK((*filter->output_function)(0x24, filter->data)); in mbfl_filt_conv_wchar_jis2004()
535 CK((*filter->output_function)(0x28, filter->data)); in mbfl_filt_conv_wchar_jis2004()
536 CK((*filter->output_function)(0x51, filter->data)); in mbfl_filt_conv_wchar_jis2004()
538 filter->status = 0x200; in mbfl_filt_conv_wchar_jis2004()
544 CK((*filter->output_function)(s1, filter->data)); in mbfl_filt_conv_wchar_jis2004()
545 CK((*filter->output_function)(s2, filter->data)); in mbfl_filt_conv_wchar_jis2004()
607 if (filter->to->no_encoding == mbfl_no_encoding_2022jp_2004 && in mbfl_filt_conv_wchar_jis2004()
608 (filter->status & 0xff00) != 0) { in mbfl_filt_conv_wchar_jis2004()
609 CK((*filter->output_function)(0x1b, filter->data)); /* ESC */ in mbfl_filt_conv_wchar_jis2004()
610 CK((*filter->output_function)(0x28, filter->data)); /* '(' */ in mbfl_filt_conv_wchar_jis2004()
611 CK((*filter->output_function)(0x42, filter->data)); /* 'B' */ in mbfl_filt_conv_wchar_jis2004()
613 filter->status = 0; in mbfl_filt_conv_wchar_jis2004()
614 CK((*filter->output_function)(s1, filter->data)); in mbfl_filt_conv_wchar_jis2004()
616 if (filter->to->no_encoding == mbfl_no_encoding_eucjp2004) { in mbfl_filt_conv_wchar_jis2004()
617 CK((*filter->output_function)(0x8e, filter->data)); in mbfl_filt_conv_wchar_jis2004()
619 CK((*filter->output_function)(s1, filter->data)); in mbfl_filt_conv_wchar_jis2004()
621 if (filter->to->no_encoding == mbfl_no_encoding_sjis2004) { in mbfl_filt_conv_wchar_jis2004()
625 } else if (filter->to->no_encoding == mbfl_no_encoding_eucjp2004) { in mbfl_filt_conv_wchar_jis2004()
629 if ((filter->status & 0xff00) != 0x200) { in mbfl_filt_conv_wchar_jis2004()
630 CK((*filter->output_function)(0x1b, filter->data)); /* ESC */ in mbfl_filt_conv_wchar_jis2004()
631 CK((*filter->output_function)(0x24, filter->data)); /* '$' */ in mbfl_filt_conv_wchar_jis2004()
632 CK((*filter->output_function)(0x28, filter->data)); /* '(' */ in mbfl_filt_conv_wchar_jis2004()
633 CK((*filter->output_function)(0x51, filter->data)); /* 'Q' */ in mbfl_filt_conv_wchar_jis2004()
635 filter->status = 0x200; in mbfl_filt_conv_wchar_jis2004()
639 CK((*filter->output_function)(s1, filter->data)); in mbfl_filt_conv_wchar_jis2004()
640 CK((*filter->output_function)(s2, filter->data)); in mbfl_filt_conv_wchar_jis2004()
642 if (filter->to->no_encoding == mbfl_no_encoding_sjis2004) { in mbfl_filt_conv_wchar_jis2004()
652 if (filter->to->no_encoding == mbfl_no_encoding_eucjp2004) { in mbfl_filt_conv_wchar_jis2004()
655 CK((*filter->output_function)(0x8f, filter->data)); in mbfl_filt_conv_wchar_jis2004()
657 if ((filter->status & 0xff00) != 0x200) { in mbfl_filt_conv_wchar_jis2004()
658 CK((*filter->output_function)(0x1b, filter->data)); /* ESC */ in mbfl_filt_conv_wchar_jis2004()
659 CK((*filter->output_function)(0x24, filter->data)); /* '$' */ in mbfl_filt_conv_wchar_jis2004()
660 CK((*filter->output_function)(0x28, filter->data)); /* '(' */ in mbfl_filt_conv_wchar_jis2004()
661 CK((*filter->output_function)(0x50, filter->data)); /* 'P' */ in mbfl_filt_conv_wchar_jis2004()
663 filter->status = 0x200; in mbfl_filt_conv_wchar_jis2004()
667 CK((*filter->output_function)(s1, filter->data)); in mbfl_filt_conv_wchar_jis2004()
668 CK((*filter->output_function)(s2, filter->data)); in mbfl_filt_conv_wchar_jis2004()
671 CK(mbfl_filt_conv_illegal_output(c, filter)); in mbfl_filt_conv_wchar_jis2004()
678 mbfl_filt_conv_jis2004_flush(mbfl_convert_filter *filter) in mbfl_filt_conv_jis2004_flush() argument
682 k = filter->cache; in mbfl_filt_conv_jis2004_flush()
683 filter->cache = 0; in mbfl_filt_conv_jis2004_flush()
685 if (filter->status == 1 && k >= 0 && k <= jisx0213_u2_tbl_len) { in mbfl_filt_conv_jis2004_flush()
688 if (filter->to->no_encoding == mbfl_no_encoding_sjis2004) { in mbfl_filt_conv_jis2004_flush()
692 } else if (filter->to->no_encoding == mbfl_no_encoding_eucjp2004) { in mbfl_filt_conv_jis2004_flush()
698 if ((filter->status & 0xff00) != 0x200) { in mbfl_filt_conv_jis2004_flush()
699 CK((*filter->output_function)(0x1b, filter->data)); /* ESC */ in mbfl_filt_conv_jis2004_flush()
700 CK((*filter->output_function)(0x24, filter->data)); /* '$' */ in mbfl_filt_conv_jis2004_flush()
701 CK((*filter->output_function)(0x28, filter->data)); /* '(' */ in mbfl_filt_conv_jis2004_flush()
702 CK((*filter->output_function)(0x51, filter->data)); /* 'Q' */ in mbfl_filt_conv_jis2004_flush()
704 filter->status = 0x200; in mbfl_filt_conv_jis2004_flush()
707 CK((*filter->output_function)(s1, filter->data)); in mbfl_filt_conv_jis2004_flush()
708 CK((*filter->output_function)(s2, filter->data)); in mbfl_filt_conv_jis2004_flush()
712 if ((filter->status & 0xff00) != 0) { in mbfl_filt_conv_jis2004_flush()
713 CK((*filter->output_function)(0x1b, filter->data)); /* ESC */ in mbfl_filt_conv_jis2004_flush()
714 CK((*filter->output_function)(0x28, filter->data)); /* '(' */ in mbfl_filt_conv_jis2004_flush()
715 CK((*filter->output_function)(0x42, filter->data)); /* 'B' */ in mbfl_filt_conv_jis2004_flush()
718 filter->status = 0; in mbfl_filt_conv_jis2004_flush()
720 if (filter->flush_function != NULL) { in mbfl_filt_conv_jis2004_flush()
721 return (*filter->flush_function)(filter->data); in mbfl_filt_conv_jis2004_flush()