スポンサーリンク

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

名称

colldef − 照合シークエンスのソース定義を変換する

書式

colldef [−I map_dir] [−o out_file] [filename]

解説

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
...

シンボル名は substitute フィールドでは指定できません。

charmap ステートメントはオプション指定です。

substitute "symbol" with "repl_string"

substitute ステートメントは、文字 symbol を文字列 repl_string に置き換え ます。

substitute ステートメントはオプション指定です。

order order_list

order_list は、セミコロンで区切られた、照合シークエンスを定義するシンボル のリストです。特殊シンボル ... は、簡略な形の機械語順で連なったシンボルを 指定します。

orderリストの要素は、次の方法のうちのどれかで表現できます。

 シンボル自身 (例えば、小文字の aa と書きます)。

8 進表現のシンボル (例えば、文字 a には \141) 。

16 進表現のシンボル (例えば、文字 a には \x61) 。

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

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

シンボルチェーン (例えば、 abc, <letterA><letterB>c, \xf1b\xf2) 。

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

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

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

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

診断

colldef ユーティリティは、次の戻り値で終了します。

       0

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

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

関連ファイル

       /usr/share/locale/⟨                            language⟩/LC_COLLATE

locale ⟨language⟩ の配下で、locale の照合順序のための標準共有位置

関連項目

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

FreeBSD 10.0 January 27, 1995 FreeBSD 10.0

スポンサーリンク