# 日本語 Compaq DECwindows Motif for OpenVMS
リリース・ノート

前へ | 次へ | 目次 | 索引

#### 4.7.1.1.3 共有メモリ上のpixmap の使用法

どんなイメージ・フォーマットでも使用可能な X imageとは異なり，共有メモリ拡張がサポートしている，共有メモリ上の pixmap (XYPixmap または ZPixmap)の保管データには， 1つのフォーマットしかありません。このフォーマットはイメージの深度および画面から独立しています (1 bit の pixmap にはフォーマットは関係しません)。

共有メモリ上の pixmap のフォーマットは， XShmPixmapFormat ルーチンによりサーバに返されます。 XShmPixmapFormat ルーチンは，次のようなフォーマットです。

    int XShmPixmapFormat (display)
           Display *display;

アプリケーションが使用できる共有メモリ上の pixmap は， XShmPixmapFormat ルーチンが返すフォーマット (ピクセル当たりビット数を含む)でのみ使用することができます。共有メモリ上の pixmap は，次のように作成します。

- 共有メモリ上のXImage のステップ 1 から 4 で順を追って説明した方法 ( 第 4.7.1.1.2 項 を参照)と全く同じ要領で，共用メモリ・セグメントおよびshminfo 構造体を作成します。最初にXImage を作成する(ステップ 1)必要はありませんが，これを行うのに手間はかからないうえ，この操作で使用する bytes_per_line の適切な値を得ることができます。
- 次のフォーマットを持つ XShmCreatePixmap ルーチンを呼び出します。

      Pixmap XShmCreatePixmap (display, d, data, shminfo, width,
                               height, depth);
             Display *display;
             Drawable d;
             char *data;
             XShmSegmentInfo *shminfo;
             unsigned int width, height, depth;

  引数は，data および shminfo の 2つのパラメータが追加されることを除けば， XCreatePixmap と同様です( 『X Window System』を参照)。 dataパラメータは共有メモリに対するポインタで， shminfo.shmaddr フィールドと同じです。また，shminfo パラメータは前記の構造体と同じです。
  正常に終了した場合は，操作可能な pixmap が返されます。 pixmap の内容は，共有メモリ・セグメントから直接操作することができます。共有メモリ上の pixmap は， XFreePixmap ルーチンを使用して破壊することができます。破壊する際には，まず共有メモリ・セグメントを切り離してください ( 第 4.7.1.1.2 項 のステップ 4 を参照)。

### 4.7.1.2 拡張includeファイルの使用法

V1.2

拡張includeファイルを含むプログラムを正しくコンパイルするためには， C include ディレクトリ検索リストに DECW$INCLUDE の論理名を追加してください。

この論理名を追加するには，VAX C では次のコマンドを入力します。

    $ DEFINE C$INCLUDE DECW$INCLUDE

この論理名を追加するには，DEC C では次のコマンドを入力します。

    $ DEFINE DECC$USER_INCLUDE DECW$INCLUDE

### 4.7.1.3 X イメージ拡張のサポート

V1.1

X イメージ拡張 (XIE)により， X クライアント・サーバ・モデルのサーバ側のリソースを使用してのイメージ表示処理を行うことができます。 XIEにより，イメージ・データをクライアントからサーバに繰り返し転送する必要がなくなり，またデータを圧縮した形で転送できるため，ネットワークの負荷を軽減します。

日本語 DECwindows Motif for OpenVMS バージョン 1.1には， XIE のクライアント側共有可能ライブラリ(XIE$SHRLIB.EXE)，およびC 言語ヘッダ・ファイルが含まれています。これにより，アプリケーションはXIE拡張をサポートするすべてのX11サーバと交信することができます。

XIE プログラムはXIEImageという構造を使用して，クライアント側でイメージ・データを表現します。この一般的なメカニズムは，表示先サーバが処理できないデータを表現します。どのデータ・タイプやサイズがサポートされているかに関してはサーバ関連のマニュアルを参照してください。マニュアルで別の制限が指定されていないかぎり，サーバは符号なしのバイト(UdpK_DTypeBU)，位置未調整ビット・フィールド(UdpK_DTypeVU)，位置調整済ビット・フィールド(UdpK_DTypeV)データを，各構成要素につきピクセル当り8 ビットの最大深度で処理できます。 XIE クライアント・ライブラリは，これらのデータ・タイプとともに，符号なしのワード(UdpK_DTypeWU)，そして各構成要素についてピクセル当り最大16 ビットの深度もサポートしています。

XIE プロトコルおよびプログラミング・インタフェースは，現在X Consortium内で標準化が進められており， XIEを使用するプログラムはおそらく変更が必要となるでしょう。 DECimage Application Services for VMS の IDS (Image Display Services) 構成要素を， XIE ライブラリ・インタフェースの代わりに使用することもできます。 IDSでは，よりレベルの高いモデルのイメージ表示が用意されており， XIEが利用できかつそれが適切であれば自動的にXIEを使用します。

### 4.7.1.4 クライアント側拡張ライブラリ

V1.1

バージョン1.1以降，Xlibはクライアント側ライブラリを追加しました。これにより，VMS クライアントは，Shape，XInput，Multibuffer，共有メモリの各拡張要求を，このような機能を提供しているサーバに対して発行することができます (たとえば，日本語 OpenVMS VAX DECwindows X11 ディスプレイ・サーバは， Shape 拡張をサポートしていませんが，日本語 OpenVMS AXP ではサポートしています)。このライブラリの名前は，DECW$XEXTLIBSHR.EXEです。

Shape，XInput，Multibuffer，共有メモリのいずれかの拡張要求を行うクライアント・アプリケーション用に， SYS$LIBRARY:DECW$XEXTLIBSHR.EXEのXlib 拡張共有可能イメージとリンクできるよう，リンク・ファイルのオプションを変更しなければなりません。リンク・オプション・ファイルに次の行を追加してください。

    SYS$LIBRARY:DECW$XEXTLIBSHR/SHARE

Shape，XInput，Multibufferの拡張についての詳細は， SYS$HELPにある下記のテキスト・ファイルを参照してください。

> DECW$SHAPE.TXT
> DECW$XINPUT.TXT
> DECW$MULTIBUFFER.TXT

# 4.8 国際化対応

この節は，国際化対応およびローカライゼーションに関するリリース・ノートです。

## 4.8.1 変更および拡張

この項では，国際化対応およびローカライゼーションのサポートに対して行われた変更および拡張について説明します。これらの変更により，ユーザはアジア言語文字を含むファイルの表示および変換が可能になります。

### 4.8.1.1 CDAビューアによるアジア言語文字の表示

V1.2--3

CDAビューアを使用してアジア文字を格納するファイルを表示するには 2つの方法があります。

- CDAビューア・アプリケーションにオプション・ファイルを指定
- DCLコマンド・レベルで，またはLOGIN.COMファイルに論理名を定義

CDAビューアの使用法についての詳細は，『DECwindows Motif for OpenVMSアプリケーション・ガイド』を参照してください。

#### 4.8.1.1.1 オプション・ファイルの指定

オプション・ファイルを指定するには，次の形式で1行のエントリをファイルに挿入します。

    TEXT TEXT_ENCODING text_encoding_value

- TEXTはフォーマットです。
- TEXT_ENCODINGはCDAに指定するオプションです。
- text_encoding_valueはコードセットの値です (値のリストについては 表 4-5 を参照してください)。

表 4-5 に，言語，コードセット，テキスト・エンコード値を示します。

表 4-5 オプション・ファイル用のアジア言語コード
言語 | コードセット | テキスト・エンコーディング
--- | --- | ---
日本語 | DEC Kanji | DEC_KANJI
日本語 | Super DEC Kanji | SDECKANJI
中国語(旧字) | DEC Hanyu | DEC_HANYU
中国語(簡略字) | DEC Hanzi | DEC_HANZI
韓国語 | DEC Korean | DEC_HANGUL

次の表は，1行エントリの例です。

オプション・ファイル | 1行エントリ
--- | ---
HANYU.CDA$OPTIONS | TEXT TEXT_ENCODING DEC_HANYU
HANZI.CDA$OPTIONS | TEXT TEXT_ENCODING DEC_HANZI
HANGUL.CDA$OPTIONS | TEXT TEXT_ENCODING DEC_HANGUL

DEC Kanjiの日本語テキストの入ったEXAMPLES_CUSTOMERS.TXTファイルを表示するには，エディタを使用してKANJI.CDA$OPTIONSという名前のオプション・ファイルを作成します。次の1行エントリをファイルに追加します。

    TEXT TEXT_ENCODING DEC_KANJI

CDAビューアを使用して [オプション・ファイル]ダイアログ・ボックス経由でファイルにアクセスすると， DEC Kanjiコードセット(日本語)で EXAMPLES_CUSTOMERS.TXTファイルを表示することができます。

#### 4.8.1.1.2 論理名の定義

アジア言語のファイルを表示できるようにするもう 1 つのオプションとして，次の2つの論理名を定義して，テキスト・ファイルとエンコーディング値を指定する方法があります。

- DDIF$READ_TEXT_GL
- DDIF$READ_TEXT_GR

表 4-6 に，論理名と対応するエンコーディング値を示します。

表 4-6 テキスト・エンコーディング指定用の論理名
DDIF$READ_TEXT_GL | DDIF$READ_TEXT_GR | エンコーディング値
--- | --- | ---
LATIN1 | MCS | MCS
LATIN1 | LATIN1 | ISO Latin--1
LATIN1 | KATAKANA | ASCII--Kana
LATIN1 | KANJI | DEC Kanji
ROMAN | MCS | Roman--MCS
ROMAN | LATIN1 | Roman
ROMAN | KANJI | Roman--Kanji
ROMAN | KATAKANA | Roman--Kana
LATIN1 | HANZI | DEC Hanzi
LATIN1 | HANGUL | DEC Hangul
LATIN1 | HANYU | DEC Hanyu

DCLコマンド・ラインまたはLOGIN.COMファイルで論理名を定義することができます。次に例を示します。

    $ DEFINE DDIF$READ_TEXT_GL LATIN1
    $ DEFINE DDIF$READ_TEXT_GR KANJI

この例は，DEC Kanji用のテキスト・エンコーディングを定義します ( 表 4-6 を参照してください)。

### 4.8.1.2 アジア言語文字格納ファイルの変換

V1.2--3

オプション・ファイルを指定するか， 第 4.8.1.1.1 項 と 第 4.8.1.1.2 項 で説明した論理名DDIF$READ_TEXT_GLとDDIF$READ_TEXT_GRを定義して，アジア言語テキスト・ファイルを別の形式に変換することができます。

TEXTから別形式へドキュメントを変換するときの変換形式は次のとおりです。

    $ CONVERT/DOCUMENT/OPTION=language.CDA$OPTIONS filename.TXT/FORMAT=TEXT -
    _$ filename.output_extension/FORMAT=output_format

たとえば，中国語(旧字)テキスト・ファイルをDDIFファイルに変換するときは，次のコマンド・ラインを入力します。

    $ CONVERT/DOCUMENT/OPTION=HANYU.CDA$OPTIONS -
    _$ GUIDELINES_PERSONNEL.TXT/FORMAT=TEXT  GUIDELINES_PERSONNEL.DDIF

DDIFが省略時の値であるため，このコマンド・ラインには， /FORMAT=DDIF修飾子が含まれていません。

出力ファイル，GUIDELINES_PERSONNEL.DDIFに言語データが格納されます。

DDIF，DTIF，またはテキスト(ASCII)ファイルからアジア言語PostScriptファイルを作成することもできます。たとえば，DDIFファイルをPostScript(.PS)ファイルに変換するには，次のコマンドを入力します。

    $ CONVERT/DOCUMENT filename.DDIF filename.PS/FORMAT=PS

注意 言語データの入ったDDIFおよびDTIFファイルのみを，アジア言語PostScript形式に変換するようにしてください。

アジア言語PostScriptファイルをPostScriptプリンタで出力するときは，プリンタ側で必要な言語フォントを使用できることを確認してください。使用できなければ，省略時の設定で基本フォント・セットが使用されます。基本フォント・セットが存在しない場合， PostScriptファイルではCourierフォントが省略時のフォントになります。 表 4-7 に，言語と基本フォントの対応を示します。

表 4-7 言語と基本フォントの対応
言語 | 基本フォント
--- | ---
Japanese | Ryumin-Light-EUC-H あるいは Ryumin-Light-Hankaku
Hanyu | Sung-Light-CNS11643，Sung-Light-DTSCS
Hangul | Munjo
Hanzi | XiSong-GB2312-80

注意 CDAコンバータでは縦書きはサポートされていません。縦書きテキストもすべて横書きに表示されます。

# 4.9 XNLライブラリ

この節では，XNLライブラリについて説明します。

## 4.9.1 変更および拡張

この項では，XNLライブラリに対して行われた変更と拡張について説明します。

### 4.9.1.1 xnl_parsedatetime

V1.2--5

xnl_parsedatetime (およびそのVAXバインディング，XNL$PARSE_DATE_ TIME) は，入力の引数 XmString s (構文解析される日付時刻) に 2桁または4桁の年数を受け付けます。 2桁形式での有効な年数の値は70〜99の範囲で，1970〜1999年を意味します。値00〜69は無効です。 2000年以降は4桁形式が必須です。

### 4.9.1.2 xnl_langinfo

V1.2--5

xnl_langinfo (およびそのVAXバインディング，XNL$LANGINFO)は， item引数にD_FMTまたはD_T_FMTを指定すると，日付時刻フォーマッティング用の文字列を返します。下記のロケールで，この関数は%yを含むフォーマッティング文字列を返します。 %yは2桁年数形式を意味するので，このフォーマッティング文字列は2000年以降は慎重に使用する必要があります。

- es_ES Spanish
- fr_BE French Belgium
- fr_CA French Canada
- iw_IL Hebrew
- no_NO Norwegian

# 4.10 Xlib

この節では，Xlib に関する情報を説明します。

## 4.10.1 変更および拡張

この項では，Xlib に対して行われた変更と拡張について説明します。

### 4.10.1.1 X11 環境変数の解析

V1.2--6

Xlib は現在では，次の環境変数と等価のX11 リリース 5 (X11 R5) 形式を受け付けます。

OpenVMS 形式 | X11 R5 形式
--- | ---
DECW$DISPLAY | DISPLAY
DECW$RESOURCE_NAME | RESOURCE_NAME

起動時に，OpenVMS変数が定義されていない場合，Xlibは状態値を返す前に X11 R5 の等価なものがないかどうかをチェックします。

### 4.10.1.2 UIDPATH 環境変数

V1.2--6

階層をオープンする際に，Xlib はUID (User Interface Definition) ファイルについて，DECW$USER_DEFAULTS および DECW$SYSTEM_DEFAULTS 領域を検索します。 UNIX システム上で X11 R5指定に従い，検索パスはUIDPATH変数とそのフォールバックを使用して定義されます。

現在では，Xlibは，前述のOpenVMS変数のいずれを使用しても UID ファイルが見つからない場合には，UIDPATH変数もチェックします。この変数はUNIX形式のパス名(たとえば /foo/bar) を参照し， X11標準で指定されているように，置換文字列を許可します。 UIDPATH 変数についての詳細は，『OSF/Motif プログラマーズ・リファレンス』を参照してください。

注意 UIDPATH変数は，OpenVMSディレクトリ指定では機能しません。 OpenVMS形式の検索パスを指定するには， DECW$xxx_DEFAULTS論理名を使用します。

前へ | 次へ | 目次 | 索引