[ 前のページ ] [ 次のページ ] [ 目次 ] | [ 索引 ] [ DOC Home ]
この章では,かな漢字変換ライブラリについて説明します。
かな漢字変換ライブラリとは
かな漢字変換を行うライブラリ・ルーチン群です。
同一の機能をもったルーチンが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 |
単語単位変換ルーチン
単語単位でかな漢字変換を行うルーチン群です。
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 |
複文節かな漢字変換を行うルーチン群です。
複文節かな漢字変換の各ルーチン(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() 辞書のオープン 読みの入力 JLB$CNV_CONVERT(...) かな漢字変換(変換開始) JLB$CNV_GET_KANJI(...) 変換結果の要求(変換処理) JLB$CNV_NEXT_WORD(...) 自立語次候補 または JLB$CNV_PREV_WORD(...) 自立語前候補 または JLB$CNV_SHORTEN_CLAUSE(...) 文節縮小 または JLB$CNV_EXTEND_CLAUSE(...) 文節拡大 ・ ・ ・ JLB$CNV_LEARN() 変換確定(学習機能) 単語の出力 JLB$CNV_CLOSE_DICTIONARY() 辞書のクローズ
JLB$CNV_OPEN_DICTIONARY
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
<形式>
<引数>
<形式>
<引数>
<戻り値>
status | SS$_NORMAL | 正常終了 |
JLB$CNV_CONVERT
JSY$CNV_CONVERT
<形式>
<引数>
yomi-str | ||
---|---|---|
JLB usage | :変換対象(読み)文字列 | |
type | :文字列データ | |
access | :入力のみ | |
mechanism | :Descriptor渡し |
<形式>
<引数>
yomi-str | ||
---|---|---|
JSY usage | :変換対象(読み)文字列 | |
type | :文字列データ | |
access | :入力のみ | |
michanism | :Reference渡し | yomi-len |
JSYusage | :変換対象文字列の長さ(バイト長) | |
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$CNV_ROM_CONVERT
<形式>
<引数>
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
<形式>
<引数>
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渡し |
<形式>
<引数>
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
<形式>
<引数>
clause-no | ||
---|---|---|
JLB usage | :次候補漢字列を要求する文節の番号 | |
type | :Longword | |
access | :入力のみ | |
mechanism | :Reference渡し | |
1以上JLB$CNV_GET_ KANJIまたはJSY$CNV_GET_KANJIルーチンで返った文節数以下を指定する。 |
<形式>
<引数>
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ルーチンを呼び出せば,エラーの詳細がわかる。 |
JLB$CNV_PREV_WORD
JSY$CNV_PREV_WORD
<形式>
<引数>
clause-no | ||
---|---|---|
JLB usage | :前候補漢字列を要求する文節の番号 | |
type | :Longword | |
access | :入力のみ | |
mechanism | :Reference渡し | |
1以上JLB$CNV_GET_ KANJIまたはJSY$CNV_GET_KANJIルーチンで返った文節数以下を指定する。 |
<形式>
<引数>
clause-no | ||
---|---|---|
JSY usage | :前候補漢字列を要求する文節の番号 | |
type | :Longword | |
access | :入力のみ | |
mechanism | :Value渡し | |
1以上JLB$CNV_GET_KANJIまたはJSY$CNV_ GET_KANJIルーチンで返った文節数以下を指定する。 |
<戻り値>
status | SS$_NORMAL | 正常終了 |
JSY$_ CNVINTERR | 変換ルーチンの内部エラーが起きた。 | |
JSY$_ INVCALL | ルーチンの呼び出し順序が正しくない。 | |
変換開始ルーチンを呼び出した後に呼び出すこと。 | ||
JSY$_INVCLSNUM | 文節番号の指定が正しくない。 | |
JSY$_RMSERR | 辞書I/Oの最中にRMSのエラーが起きた。 | |
JLB$CNV_IO_ERRORまたはJSY$CNV_IO_ERRORルーチンを呼び出せば,エラーの詳細がわかる。 |
JLB$CNV_GET_CLAUSE
JSY$CNV_GET_CLAUSE
<形式>
<引数>
clause-no | ||
---|---|---|
JLB usage | :文節番号 | |
type | :Longword | |
access | :入力のみ | |
mechanism | :Reference渡し | |
1以上JLB$CNV_GET_ KANJIまたはJSY$CNV_GET_KANJIルーチンで返った文節数以下を指定する。 | offset | |
JLB usage | :指定した文節の位置 | |
type | :Longword | |
access | :出力のみ | |
mechanism | :Reference渡し | |
指定した文節の位置情報をJLB$CNV_GET_KANJIまたはJSY$CNV_GET_KANJIで返った漢字文字列の先頭からのオフセット(バイト単位)で返す。 | length | |
JLB usage | :文節の長さ(バイト長) | |
type | :Word (Unsigned) | |
access | :入力のみ | |
mechanism | :Reference渡し | flag |
JLB usage | :変換情報 | |
type | :Longword | |
access | :出力のみ | |
mechanism | :Reference渡し | |
値は常に1 ( V4.5より,この引数の内容は意味を持ちません)。 |
<形式>
<引数>
clause-no | ||
---|---|---|
JSY usage | :文節番号 | |
type | :Longword | |
access | :入力のみ | |
mechanism | :Value渡し | |
1以上JLB$CNV_GET_ KANJIまたはJSY$CNV_GET_KANJIルーチンで返った文節数以下を指定する。 | offset | |
JSY usage | :指定した文節の位置 | |
type | :Longword | |
access | :出力のみ | |
mechanism | :Reference渡し | |
指定した文節の位置情報をJLB$CNV_GET_KANJIまたはJSY$CNV_GET_KANJIで返った漢字文字列の先頭からのオフセット(バイト単位)で返す。 | length | |
JSY usage | :文節の長さ(バイト長) | |
type | :Longword | |
access | :出力のみ | |
mechanism | :Reference渡し | flag |
JSY usage | :変換情報 | |
type | :Longword | |
access | :出力のみ | |
mechanism | :Reference渡し | |
値は常に1 ( V4.5より,この引数の内容は意味を持ちません)。 |
<戻り値>
status | SS$_NORMAL | 正常終了 |
JSY$_ INVCALL | ルーチンの呼び出し順序が正しくない。 | |
変換開始ルーチンを呼び出した後に呼び出すこと。 | ||
JSY$_INVCLSNUM | 文節番号の指定が正しくない。 |
JSY$CNV_GET_PHONETIC_CLAUSE
<形式>
<引数>
clause-no | ||
---|---|---|
JSY usage | :文節番号 | |
type | :Longword | |
access | :入力のみ | |
mechanism | :Value渡し | |
1以上JLB$CNV_GET_ KANJIまたはJSY$CNV_GET_KANJIルーチンで返った文節数以下を指定する。 | offset | |
JSY usage | :指定した文節に対応する入力文字列の位置 | |
type | :Longword | |
access | :出力のみ | |
mechanism | :Reference渡し | |
JLB$CNV_CONVERTまたはJSY$CNV_CONVERTルーチンに引き渡した読み文字列の先頭からのオフセット(バイト単位)で返す。 | ||
JLB$CNV_ ROM_CONVERTまたはJSY$CNV_ROM_CONVERT ルーチンを使用していた場合は,引き渡したローマ字列をかな変換した (JLB$TRA_ROM_KANA)結果を,入力文字列とみなし, このかな文字列の先頭からのオフセット(バイト単位)で返す。 | length | |
JSY usage | :読み文字列の長さ(バイト長) | |
type | :Longword | |
access | :出力のみ | |
mechanism | :Reference渡し |
<戻り値>
status | SS$_NORMAL | 正常終了 |
JSY$_ INVCALL | ルーチンの呼び出し順序が正しくない。 | |
変換開始ルーチンを呼び出した後に呼び出すこと。 | ||
JSY$_INVCLSNUM | 文節番号の指定が正しくない。 |
JLB$CNV_SHORTEN_CLAUSE
JSY$CNV_SHORTEN_CLAUSE
<形式>
<引数>
clause-no | ||
---|---|---|
JLB usage | :文節番号 | |
type | :Longword | |
access | :入力のみ | |
mechanism | :Reference渡し | |
1以上JLB$CNV_GET_ KANJIまたはJSY$CNV_GET_KANJIルーチンで返った文節数以下を指定する。 |
<形式>
<引数>
clause-no | ||
---|---|---|
JSY usage | :文節番号 | |
type | :Longword | |
access | :入力のみ | |
mechanism | :Value渡し | |
1以上JLB$CNV_GET_ KANJIまたはJSY$CNV_GET_KANJIルーチンで返った文節数以下を指定する。 |
<戻り値>
status | SS$_NORMAL | 正常終了 |
JSY$_CANNOTCNV | 文節を縮小すると変換ができない。 | |
JSY$_ CNVINTERR | 変換ルーチンの内部エラーが起きた。 | |
JSY$_ INVCALL | ルーチンの呼び出し順序が正しくない。 | |
変換開始ルーチンを呼び出した後に呼び出すこと。 | ||
JSY$_INVCLSNUM | 文節番号の指定が正しくない。 | |
JSY$_RMSERR | 辞書I/Oの最中にRMSのエラーが起きた。 | |
JLB$CNV_IO_ERRORまたはJSY$CNV_IO_ERROR ルーチンを呼び出せば,エラーの詳細がわかる。 |
JLB$CNV_EXTEND_CLAUSE
JSY$CNV_EXTEND_CLAUSE
<形式>
<引数>
clause-no | ||
---|---|---|
JLB usage | :文節番号 | |
type | :Longword | |
access | :入力のみ | |
mechanism | :Reference渡し | |
1以上JLB$CNV_GET_ KANJIまたはJSY$CNV_GET_KANJIルーチンで返った文節数以下を指定する。 |
<形式>
<引数>
clause-no | ||
---|---|---|
JSY usage | :文節番号 | |
type | :Longword | |
access | :入力のみ | |
mechanism | :Value渡し | |
1以上JLB$CNV_GET_ KANJIまたはJSY$CNV_GET_KANJIルーチンで返った文節数以下を指定する。 |
<戻り値>
status | SS$_NORMAL | 正常終了 |
JSY$_CANNOTCNV | 文節を縮小すると変換ができない。 | |
JSY$_ CNVINTERR | 変換ルーチンの内部エラーが起きた。 | |
JSY$_ INVCALL | ルーチンの呼び出し順序が正しくない。 | |
変換開始ルーチンを呼び出した後に呼び出すこと。 | ||
JSY$_INVCLSNUM | 文節番号の指定が正しくない。 | |
JSY$_RMSERR | 辞書I/Oの最中にRMSのエラーが起きた。 | |
JLB$CNV_IO_ERRORまたはJSY$CNV_IO_ERRORルーチンを呼び出せば,エラーの詳細がわかる。 |
JLB$CNV_CLAUSE_HIRAGANA
JSY$CNV_CLAUSE_HIRAGANA
<形式>
<引数>
clause-no | ||
---|---|---|
JLB usage | :文節番号 | |
type | :Longword | |
access | :入力のみ | |
mechanism | :Reference渡し | |
1以上JLB$CNV_GET_ KANJIまたはJSY$CNV_GET_KANJIルーチンで返った文節数以下を指定する。 |
<形式>
<引数>
clause-no | ||
---|---|---|
JSY usage | :文節番号 | |
type | :Longword | |
access | :入力のみ | |
mechanism | :Value渡し | |
1以上JLB$CNV_GET_ KANJIまたはJSY$CNV_GET_KANJIルーチンで返った文節数以下を指定する。 |
<戻り値>
status | SS$_NORMAL | 正常終了 |
JSY$_ INVCALL | ルーチンの呼び出し順序が正しくない。 | |
変換開始ルーチンを呼び出した後に呼び出すこと。 | ||
JSY$_INVCLSNUM | 文節番号の指定が正しくない。 |
JLB$CNV_CLAUSE_KATAKANA
JSY$CNV_CLAUSE_KATAKANA
たとえば,"ねこにこばん"を漢字変換すると最初は"猫に/小判" ( /は文節の区切り)となります。ここで第一文節を文節カタカナ変換すると "ネコに/小判"となり,再度第一文節を文節カタカナ変換すると "ネコニ/小判"となります。
<形式>
<引数>
clause-no | ||
---|---|---|
JLB usage | :文節番号 | |
type | :Longword | |
access | :入力のみ | |
mechanism | :Reference渡し | |
1以上JLB$CNV_GET_ KANJIまたはJSY$CNV_GET_KANJIルーチンで返った文節数以下を指定する。 |
<形式>
<引数>
clause-no | ||
---|---|---|
JSY usage | :文節番号 | |
type | :Longword | |
access | :入力のみ | |
mechanism | :Value渡し | |
1以上JLB$CNV_GET_ KANJIまたはJSY$CNV_GET_KANJIルーチンで返った文節数以下を指定する。 |
<戻り値>
status | SS$_NORMAL | 正常終了 |
JSY$_ INVCALL | ルーチンの呼び出しが正しくない。 | |
変換開始ルーチンを呼び出した後に呼び出すこと。 | ||
JSY$_INVCLSNUM | 文節番号の指定順序が正しくない。 | |
JSY$_CNVINTERR | 変換ルーチンの内部エラーが起きた。 |
JLB$CNV_CLAUSE_FULL
JSY$CNV_CLAUSE_FULL
<形式>
<引数>
clause-no | ||
---|---|---|
JLB usage | :文節番号 | |
type | :Longword | |
access | :入力のみ | |
mechanism | :Reference渡し | |
1以上JLB$CNV_GET_ KANJIまたはJSY$CNV_GET_KANJIルーチンで返った文節数以下を指定する。 |
<形式>
<引数>
clause-no | ||
---|---|---|
JSY usage | :文節番号 | |
type | :Longword | |
access | :入力のみ | |
mechanism | :Value渡し | |
1以上JLB$CNV_GET_ KANJIまたはJSY$CNV_GET_KANJIルーチンで返った文節数以下を指定する。 |
<戻り値>
status | SS$_NORMAL | 正常終了 |
JSY$_ INVCALL | ルーチンの呼び出し順序が正しくない。 | |
変換開始ルーチンを呼び出した後に呼び出すこと。 | ||
JSY$_INVCLSNUM | 文節番号の指定が正しくない。 | |
JSY$_CNVINTERR | 変換ルーチンの内部エラーが起きた。 |
JLB$CNV_CLAUSE_HALF
JSY$CNV_CLAUSE_HALF
<形式>
<引数>
clause-no | ||
---|---|---|
JLB usage | :文節番号 | |
type | :Longword | |
access | :入力のみ | |
mechanism | :Reference渡し | |
1以上JLB$CNV_GET_ KANJIまたはJSY$CNV_GET_KANJIルーチンで返った文節数以下を指定する。 |
<形式>
<引数>
clause-no | ||
---|---|---|
JSY usage | :文節番号 | |
type | :Longword | |
access | :入力のみ | |
mechanism | :Value渡し | |
1以上JLB$CNV_GET_ KANJIまたはJSY$CNV_GET_KANJIルーチンで返った文節数以下を指定する。 |
<戻り値>
status | SS$_NORMAL | 正常終了 |
JSY$_ INVCALL | ルーチンの呼び出し順序が正しくない。 | |
変換開始ルーチンを呼び出した後に呼び出すこと。 | ||
JSY$_INVCLSNUM | 文節番号の指定が正しくない。 | |
JSY$_CNVINIERR | 変換ルーチンの内部エラーが起きた。 |
JLB$CNV_CLAUSE_SYMBOL
JSY$CNV_CLAUSE_SYMBOL
<形式>
<引数>
clause-no | ||
---|---|---|
JLB usage | :文節番号 | |
type | :Longword | |
access | :入力のみ | |
mechanism | :Reference渡し | |
1以上JLB$CNV_GET_ KANJIまたはJSY$CNV_GET_KANJIルーチンで返った文節数以下を指定する。 |
<形式>
<引数>
clause-no | ||
---|---|---|
JSY usage | :文節番号 | |
type | :Longword | |
access | :入力のみ | |
mechanism | :Value渡し | |
1以上JLB$CNV_GET_ KANJIまたはJSY$CNV_GET_KANJIルーチンで返った文節数以下を指定する。 |
<戻り値>
status | SS$_NORMAL | 正常終了 |
JSY$_ INVCALL | ルーチンの呼び出し順序が正しくない。 | |
変換開始ルーチンを呼び出した後に呼び出すこと。 | ||
JSY$_INVCLSNUM | 文節番号の指定が正しくない。 | |
JSY$_CNVINIERR | 変換ルーチンの内部エラーが起きた。 |
JLB$CNV_CLAUSE_NOCONVERT
JSY$CNV_CLAUSE_NOCONVERT
<形式>
<引数>
clause-no | ||
---|---|---|
JLB usage | :文節番号 | |
type | :Longword | |
access | :入力のみ | |
mechanism | :Reference渡し | |
1以上JLB$CNV_GET_ KANJIまたはJSY$CNV_GET_KANJIルーチンで返った文節数以下を指定する。 |
<形式>
<引数>
clause-no | ||
---|---|---|
JSY usage | :文節番号 | |
type | :Longword | |
access | :入力のみ | |
mechanism | :Value渡し | |
1以上JLB$CNV_GET_ KANJIまたはJSY$CNV_GET_KANJIルーチンで返った文節数以下を指定する。 |
<戻り値>
status | SS$_NORMAL | 正常終了 |
JSY$_ INVCALL | ルーチンの呼び出し順序が正しくない。 | |
変換開始ルーチンを呼び出した後に呼び出すこと。 | ||
JSY$_INVCLSNUM | 文節番号の指定が正しくない。 | |
JSY$_CNVINIERR | 変換ルーチンの内部エラーが起きた。 |
JLB$CNV_CLAUSE_DELETE
JSY$CNV_CLAUSE_DELETE
<形式>
<引数>
clause-no | ||
---|---|---|
JLB usage | :文節番号 | |
type | :Longword | |
access | :入力のみ | |
mechanism | :Reference渡し | |
1以上JLB$CNV_GET_ KANJIまたはJSY$CNV_GET_KANJIルーチンで返った文節数以下を指定する。 |
<形式>
<引数>
clause-no | ||
---|---|---|
JSY usage | :文節番号 | |
type | :Longword | |
access | :入力のみ | |
mechanism | :Value渡し | |
1以上JLB$CNV_GET_ KANJIまたはJSY$CNV_GET_KANJIルーチンで返った文節数以下を指定する。 |
<戻り値>
status | SS$_NORMAL | 正常終了 |
JSY$_ INVCALL | ルーチンの呼び出し順序が正しくない。 | |
変換開始ルーチンを呼び出した後に呼び出すこと。 | ||
JSY$_INVCLSNUM | 文節番号の指定が正しくない。 | |
JSY$_RMSERR | 辞書I/Oの最中にRMSのエラーが起きた。 | |
JLB$CNV_IO_ERRORまたはJSY$CNV_IO_ERRORルーチンを呼び出せば,エラーの詳細がわかる。 | ||
JSY$_WRDNOTFND | 削除しようとした語句が個人辞書に存在しない。 | |
JSY$_CNVINIERR | 変換ルーチンの内部エラーが起きた。 |
JLB$CNV_LEARN
JSY$CNV_LEARN
<形式>
<引数>
<形式>
<引数>
<戻り値>
status | SS$_NORMAL | 正常終了 |
JSY$_ INDEXFULL | 個人辞書ファイルにこれ以上単語を登録できない。 個人辞書編集ユーティリティで,辞書を再構成するするか, または論理名JSY$KOJINに新しいファイルを割り当てること。 | |
個人辞書に登録可能な単語数については, 第5.4節「かな漢字変換辞書」を参照のこと。 | ||
JSY$_INVCALL | ルーチンの呼び出し順序が正しくない。 | |
変換開始ルーチンを呼び出した後に呼び出すこと。 | ||
JSY$_RMSERR | 辞書I/Oの最中にRMSのエラーが起きた。 JLB$CNV_IO_ERRORまたはJSY$CNV_IO_ERRORルーチンを呼び出せば, エラーの詳細がわかる。 | |
JSY$_CNVINIERR | 変換ルーチンの内部エラーが起きた。 |
JLB$CNV_REGISTER_WORD
JSY$CNV_REGISTER_WORD
<形式>
<引数>
yomi-str | ||
---|---|---|
JLB usage | :登録する単語の読み | |
type | :文字列データ | |
access | :入力のみ | |
mechanism | :Descriptor渡し | |
全角ひらがなで16文字以内を指定する。 ただし,濁点・半濁点も1文字として数える。 | kanji- str | |
JLB usage | :登録する単語の文字列 | |
type | :文字列データ | |
access | :入力のみ | |
mechanism | :Descriptor渡し | |
80バイト(漢字40文字分)以内を指定する。 | ||
文字列内には全角・半角の各種文字を含めることができる。 |
<形式>
<引数>
yomi-str | ||
---|---|---|
JSY usage | :登録する単語の読みを格納している文字列 | |
type | :文字列データ | |
access | :入力のみ | |
mechanism | :Reference渡し | |
全角ひらがなで16文字以内を指定する。 ただし,濁点・半濁点も1文字として数える。 | yomi-len | |
JSY usage | :読み文字列の長さ(バイト長) | |
type | :Longword | |
access | :入力のみ | |
mechanism | :Value渡し | |
全角ひらがなで16文字以内を指定する。 ただし,濁点・半濁点も1文字として数える。 | kanji-str | |
JSY usage | :登録する単語の文字列 | |
type | :文字列データ | |
access | :入力のみ | |
mechanism | :Reference渡し | |
80バイト(漢字40文字分)以内を指定する。 | ||
文字列内には全角・半角の各種文字を含めることができる。 | kanji-len | |
JSY usage | :単語の文字列の長さ(バイト長) | |
type | :Longword | |
access | :入力のみ | |
mechanism | :Value渡し |
<戻り値>
status | SS$_NORMAL | 正常終了 |
SS$_ DICNOTOPN | 辞書がオープンされていない。 | |
JSY$_INDEXFULL | 個人辞書ファイルにこれ以上単語を登録できない。 個人辞書編集ユーティリティで,辞書を再構成するするか, または論理名JSY$KOJINに新しいファイルを割り当てること。 | |
個人辞書に登録可能な単語数については, 第5.4節「かな漢字変換辞書」を参照のこと。 | ||
JSY$_INVPHONSTR | 指定した読みが正しくない。 | |
読み文字列は全角ひらがなでなければならない。 | ||
JSY$_PHONTOOLNG | 指定した読み文字列が長すぎる。 | |
辞書に登録する1つの語句に対して全角ひらがなで 16文字以下でなければならない。ただし,濁点・半濁点も1文字として数える。 | ||
JSY$_ RMSERR | 辞書I/Oの最中にRMSのエラーが起きた。 JLB$CNV_IO_ERRORまたはJSY$CNV_IO_ERRORルーチンを呼び出せば,エラーの詳細がわかる。 | |
JSY$_WRDTOOLNG | 登録しようとした単語の文字列が長すぎる。単語の文字列は80バイト (漢字40文字分)以下でなければならない。 | |
JSY$_CNVINIERR | 変換ルーチンの内部エラーが起きた。 |
JLB$CNV_DELETE_WORD
JSY$CNV_DELETE_WORD
<形式>
<引数>
yomi-str | ||
---|---|---|
JLB usage | :削除する単語の読み | |
type | :文字列データ | |
access | :入力のみ | |
mechanism | :Descriptor渡し | |
全角ひらがなで16文字以内を指定する。 ただし,濁点・半濁点も1文字として数える。 | kanji- str | |
JLB usage | :削除する単語の文字列 | |
type | :文字列データ | |
access | :入力のみ | |
mechanism | :Descriptor渡し |
<形式>
<引数>
yomi-str | ||
---|---|---|
JSY usage | :削除する単語の読みを格納している文字列 | |
type | :文字列データ | |
access | :入力のみ | |
mechanism | :Reference渡し | |
全角ひらがなで16文字以内を指定する。 ただし,濁点・半濁点も1文字として数える。 | yomi-len | |
JSY usage | :読み文字列の長さ(バイト長) | |
type | :Longword | |
access | :入力のみ | |
mechanism | :Value渡し | kanji-str |
JSY usage | :削除する単語の文字列 | |
type | :文字列データ | |
access | :入力のみ | |
mechanism | :Value渡し | kanji- len |
JSYusage | :読み文字列の長さ(バイト長) | |
type | :Longword | |
access | :入力のみ | |
mechanism | :Value渡し |
<戻り値>
status | SS$_NORMAL | 正常終了 |
SS$_DICNOTOPN | 辞書がオープンされていない。 | |
JSY$_INVPHONSTR | ||
指定した読みが正しくない。 | ||
読み文字列は全角ひらがなでなければならない。 | ||
JSY$_ PHONTOOLNG | ||
指定した読み文字列が長すぎる。 全角ひらがなで16文字以下でなければならない。 ただし,濁点・半濁点も1文字として数える。 | ||
JSY$_RMSERR | 辞書I/Oの最中にRMSのエラーが起きた。 JLB$CNV_IO_ERRORまたはJSY$CNV_ IO_ERRORルーチンを呼び出せば, エラーの詳細がわかる。 | |
JSY$_WRDNOTFND | ||
削除しようとした語句が個人辞書に存在しない。 | ||
JSY$_WRDTOOLNG | ||
削除しようとした単語の文字列が長すぎる。 単語の文字列は80バイト(漢字40文字分)以下でなければならない。 | ||
JSY$_CNVINIERR | 変換ルーチンの内部エラーが起きた。 |
JLB$CNV_IO_ERROR
JSY$CNV_IO_ERROR
<形式>
<引数>
file-name | ||
---|---|---|
JLB usage | :ファイル名の格納領域 | |
type | :文字列データ | |
access | :出力のみ | |
mechanism | :Descriptor渡し | |
エラーの発生したファイルの名前が返る。 | dic-type | |
JLB usage | :辞書の種類 | |
type | :Longword | |
access | :出力のみ | |
mechanism | :Reference渡し | |
1 = システム辞書 | ||
2 = 個人辞書 | rms- sts | |
JLB usage | :RMSステータス1 | |
type | :Longword | |
access | :出力のみ | |
mechanism | :Reference渡し | rms-stv |
JLB usage | :RMSステータス2 | |
type | :Longword | |
access | :出力のみ | |
mechanism | :Reference渡し | name-len |
JLB usage | :ファイル名の長さ | |
type | :Word (Unsigned) | |
access | :出力のみ | |
mechanism | :Reference渡し |
<形式>
<引数>
file-name | ||
---|---|---|
JSY usage | :ファイル名の格納領域 | |
type | :文字列データ | |
access | :出力のみ | |
mechanism | :Reference渡し | |
エラーの発生したファイルの名前が返る。 | file-len | |
JSY usage | :ファイル名格納領域のサイズ | |
type | :Longword | |
access | :入力のみ | |
mechanism | :Value渡し | name-len |
JSY usage | :ファイル名の長さ | |
type | :Longword | |
access | :出力のみ | |
mechanism | :Reference渡し | dic-type |
JSY usage | :辞書の種類 | |
type | :Longword | |
access | :出力のみ | |
mechanism | :Reference渡し | |
1 = システム辞書 | ||
2 = 個人辞書 | rms-sts | |
JSY usage | :RMSステータス | |
type | :2 Longword | |
access | :出力のみ | |
mechanism | :Reference渡し |
<戻り値>
status | SS$_NORMAL | 正常終了 |
JSY$_ STRTRU | 出力文字列の切り捨てが行われた。 |
単語単位かな漢字変換を行うルーチン群です。
かな漢字変換ルーチンは次のような手順で呼び出すことができます。
JLB$TRA_DICINI 辞書のオープン 読みの入力 JLB$TRA_ROM_KANA ローマ字かな変換 JLB$TRA_KANA_TANGO(...) かな単語変換 または JLB$TRA_ROM_TANGO(...) ローマ字単語変換 JLB$TRA_TANGO_NEXT(...) 単語次候補 または JLB$TRA_TANGO_PREV(...) 単語前候補 または JLB$DEL_TANGO 単語削除 JLB$TRA_TANGO_DONE 単語の決定(学習) 単語の出力 JLB$TRA_DICCLS 辞書のクローズ
JLB$TRA_DICINI
JSY$TRA_DICINI
<形式>
<引数>
<戻り値>
status | SS$_NORMAL | 正常終了 |
<形式>
<引数>
<戻り値>
status | SS$_NORMAL | 正常終了 |
0 | 変換ルーチンの内部エラーが起きた。 |
注意
RMSのエラーが発生した時は, そのRMSステータスを用い,ルーチン内部でLIB$STOPを実行して終了します。
JLB$TRA_DICCLS
JSY$TRA_DICCLS
<形式>
<引数>
<形式>
<引数>
<戻り値>
status | SS$_NORMAL | 正常終了 |
JLB$ENT_TANGO
JSY$ENT_TANGO
<形式>
<引数>
kana-str | ||
---|---|---|
JLB usage | :読み文字列(全角ひらがな/全角カタカナ) | |
type | :文字列データ | |
access | :入力のみ | |
mechanism | :Descriptor渡し | tango-str |
JLB usage | :登録する単語文字列 | |
type | :文字列データ | |
access | :入力のみ | |
mechanism | :Descriptor渡し |
<形式>
<引数>
kana-str | ||
---|---|---|
JSY usage | :読み文字列(全角ひらがな/全角カタカナ) | |
type | :文字列データ | |
access | :入力のみ | |
mechanism | :Reference渡し | kana-len |
JSYusage | :読み文字列のバイト長 | |
type | :Longword | |
access | :入力のみ | |
mechanism | :Value渡し | tango-str |
JSY usage | :登録する単語文字列 | |
type | :文字列データ | |
access | :入力のみ | |
mechanism | :Reference渡し | tango-len |
JSY usage | :登録する単語文字列のバイト長 | |
type | :Longword | |
access | :入力のみ | |
mechanism | :Value渡し |
<戻り値>
status | SS$_NORMAL | 正常終了 |
0 | 単語が登録されなかった |
JLB$DEL_TANGO
JSY$DEL_TANGO
<形式>
<引数>
<戻り値>
status | SS$_NORMAL | 正常終了 |
<形式>
<引数>
<戻り値>
status | SS$_NORMAL | 正常終了 |
0 | ユーザ登録の単語ではない |
JLB$TRA_ROM_TANGO
<形式>
<引数>
tango-str | ||
---|---|---|
JLB usage | :変換後文字列 | |
type | :文字列データ | |
access | :出力のみ | |
mechanism | :Descriptor渡し | yomi-str |
JLB usage | :変換前文字列 | |
type | :文字列データ | |
access | :入力のみ | |
mechanism | :Descriptor渡し | tango-len |
JLB usage | :変換結果のバイト長 | |
type | :Word (Unsigned) | |
access | :出力のみ | |
mechanism | :Reference渡し |
<戻り値>
status | SS$_NORMAL | 正常終了 |
0 | 単語が登録されていない |
JLB$TRA_KANA_TANGO
JSY$TRA_KANA_TANGO
<形式>
<引数>
tango-str | ||
---|---|---|
JLB usage | :変換後文字列 | |
type | :文字列データ | |
access | :出力のみ | |
mechanism | :Descriptor渡し | kana-str |
JLB usage | :変換前文字列(読みの部分は全角ひらがな/全角カタカナ) | |
type | :文字列データ | |
access | :入力のみ | |
mechanism | :Descriptor渡し | tango-len |
JLB usage | :変換結果のバイト長 | |
type | :Word (Unsigned) | |
access | :出力のみ | |
mechanism | :Reference渡し |
<戻り値>
status | SS$_NORMAL | 正常終了 |
0 | 単語が登録されていない |
<形式>
<引数>
src-str | ||
---|---|---|
JSY usage | :変換対象文字列 | |
type | :文字列データ | |
access | :入力のみ | |
mechanism | :Reference渡し | src-len |
JSY usage | :変換対象文字列のバイト長 | |
type | :Longword | |
access | :入力のみ | |
mechanism | :Value渡し | dst-str |
JSY usage | :変換結果出力領域 | |
type | :文字列データ | |
access | :出力のみ | |
mechanism | :Reference渡し | dst-len |
JSY usage | :変換結果出力領域のバイト長 | |
type | :Longword | |
access | :入力のみ | |
mechanism | :Value渡し | out-len |
JSY usage | :変換結果のバイト長 | |
type | :Longword | |
access | :出力のみ | |
mechanism | :Reference渡し |
<戻り値>
status | 1 | 正常終了 |
0 | 出力結果の切り捨てが行われた | |
または,変換ルーチンの内部エラーが起きた |
JLB$TRA_TANGO_NEXT
JSY$TRA_TANGO_NEXT
<形式>
<引数>
tango-str | ||
---|---|---|
JLB usage | :変換後文字列 | |
type | :文字列データ | |
access | :出力のみ | |
mechanism | :Descriptor渡し | yomi-str |
JLB usage | :変換前文字列 | |
type | :文字列データ | |
access | :入力のみ | |
mechanism | :Descriptor渡し | tango-len |
JLB usage | :変換結果のバイト長 | |
type | :Word (Unsigned) | |
access | :出力のみ | |
mechanism | :Reference渡し |
<戻り値>
status | SS$_NORMAL | 正常終了 |
0 | 変換ルーチンの内部エラーが起きた |
<形式>
<引数>
src-str | ||
---|---|---|
JSY usage | :変換対象文字列 | |
type | :文字列データ | |
access | :入力のみ | |
mechanism | :Refernce渡し | src-len |
JSY usage | :変換対象文字列のバイト長 | |
type | :Longword | |
access | :入力のみ | |
mechanism | :Value渡し | dst-str |
JSY usage | :変換結果出力領域 | |
type | :文字列データ | |
access | :出力のみ | |
mechanism | :Reference渡し | dst-len |
JSY usage | :変換結果出力領域のバイト長 | |
type | :Longword | |
access | :入力のみ | |
mechanism | :Value渡し | dst-str |
JSY usage | :変換結果出力領域 | |
type | :Longword | |
access | :出力のみ | |
mechanism | :Reference渡し |
<戻り値>
status | 1 | 正常終了 |
0 | 出力結果の切り捨てが行われた | |
または,変換ルーチンの内部エラーが起きた |
JLB$TRA_TANGO_PREV
JSY$TRA_TANGO_PREV
<形式>
<引数>
tango-str | ||
---|---|---|
JLB usage | :変換後文字列 | |
type | :文字列データ | |
access | :出力のみ | |
mechanism | :Descriptor渡し | yomi-str |
JLB usage | :変換前文字列 | |
type | :文字列データ | |
access | :入力のみ | |
mechanism | :Descriptor渡し | tango-len |
JLB usage | :変換結果のバイト長 | |
type | :Word (Unsigned) | |
access | :出力のみ | |
mechanism | :Reference渡し |
<戻り値>
status | SS$_NORMAL | 正常終了 |
0 | 変換ルーチンの内部エラーが起きた |
<形式>
<引数>
src-str | ||
---|---|---|
JSY usage | :変換対象文字列 | |
type | :文字列データ | |
access | :入力のみ | |
mechanism | :Reference渡し | src-len |
JSY usage | :変換前文字列 | |
type | :Longword | |
access | :入力のみ | |
mechanism | :Value渡し | dst-str |
JSY usage | :変換結果出力領域 | |
type | :文字列データ | |
access | :出力のみ | |
mechanism | :Reference渡し | dst-len |
JSY usage | :変換結果出力領域のバイト長 | |
type | :Longword | |
access | :入力のみ | |
mechanism | :Value渡し | out-len |
JSY usage | :変換結果のバイト長 | |
type | :Longword | |
access | :出力のみ | |
mechanism | :Reference渡し |
<戻り値>
status | 1 | 正常終了 |
0 | 出力結果の切り捨てが行われた | |
または,変換ルーチンの内部エラーが起きた |
JLB$TRA_TANGO_DONE
JSY$TRA_TANGO_DONE
<形式>
<引数>
<形式>
<引数>
<戻り値>
status | SS$_NORMAL | 正常終了 |
0 | 変換ルーチンの内部エラーが起きた |
かな漢字変換は,システム辞書,個人辞書と文節学習辞書の3つを用いて行われます。 この節では,システム辞書, 個人辞書および文節学習辞書の使用方法などについて説明します。
システム辞書は通常システムに1つ存在し,すべてのプロセスが共有します。 省略時設定のファイル名は,JSY$DICTIONARY:JSYTANGO.JISHOです。 この辞書には約10万語の単語,地名,氏名などが登録されています。論理名 JSY$TANGOが定義されている場合は,そのファイルをシステム辞書として使用します。 システム辞書は参照のみ可能で,その内容を変更することはできません。
プロセス単位で使用する個人辞書には2つの種類があります。1つは, ユーザが使用した単語の使用順や単語登録の情報を保存するもの,もう1つは, かな漢字変換における文節の区切りや自立語,付属語の組み合わせなど, 文節に関連する情報を保存するものです。通常,前者を個人辞書, 後者を文節学習辞書と呼びます。 1つのプロセスは1つの個人辞書と1つの文節学習辞書を使用します。 複数のプロセスが,同時に1つの個人辞書と1つの文節学習辞書を共有して使用することが可能です。
個人辞書の省略時設定のファイル名はSYS$LOGIN:JSYKOJIN.JISHOです。論理名 JSY$KOJINが定義されている場合は,そのファイルを個人辞書として扱います。ただし, ネットワーク上の別ノードにある個人辞書へのアクセスはできません。 個人辞書が存在しない場合は,辞書オープン・ルーチンが自動的に作成します。 かな漢字変換ルーチンは個人辞書の単語をシステム辞書の単語に優先して使用します。
この辞書には,ユーザの使用した単語が使用順に登録されます。また, 日本語エディタなどを使用中に単語登録を行った場合にも,この辞書に登録されます。 個人辞書編集ユーティリティを用いて, 個人辞書を参照・追加・変更することもできます。
個人辞書への単語の登録には次の方法があります。
個人辞書から単語を削除するには次の方法があります。
論理名JSY$LEARNが定義されていない場合は,SYS$LOGIN:JSY$LEARN .DATが使用されます。 ただし,ネットワーク上の別ノードにある文節学習辞書へのアクセスはできません。 文節学習辞書が存在しない場合は, 辞書オープン・ルーチンが自動的に作成します。この辞書には, かな漢字変換における候補選択で最後に選ばれた単語が自立語と 付属語とからなるとき,付属語も含む文節の情報を保存し, 再使用するために用います。また,同じ読みに対して複数の文節区切りが可能な場合, 文節の区切り方の情報もこの辞書に学習します。
例えば,「きしゃのきしゃがきしゃできしゃした」を, 次候補・文節移動などを使って正しい文章に変換します。
貴社の/記者が/汽車で/帰社した/
次回からは,上記の文章が1回で正しく変換されます。
文節学習辞書に文節学習データが書き込まれるのは,JLB$CNV_CLOSE_ DICTIONARY またはJSY$CNV_CLOSE_DICTIONARYルーチンが呼ばれたときです。 JLB$CNV_LEARNまたはJSY$CNV_LEARNルーチンが呼ばれた時点では, メモリ中のデータの更新が行われるだけで文節学習辞書への書き込みは行われません。
個人辞書の使用モードを,論理名JSY$KOJIN_MODEの値で指定することができます。 特に指定しない場合には0(共有モード)になります。
個人辞書を参照・更新します。JLB$CNV_LEARNまたはJSY$CNV_LEARNルーチンを呼ぶと学習機能が働きます。 論理名JSY$KOJIN_MODEが定義されていないときは,このモードです。 この場合,1つの個人辞書を複数のプロセスが共有できます。
個人辞書を参照・更新します。 JLB$CNV_LEARNまたはJSY$CNV_LEARNルーチンを呼ぶと学習機能が働きます。 この場合,個人辞書は1つのプロセスが専有します。
個人辞書を参照して変換を行います。個人辞書への単語登録・学習機能は働きません。 それぞれのプロセスがこのモードのときは, 1つの個人辞書を複数のプロセスが共有できます。
個人辞書をまったく使用せず,システム辞書のみで変換が行われます。
個人辞書の使用モードが“共有モード”または“学習モード”の場合, JLB$CNV_LEARNおよびJSY$CNV_LEARNルーチンは, 漢字変換した単語と1度漢字変換した後に文節ひらがな・カタカナ変換した単語を個人辞書に学習します。 またJLB$CNV_CLOSE_DICTIONARYおよびJSY$CNV_CLOSE_ DICTIONARYルーチンは, 文節学習結果を文節学習辞書に保存します。論理名JSY$KOJIN_LEARNは, このうち文節ひらがな・カタカナ変換した単語の学習モードと文節学習のモードを制御します。
以下のいずれのモードの場合も,漢字変換された単語は学習します。
漢字変換された単語を学習します。
文節ひらがな変換された単語を学習します。
文節カタカナ変換された単語を学習します。
文節学習結果を文節学習辞書に保存します。
論理名JSY$KOJIN_LEARNが定義されていない場合は,このモードです。
文節学習を行わない場合には,JSY$KOJIN_LEARNに0以外の値を指定します。
漢字変換された単語を学習します。
文節ひらがな変換された単語を学習します。
文節カタカナ変換された単語を学習します。
文節学習結果を文節学習辞書に保存しません。
漢字変換された単語を学習します。
文節ひらがな変換された単語を学習します。
文節カタカナ変換された単語は学習しません。
文節学習結果を文節学習辞書に保存しません。
漢字変換された単語を学習します。
文節ひらがな変換された単語は学習しません。
文節カタカナ変換された単語を学習します。
文節学習結果を文節学習辞書に保存しません。
漢字変換された単語を学習します。
文節ひらがな変換された単語は学習しません。
文節カタカナ変換された単語は学習しません。
文節学習結果を文節学習辞書に保存しません。
個人辞書に登録できる単語数には一部制限があります。
1つの読みに対して複数の表記が個人辞書に存在するとき, この読みに対して割り当てられる個人辞書のデータ・ブロックの最大は4ブロック(2048バイト)です。 したがって,同じ読みをもつ単語の登録数には限りがあります。 しかし,読みの長さ,各々単語の表記の長さ, 文法情報の数と組み合わせにより,登録可能な単語の数は変化します。 以下におおよその目安を説明します。
読みの長さ : x 文字 (例 : しゃいん → 4文字) 表記の平均の長さ : y 文字 (例 : 佐々木一郎,田中浩二郎... → 平均5文字) 各々の表記の文法情報の平均数 : z 個 (例 : 人名 → 1個) このとき,同一読みの登録可能な単語数の目安は, 2048 − x − 1 ──────── で表わされます。 2y + z + 3 例の場合は, (2048 − 4 − 1) ÷ (2 × 5 + 1 + 3) = 145.9... となり,約145語登録できるという目安が得られます。
注意
1つの表記が複数の文法情報を持つとき,その文法情報の組み合わせによっては, 文法情報データが縮小されて登録されることもあります。
かな漢字変換ルーチンを使用するときの注意事項および制限事項について説明します。
かな漢字変換ルーチン群は,同時に2つ以上の読みを対象として変換を進行することはできません。 変換開始ルーチンが呼び出された時点から新しい読み文字列による変換を開始します。 また,学習機能ルーチンや単語登録/削除ルーチンを呼び出した後, 再びかな漢字変換を行う場合は,変換開始ルーチンを呼び出し,読みを指定する必要があります。
1つの実行イメージで複文節変換(JLB$CNV_xxxxxxおよびJSY$CNV_xxxxxx) と単語単位変換(JLB$TRA_xxxxxxおよびJSY$TRA_xxxxxx) の両方のルーチンを使用する場合は次のような注意が必要です。
ある読みによるかな漢字変換が進行している間の変換処理(次候補要求など) および学習機能は,変換を開始したルーチンにより, 複文節変換あるいは単語単位変換のどちらかのルーチンを統一して使用しなければなりません。 たとえば,複文節変換の JLB$CNV_CONVERTルーチンにより変換を開始した場合,次候補要求には必ず JLB$CNV_NEXT_WORDルーチンを呼び出し,また,学習機能を働かせるためには JLB$CNV_LEARNルーチンを呼び出さなければなりません。同様に,単語単位変換の JLB$TRA_KANA_TANGOルーチンにより変換を開始した場合には,次候補要求ルーチンとして JLB$TRA_TANGO_NEXTルーチンを,学習機能を働かせるには JLB$TRA_TANGO_ DONEルーチンを呼び出さなければなりません。
1つの読みによる変換の進行中に複文節かな漢字変換ルーチン群 (JLB$CNV_xxxxxxxまたはJSY$CNV_xxxxxx )と単語単位かな漢字変換ルーチン群 (JLB$TRA_xxxxxxまたは JSY$TRA_xxxxxx)を混用した場合の結果については保証されません。
日本語OpenVMS AXPでは,複数のプロセスで個人辞書を共有することが可能になっていますが, この場合,学習結果はJSY$CNV_LEARNまたは JLB$CNV_LEARNが呼ばれた時点で個人辞書に反映されます。したがって, プロセスAで学習した単語と同じものをプロセスBがその直後に再学習した場合など, プロセスAから見た場合に直前の学習結果が反映されていないように見える場合があります。 これは,日本語エディタなどのリカバリ機能を持つユーティリティに対して影響があります。
複数のプロセスから同時に1つの個人辞書を共有している場合, 個人辞書に対して書き込みが行われている間は他のプロセスからはアクセスできません。 したがって,かな漢字変換ライブラリ内部では,辞書が解放されるのを最大3秒間だけ待ちます。 その間に個人辞書が解放されれば通常どおり変換可能です。 しかし時間内に辞書が解放されなかった場合,JSY$_RMSERRを返します。この場合, 関数jsy$cnv_io_errorまたはjlb$cnv_io_errorを呼び出せばRMS$_FLKが得られ, 上記の事態が起きたことの確認ができます。個人辞書がロックされるのは, 次の6つの関数です。
jsy$cnv_open_dictionary jlb$cnv_open_dictionary 辞書のオープン jsy$cnv_convert jlb$cnv_convert かな漢字変換 jsy$cnv_clause_delete jlb$cnv_clause_delete 自立語削除 jsy$cnv_register_word jlb$cnv_register_word 単語登録 jsy$cnv_delete_word jlb$cnv_delete_word 単語削除 jsy$cnv_learn jlb$cnv_learn 変換確定と学習
個人辞書が存在している場合は,jsy$cnv_open_dictionayとjsy$cnv_ convert, jsy$cnv_open_dictionayおよびjsy$cnv_convert,あるいは jsy$cnv_convertどうしは互いに,同時に辞書アクセスができます。