共通デスクトップ環境 プログラマーズ・ガイド (国際化対応編)

ウィンドウ・マネージャへウィンドウのタイトルとアイコン名を渡す

VendorShell クラスの XtNtitleEncoding リソースと XtNiconNameEncoding リソースのデフォルトは、None に設定されます。これは libXm.a ライブラリ使用時にのみ実行されます。libXt.a ライブラリはリソースのデフォルトとして XA_STRING を維持します。

これは、テキスト (タイトルとアイコン名) がローカライズされているという前提のもと、デフォルトで XmNtitle リソースと XmNiconName リソースがコンパウンド・テキストのような標準 ICCC 形式に変換されるように実行されます。

ユーザは XtNtitleEncoding リソースと XtNiconNameEncoding リソースを設定しない方が良いと思われます。その代わりに、XtNtitle リソースと XtNiconName リソースが、必ず実行中のクライアントの現在アクティブなロケールのエンコーディングでエンコードされた文字列であるようにしてください。None 値が使用される場合は、ツールキットはローカライズされたテキストを標準の ICCC 形式に変換します (通信されるエンコーディングは COMPOUND_TEXT または XA_STRING です)。 XtNtitleEncoding リソースと XtNiconNameEncoding リソースが設定されている場合は、 XtNtitle リソースと XtNiconName リソースはどんな方法でも変換されず、指定されたエンコーディングでウィンドウ・マネージャに通信されます。

通信されているウィンドウ・マネージャが ICCC 準拠だと想定すると、そのウィンドウ・マネージャはエンコーディング型 COMPOUND_TEXT か、XA_STRING か、あるいはその両方を使用できます。

XmBulletinBoard ウィジェット・クラスの XmNdialogTitle リソースを設定するとき、charset セグメントに制限があることに注意してください。X コンソーシアムの標準コンパウンド・テキスト・エンコーディングではない charset か、XmFONTLIST_DEFAULT_TAG に関連付けられていない charset の場合、テキスト・セグメントはローカライズされたテキストとして処理されます。ローカライズされたテキストは、ウィンドウ・マネージャに通信される前に、コンパウンド・テキストか、ISO8859-1 に変換されます。

ウィンドウ・マネージャは、クライアントから渡されたクライアントのタイトルとアイコン名を、現在のロケールのエンコーディングに常に変換できるように拡張されています。XmStringXmFONTLIST_DEFAULT_TAG 識別子を使用して作成されます。このように、クライアントのタイトルとアイコン名は、常にウィンドウ・マネージャのフォント・リストのデフォルトのフォント・リスト・エントリで描画されます。


注 -

これにより、コード・セットは異なるが文字セットが似ているクライアントが、タイトルをウィンドウ・マネージャに通信することが可能になります。たとえば、PC コード・クライアントと ISO8859-1 クライアントの両方が、ウィンドウ・マネージャのコード・セットに関係なくタイトルを表示できます。