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