Provided by: libcanna1g-dev_3.7p3-20_amd64 bug

NAME

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

SYNOPSIS

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

DESCRIPTION

       RkMapPhonogram 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).
       RkMapPhonogram 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 area dst is loaded with the corresponding kana character string, with dlen being set
       to its byte length.  The resulting character string is truncated when its byte length exceeds maxdst -1.

       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.  This process provides for situations  in  which
                             an obsolete Romaji-kana conversion table is used.

              RK_FLUSH       Converts  all  Romaji  characters compulsorily.  Useful for handling n appearing at
                             the end of a character string.

       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.

RETURN VALUE

       This  function  returns  information  about whether the character string set in dst has been converted by
       using a rule existing in the Romaji-kana conversion table or not.  The  function  returns  1  if  a  rule
       existing in the Romaji-kana conversion table has been used; otherwise, it returns 0.

                                                                                               RKMAPPHONOGRAM(3)