diff doc/ja-mhl.me @ 0:bce86c4163a3

Initial revision
author kono
date Mon, 18 Apr 2005 23:46:02 +0900
parents
children
line wrap: on
line diff
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/doc/ja-mhl.me	Mon Apr 18 23:46:02 2005 +0900
@@ -0,0 +1,250 @@
+.\"	This file is automatically generated.  Do not edit!
+.\"		written by MH-plus project
+.SC MHL 1
+.NA
+mhl \- MH メッセージを整形する
+.SY
+/usr/local/mh/lib/mhl
+\%[\-bell] \%[\-nobell]
+\%[\-clear] \%[\-noclear]
+\%[\-folder\ +folder]
+\%[\-form\ formfile]
+\%[\-length\ lines] \%[\-width\ columns] 
+\%[\-moreproc\ program] \%[\-nomoreproc]
+\%[files\ ...]
+\%[\-help] 
+.DE
+\fImhl\fR はメッセージを整形表示するプログラムです。
+これは \fImore\fR\0(1) (デフォルトの \fIshowproc\fR\0)
+の置換えとして設計されています。
+\fImore\fR 同様、
+引数(あるいは標準入力)として指定されたメッセージそれぞれを出力します。
+もし、複数のメッセージが指定された場合、
+それぞれの出力前にプロンプトが出、
+<RETURN> または <EOT> で出力を開始します。
+<RETURN> の場合は(適切な場合は)画面を消去し、
+<EOT> (通常は CTRL\-D) の場合は画面消去はしません。
+<INTERRUPT> (通常は CTRL\-C) はそのメッセージの出力をやめて、
+次のメッセージ(あるのなら)のプロンプトを出します。
+<QUIT> (通常 CTRL-\\) はプログラムを終了します(コアダンプはしません)。
+
+`\-bell' オプションを付けると、
+\fImhl\fR はそれぞれのページの最後でベルを鳴らします。
+一方、`\-clear' オプションを付けると、
+\fImhl\fR はそれぞれのページの最後で画面を消去します
+(または、それぞれのメッセージの後で改ページを出力します)。
+これらのオプションは両方とも(そしてその逆の意味のものも)
+プロファイル・エントリ \fImoreproc\fR が空と定義されていて、
+\fImhl\fR が端末に出力している時にだけ効果があります。
+\fImoreproc\fR エントリが空でなく何か定義されていて、
+\fImhl\fR の出力が端末の場合は、
+\fImhl\fR は、\fImoreproc\fR を端末と \fImhl\fR の間に置き、
+これらのオプションを無視します。
+さらに、
+`\-clear' オプションが指定され、\fImhl\fR の出力が端末の場合、
+\fImhl\fR は画面消去の方法を見つけるために、
+ユーザーの端末のタイプを決めようと、環境変数 \fB$TERM\fR と \fB$TERMCAP\fR
+を見ます。
+もし `\-clear' オプションが指定され、\fImhl\fR の出力が端末でない場合
+(例えば、パイプやファイルの場合)、
+\fImhl\fR はそれぞれのメッセージの後に改ページを送ります。
+
+デフォルトの \fImoreproc\fR やプロファイル・エントリを置き換えるためには
+`\-moreproc\ program' オプションが使えます。
+\fImhl\fR をハードコピー端末で起動すると、
+決して \fImoreproc\fR を開始させる事はない点に注意して下さい。
+
+`\-length\ length' と `\-width\ width' オプションはそれぞれ画面の長さと
+幅を設定します。
+デフォルトは \fB$TERMCAP\fR が指し示す値で、
+分からなければ、それぞれ 40 と 80 が使われます。
+
+\fImhl\fR のデフォルトのフォーマット・ファイルは \fImhl.format\fR で
+(これは最初にユーザーの \fIMH\fR ディレクトリの中を探し、次に
+\fI/usr/local/mh/lib\fR ディレクトリの中を探します)、
+これは `\-form\ formatfile' オプションで変更可能です。
+
+最後に、
+`\-folder\ +folder' オプションは \fIMH\fR フォルダ名を設定します。
+これは後述の \*(lqmessagename:\*(rq 行に使われます。
+デフォルトは、環境変数 \fB$mhfolder\fR が使われ、
+\fIshow\fR、\fInext\fR、そして \fIprev\fR はこの値を適切に初期化します。
+
+\fImhl\fR は次の二段階で処理します。
+1) フォーマット・ファイルを読んで解釈し、
+そして、2) それぞれのメッセージ(ファイル)を処理します。
+第一段階では、
+フォーマットの内部表現が構造リストとして作られます。
+第二段階では、
+このリストがそれぞれのメッセージに使われ、
+フォーマット・ファイルの指定する形式に従って出力します。
+
+\*(lqmhl.format\*(rq フォーム・ファイルは、画面消去、画面サイズ、
+行の折り返し、通過するテキスト、コンポーネントの順序、
+そしてコンポーネントの形式などを制御する情報を含んでいます。
+さらに、無視すべきコンポーネントのリスト、特別なコンポーネントの組合せが
+機能を追加するために定義されます。
+出力メッセージはフォーマット・ファイルで指定された順序で出力されます。
+
+mhl.format のそれぞれの行は以下の形式のどれかです。
+
+     ;comment
+     :cleartext
+     variable[,variable...]
+     component:[variable,...]
+
+`;' で始まる行は注釈で、無視されます。
+`:' で始まる行は生のテキストで、そのまま出力されます。
+`:' だけからなる行は空行が出力されます。
+\*(lqcomponent:\*(rq で始まる行は指定のコンポーネントの形式を定義します。
+そして、最後に残った行は全体の環境を定義します。
+
+例えば、次の行は
+
+.ti +.5i
+width=80,length=40,clearscreen,overflowtext="***",overflowoffset=5
+
+画面の大きさを幅 80、長さ 40に設定し、
+画面はそれぞれのページを表示する前に消去されるべきである事を表し、
+行があふれた場合の字下げは 5 で、
+その場合は \*(lq***\*(rq というテキストで示す事を示しています。
+
+以下に挙げるのは現在使える変数とその引数の全てです。
+もし、これらがコンポーネントに続いていた場合は、
+それはそのコンポーネントにだけ適応され、
+そうでない場合は、全体に対して適応されます。
+全ての形式は実際に出力が始まる前に解析されますので、
+フォーマットの最後に全体に影響する変数を書いた場合でも
+(例えば、bell、clearscreen、width、length)、
+それは最初からメッセージ全体に適応されます。
+
+.nf
+.in +.5i
+.ta \w'noclearscreen  'u +\w'integer/G  'u
+\fI変数\fR	\fI型\fR	\fI意味\fR
+width	整数	画面の幅、またはコンポーネントの幅
+length	整数	画面の長さ、またはコンポーネントの長さ
+offset	整数	\*(lqcomponent: \*(rq に対する字下げ量
+overflowtext	文字列	あふれた行の最初に使われるテキスト
+overflowoffset	整数	あふれた行の字下げ量
+compwidth	整数	コンポーネントの最初の行が出力された後の
+		テキストに対する字下げ量
+uppercase	フラグ	このコンポーネントのテキストは大文字で出力
+nouppercase	フラグ	大文字にしない
+clearscreen	フラグ/G	それぞれのページの前に画面を消す
+noclearscreen	フラグ/G	画面消去しない
+bell	フラグ/G	それぞれのページの最後でベルを鳴らす
+nobell	フラグ/G	ベルを鳴らさない
+component	文字列/L	このコンポーネントに対する
+		\*(lqcomponent\*(rq の代わりに使われる名前
+nocomponent	フラグ	このコンポーネントは \*(lqcomponent: \*(rq を
+		出力しない
+center	フラグ	コンポーネントを行の真中に出力
+		(一行のコンポーネントでのみ働く)
+nocenter	フラグ	真中に寄せない
+leftadjust	フラグ	それぞれの行で行頭のスペースを取り除く
+noleftadjust	フラグ	leftadjust しない
+compress	フラグ	テキスト中の改行をスペースに置き換える
+nocompress	フラグ	compress しない
+split	フラグ	複数の行を一行にまとめない
+nosplit	フラグ	複数の行を一行にまとめる
+newline	フラグ	コンポーネントの最後に改行を書く
+		(デフォルト)
+nonewline	フラグ	コンポーネントの最後に改行を書かない
+formatfield	文字列	このコンポーネントに対する
+		フォーマット文字列 (後述)
+decode	フラグ	非ASCII文字のMIME表現をデコードする
+addrfield	フラグ	アドレスを含む行
+datefield	フラグ	日付を含む行
+.re
+.in -.5i
+.fi
+
+整数値と文字列値の変数の値を指定するには、
+それらの名前の後ろにイコール記号と値を書けばいいです。
+整数値の変数は 10進数の値を置き、
+文字列値の変数はダブルクォートで囲まれた任意のテキストを置きます。
+上記の表で型に \*(lq/G\*(rq または \*(lq/L\*(rq が付いているものは、
+その値は(それぞれ)全体に対する指定、またはそのコンポーネントだけに対する指定
+が出来るものです。
+
+以下の
+
+    ignores=component,...
+
+という形式の行は、
+出力されない(無視する)コンポーネントのリストを指定します。
+
+コンポーネント \*(lqMessageName\*(rq (大文字小文字は区別しない)は
+指定された、または環境で見つかったフォルダ名と、
+実際のメッセージ名(ファイル名)が出力されます。
+形式は \fIshow\fR に `\-header' オプションをつけた時に出力されるものと
+同じです。
+
+コンポーネント \*(lqExtras\*(rq は明示的に指定されていないコンポーネントで、
+無視するコンポーネントのリストにも入っていない
+全てのコンポーネントを出力します。
+もし、このコンポーネントが指定されてない場合は、
+明示的に指定されてないコンポーネントは無視されるので、
+無視するコンポーネントのリストは必要ありません。
+
+もし \*(lqnocomponent\*(rq が指定されてない場合、
+コンポーネント名はフォーマット・ファイルに書かれている通りに出力されます。
+
+デフォルトのフォーマットは次の通りです。
+
+.nf
+.in +.5i
+.ne 15
+.eo
+.so /usr/local/mh/lib/mhl.format
+.ec
+.in -.5i
+.fi
+
+変数 \*(lqformatfield\*(rq はフォーマット文字列を指定します
+(\fImh\-format\fR\0(5) を参照)。
+フラグ値 \*(lqaddrfield\*(rq と \*(lqdatefield\*(rq
+(これらは相互排他的です)は、
+\fImhl\fR にフォーマット文字列中のエスケープの解釈で、
+それぞれアドレスか日付かを指定します。
+
+デフォルトでは、
+\fImhl\fR はアドレスや日付を含む行
+(これらの行のリストは \fImh\-mail\fR\0(5) を参照)
+には何の整形もしません。
+\fImhl\fR はアドレスや日付に対してフォーマット文字列を適応させようとすると、
+その解析をしなければならないので、この結果、速い処理が可能になります。
+もし望むなら、
+\fImhl\fR にアドレスまたは日付(両方ではない)に対してデフォルトのフォーマット
+文字列を与える事が出来ます。
+これをするためには、全体に対して効くように、
+addrfield または datefield フラグを適切な formatfield 変数値と共に指定して
+下さい。
+.Fi
+^/usr/local/mh/lib/mhl.format~^メッセージのテンプレート
+^あるいは <mh\-dir>/mhl.format~^が標準のテンプレートに代わる
+^$HOME/\&.mh\(ruprofile~^ユーザーのプロファイル
+.Pr
+^moreproc:~^対話的フロントエンドとして使われるプログラム
+.Sa
+show(1), ap(8), dp(8)
+.De
+`\-bell'
+.Ds
+`\-noclear'
+.Ds
+`\-length 40'
+.Ds
+`\-width 80'
+.Co
+無し。
+.Bu
+`bell' と `clear' の情報をフロントエンドに伝える方法があるべきでしょう。
+
+\fIMH\fR を BERK オプション付で構築したホストでは、
+アドレス解釈は不可能です。
+
+\*(lqnonewline\*(rq オプションは \*(lqcompress\*(rq や \*(lqsplit\*(rq と
+一緒に使うと良くないです。
+.En