日本語 OpenVMS

日本語 OpenVMS

日本語ライブラリ 利用者の手引き

AA-PU8NF-TE


2004 年 2 月

本書は,日本語データを取り扱うための基本的な機能を提供する日本語ライブラリについての説明書です。

改訂/更新情報: 日本語 OpenVMS V7.3 『日本語ライブラリ利用者の手引き』の改訂版です。
ソフトウェア・バージョン: 日本語 OpenVMS Alpha V7.3-2

日本語 OpenVMS VAX V7.3



日本ヒューレット・パッカード株式会社


© 2004 Hewlett-Packard Development Company, L.P.

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

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

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

日本ヒューレット・パッカードは,日本ヒューレット・パッカードまたは日本ヒューレット・パッカードの指定する会社から納入された機器以外の機器で対象ソフトウェアを使用した場合,その性能あるいは信頼性について一切責任を負いかねます。

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

Adobe,Adobe Illustrator,POSTSCRIPT は米国 Adobe Systems 社の商標です。

BITSTREAM は米国 Bitstream 社の商標です。

Microsoft,MS および MS--DOS は米国 Microsoft 社の商標です。

Motif,OSF,OSF/1,OSF/Motif および Open Software Foundation は米国 Open Software Foundation 社の商標です。

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

次へ 目次 索引


まえがき

本書の目的

本書は,日本語 OpenVMS でサポートされるプログラミング言語を使用して日本語アプリケーションを作成するための,ライブラリ・ルーチンについて解説します。

対象読者

本書は,少なくとも1つのプログラミング言語を理解し,OpenVMS オペレーティング・システムとランタイム・ライブラリの概念を理解しているシステム・プログラマおよびアプリケーションのプログラマを対象としています。

本書の構成

本書は,6つの章と2つの付録から構成されています。

第 1 章 日本語ライブラリ・ルーチンの概要について説明します。
第 2 章 日本語ライブラリ・ルーチンの簡単な使用例について説明します。
第 3 章 汎用ライブラリのルーチンについて説明します。
第 4 章 基本ライブラリのルーチンについて説明します。
第 5 章 かな漢字変換ライブラリのルーチンについて説明します。
第 6 章 漢字コード変換ライブラリのルーチンについて説明します。
付録 A かな漢字変換入力ルーチン,および,それを利用している日本語ユーティリティにおける変換キーの配列について説明します。
付録 B 日本語ライブラリ,および,それを利用する日本語ユーティリティでの各種変換対応表を示します。

関連資料

表記法

製品名について

本書では,「日本語 OpenVMS Alpha 」は「日本語 OpenVMS Alpha オペレーティング・システム」を,「日本語 OpenVMS VAX 」は「日本語 OpenVMS VAX オペレーティング・システム」を指します。また特に明記しない限り,「日本語 OpenVMS 」は,「日本語 OpenVMS Alpha オペレーティング・システム」および「日本語 OpenVMS VAX オペレーティング・システム」の両方を指します。

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

表記法 意味
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 章
概要

日本語ライブラリは,日本語データを取り扱うための基本的な機能を提供するライブラリです。基本的な日本語文字列操作,文字列変換,ローマ字/かな漢字変換,漢字コード変換などを含み,OpenVMS オペレーティング・システムでサポートされるすべてのプログラミング言語から呼び出すことができます。ユーザのプログラム内から呼び出すことにより,日本語アプリケーションを簡単に作成することができます。

1.1 ライブラリ構成

日本語ライブラリは,以下の4種類のライブラリより構成されています。

これらのライブラリのうち,汎用/基本ライブラリ,かな漢字変換ライブラリは,次の共有イメージ・ファイル に含まれています。

SYS$SHARE:JSYSHR.EXE

また,漢字コード変換ライブラリは,次のオブジェクト・ライブラリ・ファイル に含まれています。

JSY$LIBRARY:JSYLIB.OLB

1.2 リンク方法

漢字コード変換ライブラリを除いた日本語ライブラリを,ユーザのプログラムとリンクするには,以下のように共有イメージ SYS$SHARE:JSYSHR.EXE とリンクしてください。



     $ LINK PROG,SYS$INPUT/OPTION 
     SYS$SHARE:JSYSHR/SHARE 
     $ 

または


     $ LINK PROG,JSY$LIBRARY:JSYSHR/OPTION 

漢字コード変換ライブラリを含んだ日本語ライブラリを,ユーザのプログラムとリンクするには,以下のようにオブジェクト・ライブラリ JSY$LIBRARY:JSYLIB.OLB および共有イメージ SYS$SHARE:JSYSHR.EXE とリンクしてください。



     $ LINK PROG,JSY$LIBRARY:JSYLIB/LIBRARY,SYS$INPUT/OPTION 
     SYS$SHARE:JSYSHR/SHARE 

または


     $ LINK PROG,JSY$LIBRARY:JSYLIB/LIBRARY,JSY$LIBRARY:JSYSHR/OPTION 

漢字コード変換ライブラリのみの日本語ライブラリを,ユーザのプログラムとリンクするには,以下のようにオブジェクト・ライブラリ JSY$LIBRARY:JSYLIB.OLB とリンクしてください。



     $ LINK PROG,JSY$LIBRARY:JSYLIB/LIBRARY 


第 2 章
日本語ライブラリの使用例

この章では,OpenVMS オペレーティング・システムでサポートされる各プログラミング言語からの日本語ライブラリの簡単な使用例を示します。標準の実行時ライブラリと同じように使用することができ,日本語エディタでプログラムを作成することにより,注釈や文字リテラルにも日本語を使用することができます。

2.1 DEC FORTRAN における日本語の使用例


     JSY$EXAMPLES:GETINPUT.FOR 
 
$ 
$ type getinput.for 
 program         sample 
 character buff*40 
 integer  stat 
 
! 注釈に日本語が使えます。 
 
 type *,'DEC FORTRAN では、文字リテラルに日本語が使えます。'
 
 do while (jlb$get_input(buff,'データ入力 : ',leng)) 
    type *,'データ出力 : ',buff 
 end do 
 
 end 
$ 
$ fortran getinput 
$ link    getinput,jsy$library:jsyshr/option 
$ run     getinput 
DEC FORTRAN では,文字リテラルに日本語が使えます。 
データ入力 : 日本語データの 
データ出力 : 日本語データの 
データ入力 : 入出力が可能です。 
データ出力 : 入出力が可能です。 
データ入力 : *EXIT* 
$ 

2.2 DEC C における日本語の使用例


     JSY$EXAMPLES:GETINPUT.C 
 
$ 
$ type getinput.c 
#include <stdio.h> 
#include <ssdef.h> 
#include <descrip.h> 
main () /* 注釈に日本語が使えます。*/ 
{ 
   static char buff[40]; 
   static char prom[] = "データ入力 : "; 
   $DESCRIPTOR(buf,buff); 
   $DESCRIPTOR(pro,prom); 
   short len; 
 
   printf("\nDEC C では、文字リテラルに日本語が使えます。\n"); 
   while (jlb$get_input(&buf,&pro,&len) == SS$_NORMAL) { 
      buff[len] = 0; 
      printf("データ出力 : %s\n",buff); 
   } 
} 
$ 
$ cc    getinput 
$ link  getinput,sys$input:/option 
sys$share:jsyshr.exe/share 
*EXIT* 
$ run   getinput 
DEC C では,文字リテラルに日本語が使えます。 
データ入力 : 日本語データの 
データ出力 : 日本語データの 
データ入力 : 入出力が可能です。 
データ出力 : 入出力が可能です。 
データ入力 : *EXIT* 
$ 

2.3 MACRO における日本語の使用例


     JSY$EXAMPLES:GETINPUT.MAR 
  
$ 
$ type getinput.mar 
 .title test 
 
 .psect data 
 .show 
 .macro string str 
 .ascid /str/ 
 .endm string 
 
data1: .ascid /MACRO では、文字リテラルに日本語が使えます。/
data2: string <MACRO では、マクロに日本語が使えます。>
inp: string <データ入力 : > 
oup: .long b3-b1 
 .address b1 
buff: .long b3-b2 
 .address b2 
b1: .ascii /データ出力 : / 
b2: .blkb 40 
b3: 
   .psect code 
 .entry test,^m<> ; 注釈に日本語が使えます。 
 pushaq data1 
 calls #1,g^lib$put_output 
 pushaq data2 
 calls #1,g^lib$put_output 
loop: 
 pushaq inp 
 pushaq buff 
 calls #2,g^jlb$get_input 
 blbc r0,eof 
 pushaq oup 
 calls #1,g^lib$put_output 
 brb loop 
eof: 
 $exit_s 
 
 .end test 
 
$ 
$ macro getinput 
$ link  getinput,jsy$library:jsyshr/option 
$ run   getinput 
MACRO では,文字リテラルに日本語が使えます。 
MACRO では,マクロに日本語が使えます。 
データ入力 : 日本語データの 
データ出力 : 日本語データの 
データ入力 : 入出力が可能です。 
データ出力 : 入出力が可能です。 
データ入力 : *EXIT* 
$         


次へ 目次 索引