colldef(1) FreeBSD 一般コマンドマニュアル

colldef

前のページ 上に戻る 次のページ

colldef




解説

     colldef は、照合シークエンスのソース定義を strxfrm() と strcoll() 関数で
     使えるフォーマットに変換します。すなわち、文字列をソートや照合できるよう
     にする様々な方法を定義するために使われます。 strxfrm() は、その第一引数を
     変換して第二引数の結果に置き換えます。変換された文字列は、 strcmp(),
     strncmp(), memcmp() を使って別の変換された文字列と比較して正しくソートで
     きるようになります。 strcoll() はその引数を変換し、比較を行ないます。

     colldef は、標準入力から照合シークエンスソース定義を読み込み、変換された
     定義を filename に格納します。生成される出力ファイルの内容は、システムコ
     マンドやシステムルーチンが使える形式の照合シークエンス情報を持つデータベ
     ースです。

     オプションリスト:

     -I map_dir
           このオプションは charmap ファイルを探すディレクトリ名を設定します。
           デフォルトでカレントディレクトリです。

     -o out_file
           出力ファイル名を設定します。デフォルトで LC_COLLATE になります。

     照合シークエンス定義は、照合要素集合、およびこれを含む文字列をどのように
     順序付けるかを定義する規則を指定しますこれは異なる言語定義に最も便利で
     す。

     指定ファイルは次の三つのステートメントから成ります: charmap, substitute,
     order

     この中で order ステートメントだけが必須です。 charmapsubstitute が与
     えられたときは、ステートメントの順序は上のようになっていなければなりませ
     ん。 orderステートメントの後のステートメントは無視されます。

     指定ファイルの中で # で始まる行はコメントと扱われ、無視されます。空行も無
     視されます。

     charmap charmapfile

     charmap は、文字のマッピングと実際の文字エンコーディングへの照合要素シン
     ボルが見つかる場所を定義します。

     charmapfile のフォーマットを以下に示します。シンボル名とその値は、タブま
     たは空白文字によって区切られます。 symbol-value は 16 進 (\x??) または 8
     進 (\???)  表現で指定でき、長さは一文字を意味します。

     symbol-name1 symbol-value1
     symbol-name2 symbol-value2
     ...
     charmap ステートメントはオプション指定です。

     substitute symbol with repl_string
     o   シンボル自身 (例えば、小文字の aa と書きます)

     o   シンボルチェーン (例えば、 abc)

     o   8 進表現 (例えば、文字 a には \141)

     o   16 進表現 (例えば、文字 a には \x61)

     o   charmap ファイル内で定義されたシンボル名 (例えば、 charmapfileabc
         \023 に対して <abc> )。文字マップ名が、文字 > を持つ場合は、 />, のよ
         うにエスケープされなければならず、文字 /// のようにエスケープされ
         なければなりません。

     o   シンボル \a, \b, \f, \n, \r, \v は、通常の C言語の意味で使うことが許
         されています。

     o   シンボルの範囲 (例えば a;...;z)

     o   コンマ区切りのシンボル、範囲、チェーンは括弧でくくられます。 (例えば
         ( sym1, sym2, ... )) は同じ一次順序で割り当てられますが、異なる二次順
         序となります。

     o   鈎括弧でくくられたコンマ区切りのシンボル、範囲、チェーン (例えば、 {
         sym1, sym2, ... }) は、同じ一次順序だけに割り当てられます)

     バックスラッシュ文字 \ は、行の継続に使われます。この場合、バックスラッ
     シュ文字の後にはどんな文字も書かれてはなりません。


診断

     colldef は、次の戻り値で終了します。

     0       エラーがなく、出力の生成に成功した場合

     !=0     エラーが見つかった場合


関連ファイル

     /usr/share/locale/<language>/LC_COLLATE localeの配下で、localeの照合順序
     のための標準共有位置


関連項目

     mklocale(1), setlocale(3), strcoll(3), strxfrm(3)

FreeBSD 4.4                    January, 27 1995                    FreeBSD 4.4

ABELNET VPSサービス