/PIME

Develop input methods for Windows easily with Python

Primary LanguageC++GNU Lesser General Public License v2.1LGPL-2.1

PIME

Implement input methods easily for Windows via Text Services Framework:

  • LibIME contains a library which aims to be a simple wrapper for Windows Text Service Framework (TSF).
  • PIMETextService contains an backbone implementation of Windows text service for using libIME.
  • The python server part requires python 3.x and pywin32 package.

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/EasyIME/PIME.git
    cd PIME
    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 PIME source folder>
    cmake -G "Visual Studio 11 Win64" -T "v110_xp" <path to PIME source folder>
    
  • 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 PIMETextService.dll to C:\Program Files (X86)\PIME\x86.

  • Copy PIMETextService.dll to C:\Program Files (X86)\PIME\x64.

  • Copy the folder server to C:\Program Files (X86)\PIME\

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

    regsvr32 "C:\Program Files (X86)\PIME\x86\PIMETextService.dll" (run as administrator)
    regsvr32 "C:\Program Files (X86)\PIME\x64\PIMETextService.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.

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)\PIME\x86\PIMETextService.dll" (run as administrator)
    regsvr32 /u "C:\Program Files (X86)\PIME\x64\PIMETextService.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.