日本語 Compaq OpenVMS
日本語画面管理ライブラリ
利用者の手引き


前へ 次へ 目次 索引



SMG$PUT_CHARS_HIGHWIDE
- Write Double-Height Double-Width Characters

The Write Double-Height Double-Width Characters ルーチンは仮想ディスプレイに4倍角の文字を書き込みます。

形式

SMG$PUT_CHARS_HIGHWIDE display-id ,text [,start-row] [,start-column] [,rendition-set] [,rendition-complement] [,character-set]


戻り値

OpenVMS 用法 cond_value
データ型 longword (unsigned)
アクセス write only
受け渡し方 by value



引数

display-id

OpenVMS 用法 identifier
データ型 longword (unsigned)
アクセス read only
受け渡し方 by reference


4 倍角の文字が書き込まれる仮想ディスプレイを指定します。 display-id 引数は,この仮想ディスプレイ識別子を格納した符号なしロングワードのアドレスです。

この引数は SMG$CREATE_VIRTUAL_DISPLAY ルーチンによって与えられます。

text


VMS 用法: char_string
データ型: character string
アクセス: read only
受け渡し方: by descriptor


仮想ディスプレイへ書き込まれる文字。text 引数は,文字列を示すディスクリプタのアドレスです。

start-row

OpenVMS 用法 longword_signed
データ型 longword (signed)
アクセス read only
受け渡し方 by reference


文字書き込み開始行。start-row 引数は,開始行番号を格納した符号付きロングワードのアドレスです。 start-row 引数が省略されている場合, あるいはゼロに等しい場合は出力は現在の行から始まります。

start-column

OpenVMS 用法 longword_signed
データ型 longword (signed)
アクセス read only
受け渡し方 by reference


文字書き込み開始カラム。start-column 引数は,開始カラム番号を格納した符号付きロングワードのアドレスです。start-column 引数が省略されている場合,あるいはゼロに等しい場合は,出力は現在のカラムから始まります。全角文字の右半分からカラムが始まる場合は,その文字の左半分は未定義文字になります。

rendition-set

OpenVMS 用法 mask_longword
データ型 longword (unsigned)
アクセス read only
受け渡し方 by reference


属性指定子。rendition-set 引数は省略可能であり,ロングワード・ビット・マスクのアドレスです。このロングワード・ビット・マスク内の各属性を設定すると,ディスプレス内の対応する属性が設定されます。rendition-set 引数を使用して以下の属性を指定できます。

SMG$M_BLINK 点滅する文字を表示します。
SMG$M_BOLD 通常の輝度より高い輝度で文字を表示します。
SMG$M_REVERSE 文字を反転表示します。つまり,仮想ディスプレイの現在の省略時の属性とは逆の状態で表示します。
SMG$M_UNDERLINE 下線を付けた文字を表示します。
SMG$M_INVISIBLE 表示されない文字を指定します。つまり,仮想ディスプレイに存在していても,ペーストボードに表示されない文字を表示します。
SMG$M_USER1からSMG$M_USER8 ユーザ定義属性を表示します。

rendition-complement

OpenVMS 用法 mask_longword
データ型 longword (unsigned)
アクセス read only
受け渡し方 by reference


属性補足指定子。rendition-complement 引数は省略可能な,ロングワード・ビット・マスクのアドレスであり,このロングワード・ビット・マスク内の各属性を設定すると,ディスプレイ内の対応する属性が補足されます。 rendition-set 引数に指定できる属性はすべて, rendition-complement 引数で補足できます。

rendition-set 引数と rendition-complement 引数はどちらも省略可能な引数であり,これらの引数を組み合わせて使用すれば,ユーザは仮想ディスプレイの属性を制御できます。rendition-set 引数は特定の仮想ディスプレイ属性を設定します。それに対し,rendition-complement 引数はこれらの属性を補足します。rendition-set 引数と rendition-complement 引数の両方に同じビットが指定されている場合には,最初に rendition-set 引数が評価され,その後, rendition-complement 引数が評価されます。これらの 2 つの引数を組み合わせて使用すれば,1 回のプロシージャ呼び出しで複数の仮想ディスプレイ属性を制御できます。各属性に対して,ユーザは次の組み合わせを指定できます。

設定 補足 動作
0 0 属性を省略時の状態に設定する。
1 0 属性をオンに設定する。
0 1 属性を省略時の逆の状態に設定する。
1 1 属性をオフに設定する。

character-set

OpenVMS 用法 longword_unsigned
データ型 longword (unsigned)
アクセス read only
受け渡し方 by reference


挿入されるテキストの文字集合。 character-set 引数は,文字集合コードを格納した符号なしロングワードのアドレスです。この引数を省略した場合は,SMG$CREATE_VIRTUAL_DISPLAY ルーチンまたは SMG$CHANGE_VIRTUAL_DISPLAY ルーチンで設定された値が使用されます。

文字集合 (コードセット)
SMG$C_ASCII ASCII文字集合
SMG$C_SPEC_GRAPHICS DEC特殊文字集合
SMG$C_SUPPLEMENTAL 補助文字集合 1
SMG$C_KANJI DEC漢字文字集合
SMG$C_JIS_KANA JISカタカナ文字集合
SMG$C_SDK Super DEC 漢字コードセット


1DEC 補助文字集合または Latin-1 文字集合のいずれか。


説明

SMG$PUT_CHARS_HIGHWIDEルーチンは指定された仮想ディスプレイに4倍角の文字を書き込みます。対応するペーストボードの行は,半角/全角文字と4倍角文字を混在して格納することはできません。その行が半角/全角文字を格納していた場合には,その部分は空白になります。テキストが1行よりも短い場合は,空白が埋め込まれます。仮想カーソルは,最後に書き込まれたテキストのすぐ後の文字位置に設定されます。

ターミナルが4倍角文字をサポートしていない場合は,同じ文字が2行にわたって表示されます。

仮想ディスプレイからあふれた分の文字は切り捨てられますが,仮想ディスプレイに対して SMG$M_TRUNC_ICON 属性が設定されている場合には, SMG$PUT_CHAR_HIGHWIDEルーチンが行の一部を切り捨てたことを示すアイコンを出力します。

DEC漢字文字集合を使用する際に,全角文字の右半分から書き込み操作が始まる場合は,その文字の左半分は未定義文字になります。また,全角文字の左半分で書き込み操作が終了する場合は,その文字の右半分は未定義文字になります。さらに,行の一部が切り捨てられる場合は,その文字の左半分は未定義文字になります。


戻される状態値

SS$_NORMAL 正常終了。
LIB$_INVSTRDES 文字列ディスクリプタが誤っています。
SMG$_INVARG 引数が誤っています。
SMG$_INVCOL カラム番号が誤っています。
SMG$_INVDIS_ID display-id 引数が誤っています。
SMG$_INVROW 行番号が誤っています。
SMG$_WILUSERMS ペーストボードがビデオ・ターミナルではありません。
SMG$_WRONUMARG 引数の数が誤っています。


SMG$PUT_CHARS_MULTI
- Put Text with Multiple Renditions to Display

The Put Text with Multiple Renditions to Display ルーチンは,仮想ディスプレイに複数のレンディションで, テキストを書き込みます。

形式

SMG$PUT_CHARS_MULTI display-id ,text [,start-row] [,start-column] [,flags] [,rendition-string] [,rendition-complement] [,character-set]


戻り値

OpenVMS 用法 cond_value
データ型 longword (unsigned)
アクセス write only
受け渡し方 by value



引数

display-id

OpenVMS 用法 identifier
データ型 longword (unsigned)
アクセス read only
受け渡し方 by reference


影響を受ける仮想ディスプレイの識別子。 display-id 引数は,この仮想ディスプレイ識別子を格納した符号なしロングワードのアドレスです。

text

OpenVMS 用法 char_string
データ型 character string
アクセス read only
受け渡し方 by descriptor


出力されるテキスト。 text 引数は,テキストを示すディスクリプタのアドレスです。

start-row

OpenVMS 用法 longword_signed
データ型 longword (signed)
アクセス read only
受け渡し方 by reference


文字書き込み開始行。 start-row 引数は,行の位置を格納した符号付きロングワードのアドレスです。この引数を省略した場合は,出力は現在の行から開始されます。

start-column

OpenVMS 用法 longword_signed
データ型 longword (signed)
アクセス read only
受け渡し方 by reference


文字書き込み開始カラム。 start-column 引数は,カラム位置を格納した符号付きロングワードのアドレスです。この引数を省略した場合は,出力は現在のカラムから開始されます。全角文字の右半分からカラムが始まる場合は,その文字の左半分は未定義文字になります。

flags

OpenVMS 用法 mask_longword
データ型 longword (unsigned)
アクセス read only
受け渡し方 by reference


文字書き込み前の動作を指定する省略可能なビット・マスク。 flags 引数は,フラグを格納した符号なしロングワードのアドレスです。この引数に対して指定できる値は次のとおりです。

0 行を消去しないことを指定します(省略時の設定値)。
SMG$M_ERASE_LINE 行全体を消去します。
SMG$M_ERASE_TO_EOL 行の残りの部分を消去します。

rendition-string

OpenVMS 用法 char_string
データ型 character string
アクセス read only
受け渡し方 by descriptor


ビデオ属性を制御するビット・マスク文字列(省略可能)。 rendition-string 引数は,ビット・マスク文字列を示すディスクリプタのアドレスです。仮想ディスプレイ上のテキスト文字列のカラムに対応する属性を指定することができます。この rendition-string 引数で指定できる属性は以下のとおりです。

全角文字の左半分と右半分に違う属性が指定された場合は,全角文字の左半分に指定された属性がその全角文字に適用されます。

SMG$M_BLINK 点滅文字を指示します。
SMG$M_BOLD 通常より明るい輝度の文字を指定します。
SMG$M_REVERSE 反転表示文字を指示します。つまり,仮想ディスプレイの現在の属性の反対の状態で文字を表示しています。
SMG$M_UNDERLINE 下線付き文字を指示します。
SMG$M_INVISIBLE 表示されない文字を指定します。つまり,文字は仮想ディスプレイ内に存在しますが,ペーストボードには表示されていません。

rendition-complement

OpenVMS 用法 char_string
データ型 character string
アクセス read only
受け渡し方 by descriptor


ビデオ属性を制御するビット・マスク文字列(省略可能)。 rendition-complement 引数は省略可能であり,ロングワード・ビット・マスクのアドレスです。このロングワード・ビット・マスクの各属性を設定すると,仮想ディスプレイ内の対応するカラム属性は補足されます。全角文字の左半分と右半分に違う補足属性が指定された場合は,全角文字の左半分に指定された補足属性がその全角文字に適用されます。

rendition-string 引数と rendition-complement 引数の両方に,同じビットを指定した場合は,最初に rendition-string 引数が評価され,その後 rendition-complement 引数が評価されます。これら 2 つの引数を組み合わせて使用することにより,ユーザは 1 回のプロシージャ呼び出しで仮想ディスプレイの各属性を制御することができます。各属性で次の変換が可能です。

設定 補足 動作
0 0 属性を省略時の状態に設定する。
1 0 属性をオンに設定する。
0 1 属性を省略時の逆の状態に設定する。
1 1 属性をオフに設定する。

character-set

OpenVMS 用法 longword_unsigned
データ型 longword (unsigned)
アクセス read only
受け渡し方 by reference


挿入されるテキストの文字集合。 character-set 引数は,文字集合コードを格納した符号なしロングワードのアドレスです。この引数を省略した場合は,SMG$CREATE_VIRTUAL_DISPLAY ルーチンまたは SMG$CHANGE_VIRTUAL_DISPLAY ルーチンで設定された値が使用されます。

文字集合 (コードセット)
SMG$C_ASCII ASCII文字集合
SMG$C_SPEC_GRAPHICS DEC特殊文字集合
SMG$C_SUPPLEMENTAL 補助文字集合 1
SMG$C_KANJI DEC漢字文字集合
SMG$C_JIS_KANA JISカタカナ文字集合
SMG$C_SDK Super DEC 漢字コードセット


1DEC 補助文字集合または Latin-1 文字集合のいずれか。


説明

SMG$PUT_CHARS_MULTIルーチンは,仮想ディスプレイに多様なレンディションでテキストを書き込むことを可能にします。 SMG$PUT_CHARS_MULTI ルーチンは,指定された位置にある既存のテキストを上書きします。既存のテキストを保存し,新しいテキストを書き込む場合には, SMG$INSERT_CHARSルーチンを使用してください。

省略時設定では,SMG$PUT_CHARS_MULTIルーチンは,新しいテキストが書かれている文字の位置のみを修正します。しかし,flags 引数にSMG$M_ERASE_LINEを指定することによって,新しいテキストが書かれる前に行を消去することができます。また,flags 引数にSMG$M_ERASE_TO_EOLを指定することによって新しいテキストが書かれた後に,残りの行を消去することができます。カーソルは,最後のテキストが書かれたすぐ後の位置に残ります。

このルーチンは,1行のみに書き込むということに注意してください。つまり,仮想ディスプレイからあふれた分の文字は切り捨てられます。しかし,仮想ディスプレイに対してSMG$M_TRUNC_ICON属性が設定されている場合には, SMG$PUT_CHARS_MULTIルーチンが行の一部を切り捨てたことを示すアイコンを出力します。

DEC漢字文字集合を使用する際に,全角文字の右半分から書き込み操作が始まる場合は,その文字の左半分は未定義文字になります。また,全角文字の左半分で書き込み操作が終了する場合は,その文字の右半分は未定義文字になります。さらに,行の一部が切り捨てられる際に,全角文字の右半分から切り捨てられる場合は,その文字の左半分は未定義文字になります。


戻される状態値

SS$_NORMAL 正常終了。
LIB$_INVSTRDES 文字列ディスクリプタが誤っています。
SMG$_INVARG 引数が誤っています。
SMG$_INVCOL カラム番号の指定が誤っています。
SMG$_INVROW 行番号の指定が誤っています。
SMG$_WILUSERMS ペーストボードがビデオ・ターミナルでありません。
SMG$_WRONUMARG 引数の数が誤っています。


前へ 次へ 目次 索引