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

Initial revision
author kono
date Mon, 18 Apr 2005 23:46:02 +0900
parents
children
comparison
equal deleted inserted replaced
-1:000000000000 0:bce86c4163a3
1 .\" This file is automatically generated. Do not edit!
2 .\" written by MH-plus project
3 .SC MHL 1
4 .NA
5 mhl \- MH メッセージを整形する
6 .SY
7 /usr/local/mh/lib/mhl
8 \%[\-bell] \%[\-nobell]
9 \%[\-clear] \%[\-noclear]
10 \%[\-folder\ +folder]
11 \%[\-form\ formfile]
12 \%[\-length\ lines] \%[\-width\ columns]
13 \%[\-moreproc\ program] \%[\-nomoreproc]
14 \%[files\ ...]
15 \%[\-help]
16 .DE
17 \fImhl\fR はメッセージを整形表示するプログラムです。
18 これは \fImore\fR\0(1) (デフォルトの \fIshowproc\fR\0)
19 の置換えとして設計されています。
20 \fImore\fR 同様、
21 引数(あるいは標準入力)として指定されたメッセージそれぞれを出力します。
22 もし、複数のメッセージが指定された場合、
23 それぞれの出力前にプロンプトが出、
24 <RETURN> または <EOT> で出力を開始します。
25 <RETURN> の場合は(適切な場合は)画面を消去し、
26 <EOT> (通常は CTRL\-D) の場合は画面消去はしません。
27 <INTERRUPT> (通常は CTRL\-C) はそのメッセージの出力をやめて、
28 次のメッセージ(あるのなら)のプロンプトを出します。
29 <QUIT> (通常 CTRL-\\) はプログラムを終了します(コアダンプはしません)。
30
31 `\-bell' オプションを付けると、
32 \fImhl\fR はそれぞれのページの最後でベルを鳴らします。
33 一方、`\-clear' オプションを付けると、
34 \fImhl\fR はそれぞれのページの最後で画面を消去します
35 (または、それぞれのメッセージの後で改ページを出力します)。
36 これらのオプションは両方とも(そしてその逆の意味のものも)
37 プロファイル・エントリ \fImoreproc\fR が空と定義されていて、
38 \fImhl\fR が端末に出力している時にだけ効果があります。
39 \fImoreproc\fR エントリが空でなく何か定義されていて、
40 \fImhl\fR の出力が端末の場合は、
41 \fImhl\fR は、\fImoreproc\fR を端末と \fImhl\fR の間に置き、
42 これらのオプションを無視します。
43 さらに、
44 `\-clear' オプションが指定され、\fImhl\fR の出力が端末の場合、
45 \fImhl\fR は画面消去の方法を見つけるために、
46 ユーザーの端末のタイプを決めようと、環境変数 \fB$TERM\fR と \fB$TERMCAP\fR
47 を見ます。
48 もし `\-clear' オプションが指定され、\fImhl\fR の出力が端末でない場合
49 (例えば、パイプやファイルの場合)、
50 \fImhl\fR はそれぞれのメッセージの後に改ページを送ります。
51
52 デフォルトの \fImoreproc\fR やプロファイル・エントリを置き換えるためには
53 `\-moreproc\ program' オプションが使えます。
54 \fImhl\fR をハードコピー端末で起動すると、
55 決して \fImoreproc\fR を開始させる事はない点に注意して下さい。
56
57 `\-length\ length' と `\-width\ width' オプションはそれぞれ画面の長さと
58 幅を設定します。
59 デフォルトは \fB$TERMCAP\fR が指し示す値で、
60 分からなければ、それぞれ 40 と 80 が使われます。
61
62 \fImhl\fR のデフォルトのフォーマット・ファイルは \fImhl.format\fR で
63 (これは最初にユーザーの \fIMH\fR ディレクトリの中を探し、次に
64 \fI/usr/local/mh/lib\fR ディレクトリの中を探します)、
65 これは `\-form\ formatfile' オプションで変更可能です。
66
67 最後に、
68 `\-folder\ +folder' オプションは \fIMH\fR フォルダ名を設定します。
69 これは後述の \*(lqmessagename:\*(rq 行に使われます。
70 デフォルトは、環境変数 \fB$mhfolder\fR が使われ、
71 \fIshow\fR、\fInext\fR、そして \fIprev\fR はこの値を適切に初期化します。
72
73 \fImhl\fR は次の二段階で処理します。
74 1) フォーマット・ファイルを読んで解釈し、
75 そして、2) それぞれのメッセージ(ファイル)を処理します。
76 第一段階では、
77 フォーマットの内部表現が構造リストとして作られます。
78 第二段階では、
79 このリストがそれぞれのメッセージに使われ、
80 フォーマット・ファイルの指定する形式に従って出力します。
81
82 \*(lqmhl.format\*(rq フォーム・ファイルは、画面消去、画面サイズ、
83 行の折り返し、通過するテキスト、コンポーネントの順序、
84 そしてコンポーネントの形式などを制御する情報を含んでいます。
85 さらに、無視すべきコンポーネントのリスト、特別なコンポーネントの組合せが
86 機能を追加するために定義されます。
87 出力メッセージはフォーマット・ファイルで指定された順序で出力されます。
88
89 mhl.format のそれぞれの行は以下の形式のどれかです。
90
91 ;comment
92 :cleartext
93 variable[,variable...]
94 component:[variable,...]
95
96 `;' で始まる行は注釈で、無視されます。
97 `:' で始まる行は生のテキストで、そのまま出力されます。
98 `:' だけからなる行は空行が出力されます。
99 \*(lqcomponent:\*(rq で始まる行は指定のコンポーネントの形式を定義します。
100 そして、最後に残った行は全体の環境を定義します。
101
102 例えば、次の行は
103
104 .ti +.5i
105 width=80,length=40,clearscreen,overflowtext="***",overflowoffset=5
106
107 画面の大きさを幅 80、長さ 40に設定し、
108 画面はそれぞれのページを表示する前に消去されるべきである事を表し、
109 行があふれた場合の字下げは 5 で、
110 その場合は \*(lq***\*(rq というテキストで示す事を示しています。
111
112 以下に挙げるのは現在使える変数とその引数の全てです。
113 もし、これらがコンポーネントに続いていた場合は、
114 それはそのコンポーネントにだけ適応され、
115 そうでない場合は、全体に対して適応されます。
116 全ての形式は実際に出力が始まる前に解析されますので、
117 フォーマットの最後に全体に影響する変数を書いた場合でも
118 (例えば、bell、clearscreen、width、length)、
119 それは最初からメッセージ全体に適応されます。
120
121 .nf
122 .in +.5i
123 .ta \w'noclearscreen 'u +\w'integer/G 'u
124 \fI変数\fR \fI型\fR \fI意味\fR
125 width 整数 画面の幅、またはコンポーネントの幅
126 length 整数 画面の長さ、またはコンポーネントの長さ
127 offset 整数 \*(lqcomponent: \*(rq に対する字下げ量
128 overflowtext 文字列 あふれた行の最初に使われるテキスト
129 overflowoffset 整数 あふれた行の字下げ量
130 compwidth 整数 コンポーネントの最初の行が出力された後の
131 テキストに対する字下げ量
132 uppercase フラグ このコンポーネントのテキストは大文字で出力
133 nouppercase フラグ 大文字にしない
134 clearscreen フラグ/G それぞれのページの前に画面を消す
135 noclearscreen フラグ/G 画面消去しない
136 bell フラグ/G それぞれのページの最後でベルを鳴らす
137 nobell フラグ/G ベルを鳴らさない
138 component 文字列/L このコンポーネントに対する
139 \*(lqcomponent\*(rq の代わりに使われる名前
140 nocomponent フラグ このコンポーネントは \*(lqcomponent: \*(rq を
141 出力しない
142 center フラグ コンポーネントを行の真中に出力
143 (一行のコンポーネントでのみ働く)
144 nocenter フラグ 真中に寄せない
145 leftadjust フラグ それぞれの行で行頭のスペースを取り除く
146 noleftadjust フラグ leftadjust しない
147 compress フラグ テキスト中の改行をスペースに置き換える
148 nocompress フラグ compress しない
149 split フラグ 複数の行を一行にまとめない
150 nosplit フラグ 複数の行を一行にまとめる
151 newline フラグ コンポーネントの最後に改行を書く
152 (デフォルト)
153 nonewline フラグ コンポーネントの最後に改行を書かない
154 formatfield 文字列 このコンポーネントに対する
155 フォーマット文字列 (後述)
156 decode フラグ 非ASCII文字のMIME表現をデコードする
157 addrfield フラグ アドレスを含む行
158 datefield フラグ 日付を含む行
159 .re
160 .in -.5i
161 .fi
162
163 整数値と文字列値の変数の値を指定するには、
164 それらの名前の後ろにイコール記号と値を書けばいいです。
165 整数値の変数は 10進数の値を置き、
166 文字列値の変数はダブルクォートで囲まれた任意のテキストを置きます。
167 上記の表で型に \*(lq/G\*(rq または \*(lq/L\*(rq が付いているものは、
168 その値は(それぞれ)全体に対する指定、またはそのコンポーネントだけに対する指定
169 が出来るものです。
170
171 以下の
172
173 ignores=component,...
174
175 という形式の行は、
176 出力されない(無視する)コンポーネントのリストを指定します。
177
178 コンポーネント \*(lqMessageName\*(rq (大文字小文字は区別しない)は
179 指定された、または環境で見つかったフォルダ名と、
180 実際のメッセージ名(ファイル名)が出力されます。
181 形式は \fIshow\fR に `\-header' オプションをつけた時に出力されるものと
182 同じです。
183
184 コンポーネント \*(lqExtras\*(rq は明示的に指定されていないコンポーネントで、
185 無視するコンポーネントのリストにも入っていない
186 全てのコンポーネントを出力します。
187 もし、このコンポーネントが指定されてない場合は、
188 明示的に指定されてないコンポーネントは無視されるので、
189 無視するコンポーネントのリストは必要ありません。
190
191 もし \*(lqnocomponent\*(rq が指定されてない場合、
192 コンポーネント名はフォーマット・ファイルに書かれている通りに出力されます。
193
194 デフォルトのフォーマットは次の通りです。
195
196 .nf
197 .in +.5i
198 .ne 15
199 .eo
200 .so /usr/local/mh/lib/mhl.format
201 .ec
202 .in -.5i
203 .fi
204
205 変数 \*(lqformatfield\*(rq はフォーマット文字列を指定します
206 (\fImh\-format\fR\0(5) を参照)。
207 フラグ値 \*(lqaddrfield\*(rq と \*(lqdatefield\*(rq
208 (これらは相互排他的です)は、
209 \fImhl\fR にフォーマット文字列中のエスケープの解釈で、
210 それぞれアドレスか日付かを指定します。
211
212 デフォルトでは、
213 \fImhl\fR はアドレスや日付を含む行
214 (これらの行のリストは \fImh\-mail\fR\0(5) を参照)
215 には何の整形もしません。
216 \fImhl\fR はアドレスや日付に対してフォーマット文字列を適応させようとすると、
217 その解析をしなければならないので、この結果、速い処理が可能になります。
218 もし望むなら、
219 \fImhl\fR にアドレスまたは日付(両方ではない)に対してデフォルトのフォーマット
220 文字列を与える事が出来ます。
221 これをするためには、全体に対して効くように、
222 addrfield または datefield フラグを適切な formatfield 変数値と共に指定して
223 下さい。
224 .Fi
225 ^/usr/local/mh/lib/mhl.format~^メッセージのテンプレート
226 ^あるいは <mh\-dir>/mhl.format~^が標準のテンプレートに代わる
227 ^$HOME/\&.mh\(ruprofile~^ユーザーのプロファイル
228 .Pr
229 ^moreproc:~^対話的フロントエンドとして使われるプログラム
230 .Sa
231 show(1), ap(8), dp(8)
232 .De
233 `\-bell'
234 .Ds
235 `\-noclear'
236 .Ds
237 `\-length 40'
238 .Ds
239 `\-width 80'
240 .Co
241 無し。
242 .Bu
243 `bell' と `clear' の情報をフロントエンドに伝える方法があるべきでしょう。
244
245 \fIMH\fR を BERK オプション付で構築したホストでは、
246 アドレス解釈は不可能です。
247
248 \*(lqnonewline\*(rq オプションは \*(lqcompress\*(rq や \*(lqsplit\*(rq と
249 一緒に使うと良くないです。
250 .En