Skip site navigation (1)Skip section navigation (2)

FreeBSD Manual Pages


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

       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 Ro-
       maji-kana  conversion table.  romaji specifies a	pointer	to the Romaji-
       kana conversion table that has been returned by RkOpenRoma(3).	RkMap-
       Phonogram  interprets  the  srclen bytes	of contiguous data starting at
       the area	src as a Romaji	character string and searches through the  Ro-
       maji-kana  conversion table for the rule	of Romaji-kana conversion that
       matches the beginning of	the Romaji character string.   If  the	corre-
       sponding	conversion rule	is found, the area dst is loaded with the cor-
       responding 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  con-
			     verted  to	 small kana character "tsu" only if it
			     is	not defined in the Romaji-kana conversion  ta-
			     ble  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

       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 Ro-
       maji-kana conversion.

       dlen is set to the byte length of the kana characters derived from  Ro-
       maji-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  parame-
       ters do not return any values and are simply ignored.

       rule is used to exchange	information about the rule of Romaji-kana con-
       version.	 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

       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	exist-
       ing in the Romaji-kana conversion table has been	 used;	otherwise,  it
       returns 0.



Want to link to this manual page? Use this URL:

home | help