Info file: tm-edit-ja.info,    -*-Text-*-
produced by `texinfo-format-buffer'
from filebuffer `*scratch*'
using `texinfmt.el' version 2.40 of  6 Dec 2002.

START-INFO-DIR-ENTRY
* Tm-Edit-Ja::         MIME composer for GNU Emacs (日本語版)
END-INFO-DIR-ENTRY



File: tm-edit-ja.info, Node: Top, Next: Introduction, Prev: (dir), Up: (dir)

tm-edit 7.100 説明書（日本語版）
********************************


This file documents tm-edit, a MIME composer for GNU Emacs.

GNU Emacs 用の MIME composer である `tm-edit' について説明します。

* Menu:

* Introduction::                What is tm-edit?
* mime/editor-mode::
* single-part operations::      single-part に対する操作
* enclosure operation::         enclosure に対する操作
* other operations of mime/editor-mode::  mime/editor-mode におけるその他の操作
* tag specification for inserted file::  挿入される file に対する tag の決定
* transfer level::
* header::                      header での非 ASCII 文字の使用
* PGP::
* Acknowledgments::             謝辞
* Concept Index::               概念索引
* Function Index::              関数索引
* Variable Index::              変数索引



File: tm-edit-ja.info, Node: Introduction, Next: mime/editor-mode, Prev: Top, Up: Top

What is tm-edit?
****************

*tm-edit* は GNU Emacs で動作する汎用的な MIME composer です。


tm-edit は GNUS の作者としても有名な 梅田 政信
<umerin@mse.kyutech.ac.jp> さんが書かれた`mime.el' を基に

   * RFC 1521/1522 化
   * Content-Disposition field (*Note (tm-ja)Content-Disposition::) (RFC 1806)
     の利用
   * 入れ子になった multi-part message (*Note (tm-ja)multipart::)
   * PGP (*Note PGP::)
   * file type における parameter の自動指定の強化

などの改良を行いました。

tm-MUA (*Note (tm-ja)tm-MUA::) では tm-edit を使うことにより、容易に
MIME message を作成できます。




File: tm-edit-ja.info, Node: mime/editor-mode, Next: single-part operations, Prev: Introduction, Up: Top

mime/editor-mode
****************

*mime/editor-mode* は MIME message を作成するための minor mode です。
この mode では *tag* を使ってさまざまな種類の data を表現し、複数の部
分からなる message (*Note (tm-ja)multipart::) を編集することを可能にし
ています。

tag には

   *  single-part tag
   *  multi-part tag

の２つがあります。

single-part tag は single part を表現するための tag で、

	     --[[TYPE/SUBTYPE;PARAMETERS][ENCODING]
	     OPTIONAL-FIELDS]

というような形をしています。

TYPE/SUBTYPE および PARAMETERS は Content-Type field (*Note
(tm-ja)Content-Type field::) の type/subtype および parameters を表し
ます。TYPE/SUBTYPE は必須であり、PARAMETERS は省略可です。

ENCODING は Content-Transfer-Encoding field を表します。これも省略可で
す。


OPTIONAL-FIELDS は Content-Type, Content-Transfer-Encoding 以外の
fieldを書くための部分で、省略可です。

multi-part tag は multi part (*Note (tm-ja)multipart::) を表現するため
のtag で、

	     --<<TYPE>>-@{

という形の *multi-part 開始 tag* と呼ばれる multi part の開始を示す
tag と

	     --@}-<<TYPE>>

という形の *multi-part 終了 tag* と呼ばれる multi part の終了を示す
tag があります。

また、multi-part 開始 tag と multi-part 終了 tag で囲まれた部分を
*enclosure* と呼びます。




File: tm-edit-ja.info, Node: single-part operations, Next: enclosure operation, Prev: mime/editor-mode, Up: Top

single-part に対する操作
************************

single-part を作るための操作には以下のようなものがあります。

`C-c C-x C-t'
     text part を表す single-part tag を挿入します。

`C-c C-x C-i'
     file を MIME part として添付します。前に `C-u' を付けた場合、常に
     media-type, subtype 等を聞いて来ます。(cf. *Note tag
     specification for inserted file::)

`C-c C-x C-e'
     external part を挿入します。

`C-c C-x C-v'
     `C-g' が押されるまで録音を行い、音声 part を挿入します。（使用で
     きない場合があります）

`C-c C-x C-y'
     現在表示中の (mail or news) message を挿入します。（実際の動作は
     使用している MUA に依存します）

`C-c C-x C-m'
     mail message を挿入します。

`C-c C-x C-w, C-c C-x C-s'
     signature を挿入します。

`C-c C-x C-k'
     PGP (*Note PGP::) の公開鍵を挿入します。

`C-c C-x t'
     任意の single-part tag を挿入します。






File: tm-edit-ja.info, Node: enclosure operation, Next: other operations of mime/editor-mode, Prev: single-part operations, Up: Top

enclosure に対する操作
**********************

enclosure を作るための操作としては以下のようなものがあります。

`C-c C-x a'
     指定した region を multipart/alternative として囲みます。

`C-c C-x p'
     指定した region を multipart/parallel として囲みます。

`C-c C-x m'
     指定した region を multipart/mixed として囲みます。

`C-c C-x d'
     指定した region を multipart/digest として囲みます。

`C-c C-x s'
     指定した region に電子署名を行います。(cf. *Note PGP::)

`C-c C-x e'
     指定した region を暗号化します。(cf. *Note PGP::)

`C-c C-x q'
     指定した region 内の tag を無効にし、その tag を文字列として利用
     できるようにします。（現在の版ではうまく働かないことがあります。
     また、電子署名との併用に関しても不完全です）






File: tm-edit-ja.info, Node: other operations of mime/editor-mode, Next: tag specification for inserted file, Prev: enclosure operation, Up: Top

mime/editor-mode におけるその他の操作
*************************************

mime/editor-mode におけるその他の操作を説明します。

`C-c C-c'
     編集中の message を送信します。

`C-c C-x C-p'
     編集中の message を preview します。(cf. *Note
     (tm-view-ja)mime/viewer-mode::)

`C-c C-x C-z'
     編集中の message を送信することなく、mime/editor-mode を終了しま
     す。

`C-c C-x ?'
     help message を表示します。

`C-c C-x /'
     大きな message を送信する場合に message/partial 形式に自動分割可
     能とするかどうかを決めます。

`C-c C-x 7'
     transfer level (*Note transfer level::) を 7bit (*Note
     (tm-ja)7bit::) にします。

`C-c C-x 8'
     transfer level (*Note transfer level::) を 8bit (*Note
     (tm-ja)8bit::) にします。

`C-c C-x v'
     message 全体を電子署名するかどうかを決めます。(cf. *Note PGP::)

`C-c C-x h'
     message 全体を暗号化するかどうかを決めます。(cf. *Note PGP::)

`C-c C-x ?'
     help message を表示します。






File: tm-edit-ja.info, Node: tag specification for inserted file, Next: transfer level, Prev: other operations of mime/editor-mode, Up: Top

挿入される file に対する tag の決定
***********************************

`C-c C-x C-i' (`mime-editor/insert-file') を実行した時、挿入される
file に対する media-type や encoding などの tag の情報は変数
`mime-file-types' によって file 名から推測されます。

前に `C-u' を付けた時、および、適当な値が見付からなかった場合、userに
対して値の入力を促します。（前に `C-u' を付けた時、推測された値が既定
値として用いられます）

file 名に対する既定値を変えたい場合は変数 `mime-file-types'を設定して
下さい。

 -- Variable: mime-file-types

     挿入される file の file 名に対する tag の既定値を与える。

     この変数は

		(FILE_PAT TYPE SUBTYPE PARAMS ENCODING
		 DISPOSITION_TYPE DISPOSITION_PARAMS)


     という list の list で、各要素は以下の通りである：

     `FILE_PAT'
	  file 名を表す正規表現

     `TYPE'
	  media type

     `SUBTYPE'
	  media subtype

     `PARAMS'
	  Content-Type field の parameter

     `ENCODING'
	  Content-Transfer-Encoding

     `DISPOSITION_TYPE'
	  disposition-type

     `DISPOSITION_PARAMS'
	  Content-Disposition field の parameter


     設定例： `*.rtf' に対する media type を application/rtf にする場
     合

	  (call-after-loaded
	   'tm-edit
	   (lambda ()
	     (set-alist 'mime-file-types
		      "\\.rtf$"
		      '("application" "rtf" nil nil
			"attachment" (("filename" . file)))
		      )))





File: tm-edit-ja.info, Node: transfer level, Next: header, Prev: tag specification for inserted file, Up: Top

transfer level
**************

message に挿入する data は 7bit (*Note (tm-ja)7bit::) ないし 8bit
(*Note (tm-ja)8bit::) もしくは binary (*Note (tm-ja)binary::) で表現す
ることができます。

よって、7bit しか通さない MTA (*Note (tm-ja)MTA::) を経由する場合、
7bit のdata はそのままで送れますが、8bit や binary の data は 7bit に
変換しなければなりません。

同様に、8bit しか通さない MTA を経由する場合、7bit や 8bit の data は
そのままで送れますが、binary の data は 7bit か 8bit に変換しなければ
なりません。

*[Memo]* EBCDIC しか通さない MTA を経由する場合、7bit の data も
     base64 等で変換しないと送れませんが、私は EBCDIC のことまでは知り
     ません。(^_^;

     同様に、制御文字を通さない MTA のことや code 変換を行なう MTA も
     消えてなくなって欲しいです。(^_^;

     binary も通す MTA も存在するんでしょうが、今のところあまり一般的
     とはいえないでしょう。

*transfer level* というのはどの範囲の data まで送れるかということを表
すものです。tm-edit は`mime-editor/transfer-level' という変数を持って
おり、これでtransfer level を表現します。


 -- Variable: mime-editor/transfer-level

     transfer level を表す。

     ある data の transfer level がこの値を越える場合、7bit data への
     変換が行われる。

     現在のところ、7 か 8 が有効である。既定値は 7 である。

     EBCDIC を 5, ASCII printable のみを 6, binary を 9 とすることを計
     画しているが、実装の予定はない。



*[Memo]* transfer level は message header (*Note header::) には関
     係しない。RFC 1521は body において、8bit の data を使えるように
     RFC 822 (*Note (tm-ja)RFC 822::) を拡張しているが、message header
     では us-ascii (*Note (tm-ja)us-ascii::) のみを用いることを求めて
     いる。





File: tm-edit-ja.info, Node: header, Next: PGP, Prev: transfer level, Up: Top

header での非 ASCII 文字の使用
******************************

RFC 1522 (*Note (tm-ja)RFC 1522::) では header で非 ASCII 文字を表現す
るための方法を定義しています。

これは *encoded-word* (*Note (tm-ja)encoded-word::) と呼ばれる型式で、
MIME charset (*Note (tm-ja)MIME charset::) を宣言し、かつ、7bit (*Note
(tm-ja)7bit::) で表現することを可能にしています。


* Menu:

* evil setting in header::      どうしても encoded-word を使いたくない場合
* API about header::            header に関する関数・変数



File: tm-edit-ja.info, Node: evil setting in header, Next: API about header, Prev: header, Up: header

どうしても encoded-word を使いたくない場合
==========================================

ところで、header で encoded-word を用いずに生で非 ASCII 文字列を入れる
のは間違っています。なぜなら、Internet ではさまざまな符号化文字集合
(*Note (tm-ja)Coded character set::)が使われており、MIME charset
(*Note (tm-ja)MIME charset::) を明示的に宣言しなければそれらを正確に区
別することはできないからです。

例えば、MIME charset を宣言しなければ iso-8859-1 (*Note
(tm-ja)iso-8859-1::) と iso-8859-2 (*Note (tm-ja)iso-8859-2::) は見分
けが付かないでしょう。

しかしながら、どうしても encoded-word を使いたくない場合には以下の変数
を設定してください。


 -- Variable: mime/field-encoding-method-alist

     field 名と符号化法を表す symbol の対からなる連想 list.

     field 名は文字列、もしくは、任意の文字列を表す `t' である。

     符号化法は、`nil' ならば無変換、`mime' ならばencoded-word, MIME
     charset を表す symbol ならばその符号化文字集合へencoded-word を用
     いずに変換することを表す。

     field 名は文字列から検索され、指定した文字列が見付からなければ`t'
     を用いる。

     既定値は

	  (("X-Nsubject" . iso-2022-jp-2)
	   ("Newsgroups" . nil)
	   (t            . mime)
	   ))

     である。即ち、X-Nsubject field は生の iso-2022-jp-2 (*Note
     (tm-ja)iso-2022-jp-2::), Newsgroup は無変換、それ以外の field は
     encoded-word に変換される。


また、field 毎ではなく、符号化文字集合毎に指定したい場合は、変数
`mime-eword/charset-encoding-alist' を用いてください。(*Note API about
header::)




File: tm-edit-ja.info, Node: API about header, Prev: evil setting in header, Up: header

header に関する関数・変数
=========================

 -- Command: mime/encode-message-header &optional CODE-CONVERSION

     Current buffer の message header に存在する非 ASCII 文字をnetwork
     表現に変換します。

     optional 引数の CODE-CONVERSION に非-nil が指定された場合、
     encoded-word にしない field を`mime/field-encoding-method-alist'
     に従って、code 変換します。


 -- Function: mime/encode-field STRING

     STRING を field として encoded-word に変換します。

     長い行は RFC 822 に従って折返されます。


 -- Function: mime-eword/encode-string STRING &optional COLUMN MODE

     STRING を encoded-word に変換します。

     長い行は RFC 822 に従って折返されます。

     COLUMN はこの文字列が何桁目から始まっているかを指定します。既定値
     は 0 です。

     MODE はこの文字列がどういう部分で使われているかを示します。指定で
     きる値としては `text', `comment', `phrase' があります。既定値は
     `phrase' です。


 -- Variable: mime-eword/charset-encoding-alist

     MIME charset を表す symbol と nil, もしくは、`"B"' か`"Q"' の文字
     列の対からなる連想 list.

     `nil' はその MIME charset を encoded-word にしないことを表し、
     `"B"' はその MIME charset を B 方式の encoded-word にすることを表
     し、`"Q"' はその MIME charset を Q 方式の encoded-word にすること
     を表す。





File: tm-edit-ja.info, Node: PGP, Next: Acknowledgments, Prev: header, Up: Top

PGP
***

tm-edit では *PGP/MIME* (*Note (tm-ja)PGP/MIME::) (RFC 2015) および
*PGP-kazu* (*Note (tm-ja)PGP-kazu::) (draft-kazu-pgp-mime-00.txt)によ
る暗号化・電子署名・公開鍵の挿入機能を利用することができます。

但し、この機能を利用するには Mailcrypt package (*Note (mailcrypt)::)
とpgp command が必要です。

また、変数 `mimed-editor/signing-type' と変数
`mime-editor/encrypting-type' に `pgp-elkins' か`pgp-kazu' を代入して
ください。

`pgp-elkins' を指定した場合 PGP/MIME が使われ、`pgp-kazu' を指定した場
合 PGP-kazu が使われます。


 -- Variable: mimed-editor/signing-type

     PGP での電子書名の形式を指定します。

     `pgp-elkins' か `pgp-kazu' を指定してください。

     既定値は `nil' です。


 -- Variable: mime-editor/encrypting-type

     PGP での暗号化の形式を指定します。

     `pgp-elkins' か `pgp-kazu' を指定してください。

     既定値は `nil' です。





File: tm-edit-ja.info, Node: Acknowledgments, Next: Concept Index, Prev: PGP, Up: Top

謝辞
****

最初に、tm-edit の前身となった `mime.el' を書き、その配布と改造をお許
し下さった、梅田政信さんに感謝します。tm-edit の user interface の基本
的な設計は梅田さんの手によるもので、とても良い設計であったと思います。


次に、beta test に協力して下さった日本語版、英語版双方の tm mailing
list の member に感謝します。




File: tm-edit-ja.info, Node: Concept Index, Next: Function Index, Prev: Acknowledgments, Up: Top

概念索引
********


* Menu:

* enclosure:                    mime/editor-mode.       4.
* encoded-word:                 header.                 4.
* mime/editor-mode:             mime/editor-mode.       4.
* multi-part 開始 tag:          mime/editor-mode.       4.
* multi-part 終了 tag:          mime/editor-mode.       4.
* PGP-kazu:                     PGP.                    4.
* PGP/MIME:                     PGP.                    4.
* tag:                          mime/editor-mode.       4.
* tm-edit:                      Introduction.           4.
* transfer level:               transfer level.         4.



File: tm-edit-ja.info, Node: Function Index, Next: Variable Index, Prev: Concept Index, Up: Top

関数索引
********


* Menu:

* mime/encode-field:            API about header.       17.
* mime/encode-message-header:   API about header.       7.
* mime-eword/encode-string:     API about header.       24.



File: tm-edit-ja.info, Node: Variable Index, Prev: Function Index, Up: Top

変数索引
********


* Menu:

* mimed-editor/signing-type:    PGP.                    22.
* mime-editor/encrypting-type:  PGP.                    31.
* mime-editor/transfer-level:   transfer level.         34.
* mime-eword/charset-encoding-alist: API about header.  38.
* mime/field-encoding-method-alist: evil setting in header.  21.
* mime-file-types:              tag specification for inserted file.  18.

Tag table:
Node: Top259
Node: Introduction1056
Node: mime/editor-mode1638
Node: single-part operations2754
Node: enclosure operation3563
Node: other operations of mime/editor-mode4260
Node: tag specification for inserted file5204
Node: transfer level6467
Node: header7844
Node: evil setting in header8336
Node: API about header9579
Node: PGP10732
Node: Acknowledgments11514
Node: Concept Index11813
Node: Function Index12526
Node: Variable Index12831

End tag table
