2 ;;; $Id: tm-rich.el,v 1.1 1994/09/05 14:34:06 morioka Exp morioka $
12 (defun mime/get-text/enriched-face (str)
13 (let ((sym (intern str)))
18 (defun mime/decode-text/enriched-region (beg end)
22 (narrow-to-region beg end)
24 (let (cmd sym (fb (point)) fe b e)
25 (while (re-search-forward
26 "[ \t\n\r]*<[^<>\n\r \t]+>[ \t\n\r]*" nil t)
27 (setq cmd (buffer-substring (match-beginning 0) (match-end 0)))
29 (string-match "^[ \t\n\r]*<" cmd)
30 (setq cmd (substring cmd (match-end 0)))
31 (string-match ">[ \t\n\r]*$" cmd)
32 (setq cmd (substring cmd 0 (match-beginning 0)))
33 (setq sym (mime/get-text/enriched-face cmd))
34 (cond ((string= cmd "nl")
35 (fill-region fb (point) t)
39 ((member sym (face-list))
46 (if (re-search-forward (concat "[ \t\n\r]*</"
51 (setq e (- (point) 1))
55 (hilit-unhighlight-region b e)
56 (hilit-region-set-face b e sym)
58 (fill-region fb (point) t)
61 (defun mime/decode-text/enriched-body ()
65 (let ((beg (point-min)) (end (point-max)))
66 (goto-char (point-min))
67 (if (search-forward "\n\n" nil t)
68 (setq beg (match-end 0))
70 (mime/decode-text/enriched-region beg end)
74 (aput 'mime/content-filter-alist
75 "text/enriched" (function mime/decode-text/enriched-body))
77 (aput 'mime/content-filter-alist
78 "text/richtext" (function mime/decode-text/enriched-body))