I18N Book 図表インデックス (実践編)

図表番号図表タイトル ページ
第 9 章   UNIX & C 言語国際化プログラミング
図 9-1setlocale() の使用例 129
図 9-2カテゴリによって異なるロケールの設定 130
図 9-3環境変数に従ってロケールを設定する 130
図 9-4ロケール名の入手 131
図 9-5 nl_langinfo() のプログラムでの使用例 134
図 9-6プログラム (図 9-5) の実行例 135
図 9-7構造体 lconv 136
図 9-8 localeconv() のプログラムでの使用例 137
図 9-9プログラム (図 9-8) の実行例 138
図 9-10構造体 tm 140
図 9-11 strftime() の使用例 141
図 9-12プログラム (図 9-11) の実行例 142
図 9-13変換指定の形式 143
図 9-14 strfmon() のプログラムでの使用例 144
図 9-15プログラム (図 9-14) の実行例 145
図 9-16マルチバイト文字とワイド文字の間の変換 147
図 9-17マルチバイト文字とワイド文字の間の変換 147
図 9-18 scanf() と printf() の使用例 151
図 9-19 wscanf() と wprintf() の使用例 154
図 9-20fwide() の使用例 155
図 9-21MB_CUR_MAX の定義の例 156
図 9-22配列宣言とコンパイル・エラーの例 157
図 9-23mbtowc() の使用例 157
図 9-24mblen() の使用例 158
図 9-25mbstowcs() の使用例 159
図 9-26マルチバイト文字列 vs ワイド文字列 159
図 9-27malloc() によるメモリの確保の例 (メモリ浪費型) 160
図 9-28malloc() によるメモリの確保の例 (改良型) 160
図 9-29マルチバイト用文字配列が 5 バイトの場合 162
図 9-30マルチバイト用文字配列が 4 バイトの場合 163
図 9-31MB_CUR_MAX を用いた計算方法 163
図 9-32wcstombs() の使用例 164
図 9-33JIS コードによる文字列の例 (‘サーフ90’) 164
図 9-34二つのワイド文字配列 170
図 9-35wcsncat()の実行 171
図 9-36三つのワイド文字配列 172
図 9-37wcsncpy() 実行後のワイド文字配列 172
図 9-38wcscmp(), wcsncmp() の動作 173
図 9-39wcscoll() の動作 174
図 9-40wcscoll() の使用例 174
図 9-41wcsxfrm() の動作 175
図 9-42wcscoll() の使用例 175
図 9-43wcspbrk() の使用例 177
図 9-44wcsstr() の使用例 177
図 9-45二つのワイド文字列 179
図 9-46wcstok() の実行 (1回目) 179
図 9-47wcstok() の実行 (2回目) 180
図 9-48wcsspn() の使用例 180
図 9-49wcscspn() の使用例 181
図 9-50wcstol() による整数への変換 181
図 9-51wcstod() による浮動小数点数への変換 182
図 9-52浮動小数点数の例 182
図 9-53ロケールによる date コマンドの出力 183
図 9-54wcslen(), wcswidth() の使用例 185
図 9-55wctype() と iswctype() の使用例 187
図 9-56towupper() や towlower() のエミュレート 189
図 9-57wmemset() の使用例 190
図 9-58メモリの初期化 190
図 9-59wmemcpy() と wcsncpy() 191
図 9-60wmemcmp() と wcsncmp() 192
図 9-61wmemchr() と wcschr() 193
図 9-62これまでのプログラミング 194
図 9-63メッセージ・カタログを用いたプログラミング 195
図 9-64 英語で記述したメッセージ・カタログ 205
図 9-65 日本語に翻訳したメッセージ・カタログ 205
図 9-66 メッセージ・カタログのサンプル・プログラム 206
図 9-67コンパイル処理と NLSPATH 環境変数の設定 207
図 9-68英語のメッセージ出力の確認 207
図 9-69日本語のメッセージ出力の確認 207
図 9-70iconv() の引数が示す変数の値の更新 210
図 9-71 iconv ライブラリを利用したコード変換プログラムの例 212
図 9-72 サンプル・データファイル 213
図 9-73プログラム (図 9-71) の実行例 213
表 9-1ロケール名の例 (DIGITAL UNIX の場合) 129
表 9-2それぞれのカテゴリ名の意味 129
表 9-3nl_langinfo() で指定するマクロ 133
表 9-4p_sign_posn と n_sign_posn の値の意味 137
表 9-5変換指定文字の意味 139
表 9-6代替表現の指定 140
表 9-7フラグの指定方法と意味 144
表 9-8数値とアルファベット文字の関係 182
表 9-9それぞれの関数と文字クラスの関係 186
表 9-10エスケープ文字 196
表 9-11NLSPATH 環境変数で使用できる変数 200
表 9-12iconv_open() で発生するエラーの種類と意味 209
表 9-13iconv() で発生するエラーの種類と意味 211
表 9-14iconv_close() で発生するエラーの種類と意味 211
第 10 章   X, Motif, CDE 国際化プログラミング
図 10-1X, Motif, CDE の関係 214
図 10-2ロケールの設定と確認を行うプログラムの例 216
図 10-3フォント・セットによる文字列の出力 219
図 10-4フォントが存在しない文字集合名のリスト 221
図 10-5構造体 XFontStruct とフォント名のリスト 222
図 10-6実際の出力範囲と論理的な出力範囲の関係 224
図 10-7 フォント・セットを使用した国際化サンプル・プログラム xoutput_v1 227
図 10-8 サンプル・プログラム (図 10-7) の実行結果 227
図 10-9XOC と XFontSet の定義 (X11/Xlib.h より) 228
図 10-10XOpenOM() の実行例 229
図 10-11XGetOMValues() の使用例 230
図 10-12XCreateOC() の使用例 231
図 10-13国際化テキスト出力プログラムの例 233
図 10-14リソース・ファイルによる国際化 (日本語ロケールの場合) 234
図 10-15 リソース・データベースの構築 237
図 10-16 リソースを使用した国際化サンプルプログラム xoutput_v2 242
図 10-17 サンプル・プログラム(図 10-16) の実行結果 242
図 10-18クライアント間通信 243
図 10-19STRING 型によるクライアント間テキスト通信 243
図 10-20STRING 型による日本語テキスト通信 244
図 10-21TEXT 型による日本語テキスト通信 244
図 10-22COMPOUND_TEXT 型による日本語テキスト通信 245
図 10-23コンパウンド・テキストの例 245
図 10-24マルチバイト文字列とワイド文字列のリストの指定例 246
図 10-25テキスト・プロパティ (XTextProperty 型) のデータ構造 247
図 10-26マルチバイト文字列とワイド文字列のリストの例 248
図 10-27XmbSetWMProperties() を使ったウィンドウ・タイトルとアイコン名の設定例 251
図 10-28 セレクションで国際化テキストを送受信する国際化プログラム 256
図 10-29 プログラム(図 10-28) の実行結果 256
図 10-30ASCII テキストの入力と国際化テキストの入力 257
図 10-31入力メソッドの実装方法 258
図 10-32入力スタイルがルート・ウィンドウの場合 260
図 10-33入力スタイルがオフ・ザ・スポットの場合 261
図 10-34入力スタイルがオーバー・ザ・スポットの場合 262
図 10-35入力コンテキストとウィンドウの関係 264
図 10-36XOpenIM() の使用例 266
図 10-37XSetIMValues() の使用例 268
図 10-38XGetIMValues() の使用例 269
図 10-39構造体 XIMStyles 269
図 10-40変数 xim_styles と構造体 XIMStyles および配列の関係 269
図 10-41XCreateIC() の使用例 274
図 10-42入力用ウィンドウと入力コンテキスト 276
図 10-43二つの入力用ウィンドウと入力コンテキスト 276
図 10-44XFilterEvent() の使用例 278
図 10-45XwcLookupString() の使用例 280
図 10-46オーバー・ザ・スポットによる入力 281
図 10-47オーバー・ザ・スポット・ウィンドウの表示位置の指定 282
図 10-48国際化テキスト入力プログラムの実行例 282
図 10-49 ヘッダファイル imtest.h 283
図 10-50 プログラム本体 imtest.c 288
図 10-51XRegisterIMInstantiateCallback() の使用例 290
図 10-52XtSetLanguageProc() の使用例 293
図 10-53コンパウンド・テキストの概念 294
図 10-54フォント・リストの概念 294
図 10-55コンパウンド・テキスト表示におけるフォント選択 295
図 10-56国際化テキストを表示するためのコンパウンド・ストリングとフォント・リスト 295
図 10-57 国際化テキストを表示するプログラム例 300
図 10-58 プログラム(図 10-57) の実行結果 300
図 10-59フォント・リストの定義例 301
図 10-60 国際化テキストを表示するプログラム例(リソースを使用) 303
図 10-61 プログラム (図 10-60) の実行結果 303
図 10-62 国際化テキストを表示するプログラム例(UIL を使用) 307
図 10-63 プログラム (図 10-62) の実行結果 308
図 10-64 国際化テキストの入出力を行うプログラム例 312
図 10-65 プログラム (図 10-64) の実行結果 313
図 10-66CDE 国際化デスクトップ環境 314
図 10-67CDE のディレクトリ構造 315
図 10-68アプリケーション・マネージャに表示されたアクション 317
図 10-69ファイル・マネージャに表示されたファイルやディレクトリ 317
図 10-70アクション定義 (英語版) 318
図 10-71データ型定義 (英語版) 320
図 10-72アプリケーション・グループのデータ型定義 (英語版) 321
図 10-73アイコン・ファイルの表示例 322
図 10-74アクションおよびデータ型定義 (日本語版) 326
図 10-75CDE 国際化環境に統合されたアプリケーション (日本語版) 327
表 10-1XOM 値の名前を表すマクロと意味 230
表 10-2XCreateOC() で指定することのできる XOC 値 231
表 10-3XOC 値の名前を表すマクロと意味 232
表 10-4登録されている文字集合とシフト・シーケンス 245
表 10-5テキスト・プロパティのデータ型 246
表 10-6エラー・コード 247
表 10-7XIM 値の名前を表すマクロと意味 268
表 10-8入力スタイルを表すビット・マスクとマクロ 268
表 10-9XIC 値の名前を表すマクロと意味 270
表 10-10XIC 値と入力スタイルの関係 (その 1) 271
表 10-11XIC 値と入力スタイルの関係 (その 2) 271
表 10-12XPreeditAttributes で指定できる下位属性 272
表 10-13下位属性と入力スタイルの関係 272
表 10-14XStatusAttributes で指定できる下位属性 273
表 10-15下位属性と入力スタイルの関係 273
表 10-16入力処理結果を表す値 281
表 10-17CDE のディレクトリと用途 316
表 10-18アイコン・ファイルの拡張子 321
表 10-19アクション関連ファイル 322
表 10-20データ型関連ファイル 322
第 11 章   Windows 国際化プログラミング
図 11-1Windows と Windows NT のリリースの流れ 329
図 11-2Windows NT 4.0 の基本構造 332
図 11-3汎用データ型からの展開 336
図 11-4汎用プログラムの例 339
図 11-5Windows NT日本語版での英語版からの修正部分 342
図 11-6Windows NT の内部での Unicode 342
表 11-1Microsoft Windows におけるコードページのサポート例 330
表 11-2Locale からみたコードページの例 330
表 11-3Windows 95 のアジア言語におけるバイトの範囲 331
表 11-4<tchar.h> マクロとその展開の例 334
表 11-5Win32 で Unicode 用に定義されたデータ型 335
表 11-6文字列操作と Unicode 処理のための Win32 API 340
表 11-7Windows 95 における Unocode 対応の Win32 API 341
表 11-8Windows におけるリソース・ファイルの要素 343
表 11-9Win32 NLS API のプラットフォーム別サポート 345
表 11-10Windows 95 IMM の例 346
表 11-11多言語 API の例 346
第 12 章   インターネット国際化プログラミング
図 12-1日本語ヘッダ変換の流れ 353
図 12-2メール転送時の ESMTP から SMTP への変換 354
図 12-3日本語のテキスト・メールの変換例 (1) 355
図 12-4日本語のテキスト・メールの変換例 (2) 355
図 12-5URL での漢字の表記例 357
図 12-6URL に日本語の引数が使用された場合の表現 358
図 12-7</SELECT> の例 359
図 12-8NumberFormat で扱うロケールの表示 364
図 12-9文字列データのリソースの呼び出し 366
図 12-10文字列データのリソースの作成 366
図 12-11文字列データのリソースの日本語対応 366
図 12-12日付および時間のフォーマットの指定例 367
図 12-13ロケールごとの日付および時間の表示 (図 12-12 の出力) 368
図 12-14文字列からの時間情報の取得 368
図 12-15フォーマット指定による日付/時間の表示 368
図 12-16ロケールに依存した数値書式の取得 368
図 12-17文字列からの数値情報の取得 369
図 12-18語順を変えたメッセージの出力 369
図 12-19MessageFormat を使用した文字列の読み取り 370
図 12-20ロケールに依存した並び順の指定 370
図 12-21独自の文字比較ルールの設定 371
図 12-22文字列の境界を調べる処理 371
図 12-23図 12-22 のプログラムの出力 372
図 12-24ローカルな文字コードによる入出力 372
図 12-25エンコーディングを指定した文字列の変換 372
表 12-1MIME の RFC 一覧 349
表 12-2RFC2046 で定義されているメディア・タイプ 350
表 12-3RFC2046 で定義されている charset 351
表 12-4日本語の charset 352
表 12-5日本語以外の charset 352
表 12-6Netscape Navigator と MS Internet Explorer が フォーム入力に対して返す漢字コード 358
表 12-7JDK 1.1 でサポートするロケール (NumberFormatによる) 365
表 12-8SimpleDateFormatで使われる記号 369
表 12-9Java における文字列処理の例 370
表 12-10JDK 1.1 でサポートされているエンコーディング 372
第 13 章   国際化ソフトウェアとドキュメント
図 13-1国際化ソフトウェアとドキュメントの関係 376
図 13-2ソフトウェア・ドキュメントの種類 377
図 13-3国際化ソフトウェア・ドキュメントの開発プロセス 381
第 14 章   英語版アプリケーションの国際化
図 14-1fprintf() 関数呼び出しの例 387
図 14-2HTMLContents.msg 388
図 14-3HTMLContents_eucJP.msg 388
図 14-4メッセージ・カタログ・ファイルの生成 389
図 14-5message.h 389
図 14-6英語メッセージを出力するプログラムの例 390
図 14-7ロケールに依存しない文字比較の例 394
図 14-8修正後の UpperCase 関数 397
図 14-9asctime() を使用した日時の表示 399
図 14-10strftime() を使用した日時の表示 399


I18N Book ホームページに戻る