バージョン 4.2.5
 —  オペレーション  —

ダブルバイト文字セット

このドキュメントは、ダブルバイト文字セット(DBCS)を使用するアジア諸国のみを対象としています。 DBCS 端末およびプリンタをサポートするために Natural に実装されているすべての機能について説明します。以下のトピックについて説明します。


Natural プロファイルパラメータ SOSI

SBCS 文字と DBCS 文字が混在する英数字フィールドでは、DBCS 文字列と SBCS 文字列は SO(シフトアウト)および SI(シフトイン)と呼ばれるシフトコードで分離されます。 Natural プロファイルパラメータ SOSI は、現在の環境で使用されているシフトインコードおよびシフトアウトコードの値を Natural に渡すために使用されます。

内部的には IBM 文字 X'0E' および X'0F' を使用することを強くお勧めします。 この手法を使用すると、すべてのアプリケーションとデータを互換性のある方法で処理でき、ネットワークでサポートしているさまざまなメインフレームタイプで同じ Natural アプリケーションを使用し、同じデータを処理することができます。

このパラメータの詳細については、SOSI を参照してください。

Top of page

出力フォーマット指定

Natural セッションパラメータ PM=D を使用して、DBCS 専用フィールドを定義します。 DBCS 専用フィールドで使用できるのは有効な DBCS 文字のみで、シフトアウト/シフトイン文字(SO/SI)は使用できません。 セッションパラメータ PM=D が指定されているフィールドを表示するために、IBM 端末には画面属性 X'43F8' が追加されます。富士通端末の場合は、必要なシフトアウト/シフトイン文字(SO/SI)でフィールド内容が囲まれます。

Top of page

DBCS サポートのためのパラメータ定義

ダブルバイト文字セットをサポートするには、Natural のセットアップで以下のパラメータを指定する必要があります。

パラメータ 説明
TS=ON ラテン文字の小文字を使用できない場合、すべての Natural システム出力は NATCONFG モジュールの NTTABL マクロで定義された変換テーブルを使用して変換されます。
SOSI=(0E,0E,0F,0F,1) IBM ハードウェアの DBCS シフトアウトおよびシフトインの値を定義します。
SOSI=(28,28,29,29,0) 富士通ハードウェアの DBCS シフトアウトおよびシフトインの値を定義します。
LC=ON いずれの入力データも大文字に変換されないため、DBCS 入力データが再度破壊される可能性があります。

TS=ON の他に、メッセージを大文字に変換するためのパラメータが複数の Natural コンポーネントによって提供されています。 詳細については、「TS - システムライブラリでプログラムからの出力を変換」で、大文字に変換するための他のパラメータに関する説明を参照してください。

Top of page

エディタプロファイルオプション

DBCS または半角カタカナ文字を Natural エディタのいずれかに入力する場合、エディタプロファイルに以下のエディタの全般的なデフォルトオプションを設定して、DBCS または半角カタカナ文字を含む文字定数またはフィールド名が意図せず大文字に変換されるのを回避する必要があります。

オプション 説明
Editing in Lower Case Y ソースコード中の小文字は自動的に大文字に変換されません。 このオプションは、DBCS または半角カタカナ文字を使用する場合に必要です。
Dynamic Conversion of Lower Case N ソースコードは入力されたときのままです。 このオプションは、半角カタカナ文字を使用する場合に必要です。

エディタの全般的なデフォルトオプションの詳細については、「全般的なデフォルト設定」を参照してください。 エディタプロファイルの詳細については、『エディタ』ドキュメントの「エディタプロファイル」を参照してください。 すべてのユーザーがこれらのオプションを変更しなくてもすむように、ユーザー出口ルーチン USR0070P によって、インストールのデフォルトプロファイルを変更できます。このユーザー出口ルーチンでは DBCS もサポートされます。「Natural の構成」セクションの「USR0070P - エディタプロファイルのユーザー出口」を参照してください。

Top of page

入力データのチェック

フィールドにセッションパラメータ PM=D が設定されている場合は、入力データについて以下の点がチェックされます。

非 DBCS 文字の検出には ICU が必要なので、ICU を使用できない場合(つまり、プロファイルパラメータ CFICU=OFF が設定されている場合)は、このチェックは行われません。

Top of page

出力データの調整

ユーザー操作のためにウィンドウが表示される場合に、すでに表示されている DBCS 文字にウィンドウがオーバーレイしたり、ウィンドウサイズに合わせて切り捨てられた DBCS 文字がウィンドウ自体に含まれたりすることがあります。 オーバーレイは、INPUT ステートメントで NO ERASE オプションを使用している場合も発生することがあります。 オーバーレイなどの場合に画面が乱れないようにするためには、以下の対処法を実行し、必要に応じて出力データを調整します。

Top of page

Natural スタックデータ

DBCS 文字が意図せずデリミタ文字または制御文字として解釈されるのを避けるには、Natural スタックに配置されるデータに DBCS 文字が含まれる場合は、STACK ステートメントの FORMATTED オプションを使用する必要があります。

STACK ステートメントの詳細については、『ステートメント』ドキュメントを参照してください。

Natural スタックの詳細については、『プログラミングガイド』を参照してください。

Top of page

DBCS 処理用のアプリケーションプログラミングインターフェイス

DBCS 処理をサポートするために、以下のユーザーアプリケーションプログラミングインターフェイス(API)を使用できます。

これらの API は、Natural ライブラリ SYSEXT にサブプログラムとして含まれています。 API の使用方法の詳細情報は、対応するテキストメンバ(USRxxxxT)に含まれています。 『ユーティリティ』ドキュメントの「SYSEXT ユーティリティ- Natural アプリケーションプログラミングインターフェイス」も参照してください。

USR4211N - DBCS 文字の取得

アプリケーションプログラミングインターフェイス USR4211N を使用すると、DBCS サポートの可用性および定義されている SOSI 文字に関する情報を取得できます。

USR4213N - DBCS サポートの文字列操作

アプリケーションプログラミングインターフェイス USR4213N を使用すると、以下の機能を実行できます。

最後の 2 つの機能は、ネイティブ DBCS 文字列の生成またはネイティブ DBCS 文字列以外の混在モードデータの生成に使用できます。

Top of page