RkBgnBun / RkwBgnBun(3) 指定した長さの読みの漢字変換

形式

#include <canna/RK.h>
int RkBgnBun(cxnum, yomi, maxyomi, mode)
int cxnum;
unsigned char *yomi;
int maxyomi;
int mode;
int RkwBgnBun(cxnum, yomi, maxyomi, mode)
int cxnum;
wchar_t *yomi;
int maxyomi;
int mode;

説明

RkBgnBun は,長さ maxyomi バイトの読みがな yomi を漢字に変換します. 読みがなは, EUC コードの文字境界に従わなければなりません. コンテクストは変換モードに入り,カレント文節,カレント候補ともに 0 に 設定されます.

RkwBgnBun は, yomiwchar_t 型で与えられる点が RkBgnBun と異なります. また maxyomi は, バイト長ではなく文字長を表すようになります.

mode は,各文節に追加されるコード変換候補をビットフィールドで表現します. ビットフィールドの幅は RK_XFERBITS で,次のいずれかを指定することができます.

RK_XFER
ひらがな
RK_HFER
半角文字
RK_KFER
カタカナ
RK_ZFER
全角文字

カレント文節の候補数をNとした場合,最下位のビットフィールドから順番に N,N+1,… 番目の候補を読みがなからコード変換により候補を追加します. なお,対応するビットフィールドが 0 になった所で,候補追加は終了します.

以下に例を示します

mode                               候補
RK_XFER                            仮名を かなを
(RK_XFER << RK_XFERBITS) | RK_KFER 仮名を カナヲ かなを
(RK_KFER << RK_XFERBITS) | RK_XFER 仮名を かなを カナヲ

コンテクストは, RkBgnBun から RkEndBun(3) に至るまで,変換モードに入ります.変換モードはネストすることはできません.

戻り値

変換で得られた文節の個数を示します. 変換に失敗した場合には -1 を返します.

関連情報

RkEndBun(3)