FOLD_E 英文テキストの行を折りたたむ

書法

FOLD_E [filename]* [options]*

SHELLMODE

@記述、!記述、^記述

詳細

英文テキストの行を指定の幅に折りたたんで、標準出力する。
ファイル名を複数書くと、順次処理し、出力する。 このときファイル末の不完全行は行として扱う。 ファイル名を省略すると標準入力を取り扱う。

入力テキストの取扱

タブコード(0x09)
固定幅のタブと解釈して、半角スペースで展開する。タブ幅はデフォルトでは8。 -Tオプションでタブ幅を変更できる。
行末(0x0a)
行末として取り扱う。
その他の制御コード
読み飛ばす。
その他のコード
読みこむ。バイト単位で扱い、漢字シーケンスとして不正であっても処理する。

単語の切出し規則

行を分割する際に出きるだけ単語を分割しないように扱う。 このために、単語の概念が定義されている。
特に指定しない限り、単語は、英数字と_の連続した組み合わせである。 これに該当しない場合は、オプション(-A-S-V)で 単語の定義方法を変更できる。これらは排他的なオプションで、最後のものが有効である。
  1. 単語を構成する文字で指定する(-A
    指定した文字以外に、必ず英数字が単語を構成する文字となる。
    -A$%&と指定すれば、単語を構成するのは、英数字と、$%&である。
    -Aと指定すれば、単語は英数字のみで構成される。_は含まない。
  2. セパレータ文字で指定する(-S
    指定した文字以外のものが、単語を構成する文字となる。
    半角スペースを含める場合には、意図的に指定しなければならない。
    特に、-Sと書いた場合(文字を指定しなかった場合)には、 半角スペースだけが有効なセパレータ文字となり、半角スペース以外の文字は全て単語構成要素となる。
  3. 単語の取扱をしない(-V
    全ての文字が単語構成要素以外となる。 この結果、全てがセパレータ扱いとなり、厳密なバイト幅に詰め合わせを行う。
オプション(-S)の指定でセパレータの並びを定義することで単語の定義を行う。 このとき、オプション(-S)の並びに入らない文字の連続が単語として扱われる。

詰め合わせの規則

  1. 単語(通常は英数字と_)は、基本的に分割せずに行に格納する。
  2. 行の最後の単語が入りきれない場合は、改行する。
  3. 行幅より単語が長い場合は、先頭から行幅分だけ取って分割する。

OPTION

-A[strings]
単語構成要素を指定する。
単語構成要素は、ここに挙げた文字以外に英数字は必ず含まれる。
-S[strings]
セパレータ文字列を指定する。
文字列を指定しなければ、セパレータは半角スペースのみとなる。
-Tnumber
読込時のタブ幅を指定する。(2-256) デフォルトは8。
-Ofilename
出力を指定のファイルに切替える。
-V
単語の切出しを行わない。厳密に文字単位で詰め合わせる。
-Wnumber
行幅を指定する。デフォルトは80。

用例

参考

バージョン

Ver 1.00初版