Poster of Linux kernelThe best gift for a Linux geek
CANNALIB

CANNALIB

Section: C Library Functions (3)
Local index Up
 

NAME

CannaLib intro --- Kana-to-Kanji Conversion Library Intro  

DESCRIPTION

Canna provides the following three libraries:

-
High-level libraries

From application programs, high-level libraries are available without considering Kana-to-Kanji Conversion. Processes such as selecting candidates (including candidate list display) are executed by the Kana-to-Kanji Conversion system. Only fixed character strings are passed to the application. If the Kana-to-Kanji Conversion front end is being used for TTY input, the read (cooked mode) system call in terminal input is regarded as a high-level library. In this case, scanf, which uses it, is also regarded as a higo-level library. The Japanese version of Athena Widget (Text Wideget) in the X Window System is a more typical library that is regarded as a high-level library.

-
User interface libraries

Responding to one-character or one-key input, user interface libraries return various kinds of information. They include the unfixed character string, fixed character string, marked segment position, status dispaly character string, and candidate list character string. The libraries at this level do not provide the detailed functions involving dictionary maintenance or learning control. There is a little remaining room of divising the display fields although rough lines for Japanese input user interface are restricted. It is recommended that application interfaces at this level be used for an application that desires to obtain keys in raw mode in the TTY. Also, it is recommended that they be used for an application that desires to input and display graphics and characters in a single window.

-
Dictionary access libraries

Dictionary access libraries are used to control dictionary access or candidate selection directly. Kana-to-Kanji Conversion libraries at this level provide various function interfaces. They include starting the use of Kana-to-Kanji Conversion system, converting the reading into Kanji, changing the splitting of sentence-segment, fetching Next or Previous Candidate, controlling dictionary learning, and maintaining dictionaries. Dictionary access libraries are used to construct a user interface or high-level library. It is recommended that they not be used by ordinary users.

Canna provides three header files and three libraries. Their outlines are listed below:

-
Header files
X11/kanji.h
Used to input or output Japanese data with X.
canna/jrkanji.h
Used to input or output TTY-level Japanese data.
canna/RK.h
Used to use a dictionary access library.
-
Libraries
libXnw
Japanese version of Athena Widget Xaw. The application program does not need to consider Kana-to-Kanji Conversion.
libXn
Used to process Japanese data with X. When using XLookupKanjiString or XDrawKanjiString, you must link this library.
libcanna
Kernel for Japanese data input

Library link and header file include must be done as follows, depending on the function you use:

-
Athena Widget
Header file
canna/kanji.h
Library
libXnw, libXn, libcanna
-
XDrawKanjiString
Header file
canna/kanji.h
Library
libXn
-
XLookupKanjiString, XKanjiControl
Header file
canna/kanji.h
Library
libXn, libcanna
-
jrKanjiString, jrKanjiControl
Header file
canna/jrkanji.h
Library
libcanna
-
Dictionary access library
Header file
canna/RK.h
Library
libcanna
 

Conversion context

Canna enables you to perform two or more Kana-to-Kanji Conversion processes simultaneously. Conversion contextsare used to control management of the respective Kana-to-Kanji Conversion processes. The internal data needed for Kana-to-Kanji Conversion is secured in each context.

The application identifies each conversion context by the context number. It is an integer equal to or larger than 0, and used as the first parameter of any Kana-to-Kanji Conversion function.

Immediately after dictionary access library RkInitialize(3) initializes Kana-to-Kanji Conversion, there is only the standard context, which has the context number 0. It can be used by any application that uses only one context.  

Outline of Successive Segment Conversion:

Successive Segment Conversion analyzes the specified Hiragana string, and splits it into a few elements called sentence segments, or Bunsetsu. An example of analysis is shown below:

  ``KANAWOKANJINIHENKANSURU''
  KANAWO        KANAWO(1)     KANAWO(2)
  KANJINI       KANJINI(1)    KANJINI(2)    KANJINI(3)    KANJINI(4)
  HENKANSURU    HENKANSURU(1) HENKANSURU(2) HENKANSURU(3)

Each function provided by the dictionary access library's Successive Segment Conversion may either modify the result of this analysis or obtain the analysis information. It assumes a two-dimensional candidate address.

Segment numbers 0, 1, ..., N-1 are assigned leftward to the N segments that have been analyzed. The currently marked candidate is called the current candidate.

For example, ``KANAWO'' may be specified as a candidate having Segment Number 0 and Candidate Number 0. The library instead assumes current segment and candidate in the context to simplify the parameters.  

SEE ALSO

uilib(3) - User Interface Library

diclib(3) - Dictionary Access Library


 

Index

NAME
DESCRIPTION
Conversion context
Outline of Successive Segment Conversion:
SEE ALSO

This document was created by man2html, using the manual pages.
Time: 21:43:04 GMT, April 16, 2011