前へ | 次へ | 目次 | 索引 |
かな漢字変換ライブラリ とは,かな漢字変換を行うライブラリ・ルーチン群です。
同一の機能をもったルーチンが JLB$xxxxx と JSY$xxxxx の2種類あり, JLB$xxxxx はディスクリプタ形式で文字列の受け渡しを行うなど, VMS 標準のインターフェイスになっています。
この章では,かな漢字変換ライブラリの次の項目について説明します。
かな漢字変換ライブラリ・ルーチン一覧
複文節変換ルーチン
単語単位変換ルーチン
かな漢字変換辞書
注意事項および制限事項
複文節かな漢字変換を行うルーチン群です。
JLB$CNV_OPEN_DICTIONARY | 辞書のオープン |
JSY$CNV_OPEN_DICTIONARY | 辞書のオープン |
JLB$CNV_CLOSE_DICTIONARY | 辞書のクローズ |
JSY$CNV_CLOSE_DICTIONARY | 辞書のクローズ |
JLB$CNV_CONVERT | かな漢字変換 |
JSY$CNV_CONVERT | かな漢字変換 |
JLB$CNV_ROM_CONVERT | ローマ字漢字変換 |
JLB$CNV_GET_KANJI | 漢字文字列要求 |
JSY$CNV_GET_KANJI | 漢字文字列要求 |
JLB$CNV_NEXT_WORD | 自立語次候補 |
JSY$CNV_NEXT_WORD | 自立語次候補 |
JLB$CNV_PREV_WORD | 自立語前候補 |
JSY$CNV_PREV_WORD | 自立語前候補 |
JLB$CNV_GET_CLAUSE | 文節位置情報 |
JSY$CNV_GET_CLAUSE | 文節位置情報 |
JSY$CNV_GET_PHONETIC_CLAUSE | 読み文字列位置情報 |
JLB$CNV_SHORTEN_CLAUSE | 文節縮小 |
JSY$CNV_SHORTEN_CLAUSE | 文節縮小 |
JLB$CNV_EXTEND_CLAUSE | 文節伸張 |
JSY$CNV_EXTEND_CLAUSE | 文節伸張 |
JLB$CNV_CLAUSE_HIRAGANA | 文節ひらがな変換 |
JSY$CNV_CLAUSE_HIRAGANA | 文節ひらがな変換 |
JLB$CNV_CLAUSE_KATAKANA | 文節カタカナ変換 |
JSY$CNV_CLAUSE_KATAKANA | 文節カタカナ変換 |
JLB$CNV_CLAUSE_FULL | 文節全角変換 |
JSY$CNV_CLAUSE_FULL | 文節全角変換 |
JLB$CNV_CLAUSE_HALF | 文節半角変換 |
JSY$CNV_CLAUSE_HALF | 文節半角変換 |
JLB$CNV_CLAUSE_SYMBOL | 文節記号変換 |
JSY$CNV_CLAUSE_SYMBOL | 文節記号変換 |
JLB$CNV_CLAUSE_NOCONVERT | 文節無変換 |
JSY$CNV_CLAUSE_NOCONVERT | 文節無変換 |
JLB$CNV_CLAUSE_DELETE | 自立語削除 |
JSY$CNV_CLAUSE_DELETE | 自立語削除 |
JLB$CNV_LEARN | 変換確定と学習 |
JSY$CNV_LEARN | 変換確定と学習 |
JLB$CNV_REGISTER_WORD | 単語登録 |
JSY$CNV_REGISTER_WORD | 単語登録 |
JLB$CNV_DELETE_WORD | 単語削除 |
JSY$CNV_DELETE_WORD | 単語削除 |
JLB$CNV_IO_ERROR | 辞書 I/O エラー詳細情報 |
JSY$CNV_IO_ERROR | 辞書 I/O エラー詳細情報 |
単語単位でかな漢字変換を行うルーチン群です。
JLB$TRA_DICINI | 辞書のオープン |
JSY$TRA_DICINI | 辞書のオープン |
JLB$TRA_DICCLS | 辞書のクローズ |
JSY$TRA_DICCLS | 辞書のクローズ |
JLB$ENT_TANGO | 単語登録 |
JSY$ENT_TANGO | 単語登録 |
JLB$DEL_TANGO | 単語削除 |
JSY$DEL_TANGO | 単語削除 |
JLB$TRA_ROM_TANGO | ローマ字・かな単語変換 |
JLB$TRA_KANA_TANGO | かな単語変換 |
JSY$TRA_KANA_TANGO | かな単語変換 |
JLB$TRA_TANGO_NEXT | 単語次候補 |
JSY$TRA_TANGO_NEXT | 単語次候補 |
JLB$TRA_TANGO_PREV | 単語前候補 |
JSY$TRA_TANGO_PREV | 単語前候補 |
JLB$TRA_TANGO_DONE | 単語候補の決定 |
JSY$TRA_TANGO_DONE | 単語候補の決定 |
5.2 複文節変換ルーチン
複文節変換ルーチンは,複文節かな漢字変換を行うルーチン群です。
複文節かな漢字変換の各ルーチン (JLB$CNV_xxxxx および JSY$CNV_xxxxx) は,その戻り値として変換のステータスを返します。ディレクトリ JSY$LIBRARY 内に,FORTRAN,PASCAL,PL/I,C,MACRO,BLISS の各言語用にステータスをシンボル定義したファイルがあります。ファイル名はそれぞれ以下のとおりです。
JSYDEF.FOR | FORTRAN |
JSYDEF.H | C |
JSYDEF.MAR | MACRO |
JSYDEF.R32 | BLISS(REQUIRE) |
JSYDEF.L32 | BLISS(LIBRARY) |
複文節かな漢字変換ルーチンは次のような手順で呼び出すことができます。
JLB$CNV_OPEN_DICTIONARY, JSY$CNV_OPEN_DICTIONARY
辞書のオープン
かな漢字変換用システム辞書および個人辞書をオープンします。文節学習辞書が存在するときは,その内容をメモリ中に読み込みます。ただし,論理名 JSY$KOJIN_MODE に "3" (個人辞書を使用しない)が定義されているときは,個人辞書および文節学習辞書をオープンしません。文節学習の詳細は 第 5.4 節 「かな漢字変換辞書」を参照してください。
<形式>
status = JLB$CNV_OPEN_DICTIONARY
<引数>
なし
<形式>
status = JSY$CNV_OPEN_DICTIONARY
<引数>
なし
<戻り値>
status | SS$_NORMAL | 正常終了 |
JSY$_NOTDICFIL | システム辞書または個人辞書のフォーマットが誤っている。JLB$CNV_IO_ERROR またはJSY$CNV_IO_ERROR ルーチンを呼び出せば,システム辞書か個人辞書かの判定ができる。 | |
JSY$_RMSERR | 辞書 I/O の最中に RMS のエラーが起きた。 JLB$CNV_IO_ERROR または JSY$CNV_IO_ERROR ルーチンを呼び出せば,エラーの詳細がわかる。 | |
JSY$_CNVINTERR | 変換ルーチンの内部エラー(ダイナミック・メモリ不足 )が起きた。 |
JLB$CNV_CLOSE_DICTIONARY, JSY$CNV_CLOSE_DICTIONARY
辞書のクローズ
かな漢字変換用システム辞書および個人辞書をクローズし,文節学習データを文節学習辞書に書き込みます。文節学習の詳細は 第 5.4 節 「かな漢字変換辞書」を参照してください。
<形式>
status = JLB$CNV_CLOSE_DICTIONARY
<引数>
なし
<形式>
status = JSY$CNV_CLOSE_DICTIONARY
<引数>
なし
<戻り値>
status | SS$_NORMAL | 正常終了 |
JLB$CNV_CONVERT, JSY$CNV_CONVERT
かな漢字変換
新しい読みで変換を開始します。読み文字列の内,全角ひらがな,半角・全角の数字部分を漢字文字列に変換し,変換ルーチンの内部バッファに格納します。変換した漢字文字列は JLB$CNV_GET_KANJI または JSY$CNV_GET_KANJI ルーチンによりユーザに返します。入力文字列中の全角ひらがな,半角・全角の数字以外の文字は,そのまま漢字文字列に組み込まれます。
<形式>
status = JLB$CNV_CONVERT ( yomi-str )
<引数>
yomi-str | |
---|---|
JLB usage | 変換対象(読み)文字列 |
type | 文字列データ |
access | 入力のみ |
mechanism | Descriptor渡し |
<形式>
status = JSY$CNV_CONVERT ( yomi-str, yomi-len )
<引数>
yomi-str | |
---|---|
JSY usage | 変換対象(読み)文字列 |
type | 文字列データ |
access | 入力のみ |
michanism | Reference渡し |
yomi-len | |
JSY usage | 変換対象文字列の長さ(バイト長) |
type | Longword |
access | 入力のみ |
michanism | Value渡し |
<戻り値>
status | SS$_NORMAL | 正常終了 |
JSY$_CANNOTCNV | 変換できない。 | |
読み文字列が正しくない。あるいは,語句が辞書に登録されていない。 | ||
JSY$_CNVINTERR | 変換ルーチンの内部エラーが起きた。 | |
JSY$_DICNOTOPN | 辞書がオープンされていない。 | |
JSY$_PHONTOOLNG | 読み文字列が長すぎる。 | |
506 バイト(全角ひらがな 253 文字分)以下を指定すること。 | ||
JSY$_RMSERR | 辞書 I/O の最中に RMS のエラーが起きた。 | |
JLB$CNV_IO_ERROR またはJSY$CNV_IO_ERROR ルーチンを呼び出せば,エラーの詳細がわかる。 |
ローマ字漢字変換
新しい読みで変換を開始します。ローマ字の読み文字列をひらがな変換 (JLB$TRA_ROM_KANA)した後,漢字文字列に変換し,変換ルーチンの内部バッファに格納します。変換後の漢字文字列は JLB$CNV_GET_KANJI または JSY$CNV_GET_KANJI ルーチンによりユーザに返します。入力文字列中にローマ字以外の文字がある場合,全角ひらがなと数字は漢字変換されますが,それ以外の文字はそのまま漢字文字列に組み込まれます。
<形式>
status = JLB$CNV_ROM_CONVERT ( yomi-str )
<引数>
yomi-str | |
---|---|
JLB usage | 変換対象(読み)文字列 |
type | 文字列データ |
access | 入力のみ |
michanism | Descriptor渡し |
<戻り値>
status | SS$_NORMAL | 正常終了 |
JSY$_CANNOTCNV | 変換できない。 | |
読み文字列が正しくない。あるいは,語句が辞書に登録されていない。 | ||
JSY$_CNVINTERR | 変換ルーチンの内部エラーが起きた。 | |
JSY$_DICNOTOPN | 辞書がオープンされていない。 | |
JSY$_PHONTOOLNG | 読み文字列が長すぎる。 | |
全角ひらがな換算で 253 文字分以下を指定すること。 | ||
JSY$_RMSERR | 辞書 I/O の最中に RMS のエラーが起きた。 | |
JLB$CNV_IO_ERROR または JSY$CNV_IO_ERROR ルーチンを呼び出せば,エラーの詳細がわかる。 |
JLB$CNV_GET_KANJI, JSY$CNV_GET_KANJI
漢字文字列要求ルーチン
JLB$CNV_CONVERT,JLB$CNV_NEXT_WORD,JLB$CNV_PREV_WORD などが作った変換結果,すなわち,現在変換ルーチンの内部バッファに格納されている漢字文字列(変換後文字列)を返します。
<形式>
status = JLB$CNV_GET_KANJI ( kanji-str, clause-no [, out-len] )
<引数>
kanji-str | |
---|---|
JLB usage | 変換結果(漢字文字列)出力領域 |
type | 文字列データ |
access | 出力のみ |
michanism | Descriptor渡し |
clause-no | |
JLB usage | 変換結果文字列を構成する文節の数 |
type | Longword |
access | 出力のみ |
michanism | Reference渡し |
out-len | |
JLB usage | 変換結果の長さ(バイト長) |
type | Word (Unsigned) |
access | 出力のみ |
michanism | Reference渡し |
<形式>
status = JSY$CNV_GET_KANJI ( kanji-str, kanji-len, out-len, clause-no )
<引数>
kanji-str | |
---|---|
JSY usage | 変換結果(漢字文字列)出力領域 |
type | 文字列データ |
access | 出力のみ |
michanism | Value渡し |
kanji-len | |
JSY usage | 変換結果出力領域の長さ(バイト長) |
type | Longword |
access | 入力のみ |
michanism | Value渡し |
out-len | |
JSY usage | 変換結果の長さ(バイト長) |
type | Longword |
access | 出力のみ |
michanism | Reference渡し |
clause-no | |
JSY usage | 変換結果文字列を構成する文節の数 |
type | Longword |
access | 出力のみ |
michanism | Reference渡し |
<戻り値>
status | SS$_NORMAL | 正常終了 |
JSY$_INVCALL | ルーチンの呼び出し順序が正しくない。 | |
変換開始ルーチンを呼び出した後に呼び出すこと。 | ||
JSY$_STRTRU | 出力文字列の切り捨てが行われた。 |
JLB$CNV_NEXT_WORD, JSY$CNV_NEXT_WORD
自立語次候補ルーチン
引数で指定された文節の自立語の次候補を採用して,新しい漢字文字列を作り,変換ルーチンの内部バッファに格納します。JLB$CNV_GET_KANJI または JSY$CNV_GET_KANJI ルーチンにより新しい漢字文字列を返します。漢字文字列の文節の数と区切りは変化しません。また,最後の候補のときに次候補が要求されると,JSY$_ROUNDK のステータスで,先頭の候補を返します。
<形式>
status = JLB$CNV_NEXT_WORD ( clause-no )
<引数>
clause-no | |
---|---|
JLB usage | 次候補漢字列を要求する文節の番号 |
type | Longword |
access | 入力のみ |
mechanism | Reference渡し |
1以上JLB$CNV_GET_KANJIまたはJSY$CNV_GET_KANJIルーチンで返った文節数以下を指定する。 |
<形式>
status = JSY$CNV_NEXT_WORD ( clause-no )
<引数>
clause-no | |
---|---|
JSY usage | 次候補漢字列を要求する文節の番号 |
type | Longword |
access | 入力のみ |
mechanism | Value渡し |
1以上JLB$CNV_GET_KANJIまたはJSY$CNV_GET_KANJIルーチンで返った文節数以下を指定する。 |
<戻り値>
status | SS$_NORMAL | 正常終了 |
JSY$_ROUNDK | 先頭の候補に戻った。(正常終了) | |
JSY$_CNVINTERR | 変換ルーチンの内部エラーが起きた。 | |
JSY$_INVCALL | ルーチンの呼び出し順序が正しくない。 | |
変換開始ルーチンを呼び出した後に呼び出すこと。 | ||
JSY$_INVCLSNUM | 文節番号の指定が正しくない。 | |
JSY$_RMSERR | 辞書I/Oの最中にRMSのエラーが起きた。 | |
JLB$CNV_IO_ERRORまたはJSY$CNV_IO_ERRORルーチンを呼び出せば,エラーの詳細がわかる。 |
前へ | 次へ | 目次 | 索引 |