2 ;;; $Id: tm-nemacs.el,v 4.4 1994/08/01 05:09:00 morioka Exp $
12 (defconst *internal* 3)
13 (defconst *euc-japan* 3)
22 (defvar mime/lc-charset-and-encoding-alist
25 (cons lc-jp '("ISO-2022-JP" . "B"))
28 (defvar mime/latin-lc-list
31 (defun mime/char-leading-char (chr)
37 (defun string-width (str)
38 "Return number of columns STRING will occupy.
39 [Mule compatible function in tm-nemacs]"
42 (defun char-bytes (chr)
43 "Return number of bytes CHAR will occupy in a buffer.
44 [Mule compatible function in tm-nemacs]"
47 (defun char-width (chr)
48 "Return number of columns CHAR will occupy when displayed.
49 [Mule compatible function in tm-nemacs]"
52 (defun code-convert-string (str ic oc)
53 "Convert code in STRING from SOURCE code to TARGET code,
54 On successful converion, returns the result string,
55 else returns nil. [Mule compatible function in tm-nemacs]"
57 (convert-string-kanji-code str ic oc)
60 (defun check-ASCII-string (str)
63 (setq len (length str))
66 (if (>= (elt str i) 128)
73 (defun mime/convert-string-to-emacs (charset str)
74 (cond ((string-match "^ISO-2022-JP$" charset)
75 (convert-string-kanji-code str 2 3))
76 ((string-match "^US-ASCII$" charset) str)
77 ((string-match "^ISO-8859-[1-9]$" charset)
78 (check-ASCII-string str))
83 (defun mime/convert-string-from-emacs (string charset)
84 (cond ((equal charset "ISO-2022-JP")
85 (code-convert-string string *internal* *junet*))
86 ((equal charset "US-ASCII") string)
91 (defun mime/decode-encoded-text (charset encoding str)
92 (let ((ds (mime/convert-string-to-emacs
94 (cond ((string-match "^B$" encoding)
95 (mime/base64-decode-string str))
96 ((string-match "^Q$" encoding)
97 (mime/Quoted-Printable-decode-string str))
99 (message "unknown encoding %s" encoding)
100 (concat "=?" charset "?" encoding "?" str "?=")
104 (concat "=?" charset "?" encoding "?" str "?="))