Provided by: libcanna1g-dev_3.7p3-6.5_amd64 bug

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

                                                                                      CANNALIB(3)