Scroll to navigation

RKMAPROMA(3) Library Functions Manual RKMAPROMA(3)


RkMapRoma - perform Romaji-kana conversion by using a specified Romaji-kana conversion table


#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 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:

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.
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.

No conversion
Single-byte character
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.


This function returns the starting byte length of the Romaji character string matched by Romaji-kana conversion.