---
name: "RkRgnBun"
section: "3"
platform: "linux"
package: "libcanna1g-dev"
version: "3.5b2-46.2"
release: "Debian 3.0 (Woody)"
platforms: ["linux"]
url: "https://new.carta.tech/RkRgnBun"
---

# RkRgnBun(3)

convert the reading of a specified length to kanji

## NAME

***RkBgnBun*** / ***RkwBgnBun*** - convert the reading of a specified length to kanji

## SYNOPSIS

```
#include <canna/RK.h>
int RkBgnBun(cxnum, yomi, maxyomi, mode)
int cxnum;
unsigned char *yomi;
int maxyomi;
int mode;
int RkwBgnBun(cxnum, yomi, maxyomi, mode)
int cxnum;
wchar_t *yomi;
int maxyomi;
int mode;
```

## DESCRIPTION

*RkBgnBun* converts the reading *yomi* with a length of *maxyomi* bytes to kanji.  The reading kana must be adjusted on character boundaries in the EUC code.  The context enters the conversion mode, with both the current clause and the current clause set to ***0***.

*RkwBgnBun* is the similar function to *RkBgnBun*, but it takes wchar\_t argument as *yomi*.  *maxyomi* represents the length of *yomi* by characters instead  of bytes.

*mode* represents the code conversion candidate to be added to each clause.  It is expressed in a bit field width, which can be set to one of the following with ***RK\_XFERBITS***:

- ***RK\_XFER***

  Hiragana

- ***RK\_HFER***

  Single-width character

- ***RK\_KFER***

  Katakana

- ***RK\_ZFER***

  Double-width character

If the number of candidates available for the current clause is N, candidates are added through code conversion by reading the candidates in sequence, from candidate N to candidate N + 1, and so on, starting with the lowest-order bit field.  Candidate addition ends when the corresponding bit field equals ***0***.

```
mode	Candidate
RK_XFER	(KANJI) (HIRAGANA)
(RK_XFER << RK_XFERBITS) | RK_KFER	(KANJI) (KATAKANA) (HIRAGANA)
(RK_KFER << RK_XFERBITS) | RK_XFER	(KANJI) (HIRAGANA) (KATAKANA)
```

The context enters the conversion mode, from *RkBgnBun* to *[RkEndBun(3)](/RkEndBun/3.md)*.  Conversion modes cannot be nested.

## RETURN VALUE

This function returns the number of clauses derived from conversion, or returns ***-1*** if the conversion fails.

## SEE ALSO

[***RkEndBun***(3)](/RkEndBun/3.md)
