
o Introduction:

  bims is designed and implemented to solve the problem of
  phoneme-to-character, and may be similar to the Going input
  kernel on Window platform in some aspects.  A study shows that bims
  can achieve more than 90% of character accuracy with a reasonable
  lexicon, such as the one included in libtabe.

  bims could be used in other applications, not limited to Phonetic
  input method.  For example, speech recognition and other input
  method.

  It makes use of libtabe, and is independent of user-interface. In
  the directory examples/GTK, you can find a file `gtk_entryglue.c',
  which glue the input method logic directly to GTK Entry widget.

  It is also being used by Xcin as it's default Phonetic input method.

o Supported Key Maps:

  Four Key Maps are currently supported.

  1. Zozy Key Map
  2. Eten Key Map
  3. Hsu Key Map
  4. ET26 Key Map

o Kernel Interface

  .bimsInit()
  .bimsDestroy()

	Initialize and Destroy the bims kernel.

  .bimsGetBC()
  .bimsFreeBC()

	Retrieve the BC (client handler) from the kernel

  .bimsFeedKey()

	Feed key to the bims client.

  .bimsToggleZhiSelection()
  .bimsToggleTsiSelection()

	Toggle into selection mode.

  .bimsToggleEditing()

	Toggle into editing mode.

  .bimsToggleSmartEditing()

	Enable smart editing.

  .bimsToggleNoSmartEditing()

	Enable smart editing.

  .bimsPindown()

	Pindown a character.

  .bimsPindownByNumber()

	Pindown a character or multiple characters by the selection number.

  .bimsSetSelectionBase()

	Set the selection mode base character.

  .bimsSetMaxLen()

	Set maximum length of client internal buffer.

  .bimsFetchText()

	Fetch text from the client internal buffer.

  .bimsSetKeyMap()

	Set Key Map for the client.

  .bimsQueryState()

	Query the state of client.

  .bimsQueryPos()

	Query the current cursor position of client.

  .bimsQueryYinSeg()

	Query the Yin segmentation of current text.

  .bimsQueryInternalText()

	Query the current client internal buffer.

  .bimsQueryZuYinString()

	Query the zuyin string.

  .bimsQueryLastZuYinString()

	Query the last zuyin string.

  .bimsQuerySelectionNumber()

	Query the number of selection available in client.

  .bimsQuerySelectionText()

	Query the selection text.

  .bimsQuerySelectionBase()

	Query the base character of selection.

