Skip to content


Subversion checkout URL

You can clone with
Download ZIP
libchewing - The intelligent phonetic input method library
C CMake Perl Shell Other
Pull request Compare This branch is 13 commits ahead, 911 commits behind master.
Fetching latest commit...
Cannot retrieve the latest commit at this time.
Failed to load latest commit information.


      _                   _
  ___| |__   _____      _(_)_ __   __ _
 / __| '_ \ / _ \ \ /\ / / | '_ \ / _` |
| (__| | | |  __/\ V  V /| | | | | (_| |
 \___|_| |_|\___| \_/\_/ |_|_| |_|\__, |

libchewing - The intelligent phonetic input method library

[-] History

libchewing is derived from Chewing input method, a xcin module
focusing on intelligent phonetic processing by Lu-chuan Kung
(lckung) and Kang-pen Chen (kpchen) during 1999-2001. However,
the original authors of Chewing dropped its development, and
Chewing was highly coupled with xcin, which prevents from
comprehensive applications.

[-] Motivation

Jim Huang started to separate core algorithm and logic layer
of Chewing since 2002, and he integrated his efforts into a
Chinese terminal named JMCCE as a part of its input method
modules. Also, in 2004, he attempts to let more applications
adapt these collaborated efforts, so that new contributors
(mentioned in file AUTHORS) created brand new Chewing Project
as the infrastructure and wrote serveral new bridges among
IIIMF, SCIM, OpenVanilla, Microsoft IME, UIM, ibus, etc.

[-] Status

1. bridge integration
  - works with xcin.
  - works with JMCCE.
  - works with IIIMF.
  - works with SCIM.
  - works with MacOS X (SpaceChewing).
  - works with Sun's Java Desktop System Input Method Framework.
  - works with OpenVanilla Input Method Framework.
  - works as standalone Microsoft Windows 32/64-bit (windows-chewing).
  - works with OXIM.
  - works with UIM.
  - works with ibus.
  - works with UCIMF.
  - works with mozc.
  - works with gcin/HIME.
  - works with fcitx.

2. support phonetic keyboard layout
  - Hsu
  - IBM
  - Gin-Yieh
  - Eten
  - Eten 26 keys
  - Dvorak
  - Dvorak Hsu
  - HanYu PinYin

[-] Installation

# ./configure --prefix=/usr
  (If you checkout from GIT, make sure running ./
   before this.)
# make
# make install

see "INSTALL" for details.

[-] Cross-build

Example cross-build instructions:
# CC=arm-none-linux-gnueabi-gcc ./configure \
    --host=arm-none-linux-gnueabi \
    --disable-shared --enable-static
# make CC_FOR_BUILD=gcc

[-] Build on Windows with MinGW

To build libchewing on Windows, you need to setup MinGW and MSYS in your
system. The installer of MinGW and MSYS is in the following link:

In "Select Components" during installing, please select the following items:

- MinGW Compiler Suite -> C Compiler
- MSYS Basic System

After installing, execute <MinGW directory>\msys\1.0\msys.bat (default is
C:\MinGW\msys\1.0\msys.bat) to enter MSYS shell.

If you get the source from the git repository you need additional step
to make the source buildable; use the following commands to install
necessary packages.

- mingw-get install automake
- mingw-get install autoconf
- mingw-get install libtool

Now you have the build environment for libchewing. However, you need to check
the line end of source code is LF instead of CR/LF before running
The easily way to do this is using git:

- git config core.autocrlf input
- rm -rf *
- get reset --hard

Now you can run the following commands in MSYS shell to build libchewing:

If you get the source from the git repository, run:



- configure
- make

If you run testchewing.exe (available after `make check') you will
find that testchewing.exe cannot print the correct string. This is
because testchewing.exe prints the UTF-8 string, while Windows cannot
print it to console.

[-] License

See "COPYING" for details.

[-] Authors & Contact Information

See "AUTHORS" for details.
Something went wrong with that request. Please try again.