Provided by: libcanna1g-dev_3.7p3-14_amd64 

名前
RkMapRoma - 指定されたローマ字かな変換テーブルを用いてローマ字かな変換を行う
形式
#include <canna/RK.h>
int RkMapRoma(romaji, dst, maxdst, src, srclen, flags, status)
struct RkRxDic *romaji;
unsigned char *dst;
int maxdst;
unsigned char *src;
int srclen;
int flags;
int *status;
説明
RkMapRoma は,指定されたローマ字かな変換テーブルを用いてローマ字かな変換を行います. romaji は,
RkOpenRoma(3) により返されたローマ字かな変換テーブルへのポインタを与えます. RkMapRoma は,領域 src から
srclen バイト続くデータをローマ字列として解釈し,ローマ字列先頭と一致するロー マ字かな変換規則をローマ字
かな変換テーブルから探します. 対応する変換規則が見つかった場合には,対応するかな文字列を dst 領域に格納
します.ただし,文字列のバイト数が maxdst -1 を超える場合には結果は切り捨てられます. また,可能ならば変
換最終位 置にヌル文字が付け加えられます.
flags は,ローマ字かな変換を制御するためのフラグで以下を or で組合わせます.
RK_SOKUON 促音処理を有効にします.促音処理は,先頭2文字が同一文字xxであり,ロー マ字かな変換テーブ
ルファイルに登録されていない時に限り,xxから「っ」へ 変換します.
RK_FLUSH すべてのローマ字を強制的に変換します.これは最後のnの処理に有効です.
以下のフラグは src に格納される文字の種類を指定します.これは,ローマ字かな変換テーブルか ら得られたかな
文字列に対するコード変換を指定します.これらは,いずれか ひとつだけを用いることができます.
RK_NFER そのまま
RK_XFER ひらがな
RK_HFER 半角文字
RK_KFER カタカナ
RK_ZFER 全角文字
status には, dst 領域に設定された文字列のバイト数が設定されます. この値が負の場合には,マッチするローマ
字がなかったことを示します.
戻り値
ローマ字かな変換でマッチしたローマ字列先頭バイト数を返します.
4 April 1991 RKMAPROMA(3)