About this project
vChewing (唯音輸入法) for macOS is a free third-party native Simplified Chinese and Traditional Chinese Zhuyin/Pinyin input method developed for the macOS platform, written in pure Swift. The project homepage and latest information are at vchewing.github.io, while the code and releases are based on the Gitee repository.
Main capabilities
- Supports a large number of Zhuyin layouts and Pinyin types for input, powered by the self-developed "Tiehan" (鐵恨) Zhuyin chord-typing engine.
- Provides a Pinyin chord-typing mode with a clear division of labor between initials and finals for the two hands; there is also a "Kuangpin" mode, which, after enabling Pinyin typing mode, inherits the typing experience of Smart Kuangpin / Sogou Pinyin.
- Compatible with Mainland Chinese pronunciation standards, so users unfamiliar with the pronunciation standards of Taiwan, Penghu, Kinmen, and Matsu can still use it normally, and vice versa.
- The factory lexicon does not contain content that would hinder its distribution around the world; the Simplified and Traditional Chinese corpora are separated from each other to avoid conversion errors between Traditional and Simplified.
- Can convert Traditional Chinese output to Japanese JIS new-style characters or Kangxi Traditional, and supports input of recent CNS11643 Chinese characters.
- Supports the macOS on-screen simulated keyboard (only for the Traditional Daqian and Traditional Yitian layouts).
- Can automatically organize the user phrase file format and customize associated phrases.
Security
- Sandbox is enabled, so in principle it cannot obtain system-wide keyboard permissions.
- Has an "enhanced composition-buffer security protection" mode to prevent software receiving typing from accessing the contents of the composition buffer in advance.
- Shift key monitoring is implemented only by observing the context of the NSEvent signal stream sent by InputMethodKit's IMKServer, without needing to monitor system-wide keyboard events or apply for accessibility permissions, and it does not transmit local data externally. Shift-based Chinese/English switching requires macOS 10.15 Catalina or later.
System requirements
- Building requires Swift 6.4 or later: Xcode 27+ (requires macOS 26.6 or later), or Xcode 26.x with a separately installed Swift 6.4+ open-source toolchain. On Intel Macs, due to the Swift version bundled with Xcode, it can only be built via the SwiftPM command line.
- The produced build supports at least macOS 12 Monterey; macOS 14 Sonoma is recommended as the minimum, with at least 4GB of memory recommended, and an SSD.
- If a legacy installation package for macOS 10.9–10.10 is needed, Xcode 15, MacOSX13.3.sdk, and the Swift 5.10.1 toolchain are also required, driven by make debugLegacy/releaseLegacy; this path is not included in CI.
Build process
After installing Xcode, DerivedData must be set to a relative path under the project folder, otherwise make will fail. Common commands: make update to fetch the latest lexicon resources; make release to build a universal arm64 + x86_64 version; make archive to generate an .xcarchive; make debug for a quick debug build. You can also open the project directly in Xcode and select the vChewingInstaller scheme to compile.
License and maintenance
Released under the Mulan Permissive Software License, Version 2 (MulanPSL-2.0). The program is maintained by Shiki Suen; the Tiehan engine and the Homa sentence-building engine are licensed under LGPL v3.0 or later (with a Swift App Development exception); the vChewing lexicon (Pioneer Corpus) is also released under MulanPSL-2.0, with its word-frequency data licensed by NAER for non-commercial use. Records from before version 4.1.3 are stored separately in the vChewing-macOS-AncientArchive repository.
Comments
0 Rating appears after 10 ratings
Sign in to join the discussion.