d2295cda94f593479827c30c2fca629a493f1699
[elisp/tm.git] / tm-rich.el
1 ;;;
2 ;;; $Id: tm-rich.el,v 6.7 1995/07/15 16:45:29 morioka Exp $
3 ;;;
4 ;;; by MORIOKA Tomohiko  <morioka@jaist.ac.jp>
5 ;;;
6
7 (require 'tm-view)
8 (require 'richtext)
9
10
11 ;;; @ content filters for tm-view
12 ;;;
13
14 (defun mime-viewer/filter-text/richtext (ctype params encoding)
15   (let* ((mode mime::preview/original-major-mode)
16          (m (assq mode mime-viewer/code-converter-alist))
17          (charset (assoc "charset" params))
18          (beg (point-min))
19          )
20     (if (and m (fboundp (setq m (cdr m))))
21         (funcall m beg (point-max) charset encoding)
22       (mime-viewer/default-code-convert-region beg (point-max)
23                                                charset encoding)
24       )
25     (richtext-to-enriched-region beg (point-max))
26     (enriched-decode beg (point-max))
27     ))
28
29 (defun mime-viewer/filter-text/enriched (ctype params encoding)
30   (let* ((mode mime::preview/original-major-mode)
31          (m (assq mode mime-viewer/code-converter-alist))
32          (charset (assoc "charset" params))
33          (beg (point-min))
34          )
35     (if (and m (fboundp (setq m (cdr m))))
36         (funcall m beg (point-max) charset encoding)
37       (mime/code-convert-region-to-emacs beg (point-max)
38                                          charset encoding)
39       )
40     (enriched-decode beg (point-max))
41     ))
42
43
44 ;;; @ setting
45 ;;;
46
47 (set-alist 'mime-viewer/content-filter-alist
48            "text/richtext" (function mime-viewer/filter-text/richtext))
49
50 (set-alist 'mime-viewer/content-filter-alist
51            "text/enriched" (function mime-viewer/filter-text/enriched))
52
53
54 (run-hooks 'tm-rich-load-hook)
55
56 (provide 'richtext)