home | help
RKMAPPHONOGRAM(3)	    Library Functions Manual	       RKMAPPHONOGRAM(3)

NAME
     RkMapPhonogram  -	perform  Romaji-kana conversion by using a specified Ro-
     maji-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  con-
     version  table that has been returned by RkOpenRoma(3).  RkMapPhonogram in-
     terprets the srclen bytes of contiguous data starting at the area src as  a
     Romaji character string and searches through the Romaji-kana conversion ta-
     ble  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  con-
     nected by or:

	    RK_SOKUON	   Enables gemination, in which a sequence of two occur-
			   rences  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 conver-
     sion.

     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 conver-
     sion.  When calling RkMapPhonogram for the first time, specify a pointer to
     a variable loaded with 0.	Upon return from the first call  to  RkMapPhono-
     gram,  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  conver-
     sion  table  or  not.  The function returns 1 if a rule existing in the Ro-
     maji-kana conversion table has been used; otherwise, it returns 0.

							       RKMAPPHONOGRAM(3)

home | help