RKMAPROMA(3)

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.