(www-uri-decode-feature-name): Decode "meta.<name>" -> `*<name>'.
[chise/tomoyo-tools.git] / ideo-trans.el
index e4f8998..63755eb 100644 (file)
@@ -1,6 +1,6 @@
 ;;; ideo-trans.el --- Translation utility for Ideographic Strings
 
-;; Copyright (C) 2003,2004,2005,2008,2012 MORIOKA Tomohiko
+;; Copyright (C) 2003, 2004, 2005, 2008, 2012, 2013 MORIOKA Tomohiko
 
 ;; Author: MORIOKA Tomohiko <tomo@kanji.zinbun.kyoto-u.ac.jp>
 ;; Keywords: Ideographs, Character Database, Chaon, CHISE
     (mapconcat
      (lambda (chr)
        (char-to-string
-       (cond ((car (char-feature chr '<-simplified))
+       (cond ((car (setq ret (char-feature chr '<-simplified@CN)))
               (if (cdr ret)
                   (funcall selector ret)
                 (car ret)))
                 (setq ret (or (char-feature ret '<-simplified@JP/Jouyou)
                               (char-feature ret '<-simplified@JP))))
               (if (cdr ret)
-                  (ideo-trans-select-char ret (format "%c => " chr))
+                  (funcall selector ret)
                 (car ret)))
              ((setq ret (char-feature chr '=>ucs@jis))
               (decode-char '=ucs@jis ret))
   'japanese-traditionalize-string)
 
 ;;;###autoload
-(defun japanese-traditionalize-region (start end)
+(defun japanese-traditionalize-region (start end &optional selector)
   "Convert Japanese simplified Kanji in the region into traditional characters."
   (interactive "r")
+  (unless selector
+    (setq selector
+         (lambda (chars)
+           (ideo-trans-select-char chars (format "%c => " chr)))))
   (save-excursion
     (save-restriction
       (narrow-to-region start end)
              (progn
                (if (cdr ret)
                    (progn
-                     (setq rret (ideo-trans-select-char ret))
+                     (setq rret (funcall selector ret))
                      (delete-char)
                      (insert rret))
                  (delete-char)