# Compaq OpenVMS

# Compaq C 国際化ユーティリティ・
リファレンス・マニュアル

AA-R1E9C-TE

# 2001 年 7 月

本書では，Compaq C XPG4 ランタイム・ライブラリ・ユーティリティについて説明します。 Compaq C ランタイム・ライブラリは，ローカライゼーションおよびタイム・ゾーン・データを管理する各国対応のソフトウェア・アプリケーションを開発する時に使用します。

改訂／更新情報: | 日本語 OpenVMS V7.2『 Compaq C 国際化ユティリティ・リファレンス・マニュアル』の改訂版です。
ソフトウェア・バージョン: | 日本語 Compaq OpenVMS Alpha V 7.3 日本語 Compaq OpenVMS VAX V 7.3

コンパックコンピュータ株式会社

(C) 2001 Compaq Computer Corporation

本書の著作権はコンパックコンピュータ株式会社が保有しており，本書中の解説および図，表はコンパックの文書による許可なしに，その全体または一部を，いかなる場合にも再版あるいは複製することを禁じます。

また，本書に記載されている事項は，予告なく変更されることがありますので，あらかじめご承知おきください。万一，本書の記述に誤りがあった場合でも，コンパックは一切その責任を負いかねます。

本書で解説するソフトウェア ( 対象ソフトウェア ) は，所定のライセンス契約が締結された場合に限り，その使用あるいは複製が許可されます。

コンパックは，コンパックまたはコンパックの指定する会社から納入された機器以外の機器で対象ソフトウェアを使用した場合，その性能あるいは信頼性について一切責任を負いかねます。

以下は，米国 Compaq Computer Corporation の商標です。

COMPAQ，VAX，VMS および Compaq ロゴ。

以下は，他社の商標です。

POSTSCRIPT は米国 Adobe Systems 社の登録商標です。

X/Open は米国 X/Open 社の商標です。

その他のすべての商標および登録商標は，それぞれの所有者が保有しています。

原典：Compaq C Run-Time Library Utilities Reference Manual

Printed in Singapore.

本書は CD-ROM でも提供しています。

次へ | 目次 | 索引 | DOC HOME

# まえがき

本書は， Compaq C ランタイム・ライブラリ・ユーティリティの使用方法，およびリファレンス情報を記述しています。 Compaq C ランタイム・ライブラリ・ユーティリティは，各国対応のソフトウェア・アプリケーションにおいてローカライゼーションやタイム・ゾーンのデータを管理します。

# 対象読者

本書は，Compaq C ランタイム・ライブラリを使用して，ローカライゼーションとタイム・ゾーン・データを管理するアプリケーションを開発するプログラマを対象にしています。

# 本書の構成

本書は，次の章から構成されています。

- 第 1 章 では，GENGAT, ICONV, LOCALE, および ZIC プログラミング・ユーティリティについて説明します。

- 第 2 章 では，ロケール定義ソース・ファイル，および Compaq がサポートする標準ロケール・カテゴリについて説明します。

- 第 3 章 では，文字セット記述 ( `charmap`) ファイルについて説明します。このファイルは，文字シンボルのエンコーディングを定義します。

- 第 4 章 では，XPG4 ユーティリティおよび ZIC ユーティリティのコマンドについて詳しく説明します。

- 付録 A では，日本語ロケールについて説明します。

# 関連資料

Compaq C ランタイム・ライブラリ・ユーティリティについての詳しい説明は，次のマニュアルを参照してください。

- 『Compaq C Run-Time Library Reference Manual for OpenVMS Systems』

- 『OpenVMS バージョン7.0 新機能説明書』

Compaq OpenVMS 製品およびサービスについての詳細は， Compaq のウェブ・サイトをご覧ください。

    http://www.openvms.compaq.com/
    または
    http://www.compaq.co.jp/

# 本書で使用する表記法

本書では次の表記法を使用しています。

表記法 | 意味
--- | ---
Ctrl/x | Ctrl/x という表記は， Ctrl キーを押しながら別のキーまたはポインティング・デバイス・ボタンを押すことを示します。
PF1 x | PF1 x という表記は，PF1 に定義されたキーを押してから，別のキーまたはポインティング・デバイス・ボタンを押すことを示します。
`[Return]` | 例の中で，キー名が四角で囲まれている場合には，キーボード上でそのキーを押すことを示します。テキストの中では，キー名は四角で囲まれていません。 HTML 形式のドキュメントでは，キー名は四角ではなく，括弧で囲まれています。
... | 例の中の水平方向の反復記号は，次のいずれかを示します。 文中のオプションの引数が省略されている。 前出の 1 つまたは複数の項目を繰り返すことができる。 パラメータや値などの情報をさらに入力できる。
. . . | 垂直方向の反復記号は，コードの例やコマンド形式の中の項目が省略されていることを示します。このように項目が省略されるのは，その項目が説明している内容にとって重要ではないからです。
( ) | コマンドの形式の説明において，括弧は，複数のオプションを選択した場合に，選択したオプションを括弧で囲まなければならないことを示しています。
[ ] | コマンドの形式の説明において，大括弧で囲まれた要素は任意のオプションです。オプションをすべて選択しても，いずれか1つを選択しても，あるいは1つも選択しなくても構いません。ただし，OpenVMS ファイル指定のディレクトリ名の構文や，割り当て文の部分文字列指定の構文の中では，大括弧に囲まれた要素は省略できません。
[|] | コマンド形式の説明では，括弧内の要素を分けている垂直棒線はオプションを 1 つまたは複数選択するか，または何も選択しないことを意味します。
{ } | コマンドの形式の説明において，中括弧で囲まれた要素は必須オプションです。いずれか 1 つのオプションを指定しなければなりません。
太字 | 太字のテキストは，新しい用語，引数，属性，条件を示しています。
italic text | イタリック体のテキストは，重要な情報を示します。また，システム・メッセージ (たとえば内部エラー number)，コマンド・ライン(たとえば /PRODUCER= name)，コマンド・パラメータ(たとえば device-name) などの変数を示す場合にも使用されます。
UPPERCASE TEXT | 英大文字のテキストは，コマンド，ルーチン名，ファイル名，ファイル保護コード名，システム特権の短縮形を示します。
`Monospace type` | モノスペース・タイプの文字は，コード例および会話型の画面表示を示します。 C プログラミング言語では，テキスト中のモノスペース・タイプの文字は，キーワード，別々にコンパイルされた外部関数およびファイルの名前，構文の要約，または例に示される変数または識別子への参照などを示します。
- | コマンド形式の記述の最後，コマンド・ライン，コード・ラインにおいて，ハイフンは，要求に対する引数がその後の行に続くことを示します。
数字 | 特に明記しない限り，本文中の数字はすべて10 進数です。 10 進数以外 (2 進数，8 進数，16 進数) は，その旨を明記してあります。

# 第 1 章
概要

Compaq C ランタイム・ライブラリ・ユーティリティは，各国対応ソフトウェア・アプリケーションのローカライゼーション・データ，および時刻データを管理するのに役立ちます。ローカライゼーション・データはアプリケーションとは別に定義され，実行時になってはじめて，アプリケーションに利用されます。

Compaq C ランタイム・ライブラリには，次のユーティリティが登録されています。

- XPG4 に準拠したユーティリティ( 第 1.1 節 )

- ZIC ユーティリティ( 第 1.2 節 )

# 1.1 XPG4 に準拠したローカライズ・アプリケーションの作成

国際的に使用できるアプリケーションを開発するのに役立つように， Compaq OpenVMS オペレーティング・システムでは， Compaq C ランタイム・ライブラリの一部として， XPG4 国際化モデル ( X/Open Portability Guide Issue 4 ) をサポートするユーティリティを提供しています。 XPG4 に準拠する次のユーティリティが提供されます。

- GENCAT ユーティリティ( 第 1.1.1 項 )

- ICONV ユーティリティ( 第 1.1.2 項 )

- LOCALE ユーティリティ( 第 1.1.3 項 )

これらのツールは， XPG4 モデルを対象に作成されたアプリケーションでのみ使用できます。

## 1.1.1 メッセージ・カタログの作成と起動

メッセージ・カタログとは，アプリケーションが表示または書き出すメッセージを含むバイナリ・ファイルです。このファイルには，アプリケーションが出力するすべてのメッセージ，たとえばエラー・メッセージ，情報メッセージ，画面メッセージ，プロンプトが格納されます。メッセージ・カタログを作成するには，GENCAT コマンドを使用します。

GENCAT は 1 つ以上の入力ソース・ファイルを読み込み，カタログ・ファイルが存在するときは，そのカタログ・ファイルも読み込みます。ソース・ファイルは，プログラムで出力するメッセージを格納するために作成するテキスト・ファイルです。ソース・ファイルにメッセージを入力するときは，任意のテキスト・エディタを使用できます。複数のソース・ファイルを指定した場合には， GENCAT は指定された順に 1 つずつソース・ファイルを処理します。各ソース・ファイルがカタログを変更します。

開発者またはアプリケーションで GENCAT を実行する前に，必要な入力ソース・ファイルを作成し，必要に応じてカタログ・ファイルも作成しておかなければなりません。

GENCAT コマンドについての詳細は， 第 4 章 を参照してください。

### 1.1.1.1 メッセージ・ソース・ファイル

入力ソース・ファイルを作成する場合には，次のガイドラインに従ってください。

- メッセージはプログラムの機能に対応した集合に分類します。

- 各メッセージに数値の識別子を付けます。識別子は集合内で固有の値でなければなりません。

- メッセージの集合と個々のメッセージを処理するために， GENCAT が認識するコマンドを追加します。

### 1.1.1.2 メッセージ・カタログ・ファイル

catfile という名前のメッセージ・カタログが存在する場合には， GENCAT は旧バージョンの内容を格納したファイルの新しいバージョンを作成し，その新しいバージョンを変更します。カタログが存在しない場合には， GENCAT は catfile という名前のファイルを作成します。

### 1.1.1.3 メッセージ・カタログからのメッセージの検索

OpenVMS アプリケーションでは，次の Compaq C ランタイム・ライブラリ・ルーチンを使用して，メッセージ・カタログからメッセージを検索します。

- `catopen`

- `catgets`

- `catclose`

詳細は『Compaq C Run-Time Library Reference Manual for OpenVMS Systems』を参照してください。

## 1.1.2 コードセット変換の実行

ICONV ユーティリティは変換テーブル・ファイルを作成し，また，このファイルを使用して文字を 1 つのコードセットから別のコードセットに変換するコマンドを提供します。

- ICONV COMPILE コマンドは変換テーブル・ファイルを作成します。

- ICONV CONVERT コマンドはこのファイルを使用して，指定されたファイルの文字を 1 つのコードセットから別のコードセットに変換します。

ICONV コマンドは，状態に依存しない 1〜4 バイトのコードセットをサポートします。

注意 このインプリメンテーションでは，変換先のエンコーディングに制限があります。変換先内の文字の 4 バイト目で 0XFF を使用することはできません。

### 1.1.2.1 変換テーブルの作成

変換テーブル・ファイルを作成するには， DCL コマンドの ICONV COMPILE を使用します。

ICONV COMPILE sourcefile tablefile

変換ソース・ファイルのフォーマットについては， 第 4 章 の ICONV COMPILE コマンドの説明を参照してください。

tablefile 命名の規則については， 第 4 章 の ICONV CONVERT コマンドの説明を参照してください。

### 1.1.2.2 1 つのコードセットから別のコードセットへの変換

ファイル内の文字を 1 つのコードセットから別のコードセットに変換するには， ICONV CONVERT コマンドを使用します。

ICONV CONVERT infile outfile /FROMCODE=fromcodeset /TOCODE=tocodeset

変換された文字は，出力ファイル・パラメータoutfile に書き込まれます。

## 1.1.3 国際化環境論理名の設定

LOCALE ユーティリティは，次の操作を行う OpenVMS XPG4 ローカライゼーション・ユーティリティです。

- バイナリ・ロケール・ファイルを生成します。このファイルは，国際化環境論理名の設定に依存する各ユーティリティや C ルーチンが使用します。

- 共用の読み込み専用グローバル・データとして，システム・メモリにロケール名をロードします。

- 使用しているシステムで定義されている現在の国際化環境の概要，および使用しているシステムのロケールの詳細を表示します。

- システム・メモリからロケール名をアンロードします。

LOCALE ユーティリティは，次のコマンドをサポートしています。

- LOCALE COMPILE コマンドは，ロケール・ソース・ファイルをバイナリ・ロケール・ファイルに変換します。このファイルは，国際化環境論理名の設定に依存するユーティリティと C ルーチンで使用されます。このコマンドを使用すると， ( 弊社が指定するローケルに加えて ) 新しいローケルをシステムに追加することができます。
  ロケールをコンパイルするために， LOCALE COMPILE コマンドは 2 つのソース・ファイルを使用します。

  - ロケールを記述するカテゴリを含む，ロケール定義ソース・ファイル 表 4-3 に示すロケール・カテゴリには LC_COLLATE， LC_CTYPE，LC_MESSAGES，LC_MONETARY，LC_NUMERIC，LC_TIME があります。

  - ロケールの文字セットを定義する charmap(character set description)ファイル。 charmap はコード化文字セットのソース・ファイルであり，文字シンボルを文字コードとして定義します ( 詳細は 第 3 章 を参照してください )。

- LOCALE LOAD コマンドは，共用の読み込み可能グローバル・セクションとして，システム・メモリにロケール名をロードします。ロードされたロケールにアクセスするすべてのプロセスは，この 1 つのロケールのコピーを使用します。したがって，全体として必要とされるシステム・メモリの容量を削減することができます。

- LOCALE UNLOAD コマンドは，システム・メモリから指定したロケール名をアンロードします。

- LOCALE SHOW CHARACTER_DEFINITIONS コマンドは，論理名 SYS$I18N_LOCALE で定義されるパブリック・ディレクトリ内の文字セット記述ファイル(charmap) の名前の一覧を表示します。 charmap は，コーディングされた文字セットの文字のシンボル名と値を定義します。 charmap ファイルのファイル・タイプは .CMAP です。

- LOCALE SHOW CURRENT コマンドは，各ロケール・カテゴリを示すいくつかの論理名により定義されている，現在の国際化環境の概要を表示します。このコマンドは各ロケール・カテゴリの設定と，環境変数 LC_ALL と LANG の値を表示します。カテゴリを定義する論理名には，カテゴリと同じ名前が付けられます。たとえば LC_MESSAGES という論理名は，LC_MESSAGES カテゴリの設定を定義します。

- LOCALE SHOW PUBLIC コマンドは，システム上のすべての公用ロケールをリストします。これには Compaq C ランタイム・ライブラリにより提供されるシステム・ロケール，および論理名 SYS$I18N_LOCALE で定義されるディレクトリでリストされるロケールが含まれます。

- LOCALE SHOW VALUE コマンドは，現在の国際化環境での 1 つまたは複数のキーワードの値を表示します。各ケテゴリのロケール・カテゴリおよびキーワードの一覧を 表 4-4 に示します。

LOCALE コマンドについての詳細は 第 4 章 を参照してください。

次へ | 目次 | 索引