タイトルおよびコピーライト情報
 
まえがき
対象読者
新規機能と変更事項
本書の構成
関連ドキュメントおよび標準
表記法
 
1    国際化ソフトウェア開発の概要
1.1    言語宣言
1.1.1    地域化
1.2    言語
1.2.1    文字分類
1.2.2    大文字と小文字の変換
1.2.3    メッセージ・カタログ
1.3    文化的データ
1.3.1    言語情報
1.4    文字セット
1.4.1    照合順序
1.4.2    文字と文字列
1.4.3    ポータブル文字セット
1.4.4    ユニバーサル文字セット
 
2    国際化ソフトウェアの開発
2.1    ロケールの使用
2.2    コードセットの使用
2.2.1    データの透過性の確保
2.2.2    コード内リテラルの使用
2.2.3    マルチバイト文字の操作
2.2.4    マルチバイト文字データとワイド文字データ間の変換
2.2.5    ソースおよび実行コードセットにおけるマルチバイト文字の規則
2.2.6    文字の分類
2.2.7    文字の変換
2.2.8    文字列の比較
2.3    文化的データの処理
2.3.1    langinfo データベース
2.3.2    langinfo データベースの照会
2.3.3    ローカルな習慣に合った日付および時刻文字列の生成と解釈
2.3.4    金額値の書式付け
2.3.5    プログラム独自の形式による数値の書式付け
2.3.6    他の処理における langinfo データベースの使用
2.4    テキストの表示と入力の処理
2.4.1    メッセージの作成と使用
2.4.2    出力テキストの書式付け
2.4.3    入力テキストの走査
2.5    実行時環境へのロケールのバインド
2.5.1    システムまたはユーザのロケール・セットへのバインド
2.5.2    プログラム実行時のロケールの変更
 
3    メッセージ・カタログの作成と使用
3.1    メッセージ・テキスト・ソース・ファイルの作成
3.1.1    一般規則
3.1.2    メッセージ・セット
3.1.3    メッセージ・エントリ
3.1.4    quote ディレクティブ
3.1.5    コメント行
3.1.6    メッセージ・スタイルのガイドライン
3.2    既存のプログラムからのメッセージ・テキストの抽出
3.3    メッセージ・ソース・ファイルの編集と翻訳
3.4    メッセージ・カタログの生成
3.4.1    mkcatdefs コマンドの使用法
3.4.2    gencat コマンドの使用法
3.4.3    メッセージ・カタログの設計と保守に関する留意点
3.5    メッセージとロケール・データの表示
3.6    プログラムからのメッセージ・カタログへのアクセス
3.6.1    メッセージ・カタログのオープン
3.6.2    メッセージ・カタログのクローズ
3.6.3    プログラム・メッセージの読み取り
 
4    curses ライブラリ・ルーチンを使用したワイド文字の処理
4.1    curses ウィンドウへのワイド文字の書き込み
4.1.1    ワイド文字を追加 (上書き) し,カーソルを進める
4.1.2    ワイド文字を (上書きせずに) 挿入し,カーソルを進めない
4.2    curses ウィンドウへのワイド文字列の書き込み
4.2.1    ワイド文字列を追加 (上書き) し,カーソルを進めない
4.2.2    ワイド文字列を追加 (上書き) し,カーソルを進める
4.2.3    ワイド文字列を (上書きせずに) 挿入し,カーソルを進めない
4.3    curses ウィンドウからのワイド文字の削除
4.4    curses ウィンドウからのワイド文字の読み取り
4.5    curses ウィンドウからのワイド文字列の読み取り
4.5.1    属性付きのワイド文字列の読み取り
4.5.2    属性なしでのワイド文字列の読み取り
4.6    端末からの文字列の読み取り
4.7    キーボードからのワイド文字の読み取りまたはキューイング
4.8    curses ウィンドウでの書式付きテキストの変換
4.9    curses ウィンドウでの書式付きテキストの表示
 
5    国際化対応の X,Xt,および Motif アプリケーションの作成
5.1    Xt イントリンシクス・ライブラリの国際化機能の使用
5.1.1    Xt 関数によるロケールの設定
5.1.2    Xt 関数におけるフォントセット・リソースの使用
5.1.3    Xt ライブラリ関数におけるテキスト入力イベントのフィルタリング
5.1.4    Xt ライブラリ関数におけるロケールのコードセット・コンポーネントの取り込み
5.2    OSF/Motif および DECwindows Motif ツールキットの国際化機能の使用
5.2.1    Motif アプリケーションにおける言語の設定
5.2.2    コンパウンド・ストリングと,XmText および XmTextField ウィジェットの使用
5.2.3    ウィジェット・クラスの国際化機能
5.3    X ライブラリの国際化機能の使用
5.3.1    ロケールの管理
5.3.2    さまざまなロケールでのテキストの表示
5.3.2.1    フォントセットの作成と操作
5.3.2.2    フォントセットのメトリックスの取得
5.3.2.3    フォントセットを使用したテキストの表示
5.3.2.4    X 出力サーバを使用したテキスト処理
5.3.2.5    エンコーディングが異なるフォントセット間の変換
5.3.3    クライアント間通信の処理
5.3.4    地域化されたリソース・データベースの処理
5.3.5    X 入力サーバを使用したテキスト入力の処理
5.3.5.1    入力サーバへの接続と,接続の解除
5.3.5.2    入力サーバ値の問い合わせ
5.3.5.3    入力サーバのコンテキストの作成と使用
5.3.5.4    On-the-spot 入力スタイル用の前編集コールバックの作成
5.3.5.5    入力サーバのためのイベント・フィルタリング
5.3.5.6    キーボードからのコンパウンド・ストリングの取得
5.3.5.7    入力サーバが失敗したときの処理
5.3.6    Xt および X ライブラリの国際化機能の使用法: 要約
 
6    ロケールの作成
6.1    ロケールに対応した文字マップ・ソース・ファイルの作成
6.2    ロケール定義ソース・ファイルの作成
6.2.1    LC_CTYPE ロケール・カテゴリの定義
6.2.2    LC_COLLATE ロケール・カテゴリの定義
6.2.3    LC_MESSAGES ロケール・カテゴリの定義
6.2.4    LC_MONETARY ロケール・カテゴリの定義
6.2.5    LC_NUMERIC ロケール・カテゴリの定義
6.2.6    LC_TIME ロケール・カテゴリの定義
6.3    マルチバイト・コードとワイド文字コード間の変換を行うライブラリの構築
6.3.1    必須メソッド
6.3.1.1    fgetws 関数用の _ _mbstopcs メソッドの作成
6.3.1.2    getwc( ) 関数用の _ _mbtopc メソッドの作成
6.3.1.3    fputws( ) 関数用の _ _pcstombs メソッドの作成
6.3.1.4    _ _pctomb メソッドの作成
6.3.1.5    mblen( ) 関数用のメソッドの作成
6.3.1.6    mbstowcs( ) 関数用のメソッドの作成
6.3.1.7    mbtowc( ) 関数用のメソッドの作成
6.3.1.8    wcstombs( ) 関数用のメソッドの作成
6.3.1.9    wctomb( ) 関数用のメソッドの作成
6.3.1.10    wcswidth( ) 関数用のメソッドの作成
6.3.1.11    wcwidth( ) 関数用のメソッドの作成
6.3.2    オプションのメソッド
6.3.3    ロケールで使用するシェアード・ライブラリの作成
6.3.4    ロケールに対応した methods ファイルの作成
6.4    ロケールの作成とテスト
 
7    国際化アプリケーションのプログラミング上の注意
7.1    入力システムの選択
7.2    ユーザ定義文字と語句入力の管理
7.3    ロケールの指定によるソート順序の割り当て
7.4    英語以外の言語におけるリファレンス・ページの処理
7.4.1    nroff コマンド
7.4.2    tbl コマンド
7.4.3    man コマンド
7.5    データ・ファイルのコードセットの変換
7.6    中国語および韓国語の PostScript サポートでのフォント・レンダラの使用
7.6.1    マルチバイト PostScript フォント用のフォント・レンダラの使用法
7.6.1.1    2 バイト PostScript フォント用のフォント・レンダラのセットアップ
7.6.1.2    UDC フォント用のフォント・レンダラのセットアップ
7.6.1.3    TrueType フォント用のフォント・レンダラの使用
 
A    国際化インタフェースの要約表
A.1    ロケール宣言
A.2    文字分類
A.3    大文字/小文字変換と汎用プロパティ変換
A.4    文字照合
A.5    言語と文化習慣によって異なるデータへのアクセス
A.6    日付/時刻の変換と書式付け
A.7    テキストの書き込みと読み取り
A.8    数値変換
A.9    マルチバイト文字とワイド文字の変換
A.10    入出力
A.11    文字列処理
A.12    コードセット変換
 
B    ユーザ定義文字データベースのセットアップと使用法
B.1    ユーザ定義文字の作成
B.1.1    cedit のユーザ・インタフェース画面上での操作
B.1.2    フォント・グリフの編集
B.2    システム・ソフトウェアが使用する UDC サポート・ファイルの作成
B.3    X11 や Motif アプリケーションで使用する UDC フォントの処理
B.3.1    fontconverter のコマンド・オプションの使用法
B.3.2    出力ファイル・フォーマットの制御
 
C    プログラムでの DECterm ローカライゼーション機能の使用
C.1    DECterm ウィンドウにおける罫線の処理
C.1.1    パターンに従った罫線の描画
C.1.2    パターンによる罫線の削除
C.1.3    領域内のすべての罫線の削除
C.1.4    その他の DECterm エスケープ・シーケンス
C.1.5    DECterm が罫線をサポートしているかどうかの判定
C.2    DECterm プログラミングにおける制約
C.2.1    ダウンライン・ローダブル文字
C.2.2    DRCS 文字
 
D    サンプル・ロケールのソース・ファイル
D.1    文字マップ (charmap) のソース・ファイル
D.2    ロケール定義のソース・ファイル
 
用語集
 
3-1    メッセージ・テキスト・ソース・ファイル
3-2    対話型操作によるメッセージ・カタログの生成
5-1    X ウィンドウ・アプリケーションにおけるロケールの設定
5-2    X ウィンドウ・アプリケーションにおけるフォントセットの作成と使用
5-3    X ウィンドウ・アプリケーションにおけるテキストの表示
5-4    X ウィンドウ・アプリケーションにおける他のクライアントとの通信
5-5    X ウィンドウ・アプリケーションにおける入力サーバへの接続と接続の解除
5-6    入力サーバがサポートするユーザ入力スタイルの取得
5-7    X ウィンドウ・アプリケーションにおける入力コンテキストの作成と破棄
5-8    X ウィンドウ・アプリケーションにおける前編集コールバックの使用
5-9    X ウィンドウ・アプリケーションにおける入力サーバのためのイベント・フィルタリング
5-10    X ウィンドウ・アプリケーションにおけるキーボード入力の取得
5-11    入力サーバが失敗したときの処理
6-1    サンプル・ロケール用の charmap ファイル
6-2    マルチバイト・コードセット用の charmap ファイルの一部
6-3    ロケール・ソース定義ファイルの構成
6-4    LC_CTYPE カテゴリの定義
6-5    LC_COLLATE カテゴリの定義
6-6    LC_MESSAGES カテゴリの定義
6-7    LC_MONETARY カテゴリの定義
6-8    LC_NUMERIC カテゴリの定義
6-9    LC_TIME カテゴリの定義
6-10    ja_JP.sdeckanji ロケールのための _ _mbstopcs_sdeckanji メソッド
6-11    ja_JP.sdeckanji ロケールのための _ _mbtopc_sdeckanji メソッド
6-12    ja_JP.sdeckanji ロケールのための _ _pcstombs_sdeckanji メソッド
6-13    ja_JP.sdeckanji ロケールのための _ _pctomb_sdeckanji メソッド
6-14    ja_JP.sdeckanji ロケールのための _ _mblen_sdeckanji メソッド
6-15    ja_JP.sdeckanji ロケールのための _ _mbstowcs_sdeckanji メソッド
6-16    ja_JP.sdeckanji ロケールのための _ _mbtowc_sdeckanji メソッド
6-17    ja_JP.sdeckanji ロケールのための _ _wcstombs_sdeckanji メソッド
6-18    ja_JP.sdeckanji ロケールのための _ _wctomb_sdeckanji メソッド
6-19    ja_JP.sdeckanji ロケールのための _ _wcswidth_sdeckanji メソッド
6-20    ja_JP.sdeckanji ロケールのための _ _wcwidth_sdeckanji メソッド
6-21    ja_JP.sdeckanji ロケールで使用されるメソッドのライブラリの作成
6-22    ja_JP.sdeckanji ロケールのための methods ファイル
6-23    fr_FR.ISO8859-1@example ロケールの作成
6-24    LOCPATH 変数の設定とロケールのテスト
7-1    省略時の cp_dirs ファイル
 
3-1    メッセージ・カタログを使用できるようにするための,既存のプログラムの変換
B-1    ユーザ定義文字をサポートするコンポーネント
B-2    cedit のユーザ・インタフェース画面
B-3    credit フォント編集画面
B-4    フォント・サイズを変更するフォント編集画面の解釈
B-5    cedit の編集機能を呼び出すためのキーマップ
C-1    DECDRLBR シーケンスを用いた罫線の描画
C-2    DECDRLBR パラメータのビット・パターン
 
3-1    メッセージ・テキスト・ソース・ファイルにおける特殊文字の記述
4-1    ワイド文字を追加し,カーソルを進める curses ルーチン
4-2    ワイド文字を挿入し,カーソルを進めない curses ルーチン
4-3    ワイド文字列を追加しカーソルを進めない curses ルーチン
4-4    ワイド文字列を追加しカーソルを進める curses ルーチン
4-5    ワイド文字列を挿入しカーソルを進めない curses ルーチン
4-6    ワイド文字列を削除する curses ルーチン
4-7    ウィンドウからワイド文字を読み取る curses ルーチン
4-8    ワイド文字列とその属性を読み取る curses ルーチン
4-9    属性なしでワイド文字列を読み取る curses ルーチン
4-10    ワイド文字列を端末から読み取るcursesルーチン
4-11    ワイド文字列をキーボードから読み取る curses ルーチン
4-12    ウィンドウ内の書式付きテキストを変換する curses ルーチン
4-13    ウィンドウに書式付きテキストを表示する curses ルーチン
5-1    X ライブラリのロケール宣言関数
5-2    フォントセットの作成と操作を行う X ライブラリ関数
5-3    テキストのサイズを調節する X ライブラリ関数
5-4    テキストを表示するための X ライブラリ関数
5-5    出力サーバと出力コンテキスト用の X ライブラリ関数
5-6    クライアント間通信用の X ライブラリ関数
5-7    地域化されたリソース・データベースを扱う X ライブラリ関数
5-8    入力コンテキスト (XIC) を管理する X ライブラリ関数
7-1    英語でサポートされているコードセット変換
7-2    UDC 文字用の XLFD 登録名
B-1    UDC サポート・ファイルのオンデマンド・ローディングのための stty オプション
B-2    cedit コマンドのオプション
B-3    さまざまなフォント編集機能のためのキー
B-4    cedit モードを切り替えるためのキー
B-5    カーソル移動を制御するためのキー
B-6    ウィンドウ領域にカーソルを移動するためのキー
B-7    フォント・グリフを描画するためのキー
B-8    フォント・グリフを編集するためのキー
B-9    cgen コマンドのオプション
B-10    fontconverter コマンドのオプションと引数
C-1    罫線に対する標準エスケープ・シーケンスの効果
 
索引