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


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


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


       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

       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.


       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.