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