.\" Copyright (c) 1993, 1994 .\" The Regents of the University of California. All rights reserved. .\" .\" This code is derived from software contributed to Berkeley by .\" Paul Borman at Krystal Technologies. .\" .\" 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. .\" 3. All advertising materials mentioning features or use of this software .\" must display the following acknowledgement: .\" This product includes software developed by the University of .\" California, Berkeley and its contributors. .\" 4. Neither the name of the University nor the names of its contributors .\" may be used to endorse or promote products derived from this software .\" without specific prior written permission. .\" .\" THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``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 REGENTS OR CONTRIBUTORS 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. .\" .\" @(#)mklocale.1 8.2 (Berkeley) 4/18/94 .\" %FreeBSD: src/usr.bin/mklocale/mklocale.1,v 1.22 2004/07/03 00:24:42 ru Exp % .\" .\" $FreeBSD$ .\" .Dd November 8, 2003 .Dt MKLOCALE 1 .Os .Sh 名称 .Nm mklocale .Nd LC_CTYPE locale ファイルの作成 .Sh 書式 .Nm .Op Fl d .Ar "< src-file" .Ar "> language/LC_CTYPE" .Nm .Op Fl d .Fl o .Ar language/LC_CTYPE .Ar src-file .Sh 解説 .Nm ユーティリティは標準入力から .Dv LC_CTYPE のソースファイルを読み込み、 .Pa /usr/share/locale/ Ns Ar language Ns Pa /LC_CTYPE に置くのに適した .Dv LC_CTYPE のバイナリファイルを標準出力へ書き出します。 .Pp .Ar src-file のフォーマットは非常に単純です。 キーワードから始まり、それに付随するデータが続く複数の行から構成されます。 ファイル中にコメントを書く場合は、 C のスタイルのコメントを使用することができます。 .Pp 次のオプションを使用可能です: .Bl -tag -width indent .It Fl d デバッグ用メッセージを有効にします。 .It Fl o 出力ファイルを指定します。 .El .Pp 後述するキーワードの他に、 .Ar src-file の中で有効なトークンとして以下のものがあります。 .Bl -tag -width ".Ar literal" .It Dv RUNE .Dv RUNE は以下のいずれかです。 .Bl -tag -width ".Ar 0x[0-9a-z]*" .It Ar 'x' ASCII 文字の .Ar x 。 .It Ar '\ex' ANSI 文字の .Ar \ex 。 ここで、 .Ar \ex は .Dv \ea , .Dv \eb , .Dv \ef , .Dv \en , .Dv \er , .Dv \et , .Dv \ev のいずれかになります。 .It Ar 0x[0-9a-z]* rune コードを表す16進数です。 .It Ar 0[0-7]* rune コードを表す8進数です。 .It Ar [1-9][0-9]* rune コードを表す10進数です。 .El .It Dv STRING ダブルクォーテーション (") で囲まれた文字列です。 .It Dv THRU .Dv ... か .Dv - のいずれかで、範囲を示すために使われます。 .It Ar literal 以下の文字は文字通りに解釈されます。 .Bl -tag -width ".Dv <\|\|(\|\|[" .It Dv "<\|(\|[" マッピングを開始します。これらは全て同じ意味を持ちます。 .It Dv ">\|\^)\|]" マッピングを終了します。これらは全て同じ意味を持ちます。 .It Dv : マッピング中の区切り文字として使用されます。 .El .El .Pp ソースファイル中に一度のみ現れるキーワードには以下のものがあります。 .Bl -tag -width ".Dv PHONOGRAM" .It Dv ENCODING これに続く .Dv STRING トークンによって、 作成中の locale にて使われるエンコーディング機構を指定します。 現在指定できるエンコーディングとして以下のものがあります。 .Bl -tag -width ".Dv MSKanji" .It Dv BIG5 中国語の .Dq Big5 エンコーディングです。 .It Dv EUC いくつかの .Ux のベンダで使われている .Dv EUC エンコーディングです。 .It Dv GB18030 中国語テキストの PRC 国家標準エンコーディングです。 .It Dv GB2312 中国語テキストの古い PRC 国家標準エンコーディングです。 .It Dv GBK 広範囲に使用されている、中国語テキストのエンコーディングであり、 GB\ 2312-1980 との後方互換性があります .It Dv MSKanji Microsoft が使用する日本語エンコーディング方法であり、 ゆるやかに JIS を基にしています。 .Dq "Shift JIS" や .Dq SJIS としても知られています。 .It Dv NONE 変換を行ないません。デフォルトのエンコーディングです。 .It Dv UTF2 (価値が低下しています) .Tn "Bell Labs の Plan 9" から移植された .Dq "Universal character set Transformation Format" です。 .It Dv UTF-8 .Tn ISO 10646 の .Dv UTF-8 変換フォーマットであり、RFC 2279 で定義されています。 .El .It Dv VARIABLE 1 つのタブ文字もしくはスペース文字がこのキーワードに続き、 その後にエンコーディングに特有のデータが置かれます。 現在は .Dv "EUC" エンコーディングのみで、この可変データが必要となります。 詳しくは .Xr euc 4 を参照してください。 .It Dv INVALID (価値が低下しています) 1 つの .Dv RUNE を続いて指定し、作成中の locale における不正な rune を指定します。 .El .Pp 以下のキーワードは複数回指定でき、次の形式を取ります。 .Bl -tag -width ".Dv " -offset indent .It Dv .Dv RUNE1 が .Dv RUNE2 にマップされます。 .It Dv .Dv RUNE1 から .Dv RUNEn の rune が .Dv RUNE2 から .Dv RUNE2 + n-1 にマップされます。 .El .Bl -tag -width ".Dv PHONOGRAM" .It Dv MAPLOWER 小文字への変換マッピングを定義します。 .Dv RUNE2 は .Dv RUNE1 の小文字表現となります。 .It Dv MAPUPPER 大文字への変換マッピングを定義します。 .Dv RUNE2 は .Dv RUNE1 の大文字表現となります。 .It Dv TODIGIT rune からその数値へのマッピングを定義します。 .Dv RUNE2 は .Dv RUNE1 の整数値表現となります。 例えば、ASCII 文字の .Ql 0 は 10進数の 0 にマップされます。 255 以下の値のみが指定可能です。 .El .Pp 以下のキーワードは複数回指定でき、次の形式を取ります。 .Bl -tag -width ".Dv RUNE1 THRU RUNEn" -offset indent .It Dv RUNE この rune はキーワードによって定義された属性を持ちます。 .It Dv "RUNE1 THRU RUNEn" .Dv RUNE1 と .Dv RUNEn を含む、この間に指定された全ての rune はキーワードによって定義された属性を持ちます。 .El .Bl -tag -width ".Dv PHONOGRAM" .It Dv ALPHA アルファベットで表示可能な文字である rune を定義します。 .It Dv CONTROL 制御文字である rune を定義します。 .It Dv DIGIT 10 進数字で表示可能な文字である rune を定義します。 .It Dv GRAPH 表示可能な文字である rune を定義します。 .It Dv LOWER 小文字で表示可能な文字である rune を定義します。 .It Dv PUNCT 句読点で表示可能文字な rune を定義します。 .It Dv SPACE スペース文字である rune を定義します。 .It Dv UPPER 大文字で表示可能な文字である rune を定義します。 .It Dv XDIGIT 16 進数字で表示可能な文字である rune を定義します。 .It Dv BLANK 空白文字である rune 定義します。 .It Dv PRINT 表示可能な rune を定義します。 .It Dv IDEOGRAM 表意記号 (訳註:7, = & などの記号) で表示可能な文字である rune を定義します。 .It Dv SPECIAL 特殊文字で印刷可能な文字である rune を定義します。 .It Dv PHONOGRAM 表音文字で表示可能な文字である rune を定義します。 .It Dv SWIDTH0 表示幅 0 の rune を定義します。 .It Dv SWIDTH1 表示幅 1 の rune を定義します。 .It Dv SWIDTH2 表示幅 2 の rune を定義します。 .It Dv SWIDTH3 表示幅 3 の rune を定義します。 .El .Pp 表示幅を明示的に定義しない場合、デフォルトでは、 表示可能 rune に対しては幅 1 が仮定されます。 .Sh 関連項目 .Xr colldef 1 , .Xr mbrune 3 , .Xr rune 3 , .Xr setlocale 3 , .Xr wcwidth 3 , .Xr big5 5 , .Xr euc 5 , .Xr gb18030 5 , .Xr gb2312 5 , .Xr gbk 5 , .Xr mskanji 5 , .Xr utf2 5 , .Xr utf8 5 .Sh バグ .Nm mklocale ユーティリティはあまりに割り切り過ぎです。 .Sh 歴史 .Nm mklocale ユーティリティは .Bx 4.4 から登場しました。