日本-日本語
日本HPホーム 製品 & サービス OpenVMS製品情報
≫  お問い合わせ


OpenVMS マニュアル


 

OpenVMSドキュメント
ライブラリ

タイトルページ
目次
まえがき
第 1 章:概要
第 2 章:日本語ライブラリの使用例
第 3 章:汎用ライブラリ
第 4 章:基本ライブラリ
第 5 章:かな漢字変換ライブラリ
第 6 章:漢字コード変換ライブラリ
付録 A :変換キー配列
付録 B :変換対応表
索引
PDF
OpenVMS ホーム

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


目次 索引

第 4 章
基本ライブラリ

基本ライブラリ とは,1 文字単位の変換など,より細かな処理を行うためのルーチン群です。

この章では,基本ライブラリの次の項目について説明します。

基本ライブラリ・ルーチン一覧 ( 第 4.1 節 )
日本語文字列操作ルーチン ( 第 4.2 節 )
文字変換ルーチン ( 第 4.3 節 )
文字列変換ルーチン ( 第 4.4 節 )


日本語文字列操作ルーチン

日本語データを扱うための基本的なルーチン群です。1バイト/2バイトの文字コードを正しく取り扱うために使用します。各ルーチンの詳細については 第 4.2 節 を参照してください。

JSY$CH_NEXT 次の文字の文字位置の入手
JSY$CH_PREV 前の文字の文字位置の入手
JSY$CH_CURR 現在の文字の文字位置の入手
JSY$POS_NEXT 次の文字の文字位置の入手,
および文字列の終わりのチェック
JSY$POS_PREV 前の文字の文字位置の入手,
および文字列の終わりのチェック
JSY$POS_CURR 現在の文字の文字位置の入手,
および文字列の終わりのチェック
JSY$CH_RCHAR 文字列からの文字の取り出し
JSY$CH_RNEXT 文字列からの文字の取り出し
JSY$CH_WCHAR 文字列への文字の書き込み
JSY$CH_WNEXT 文字列への文字の書き込み
JSY$CH_GCHAR 文字列からの文字の取り出し,
および文字列の終わりのチェック
JSY$CH_GNEXT 文字列からの文字の取り出し,
および文字列の終わりのチェック
JSY$CH_PCHAR 文字列への文字の書き込み,
および文字列の終わりのチェック
JSY$CH_PNEXT 文字列への文字の書き込み,
および文字列の終わりのチェック
JSY$CH_SIZE 文字が占めるバイト数の入手
JSY$CH_NBYTE 文字列が占めるバイト数の入手
JSY$CH_NCHAR 文字列に含まれる文字数の入手
JSY$POSITION 文字列の検索
JSY$STR_EQUAL 英大文字/小文字,全角/半角,
ひらがな/カタカナ変換による文字列の比較
JSY$STR_START 英大文字/小文字,全角/半角,
ひらがな/カタカナ変換による文字列の比較
JSY$STR_SEARCH 英大文字/小文字,全角/半角,
ひらがな/カタカナ変換による文字列の検索
JSY$TRIM 文字列の後の空白の切り捨て
JSY$TRUNC 文字列の切り捨て
JSY$LOCC 文字の検索
JSY$SKPC 文字の飛び越し

文字変換ルーチン

文字単位の各種変換を行うルーチン群です。各ルーチンの詳細については 第 4.3 節 を参照してください。

JSY$CHG_ROM_HALF ローマ文字全角から半角への変換
JSY$CHG_ROM_FULL ローマ文字半角から全角への変換
JSY$CHG_ROM_SIZE ローマ文字全角/半角の相互変換
JSY$CHG_ROM_LOWER 英文字半角/全角の小文字への変換
JSY$CHG_ROM_UPPER 英文字半角/全角の大文字への変換
JSY$CHG_ROM_CASE 英文字全角/半角の大文字/小文字の相互変換
JSY$CHG_KANA_HIRA 全角カタカナから全角ひらがなへの変換
JSY$CHG_KANA_KATA 全角ひらがなから全角カタカナへの変換
JSY$CHG_KANA_KANA 全角ひらがな/全角カタカナの相互変換
JSY$CHG_KANA_DAKU 全角ひらがな/カタカナの濁点/半濁点処理
JSY$CHG_KANA_HALF 全角ひらがな/カタカナから半角カタカナへの変換
JSY$CHG_KANA_FULL 半角カタカナから全角ひらがな/カタカナへの変換
JSY$CHG_GENERAL パラメータ指定による,英大文字/小文字,全角/半角,ひらがな/カタカナ
JSY$CHG_JIS_KUTEN JIS 区点番号から DEC 漢字コードへの変換
JSY$CHG_KEISEN 数字から罫線文字への変換

文字列変換ルーチン

文字列の各種変換を行うルーチン群です。各ルーチンの詳細については 第 4.4 節 を参照してください。

JSY$TRA_ROM_HALF ローマ文字全角から半角への変換
JSY$TRA_ROM_FULL ローマ文字半角から全角への変換
JSY$TRA_ROM_SIZE ローマ文字全角/半角の相互変換
JSY$TRA_ROM_LOWER 英文字半角/全角の小文字への変換
JSY$TRA_ROM_UPPER 英文字半角/全角の大文字への変換
JSY$TRA_ROM_CASE 英文字全角/半角の大文字/小文字の相互変換
JSY$TRA_ROM_KANA ローマ字から全角ひらがな/カタカナへの変換
JSY$TRA_KANA_HIRA 全角カタカナから全角ひらがなへの変換
JSY$TRA_KANA_KATA 全角ひらがなから全角カタカナへの変換
JSY$TRA_KANA_KANA 全角ひらがな/全角カタカナの相互変換
JSY$TRA_KANA_DAKU 全角ひらがな/カタカナの濁点/半濁点処理
JSY$TRA_KANA_HALF 全角ひらがな/カタカナから半角カタカナへの変換
JSY$TRA_KANA_FULL 半角カタカナから全角ひらがな/カタカナへの変換
JSY$TRA_SYMBOL 記号変換



4.2 日本語文字列操作ルーチン

日本語文字列操作ルーチンは,日本語データを扱うための基本的なルーチン群です。 1 バイト /2 バイトの文字コードを正しく取り扱うために使用します。




次の文字の文字位置の入手

形式

next-ptr = JSY$CH_NEXT ( char-ptr )


引数


char-ptr
        JSY usage 文字の1バイト目を指すポインタ
        mechanism Value渡し


戻り値

next-ptr 1文字次の文字の1バイト目を指すポインタ


#include <stdio.h> 
#include <string.h> 
 
static void     create_display_string(); 
 
main() 
{ 
    char        *char_ptr, 
                *next_ptr; 
    char        string[] = "日本語RTL"; 
    char        disp_str[32]; 
    int         byte_offset = 4; 
    extern char *jsy$ch_next(); 
 
    char_ptr = string + byte_offset; 
 
    printf( "文字列 :\"%s\"\n", string ); 
    create_display_string( char_ptr, disp_str ); 
    printf( "実行前の位置の文字 :%s\n", disp_str ); 
 
    next_ptr = jsy$ch_next( char_ptr ); 
    create_display_string( next_ptr, disp_str ); 
    printf( "実行後の位置の文字 :%s\n", disp_str ); 
} 
 
static void     create_display_string(src, disp) 
char    *src; 
char    *disp; 
{ 
    int nof_byte_char = 1; 
    unsigned char       check; 
 
    check = (unsigned char)(*src); 
    if ( ( 0x0A1 <= check ) && ( check <= 0x0FE ) )     /* 範囲内なら2バイト文字 */
        nof_byte_char = 2; 
 
    strncpy( disp, src, nof_byte_char ); 
    disp[ nof_byte_char ] = '\0'; 
} 




前の文字の文字位置の入手

形式

prev-ptr = JSY$CH_PREV ( top-ptr, char-ptr )


引数


top-ptr
        JSY usage 文字列の先頭を指すポインタ
        mechanism Value渡し
char-ptr
        JSY usage 文字の1バイト目を指すポインタ
        mechanism Value渡し


戻り値

prev-ptr 1文字前の文字の1バイト目を指すポインタ
  char-ptr ≦ top-ptr の場合は0




現在の文字の文字位置の入手

形式

curr-ptr = JSY$CH_CURR ( top-ptr, char-ptr )


引数


top-ptr
        JSY usage 文字列の先頭を指すポインタ
        mechanism Value渡し
char-ptr
        JSY usage 文字の1バイト目または2バイト目を指すポインタ
        mechanism Value渡し


戻り値

curr-ptr 文字の1バイト目を指すポインタ
  char-ptr < top-ptr の場合は0




次の文字の文字位置の入手,および文字列の終わりのチェック

形式

next-ptr = JSY$POS_NEXT ( char-ptr, end-ptr )


引数


char-ptr
        JSY usage 文字の1バイト目を指すポインタ
        mechanism Value渡し
end-ptr
        JSY usage 文字列の終わりを示すポインタ
        mechanism Value渡し


戻り値

next-ptr 1文字次の文字の1バイト目を指すポインタ
  char-ptr ≧ end-ptr の場合は0




前の文字の文字位置の入手,および文字列の終わりのチェック

形式

prev-ptr = JSY$POS_PREV ( top-ptr, char-ptr, end-ptr )


引数


top-ptr
        JSY usage 文字列の先頭を指すポインタ
        mechanism Value渡し
char-ptr
        JSY usage 文字の1バイト目を指すポインタ
        mechanism Value渡し
end-ptr
        JSY usage 文字列の終わりを示すポインタ
        mechanism Value渡し


戻り値

prev-ptr 1文字前の文字の1バイト目を指すポインタ
  char-ptr ≦ top-ptr または char-ptr > end-ptr の場合は 0


#include <stdio.h> 
#include <string.h> 
 
#define MSB     0x80 
 
static void     create_display_string(); 
 
main() 
{ 
    char        *top_ptr, 
                *char_ptr, 
                *end_ptr, 
                *prev_ptr; 
    char        string[] = "日本語RTL"; 
    char        disp_str[32]; 
    int         byte_offset = 6; 
    extern char *jsy$pos_prev(); 
 
    top_ptr = string; 
    end_ptr = string + strlen( string ); 
    char_ptr = string + byte_offset; 
 
    create_display_string( char_ptr, disp_str ); 
    printf( "文字列 :\"%s\"\n", string ); 
    printf( "実行前の位置の文字 :%s\n", disp_str ); 
 
    prev_ptr = jsy$pos_prev( top_ptr, char_ptr, end_ptr ); 
 
    create_display_string( prev_ptr, disp_str ); 
    printf( "実行後の位置の文字 :%s\n", disp_str ); 
} 
 
static void     create_display_string(src, disp) 
char    *src; 
char    *disp; 
{ 
    int nof_byte_char = 1; 
    unsigned char       check; 
 
    check = (unsigned char)(*src); 
    if ( ( 0x0A1 <= check ) && ( check <= 0x0FE ) )     /* 範囲内なら2バイト文字 */
        nof_byte_char = 2; 
 
    strncpy( disp, src, nof_byte_char ); 
    disp[ nof_byte_char ] = '\0'; 
} 




現在の文字の文字位置の入手,および文字列の終わりのチェック

形式

curr-ptr = JSY$POS_CURR ( top-ptr, char-ptr, end-ptr )


引数


top-ptr
        JSY usage 文字列の先頭を指すポインタ
        mechanism Value渡し
char-ptr
        JSY usage 文字の1バイト目または2バイト目を指すポインタ
        mechanism Value渡し
end-ptr
        JSY usage 文字列の終わりを示すポインタ
        mechanism Value渡し


戻り値

curr-ptr 文字の1バイト目を指すポインタ
  char-ptr < top-ptr または char-pt ≧ end-ptr の場合は0




文字列からの文字の取り出し

形式

char-code = JSY$CH_RCHAR ( char-ptr )


引数


char-ptr
        JSY usage 文字の1バイト目を指すポインタ
        mechanism Value渡し


戻り値

char-code ポインタが指している文字の文字コード


目次 索引

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