適用於 Windows 的新酷音自由軟體輸入法(基於 TSF 框架)
Free software implementation of Chewing Input method for Windows based on Text Services Framework
https://chewing.im/
- Rust 99%
- C 0.6%
- Rich Text Format 0.4%
windows-chewing-tsf
Implement chewing in Windows via Text Services Framework:
- chewing_tip contains an implementation of Windows text service for libchewing.
- tsfreg contains TSF registration helper used in the installer.
- preferences contains the user preference and phrase editor GUI.
All parts are licensed under GPL-3.0-or-later license.
Development
Tool Requirements
Build natively on Windows using MSVC
Cross compile on Windows using MinGW-W64
Cross compile on Fedora using MinGW-W64
How to Build
- Get source from github
git clone --recursive https://github.com/chewing/windows-chewing-tsf.git cd windows-chewing-tsf - Use this xtask command to build the installer
cargo xtask build-installer --target msvc --release cargo xtask download-components cargo xtask package-installer
TSF References
- Text Services Framework
- Guidelines and checklist for IME development (Windows Store apps)
- Input Method Editors (Windows Store apps)
- Third-party input method editors
- Strategies for App Communication between Windows 8 UI and Windows 8 Desktop
- TSF Aware, Dictation, Windows Speech Recognition, and Text Services Framework. (blog)
- Win32 and COM for Windows Store apps
- Input Method Editor (IME) sample supporting Windows 8
Windows ACL (Access Control List) references
- The Windows Access Control Model Part 1
- The Windows Access Control Model: Part 2
- Windows 8 App Container Security Notes - Part 1
- How AccessCheck Works
- GetAppContainerNamedObjectPath function (enable accessing object outside app containers using ACL)
- Creating a DACL
Code Signing Policy
This project is sponsored by SignPath. We use free code signing provided by SignPath.io, certificate by SignPath Foundation.
People and roles:
- Committers and reviewers: Chewing core team, Windows Chewing maintainers
- Approvers: Chewing core team
Privacy Policy
This program will not transfer any information to other networked systems unless specifically requested by the user or the person installing or operating it.
Bug Report
Please report any issue to here.