Skip to content

Free software implementation of Chewing Input method for Windows based on Text Services Framework

License

Notifications You must be signed in to change notification settings

chewing/windows-chewing-tsf

Repository files navigation

windows-chewing-tsf

Implement chewing in Windows via Text Services Framework:

  • LibIME contains a library which aims to be a simple wrapper for Windows Text Service Framework (TSF).
  • ChewingTextService contains an implementation of Windows text service for libchewing using libIME.
  • chewingwrapper contains a C++ wrapper for libchewing.

All parts are licensed under GNU LGPL v2.1 license.

Development

Tool Requirements

How to Build

  • Get source from github
    git clone --recursive https://github.com/chewing/windows-chewing-tsf.git
    cd windows-chewing-tsf
  • Use one of the following CMake commands to generate Visual Studio project
    cmake -G "Visual Studio 11" -T "v110_xp" <path to windows-chewing-tsf>
    cmake -G "Visual Studio 11 Win64" -T "v110_xp" <path to windows-chewing-tsf>
  • NOTICE: In order to support Windows xp, it is required to add the argument "v110_xp" (MSDN)

  • Open generated project with Visual Studio and build it

TSF References

Windows ACL (Access Control List) references

Install

  • Copy ChewingTextService.dll to C:\Program Files (X86)\ChewingTextService.

  • Copy libchewing/data/*.dat and pinyin.tab to C:\Program Files (X86)\ChewingTextService\Dictionary

  • Use regsvr32 to register ChewingService.dll. 64-bit system need to register both 32-bit and 64-bit ChewingService.dll

    regsvr32 "C:\Program Files (X86)\ChewingTextService\ChewingTextService.dll" (run as administrator)
    
  • NOTICE: the regsvr32 command needs to be run as Administrator. Otherwise you'll get access denied error.

  • In Windows 8, if you put the dlls in places other than C:\Windows or C:\Program Files, they will not be accessible in metro apps.

For Windows 8, you also need to do this:

  • Create C:\Users<user_name>\ChewingTextService directory manually before using the input method.

  • Set ACLs for the created directory so it can be accessible from Windows store apps

    cacls C:\Users\<user_name>\ChewingTextService /e /t /g "ALL APPLICATION PACKAGES:c"
    
  • Warning: this will give full access of this folder to all metro apps. This may not be the optimized permission settings. Further study on ACL is required here.

  • Open regedit and enable read access to HKCU\Software\ChewingTextService for "ALL APPLICATION PACKAGES".

  • The NSIS installer automatically does the preceding changes for you

Uninstall

  • Remove %WINDIR%/chewing

  • Use regsvr32 to unregister ChewingTextService.dll. 64-bit system need to register both 32-bit and 64-bit ChewingTextService.dll

    regsvr32 /u "C:\Program Files (X86)\ChewingTextService\ChewingTextService.dll" (run as administrator)
    
  • NOTICE: the regsvr32 command needs to be run as Administrator. Otherwise you'll get access denied error.

Bug Report

Please report any issue to here.