(save-restriction
(narrow-to-region start end)
(goto-char start)
- (let (chr ret rest spec)
- (while (and (skip-chars-forward "\x00-\xFF")
+ (let (chr ret rest spec modifier)
+ (while (and (skip-chars-forward "\x00-\x7F")
(not (eobp)))
(setq chr (char-after))
(cond ((encode-char chr '=jis-x0208-1983)
;; ((setq ret (encode-char chr '=jis-x0208-1990))
;; (delete-char)
;; (insert (decode-char '=jis-x0208-1983 ret)))
+ ((and (setq ret (char-feature chr '=decomposition))
+ (setq modifier (assq (nth 1 ret)
+ '((?\u0300 . "`")
+ (?\u0301 . "'")
+ (?\u0302 . "^")
+ (?\u0303 . "~")
+ (?\u0304 . "=")
+ (?\u0307 . ".")
+ (?\u0308 . "\"")
+ (?\u030C . "v")
+ (?\u0323 . "d")
+ (?\u0327 . "c")
+ ))))
+ (delete-char)
+ (insert (format "\\%s{%c}" (cdr modifier) (car ret))))
((and (or (encode-char chr '=jis-x0213-1-2000)
(encode-char chr '=jis-x0213-2-2000))
(setq ret (or (encode-char chr '=ucs@jis/2000)