doc/ja_JP.eucJP/man/man1/colldef.1
Kazuo Horikawa cb5d1a9147 Replace jpman project specific RCS keyword with $FreeBSD.
jpman project specific RCS keyword (jpman %Id) is obsolete,
after manual entries are stored in freefall CVS repository.
This old Id is useless and more worse it confuses users and bug reporters.
So, this old Id is removed.

Submitted by:jpman project <man-jp@jp.FreeBSD.org>
2001-05-14 01:10:24 +00:00

233 lines
5.5 KiB
Groff

.\" Copyright (c) 1995 Alex Tatmanjants <alex@elvisti.kiev.ua>
.\" at Electronni Visti IA, Kiev, Ukraine.
.\" All rights reserved.
.\"
.\" Redistribution and use in source and binary forms, with or without
.\" modification, are permitted provided that the following conditions
.\" are met:
.\" 1. Redistributions of source code must retain the above copyright
.\" notice, this list of conditions and the following disclaimer.
.\" 2. Redistributions in binary form must reproduce the above copyright
.\" notice, this list of conditions and the following disclaimer in the
.\" documentation and/or other materials provided with the distribution.
.\"
.\" THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND
.\" ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
.\" IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
.\" ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR BE LIABLE
.\" FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
.\" DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
.\" OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
.\" HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
.\" LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
.\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
.\" SUCH DAMAGE.
.\"
.\" %FreeBSD: src/usr.bin/colldef/colldef.1,v 1.8.2.3 2001/03/06 12:52:37 ru Exp %
.\"
.\" $FreeBSD$
.\"
.Dd January, 27 1995
.Dt COLLDEF 1
.Os
.Sh 名称
.Nm colldef
.Nd 照合シークエンスのソース定義を変換する
.Sh 書式
.Nm colldef
.Op Fl I Ar map_dir
.Op Fl o Ar out_file
.Op Ar filename
.Sh 解説
.Nm colldef
は、照合シークエンスのソース定義を
.Fn strxfrm
.Fn strcoll
関数で使えるフォーマットに変換します。すなわち、文字列をソートや照合で
きるようにする様々な方法を定義するために使われます。
.Fn strxfrm
は、その第一引数を変換して第二引数の結果に置き換えます。
変換された文字列は、
.Fn strcmp ,
.Fn strncmp ,
.Fn memcmp
を使って別の変換された文字列と比較して正しくソートできるようになります。
.Fn strcoll
はその引数を変換し、比較を行ないます。
.Pp
.Nm colldef
は、標準入力から照合シークエンスソース定義を読み込み、変換された定義を
filename に格納します。
生成される出力ファイルの内容は、システムコマンドやシステムルーチンが
使える形式の照合シークエンス情報を持つデータベースです。
.Pp
オプションリスト:
.Bl -tag -width 4n
.It Fl I Ar map_dir
このオプションは
.Ar charmap
ファイルを探すディレクトリ名を設定します。
デフォルトでカレントディレクトリです。
.It Fl o Ar out_file
出力ファイル名を設定します。
デフォルトで
.Ar LC_COLLATE
になります。
.El
.Pp
照合シークエンス定義は、照合要素集合、
およびこれを含む文字列をどのように順序付けるかを定義する規則を指定します
これは異なる言語定義に最も便利です。
.Pp
指定ファイルは次の三つのステートメントから成ります:
.Ar charmap ,
.Ar substitute,
.Ar order
.Pp
この中で
.Ar order
ステートメントだけが必須です。
.Ar charmap
.Ar substitute
が与えられたときは、ステートメントの順序は上のようになっていなければ
なりません。 orderステートメントの後のステートメントは無視されます。
.Pp
指定ファイルの中で
.Ar #
で始まる行はコメントと扱われ、無視されます。空行も無視されます。
.Pp
.Ar charmap charmapfile
.Pp
.Ar charmap
は、文字のマッピングと実際の文字エンコーディングへの照合要素シンボル
が見つかる場所を定義します。
.Pp
.Ar charmapfile
のフォーマットを以下に示します。
シンボル名とその値は、タブまたは空白文字によって区切られます。
symbol-value は 16 進 (\ex\fI??\fR) または 8 進 (\e\fI???\fR)
表現で指定でき、長さは一文字を意味します。
.Bd -literal
.Ar symbol-name1 symbol-value1
.Ar symbol-name2 symbol-value2
.Ar ...
.Ed
.Ar charmap
ステートメントはオプション指定です。
.Pp
.Ar substitute
\fIsymbol\fR
.Ar with
\fIrepl_string\fR
.Pp
.Ar substitute
ステートメントは、文字
.Ar symbol
を文字列
.Ar repl_string
に置き換えます。
.Pp
.Ar substitute
ステートメントはオプション指定です。
.Pp
.Ar order order_list
.Pp
.Ar order_list
は、セミコロンで区切られた、照合シークエンスを定義する
シンボルのリストです。
特殊シンボル
.Ar ...
は、簡略な形の機械語順で連なったシンボルを指定します。
.Pp
orderリストの要素は、次の方法のうちのどれかで表現できます。
.Bl -bullet
.It
シンボル自身 (例えば、小文字の
.Ar a
.Ar a
と書きます)
.It
シンボルチェーン (例えば、
.Ar abc )
.It
8 進表現 (例えば、文字
.Ar a
には
.Ar \e141 )
.It
16 進表現 (例えば、文字
.Ar a
には
.Ar \ex61 )
.It
.Ar charmap
ファイル内で定義されたシンボル名 (例えば、
.Ar charmapfile
.Ar abc \e023
に対して
.Ar <abc>
)。文字マップ名が、文字
.Ar >
を持つ場合は、
.Ar /> ,
のようにエスケープされなければならず、
文字
.Ar /
.Ar //
のようにエスケープされなければなりません。
.It
シンボル
.Ar \ea ,
.Ar \eb ,
.Ar \ef ,
.Ar \en ,
.Ar \er ,
.Ar \ev
は、通常の C言語の意味で使うことが許されています。
.It
シンボルの範囲 (例えば
.Ar a;...;z )
.It
コンマ区切りのシンボル、範囲、チェーンは括弧でくくられます。 (例えば
.Ar \&(
.Ar sym1 ,
.Ar sym2 ,
.Ar ...
.Ar \&) )
は同じ一次順序で割り当てられますが、異なる二次順序となります。
.It
鈎括弧でくくられたコンマ区切りのシンボル、範囲、チェーン (例えば、
.Ar \&{
.Ar sym1 ,
.Ar sym2 ,
.Ar ...
.Ar \&} )
は、同じ一次順序だけに割り当てられます)
.El
.Pp
バックスラッシュ文字
.Ar \e
は、行の継続に使われます。この場合、バックスラッシュ文字の後には
どんな文字も書かれてはなりません。
.Sh 診断
.Nm colldef
は、次の戻り値で終了します。
.Bl -tag -width indent
.It Li 0
エラーがなく、出力の生成に成功した場合
.It Li !=0
エラーが見つかった場合
.El
.Sh 関連ファイル
.Ar /usr/share/locale/<language>/LC_COLLATE
localeの配下で、localeの照合順序のための標準共有位置
.Sh 関連項目
.Xr mklocale 1 ,
.Xr setlocale 3 ,
.Xr strcoll 3 ,
.Xr strxfrm 3