X-Git-Url: http://git.chise.org/gitweb/?a=blobdiff_plain;f=src%2Ftext-coding.c;h=187d2a90e82e815323ee76494f8f47ac7044e259;hb=edb1d7f5d06e1f3ca783853fe435f41eaa32ea8e;hp=53ec90cafee97f728d98b063ec191f277b7d9c59;hpb=fbf9bc5c4bad5bbedf59764215c5e1d6d79d580a;p=chise%2Fxemacs-chise.git- diff --git a/src/text-coding.c b/src/text-coding.c index 53ec90c..187d2a9 100644 --- a/src/text-coding.c +++ b/src/text-coding.c @@ -2260,7 +2260,7 @@ struct decoding_stream }; #ifdef UTF2000 -extern Lisp_Object Vcharacter_composition_table; +extern Lisp_Object Qcomposition; INLINE_HEADER void decode_flush_er_chars (struct decoding_stream *str, unsigned_char_dynarr* dst); @@ -2405,11 +2405,10 @@ COMPOSE_ADD_CHAR (struct decoding_stream *str, { if (CODING_SYSTEM_DISABLE_COMPOSITION (str->codesys)) decode_add_er_char (str, character, dst); - else if (!CHAR_TABLEP (str->combining_table)) + else if (!CONSP (str->combining_table)) { Lisp_Object ret - = get_char_id_table (XCHAR_TABLE(Vcharacter_composition_table), - character); + = Fget_char_attribute (make_char (character), Qcomposition, Qnil); if (NILP (ret)) decode_add_er_char (str, character, dst); @@ -2422,16 +2421,12 @@ COMPOSE_ADD_CHAR (struct decoding_stream *str, } else { - Lisp_Object ret - = get_char_id_table (XCHAR_TABLE(str->combining_table), - character); + Lisp_Object ret = Fcdr (Fassq (make_char (character), str->combining_table)); if (CHARP (ret)) { Emchar char2 = XCHARVAL (ret); - ret = - get_char_id_table (XCHAR_TABLE(Vcharacter_composition_table), - char2); + ret = Fget_char_attribute (make_char (character), Qcomposition, Qnil); if (NILP (ret)) { decode_add_er_char (str, character, dst); @@ -2445,11 +2440,6 @@ COMPOSE_ADD_CHAR (struct decoding_stream *str, str->combining_table = ret; } } - else if (CHAR_TABLEP (ret)) - { - str->combined_chars[str->combined_char_count++] = character; - str->combining_table = ret; - } else { COMPOSE_FLUSH_CHARS (str, dst);