- *charset = Ffind_charset (Fcar (charsets));
- if (!EQ (*charset, Qnil)
- && (*c1 = charset_get_byte1 (*charset, c)) )
- {
- *c2 = charset_get_byte2 (*charset, c);
- return;
- }
- charsets = Fcdr (charsets);
+ *charset = Vcharset_ascii;
+ *c1 = charset_get_byte1 (*charset, c);
+ *c2 = charset_get_byte2 (*charset, c);
+ }
+ else if (c < 0xA0)
+ {
+ *charset = Vcharset_control_1;
+ *c1 = charset_get_byte1 (*charset, c);
+ *c2 = charset_get_byte2 (*charset, c);
+ }
+ else if (c <= 0xff)
+ {
+ *charset = Vcharset_latin_iso8859_1;
+ *c1 = charset_get_byte1 (*charset, c);
+ *c2 = charset_get_byte2 (*charset, c);
+ }
+ else if ((MIN_CHAR_GREEK <= c) && (c <= MAX_CHAR_GREEK))
+ {
+ *charset = Vcharset_greek_iso8859_7;
+ *c1 = c - MIN_CHAR_GREEK + 0x20;
+ *c2 = 0;
+ }
+ else if ((MIN_CHAR_CYRILLIC <= c) && (c <= MAX_CHAR_CYRILLIC))
+ {
+ *charset = Vcharset_cyrillic_iso8859_5;
+ *c1 = c - MIN_CHAR_CYRILLIC + 0x20;
+ *c2 = 0;
+ }
+ else if ((MIN_CHAR_HEBREW <= c) && (c <= MAX_CHAR_HEBREW))
+ {
+ *charset = Vcharset_hebrew_iso8859_8;
+ *c1 = c - MIN_CHAR_HEBREW + 0x20;
+ *c2 = 0;
+ }
+ else if ((MIN_CHAR_THAI <= c) && (c <= MAX_CHAR_THAI))
+ {
+ *charset = Vcharset_thai_tis620;
+ *c1 = c - MIN_CHAR_THAI + 0x20;
+ *c2 = 0;
+ }
+ else if ((MIN_CHAR_HALFWIDTH_KATAKANA <= c)
+ && (c <= MAX_CHAR_HALFWIDTH_KATAKANA))
+ {
+ *charset = Vcharset_katakana_jisx0201;
+ *c1 = c - MIN_CHAR_HALFWIDTH_KATAKANA + 0x20;
+ *c2 = 0;
+ }
+ else
+ {
+ *charset = Vcharset_ucs_bmp;
+ *c1 = c >> 8;
+ *c2 = c & 0xff;