同じ人と何度もメールのやりとりを行っていると、引用文字列などを付加することにより行の長さが長くなっていきます。 パソコン通信などではある一定行で折り返されたり、切られたりして非常に読みづらいことになります。 そのため、一端メッセージを組み直して、折り返すことにより指定行内に収めるためのソフトです。
また、パソコン通信でメッセージをアップするときに、指定桁数で折り返さなければいけませんが、その時にこのプログラムで処理することによって、折り返し作業が楽になります。
mailtf [-fformatfile / -ini / -ini:inifile] filename
filenameの拡張子で前処理か後処理(もしくはメッセージの整形)かの判断を行います。 出力はファイル名の拡張子を「出力ファイル拡張子」に変更したファイルを作成し、そこに出力します。 エラーがある場合はファイル名の拡張子を「エラー出力拡張子」に変更したファイルと画面に出力します。
標準の設定で使用する場合はフォーマットファイルの指定は必要ありませんが、 それ以外の設定で使用する場合コマンドラインオプションの-fに続いて使用したいフォーマットファイルを指定します。
また、Windows版のiniファイルの指定を使用したい場合、同じディレクトリにある標準iniファイル(MAILTFW.INI)を指定する場合は-iniのみで指定できます。
違うディレクトリもしくは標準以外のiniファイルを指定する場合は-ini:に続いてiniファイル名を指定します。
ファイル指定時にはドライブ名、パス名を含めて指定することが可能です。
まず、相手のメールから本文を切り出し次のようにしてプログラムに掛けます。
mailtf mail.rcv
この場合、拡張子の.rcvで受信メールだと判断しています。
ここで、mail.rcvは相手のメールから切り出した本文のファイルとした場合、出力ファイルとしてmail.outができます(出力の拡張子を.outに設定した場合)。
この出力ファイルを元にして返事を書くわけです。 受信処理の場合はエラーはありませんから、エラーファイルができることはありません。
自分の書いたテキストをプログラムに掛けます。
mailtf mail.out
この場合、拡張子の.outで送付メール(もしくはパソコン通信用メッセージ)だと判断しています。
ここではmail.outを入力として受け取り、出力ファイルとしてmail.sndが作成されます(出力の拡張子を.sndに設定した場合)。
元のファイルmail.outにエラーがあった場合は、mail.errが作成されます(エラー出力の拡張子を.errに設定した場合)。 エラーがない場合はエラーファイルが作成されることはありません(実際は一端作成され、出力がない場合は削除される)。
まず、何度かメールをやり取りをして、以下のようなメールが来たとします。
>>ところで最近はやりの文庫ですが、ちょっと値段が高くありません?もうちょっ
>>と安くできないでしょうかね。
>>文庫で出ている作品は巻数が多いので全巻購入するのが大変なんですよね。
>ええ、ちょっと高いですね。でも、カラーのものもあるし、それなりの絵の綺麗
>さを出さなけばいけないので、しょうがないんでしょうね。
出来れば300円台、高くても400円までが希望なんですけどね。
このテキストをプログラムで前処理すると、以下のような出力が得られます。
@~3
ところで最近はやりの文庫ですが、ちょっと値段が高くありません?もうちょっ
と安くできないでしょうかね。
文庫で出ている作品は巻数が多いので全巻購入するのが大変なんですよね。
@~2
ええ、ちょっと高いですね。でも、カラーのものもあるし、それなりの絵の綺麗
さを出さなけばいけないので、しょうがないんでしょうね。
@~1
出来れば300円台、高くても400円までが希望なんですけどね。
この文の折り返しを元に戻して、こちらからの返事を付け加えたのが次の文です。 付け加えた部分はこんな表示の部分です。
@~3
ところで最近はやりの文庫ですが、ちょっと値段が高くありません?もうちょっと安くできないでしょうかね。
文庫で出ている作品は巻数が多いので全巻購入するのが大変なんですよね。
@~2
ええ、ちょっと高いですね。でも、カラーのものもあるし、それなりの絵の綺麗さを出さなけばいけないので、しょうがないんでしょうね。
@~1
出来れば300円台、高くても400円までが希望なんですけどね。
@~0
500円を超えるようだと、文庫とは言えませんね。よっぽど厚い文庫ならともかく、そんなに厚くないのですから程々の値段にして欲しいと思います。
こちらからの文には@~0のコマンドで引用文字が付かないようにして、返事を書いていきます。
そしてこの後で、プログラムで処理すると、以下のような文になります。
>>>ところで最近はやりの文庫ですが、ちょっと値段が高くありません?もうちょっ
>>>と安くできないでしょうかね。
>>>文庫で出ている作品は巻数が多いので全巻購入するのが大変なんですよね。
>>ええ、ちょっと高いですね。でも、カラーのものもあるし、それなりの絵の
>>綺麗さを出さなけばいけないので、しょうがないんでしょうね。
>出来れば300円台、高くても400円までが希望なんですけどね。
500円を超えるようだと、文庫とは言えませんね。よっぽど厚い文庫ならともか
く、そんなに厚くないのですから程々の値段にして欲しいと思います。
これで処理が終わって送付メールの準備が出来ました。
メールでこのプログラムを使うときは、まず相手にメッセージの折り返しの変更をしていいか同意を取ってからにしてください。 メッセージの折り返しの変更を不快に思う人もいますし、同意が取れないときに使用して関係が悪くなったとしても作者は責任は持てません。
もし同意が取れない、もしくは同意を求めるほどメールのやりとりがない場合は、次に説明するパソコン通信などでのメッセージ整形での使い方と同じ使い方をすれば、折り返しの変更はされませんし、自分のメッセージの整形を行うことが出来ます。
パソコン通信でメッセージの整形に使う場合、メールでの送信とほぼ同じですが、人のメッセージの折り返しは変更しない方が賢明です。 そのため、他の人のメッセージを参照する場合、以下のようにします。
サンプルメッセージ。これが他の人のメッセージだと仮定して
整形のサンプルとします。
これの場合、素直に参照マークを付けて、引用します。 この際にレス書きツールなどを利用すると自動的に参照マークを付けてくれるので便利です。 参照マークを付けて引用すると以下のようになります。
>サンプルメッセージ。これが他の人のメッセージだと仮定して
>整形のサンプルとします。
このままだと、ソフトで折り返しされてしまう可能性がありますので、折り返し禁止の@nopを前後に挿入します。
@nop
>サンプルメッセージ。これが他の人のメッセージだと仮定して
>整形のサンプルとします。
@nop
この後に自分のメッセージを書いていけば、自分のメッセージだけ折り返され、他の人のメッセージは発言に発言マークを付けた状態のまま引用として使えます。
もちろんこの場合@nopで囲まれた内側は自動折り返しが掛かりませんから、パソコン通信での折り返し規則に引っかからないように注意する必要があります(普通の人は短めに書くから大丈夫だと思いますが...)。
コマンドは送信メールでの整形やパソコン通信の整形時に使用します。 メッセージの整形に役立つようなコマンドになっています。
@~num
numで指定した数の引用マークをメッセージの前につけます。送信、受信メールの時はソフト側で処理しますので、特に必要ありませんが、@~0は引用マークをつけないことために自分で指定する必要があります。
パソコン通信のメッセージなどでは使う必要はありません。
@i+
指定分のインデントを行頭につけます。 インデントの深さは番号付けにも影響を及ぼしますので注意してください。
@i-
インデントを戻します。
@n
番号を付加します。 このコマンドを使用するたびに1づつ増やされた数が付加される(2桁以内)。
@nc
@nの番号をクリアし、次の@nから1として設定します。
@incl(filename)
filenameのファイルをインクルードします。 インクルードされるファイルも整形されるので、埋め込みコマンドを使うことができます。 ただし、このコマンドはネストして行うことはできません(filenmaeの中で@inclは使うことができません)。
@incn(filename)
filenameのファイルをインクルードします。 ただし、読み込まれるファイルは整形しませんので、エンコードされたテキストとか整形済みのテキストをインクルードするときに使用してください。
@nop
このコマンドに挟まれた部分は整形しません。ishやuuexでエンコードされた部分など整形して欲しくない場合に使用してください。
@sep
デフォルトの行セパレートを入れます。 デフォルトの行セパレートは、半角のハイフンで行を区切り、文字列は無し、長さは改行開始桁に設定してあります。
@sep(=,sample,c,60)
個別指定の行セパレートを入れます。
ここでのサンプル指定は、半角のイコールで行を区切り、文字列はsampleとしてその文字列をセパレートの中心に入れて、60桁位置までラインを引くという指定になります。
デフォルト指定で良い場合はヌル文字列(カンマの間に文字を入れない)にしてください。
個々の引数の指定を説明します。
@setv(sv,val)
svにvalを設定します。 これ以降はこの指定通りに整形されます。
svは以下のものが指定できます。
valにはsvに設定する値を指定します。 元の指定(フォーマットファイルに指定された値)に戻す場合はvalにorgを指定します。 行頭/行末禁則文字にカンマが含まれている場合はダブルクウォーテーションで括ってください。
実際にフォーマットファイルは圧縮ファイル内のMAILTF.FMTを参照していただきたいのですが、その中の項目の説明を行いたいと思います。 なお、このファイルを変更する場合は、=の左側(項目名)は変更しないでください。 その項目が読み込めなくなってしまいます。
添付のMAILTF.FMTは標準時の設定を載せています。 標準設定のまま使用する場合はフォーマットファイルを使用する必要はありませんが、変更して使用する場合は-fオプションを使用してフォーマットファイルを指定して実行するようにしてください。
なお、ここで説明しているデータはデフォルトのデータです。
引用文字=>
引用文字に何を使うかを設定します。 通常は>または>を使います。 複数指定は出来ません。 そのため、相手側の使っている引用文字と自分が使っている引用文字が違う場合はこのプログラムはしよう出来ません。
改行開始桁=71
この桁を越えた位置から改行を開始しようとします。 ただし英単語などでこの位置を越えるような場合はこの前で改行される可能性があります。 また、行頭禁則文字の場合はこの位置を越えても改行されないことがあります。
改行許容+=6
改行開始桁よりこの値を超えて改行できなかった場合はエラーとして出力します(行は長いままですが出力されています)。 そのため、この値が小さいとエラーとして表示されることが多くなります。 逆に少ないとエラーとして表示されることは減りますが、行末がバラバラになりやすいです。
改行許容−=6
改行開始桁よりこの値より前で改行しなければならなかったときにwarning(警告)を出力します。 そのため、この値が小さいとwarningが出力されることが多くなります。
行頭禁則文字=」})】〕』ー。、-).,」:;=ぁぃぅぇぉっァィゥェォッ>>??ゃゅょャュョ・.,
行頭禁則文字を示します。 この文字が行頭に来るようだったら、前の行に文字を送ることによってこれらの文字が行頭に来ないように配置します。 なお、半角空白と全角空白は(分の最初でない限りは)行頭禁則対象として扱われます。
行末禁則文字=(「{【〔《『([{「<<\¥
行末の禁則文字を示します。この文字が行末に来るようだったら、次の行に送ってこの文字が行末に来ないようにします。
タブ展開=4
タブ文字が半角空白いくつに展開されるかを指定します。 ただ置換するのではなくタブ指定カラムとして置換しますから、実際は1〜4個のうち適切な空白に展開されます。
インデント=4
インデント指定コマンド(@i+,@i-)の時に、いくつの半角空白を使ったインデントを行うか指定します。 この値が4の時に@i+が2つ指定されていると、行頭には8個の半角空白がつくことになります。
受領メール変換前拡張子=.TXT
指定ファイルの拡張子がこの指定と一致した場合は受領メールの処理(前処理)として指定ファイルを処理します。 この指定は後述する送付メール変換前拡張子と同じ指定にしないでください。 どちらの処理を行えばいいか判断できなくなります。
受領メール変換後拡張子=.OUT
受領メールの処理(前処理)を行った結果の出力ファイルの拡張子を指定します。 指定ファイルの拡張子をこの設定に変更したファイルをオープンし、そこに変換結果を出力します。
送付メール変換前拡張子=.MPP
指定ファイルの拡張子がこの指定と一致した場合は送付メールの処理(後処理)として指定ファイルを処理します。 この指定は前述した受領メール変換前拡張子と同じ指定にしないで下さい。 どちらの処理を行えばいいか判断できなくなります。
送付メール変換後拡張子=.TXT
送付メールの処理(後処理)を行った結果の出力ファイルの拡張子を指定します。 指定ファイルの拡張子をこの設定に変更したファイルをオープンし、そこの変換結果を出力します。
エラーログ出力拡張子=.ERR
送付メールの処理(後処理)を行った結果、エラーが出た場合に作成するエラーファイルの拡張子を指定します。 指定ファイルの拡張子をこの設定に変更したファイルをオープンし、そこにエラー出力(画面に出力されるのと同じもの)を出力します。 なお、エラーが無く、このファイルが不要の場合は一旦作成されてもこのファイルは削除されます。 この拡張子は「送付メール変換後拡張子」と同じ指定にしないで下さい。 変換結果の出力がおかしくなってしまいます。