コンバーター・モジュール
コンバーター・モジュールはオプショナル・モジュールで、必要な場合にのみ tty ストリームに プッシュされます。
これらのモジュールは、通常、国際化対応を目的として提供されており、 各種文字のマッピングを実行します。
提供されているコンバーター・モジュールは、次のとおりです。
- nls モジュール
- uc_sjis モジュールおよび lc_sjis モジュール
NLS モジュール
nls モジュールは、伝送制御手順より下方に tty ストリームをプッシュすることができる 下方コンバーター・モジュールです。 nls モジュールは端末マッピングを確実に行います。つまり、 非標準端末 (すなわち、システムの基本コード・セット ISO 8859 をサポートしない端末) に対する 入出力文字のマッピングを実行します。
マッピング規則は、/usr/lib/nls/termmap ディレクトリー内にある 2 つの マップ・ファイルで指定されます。 .in ファイルには、キーボード入力についてのマッピング規則が入っています。 .out ファイルには、ディスプレイ出力についてのマッピング規則が入っています。 ファイル・フォーマットは、「ファイル参照」の『setmaps File Format』に記載されている setmaps ファイル・フォーマットで指定されます。
nls モジュールは、setmaps コマンドによって自動的に tty ストリームにプッシュされます。 この操作は、 通常はシステムの始動時に tty サブシステムが構成される際に行われます。
SJIS モジュール
uc_sjis モジュールと lc_sjis モジュールは、tty
ストリームに
プッシュすることができるコンバーター・モジュールです。 これらのモジュールはコード・セット処理を確実に行います。
つまり、伝送制御手順によってサポートされているシフト JIS (SJIS) 形式と拡張日本語 EUC コード (AJEC) 形式との間でマルチバイト文字の変換を実行します。 これらのモジュールは、ユーザー・プロセスおよびハードウェア端末が IBM-943 コード・セットを使用する場合に必要です。
AJEC は拡張 UNIX コード (EUC) エンコード方式の日本語インプリメンテーションで、これにより ASCII 文字、表音仮名文字、および表意漢字文字を組み合わせて使用することができます。 AJEC は、EUC の共通日本語インプリメンテーションである UNIX JIS (UJIS) のスーパーセットです。
日本語エンコード・データは、最大 4 個のコード・セットの文字で構成されます。
コード・セット | 入っている文字 |
---|---|
ASCII | ローマ字、数字、句読点および制御文字 |
JIS X0201 | 表音仮名文字 |
JIS X0208 | 表意漢字 |
JIS X0212 | 補足漢字 |
AJEC は、4 個のコード・セットをすべて使用します。 SJIS が使用するのは、ASCII、JIS X0201、および JIS X0208 の各コード・セットだけです。 したがって、uc_sjis モジュールと lc_sjis モジュールが行う変換は、次のとおりです。
- SJIS の全文字を AJEC 文字に変換
- ASCII、JIS X0201、および JIS X0208 の各コード・セットの AJEC 文字を SJIS 文字に変換
- JIS X0212 コード・セットの AJEC 文字を SJIS 未定義文字に変換
uc_sjis モジュールと lc_sjis モジュールは、 必ず一緒に使用します。 uc_sjis 上方コンバーターは、伝送制御手順の上方の tty ストリームに プッシュされ、lc_sjis 下方コンバーターは、伝送制御手順の下方のストリームに プッシュされます。 uc_sjis モジュールと lc_sjis モジュールは、setmaps コマンドおよび setcsmap サブルーチンによって、自動的に tty ストリームにプッシュされます。 また、「ファイル参照」の eucioctl.h ファイルに記述されている EUC ioctl 操作でも制御されます。