Provided by: libcanna1g-dev_3.7p3-14_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)