Chewing (Input Method)

The Chewing (酷音) input method is an intelligent Zhuyin input method. It is one of the most popular input methods among Traditional Chinese Unix users.

Chewing was a project established by Lu-Chuan Kung (龔律全) and Jeremy Kang-Pen Chen (陳康本), sponsored by Tsan-sheng Hsu (徐讚昇) from Academia Sinica. Their research result (the program) was published under the GPL.

The Chewing core team extended their work and actively maintains the project.

Motivation
Chewing was inspired by other proprietary intelligent Zhuyin input methods under Microsoft Windows, namely, Wang-Xin (忘形) by Eten, Microsoft New Zhuyin (微軟新注音), and Nature Zhuyin (自然注音).

Since Zhuyin-based input methods are the most popular among computer users who read and write Traditional Chinese, an intelligent Zhuyin method is a necessity for Unix-like systems in order to attract more users. There was a similar input method, bimsphone (詞音), which was bundled in XCIN. However, it does not have a convenient API for further development.

The original chewing (as developed by Kung and Chen) is no longer maintained, only works with XIM, and doesn't have a generic API for input frameworks. Jim Huang, et al. formed the Chewing core team and extended Gong and Chen's work. Thus the chewing core team renamed the project as "new" chewing (新酷音) to differentiate their work from the original. Nevertheless, the English name has remained "chewing".

Goals

 * Split logic and view.
 * Support multiple operating systems, and input framework.
 * Provide a universal API for input framework and further development.

Supported Systems
Chewing has been adopted by various input frameworks in Unix-like systems. On these systems, the chewing package is usually split into two parts: libchewing, which handles the actual character selection logic; and input framework interface for display and preference setting. For examples:
 * ibus-chewing for IBus.
 * fcitx-chewing for Fcitx
 * iiimf-chewing for IIIMF.
 * scim-chewing for SCIM.
 * uim-chewing for uim.

There are also chewing input method for Windows (win32-chewing) and Mac OS (SpaceChewing via OpenVanilla).