Lines Matching refs:filter

38 static int mbfl_filt_ident_2022kr(int c, mbfl_identify_filter *filter);
82 mbfl_filt_conv_2022kr_wchar(int c, mbfl_convert_filter *filter) in mbfl_filt_conv_2022kr_wchar() argument
87 switch (filter->status & 0xf) { in mbfl_filt_conv_2022kr_wchar()
92 filter->status += 2; in mbfl_filt_conv_2022kr_wchar()
94 filter->status &= ~0xff; in mbfl_filt_conv_2022kr_wchar()
96 filter->status |= 0x10; in mbfl_filt_conv_2022kr_wchar()
97 } else if ((filter->status & 0x10) != 0 && c > 0x20 && c < 0x7f) { in mbfl_filt_conv_2022kr_wchar()
99 filter->cache = c; in mbfl_filt_conv_2022kr_wchar()
100 filter->status += 1; in mbfl_filt_conv_2022kr_wchar()
101 } else if ((filter->status & 0x10) == 0 && c >= 0 && c < 0x80) { in mbfl_filt_conv_2022kr_wchar()
103 CK((*filter->output_function)(c, filter->data)); in mbfl_filt_conv_2022kr_wchar()
107 CK((*filter->output_function)(w, filter->data)); in mbfl_filt_conv_2022kr_wchar()
112 filter->status &= ~0xf; in mbfl_filt_conv_2022kr_wchar()
113 c1 = filter->cache; in mbfl_filt_conv_2022kr_wchar()
142 CK((*filter->output_function)(w, filter->data)); in mbfl_filt_conv_2022kr_wchar()
144 filter->status++; in mbfl_filt_conv_2022kr_wchar()
146 CK((*filter->output_function)(c, filter->data)); in mbfl_filt_conv_2022kr_wchar()
151 CK((*filter->output_function)(w, filter->data)); in mbfl_filt_conv_2022kr_wchar()
157 filter->status++; in mbfl_filt_conv_2022kr_wchar()
159 filter->status &= ~0xf; in mbfl_filt_conv_2022kr_wchar()
160 CK((*filter->output_function)(0x1b, filter->data)); in mbfl_filt_conv_2022kr_wchar()
166 filter->status++; in mbfl_filt_conv_2022kr_wchar()
168 filter->status &= ~0xf; in mbfl_filt_conv_2022kr_wchar()
169 CK((*filter->output_function)(0x1b, filter->data)); in mbfl_filt_conv_2022kr_wchar()
170 CK((*filter->output_function)(0x24, filter->data)); in mbfl_filt_conv_2022kr_wchar()
176 filter->status &= ~0xf; in mbfl_filt_conv_2022kr_wchar()
177 filter->status |= 0x100; in mbfl_filt_conv_2022kr_wchar()
179 filter->status &= ~0xf; in mbfl_filt_conv_2022kr_wchar()
180 CK((*filter->output_function)(0x1b, filter->data)); in mbfl_filt_conv_2022kr_wchar()
181 CK((*filter->output_function)(0x24, filter->data)); in mbfl_filt_conv_2022kr_wchar()
182 CK((*filter->output_function)(0x29, filter->data)); in mbfl_filt_conv_2022kr_wchar()
187 filter->status = 0; in mbfl_filt_conv_2022kr_wchar()
198 mbfl_filt_conv_wchar_2022kr(int c, mbfl_convert_filter *filter) in mbfl_filt_conv_wchar_2022kr() argument
245 if ((filter->status & 0x10) != 0) { in mbfl_filt_conv_wchar_2022kr()
246 CK((*filter->output_function)(0x0f, filter->data)); /* SI */ in mbfl_filt_conv_wchar_2022kr()
247 filter->status &= ~0x10; in mbfl_filt_conv_wchar_2022kr()
249 CK((*filter->output_function)(s, filter->data)); in mbfl_filt_conv_wchar_2022kr()
251 if ( (filter->status & 0x100) == 0) { in mbfl_filt_conv_wchar_2022kr()
252 CK((*filter->output_function)(0x1b, filter->data)); /* ESC */ in mbfl_filt_conv_wchar_2022kr()
253 CK((*filter->output_function)(0x24, filter->data)); /* '$' */ in mbfl_filt_conv_wchar_2022kr()
254 CK((*filter->output_function)(0x29, filter->data)); /* ')' */ in mbfl_filt_conv_wchar_2022kr()
255 CK((*filter->output_function)(0x43, filter->data)); /* 'C' */ in mbfl_filt_conv_wchar_2022kr()
256 filter->status |= 0x100; in mbfl_filt_conv_wchar_2022kr()
258 if ((filter->status & 0x10) == 0) { in mbfl_filt_conv_wchar_2022kr()
259 CK((*filter->output_function)(0x0e, filter->data)); /* SO */ in mbfl_filt_conv_wchar_2022kr()
260 filter->status |= 0x10; in mbfl_filt_conv_wchar_2022kr()
262 CK((*filter->output_function)((s >> 8) & 0xff, filter->data)); in mbfl_filt_conv_wchar_2022kr()
263 CK((*filter->output_function)(s & 0xff, filter->data)); in mbfl_filt_conv_wchar_2022kr()
266 CK(mbfl_filt_conv_illegal_output(c, filter)); in mbfl_filt_conv_wchar_2022kr()
273 mbfl_filt_conv_any_2022kr_flush(mbfl_convert_filter *filter) in mbfl_filt_conv_any_2022kr_flush() argument
276 if ((filter->status & 0xff00) != 0) { in mbfl_filt_conv_any_2022kr_flush()
277 CK((*filter->output_function)(0x0f, filter->data)); /* SI */ in mbfl_filt_conv_any_2022kr_flush()
280 filter->status &= 0xff; in mbfl_filt_conv_any_2022kr_flush()
282 if (filter->flush_function != NULL) { in mbfl_filt_conv_any_2022kr_flush()
283 return (*filter->flush_function)(filter->data); in mbfl_filt_conv_any_2022kr_flush()
289 static int mbfl_filt_ident_2022kr(int c, mbfl_identify_filter *filter) in mbfl_filt_ident_2022kr() argument
292 switch (filter->status & 0xf) { in mbfl_filt_ident_2022kr()
298 if (!(filter->status & 0x10)) { in mbfl_filt_ident_2022kr()
300 filter->status += 2; in mbfl_filt_ident_2022kr()
301 } else if (filter->status == 0x20 && c > 0x20 && c < 0x7f) { /* kanji first char */ in mbfl_filt_ident_2022kr()
302 filter->status += 1; in mbfl_filt_ident_2022kr()
306 filter->flag = 1; /* bad */ in mbfl_filt_ident_2022kr()
312 filter->status &= ~0xf; in mbfl_filt_ident_2022kr()
314 filter->flag = 1; in mbfl_filt_ident_2022kr()
321 filter->status++; in mbfl_filt_ident_2022kr()
323 filter->flag = 1; /* bad */ in mbfl_filt_ident_2022kr()
324 filter->status &= ~0xf; in mbfl_filt_ident_2022kr()
332 filter->status++; in mbfl_filt_ident_2022kr()
334 filter->flag = 1; /* bad */ in mbfl_filt_ident_2022kr()
335 filter->status &= ~0xf; in mbfl_filt_ident_2022kr()
343 filter->status = 0x10; in mbfl_filt_ident_2022kr()
345 filter->flag = 1; /* bad */ in mbfl_filt_ident_2022kr()
346 filter->status &= ~0xf; in mbfl_filt_ident_2022kr()
352 filter->status = 0; in mbfl_filt_ident_2022kr()