Skip to content

AIdrifter/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 https://github.com/chewing/windows-chewing-tsf.git
    cd windows-chewing-tsf
    git submodule init
    git submodule update
    
  • 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: The cmake command line argument -T "v110_xp" is required. Otherwise the compiled program won't run on Windows xp. (requires cmake 2.8.11 and VS express 2012 update)

  • 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 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.

About

New free software implementation of windows-chewing based on TSF

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • C++ 91.7%
  • C 8.2%
  • Shell 0.1%