+
+;; (let (ret)
+;; (dolist (feature
+;; (let (dest)
+;; (dolist (feature (char-attribute-list))
+;; (when (string-match "\\*sources\\($\\|@[^\\*]+$\\)"
+;; (symbol-name feature))
+;; (setq dest (cons feature dest))))
+;; dest))
+;; (map-char-attribute
+;; (lambda (c v)
+;; (when (setq ret (memq 'shinjigen-1 v))
+;; (setcar ret 'shinjigen@1ed))
+;; (when (setq ret (memq 'shinjigen-2 v))
+;; (setcar ret 'shinjigen@rev))
+;; nil)
+;; feature)))
+
+;; (map-char-attribute
+;; (lambda (c v)
+;; (when (eq (encode-char c '=shinjigen@rev) v)
+;; (put-char-attribute c '=shinjigen v)
+;; (remove-char-attribute c '=shinjigen@1ed)
+;; (remove-char-attribute c '=shinjigen@rev)
+;; )
+;; nil)
+;; '=shinjigen@1ed)
+
+;; (let (ret)
+;; (dolist (feature
+;; (let (dest)
+;; (dolist (feature (char-attribute-list))
+;; (when (string-match "\\*sources\\($\\|@[^\\*]+$\\)"
+;; (symbol-name feature))
+;; (setq dest (cons feature dest))))
+;; dest))
+;; (map-char-attribute
+;; (lambda (c v)
+;; (cond ((setq ret (memq 'shinjigen@1ed v))
+;; (when (memq 'shinjigen@rev ret)
+;; (setcar ret 'shinjigen)
+;; (delq 'shinjigen@rev ret)
+;; ))
+;; ((setq ret (memq 'shinjigen@rev v))
+;; (when (memq 'shinjigen@1ed ret)
+;; (setcar ret 'shinjigen)
+;; (delq 'shinjigen@1ed ret)
+;; )))
+;; nil)
+;; feature)))
+
+(dolist (ccs '(=jis-x0208 =jis-x0208@1990))
+ (map-char-attribute
+ (lambda (c v)
+ (unless (eq (encode-char c '=jis-x0213-1@2000) v)
+ (put-char-attribute c '=jis-x0213-1 v))
+ nil)
+ ccs))
+
+(with-temp-buffer
+ (buffer-disable-undo)
+ (insert-file-contents "../etc/char-data/JX3-JX1-rep-diff.txt")
+ (goto-char (point-min))
+ (let (ku ten char code ucs)
+ (while (re-search-forward "^1-\\([0-9]+\\)-\\([0-9]+\\)[ \t]+" nil t)
+ (setq ku (string-to-number (match-string 1))
+ ten (string-to-number (match-string 2)))
+ (setq char (make-char '=jis-x0213-1@2000 (+ ku 32)(+ ten 32)))
+ (setq code (encode-char char '=jis-x0213-1@2000))
+ (put-char-attribute char '=jis-x0213-1@2000 code)
+ (remove-char-attribute char '=jis-x0213-1)
+ (remove-char-attribute char '=jis-x0213-1@2004)
+ (setq ucs (encode-char char '=ucs@jis/2000))
+ (remove-char-attribute char '=ucs@jis)
+ (remove-char-attribute char '=ucs@jis/2004)
+ (when (setq char (decode-char '=jis-x0213-1@2004 code))
+ (unless (eq (encode-char char '=ucs@jis/2004) ucs)
+ (put-char-attribute char '=ucs@jis/2004 ucs)))
+ (unless (eq code #x332A)
+ (when (setq char (decode-char '=>jis-x0208@1997 code 'defined-only))
+ (put-char-attribute char '=>jis-x0208 code)
+ (remove-char-attribute char '=>jis-x0208@1997)))
+ )))
+
+(map-char-attribute
+ (lambda (c v)
+ (unless (eq (encode-char c '=>jis-x0213-1) v)
+ (put-char-attribute c '=>jis-x0213-1 v))
+ nil)
+ '=>jis-x0208)