HP OpenVMS Systems Documentation |
| 前へ | 次へ | 目次 | 索引 |
一般的に,文節の縮小/拡大を実行すると,現在の文節以降の文字列が変化し,それに伴って文節数も変化する可能性が高いので注意してください。
| CLAUSE_OFFSET | 現在の文節が,変換文字列の中のどの位置から始まるかを文字オフセットとして返します。文節移動を行った結果として値が変化します。 |
| CLAUSE_LENGTH | 現在の文節の長さを返します。変換操作を行った後は値が変化する可能性があります。 |
| PHONETIC_OFFSET | 現在の文節が,読み文字列の中のどの位置から始まるかを文字オフセットとして返します。文節移動を行った結果として値が変化します。 |
| PHONETIC_LENGTH | 現在の文節の読み文字列の長さを返します。変換操作を行った後は値が変化する可能性があります。 |
| CLAUSE_NEXT | 変換対象を次の文節に移動します。この結果,FORWARD, REVERSE などの対象となる部分が次の文節に移動します。 |
| CLAUSE_PREVIOUS | 変換対象を前の文節に移動します。現在の文節が先頭の文節である場合,最後の文節に移動します。この結果,FORWARD,REVERSE などの対象となる部分が次の文節に移動します。 |
| CLAUSE_NUMBER | パラメータ integer1 で指定した文節を現在の文節とします。 integer1 を指定しなかったときは,現在の文節の文節番号を返します。 |
| MAX_CLAUSE_NUMBER | 現在の変換文字列の文節数を返します。 |
XTPU$_ROUND INFORMATION FORWARD による次候補が一巡して最初の単語に戻った XTPU$_NEEDTOASSIGN ERROR 返される値を代入する変数が必要である XTPU$_NODIC WARNING この編集セッションでは辞書を使用していない XTPU$_BADVALUE ERROR 指定した整数値が有効な範囲内にない XTPU$_CNVERR ERROR かな漢字変換ルーチンの内部エラーが発生した XTPU$_DICUPDERR ERROR 個人辞書の更新時にエラーが発生した XTPU$_INVPARAM ERROR 引数の型が正しくない XTPU$_NOCLA ERROR 変換対象となる文節が指定されていない,変換を開始していない XTPU$_NODICENT WARNING 文節の縮小あるいは拡大ができない。単語が辞書にない(変換不可能) XTPU$_STRTOOLONG ERROR 入力文字数が 253 文字を越えた XTPU$_TOOFEW ERROR パラメータの数が少なすぎる XTPU$_TOOMANY ERROR パラメータの数が多すぎる XTPU$_TRUNCATE WARNING 変換文字列が長すぎるため,切り捨てが行われた
この組込みプロシージャは,文字と文字コード(ASCII コードあるいは DEC 漢字コード) の相互変換をします。
{integer2|string2} := DEC_KANJI ({integer1|string1})
integer1
ASCII 文字あるいは漢字に変換したい整数。 ASCII あるいは DEC 漢字セットで決められた整数(10 進数)。string1
ASCII コードあるいは DEC 漢字コードを得たい文字。
整数パラメータが与えられたときには,このプロシージャは指定された数字に従って,文字を通知します。数字と文字の対応は,ASCII および DEC 漢字セット規定によって決められています。文字が定義されていない値が指定されたときには,値が0の文字を戻します。文字列パラメータが与えられたときには,このプロシージャは最初の文字に対応する ASCII コードあるいは DEC 漢字コードを戻します。
XTPU$_NULLSTRING WARNING 長さ0の文字列が渡された XTPU$_ARGMISMATCH ERROR 引数のデータ・タイプが正しくない XTPU$_NEEDTOASSIGN ERROR DEC_KANJI は代入文の右辺でのみ使用できる XTPU$_TOOFEW ERROR 引数の数が少なすぎる XTPU$_TOOMANY ERROR 引数の数が多すぎる
次のサンプル・プロシージャは,JIS 漢字セットの任意の1区のテーブルをバッファに挿入します。たとえば,user_kanji_list (20) を実行すると,第 20 区のテーブルを現在のカーソルの位置に挿入します。
PROCEDURE user_kanji_list (jis_ku) LOCAL cnt, col, low_byte; cnt := jis_ku * 256 + 41120; max := cut + 94; COPY_TEXT (FAO('第 !ZL 区', jis_ku)); SPLIT_LINE; COPY_TEXT ("0 1 2 3 4 5 6 7 8 9 A B C D E F"); SPLIT_LINE; COPY_TEXT (user_hex(cnt) + ' '); col := 1; LOOP EXITIF cnt 〉max; IF col 〉16 THEN SPLIT_LINE; UPDATE (current_window); col := 1; COPY_TEXT (user_hex(cnt) + ' '); ENDIF; low_byte := cnt-((cnt / 256)*256); IF low_byte〈〉160 THEN COPY_TEXT (' '+ DEC_KANJI(cnt)); ELSE COPY_TEXT (' '); ENDIF; cnt := cnt + 1; col := col + 1; ENDLOOP; SPLIT_LINE; ENDPROCEDURE; PROCEDURE user_hex (dec_num) LOCAL res, rmn, temp; temp := dec_num; IF temp =0 THEN res := '0' ELSE res := '' ENDIF; LOOP EXITIF temp 〈= 0; rmn := temp-((temp / 16) * 16); temp := temp / 16; IF (0〈 rmn) AND (rmn〈 16) THEN res := SUBSTR ('123456789ABCDEF', rmn, 1) + res; ELSE res := '0' + res; ENDIF; ENDLOOP; user_hex := res; ENDPROCEDURE;
この組込みプロシージャは,単語とその読みを個人辞書から削除します。
DELETE_TANGO (string1, string2)
string1
辞書から削除される単語の読みを表わすひらがな文字列。string2
辞書から読みを削除される単語。
この組込みプロシージャは,個人辞書から単語の読みを削除します。これは日本語 OpenVMS かな漢字変換ライブラリを使用しています。単語とその読みは,個人辞書に登録されているものでなければなりません。『日本語ライブラリ 利用者の手引き』 "かな漢字変換ライブラリ" の JLB$DEL_TANGO を参照してください。
XTPU$_NODIC WARNING この編集セッションでは個人辞書は使用していない XTPU$_NODICENT WARNING 個人辞書に指定された単語が見つからない XTPU$_DICUPDERR ERROR 個人辞書の変更時にエラーが発生した XTPU$_INVPARAM ERROR 引数のデータ・タイプが正しくない XTPU$_NORETURNVALUE ERROR DELETE_TANGO は値を返さない XTPU$_TOOFEW ERROR 引数の数が少なすぎる XTPU$_TOOMANY ERROR 引数の数が多すぎる
1. DELETE_TANGO ("じゅうしょ", "東京都あきる野市")
このステートメントは,個人辞書に登録されている単語 "東京都あきる野市" と,その読み "じゅうしょ" を個人辞書から削除します。
次のサンプル・プロシージャは,選択された単語を個人辞書から削除します。読みがなを引数としてとり,引数が空文字であると,その読みをローマ字で入力するように要求します。単語が選択されていない場合や削除に失敗した(単語とその読みが正しくない)ときにはエラー・メッセージが表示されます。このプロシージャで用いている user_select_position は,選択開始位置を示すグローバル変数です。
! This procedure specifies start position of selection PROCEDURE user_select ON_ERROR IF error = XTPU$_ONESELECT THEN MESSAGE ("すでに選択されています。"); RETURN; ENDIF; ENDON_ERROR; user_select_position := SELECT (reverse); ENDPOROCEDURE ! This procedure removes selected TANGO and its YOMIGANA ! from personal dictionary. PROCEDURE user_delete_tango (yomi) LOCAL yomigana, tango_range, tango; ON_ERROR IF (error = XTPU$_NOSELECT) OR (error = XTPU$_SELRANGEZERO) THEN MESSAGE ("単語が選択されていません。"); ELSE MESSAGE ("単語を削除できません。"); ENDIF; user_select_position := 0; RETURN; ENDON_ERROR; tango_range := select_range; user_select_position := 0; ! This global variable is used to ! specify start position of selection POSITION (BEGINNING_OF(tango_range)); tango := SUBSTR (tango_range, 1, LENGTH(tango_range)); tango_range := 0; yomigana := yomi; IF yomigana = ''THEN yomigana := READ_LINE ("読みがなをローマ字で入力してください:"); ENDIF; CHANGE_CASE (yomigana, KANA); DELETE_TANGO (yomigana, tango); ENDPROCEDURE;
この組込みプロシージャは,単語とその読みを個人辞書に登録します。
ENTER_TANGO (string1, string2)
string1
個人辞書に登録する単語の読みを表わすかな文字列。string2
個人辞書に登録する単語。
このプロシージャは,個人辞書に新しい単語とその読みを登録します。これは日本語 OpenVMS かな漢字変換ライブラリを使用しています。単語とその読みは,個人辞書に登録されているものであってはなりません。『日本語ライブラリ 利用者の手引き』の "かな漢字変換ライブラリ"の JLB$ENT_TANGO を参照してください。
XTPU$_NODIC WARNING この編集セッションでは個人辞書は使用していない XTPU$_DICUPDERR ERROR 個人辞書の変更時にエラーが発生した XTPU$_INVPARAM ERROR 引数のデータ・タイプが正しくない XTPU$_NORETURNVALUE ERROR ENTER_TANGO は値を返さない XTPU$_TOOFEW ERROR 引数の数が少なすぎる XTPU$_TOOMANY ERROR 引数の数が多すぎる
1. ENTER_TANGO ("じゅうしょ", "東京都あきる野市")
このステートメントは,個人辞書に単語 "東京都あきる野市" と,その読み"じゅうしょ" を新しく登録します。
次のサンプル・プロシージャは,選択された単語を個人辞書に登録します。読みがなを引数としてとり,引数が空文字であると,その読みをローマ字で入力するように要求します。単語が選択されていないときや登録に失敗した(単語とその読みが正しくない)ときにはエラー・メッセージを表示します。このプロシージャで用いている user_select_position は,選択開始位置を示すグローバル変数です。
PROCEDURE user_select ! This procedure specifies start position of selection ON_ERROR IF error = XTPU$_ONESELECT THEN MESSAGE ("すでに選択されています。"); RETURN; ENDIF; ENDON_ERROR; user_select_position := SELECT (REVERSE); ENDPROCEDURE; ! This procedure reserves selected TANGO and its YOMIGANA ! in personal dictionary. PROCEDURE user_enter_tango (yomi) LOCAL yomigana, tango_range, tango; ON_ERROR IF (error = XTPU$_NOSELECT) OR (error = XTPU$_SELRANGEZERO) THEN MESSAGE ("単語が選択されていません。"); ELSE MESSAGE ("単語を登録できません。"); ENDIF; user_select_position := 0; RETURN; ENDON_ERROR; tango_range := select_range; user_select_position := 0; ! This global variable is used to ! specify start position of selection POSITION (BEGINNING_OF(tango_range)); tango := SUBSTR (tango_range, 1, LENGTH(tango_range)); tango_range := 0; yomigana := yomi; IF yomigana = '' THEN yomigana := READ_LINE ("読みがなをローマ字で入力してください:"); ENDIF; CHANGE_CASE (yomigana, KANA); ENTER_TANGO (yomigana, tango); ENDPROCEDURE;
この組込みプロシージャは,制御文字列を書式整形された ASCII 出力文字列に変換するために,Formatted ASCII Output ($FAO) システム・サービスを呼び出します。FAO ディレクティブに対する引数を制御文字列として指定することにより,$FAO システム・サービスによって実行される処理を制御することができます。FAO 組込みプロシージャは書式整形された ASCII 出力を含む文字列を通知します。FAOには最大127個までのパラメータを指定することができます。
FAOは,指定された文字列をメッセージ・コードセットに指定されたコードセットに変換して,$FAO システム・サービスを呼び出します。このため,そのときのメッセージ・コードセットで表現できない文字は,FAO を呼び出した結果,失われます。メッセージ・コードセットについて詳しくは,SET (MESSAGE_CODESET)組込みプロシージャを参照してください。
$FAO システム・サービスについての詳しい説明は,『OpenVMS System Services Reference Manual』を参照してください。
string2 := FAO (string1 [,FAO parameters])
string1
引用符で囲まれた文字列,文字列定数を含む変数名,または文字列を表わす式であり,固定長テキストの出力文字列と FAO ディレクティブから構成されます。文字列の一部として指定することができる FAO ディレクティブは下記のとおりです。
!AS 文字列を入力されたとおりに挿入する !OL 倍長語(ロングワード)を8進数に変換する !XL 倍長語(ロングワード)を16進数に変換する !ZL 倍長語(ロングワード)を10進数に変換する !UL 倍長語(ロングワード)を10進数に変換するが,負の数値に対する調整は実行しない !SL 倍長語(ロングワード)を10進数に変換し,負の数値も正しく変換する !/ 新しい行を挿入する(キャリッジ・リターン/ライン・フィード) !_ タブを挿入する !^ フォーム・フィードを挿入する !! 感嘆符を挿入する !%S 最後に変換された数値が1でない場合には S を挿入する !%T パラメータとして0を入力した場合には,現在の時刻を挿入する(DEC XTPU は 4 倍長語を使用しないため,特定の時刻を渡すことはできない) !%D パラメータとして0を入力した場合には,現在の日付と時刻を挿入する(DEC XTPU は 4 倍長語を使用しないため特定の日付を渡すことはできない)
FAO パラメータについては『OpenVMS System Services Reference Manual』を参照してください。一般的には,FAO パラメータは string1 の FAO ディレクティブに対応しています。
FAO 組込みプロシージャについての説明は,『Guide to the DEC Text Processing Utility』を参照してください。FAO 組込みプロシージャの引数に指定される文字列は,メッセージ・コードセットに指定される文字列でなければなりません。メッセージ・コードセットについての詳しい説明は,SET (MESSAGE_CODESET) を参照してください。
XTPU$_INVFAOPARAM WARNING 引数が整数または文字列でない XTPU$_INVPARAM ERROR FAO の第1引数は文字列でなければならない XTPU$_NEEDTOASSIGN ERROR FAO 組込みプロシージャは代入文の右辺でのみ使用できる XTPU$_TOOFEW ERROR 引数の数が少なすぎる
この組込みプロシージャは,指定されたバッファまたはレンジに含まれるテキストのフォーマットを変更することにより,テキスト・ラインをほぼ同じ長さにそろえます。
FILL ({buffer|range}, [string [,integer1 [,integer2 [,integer3]]]])
buffer
形式を変更したいテキストを含むバッファ。range
形式を変更したいテキストを含むレンジ。string
テキストをバッファに挿入するときにワード区切り文字として使用したい文字の集合。半角の空白文字は常にワード区切り文字です。integer1
左マージンの値。左マージンの値は1以上で,右マージンの値より小さくなければなりません。省略時にはバッファの左マージンが使われます。integer2
右マージンの値。右マージンの値は左マージンよリ大きく,バッファの最大レコード・サイズ以下でなければなりません。省略時にはバッファの右マージンが使われます。integer3
最初の行の段付けの値。この値は最初の行の左マージンを変更します。値は正負ともに有効ですが,この値を左マージンに足した結果が1以上で,かつ右マージンよリ小さくなければなりません。省略時には0が使われます。
FILL 組込みプロシージャに関しての基本的な説明は,『DEC Text Processing Utility Reference Manual』を参照してください。DEC XTPU では FILL 組込みプロシージャが2カラム以上の文字(複数カラム文字)を扱うことができます。複数カラム文字が含まれているときには,1カラム文字のワード区切り文字に加えて,2つの複数カラム文字の間もワード区切りとして扱われます。すなわち, 2つの複数カラム文字の間で行が分割されることがあります。
DEC XTPU の FILL 組込みプロシージャでは,日本語の禁則処理をすることができます。行頭禁則文字の指定には,SET (FILL_NOT_BEGIN) を,行末禁則文字の指定には,SET (FILL_NOT_END) を使います。また,SET (MARGIN_ALLOWANCE) で,右マージンの右側に置くことのできる行頭禁則文字の文字数を指定することができます。
Latin文字からなる文章にFILLを実行したときに行末に空白文字がくると,その空白文字は削除されます。また,FILLの結果複数行がつながると,その間に空白文字が置かれます。しかし複数カラム文字が含まれているときには,この機能が不要になることがあります。そのようなときには,SET (FILL_TRIM_SPACE) でFILLを実行するときに,空白文字の削除および追加を行うかどうかを制御できます。
XTPU$_BADMARGINS WARNING 正しくない FILL のマージンが指定された XTPU$_INVRANGE WARNING 正しくないレンジ領域が指定された XTPU$_NOTMODIFIABLE WARNING 変更が禁止されているバッファで FILL を実行することはできない XTPU$_ARGMISMATCH ERROR パラメータのデータ・タイプが正しくない XTPU$_CONTROLC ERROR FILL の実行中に [Ctrl/C] が押された XTPU$_INVPARAM ERROR パラメータのデータ・タイプが正しくない XTPU$_NOCACHE ERROR 割り当てられたメモリの不足で新しい行が作れない XTPU$_TOOFEW ERROR パラメータの数が少なすぎる XTPU$_TOOMANY ERROR パラメータの数が多すぎる
| 前へ | 次へ | 目次 | 索引 |