形式
#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) に至るまで,変換モードに入ります.変換モードはネストすることはできません.