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 | コード・セット・タイプを指定します。 次のいずれかである。
|
マルチバイト処理 | コード・セットのマルチバイト処理のタイプを指定します。 この行は、 タイプ が 分の場合にのみ必要です。 これは、EUC マルチバイト・コード・セットを示す EUCでなければなりません。 |
Ioctl EUC_WSET | EUC_W セット ioctl 操作のパラメーターを指定します。 この行は、 タイプ が 分の場合にのみ必要です。 w1、 w2、および w3 パラメーターはコード・セットのメモリー幅を指定し、 d1、 d2、および 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 | 出力マップ・ファイル |