From: tomo Date: Mon, 12 Jun 2000 08:12:29 +0000 (+0000) Subject: (encode_char_2): Deleted. X-Git-Tag: r21-2-34-utf-2000-0_16-1~44 X-Git-Url: http://git.chise.org/gitweb/?a=commitdiff_plain;h=a87a88f1504ab99f784bdd986c312615b05190b6;p=chise%2Fxemacs-chise.git (encode_char_2): Deleted. (ENCODE_CHAR): Use `encode_char_1' again. (breakup_char_1): Likewise. (CHAR_TO_CHARC): New inline function. --- diff --git a/src/char-ucs.h b/src/char-ucs.h index b27bbd2..7f40f29 100644 --- a/src/char-ucs.h +++ b/src/char-ucs.h @@ -578,40 +578,14 @@ encode_char_1 (Emchar ch, Lisp_Object* charset) return encode_builtin_char_1 (ch, charset); } -INLINE_HEADER int encode_char_2 (Emchar ch, Lisp_Object* charset); -INLINE_HEADER int -encode_char_2 (Emchar ch, Lisp_Object* charset) -{ - int code_point = encode_char_1 (ch, charset); - - if (EQ (*charset, Vcharset_mojikyo)) - { - int plane, byte1, byte2; - - code_point--; - plane = code_point / (94 * 60); - byte1 = (code_point % (94 * 60)) / 94; - if (byte1 < 30) - byte1 += 16 + 32; - else - byte1 += 18 + 32; - byte2 = code_point % 94 + 33; - *charset - = CHARSET_BY_LEADING_BYTE (LEADING_BYTE_MOJIKYO_PJ_1 - plane); - return (byte1 << 8) | byte2; - } - else - return code_point; -} - -#define ENCODE_CHAR(ch, charset) encode_char_2 (ch, &(charset)) +#define ENCODE_CHAR(ch, charset) encode_char_1 (ch, &(charset)) INLINE_HEADER void breakup_char_1 (Emchar c, Lisp_Object *charset, int *c1, int *c2); INLINE_HEADER void breakup_char_1 (Emchar c, Lisp_Object *charset, int *c1, int *c2) { - int code_point = encode_char_2 (c, charset); + int code_point = encode_char_1 (c, charset); if (code_point >= 0) { @@ -656,6 +630,32 @@ typedef struct Charc int code_point; } Charc; +INLINE_HEADER Charc CHAR_TO_CHARC (Emchar ch); +INLINE_HEADER Charc +CHAR_TO_CHARC (Emchar ch) +{ + Charc cc; + + cc.code_point = encode_char_1 (ch, &cc.charset); + if (EQ (cc.charset, Vcharset_mojikyo)) + { + int plane, byte1, byte2; + + cc.code_point--; + plane = cc.code_point / (94 * 60); + byte1 = (cc.code_point % (94 * 60)) / 94; + if (byte1 < 30) + byte1 += 16 + 32; + else + byte1 += 18 + 32; + byte2 = cc.code_point % 94 + 33; + cc.charset + = CHARSET_BY_LEADING_BYTE (LEADING_BYTE_MOJIKYO_PJ_1 - plane); + cc.code_point = (byte1 << 8) | byte2; + } + return cc; +} + /************************************************************************/ /* Exported functions */