ナビゲーションリンクをスキップ | |
印刷ビューの終了 | |
マニュアルページセクション 1: ユーザーコマンド Oracle Solaris 11.1 Information Library (日本語) |
- iconv コード変換テーブルの生成
geniconvtbl [-fnq] [-p preprocessor] [-W arg] [-Dname] [-Dname=def] [-Idirectory] [-Uname] [infile]...
geniconvtbl ユーティリティーは、フラットテキストファイルに定義されたコード変換規則を受け入れて、コード変換バイナリテーブルファイルを書き込みます。このファイルを使用して、ユーザー定義の iconv コード変換をサポートできます (iconv コード変換の詳細は iconv(1) および iconv(3C) を参照)。
サポートしているオプションは、次のとおりです。
出力ファイルが存在する場合は、出力ファイルを上書きします。
出力ファイルを生成しません。これは、入力ファイルの内容を確認する場合に役立ちます。
デフォルトのプロプロセッサ /usr/lib/cpp の代わりに、指定された preprocessor を使用します。
非出力オプション。警告メッセージとエラーメッセージを抑制します。
引数 arg をプリプロセッサに渡します。このオプションが複数回指定されていると、すべての引数がプリプロセッサに渡されます。
geniconvtbl はこれらのオプションを認識して、引数とともにプリプロセッサに渡します。
次のオペランドを指定できます。
入力ファイルのパス名。入力ファイルが指定されていない場合、geniconvtbl は標準入力ストリームから読み込みます。ユーザーは、必要に応じて複数の入力ファイルを指定できます。
標準入力ストリームから入力が行われる場合、geniconvtbl は出力を標準出力ストリームに書き込みます。複数の入力ファイルが指定されている場合、geniconvtbl は各入力ファイルから読み込み、対応する出力ファイルに書き込みます。各出力ファイルの名前は、対応する入力ファイルに .bt を追加したものになります。
生成された出力ファイルは、iconv(1) および iconv(3C) でコード変換を使用する前に、次のディレクトリに移動する必要があります。
/usr/lib/iconv/geniconvtbl/binarytables/
出力ファイル名は、先頭から 1 文字以上の印字可能な ASCII 文字 (「fromcode」名)、パーセント文字 (%)、1 文字以上の印字可能な ASCII 文字 (「tocode」名)、接尾辞「.bt」の順にします。「fromcode」名と「tocode」名は、iconv(1) および iconv_open(3C) の実行時に iconv コード変換の特定に使用されます。適切に命名された出力ファイルを /usr/lib/iconv/geniconvtbl/binarytables/ ディレクトリに配置してください。
例 1 iconv コード変換バイナリテーブルを生成する
次の例では、出力ファイル名 convertA2B.bt のコード変換バイナリテーブルを生成します。
example% geniconvtbl convertA2B
例 2 複数の iconv コード変換バイナリテーブルを生成する
次の例では、出力ファイルが test1.bt と test2.bt の 2 つのコード変換バイナリテーブルを生成します。
example% geniconvtbl test1 test2
例 3 別のプリプロセッサを使用する
次の例では、指定されたプリプロセッサが入力ファイルを処理したあとで、コード変換バイナリテーブルを生成します。
example% geniconvtbl -p /opt/SUNWspro/bin/cc -W -E convertB2A
例 4 バイナリテーブルを配置する
上記の最初の例で作成したバイナリテーブルを「fromcode」ABC から「tocode」DEF への変換のエンジンとして使用するには、スーパーユーザーになり、次の方法で名前の変更および配置を行います。
example# mv convertA2B.bt \ /usr/lib/iconv/geniconvtbl/binarytables/ABC%DEF.bt
例 5 ISO8859-1 を変更して UTF-8 コード変換に使用する
コード変換を定義する geniconvtbl ソースファイルを記述します。たとえば、/usr/lib/iconv/geniconvtbl/srcs/ISO8859-1_to_UTF-8.src を自分のディレクトリにコピーして、ソースファイルに必要な変更を加えることができます。変更が完了したら、バイナリテーブルを生成します。
example% geniconvtbl ISO8859-1_to_UTF-8.src
スーパーユーザーになり、一意の名前を持つ生成されたバイナリテーブルをシステムディレクトリに配置して、iconv_open(3C) がこのバイナリテーブルを検出できるようにします。
example su Password: example% cp ISO8859-1_to_UTF-8.bt \ /usr/lib/iconv/geniconvtbl/binarytables/my-iso-8859-1%utf-8.bt
その後、iconv コード変換を実行できます。例:
example% iconv -f my-iso-8859-1 -t utf-8 testfile.txt
geniconvtbl の実行に影響を与える環境変数 LANG および LC_CTYPE についての詳細は、environ(5) を参照してください。
次の終了ステータスが返されます。
エラーは発生せず、出力ファイルは正常に作成されました。
コマンド行オプションは現在使用されていないか、不明のコマンド行オプションが指定されました。
無効な入力ファイルまたは出力ファイルが指定されました。
現在、入力ファイルの変換規則が正しく定義されていません。
入力ファイルの変換規則制限に達しました。geniconvtbl(4) の「注意事項」の項を参照してください。
これ以上のシステムリソースエラーはありません。
内部エラー。
変換バイナリテーブル
ユーザー参照用の変換ソースファイル
属性についての詳細は、マニュアルページの attributes(5) を参照してください。
|
cpp(1), iconv(1), iconv(3C), iconv_close(3C), iconv_open(3C), geniconvtbl(4), attributes(5), environ(5), iconv(5)
『Solaris Internationalization Guide for Developers』
生成され、正しく配置された出力ファイル /usr/lib/iconv/geniconvtbl/binarytables/*.bt は、32 ビットと 64 ビットの両方の環境で使用されます。