Lines Matching refs:filter

39 static int mbfl_filt_ident_hz(int c, mbfl_identify_filter *filter);
81 mbfl_filt_conv_hz_wchar(int c, mbfl_convert_filter *filter) in mbfl_filt_conv_hz_wchar() argument
85 switch (filter->status & 0xf) { in mbfl_filt_conv_hz_wchar()
90 filter->status += 2; in mbfl_filt_conv_hz_wchar()
91 } else if (filter->status == 0x10 && c > 0x20 && c < 0x7f) { /* DBCS first char */ in mbfl_filt_conv_hz_wchar()
92 filter->cache = c; in mbfl_filt_conv_hz_wchar()
93 filter->status += 1; in mbfl_filt_conv_hz_wchar()
95 CK((*filter->output_function)(c, filter->data)); in mbfl_filt_conv_hz_wchar()
99 CK((*filter->output_function)(w, filter->data)); in mbfl_filt_conv_hz_wchar()
105 filter->status &= ~0xf; in mbfl_filt_conv_hz_wchar()
106 c1 = filter->cache; in mbfl_filt_conv_hz_wchar()
119 CK((*filter->output_function)(w, filter->data)); in mbfl_filt_conv_hz_wchar()
121 CK((*filter->output_function)(c, filter->data)); in mbfl_filt_conv_hz_wchar()
126 CK((*filter->output_function)(w, filter->data)); in mbfl_filt_conv_hz_wchar()
133 filter->status = 0x0; in mbfl_filt_conv_hz_wchar()
135 filter->status = 0x10; in mbfl_filt_conv_hz_wchar()
137 filter->status = 0x0; in mbfl_filt_conv_hz_wchar()
138 CK((*filter->output_function)(0x007e, filter->data)); in mbfl_filt_conv_hz_wchar()
143 filter->status = 0; in mbfl_filt_conv_hz_wchar()
154 mbfl_filt_conv_wchar_hz(int c, mbfl_convert_filter *filter) in mbfl_filt_conv_wchar_hz() argument
193 if ((filter->status & 0xff00) != 0) { in mbfl_filt_conv_wchar_hz()
194 CK((*filter->output_function)(0x7e, filter->data)); /* '~' */ in mbfl_filt_conv_wchar_hz()
195 CK((*filter->output_function)(0x7d, filter->data)); /* '}' */ in mbfl_filt_conv_wchar_hz()
197 filter->status = 0; in mbfl_filt_conv_wchar_hz()
199 CK((*filter->output_function)(0x7e, filter->data)); in mbfl_filt_conv_wchar_hz()
201 CK((*filter->output_function)(s, filter->data)); in mbfl_filt_conv_wchar_hz()
203 if ((filter->status & 0xff00) != 0x200) { in mbfl_filt_conv_wchar_hz()
204 CK((*filter->output_function)(0x7e, filter->data)); /* '~' */ in mbfl_filt_conv_wchar_hz()
205 CK((*filter->output_function)(0x7b, filter->data)); /* '{' */ in mbfl_filt_conv_wchar_hz()
207 filter->status = 0x200; in mbfl_filt_conv_wchar_hz()
208 CK((*filter->output_function)((s >> 8) & 0x7f, filter->data)); in mbfl_filt_conv_wchar_hz()
209 CK((*filter->output_function)(s & 0x7f, filter->data)); in mbfl_filt_conv_wchar_hz()
212 if (filter->illegal_mode != MBFL_OUTPUTFILTER_ILLEGAL_MODE_NONE) { in mbfl_filt_conv_wchar_hz()
213 CK(mbfl_filt_conv_illegal_output(c, filter)); in mbfl_filt_conv_wchar_hz()
221 mbfl_filt_conv_any_hz_flush(mbfl_convert_filter *filter) in mbfl_filt_conv_any_hz_flush() argument
224 if ((filter->status & 0xff00) != 0) { in mbfl_filt_conv_any_hz_flush()
225 CK((*filter->output_function)(0x7e, filter->data)); /* ~ */ in mbfl_filt_conv_any_hz_flush()
226 CK((*filter->output_function)(0x7d, filter->data)); /* '{' */ in mbfl_filt_conv_any_hz_flush()
228 filter->status &= 0xff; in mbfl_filt_conv_any_hz_flush()
232 static int mbfl_filt_ident_hz(int c, mbfl_identify_filter *filter) in mbfl_filt_ident_hz() argument
234 switch (filter->status & 0xf) { in mbfl_filt_ident_hz()
239 filter->status += 2; in mbfl_filt_ident_hz()
240 } else if (filter->status == 0x10 && c > 0x20 && c < 0x7f) { /* DBCS first char */ in mbfl_filt_ident_hz()
241 filter->status += 1; in mbfl_filt_ident_hz()
245 filter->flag = 1; /* bad */ in mbfl_filt_ident_hz()
251 filter->status &= ~0xf; in mbfl_filt_ident_hz()
253 filter->flag = 1; in mbfl_filt_ident_hz()
259 filter->status = 0; in mbfl_filt_ident_hz()
261 filter->status = 0x10; in mbfl_filt_ident_hz()
263 filter->status = 0; in mbfl_filt_ident_hz()
265 filter->flag = 1; /* bad */ in mbfl_filt_ident_hz()
266 filter->status &= ~0xf; in mbfl_filt_ident_hz()
271 filter->status = 0; in mbfl_filt_ident_hz()