コンバーター・モジュール

コンバーター・モジュールはオプショナル・モジュールで、必要な場合にのみ 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 操作でも制御されます。