]> git.eshelyaron.com Git - emacs.git/commitdiff
("japanese-hankaku-kana"): Don't use
authorGerd Moellmann <gerd@gnu.org>
Thu, 5 Apr 2001 10:09:36 +0000 (10:09 +0000)
committerGerd Moellmann <gerd@gnu.org>
Thu, 5 Apr 2001 10:09:36 +0000 (10:09 +0000)
the same translations as for `japanese'.

leim/quail/japanese.el

index 69239d5b9f64724603a134d2449498fd0c6d66d9..f9f2837c6ccbd17b106c630f32ef5b0b0a9a33d6 100644 (file)
@@ -485,9 +485,24 @@ qq:        toggle between this input method and the input method `japanese-ascii'.
  nil t t nil nil nil nil nil
  'quail-japanese-hankaku-update-translation)
 
-;; Use the same map as that of `japanese'.
-(setcar (cdr (cdr quail-current-package))
-       (nth 2 (assoc "japanese" quail-package-alist)))
+(dolist (elt quail-japanese-transliteration-rules)
+  (quail-defrule (car elt)
+                (let ((trans (nth 1 elt)))
+                  (when (or (stringp trans) (vectorp trans))
+                    (let ((s (japanese-hankaku (if (stringp trans)
+                                                   trans
+                                                 (aref trans 0)))))
+                      ;; If the result of the conversion is a string
+                      ;; containing more than one character, make the
+                      ;; result a vector, so that quail-defrule
+                      ;; recognizes the whole string is the
+                      ;; translation, instead of interpreting
+                      ;; individual characters as alternative
+                      ;; translations.
+                      (if (and (stringp s) (> (length s) 1))
+                          (setq trans (vector s))
+                        (setq trans s))))
+                  trans)))
 
 (quail-define-package
  "japanese-hiragana" "Japanese" "\e$B$"\e(B"
@@ -520,9 +535,9 @@ qq: toggle between this input method and the input method `japanese-ascii'.
 (dolist (elt quail-japanese-transliteration-rules)
   (quail-defrule (car elt)
                 (let ((trans (nth 1 elt)))
-                  (cond((stringp trans)
-                        (japanese-katakana trans))
-                       ((vectorp trans)
-                        (vector (japanese-katakana (aref trans 0))))
-                       (t trans)))))
+                  (cond ((stringp trans)
+                         (japanese-katakana trans))
+                        ((vectorp trans)
+                         (vector (japanese-katakana (aref trans 0))))
+                        (t trans)))))