changeset 31455:0b33b8c5d16e

(encode_coding_sjis_big5): Use translation table for encoding, not decoding. Check for the charset katakana-jisx0201, not latin-jisx0201. (ONE_MORE_CHAR): Call translate_char with CHARSET arg -1.
author Kenichi Handa <handa@m17n.org>
date Thu, 07 Sep 2000 12:04:09 +0000
parents 4dd84bbe2c6c
children 1d3d2dcc62b4
files src/coding.c
diffstat 1 files changed, 5 insertions(+), 5 deletions(-) [+]
line wrap: on
line diff
--- a/src/coding.c	Thu Sep 07 12:03:22 2000 +0000
+++ b/src/coding.c	Thu Sep 07 12:04:09 2000 +0000
@@ -235,7 +235,7 @@
     else							\
       c = *src, bytes = 1;					\
     if (!NILP (translation_table))				\
-      c = translate_char (translation_table, c, 0, 0, 0);	\
+      c = translate_char (translation_table, c, -1, 0, 0);	\
     src += bytes;						\
   } while (0)
 
@@ -2549,9 +2549,9 @@
     translation_table = Qnil;
   else
     {
-      translation_table = coding->translation_table_for_decode;
+      translation_table = coding->translation_table_for_encode;
       if (NILP (translation_table))
-	translation_table = Vstandard_translation_table_for_decode;
+	translation_table = Vstandard_translation_table_for_encode;
     }
 
   while (1)
@@ -2596,8 +2596,8 @@
 		  ENCODE_SJIS (c1, c2, c1, c2);
 		  EMIT_TWO_BYTES (c1, c2);
 		}
-	      else if (charset == charset_latin_jisx0201)
-		EMIT_ONE_BYTE (c1);
+	      else if (charset == charset_katakana_jisx0201)
+		EMIT_ONE_BYTE (c1 | 0x80);
 	      else
 		/* There's no way other than producing the internal
 		   codes as is.  */