#include <canna/RK.h>
int RkMapPhonogram(romaji, dst, maxdst, src, srclen, flags, ulen,
dlen, tlen, rule)
struct RkRxDic *romaji;
unsigned char *dst;
int maxdst;
unsigned char *src;
int srclen;
int flags;
int *ulen;
int *dlen;
int *tlen;
int *rule;
flags is a combination of the following Romaji-kana conversion flags connected by or:
ulen, dlen, and tlen are used to manage the progress of Romaji-kana conversion.
For example, if the character string "tt" is given to RkMapPhonogram, the first "t" is submitted to Romaji-kana conversion, with dst being set to small kana character "tsu". The remaining "t" is put to reuse for Romaji-kana conversion. When "a" is entered subsequently, it is combined with the "t" left from the previous run of RkMapPhonogram to generate kana character "ta".
ulen is set to the byte length of the characters from src used for Romaji-kana conversion.
dlen is set to the byte length of the kana characters derived from Romaji-kana conversion.
tlen is set to the byte length of the character string to be used in the next run of Romaji-kana conversion. The character string led by tlen is placed after the character string resulting from Romaji-kana conversion in the dst buffers.
If null pointers are specified in ulen, dlen, and tlen, these parameters do not return any values and are simply ignored.
rule is used to exchange information about the rule of Romaji-kana conversion. When calling RkMapPhonogram for the first time, specify a pointer to a variable loaded with 0. Upon return from the first call to RkMapPhonogram, that variable is loaded with internal information about the rule of Romaji-kana conversion, in place of 0. To continue Romaji-kana conversion, specify the same pointer to the variable to RkMapPhonogram.