RkBgnBun / RkwBgnBun -
指定した長さの読みの漢字変換
#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 は,
yomi が
wchar_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)