Mercurial > hg > Applications > mh
diff conf/doc/ja-mhl.rf @ 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/conf/doc/ja-mhl.rf Mon Apr 18 23:46:02 2005 +0900 @@ -0,0 +1,252 @@ +.\" @(MHWARNING) +.\" written by MH-plus project +.SC MHL 1 +.NA +mhl \- MH メッセージを整形する +.SY +@(MHETCPATH)/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@(MHETCPATH)\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 文字列 このコンポーネントに対する + フォーマット文字列 (後述) +@BEGIN: MIME_HEADERS +decode フラグ 非ASCII文字のMIME表現をデコードする +@END: MIME_HEADERS +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 @(MHETCPATH)/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 +^@(MHETCPATH)/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