NAME
RkMapRoma - perform Romaji-kana conversion by using a specified Romaji-
kana conversion table
SYNOPSIS
#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;
DESCRIPTION
RkMapRoma performs Romaji-kana conversion by using a specified Romaji-
kana conversion table. romaji specifies a pointer to the Romaji-kana
conversion table that has been returned by RkOpenRoma(3). RkMapRoma
interprets the srclen bytes of contiguous data starting at the area src
as a Romaji character string and searches through the Romaji-kana
conversion table for the rule of Romaji-kana conversion that matches
the beginning of the Romaji character string. If the corresponding
conversion rule is found, the corresponding kana character string is
stored in the area dst. The resulting character string is truncated
when its byte length exceeds maxdst -1. dst is padded with null
characters at the end if possible.
flags is a combination of the following Romaji-kana conversion flags
connected by or:
RK_SOKUON Enables gemination, in which a sequence of two
occurrences of the same character, xx, is
converted to small kana character "tsu" only if
it is not defined in the Romaji-kana conversion
table file.
RK_FLUSH Converts all Romaji characters compulsorily.
Useful for handling n appearing at the end of a
character string.
The flags listed below specify the type of characters stored in src.
These specified code conversion to be performed on the character string
derived from the Romaji-kana conversion table. These flags can use one
by one.
RK_NFER No conversion
RK_XFER Hiragana
RK_HFER Single-byte character
RK_KFER Katakana
RK_ZFER Double-byte character
status is set to the byte length of the character string set in the
area dst. A negative value means that there is no matching Romaji
character string.
RETURN VALUE
This function returns the starting byte length of the Romaji character
string matched by Romaji-kana conversion.