Info file: tm-edit-ja.info,    -*-Text-*-
produced by `texinfo-format-buffer'
from file `tm-edit-ja.texi'
using `texinfmt.el' version 2.34 of 7 June 1995.



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.
