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.