changeset 105971:6b2352662a3f

Make sure that the value of jisx0208 property is jisx0208 character.
author Kenichi Handa <handa@m17n.org>
date Fri, 13 Nov 2009 06:20:52 +0000
parents f6c1ac558c84
children 371db60eff06
files lisp/language/japan-util.el
diffstat 1 files changed, 7 insertions(+), 5 deletions(-) [+]
line wrap: on
line diff
--- a/lisp/language/japan-util.el	Fri Nov 13 02:40:40 2009 +0000
+++ b/lisp/language/japan-util.el	Fri Nov 13 06:20:52 2009 +0000
@@ -109,10 +109,10 @@
     (?@ ?@)
     ;; cp932-2-byte
     (#x2015 ?-) (#xFF5E ?~) (#xFF0D ?-))
-  "Japanese JISX0208 symbol character table.
+  "Japanese JISX0208 and CP932 symbol character table.
   Each element is of the form (SYMBOL ASCII HANKAKU), where SYMBOL
-belongs to `japanese-jisx0208', ASCII belongs to `ascii', and HANKAKU
-belongs to `japanese-jisx0201-kana'.")
+belongs to `japanese-jisx0208' or `cp932', ASCII belongs to `ascii',
+and HANKAKU belongs to `japanese-jisx0201-kana'.")
 
 ;; Put properties 'jisx0208, 'jisx0201, and 'ascii to each Japanese
 ;; symbol and ASCII characters for conversion among them.
@@ -125,11 +125,13 @@
     (if ascii
 	(progn
 	  (put-char-code-property jisx0208 'ascii ascii)
-	  (put-char-code-property ascii 'jisx0208 jisx0208)))
+	  (if (encode-char jisx0208 'japanese-jisx0208)
+	      (put-char-code-property ascii 'jisx0208 jisx0208))))
     (if jisx0201
 	(progn
 	  (put-char-code-property jisx0208 'jisx0201 jisx0201)
-	  (put-char-code-property jisx0201 'jisx0208 jisx0208)))))
+	  (if (encode-char jisx0208 'japanese-jisx0208)
+	      (put-char-code-property jisx0201 'jisx0208 jisx0208))))))
 
 (defconst japanese-alpha-numeric-table
   '((?0 . ?0) (?1 . ?1) (?2 . ?2) (?3 . ?3) (?4 . ?4)