母国語のサポート
この章では、ヘルプ・ボリュームを複数の言語で提供する場合に変更が必要なヘルプ・システムが使用するファイルを説明します。
国際化対応のオンライン・ヘルプ
外国のユーザ向けの製品の場合、オンライン・ヘルプをユーザの母国語で提供することが大切です。ヘルプ・システムは、オンライン・ヘルプの記述と表示を実質的にどの言語でもサポートします。
実行時のヘルプ・ファイルを作成するためのヘルプ・ボリュームを処理する場合、ファイルの記述にどの言語および文字セットを使用したかを DocBook ソフトウェアに必ず指示しなければなりません。言語および文字セットの情報は、ヘルプ・ボリュームを表示するために適切なフォントを決定するためにも使用されます。
国際化の要因
次節で説明するいくつかの要因は、オンライン・ヘルプをユーザの母国語で提供するのに役立ちます。
文字セット
文字セットは、文字を認識するためのコンピュータの内部文字コードのマップ方法を決定します。ほとんどの言語は、ひとつの文字セット全体を表すにはシングル・バイト文字で十分です。しかし、何千もの文字を使用する言語もあります。そのような言語は、ひとつひとつの文字を一意に表すのに2、3、4バイトを必要とします。
ヘルプ・システムがサポートする文字セットを に掲げます。しかし、すべてのプラットフォームに存在するわけではない文字セットもあります。
共通デスクトップ環境文字セット
言語文字セット名説明
西ヨーロッパおよび南北アメリカ
ISO-8859-1
ISO ラテン 1
HP-ROMAN8
HP ローマン
IBM-850
PC マルチリンガル
中央ヨーロッパ
ISO-8859-2
ISO ラテン 2
キリル文字
ISO-8859-5
ISO ラテン/キリル文字
アラビア語
ISO-8859-6
ISO ラテン/アラビア語
HP-ARABIC8
HP アラビア語 8
IBM-1046
PC アラビア語
ヘブライ語
ISO-8859-8
ISO ラテン/ヘブライ語
HP-HEBREW8
HP ヘブライ 8
IBM-856
PC ヘブライ語
ギリシャ語
ISO-8859-7
ISO ラテン/ギリシャ語
HP GREEK8
HP ギリシャ語 8
トルコ語
ISO-8859-9
ISO ラテン 5
HP-TURKISH8
HP トルコ語 8
日本語
EUC-JP
日本語 EUC (JISX0201, JISX0208, JISX0212)
HP-SJIS
HP 日本語シフトJIS
HP-KANA8
HP 日本語カタカナ8 (JISX0201 1976)
IBM-932
PC 日本語シフトJIS
韓国語
EUC-KR
韓国 EUC
中国語
EUC-CN
簡体字中国語 EUC (中国) (GB2312)
EUC-TW
繁体字中国語 EUC (台湾) (CNS
11643.*)
HP-BIG5
HP 繁体字中国語 Big5
HP-CCDC
HP 繁体字中国語 CCDC
HP-15CN
HP 繁体字中国語 EUC
タイ語
TIS-620
タイ語
DocBook ファイルを記述するとき、どんなヘルプ・テキストにもマルチバイト文字を使用できます。しかし、DocBook のマークアップ自体(タグ名、エンティティ名、IDなど)は、8ビット文字で入力しなければなりません。
DocBook ソフトウェア
実行時のヘルプ・ファイルを作成するためにヘルプ・ボリュームを処理する場合、DocBook ソフトウェアに、ファイルを作成するときに使用する言語と文字セットを伝えなければなりません。言語と文字セットの情報は、ヘルプ・トピックを表示するための適切なフォントを決定するために使用されます。言語と文字セットが指定されない場合、DocBook は、デフォルト ISO-8859-1 を仮定します。
言語と文字セットは LANG 環境変数、あるいは Part の Lang 属性を使用して指定することができます。
DocBook ファイルを記述するとき、どんなヘルプ・テキストにもマルチバイト文字を使用できます。しかし、DocBook のマークアップ自体(タグ名、エンティティ名、IDなど)は、8ビット文字で入力しなければなりません。
DtHelp
ヘルプ・ダイアログのメニュー、ボタン、ラベルもユーザの母国語で表示されるべきです。これを実現するために、ヘルプ・ダイアログは、それらの文字列を DtHelp.cat という名前のメッセージ・カタログから読み取ります。メッセージ・カタログのソース・ファイル DtHelp.msg には、メニュー、ボタン、メッセージの文字列が指定されています。必要な言語が提供されていない場合は、サンプルのメッセージ・カタログ (/usr/dt/dthelp/nls/C/DtHelp.msg) を翻訳してから、gencat コマンドで実行時のメッセージ・カタログ・ファイルを作成しなければなりません。手順については、 を参照してください。
新規のメッセージ・カタログをインストールする正しいディレクトリを決定するには、システムに付属のマニュアルを参照してください。
LANG 環境変数
ユーザの LANG 環境変数は、次の2つの理由により重要です。
LANG の値は、正しいヘルプ・ボリュームをの位置を見つけるために使用されます。
ヘルプ・トピックが表示されるとき、正しいフォントおよび書式化の規則は、ユーザの LANG 環境変数に基づいて選択されます。これは、ヨーロッパやアメリカの言語よりも複雑な行の折り返し規則を持つアジアの言語において特に重要です。
関連項目
共通デスクトップ環境 国際化対応プログラマーズ・ガイド
ご使用のコンピュータのオペレーティング・システム用の NLS 関連のマニュアルまたはプログラマ用ツールキット
フォーマット・テーブル
日本語や中国語などのマルチバイト言語には、フォーマット・テーブルが必要です。フォーマット・テーブルは、行頭にできない文字と行末にできない文字のリストを提供します。ヘルプ・ファイルが処理されるときに、フォーマット・テーブルは行が確実に折り返されるようにします。 は、新規テーブルの作成方法、またヘルプ開発者用キットで提供されるサンプル・テーブルの編集方法を説明しています。
フォント・スキーマ
DocBook ソフトウェアのおもな機能のひとつは、マークアップされたファイルを、ヘルプ・システムが解釈できる実行時の形式に変換することです。テキストは、型ファミリ、サイズ、傾斜、線の太さなどの特定の属性を指定してフォーマットされています。フォント・スキーマは、別名のように、ヘルプ・システムが、ヘッダ、プロシージャ、リストなどの DocBook 要素にフォントを割り当てるために使う単なる名前です。フォント・スキーマにより、ヘルプ・システムが使用するひとかたまりのテキスト属性を特定のフォントにマップすることができます。
標準の共通デスクトップ環境フォントを使用するアプリケーションは、追加のフォント・リソースを定義する必要はありません。それ以外のフォント・セットにアプリケーションが依存する場合は、そのアプリケーション用にフォント・スキーマを作成して追加しなければなりません。
関連項目
DtStdInterfaceFontNames(5) のマニュアル・ページ
DtStdAppFontNames
(5) のマニュアル・ページ
フォント・スキーマの理解
DocBook マークアップ言語を使用してヘルプ・ボリュームを記述する場合は、テキストのフォントおよぴサイズは指定しません。DocBook ソフトウェアを起動すると、入力した要素が、テキスト属性を含む実行時のヘルプ・ファイルにフォーマットされます。
フォント・スキーマ は、テキスト属性を実際のフォント指定にマップします。たとえば、ヘルプ・トピックがボールドの sans serif (サンセリフ) フォントを使用してフォーマットされている場合、フォント・スキーマは、どの共通
デスクトップ環境標準フォントまたはXフォントが実際にテキスト表示に使用されているかを識別します。
フォント・スキーマを使用するおもな目的のひとつは、フォント・サイズの選択肢を提供することです。DocBook ソフトウェアは、ほとんどのトピックの本文を10ポイントにフォーマットします。しかし、実際に表示されるフォントは使用されているフォント・スキーマが決定するため、10ポイントのテキストは、すべて14ポイント・フォントを使用するように指定されます。
フォント・リソース
各フォント・スキーマは、実際はXリソースのセットです。Xリソースは、ヘルプを表示しているアプリケーションによって読み取られます。フォント・スキーマを変更したい場合は、フォント・リソースをアプリケーションのデフォルトのリソース・ファイルに設定できます。
フォント・スキーマ内の各リソースの一般的な形式は次のとおりです。
*pitch.size.slant. weight.style. lang.char-set: font specification
各フィールドの意味を次に示します。
pitch
文字間の水平方向の間隔を指定します。このフィールドは、p (プロポーショナル) または m (等幅) のいずれかです。
size
希望するフォントの高さを指定します。DocBook でフォーマットされたヘルプ・ファイルでは、この値は、6、8、10、12、または 14 のいずれかです。
slant
・希望するフォントの傾斜を指定します。このフィールドは、通常、垂直な文字なら roman、傾斜した文字なら italic のいずれかになります。
weight
希望するフォントの線の太さを指定します。このフィールドは、通常、medium または bold のいずれかです。
style
希望するフォントの一般的なスタイルを指定します。DocBook でフォーマットされたヘルプ・ファイルでは、この値は serif または sans_serif のいずれかです。
lang
この言語を使用してコンパイルされたボリュームが、これらのフォントを使用するように指定します。通常、指定された char_set を使用するすべてのボリュームが、これらのフォントを使用するように、* (アスタリスク) をエントリに使用します。
char-set
ヘルプ・テキストの記述に使用する文字セットを使用します。この値は、DocBook を実行したときに指定した文字セットと一致しなければなりません。デフォルトは ISO-8859-1 です。一部の特殊文字は、symbol 文字セットを使用して表示されます。
* (アスタリスク) を使用すると、特定の属性のすべての値をもつフォントを指定できます。たとえば、記号セット(特殊文字と特殊記号)は、サイズと文字セットのみに基づいて一意のフォントを識別します。
フォント・リソースは、フォント・スキーマ内で次のように表示されます。
*.6.*.*.*.*.DT-SYMBOL-1: -adobe-symbol-medium-r-normal-*-*-60-*-*-
p-*-adobe-fontspecific
*.8.*.*.*.*.DT-SYMBOL-1: -adobe-symbol-medium-r-normal-*-*-80-*-*-
p-*-adobe-fontspecific
*.10.*.*.*.*.DT-SYMBOL-1: -adobe-symbol-medium-r-normal-*-*-100-*-
*-p-*-adobe-fontspecific
*.12.*.*.*.*.DT-SYMBOL-1: -adobe-symbol-medium-r-normal-*-*-120-*-
*-p-*-adobe-fontspecific
*.14.*.*.*.*.DT-SYMBOL-1: -adobe-symbol-medium-r-normal-*-*-140-*-
*-p-*-adobe-fontspecific
char-set フィールドは、* (アスタリスク) を使用できない唯一のフィールドです。
日本語や韓国語などのマルチバイト言語を表示するには、フォント・セットを使用してフォント・リソースを指定しなければなりません。フォント・セットは実際にはフォントのグループです。フォント・セットのリソース・エントリは、複数のフォント名が、, (コンマ) で区切られ、指定が : (コロン) で終了する点を除き、単一のフォントと同様です。次の例は、日本語フォント・セット用の完全に指定したフォント・リソースです。
bridge-gothic-medium-r-normal--18-180-75-75-c-80-jisx0201.1976-0,
bridge-gothic-medium-r-normal--18-180-75-75-c-160-jisx0208.1983-0,
bridge-gothic-medium-r-normal--18-180-75-75-c-160-jisx0212.1990-0:
マルチバイト言語のフォントを指定するには、最小限の XLFD フォント指定を提供し、システムがフォント・セットを生成するために文字セットの順を指定できるようにすることも可能です。
*.12.roman.medium.*.ja_JP.EUC-JP: -*-*-*-*-*-*-*-120-*-*-*-*-*-*:
フォント・セットを指定するときには、必ず指定を : (コロン) で終了してください。これにより、ヘルプ・システムは情報を表示するためのフォント・セットを読み込みます。フォント・セットは、マルチバイト言語の表示に使用されます。シングルバイト情報をもつボリュームについては、標準フォント指定を使用してください。
フォント・スキーマの例
/usr/dt/dthelp/fontschemes ディレクトリには、4つのフォント・スキーマが格納されています。
fontDef.fns
ヘルプ・システムが使用するデフォルト・フォント
fontLarge.fns
大きなフォントの例
fontMulti.fns
マルチバイト・フォントの例
fontX11.fns
X11 フォントの例
フォント・スキーマを選択するには
オンライン・ヘルプを表示するアプリケーション用のデフォルトのリソース・ファイルを編集します。現在のフォント・リソースがある場合は、新規スキーマに置換します。
自分だけのためにこの変更を行う場合は、アプリケーションのリソース・ファイルを自分のホーム・ディレクトリにコピーしてから編集を行ってください。
例
DtStopWatch という名前の個人用アプリケーションの大きいサイズのフォントを(ヘルプ・ダイアログで)使用するには、次の手順を実行ます。
ホーム・ディレクトリへ移動します。
cd
次に、アプリケーションのデフォルトのリソース・ファイル DtStopWatch をコピーし、書き込み可能にします。
cp /usr/dt/app-defaults/C/DtStopWatch.
chmod u+w DtStopWatch
最大のスキーマ (fontLarge.fns) を追加するように DtStopWatch ファイルを編集します。ファイルの終端に行き、次のファイルの内容を挿入します。
/usr/dt/dthelp/fontschemes/fontLarge.fns
新しい DtStopWatch ファイルを保存します。
DtStopWatch アプリケーションを起動し、[ヘルプ]を選択し、ヘルプ・トピックが新しいフォント・スキーマを使用して表示されるか確認します。
フォーマット・テーブルの作成
日本語や中国語などのマルチバイト言語には、フォーマット・テーブルが必要です。このテーブルには、3つのメッセージ・セットが含まれています。1番目のセットは行頭にできない文字から成ります。2番目のセットは行末にできない文字をリストしています。3番目のセットは、シングルバイト文字とマルチバイト文字の間に発生する改行文字の処理方法を示しています。
フォーマット・テーブルは、ASCII ファイルで、ファイル名は必ず拡張子 .msg が付きます。 は、中国語(簡体字)用のフォーマット・テーブルからの抜粋です。
$ (ドル記号) とひとつの空白で始まる行はすべてコメントです。
フォーマット・テーブルの例
マルチバイト文字セット用のフォーマット・テーブルの例は、/usr/dt/dthelp/nls/zh_CN.dt-eucCN ディレクトリにあり、名前は fmt_tbl.msg です。
テーブルの例は、文字を追加したり削除したりして変更できます。フォーマット・テーブルを編集するには、ヘルプ情報用に選択した言語の文法を構成できるエディタを使用してください。マルチバイト言語でヘルプ情報を作成したい場合は、フォーマット・テーブルを作成する必要があります。
メッセージ・カタログを作成するには
DtHelp.msg ファイルを翻訳したり、新しいフォーマット・テーブルを作成したり、テーブルの例 (fmt_tbl.msg) を変更した場合は、ヘルプ・システムが使用するメッセージ・カタログを必ず更新してください。
カタログ・ファイルを生成するには、次のコマンド構文を使用します。
gencat file.cat file.msg
標準デスクトップ・アプリケーションのメッセージ・カタログは /usr/dt/lib/nls/msg/lang ディレクトリにあります。メッセージ・カタログをインストールするには、ご使用のオペレーティング・システムのマニュアアルを、ガイドラインとして参照してください。
関連項目
gencat(1) のマニュアル・ページ
ローカライズされたヘルプ・ボリュームの表示
現在のシステムとは異なるロケールのために作成されたヘルプ・ボリュームを表示するには、そのヘルプ・ボリュームに合うように LANG 環境変数を設定しなければなりません。LANG 環境変数の値は、プラットフォーム固有です。この変数がよくわからない場合は、環境を設定するための正しい値およびプロシージャをシステム管理者に確認してください。
オンライン・ヘルプの国際化対応の確認事項
オンライン・ヘルプを外国のユーザに提供する場合に確認すべき事項を以下のチェックリストにまとめます。
ヘルプ・トピックは外国のユーザを想定して書かれているか?
DocBook ソフトウェアは、正しい LANG の設定を使用して実行したか?別の文字セットで作成した場合、DtHelp.msg メッセージ・カタログを翻訳し、新しい文字セットをサポートするフォント・スキーマを提供しなければなりません。
ヘルプ・テキストにマルチバイト文字を使用していても、DocBook マークアップ内では、すべてのタグ名、エンティティ名、ID が8ビットの文字セットで入力されているか?
ユーザの LANG 環境変数が正しい言語に設定されているとき、ヘルプ・ファイルを適切に見つけて表示できるようにインストールしてあるか?
ヘルプ・システムをアプリケーションに統合した場合、XtSetLanguageProc() 関数を使用して、ロケールを適切に設定したか?
関連項目
XtSetLanguageProc(3) のマニュアル・ページ
gencat(1) のマニュアル・ページ
ご使用のコンピュータのオペレーティング・システム用の NLS 関連のマニュアルまたはプログラマ用ツールキット