GT.Mプロセスは、MモードまたはUTF-8モードで動作できます。状況によっては、MモードとUTF-8モードの両方が同時に同じデータベースにアクセスすることがあります。
$gtm_chsetは、プロセスが動作するモードを決定します。もし値がMの場合、GT.Mは1バイトの8ビットのすべての256個の組み合わせを文字として扱います。これは多くの単一言語アプリケーションに適しています。
もし $gtm_chset が UTF-8 の値を持つ場合、(プロセス開始時に) GT.Mは、UTF-8文字セットとしてエンコード文字列を解釈します。このモードでは、Unicode™ に関連するすべての機能が使用可能になり、標準の文字列指向操作はUTF-8エンコーディングで動作します。このモードでは、GT.Mは文字の境界を検出し(文字のサイズは可変長であるため)、グリフの表示幅を計算し、UTF-8とUTF-16の間の文字列変換を実行します。
もしGT.MをUnicode サポートでインストールすると、Mモードに関連するすべてのGT.Mコンポーネントは、GT.Mディストリビューションディレクトリにあり、Unicode関連のコンポーネントは、GT.Mディストリビューションのutf8サブディレクトリにあります。UTF-8モードのプロセスでは、gtm_chset に加えて、$gtm_dist がutf8サブディレクトリを指していること、$gtmroutines には親ディレクトリではなくutf8サブディレクトリ(またはその中のlibgtmutil.so)が含まれていることを確認してください。
GT.Mは、Unicode™に関連した操作を行うために、ICU 3.6以上を使用します。システム上に、ICU 3.6以上がインストールされた場合のみ、GT.MはUnicode用のディストリビューションを生成できます。したがって、Unicode ™に関連する機能を構築するために、GT.Mをインストールする前に、ICU を適切にインストールします。
注意: ICUのインストール手順は、すべてのプラットフォームで同ではないかもしれません。もし、libicu
がシンボルリネームが有効
でコンパイルされている場合、GT.Mは明示的な設定をするために$gtm_icu_version
を必要とします。デフォルトでは、GT.MはICUの最近インストールされているバージョンを使用しています。GT.Mは、シンボル名の変更を無効
な状態で構築されていることをICUに期待し、そして、もしICUの現インストールバージョンが、シンボル名の変更を有効
な状態で構築されているならば、起動時のエラーの問題があります。(現インストールでない)ICUの異なるバージョンか、または、シンボル名の変更を有効
な状態で構築されたICUのバージョンを使用するには 、 $gtm_icu_version
を使用してください。それは、MAJOR VERSION
と MINOR VERSION
指定し、 MajorVersion.MinorVersion
としてフォーマットされた望ましいICUの番号です(例えば、ICU-3.6を示すには、 "3.6" )。 $gtm_icu_version
がそのように定義される場合は、GT.MはICUの特定のバージョンを開こうとします。このケースでは、GT.Mは、このICU内のシンボルの名前が変更されているかどうかに関係なく、動作します。この環境変数の欠落または不正な形式の値は、非改名のICU シンボルを探すだけのためにGT.Mに引き起こします。いくつかの文字の表示幅は、ICU 4.0では異なって始まることに注意してください。
注意 | |
---|---|
もし |
ICU 3.6(またはそれ以上)をインストールした後に、適切な値を以下の環境変数を設定する必要があります。
LC_CTYPE
LC_ALL
LD_LIBRARY_PATH
TERM