setmaps ファイル・フォーマット

目的

コード・セット・マップ・ファイルおよび端末マップ・ファイルのテキストを定義します。

説明

コード・セット・マップ・ファイルのテキストは、コード・セットの記述で構成されます。 端末マップ・ファイルのテキストは、一連の規則で構成されます。

コード・セット・マップ・ファイル

コード・セット・マップ・ファイルのテキストは、コード・セットの記述です。 ストリームにプッシュするオプションの コンバーター・モジュール を指定します。 コード・セット・マップ・ファイルは、 /usr/lib/nls/csmap ディレクトリーにあります。 その名前はコード・セット名です。

コード・セット・マップ・ファイルには、以下の行が含まれています。

項目 説明
名前: name
タイプ: M | S
マルチバイト処理: EUC
ioctl EUC_WSET の場合: w1:d1 w2:d2 w3:d3
下部コンバーター: /usr/lib/drivers/lwconv
上段コンバーター: /usr/lib/drivers/upconv

これらの行には、以下の意味があります。

項目 説明
Name コード・セット名を指定します。 これは、コード・セット・マップ・ファイル名でもあります。
Type コード・セット・タイプを指定します。 次のいずれかである。
M
マルチバイト・コード・セットを示します。
S
単一バイト・コード・セットを示します。
マルチバイト処理 コード・セットのマルチバイト処理のタイプを指定します。 この行は、 タイプの場合にのみ必要です。 これは、EUC マルチバイト・コード・セットを示す EUCでなければなりません。
Ioctl EUC_WSET EUC_W セット ioctl 操作のパラメーターを指定します。 この行は、 タイプの場合にのみ必要です。 w1w2、および w3 パラメーターはコード・セットのメモリー幅を指定し、 d1d2、および d3 パラメーターはコード・セットの画面幅を指定します。
下段コンバーター  
上段コンバーター ストリームで使用する 下段および上段のコンバーター を指定します。 この行は、コード・セットが非 EUC マルチバイト・コード・セットである場合にのみ必要です。

例えば、ISO 8859-1 コード・セットのコード・セット・マップ・ファイルには、以下の行が含まれます。

Name:   ISO8859-1
Type:   S

別の例: IBM-943 コード・セットのコード・セット・マップ・ファイルには、以下の行が含まれます。

Name :                  IBM-943
Type :                  M
Multibyte handling :    EUC
ioctl EUC_WSET :        2:2,1:1,2:2
lower converter :       /usr/lib/drivers/lc_sjis
upper converter :       /usr/lib/drivers/up_sjis

端末マップ・ファイル

端末マップ・ファイルのテキストは、一連の規則です。 各ルールの形式は以下のとおりです。

pattern:replacement

入力パターン・ストリングのサイズは 10 文字の長さに制限され、置換パターン・ストリングのサイズは 16 文字の長さに制限されます。

パターン・ストリングには、以下の特殊文字を含めることができます。

項目 説明
? 任意の 1 バイトに一致します。
@x パターン・プロセッサーが X( X は任意の 1 バイト) の状態である場合にのみ、この規則と一致します。 (このシーケンスは、入力バッファー内の文字と一致しません。)
\?\@、または \\ パターン・プロセッサーが解釈できないようにしますか? (疑問符)、@ (アットマーク)、または ¥ (バックスラッシュ) を特殊文字として使用します。
¥ddd 任意のバイトを 8 進表記で表します。
¥ xdd 16 進表記の任意のバイトを表します。

置換ストリングには、以下の特殊文字を含めることができます。

項目 説明
¥ n このパターンに一致した入力ストリング内の N番目の文字を使用します。ここで、 N は 10 進数です。
@x パターン・プロセッサーを状態 Xに移動します。 (このシーケンスは、置換ストリングの一部にはなりません。)
\$\@、または \\ パターン・プロセッサーが $、@、または ¥ を特殊文字として解釈しないようにします。
¥ddd 任意のバイトを 8 進表記で表します。
¥ xdd 16 進表記の任意のバイトを表します。

ファイル

項目 説明
/usr/lib/nls/csmap/sbcs 1 バイト・コード・ページのコード・セット・マップ
/usr/lib/nls/csmap/IBM-943 IBM-943 コード・ページのコード・セット・マップ
/usr/lib/nls/csmap/IBM-eucJP IBM-eucJP コード・ページのコード・セット・マップ
/usr/lib/nls/csmap/IBM-eucKR IBM-eucKR コード・ページのコード・セット・マップ
/usr/lib/nls/csmap/IBM-eucTW IBM-eucTW コード・ページのコード・セット・マップ
/usr/lib/nls/termmap/*.in 入力マップ・ファイル
/usr/lib/nls/termmap/*.out 出力マップ・ファイル