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