長南です。 これは、とても工夫した訳だと思います。つまり、そのまま直訳風に訳したのでは、 わかりにくいところを原文から離れることを恐れずに説明的に訳している。 それは結構だと思います。しかし、私は端末表示の理屈を全く知らないので、 その工夫した説明にもよくわからないところがあります。 私は、よくわからない説明があるときは、実際にそれをやってみることにしています。 「半改行」とか「逆方向への半改行」というのは、H2O の 2 や a の 3 乗の 3 のような上付き文字や下付き文字を表示する方法のことですか (下線はどうなんだろう)。 そういったものをどうやったら端末に表示できるのでしょうか。それとも、上付きや 下付き文字の表示というのは、プリンタで印刷した場合の話なんでしょうか。 「注意」セクションに 「ESC-7 逆方向に改行する (エスケープの後に 7)」などと あります。これはどうすれば試せるんでしょうか。「エスケープの後に 7」というのは、 "\033[7" ということですか。 ○ 説明: col filters out reverse (and half-reverse) line feeds so the output is in the correct order, with only forward and half-forward line feeds. It also replaces any whitespace characters with tabs where possible. This can be useful in processing the output of nroff(1) and tbl(1). col は、逆方向への改行および半改行を取り除き、 通常の改行方向だけで出力 可能なものに変換する。 同時に、可能な限り空白文字部分をタブに置き換える 処理をする。 これは、 nroff(1) や tbl(1) の出力を処理するのに役立つ。 かなり原文から離れた訳になっていますが、素直に訳したのではわかりにくい だろうという判断なら (内容的正しいならですが)、問題ないと思います。 ただ、細かいことですが、「タブに置き換える処理をする」の「処理をする」 は、いらないのではないですか。 ○ オプションの -f, --fine: Permit half-forward line feeds. Normally characters destined for a half-line boundary are printed on the following line. 半改行を含めることを許可する。 通常、行と行の境界に表示されるこ とになる文字は、 次の行に表示される。 「通常」はどこにかかるのでしょう。素直に読めば、"Normally" は、 "destined for ..." ではなく、"are printed on the following line" にかかっていると思います。ちょっと曖昧ですが、翻訳もそう言っているのでしょう。 つまり、下付き文字は、その下付き文字が付く文字のある行ではなく、一行下に 表示されるということ。だったら、normally を後ろに持っていって、 「(本来なら) 行と行の境界に表示されるはずの文字は、たいていの場合 次の行に表示される。」 ぐらいの方が紛らわしくないのではないでしょうか。「たいていの場合」は 「通常、普通」でもよいですけれど。なお、下線は下線の付く文字と同じ行に 表示されるようです。下付き文字については、実験してみたいと思いますが、 どうやったらよいのでしょうか。 ○ -p, --pass Force unknown control sequences to be passed through unchanged. Normally col will filter out any control sequences other than those recognized and interpreted by itself, which are listed below. 不明なコントロール文字を変更せずに表示する。 通常 col は、以下に 挙げるような認識・解釈できる コントロール文字でなければ、その文 字を入力から取り除く。 単に「表示する」では軽すぎると思いますが、"force" という言葉は 訳すのが難しい。「不明なコントロールシーケンスでも、あえて手を加えず そのまま通す」というのを考えましたが、イマイチかも。何かよい訳が ないでしょうか。 「解釈できる」の後ろに空白が入っています。ご存知でしょうが、roff の原稿では、 改行は英数字、空白、句読点の後だけにしたほうが、結果がきれいです。 "recognized and interpreted by itself" の "by itself" (自分で、 自力で、自前で) は、訳出したほうがよいと思います。 "control sequences" ですが、NOTES で "All unrecognized control characters and escape sequences" という言い方をしていますから、 "control characters" と "escape sequences" を合わせて "control sequences" と言っているのではないでしょうか。そうだとしたら、ここは、 「コントロール文字、その文字」より「コントロールシーケンス、それ」の方が よいと思います。"which are listed below" は、パラグラフの最後に 持ってきたほうがよいと思いますが、それは好みの問題。 ○ NOTES というセクション名: 「注意」でも構いませんが、意味的には「メモ、注記」だと思います。 ○ NOTES: The control sequences for carriage motion that col understands and their decimal values are listed in the following table: col が認識する復帰動作のためのコントロール文字と、 その文字の 10 進数で の値を以下の表に示す: エスケープシーケンスもあるようなので、ここもコントロールシーケンスの方が よいのではないでしょうか。 "carriage motion" というのは、「復帰動作」ではなく、タイプライターの キャリッジの動作だと思います。半改行やタブは復帰動作ではないでしょう。 今ではタイプライターなんて見たことのない人も多いだろうから、キャリッジでは わからないのではないか、ということなら、「文字を表示する位置の前後左右や 行頭への移動について、col が認識するコントロールシーケンスと、その 10 進数での値を以下の表に示す」ぐらいでしょうか。 ○ これも NOTES: col keeps track of the character set as characters are read and makes sure the character set is correct when they are output. col は文字列を読み込みながら追って行き、 出力する際に正しいかを確認する。 この "keep track of" は、むしろ「憶えている」でしょう。 「文字」なら「追跡」できるでしょうが、「文字セット」を追跡するのは 変ですから。また、"make sure (that)" は、「確認する」とも訳せますが、 辞書には「必ず (確実に) ...する」という訳もあります。 つまり、「that 以下が、必ず (確実に) 起こるようにする」。 「col は文字を読み込むとき、その文字セットを憶えておき、出力する際に 必ずその文字セットを使うようにする」あるいは、「出力する際に正しい 文字セットを (必ず) 使うようにする」 ぐらいだと思います。 ○ AVAILABILITY: The col command is part of the util-linux package and ... chfn コマンドは、util-linux パッケージの一部であり ... "col" が "chfn" になっています。 -- 長南洋一