マニュアルページセク ション 1: ユーザーコマンド

印刷ビューの終了

更新: 2014 年 7 月
 
 

geniconvtbl(1)

名前

geniconvtbl - iconv コード変換テーブルの生成

形式

geniconvtbl [-fnq] [-p preprocessor] [-W arg] [-Dname] 
     [-Dname=def] [-Idirectory] [-Uname] [infile]...

説明

geniconvtbl ユーティリティーは、フラットテキストファイルに定義されたコード変換規則を受け入れて、コード変換バイナリテーブルファイルを書き込みます。このファイルを使用して、ユーザー定義の iconv コード変換をサポートできます (iconv コード変換の詳細は iconv(1) および iconv(3C) を参照)。

オプション

サポートしているオプションは、次のとおりです。

–f

出力ファイルが存在する場合は、出力ファイルを上書きします。

–n

出力ファイルを生成しません。これは、入力ファイルの内容を確認する場合に役立ちます。

–p preprocessor

デフォルトのプロプロセッサ /usr/lib/cpp の代わりに、指定された preprocessor を使用します。

–q

非出力オプション。警告メッセージとエラーメッセージを抑制します。

–W arg

引数 arg をプリプロセッサに渡します。このオプションが複数回指定されていると、すべての引数がプリプロセッサに渡されます。

–Dname
–Dname=def
–Idirectory
–Uname

geniconvtbl はこれらのオプションを認識して、引数とともにプリプロセッサに渡します。

オペランド

次のオペランドを指定できます。

infile

入力ファイルのパス名。入力ファイルが指定されていない場合、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.bttest2.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) を参照してください。

終了ステータス

次の終了ステータスが返されます。

0

エラーは発生せず、出力ファイルは正常に作成されました。

1

コマンド行オプションは現在使用されていないか、不明のコマンド行オプションが指定されました。

2

無効な入力ファイルまたは出力ファイルが指定されました。

3

現在、入力ファイルの変換規則が正しく定義されていません。

4

入力ファイルの変換規則制限に達しました。geniconvtbl(4) の「注意事項」の項を参照してください。

5

これ以上のシステムリソースエラーはありません。

6

内部エラー。

ファイル

/usr/lib/iconv/geniconvtbl/binarytables/*.bt

変換バイナリテーブル

/usr/lib/iconv/geniconvtbl/srcs/*

ユーザー参照用の変換ソースファイル

属性

属性についての詳細は、マニュアルページの attributes(5) を参照してください。

属性タイプ
属性値
使用条件
system/core-os

関連項目

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 ビットの両方の環境で使用されます。